Archivo
Asterisk Rest Interface (ARI) en Issabel
Una de las cosas que me gusta hacer junto con el Ethical Hacking es instalar/programar aplicaciones de Voz para ello hace mucho tiempo que uso Asterisk, evidentemente esto a evolucionado gratamente para los que nos gusta esta área, a partir de Asterisk 12 apareció ARI o «Asterisk REST Interface» API que permite programar cualquier tipo de aplicación y que se ejecute en Asterisk.
Realmente ARI desde mi punto de vista ha cambiado la forma de ver lo que se puede hacer con Asterisk ya que no solo es pensar en una PBX, si no que ahora puedes tomar las librerías de ARI de los lenguajes mas importantes como python, C#, Java, Javascript, para conectarte a la API y empezar a desarrollar usando la aplicación que implementa Asterisk a nivel de dialplan llamada «Statis».
En esa linea de ideas, debido a que Issabel trae Asterisk 13 podemos usar ARI sin problemas, a continuación veremos como realizar la configuración del mismo y realizar una prueba básica usado la herramienta wscat para conectarnos vía Websocket hacia la API en este caso ARI.
1.- Configurar ARI en Issabel
Ingresar al archivo http_custom.conf y activar ARI e indicarle en que puerto va funcionar de la siguiente forma:
Luego ingresar al archivo «ari.conf» el usuario y contraseña con el cual usaremos ARI
2.- Crear el dialplan
Ahora crearemos un dialplan para consumir y/o conectarse hacia ARI , para ello sera necesario declarar una extension 9000 donde invocaremos la aplicacion «Stasis» que es el mecanismo que utiliza Asterisk para entregar el control de un canal desde el plan de marcado hacia ARI.
En el archivo «extensions_custom.conf» incluimos un nuevo contexto llamado «ariwebsoket» de la siguiente forma:
Luego agregamos el final del archivo el nuevo conexto:
3.- Pruebas con ARI sobre Issabel.
Vamos a preparar una prueba muy sencilla de como nos podemos conectar mediante una petición de websoket hacia ARI para visualizar un evento en concreto, para ello sera necesario instalar wscat mediante nodejs.
curl -sL https://rpm.nodesource.com/setup_8.x | bash –
yum install -y nodejs
npm install -g wscat
Ahora desde una terminal nos conectamos a Issabel y ejecutamos
wscat -c «ws://localhost:8088/ari/events?api_key=ari:tucontrasena&app=hello-world»
Veremos que estamos conectados hacia ARI, de igual forma en el CLI veremos lo siguiente:
Lo cual nos indica que hay una conexión vía WebSocket hacia la aplicación «Hello-world»
Ahora al llamar a la extensión 9000 sera posible ver los detalles del evento mediante ARI de la siguiente forma
Esto es un test muy sencillo para validar que ARI funciona correctamente en Issabel, en un post nuevo veremos como desarrollar una aplicación con Nodejs haciendo uso de una cliente ARI para controlar Issabel.
Saludos
Juan Oliva.
Alta disponibilidad con Issabel PBX
En escenarios donde la continuidad del negocio es un factor clave, contar con alta disponibilidad para servicios que se consideran críticos dentro de una organización es clave. En este caso concreto, el presente documento presenta la receta para implementar alta disponibilidad para la plataforma de comunicaciones Issabel PBX.
El software que hemos usado para tener alta disponibilidad se llama Pacemaker así como corosync, los cuales reemplazan al muy conocido heartbeat, el cual se encuentra descontinuado para Centos 7 que es el sistema operativo base de Issabel.
Si bien es cierto la plataforma Issabel, es sumamente estable como para confiar toda la carga a un solo recurso, no es ajena a fallas de otro tipo como factores, eléctricos, climáticos, de hardware, etc. Es por ello en caso de que uno de las plataformas fallase por los factores ya mencionados, dejaría sin comunicaciones a la organización, por lo tanto, es crítico tener el servicio en alta redundancia de forma que si un servidor falla, otro asume el servicio de manera transparente.
Espero les sirva el documento :
Descargar : Paper Alta disponibilidad con Issabel PBX
Asegurando Issabel PBX – «La receta»
Existen ciertas cosas en la vida que valoro mucho y es el esfuerzo y la capacidad para poder trabajar en Equipo, ya que es muy difícil de conseguir, puesto que nuestra naturaleza humana nos lleva siempre a defender nuestros intereses personales, que muchas veces no son del bien común del equipo o en este caso de la comunidad que persigue un objetivo.
En eso puedo resumir de lo que pude apreciar luego de asistir al #BeFree17 en la ciudad de México, un equipo de diferentes países y continentes inclusive, trabajando como una comunidad para un objetivo común, difundiendo conocimiento y tratando de sacar adelante un proyecto.
Por otro lado también considero que el conocimiento debe ser libre, como parte de la constante creación de nuevas cosas e ideas, con todas estas cosas rondando en mi cabeza, es me puse a trabajar en este paper cuya base fue la presentación que realice el miércoles pasado.
Lo titulé : Asegurando Issabel PBX – «La Receta» El objetivo del documento es guiar de una manera muy sencilla, con una serie de ingredientes bastante prácticos, en la mejora de algunos aspectos relacionados con la seguridad de la plataforma de comunicaciones Issabel PBX, tanto para servidores implementados en la nube, así como en instalaciones locales.
Como saben Issabel es una plataforma de comunicaciones Software Libre y código abierto basada en Asterisk (Digium the Asterisk Company) integra funcionalidades de PBX, correo electrónico, tareas de colaboración, así como vídeo llamadas.
Todas las instrucciones del presente material fueron realizadas con la versión que
corresponde al archivo ISO issabel4-USB-DVD-x86_64-20170621.iso.
El documento lo pueden descargar desde aquí :
Paper_Asegurando_Issabel_PBX-La_Receta
Espero les sirva
Juan Oliva
BeFree – Evento de Comunicaciones Open Source en Latinoamerica
Como algunos saben, durante varios años vengo trabajando en temas de VoIP que es mi segunda pasión profesional luego del #Hacking y la seguridad , En este tiempo he estado involucrado en varias iniciativas como Elastix y FreePBX inclusive, siendo instructor en su momento del primero en su momento.
Si bien es cierto todo en la vida cambia y aveces bastante rápido, siempre he proclamado y seguido la linea del uso del código abierto para soluciones de VoIP – Telefonía IP, ya que esta provee un punto de inflexión para el crecimiento profesional de los individuos que la utilizamos, personalmente he podido modificar, crear, programar nuevas funcionalidades, modificar código para brindar seguridad a mi gusto, lo cual potencia en y un 1000% de una solución de comunicaciones unificadas.
Es así, que he tenido el honor de ser invitado como speaker/conferencista al BeFree – Evento de Comunicaciones Open Source en Latinoamerica, a desarrollarse este 21 de Junio en la ciudad de México, BeFree es un evento que busca fortalecer la comunidad de Comunicaciones Unificadas Open Source y difundir innovación en tecnologías emergentes, en el marco de estas ideas, se difundirá el ecosistema de Issabel (PBX IP basada en Software Libre y de Código Abierto) que busca en pocas palabras, apunta a ser la propuesta a muy largo plazo ante la desaparición de Elastix, la cual por supuesto ha concitado la atención de la prensa en México, como se muestra a continuación.
BeFree, estará compuesto de exposiciones, conferencias, talleres y un hacktaton, este ultimo es un espacio muy interesante desarrolladores, en donde podrán participar de un maratón de creación software o “Addons” para resolver alguna problemática en concreto.
Por otro lado también estarán presentes personalidades del mundo VoIP/Asterisk como Nicolas Gudiño – Creador de Asternic Call Center , David Duffett – Director, Comunidad Mundial de Asterisk en DIGIUM , Alfio Muñoz – Experimentado Instructor de Asterisk , Saul Ibarra – Senior Software Developer en Atlassian “Jitsi”
Finalmente, brindaré una charla denominada » @IssabelIP una relación segura» en donde mostrare pasos muy prácticos para fortalecer la plataforma y minimizar riesgos de seguridad en una plataforma IP PBX basada en Asterisk.
Es así que si estas en México, no puedes de dejar de asistir el BeFree y si eres lector de este blog, por favor acércate que sera un inmenso gusto poder platicar de los temas que nos interesan.
Nos vemos en el BeFree!!
Vulnerabilidad en A2BILLING ELASTIX 2.5 2.4 thanku-outcall iridium_threed.php
Por experiencia algunas vulnerabilidades toman un tiempo en «madurar» o hacerse masivas, esto ha pasado con está específicamente. En estas ultimas semanas he recibido muchas noticias y comentarios de hackeos a plantas, PBX, Centrales basadas en Elastix 2.4 y 2.5 en donde se crean un contexto llamado thanku-outcall esto por lo general, nombre del contexto puede cambiar evidentemente, el objetivo es que se crea un contexto que permite sacar llamadas o en algunos casos mas creativos permiten originar llamadas solo para abrir un canal hacia un 0800 por ejemplo.
Como ingresan ? Cual es el punto de acceso?
Pues para variar el punto de acceso es vía Web ( Puerto 80, 443) se trata de un archivo vulnerable en A2billing específicamente el archivo «iridium_threed.php» el cual permite una inyeccion SQL el cual inserta un registro en el servidor de base de datos de esta forma:
Luego de ello se crea un contexto en el archivo extensions_custom.conf alguna variante puede hasta crear un archivo en el directorio de publicación de apache.
La vulnerabilidad es clasificada como crítica. El punto de acceso es una función desconocida del archivo a2billing/customer/iridium_threed.php del componente Billing es afectada por esta vulnerabilidad. Mediante la manipulación del parámetro transactionID de un input desconocido se causa una vulnerabilidad de tipo sql injection.
La vulnerabilidad fue publicada el 2015-03-07 en exploitdb la cual pueden verificar en https://www.exploit-db.com/exploits/36305/. La vulnerabilidad es identificada como CVE-2015-1875. La explotación se considera fácil. El ataque se puede efectuar a través de la red. La explotación no necesita ninguna autenticación específica.
Como parcho , Como lo corrijo o mitigo?
Si necesitas A2billing , es migrar a la versión superior, ya que la que trae Elastix es una version bastante antigua, sin embargo sabemos que en las PBX no necesitas este software, lo recomiendo personalmente es eliminarlo sacar del directorio de publicación de apache la carpeta A2billing.
Y si no tengo publicado mi Elastix no me interesa ?
Pues si te debería interesar ya que los hackeos no necesariamente vienen desde afuera, ahora con las vulnerabilidades como wanacry no te puedes fiar de tu red interna.
Y si tengo Issabel PBX o FreePBX ?
Pues para tranquilidad Issabel o FreePbx no trae A2billing fue un gran acierto eliminar aplicaciones «extra»
Espero les sirva la info.
Juan Oliva
@jroliva
Install Janus WebRTC Gateway in Debian
Desde hace varios meses vengo trabajando algunas cosas con mi amigo de aventuras tecnológicas Alfredo Pastor @AlfredoPastorL sobre la plataforma «Janus» pero qué es?
Por que no solo de Asterisk vive el hombre, se puede decir que Janus es auto denominado por la empresa Meetecho como un «WebRTC Gateway» de múltiple propósito, proporciona funcionalidades de comunicación para el uso de WebRTC con un navegador, a través del intercambio mensajes JSON y retransmitir comunicación RTP / RTCP . es posible desarrollar implementaciones de aplicaciones como pruebas de eco, web conference, grabadoras de medios, pasarelas SIP y similares.
En este caso vamos a ver como instalarlo correctamente en una plataforma DEBIAN
1.- Instalación de dependencias
#apt-get install aptitude
#aptitude install libmicrohttpd-dev libjansson-dev libnice-dev libssl-dev libsrtp-dev libsofia-sip-ua-dev libglib2.0-dev libopus-dev libogg-dev libcurl4-openssl-dev pkg-config gengetopt libtool automake make git cmake
Luego removemos los paquetes de correspondientes a rtp srtp ya que vamos a instalar nuevas versiones desde fuentes.
#apt-get remove libsrtp0 libsrtp0-dev
#apt-get autoremove libsrtp0 libsrtp0-dev
2.- Instalación de SRTP
#cd /opt/
#wget https://github.com/cisco/libsrtp/archive/v1.5.4.tar.gz
tar xfv v1.5.4.tar.gz
#cd libsrtp-1.5.4
#./configure –prefix=/usr –enable-openssl
#make shared_library && make install
3.- Instalación de USRSCTP
#cd /opt/
#git clone https://github.com/sctplab/usrsctp
#cd usrsctp
#./bootstrap
#./configure –prefix=/usr/lib64 && make && make install
4.- Instalación de LIBWEBSOCKETS
#cd /opt/
#git clone https://github.com/warmcat/libwebsockets.git
#libwebsockets
#mkdir build && cd build/
#cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_C_FLAGS=»-fpic» ..
#make && make install
5.- Instalación de DXYGEN y GRAPHVIZ
#aptitude install doxygen graphviz
6.- Instalación de RABBITMQ
#cd /opt
#git clone https://github.com/alanxz/rabbitmq-c
#cd rabbitmq-c
#git submodule init
#git submodule update
#autoreconf -i
#./configure –prefix=/usr && make && make install
7.- Instalación de PAHO
#cd /opt
#git clone https://github.com/eclipse/paho.mqtt.c.git
#cd paho.mqtt.c
#make && make install
8.- Instalación de JANUS
#cd /opt
#git clone https://github.com/meetecho/janus-gateway.git
#cd janus-gateway
#sh autogen.sh
#./configure –prefix=/opt/janus
#make
#make install
#make configs
#./configure –disable-rabbitmq
#./configure –enable-docs
9.- Instalación del servidor Web
#apt-get install apache2
Ahora copiamos las paginas de ejemplo
#cp -R /opt/janus-gateway/html/ /var/www/
#cd /var/www/html/
10.- Pruebas
Si todo salio bien deberíamos poder levantar Janus de la siguiente forma :
#/opt/janus/bin/janus
Eso quiere decir que Janus está en funcionamiento, luego ingresaremos al servidor Web de la siguiente forma : http://debian/ y veremos los siguiente
Si desean ver el manual en video Alfredo realizó todo el proceso incluido como funcionan los demos de Janus
En el siguiente post haremos una guia de como enlazar Janus con Asterisk
Kamailio entendiendo lógica de enrutamiento
Uno de los aspectos mas importantes y a la vez complicados de entender en Kamailio es la lógica de enrutamiento, debido a que tiene mucho que ver con el comportamiento del protocolo SIP.
Luego de mi charla en el ElastixWorld 2015 he tenido varias consulta referente a Kamailio y su comportamiento, un poco de ello lo explique en la charla «Usando el módulo PIKE en Elastix MT» sin embargo en este post vamos a dar un alcance un poco mayor a este tema.
Primero vemos de manera genera lo que trae el archivo de configuración.
Esta imagen representa el esquema a nivel de parametrización de un archivo kamailio.cfg
Ahora vamos a ver cada punto:
1.- Definiciones Globales
Variables que vamos a usar a lo largo de la lógica de enrutamiento, las cuales pueden estar referidas a parámetros de log, direcciones IP y puertos que va escuchar el servidor, entre otras.
Tiene la siguiente forma:
2.- Sección de Módulos
Es donde definimos o «cargamos» los módulos vamos a user, por ejemplo el modulo de MYSQL para guardar los registros en base de datos, o el modulo de TLS para cifrado de la señalización.
Tienen las siguiente forma:
3.- Sección de configuración de módulos
En esta sección de parametrizan o configuran los módulos que hemos cargado en la sección anterior, es muy importante configurar los módulos adecuadamente, ya que en algunos casos se activan con configuraciones por defecto, lo cuales pueden producir a la larga efectos extraños en el comportamiento.
Tienen la siguiente forma:
4.- Bloques de rutas o lógica de enrutamiento
Esta es la sección es «clave» en el archivo de configuración ya que va establecer todo el camino que va seguir las peticiones SIP que recibamos, aquí hay que decir que no existe un patrón único, ya que uno puede hacer su lógica tan simple o tan compleja como lo desee, es decir con mas o menos bloques de rutas, sin embargo existen ciertos patrones que uno siempre va respetar o encontrar en otros archivos, estos son bloques de rutas que normalmente vamos a encontrar:
- Principal (Main ó request_route)
- Secundarias (REQINIT, WITHINDLG,REGISTRAR)
- Failure (failure_route)
- Branch (branch_route)
En esquema que pude realizar para mi autocompasión de un esquema de enrutamiento maso menos complejo:
Como se puede apreciar todo parte del bloque «Main» o «Request Route» y va ingresando a los demás bloques en donde cada uno tiene un objetivo puntual aplicado a la solicitud SIP entrante.
El bloque «REQINIT» tiene un papel muy importante ya que hace la mayoría de la comprobaciones previas como la evaluación de seguridad entre otras cosas.
Luego los métodos secundarios realizan el registro, localización y reenvío de las solicitudes SIP a otro server, un Asterisk por ejemplo. según sea el caso.
Bueno espero que este post les amplié el panorama respecto al funcionamiento de kamailio, mas adelante desmenuzaremos otros aspectos de este formidable software.
Saludos
Juan Oliva
Desactivando SIP ALG en Fortinet
Mencionar que el protocolos de Voz son los mas delicados que existen en el mundo de los servicios de infraestructura no es una novedad, debido primordial mente a que no pueden tener ningún tipo de retardo o falla durante su transmisión y en este caso protocolo SIP en este caso no es la excepción.
Bajo este contexto, algunos equipos perimetrales tipo Router, Firewall, UTM durante estos últimos años vienen implementando lo que llaman «Application Layer Gateway» o ALG evidentemente en favor de la protección ante fallas de seguridad, ya que lo que hace es interceptar el trafico para administrarlo/gestionarlo antes de dejarlo pasar a su destino final.
Sin embargo este tipo de features no necesariamente surten en favor de uno cuando está desplegando una implementación de VoIP ya que ello va producir problemas durante las llamadas, causando entrecortes o caídas de llamada inesperados inclusive.
En este caso vamos a ver como desactivar SIP ALG de un equipo Fortinet 60D sin embargo puede ser aplicable para cualquier modelo.
1.-Desactivar sip-helper y sip-nat-trace
Ingresamos al CLI console mediante la interfase de administración y desactivamos las opciones de sip-helper y sip-nat-trace de la siguiente forma:
Una vez realizado esto es necesario reiniciar el equipo.
2.-Eliminar SIP dentro de session-helper
Luego ingresamos nuevamente, ahora es necesario identificar el ID del protocolo SIP dentro de la opción session-helper para luego eliminarla, esto se consigue de la siguiente forma:
Como vemos hemos identificado que el protocolo SIP se encuentra en el ID 13 , ahora procedemos a eliminarlo de la siguiente forma:
Una vez que hemos eliminado el ID simplemente cerramos la sesion en la consola.
Espero les sirva.
Saludos
Juan Oliva
Instalación de Kamailio en Centos 7
Es indudable que Kamailio es uno de los software mas potentes en el mundo de la VoIP , por los diferentes escenarios que puedes construir relativos a seguridad, escalabilidad, redundancia y todo lo que termina en «dad»
Sin embargo mucha gente que comienza a aprender su funcionamiento se choca con la curva de aprendizaje, que es necesario tener para entender este programa, como lo dije en un tweet «si no te gusta la consola, kamailio no es lo tuyo» sin embargo nada es imposible de aprender por su puesto.
Antes de comenzar definamos rápidamente un par de cosas, Kamailio no es igual ni parecido a Asterisk, formalmente Asterisk es lo que se llamaría un «back to back user agent» o «B2UA» el cual es utilizado tradicionalmente para ser una PBX IP ya que cuenta con un sin numero de aplicaciones para un PLANTA IP como voicemail, IVR, Colas,etc,etc.
En cambio Kamailio es un SIP PROXY en todos los sentidos, como su nombre lo dice, este tipo de software solo conversa SIP y nada mas, el cual puede trabajar como proxy proiamente, location server, registrar server, servidor de presencia, call routing (LCR) los cuales son algunos de los roles en los que puede trabajar.
Ahora la pregunta sería, para los nativos Asterisk, puedo usar Kamailio como lo uso con Asterisk ?
Pues la respuesta sería que no, ya que si bien es cierto ambos trabajar para brindar servicios de SIP VoIP tienen diferentes usos.
Entonces para que uso Kamailio?
Se puede usar para extender funcionalidades que de pronto Asterisk queda limitado, como por ejemplo, escalar usuarios, ya que Kamailio solo trabaja con SIP su consumo de procesamiento es mucho menor al de Asterisk y puede trabajar como servidor de registro, tambien puedo usarlo para balancear carga hacia un conjunto de servidores Asterisk, o para que sea mi servidor de proteccion hacia internet, solo por citar algunos ejemplos.
Entonces puedo integrar Asterisk con Kamailio ?
Si, puedo integrarlo de muchas maneras en realidad, algunas muy sencillas otras mas complicadas pero si se puede, de hecho hay varios proyectos y/o productos que han integrado con gran exito Kamalio-Asterisk como Elastix MT SIP WISE
Una vez que hemos revisado un poco para que podemos usar Kamailio, vamos a comenzar con este primer post sobre como instalar Kamailio sobre Centos 7 en una instalación mínima.
1.- Configurar el sistema base
Luego de instalar Centos 7 al mínimo es necesario «arreglar» un par de cosas
Instalar editor, ifconfig , EPEL
yum install net-tools vim
yum -y install epel-release
Desactivar SELINUX
vi /etc/selinux/config
SELINUX=disabled
Desactivar Firewall
systemctl disable firewalld
systemctl status firewalld
2.- Instalar Kamailio
Ahora vamos a instalar desde los repositorios.
Agregar un repositorio
vi /etc/yum.repos.d/kamailio.repo
[kamailio]
name=RPMs for Kamailio on CentOS 7
type=rpm-md
baseurl=http://rpm.kamailio.org/stable/CentOS_7/
gpgcheck=1
gpgkey=http://rpm.kamailio.org/stable/CentOS_7/repodata/repomd.xml.key
enabled=1
Instalar Kamailio básico
yum install kamailio kamailio-utils kamailio-debuginfo
3.- Crear un archivo de configuración básico
vim /etc/kamailio/kamailio.cfg
##### Inicio
debug=2
log_stderror=yes
fork=yes
mpath=»/usr/lib64/kamailio/modules»
loadmodule «pv.so»
loadmodule «xlog.so»
route {
xlog(«L_INFO»,»Requerimiento entrante: $rm de $si a $ru \n»);
forward();
}
onreply_route {
xlog(«L_INFO»,»Respuesta entrante: $rm $rr – de $si a $ru \n»);
}
##### Fin
4.- Levantar el servicio y revisar LOG
Levantamos el servicio y si todo está bien veremos esto
También es necesario, sobre todo si salen errores verificar los logs
Algunos Links que deberías ver si te interesa saber un poco mas de Kamailio :
Kamailio :: A Quick Introduction
http://es.slideshare.net/oej/kamailio-a-quick-introduction
http://es.slideshare.net/miconda/kamailiothestory
En otros post veremos un poco mas kamailio y algunas aplicaciones practicas.
Espero les sirva.
Saludos
Juan Oliva
Trunking SIP entre Elastix MT y Gateway E1 Dinstar
Desde la aparición de ElastixMT muchos han tenido dificultades para realizar integración sobre todo de proveedores, en muchos casos por problemas de compresión de Kamilio , sin embargo en otros como el escenario que vamos a desarrollar, la integración es prácticamente transparente, por supuesto sabiendo como es que funcionan las cosas evidentemente.
El escenario que vamos a desarrollar es el siguiente :
En este caso vamos a tener ElastixMT troncalizado via SIP con un Gateway de la marca Dinstar que a su vez está configurado para conversar con un E1 PRI de algún proveedor.
En este caso no me voy a central mucho en la configuración del E1 en el gateway , para ello pueden revisar el post anterior donde hay mucho detalle de ello.
Vamos concentrarnos en la troncal SIP entre el ElastixMT y el gateway.
1.- Crear la troncal SIP en el Gateway
Dentro del equipo vamos a SIP Config -> SIP Tunk y luego creamos nuestra troncal de la siguiente forma.
Como vemos estamos apuntando a la IP 192.168.10.200 que pertenece a ElastixMT en el puerto 5060
2.- Crear la troncal SIP en ElastixMT
Sección General
Donde la IP 192.168.10.111 es la del Gateway
3.- Verificar el estado del Trunk
En el caso del Gateway vamos a Status & Statistics -> IP Trunk Status y veremos en el campo Link Status que se encuentra establecido.
Luego vamos al CLI de asterisk en ElastixMT y veremos
En este caso ya tenemos reconocida la dirección IP del Gateway en el SIP TRUNK.
4.- Declarar y asignar DID en ElastixMT
Primero vamos a declarar el DID en PBX / PBX / DID / New DID
Luego vamos a asignar asignarle el DID creado a la organización SILCOM en Manager / Organizaction / Organization/ Add DID y quedaría de la siguiente forma:
5.- Crear rutas entrantes
Vamos a PBX / PBX / Inbound Routes y creamos la ruta de la siguiente forma :
En este caso estamos declarando que cuando exista una llamada al DID la en rute a la extensión 101 de la organización.
6.- Pruebas de llamadas
Una vez que tenemos todo configurado realizamos llamadas desde lal DID desde PSTN que en rutará hacia nuestro ElastixMT y a la extensión 101.
Como vemos ingresa la llamada , ahora algunas capturas de lo que muestra el CLI
Luego vamos que se establece la ruta del canal hacia la extensión 101 definida previamente.
7.- Conclusiones
- En este escenario especifico no es necesario modificar de alguna forma el comportamiento de Kamailio.
- Para estas pruebas no se realizaron mayores configuraciones a bajo nivel mas que las mostradas en el tutorial.
- La configuración del Trunk SIP solo fue probada en un equipo Dinstar MTG1000 , sin embargo no se descarta que pueda funcionar para otro tipo de gateways.
También se recomienda leer los post previos para una mejor comprensión del funcionamiento de ElastixMT:
- Interconexión entre Elastix y Gateway Dinstar vía PRI E1
- Troncalización de Elastix MT y A2BILLING mediante SIP
- Elastix 3 Multi Tenant – Configuración 1 (Extensiones y trunks)
- Configurando seguridad en Elastix MT
Espero les sirva
Saludos
Juan Oliva