Post on 03-Jan-2016
transcript
Escuela Internacional de Negocios - CESTE
Maestría en Tecnología de la Comunicación
Módulo: Servicios Integrados
Trabajo 2
“IMPLEMENTACIÓN DEL PROTOCOLO
SIP EN UNA CENTRALITA ASTERISK”
Autores: Jonathan Aranda
Luis Fanovich
Profesor: Miguel Ángel García
Zaragoza, 13 de febrero de 2013
Resumen
El avance de la digitalización de la voz y su transmisión por una red de datos, están
permitiendo la expansión de la comunicación utilizando la voz sobre redes IP (VoIP),
La idea principal de este proyecto es aprovechar las ventajas del desarrollo de la VoIP,
para implementar una centralita Asterisk que permita la comunicación entre sus
dispositivos utilizando el protocolo de señalización SIP.
I
Índice General
Introducción…………………………………………………………………………. IV
Capítulo 1
Introducción a los Protocolos de Señalización ................................................................. 1
Introducción ....................................................................................................... 1 1.1.
Redes de Conmutación de Circuitos .................................................................. 2 1.2.
Redes de Conmutación de Paquetes .................................................................. 2 1.3.
Capítulo 2
Session Initiation Protocol SIP ......................................................................................... 3
Introducción ....................................................................................................... 3 2.1.
Funciones ........................................................................................................... 4 2.2.
Características .................................................................................................... 5 2.3.
Componentes dentro de un Arquitectura SIP .................................................... 6 2.4.
Capítulo 3
Centralitas PBX ................................................................................................................ 9
Introducción ....................................................................................................... 9 3.1.
Funcionalidades ............................................................................................... 10 3.2.
Centralita IP-PBX ............................................................................................ 10 3.3.
Asterisk ............................................................................................................ 11 3.4.
3.4.1 Funcionalidades ........................................................................................ 11
3.4.2 Protocolos y Códecs Soportados .............................................................. 12
Capítulo 4
Implementación de una Centralita Asterisk ................................................................... 13
Entorno de Simulación Asterisk ...................................................................... 13 4.1.
Topología ......................................................................................................... 14 4.2.
Capítulo 5
Conclusión ...................................................................................................................... 23
Referencias ..................................................................................................................... 24
III
Índice de Figuras
Figura 1.1 Proceso de para establecer una llamada. ......................................................... 1
Figura 2.1. Flujo de Mensajes en SIP. .............................................................................. 5
Figura 4.1. Componentes del Entorno de Simulación de Asterisk y SIP. ...................... 13
Figura 4.2. Topología para la simulación de Asterisk y SIP. ......................................... 14
Figura 4.3. Consola. ........................................................................................................ 14
Figura 4.4. Credenciales de administrador requeridas. .................................................. 15
Figura 4.5. Dashboard Elastix. ....................................................................................... 15
Figura 4.6. Agregar una Extensión. ................................................................................ 16
Figura 4.7. Campos requeridos para crear extensiones. ................................................. 16
Figura 4.8. Campos complementarios para crear extensiones....................................... 17
Figura 4.9. Softphone instalado en los portátiles. .......................................................... 17
Figura 4.10. App de un Softphone en un dispositivo Android. ...................................... 18
Figura 4.11. Intercambio de mensajes SIP. .................................................................... 18
Figura 4.12. Tráfico RTP junto con inicio de la sesión. ................................................. 19
Figura 4.13. Tráfico RTP junto con finalización de la sesión. ....................................... 19
Figura 4.14. “Agregar un enlace SIP”. .......................................................................... 20
Figura 4.15. Configuración General de un enlace trunk................................................. 20
Figura 4.16. Configuración de salida hacia el SIP Server “CentralA”. ......................... 21
Figura 4.17. Configuración de una ruta de salida. .......................................................... 21
Figura 4.18. Dial Patterns. .............................................................................................. 22
Figura 4.19. Llamada entre dispositivos SIP. ................................................................. 22
IV
Índice de Tablas
Tabla 3.1. Tabla de Protocolos y Códecs soportados por Asterisk. ............................... 12
V
Glosario
C
CAS: Channel Associated
Signalling.
CCS: Common Channel Signalling.
CUCM: Cisco Unified
Communications Manager.
G
GPL: General Public License.
I
IETF: Internet Engineering Task
Froce.
ITU: International
Telecommunication Union.
IVR: Interactive Voice Response.
L
LAN: Local Area Network.
M
MCGP: Media Gateway Control
Protocol.
P
PBX: Private Branch eXhange.
R
RDSI: Red Digital de Servicios
Integrados.
RTP: Real-time Transport Protocol.
S
SCCP: Skinny Client Control
Protocol.
SIP: Session Initiation Protocol.
T
TTS: Text to Speech.
U
UAC: User Agent Client.
UAS: User Agent Server.
W
WAN: Wide Area Network
VI
Introducción
Desde los inicios de la telefonía, se necesitaban normas que regularan las
comunicaciones entre dos destinos finales, para esto fueron creados los protocolos de
señalización. Estos protocolos han experimentado una evolución, junto con la tendencia
de transportar tráfico desde las redes de conmutación de circuitos hacia las redes de
conmutación por paquetes, siendo para esta última más utilizados los protocolos H.323,
SIP, MCGP y SCCP.
Con el avance de las tecnologías y los servicios de ancho de banda de internet, se ha
hecho posible el desarrollo de los sistemas de comunicación, y en especial en la
transmisión de la voz por la red de datos VoIP. En la actualidad muchas empresas optan
por tener una infraestructura de telecomunicaciones que permita la comunicación con el
exterior, como la interconexión entre los diferentes departamentos de una empresa.
Con la aparición de las primeras centralitas telefónicas Private Branch eXhange (PBX),
se hizo posible conectar los teléfonos de una empresa separados de la red de telefonía
pública (PSTN), consiguiendo una estructura separada para realizar llamadas internet y
utilizar la PSTN para llamadas al exterior. Las primeras centralitas estaban basadas en
hardware, las centralitas de hoy en día se basan en hardware y software, ofreciendo más
funcionalidades que las centralitas tradicionales.
El objetivo principal de este trabajo se basa en la implementación de un software, en
este caso Asterisk, que haga las funciones de una PBX, y que su a vez, utilice el
protocolo de señalización SIP para realizar llamadas tanto en una LAN, como al exterior
en una red WAN.
1
Capítulo 1: 1.
Introducción a los Protocolos de Señalización
En este capítulo, se presenta la definición general del protocolo de señalización y
su funcionamiento en las comunicaciones.
Introducción 1.1.
La llamada entre dos teléfonos implica el uso de diversos dispositivos
electrónicos, los cuales deben comunicarse entre sí. Para poder garantizar que la
comunicación entre los equipos se lleve a cabo adecuadamente, son necesarias
diversas normas que regulen el proceso de comunicación, estas normas se
conocen como Protocolos de Señalización.
Los protocolos de señalización tienen la capacidad de generar e intercambiar
información de control que se utiliza para establecer, monitorizar, mantener y
liberar las conexiones entre dos puntos finales. En la Figura 1.1 el proceso para
establecer una llamada.
Figura 1.1 Proceso de para establecer una llamada.
Sistema de Transmisión
Usuario A Usuario B Central
Destino B Central
Origen B
A descuelga
Tono de marcar
Marcado de nº B
Tono de llamada
A Cuelga
B Cuelga
Camino a central destino
Conformidad central destino
Notificación de B
Liberación de la conexión
Timbre de llamada
B Descuelga
2
Redes de Conmutación de Circuitos 1.2.
La conmutación de circuito es un tipo de conmutación que establece un circuito
dedicado exclusivo durante la duración de la sesión. Una vez terminada la sesión, se
libera el canal y este podrá ser utilizado por otros usuarios.
En las redes de conmutación de circuitos, los protocolos de señalización se pueden
clasificar en dos categorías principales.
Channel Associated Signalling (CAS): Tanto la información de señalización
como los datos de voz se transmiten por el mismo canal. Entre los protocolos de
señalización que pertenecen a esta categoría tenemos: G.732 y E&M, entre
otros.
Common Channel Signalling (CCS): La información correspondiente a la
señalización se transmite en un canal independiente al de los datos de voz. Un
protocolo de señalización perteneciente a esta categoría es, por ejemplo, el SS7.
Redes de Conmutación de Paquetes 1.3.
En los sistemas basados en la conmutación de paquetes, la información es ensamblada
en paquetes antes de ser transmitida. Cada paquete es transmitido individualmente y
este puede tomar diferentes rutas hacia su destino. Una vez los paquetes lleguen a su
destino, son re-ensamblados nuevamente.
En la conmutación de paquetes, los protocolos de señalización realizan acciones muy
similares a los protocolos de señalización en la conmutación por circuitos, además de
establecer medidas de calidad de servicio (QoS) que garanticen la calidad de la
conversación.
Existen varios protocolos de señalización utilizados en la conmutación de paquetes en la
actualidad, entre los más destacados se encuentran el Session Initiation Protocol (SIP),
desarrollado por el grupo de trabajo de la Internet Engineering Task Froce (IETF), y
H.323 desarrollado por la International Telecommunication Union (ITU). Otras
protocolos han sido desarrollados por empresa como herramientas propias para realizar
funciones específicas, tal es el caso del CISCO Skinny Client Protocol (SCCP).
3
Capítulo 2: 2.
Session Initiation Protocol SIP
En este capítulo, se define el Session Initiation Protocol (SIP), su funcionamiento,
características generales y los componentes que se encuentran dentro de una
estructura SIP.
Introducción 2.1.
Como se mencionó en el capítulo anterior, dentro del proceso de la transmisión de la
voz en paquetes por una red IP, la señalización es un aspecto muy importante para que,
una vez los paquetes de voz hayan sido generados por un dispositivo emisor, lleguen a
su destino.
SIP es un protocolo de señalización que fue desarrollado por la IETF. Se empezó a
desarrollar en el año 1996, que fue el año cuando se presentó el primer borrador, y fue
propuesto en el año 1999. Este protocolo fue desarrollado como una alternativa al ya
establecido H.323, otro protocolo de señalización. Al igual que otros protocolos que
trabajan en VoIP, SIP está diseñado para dirigir y mantener un control de la
señalización y además, permite establecer una sesión entre dos dispositivos de VoIP
dentro de una red IP.
Su función principal es la de establecer y finalizar sesiones entre dos dispositivos o
clientes. Además, se encarga de determinar la ubicación de los clientes. En otras
palabras, mediante su forma de registrar los dispositivos, informa a la red la ubicación
en donde podrá recibir peticiones de comunicación por parte de los demás usuarios, lo
cual permite que un usuario pueda recibir un mensaje en un determinado lugar, y si
4
luego se traslada a otra ubicación y se registra, también recibiría mensajes en esta nueva
ubicación.
Funciones 2.2.
SIP es un protocolo basado en la arquitectura cliente – servidor. Se menciona este punto
porque tiene una estructura de peticiones y respuestas. Las peticiones son generadas por
un cliente y son enviadas a un servidor, y éste atiende estas peticiones, las procesa y
devuelve respuestas al cliente. Su funcionamiento está basado en el protocolo Hypertext
Transfer Protocol (HTTP), el cual también se establece sesiones, y al igual que SIP,
mantiene una estructura de peticiones y respuestas.
A continuación, se muestra un repaso de las diferentes solicitudes y respuestas
utilizadas por SIP:
Solicitudes:
INVITE: establece una sesión.
ACK: confirma una solicitud INVITE.
BYE: finaliza una sesión.
CANCEL: cancela el establecimiento de una sesión.
REGISTER: comunica la localización de un usuario (dirección IP, nombre de
host).
OPTIONS: comunica la información acerca de las capacidades de envío y
recepción de dispositivos SIP.
Respuestas:
1XX: respuestas informativas (Ejemplo: 180, la cual se refiere a “Phone
Ringing”).
2XX: respuestas de éxito (Ejemplo: 200, la cual se refiere a “OK”).
3XX: respuestas de redirección.
4XX: errores de solicitud.
5XX: errores de servidor.
6XX: errores globales.
5
La figura 2.1 muestra el funcionamiento de SIP, el cual, mediante diferentes tipos de
peticiones y respuestas, establecen una sesión multimedia para el intercambio de voz o
vídeo entre dos dispositivos.
Figura 2.1. Flujo de Mensajes en SIP.
Características 2.3.
SIP funciona en colaboración con otros protocolos, que en conjunto, llevan a cabo la
realización de la comunicación entre dos dispositivos. SIP se concentra en el
establecimiento, la modificación y la terminación de las sesiones. Se refiere a
modificación de las sesiones, como la realización de transferencias y llamadas de
conferencia. Además, se complementa con el protocolo Session Description Protocol
(SDP), el cual realiza la tarea de describir el contenido multimedia de la sesión, por
ejemplo, las direcciones IP, los puertos y los códecs que se utilizarán en la llamada.
Además, trabaja en conjunto con Real-Time Transport Protocol (RTP), que es el
protocolo portador de la voz o el vídeo que intercambian los dispositivos participantes
en la sesión previamente establecida por SIP.
6
Entre otras características, cabe destacar:
Localización del dispositivo de destino: SIP soporta resolución de nombres y
redirección de llamadas.
Determinar la capacidad del dispositivo de destino: SIP especifica el menor
nivel de servicios comunes entre los dos dispositivos que establecen la
comunicación. Por ejemplo, las llamadas de conferencia son establecidas
solamente en una manera que los dispositivos finales puedan ejecutar.
Disponibilidad del dispositivo de destino: En caso de que una llamada no
pueda ser establecida debido que el dispositivo de destino no esté disponible,
SIP determina si el dispositivo de destino está conectado a otra llamada, o se dé
el caso de que este dispositivo no conteste después de sonar un tiempo
determinado.
Establece una sesión entre las dos partes: En caso de que la llamada se
complete, SIP establece una sesión entre los dos dispositivos. También, si lo
requiere, puede agregar dispositivos (llamadas de conferencia), o realizar
cambios en los códecs de voz para que las sesiones puedan establecerse.
Transferencias y finalización de llamadas: SIP es capaz de soportar
transferencias de llamadas. Durante estas transferencias, SIP establece una
sesión entre el dispositivo a transferir y el nuevo dispositivo de destino, y luego
finaliza la sesión entre el dispositivo que transfiere la llamada y el que ha sido
transferido.
Componentes dentro de un Arquitectura SIP 2.4.
Previo a establecer una sesión para intercambiar información multimedia, los extremos
próximos a comunicarse deben realizar, mediante SIP, un intercambio de mensajes, en
donde se determinará, entre otros aspectos, la disponibilidad y las capacidades para
soportar formato multimedia de las dos partes.
7
Estos extremos, los cuales establecerán una sesión, son los User Agents (UA). Estos UA
pueden actuar de dos maneras:
User Agent Client (UAC): es el extremo que envía una petición mediante un
mensaje SIP.
User Agent Server (UAS): es la parte que actúa como un servidor. En otras
palabras, es la parte que contactará al usuario cuando reciba una invitación SIP
para establecer una sesión, y luego enviará una respuesta hacia el dispositivo que
desea establecer la sesión.
Como un análisis adicional a estas descripciones, los User Agents actuarán como UAC
y UAS dependiendo de cuál de los dos extremos inicien la sesión. Debido a sus
características, los UAC son los extremos que inician la sesión, ya que envían una
petición SIP, y los UAS son los que terminan esta sesión, porque son los que informan
sobre la finalización de una sesión establecida mediante SIP.
Además de los User Agents, existen otros componentes necesarios para la operatividad
de este protocolo. Los servidores son utilizados en SIP para enviar mensajes SIP desde
un UAC hacia un UAS. Existen diferentes tipos de servidores que, cada uno con sus
características, realizan ciertas funciones:
Servidores de Registro: son los servidores que realizan el proceso de registro
de un usuario SIP. Este registro, permite confirmar la ubicación física de este
usuario, en otras palabras, en qué punto de la red está conectado. Esto servirá
para que pueda ser alcanzado si algún otro dispositivo desee establecer una
sesión. Cada UA, cuenta con una dirección lógica, es decir, sus credenciales de
usuario (Ejemplo: usuario@dominio). Además cuenta con una dirección física,
la cual se puede identificar como su dirección IP. Al inicializar un dispositivo
que funcione mediante SIP, este dispositivo enviará una petición de registro a
este servidor, informando la dirección física en donde se encuentra este UA. Una
vez recibida esta información, el servidor de Registro asociará estas dos
direcciones para que el UA sea alcanzable para los demás dispositivos que
deseen establecer una sesión.
Servidores Proxy: son servidores intermedios que se encargan de recibir
peticiones SIP de un UA específico, para luego direccionar estas peticiones en
8
nombre de este UA hacia otro servidor que se encuentre en la red. El próximo
servidor puede ser otro servidor Proxy, o un UAS.
Servidores Redirect: son los servidores que, a diferencia de los servidores
Proxy, generarán una respuesta hacia el UAC que desea establecer la sesión,
indicando los siguientes saltos que los mensajes SIP deben tomar, para que el
UAC pueda establecer directamente una sesión.
9
Capítulo 3: 3.
Centralitas PBX
Este capítulo presenta la definición de una PBX, su funcionamiento y sus avances
frente a las nuevas tecnologías que permiten la transmisión de la voz sobre IP
(VoIP).
En el último apartado de este capítulo se hace referencia a la centralita Asterisk, la
cual está basada en software, se mencionan sus funcionalidades y los protocolos y
códecs soportados por esta centralita.
Introducción 3.1.
Una central de telefonía privada (PBX) es un dispositivo que permite a las empresas
conectar sus terminales telefónicos de manera independiente al proveedor de telefonía.
De esta forma, permite que todas las llamadas internas sean conmutadas sin necesidad
de salir al exterior por la red pública de telefonía (PSTN o RDSI), lo que permite
disminuir los costes.
Los dispositivos conectados a las PBX se le denominan extensiones, y pueden ser
teléfonos ó faxes. Además, las centralitas permiten la conexión con diferentes líneas
troncales para poder recibir llamadas desde el exterior, e incluso permite la
interconexión de varias PBX entre sí para establecer la comunicación con el exterior.
Por lo general, para establecer una comunicación hacia el exterior, la PBX requiere que
se maque el 9 ó 0 seguido por el número de destino. De esta forma, la centralita es capaz
de identificar que se trata de una llamada hacia el exterior y selecciona una línea troncal
disponible.
10
Funcionalidades 3.2.
Como se menciona en el punto anterior, el objetivo principal de una PBX es establecer
y mantener la comunicación entre dos puntos finales durante el tiempo que sea
requerido por el usuario, y a su vez incorporan funcionalidades como: operadora virtual,
marcación rápida, buzón de voz, transferencia de llamadas, desvío de llamadas, entre
otras más, que permiten configurar una PBX a la necesidades de un usuario final.
Centralita IP-PBX 3.3.
La tendencia de las PBX es incorporar a las centralitas la posibilidad de transmitir la
voz sobre las redes de datos. Este modelo permite la reducción de costes debido a la
gestión de una única infraestructura, lo que permitirá la integración y la posibilidad de
ampliar los servicios de valor añadido.
Siguiendo esta tendencia surgen las IP-PBX, que son equipos de comunicaciones
diseñados para ofrecer servicios de comunicaciones a través de la red de datos, lo que
conocemos con el nombre de voz sobre IP (VoIP). Este sistema de telefonía permite
transmitir la voz por una red de datos, a la vez que interopera con una red PSTN.
Una centralita IP-PBX puede ser implementada como un dispositivo de hardware o
virtualmente como un sistema de software, como CUCM, Asterisk o FreeSwitch. Dado
que la mayor parte de las funcionalidades de una IP-PBX están basadas en software, se
pueden añadir nuevas funcionalidades tales como conferencias, Control XML-RPC para
llamadas en vivo, respuesta de voz interactiva (IVR), text to speech (TTS),
interconexión de circuitos tanto analógicos como digitales a través de la red PSTN y
soporta protocolos de VoIP como SIP, H.323, IAX2 entre otros.
Las IP-PBX se componen principalmente de un servidor SIP-SERVER (SIP) o de un
Gatekeeper (H.323) más un Gateway que permite la comunicación entre las redes de
datos IP y las líneas analógicas.
Los dispositivos finales utilizados por las IP-PBX son los teléfonos IP que soporten los
protocolos SIP y H.323 y software del tipo Softphone, el cual permite utilizar una
computadora como teléfono IP.
11
Asterisk 3.4.
Asterisk es una aplicación con licencia de código abierto (GPL) capaz de simular las
funciones de una IP-PBX. Originalmente fue implementado sobre todas las
distribuciones de Linux existentes, y actualmente se está intentando portar a otros
sistemas operativos como MAC, Solaris y Windows.
Asterisk es una aplicación de software que ofrece las mismas características y servicios
que los sistemas PBX tradicionales. Las ventajas que tiene sobre las centralitas de
hardware son muchas, entre las cuales se pueden destacar:
Reducción de costes: ya que permite integrar la voz y datos bajo una sola
infraestructura y a la vez, Asterisk es una aplicación de código abierto.
Compatibilidad: Soporta una gran variedad de protocolos y códecs.
Flexibilidad: Permite la integración de Asterisk con otras centralitas, lo que la
convierte en una solución expandible.
Actualizaciones: Cuenta con una comunidad interesada en el desarrollo de
Asterisk las cuales realizan actualizaciones constantemente.
3.4.1 Funcionalidades
Asterisk cuenta con un núcleo principal encargado de toda la gestión del sistema PBX,
sus funciones principales son:
Interconectar de forma automática cada llamada entre los usuarios participantes,
teniendo en cuenta el tipo de protocolo utilizado por cada terminal.
Lanzar los servicios de valor añadido cuando sean requeridos.
Traducir y adaptar códecs a cada terminal involucrado en la comunicación.
Gestionar el sistema para que funcione de la forma más óptima en todas las
condiciones de carga.
12
3.4.2 Protocolos y Códecs Soportados
Asterisk soporta una serie de protocolos de VoIP y códecs de audio que se pueden
apreciar en la Tabla 3.1
Tabla 3.1. Tabla de Protocolos y Códecs soportados por Asterisk.
Protocolos VoIP
SIP, H.323, IAX, MGCP/MEGACO, SCCP, UNISTIM
Códecs de audio
G.711(alaw y ulaw), G.726, G.723.1, G.729A, GSM,
iLBC, Speex, ADPCM, Linear, MP3
13
Capítulo 4: 4.
Implementación de una Centralita Asterisk
En este capítulo, se presenta la simulación de una centralita Asterisk, utilizando
el protocolo de señalización SIP para realizar llamadas internas en una red LAN y
llamadas externas en una red WAN.
Entorno de Simulación Asterisk 4.1.
Para la configuración del entorno de implementación de una centralita VoIP,
utilizaremos Virtualbox para simular una máquina virtual, Asterisk como plataformas
de VoIP y aplicaciones tipo softphone para simular un teléfono IP en la computadora
como el Softphone 3CX, Xlite y para dispositivos Android, el 3CXPhone y Sipdroid,
como se muestra en la Figura 4.1.
Figura 4.1. Componentes del Entorno de Simulación de Asterisk y SIP.
14
Topología 4.2.
Para la realizar la simulación utilizando una centralita Asterisk y el protocolo SIP, se
utilizó la topología que se muestra en la Figura 4.2.
La topología está compuesta por dos SIP SERVER para gestionar la Central A y la
Central B respectivamente. Cada SIP SERVER permite llamadas en sus redes internas,
utilizando teléfonos IP simulados por un softphone en las computadoras y un
dispositivo Android con aplicaciones mencionadas en el punto anterior. Se configuró
una conexión SIP TRUNK para interconectar los dos SIP SERVER y permitir la
comunicación entre los dispositivos de la Central A y la Central B.
Figura 4.2. Topología para la simulación de Asterisk y SIP.
Durante el proceso de instalación del SIP Server, en este caso, Elastix, y dentro de
una máquina virtual creada con Virtual Box, se configuró una serie de parámetros,
entre los cuales, cabe destacar la contraseña para el usuario “root” en el CLI. La
figura 4.3 muestra la ventana de la consola en donde las credenciales de usuario
“root” son requeridas para iniciar.
Figura 4.3. Consola.
15
Durante el proceso de esta simulación, se decidió que la dirección IP de los SIP
Servers fuera tomada dinámicamente (DHCP). Se puede ingresar a la consola del
SIP Server desde un navegador web, escribiendo la dirección IP que se le ha
asignado al SIP Server. La figura 4.4 muestra la ventana de credenciales de
usuario para el entorno gráfico.
Figura 4.4. Credenciales de administrador requeridas.
Una vez ingresadas las credenciales de administrador, se mostrará la consola
desde un ambiente gráfico. La pantalla de inicio muestra un Dashboard, junto con
otros aspectos, como por ejemplo, los procesos que están funcionando en el
momento y el estado de los recursos del SIP Server. La figura 4.5 muestra el
Dashboard para realizar la monitorización.
Figura 4.5. Dashboard Elastix.
16
Para crear las extensiones, se ingresa a esta parte desde la pestaña “PBX” ubicada
en la parte superior, y luego en “Extensions” ubicado en la parte izquierda de la
Consola. Se ha seleccionado la opción “Generic SIP Device”, luego click en
Submit. La figura 4.6 muestra la ventana para agregar extensiones.
Figura 4.6. Agregar una Extensión.
Para crear una extensión, es necesario llenar algunos campos que son importantes
para el correcto funcionamiento de los User Agents (UAC). En “User Extension”,
se coloca un número de extensión para el dispositivo y “Display Name” será el
nombre del usuario final que aparecerá en los demás dispositivos que se intenten
alcanzar. La figura 4.7 muestra los campos necesarios.
Figura 4.7. Campos requeridos para crear extensiones.
17
La figura 4.8 muestra algunos otros campos que son requeridos para crear las
extensiones. Algunos se llenan automáticamente por el SIP Server.
Figura 4.8. Campos complementarios para crear extensiones.
Para esta simulación, se han instalado softphones en los portátiles donde están
creadas las máquinas virtuales que alojan los SIP Servers. Después de haber
configurado ciertos parámetros que requiere una sesión en SIP, por ejemplo, la
dirección IP del SIP Server, la extensión, un usuario y contraseña, el softphone se
registrará y estará listo para iniciar sesiones multimedia mediante SIP. La figura
4.9 muestra la pantalla principal del Softphone, en donde se puede apreciar que
está en modo funcional.
Figura 4.9. Softphone instalado en los portátiles.
18
La figura 4.10 muestra la ventana principal del App de softphone instalado en los
dispositivos Android que también se han utilizado para esta simulación.
Figura 4.10. App de un Softphone en un dispositivo Android.
Para realizar un mejor análisis del comportamiento de SIP al momento de registrar
las extensiones en los softphones, se ha realizado una captura en Wireshark, en
donde se puede apreciar, el intercambio de mensajes SIP entre un UAC y un UAS,
en este caso, los softphones y el SIP Server. Se pueden apreciar algunas de las
solicitudes realizadas por los User Agents, por ejemplo, REGISTER y OPTIONS.
También respuestas, por ejemplo, 200 OK. La figura 4.11 muestra el intercambio
de mensajes SIP.
Figura 4.11. Intercambio de mensajes SIP.
Posterior al registro de los Softphones mediante SIP, se ha realizado una llamada
entre dos Softphones registrados en el mismo SIP Server. Después del trabajo de
señalización de SIP, es decir, establecer una sesión multimedia entre los dos
19
Softphones, RTP se encarga de transportar la voz en paquetes. Las figuras 4.12 y
4.13 muestran el tráfico RTP, y antes de iniciarse, se pueden apreciar paquetes
SIP que indican solicitudes INVITE para iniciar una sesión, y respuestas, como la
180 Ringing. Al finalizar la llamada, mediante SIP, el Softphone que finalizó la
llamada, envió una solicitud BYE, luego se puede apreciar una respuesta 200 OK.
Figura 4.12. Tráfico RTP junto con inicio de la sesión.
Figura 4.13. Tráfico RTP junto con finalización de la sesión.
Como un desafío adicional, se decidió realizar llamadas entre los softphones de
los dos SIP Server, las centralitas Asterisk instaladas en las dos máquinas
virtuales. Para ello, se ha creado un enlace SIP Trunk en cada una de las
centralitas. Haciendo click en “PBX Configuration”, una vez dentro de esta
sección, click en “Trunks”. Luego se ha seleccionado la opción “Add SIP Trunk”.
La figura 4.14 muestra la opción “Add SIP Trunk”.
20
Figura 4.14. “Agregar un enlace SIP”.
Dentro de esta opción, se ha procedido a crear un enlace trunk entre las dos
centralitas. Se le ha asignado un nombre al enlace trunk, en el campo “Trunk
Name”. La figura 4.15 muestra la sección de configuración general.
Figura 4.15. Configuración General de un enlace trunk.
Además, en la configuración de salida, se ha tenido que configurar diversos
parámetros para que las llamadas puedan dirigirse hacia las extensiones que
controla la otra centralita. Cabe destacar, un usuario y una contraseña para que
exista un proceso de autenticación por parte de los dos SIP Servers. Además,
especificar la dirección IP por la cual se va a alcanzar al SIP Server vecino.
21
La figura 4.16 muestra el proceso de configuración de salida hacia el SIP Server
vecino.
Figura 4.16. Configuración de salida hacia el SIP Server “CentralA”.
Después de haber realizado la configuración del enlace trunk, es necesario
configurar una ruta de salida “Outbound Route”. Se puede accesar dentro del
mismo menú en donde se encuentran las opciones para “Trunks”. La figura 4.17
muestra la sección en donde se agrega una ruta de salida hacia el SIP Server
vecino, en donde se especificó un nombre para esta ruta.
Figura 4.17. Configuración de una ruta de salida.
22
Además de seleccionar un nombre para la ruta de salida, es importante especificar
dentro de los “Dial Patterns”, el rango de extensiones que maneja el SIP Server
vecino a los cuales se desea alcanzar. Se ha especificado mediante los parámetros
“2XXX”, lo cual significa que se pueda alcanzar cualquier extensión de 4 dígitos
y que inicie con el número 2. Además, en la sección “Trunk Sequence for
Matched Routes”, se ha seleccionado el enlace trunk previamente configurado. La
figura 4.18 muestra la configuración realizada en esta sección de la ruta de salida.
Figura 4.18. Dial Patterns.
Al haber finalizado esta configuración dentro de los dos SIP Servers, los
dispositivos SIP son capaces de establecer sesiones SIP, llamarse y comunicarse
entre sí. La figura 4.19 muestra una llamada entre dispositivos SIP pertenecientes
a diferentes SIP Servers.
Figura 4.19. Llamada entre dispositivos SIP.
23
Capítulo 5: 5.
Conclusión
Cabe destacar que las funciones que realiza SIP son las de establecer sesiones
multimedia, es decir, proveer ciertas instrucciones para que las llamadas puedan
realizarse de manera satisfactoria. También, como un análisis relevante gracias a
las capturas realizadas con Wireshark, una vez establecida la sesión entre dos
dispositivos SIP, el tráfico de la voz entre estos dos dispositivos se realizará
directamente entre ellos, en un entorno LAN, por medio de RTP.
Sobre la experiencia con la centralita Asterisk, conviene destacar su entorno
gráfico. Cuenta con una interfaz gráfica amigable para el administrador, y existe
mucha documentación que puede servir de apoyo para obtener resultados óptimos
en base a la administración de la telefonía. Además, cuenta con las características
necesarias para establecer enlaces SIP, también puede utilizar otros protocolos,
por ejemplo, IAX2.
24
6.
Referencias
[1] J. L. Villalón, «Security Artwork,» 3 Marzo 2008. [En línea]. Available:
http://www.securityartwork.es/2008/03/03/voip-protocolo-sip/. [Último
acceso: 9 Febrero 2013].
[2] K. Wallace, Implementing Cisco Unified Communications Voice over IP and
QoS (CVOICE), Indianapolis, IN: Cisco Press, 2011.
[3] UNAVARRA, «Seminars,» 7 Diciembre 2007. [En línea]. Available:
https://www.tlm.unavarra.es/research/seminars/slides/20071207_iria_SIP-
SDP.pdf. [Último acceso: 9 Febrero 2013].
[4] Q. I. M. &. Consulting, «Quarea - Voz - Datos IP,» [En línea]. Available:
http://www.quarea.com/es/tutorial/SIP_session_initiation_protocol. [Último
acceso: 10 Febrero 2012].
[5] Jesus Camacho Rodriguez, «Scribd,» 26 agosto 2012. [En línea]. Available:
http://es.scribd.com/doc/104008128/PFC-Jesus-Camacho-Rodriguez-Capitulo-
2. [Último acceso: 10 febrero 2013].
[6] J. M. Vizcaíno, «UPCommons,» 14 septiembre 2006. [En línea]. Available:
http://upcommons.upc.edu/pfc/bitstream/2099.1/3812/1/54629-1.pdf. [Último
acceso: 10 febrero 2013].
[7] D. R. Rodríguez, «busy-tone.org,» agostp 2012. [En línea]. Available:
http://busy-tone.org/wp-content/uploads/2012/10/VoIP-Pentest-Lab-
BusyTone.pdf. [Último acceso: 7 febrero 2013].