Supongamos que acabamos de recibir nuestro E1 físico desde nuestro ISP (desde Costa Rica, ICE), con los 30 canales y 1 de señalización.
En este E1
tenemos una multinumeracion de 4. P.ej:
- 90900000 (Principal)
- 90900001
- 90900002
- 90900003
- 90900004
Lo que queremos es que,
al efectuar la llamada desde X extensión se refleje el número 90900004 y
no el principal, para este fin lo que debemos crear es un contexto y asignarlo
a la extensión deseada.
Manos a la obra
1.Crear troncal en la web de elastix:
*Lo
resaltado en amarillo es importante tenerlo en cuenta, ya que con esto le
indicamos al sistema donde estamos conectando el E1, en caso de que tengamos
una tarjeta con dos o más puertos.
2.Averiguar en qué posición quedo la trocal que acabamos de crear en el archivo extensions_additional.conf ubicado en /etc/asterisk/ vim extensions_additional.conf
Yo lo edito normalmente con vim:
vim
/etc/asterisk/extensions_additional.conf
El archivo es algo extenso pero lo que nos interesa
esta al principio del mismo +o-, adjunto captura, para darnos una idea:
Con esto nos damos cuenta, que el sistema asigna la posición 15 a la troncal DAHDI q creamos en el g0, ¿Recuerdan?
3.Con este dato en mano, procedemos a crear el contexto
- Una vez logueado como root nos dirigimos por el cli (con putty), al directorio
cd /etc/asterisk
- Creamos un archivo en el que se creara el contexto, donde “NOMBRE” será el nombre del nuevo contexto
touch contexto_NOMBRE.conf
- Ingresar al archivo recién creado
vim contexto_NOMBRE.conf
- Incluir la configuración del contexto en el archivo:
[from-NOMBRE]
include => from-internal-xfer-NOMBRE
include => bad-number
[from-internal-xfer-NOMBRE]
include => from-internal-custom
include => parkedcalls
include => ext-fax
include => ext-local-confirm
include => findmefollow-ringallv2
include => from-internal-additional-NOMBRE
exten => s,1,Macro(hangupcall)
exten => h,1,Macro(hangupcall)
#include extensions_additional.conf
[outbound-allroutes-NOMBRE]
include => outbound-allroutes-custom
include => outrt-003-NOMBRE
exten => foo,1,Noop(bar)
; end of [outbound-allroutes-NOMBRE]
[outrt-003-NOMBRE]
include => outrt-003-Span3-custom
exten => _9.,1,Macro(user-callerid,SKIPTTL,)
exten => _9.,n,Set(_NODEST=)
exten => _9.,n,Macro(record-enable,${AMPUSER},OUT,)
exten => _9.,n,Macro(dialout-trunk,15,${EXTEN:1},,)
exten => _9.,n,Macro(outisbusy,)
; end of [outrt-003-NOMBRE]
[from-internal-additional-NOMBRE]
include => from-internal-additional-custom
include => ext-meetme
include => app-blacklist
include => ext-queues
include => app-speeddial
include => app-languages
include => app-calltrace
include => app-directory
include => app-echo-test
include => app-speakextennum
include => app-speakingclock
include => app-fmf-toggle
include => ext-findmefollow
include => fmgrps
include => ext-group
include => grps
include => app-cf-busy-off
include => app-cf-busy-off-any
include => app-cf-busy-on
include => app-cf-off
include => app-cf-off-any
include => app-cf-on
include => app-cf-unavailable-off
include => app-cf-unavailable-on
include => app-dialvm
include => app-vmmain
include => app-dnd-off
include => app-dnd-on
include => app-dnd-toggle
include => ext-dnd-hints
include => app-callwaiting-cwoff
include => app-callwaiting-cwon
include => app-recordings
include => app-pbdirectory
include => vmblast-grp
include => ext-paging
include => app-userlogonoff
include => app-pickup
include => app-zapbarge
include => app-chanspy
include => ext-test
include => ext-local
include => outbound-allroutes-NOMBRE
exten => h,1,Hangup
Notemos, que la palabra NOMBRE se repite en varias partes del archivo esta debe ser sustituida por el nombre que se le dé al contexto y debe ser exactamente igual.
En la parte del archivo:
[outrt-003-NOMBRE]
include => outrt-003-Span3-custom
exten => _9.,1,Macro(user-callerid,SKIPTTL,)
exten => _9.,n,Set(_NODEST=)
exten => _9.,n,Macro(record-enable,${AMPUSER},OUT,)
exten => _9.,n,Macro(dialout-trunk,15,${EXTEN:1},,)
exten => _9.,n,Macro(outisbusy,)
Para entender un poco mejor, con estos datos, estamos indicando en el contexto que las llamadas que salgan o inicien con un 9, tomen la troncal numero 15 (¿la recuerdan?). Y con esto estamos utilizando el número 90900004 de ID de salida o reflejo de llamada.
4.Salvamos el archivo (tecla ctrl + C : x! y enter)
5.Una vez de nuevo en cli, creamos otro archivo:
- cd /etc/asterisk
- touch extensions_contextos.conf
- vim extensions_contextos.conf
- Realizamos el include en el archivo del contexto creado. Img:
- Salvamos el archivo (tecla ctrl + C : x! y enter)
6.Realizar el include del archivo extensions_contextos.conf en extensions_custom.conf
- cd /etc/asterisk
- vim extensions_custom.conf
- escribir en el archivo #include extensions_contextos.conf imagen de ejemplo:
- Salvamos el archivo (tecla ctrl + C : x! y enter)
7.Recargamos el dialplan.
- asterisk –rx “dialplan reload”
8.Asignamos el nombre del contexto a nuestras extensiones desde la web de elastix.
Noten que el from no se modifica solo lo que esta después del guion, y lo que se agrega es solo el nombre del contexto NO contexto_.
Aceptamos y aplicamos, todo listo, así estaremos reflejando el numero 90900004 desde las extensión en las que modifiquemos el contexto.
Esta configuración puede llegar a ser útil en caso de:
Necesitemos asignar un numero distinta a un departamento en especifico.
- Que sea un condominio y se necesite asignar un numero por casa /condominio.
- Que en una empresa se deba asignar un numero saliente a algún proyecto.
- Que decidamos prestar nuestro E1 como servicio a terceros.
No olviden escribir sus comentarios o dudas a gabofuentesm@gmail.com
saludos!