SIP Trunk del ICE

Configuración en servidores Asterisk

No es para nadie un secreto que el Instituto Costarricense de electricidad no es el mejor generando documentación sobre sus servicios, es por esto que decidimos escribir este pequeño resumen de como configurar el servicio de telefonía SIP Trunk que ellos nos ofrecen.

Esta guía está realizada en un servidor Centos 7 junto con Asterisk, es por esto que las rutas de los archivos de configuración pueden variar según la versión del sistema operativo o la instalación realizada.

En caso de requerir soporte para realizar las configuraciones necesarias en su central telefónica o una implementación en limpio no dude en contactarnos.


¿Que es SIP Trunk? ¿Que requiero para solicitarlo?

El servicio de SIP Trunk es básicamente el intermediario entre las centrales telefónicas y los proveedores de telefonía mediante redes de datos, lo que hace, en resumen es crear un canal virtual entre un ISP y una organización.

Esto nos trae como beneficio mayor control sobre la información y el ahorro de dinero al ser el servicio de VoIP mas económico que la telefonía tradicional.

El Instituto Costarricense de electricidad puede realizar la migración de números telefónicos del servicio tradicional por cobre a un servicio SIP Trunk, por lo que las empresas no van a perder su número telefónico.

Para solicitar este servicio se requiere tener una PBX donde configurar la troncal que entrega el ICE, así como conocer la estructura de red, ya que dentro del formulario inicial de solicitud que se envía preguntarán por parámetros básicos como lo es el saber si la red cuenta con VLANs; el ICE nos va recomendar contar con SBC (Session Border Controller), que es un elemento que nos ayudará a proteger conexiones de tipo SIP. 

Para esta configuración vamos a requerir un servidor Centos 7 con Asterisk instalado, este servidor debe contar con al menos dos interfaces de red.


Datos que nos entrega el ICE

Una vez que el servicio esté en nuestras instalaciones, nos harán el envío de los parámetros básicos para la configuración del sistema, estos deberán mantenerlos de forma confidencial.

El ICE hace validación de los servicios de SIP Trunk por medio de cabeceras, por lo cual no se va requerir un nombre de usuario y contraseña para configurarlo, como podría ser el caso de otros proveedores.

Este servicio se entrega por medio de un dispositivo físico, por lo cual no es 100% en la nube.

Odoo • Text and Image

La imagen anterior nos muestra parte del correo electrónico que nos envían para realizar la configuración, claramente las direcciones que coloco no son las reales, son solamente un ejemplo para poder seguir los pasos de la configuración.

Configuración del direccionamiento

En este paso vamos a proceder a configurar las interfaces de red para poder trabajar el servicio de SIP Trunk.

La primer interfaz de red debe ser configurada con los datos de conexión de la red local (LAN), en esta interfaz es donde nuestro servidor tendrá la conexión a Internet, es por esto que los datos pueden variar según la configuración de la red local; podremos ver la configuración de la interfaz con el comando ifconfig que se puede localizar en el paquete net-tools, en caso de no tenerlo bastará ejecutar el siguiente comando para instalarlo:

yum -y install net-tools

Para asignar una IP estática a nuestra interfaz eth0 bastará con ejecutar los siguientes comandos:

ipconfig eth0 192.168.X.X netmask 255.255.255.X 

route add default gw 192.168.X.X eth0 

Con esto configuraremos una IP estática y un gateway a nuestra tarjeta de red LAN.

La segunda interfaz de red va ser donde se conectará el dispositivo físico que coloca el ICE, este debe tener la configuración según los parámetros que nos suministrarán, para esto debemos crear una ruta estática que nos permita alcanzar el servidor SIP del proveedor, para esto va ser necesario crear el archivo "route-ethX", respetando la numeración de la interfaz de red que estemos utilizando para conectar el SIP Trunk que nos entregan, en el caso de este ejemplo utilizaremos eth1, las modificaciones al archivo de texto las podemos realizar utilizando "VI" como editor de texto y tomando en cuenta que en servidores Centos 7 los archivos de configuración de las interfaces de red se encuentran en la ruta "/etc/sysconfig/network-scripts/“, es en este sitio es donde deberemos crear el archivo con los parámetros de enrutamiento de nuestra interfaz, con esto lograremos que la red del ICE sea alcanzable por nuestros servidor. La secuencia de comandos a realizar sería la siguiente:

#Creacion de archivo de enrutamiento estático según nuestra interfaz de red

touch /etc/sysconfig/network-scripts/route-eth1

#Agregar parámetros de red al archivo creado

vi /etc/sysconfig/network-scripts/route-eth1

#Debemos colocar "VI" en modo edición presionado la tecla insert, lo que nos permitirá escribir en el archivo generado, al cual debemos añadir los siguientes valores:

GATEWAY0=10.10.10.11 # Del archivo de configuración esta será la IP de acceso RAI

NETMASK0=255.255.255.0 # Debemos mantener la mascara 24

ADDRESS0=10.181.12.0 # Mantener esta IP del SIP proxy de señalización

Una vez agregados estos parámetros de configuración debemos guardar los  cambios realizados al archivo saliendo del modo edición de texto de "VI" presionando la tecla Esc, seguido de los comandos :wq!

El siguiente paso será agregar la configuración al archivo de interfaz de red directamente, esto se puede hacer de varias maneras, como por ejemplo con nmtui (que es un gestor de interfaces de red un  poco más gráfico), en esta guía lo haremos con ifconfig como lo hicimos para configurar nuestro eth0.

Siendo que nuestro SIP Trunk estará conectado del dispositivo que nos entrega el ICE a nuestro eth1, debemos proceder con los siguientes comandos de configuración:

ifconfig eth1 10.10.10.12 netmask 255.255.255.252 # Esta IP sería dirección IP del puerto WAN de la PBX, según el documento de configuración y la mascara se respetaría según el tipo de direccionamiento.

Esta interfaz de red se debe dejar sin Gateway.

Una vez realizados estos pasos debemos lograr hacer ping a 10.181.12.1.

Con esto finalizamos la configuración de los parámetros de red del SIP Trunk.

Configuración de SIP Trunk en Asterisk

Una vez tengamos finalizada la configuración de los parámetros de red de nuestro servidor, es momento de configurar nuestro troncal en Asterisk, para esto pueden utilizar como base mi plantilla de configuración, la cual deben colocar en el archivo de configuraciones SIP de Asterisk, lo cual, lo pueden realizar de la misma forma que editamos archivos con "VI", los comando a ejecutar serían los siguiente:

vi /etc/asterisk/sip_additional.conf

Una vez estando dentro del archivo, colocamos a "VI" en modo edición y bastará con ingresar una plantilla como la siguiente:

[Nombre_Deseado]
disallow=all
host=10.181.12.1
fromdomain=ip.ice.cr
secret=
type=peer
allow=alaw
allow=g711a
dtmfmode=rfc2833
prematuremedia=no
progressinband=yes
context=from-trunk-sip-Nombre_Deseado
[Nombre_deseado]
disallow=all
allow=alaw
allow=g711a
dtmfmode=rfc2833
context=from-trunk-sip-Nombre_deseado

Una vez realizado esto bastará con configurar las rutas entrantes y salientes con el número telefónico que nos han facilitado y ya estaremos listos para operar con nuestro SIP Trunk.

Espero la guía sea de gran ayuda, si alguien tiene alguna duda, no dude en contactarnos.