Professional Documents
Culture Documents
Funcionalidades Elastix-Asterisk
Funcionalidades Elastix-Asterisk
El Menú de Elastix.-
Cuando entramos en Elastix, lo primero que nos aparece es el menú principal y
el Dashboard, que es una especie de panel que nos permite monitorizar los
recursos y servicios del sistema.
La primera vez que entramos este panel es muy simple, pero puede
configurarse para que nos muestre más información.
Para ello entramos en la opción Administrador de Applets, y marcamos
aquella información que deseamos nos sea mostrada en el panel.
La última opción del menú principal contiene una pestaña que al hacer clic
sobre ella nos despliega varias subopciones.
Dentro de las opciones de Seguridad hay otra función que puede ser
interesante → Configuraciones Avanzadas.
Aqui podemos activar FreePBX, que es otro entorno web que nos permite
realizar configuraciones de Asterisk más complejas que no se pueden realizar
con Elastix.
Para salir del CLI de asterisk, introducimos quit, o exit, con lo que volveremos
a la consola de Linux.
Muchos de los parámetros de red del entorno Linux CentOS donde se instala
asterisk, vienen en el archivo de configuración:
/etc/sysconfig/network_scripts/ifcfg-etho.
Configuración General
Aquí se especifican todos los parámetros que afectar al modo general de
almacenaje utilizando este sistema:
• enable: Básicamente activa la funcionalidad de registro CDR
• unanswered: Registra las llamadas no atendidas también
• endbeforehexten: En caso que llegemos a la extensión especial, h
pararía el registro CDR en el archivo
• initiatedseconds: En caso de utilizar un sistema de Facturación, es
práctico para redondear el tiempo a nivel de segundos hacia arriba para
facilitar el cálculo del importe
• batch: Permite registrar la información en bloques, en vez de registrarla
de un golpe al finalizar la conversación. El riesgo es que si Asterisk se
bloquea durante el proceso de una llamada escribiendo en el archivo,
este estaría abierto y podría perderse información.
• size: Si utilizamos el modo batch, aquí especificaríamos el numero de
registros CDR antes de lanzar un bloque (batch) al archivo.
• time: También es posible lanzar un bloque por segundos, en este caso,
sería el número de segundos antes de conformar un bloque y lanzarlo al
archivo.
• scheduleronly: En caso que queramos que se genere un proceso
específico para realizar la gestión de copia en bloque, o si queremos
utilizar el propio proceso que controla el sistema de gestión de los
bloques.
• safeshutdown: En caso que el sistema se detenga, paraliza esto, hasta
que todos los registros CDR hayan sido grabados en el archivo.
Con Elastix podemos visualizar los informes o estadísticas que se obtienen del
sistema CDR. Para ello accedemos desde el menú principal a la opción
Reportes.
Pulsando el botón Mostrar Filtro, podemos obtener los informes filtrados por
varios criterios.
Asignamos a este terminal una extensión, con una contraseña y un domínio (la
dirección del servidor asterix).
Los que aparecen en color naranja están conectados, y los que aparecen en
color amarillo están configurados pero no conectados.
Códigos de Funcionalidades.
Existen diversos códigos internos en Elastix que al ser marcados desde un
terminal como si fueran una extensión más, nos ofrecen un determinado
servicio o funcionalidad. La mayoría van precedidos por un * seguido de un
número de dos cifras. Entre otros tenemos los siguientes:
Así por ejemplo, para añadir un número a la lista negra, marcaremos *30.
Un mensaje de voz nos solicita el número. Podemos entrar uno de los
terminales que tenemos definidos. Al final debemos finalizar pulsando la tecla
#.
La lista negra puede consultarse en el menú PBX-->control de llamadas
entrantes -->lista negra.
Para probar las voces, podemos utilizar las siguientes funciones desde
cualquier teléfono conectado a Elastix: *60, *65, *97.
Grabar Mensajes de Voz.
Si pulsamos el código *77 en nuestro teléfono, sonará un tono, y podemos
grabar nuestro propio mensaje. Al terminar pulsamos la tecla #.
Luego podemos escuchar nuestro mensaje pulsando *99.
Grabaciones del Sistema.
En la opción del menú PBX → Opciones Internas Y Configuración →
Grabaciones del Sistema, tenemos la posibilidad de realizar todas estas
grabaciones.
cd /var/lib/asterisk/mohmp3/
mkdir respaldo
mv * /var/lib/asterisk/mohmp3/respaldo
Si el archivo no tiene errores en sus campos y formato, este deberá subirse sin
errores y el lote de extensiones se creará correctamente.
IVR (Interactive Voice Response, Respuesta de Voz Interactiva)
En ocasiones, cuando llamamos a una empresa, nos sale un voz grabada con
un mensaje similar a este:
Si usted quiere hablar con el departamento de ventas pulse 1, si quiere hablar
con el departamento de producción pulse 2, para otro tipo de consulta pulse 3.
La llamada se dirigirá a un departamento u otro según la opción que
marquemos. Esto es IVR.
Lo primero que debemos hacer es crear un mensaje de voz utilizando la opción
de Grabaciones del Sistema que hemos estudiado anteriormente.
Nos vamos al menú PBX >> IVR.
Añadimos un nuevo IVR, al que podemos poner como nombre IVR Festivos.
Suponemos que hemos grabado un mensaje de voz que hemos denominado
ivr.
Agregamos los números a pulsar (1, 2, 3) y la extensión a la que enviaremos
la llamada según cada caso, por ejemplo, 4002, 4003, y 4004.
Si deseamos introducir más números, debemos pulsar el icono verde que
aparece en la parte inferior (ver la siguiente pantalla).
Ahora creamos la extensión 7000 que asignaremos a nuestro IVR. Una vez
creada esta extensión normalmente, la editamos y le creamos un Follow Me.
De esta forma, cuando alguien llame al 7000 le saldrá este mensaje de voz
que le podrá dirigir al departamento que elija.
Usuarios, Grupos, y Permisos.
Un usuario en Elastix posee un determinado perfil de accesos que le dotan de
permisos y privilegios para realizar determinadas operaciones. El usuario
administrador posee todos los privilegios para cambiar cualquier aspecto que
afecte a la configuración del sistema. Pero no todos los usuarios deben ser
administradores. Podemos definir un usuario de Elastix para cada uno de los
empleados de una empresa, o uno genérico por departamento, según el plan
estratégico y de seguridad de la empresa.
Lo que si es conveniente, es que existan varios usuarios en el sistema y que
cada uno de ellos pueda conectarse a Elastix a través de la Web con un perfil
de usuario y contraseña propios. De esta forma, cada usuario puede consultar
sus correos, buzones de voz, faxes, etc.
En Elastix accedemos a través del menú Systema >> Usuarios.
De esta forma podemos tener los usuarios Carlos, Laura, y Mónica que
pertenecen al grupo soporte.
En la siguiente opción, Permisos de Grupo, podemos establecer los permisos
que concede el administrador de Elastix a cada uno de los grupos existentes.
Así por ejemplo, podemos evitar que un grupo de usuarios pueda acceder al
menú Sistema, o a la opción Usuarios del menú Sistema.
Cuentas de Correo.
Cada usuario o grupo de usuarios puede tener creada su propia cuenta de
correo. En principio esta cuenta será de uso interno dentro de la empresa, a no
ser que definamos un dominio real y una IP estática y pública para acceder a
Elastix desde el exterior.
Las cuentas de correo pueden utilizarse como mensajería interna, envío y
recepción de faxes, o registrar los buzones de voz que puedan recibirse en las
extensiones.
Lo primero que debemos hacer es crear un dominio. No es obligatorio que sea
real. Podemos crear un dominio para toda la empresa (galison.com), un
dominio por departamento (tecnicos.com, soporte.com, admin.com …).
Las opciones para gestionar las cuentas de correo están dentro del menú
Correo Electrónico.
En la primera opción, podemos crear un nuevo dominio. Luego podemos crear
las cuentas de correo.
Ahora nos vamos al menú Fax >> Fax Virtual >> Nuevo Fax Virtual.
A veces debemos esperar casi un minuto para que el estado sea óptimo.
También podemos hacer una comprobación adicional ejecutando un comando
de consola (CLI) sobre elastisx.
Podemos acceder al CLI en el menú PBX >> Herramientas.
Nos aparace un cuadro de texto donde podemos introducir los comandos que
deseemos. En nuestro caso iax2 show peers, que muestra todas las
extensiones asignadas a iax2 y su estado.
Podemos observar, que a parte de CLI, tenemos otras opciones intersantes en
este apartado.
A continuación, para terminar de configurar el Fax, creamos una plantilla que
sirva como genérico para el envío de nuestros Fax.
Buzón de Voz.
Si una extensión que está recibiendo una llamada, no contesta, o está ocupada
con otra llamada, podemos hacer que el llamante reciba un mensaje de voz
que le invite a dejar un mensaje grabado.
Cuando el usuario de la extensión desea acceder a su buzón de voz, puede
marcar *97 para escucharlos.
A continuación vamos a configurar la extensión 4004 para poder disponer de
un buzón de voz. Editamos esta extensión y buscamos el apartado de buzón de
voz.
Vamos a crear una cola con un sólo agente u operador, que tendrá asignada la
extensión 4002. Su número de cola será 123. No le pondremos contraseña.
En el campo Agentes fijos le pondríamos las extensiones de los agentes u
operadores, pero en nuestro caso al tener sólo uno, pondremos 4002,0.
Nos vamos al menú PBX >> Colas.
Para realizar una prueba, llamamos desde un teléfono al 123 (cola) con lo que
le deberá sonar al agente de la extensión 4002. Si no contesta, sonará una
música. Además llamaremos a esta misma cola desde otros teléfonos. Cuando
el agente atienda una llamada y concluya, podrá atender a otra llamada de la
cola.
Si tuviéramos varios agentes, cuando uno está ocupado, la llamada pasaría al
siguiente.
Otros teléfonos de la empresa pueden pasar a ser agentes auxiliares de la cola,
para ello sólo debe marcar 123*. Para dejar de serlo, deberá marcar 123**.
En el panel del operador podemos ver cómo van evolucionando las llamadas de
esta cola.
También podemos cambiar varios parámetros de la cola, por ejemplo:
Cambiar el anuncio de entrada:
Podemos asignar varias melodias en una misma categoría, para que suenen una tras la
otra.
A continuación editamos la cola 123 y le asignamos Mi-musica.
Cuando tenemos varios agentes, podemos establecer una estrategia de timbrado (Ring
Strategy)
Las posibles estrategias de timbrado son las siguientes:
- Sonar todos (Ringall): se llama a todos los agentes a la vez. Se queda
con la llamada el primero que descuelgue.
- Agente con última llamada más antigua (Leastrecent): la llamada
va a aquel agente que lleve más tiempo sin atender una llamada.
- Agente con menos llamadas (Fewestcalls): se asigna la llamada al
agente que lleve menos llamadas atendidas.
- Aleatorio (Random): se asigna la llamada de manera aleatoria a un
agente.
- Con memoria: recuerda al último agente al que intentó llamar.
- Linear: llama a los agentes en un mismo orden que se ha definido en
el fichero de configuración.
Prioridades de Cola.
Podemos crear tipos de usuarios que tengan preferencia al entrar en una cola.
Por ejemplo, creamos un grupo llamado "Gente importante" y le damos una
prioridad de 10 (a mayor número mayor prioridad)
Lo asignamos a nuestra cola123
En caso que estén varios usuarios llamando a los Agentes operadores, exista
una cola y llame "Gente importante", éste tendrá prioridad en la cola y será el
próximo en atender.
Horario de Llamadas.
Podemos establecer un horario laboral de llamadas. Si un usuario llama fuera
de ese horario (por ejemplo, lunes a viernes de 9:00 a 15:00) las llamadas
irán a la Extensión que definamos, por ejemplo, la 9999.
En el menú PBX >> Configuración >> Grupos Horarios, establecemos nuestro
horario.
[internal-limit-time]
exten => _.,1,Set(TIMEOUT(absolute)=180)
exten => _x.,n,Goto(from-internal,${EXTEN},1)
Aquí podemos aplicar las grabaciones sólo a las llamadas entrantes (inbound),
salientes (outbound) , o ambas. Además podemos elegir entre sólo llamadas
internas o externas, o ámbas.
En cada uno de estos casos, especificaremos que deseamos grabar siempre
(always), nunca (never) o bajo petición (on demand). En este último caso, el
que recibe la llamada deberá marcar *1 para grabar la llamada.
Contextos en Asterisk.-
Un contexto es una sección del plan de marcado (dialplan) que normalmente
se incluye en el archivo /etc/asterisk/extensions.conf.
Cada contexto define las operaciones que deben realizarse cuando un
dispositivo o extensión recibe una llamada. Tiene muchas aplicaciones
prácticas, una de ellas es la asignación de restricciones a una o varias
extensiones. Así por ejemplo, podemos decidir que unas extensiones no
puedan llamar a otras, o realizar llamadas externas, o a móviles, etc.
Un contexto puede aplicarse a una extensión o grupo de extensiones. Pueden
definirse varios contextos.
[102]
type=friend
username=102
...
context=compras
[201]
type=friend
username=201
...
context=ventas
[202]
type=friend
username=202
...
context=ventas
extensions.conf
[compras]
exten => 101,1,Dial(SIP/101)
exten => 102,1,Dial(SIP/102)
exten => i,1,Answer()
exten => i,n,Playbak(invalid)
exten => i,n,Hungup()
[ventas]
exten => 201,1,Dial(SIP/201)
exten => 202,1,Dial(SIP/202)
Inclusión de contextos
Si queremos que los dispositivos registrados en [compras] puedan llamar a las
extensiones de [ventas] sólo tenemos que hacer un include.
[compras]
include => ventas
exten => 101,1,Dial(SIP/101)
exten => 102,1,Dial(SIP/102)
Los 101 y 102 que antes se llamaban sólo entre ellos y no tenían acceso a las
extensiones en ventas, podrán hacerlo ahora. Pero no así para los dispositivos
201 y 202 quienes aún pueden llamarse sólo entre ellos.
TRONCALES (TRUNKS).
Este costo ya no existe con las Troncales SIP, al no requerir hardware para su
conexión. El servicio es suministrado utilizando un enlace de datos IP a través
de un proveedor de telefonía VoIP.
Una Troncal SIP (SIP Trunk), es un canal de comunicación IP utilizado para
enlazar dos o más sistemas VoIP a través de la red de datos.
Este servicio se proporciona para la comunicación telefónica entre una central
VoIP y la red pública (PSTN). No requiere instalación de hardware de telefonía,
ya que toda la comunicación viaja en la red de datos, con la ventaja de que se
pueden enviar tantos canales (Troncales) como se desee. El límite lo pone el
ancho de banda del enlace de datos.
Register String contiene una cadena para la conexión con el equipo del
proveedor: usuario + contraseña + IP.
Cuando contratamos con un proveedor VoIP éste nos proporciona uno o varios
números telefónicos que debemos asignar a nuestras extensiones internas.
Podemos tener un número por cada una de las extensiones, o bien sólo un
número para toda la compañía. En el primer caso asignaremos cada número a
una extensión, y el en segundo caso, las llamadas serán recibidas por una
operadora que la desviará al departamento o extensión correspondiente.
RUTAS.-
Una ruta es una regla que le indica al servidor Asterisk qué troncal o enlace
debe ser elegido para una enviar o recibir llamadas. Para ello se utilizan
patrones de marcado que se denominan plan de marcado o dialplan.
Así por ejemplo, podemos dirigir las llamadas a móviles por una troncal de
móviles, y las llamadas internacionales por otra troncal. Todo ello en función
del tipo de servicio que tengamos contratado con nuestro proveedor, buscando
siempre la solución más óptima y económica.
Rutas Salientes.-
Nos permite controlar la manera en que salen las llamada, es decir, por qué
canal sale cada llamada, con un patrón concreto. Cuando se marca un número
de teléfono, se comprueban las rutas existentes hasta encontrar una que
coincida con el patrón del número marcado. Las rutas también pueden tener
un nivel de prioridad.
A continuación, vamos a crear una ruta de salida para definir un plan de
marcado. En esta ruta, estableceremos las reglas que deseamos implantar
para todas las llamadas salientes. Podemos definir una sola ruta para todas las
llamadas, o varias rutas (móviles, fijos, internacionales, etc).
En el menú de Elastix accedemos a PBX >> rutas salientes.
Los campos que podemos manejar para definir una ruta son los siguientes:
CID (Caller Identification). Número del que llama.
Contraseña. Suele ser un código numérico. Al llamar por este canal, el
sistema pedirá la contraseña. Puede dejarse en blanco.
Emergency Dialing. Al marcar esta opción se activa, la ruta pasa a ser de
emergencia.
Intra Company Route. Al marcar esta opción, el sistema trata la ruta como si
fuera de la misma compañía, y conserva el CID del teléfono que llama.
Música en Espera. Permite seleccionar una categoría de música en espera
que hayamos definido previamente.
Time Group. Selecciona un Time Group.
Route Position. Aquí definimos la posición de la ruta.
Unos de los campos más importantes está en la sección Dial Pattern.
En la primera, sólo las extensiones 100 a 199 pueden llamar a las extensiones
900-999.
En la segunda, sólo las extensiones 400 a 999 pueden llamar a móviles.
En la tercera, sólo las extensiones 100 a 899 pueden llamar a fijos nacionales
que comiencen por 9 (No se aceptan los 90...).
En la cuarta, las extensiones 900 a 999 no pueden hacer llamadas
internacionales (código de país no puede ser distinto a 34).
Elección de la Troncal.-
Por último, debemos indicar que SIP Trunk o Troncal vamos a utilizar para esta
ruta.
Los campos que podemos manejar para definir una ruta son los siguientes:
CID Priority Route. Sólo es válido para rutas que no tienen definido un DID.
Si se marca esta opción, cualquier llamada entrante que coincida con el CID
indicado le será aplicada esta ruta.
CID Name Prefix. Permite definir los caracteres o nombre que deseamos
aparezca como identificador en la pantalla del teléfono.
host=192.168.1.234
qualify=yes
username=900
secret=1234aa
type=friend
encryption=aes128
auth=md5
context=from-internal
trunk=yes
requirecalltoken=no
Servidor B ( 192.168.1.234)
Creamos la extensión 900, de tipo IAX2.
En el campo Nombre a Mostrar, pondremos Troncal B. En contraseña,
pondremos abc123.
Creamos una troncal. Para ello nos vamos al menú PBX >> Troncales >>
Añadir Troncal IAX2.
host=192.168.1.222
qualify=yes
username=800
secret=abc123.
type=friend
encryption=aes128
auth=md5
context=from-internal
trunk=yes
requirecalltoken=no
nat=yes
externip= 21.31.41.51
localnet=192.168.1.0/255.255.255.0
canreinvite=no
En el Servidor B, editamos el archivo /etc/asterisk/sip.conf:
nat=yes
externip=62.72.82.92
localnet=192.168.1.0/255.255.255.0
canreinvite=no
Y por supuesto, podemos encontrar proveedores que ofrezcan los dos servicios
al mismo tiempo.
• En “sip.conf”
1. Añadir una nueva sección con los datos de nuestro proveedor (IP, puerto,
username, password y codecs a utilizar).
2. Añadir la línea de registro. De la misma manera que nuestras extensiones
internas se registran con nuestro Asterisk, nuestro Asterisk se tiene que
registrar con el proveedor externo. El registro realiza una autenticación con
nuestra cuenta en el servidor VoIP del proveedor.
• En “extensions.conf”
1. Añadir contextos para los proveedores de DID, es decir, aquellos que sí van
a interactuar con nuestro sistema para entregarnos llamadas.
2. Los proveedores que sólo nos ofrezcan minutos no necesitan interactuar con
nosotros, así que por seguridad siempre les asignaremos un contexto de
rechazo. En nuestros ejemplos, el contexto “general” es un contexto de
rechazo.
3. Añadiremos las reglas de llamada para los destinos que nos interesen,
modificando los contextos de aquellos usuarios que queramos que tengan
salida al exterior.
Netelip
Tenemos que añadir la siguiente sección al archivo de configuración sip.conf,
poniendo los datos correspondientes en los campos “username” y “secret”.
[trunk-netelip]
type=peer
host=sip.netelip.com
fromdomain=sip.netelip.com
username=1234567890
secret=T0pS3cr3t
insecure=port,invite
context=callin-netelip
canreinvite=no
CAMPO DESCRIPCIÓN
type Con los proveedores usaremos siempre el tipo de cuenta "peer".
host El nombre o la IP del servidor SIP de nuestro proveedor.
fromdomai Establece el dominio asociado a nuestra cuenta de usuario. Este
n dato nos lo proporciona el proveedor.
username Nombre de usuario de nuestra cuenta SIP en el proveedor.
secret Password de nuestra cuenta SIP.
El término resulta más preocupante de lo que debería. Insecure
permite cambiar algunos aspectos de la autenticación,
normalmente para permitir llamadas entrantes desde
insecure proveedores. En este caso, "port" indica que la autenticación se
haga exclusivamente en base a IP, sin tener en cuenta el puerto;
e "invite" indica que no se necesita autenticación con
usuario/password para hablar con nosotros.
context El contexto donde se enviarán las llamadas entrantes desde este
CAMPO DESCRIPCIÓN
proveedor.
Estableciendo a "no" obligamos a que el audio de las llamadas
canreinvite pasen obligatoriamente por Asterisk. Esto añade algo de latencia
pero nos ahorra problemas con el NAT.
Además de lo anterior, tenemos que hacer que Asterisk envíe el usuario y password
de nuestra cuenta al proveedor para registrarnos con él. Esto es necesario para
indicar que estamos activos, y decirle dónde nos puede encontrar cuando nos tenga
que entregar una llamada. Esta parte se hace con la línea de registro en la sección
[general], indicando el nombre de usuario y el nombre de la sección que hemos
definido para el proveedor, en este caso [trunk-netelip]:
FreeVoIPDeal
Hacemos lo mismo para definir la conexión con FreeVoIPDeal. La única
diferencia es que reenviaremos todas las llamadas entrantes al contexto
general de rechazo. Esto es porque FreeVoIPDeal sólo proporciona minutos, es
decir, sólo nos permite llamar, y nunca deberíamos recibir llamadas desde este
proveedor. Por tanto, por seguridad le asignamos un contexto que rechaza
todas las llamadas entrantes.
[trunk-freevoipdeal]
type=peer
host=sip.freevoipdeal.com
fromdomain=sip.freevoipdeal.com
username=mi_usuario
secret= T0pS3cr3t
insecure=port,invite
context=general
canreinvite=no
CONFIGURANDO EL DIALPLAN
El siguiente paso es configurar el DialPlan tanto para las llamadas entrantes
como para las salientes.
Supongamos que, además de los dos proveedores anteriores, tenemos dada de
alta una extensión interna “3001” asociada al contexto “extensiones”.
Tenemos que hacer dos cosas:
[extensiones]
include => llamadas-externas
include => llamadas-no-validas
[llamadas-externas]
;Llamada a fijos de España por Netelip
exten => _[8-9][1-8]XXXXXXX,1,Dial(SIP/${EXTEN}@trunk-netelip)
same => n,Hangup(16)
[llamadas-no-validas]
exten => _X.,1,Answer
same => n,Wait(1)
same => n,Playback(you-dialed-wrong-number)
same => n,Hangup(21)
EJEMPLO COMPLETO
Supongamos lo siguiente:
•Tenemos una extensión interna: 3001.
•Tenemos dos proveedores de telefonía: Netelip y FreeVoIPDeal.
•Queremos usar Netelip para llamar a fijos de España.
•Queremos usar FreeVoIPDeal para llamar a móviles de España.
•Queremos que las llamadas entrantes de Netelip suenen en la extensión 3001.
/etc(asterisk/sip.conf
[general]
udpbindaddr=0.0.0.0:5060
context=default
srvlookup=yes
allowguest=no
alwaysauthreject=yes
[3001]
type=peer
host=dynamic
username=3001
secret=password3001
context=extensiones
[trunk-netelip]
type=peer
host=sip.netelip.com
fromdomain=sip.netelip.com
username=1234567890
secret=T0pS3cr3t
insecure=port,invite
context=callin-netelip
canreinvite=no
[trunk-freevoipdeal]
type=peer
host=sip.freevoipdeal.com
fromdomain=sip.freevoipdeal.com
username=mi_usuario
secret= T0pS3cr3t
insecure=port,invite
context=general
canreinvite=no
/etc/asterisk/extensions
[general]
; Recibe lo que no tiene un contexto propio definido.
; Rechaza todo por seguridad.
exten => _X.,1,Hangup(21)
exten => s,1,Hangup(21)
[callin-netelip]
;Las llamadas de Netelip van al 3001
exten => s,1,Dial(SIP/3001)
same => n,Hangup(16)
[extensiones]
include => llamadas-externas
include => llamadas-no-validas
[llamadas-externas]
;Llamada a fijos de España por Netelip
exten => _[8-9][1-8]XXXXXXX,1,Dial(SIP/${EXTEN}@trunk-netelip)
same => n,Hangup(16)
[llamadas-no-validas]
exten => _X.,1,Answer
same => n,Wait(1)
same => n,Playback(you-dialed-wrong-number)
same => n,Hangup(21)