Hola bueno acá tienes la solucion @italo1976
En le archivo extensions_custom.conf donde dice [from-internal-custom] deberás agregar un include mas que puedes llamarlo como en mi ejemplo NumCortos
[from-internal-custom]
include => NumCortos
[NumCortos]
;Acá lo que hago es ingresar a esta sección cuando una persona disca solamente 3 números y con la instrucción Answer() atiendo la llamada
exten => xxx,1,answer()
;Aca tomo solo los dos primeros dígitos de la persona que hace el llamado y lo cargo en una variable llamada "principio". Supongamos que el que llama es el interno 10122 yo solo estaría tomando el 10 y lo guardo en la variable
exten=> xxx,n,set(principio=${CALLERID(number):0:2})
;Aca solo digo que ejecute un Dial concatenando la variable principio + el numero discado de 3 dígitos por el usuario.
exten => xxx,n,Dial(SIP/${principio}${EXTEN})
Saludos, espero te sirva, yo lo probé y funciona correctamente. te dejo el código mas abajo sin las explicaciones para que copies y pegues.
[NumCortos]
exten => xxx,1,answer()
exten=> xxx,n,set(principio=${CALLERID(number):0:2})
exten => xxx,n,Dial(SIP/${principio}${EXTEN})