Licenciatura en Sistemas de Información
Asterisk - The Open Source PBX
Telefonía IP mediante Asterisk PBX
Autor: Santos Gustavo Vega
Director: Javier Blanqué
Universidad Nacional de Luján
Int. Ruta 5 y 7
6700 Luján, Buenos Aires
Republica Argentina
Año 2008
Resumen
La expansión y el crecimiento de las redes IP, en los últimos tiempos, junto a los avances
en tecnología y técnicas de digitalización de la voz, permiten adoptar una alternativa de
comunicación hacia el mundo, denominada “VoIP” o “Telefonía IP”, a la cual empresas,
instituciones y usuarios domésticos pueden acceder obteniendo diversos beneficios.
Dichos beneficios son notorios en la importante reducción del costo de llamadas
internacionales o de larga distancia y sobre los servicios de valor agregado.
En el campo de la Telefonía IP intervienen varios aspectos vinculados a los recursos, el
software y hardware necesarios. Al implementar un sistema que utilice VoIP puede
disponerse de una central que comunique a los usuarios y mantenga el control sobre las
comunicaciones de dicho sistema.
El presente trabajo explora “Asterisk – The Open Source PBX”, software de código libre,
bajo licencia GPL, capaz de convertir a una simple computadora en una central de
telefonía IP. Dicha central permite brindar todas las funciones que posee una central
telefónica convencional junto a otros servicios de valor agregado utilizando VoIP.
Dentro de los servicios ofrecidos encontramos correo de voz, conferencia de llamadas,
identificador de llamadas, sistemas de respuesta de voz interactiva, música en espera y
buzón de voz, entre otros.
El estudio y exploración del sistema nos permitirá conocer distintos aspectos relacionados
con VoIP (como Codecs, protocolos, hardware y software utilizados) además de conocer
en profundidad la central “Asterisk”, mediante una instalación práctica, configurando
diferentes servicios y estudiando su comportamiento en diferentes escenarios.
Otra finalidad del proyecto es lograr evaluar la performance del sistema de telefonía
planteado realizando diversas conversaciones de voz entre grupos de usuarios locales o
remotos mediante el uso de Softphone, ATAs o teléfonos IP y alcanzando la red de
- 2 -
telefonía básica mediante la incorporación y uso de un proveedor VoIP en Internet,
variando el uso de diferentes Codecs. Para ello se tendrá en cuenta la opinión y
percepción de los usuarios, los cuales, indican el grado de satisfacción alcanzado en
dichas conversaciones. El método utilizado en la medición es el MOS (Mean Opinión
Store - Valor Medio de Opinión).
Agradecimientos
“Persevera y Triunfaras”
La culminación de este proyecto significa, para mí, el cierre de otra linda etapa en mi vida,
en la cual tuve la fortuna de conocer a mucha gente buena. Por ello quiero dedicar este
espacio para agradecer todo el apoyo, los concejos, el aliento y la bondad, que he sabido
tomar de ellos para poder terminar este camino.
Quiero agradecer a Silvia, mi pareja y amiga, por brindar su apoyo incondicional y
acompañarme en cada paso realizado, soportando los tiempos que demandan cursar,
estudiar y rendir.
A cada uno de los profesores de esta universidad que supieron transmitir sus
conocimientos y experiencias, y en especial a Javier Blanque, mi director de tesis, quien
ayudo a encaminar este proyecto, aportando sus conocimientos, consejos y tiempos.
A mis padres, Blanca y Jorge por brindarme una buena educación, de la cual estoy muy
orgulloso.
A cada uno de los compañeros y colegas de estudio con los cuales he compartido muchas
horas, apoyándonos mutuamente para no bajar los brazos. Sin ellos este día no hubiese
sido posible. A mis compañeros de trabajo que siempre me ayudaron, con tiempos y
concejos.
Es imposible describir con palabras lo agradecido que estoy con cada persona que me
brindo su ayuda. A todos ellos, mil gracias.
- 3 -
Por ultimo quiero agradecerme a mi mismo, por perseverar y nunca bajar los brazos, pesé
a lo difícil que fue trabajar, estudiar y triunfar, llegando a esta meta.
Índice
Índice ........................................................................................................................ 4
Índice ........................................................................................................................ 4
Capitulo 1 ............................................................................................................... 10
Capitulo 1 ............................................................................................................... 10
1. Introducción y Objetivos del proyecto ............................................................ 10
2.La Telefonía en el tiempo ............................................................................................ 10
2. La Telefonía en el tiempo .................................................................................. 10
3.Evolución de la Tecnología VoIP ................................................................................. 14
3. Evolución de la Tecnología VoIP ...................................................................... 14
4.Inicios de Asterisk ....................................................................................................... 16
4. Inicios de Asterisk ............................................................................................. 16
5.Desarrollos VoIP ......................................................................................................... 17
5. Desarrollos VoIP ................................................................................................ 17
6.Objetivos del Proyecto ................................................................................................ 18
6. Objetivos del Proyecto ...................................................................................... 18
Capitulo 2 ............................................................................................................... 21
Capitulo 2 ............................................................................................................... 21
7. Fundamentos de Voz sobre IP (VoIP) ............................................................. 21
8.Funcionamiento de VoIP ............................................................................................. 24
8. Funcionamiento de VoIP ................................................................................... 24
9. Señalización .............................................................................................................. 26
9. Señalización ...................................................................................................... 26
10. Protocolos ................................................................................................................ 28
10. Protocolos ....................................................................................................... 28
10.1.1.SIP - Protocolo de inicio de Sesión ..................................................................... 28
10.1.1. SIP - Protocolo de inicio de Sesión ......................................................... 28
10.1.2.SDP – Protocolo de descripción de Sesión. ........................................................ 30
10.1.2. SDP – Protocolo de descripción de Sesión. ........................................... 30
10.1.3.RTP – Protocolo de Tiempo Real. ....................................................................... 30
- 4 -
10.1.3. RTP – Protocolo de Tiempo Real. ............................................................ 30
10.1.4.H.323 .................................................................................................................. 34
10.1.4. H.323 ........................................................................................................... 34
10.1.5.IAX2 - Inter-Asterisk Exchange ........................................................................... 34
10.1.5. IAX2 - Inter-Asterisk Exchange ................................................................ 34
11.Codecs ...................................................................................................................... 35
11. Codecs .............................................................................................................. 35
11.1.1.G.711 .................................................................................................................. 36
11.1.1. G.711 ............................................................................................................ 36
11.1.2.G.726 .................................................................................................................. 37
11.1.2. G.726 ........................................................................................................... 37
11.1.3.G.729 .................................................................................................................. 37
11.1.3. G.729 ........................................................................................................... 37
11.1.4.GSM - Global System for Mobile communication ................................................ 38
11.1.4. GSM - Global System for Mobile communication .................................. 38
11.1.5.Speex ................................................................................................................. 38
11.1.5. Speex .......................................................................................................... 38
11.1.6.iLBC - Internet Low Bitrate Codec ....................................................................... 39
11.1.6. iLBC - Internet Low Bitrate Codec ........................................................... 39
11.1.7.Elección de un Codec Adecuado ........................................................................ 39
11.1.7. Elección de un Codec Adecuado ............................................................. 39
12.Elementos y Agentes implicados ............................................................................. 40
12. Elementos y Agentes implicados ................................................................. 40
13.Troncales digitales .................................................................................................... 42
13. Troncales digitales .......................................................................................... 42
14.CTI - Computer Telephone Integration ...................................................................... 44
14. CTI - Computer Telephone Integration .......................................................... 44
15.DSP - Procesador de señal digital ............................................................................ 44
15. DSP - Procesador de señal digital ................................................................. 44
16.Fortalezas – VoIP ..................................................................................................... 45
16. Fortalezas – VoIP ............................................................................................. 45
17.Debilidades – VoIP ................................................................................................... 47
17. Debilidades – VoIP ........................................................................................... 47
- 5 -
Capitulo 3 ............................................................................................................... 54
Capitulo 3 ............................................................................................................... 54
18. Funcionalidad de Asterisk (The Open Source PBX) .................................... 54
19.PBX convencionales y PBX-IP ................................................................................. 54
19. PBX convencionales y PBX-IP ....................................................................... 54
20.Características descriptivas de Asterisk .................................................................... 55
20. Características descriptivas de Asterisk ...................................................... 55
20.1.1.Componentes de Asterisk ................................................................................... 60
20.1.1. Componentes de Asterisk ........................................................................ 60
20.1.2.Estructura utilizada ............................................................................................. 62
20.1.2. Estructura utilizada ................................................................................... 62
20.1.3.Clasificación de clientes ...................................................................................... 63
20.1.3. Clasificación de clientes ........................................................................... 63
21.Arquitectura .............................................................................................................. 63
21. Arquitectura ...................................................................................................... 63
21.1.1.Protocolos y Codec Soportados ......................................................................... 65
21.1.1. Protocolos y Codec Soportados .............................................................. 65
21.1.2.Limitaciones de la Arquitectura ........................................................................... 67
21.1.2. Limitaciones de la Arquitectura ............................................................... 67
22.Integración con la Telefonía convencional ................................................................ 67
22. Integración con la Telefonía convencional ................................................... 67
23.Escenarios de uso .................................................................................................... 71
23. Escenarios de uso ........................................................................................... 71
24.Aplicaciones y Servicios ........................................................................................... 77
24. Aplicaciones y Servicios ................................................................................. 77
Capitulo 4 ............................................................................................................... 81
Capitulo 4 ............................................................................................................... 81
25. Infraestructura necesaria ................................................................................ 81
26.Equipos terminales .................................................................................................. 82
26. Equipos terminales ......................................................................................... 82
26.1.1.Equipos basados en Hardware ........................................................................... 83
26.1.1. Equipos basados en Hardware ................................................................ 83
- 6 -
26.1.2.Equipos basados en software ............................................................................. 84
26.1.2. Equipos basados en software .................................................................. 84
27.Dimensionando el servidor ....................................................................................... 87
27. Dimensionando el servidor ............................................................................ 87
27.1.1.Elección del sistema operativo ........................................................................... 88
27.1.1. Elección del sistema operativo ................................................................ 88
28.Versiones de Asterisk ............................................................................................... 89
28. Versiones de Asterisk ..................................................................................... 89
28.1.1.Variantes de instalación ...................................................................................... 92
28.1.1. Variantes de instalación ............................................................................ 92
28.1.1.1.Easyasterisk .................................................................................................... 93
28.1.1.1. Easyasterisk ............................................................................................ 93
28.1.1.2.Elastix .............................................................................................................. 94
28.1.1.2. Elastix ...................................................................................................... 94
28.1.1.3.SLAST ............................................................................................................. 96
28.1.1.3. SLAST ...................................................................................................... 96
28.1.1.4.Asterisk@Home ............................................................................................... 97
28.1.1.4. Asterisk@Home ...................................................................................... 97
28.1.1.5.Trixbox ............................................................................................................. 99
28.1.1.5. Trixbox ..................................................................................................... 99
28.1.1.6.AsteriskNOW ................................................................................................. 103
28.1.1.6. AsteriskNOW ......................................................................................... 103
Capitulo 5 ............................................................................................................. 109
Capitulo 5 ............................................................................................................. 109
29. Arquitectura de aplicación ............................................................................ 109
30.Hardware utilizado .................................................................................................. 111
30. Hardware utilizado ......................................................................................... 111
31.Instalación y configuración de AsteriskNOW ........................................................... 113
31. Instalación y configuración de AsteriskNOW ............................................. 113
32.Configuración de Usuarios ...................................................................................... 119
32. Configuración de Usuarios ........................................................................... 119
33.Configuración de canales ....................................................................................... 125
33. Configuración de canales ............................................................................. 125
- 7 -
34.Configuración de Proveedores VoIP ....................................................................... 127
34. Configuración de Proveedores VoIP ........................................................... 127
35.Configuración de Dispositivos ................................................................................. 131
35. Configuración de Dispositivos ..................................................................... 131
35.1.1.Adaptador de Teléfono Analógico (ATA) ............................................................ 132
35.1.1. Adaptador de Teléfono Analógico (ATA) ............................................... 132
35.1.2.SoftPhone ......................................................................................................... 136
35.1.2. SoftPhone ................................................................................................. 136
36.Configuración de Servicios ..................................................................................... 141
36. Configuración de Servicios .......................................................................... 141
36.1.1.Creación y aplicación de planes de discado .................................................. 143
36.1.1. Creación y aplicación de planes de discado ..................................... 143
Capitulo 6 ............................................................................................................. 152
Capitulo 6 ............................................................................................................. 152
37. Análisis del sistema implementado .......................................................... 152
38.Construyendo un grupo de usuarios ....................................................................... 152
38. Construyendo un grupo de usuarios .......................................................... 152
39.Pruebas realizadas ................................................................................................. 155
39. Pruebas realizadas ........................................................................................ 155
40.Métodos para medir la calidad de servicio .............................................................. 157
40. Métodos para medir la calidad de servicio ................................................. 157
41.Análisis de resultados ............................................................................................. 160
41. Análisis de resultados ................................................................................... 160
Conclusión .......................................................................................................... 165
Conclusión .......................................................................................................... 165
Anexos ................................................................................................................. 169
Anexos ................................................................................................................. 169
Anexo A: Instalación y configuración de SoftPhone ..................................... 169
A.1 X-Lite .................................................................................................................... 169
A.2 Kapanga ................................................................................................................ 176
A.3 Zoiper .................................................................................................................... 182
Anexo B: Instalación y configuración de AsteriskNOW 1.0.2 ........................ 187
- 8 -
B.1 Instalación de AsteriskNOW 1.0.2 ......................................................................... 187
B.2 Configuración de Usuarios .................................................................................... 194
B.3 Configuración de Proveedores .............................................................................. 196
B.4 Configuración de Servicios .................................................................................... 200
Glosario ............................................................................................................... 210
Glosario ............................................................................................................... 210
Bibliografía .......................................................................................................... 217
Bibliografía .......................................................................................................... 217
- 9 -
Capitulo 1 – Introducción y Objetivos del proyecto Autor: Santos Gustavo Vega
Capitulo 1
"Nunca andes por el camino trazado pues él te conducirá únicamente donde otros ya
fueron."
Alexander Graham Bell.
1. Introducción y Objetivos del proyecto
En épocas donde es frecuente que ciertas empresas privadas o estatales impongan un
monopolio sobre las telecomunicaciones, lo cual abruma de alguna manera a los
consumidores con el alto costo en llamadas y servicios adicionales como identificador de
llamadas, casilla de mensajes, llamada en espera, entre los mas conocidos, sumado a
experiencias poco gratificantes con el servicio de atención al cliente.
La aceptación y el uso masivo de Internet, los avances alcanzados en técnicas de
digitalización de la voz, la aparición de VoIP y su inminente inclusión en el mercado de las
telecomunicaciones, lleva a pensar en un posible cambio de sistema que tienda a
rediseñar la infraestructura actual de las comunicaciones. El uso de la tecnología VoIP
parece prometer una revolución sobre el mercado de las comunicaciones de voz, tanto
por la gran reducción de costos en llamadas locales, internacionales o por la aceptación
de los diferentes servicios ofrecidos.
La posibilidad de utilizar la infraestructura de red existente para el trasporte de datos, voz
y video (bajo el concepto del “Triple Play”) permite disminuir costos y acorta el tiempo
para generar nuevos servicios, proporcionando una ventaja competitiva en el mercado de
telecomunicaciones. Los prestadores de servicios VoIP, por su parte, ofrecen como
promoción tarifas mensuales que oscilan los 20 o 25 dólares a cambio de llamadas
ilimitadas a, por ejemplo, los EEUU o Canadá (entre otros lugares del mundo). Otros
proveedores permiten cargar crédito en una cuenta para realizar llamadas, sin cobrar
gastos de instalación ni mantenimiento.
2. La Telefonía en el tiempo
La comunicación es muy importante en la vida de los seres humanos, a lo largo de la
historia el hombre ha creado y utilizado diversos medios de comunicación, entre ellos
- 10 -
Capitulo 1 – Introducción y Objetivos del proyecto Autor: Santos Gustavo Vega
aparece la “Telefonía”, donde según [WikipediaTelecom] es una forma de comunicación a
distancia al igual que la Telegrafía, Radio, Televisión y la Transmisión de Datos.
Si bien todas ellas permiten comunicarse a grandes distancias, es posible diferenciarlas
teniendo en cuenta que tanto la Televisión como la radiofonía promueven la difusión de
“uno a muchos” utilizando una vía de comunicación en un solo sentido, desde el emisor
hacia el receptor. Mientras que la telefonía utiliza dos vías de comunicación y promueve
una comunicación interactiva entre dos interlocutores o hacia unos pocos (en casos de
utilizar una conferencia de llamadas).
La Telefonía de alguna forma cobra sentido con la incorporación del “Teléfono” conocido
como un dispositivo de telecomunicaciones diseñado para transmitir una conversación por
medio de señales eléctricas [WikipediaTelefonía]. Donde dicha conversación refleja una
comunicación por lenguaje hablado entre las partes.
Copia del teléfono original de Graham BellEn el Musée des Arts et Métiers
(Museo de arte, Paris) [WikipediaHistory]
En 1877, Atlanta (EEUU), mediante un teléfono, el cual consistía en una caja de madera
con un agujero para hablar y escuchar se instalo la primer “Línea Telefónica”.
Las conexiones entre las centrales y los teléfonos de los clientes se realizaban a través
de conductores metálicos [Cardwell01].
En principio el que descolgaba el teléfono iniciaba la llamada hacia el destino, la
comunicación era extremo a extremo y no existía marcación de ningún número. Luego se
introdujo la conmutación de las líneas en forma manual mediante la intervención de una
operadora creando la conexión punto a punto entre los interlocutores [Méndez05].
- 11 -
Capitulo 1 – Introducción y Objetivos del proyecto Autor: Santos Gustavo Vega
Originalmente se utilizaba modulación analógica sobre las redes de telefonía, convirtiendo
la voz en una señal electromagnética y transportada por un circuito analógico hasta el
destino.
Luego ante la posibilidad de transmitir información en forma digital y gracias a la
utilización de Codecs que permiten convertir las señales analógicas en digitales y
viceversa, permitieron el desarrollo de dispositivos de red, impulsando a las compañías de
telefonía a incorporar centrales digitales de conmutación, electrónicas y controladas por
computadora [Kelly05].
La tecnología de conmutación utilizada en la red de telefonía convencional es la
conmutación de circuitos, la cual reserva el uso exclusivo del enlace desde el origen al
destino, mientras dure la conversación [Alonso02]. Mientras que en Telefonía IP se utiliza
la conmutación de paquetes.
Según [WikipediaTelefonía] de acuerdo a los métodos y sistemas de explotación utilizados
en la red de telefonía, se pueden clasificar distintas formas de brindar estos servicios:
• Telefonía Fija o Convencional, es la destinada a enlazar los teléfonos de los
clientes con la central de conmutación a través de distintos equipos y medios de enlace
físicos como el cobre o fibra óptica.
• Telefonía rural, en zonas de difícil acceso, la conexión con la central se hace a
través de medios radioeléctricos, como radio enlaces o utilizando infraestructura de
acceso celular.
• Telefonía Móvil o Celular a través de transmisión inalámbrica de voz y datos
inclusive en la actualidad a alta velocidad, incorporando equipos de nueva generación.
La Red Publica de Telefonía Conmutada PSTN (Public Switched Telephone Network) es
conocida según [PascualBerthilson06] como “RTB” (Red de Telefonía Básica) la cual,
conforma una gran red mundial de telefonía interconectada.
Según [Méndez05] la PSTN consta de cuatro elementos principales para su
funcionamiento: El aparato telefónico, la transmisión ligada a las distintas formas de
información de acuerdo a si se envía voz, datos o ambos, la conmutación de acuerdo a
- 12 -
Capitulo 1 – Introducción y Objetivos del proyecto Autor: Santos Gustavo Vega
como conectar el enlace hacia el destino y la señalización para controlar y administrar las
conexiones.
En gran parte de la PSTN se combina la utilización de las señales analógicas y digitales al
establecer una llamada telefónica. Generalmente la conexión, desde al aparato telefónico
del emisor a la central prestadora de servicio, se realiza convirtiendo la voz audible en
señal analógica, la cual es tomada por la central telefónica que convierte esta señal en
digital y la propaga hacia la central receptora. Luego el aparato receptor recibe la señal
analógica y emite una replica de la voz enviada desde el emisor [Kelly05].
Las redes que trasportan datos, donde la tecnología utilizada es la conmutación de
paquetes que emplean la familia de protocolos TCP/IP, como la Internet, la cual es vista
por [PascualBerthilson06] como “la red global IP” o “red de redes”, conformando un
método de interconexión y no una red física como la red de telefonía básica (RTB).
Dichas redes utilizan el protocolo de Internet IP y permiten alcanzar una convergencia
entre datos, voz y video.
Si bien la RTB suele usarse como medio de acceso a Internet, [PascualBerthilson06]
establece similitudes y diferencias entre ambas redes:
• En la RTB los “flujos de información” son cada una de las llamadas efectuadas
mientras que en Internet es cada uno de los paquetes de datos transmitidos.
• Durante una conversación en la RTB se reserva un canal o circuito dedicado de
64kbps, mientras que en Internet conviven conversaciones de voz y otros servicios de
manera simultanea.
• La RTB es gobernada por la ITU o UIT en castellano (International
Telecommunication Unión - Unión Internacional de Telecomunicaciones) responsable de
estandarización y gestión de radio espectro, mientras que Internet es gobernada por los
estándares del IETF (Internet Engineering Task Force - Grupo de Trabajo en Ingeniería de
Internet).
• Ambas redes utilizan direcciones para encaminar la información hacia el destino.
En la RTB se usan números telefónicos para conmutar las llamadas en las centrales,
mientras que en Internet se usan direcciones IP para encaminar los paquetes de datos
entre los ruteadores.
- 13 -
Capitulo 1 – Introducción y Objetivos del proyecto Autor: Santos Gustavo Vega
Internet tiene un alto impacto en el trabajo, el ocio y el conocimiento de millones de
personas, ha llegado a gran cantidad de hogares y empresas. Internet comunica,
proporciona información, permite generar negocios y brindar o disponer de distintos
servicios.
Si bien Internet es la continuación de la comunicación por medios tecnológicos múltiples,
respecto de lo que antes hacia la telefonía, los usos son más diversos y complejos, le
agrega dimensiones a la comunicación individual y grupal. La telefonía en este caso, pasa
a ser uno de los varios aspectos funcionales de Internet.
3. Evolución de la Tecnología VoIP
La utilización del protocolo IP (Internet Protocol – Protocolo de Internet) en las redes de
datos tanto en redes corporativas, privadas o publicas, junto a la posibilidad de enviar
mensajes de voz codificada a través de algoritmos de compresión, descompresión, con y
sin pérdida, introdujeron alrededor del año 1995, lo que conocemos como: “VoIP” (Voice
over IP – Voz sobre Protocolo de Internet) [Rojano06] [Kelly05]. Esta tecnología brinda
una nueva forma de comunicación telefónica conocida también como, “Telefonía IP”
[PascualBerthilson2006] [Mendoza07], “VozIP” [WikipediaVoIP], “Voz 2.0” [Voipex06].
Existen varias definiciones aplicadas al termino “VoIP”, las cuales convergen al hecho de
enviar voz comprimida y digitalizada en paquetes de datos utilizando el protocolo de
Internet (IP), aprovechando el ancho de banda que ofrecen las redes de datos,
permitiendo realizar llamadas telefónicas y logrando disminuir los costos en comunicación
para usuarios o empresas [NarvaezCano06].
Cuando nos referimos a VoIP debemos además, entender y conocer todos los beneficios
que esta tecnología parece ofrecernos. Como así también los requisitos necesarios como
utilización de Codecs, hardware, software y protocolos a fin de lograr resultados
adecuados, tanto económicos, como en la adopción de nuevos servicios.
El uso de Telefonía IP ocasiona una gran reducción en el costo de las llamadas, en
comparación con la telefonía convencional, lo cual estimula su adopción. La reducción de
los costos es debida en gran parte a que en VoIP las grandes distancias no incrementan
dicho costo, como sucede en la telefonía convencional. Solo tienen costo las llamadas a
teléfonos fuera de la red VoIP, el resto son gratuitas. Se reduce el costo en llamadas
- 14 -
Capitulo 1 – Introducción y Objetivos del proyecto Autor: Santos Gustavo Vega
internacionales al utilizar la red de datos como transporte de dichas llamadas.
Generalmente se evitan costos mensuales de mantenimiento o bien los abonos implican
llamadas ilimitadas a ciertos destinos.
Durante 1995 un grupo de jóvenes de Israel, utilizaron una aplicación logrando establecer
una comunicación de voz a través de dos PC. Esta aplicación permitía enviar fragmentos
de voz codificados mediante algoritmos de compresión con perdida [Rojano06].
Poco tiempo después, se lanzo el primer “SoftPhone” al que llamaron “Internet Phone
Software”. Pero la comunicación sólo era posible si las dos PC disponían del mismo
software y el mismo hardware.
El lanzamiento fue comercialmente un fracaso debido a la baja calidad en las
comunicaciones, producidas por que esta aplicación consumía un gran ancho de banda,
el cual en ese entonces, no era suficiente.
Un SoftPhone es un programa que permite “convertir” a una computadora en un teléfono,
brindando las mismas funciones o más [Meggelen05]. Estos programas emulan a los
equipos físicos de telefonía y funcionan en una PC que disponga de una placa de audio,
micrófono y parlantes [PascualBerthilson2006].
En 1996 surge el protocolo de comunicaciones H323, definido por la ITU o UIT en
castellano, (International Telecommunication Unión - Unión Internacional de
Telecomunicaciones) la cual es responsable de definir estándares y gestionar el espectro
radioeléctrico. La aparición de este protocolo mejor definido en [RFC-H323], permite su
utilización por aplicaciones conocidas, como NetMeeting, ICQ, entre otras y por diferentes
fabricantes contribuyendo a lograr una convergencia de los productos utilizados en
tecnología VoIP [WikipediaVoIP] [Rojano06].
Los equipos, terminales y servicios que utilizan el estándar H323 pueden transportar voz
en tiempo real, datos y video, o su combinación. Este estándar especifica los
componentes, protocolos y procedimientos que permiten ofrecer soluciones multimedia en
redes de conmutación de paquetes [RFC-H323].
- 15 -
Capitulo 1 – Introducción y Objetivos del proyecto Autor: Santos Gustavo Vega
En 1998 se alcanzo una mejora en las comunicaciones de banda ancha, posibilitando a
diversos fabricantes trabajar con el afán de lograr mejores resultados en la
implementación de soluciones VoIP, intentando producir equipos que brinden QoS
(Quality of Service – Calidad de servicio).
En 1999, empresas como Cisco Systems Inc. ponen énfasis en producir las primeras
plataformas VoIP corporativas, las cuales utilizan el protocolo de señalización H323, el
cual es ampliamente utilizado por los fabricantes en soluciones de VoIP [Voipex06].
4. Inicios de Asterisk
Según [Mendoza07] a fines de los `90, Mark Spencer y Jim Dixon desarrollan proyectos
en forma paralela los cuales son decisivos en el desarrollo de la VoIP mediante la
utilización de programas de código abierto. Mark Spencer, de 22 años estudiante de la
Universidad de Auburn, ante la necesidad de adquirir una central telefónica para su
empresa “Linux Support Service” y debido a los altos costos de estos equipos, crea
“Asterisk”, la primera central telefónica basada en software, bajo licencia GPL.
Por su parte Jim Dixon, notando el crecimiento presentado por los microprocesadores,
desarrolla una tarjeta para gestionar de manera eficiente las interrupciones I/O (Input
/Output) de una PC. La tarjeta sirve de interfaz para conectar una PC con teléfonos y
centrales telefónicas.
[PascualBerthilson06] coincide en las funcionalidades que el programa “Asterisk”
presenta, pero aduce que Mark Spencer creo el código del programa basado en el trabajo
previo de Jim Dixon.
Dixon establece, que el concepto de utilizar un PC para brindar las funcionalidades de
una central telefónica convencional, es “revolucionario”, según [Mendoza07]. Por lo que
escribe un driver y apuesta a la creación de estas interfaces. Para potenciar su desarrollo
fundo en el año 2000, “Zapata Telephony”, el cual es un proyecto público donde se
exponen archivos de ploteo (esquemas) e imágenes de las tarjetas diseñadas mejor
presentados en [Zapata00].
En el año 2001 la unión de los proyectos de Mark Spencer y Jim Dixon marcan el inicio de
una PABX-IP (Private Automatic Branch eXchange – Central Telefónica Automática
Privada) basada en software, que utiliza interfaces de hardware para interactuar con
- 16 -
Capitulo 1 – Introducción y Objetivos del proyecto Autor: Santos Gustavo Vega
teléfonos, líneas telefónicas y equipos VoIP, además permite brindar las mismas
funciones que las centrales telefónicas convencionales y otros servicios de valor
agregado [Gonçalves06].
Asterisk puede funcionar como una aplicación Cliente-Servidor, en la cual los clientes se
conectan mediante terminales logrando transmitir voz y video en tiempo real, utilizando
alguno de los protocolos y Codecs soportados [Rojano06].
La empresa “Linux Support Services” pasó a llamarse “Digium”, convirtiéndose en el
principal patrocinador y distribuidor de hardware para ser utilizado junto al Asterisk.
Por otro lado, el aporte de diferentes desarrolladores de la comunidad de software libre
que colaboran con el programa fuente, sus mejoras y correcciones permiten brindar una
versión estable y con soporte, esto es visto así por [PascualBerthilson06] al igual que
[Mendoza07], [Meggelen05], [Gonçalves07] y [Rojano06] entre otros. Según [Rojano06]
es el principal producto de VoIP Open Source en todo el mundo.
5. Desarrollos VoIP
En el año 2002 la IETF (Internet Engineering Task Force) define mediante la [RFC3261]
un protocolo de señalización en capa de aplicación llamado SIP (Session Initiation
Protocol – Protocolo de Inicio de Sesión). SIP es el encargado de establecer, modificar o
controlar y finalizar las sesiones, sean llamadas telefónicas en Internet, conferencias y/o
multimedia, entre uno o más participantes. SIP es muy utilizado en las centrales Asterisk
como protocolo de señalización y es utilizado en la actualidad por numerosas empresas
que desarrollan hardware VoIP.
En el año 2003 Niklas Zennstrom y Janus Friis, estudiantes universitarios y
desarrolladores del conocido “Kazaa”, crean “Skype”, según [Ponz06] este programa
“revoluciono” el mundo de la informática.
Skype es un “Softphone” gratuito bajo un modelo P2P (usuario a usuario), que utiliza un
protocolo cerrado y no un estándar. El software permite a los usuarios hablar gratis por
“teléfono”, con otros usuarios, a través de Internet. También ofrece servicios que
interactúan con la PSTN, los cuales involucran un costo adicional. Skype logro contar, en
- 17 -
Capitulo 1 – Introducción y Objetivos del proyecto Autor: Santos Gustavo Vega
tan solo dos años desde su aparición, con 50 millones de usuarios. En el año 2005 la
compañía eBay compro Skype en 2600 millones de dólares.
En la actualidad grandes empresas de hardware (como Supura, Linksys, Cisco, Avaya,
NEC, 3COM, entre otras) ofrecen productos VoIP (como teléfonos IP o Adaptadores de
teléfonos analógicos, entre otros). A la vez se adaptan distintos programas como MSN
Messenger, GoogleTalk, Gizmo y otros para incorporar la posibilidad de realizar llamadas
VoIP [Ponz06].
6. Objetivos del Proyecto
Luego de conocer como evolucionaron las comunicaciones de voz en el tiempo sumado al
uso masivo de Internet y la inserción de la tecnología VoIP sobre las redes IP. Es
necesario comprender los diferentes aspectos que involucran el uso de VoIP y los motivos
que pueden impulsar su uso (como alta disponibilidad, bajos costos y portabilidad, entre
algunas ventajas).
Para ello implementamos un sistema de telefonía IP (basado en la central de código
abierto “Asterisk”), el cual permitirá a distintos usuarios comunicarse entre si,
independientemente del lugar donde se encuentren, utilizando las redes de datos (LAN,
Internet u otras.) como medio de transporte de las conversaciones de voz realizadas y
mediante la utilización de proveedores VoIP, interactuar con cualquier teléfono del mundo
perteneciente a la red de telefonía básica (RTB).
Este trabajo es una introducción al uso de Asterisk y a como esté es utilizado para brindar
diferentes servicios de VoIP.
El propósito principal es presentar una alternativa practica a la hora de comunicarnos,
partiendo de aplicar Asterisk, como una PBX-IP, conformando un sistema de telefonía IP
aplicado a diferentes escenarios y utilizando diferentes servicios de VoIP, cumpliendo con
diferentes objetivos, como por ejemplo, acceder a salas de conferencia, interconectar
grupos de usuarios de otras redes VoIP o crear nuevos grupos de usuarios locales o
remotos utilizando una PC con Softphone o algún hardware dedicado, permitiendo a los
usuarios ahorrarse el costo de comunicarse, sin importar las distancias. Además de
- 18 -
Capitulo 1 – Introducción y Objetivos del proyecto Autor: Santos Gustavo Vega
experimentar con una solución real de servicios ofrecidos, se establecerán
comunicaciones con cualquier teléfono del mundo perteneciente a la RTB o a la red
celular móvil utilizando algún proveedor VoIP.
El trabajo se divide en seis capítulos. En este primer capitulo se brinda una introducción
que recorre la evolución de la telefonía convencional y los distintos tipos de telefonía
existentes, el uso de Internet, la aparición de VoIP como alternativa de comunicación,
cuando y como surge. Se realiza un recorrido cronológico sobre la aparición de los
distintos protocolos VoIP con una introducción sobre la central Open Source basada en
software (conocida como Asterisk) y distintas aplicaciones que utilizan VoIP.
El capitulo 2 intenta fijar distintos conceptos vinculados a la Telefonía IP (como elementos
y agentes implicados, junto a los protocolos y codec mas utilizados en VoIP), distintas
visiones ligadas a su integración en el mercado de las comunicaciones. Como es su
funcionamiento. Fortalezas y debilidades que puede presentar el uso de telefonía IP en el
hogar o la empresa.
El capítulo 3 se encarga de dar una base teórica sobre la funcionalidad que ofrece
Asterisk conociendo sus características, servicios ofrecidos, su integración con la
telefonía convencional, la definición de sus términos y los posibles escenarios de uso.
Arquitectura a utilizar con Asterisk al desarrollar soluciones basadas en VoIP. Limitaciones
que presenta dicha arquitectura. Conociendo además los Protocolos y Codecs soportados
por Asterisk.
El capítulo 4 permite conocer una descripción de los elementos que componen la
infraestructura del sistema de telefonía IP a implementar. Además de explorar las
diferentes versiones de Asterisk y evaluar las características entre aquellas, que incluyen
interfaz gráfica de gestión y configuración.
El capítulo 5 presenta la arquitectura utilizada para poner a Asterisk en funcionamiento
explicando los pasos a seguir para lograr realizar comunicaciones de voz de manera
adecuada y obtener una verdadera PBX-IP. Integrando los conceptos de telefonía IP con
una solución practica puesta en funcionamiento con servicios, proveedores VoIP y
clientes que interactúan sobre los distintos escenarios adoptados.
- 19 -
Capitulo 1 – Introducción y Objetivos del proyecto Autor: Santos Gustavo Vega
Por último, el capítulo 5 presenta un análisis sobre la opinión subjetiva de los usuarios del
proyecto, utilizando la técnica de evaluación MOS (Mean Opinión Store - Valor Medio de
Opinión) y donde se intenta evaluar, la disponibilidad de usuarios y servicios
(implementados en la central Asterisk) junto a las diferencias o similitudes de utilizar
equipos basados en hardware (ATA) o en software (Softphone), utilizando diferentes
Codecs de voz (con y sin compresión) sobre distintas comunicaciones realizadas.
- 20 -
Capitulo 2 – Fundamentos de Voz sobre IP Autor: Santos Gustavo Vega
Capitulo 2
“Una de las grandes diferencias entre la telefonía tradicional y la telefonía IP es que, en
esta ultima la calidad de servicio de una conversación se puede negociar”.
[PascualBerthilson06].
7. Fundamentos de Voz sobre IP (VoIP)
Según [PascualBerthilson06] la VoIP puede definirse como “la posibilidad de trasportar
conversaciones telefónicas en paquetes IP”, notando que el termino VoIP no se refiere a
ninguno de los mecanismos que existen para transportar las señales a través de la red, ya
que existen distintas tecnologías para hablar por la red.
[PascualBerthilson06] establece dos grandes grupos como alternativas tecnológicas de
VoIP:
• Cerradas Propietarias: Skype, Cisco Skinny (SCCP)
• Sistemas Abiertos: Estándares abiertos basados en SIP, H323 o IAX2
Mientras que [WikipediaVoIP] hace referencia a “un grupo de recursos” que permiten
enviar la voz en forma de señal digital a través de “paquetes”, estableciendo una de las
grandes diferencias con la telefonía convencional o PSTN en la cual la voz se envía a
través de la conmutación de “circuitos”.
VoIP no es un servicio, es una tecnología que usa el Protocolo de Internet IP, logrando así
prestar servicios como Telefonía IP y Videoconferencia, entre otros.
La posibilidad de brindar estos servicios de telefonía, genera diferentes polémicas en
cuanto a normativas y regulaciones del mercado, ya que en mercados regulados no se
permite el ingreso de nuevos servicios o proveedores, los cuales se transformen en
potenciales competidores [Voipex06].
La regulación de servicios implica 2 cuestiones importantes:
• Menores costos para los usuarios (marginales, tendientes a cero) sobre todo en
llamadas de larga distancia o internacionales, sin abonos mensuales por mantenimiento o
abonos que representan crédito por llamadas ilimitadas a ciertos destinos.
- 21 -
Capitulo 2 – Fundamentos de Voz sobre IP Autor: Santos Gustavo Vega
• Reducción de ganancias para las compañías telefónicas locales, generalmente
monopolios estatales o privados, o corporaciones transnacionales.
[Ponz06] destaca un vació legal sobre la tecnología VoIP y como será la evolución de esta
nueva forma de comunicación. Según [Ponz06] las compañías telefónicas no se quedan
atrás a la hora de ver la inclusión de VoIP en los hogares, como una “competencia”. Por lo
que aprovechan al máximo los servicios de banda ancha y planifican ofertas de telefonía
IP para empresas y usuarios. Utilizando las redes IP como transporte para las llamadas
de telefonía IP, a las cuales, los usuarios acceden a través de interfaces con la PSTN, lo
que posibilita escalabilidad al operador al ir migrando de la red de conmutación de
circuitos a la red de conmutación de paquetes IP.
[NarváezCano06] plantea que la incorporación de VoIP puede causar el fin de la telefonía
básica. Mientras que para [Méndez05] con la VoIP no se busca desplazar la red de
telefonía básica, sino unificar las redes de voz y datos y así obtener diferentes beneficios.
Según [Brito06] el monopolio de las compañías locales sobre la industria de las
telecomunicaciones se ve amenazado ante la aparición de la VoIP, viendo a esta, como
una tecnología “revolucionaria” capaz de modificar la infraestructura de las
comunicaciones a nivel mundial, permitiendo a los usuarios, empresas y corporaciones
disponer de una alternativa mas económica a la hora de realizar sus comunicaciones.
“Voice 2.0” o Voz 2.0 es otro término utilizado para describir la telefonía en Internet
planteando una nueva era en las comunicaciones, mientras que la telefonía convencional
es vista como Voz 1.0, notando la reducción de costos en conectividad debido al
crecimiento de banda ancha y a la gran cantidad de proveedores VoIP que compiten en el
mercado. Asumiendo las ventajas de usar esta tecnología respecto a la telefonía
convencional [Voipex06].
Las empresas de servicios de telefonía convencional, en general son dueñas de las redes
de cableado de cobre mas extensas, y de "la última milla" lo que les permite ofrecer
acceso a Internet de banda ancha (mediante tecnología ADSL, SDSL, entre otras) y gran
cantidad de servicios de valor agregado. Por otro lado las compañías de TV por cable o
cable-operadoras, pueden ofrecer banda ancha a través de Cable módem, y aún las
- 22 -
Capitulo 2 – Fundamentos de Voz sobre IP Autor: Santos Gustavo Vega
compañías de energía pueden llegar al hogar con banda ancha a través de señales
digitales a través de la red eléctrica. Al permitir múltiples competidores, las grandes
empresas de telefonía pierden su ventaja de "monopolios" y en general los precios
tienden a bajar para los usuarios, se incrementan los servicios de valor agregado y los
servicios contratados tendrán mejor calidad.
Existen otros medios de conexión de banda ancha, como Wireless y Satelital, pero están
menos desarrollados y presentan más problemas para el enrutado de VoIP
(especialmente la satelital, debido a que la distancia que están los satélites geo-
estacionarios -36.000 Km- hace que el manejo de tiempo real se haga enormemente
complejo y los ecos son difíciles de amortiguar).
Las redes tienden a sufrir un cambio tecnológico, al intentar unificar los servicios de datos,
voz y video. La red utilizada por los operadores para brindar dichos servicios es conocida
como NGN (Next Generation Network – Red de Próxima Generación).
Según [WikipediaNGN] es una arquitectura de red orientada a reemplazar las redes de
telefonía de conmutación de circuitos, dicha arquitectura reúne distintas tecnologías para
uniformar los servicios (voz, datos y multimedia) en una sola plataforma. Utiliza el
concepto del “Triple-Play”, el cual establece el empaquetamiento de servicios y
contenidos audiovisuales, facilitando que se comercialicen en forma conjunta. Con ello, el
desarrollo actual de las empresas incumbentes (telecomunicaciones, eléctricas, televisión
por cable, televisión satelital, etc.) conlleva una solución única para varios problemas.
El “Triple Play” es el futuro cercano para el desarrollo integral de comunicación para
hogares y empresas. La diferencia que distingue a esta nueva categorización de
tecnología consiste en que todos los servicios se sirven por un único soporte físico, ya
sea cable coaxial, cable de fibra óptica, cable de par trenzado, microondas, red eléctrica,
etc.
- 23 -
Capitulo 2 – Fundamentos de Voz sobre IP Autor: Santos Gustavo Vega
8. Funcionamiento de VoIP
El principio de funcionamiento de la Telefonía IP según [NarváezCano06] puede
resumirse como:
• Los sonidos producidos en cualquiera de las fuentes se convierten en paquetes de
datos digitales utilizando una PC o algún dispositivo o hardware dedicado.
• Los paquetes de datos se comprimen y envían por la red utilizando el protocolo IP.
• En su destino, dichos paquetes son procesados por otro dispositivo para
reconvertirlos en sonido, configurando dos vías en la comunicación.
Una llamada de VoIP puede realizarse a través de diferentes redes (LAN, WAN, VPN,
etc.) como así también en Internet, utilizando un proveedor de VoIP. Dicho proveedor
asigna un número telefónico a una dirección IP de la red, con lo cual se pueden realizar y
recibir llamadas desde la red de telefonía básica [Brito06].
Existen diferentes formas de utilizar VoIP, lo cual involucra el uso de diferentes programas
o dispositivos:
• Utilizando una PC: se pueden establecer conversaciones de voz en tiempo real a
través de la utilización de Softphone, los cuales pueden ser distintos, gracias a la
utilización de estándares como SIP.
Esto no es así en casos de Softphone propietarios como el conocido Skype, donde
solo es posible la comunicación si se dispone de una conexión a Internet, es decir,
dentro de una red local sin conexión a Internet no seria posible realizar llamadas
entre usuarios de Skype. Por el contrario si se utiliza en la red local un servidor de
VoIP (como Asterisk) y distintos Softphone que manejen el estándar SIP o el
protocolo IAX2, es posible establecer comunicaciones de voz entre los usuarios de
la red.
• Utilizando teléfonos IP: Los teléfonos IP son equipos conectados directamente a la
red de datos. Estos permiten realizar llamadas sin la necesidad de usar una PC y pueden
ser configurados al igual que un Softphone e implementan diferentes protocolos. El
teléfono convierte la voz en paquetes IP y los envía a través de la red. La performance
alcanzada por estos dispositivos es muy superior, comparada con utilizar una PC con
Softphone.
- 24 -
Capitulo 2 – Fundamentos de Voz sobre IP Autor: Santos Gustavo Vega
• ATA: mediante el uso de un adaptador de teléfono analógico (ATA) los cuales
permiten utilizar el teléfono convencional, inalámbrico o fax como si fuese un teléfono IP
[PascualBertihlson06].
• Centrales VoIP: Permiten que los usuarios conectados puedan establecer
comunicaciones VoIP, entre si y en forma gratuita. Los usuarios se conectan utilizando
cualquiera de las opciones mencionadas anteriormente.
Además, permiten alcanzar la red de telefonía móvil o fija, utilizando placas
conectadas a la central.
Algunos proveedores VoIP, que utilizan esta opción, permiten realizar llamadas
entre sus usuarios de forma gratuita. En cambio para llamadas hacia la red de
telefonía fija o móvil, requieren de un bajo costo, en comparación a las tarifas de
los proveedores de telefonía convencionales [Brito06]. Otros ofrecen el pago de un
abono mensual por minutos libres en llamadas a fijos o móviles.
En la siguiente imagen se establece una visión general y simplificada de la interacción de
los diferentes equipos que pueden interactuar entre si.
La tecnología VoIP incorpora durante su funcionamiento varios aspectos relacionados con
la señalización, la transmisión y recepción de la voz así como incluye o hace uso de
- 25 -
Capitulo 2 – Fundamentos de Voz sobre IP Autor: Santos Gustavo Vega
distintos equipos de hardware y/o software para brindar distintos servicios relacionados
con la telefonía IP.
9. Señalización
En la PSTN se utilizaban pulsos eléctricos durante el marcado de una llamada. Luego se
adopto la marcación DTMF (Dual Tone MultiFrequency – MultiFrecuencia con Doble Tono)
donde a cada número marcado le corresponden dos valores de frecuencia, los cuales son
enviados como señales (Tono de marcado) a la central a fin de ser interpretados
permitiendo identificar el número marcado y logrando establecer una llamada
[WikipediaDTMF].
Tanto en telefonía convencional como en telefonía IP, se utilizan periféricos, a fin de lograr
la interacción entre una central de telefonía y los propios aparatos telefónicos conectados
a la misma.
[PascualBerthilson06] define los mismos como:
• Foreing Exchange Office (FXO): indica un elemento pasivo que acepta
señales, desde la central (como el tono de marcado, ocupado o de ring) y
puede enviar y recibir señales de voz. El mejor ejemplo para representar una
interfaz FXO es un teléfono.
• Foreing Exchange Station (FXS): indica un elemento activo el cual
suministra energía, es el encargado de enviar la señal de llamada y los
respectivos tonos hacia el aparato telefónico o hacia una interfaz FXO.
a) Un teléfono analógico (FXO) conectado a una línea telefónica (FXS) b) Una PBX-IP puede incorporar tanto interfaces FXS como FXO.
c) Un adaptador telefónico o ATA actúa como una interfaz FXS.[PascualBerthilson06]
- 26 -
Capitulo 2 – Fundamentos de Voz sobre IP Autor: Santos Gustavo Vega
Cuando se utiliza una línea telefónica se intercambian señales, las cuales brindan
información del estado de la llamada a los interlocutores. Las señales pueden ser
analógicas y representar, por ejemplo, al tono de marcado o al tono de ocupado. Las
señales son transmitidas entre las interfaces FXS y FXO utilizando un cierto protocolo de
señalización.
Además, se utilizan distintos métodos de señalización:
• LoopStart (Señalización por bucle), representa a una línea abierta de manera
que para concretar una llamada debe cerrarse un “loop” de modo que la central
envíe el tono de marcado. Luego de la marcación la central envía el “ring” obligando
al llamado a generar un “loop” para responder la llamada.
• GroundStart (Señalización por tierra), en esté método uno de los conductores
de la línea se encuentra a “tierra” para que mediante un cortocircuito la central
proporcione el tono de llamada, invirtiendo la polaridad. Generalmente se utiliza para
las líneas telefónicas conectadas a una PBX.
• KewlStart: adiciona inteligencia a los circuitos para monitorear lo que sucede al
otro extremo además que incluye las ventajas de los dos métodos anteriores
[Gonçalves07].
La elección del método es importante en la configuración de una PBX, ya que de
funcionar con un método incorrecto puede ocurrir que la línea telefónica se cuelgue de
manera inesperada.
En la telefonía convencional la voz y las señales auxiliares están separadas y cada una
de ellas hace uso de un circuito dedicado. Esta información enviada como señalización es
manejada por protocolos como el SS7, el cual es un grupo de estándares desarrollados
por la AT&T y la ITU, que gestiona el establecimiento y encaminamiento entre las
centrales telefónicas de la PSTN. La calidad esta garantizada al usar SS7 pues asigna un
canal separado en paralelo con cada llamada PSTN y proporciona el control de la
información de las llamadas a través de este canal separado [Kelly05].
En telefonía IP al igual que en la telefonía convencional las señales y las conversaciones
están diferenciadas pero no hacen uso de un circuito exclusivo como en la telefonía
convencional, si no que la voz y la señalización pueden tomar caminos físicos diferentes.
- 27 -
Capitulo 2 – Fundamentos de Voz sobre IP Autor: Santos Gustavo Vega
La señalización es manejada por diferentes protocolos como SIP, H.323, IAX2 (en el caso
de comunicar dos centrales Asterisk), entre otros. Los protocolos son utilizados para
registrar, autenticar y negociar direcciones IP y puertos además de controlar el estado de
las llamadas. Mientras que la voz es manejada por otros protocolos que trabajan en
conjunto con los de señalización, como por ejemplo RTP (Real-time Transport Protocol -
Protocolo de Transporte de Tiempo Real) [PascualBerthilson06].
10. Protocolos
La utilización de protocolos es fundamental para controlar y manejar las comunicaciones
en Telefonía IP, algunos de los protocolos estandarizados y libres mas utilizados son:
10.1.1. SIP - Protocolo de inicio de Sesión
El [RFC-3261] define a SIP como un protocolo estandarizado de señalización en capa de
aplicación.
Para [Méndez05] SIP es un protocolo encargado de crear, modificar y terminar sesiones
entre usuarios.
Según [Méndez05] el protocolo SIP esta estructurado en 4 capas:
• Capa de sintaxis y codificación, relacionada con la estructura de los mensajes y su
codificación.
• Capa de transporte, define como el cliente y el Proxy envían peticiones y reciben
respuestas.
• Capa de transacción, donde cada acción efectuada por un cliente conlleva una
serie de transacciones.
• Capa de usuario-transacción, la cual controla las capas anteriores.
[PascualBerthilson06] especifica que las tareas de SIP son:
• Autenticación donde se verifican datos del cliente como nombre de usuario y
password, fijando la condición de poder llamar y/o recibir llamadas.
• Negociar la calidad de una llamada, donde se establece que Codecs utilizaran las
partes en la comunicación.
- 28 -
Capitulo 2 – Fundamentos de Voz sobre IP Autor: Santos Gustavo Vega
• Registración: donde se intercambian direcciones IP y puertos que se van a utilizar
para transmitir la voz vía RTP.
Según [Stallings03] SIP atraviesa 5 facetas para establecer y terminar comunicaciones
multimediales.
• Localización del usuario, debido a la portabilidad ofrecida donde el usuario puede
acceder a su línea asignada desde distintos lugares.
• Disponibilidad del usuario, referido a la voluntad de establecer comunicaciones.
• Capacidades del usuario, referida a parámetros fijados sobre el medio de
comunicación.
• Configuración de sesión, de acuerdo a los parámetros pueden definirse sesiones
punto a punto.
• Gestión de la sesión, referido a la transferencia y cancelación de periodos de
sesiones, invocación de servicios o la modificación de parámetros.
SIP hace uso de elementos adicionales a fin de lograr establecer una llamada [RFC-3261]
• Cliente: Cualquier elemento de red que envíe peticiones y reciba respuestas de un
servidor SIP. Los clientes pueden ser un Softphone, ATA, Teléfono IP o un agente de
usuario e inclusive un Proxy.
• Servidor: Cualquier elemento de red que recibe solicitudes de servicios y responde
a ellas. Los servidores Proxy se encargan de negociar las direcciones IP entre los clientes
SIP durante la registración. Pueden actuar como agente de usuario de servidores en
redireccionamiento o registración.
En la siguiente figura se observa la interacción entre dos clientes SIP y el servidor Proxy
SIP. Puede observarse también que la señalización (SIP) y la voz (RTP) pueden viajar por
caminos diferentes.
- 29 -
Capitulo 2 – Fundamentos de Voz sobre IP Autor: Santos Gustavo Vega
Flujo SIP: indica el proceso de registro de clientes a través del Proxy SIP.
Flujo RTP: indica el streaming de voz entre los clientes [PascualBerthilson06]
El [RFC-3261] especifica que el protocolo SIP trabaja junto a otros protocolos como RTP y
SDP (Session Description Protocol – Protocolo de descripción de sesión), entre otros.
10.1.2. SDP – Protocolo de descripción de Sesión.
Definido en el [RFC-2327], brinda información sobre el contenido de sesiones multimedia
que las partes pueden y/o van a utilizar. Dicha información se intercambia y todos los
participantes son conscientes de las direcciones IP, la capacidad de transmisión
disponible y el tipo de medio. Luego es utilizada por el protocolo de transporte,
generalmente RTP.
Una sesión puede incluir un gran número de flujos de diferentes contenidos como audio,
video o datos.
SDP índica las direcciones IP, que pueden ser multicast, además de los puertos UDP para
enviar y recibir los paquetes de voz [Stallings03].
10.1.3. RTP – Protocolo de Tiempo Real.
La principal función del protocolo RTP, definido en el [RFC-1889], es el “Streaming”, que
consiste en transportar los paquetes de voz de un destino a otro en tiempo real,
manteniendo dos flujos constantes de paquetes RTP en una conversación. Trabaja a nivel
de capa de transporte utilizando datagramas de tipo UDP, por lo general el rango de
puertos utilizado va desde el 10000 al 20000, sin embargo algunos dispositivos VoIP
vienen configurados por defecto a partir del puerto 8000.
- 30 -
Capitulo 2 – Fundamentos de Voz sobre IP Autor: Santos Gustavo Vega
En el control se utiliza RTCP (Real Time Control Protocol – Protocolo de control de tiempo
real) para detectar situaciones de congestión de red y resolverlas. RTCP es un protocolo
de comunicación que proporciona información de control de un flujo de datos. Su principal
función es informar la calidad de servicio proporcionada por RTP [WikipediaRTCP].
El uso de RTP introduce problemas en redes que implementan NAT (Network Address
Translators – Traductor de direcciones de red). NAT, surge como una técnica para
preservar la escasez de direcciones IP en Internet, debido al gran crecimiento de equipos
y aplicaciones que utilizan la red publica.
La arquitectura original aplicaba una IP única y global para cada equipo conectado a la
red. Luego fue remplazada por una arquitectura que consta de una dirección “global y
pública” y muchas “direcciones privadas” utilizando NAT.
Para asignar globalmente direcciones únicas (a todos los equipos conectados) se utiliza el
protocolo IPv4. Las posibles direcciones del protocolo IPv4 han sido repartidas en
diversas clases, dominios y usos, lo cual reduce la posibilidad de asignar una dirección IP
pública a cada equipo.
La escasez o agotamiento del espacio de direcciones generan preocupación. Una
solución (a largo plazo) es la implementación del protocolo IPv6 que otorga una mayor
cantidad de direcciones. Mientras que la alternativa de solución aplicada ha sido NAT
[Heinz05].
En la arquitectura actualmente utilizada cada equipo que recibe una dirección IP global y
pública puede ser alcanzado por el resto de los equipos conectados a Internet. Dicha
dirección pública “es ruteable” dentro de Internet, sin embargo para equipos que
pertenecen a redes privadas la dirección IP asignada “no es ruteable” en Internet, por lo
que deberán utilizar NAT.
En la interacción de Internet y las redes privadas se utiliza un dispositivo NAT (que por lo
general es implementado por un firewall o un router).
- 31 -
Capitulo 2 – Fundamentos de Voz sobre IP Autor: Santos Gustavo Vega
Cuando un equipo de una red privada (con una IP privada asignada) desea comunicarse
con otro equipo en Internet, el dispositivo que implementa NAT modifica los paquetes
enviados con una dirección IP pública alcanzable desde Internet.
Generalmente los NAT permiten solo conexiones salientes y bloquean las conexiones
entrantes a menos que se configure de manera que acepte dichas conexiones. Cuando
llegan paquetes de respuesta desde Internet, el dispositivo que implementa NAT enviara
la respuesta a la correspondiente dirección IP de la red privada.
Con la utilización de NAT, cientos o miles de computadoras de una red privada pueden
compartir una sola dirección IP pública en Internet. La idea en la que se basa NAT es que
sólo una pequeña parte de la red está conectada con el exterior simultáneamente. Sólo se
realiza el mapeo de una dirección IP pública sobre una maquina cuando esta va a
comunicarse con el exterior.
La IANA (Internet Assigned Numbers Authority) define tres tipos de espacio de direcciones
sobre redes privadas (previamente especificados en el [RFC-1597], que contiene la
especificación original pero a sido suplantado luego por el [RFC-1918]:
10.0.0.0 - 10.255.255.255 (/8 bits)
172.16.0.0 - 172.31.255.255 (/12 bits)
192.168.0.0 - 192.168.255.255 (/16 bits)
Cualquier persona o empresa puede utilizar el mismo espacio de direcciones privadas las
veces que sea necesaria.
La implementación de NAT en redes LAN genera inconvenientes sobre diferentes
aplicaciones. Es común encontrar que aplicaciones “cliente”, que utilizan algún protocolo
de señalización (como SIP, que maneja el protocolo RTP para el Streaming de voz) se
registran a través de Internet con un servidor (Proxy SIP) situado detrás de un dispositivo
NAT.
El problema que generalmente se presenta en estos escenarios es conocido según
[PascualBerthilson06] como: “Audio en una sola dirección”, ya que con NAT
- 32 -
Capitulo 2 – Fundamentos de Voz sobre IP Autor: Santos Gustavo Vega
implementado no es posible recibir conexiones desde el exterior de la red LAN, con lo
cual el flujo de paquetes desde fuera hacia a dentro es bloqueado, notando que el que
inicia la llamada desde dentro no puede escuchar al otro.
Dentro de las posibles soluciones aplicadas a esta problemática encontramos [Heinz05]:
• Habilitar el Proxy en la zona desmilitarizada (DMZ) para que responda a
conexiones entrantes.
• Utilizar servidores duales (requiere inversión).
• Configurar el dispositivo NAT para enviar las peticiones entrantes, en ciertos
puertos, hacia la dirección IP del Proxy SIP interno.
Un NAT puede implementarse de cuatro formas diferentes (mejor definidos en [RFC-
1631]) a la vez que pueden aplicarse distintas soluciones para lograr transmitir un flujo de
paquetes en ambas direcciones y en tiempo real [Heinz05]:
• Full Cone (Conexión Completa): Se define un único par IP: puerto-interno/IP:
puerto-router. Esto se configura en el router. Aunque el cliente no haya enviado ningún
paquete, cualquier computadora en Internet puede enviar paquetes a la maquina destino,
los cuales serán capturados por NAT y serán transmitidos a la IP: puerto-interno de la
maquina interna.
• Restricted Cone (Conexión Restringida): Cuando el cliente interno envía una
petición hacia una maquina en Internet, el router abre el par IP: puerto-router, recordando
la IP de la maquina remota y aceptando información de está hacia la maquina interna. Si
otra maquina externa quiere conectarse a la maquina interna NAT no le permitirá el paso
hasta que la maquina interna le envíe una petición.
• Port Restricted Cone (Conexión Restringida por puerto): Similar a conexión
restringida, pero sumando que la maquina interna al enviar la petición hacia la maquina
exterior debe indicar el puerto de la maquina externa, entonces NAT permite el paso de
información solo desde el puerto especificado de la maquina externa. La maquina interna
puede enviar peticiones a diferentes IP: puerto-externo por lo cual, NAT permitirá el paso
de información de estas maquinas externas.
• Symmetric cone (Conexión Simétrica): Ante una petición de una maquina interna
el router abre un puerto para cada maquina externa que solo podrá devolver información
a la IP: puerto-router abierto para ella. La maquina interna enviará información a distintas
maquinas externas y NAT aplicará a la una misma IP pública un puerto distinto. Una
- 33 -
Capitulo 2 – Fundamentos de Voz sobre IP Autor: Santos Gustavo Vega
maquina externa solo puede enviar información hacia el interior si recibe una petición de
dicha maquina interna.
10.1.4. H.323
La recomendación H.323 describe un conjunto de estándares definidos por la ITU (Unión
Internacional de Telecomunicaciones), los cuales definen un conjunto de protocolos para
proveer comunicaciones multimedia sobre redes de conmutación de paquetes que
pueden no garantizar calidad de servicio [ITU-H.323].
[Alonso02] destaca que esta recomendación constituye el desarrollo de un conjunto de
protocolos de señalización que permiten controlar el establecimiento, mantenimiento y
liberación de conexiones multimedia en tiempo real. H.323 es muy utilizado por los
grandes fabricantes y operadores del mercado, aunque hoy en día los proveedores de
soluciones VoIP tienden a adoptar SIP como protocolo de señalización [Gonçalves07].
H.323 presenta una buena performance en videoconferencias. Su puerto por defecto es el
1720 y se apoya en diferentes protocolos que se encargan de los distintos aspectos de la
comunicación (negociación de Codecs, control de secuencia, entre otros.) utilizando RTP
y RTCP en el Streaming de audio. Su implementación es algo compleja en comparación
con el protocolo SIP.
10.1.5. IAX2 - Inter-Asterisk Exchange
IAX2 es un protocolo abierto utilizado y creado para Asterisk que provee control y
transmisión de Streaming de media sobre redes que utilizan el protocolo IP, además hace
uso eficiente del ancho de banda y no presenta grandes problemas relacionados con uso
de NAT o Firewalls (en comparación con H.323 o SIP) debido a que utiliza un solo puerto
UDP (4569) para audio y señalización, por lo que no es necesario abrir rangos de puertos
como en el caso de utilizar SIP [Goncalves07].
[PascualBerthilson06] coincide y especifica que IAX2 surge luego de su antecesor IAX y
como alternativa a SIP, con una gran diferencia dada por que SIP utiliza dos flujos de
datos para voz y dos para señalización, usando el método “out-of-band”, en cambio IAX2
- 34 -
Capitulo 2 – Fundamentos de Voz sobre IP Autor: Santos Gustavo Vega
se basta con un par de flujos para manejar voz y señalización utilizado el método “in-
band”.
En IAX2 se puede utilizar “trunking” para ahorrar ancho de banda, en el cual se
empaquetan llamadas simultaneas en un solo flujo de paquetes (disminuyendo overhead).
Esto requiere un mayor procesamiento o gasto de CPU. En realidad, el costo de
procesamiento es varios órdenes de magnitud más barato que el ancho de banda
(adquisición de vínculos) por lo que IAX2 es mucho más costo-efectivo al reducir el uso
de ancho de banda.
Los mensajes de control (IAX) son sustancialmente mas pequeños (4 bytes de cabecera
en comparación con un mínimo de 12 bytes para protocolos basados en RTP) [Mahler04].
Según [PascualBerthilson06] a fines del año 2006 varias compañías se dedicaban a la
fabricación de teléfonos IP con soporte para IAX2, también surgen distintos Softphone
(como IaxComm, Zoiper o Kiax) que utilizan este novedoso protocolo.
11. Codecs
Los Codecs son algoritmos que utilizan una serie de transformaciones logrando convertir
la voz en una representación digital codificada en formato binario de 0s y 1s y viceversa,
aplicando distintos niveles de compresión y decomprensión a la señal original.
Según [PascualBerthilson06] se asume que a mayor compresión se produce mayor
distorsión logrando una calidad mas baja, respecto de la original disminuyendo el
consumo de ancho de banda. Sin embargo, esto depende de la calidad de los algoritmos
utilizados en la codificación, por ejemplo, mejores algoritmos pueden producir mayor
compresión y al mismo tiempo mejorar la calidad del sonido.
Un Codec se considera mejor que otro cuando ofrece una mayor calidad de voz, siempre
que ambos utilicen el mismo ancho de banda [PascualBerthilson06].
Para una mejor apreciación de las características propias de cada Codec se observa la
siguiente tabla:
- 35 -
Capitulo 2 – Fundamentos de Voz sobre IP Autor: Santos Gustavo Vega
Lista comparativa de Codecs de audio. Imagen obtenida de [Meggelen07]
11.1.1. G.711
El Codec G.711 es un estándar de la ITU-T utilizado para la compresión de audio. En el
cual se representan señales de audio (como frecuencias de la voz humana) utilizando
muestras comprimidas de una señal de audio digital (con tasa de muestreo de 8000
muestras por segundo) proporcionando un flujo de datos de 64 kbps.
En la PSTN se utiliza un procedimiento de modulación para transformar las señales de
voz en una secuencia de bits llamado PCM (Pulse Code Modulation - Modulación por
Impulsos Codificados) el cual es considerado de alta calidad y con una tasa de
transmisión de 64 kbps lo cual referencia a un canal de voz [PascualBerthilson06]. Para
este estándar se utilizan dos métodos de compresión “µ-law” en Norteamérica y “A-law”
en Europa y el resto del mundo, ambos algoritmos son logarítmicos, pero el “A-law” fue
específicamente diseñado para ser implementado en una computadora.
G.711 además de ser un Codec libre, según [PascualBerthilson06] es utilizado por la
mayoría de los equipos VoIP por que no requiere de un gran procesamiento y no es
demasiado complejo.
Según [Meggelen07] mucha gente ve a G.711 como un Codec sin compresión y
especifica que se considera a los métodos usados como una forma de compresión siendo
G.711 la base a partir de la cual se derivan los restantes Codec.
- 36 -
Capitulo 2 – Fundamentos de Voz sobre IP Autor: Santos Gustavo Vega
Si bien podemos ver que el uso del Codec G.711 en Telefonía IP ofrece la misma tasa de
transferencia que en la PSTN, su uso en regiones donde el acceso a banda ancha es
costoso, según [PascualBerthilson06], no es viable y se debe optar por algún otro Codec
que consuma menos ancho de banda.
11.1.2. G.726
El Codec G.726 es un estándar de la ITU-T también conocido como ADPCM (Adaptive
Differential Pulse Code Modulation), y puede ejecutarse con varias tasas de transferencia
(16, 24, 32 y 40 kbps).
G.726 ofrece una calidad casi idéntica a G.711, pero en comparación puede utilizar sólo la
mitad del ancho de banda. Esto es posible porque en lugar de enviar el resultado de la
cuantización de medición, envía sólo la información suficiente para describir la diferencia
entre la muestra actual y la anterior.
A pesar de consumir un menor ancho de banda no hace posible transmitir señales de fax
y módem, siendo esto una gran desventaja a la hora de adoptarlo en Telefonía IP. A su
vez no requiere gran cantidad de procesamiento y uso de CPU [Meggelen07].
11.1.3. G.729
G.729 es un Codec propietario y robusto que utiliza 8 kbps de ancho de banda y a pesar
de ello ofrece una calidad de sonido muy buena [Meggelen07]. Para su utilización
requiere el pago de una licencia, salvo si es utilizado como “Passthrough”. Es muy
popular y soportado por muchos fabricantes de dispositivos y sistemas de Telefonía IP,
en la actualidad [Gonçalves07].
Generalmente es utilizado para aprovechar al máximo el ancho de banda disponible,
permitiendo a su vez la mayor cantidad de comunicaciones en forma simultánea.
Para alcanzar su gran relación de compresión (sin demasiada pérdida de calidad),
requiere de una gran cantidad de procesamiento de CPU [Meggelen07].
- 37 -
Capitulo 2 – Fundamentos de Voz sobre IP Autor: Santos Gustavo Vega
Utiliza una técnica conocida como CS-ACELP (Conjugate-Structure Algebraic-Code-
Excited Linear-Prediction), la cual reduce el tamaño de la señal de entrada en una razón
de 8 a 1.
Ofrece una calidad similar a GSM y se diferencia de iLBC por que no ofrece una solución
práctica para pérdida o retraso de paquetes [VozDigital08].
11.1.4. GSM - Global System for Mobile communication
GSM, es un sistema de comunicación celular que además posee su propio Codec. El cual
es gratuito y utiliza aproximadamente 13,2 kbps de ancho de banda. Consume menos
ancho de banda a costa de mantener la calidad respecto de otros Codec [VozDigital08].
La calidad de sonido es considerada generalmente, según [Meggelen07], menor que la
producida por ejemplo, con el G.729a, sin embargo aún así recomienda su uso, a la hora
de elegir un Codec para su sistema de telefonía IP.
Este Codec también es conocido como RPE-LTP: Regular Pulse Excitation Long-Term
Prediction, o bien, Excitación por pulsos regulares con predicción a largo plazo. Utiliza
información de muestras previas para poder predecir la muestra actual [VozDigital08].
11.1.5. Speex
Es un Codec Open Source, libre, no patentado, diseñado específicamente para manejar
la conversión de voz a datos. Surge a partir de un proyecto que busca brindar una
alternativa respecto de los caros Codecs propietarios [Speex].
Speex utiliza un bitrate variable (VBR) el cual se modifica en forma dinámica para
responder a las distintas condiciones de red, debido a esto puede operar con anchos de
banda que van desde 2,15 a 44,2 kbps [Meggelen07], [Speex].
Está bien adaptado a las aplicaciones de Internet y provee características útiles que no se
encuentran en otros Codecs.
Entre sus características se tienen 3 diferentes formatos [VozDigital08]:
• banda angosta (8khz)
• banda ancha (16 khz)
• banda ultra-ancha (32 khz)
- 38 -
Capitulo 2 – Fundamentos de Voz sobre IP Autor: Santos Gustavo Vega
Además provee codificación en estéreo, tratamiento de paquetes perdidos, transmisión
discontinua, cancelación de eco, detección de actividad de voz, es decir que no transmite
cuando los interlocutores no están hablando.
11.1.6. iLBC - Internet Low Bitrate Codec
Es un Codec Open Source, libre y gratuito, diseñado para trabajar con anchos de banda
reducidos, del orden de los 15.2 kbps o 13.3 kbps, los cuales dependen del tamaño de
muestra utilizada (20 o 30ms) respectivamente.
Una de las características mas importantes que destacan a este Codec es que permite
una degradación suave de la voz, ocasionada por pérdida o retraso de paquetes. La cual
se logra con una extra-interpolación de los paquetes faltantes [VozDigital08].
Para [Meggelen07] su uso es adecuado sobre redes que presentan perdidas, brindando
una calidad razonable. Este Codec utiliza complejos algoritmos para conseguir sus altos
niveles de compresión [Meggelen07].
Entre sus desventajas encontramos que es un Codec reciente, por lo que su soporte en
dispositivos comerciales es muy reducido. Otra desventaja, es que su complejidad y
reducido consumo de ancho de banda requiere una cantidad importante de
procesamiento y uso de CPU, por lo que mantener numerosas llamadas concurrentes con
este Codec puede ocasionar el agotamiento de los recursos computacionales
[VozDigital08].
11.1.7. Elección de un Codec Adecuado
Una correcta elección del Codec que vamos a utilizar en nuestro sistema de telefonía IP
requiere evaluar distintos aspectos relacionados con:
• La calidad del audio alcanzada durante una conversación.
• Si es de uso libre o acarrea un costo de licenciamiento.
• El consumo de ancho de banda.
• Resistencia ante pérdidas de paquetes.
- 39 -
Capitulo 2 – Fundamentos de Voz sobre IP Autor: Santos Gustavo Vega
• Disponibilidad del servidor y de los clientes.
• Cantidad de llamadas simultáneas.
Además, debemos tener en cuenta cual es la necesidad de procesamiento y cuales son
los recursos de hardware, software y telecomunicaciones a disposición [Gonçalves07].
Cada Codec utilizado tiene una sobrecarga producida por las cabeceras IP, RTP, y UDP
sumado a los encabezados Ethernet, Frame-relay o PPP (según el tipo de red que se
utilicé) la cual debe ser tenida en cuenta a la hora de calcular el consumo de ancho de
banda resultante.
12. Elementos y Agentes implicados
Es necesario conocer que agentes intervienen y que elementos son utilizados para
construir un sistema de telefonía IP que sea capaz de ofrecer integración y funcionalidad
a los usuarios.
Examinando el rol que cumplen en el mercado los diferentes agentes involucrados,
encontramos:
• Usuarios: Son los que hacen uso de tecnologías VoIP (Softphone, teléfonos IP,
ATAs) para realizar llamadas.
• Proveedores VoIP: permiten a los usuarios realizar llamadas desde sistemas
VoIP hacia la red de telefonía tradicional, lo cual acarrea un costo.
• Carriers de VoIP: comercializan sus rutas VoIP a los proveedores. Son una
especie de mayoristas de minutos IP.
• Terminadores VoIP: comercializan sus líneas de telefonía tradicional a los
proveedores VoIP.
• Integradores de Soluciones VoIP: Conectan centrales VoIP, servidores
dedicados para servicios adicionales.
Dentro de los elementos que integran un sistema telefónico IP podemos nombrar según
[Méndez05] las siguientes 5 secciones: Gateway Controller, Media Gateway, Signaling
Gateway, Media Server y Feature Server.
- 40 -
Capitulo 2 – Fundamentos de Voz sobre IP Autor: Santos Gustavo Vega
Un Media Gateway Controller (MGC) representa un sistema que recibe y proporciona
información a los Media Gateway. Esta formado por un conjunto de productos, protocolos
y aplicaciones capaces de permitir que diferentes dispositivos accedan a los servicios de
telecomunicaciones sobre redes IP. El MGC además de realizar el control de las llamadas
sobre el Media Gateway también controla elementos conocidos como softswitch y
gatekeeper [Méndez05].
Un Media Gateway (MGW) actúa como una unidad de traducción entre las diferentes
redes de telecomunicaciones (PSTN, NGN, 3G, IP). Además permite la comunicación
multimedia a través de las redes y puede utilizar múltiples protocolos de transporte como
ATM o IP [Méndez05].
Hay varios protocolos que se pueden utilizar entre un MGC y el Media Gateway: SGCP,
MGCP (Media Gateway Control Protocol) y Megaco (H248). El MGC también recibe el
término de agente de llamada. Además pueden interactuar con otros protocolos de
señalización, como SS7 en la interconexión con el sistema telefónico tradicional, H.323 y
SIP [WikipediaMGW].
Signaling Gateway representa a un único componente de red responsable de traducir los
mensajes de señalización entre la red VoIP y la PSTN. Un Signaling Gateway
generalmente forma parte de un Softswitch.
El Softswitch representa un dispositivo encargado de proporcionar control de llamada,
señalización, gestión de servicios y procesamiento de llamadas. Además de conectar
llamadas entre terminales de usuario por medio de software usando un sistema
informático. También puede actuar como gestor al interconectar las redes, tratando de
lograr la confiabilidad y una calidad de servicio similar a la que brinda una red de
conmutación de circuitos pero disminuyendo costos. El softswitch puede verse como una
eficiente plataforma de integración para el intercambio de servicios y aplicaciones.
En una arquitectura que utiliza softswitch se observa como ventaja que los media gateway
son fáciles de mantener siendo el softswitch el encargado de mantener el control total.
Por otro lado, estas arquitecturas tienden a ser inflexibles [WikipediaSoftswich].
- 41 -
Capitulo 2 – Fundamentos de Voz sobre IP Autor: Santos Gustavo Vega
Gatekeeper es un elemento opcional, el cual corresponde a un punto central en la red
donde los usuarios se registran para utilizar los servicios disponibles (generalmente
utilizado como núcleo en un esquema con el protocolo H.323 implementado). El
Gatekeeper es el encargado de traducir las direcciones de red de los terminales y
gestionar el ancho de banda. Además de fijar el número de conferencias que pueden
llevarse a cabo en forma simultanea [Gómez06].
13. Troncales digitales
El método estándar de digitalización de una llamada telefónica es un registro de 8 bits,
8000 veces por segundo, por lo que una codificación PCM necesita un ancho de banda
de canal de 64 Kbps y se la denomina DS-0.
La DS-0 es fundamental para la construcción de todos los circuitos de telecomunicaciones
digitales [Kelly05].
Las troncales digitales constituyen tramas digitales que por lo general poseen diferente
cantidad de canales que según el tipo, se ven representadas como [Méndez05]:
Número de canales Velocidad (Mbps)Número de
canalesVelocidad (Mbps)
T1 24 (24 DS-0s) 1,544 E1 30 2,048
T2 96 (4T-1s) 6,312 E2 120 8,448
T3 672 (7 T-2s) 44,736 E3 480 34,368
T4 4032 (6 T-3s) 274,176 E4 1920 139,264
E5 7680 565,148
En la tabla anterior podemos observar los tipos de troncales digitales más conocidos
donde el estándar estadounidense se representa mediante (T1, T2, etc.) con su
correspondiente número de canales disponibles, mientras que el estándar europeo se
representa mediante (E1, E2, etc.). Un circuito T1 consta de 24 DS-0s multiplexados en
1.544 Mbps. El resto de los T-Carrier se basa en múltiplos de T1 [Meggelen07].
En densidades por encima de T3, es muy raro ver a un circuito T-Carrier. Para esas
velocidades, pueden ser utilizados los carrier ópticos (OC). Son utilizados por grandes
empresas o para intercomunicar centrales de grandes operadores de telecomunicaciones.
- 42 -
Capitulo 2 – Fundamentos de Voz sobre IP Autor: Santos Gustavo Vega
Con la aparición de la fibra óptica y su incorporación en el tendido de redes digitales se
desarrollo SONET (Synchronous Optical Network – Red óptica sincronia). SONET se
basa en la ancho de banda de un T3 (44,736 Mbps), con una ligera sobrecarga que lo
amplia a 51,84 Mbps, también conocido como OC-1 [Meggelen07].
En la siguiente tabla se observan los distintos tipos de circuitos ópticos [Meggelen07]:
Número de canales Velocidades (Mbps)
OC-1 672 (1DS-3 + Overhead) 51,84
OC-3 2016 (3 DS-3s) 155,52
OC-12 8064(12 DS-3s) 622,08
OC-48 32256(48 DS-3s) 2488,32
OC-192 129024(192 DS-3s) 9953,28
En la tabla anterior puede observarse como varía el número de canales disponibles en
múltiplos de DS-3s que corresponden a un carrier T3.
Para establecer una llamada VoIP a través de Internet, debemos tener acceso a dicha red
y hay que observar que una conexión Dial-up puede permitirnos establecer una llamada
IP pero no proporciona una calidad de servicios adecuada por que no puede mantener un
flujo constante de datos suficiente.
Por otro lado, podemos utilizar una conexión de banda ancha (DSL), donde su costo en
estos días es relativamente bajo, y mejorar satisfactoriamente la calidad en la llamada
VoIP realizada.
Cuando es necesario disponer de una mayor cantidad de llamadas simultáneas (casos de
empresas que necesitan realizar una gran cantidad de llamadas simultáneas con la mayor
calidad de servicio posible) se utilizan otras alternativas para el transporte de dichas
llamadas como “Troncales digitales”.
En la interacción de los enlaces dedicados se utiliza el gateway correspondiente entre la
PBX-IP de la empresa y el servicio digital del prestador [Gonçalves07].
- 43 -
Capitulo 2 – Fundamentos de Voz sobre IP Autor: Santos Gustavo Vega
Estos enlaces se comercializan como “enlaces dedicados” teniendo un costo mensual
para la empresa, la cual puede dividir el ancho de banda total disponible entre la propia
red de datos, videoconferencia y telefonía [Kelly05].
14. CTI - Computer Telephone Integration
CTI (Integrador de telefonía con el ordenador) es una tecnología que permite la
integración y coordinación de aplicaciones que corren en una PC con un teléfono o
sistema telefónico. Esta integración se da por la existencia y necesidad de combinar
aplicaciones de voz, correo electrónico, fax, etc.
A modo de ejemplo una aplicación muy común es que: ante una llamada la PBX envía
información al CTI y este puede reconocer el número y relacionarlo con la base de datos
del cliente brindando la información correspondiente [Méndez06].
La aplicación de CTI en las PBX de la PSTN permite obtener nuevas funciones y un
mayor control, aunque su costo suele ser elevado.
15. DSP - Procesador de señal digital
En telefonía el procesado y representación de señales analógicas (como la voz humana)
en tiempo real es indispensable. Para ello se utilizan los DSP (Digital Signal Processor –
Procesador de señal digital).
Un DSP es un sistema basado en un procesador o microprocesador que posee un juego
de instrucciones, un hardware y un software optimizados para aplicaciones que requieran
operaciones numéricas (generalmente de punto flotante, escalares o vectoriales) a muy
alta velocidad.
El DSP utiliza un conversor analógico/digital a su entrada y digital/analógico en la salida,
además necesita una memoria para almacenar los datos con los que trabaja y el
programa que ejecuta [WikipediaDSP].
El costo asociado tanto a placas de telefonía IP como a gateway VoIP, esta relacionado
en gran parte a que utilizan DSPs [PascualBerthilson06].
- 44 -
Capitulo 2 – Fundamentos de Voz sobre IP Autor: Santos Gustavo Vega
16. Fortalezas – VoIP
Es importante destacar algunas de las características que pueden motivar la incursión de
usuarios y empresas en la adopción de VoIP. Para ello es imprescindible conocer las
ventajas que el uso de esta tecnología nos ofrece:
Flexibilidad y sostenibilidad
Hoy en día es posible pensar en construir nuestra propia red de telefonía a pesar de la
existencia de diferentes servicios que dicen ser “gratuitos”. Estos servicios no garantizan
independencia o control al cliente por ser propietarios, mientras que adoptar una solución
basada en estándares abiertos y código libre permite flexibilidad y sostenibilidad.
Para [PascualBerthilson06] el problema no es decidir cual es la mejor tecnología sino cual
de ellas permite que las comunidades adapten a su manera y según sus necesidades el
desarrollo de una propia red de telefonía.
Costos
Una de las mayores ventajas que ofrece esta tecnología es sin dudas la reducción de
costos.
En la PSTN se utiliza durante una llamada un circuito punto a punto conmutado, mientras
que en Telefonía IP se pueden mantener múltiples llamadas, reduciendo los costos de
conmutación y ocupando un menor ancho de banda que una llamada convencional
[NarváezCano06].
Los proveedores VoIP ofrecen tarifas internacionales realmente bajas en comparación
con las tarifas de la PSTN o Telefonía Móvil, con ello se logra salvar las distancias en la
comunicación, notando que es más económico realizar una llamada internacional a
través de un proveedor VoIP que una local a través de una incumbente [Méndez05].
El costo del hardware VoIP no es aún precisamente bajo, siendo posible migrar por
etapas hacia una infraestructura que utilice VoIP e interaccione con la PSTN.
- 45 -
Capitulo 2 – Fundamentos de Voz sobre IP Autor: Santos Gustavo Vega
La mayoría de las ventajas que ofrece VoIP se ven reflejadas en una disminución de
costos, teniendo en cuenta además la integración de los nuevos beneficios (como
servicios de valor agregado).
Portabilidad y Movilidad
VoIP permite realizar llamadas desde y a cualquier lugar del mundo sin la necesidad de
modificar el número asignado por su proveedor, basta con disponer de una cuenta en
alguno de ellos y adquirir un dispositivo VoIP o software que permita establecer las
llamadas.
Los proveedores pueden permitir movilidad y portabilidad a sus usuarios. Brindan además
la posibilidad de obtener números de distintos países para que los usuarios puedan recibir
llamadas. En caso de mudanza no es necesario trasladar ninguna línea física como en la
PSTN las cuales suelen tener algún costo [Gonçalves07].
Por su parte [Robles01] destaca además la interoperabilidad de los proveedores VoIP.
Con VoIP podemos extender los horizontes de nuestra empresa sin que ello implique
disponer grandes inversiones en tecnología.
Administración única de la red
La evolución tecnológica de las redes basadas en el protocolo IP junto al uso masivo de
banda ancha posibilita que datos, voz y video convivan, permitiendo una administración
única de la red. A la hora de incorporar VoIP no es necesario montar otra infraestructura
de red, sino reutilizar la existente.
Ante la incorporación de nuevas tecnologías y sus rápidos avances se hace indispensable
la incorporación o la existencia de cableado estructurado como una inversión estratégica
mas que necesaria y la independencia de las tecnologías de transporte que VoIP ofrece
[Robles01].
- 46 -
Capitulo 2 – Fundamentos de Voz sobre IP Autor: Santos Gustavo Vega
Se establece además una compatibilidad con la infraestructura de telefonía existente
favoreciendo la integración. Todo esto ve reflejado una importante reducción de costos en
infraestructura [Gonçalves07].
Nuevos servicios
Mediante VoIP es posible brindar servicios, fáciles de implementar, como conferencias de
llamadas, reenvió de llamadas, llamada en espera, correo de voz (voicemail), identificador
de llamadas y muchos más. Lo cual acarrea una disminución de costos al intentar
disponer de estos servicios.
La ventaja radica en que para la telefonía convencional, el implementar estos servicios
trae aparejado un alto costo en implementación y hardware dedicado mientras que en
telefonía IP se hace posible equiparar dichos servicios minimizando los costos de
implementación [Gonçalves07].
Accesibilidad y libertad de desarrollar aplicaciones que expandan los servicios de
telefonía IP utilizando estándares y software libre posibilitan la inclusión de VoIP en el
mercado de las telecomunicaciones [Meggelen07].
[Gonçalves07] destaca la importancia de usar estos servicios en regiones donde el
acceso a Internet no es implementado aún. [PascualBerthilson06] coincide y agrega que
en regiones en desarrollo donde el acceso a Internet es muy costoso, el uso de estos
servicios y una correcta elección del Codec utilizado pueden permitir a grupos de usuarios
establecer comunicaciones aprovechando al máximo el ancho de banda disponible.
17. Debilidades – VoIP
En Telefonía IP también debemos destacar las falencias o debilidades a las cuales nos
enfrentamos a fin de trabajar para minimizarlas o resolverlas. Para ello debemos indicar
algunas de las más importantes:
Seguridad
- 47 -
Capitulo 2 – Fundamentos de Voz sobre IP Autor: Santos Gustavo Vega
La seguridad de la información y de la infraestructura tecnológica utilizada en VoIP genera
gran preocupación, lo que podría suponer un impedimento para el desarrollo y despliegue
de los distintos servicios basados en VoIP. [Mendez05] observa que el control de la
seguridad y la intimidad en VoIP es una desventaja importante en esta tecnología.
Los problemas de seguridad que afectan la tecnología VoIP son en principio los mismos
que sufre toda red que transporta datos.
Para minimizar dichos problemas es necesario aplicar una correcta política de seguridad,
ya sea en los dispositivos de red, servidores o teléfonos IP como así también sobre
sistemas operativos, protocolos y software utilizados. La implementación de la seguridad
de la telefonía IP comienza en asegurar la red de datos. La infraestructura de
telecomunicaciones requiere entonces, una planificación de seguridad de múltiples capas.
[JacksonClark07] describe distintos niveles sobre los cuales se pueden producir ataques
en una infraestructura de VoIP:
• Infraestructura IP – Vulnerabilidades que afecten a sistemas no-VoIP y que
repercuten sobre la infraestructura VoIP.
• Sistema operativo – Vulnerabilidades que heredan dispositivos IP del firmware o
sistema operativo sobre el cual trabajan.
• Configuración – Vulnerabilidades sobre puertos abiertos por defecto en
dispositivos VoIP o también ataques DoS (Denegación de Servicios), desbordamiento de
buffer, o de autenticación.
• Aplicaciones – Ataques sobre las distintas aplicaciones que pueden manipular o
perturbar los servicios.
Políticas de control de accesos para toda la corporación o usuarios, prácticas de
autenticación y rotación forzosa de contraseñas forman una sólida base sobre la que
deben desplegarse las tecnologías VoIP. Detectar que alguien puede estar escuchando la
conversación, no es tarea fácil, y ello genera preocupación para usuarios y empresas.
Existen diferentes técnicas generalmente utilizadas con fines maliciosos que pueden
desembocar en escuchas o manipulación de información no autorizada [JacksonClark07].
Entre las mas conocidas encontramos: Spoofing, MitM (Man in the Middle –
Intermediario), Eavesdropping, DoS (Denial of service – Denegación de servicio), Sniffing.
- 48 -
Capitulo 2 – Fundamentos de Voz sobre IP Autor: Santos Gustavo Vega
MitM (Intermediario) es un tipo de ataque en el que un intruso puede leer, insertar y
modificar los mensajes entre dos usuarios sin que ninguno perciba que el enlace entre
ellos ha sido violado. Un ataque MitM puede incluir algunos de los siguientes sub ataques:
• Intercepción de la comunicación (Eavesdropping)
• Denegación de servicio (DoS)
• Ataques de sustitución
• Ataques de suplantación
• Ataques de modificación
Spoofing es una técnica de suplantación de identidad. Existen diferentes formas de
aplicar este tipo de técnicas dependiendo de la tecnología de red (susceptible de sufrir
suplantaciones de identidad), entre las mas conocidas encontramos IP Spoofing, ARP
Spoofing, DNS Spoofing y suplantación Web o de e-mail.
Los ataques por denegación de servicio actúan sobre un sistema de computadoras o red
y permiten que un atacante pueda bloquear los servicios o recursos de un usuario.
Además puede causar la pérdida de la conectividad de la red por el alto consumo de
ancho de banda o sobrecarga de los recursos computacionales de la víctima, mediante el
envío de paquetes malformados con estructuras incorrectas o al recibir una gran cantidad
de paquetes. Este tipo de ataques tienden a producir la interrupción temporal de todas las
comunicaciones [JacksonClark07].
Eavesdropping (Escuchar secretamente) es un proceso de interceptación mediante el
cual un intruso capta información (cifrada o no) que no le iba dirigida. En principio el
ataque es completamente pasivo y es muy difícil de detectar mientras se produce la
intercepción, de forma que el atacante puede capturar información privada y claves para
acceder a más información sin que nadie se de cuenta hasta que dicho atacante utilice
dicha información capturada, con lo cual el ataque se transforma en activo [Martínez05].
Otro mecanismo que desafía la seguridad en redes VoIP es el Sniffing, el cual es un
medio de interceptación, consistente en capturar tramas que circulan por la red mediante
un programa ejecutándose en una máquina conectada a ella o bien mediante un
dispositivo que se engancha directamente al cableado.
- 49 -
Capitulo 2 – Fundamentos de Voz sobre IP Autor: Santos Gustavo Vega
La utilización de programas antivirus, firewalls, sistemas de detección de intrusos (IDS),
VPNs (Red privada virtual), la utilización de IPSec (IP Secutity) ayudan a mejorar la
seguridad.
Pero es conveniente trabajar sobre un esquema de VoIP con cifrado o encriptación de
datos (entre los distintos nodos de la red).
El costo de utilizar encriptación de datos es que se suman encabezados adicionales,
generando un mayor consumo de ancho de banda y los procesos de encriptación y
desencripción generan latencia, afectando a las comunicaciones en tiempo real
[Resetko05].
Conscientes de los retos de seguridad que plantea la tecnología VoIP un conjunto de
empresas (como 3Com, Alcatel, Avaya y Siemens entre otras) han creado VOIPSA (VoIP
Security Alliance) cuyo objetivo es evitar o prevenir potenciales riesgos de seguridad que
ataquen la tecnología VoIP mediante investigación y suministro de información a los
usuarios sobre como proteger sus comunicaciones VoIP [Voipsa08].
Calidad de servicio (QoS)
Aplicar calidad de servicio (QoS) consiste en dar prioridad a los paquetes de voz respecto
de los paquetes de datos, lo que se busca es garantizar que los paquetes enviados que
necesiten menor tiempo de latencia puedan ser enviados primero.
QoS utiliza herramientas para control de latencia, congestión, colas y otras que le
permiten utilizar cierto ancho de banda específicamente para el tráfico de voz. De esta
forma siempre habrá ancho de banda disponible para las llamadas telefónicas, no importa
cuán ocupada este la conexión a Internet [Kelly05].
Se pueden priorizar los paquetes de voz, aplicando políticas QoS sobre distintos
dispositivos de red (como routers o switches) que permitan gestionar la calidad de
servicio. Otra forma de prevenir los factores que pueden afectar la QoS consiste en ubicar
la PBX-IP en el segmento menos congestionado de la red.
Es importante conocer los factores que pueden afectar la QoS sobre una llamada VoIP
[Kelly05]:
- 50 -
Capitulo 2 – Fundamentos de Voz sobre IP Autor: Santos Gustavo Vega
• Retardos en la red: Producidos en toda red de datos. Un gran retardo influye
decisivamente en la calidad de la llamada, también se ve que a mayor retardo mayor es el
“Eco” producido. Los tiempos que influyen sobre el retardo total son el tiempo de
procesamiento utilizado por los Codecs, junto al retardo de transmisión, almacenamiento
o encolado en dispositivos de la red y en colas de reproducción de sonido [Diaz06].
• Compresión: Mediante la utilización de Codec o técnicas de compresión se busca
aprovechar el ancho de banda disponible, codificando las señales de voz producidas
convirtiéndolas en paquetes de datos para ser transmitidos. El tamaño implica demoras
en transmisión y consumo de ancho de banda [Díaz06].
El comprimir la voz ocasiona una disminución de la calidad, aunque esto no debe
verse como un gran problema, debido a que los Codec optimizan el ancho de
banda alcanzando una calidad aceptable. Lo que se debe tener en cuenta es el
tiempo de procesamiento y ¿que Codec es adecuado utilizar?, según el ancho de
banda disponible y la cantidad de llamadas simultaneas [Gonçalves07].
• Perdida de paquetes: a diferencia de las redes de telefonía convencional donde se
mantiene un vinculo “estable y seguro” durante una conversación, las redes de datos
admiten perdidas de paquetes. Dicha perdida puede producir cortes o interrupciones de la
voz durante una llamada, afectando de esa forma la calidad percibida en la comunicación
[Méndez05].
• Eco: Son originados por los retardos producidos y son conocidos como “Eco del
hablante” al recibir su propia voz con un cierto retardo o “Eco del oyente” cuando el
oyente recibe múltiples ecos de la señal enviada. Generalmente los Softphone y el
hardware utilizado en VoIP permiten utilizar canceladores de eco realizando ajustes
automáticos de ganancia, reduciendo el nivel de ruido o eliminando la inserción de ruido
en periodos que la persona no habla. Estas especificaciones son mejor definidas en la
[ITU-G168].
La voz debe ser enviada con la menor cantidad de retrasos posibles para alcanzar una
calidad aceptable, la ITU (International Telecommunication Unión) recomienda que los
retardos no sean mayores a 150ms en cada dirección.
Un correcto control sobre los retardos y pérdidas de paquetes a través de dispositivos que
implementen QoS permiten alcanzar una calidad de servicio aceptable
[PascualBerthilson06].
- 51 -
Capitulo 2 – Fundamentos de Voz sobre IP Autor: Santos Gustavo Vega
Para [PascualBerthilson06] al diseñar una red de VoIP se debe tener en cuenta lo
siguiente:
• Optimizar el ancho de banda
• Controlar las fluctuaciones (Jitter)
• Minimizar la Latencia
Al tiempo que tarda un paquete en viajar de un extremo a otro en la red se lo conoce
como Latencia. Latencia es sinónimo de retraso o retardo, el cual puede disminuirse por
ejemplo: permitiendo a los paquetes de voz encolados en un ruteador, saltear posiciones
ante los paquetes de datos que están esperando ser transmitidos.
Jitter, es la variación del tiempo de llegada de distintos paquetes. Estas variaciones
pueden ser producidas por saturación de la red, falta de sincronismo o por el dinamismo
de las rutas que utilicen los paquetes.
Para mejorar la calidad de la conversación se puede utilizar un “Jitter buffer”, mediante el
cual se intenta retrasar la reproducción de la voz hasta que lleguen todos los paquetes
relacionados a esa conversación, los cuales se reordenan de ser necesario reproduciendo
el sonido a una velocidad constante. Ello mejora sustancialmente la percepción sobre la
calidad de voz, pero incrementa la latencia total [PascualBerthilson06].
Se distinguen dos tipos de jitter buffer:
• Estático: El cual se implementa y configura dentro de un hardware específico de
manera fija.
• Dinámico: El cual se configura usando una aplicación y permite que el usuario
pueda modificar el valor del jitter. Un retraso total mayor a 300ms hace difícil mantener
una conversación.
Otro concepto aplicado a calidad de servicio puede verse también, según [Alonso02],
reflejado en la opinión que tengan los usuarios sobre la calidad que perciben durante una
comunicación.
Para ello se evalúan una serie de factores que afectan la opinión de los usuarios:
• Disponibilidad: ligada a que siempre que se desea efectuar una llamada la red
este disponible, y no sufra cortes involuntarios.
- 52 -
Capitulo 2 – Fundamentos de Voz sobre IP Autor: Santos Gustavo Vega
• Precio o tarifa: donde un usuario puede aceptar un cierto nivel de calidad a cambio
de un determinado costo.
• Tiempo de espera: la opinión de los usuarios es afectada si los tiempos al
establecer una llamada son superiores a los 3 segundos.
• Calidad de la conversación percibida: no existe una definición absoluta basada
solo en parámetros físicos si no que se utiliza la percepción subjetiva de las personas
para medir cierto nivel de calidad.
Numeración No Estandarizada
En VoIP no existe hasta el momento un estándar de numeración global para cada país
como en la telefonía convencional (PSTN). Si bien esto es posible de lograr también es
difícil por que en VoIP se utiliza la red pública (Internet) como transporte en muchos casos
y en ella no existe una regulación sobre la utilización de servicios basados en VoIP.
Por ende cada país podrá ver reflejados los mecanismos de explotación y alternativas de
comunicación de los usuarios, de formas muy diversas [NarváezCano06].
Cabe destacar también que debe evaluarse el hecho de que ante cortes de energía es
posible que los usuarios de un sistema VoIP, puedan quedarse sin teléfono, esto no
ocurre en la PSTN ante cortes de energía debido a que la misma central es la que
alimenta con tensión a los teléfonos.
Otra debilidad es que la mayoría de los proveedores VoIP no permiten llamadas a
servicios de emergencia como el 911, lo cual es motivo de diferentes evaluaciones a la
hora de reglamentar de alguna manera este tipo de servicios [Brito06].
- 53 -
Capitulo 3 – Funcionalidad de Asterisk Autor: Santos Gustavo Vega
Capitulo 3
18. Funcionalidad de Asterisk (The Open Source PBX)
“Lo que el espíritu del hombre puede concebir, su voluntad debe controlarlo.”
Thomas A. Edison
19. PBX convencionales y PBX-IP
Las centrales telefónicas existen desde los comienzos de la telefonía convencional, luego
con la necesidad de compartir una misma línea telefónica con distintos usuarios surgió la
PBX o PABX, la cual representa una central telefónica automática y privada.
Una PBX interconecta líneas telefónicas provenientes de la PSTN con los teléfonos o
internos de una empresa u hogar. Al ser privada el dueño de la PBX tiene el control de
decisión de cómo compartir las líneas telefónicas o configurar los distintos internos. Las
PBX son capaces de conmutar una llamada entrante hacia cualquier interno o permitir
que dicho interno tome una línea para realizar una llamada al exterior
[PascualBerthilson06].
En empresas con gran cantidad de usuarios, es menos costoso utilizar una PBX que
contratar una línea telefónica para cada usuario [Mahler04].
El paso del tiempo acentuó el uso y a la vez fueron evolucionando de PBX puramente
analógicas a PBX digitales. Si bien el propietario obtiene el control sobre las líneas
telefónicas, el utilizar una PBX, suele ser costoso en su implementación, además del
mantenimiento y soporte, el cual no suele ser incluido por el proveedor de servicio.
Mas recientemente surgieron las PBX-IP las cuales también son centrales telefónicas
pero basadas en software y que utilizan el protocolo IP para transportar sus
comunicaciones a través de Internet. Notando que así como una PBX es responsable de
redirigir llamadas telefónicas, un router es responsable de dirigir los paquetes de un
origen a un destino [PascualBerthilson06].
- 54 -
Capitulo 3 – Funcionalidad de Asterisk Autor: Santos Gustavo Vega
Este tipo de PBX-IP llegan a ofrecer las mismas y más prestaciones que las centrales
convencionales, para ello utilizan un conjunto de componentes de software y hardware,
como en el caso de la central IP basada en software conocida como “Asterisk”
[Meggelen07].
En [WikipediaPBX], Asterisk no es vista como una PBX propiamente dicha, si no que se
simula las funcionalidades de estás, utilizando software y controladores.
Según [Méndez05] tanto las PBX convencionales como las PBX-IP (Ej. Asterisk), cumplen
con el objetivo puntual de intercambiar conversaciones de voz en forma privada.
Entre ambas pueden observarse las siguientes diferencias:
• En una PBX se tienen internos o extensiones y en una PBX-IP se tienen usuarios,
extensiones y puertos.
• La infraestructura y tecnología que manejan.
• Una PBX-IP ofrece una mayor cantidad de servicios integrados.
• Las PBX son creadas para tareas específicas y comunicación de voz, las PBX-IP
brindan distintos servicios además de transmitir voz y video.
Otra diferencia es que en las PBX convencionales cada interno necesita ser cableado y
mantenido en forma independiente mientras que utilizando una PBX-IP puede utilizarse la
infraestructura de datos existente y los usuarios o extensiones configurados son
mantenidos en forma centralizada y por software.
20. Características descriptivas de Asterisk
A fin de conocer y posteriormente evaluar las verdaderas prestaciones y servicios
ofrecidos por las PBX-IP respecto de las PBX convencionales, las cuales en comparación,
parecen presentar una funcionalidad limitada o especifica, describiremos “Asterisk” la
central de código libre bajo licencia GPL.
Puede describirse “Asterisk” como, un software libre que utiliza un ordenador o PC para
convertirse en una central telefónica. El programa permite que los usuarios conectados
- 55 -
Capitulo 3 – Funcionalidad de Asterisk Autor: Santos Gustavo Vega
puedan utilizar sus servicios o realizar llamadas VoIP. Además de brindar todas las
funcionalidades de una central de telefonía convencional [PascualBerthilson06].
El concepto de convertir a una simple PC de bajo costo con un sistema operativo como
Linux en una poderosa central telefónica, es visto por [Mahler04] como un concepto
“revolucionario”. También puede verse al Asterisk como un software de conectividad entre
las distintas tecnologías telefónicas y las aplicaciones ligadas a ella.
Servidores genéricos de aplicaciones con el agregado de placas pueden servir como
infraestructura para la implementación de PBX-IP como Asterisk.
Según [GomillionDempster05], Asterisk se ve representado por un (*) y dicho símbolo
representa de alguna manera un comodín para las distintas PC. Notando que Asterisk
está diseñado para ser lo suficientemente flexible como para satisfacer cualquier
necesidad en el ámbito de telefonía.
En la siguiente figura se representan, a modo general, los distintos ambientes que pueden
vincularse con Asterisk. En el diagrama podemos observar que Asterisk puede interactuar
con la red de telefonía tradicional, plataformas de VoIP en Internet mediante teléfonos y
aplicaciones de telefonía. Mientras que la funcionalidad queda ligada al escenario a
implementar y a las pretensiones del sistema.
Esquema básico general de Asterisk [Astricon05]
- 56 -
RTB- Telefonía tradicional
INTERNET - Voz IP
*
Aplicaciones de telefonía
Teléfonos
Capitulo 3 – Funcionalidad de Asterisk Autor: Santos Gustavo Vega
Puede destacarse también que es software de código abierto y que la flexibilidad de este
producto se debe en gran parte a la disponibilidad del código fuente y a la posibilidad de
modificar el comportamiento de Asterisk para satisfacer las propias necesidades.
Para [GomillionDempster05] la característica más importante es que Asterisk permite la
selección y remoción de módulos que lo componen, lo que permite crear un sistema
telefónico personalizado. Esto junto a una arquitectura flexible permite ampliar el sistema
de telefonía o sustituir los módulos por defecto.
Asterisk es uno de los PBXs basados en software más populares de VoIP
[JacksonClark07].
La empresa Digium es la principal patrocinadora de Asterisk, de la mano de Mark
Spencer, su creador, gracias al aporte y colaboración de Jim Dixon y la comunidad de
software libre logran fomentar alrededor del mundo el uso de esta central telefónica
basada en software. Siendo destacable el hecho que tanto el software como el hardware
son de código abierto [Gonçalves07].
En Asterisk es posible obtener un control completo de las comunicaciones, con una
simple administración de sus servicios. Esto permite cumplir distintos objetivos de
acuerdo a los diferentes escenarios que se presentan y a los servicios que se van a
utilizar [Mahler04].
Además de los servicios, que representan muchas de las características que ofrece
Asterisk, podemos destacar otras como:
• Integración de distintas formas de comunicación como por ejemplo: Conectividad
en tiempo real entre las redes PSTN y redes VoIP mediante el agregado de placas.
• Compatibilidad con la telefonía estándar: interfaces FXS, FXO y Loopstart,
Kewlstart, etc.
• Soporta casi todos los protocolos actuales de VoIP.
• Integración de gran cantidad de Codecs.
• Integración de instalaciones separadas física o geográficamente.
• Integración de aplicativos dentro de un mismo hardware.
• Integración con distintas bases de datos.
- 57 -
Capitulo 3 – Funcionalidad de Asterisk Autor: Santos Gustavo Vega
La implementación de Asterisk como parte de un sistema de telefonía puede compararse
con alguno de los actuales sistemas de telefonía tradicional que utilizan el concepto de
Softswitch y delegan servicios con hardware específico e incluso de diferentes
proveedores, dificultando la integración entre ellos.
La siguiente figura representa gráficamente la comparación entre ambos sistemas
[Astricon05].
Sistema Tradicional de
comunicaciones con
Servidor Linux con Asterisk
Softswitch implementado
Asterisk puede actuar como Softswitch o pasarela con la red de telefonía básica (RTB),
además de ampliar su funcionalidad usando aplicaciones externas a partir de oficiar como
CTI (Integrador de telefonía con el ordenador) utilizando la interfase AMI (Asterisk
Manager Interface), la cual permite a un programa cliente conectarse a una instancia del
servidor Asterisk, emitir comandos o leer eventos, sobre un flujo TCP/IP.
Asterisk utiliza al procesador de la CPU que lo contiene como un DSP (Procesador de
señales digitales) al procesar las señales de voz. Esto sumado a la diversidad de
aplicaciones existentes ve como resultado una gran reducción de costos a la hora de
montar un sistema de telefonía u otro.
- 58 -
RTB
Pasarela RTB
Servidor de MultiConferencia
Servidor de Buzón de Voz
Servidor de Música en Espera
Soft Switch
Banco de Canales
Terminal IP
Terminal IP
Terminal Trad. Terminal Trad.
*
RTB
Terminal IP
Terminal IP
Terminal Trad.
Terminal Trad.Pasarela RTBCliente / Servidor Voz IPAplicaciones de Telefonía:+Multiconferencia+IVR+Buzón de Voz+Música en Espera+...
Capitulo 3 – Funcionalidad de Asterisk Autor: Santos Gustavo Vega
[Gonçalves07] destaca diferentes aspectos que contribuyen a la aceptación y uso de
Asterisk en sistemas de telefonía IP, algunos de ellos son:
• Reducción de costos: quizás si se compara Asterisk con una PBX tradicional la
reducción no sea notoria debido a los elevados costos de hardware y teléfonos IP. Pero al
intentar disponer de recursos avanzados como un sistema de respuesta de voz interactiva
(IVR), un distribuidor automático de llamadas (DAC) o una unidad de respuesta
automática (URA) con acceso a un mainframe, puede notarse una gran diferencia en el
costo por igual prestación de servicios.
• Control sobre el sistema: a través del uso de estándares, Linux y un amplio
soporte de Asterisk por la comunidad de software libre, se obtiene fácilmente un control
total del sistema.
• Ambiente de desarrollo fácil y rápido: Pueden programarse distintas aplicaciones
utilizando distintos lenguajes y mediante el uso de AGI (Asterisk Gateway Interface)
permitir su integración con Asterisk.
• Rico y abundante en recursos: Una PBX tradicional permite compartir líneas
telefónicas con un grupo de usuarios. Asterisk, por su parte, también comparte líneas
analógicas o digitales y que utilicen VoIP sumando a esto la integración de diferentes
funciones y aplicaciones.
• Proveer contenido dinámico por teléfono: mediante el uso de aplicaciones (como
Festival) que luego de consultar una base de datos permiten responder vía telefónica
dicha consulta.
• Plan de discado flexible y poderoso: Asterisk ofrece gran facilidad para crear
planes de discado adecuados a diferentes esquemas y con distinta complejidad. Un
ejemplo claro y rotundo es permitir seleccionar la ruta de salida de menor costo, entre
diferentes proveedores VoIP.
También deben indicarse algunas de las limitaciones que influyen en la utilización de
Asterisk, como el utilizar la CPU para procesar los canales de voz, en vez de utilizar un
procesador de señales digitales (DSP) dedicado. Si bien esto reduce considerablemente
el uso de costosas placas, hace que el sistema sea muy dependiente de la performance
del CPU. Por lo cual, siempre debería ejecutarse Asterisk en una maquina dedicada y
evaluar su performance antes de poner la central en producción [Gonçalves07].
- 59 -
Capitulo 3 – Funcionalidad de Asterisk Autor: Santos Gustavo Vega
Debido a que Asterisk hace uso de lo que conocemos como VoIP en sus comunicaciones
puede entenderse que adopta las ventajas y desventajas propias del uso de dicha
tecnología. Según [Gonçalves07] Asterisk debe ser implementado en una VLAN
específica para VoIP a fin de lograr mejores resultados.
Para [GomillionDempster05] utilizar Asterisk sobre una máquina dedicada agrega los
siguientes beneficios:
• Recursos dedicados más fáciles de controlar.
• Fácil mantenimiento del sistema.
• La fiabilidad y el tiempo de actividad del sistema es inversamente proporcional al
número de servicios y usuarios previstos.
• No habrá tiempo de inactividad del servicio mientras los componentes vinculados
al Asterisk sean actualizados, modificados o eliminados.
20.1.1. Componentes de Asterisk
Asterisk puede correr en diferentes plataformas siendo Linux la más estable y sobre la
cual se brinda mayor soporte. Por ende basaremos al estudio de los componentes sobre
una plataforma GNU/Linux.
En la siguiente figura puede observarse gráficamente una plataforma Linux con kernel 2.4
o 2.6, Asterisk y Zaptel [Rojano06].
- 60 -
Capitulo 3 – Funcionalidad de Asterisk Autor: Santos Gustavo Vega
Según lo que puede observarse en el grafico, Asterisk esta compuesto de:
• Módulos que gestionan diferentes aspectos relacionados con las distintas
aplicaciones y como estas realizan sus funciones. Las distribuciones de Asterisk vienen
con ciertos módulos por defecto. Y existen Módulos auxiliares que aportan nueva
funcionalidad a la central.
• Motor SQL: Asterisk puede interactuar con distintas bases de datos ofreciendo
abstracción y favoreciendo la interacción [Meggelen07]. En Asterisk es posible manejar
bases de datos de usuarios, extensiones y proveedores VoIP, entre otras.
• Configuración TXT: Se logra administrar los distintos archivos de configuración de
Asterisk mediante un editor de texto cualquiera con solo respetar la sintaxis
correspondiente.
• Interfaz AMI (Asterisk Manager Interface), es una interfaz que permite la gestión y
control en forma remota sobre Asterisk. Esto permite a diferentes aplicaciones interactuar
con Asterisk [Meggelen07].
También se utiliza la interfaz AGI (Asterisk Gateway Interface) que facilita la
integración de distintas aplicaciones, logrando que una aplicación escrita en
diferentes lenguajes de programación interaccione con el plan de discado
establecido.
• Consola CLI representa al cliente que supervisa al servidor Asterisk que corre en
segundo plano. Mediante la consola se pueden realizar e invocar a las diferentes
aplicaciones y/o chequear su configuración [PascualBerthilson06].
- 61 -
Capitulo 3 – Funcionalidad de Asterisk Autor: Santos Gustavo Vega
• Aplicaciones las cuales brindan funcionalidad al Asterisk, algunas de ellas son
incluidas en los módulos por defecto y otras se obtienen sumando módulos auxiliares.
Por otro lado, el uso de Zaptel como modulo independiente y necesario debe ser utilizado
con el Kernel correspondiente a la distribución de Linux utilizada. El modulo Zaptel es el
encargado del manejo de canales denominados ZAP y el uso de hardware específico
(placas conectadas al Asterisk) destinado a interactuar con las distintas redes PSTN,
GSM, ISDN, etc. [Mahler04].
El hardware incorporado debe utilizar su driver correspondiente, el cual es cargado junto
al módulo Zaptel.
20.1.2. Estructura utilizada
Asterisk soporta tanto la estructura conocida como Jerárquica (árbol) como la estructura
Peer To Peer (P2P) con el fin de permitir la interacción entre los usuarios registrados y
que estos puedan establecer comunicaciones de VoIP entre si. En la siguiente figura se
representan ambos tipos de estructuras posibles [Rojano06].
Estructura Jerárquica (Árbol) Estructura Peer To Peer (P2P)
La estructura Jerárquica (Árbol) se suele utilizar cuando existen routers intermedios entre
los usuarios debido a que los puertos deben estar disponibles para que cada uno de los
usuarios pueda enviar y recibir los streaming de audio.
Mientras que la Estructura Peer To Peer (P2P) se suele utilizar cuando todos los usuarios
utilizan el mismo Codec de audio y no hay routers que impidan realizar el streaming de
- 62 -
Capitulo 3 – Funcionalidad de Asterisk Autor: Santos Gustavo Vega
audio en la red. Ambos presentan ventajas y desventajas propias de su implementación
pero a través de Internet, es común, el uso de la estructura Jerárquica [Rojano06].
20.1.3. Clasificación de clientes
La interacción entre un servidor Asterisk y los clientes que se conectan se realiza creando
canales de voz en cada llamada efectuada utilizando distintos protocolos de señalización
como SIP y IAX o luego IAX2.
[Gonçalves07] clasifica tres tipos de clientes que utilizan dichos canales de voz para
comunicarse con el servidor Asterisk. Clientes definidos como:
• Peer: Recibe llamadas desde Asterisk
• User: Efectúa llamadas hacia el Asterisk
• Friend: Recibe y efectúa llamadas al Asterisk
Mientras que [PascualBerthilson06] también establece una clasificación sobre estos tres
tipos pero basándose en las llamadas como entrantes y salientes. Siendo un “User” una
conexión que se autentifica contra el servidor y representa una llamada entrante y un
“Peer” como una llamada saliente. Por su parte el “Friend” se puede comportar como los
anteriores, es decir actúa como una conexión entrante o saliente.
Por otro lado una llamada saliente siempre es de tipo Peer, mientras que una llamada
entrante puede ser de tipo User o Peer en los casos donde un “Peer” actúa como Proxy
de otros terminales IP. En estos casos el Proxy puede redirigir las llamadas al servidor
pero no puede autenticarse como el cliente final. Un teléfono utilizado por un cliente
generalmente se definirá como Friend.
21. Arquitectura
Asterisk posee una arquitectura abierta que permite incorporar nuevas formas de
comunicación a través de los desarrollos de nuevas aplicaciones o la utilización de
nuevos protocolos o Codec que puedan surgir.
Las tecnologías y protocolos de VoIP son tratados como “canales”. Un canal es el
equivalente a una línea telefónica en la forma de un circuito de voz digital.
- 63 -
Capitulo 3 – Funcionalidad de Asterisk Autor: Santos Gustavo Vega
La arquitectura además permite al Asterisk funcionar como un “media gateway” entre los
protocolos utilizados, como un “proxy de señalización” o también realizando las funciones
de “Softswich”.
Gracias a ello un canal puede estar configurado con el protocolo IAX2 con Codec GSM y
se puede comunicar con otro canal configurado con SIP y Codec G711 [Gonçalves07].
Las tecnologías VoIP generalmente utilizadas son SIP, H.323, IAX, BRI, PRI, entre otras.
Asterisk puede ínter operar con casi todos los equipos basados en estándares de
telefonía y soporta gran variedad de interfaces de hardware de telefonía para conectar
los canales de voz.
Arquitectura básica de Asterisk [Astricon05].
Como se observa en la figura anterior, Asterisk contiene motores que realizan diferentes
funciones.
Cuando Asterisk inicia, el cargador dinámico de módulos inicializa los correspondientes
controladores. Dichos controladores se encargan de manejar los canales, los formatos de
archivo, los Codec, y las Aplicaciones.
- 64 -
API de Canales Asterisk
AP
I de
Tra
ducc
ión d
e C
ode
cs
Traductorde Codecs
Lanzador deAplicaciones
Núcleo deCentralita
Temporizador yGestor de
Entradas/Salidas
Cargador deMódulos
API de Aplicaciones Asterisk
AP
I de F
orm
ato
s de
Fic
hero
s A
ster
isk
GSMG723G711MP3
ADPCMALINEAR
Multiconferencia, IVR, Buzón de Voz, Directorio, aplicacionespersonalizadas, ...
GSMsfG723sfWAVMP3
SIP, H323, BRI, PRI, Bancos de Canales, HW específico, ...
Capitulo 3 – Funcionalidad de Asterisk Autor: Santos Gustavo Vega
El núcleo de conmutación de la PBX acepta llamadas telefónicas de las interfaces y las
atiende de acuerdo a las instrucciones encontradas en un plan de discado predefinido.
El núcleo utiliza un lanzador de aplicaciones para llamar a los teléfonos, conectarse al
correo de voz u a otra aplicación, o para seleccionar alguna troncal de salida existente.
La PBX incluye un planificador y gestor de Entradas / Salidas que está a disposición de
los canales y las aplicaciones [Mahler04].
El Traductor de Codec conecta los diferentes Codec utilizados por los canales junto al
correspondiente formato adoptado por las aplicaciones.
La arquitectura incluye diferentes APIs [Mahler04]:
• API de canales: Utilizada para controlar todas las llamadas del sistema, sean
VoIP, analógicas o de cualquier otra tecnología. Permitiéndose el desarrollo de nuevos
canales.
• API de Formato de Ficheros: Utilizada para controlar el formato de ficheros que
pueden ser controlados por el sistema. Los formatos manejados son Wav, GSM, MP3.
• API de Aplicaciones: IVR, MultiConferencia, etc. Permitiéndose desarrollar mas
aplicaciones utilizando AGI (Asterisk Gateway Interface) y en diferentes lenguajes de
programación como C, C++, Perl, PHP, etc.
• API de Traducción de Codec: Utilizada para controlar la traducción de Codecs
entre participantes en una comunicación. Permitiéndose implementar nuevos Codecs.
Los diferentes tipos de interfaces están asociados con diferentes tipos de hardware o
protocolos. Cualquier llamada entrante o saliente se realiza a través de una interfaz.
Cada llamada se coloca o recibe a través de una interfaz en su propio canal.
Un canal se puede conectar a una interfaz física (una línea de la PSTN conectada a una
placa usando el canal ZAP), o bien utilizar un canal lógico con IAX2 o SIP.
21.1.1. Protocolos y Codec Soportados
Asterisk soporta protocolos estandarizados como SIP, MGCP, H.323, SCCP (Cisco
Skinny) y un protocolo específico para Asterisk (IAX o IAX2). Los protocolos de
- 65 -
Capitulo 3 – Funcionalidad de Asterisk Autor: Santos Gustavo Vega
señalización son necesarios para poder establecer las conexiones, determinar el punto
de destino y para manejar el tono de marcado u ocupado, etc.
Podemos observar que los protocolos H.323, SCCP y MGCP (este ultimo puede ser
utilizado en conjunto con H.323, SIP y IAX) han sido muy utilizados en el mercado de
telecomunicaciones, pero mas recientemente se adopta el uso de SIP sobre productos
VoIP [Gonçalves07].
IAX y su sucesor IAX2, proporcionan interoperabilidad y transparencia frente a NAT y
Firewalls. Los teléfonos con IAX2 son totalmente portátiles. El consumo de ancho de
banda puede reducirse en comparación con utilizar H.323 o SIP adoptando el modo
“Trunking” utilizando una única cabecera para el pasaje de varias llamadas. Este modo
puede ser implementado únicamente entre centrales Asterisk quedando exentos los
usuarios que se conecten con IAX2 directamente al servidor.
Asterisk permite que estos protocolos convivan en un mismo sistema de telefonía IP
facilitando su integración [Mahler04]. Hace posible configurar dos PBX-IP con
dispositivos que utilicen H.323 y SIP permitiendo que logren comunicarse entre si e
incluso utilizando IAX2 entre las PBX-IP.
Para lograr la comunicación Asterisk soporta diferentes Codec [Megellen07]:
• Codec de voz: GSM, iLBC, G.711 (ulaw/alaw), G.723.1, G726, G729, Speex y
LPC10.
• Codec de video: H.263, H.263+, H.264 utilizados para llamadas con soporte de
video.
Dichos Codec son negociados al momento de establecer una comunicación entre dos
usuarios, dispositivos o servicios. Asterisk tiene la facultad de generar la traducción
(conversión de Codec) de los flujos de media (voz y video) durante una comunicación.
Algunos Codec requieren el pago de una licencia (G.729 o G.723.1) para su uso, salvo
en modo “Passthrough”.
En el modo “Passthrough”, Asterisk no se encarga de generar la traducción de los flujos
de datos entre las partes. Esta opción no permite que el servidor Asterisk logre grabar, o
- 66 -
Capitulo 3 – Funcionalidad de Asterisk Autor: Santos Gustavo Vega
usar funciones como VoiceMail en tiempo real [Gonçalves07], sin embargo se puede
grabar el flujo y luego hacer las conversaciones en diferido.
Los Codec si bien pueden ser traducidos de unos a otros, es posible que en algunos
casos, esto ocasione inconvenientes disminuyendo la calidad y hasta entorpeciendo la
comunicación.
21.1.2. Limitaciones de la Arquitectura
La utilización de un CPU para procesar los canales de voz en vez de utilizar un DSP
dedicado a cada canal, reduce considerablemente el costo, pero el sistema es muy
dependiente de la performance de la CPU.
[Gonçalves07] recomienda preservar al máximo la CPU que trabaja con el software
Asterisk, implementándolo en una maquina dedicada y en una VLAN (LAN virtual)
especifica para VoIP, probando el dimensionamiento en producción antes de
implementarlo.
22. Integración con la Telefonía convencional
Asterisk ofrece la posibilidad concreta de lograr la interconexión de distintos sistemas de
telefonía con sistemas que utilicen VoIP. Esto se logra mediante la utilización de hardware
dedicado instalado en la PC que contiene el software Asterisk. Dicho hardware es
representado por diferentes interfaces:
• Analógicas: Utilizan las interfaces o puertos FXS para conectar las distintas
extensiones analógicas a bancos de canales o simples aparatos convencionales. Por
otro lado utilizan las interfaces o puertos FXO para conectar líneas telefónicas
convencionales de la PSTN, como una extensión de la central o para utilizarla como
troncal.
- 67 -
En la figura anterior se representan distintas interfaces analógicas producidas por la
empresa Digium Inc. para ser utilizadas con Asterisk [Astricon05].
X100P: Cuenta con 1 puerto FXO y 1 puerto FXS, logrando conectar una línea de la
PSTN con Asterisk e incluso conectar un teléfono analógico. Permite utilizar solo un
canal de voz en simultáneo.
TDM400P: Cuenta con 4 puertos FXS o FXO con la posibilidad de lograr su
combinación y permitiendo conectar hasta 4 líneas de la PSTN o cuatro teléfonos
analógicos. Es posible adquirir los módulos FXS o FXO en forma gradual de acuerdo
a las necesidades de expansión. Permite utilizar hasta 4 canales en forma simultánea.
TE110P: Puede ser utilizada con bancos de canales que administran, por ejemplo,
hasta 30 módulos FXS o FXO (1xE1/T1), y cuando se requiere conectar una gran
cantidad de usuarios [PascualBerthilson06].
Los bancos de canales son dispositivos que múltiplexan líneas analógicas utilizando
una conexión digital hacia la PBX que administra los canales. Pueden utilizarse
bancos de canales de telefonía celular, fija o bien todo aquel sistema que maneje
estándares de telefonía. Esta convergencia de servicios otorga nuevos beneficios y
logra un mejor aprovechamiento de los recursos [Gonçalves07].
RTPC
*
X100P(1 FXO)
TDM400P(4 FXO)
TE110P(30 FXO)
Banco de Canales(modo FXO)
TDM400P(4 FXS)
TE110P(30 FXS)
Banco de Canales(modo FXS)
ASTERISK
También existen placas mas recientes como la TDM800P o la TDM2400P fabricadas
por Digium. La TDM800P es de ocho puertos y permite la inserción de hasta dos
tarjetas hijas con cuatro puertos FXO o cuatro puertos FXS cada una [Meggelen07].
Mientras que la TDM2400 maneja 24 puertos analógicos FXS o FXO. Otros tipos de
tarjetas (Digium) utilizadas en Asterisk pueden ser: TE407P (4 x E1/T1), TE207P (2 x
E1/T1) ambas con supresión de eco, entre otras.
• Digitales: Permiten integrar la Asterisk a la Red Digital de Servicios Integrados
(RDSI) facilitando conexiones digitales de extremo a extremo. Para ello se utiliza
hardware específico con líneas digitales conocidas como “Acceso Básico (BRI)” que
disponen de 2 canales de voz y 1 de señalización o bien utilizando líneas de “Acceso
Primario (PRI)”, las cuales pueden ser T1 o E1 con 24 y 30 canales de voz y 1 de
señalización respectivamente [GomillionDempster05].
En la figura anterior se representan las interfaces RDSI-PRI y RDSI-BRI observando su
interacción con Asterisk y PBXs digitales:
Ambas interfaces son provistas por Digium (por ejemplo modelos B410P de 4 x ISDN
BRI) y permiten al Asterisk utilizar las líneas digitales como troncales o bien lograr que
una PBX digital pueda disponer de los servicios que agrega el uso de Asterisk.
- 69 -
RED RDSI
*RDSI-BRIModo TE
RDSI-PRIModo TE
ASTERISK
PBX conextensiones RDSI
RDSI-BRIModo TE
PBX con líneasRDSI primarias
RDSI-BRIModo NT
RDSI-BRIModo NT
RDSI-PRIModo NT
PBX con líneasRDSI básicas
TerminalesRDSI
Los interfaces RDSI pueden funcionar en modo NT (Network Termination – Terminal de
red) o como TE (Terminal Equipment – Equipo Terminal) [Astricon05]:
Modo NT: Cuando Asterisk puede conectarse con extensiones Digitales o con Centrales
Digitales Tradicionales que tengan conexión RDSI de forma “Maestro”.
Modo TE: Cuando Asterisk puede conectarse con interfaces RDSI (BRI o PRI) o con
Centrales Digitales Tradicionales que tengan conexión RDSI de forma “Esclava”.
Existen numerosas empresas que comercializan placas compatibles con Asterisk, entre
ellas encontramos:
• Digium: X100P, TDM400P, TE110P, TE410P y TE405P, entre otras. (Distribuidor
oficial del hardware y software Asterisk).
• Openvox: Con placas A400P, A1200P, A100P y D110P, entre otras.
• VoiceTronix: Con placas denominadas OpenLine4, OpenSwitch6 y OpenSwitch12.
• Junghanns: Con placas denominadas DuoBRI, QuadBRI y OctoBRI.
• Sangoma: Con placas denominadas A101, A102, A104, A200 y A400.
El utilizar algún tipo de hardware en Asterisk implica lograr ponerlo en funcionamiento y
luego evaluar su performance. Existe un gran soporte brindado por los fabricantes, foros y
la comunidad de software libre en general que ayudan a lograr resultados satisfactorios
[Gonçalves07].
El uso de las interfaces mencionadas anteriormente en una “PBX Asterisk”, permite que
los usuarios conecten sus líneas analógicas o digitales posibilitando la interacción entre
la telefonía convencional y sistemas de telefonía que utilizan VoIP.
Mediante la utilización de proveedores VoIP ubicados en Internet y usuarios remotos
conectados al Asterisk, es posible que ellos puedan utilizar desde el lugar donde se
encuentren las líneas de la PSTN habilitadas o bien las troncales de los proveedores VoIP
disponibles. Todo ello enmarcado en el “escenario” del sistema de telefonía
implementado.
- 70 -
23. Escenarios de uso
Con Asterisk y un dimensionamiento adecuado se puede obtener la misma funcionalidad
que al utilizar distintos equipos propietarios de telefonía convencional (que trabajen como
PBX). Esto se logra mediante una fácil implementación del sistema y eliminando los
costos de licenciamiento.
Al implementar Asterisk pueden plantearse distintos escenarios de uso, los cuales
representan diferentes combinaciones entre Asterisk y los dispositivos utilizados al montar
un sistema de telefonía IP. Con ello se trata de cubrir gran parte de las necesidades de
comunicaciones existentes en un sistema de telefonía IP desde el envío de SMS, FOIP
(Fax sobre protocolo IP), videoconferencias y todo lo que se refiere a VoIP y servicios
agregados.
No existe en primera instancia una solución única y suficientemente poderosa para
solucionar todas las necesidades, al contrario, la flexibilidad y la necesidad de conseguir
la mayor performance posible, obliga de alguna manera, a explorar los requerimientos de
hardware a utilizar, según la cantidad de llamadas o canales simultáneos que se desea
mantener y analizar la dimensión del escenario a implementar dejando de lado la
posibilidad de brindar algún tipo de servicio a cambio de mejorar la performance del
sistema [PascualBerthilson06].
[Megellen07] destaca distintos sistemas teniendo en cuenta la cantidad de canales a
mantener en forma simultánea y recomienda un hardware mínimo necesario para
alcanzar una performance aceptable con Asterisk:
• Sistemas “Hobby”: Capaz de mantener no más de 5 canales simultáneos. En ellos
el hardware mínimo recomendado es con un procesador de 400 MHz x86 con 256 MB
RAM.
• Hogar o pequeña oficina: Capaz de mantener de 5 a 10 canales simultáneos.
Hardware mínimo recomendado 1GHz x86 con 512 MB RAM.
• Empresa pequeña: Capaz de mantener hasta 25 canales simultáneos. Hardware
mínimo recomendado 3GHz x86 con 1 GB RAM.
• Sistema mediano o grande: Capaz de mantener más de 25 canales simultáneos.
En ellos se recomienda disponer de un hardware mínimo basado en CPU duales con
múltiples servidores en una arquitectura distribuida.
- 71 -
Si bien optar por una maquina potente al iniciar un sistema de telefonía IP puede parecer
correcto, el costo puede ser un gran limitante.
A fin de lograr que la inversión sea acorde a lo que se pretende alcanzar se puede utilizar
un marco de referencia como plataforma de decisión a partir de la definición de tres tipos
de sistemas y según el tamaño de los mismos, mejor explicados en [Megellen07]:
• Sistemas Pequeños: en este tipo de sistemas puede verse que con hasta 10
teléfonos puede ejecutarse en forma simultánea los distintos servicios, utilizando
hardware de baja potencia. Aunque esto no es muy recomendable, salvo para
utilizar Asterisk con fines de aprendizaje, con lo cual, se podría construir una
plataforma aceptable utilizando relativamente una CPU de baja potencia.
Por ejemplo al ejecutar varios sistemas con Asterisk en un laboratorio con
procesadores Celeron de 433 MHz a 700 MHz se puede ayudar a conocer todas
sus funciones [Megellen07]. Nótese que la carga de trabajo de estos sistemas
debe ser mínima (nunca más de dos llamadas concurrentes), ante una carga
mayor pueden notarse variaciones sobre la calidad de las llamadas.
• Sistemas Medianos: de 10 a 50 teléfonos, donde las cuestiones de desempeño
serán más difíciles de resolver. En general, en estos sistemas serán utilizados uno o dos
servidores y cada máquina deberá manejar más de una tarea específica. Los usuarios
pueden comenzar a percibir los problemas de calidad a medida que la carga sobre el
sistema aumenta. Por ello es fundamental que los problemas de rendimiento se
identifiquen antes de que sean percibidos por los usuarios y así poder actuar rápidamente
sobre ellos, esta es una de las claves para mejorar la calidad sobre una plataforma de
telefonía IP.
• Sistemas Grandes: para más de 120 teléfonos, utilizando una plataforma
distribuida a través de varios sistemas y sitios, controlando el rendimiento a través de
distintas máquinas. La construcción de un gran sistema requiere además un nivel
avanzado de conocimientos en diferentes disciplinas [Megellen07].
La evaluación del tipo de sistema que se pretende construir junto al análisis de los
requerimientos de hardware necesarios, nos permiten explotar el potencial de Asterisk
cumpliendo con necesidades y propósitos específicos.
- 72 -
Para evaluar como Asterisk (implementado como una PBX-IP) utiliza VoIP, es
recomendable trabajar sobre alguno de los tantos escenarios posibles, entre ellos
encontramos [GomillionDempster05]:
Escenario 1:
Asterisk como una PBX-IP que interactúa con la Red de Telefonía Pública Conmutada
(RTPC), un proveedor de telefonía IP situado en Internet y diferentes tipos de
extensiones (Softphone, Teléfonos IP y Teléfonos convencionales).
El ejemplo anterior representa uno de los sistemas mas simples que pueden obtenerse
con Asterisk [Astricon05].
En este escenario se alcanza la utilidad de una PBX convencional y a la cual pueden
sumarse funciones adicionales manejadas por Asterisk como música en espera,
voicemail, respuesta de voz interactiva, etc.
En la integración con la RTPC se utiliza una placa con interfaz FXO para cada línea
convencional conectada al Asterisk (funcionando como un “media gateway” entre la RTCP
y la red IP). Al integrar extensiones analógicas, como aparatos convencionales, se utiliza
una interfaz FXS para cada uno de ellos. Además puede utilizarse una PC con Softphone
- 73 -
*Extensión IAX
Operador IP
PC con SoftPhone
Internet
ASTERISK
RTPC
Extensión SIP
ExtensiónAnalógica 1
ExtensiónAnalógica 2
en cuyo caso no es necesario disponer de una placa con interfaz FXS. O bien conectar a
la red de datos, teléfonos IP que manejen los protocolos SIP o IAX.
Esta solución puede ser utilizada en pequeñas y medianas empresas ofreciendo gran
funcionalidad y reduciendo los costos en comunicaciones (con la utilización de
proveedores VoIP). Por otro lado la empresa deberá disponer de una infraestructura de
datos y un acceso a Internet [Gonçalves06]. Asterisk manejara los usuarios de las
distintas extensiones permitiendo que ellos utilicen las troncales hacia la RTPC o bien las
troncales definidas de distintos proveedores VoIP.
Escenario 2:
Asterisk integrado a una central tradicional aportando nuevos servicios.
En casos donde es necesario sumar funcionalidad a nuestra central tradicional, Asterisk
puede ser integrado a esta, lo cual nos brinda escalabilidad para ir migrando de una
plataforma de telefonía convencional a una plataforma que utilice VoIP. Además permite
expandir el alcance de la PBX, utilizando algún proveedor de telefonía IP en Internet, con
una reducción importante de costos.
- 74 -
*Internet
ASTERISK
RTPC
ExtensiónAnalógica 1
ExtensiónAnalógica 2
Centralita Tradicional
ExtensiónAnalógica 1
ExtensiónAnalógica 2
Centralita Tradicional
Operador IP
Para lograr la interacción en este caso es necesario disponer de una placa con interfaz
FXS para conectar la central tradicional con Asterisk y una interfaz FXO para conectar las
líneas provenientes de la RTPC [Gonçalves07].
En la figura anterior puede observarse el esquema de conexión utilizado por una central
de telefonía tradicional (Circuito de color Negro) junto al esquema de conexión utilizado
con Asterisk trabajando en conjunto con una central tradicional (Circuito de color Rojo) y
un proveedor VoIP en Internet [Astricon05].
Escenario 3:
Oficinas interconectadas a través de Internet con un Asterisk centralizado.
Este esquema puede ser utilizado, por ejemplo, para intercomunicar distintas oficinas con
la oficina central donde se aloja la PBX-IP (como se observa en la figura anterior)
[Astricon05].
Las oficinas pueden estar ubicadas a grandes distancias y utilizar un acceso a Internet
(utilizando tecnología DSL o una VPN) para conectarse al Asterisk, el cual posee las
funcionalidades de un Media Gateway brindando sus servicios o poniendo a disposición
- 75 -
*
ASTERISK
Extensión 101 Extensión 102
RTCP Internet
xDSL Router
Extensión 201 Extensión 202
xDSL RouterExtensión 301 Extensión 302
xDSL Router
Extensión 401 Extensión 402
xDSL Router
Oficina 1
Oficina 2
Oficina 3
Oficina 4
las líneas de la RTCP de la casa matriz, ahorrando el costo de llamadas entre oficinas y
haciendo posible encaminar las llamadas entrantes desde la RTCP hacia cualquier oficina
remota sin que ello implique un costo [Gonçalves07].
Puede crearse un plan de numeración y asignar a cada oficina un segmento de números
(Ver figura anterior) permitiendo a los respectivos usuarios utilizar las líneas
convencionales de la casa matriz (por ejemplo, al anteponer el numero “9” el plan de
numeración utilizara la troncal de salida a la RTPC).
Escenario 4:
Oficinas interconectadas a través de Internet, situadas en distintas provincias y con
sistemas Asterisk interconectados.
El disponer de varios sistemas Asterisk interconectados como se observa en la figura
anterior (Circuito de color Azul) permite balancear las comunicaciones y el acceso a los
servicios favoreciendo la performance del sistema de telefonía IP [Astricon05].
- 76 -
*
ASTERISK
Extensión 101 Extensión 102
RTCP
Internet
xDSL Router
Oficina 1
*
ASTERISK
Extensión 101 Extensión 102
xDSL Router
Oficina 2
*
ASTERISK
Extensión 101 Extensión 102
xDSL Router
Oficina 3
Provincia A
Provincia B
Provincia C
Puede crearse un plan de numeración único para las oficinas ubicadas en las distintas
provincias y lograr que cada una de ellas pueda utilizar, para recibir o realizar llamadas,
las líneas convencionales de las demás oficinas.
Cada oficina debe contar con acceso a Internet y disponer de una infraestructura de datos
además de un servidor Asterisk con placas FXO para interconectar las líneas
convencionales. Cada servidor podrá disponer de sus propios servicios de valor
agregado.
En todo escenario posible las llamadas entre los usuarios y el servidor Asterisk son
gratuitas eliminando el costo de llamadas de larga distancia, mientras que las llamadas
tendrán a líneas convencionales o celulares, que utilicen las troncales de la RTPC
(Circuito de color Marrón), pueden acarrear algún costo.
Aunque utilizar proveedores VoIP, en llamadas internacionales o de larga distancia puede
resultar más económico. Asterisk ofrece funciones que permiten que las llamadas sean
encaminadas evaluando la salida menos costosa.
24. Aplicaciones y Servicios
Asterisk posee diferentes aplicaciones, algunas de ellas son cargadas e incluidas en los
módulos por defecto que conforman el núcleo del sistema y otras se pueden incorporar a
través de módulos adicionales (como Asterisk-addons) [Gonçalves07].
Es posible obtener una lista de las aplicaciones disponibles ingresando el comando
“core show applications” desde la consola de Asterisk (CLI>).
Las aplicaciones son las encargadas de controlar el sistema y el comportamiento de las
llamadas. Pueden ser ejecutadas desde la consola o invocadas desde alguna interfaz
grafica.
Gran parte de la funcionalidad de Asterisk se basa en dichas aplicaciones y con ellas
pueden ofrecerse una gran variedad de servicios. Además, es posible extender la
funcionalidad de la central usando las interfaces AMI y AGI, las cuales permiten al Asterisk
interactuar con programas externos desarrollados en distintos lenguajes, tales como C,
php, Perl, etc.
- 77 -
Cada una de las aplicaciones que Asterisk puede manejar internamente y cada uno de los
comandos que pueden utilizarse a través del CLI> de Asterisk son presentados por
[Megellen07] alfabéticamente y en forma descriptiva.
Debido a que existe una gran cantidad de aplicaciones bajo el entorno Asterisk, en este
trabajo se mencionará a algunas de las más utilizadas para brindar los servicios más
conocidos.
Asterisk utiliza un plan de discado (Dial Plan) para manejar el comportamiento lógico de la
central. Dicho plan es representado por el archivo “/etc/asterisk/extensions.conf”, cuya
estructura contempla las secciones “General”, “Globals” y “Contextos” (con sus
“Extensiones” y “Prioridades” correspondientes). Es considerado el archivo de
configuración más importante por que define la conmutación y el comportamiento de toda
llamada entrante o saliente ejecutando las aplicaciones definidas en el plan de discado
[Gonçalves07].
El plan de discado es una colección de contextos y cada contexto es una colección de
extensiones. Dichas extensiones contemplan una lista de comandos o aplicaciones a
ejecutar.
Asterisk ejecuta las aplicaciones (Answer, Dial, Hangup, etc.) de forma secuencial y de
acuerdo a la prioridad (representada por números enteros) indicada en la definición de
cada extensión perteneciente a un contexto en particular.
Existen determinadas aplicaciones que tienen su propio archivo de configuración como es
el caso de: “meetme.conf” (para sala de conferencias), “queues.conf” (para colas de
llamadas), “voicemail.conf” (para el buzón de voz) o “musiconhold.conf” (para música en
espera).
El solo hecho de invocar a dichas aplicaciones (correctamente configuradas) implica que
estemos en condiciones de brindar el servicio que representan.
Sin embargo para servicios como “IVR” (Sistema de respuesta de voz interactivo) es
posible utilizar una combinación de aplicaciones, dado que ante una llamada el sistema
generalmente dará una serie de opciones (en forma audible) las cuales pueden invocar
aplicaciones distintas [GomillionDempster05].
- 78 -
Asterisk impone una diferencia que radica en la capacidad de brindar servicios de valor
agregado a las comunicaciones de voz sobre IP, sin influir en el costo de adquirir o sumar
nuevo hardware. Solo será necesario programar el “Dial Plan” utilizando aplicaciones
nuevas o ya existentes dotando de nueva funcionalidad a la central. Para ello deberemos
tener en cuenta la performance del servidor a implementar a la hora de sumar servicios,
dado que una elevada carga sobre el sistema puede ocasionar problemas en las
comunicaciones de voz.
Asterisk puede funcionar como una PBX-IP y a la vez convertirse en un servidor de
aplicaciones, siendo posible distribuir la carga ocasionada por los servicios sobre distintos
servidores interconectados entre si.
Entre los más conocidos, encontramos:
• Servidor de correo de voz: Donde es posible capturar los mensajes en el buzón de
voz cuando el usuario se encuentra ocupado o indisponible y luego enviarlo como archivo
adjunto a una casilla de mail determinada y en forma automática. Este servicio no
representa un costo adicional [Mahler04].
• Sistema de mensajería unificada: donde todos los mensajes (fax, mail y correo de
voz) son encaminados hacia un mismo lugar (como la casilla de mail del usuario).
• Servidor de conferencias de voz: Las salas de conferencia tienen el fin de
mantener conversaciones entre varios usuarios. Los usuarios discan una extensión y se
autentifican al ingresar en una sala determinada formando parte de una conversación
grupal donde todos los miembros escuchan al resto y donde puede designarse un
moderador que controle dicha sala [Gonçalves07].
• Sistema de respuesta de voz interactivo (IVR): son muy utilizados para gestionar u
organizar las llamadas entrantes por medio de un menú de selección, donde el llamante
escucha una serie de opciones y puede elegir una de ellas logrando interactuar con
distintos sectores u aplicaciones [GomillionDempster05].
• Unidad de respuesta automática (URA): Orientada a obtener información, ya sea
de sistemas de atención de pedidos o sistemas de consulta de stock o precios, etc.
• Distribuidor automático de llamadas (DAC): los usuarios se autentifican para
ingresar en una fila o cola de atención de llamadas, el distribuidor reenvía la llamada (en
forma automática) al primer usuario que encuentre disponible. En caso que ningún
usuario se encuentre disponible el sistema mantendrá las llamadas encoladas y podrá
- 79 -
emitir algún mensaje o reproducir música en espera hasta que se libere un usuario. Este
servicio puede verse como un sistema de llamadas rotativas, aunque puede llegar a ser
más sofisticado [Gonçalves07].
• Discado Automático: es muy utilizado en telemarketing, programando al sistema
para que realice marcaciones en forma automática pudiendo distribuirlo en una fila de
llamadas. El concepto de “predictive dialer o marcador predictivo”, se basa en obtener una
lista de números telefónicos (por ejemplo, desde una basa de datos) y de marcar en
forma automática dichos números. Cuando el destino (cliente) atiende la llamada, el
sistema contacta a un representante y le pasa la llamada.
• Centros de llamada (Call Centers): vemos que el costo de este tipo de servicios
puede reducirse utilizando VoIP, Asterisk ofrece aplicaciones para desarrollarlos de
manera eficiente, utilizando servicios de IVR, DAC, llamada en espera y grabación de
llamadas, entre otras.
• Tarjeta telefónica: Es posible utilizar un número de acceso (Ej. 0800) donde los
usuarios efectúen una llamada desde la red de telefonía básica y luego se autentifiquen
con un número de tarjeta, logrando discar a cualquier lugar del mundo utilizando VoIP
[Gonçalves07].
• Otros servicios: Registro, Monitorización, Grabación, Enrutamiento, Transferencia
e Identificación de llamadas. Listas Negras, Llamada en espera, Recepción y envió de
Fax, Música en espera, Mensajería SMS, etc. También es posible utilizar aplicaciones
como “Festival” la cual permite convertir un texto simple en voz digitalizada.
Podemos concluir que el uso de aplicaciones internas o externas y su combinación
utilizando el “Dial Plan o plan de discado” y las interfaces “AMI” o “AGI”, permiten formar
distintos tipos de servicios, los cuales serán enfocados de acuerdo al escenario de uso a
implementar y el alcance del mismo, procurando mantener una performance aceptable.
- 80 -
Capitulo 4 – Infraestructura necesaria Autor: Santos Gustavo Vega
Capitulo 4
“Una experiencia nunca es un fracaso, pues siempre viene a demostrar algo.”
Thomas A. Edison
25. Infraestructura necesaria
La correcta elección de los componentes que formarán la infraestructura del sistema de
VoIP a implementar, requieren investigación y análisis, del servidor, los teléfonos y los
dispositivos o conexiones a utilizar entre ellos.
A la hora de implementar una PBX-IP con Asterisk debemos analizar el escenario de uso
en el cual vamos a trabajar. Por ejemplo, al utilizar telefonía IP sobre una red LAN (con
usuarios dentro de una misma organización, empresa u hogar) o bien si los usuarios se
conectaran en forma remota o intercomunicando distintas sucursales, en cuyos casos
además deberemos contar con acceso a Internet o utilizar una VPN.
La definición de la infraestructura necesaria impactará en forma directa sobre la inversión
que debamos realizar [PascualBerthilson06].
El análisis sobre el escenario nos ayudará a determinar:
• Equipamiento terminales: Teléfonos IP, ATAS con Teléfonos analógicos o PC con
Softphone.
• Tipo de enlace: Wireless, Satelital, Ethernet (utilizando cableado estructurado).
• PBX-IP o PBX híbrida: PC con Asterisk instalado con recursos suficientes
(capacidad del procesador, memoria, espacio en disco, etc.) para manejar la cantidad de
llamadas simultáneas requeridas y los servicios implementados. Definiendo si es
necesario contar con interfaces de hardware para Asterisk en casos donde la PBX-IP
deba oficiar de Gateway con la PSTN. O bien utilizar algún proveedor de VoIP externo
(Internet), para lograr la interacción con la PSTN.
• Seguridad en la red: Deberemos evaluar los dispositivos o medios necesarios para
proteger la red.
• Calidad de servicio: Mediante la utilización de dispositivos que implementen QoS,
dando prioridad al tráfico de voz con el objetivo de minimizar los retardos.
Capitulo 4 – Infraestructura necesaria Autor: Santos Gustavo Vega
En el siguiente esquema podemos observar, dentro de la línea punteada, una red privada
que interconecta una PC (que contendrá al servidor Asterisk), una PC con Softphone, un
ATA conectado a un teléfono analógico y un teléfono IP.
Con esa infraestructura estaremos en condiciones de utilizar telefonía IP dentro de
nuestra red privada. Fuera de la línea punteada se representa el acceso a Internet a
través de un Proveedor VoIP, el cual permita lograr la interacción con la PSTN, o bien,
conectar usuarios remotos [Meza05].
26. Equipos terminales
La infraestructura puede estar formada por diferentes “equipos terminales” (teléfonos
basados en hardware y/o software, ATA’s, máquinas de fax, módems y PBX).
Entre los equipos terminales destacamos dos subgrupos:
• Basados en Hardware
• Basados en Software
Cada subgrupo presenta sus propias ventajas y desventajas. La gran variedad y el precio
pueden dificultar la elección. La funcionalidad, el diseño y la disponibilidad pueden influir a
la hora de adquirir un equipo terminal.
La elección entre utilizar uno u otro es tan importante como elegir y dimensionar la PBX-
IP. [GomillionDempster05] recomienda, estar seguro que los usuarios utilizarán el equipo
elegido y que este será fiable y asequible.
- 82 -
PSTN
ProveedorVoIP enInternet
Capitulo 4 – Infraestructura necesaria Autor: Santos Gustavo Vega
26.1.1. Equipos basados en Hardware
Básicamente son dispositivos físicos que permiten realizar comunicaciones de voz. Entre
los dispositivos basados en hardware encontramos los Teléfonos analógicos
convencionales (Fijos o inalámbricos), Teléfonos IP, los ATA (Adaptador de teléfono
analógico) y también los Teléfonos-Fax.
Cuando un ser humano habla, crea una compleja variedad de sonidos. El propósito de
todo teléfono es capturar estos sonidos y convertirlos en un formato adecuado para lograr
su transmisión sobre un determinado medio [Kelly05].
En un Teléfono Analógico, se transmite la señal analógica sobre las líneas telefónicas de
la PSTN y hacia el destino. Existe una gran variedad de modelos, calidad y precios. Su
uso es universal [Meggelen07].
Los Teléfonos IP tienen la apariencia de un teléfono analógico convencional pero
incorporan un conector RJ45 (interfaz ethernet) para conectarlo directamente a una red
IP. No pueden ser conectados a líneas telefónicas de la PSTN. Manejan diferentes
protocolos y codecs de VoIP [PascualBerthilson06].
Transforman la voz del usuario en paquetes IP que luego serán encaminados hacia una
red IP. Generalmente incluyen interfaz Web para su configuración. Son fabricados por
diferentes empresas (entre ellas Cisco Systems, Polycom y Siemens).
La relación precio-calidad obedece, según [JacksonClark07] a "usted obtiene lo que
paga". Su utilización en los próximos años causará una revolución en la industria de las
telecomunicaciones [Meggelen07].
Algunas de las características que deben tenerse en cuenta al elegir un teléfono IP son
[PascualBerthilson06]:
• Ancho de banda reducido: mediante la inclusión de codecs de alta compresión
(como G.729, gsm, speex, etc.).
• Administración amigable: que incluya interfaz de administración web.
- 83 -
Capitulo 4 – Infraestructura necesaria Autor: Santos Gustavo Vega
• Salida de audio: que disponga de una salida externa de audio y soporte de manos
libres.
Los Adaptadores de Teléfonos Analógicos (ATA) permiten utilizar los teléfonos
analógicos convencionales transformando su señal analógica en paquetes IP (utilizando
codecs) que luego serán encaminados hacia una red IP.
Incorporan (según el modelo) una o dos interfaces RJ45 para conectar una red LAN o
WAN y una o más interfaces RJ11 para conectar los teléfonos analógicos. Las terminales
RJ11 funcionan como interfaces FXS sobre los teléfonos (FXO). Generalmente incluyen
interfaz Web para su configuración. Son equipos que necesitan alimentación eléctrica
[JacksonClark07].
Suelen ser más económicos que los teléfonos IP, existen gran variedad de modelos y
permiten conectar teléfonos convencionales (fijos o inalámbricos), un fax, o también
cabinas telefónicas.
[PascualBerthilson06] recomienda su uso en regiones en desarrollo como alternativa a
utilizar teléfonos IP (basándose en el costo de uno u otro). El precio dependerá de la
marca, cantidad de puertos, protocolos y codec que soporten.
26.1.2. Equipos basados en software
Los Softphone son programas que emulan un teléfono VoIP y para ello utilizan el
procesador de una PC, la cual debe disponer de una tarjeta de sonido, micrófono y
parlantes o auriculares.
La voz es capturada por el micrófono y convertida en paquetes IP por el software,
utilizando los Codec y protocolos que soporte.
Existe una gran variedad de Softphone, los hay propietarios, con costo, gratuitos y
basados en protocolos abiertos o cerrados. Además se encuentran versiones para los
distintos sistemas operativos.
- 84 -
Capitulo 4 – Infraestructura necesaria Autor: Santos Gustavo Vega
La calidad de sonido de un Softphone dependerá en gran medida de los recursos
disponibles en la PC, la calidad del software utilizado, del tipo de Codec y de la
performance de la red de datos entre el PC y nuestro servidor Asterisk
[GomillionDempster05].
Al utilizar un Softphone debemos procurar que el cortafuego instalado en la PC no este
bloqueando a la aplicación en cuestión.
Si bien el costo y la facilidad de configuración que presentan, son sus grandes ventajas,
es común que los usuarios estén familiarizados a los teléfonos basados en hardware
[JacksonClark07].
Puede considerarse como desventaja que la utilización del Softphone esta ligada a la PC,
por lo que ante una falla en el ordenador no se podrán establecer llamadas telefónicas
[PascualBerthilson06].
Existen aplicaciones (como Gtalk, Gizmo o Skype) que ofrecen un conjunto de opciones
como: mensajería instantánea, casilla de mail y que permiten realizar llamadas VoIP,
inclusive hacia o desde la PSTN. Otra de las funciones que brindan algunos Softphone es
soporte para video llamada o videoconferencia.
La evolución del mercado de telecomunicaciones apunta a alejarnos de la telefonía
tradicional y orientarnos hacia una cultura de comunicaciones multimedia, bajo el
concepto del “Triple Play” [Meggelen07].
Asterisk podrá interactuar con cualquier Softphone que utilice los protocolos
estandarizados SIP o H323, como también el protocolo propio de Asterisk, IAX2.
Durante este trabajo se han utilizado algunos de ellos (particularmente basados en SIP y
IAX2), para realizar comunicaciones de voz sobre IP.
Al elegir un Softphone debemos evaluar:
• Versiones gratuitas o con costo de licenciamiento.
• Lista de Codec que puede manejar.
- 85 -
Capitulo 4 – Infraestructura necesaria Autor: Santos Gustavo Vega
• Protocolos que soporta.
• Ofrezca una configuración amigable.
• Funciones adicionales que presenta (Transferir, manejar más de una llamada,
agenda, etc.).
• Disponibilidad en diferentes plataformas.
En la siguiente tabla podemos observar algunos Softphone, indicando con una “X”, el
soporte de los protocolos SIP y IAX2 (para su interacción con Asterisk) y la disponibilidad
presentada en las distintas plataformas.
Cabe destacar que existen muchos más Softphone (libres, gratuitos y con costo) que los
presentados a continuación.
Nombre SIP IAX2Soporte de
videoWindows
Linux MAC
X-Lite X - X X X XZoiper X X - X X XExpress Talk X - - X - -SNOM-360 X - - X - -Kiax - X - X X -Wildix - X - X - -SJphone X - - X X XIaxcomm - X - X X XLinphone X - X X X -Stanaphone X - - X - -Idefisk 2.0 X X - X X XKapanga X - X X - -BOL SIPPhone X - X X - -
Luego de evaluar las características mencionadas anteriormente y seguir el proceso de
instalación y configuración correspondiente hemos optado por utilizar en el sistema de
telefonía IP basado en Asterisk, los siguientes Softphone:
• X-Lite: Posee una interfaz amigable y de fácil configuración, con soporte para
video llamada, disponible para los sistemas operativos más utilizados y en distintas
versiones. Solo utiliza el protocolo de señalización SIP.
• Zoiper: Interfaz amigable y de fácil configuración, permite utilizar tanto el protocolo
IAX2 como el estándar SIP. No posee soporte de video y se encuentra disponible para los
sistemas operativos más utilizados.
- 86 -
Capitulo 4 – Infraestructura necesaria Autor: Santos Gustavo Vega
• Express Talk: Interfaz amigable, permite establecer varias comunicaciones en
simultáneo, ofrece gran variedad de funciones. Utiliza el protocolo de señalización SIP y
solo se encuentra disponible para Windows.
• Kapanga: Interfaz amigable y con gran cantidad de parámetros de configuración,
con soporte para diferentes Codec de audio y video. Utiliza el protocolo de señalización
SIP y solo se encuentra disponible para Windows.
En el ANEXO A encontraremos, a modo de tutorial, como instalar y configurar dichos
programas.
27. Dimensionando el servidor
La utilización de Asterisk en un servidor permite disminuir los costos vinculados con el
licenciamiento por la utilización del software, o pagar por la cantidad de extensiones que
tengamos en nuestro sistema de telefonía IP, ello nos permite destinar la inversión sobre
el hardware necesario, contribuyendo a optimizar el rendimiento del equipo. A si mismo,
Asterisk no requiere grandes recursos de hardware para poder funcionar. Gran parte de la
performance del sistema estará dada en función de los servicios a brindar.
Para conformar un servidor Asterisk (Sistema de Testeo) y explorar su funcionamiento
bastará con un procesador superior a un Pentium 300Mhz con 256 RAM y cerca de 100
MB (compilados) de espacio en disco, más el código fuente y algunos servicios por
defecto [Gonçalves07].
Para [GomillionDempster05] bastará con 64MB de RAM para correr Asterisk y crear un
sólido sistema telefónico. [JacksonClark07] coincide con este último y agrega que es
posible recortar el consumo de RAM al no utilizar plataformas con módulos gráficos.
Para [Meggelen07] la elección del servidor en un esquema de testeo, es simple y requiere
poco hardware, mientras que para sistemas en producción la elección del hardware
deberá ser acorde al sistema a implementar y a la funcionalidad que se desee brindar.
Al dimensionar un servidor (Sistema en producción) debemos tener en cuenta:
• Sistema con carga elevada: Cuando existen grandes cantidades de llamadas en
simultáneo (Asterisk utiliza el procesador del CPU para procesar los canales de voz) se
- 87 -
Capitulo 4 – Infraestructura necesaria Autor: Santos Gustavo Vega
puede producir un uso intensivo del procesador que afecte la performance del sistema. La
velocidad del procesador es la característica más importante a la hora de buscar un
servidor para correr Asterisk. La potencia de procesamiento, determina la capacidad de
respuesta del sistema cuando es sometido a fuertes cargas [JacksonClark07].
• Utilización de Codec y Protocolos: Al utilizar diferentes codec en una sola
comunicación, el procesador tiene la sencilla tarea de "Codificar" la conversación
realizando el pasaje de un codec a otro, sin embargo, cuando el servidor comienza a
tener que codificar múltiples conversaciones al mismo tiempo, puede producirse un
“cuello de botella” y las conversaciones empezarán a sufrir retrasos.
La utilización de codecs de alta compresión también impacta sobre la performance
del sistema [Meggelen07]. Por otro lado, el uso de distintos protocolos, acusa un
problema similar, excepto que en lugar de convertir el audio, se necesitan
“Traducir” los protocolos utilizados [JacksonClark07].
• Espacio suficiente en disco: si bien Asterisk no requiere gran cantidad de espacio
para funcionar, debemos analizar los servicios adicionales que vamos a utilizar (Buzón de
voz, Grabaciones de llamadas, Música en espera, Detalles de llamadas, Unidad de
respuesta automática, etc.) por que todos ellos en conjunto requieren de un mayor
espacio disponible [JacksonClark07].
• Utilización de placas en el servidor: Asterisk puede utilizar diversas placas para
conectar equipos terminales o líneas de la PSTN, en estos casos debemos evaluar la
disponibilidad de Slots PCI de la placa madre y tratar de evitar posibles conflictos de
interrupciones (al compartir IRQs), lo cual puede causar problemas en la calidad del audio
al utilizar las placas. [Gonçalves07] recomienda deshabilitar el mayor número de
dispositivos que utilicen IRQs (desde el BIOS) y que no vayan a utilizarse.
[Meggelen07] agrega que la utilización de varias placas sobre el mismo servidor,
puede producir latencia, ocasionada por los conflictos de interrupciones y
recomienda utilizar placas de mayor densidad ante la necesidad de sumar
conectividad.
27.1.1. Elección del sistema operativo
Como parte de la infraestructura necesaria para nuestro sistema de telefonía IP debemos
seleccionar un sistema operativo adecuado para el servidor que contendrá al Asterisk.
- 88 -
Capitulo 4 – Infraestructura necesaria Autor: Santos Gustavo Vega
Asterisk puede ser implementado en diversas plataformas (BSD, Windows y Linux).
Originalmente fue desarrollado y testeado sobre Linux y es sobre el cual se brinda mayor
soporte.
Las distribuciones basadas en Linux como RedHat, Mandrake, Fedora, Debian,
Slackware, Suse, Ubuntu y Gentoo permiten utilizar Asterisk con un mínimo de
requerimientos de hardware [Gonçalves07]. Asterisk es soportado sin problemas por la
versión 2.6 del kernel de Linux [Meggelen07].
La elección del sistema operativo estará ligada al tipo de sistema que vayamos a
implementar. [Gonçalves07] recomienda utilizar alguna de las distribuciones de Linux
antes mencionadas, las cuales han sido testeadas con Asterisk, obteniendo resultados
satisfactorios [PascualBerthilson06].
Otra forma de explorar Asterisk y probar su funcionamiento consiste en utilizar una
maquina virtual (por ejemplo utilizando el software VMware).
La virtualización de sistemas operativos es muy utilizada y nos permite explorar nuestra
PBX-IP sin necesidad de utilizar una maquina especifica para ello.
Si bien esto es una ventaja (por que ahorra costos de hardware) no es lo indicado para
sistemas en producción ya que la calidad de sonido puede verse afectada por el alto
consumo de memoria y procesador [Meggelen07]. Las diferentes versiones de Asterisk
pueden ser obtenidas y utilizadas con esté tipo de software (VMware).
28. Versiones de Asterisk
Asterisk se desarrolla bajo un modelo que utiliza el sistema de control de versiones
“Subversión”, el cual permite gestionar el desarrollo de las diferentes versiones del
proyecto, además incorpora un procedimiento de informe de errores denominado
“Asterisk Bug Tracker”. Este último cuenta a su vez con un sistema de méritos,
denominado “Karma”, con el cual se crea un ranking de los colaboradores del proyecto,
de acuerdo con una puntuación (positiva o negativa) otorgada según los aportes que han
realizado [WikipediaAsterisk].
- 89 -
Capitulo 4 – Infraestructura necesaria Autor: Santos Gustavo Vega
En 1999 se liberó la primer release “Asterisk 0.1.0” bajo licencia GPL2, pero en poco
tiempo se lanzó la release “Asterisk 0.1.1” en la cual se modificaron diferentes bugs y
determinadas cláusulas de licenciamiento, pasando a ser simplemente GPL (General
Public License). Luego, se produjo una mejora constante a través del desarrollo de
sucesivos releases desde “Asterisk 0.2.0” (Año 2002), hasta “Asterisk 1.0.0” (Año 2004).
Asterisk se compone de diferentes módulos y cada módulo cuenta con una versión
estable y una versión en desarrollo. Dichos módulos son:
• Asterisk: Ficheros base del proyecto.
• Zaptel: Soporte para hardware. Drivers de tarjetas.
• Addons: Complementos y añadidos del paquete Asterisk. Opcional.
• Libpri: Soporte para conexiones digitales. Opcional.
• Sounds: Aporta sonidos y frases en diferentes idiomas.
La forma de identificar las versiones se realiza mediante la utilización de tres números
separados por un punto. Teniendo desde el inicio como primer número el uno, el segundo
número indica la versión, y el tercero muestra la revisión liberada. En las revisiones se
llevan a cabo correcciones, pero no se incluyen nuevas funcionalidades.
En las versiones de desarrollo el tercer valor siempre es un cero, seguido de la palabra
"beta" y un número, para indicar la revisión [Meggelen07].
Gracias al gran aporte de los desarrolladores del proyecto, en Noviembre del 2005, se
liberó la versión “Asterisk 1.2.0” logrando mantener en gran parte la compatibilidad hacia
atrás con Asterisk 1.0.x, en cuanto a los archivos de configuración. Se introdujeron
nuevas funcionalidades y módulos. Los distintos releases continuaron la mejora de esta
versión hasta llegar a la versión Asterisk 1.2.30 (en Julio del 2007) [Digium08].
A partir de agosto del 2007, el desarrollo de la versión de Asterisk 1.2.x ha sido
discontinuado y solo se brinda soporte sobre cuestiones de seguridad.
En Diciembre del 2006 se comenzó a trabajar en la versión “Asterisk 1.4.0” en forma
paralela a la versión 1.2.x (que en ese entonces disponía de versión estable y en
- 90 -
Capitulo 4 – Infraestructura necesaria Autor: Santos Gustavo Vega
desarrollo) [Digium08]. Con el desarrollo de la versión 1.4 se consiguió sumar nueva
funcionalidad y se introdujeron nuevos cambios como en la estructura de archivos y
aplicaciones.
La versión Asterisk 1.2.x ha sido muy utilizada pero actualmente no posee mantenimiento,
por lo cual a la hora de actualizar cualquier versión del sistema se recomienda leer el
archivo “Upgrade.Txt” que contiene un detalle de los cambios realizados sobre la versión
anterior. Las funcionalidades y añadidos que no podían ser incluidas en el núcleo se
fueron incorporando al paquete “Addons". Luego de varios releases y correcciones se
alcanzó una versión estable de Asterisk 1.4. En julio del 2008 se lanzó el release Asterisk
1.4.21.2.
[Digium08] destaca que la mitad de las nuevas funcionalidades en la versión 1.4 han sido
desarrolladas por los miembros de la comunidad.
En enero del 2008 se dio comienzo al desarrollo de la versión Asterisk 1.6.0-Beta1 la cual
aporta mejoras sobre diferentes aplicaciones, canales, videoconferencia, entre otros. Está
última versión es puesta a prueba e incluye cambios en la forma de realizar los distintos
releases siendo lanzados en periodos más cortos de tiempo (cada uno o dos meses)
[Rojano08].
En marzo del 2008 se alcanzó la versión 1.6.0-Beta9. Las versiones de cada moduló
consideradas estables o en desarrollo pueden descargarse desde la página oficial de
Digium (http://downloads.digium.com/pub/asterisk/).
Una de las grandes diferencias entre las versiones se refleja sobre los cambios del
moduló Zaptel, encargado de controlar las placas que pueden ser conectadas al Asterisk.
En las nuevas versiones se comenzará a utilizar DAHDI (Digium Asterisk Hardware
Device Interface), este paquete posee dos módulos de Linux:
• (DAHDI-Linux) para soporte del hardware.
• (DAHDI-Tools) herramientas para la gestión del mismo.
Dicho cambio impactará de la siguiente forma:
• Asterisk 1.2 será compatible únicamente con Zaptel.
- 91 -
Capitulo 4 – Infraestructura necesaria Autor: Santos Gustavo Vega
• Asterisk 1.4 tendrá que adaptarse a utilizar tanto el paquete Zaptel como el nuevo
DAHDI. Según [Rojano08] la versión de Asterisk 1.4.22-rc3 es la primera con soporte
nativo de DAHDI.
• Asterisk 1.6 únicamente soportará DAHDI.
Actualmente se recomienda utilizar la versión 1.4 para sistemas en producción debido a
que las versiones 1.0 y 1.2 se consideran discontinuadas y sin mantenimiento. Mientras
que la 1.6 se encuentra en fase “Beta” (Fase de prueba) [WikipediaAsterisk].
28.1.1. Variantes de instalación
La instalación de Asterisk puede realizarse de dos formas:
• Instalación desde la línea de comandos: una vez definido e instalado el sistema
operativo (por lo general Linux) podremos realizar la descarga de las fuentes de Asterisk
(desde el sitio oficial de Digium), compilar e instalar los módulos necesarios (Asterisk,
Zaptel, Libpri, etc.) desde la línea de comando de Linux.
Esto puede parecer una tarea compleja o al menos que requiere ciertos
conocimientos sobre Linux, sin embargo existe (en Internet) una gran variedad de
material bibliográfico para instalar un sistema Linux y sumarle Asterisk desde la
línea de comando.
Las distribuciones de Linux utilizadas no suelen utilizar interfaz gráfica (por que
ello ahorra recursos) favoreciendo la performance del sistema que soporta al
Asterisk.
• Auto-Instalación desde una imagen de CD: Estas soluciones proporcionan
facilidad en la instalación y gestión, tanto en Linux como en Asterisk. Existen muchas
empresas o entidades que distribuyen esté tipo de soluciones.
Por lo general se trata de un paquete de software (distribuido en una imagen ISO,
en CD) que ofrece un procedimiento automatizado de instalación de Linux (en sus
variadas distribuciones) y una determinada versión de Asterisk.
La utilización de alguna de las opciones anteriores dependerá en cierta medida de los
conocimientos del usuario y del tipo de sistema que se desee implementar.
Para fijar conceptos y conocer más en profundidad Asterisk, [PascualBerthilson06]
recomienda realizar la instalación desde la línea de comandos de Linux, [Gonçalves07]
- 92 -
Capitulo 4 – Infraestructura necesaria Autor: Santos Gustavo Vega
coincide y agrega que es conveniente utilizar una distribución estable y con soporte, como
Linux Debian y Asterisk 1.4.
Por otro lado el uso de interfaz grafica para configurar Asterisk permite acercar el
producto a una mayor cantidad de usuarios, los cuales no deberán ser expertos en Linux
o Telefonía IP. Además de facilitar la instalación e implementación al montar sistemas
Asterisk, con el fin de realizar pruebas y conocer la funcionalidad que ofrece dicho
producto [Meggelen07].
Dentro de las distribuciones de Asterisk con interfaz de gestión y configuración
encontramos una extensa lista de ellas (creadas por empresas, proveedores o proyectos
en desarrollo). En esta oportunidad destacaremos las siguientes:
• Easyasterisk
• Elastix
• SLast
• Asterisk@home
• Trixbox
• AsteriskNOW
28.1.1.1. Easyasterisk
Esta solución se presenta en un paquete de software distribuido en una imagen de CD
que ofrece un procedimiento automatizado de instalación. EasyAsterisk instala una
distribución de Linux, Asterisk 1.2.x y todos los componentes necesarios para poner en
funcionamiento la central, además se incluye una interfaz propia para configurar y
administrar Asterisk de una forma amigable.
EasyAsterisk se ha desarrollado con el fin de cumplir distintos objetivos: en primer lugar
para dar al usuario la posibilidad de probar el software de forma gratuita (por esta razón
se distribuye una versión libre).
Por otro lado se ofrece la versión “EasyAsterisk PRO” destinada a usuarios profesionales,
que incluye apoyo técnico y mantenimiento del software. Puede funcionar como una PBX-
IP, PBX híbrida (PSTN/IP) o en conjunto con una PBX existente.
- 93 -
Capitulo 4 – Infraestructura necesaria Autor: Santos Gustavo Vega
La interfaz gráfica de usuario (GUI, como se observa en la siguiente figura) está
disponible tanto en italiano como en inglés.
Mediante la versión gratuita se permite administrar hasta 5 extensiones locales y hasta 2
troncales, manteniendo las mismas funcionalidades que la versión PRO.
En la versión PRO se pueden administrar extensiones locales y troncales ilimitadas. Las
actualizaciones son totalmente gratuitas para los usuarios registrados y el costo de una
licencia profesional ronda los 470 euros (comercializada en Europa) [EasyAsterisk08].
28.1.1.2. Elastix
Elastix fue creado y actualmente es mantenido por una compañía ecuatoriana. Fue
liberado por primera vez en Marzo del 2006 como una interface para mostrar registros de
detalles de llamadas para Asterisk, en Diciembre del 2006 se lanzó como una distribución
libre de un “Servidor de Comunicaciones Unificadas” que integra en un solo conjunto:
Una PBX-IP, Fax, Mensajería Instantánea e Email. Su funcionalidad es controlada
respectivamente por 4 programas: Asterisk, Hylafax, Openfire y Postfix [Elastix08].
- 94 -
Capitulo 4 – Infraestructura necesaria Autor: Santos Gustavo Vega
La PBX-IP puede manejar las diferentes funciones que ofrece Asterisk con la
incorporación de aplicaciones Web que permiten gestionar los archivos de configuración,
siendo su principal meta la confiabilidad, modularidad y fácil uso.
Algunas de las funciones que la PBX-IP puede brindar son:
• Grabación de llamadas con interface Web
• Voicemail con soporte para notificaciones por mail
• IVR configurable y flexible
• Cancelador de eco integrado
• Editor Web de archivos de configuración de Asterisk
• Acceso interactivo desde la Web a la consola de Asterisk
• Soporte de los diferentes Codec y protocolos.
• Soporte de interfaces analógicas y digitales.
Elastix esta traducido en 20 idiomas y presenta otras funciones relacionadas con el
control del servidor, como Monitor de recursos del sistema, manejo de usuarios y perfiles,
backup, control de apagado y encendido, etc.
Brinda una completa administración para servicios de Fax utilizando aplicaciones que
permiten visualizarlos y ser descargados desde la interfaz Web en formato PDF o ser
enviados por mail. Además funciona como servidor de correo y libreta telefónica (Phone
Book) con capacidad clic-to-call.
En la siguiente figura se observa el FOP (Flash Operator Panel).
- 95 -
Capitulo 4 – Infraestructura necesaria Autor: Santos Gustavo Vega
Posee un módulo para manejo de Call Centers (Centros de llamada) con marcador
predictivo y un servidor de mensajería instantánea basado en el software OpenFire.
Soporta conexión a otras redes de mensajería como MSN, Yahoo Messenger, GTalk, ICQ,
etc. Esto permite estar conectado a varias redes desde un mismo cliente [Elastix08].
28.1.1.3. SLAST
SLAST ofrece la implementación de Asterisk en forma de “CD Live” y se encuentra
disponible sobre distribuciones de Slackware Linux o más recientemente sobre Linux
Debian (http://slast.org). Puede correr en cualquier maquina compatible con procesadores
con arquitectura x86. SLAST carga el sistema en la memoria y permite mostrar (como se
observa en la siguiente figura) la localización de los ficheros de configuración de Asterisk,
archivos de sonidos, módulos de Asterisk y la documentación de SLAST.
- 96 -
Capitulo 4 – Infraestructura necesaria Autor: Santos Gustavo Vega
SLAST fue diseñado para ayudar a educar a la gente sobre las ventajas que ofrece
Asterisk a través de implementarlo en un simple servidor Linux y de la forma más cómoda
posible para el usuario común [JacksonClark07].
28.1.1.4. Asterisk@Home
Asterisk At Home ó Asterisk en casa (AAH) representa uno de los primeros proyectos que
utilizan una interfaz grafica de gestión para administrar Asterisk.
El proyecto fue creado por Andrew Gillis, en 2004, incorporando una herramienta Web
denominada “AMP” (Asterisk Management Portal – Portal de Administración de Asterisk)
facilitando la configuración y proveyendo reportes e información en pantalla como los
CDR (Call Detail Records) o utilizando aplicaciones en tiempo real como el FOP
[Roper05].
- 97 -
Capitulo 4 – Infraestructura necesaria Autor: Santos Gustavo Vega
AAH a sido distribuido en una imagen de disco que contiene el sistema operativo Linux
CentOS, una versión completa del software Asterisk y algunas herramientas de
administración Web.
La instalación y compilación del sistema se realizan en forma automática sumando la
intervención del usuario, a la hora de configurar algunas opciones (idioma, red, etc.).
Esta distribución se caracterizó por correr en una gran variedad de hardware y por
permitir el acceso completo a los archivos de configuración. Además posee una interfaz
de administración Web y una interfaz de línea de comandos [Asterisk@Home05].
La administración Web incluye diversas herramientas como se observa en la siguiente
figura:
• Web-access to VoiceMail: Permite a los usuarios acceder al correo de voz.
• CRM: Customer Relationship Management. La utilización del software
“SugarCRM” (en su versión de código semiabierto): herramienta que brinda una completa
administración de usuarios.
• Flash Operator Panel: Aplicación en tiempo real que permite visualizar el estado
de las distintas conexiones y realizar funciones básicas sobre ellas.
• Web MeetMe Control: Permite controlar conferencias de llamadas entre los
usuarios.
- 98 -
Capitulo 4 – Infraestructura necesaria Autor: Santos Gustavo Vega
• Asterisk Management Portal (AMP): Permite administrar diferentes funciones,
servicios y editar los archivos de configuración.
La utilización del Portal de Administración de Asterisk (AMP) facilita la configuración de las
cuentas de usuarios y los demás servicios de Asterisk, sumando la posibilidad de
gestionar el mantenimiento del equipo o generando reportes.
A mediados del año 2006, el proyecto Asterisk@Home paso a llamarse "Trixbox", siendo
la ultima versión con ese nombre, el Asterisk@Home 2.8 [Roper05].
28.1.1.5. Trixbox
Trixbox surge al renombrar la continuación del proyecto “Asterisk@Home”, en
consecuencia arrastra sus características básicas.
- 99 -
Capitulo 4 – Infraestructura necesaria Autor: Santos Gustavo Vega
La empresa “Fonality” (empresa que ofrece servicios de VoIP) comercializa este tipo de
solución a través de una distribución basada en Linux CentOS y Asterisk. Además incluye
Apache, MySQL, SugarCRM, FOP y FreePBX, entre otras aplicaciones.
En la siguiente imagen puede observarse el panel de configuración y administración de la
Versión 1.1.0 de Trixbox.
Con el tiempo Trixbox se convirtió en una de las distribuciones con interfaz gráfica de
gestión y basadas en Asterisk, con mayores descargas del mercado (con más de 65.000
descargas al mes) gracias a la facilidad que ofrece en la instalación y en su uso
[Trixbox08].
Existen actualmente dos versiones de Trixbox:
• Trixbox CE (Community Edition): Distribución libre, flexible y gratuita.
• Trixbox PRO (Se divide en 3 versiones): Standard Edition (SE), Enterprise Edition
(EE) y Call Center Edition (CCE). Siendo SE la versión gratuita, mientras las restantes
(EE y CCE) poseen costo. En estas versiones se destacan también la facilidad de
instalación, configuración y la flexibilidad ofrecida. Además se suman características
- 100 -
Capitulo 4 – Infraestructura necesaria Autor: Santos Gustavo Vega
avanzadas como: Herramientas de integración, monitorización, reportes e informes. Las
versiones que requieren costo poseen soporte, mantenimiento y entrenamiento.
En ambas es posible seleccionar entre 6 idiomas (Ingles, Francés, Español, Alemán,
Italiano y Portugués).
Los requerimientos mínimos de hardware para correr Trixbox son, un procesador PIII o
similar con 384 MB de Ram y 10 Gb de espacio en disco [DempsterGarrison06].
Estos requerimientos no serán suficientes cuando se desee montar servidores para
manejar grandes cantidades de usuarios o sistemas en producción, donde se deberá
contar con un procesador de 2.0 GHz o superior, 1 GB de Ram y 100 GB de espacio en
disco, para brindar una performance aceptable y utilizar todos los servicios que ofrece
Trixbox.
Una de las principales características es su interfaz Web que le permite gestionar el
sistema a través de cualquier navegador Web. Para ello, Trixbox incorporó “FreePBX”.
FreePBX es una interfaz de normalización para la gestión de determinadas características
de Asterisk, que ofrece una serie de opciones de configuración, herramientas de sistema,
informes de actividad e incluye la aplicación “Flash Operator Panel” y una interfaz de
grabación de llamadas [LópezMontoya07].
- 101 -
Capitulo 4 – Infraestructura necesaria Autor: Santos Gustavo Vega
También permite administrar cuentas de usuario, configurar planes de discado, crear y
controlar troncales de entrada y salida [DempsterGarrison06].
El desarrollo separado de los proyectos Trixbox y FreePBX genera inconvenientes a la
hora de resolver problemas de funcionalidad o código, esto a impulsado a la empresa
Fonality (principal desarrolladora de Trixbox) a lanzar modificaciones, en las nuevas
versiones (por ejemplo Trixbox CE 2.6.1), respecto del uso de FreePBX, aunque la
funcionalidad ofrecida sea muy similar [Rojano08].
En la siguiente imagen se pueden observar algunos cambios en la interfaz de gestión
respecto de utilizar FreePBX o la versión adoptada para administrar las últimas versiones
de TrixBox.
- 102 -
Capitulo 4 – Infraestructura necesaria Autor: Santos Gustavo Vega
28.1.1.6. AsteriskNOW
AsteriskNOW es un software bajo licencia GPL, distribuido y soportado por la empresa
Digium (principal desarrolladora de Asterisk), que incluye una distribución personalizada
de rPath Linux, Asterisk 1.4.x y una interfaz gráfica de usuario (AsteriskGUI)
especialmente diseñada para administrar y configurar sistemas Asterisk, además cuenta
con un conjunto de aplicaciones que aportan gran funcionalidad al sistema.
El uso de interfaz gráfica brinda la capacidad de configurar fácilmente el sistema, sin la
necesidad de ser un experto [Madikonda07].
AsteriskNOW ofrece un proceso de instalación sencillo que da la capacidad de poner en
marcha el sistema en un corto período de tiempo. Esta solución es distribuida en una
imagen ISO.
- 103 -
Capitulo 4 – Infraestructura necesaria Autor: Santos Gustavo Vega
El usuario puede optar por realizar una instalación “Express”, donde se instalarán todos
los programas y herramientas por defecto. O bien, puede obtener el control completo
sobre las opciones de instalación (paquetes de software, particionado de los discos,
selección de idioma, etc.) [Meggelen07].
En principio Asterisk solo podía ser configurado desde la línea de comandos o editando
manualmente los respectivos archivos de configuración (en sus versiones 1.2.x).
Con el fin de aportar facilidad y flexibilidad en la configuración, la empresa Digium lanzó el
proyecto “Asterisk-GUI” (utilizado en las versiones 1.4.x). Su desarrollo se basa en lograr
facilidad de uso, aportando simplicidad y procurando maximizar la funcionalidad. Para
lograrlo se utilizan diferentes interfaces Web que permiten administrar las diferentes
funciones de Asterisk [Digium08].
En la siguiente imagen podemos observar una interfaz de AsteriskNOW con la
información del sistema, versión de Asterisk 1.4.18.1 y las diferentes opciones de
configuración que la interfaz nos ofrece:
- 104 -
Capitulo 4 – Infraestructura necesaria Autor: Santos Gustavo Vega
En principio se utilizó rPath como distribución base del proyecto AsteriskNOW y para sus
respectivas versiones beta, hasta llegar a la versión AsteriskNOW-beta 6 ½.
Mediante “rPath.org” es posible conseguir las versiones auto-instalables y de diferentes
formas (archivos img, iso o para utilizar con el software VMware).
Los constantes avances del proyecto permiten corregir errores y maximizar la
funcionalidad de este tipo de soluciones. Luego de sucesivas versiones “beta”, Digium
lanzó la primera versión de AsteriskNOW 1.0.1 considerada “estable”. Actualmente se
encuentra en su versión 1.0.2 que corrige algunos “bugs” de su antecesora, en estas
versiones se incluyen nuevos cambios (interfaz de soporte para hardware analógico y
digital) respecto de las versiones “beta” anteriores.
A su vez el proyecto Asterisk-GUI se encuentra en su versión 2.0, que según [Rojano08],
mejora considerablemente la estabilidad de la interfaz.
Por otro lado se comenzó a trabajar sobre la nueva versión 1.5.0-beta1 de AsteriskNOW
que aplica varios cambios:
• Utiliza el sistema operativo CentOS 5.2 en lugar de rPath. Dicho cambio es muy
aceptado en la comunidad de usuarios de Asterisk, por ser una distribución de Linux más
conocida.
• Gestión de paquetes mediante YUM en lugar de Conary (gestor de paquetes
utilizado en la distribución rPath).
• Interfaces libres a escoger (Asterisk-GUI 2.0 o FreePBX).
• Soporte nativo DAHDI (no se incluye al módulo Zaptel). DAHDI es incluido en
versiones de Asterisk 1.4.22 y 1.6 o superior.
En la siguiente imagen, se observa la interfaz de FreePBX utilizada en la versión 1.5.0-
beta1 de AsteriskNOW:
- 105 -
Capitulo 4 – Infraestructura necesaria Autor: Santos Gustavo Vega
Por el lado comercial (ABE – Asterisk Business Edition) y más orientado al ámbito de la
pequeña y mediana empresa, Digium ofrece una gran cantidad de productos, tales como
el “Asterisk Appliance AA50” que incluye la interfaz Web Asterisk-GUI.
Otro producto similar es el “Asterisk Appliance AA60”, pero que incluye una interfaz Web
llamada “SwitchVox” (adquirida por Digium en 2007). Esta última incluye una gran
cantidad de opciones (como se observa en la siguiente figura) para diagnosticar
problemas y administrar el sistema [Digium08].
Además es ofrecido en su versión Demo y Libre (limitada a 15 extensiones de usuarios),
con soporte libre y orientada a que los usuarios puedan probar el producto antes de
invertir.
- 106 -
Capitulo 4 – Infraestructura necesaria Autor: Santos Gustavo Vega
La utilización de toda interfaz Web para administrar y configurar un sistema basado en
Asterisk (Trixbox, Elastix, AsteriskNOW, etc.) persigue un único objetivo: simplificar la
configuración y gestión de Asterisk [Rojano08].
Según [Rojano08] está simplificación tiene un efecto negativo a la hora de realizar tareas
en la interfaz que no han sido incluidas o han sido descartadas por ser complejas. Algo
similar sucede al presentarse algún problema, ya que los usuarios pueden encontrarse
limitados, por la interfaz o en cuanto a conocimiento.
La solución a muchos problemas puede ser resuelta observando los archivos de
configuración, comprobando parámetros y siendo capaces de interpretar el código de
dichos archivos.
A su vez, este tipo de soluciones permite al usuario “No experto”, tomar conocimiento de
Asterisk y experimentar con éxito, diferentes soluciones. La limitación no es percibida por
- 107 -
Capitulo 4 – Infraestructura necesaria Autor: Santos Gustavo Vega
usuarios que solo intentan configurar un cierto número de extensiones y líneas analógicas
que atiendan a una cola, desconociendo los parámetros y la forma en que ello se lleva a
cabo. Pero ante usuarios “avanzados” y “profesionales”, la limitación es notoria, por que
dificulta su trabajo y se ven limitados a la hora de “controlar” el verdadero funcionamiento
del sistema [Rojano08].
En definitiva vemos que las soluciones de Asterisk basadas en interfaz Web permiten al
usuario inexperto, realizar una gran cantidad de tareas que no requieren de ciertos
conocimientos avanzados, pero cuando se trata de usuarios avanzados o expertos, la
interfaz debe contemplar la posibilidad de acceder a los archivos de configuración para
editarlos y poner a disposición el uso de consola (CLI), para ser aceptada.
Asterisk posee dos componentes internos: un servidor que normalmente funciona en
segundo plano y un cliente (CLI) que supervisa al servidor y registra todas las acciones
realizadas (en tiempo real y según el modo de depuración indicado) permitiendo invocar
diferentes funciones u aplicaciones [PascualBerthilson06]. La correcta utilización de la
consola (CLI) sumada a una correcta interpretación de los archivos “logs” generados,
hace posible detectar y resolver problemas.
Para el desarrollo de este proyecto de tesis (sistema de testeo de Asterisk) hemos optado
por utilizar AsteriskNOW, por ser una opción libre, gratuita y con soporte, sencilla de
utilizar para un usuario inexperto y que a su vez contempla lo mencionado anteriormente.
- 108 -
Capitulo 5 – Arquitectura de aplicación Autor: Santos Gustavo Vega
Capitulo 5
“La calidad nunca es un accidente; siempre es el resultado de un esfuerzo de la
inteligencia.”
John Ruskin
29.Arquitectura de aplicación
Luego de conocer y evaluar los componentes necesarios para montar un sistema de
telefonía IP, hemos optado por utilizar algunos de ellos. En la siguiente figura se
representa la arquitectura del sistema a implementar.
Descripción del esquema:
Se dispone de una conexión ADSL (2.5Mb) que proporciona Internet a una red LAN
privada (cuyo dominio esta delimitado por línea punteada). Dentro de la red LAN
Capitulo 5 – Arquitectura de aplicación Autor: Santos Gustavo Vega
encontramos el Servidor1 con AsteriskNOW (implementado y funcionando), el cual nos
ofrece los siguientes servicios:
• Llamadas entre usuarios: Todos los usuarios registrados pueden establecer
comunicaciones de voz sobre IP, con otros usuarios, en forma gratuita y sin restricciones.
• Buzón de voz: Cada usuario dispone de una casilla de mensajes habilitada que se
activa cuando el usuario no atiende o se encuentra ausente.
• Servicio de Voicemail: Los mensajes de voz se adjuntan y envían a la casilla de
mail del usuario en forma automática.
• IVR: La unidad de respuesta de voz interactiva permite centralizar la atención de
llamadas utilizando un menú de opciones y derivando la comunicación a un sector o
servicio determinado.
• Sala de conferencia: Permite que varios usuarios hablen en conjunto. Se dispone
de un único número de acceso a la sala, donde puede requerirse un número PIN
(contraseña) para limitar el acceso no autorizado.
• Cola de llamadas: Los usuarios son ubicados en una cola de atención. Es muy
utilizado en la aplicación de centros de llamada (Call Centers).
Las colas pueden utilizar diferentes estrategias de atención:
Ringall (Hace sonar todos los canales disponibles hasta que alguno responda), es
la configuración por defecto.
Roundrobin (Hace sonar cada interfaz disponible por turnos).
Leastrecent (Hace sonar la interfaz que fue menos veces llamada por esta cola.
Fewestcalls (Hace sonar la interfaz con la menor cantidad de llamadas recibidas.
Random (Hace sonar una interfaz al azar).
RRmemory (es RoundRobin con memoria, por que recuerda cual fue el último
teléfono que atendió una llamada y continúa con el siguiente) [Meggelen07].
• Grupos de llamadas: Una llamada entrante puede ser destinada a un grupo de
usuarios definidos, utilizando estrategias de disponibilidad (Llamar a todos o Llamar en
orden). En caso de no contestar la llamada, esta puede ser reenviada a una cola de
llamadas, IVR o casilla de mensajes, entre otras opciones.
• Servicio de eco: es utilizado para comprobar la latencia producida entre una
extensión de usuario y el servidor Asterisk.
Otros servicios disponibles, son los que utilizan proveedores VoIP en Internet para
establecer sus comunicaciones. Para ello, se utilizan dos canales SIP en el Servidor1,
- 110 -
Capitulo 5 – Arquitectura de aplicación Autor: Santos Gustavo Vega
conectados a Megavox (Proveedor VoIP de Argentina), y GiZMO (Proyecto que ofrece un
paquete de soluciones de mensajería, voz y video sobre IP).
Los usuarios registrados en el Servidor1, podrán establecer comunicaciones de voz (de
forma gratuita) con todos los usuarios de Megavox y Gizmo. Ambos proveedores brindan
la posibilidad de realizar llamadas de voz (con costo), hacia las redes de telefonía básica
(RTB o PSTN) y móvil.
Los usuarios registrados en el Servidor1 pueden ser:
• Usuarios Internos: son aquellos que pertenecen al mismo dominio de la red LAN,
donde se ubica el Servidor1 (Ej. 6000, 6001, 6002 y 6003). No necesitan tener acceso a
Internet.
• Usuarios Externos: son aquellos que se conectan al Servidor1 por medio de la red
pública Internet (Ej. 6004, 6018, 6019 y 6022). Deben disponer de una conexión a banda
ancha.
También podrán acceder usuarios (Ej. 6001 y 6022) que utilicen tecnología Inalámbrica,
utilizando algún SoftPhone o teléfono WIFI con soporte SIP o IAX2. El usuario 6022
accede a Internet utilizando un Access Point (punto de acceso), ubicado a 200 mts de
distancia.
30. Hardware utilizado
Las especificaciones y descripciones de los siguientes elementos tienen correspondencia
con el esquema (Arquitectura de aplicación), visto anteriormente. La configuración de los
mismos es presentada en las siguientes secciones.
Servidor1
Características:
• CPU con procesador AMD Athlon(tm) XP 2600+
• 1 Gb de memoria RAM
• 10 GB de espacio en disco
• Placa de red
• Lectora de CD/DVD
- 111 -
Capitulo 5 – Arquitectura de aplicación Autor: Santos Gustavo Vega
Dirección IP: 10.0.0.8
Nombre del Host: asterisknow.no-ip.org
Sistema Operativo: rPath Linux.
Versión de AsteriskNOW: AsteriskNOW 1.0.2 (AsteriskGUI + Asterisk 1.4.18.1)
Datos adicionales: Teclado y Monitor, solo serán necesarios durante el proceso de
instalación. Luego, se procederá en forma remota, para realizar la configuración.
PC Cliente
Cada PC (de escritorio o portátil) utilizada en la arquitectura, posee diferentes
características o recursos de hardware. Los usuarios que utilicen dicha opción deberán
disponer de una placa de red (ethernet o inalámbrica), un SoftPhone instalado (basado en
los protocolos SIP o IAX2), juego de auriculares y micrófono. Para realizar video llamadas
deberán disponer de una cámara Web conectada a la PC.
ATA
Se utilizan dos modelos de adaptadores de teléfonos analógicos marca LINKSYS
(empresa que comercializa productos de red):
• PAP2-NA: con 2 interfaces FXS, para conectar teléfonos analógicos o faxes, 1
interfaz de red y alimentación eléctrica.
• SPA2102: con 2 interfaces FXS, para conectar teléfonos analógicos o faxes, 1
interfaz de red LAN, una interfaz de red WAN (conexión a Internet) y alimentación
eléctrica.
Los modelos mencionados, pueden ser configurados manualmente (ingresando dígitos en
el teclado del teléfono convencional) o utilizando su interfaz Web. Solo soportan el
protocolo de señalización SIP y permiten establecer hasta 2 llamadas en forma
simultánea (una por cada interfaz FXS). Manejan una gran variedad de Codec de audio.
No pueden ser utilizados para realizar video llamadas. Cada interfaz FXS permite
configurar solamente una cuenta de usuario.
Teléfonos analógicos
Se utilizan teléfonos convencionales o inalámbricos, con identificador de llamadas y
soporte de manos libre. Los teléfonos utilizan marcación por tonos.
- 112 -
Capitulo 5 – Arquitectura de aplicación Autor: Santos Gustavo Vega
MODEM
El acceso a Internet es realmente necesario cuando se intenta utilizar proveedores VoIP o
conectar usuarios remotos. Por lo tanto, debemos disponer de algún tipo de acceso a
Internet (ADSL, ADSL2+, HDLC, VDSL2, Cable módem, Etc.). En los casos estudiados se
utilizó acceso ADSL, provisto por diferentes compañías de telefonía convencional.
Algunos modelos de módem permiten implementar QoS (calidad de servicio), por
ejemplo: permitiendo priorizar el tráfico de voz, hacia el Servidor1. También será
necesario habilitar los siguientes puertos: 5060 y 5061 (TCP y UDP) para utilizar SIP y
4569 (UDP) para IAX2.
Access Point
Los usuarios con conectividad inalámbrica se conectan a Internet, a través de un Access
Point o Punto de acceso. Estos usuarios podrán utilizar algún Softphone o teléfono WIFI
con soporte SIP o IAX2, para realizar o recibir llamadas VoIP, hacia el Servidor1.
31. Instalación y configuración de AsteriskNOW
El proceso de instalación de AsteriskNOW se caracteriza por ser extremadamente
sencillo. En primer lugar, debemos obtener una imagen ISO desde el sitio oficial de
Digium (http://www.asterisknow.org/downloads), luego generar un CD o DVD de arranque
e insertarlo en la PC que vamos a utilizar como Servidor1.
En el Anexo B se presenta una guía de como instalar y configurar AsteriskNOW
utilizando su interfaz gráfica de gestión y configuración.
Al finalizar la instalación, reiniciamos el servidor y a continuación podremos visualizar el
menú de consola de AsteriskNOW.
- 113 -
Capitulo 5 – Arquitectura de aplicación Autor: Santos Gustavo Vega
El menú nos brinda una serie de opciones que permiten actualizar, reiniciar y apagar el
sistema. También se especifica la dirección URL (“http://direccion_ip_del_servidor1/”) con
la cual, ingresaremos desde una PC cliente, utilizando un explorador Web (Mozilla,
Internet Explorer, Safari, etc.) para proceder con la configuración del sistema.
Para lograr un manejo completo y sin restricciones, sobre nuestro servidor, son
necesarios algunos pasos adicionales:
Asignar una contraseña al usuario root: Para ello debemos identificarnos (presionando
Alt+F2 para acceder a la consola de Linux) con un nombre de usuario valido (por defecto
es admin) y cuya contraseña se corresponde a la creada durante el proceso de
instalación.
Una vez que tenemos acceso al sistema, podremos asignar la nueva contraseña del
usuario root, ingresando el siguiente comando:
[admin@asterisknow ~]$ sudo passwd root
Para realizar operaciones (ejecutar procesos, tareas, editar archivos en forma manual,
etc.) desde la línea de comandos de Linux, utilizamos el software “ssh” (Secure Shell),
que nos permite lograr un acceso remoto y seguro a nuestro servidor. Para poder acceder
- 114 -
Capitulo 5 – Arquitectura de aplicación Autor: Santos Gustavo Vega
como usuarios root (con todos los privilegios) es necesario editar el archivo
/etc/ssh/sshd_config y modificar el valor del siguiente parámetro:
PermitRootLogin no (Se modifica por PermitRootLogin yes)
Luego, es necesario reiniciar el sistema para que los datos sean actualizados.
Para comenzar con la configuración, ingresamos la dirección IP del Servidor1, utilizando
un explorador Web desde una maquina cliente. En la siguiente imagen podemos observar
la pantalla principal de AsteriskNOW (Versión 1.0.2).
El ingreso a la configuración de AsteriskNOW, requiere autentificación, en este caso
ingresamos como usuario admin y password (creado durante el proceso de instalación).
Al acceder al sistema, se presentan distintas opciones de configuración (indicadas en el
panel izquierdo de la siguiente imagen).
En el Anexo B podemos observar el flujo de pantallas de configuración de usuarios,
proveedores y servicios con un ejemplo real. La configuración adoptada en los ejemplos
tiene correspondencia con el esquema de aplicación indicado anteriormente.
- 115 -
Capitulo 5 – Arquitectura de aplicación Autor: Santos Gustavo Vega
De acuerdo al esquema planteado, podemos definir dos escenarios (sobre los cuales se
realizarán diversas comunicaciones de VoIP) formados por usuarios, dispositivos y
servicios. Ambos escenarios permiten utilizar todos los servicios definidos en la central
Asterisk implementada.
Escenario A
Compuesto de usuarios internos (6000, 6001, 6002 y 6003) pertenecientes al mismo
dominio de red que el Servidor1. Para realizar las comunicaciones se utilizan los
siguientes dispositivos:
• SoftPhone a SoftPhone
• ATA a SoftPhone
• ATA a ATA
• SoftPhone a PSTN (Utilizando un proveedor VoIP)
• ATA a PSTN (Utilizando un proveedor VoIP)
Escenario B
- 116 -
Capitulo 5 – Arquitectura de aplicación Autor: Santos Gustavo Vega
Compuesto de usuarios externos (6004, 6019, 6018, 6022 y el resto de usuarios definidos
en el proyecto) que acceden al Servidor1 a través de la red Internet. Para realizar las
comunicaciones se utilizan los siguientes dispositivos:
• SoftPhone a SoftPhone
• ATA a SoftPhone
• ATA a ATA
• SoftPhone a PSTN (Utilizando un proveedor VoIP)
• ATA a PSTN (Utilizando un proveedor VoIP)
Las pruebas realizadas (sobre ambos escenarios) se basan en la utilización de los
protocolos de señalización SIP o IAX2, en combinación con Codec sin compresión de voz
(μ-law o a-law) y con compresión de voz (iLBC o gsm). Los resultados serán analizados
en el Capitulo 5 del presente trabajo.
Los archivos de configuración de Asterisk se encuentran alojados dentro de la carpeta
/etc/asterisk/. Todos ellos, son cargados con valores por defecto durante el proceso de
instalación.
Asterisk puede ser configurado de varias formas:
• Interfaz Web
• Editando los archivos de configuración
• Consola de Asterisk (CLI)
AsteriskNOW combina las tres opciones, a través de su interfaz gráfica.
Luego de realizar cambios sobre dichos archivos, es necesario recargar la configuración,
utilizando la opción “Activates Changes” desde la interfaz Web o bien, ejecutando el
siguiente comando desde la consola:
Asterisk CLI> reload
Cada archivo de configuración puede administrar diferentes partes el sistema, mejor
explicados en [Meggelen07].
Algunos de ellos son:
• asterisk.conf (Archivo maestro)
- 117 -
Capitulo 5 – Arquitectura de aplicación Autor: Santos Gustavo Vega
• modules.conf (Configuración de módulos)
Administración de Usuarios
• users.conf (El archivo es incluido en las versiones de Asterisk 1.4.x que utilizan la
interfaz Asterisk-GUI y no forma parte de versiones anteriores, como Asterisk 1.2.x.)
Administración de Canales
• iax.conf
• sip.conf
• h323.conf
• mgcp.conf
• zapata.conf
Los cuatro primeros son utilizados para manejar canales VoIP. El último, permite
manejar canales para telefonía analógica y digital.
Administración de planes de discado (DialPlan)
• extensions.conf (Define diversos contextos que contienen reglas que ejecutan
aplicaciones. Representa todo el comportamiento lógico de la central).
• features.conf (Dialplan para métodos complementarios (transferencias, grabación
de llamadas, etc.)
Configuración de aplicaciones utilizadas en el Dialplan
• meetme.conf (Para salas de conferencias)
• musiconhold.conf (Música en espera)
• queues.conf (Colas de llamadas)
• voicemail.conf (Buzón de Voz)
De acuerdo al escenario planteado nos enfocaremos en la configuración de algunos de
ellos, necesarios para poner en funcionamiento la central.
El proceso de configuración puede resumirse, según [PascualBerthilson06], en dos pasos
básicos:
• Definir y configurar canales de comunicación: Asterisk puede crear diferentes tipos de
canales de comunicación (SIP, IAX2 y ZAP) utilizando los distintos protocolos soportados.
- 118 -
Capitulo 5 – Arquitectura de aplicación Autor: Santos Gustavo Vega
Cada tipo de canal es manejado por diferentes archivos de configuración (sip.conf,
iax.conf y zapata.conf respectivamente).
En el ejemplo dado, utilizaremos canales SIP y IAX2, por lo cual, procederemos a
configurar los archivos ubicados en /etc/asterisk/sip.conf y /etc/asterisk/iax.conf
respectivamente. Si disponemos de placas (analógicas o digitales) conectadas al
Asterisk, debemos configurar los archivos /etc/zaptel.conf y /etc/asterisk/zapata.conf
[Gonçalves07].
En las versiones más recientes de AsteriskNOW (versión-1.5.0.1-beta1 y Asterisk 1.6),
esté último es reemplazado por el archivo /etc/asterisk/dahdi.conf.
• Crear un plan de discado: consiste en definir una serie de reglas en el archivo
/etc/asterisk/extensions.conf. Las reglas, deben definir el camino que adoptará cada
llamada entrante o saliente a la central Asterisk, utilizando un canal determinado.
La utilización de este archivo es obligatoria para el correcto funcionamiento de la
central. Cada canal es asociado a un “contexto”, el cual debe estar definido como una
sección del tipo [contexto], en el archivo extensions.conf.
La interfaz Web de AsteriskNOW ofrece diferentes opciones que permiten crear planes de
discado con reglas para llamadas entrantes o salientes, grupos de llamadas y servicios
(creados con aplicaciones como: cola de llamadas, menú de voz, etc.). Los cambios
realizados serán reflejados en el archivo extensions.conf.
32. Configuración de Usuarios
La creación de cada usuario (utilizando la interfaz Web de AsteriskNOW) produce la
entrada de una nueva sección en el archivo /etc/asterisk/users.conf.
El archivo cuenta con una sección [general] donde se definen los parámetros globales
que afectan a todos los usuarios. Los parámetros de la sección [general] pueden ser
redefinidos en cada sección de usuario.
Cada usuario debe ser definido como una sección del tipo [número_de_extensión].
Debido a la gran cantidad de parámetros que contienen dichos archivos, mejor explicados
en [Meggelen07], solo expondremos como configurar los más genéricos.
- 119 -
Capitulo 5 – Arquitectura de aplicación Autor: Santos Gustavo Vega
Los comentarios dentro de los archivos de configuración son delimitados por el carácter
punto y coma (;) [PascualBerthilson06].
A continuación se muestra el contenido del archivo users.conf, luego de ingresar los
usuarios 6000 (usuario interno) y 6022 (usuario externo).
Archivo: users.conf
; La sección [general] define algunos parámetros que luego (por; interfaz Web)son añadidos en forma automática a cada sección de; usuario.
;+++++++++++++++++Inicio sección [general]++++++++++++++++++++++++[general] fullname = New User ; Indica el nombre de un nuevo usuario.
userbase = 6000 ;Usuario base utilizado en forma incremental
transfer = yes ;Habilita el servicio de transferencia de ;llamadas.
canpark = yes ;Habilita el parqueo de llamadas.
localextenlength = 4 ;Indica la cantidad de dígitos de las ;extensiones locales.
allow_aliasextns = yes ;Permite utilizar un alias para identificar ;una extensión.
qualify = yes ;Envía un mensaje para medir el tiempo de ;respuesta (Latencia). Cuando es mayor a ;2000 ms el usuario es considerado fuera de ;alcance.
disallow = all ;Deshabilita todos los Codec (Audio y ;video)
allow = all ;Habilita todos los Codec (Audio y video)
; Los siguientes parámetros son descriptos en la próxima sección.host = dynamichasvoicemail = yeshassip = yeshasiax = yeshasmanager = nohasagent = yeshasdirectory = nocallwaiting = yesthreewaycalling = yes
- 120 -
Capitulo 5 – Arquitectura de aplicación Autor: Santos Gustavo Vega
;+++++++++++++++++ Fin sección [general]++++++++++++++++++++++++++
; Cada usuario puede adoptar una configuración distinta, sobre los; siguientes parámetros.
;+++++++++++++++++ Inicio sección de usuario [6000]+++++++++++++++[6000] ;Número de extensión asignada
fullname = Gusty ;Nombre de usuario
secret = ******* ;Contraseña
cid_number = 6000 ;Identificador de llamadas (solo números)
context = Plan_Completo ;El contexto debe estar definido en el ;plan de discado.
email = [email protected] ;E-mail donde serán enviados los ;mensajes del buzón de voz.
hasagent = yes ;Habilita la función de agente de llamada.
hasdirectory = yes ;El usuario es incluido al directorio ;telefónico.
hasiax = yes ;Habilita el uso de canales IAX2
hassip = yes ;Habilita el uso de canales SIP
hasmanager = yes ;El usuario puede ejecutar un programa ;cliente sobre el servidor Asterisk.
hasvoicemail = yes ;Habilita el servicio de Voicemail.
host = dynamic ;El usuario se registra e informa su ;dirección IP actual.
mailbox = 6000 ;Asocia el número de extensión al buzón de ;voz del usuario.
vmsecret = ***** ;Contraseña del buzón de voz
callwaiting = yes ;Habilita el servicio de llamada en espera.
threewaycalling = yes ;Habilita el servicio llamada de a tres.
registeriax = yes ;Permite registrarse como usuario IAX2.
registersip = yes ;Permite registrarse como usuario SIP.
canreinvite = no ;Permite al Asterisk ser intermediario del
- 121 -
Capitulo 5 – Arquitectura de aplicación Autor: Santos Gustavo Vega
;flujo de paquetes RTP entre dos usuarios. ;Esto es necesario para aplicar ciertos ;servicios como transferencia y grabación.
nat = no ;Informa al Asterisk si el usuarios se ;encuentra detrás de algún tipo de NAT.
dtmfmode = rfc2833 ;Indica el modo en que son enviados los ;tonos de marcado, DTMF.
deletevoicemail = no ;Permite borrar un mensaje de voz luego de ;ser enviado por mail.
;+++++++++++++++++ Fin sección de usuario [6000]++++++++++++++++++
; La descripción de parámetros para los demás usuarios, es la; misma. Cada usuario puede utilizar distintos valores de ; parámetros.
;+++++++++++++++++ Inicio sección de usuario [6022]+++++++++++++++[6022]fullname = Nico 6022secret = ******cid_number = 6022context = Plan_básicoemail = [email protected] = yeshasdirectory = yeshasiax = nohassip = yeshasmanager = yeshasvoicemail = yeshost = dynamicmailbox = 6022vmsecret = *******callwaiting = yesthreewaycalling = yesregisteriax = noregistersip = yescanreinvite = nonat = yesdtmfmode = rfc2833deletevoicemail = no
;+++++++++++++++++ Fin sección de usuario [6022]++++++++++++++++++
; El resto de los usuarios, también son definidos dentro de este ; archivo.
- 122 -
Capitulo 5 – Arquitectura de aplicación Autor: Santos Gustavo Vega
A continuación, analizamos para cada usuario, los valores de los parámetros definidos
anteriormente, respecto del uso de canales SIP o IAX2:
[6000]hasiax = yes hassip = yes registeriax = yes registersip = yes
[6022]hasiax = no hassip = yes registeriax = noregistersip = yes
Estos valores determinan, los canales que podrán utilizar los usuarios para establecer sus
comunicaciones. En el ejemplo anterior el usuario 6000 podrá utilizar canales SIP o IAX2,
mientras que el usuario 6022 solo podrá utilizar canales SIP. Para ello deberán registrarse
utilizando algún dispositivo (SoftPhone, Teléfono IP o ATA) que soporte los protocolos
correspondientes.
Por otro lado, si utilizamos alguna versión de Asterisk (sin interfaz gráfica), que no incluya
el archivo users.conf, será necesario configurar los usuarios que utilicen canales (IAX2 y
SIP), editando sus respectivos archivos de configuración. Los usuarios deben ser
definidos como una sección del tipo [número_de_extensión].
Archivo: sip.conf
;+++++++++++++++++ Inicio sección de usuario [6000]+++++++++++++++[6000] ; Número de extensión asignada.
type = friend ;El tipo de usuario puede ser: ;Peer: Recibe llamadas del servidor Asterisk ;User: Envía llamadas al servidor Asterisk ;Friend: Recibe y envía llamadas.
secret = ******* ;Contraseña de usuario.
context = Plan_Completo ;El contexto debe ser definido en el ;plan de discado.
host = dynamic ;El usuario se registra e informa su ;dirección IP actual.qualify = yescanreinvite = no
- 123 -
Capitulo 5 – Arquitectura de aplicación Autor: Santos Gustavo Vega
callerid = Gusty <6000> ;Identificador de llamadas (Alfanumérico)
mailbox = 6000@buzon1 ;Permite asociar la extensión de usuario a ;un determinado buzón de correo de voz
disallow = all ;Deshabilita todos los Codec (Audio y video)
; El siguiente parámetro permite habilitar manualmente los Codec ; de audio y video.
allow = ulaw,gsm,speex,ilbc,g729,g726,alaw,adpcm,lpc10 ;(Audio)allow = h263,h263p,h264 ;(Video)
;+++++++++++++++++ Fin sección de usuario [6000]++++++++++++++++++
; Nota: El usuario 6022 pertenece a un contexto diferente.
;+++++++++++++++++ Inicio sección de usuario [6022]+++++++++++++++[6022]type = friendsecret = ******context = Plan_básico ;El contexto debe ser definido en el plan ;de discado.host = dynamicqualify = yescanreinvite = nocallerid = Nicomailbox = 6022@buzon1disallow = allallow = ulaw,gsm,speex,ilbc,g729,g726,alaw,adpcm,lpc10allow = h263,h263p,h264
;+++++++++++++++++ Fin sección de usuario [6022]++++++++++++++++++
; Todos los usuarios que utilicen canales SIP deben ser definidos
; en este archivo.
La sintaxis para definir las secciones en el archivo iax.conf, es la misma que la utilizada
en el archivo sip.conf.
Archivo: iax.conf
;+++++++++++++++++ Inicio sección de usuario [6000]+++++++++++++++[6000]type = friend ;El tipo de usuario puede ser: ;Peer: Recibe llamadas del servidor Asterisk ;User: Envía llamadas al servidor Asterisk
- 124 -
Capitulo 5 – Arquitectura de aplicación Autor: Santos Gustavo Vega
;Friend: Recibe y envía llamadas.
username = 6000 ;Nombre de usuario IAX2
secret = ******** ;Contraseña de usuario IAX2
callerid = GustyIAX ;Identificador de llamadas (Alfanumérico).
disallow = all
allow = alaw,ulaw ;El usuarios solo podrá utilizar estos Codec.
context = Plan_Completo ;El contexto debe estar definido en el ;plan de discado.host = dynamic
;++++++++++++++++++ Fin sección de usuario [6000]+++++++++++++++++
; Todos los usuarios que utilicen canales IAX2 deben ser definidos
; en este archivo.
En el ejemplo anterior, observamos que el usuario 6000 es creado en ambos archivos,
esto lo habilita a utilizar canales IAX2 y SIP. El usuario 6022 solo podrá utilizar canales
SIP.
33. Configuración de canales
Las versiones consideradas “beta”, anteriores al AsteriskNOW 1.0.2 (versión estable),
incluyen una interfaz de gestión para los canales IAX2 y SIP. En la versión utilizada, dicha
opción ha sido removida.
La información necesaria para crear los canales de comunicación, es centralizada en el
archivo users.conf. Mientras que los archivos /etc/asterisk/sip.conf y /etc/asterisk/iax.conf
son creados con valores por defecto. El módulo pbx_config.so es el encargado de utilizar
la información del archivo users.conf, para crear los canales disponibles en el contexto
especificado por defecto (context = default).
Para brindar comunicaciones de voz utilizando canales SIP, con soporte de video, la
configuración por defecto de AsteriskNOW, aplicada al archivo sip.conf, no es suficiente.
- 125 -
Capitulo 5 – Arquitectura de aplicación Autor: Santos Gustavo Vega
Cada archivo cuenta con una sección [general] donde se definen los parámetros globales
que afectan a todos los usuarios que utilizan canales SIP o IAX2. En esta sección
definiremos los parámetros necesarios pera que las llamadas, basadas en SIP, tengan
soporte de video.
Archivo: sip.conf
;+++++++++++++++++ Inicio sección [general]+++++++++++++++++++++++[general]context = default ;Contexto por defecto, debe estar ;definido en el plan de discado.
bindport = 5060 ;Puerto donde Asterisk recibe sus ;conexiones SIP
bindaddr = 0.0.0.0 ;El servidor recibirá conexiones en ;todas sus interfaces.
srvlookup = yes ;Permite acceder a distintos servidores ;utilizando su nombre de dominio.
allowguest = yes ;Regula la autenticación de usuarios ;solicitando usuario y contraseña.
disallow = all ;Deshabilita todos los Codec (Audio y ;video)
allow = all ;Habilita todos los Codec (Audio y ;video)
videosupport = yes ;Habilita el soporte de video.
maxexpiry = 3600 ;Tiempo máximo (en segundos)de ;expiración del registro de usuario.
minexpiry = 60 ;Tiempo mínimo (en segundos)de ;expiración del registro de usuario.
language = es ;Habilita un lenguaje especifico ;definido en el archivo indications.conf
;+++++++++++++++++ Fin sección [general]++++++++++++++++++++++++++
Archivo: iax.conf
;+++++++++++++++++ Inicio sección [general]+++++++++++++++++++++++[general] context = default ;Contexto por defecto, debe estar ;definido en el plan de discado.
- 126 -
Capitulo 5 – Arquitectura de aplicación Autor: Santos Gustavo Vega
bindport = 4569 ;Puerto donde Asterisk recibe sus ;conexiones IAX2.
bindaddr = 0.0.0.0 ;El servidor recibirá conexiones IAX2 en ;todas sus interfaces.
bandwidth = high ;Inicializa la selección de Codec de ;acuerdo al tipo de banda definido: ;low: Habilita solo los Codec g723, gsm y ;lpc10. Los restantes son eliminados. ;medium: Elimina los Codec U-law y A-law ;high: Habilita todos los Codec. disallow = allallow = all
language = es ;Habilita un lenguaje especifico ;definido en el archivo indications.conf;+++++++++++++++++ Fin sección [general]++++++++++++++++++++++++++
La existencia de ambos archivos es indispensable para el correcto funcionamiento de la
central.
34. Configuración de Proveedores VoIP
Utilizar un proveedor VoIP (ubicado en Internet), significa que nuestro servidor podrá
establecer comunicaciones VoIP, con otro servidor (SIP o IAX2) de dicho proveedor.
En el siguiente ejemplo, veremos el resultado obtenido al configurar dos proveedores SIP
(Megavox y Gizmo) y un proveedor IAX (IAXTel), utilizando la interfaz Web de
AsteriskNOW, que permite configurar proveedores SIP o IAX2.
El flujo de pantallas utilizado, es presentado en el ANEXO B del presente. A continuación
se muestra el contenido del archivo users.conf luego de realizar la carga desde la interfaz.
La información indicada en la interfaz es reflejada como una entrada del tipo
[número_de_cliente_asignado_por_el_proveedor], en el archivo users.conf.
Archivo: users.conf
;++++++++++++++ Inicio sección Proveedor [17472436766]+++++++++++[17472436766]provider = Gizmo ;Nombre del proveedor
- 127 -
Capitulo 5 – Arquitectura de aplicación Autor: Santos Gustavo Vega
username = 17472436766 ;Nombre de usuario, indicado por el ;proveedor.
secret = ********* ;Contraseña
callerid = 17472436766 ;Identificador de llamadas.
context = DID_17472436766 ;Contexto que representa una troncal ;de entrada y salida hacia el ;proveedor VOIP. Debe estar definido ;en el plan de discado.
hasiax = no ;No utiliza canales IAX2.
hassip = yes ;Puede utilizar canales SIP.
host = proxy01.sipphone.com ;Indica la dirección del servidor SIP ;del proveedor.
insecure = invite,port ;Impide que Asterisk generé un ;mensaje de autenticación hacia el ;proveedor en llamadas entrantes y ;localiza al proveedor por la ;dirección IP sin importar el puerto. port = 5060 ;Puerto donde Asterisk recibe las ;conexiones SIP del proveedor.
registeriax = no ;No permite registrarse como usuario ;IAX2. registersip = yes ;Permite registrarse como usuario ;SIP.
trunkname = Gizmo (SIP) – 17472436766 ;Nombre de la troncal hacia ;el proveedor.
trunkstyle = voip ;Tipo de proveedor.
dtmfmode = rfc2833 ;Indica el modo en que son enviados ;los tonos de marcado, DTMF.
disallow = all ;Deshabilita todos los Codec.
allow = gsm,ilbc,speex,alaw,ulaw,g729,lpc10,g726
; Será necesario habilitar, al menos, un Codec que soporte el; servidor.
;++++++++++++++ Fin sección Proveedor [17472436766]++++++++++++++
- 128 -
Capitulo 5 – Arquitectura de aplicación Autor: Santos Gustavo Vega
; De la misma forma se configura el siguiente proveedor SIP.
;++++++++++++++ Inicio sección Proveedor [2944495]+++++++++++++++
[2944495]provider = Megavoxusername = 2944495secret = *****callerid = 2944495context = DID_2944495 ;Contexto que representa una troncal ;de entrada y salida hacia el ;proveedor VOIP. Debe estar definido ;en el plan de discado.hasiax = nohassip = yeshost = sip.megavox.com.arinsecure = invite,portport = 5060registeriax = noregistersip = yestrunkname = Custom (SIP)- Megavoxtrunkstyle = Custom - voip
;++++++++++++++ Fin sección Proveedor [2944495]++++++++++++++++++
; De la misma forma se configura el siguiente proveedor IAX2.
;++++++++++++++ Inicio sección Proveedor [17005123040]++++++++++++[17005123040]provider = iaxtelusername = 17005123040secret = ********callerid = 17005123040
allow = all ; Habilita todos los Codec para este ; proveedor.context = DID_17005123040 ;Contexto que representa una troncal ;de entrada y salida hacia el ;proveedor VOIP. Debe estar definido ;en el plan de discado.hasiax = yeshassip = nohost = iaxtel.cominsecure = invite,portport = 4569 ; Puerto donde Asterisk recibe las ; conexiones IAX2 desde el proveedor.
registeriax = yesregistersip = notrunkname = IAXTEL - 17005123040trunkstyle = voip;++++++++++++++ Fin sección Proveedor [17005123040]+++++++++++++++
- 129 -
Capitulo 5 – Arquitectura de aplicación Autor: Santos Gustavo Vega
La configuración anterior habilita dos canales SIP y un canal IAX2 hacia los proveedores
VoIP. Esto permite a los usuarios (SIP o IAX2) efectuar y recibir llamadas utilizando los
proveedores definidos.
En caso de no utilizar una interfaz Web, podemos configurar los proveedores VoIP de
forma manual, editando los archivos iax.conf y sip.conf.
Según [Gonçalves07], la configuración puede realizarse en 3 pasos (valido para iax.conf y
sip.conf):
a.Añadir en la sección [general], la siguiente línea de registro:
register = número_cliente:contraseña@ip_del_proveedor/número_de_extensión
Con la línea anterior, el proveedor VoIP podrá localizar a nuestro servidor y las
llamadas entrantes serán dirigidas a un determinado número de extensión.
b. Crear una sección del tipo [número_de_cliente]
c. Crear una ruta (contexto) de salida en el archivo extensions.conf
Aplicando los pasos en el ejemplo visto, obtenemos:
Archivo: sip.conf
;++++++++++++++++ Inicio sección [general]++++++++++++++++++++++++[general]context = default ;Contexto por defecto, debe estar ;definido en el plan de discado.
bindport = 5060 ;Puerto donde Asterisk recibe sus ;conexiones SIP.
bindaddr = 0.0.0.0 ;El servidor recibirá conexiones SIP en ;todas sus interfaces.
srvlookup = yes ;Permite acceder a distintos servidores ;utilizando su nombre de dominio.
; Aplicamos el paso “a”, con ambos proveedores.; Registramos el proveedor Gizmo. Las llamadas entrantes serán ; reenviadas al usuario 6000.
register = 17472436766:[email protected]/6000
- 130 -
Capitulo 5 – Arquitectura de aplicación Autor: Santos Gustavo Vega
; Registramos el proveedor Megavox. Las llamadas entrantes serán ; reenviadas a la extensión 8501.
register = 2944495:[email protected]/8501;+++++++++++++++++++ Fin sección [general]++++++++++++++++++++++++
Archivo: iax.conf
;++++++++++++++++ Inicio sección [general]++++++++++++++++++++++++[general]context = default ;Contexto por defecto, debe estar ;definido en el plan de discado.
bindport = 4569 ;Puerto donde Asterisk recibe sus ;conexiones IAX2.
bindaddr = 0.0.0.0 ;El servidor recibirá conexiones IAX2 en ;todas sus interfaces.
bandwidth = low ;Inicializa la selección de Codec de ;acuerdo al tipo de banda definido: ;low: Habilita solo los Codec g723, gsm y ;lPC10; Aplicamos el paso “a”, con un proveedor basado en IAX2.; Registramos el proveedor IAXTel. Las llamadas entrantes serán ; reenviadas a una cola de llamadas, ubicada en la extensión 8502.
register = 17005123040:[email protected]/8502
;+++++++++++++++++++ Fin sección [general]++++++++++++++++++++++++
El paso “b” consiste en crear, dentro del archivo sip.conf, las siguientes secciones:
[17472436766] Cuenta de usuario Gizmo, definido anteriormente.
[2944495] Cuenta de usuario Megavox, definido anteriormente.
Por otro lado, en el archivo iax.conf, creamos la cuenta de usuario IAXTel:
[17005123040]type = peersecret = XXXXXXXXhost = iaxtel.com
El paso “c” consiste en definir los contextos necesarios, en el plan de discado.
35. Configuración de Dispositivos
- 131 -
Capitulo 5 – Arquitectura de aplicación Autor: Santos Gustavo Vega
Luego de crear las cuentas de usuarios y los canales de comunicación, del lado servidor,
procederemos a configurar los medios o dispositivos que utilicen los clientes.
De acuerdo a los escenarios planteados anteriormente, observamos que los clientes
utilizan los siguientes dispositivos:
• Adaptador de Teléfono analógico (ATA): Modelos PAP2 y SPA2102
• Softphone con soporte SIP: X-lite, Kapanga y Zoiper.
• Softphone con soporte IAX2: Zoiper.
Para proceder con la configuración del lado cliente, los usuarios deben recibir los
siguientes datos de acceso al servidor:
• Cuenta de usuario: (Número de extensión asignada)
• Contraseña
• Autorización de usuario
• Dirección IP del servidor
• Datos adicionales: Puerto utilizado por el servidor, Codec soportados.
A continuación, se muestra el ejemplo de configuración de usuarios, aplicado a cada uno
de los dispositivos (basados en hardware o software) utilizados.
En el Anexo A encontramos una guía bien detallada de cómo instalar y configurar los
distintos Softphone.
35.1.1. Adaptador de Teléfono Analógico (ATA)
La siguiente imagen muestra la configuración del usuario (interno) 6000 que utiliza un ATA
modelo Linksys PAP2:
- 132 -
Capitulo 5 – Arquitectura de aplicación Autor: Santos Gustavo Vega
El campo “Proxy” representa la dirección IP del Servidor1. Luego de ingresar los datos de
usuario y guardar la configuración, el equipo se reiniciara y el usuario será registrado en
el servidor.
La configuración de usuario, en el modelo de ATA Linksys SPA2102 es similar. En este
caso, se muestra la configuración del usuario (externo) 6019. Este modelo posee más
funciones que el anterior e incluye interfaces WAN, LAN y funciones de router.
- 133 -
Capitulo 5 – Arquitectura de aplicación Autor: Santos Gustavo Vega
- 134 -
Capitulo 5 – Arquitectura de aplicación Autor: Santos Gustavo Vega
Todos los usuarios externos, utilizan el nombre de dominio “asterisknow.no-ip.org” para
conectarse al servidor.
- 135 -
Capitulo 5 – Arquitectura de aplicación Autor: Santos Gustavo Vega
35.1.2. SoftPhone
El proceso de configuración es sencillo y por lo general solo se requieren los datos de la
cuenta de usuario, asignada por el proveedor o administrador. En algunos casos es
necesario definir el Codec más adecuado y especificar algunas funciones adicionales
(rango de puertos RTP o uso de servidores STUN para atravesar ruteadores, etc.).
X-Lite (Windows)
En la siguiente imagen, observamos la configuración adoptada por el usuario (externo)
6022. El campo “Domain” (Dominio) representa la dirección y el puerto SIP, utilizado para
alcanzar el Servidor1 a través de Internet.
Esta versión permite realizar llamadas con soporte de video, habilitando los Codec
correspondientes.
- 136 -
Capitulo 5 – Arquitectura de aplicación Autor: Santos Gustavo Vega
X-lite (Linux)
El usuario (interno) 6002 utiliza una versión del SoftPhone X-lite para el sistema operativo
Linux. El campo “SIP Proxy” representa la dirección y el puerto SIP, utilizado para
alcanzar el Servidor1.
La versión gratuita de X-lite utilizada en Linux, no permite realizar llamadas con soporte
de video.
Kapanga
Otra opción muy utilizada, que permite realizar comunicaciones de voz con soporte de
video. Ofrece una gran cantidad de opciones de configuración y soporta una gran
variedad de Codec.
- 137 -
Capitulo 5 – Arquitectura de aplicación Autor: Santos Gustavo Vega
La imagen anterior muestra la configuración de la cuenta SIP, utilizada por el usuario
6001.
En la imagen siguiente completamos los datos de registro y ubicación (dirección IP y
puerto) del servidor Asterisk.
- 138 -
Capitulo 5 – Arquitectura de aplicación Autor: Santos Gustavo Vega
Zoiper
Permite administrar diferentes cuentas de usuario utilizando los protocolos IAX2 y SIP.
En las siguientes imágenes observamos la configuración adoptada por el usuario
(externo) 6004 para ambos protocolos.
- 139 -
Capitulo 5 – Arquitectura de aplicación Autor: Santos Gustavo Vega
- 140 -
Capitulo 5 – Arquitectura de aplicación Autor: Santos Gustavo Vega
Otros dispositivos que intervienen:
El Servidor1 accede a Internet utilizando un módem ADSL (con NAT implementado) en el
cual debemos habilitar la opción “Port forwarding” para los puertos 5060 (TCP y UDP)
utilizado por SIP, 4569 (UDP) utilizado por IAX2 y el rango de puertos UDP desde 10000
hasta 20000, utilizado para el “Streaming” de voz.
Si el módem utilizado permite implementar QoS (calidad de servicio), habilitamos esta
opción, para que el tráfico de voz tenga como prioridad, la dirección IP del Servidor1.
Los usuarios internos se conectan al Servidor1 a través de una red LAN, mientras que los
usuarios externos utilizan conexión ADSL, con NAT implementado, y Firewall activado.
36. Configuración de Servicios
Gran parte de los servicios ofrecidos por la central de telefonía IP (Asterisk), son
manejados por el archivo /etc/asterisk/extensions.conf. El cual representa al denominado
“Plan de discado o Dial Plan”, conformado por una serie de instrucciones que son
ejecutadas en un determinado canal de comunicación [Gonçalves07].
El archivo puede ser separado en cuatro partes:
• Extensiones
• Prioridades
• Aplicaciones
• Contextos
Una extensión es una cadena de caracteres que dispara un evento. La sintaxis utilizada
en la definición de una extensión puede ser:
exten => número (nombre), prioridad, aplicación (opciones)
En la línea anterior, la extensión recibe una llamada a un determinado número y según la
prioridad indicada, se dispara la aplicación correspondiente con las opciones indicadas.
Las prioridades determinan la secuencia de ejecución de cada extensión. Se establece un
orden numérico, que puede no ser siempre consecutivo.
- 141 -
Capitulo 5 – Arquitectura de aplicación Autor: Santos Gustavo Vega
Las aplicaciones aportan funcionalidad a la central y pueden trabajar en conjunto con
otras aplicaciones formando parte de un determinado servicio.
Los contextos permiten organizar el plan de discado, aportan seguridad, control y están
ligados en forma directa a los canales de comunicación.
Todo canal (SIP, IAX2 o ZAP) debe pertenecer a un contexto definido en un determinado
plan de discado.
Por otro lado, todo usuario podrá realizar o recibir una llamada (utilizando un canal de
comunicación) siempre y cuando tenga definido un contexto existente, dentro del plan de
discado.
Los contextos contienen la definición de extensiones, prioridades, aplicaciones y variables
[Gonçalves07]. Se definen en el archivo extensions.conf, de la siguiente forma:
[contexto]
exten => número, prioridad, aplicación1 (opciones)
exten => número, prioridad + 1, aplicación2 (opciones)
Los servicios están representados por una o varias aplicaciones, funcionando en
conjunto.
Asterisk incluye una gran cantidad de aplicaciones. Para obtener un listado de las mismas
podemos ingresar el siguiente comando en la consola CLI:
Asterisk CLI> core show applications
La diversidad de aplicaciones sumado a la forma de definir y usar variables, funciones y
expresiones, mejor definidas en [Meggelen07], determinan una gran complejidad a la hora
de definir un plan de discado en el archivo extensions.conf. A la vez, se permite trabajar
en conjunto con otros archivos de configuración (meetme.conf, queues.conf, etc.)
destinados a manejar servicios específicos, o bien integrar aplicaciones externas
utilizando la aplicación “System” o las interfaces AMI (Asterisk Manager Interface) y AGI
(Asterisk Gateway Interface).
- 142 -
Capitulo 5 – Arquitectura de aplicación Autor: Santos Gustavo Vega
La aplicación System, permite invocar a una aplicación externa, utilizando un plan de
discado.
La interfaz AMI permite a un programa cliente (desarrollado en Java, PHP, C, Perl, etc.)
conectarse al servidor Asterisk y emitir comandos o leer eventos, sobre un flujo TCP/IP.
Para utilizar AMI es necesario establecer una conexión TCP/IP y utilizar un determinado
nombre de usuario y contraseña definidos en el archivo /etc/asterisk/manager.conf
[Meggelen07]. Es muy utilizado para monitoreo de llamadas y colas de llamadas.
La interfaz AGI permite comunicar Asterisk, con programas escritos en diferentes
lenguajes de programación (PHP, Perl, Java, etc.). Los programas deben ubicarse en la
carpeta /var/lib/asterisk/agi-bin y estar asociados con alguna extensión del plan de
discado [Gonçalves07].
La siguiente línea muestra la sintaxis de ejecución para un programa “PHP” utilizando la
interfaz AGI asociada a un número de extensión:
exten = 8600,1,AGI(agi-test.php|argumentos)
El programa escribe en la salida estándar para enviar un comando al Asterisk y lee la
salida estándar para obtener una respuesta.
36.1.1. Creación y aplicación de planes de discado
Como señalamos anteriormente, la creación de un plan de discado puede ser algo
compleja, en función de las aplicaciones y servicios que se deseen brindar.
Para este proyecto hemos optado por utilizar las aplicaciones más comunes, las cuales
nos permiten crear servicios, tales como:
• Buzón de voz
• Voicemail (reenvió de mensajes de voz a e-mail, en forma automática)
• IVR – Sistema de respuesta de voz interactiva
• Cola de llamadas
• Llamadas por regla de tiempo
• Grupos de llamada
• Transferencia de llamadas
• Identificador de llamadas
- 143 -
Capitulo 5 – Arquitectura de aplicación Autor: Santos Gustavo Vega
• Video llamadas
• Conferencia de llamadas
• Servicio de Eco
• Llamadas a distintas redes VoIP
• Llamadas a red Móvil o PSTN
A continuación, detallamos la configuración adoptada en los servicios mencionados:
Archivo: extensions.conf
;+++++++++++++++++++ Inicio sección [general]+++++++++++++++++++++[general] static = yes ;Permite utilizar el comando “save dialplan” ;el cual sobrescribirá el archivo ;extensions.conf perdiendo los datos ;existentes ;Se recomienda hacer un backup de ;archivos de configuración.writeprotect = no ;Se utiliza en combinación con el parámetro ;anterior.; La combinación de los parámetros anteriores es considerada ; peligrosa [Gonçalves07].
clearglobalvars = no ;Permite limpiar las variables globales ;cada vez que recargamos Asterisk.
;+++++++++++++++++++ Fin sección [general]++++++++++++++++++++++++
; La siguiente sección define variables globales. Las cuales; pueden ser referenciadas desde los diferentes contextos ; utilizando la sintaxis: ${nombre_de_variable}. ; No se diferencian por minúsculas o mayúsculas.
;+++++++++++++++++++ Inicio sección [globals]+++++++++++++++++++++[globals] MEGAVOX = SIP/MEGAVOX ;Variable que representa al canal SIP ;del proveedor Megavox
GIZMO = SIP/GIZMO ;Variable que representa al canal SIP ;del proveedor Gizmo
IAXTEL = IAX2/IAXTEL ;Variable que representa al canal IAX2 ;del proveedor Iaxtel;+++++++++++++++++++ Fin sección [globals]++++++++++++++++++++++++
Luego de definir las secciones [general] y [globals], podremos definir el plan de discado.
Dicho plan esta formado por una colección de contextos. Cada contexto contiene una
colección de extensiones.
- 144 -
Capitulo 5 – Arquitectura de aplicación Autor: Santos Gustavo Vega
Las extensiones pueden ser de tres tipos [Gonçalves07]:
• Literal: extensiones formadas por números (0, 1, 2,…,8 y 9) o los símbolos * y #.
También se pueden utilizar nombres alfanuméricos. Para encontrar una extensión,
Asterisk discrimina entre minúsculas o mayúsculas.
• Estándar: Extensiones que involucran un conjunto de números. Este tipo de
extensión comienzan con el carácter “_”, seguido de números o letras X (para dígitos de 0
a 9), Z (dígitos de 1 a 9), N (dígitos de 2 a 9) o el carácter “.” (punto, para uno o más
caracteres).
• Especiales: utilizando letras especiales para definir una determinada acción.
i (invalido), s (inicio), h (colgó), etc.
Existe una gran cantidad de combinaciones, mejor explicadas en [Gonçalves07].
En la definición de contextos podemos encontrar:
Contextos de entrada y contextos de salida, vinculados con el uso de canales hacia o
desde proveedores. Cada contexto puede definir diferentes comportamientos de Asterisk.
Archivo: extensions.conf (continuando con el plan de discado)
;++++++++++++++++ Inicio definición de [contextos]++++++++++++++++; Los contextos definidos como [DID_XXXXXXXX] representan a los ; contextos de entrada, y son los encargados de manejar los ; canales que llegan desde los proveedores VoIP hacia la central ; Asterisk. [DID_17472436766] ;Contexto del proveedor Gizmo
include = default ;Este parámetro permite incluir otro ;contexto (default) definido.
exten = _X.,1,Goto(default|6000|1,t) exten = s,1,Goto(default|6000|1,t)
; Las líneas anteriores indican que toda llamada entrante desde el; proveedor Gizmo sea enviada, con el comando “Goto”, hacia la; extensión 6000 del contexto [default].
[DID_2944495] ;Contexto del proveedor Megavox
exten = _X.,1,Goto(IVR_Tesis|s|1)exten = s,1,Goto(IVR_Tesis|s|1)
- 145 -
Capitulo 5 – Arquitectura de aplicación Autor: Santos Gustavo Vega
; Las líneas anteriores indican que toda llamada entrante desde el; proveedor Megavox sea enviada, con el comando “Goto”, hacia el; contexto IVR_Tesis, extensión “s”, con prioridad 1,
[DID_17005123040] ;Contexto del proveedor IAXTel
include = default ;Se incluye el contexto default para ;poder reenviar las llamadas hacia las ;extensiones definidas en el.
exten=_X.,1,Goto(default|8508|1) exten=s,1,Goto(default|8508|1)
; Las líneas anteriores indican que toda llamada entrante desde el; proveedor IAXTel sea enviada, con el comando “Goto”, hacia la; extensión 8508 (cola de llamadas) del contexto [default].
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++; Luego definimos los contextos de salida para los proveedores ; VoIP.
[usuarios_iaxtel] ;Este contexto permite realizar llamadas ;a usuarios del proveedor IAXTel.
; En esta sección utilizamos macros. Un macro es un conjunto de ; comandos ejecutados en forma secuencial.
exten =_1700XXXXXXX!,1,Macro(trunkdial,${IAXTEL}/${EXTEN:0})
; En la línea anterior, cuando un usuario marca un número del tipo; 1700XXXXXXX!, se ejecuta un macro sobre el contexto “trunkdial”; utilizando la variable global “${IAXTEL}”, que representa un ; canal IAX2 hacia el proveedor VoIP.
comment =_1700XXXXXXX!,1,Usuarios_iaxtel,Standard
; La línea anterior indica un comentario de la regla utilizada.
[usuarios_gizmo] ;Este contexto permite realizar llamadas ;a usuarios del proveedor Gizmo.
; Cuando un usuario marca un número del tipo “91747.” Se ejecuta ; la aplicación SetCallerID, en la prioridad 1.; Luego se utiliza la aplicación “Dial”, para realizar una llamada; utilizando el canal SIP, del proveedor Gizmo.
exten = _91747.,1,SetCallerID("17472436766" <17472436766>)exten = _91747.,2,Dial(SIP/${EXTEN:1}@proxy01.sipphone.com,20,r)
; “${EXTEN:1}”, indica que el primer digito discado sea eliminado.
- 146 -
Capitulo 5 – Arquitectura de aplicación Autor: Santos Gustavo Vega
[usuarios_megavox] ;Este contexto permite realizar llamadas ;a usuarios del proveedor Megavox.
; En este contexto se incluyen dos reglas:; Llamadas a usuarios del proveedor Megavox. Cuando un usuario ; marca un número del tipo “294XXXX!”.; Llamadas a los servicios (Eco, buzón de voz, etc.), cuando un; usuario marca un número del tipo “1XX”.
exten = _294XXXX!,1,Macro(trunkdial,${MEGAVOX}/${EXTEN:0})comment = _294XXXX!,1,Usuarios_megavox,Standard
exten = _1XX,1,Macro(trunkdial,${MEGAVOX}/${EXTEN:0})comment = _1XX,1,Servicios,Standard
; Para realizar llamadas a la red de telefonía móvil o fija, a ; través del proveedor Megavox, definimos el siguiente contexto.
[salida_megavox]
; Cuando un usuario marca un número del tipo “6XXXXXXX!”, se ; ejecuta un macro sobre el contexto “trunkdial”, utilizando el ; canal SIP definido en la variable “${MEGAVOX}”. Se elimina el; primer digito del número marcado.
exten = _6XXXXXXX!,1,Macro(trunkdial,${MEGAVOX}/${EXTEN:1})comment = _6XXXXXXX!,1,salida_megavox,standard
; Asterisk incluye en su instalación un contexto (demo) donde es ; posible conocer y utilizar algunas aplicaciones.
[demo]
exten = 2,1,BackGround(demo-moreinfo) ;Ejecuta un archivo de ;sonido, permitiendo ;ingresar un digito u ;opción en cualquier ;momento.exten = 2,n,Goto(s,instruct)exten = #,1,Playback(demo-thanks) ;Solo ejecuta un archivo de ;sonido, no espera marcación.
; El siguiente ejemplo permite escuchar un mensaje en español,; dando aviso de un intento de conexión (utilizando un canal IAX2); entre el Servidor1 y un servidor de pruebas, localizado en; Digium. ; Si la conexión falla, se ejecuta un mensaje de error, terminando; luego la comunicación. exten = 500,1,Set(LANGUAGE()=es)exten = 500,n,Playback(demo-abouttotry)
- 147 -
Capitulo 5 – Arquitectura de aplicación Autor: Santos Gustavo Vega
exten = 500,n,Dial(IAX2/[email protected]/s@default)exten = 500,n,Playback(demo-nogo)exten = 500,n,Hangup
; Se utiliza la aplicación “Echo” para comprobar la Latencia entre; un usuario y el servidor Asterisk.
exten = 600,1,Set(LANGUAGE()=es)exten = 600,n,Playback(demo-echotest)exten = 600,n,Echoexten = 600,n,Playback(demo-echodone)
; Asterisk incluye un contexto “default”, el cual tomaremos como ; base para poder organizar nuestro plan de discado, utilizando la ; función “include”. ; Todo los usuarios podrán utilizar los servicios brindados por ; el conjunto de aplicaciones definidas aquí.
;++++++++++++++++++ Inicio contexto [default] ++++++++++++++++++++
[default]
; En las primeras cuatro líneas, se incluye a los contextos:; demo, usuarios_gizmo, usuarios_megavox y usuarios_iaxtel.; Esto permite que todo usuario que incluya al contexto default, ; pueda utilizar las aplicaciones definidas, en los mencionados ; contextos. include = demoinclude = usuarios_gizmoinclude = usuarios_megavoxinclude = usuarios_iaxtel
; Luego definimos los siguientes servicios:
; Marcando la extensión 8000, ejecutamos la aplicación “MeetMe”,; que nos permite acceder a una sala de conferencia, con música en ; espera habilitada y donde se requiere un número de PIN, para ; limitar accesos no autorizados.; Para utilizar este servicio es necesario definir una sala de ; conferencia dentro del archivo meetme.conf, asociarla a la ; extensión 8000 y definir un numero PIN.
exten = 8000,1,MeetMe(${EXTEN}|MsI)
; Marcando la extensión 8500 ejecutamos la aplicación ;“VoiceMailMain”, que nos permite acceder al servicio de buzón de ; voz. Ingresando el correspondiente número de interno y ; contraseña.; Luego, los mensajes de voz son enviados a la casilla de mail del ; usuario llamado, para ello debemos completar la configuración; del archivo voicemail.conf.
- 148 -
Capitulo 5 – Arquitectura de aplicación Autor: Santos Gustavo Vega
exten = 8500,1,VoiceMailMain
; La extensión 8501, nos permite acceder al sistema de respuesta ; de voz interactiva (IVR). Se define el contexto “IVR_Tesis” que ; contiene un conjunto de opciones de menú y brinda la posibilidad ; de contactar a cualquier usuario del grupo. exten = 8501,1,Goto(IVR_Tesis|s|1)
; La extensión 8502 pone a disposición el servicio de “Queue”,; donde los usuarios que marcasen esta opción accederán a una cola ; de llamadas, con música en espera habilitada. ; Luego, un agente de usuario podrá atender, transferir o ; finalizar la comunicación de cada miembro de la cola.; Para utilizar este servicio es necesario definir (según el; ejemplo dado) el contexto [8502] dentro del archivo queue.conf.
exten = 8502,1,Queue(${EXTEN})
; La extensión 8503, permite localizar a un grupo de usuarios ; definidos en el contexto “Grupo_de_llamadas”, donde se efectúan; llamadas en forma simultanea a todos los usuarios del grupo y el ; primero en atender se hace cargo de la llamada.
exten = 8503,1,Goto(Grupo_de_llamadas|s|1)
; Marcando la extensión 8504, podremos acceder al contexto; “Ausencia”, donde se utilizan reglas basadas en tiempo, logrando ; evaluar fechas y horarios, permitiendo tomar caminos distintos a ; la hora de establecer una comunicación. exten = 8504,1,Goto(Ausencia|1|1)
;++++++++++++++++++ Fin contexto [default] +++++++++++++++++++++++
; Cada usuario del proyecto pertenece a un contexto dado.; Los usuarios de un mismo contexto pueden comunicarse entre si,; no siendo necesario definir una regla de llamada para cada uno.; En este caso definiremos dos contextos principales, denominados:; “Plan_básico” y “Plan_Completo”.
[Plan_básico]include = default ;Los usuarios del Plan_básico tendrán ; acceso a utilizar todos los servicios ; u aplicaciones del contexto default.
[Plan_Completo]include = default ;Los usuarios del Plan_Completo tendrán ; acceso a utilizar todos los servicios ; u aplicaciones del contexto default.include = salida_megavox ; Además, se incluyen los servicios del
- 149 -
Capitulo 5 – Arquitectura de aplicación Autor: Santos Gustavo Vega
; contexto salida_megavox, para realizar ; llamadas a teléfonos fijos o móviles. ; Las llamadas realizadas a través de salida_megavox tienen costo.
;+++++++++++++++++++++++ Otros contextos +++++++++++++++++++++++++
; La creación de grupos permite realizar múltiples llamadas en; forma consecutiva, hasta que un usuario atienda o expire el ; tiempo de llamada indicado (Ej. 20 segundos), caso contrario la ; llamada podrá ser dirigida al menú IVR_Tesis.
[Grupo_de_llamadas]exten = s,1,NoOp(RINGGROUP)exten = s,n,Dial(SIP/6000,20)exten = s,n,Dial(IAX2/6000,20)exten = s,n,Dial(SIP/6002,20)exten = s,n,Dial(SIP/6003,20)exten = s,n,Goto(IVR_Tesis|s|1)
; El siguiente contexto, utiliza la aplicación “GotoIfTime”, que; evalúa un determinado día, horario o rango horario, y en caso ; de ser verdadero, se ejecuta una extensión de un contexto dado.; En caso de ser falso, dicha regla no se ejecuta, y se continua ; la secuencia con la prioridad n+1.[Ausencia]exten = 1,1,NoOp(Ausencia)exten = 1,n,GotoIfTime(15:00-07:45?default,6000,1)exten = 1,n,GotoIfTime(07:46-14:59?Plan_Completo,60111545594253,1)exten = 1,n,Voicemail(6000)
; El contexto “IVR_Tesis”, pone a disposición un menú de voz, con ; varias opciones. Se reproduce música en espera, hasta que el ; llamante ingrese una opción valida.; Se incluye el contexto “default”, para permitir que el llamante ; pueda discar en forma directa cualquier extensión definida. [IVR_Tesis]alias_exten = 8501include = defaultexten = s,1,Answerexten = s,2,Background(/var/lib/asterisk/sounds/record/saludo)exten = s,3,wait(1)exten = s,n,Background(/var/lib/asterisk/moh/fpm-world-mix)exten = 1,1,Background(/var/lib/asterisk/sounds/record/opcion1)exten = 1,2,Goto(Ausencia|1|1)exten = 0,1,Goto(IVR_Tesis|s|1)
; El siguiente contexto (definido como macro) es el encargado de ; manejar, por ejemplo: las llamadas sin respuesta, ejecutando el; buzón de voz correspondiente. [macro-stdexten]exten = s,1,Dial(${ARG2},20)
- 150 -
Capitulo 5 – Arquitectura de aplicación Autor: Santos Gustavo Vega
exten = s,2,Goto(s-${DIALSTATUS},1)exten = s-NOANSWER,1,Voicemail(${ARG1},u)exten = s-NOANSWER,2,Playback(goodbye)exten = s-BUSY,1,Voicemail(${ARG1},b)exten = s-BUSY,2,Playback(goodbye)exten = _s-.,1,Goto(s-NOANSWER,1)exten = a,1,VoicemailMain(${ARG1})
; El siguiente macro es utilizado para manejar las troncales hacia ; los proveedores VoIP. Se ejecuta la aplicación “set” para el; identificador de llamadas evaluando la longitud del número.[macro-trunkdial]exten = s,1,set(CALLERID(all)=${IF($["${LEN(${CALLERID(num)})}" > "6"]?${CALLERID(all)}:${ARG2})})exten = s,n,Dial(${ARG1})exten = s,n,Goto(s-${DIALSTATUS},1)exten = s-NOANSWER,1,Hangup ; Corta la llamada en casos de no ; disponible.exten = s-BUSY,1,Hangup ; Corta la llamada en casos de no ; ocupado.exten = _s-.,1,NoOp
;++++++++++++++++ Fin definición de [contextos]+++++++++++++++++++
Luego de completar la configuración de usuarios, canales, proveedores y servicios, será
necesario reiniciar la central. AsteriskNOW permite realizar esta acción desde su interfaz
Web. En otro caso podremos reiniciar y aplicar los cambios desde la línea de comandos
de Asterisk, ingresando el siguiente comando.
Asterisk CLI> reload
Podemos conocer la lista de comandos disponibles, ingresando el siguiente comando.
Asterisk CLI> help
La central Asterisk implementada, nos permitirá realizar diversas comunicaciones de VoIP,
entre los usuarios del proyecto y hacia otras redes. Donde será posible realizar un análisis
de disponibilidad de usuarios y servicios, evaluando los recursos disponibles.
- 151 -
Capitulo 6 – Analisis del sistema implementado Autor: Santos Gustavo Vega
Capitulo 6
“Lo más bello que podemos experimentar es el misterio de las cosas”
Albert Einstein
37.Análisis del sistema implementado
La integración y configuración de los distintos componentes que conforman la arquitectura
propuesta en el capitulo anterior, permiten construir de manera exitosa una plataforma de
telefonía IP basada en Asterisk. La cual nos permite realizar diversas pruebas y verificar el
correcto funcionamiento de los diferentes servicios implementados.
El propósito principal del proyecto es presentar una alternativa práctica, económica y de
fácil implementación, a la hora de comunicarnos utilizando telefonía IP, partiendo de
aplicar Asterisk como una PBX-IP, sin utilizar grandes recursos de hardware o software.
Para realizar pruebas es necesario disponer de un grupo de usuarios que utilicen y
comprueben la funcionalidad de los servicios ofrecidos en los diferentes escenarios
planteados. Además de indicar los inconvenientes surgidos durante la implementación y la
solución adoptada a cada uno de ellos.
38. Construyendo un grupo de usuarios
Para este proyecto de tesis se optó por poner a disposición, un servidor público conectado
a una red LAN y con acceso a la red Internet. Esto permite que cualquier persona que
acceda a la red pública pueda formar parte de un grupo de usuarios y utilizar los servicios
implementados.
Se definen dos grupos de usuarios:
• Internos: Usuarios que acceden al servidor a través de la red LAN.
• Externos: Usuarios que acceden al servidor a través de Internet.
Para que las personas tomen conocimiento del proyecto se creo una página Web (como
se muestra en la siguiente imagen) en el sitio http://www.keypax.net/asterisk/ y donde se
Capitulo 6 – Analisis del sistema implementado Autor: Santos Gustavo Vega
especifican los servicios disponibles, lista de usuarios, guía de instalación y configuración
de distintos SoftPhone basados en SIP y todo lo necesario para que cualquier persona
(con o sin conocimientos de telefonía IP) logre experimentar la capacidades de Asterisk.
Esto permitió incluir personas ubicadas en distintos países, incluso con gran interés de
conocer y utilizar Asterisk.
- 153 -
Capitulo 6 – Analisis del sistema implementado Autor: Santos Gustavo Vega
Los requisitos para ser un usuario son:
• Disponer de una conexión a Internet por banda ancha.
• Contar con un juego de parlantes y micrófono (en casos de utilizar SoftPhone) o
bien utilizar un teléfono IP o ATA con teléfono analógico.
• Solicitar la creación de una cuenta de usuario al administrador del sistema por
mail. Quien indicará los datos de acceso a los respectivos usuarios.
- 154 -
Capitulo 6 – Analisis del sistema implementado Autor: Santos Gustavo Vega
39. Pruebas realizadas
Para realizar las pruebas de verificación de los servicios implementados en la central
Asterisk se solicita que un conjunto de usuarios (internos o externos), instalen y
configuren el dispositivo (SoftPhone o HardPhone) a utilizar para así acceder a los
servicios.
Las pruebas realizadas consisten en:
• Realizar llamadas desde un terminal cliente hacia el servidor Asterisk (distintos
servicios).
• Realizar llamadas desde un terminal cliente hacia otro terminal cliente.
• Realizar llamadas desde un terminal cliente hacia usuarios de otras redes VoIP
(Megavox o Gizmo).
• Realizar llamadas desde un terminal cliente hacia la red PSTN o móvil a través del
proveedor Megavox.
Los usuarios seleccionados han sido presentados en el esquema de aplicación expuesto
en el capitulo 5 del presente.
A continuación se presenta el listado de llamadas realizadas, por cada usuario, agrupadas
según los destinos mencionados anteriormente.
Pruebas hacia servicios
Usuario Terminal Origen Servicios Descripción MOS
6000 ATA Linksys 8000 Sala de conferencia 5
6001 SoftPhone X-lite 8500 Voicemail 4
6002 SoftPhone X-lite 8501 IVR_Tesis 4
6003 ATA Linksys 8502 Cola de llamadas 5
6004 SoftPhone Kapanga 8503 Grupo de llamadas 3
6018 SoftPhone X-lite 8504 Llamada por regla de tiempo 4
6019 ATA Linksys 5
6022 SoftPhone Kapanga 3
6022 SoftPhone Zoiper 4
Cada usuario realiza una llamada de voz para cada servicio.
- 155 -
Capitulo 6 – Analisis del sistema implementado Autor: Santos Gustavo Vega
En el listado anterior podemos observar la utilización de diferentes Codec de voz de uso
libre y gratuito: G711 (sin compresión), iLBC y GSM (con compresión de voz).
Además, de utilizar los protocolos SIP y IAX2, también de uso libre y gratuito.
El campo “MOS” representa una calificación indicada por un usuario, según su opinión
subjetiva de la percepción que tiene al utilizar el servicio. Los resultados son analizados
en las siguientes secciones.
- 156 -
Pruebas entre usuarios
Usuario Terminal Origen Servicio o destino Terminal Destino Codec Protocolo MOS
6000 ATA Linksys 6001 SoftPhone X-lite G711 SIP 46000 ATA Linksys 6003 ATA Linksys G711 SIP 56000 SoftPhone Zoiper 6002 SoftPhone Zoiper G711 SIP/IAX2 46001 SoftPhone X-lite 6018 SoftPhone X-lite GSM SIP 36002 SoftPhone X-lite 6022 SoftPhone Kapanga G711 SIP 36003 ATA Linksys 6019 ATA Linksys G711 SIP 56004 Soft Kapanga 6022 SoftPhone Kapanga GSM SIP 46018 SoftPhone X-lite 6002 SoftPhone X-lite iLBC SIP 36019 ATA Linksys 6004 SoftPhone Kapanga G711 SIP 46022 Soft Kapanga 6000 ATA Linksys G711 SIP 46022 SoftPhone X-lite 6000 SoftPhone Zoiper iLBC SIP/IAX2 4
Pruebas hacia otras redes VoIP
6000 ATA Linksys 2944587 (Megavox) ATA Linksys G711 SIP 56001 SoftPhone X-lite 2944587 (Megavox) ATA Linksys G711 SIP 46002 SoftPhone X-lite 112 (ECO Megavox) Megavox G711 SIP 36003 ATA Linksys ECO Gizmo Gizmo GSM SIP 46004 Soft Kapanga 2944495 (Megavox) Servidor Asterisk G711 SIP 46018 SoftPhone X-lite 600-Prueba Asterisk Servidor Asterisk GSM SIP 36019 ATA Linksys ECO Gizmo Gizmo GSM SIP 46022 Soft Kapanga 2945355 (Megavox) ATA Linksys GSM SIP 36022 SoftPhone X-lite 2945355 (Megavox) ATA Linksys G711 SIP 4
Pruebas hacia redes PSTN o Móvil
6000 ATA Linksys 03488433XXX PSTN-Fijo-Argentina G711 SIP 46001 SoftPhone X-lite 0111445594XXX Móvil - Argentina GSM SIP 36004 Soft Kapanga 0034916396XXX PSTN-Fijo-España G711 SIP 46018 SoftPhone X-lite 0230493XXX PSTN-Fijo-Argentina iLBC SIP 36019 ATA Linksys 02652455XXX PSTN-Fijo-Argentina G711 SIP 46022 Soft Kapanga 00390499470XXX PSTN-Fijo-Italia G711 SIP 46022 SoftPhone X-lite 0348815555XXX Móvil - Argentina iLBC SIP 3
Capitulo 6 – Analisis del sistema implementado Autor: Santos Gustavo Vega
Algunos factores que pueden afectar la opinión de los usuarios, al utilizar un servicio son:
• Confiabilidad de los componentes
• Disponibilidad de la red: ligada a que siempre que se desea efectuar una llamada
la red este disponible, y no sufra cortes involuntarios.
• Disponibilidad del servicio: toda llamada deberá obtener una respuesta, ya sea por
un sistema automático o una persona.
• Claridad de la voz: puede estar ligada a la variación de Codec con o sin
compresión. Aunque existen Codec de gran compresión (Ej. G729) que ofrecen
una claridad de voz muy aceptada.
• Experiencia conversacional percibida: no existe una definición absoluta basada
solo en parámetros físicos si no que se utiliza la percepción subjetiva de las
personas para medir cierto nivel de calidad [Díaz06].
• Precio o tarifa: donde un usuario puede aceptar un cierto nivel de calidad a cambio
de un determinado costo. Adquirir un conjunto de servicios por un costo igual o menor que
al obtenerlo en forma individual.
• Tiempo de espera: la opinión de los usuarios se ve muy afectada si los tiempos al
establecer una llamada son superiores a los 3 segundos.
En los proyectos basados en servicios a usuarios finales, la utilidad y accesibilidad de los
servicios ofertados son una de las claves del éxito [OrihuelaSantos04].
La presentación de los servicios VoIP se proporciona según la disponibilidad telefónica y
la calidad del sonido. Por consiguiente, es imprescindible contar con las herramientas
adecuadas para supervisar la QoS (calidad de servicio) de las llamadas VoIP, durante y
después de la implementación en la red [FlukeNetwork08].
40. Métodos para medir la calidad de servicio
Según [Hernández 05] la calidad de servicio será para una persona lo que pueda percibir
del mismo, independientemente del estado de la red que lo transporte.
Por otro lado agrega, que estimar la calidad de servicio percibida es un requisito
fundamental en los sistemas de comunicación modernos por razones técnicas, legales y
comerciales.
- 157 -
Capitulo 6 – Analisis del sistema implementado Autor: Santos Gustavo Vega
Las medidas de calidad percibida pueden realizarse usando métodos objetivos o
subjetivos, como se muestra en la siguiente figura [Hernández 05]:
Los métodos subjetivos tienen la métrica mas aceptada ya que representan una conexión
directa con la calidad percibida por los usuarios. Dentro de este tipo de métodos
encontramos MOS (Mean Opinión Store - Valor Medio de Opinión) estandarizado en la
recomendación [ITU-P800] la cual establece una escala de valores enteros donde los
usuarios definen de manera subjetiva el grado de satisfacción alcanzado al escuchar
muestras de voz. Luego se calcula el valor medio resultante entre los usuarios
participantes.
En la siguiente tabla se especifica, el rango de valores (desde 1 a 5) que pueden ser
asignados mediante la aplicación de la técnica MOS. A cada valor le corresponde un tipo
de clasificación (desde “Mala” hasta “Excelente”).
- 158 -
Capitulo 6 – Analisis del sistema implementado Autor: Santos Gustavo Vega
Luego, se calcula el valor MOS resultante determinando el grado de aceptabilidad,
respecto de la disponibilidad de los servicios y según la satisfacción percibida por el total
de los usuarios que participan. Cada usuario tendrá un umbral de personal entre
aceptable e inaceptable [GomillionDempster05]
También es posible realizar test basados en conversaciones o entrevistas a los usuarios
logrando tener en cuenta el retardo, el eco y las variaciones producidas en el servicio
durante una conversación [Alonso02].
[Méndez05] por su parte agrega que la percepción de las personas puede variar de
acuerdo a la edad y la agudeza del oído. Destaca además que las pruebas objetivas
realizadas por computadora pueden ser positivas y la calidad de audio no ser la mas
adecuada, inclinando su postura en la utilización de MOS para un resultado mas
representativo.
- 159 -
Clasificación Valor
Excelente 5Buena 4
Aceptable 3Pobre 2Mala 1
Satisfacción del Usuario MOS
Muy Satisfechos 4.3
Satisfechos 4.0
Algunos usuarios insatisfechos 3.6
Muchos usuarios insatisfechos 3.1
Casi ninguno satisfecho 2.6No recomendable 1.0
Deseable
Aceptable
No Aceptable
Capitulo 6 – Analisis del sistema implementado Autor: Santos Gustavo Vega
El problema inherente a estos métodos es el tiempo necesario para realizarlos, el costo y
que no pueden ser usados para monitorear la calidad en periodos largos de tiempo
[Hernández 05].
Dentro de los métodos objetivos de calidad percibida encontramos dos tipos: intrusivos o
no intrusivos. Los intrusivos inyectan señales extra para estimar la calidad. Son más
precisos pero normalmente no son adecuados para monitorear la calidad en servicio.
Los métodos no intrusivos no requieren de señales extra y son adecuados para
monitorear la calidad en servicio. Dependiendo del tipo de entrada al método se pueden
clasificar como: basados en señales (la entrada es la señal transmitida por la red), o
basados en parámetros (donde las entradas son parámetros de la red de comunicación y
parámetros de la señal en cuestión)
Los métodos objetivos no dan un resultado directamente en opinión de las personas, sino
que su resultado tiene una correlación con la calidad percibida.
41. Análisis de resultados
Todos los usuarios participantes disponen de una conexión a Internet de banda ancha.
Se observa que la disponibilidad de los usuarios que utilizan equipos basados en
hardware (ATA) es muy superior a la de usuarios que utilizan SoftPhone.
La anterior observación fue medida, una vez al día durante el mes de octubre del año
2008 sobre la totalidad de usuarios registrados, utilizando el comando “sip show peers”
desde la línea de comandos de Asterisk y los correspondientes archivos “log”.
Para conectar el servidor (Asterisk) a Internet, se contó con una conexión de banda ancha
(ADSL) utilizando una dirección IP dinámica y pública. Para alcanzar una disponibilidad
aceptable del lado servidor, y brindar movilidad a los usuarios sin que requieran
memorizar una dirección IP, se opto por utilizar un proveedor de nombre de dominio
dinámico y gratuito (http://www.no-ip.com/).
Para ello se instalo en el servidor, la aplicación pertinente configurando el siguiente
nombre de dominio que indicará a los usuarios remotos, como localizar al servidor
Asterisk a través de Internet: “asterisknow.no-ip.org”
- 160 -
Capitulo 6 – Analisis del sistema implementado Autor: Santos Gustavo Vega
Para facilitar la interacción con los usuarios se puso a disposición (en el sitio Web del
proyecto) una serie de tutoriales de “instalación y configuración” de los distintos
SoftPhone utilizados. Se indicó a los usuarios como realizar las pruebas y valorar la
experiencia.
Analizando el listado de pruebas realizadas, podemos observar que la opinión subjetiva
de los usuarios (representada por un valor en la escala MOS, explicada anteriormente) es
muy aceptada en casos donde se utilizan ATA en ambos extremos de la comunicación.
Para el caso de usuarios que utilizan SoftPhone la opinión varia en forma frecuente entre
aceptable y buena. Dicha variación se ve más afectada a la variación de los Codec
utilizados que por el uso de distintos SoftPhone.
También podemos ver que la percepción de los servicios de usuarios “Internos” es mayor
que la de usuarios “Externos”. La utilización de un juego de micrófono y parlantes de
buena calidad ayuda a mejorar la percepción durante una comunicación.
En principio se encontraron pruebas con valores bajos de aceptación, por lo que se
realizó una revisión general de la configuración en el servidor, detectando que en algunos
casos era conveniente habilitar para cada usuario un conjunto particular de Codec. Por
otro lado detectamos que cuando un usuario establecía una comunicación VoIP y a la vez
utilizaba programas que generaban un gran consumo de ancho de banda (Ares, Emule,
etc.) los resultados no eran favorables.
Se experimentan problemas surgidos de la utilización del protocolo SIP en algunos router
que implementan NAT, para solucionar este problema se utilizo un servidor STUN gratuito
y disponible en Internet.
La variación de utilizar un Codec sin compresión (como G711) respecto de uno con
compresión (GSM o iLBC), influye sobre la percepción de algunos de los usuarios. Pero
es necesaria a la hora de experimentar con llamadas concurrentes.
Los servicios de Colas de llamada o conferencia de llamadas requieren de conexiones
simultáneas hacia el servidor.
Algunos servicios como “Colas de llamada” y “Conferencia de llamadas” pueden requerir
una gran concurrencia, y esto verse limitado por la cantidad de ancho de banda
- 161 -
Capitulo 6 – Analisis del sistema implementado Autor: Santos Gustavo Vega
disponible. Por ello será conveniente utilizar Codecs de gran compresión para aumentar la
cantidad de llamadas simultáneas que es posible mantener, teniendo en cuenta la
performance del sistema (uso elevado del CPU) y según el tipo de sistema implementado.
En este caso, para usuarios “externos” (alojados en Internet) se prioriza la utilización de
Codec GSM o iLBC, mientras que para usuarios “internos” (alojados en la misma red LAN
del Servidor1) se priorizan los Codec G711.
Ante servicios que demandan un gran uso de CPU, observamos la conveniencia de
distribuir la carga en otros servidores adicionales, y donde cada maquina podrá manejar
una tarea especifica, incluso utilizando un plan de discado unificado.
La especificación del idioma a utilizar implica que debamos incluir en la distribución de
Asterisk el conjunto de sonidos pertinente. Esto permite al usuario, utilizar servicios como
el buzón de voz o IVR, donde los sonidos son reproducidos en su mismo lenguaje.
Para completar la funcionalidad del servicio de “Correo de Voz” es necesario disponer de
alguna aplicación (como “Postfix con Sendmail”, utilizada en este caso) que sirva de
agente de correo, enviando los mensajes de voz hacia la casilla de mail del usuario.
Luego de obtener los valores de opinión de los diferentes usuarios, se calcula el valor
MOS resultante que determina el grado de aceptación de los servicios implementados en
este proyecto. El valor obtenido es el promedio resultante de las calificaciones obtenidas
sobre el número total de pruebas realizadas (MOS = 3.9).
Existen en Internet diferentes sitios que permiten realizar (mediante pruebas simuladas) la
comprobación de valores MOS y otros (perdida de paquetes, Jitter, retardos, etc.) que
afectan la calidad del servicio y de forma gratuita. El análisis pormenorizado de dichos
parámetros y como mejorarlos, no serán incluidos en este proyecto.
Para comparar el valor MOS obtenido por las pruebas de usuario, utilizamos los
siguientes test:
Test your VoIP: http://testyourvoip.com/
Produce un informe completo (con el Codec G711 o G729) desde y hacia un servidor de
pruebas ubicado en Internet, midiendo distintos parámetros (Latencia, Jitter, Paquetes
- 162 -
Capitulo 6 – Analisis del sistema implementado Autor: Santos Gustavo Vega
descartados y perdidos, entre otros). Además se indica un informe detallado y el valor de
MOS alcanzado.
Otra opción:
MyVoipSpeed: http://myvoipspeed.visualware.com/
Visualware es la propietaria del software MySpeed PC VoIP que mide con detalle el
rendimiento y la calidad de nuestra conexión a Internet para el uso de VoIP, simulando
una sesión VoIP a través de Internet. Ofrece información sobre el MOS, Jitter y la pérdida
de paquetes de nuestra conexión, como se observa en la siguiente imagen.
- 163 -
Capitulo 6 – Analisis del sistema implementado Autor: Santos Gustavo Vega
De esta forma vemos que la percepción de calidad de servicio obtenida por los MOS
utilizando el Codec G711 varia entre Aceptable y Deseable (con valores entre 3.9 y 4.0).
De ninguna manera esto garantiza una buena calidad de servicio, la cual solo es posible
implementando QoS de extremo a extremo. Con QoS bien implementado la calidad de la
voz es perfecta [Gonçalves07].
Respecto al servidor podemos agregar: que la administración por lo general se realiza en
forma remota, en este caso se utilizaron programas instalados en una maquina cliente
(Putty y WinSCP) que permiten acceder a la consola de Asterisk y observar, en tiempo
real, toda acción disparada sobre Asterisk e intercambiar o editar archivos de una forma
bastante amigable.
- 164 -
Conclusión Autor: Santos Gustavo Vega
Conclusión
La comunicación es muy importante en la vida de los seres humanos, tal es así que a lo
largo de la historia el hombre ha creado diversos medios para lograr comunicarse.
El uso masivo de ciertos medios (como telefonía fija, móvil e Internet, entre otros) y la
incorporación de nuevas tecnologías, marcan sin duda una evolución en la forma de
comunicarse.
La introducción de VoIP (Voz sobre el protocolo de Internet IP) permite reutilizar las redes
de datos corporativas, privadas o públicas y brinda la posibilidad de enviar mensajes de
voz codificada (en forma de paquetes) a través de algoritmos de compresión,
descompresión, con y sin pérdida, utilizando el protocolo de Internet IP.
VoIP es una tecnología capaz de modificar la infraestructura de las comunicaciones a
nivel mundial, permitiendo a los usuarios, empresas y corporaciones disponer de una
alternativa más económica a la hora de realizar sus comunicaciones. En estos tiempos es
posible observar la gran cantidad de proveedores VoIP que compiten en el mercado y la
clara reducción de costos en conectividad, debido al crecimiento de usuarios de banda
ancha. La comercialización unificada de servicios de datos, voz y video es inminente.
La utilización de VoIP, implica una gran ventaja, que recae en una importante reducción
de costos (marginales, tendientes a cero) para los usuarios, sobre todo en llamadas de
larga distancia o internacionales, sin abonos mensuales por mantenimiento o abonos que
representan crédito por llamadas ilimitadas a ciertos destinos.
Para implementar VoIP o contratar un servicio de “Telefonía IP”, es conveniente que los
usuarios conozcan algunos conceptos vinculados con el uso de dispositivos (basados en
hardware o software), los tipos de protocolos, Codec y demás herramientas.
Los protocolos son fundamentales para controlar y manejar las comunicaciones en
Telefonía IP. Lo que debe conocer el usuario es que existen protocolos estandarizados,
libres y gratuitos. Además de otros cerrados y propietarios. La principal ventaja de utilizar
los primeros se relaciona con evitar el pago de “licencias de uso” (disminuyendo los
costos), y la capacidad de mantener un control completo sobre el sistema implementado.
Conclusión Autor: Santos Gustavo Vega
El protocolo estandarizado de señalización SIP es de uso gratuito y uno de los más
utilizados por fabricantes de equipos VoIP.
Al igual que los protocolos, existen Codec libres y/o gratuitos (G711, GSM, iLBC, etc.) y
otros que requieren del pago de licencias (G729, G722, etc.). Cada uno de ellos presenta
características propias. A la hora de seleccionar el que vamos a utilizar para realizar
nuestras comunicaciones, es conveniente evaluar: el consumo de ancho de banda, se es
de uso libre o gratuito, que sea soportado por el proveedor y los dispositivos utilizados y la
cantidad de llamadas simultaneas, entre otras cosas.
Debemos tener muy en cuenta que una solución basada en estándares abiertos y código
libre permite flexibilidad y sostenibilidad. Ello permite construir nuestra propia red de
telefonía y nos garantiza independencia y control.
Una muy buena opción es utilizar Asterisk (corriendo en un sistema Linux) que
básicamente es una central telefónica basada en software, bajo licencia GPL, distribuida
en forma gratuita. La incorporación de Asterisk en una plataforma de Telefonía IP,
potencia las ventajas de la tecnología VoIP. La flexibilidad de este producto se debe en
gran parte a la disponibilidad del código fuente y a la posibilidad de modificar el
comportamiento de Asterisk para satisfacer las propias necesidades.
IAX2 es un protocolo abierto y gratuito, utilizado y creado para Asterisk. Provee control y
transmisión, y no presenta grandes problemas relacionados con uso de NAT o Firewalls.
Utiliza el modo “trunking” para ahorrar ancho de banda, en el cual se empaquetan
llamadas simultáneas en un solo flujo de paquetes (disminuyendo overhead) y de este
modo es mucho más costo-efectivo al reducir el uso de ancho de banda. Su utilización es
muy recomendada para interconectar varios servidores Asterisk y en forma distribuida.
Asterisk ofrece mayores prestaciones que las centrales convencionales, permitiendo que
los usuarios se conecten mediante terminales (basados en hardware o en software)
logrando transmitir voz y video en tiempo real. También aporta nuevas funciones que
hacen de este producto una solución más rentable (comparada con las costosas PBX
convencionales, limitadas en funcionalidad y con soporte limitado), gracias a la enorme
cantidad de servicios de valor agregado que es posible integrar.
- 166 -
Conclusión Autor: Santos Gustavo Vega
La integración es una de las cualidades más grandes de este software “Open Source”,
brindando la posibilidad de trabajar sin mayores problemas con hardware y software
(Open Source y propietarios) de diferentes proveedores.
Movilidad, portabilidad, accesibilidad y la libertad de desarrollar nuevas aplicaciones que
expandan los servicios, hacen que Asterisk se convierta en uno de los productos “Open
Source” más utilizados por las empresas que pretenden brindar “Telefonía IP”.
Además, es recomendable su implementación en regiones en desarrollo donde el acceso
a Internet es muy costoso. El uso de estos servicios y una correcta elección del Codec
utilizado pueden permitir a grupos de usuarios establecer comunicaciones aprovechando
al máximo, el ancho de banda disponible.
En cuanto a seguridad e intimidad en VoIP, es muy importante y necesario implementar
políticas de seguridad, ya sea en los dispositivos de red, servidores o teléfonos IP como
así también sobre sistemas operativos, protocolos y software utilizados. Es conveniente
trabajar sobre un esquema de VoIP con cifrado o encriptación de datos (entre los distintos
nodos de la red) tratando de garantizar calidad de servicio y confidencialidad en las
comunicaciones. Por otro lado vemos que el costo de utilizar encriptación de datos puede
generar un mayor consumo de ancho de banda, y los procesos de encriptación y
desencripción generar latencia, con lo cual, la calidad de las comunicaciones en tiempo
real puede verse disminuida.
Es necesario aplicar "calidad de servicio” (QoS), lo cual consiste en dar prioridad a los
paquetes de voz respecto de los paquetes de datos, lo que se busca es garantizar que los
paquetes enviados que necesiten menor tiempo de latencia puedan ser enviados primero,
de modo que siempre que se realice una llamada VoIP, esta tenga prioridad sobre los
restantes servicios que operan sobre la misma red.
Se ofrece facilidad en la instalación y configuración, es decir no se necesita ser experto
en VoIP para lograr implementar una PBX-IP con Asterisk. Las soluciones de Asterisk
basadas en interfaz Web permiten al usuario inexperto, realizar una gran cantidad de
tareas que no requieren de ciertos conocimientos avanzados y conocer toda la
funcionalidad de este software.
- 167 -
Conclusión Autor: Santos Gustavo Vega
Asterisk ofrece una arquitectura “abierta” y “flexible” que permite ampliar el sistema o
seleccionar y remover los módulos que lo componen. La incorporación y el desarrollo de
nuevos módulos y funciones (utilizando herramientas Open Source) favorecen la
reducción de costos. Asterisk ofrece funciones que permiten que las llamadas sean
encaminadas evaluando la salida (troncales de proveedores VoIP) menos costosa.
Además puede ínter operar con casi todos los equipos basados en estándares de
telefonía y soporta gran variedad de interfaces de hardware para conectar los canales de
voz. Es recomendable la utilización de hardware con soporte brindado por el fabricante. O
bien, recurrir a foros y a la comunidad de software libre a la hora de experimentar algún
problema. También es necesario preservar al máximo la CPU (maquina dedicada) que
implementa y contiene al Asterisk.
Durante la implementación del sistema es necesario conseguir “la mayor performance
posible”. Esto se alcanza explorando los requerimientos de hardware a utilizar, según la
cantidad de llamadas o canales simultáneos que se desean mantener y analizando la
dimensión del escenario a implementar, dejando de lado la posibilidad de brindar algún
tipo de servicio a cambio de mejorar la performance del sistema.
La infraestructura necesaria implica la reutilización de las redes de datos, en muchos
casos ya existentes, y la opción de sumar nuevos equipos (Teléfonos IP, ATAs, bancos de
canales o tarjetas con interfaces FXS y FXO).
La disponibilidad de los usuarios que utilizan equipos basados en hardware ATAs o
teléfonos IP, es muy superior a la de usuarios que utilizan SoftPhone. Los ATAs suelen ser
más económicos que los teléfonos IP, de ambos existe una gran variedad de modelos y
precios. Para comenzar ahorrando costos, se recomienda la utilización de SoftPhone, por
lo general distribuidos en forma gratuita.
La definición de la infraestructura necesaria impactará en forma directa sobre la inversión
que debamos realizar. Pero la utilización de Software libre y estándares abiertos hace
posible obtener grandes resultados reduciendo costos, a la hora de implementar un
sistema de “Telefonía IP mediante Asterisk”.
- 168 -
Anexos Autor: Santos Gustavo Vega
Anexos
Anexo A: Instalación y configuración de SoftPhone
El procedimiento de instalación y configuración de un SoftPhone es similar al de cualquier
otro programa. De acuerdo al sistema operativo utilizado, debemos descargar el archivo
de instalación correspondiente.
En esta sección expondremos como configurar algunos de ellos, basándonos en la
arquitectura de aplicación, presentada en el capitulo 5 del presente trabajo.
A.1 X-Lite
Software distribuido por la empresa “CounterPath”, en su versión gratuita. Disponible en
sus versiones 3.0 para Windows y MAC, o en su versión 2.0 para Linux. Podremos
descargar el archivo de instalación desde: http://www.counterpath.net/X-Lite-
Download.html
El proceso de instalación para Windows no será explicado por ser realmente sencillo.
Al finalizar la instalación es necesario “desbloquear” el paso de X-Lite a través del firewall
del equipo.
Anexos Autor: Santos Gustavo Vega
Luego de completar la instalación, procedemos a configurar la cuenta SIP, presionando el
botón derecho del cursor sobre la pantalla del SoftPhone.
Anexos Autor: Santos Gustavo Vega
En la siguiente imagen, observamos la configuración del usuario 6022. Los datos
necesarios (Nombre de usuario, contraseña, autorización de usuario y dominio) deben ser
indicados por el administrador del sistema. En este caso el usuario es externo, es decir
se conecta al Servidor1 (AsteriskNOW) a través de Internet. Para ello debe utilizar el
nombre de dominio “asterisknow.no-ip.org:5060”. También se indica el puerto utilizado por
SIP para recibir las peticiones de registro.
Como el usuario se encuentra detrás de un NAT, esto suele traer inconvenientes (según el
tipo de NAT implementado) ligados a problemas de pasaje del audio.
Para minimizar este problema utilizamos el panel “Topology” para indicar el uso de un
servidor externo STUN (stun.xten.com). Además se definen un rango de puertos
(generalmente entre 10000 y 20000 para el protocolo RTP) utilizados para el trafico de
voz.
Anexos Autor: Santos Gustavo Vega
El panel “Advanced” permite configurar el tiempo de expiración del registro de usuario y el
envió de paquetes “Keep-alives”, para mantener viva la conexión con el servidor.
Anexos Autor: Santos Gustavo Vega
X-lite ofrece un panel de Opciones donde es posible habilitar diferentes aspectos
vinculados con el uso de la aplicación, como la descarga de nuevas versiones, alertas de
sonido, lista de contactos y los dispositivos (micrófono, parlantes, cámara Web, etc.)
Dentro de las opciones avanzadas encontramos listas de Codecs de audio y video
disponibles, donde solo habilitamos algunos de ellos. Las listas de Codecs pueden variar
entre diferentes versiones del producto. Para poder realizar llamadas de voz es necesario
habilitar al menos un Codec y que a su vez, Asterisk pueda soportarlo.
En la siguiente imagen podemos visualizar los Codecs soportados en la versión utilizada.
Anexos Autor: Santos Gustavo Vega
Lista de Codec de videos habilitados:
Anexos Autor: Santos Gustavo Vega
Para realizar llamadas con soporte de video es necesario que Asterisk soporte alguno de
los Codec seleccionados y la opción de soporte de video para SIP, se encuentre habilitada
en el servidor.
Una vez completada la configuración y aplicados los cambios, comprobamos que el
usuario se allá registrado con éxito, visualizando en la pantalla del SoftPhone lo siguiente:
Para realizar llamadas de voz y video, es necesario desplegar el panel lateral izquierdo y
una vez establecida la comunicación de voz, podremos enviar video hacia el otro extremo
presionando el botón “Start”.
En el panel derecho encontramos la lista de llamadas (realizadas, perdidas, etc.) junto a
los contactos disponibles. Solo se encuentra disponible en idioma Ingles.
X-Lite es uno de los SoftPhone con soporte de video, mas utilizado por usuarios que
requieren introducirse al mundo de la telefonía IP con Asterisk. La mayoría de los trabajos
bibliográficos encontrados sobre Asterisk, contienen ejemplos que utilizan X-Lite.
Anexos Autor: Santos Gustavo Vega
A.2 Kapanga
Kapanga es un SoftPhone basado en el protocolo SIP (creado en 2005) que permite
establecer video llamadas, enviar y recibir faxes, SMS y hacer llamadas VoIP. Los
principales objetivos del desarrollo son: el poder y la simplicidad.
Se distribuye en forma libre y gratuita. Soporta una gran cantidad de Codecs de audio y
video (alguno de ellos requieren cargo de licenciamiento).
Puede descargarse desde: http://www.kapanga.net/ip/download.cfm, donde se requiere
registro para obtener el archivo de instalación.
El proceso de instalación para Windows no será explicado por ser realmente sencillo.
Al finalizar la instalación es necesario “desbloquear” el paso de Kapanga a través del
firewall del equipo.
Las siguientes imágenes proporcionan más información acerca de la interfaz del
Softphone Kapanga y como configurar una cuenta SIP con soporte para video-llamada en
un servidor Asterisk.
Configuramos los parámetros generales (“General Settings”), presionando el botón
derecho del cursor sobre la pantalla del SoftPhone.
Anexos Autor: Santos Gustavo Vega
Kapanga dispone de un panel con parámetros que permiten habilitar el soporte de video y
video texto, en diferentes resoluciones, tal como se observa a continuación.
Luego, es necesario configurar la cuenta SIP, presionando el botón derecho del cursor y
seleccionando la opción “Call Control & Signaling”.
Dentro del panel “SIP Parameters” ingresamos los datos de la cuenta de usuario,
asignados por el administrador. También puede habilitarse la opción de música en espera
y otros parámetros.
El siguiente ejemplo muestra la configuración para el usuario 6022 (Indicada con círculo
rojo). Observamos que en esta instancia no se define la contraseña de usuario.
Anexos Autor: Santos Gustavo Vega
El panel “Media Related” proporciona la lista de Codec de audio y video, soportados por
Kapanga (algunos de ellos requieren licencia para ser habilitados). También es posible
definir parámetros DTMF, rango de puertos para el protocolo RTP y otros vinculados con
el uso del Codec T.38 para envió y recepción de Fax.
Anexos Autor: Santos Gustavo Vega
Kapanga permite realizar comunicaciones de voz y video, el cual es habilitado en forma
automática una vez atendida la llamada. Se puede observar uno mismo y a la persona
llamada al mismo tiempo.
En la siguiente imagen, observamos el panel “Proxy Configuration”, que permite definir la
dirección del servidor Asterisk junto a otros parámetros vinculados al proceso de
registración de usuario. Aquí es necesario especificar la contraseña y autorización del
usuario para completar el registro.
Anexos Autor: Santos Gustavo Vega
El panel “Transport & Security” permite definir el puerto UDP (marcado en circulo rojo en
la siguiente figura) utilizado por el protocolo SIP para establecer sus comunicaciones.
Además es posible habilitar el uso de SIP sobre el protocolo TCP.
Anexos Autor: Santos Gustavo Vega
Una vez completada la configuración y aplicados los cambios, es necesario reiniciar el
SoftPhone, seleccionando la opción “Restart SoftPhone”. Comprobamos que el usuario se
allá registrado con éxito, visualizando en la pantalla del SoftPhone lo siguiente:
Anexos Autor: Santos Gustavo Vega
A.3 Zoiper
SoftPhone basado en los protocolos IAX y SIP, distribuido a través del sitio
http://www.zoiper.com/free.php, donde se puede encontrar en su versión libre y gratuita.
La disponibilidad en varios sistemas operativos es una de sus principales características.
Inicialmente fue llamado “Idefisk”. Ofrece funciones múltiples cuentas de usuario (IAX o
SIP), funciones de trasferencia de llamadas, multilenguaje, soporte de STUN, entre otras.
La versión gratuita no incluye el uso de ciertos Codec (g729) y otras funciones (Fax).
El proceso de instalación para Windows no será explicado por ser realmente sencillo.
Para comenzar la configuración de Zoiper, seleccionamos el icono de configuración
“Options” indicado en la siguiente figura.
Anexos Autor: Santos Gustavo Vega
Zoiper ofrece diversas opciones de configuración, entre ellas encontramos: especificación
de los dispositivos de audio (micrófonos, parlantes o auriculares), definición de
parámetros del servicio de Fax, eventos de llamada (mostrar alerta de llamada entrante),
definición de puertos SIP, IAX y RTP, etc.
En la siguiente imagen observamos la lista de Codec soportados en la versión libre de
Zoiper.
Anexos Autor: Santos Gustavo Vega
Siguiendo el ejemplo presentado en el capitulo 5, encontramos que el usuario interno
6001, puede utilizar conexiones SIP o IAX para conectarse al servidor Asterisk.
Para ello, utiliza Zoiper, el cual permite manejar ambas cuentas y utilizarlas en forma
simultanea. El usuario podrá realizar hasta 6 llamadas utilizando una o ambas cuentas.
Para configurar una cuenta SIP, seleccionamos la opción “Add new SIP account” e
ingresamos un nombre simbólico, como se observa en la siguiente imagen.
Luego ingresamos los datos de usuario provistos por el administrador del sistema.
En este caso el usuario pertenece al mismo dominio de red que el Servidor1, por lo cual
debe ingresar la correspondiente dirección IP (del servidor) en el parámetro “Domain”.
La interfaz permite ingresar el número de extensión del buzón de correo (Voicemail), el
tiempo de expiración de la cuenta, DTMF y STUN, entre otras.
Anexos Autor: Santos Gustavo Vega
El proceso de configuración para la cuenta IAX es similar al anterior. Seleccionamos la
opción “Add new IAX account” e ingresamos el nombre para la cuenta. Luego ingresamos
los datos de usuario provistos por el administrador del sistema, para la cuenta IAX.
Anexos Autor: Santos Gustavo Vega
En la configuración de ambas cuentas se ha seleccionado la opción “Register on startup”
(registrar al inicio), lo que indica que cada ves que ejecutemos la aplicación las cuentas se
Anexos Autor: Santos Gustavo Vega
registraran contra el servidor. En otro caso la registracion puede ser manual, decidiendo
cual de las cuentas se va a utilizar.
Una vez completada la configuración y aplicados los cambios podremos observar lo
siguiente:
Ambas cuentas han sido registradas. Para realizar una llamada se debe seleccionar una
de las cuentas y desplegar las teclas de marcación en la pestaña izquierda de la interfaz.
Anexo B: Instalación y configuración de AsteriskNOW 1.0.2
En esta sección se presenta una guía detallada de como instalar y configurar
AsteriskNOW utilizando su interfaz gráfica de gestión.
La configuración adoptada en los ejemplos tiene correspondencia con el esquema de
aplicación indicado en el capitulo 5 del presente trabajo.
B.1 Instalación de AsteriskNOW 1.0.2
AsteriskNOW es una distribución del software Asterisk que incluye la interfaz gráfica de
gestión Asterisk-GUI.
Una de sus principales características es la facilidad que ofrece el proceso automático de
instalación, el cual requiere una interacción mínima con el usuario, logrando (luego de
instalado el sistema) poner en funcionamiento la central Asterisk.
Anexos Autor: Santos Gustavo Vega
AsteriskNOW evita que el usuario deba realizar los procesos de descarga de fuentes,
compilación e instalación de Asterisk, en forma manual y ahorrando mucho tiempo.
El tiempo de instalación dependerá de los recursos (memoria, procesador etc.) utilizados.
La empresa “Diguim Inc”, es la principal desarrolladora del producto y lo pone a
disposición en forma libre y gratuita.
Para proceder con la instalación debemos obtener una imagen de ISO desde el sitio
oficial de Digium (http://www.asterisknow.org/downloads), luego generar (grabar) un CD o
DVD de arranque e insertarlo en la PC que vamos a utilizar como servidor.
Para este proyecto se opto por utilizar la versión AsteriskNOW 1.0.2 (versión considerada
estable). Las versiones anteriores (desde “beta4” hasta “beta6 ½”) pueden ser
descargadas desde el sitio oficial de rPath (http://www.rpath.org/rbuilder/project/asterisk/).
Todas las versiones de AsteriskNOW hasta la 1.0.2 utilizan la distribución de Linux rPath.
Una vez arrancado el CD de instalación podremos observar la siguiente imagen:
Presionamos la tecla “Enter” para comenzar la instalación y definimos el idioma que mas
nos guste y configuramos el teclado.
Anexos Autor: Santos Gustavo Vega
También es posible utilizar un “Mouse” o “ratón”, facilitando aun más la interacción con la
interfaz. Además se muestra una “ayuda en línea” con la respectiva información sobre los
pasos a realizar.
El usuario puede optar por realizar una instalación “Express” (que incluye todos los
componentes necesarios para crear una PBX-IP con Asterisk). O elegir la opción “Expert”,
para usuarios avanzados (donde es posible seleccionar en forma manual los diversos
paquetes de software).
Anexos Autor: Santos Gustavo Vega
La opción de particionamiento automático requiere la aprobación del usuario. Es
recomendable utilizar Asterisk en una maquina dedicada [Gonçalves07].
En este caso seleccionamos la opción de eliminar cualquier partición Linux instalada
previamente.
Anexos Autor: Santos Gustavo Vega
En la siguiente imagen se configuran los parámetros de red (dirección IP, nombre de host,
etc). En nuestro caso, deshabilitamos la opción DHCP y configuramos manualmente la
dirección IP del Servidor1 = 10.0.0.8 y el nombre del host = asterisknow.no-ip.org
Anexos Autor: Santos Gustavo Vega
Luego se solicita el uso horario, por lo que seleccionamos nuestro país de residencia
(Argentina/Buenos Aires).
La instalación crea por defecto al usuario “admin” y en esta sección se debe ingresar la
correspondiente contraseña y su repetición. Dicha contraseña no es la misma que la del
usuario “root” del sistema Linux que corre por debajo.
Anexos Autor: Santos Gustavo Vega
Una vez completado todos los datos, se inicia el proceso de instalación. Esta operación
puede tardar varios minutos.
Al finalizar la instalación será necesario remover el CD de instalación y reiniciar la PC.
Anexos Autor: Santos Gustavo Vega
A continuación podremos visualizar el menú de consola de AsteriskNOW.
El menú nos brinda una serie de opciones que permiten actualizar, reiniciar y apagar el
sistema. También se especifica la dirección URL (“http://direccion_ip_del_servidor1/”) con
la cual, ingresaremos desde una PC cliente, utilizando un explorador Web (Mozilla,
Internet Explorer, Safari, etc.) para proceder con la configuración del sistema.
El ingreso a la configuración de AsteriskNOW, requiere autentificación, en este caso
ingresamos como usuario “admin” y contraseña (creada durante el proceso de
instalación).
Al acceder al sistema, se presentan distintas opciones de configuración (indicadas en el
panel izquierdo de la interfaz).
B.2 Configuración de Usuarios
La opción “Users” nos permite insertar “extensiones de usuarios” y donde no podrán
existir dos números de extensiones iguales. Un usuario puede utilizar más de una
extensión de usuario.
A continuación se observa el ingreso de la extensión de usuario 6000. Obsérvese que la
opción “NAT” no esta habilitada por que el usuario se encuentra dentro del mismo dominio
de red que el Servidor1. Se habilitan el uso de canales IAX2 y SIP, el plan de discado
Anexos Autor: Santos Gustavo Vega
“Plan_completo” y los servicios de: buzón de correo, llamada de a tres, llamada en espera
y directorio telefónico.
Además, se define la lista de Codec a utilizar, funciones de agente de llamada y permiso
de ejecución de aplicaciones.
Se procede de la misma forma con cada usuario del sistema, definiendo las
correspondientes opciones de cada uno de ellos.
Anexos Autor: Santos Gustavo Vega
En la imagen anterior, observamos que el usuario 6022 tiene la opción “NAT” habilitada,
por que accede al Servidor1 desde Internet y se encuentra detrás de un NAT.
Luego de ingresar todas las extensiones de usuario, aplicamos los cambios utilizando la
opción “Activate Changes” ubicada en la parte superior derecha de la interfaz.
Todos los cambios realizados en esta opción de la interfaz, impactan sobre el archivo de
configuración users.conf, presentado en detalle en el capitulo 5 del presente trabajo.
B.3 Configuración de Proveedores
En esta sección se presenta el ejemplo de configuración para los proveedores “Megavox”
(SIP) y “IAXTel” (IAX2).
Para ello seleccionamos la opción “Service Providers” (Proveedores de servicio), donde
podremos elegir entre:
• Configurar un proveedor que utilice canales analógicos (en caso de disponer de
alguna placa conectada al servidor que interactué con la red de telefonía básica)
• Seleccionar y configurar proveedores VoIP incluidos en el archivo providers.conf
(el cual contiene una lista de proveedores IAX2 y SIP, previamente configurados e
incluidos en la distribución de AsteriskNOW)
Anexos Autor: Santos Gustavo Vega
• Configurar un proveedor VoIP de forma manual especificando un conjunto de
parámetros. Los datos (usuario y contraseña) deben ser provistos por el
proveedor.
A continuación se muestra un ejemplo de las ultimas dos opciones, utilizadas en el
desarrollo del proyecto.
Todos los cambios realizados en la interfaz impactarán sobre el archivo users.conf.
Configuración manual del proveedor Megavox:
En este caso se solicitan el nombre asignado al proveedor, el tipo de protocolo utilizado,
se habilita la opción registrar, se índica el nombre de dominio del proveedor y los datos de
usuario y contraseña provistos.
Este ingreso crea un conjunto de valores por defecto, los cuales pueden ser modificados
seleccionando: opciones de configuración avanzada (a la derecha de cada registro de
proveedor).
En la siguiente imagen se ingresan los valores adoptados para algunos parámetros.
Anexos Autor: Santos Gustavo Vega
En este caso se define un nombre para la troncal, que coincide con el número de cliente
asignado por el proveedor (el campo es alfanumérico).
También se indica el puerto (5060) donde Asterisk recibe las conexiones SIP del
proveedor, el valor del identificador de llamadas y el parámetro “insecure” con los valores
“invite” (cuando Asterisk reciba una llamada desde el proveedor no pedirá autenticación) y
“port” (Asterisk utilizará la dirección IP sin importar el puerto).
Los parámetros “fromdomain” y “fromuser” son a veces necesarios para autenticación en
proveedores. En este caso adoptará por defecto el valor “no”.
El parámetro “canreinvite = no” permite al Asterisk detectar los tonos DTMF entre dos
usuarios, y utilizar servicios como “Transferencia de llamadas”.
Configuración de un proveedor VoIP definido en el archivo providers.conf:
La versión de AsteriskNOW utilizada contiene una lista de proveedores IAX2 y SIP, lo cual
intenta facilitar la configuración solicitando solo los campos “nombre de usuario” y
“contraseña”.
El archivo providers.conf contiene la especificación de los mismos parámetros (con
valores por), mencionados anteriormente. Al utilizar esta opción se crea una copia de los
parámetros en el archivo users.conf, dentro de la sección indicada para ese proveedor.
Anexos Autor: Santos Gustavo Vega
También podremos redefinir parámetros seleccionando la opción de configuración
avanzada. La definición de parámetros es similar a la descripta anteriormente,
observando que el puerto definido para canales IAX2 es el 4569.
Todos los cambios realizados en esta opción de la interfaz, impactan sobre el archivo de
configuración users.conf, presentado en detalle en el capitulo 5 del presente trabajo.
Anexos Autor: Santos Gustavo Vega
B.4 Configuración de Servicios
Todo los servicios definidos utilizando las diferentes opciones de configuración que
incluye la interfaz Web de AsteriskNOW impactarán sobre el archivo extensions.conf.
Dicho archivo contiene la definición del “Dial Plan” (Plan de discado), que permite
controlar todas las conexiones (entrantes o salientes) de la central Asterisk. Su existencia
y una correcta configuración son indispensables para lograr el buen funcionamiento de la
central.
Para este proyecto se ha creado un plan de numeración donde los usuarios pueden
utilizar los diferentes servicios, de acuerdo al tipo de plan (determinado por contextos
diferentes) al que pertenezcan.
A continuación, se expone la numeración asociada a cada servicio:
• 8000 – Sala de conferencia de llamadas (los usuarios podrán acceder ingresando
un número de PIN -1234- y hablar en conferencia)
• 8500 – Buzón de voz (con reenvió de mensajes al mail del usuario, en forma
automática)
• 8501 – Sistema de respuesta de voz interactiva (IVR), personalizado para este
proyecto (IVR_Tesis).
• 8502 – Cola de llamadas (se accede a una cola de atención con música en
espera habilitada, donde los usuarios definidos como “agentes de llamada” podrán
contestar utilizando diferentes estrategias de atención)
• 8503 – Grupos de llamadas (se realizan llamadas a todos los usuarios de un
grupo definido, donde el primero en descolgar atenderá la llamada, en caso de no
atendido la llamada es reenviada al IVR_Tesis definido)
• 8504 – Llamadas por regla de tiempo (ante una llamada, se evalúa un
determinado día u horario, donde es posible encaminar la llamada hacia diferentes
destinos.
• 500 – Prueba Digium (marcando esta opción el servidor se conectará a un servidor
de pruebas localizado en Digium utilizando un canal IAX2)
• 600 – Servicio de Eco (utilizado para comprobar de manera audible cual es la
latencia producida entre el usuario que llama y el servidor que responde)
Llamadas a otras redes VoIP
Anexos Autor: Santos Gustavo Vega
• 91747. – Usuarios Gizmo (anteponiendo el digito “9” es posible llamar a los
usuarios del proyecto Gizmo. Servicio de Eco: 917474743246. El primer dígito es
eliminado durante la marcación hacia el proveedor)
• 1700XXXXXXX! – Usuarios IAXTel (marcando un número que comience con los
dígitos “1700” seguido de 7 o más dígitos, es posible contactar a usuarios del proveedor
IAXTel)
• 294XXXX! – Usuarios Megavox (marcando un número que comience con los
dígitos “294” seguido de 4 o más dígitos, es posible contactar a usuarios del proveedor
Megavox)
• 1XX – ECO Megavox (marcando un número que comience con el dígito “1”
seguido de 2 dígitos, se accede al servicio de ECO del proveedor Megavox)
Los usuarios que pertenezcan al contexto denominado “Plan_básico” podrán acceder a
los servicios listados anteriormente. Mientras que a los usuarios que pertenezcan al
contexto denominado “Plan_completo” se les agrega el siguiente servicio:
• 6XXXXXXX! – Llamadas a red Móvil o PSTN a través del proveedor Megavox.
(anteponiendo el digito “6” es posible realizar llamadas a estas redes, en este caso las
llamadas tendrán un costo).
A continuación de expone el flujo de pantallas utilizado para configurar cada servicio.
Lo primero a definir serán los planes de discado (Plan_básico y Plan_completo)
seleccionando la opción “Calling Rules” del panel izquierdo. Creamos una instancia e
ingresamos un nombre para el plan.
En la siguiente imagen se observa el ejemplo del “Plan_completo”:
Anexos Autor: Santos Gustavo Vega
Luego definimos la regla de llamada “Salida_megavox” dentro del mismo plan.
En la definición de cada regla de salida (llamadas hacia el proveedor) se define un
proveedor a utilizar, la forma de marcación y si es necesario eliminar algún digito
marcado.
En el “Plan _ básico” se definen las reglas para llamar a los usuarios de los distintos
proveedores:
Anexos Autor: Santos Gustavo Vega
En este caso se expone la regla de salida “usuarios_gizmo”. De la misma forma se
configuran otras reglas de salida para cada proveedor.
Por otro lado encontramos las reglas de entrada (llamadas desde el proveedor).
Seleccionando la opción “Incoming Calls” a la izquierda del menú de opciones.
Para cada proveedor se definen reglas de entrada, especificando un determinado patrón
de entrada. Luego toda llamada entrante al Asterisk, que coincida con el patrón de
entrada definido, será reenviada a una extensión en particular o bien (como se muestra en
la siguiente imagen) serán reenviadas al sistema IVR_Tesis.
Anexos Autor: Santos Gustavo Vega
De la misma forma se definen, para cada proveedor, las correspondientes reglas de
entrada.
Configuración del servicio “Sala de conferencia de llamadas”:
Seleccionando la opción “Conferencing” del menú, creamos una sala de conferencia
asociada a la extensión 8000, indicando un número de PIN (1234) para limitar accesos no
autorizados. También es posible indicar un número de PIN para el usuario administrador,
el cual podrá regular y organizar la conversación del grupo de usuarios conectados.
En el siguiente ejemplo, se indican otros parámetros que permiten anunciar el nombre de
un usuario al unirse a la conferencia, habilitar un menú de llamadas y ejecutar música en
espera (cuando solo exista un usuario en la conferencia).
Configuración del Buzón de voz:
Seleccionando la opción “Voicemail” del menú, asociamos la extensión 8500 al buzón de
voz, donde además se indica: la cantidad máxima de mensajes por usuario que es posible
mantener, los tiempos (mínimo y máximo) de duración de cada mensaje y otras opciones
que permiten enviar un mail a la casilla de correo del usuario con una copia del mensaje
de voz recibido.
Cuando un usuario marca hacia la extensión 8500 es atendido por un menú de opciones
donde se le solicita (en algunos casos) el número de buzón de voz y la contraseña de
acceso. EL menú contiene diferentes opciones que permiten configurar, a gusto del
Anexos Autor: Santos Gustavo Vega
usuario, los mensajes de bienvenida (en caso de no atendido o no disponible), escuchar,
eliminar o recuperar mensajes de voz.
En la siguiente imagen se observa la configuración adoptada para el buzón de voz en el
ejemplo dado.
Creando un menú personalizado:
Seleccionando la opción “Record a Menú”, AsteriskNOW nos permite crear archivos de
sonido personalizados, ingresando un nombre de archivo e indicando la extensión desde
donde realizamos la locución.
Asterisk enviará una llamada hacia la extensión indicada, una vez atendida se solicita que
el usuario ingrese la locución y que acepte la grabación. Luego los cambios son reflejados
en la interfaz en forma de lista. Los archivos generados son ubicados en la carpeta
/var/lib/asterisk/sounds/record.
La creación de archivos de audio personalizados es utilizada en la construcción de
sistemas de IVR.
En las siguientes imágenes observamos la creación de de un archivo de audio llamado
“saludo.gsm” utilizando la extensión 6000.
Anexos Autor: Santos Gustavo Vega
Luego seleccionamos la opción “Voice Menus”, la cual nos permite asociar a la extensión
8501 con el menú “IVR_Tesis” e indicar que se ejecute la aplicación “Background” con el
archivo grabado anteriormente.
Cuando un usuario marque hacia la extensión 8501 ingresara al menú IVR_Tesis donde
se reproducirá el saludo grabado y el servicio de música en espera hasta que elija una
opción del menú.
Anexos Autor: Santos Gustavo Vega
Configurando colas de llamadas:
Seleccionamos la opción “Call Queues” y asociamos la extensión 8502 para este servicio.
También se define un nombre simbólico (“cola”), una estrategia y los usuarios que actúan
como agentes de llamada. Otras opciones definidas pueden ser que mientras el usuario
espera ser atendido se reproduzca música en espera.
Configurando grupos de llamadas:
Seleccionando la opción “Ring Groups” y asociamos la extensión 8503 a un grupo de
usuarios definidos (pueden ser usuarios SIP o IAX2) e indicamos una estrategia (llamar a
todos), donde pasados 20 segundos, la llamada es reenviada el sistema de IVR_Tesis en
forma automática.
En el ejemplo observamos al “Grupo_de_llamadas” formado por los usuarios 6000 (en sus
canales IAX2 y SIP), 6002 y 6003 (que utilizan SIP)
Anexos Autor: Santos Gustavo Vega
Los servicios indicados por las extensiones 500 (Prueba Digium), 600 (ECO) y 8504
(Llamadas por regla de tiempo) son configurados en forma manual y son presentados en
mayor detalle en el capitulo 5 del presente.
Las versiones (beta) anteriores de AsteriskNOW 1.0.2 incluyen una interfaz de
configuración para definir “Llamadas por regla de tiempo”.
Todos los cambios realizados sobre la interfaz deben ser aplicados (reiniciar Asterisk).
Para ello, podremos utilizar la opción “Activate Changes” ubicada en la parte superior
derecha de la interfaz.
Es recomendable una vez completada toda configuración utilizar la opción “Backup” para
guardar una copia de todos los archivos de configuración de AsteriskNOW.
Otras opciones disponibles en la interfaz:
La versión utilizada incluye nuevas opciones que cumplen la función de escáner de placas
analógicas o digitales conectadas al servidor, otras que permiten visualizar cierta
información vinculada con la configuración y estado del sistema (System Info), realizar
backup, visualizar los canales activos (llamadas realizadas en tiempo real) y quizás las
más utilizadas por usuarios con cierta experiencia en Asterisk, “File Editor” y “Asterisk
CLI”.
Anexos Autor: Santos Gustavo Vega
Ambas ultimas, dotan al usuario que administra el servidor AsteriskNOW de poder realizar
cualquier cambio que no este incluido en el desarrollo de la interfaz y sin tener que salir
de ella o recurrir al acceso remoto por otro medio.
Glosario Autor: Santos Gustavo Vega
Glosario
Access Point: es un dispositivo que interconecta otros dispositivos de comunicación
inalámbrica para formar una red inalámbrica (WLAN).
ADSL: Asymmetric Digital Subscriber Line (Línea de Abonado Digital Asimétrica) es un
tipo de línea digital (DSL) de alta velocidad, apoyada en el par (simétrico) de cobre
utilizado en una línea telefónica convencional.
AGI: Asterisk Gateway Interface, interfaz que permite comunicar Asterisk, con programas
escritos en diferentes lenguajes de programación (PHP, Perl, Java, etc.).
AMI: Asterisk Manager Interface, interfaz que permite a un programa cliente (desarrollado
en Java, PHP, C, Perl, etc.) conectarse al servidor Asterisk y emitir comandos o leer
eventos, sobre un flujo TCP/IP.
ARI: Asterisk Recording Interface () aplicación que permite a los usuarios, ver y escuchar
su buzón de voz, realizar grabaciones y cambiar su propia configuración. Utiliza AJAX y
dispone de licencia GPL.
Asterisk: Asterisk es una aplicación de software libre (bajo licencia GPL) que proporciona
todas las funcionalidades de una central telefónica convencional (PBX). Puede conectar
usuarios para hacer llamadas entre sí e incluso conectar a un proveedor de VoIP.
ATA: Analog Terminal Adapter (Adaptador de terminal analógico) permiten conectar
teléfonos analógicos convencionales transformando su señal analógica en paquetes IP
(utilizando codecs) que luego serán encaminados hacia una red IP.
Cable módem: es un tipo especial de módem diseñado para modular la señal de datos
sobre una infraestructura de televisión por cable.
CDR: Call Detail Records (Registro detallado de llamadas) contienen información
detallada acerca de todas las llamadas entrantes o salientes de la central. Los CDR
suelen utilizarse para facturación.
Glosario Autor: Santos Gustavo Vega
CLI: Command Line Interface (Línea de comando de Asterisk), demonio que corre en
segundo plano, que permite administrar, ejecutar, configurar y controlar Asterisk en forma
manual.
CODECS: Codec es una abreviatura de Compresor-Decompresor. Describe una
especificación implementada en software, hardware o una combinación de ambos, capaz
de transformar un archivo con un flujo de datos o una señal.
Conary: es un sistema de gestión de paquetes creado por Path y distribuido bajo licencia
GPL.
DAHDI: Digium Asterisk Hardware Device Interface, nuevo paquete de módulos
(reemplaza a Zaptel), encargado de controlar las placas que pueden ser conectadas al
Asterisk.
Datagrama: es un fragmento de paquete que es enviado con la suficiente información
como para que la red pueda simplemente encaminar el fragmento hacia el receptor, de
manera independiente a los fragmentos restantes.
DECT: Digital Enhanced Cordless Telecommunications (Comunicación Digital Inalámbrica
Mejorada) es un estándar ETSI para teléfonos inalámbricos digitales, comúnmente
utilizado para propósitos domésticos o corporativos. Puede ser utilizado para
transferencias inalámbricas de datos. Los aparatos DECT tienen un alcance de 25 hasta
100 metros.
DTMF: Dual Tone Multi Frequency (marcación por tonos, también llamado sistema
multifrecuencia), cuando el usuario pulsa en el teclado de su teléfono la tecla
correspondiente al dígito que quiere marcar, se envían dos tonos, de distinta frecuencia,
uno por columna y otro por fila, la central descodifica a través de filtros especiales,
detectando instantáneamente que dígito se marcó.
Glosario Autor: Santos Gustavo Vega
FOP: Flash Operator Panel (Panel del operador basado en flash) muestra información
sobre la actividad de una central Asterisk en tiempo real a través de un navegador web
estándar con el plugin de Flash.
FXO: Foreign Exchange Office, indica un elemento pasivo que acepta señales, desde la
central (como el tono de marcado, ocupado o de ring) y puede enviar y recibir señales de
voz. Por ejemplo un teléfono.
FXS: Foreign Exchange Station, indica un elemento activo el cual suministra energía, es
el encargado de enviar la señal de llamada y los respectivos tonos hacia el aparato
telefónico o hacia una interfaz FXO.
GSM: Global System for Mobile communication (Sistema Global para Comunicaciones
Móviles), es un sistema estándar, completamente definido, para la comunicación mediante
teléfonos móviles que incorporan tecnología digital.
H.248: es un protocolo de señalización que habilita la conmutación de voz, fax y llamadas
multimedia entre la PSTN y las redes de próxima generación ó cualquier red IP.
H.323: es un Standard aprobado por la International Telecommunication Union (ITU) que
define cómo se transmiten los datos en conferencias audiovisuales a lo largo de una red.
IAX2: Inter-Asterisk eXchange protocol (Protocolo de Intercambio de Asterisk versión 2) es
uno de los protocolos utilizado por Asterisk, permite manejar conexiones VoIP entre
servidores y entre clientes y servidores que también utilizan protocolo IAX2.
IETF: Internet Engineering Task Force (Grupo de Trabajo de Ingeniería de la Internet)
IRQ: Interrupt ReQuest (petición de interrupción). Las IRQ son líneas que llegan al
controlador de interrupciones, un componente hardware dedicado a la gestión de las
interrupciones, y que puede estar integrado en el procesador principal o ser un circuito
separado conectado al procesador principal.
ISO: Organización Internacional de Normalización.
Glosario Autor: Santos Gustavo Vega
ISP: Internet Service Provider (Proveedor de servicios de Internet) es una empresa
dedicada a conectar usuarios o distintas redes, con la red pública Internet. Brindan el
mantenimiento necesario para que el acceso funcione correctamente. También ofrecen
servicios relacionados, como alojamiento Web o registro de dominios entre otros.
ITU o UIT: International Telecommunications Union (Unión Internacional de
Telecomunicaciones)
IVR: Interactive Voice Response (Respuesta de Voz Interactiva) esta formado por un
conjunto de aplicaciones capaces de recibir una llamada e interactuar con el humano a
través de grabaciones de voz. Es un sistema de respuesta interactiva, orientado a
entregar y/o capturar información automatizada a través del teléfono.
LAN: Local Area Network (Red de Área Local) es una red de dispositivos conectados
(Como PCs, impresoras, servidores y concentradores) para compartir recursos e
intercambiar datos y aplicaciones y que cubren un área geográfica relativamente
pequeña.
MOS: Mean Opinión Store (Valor medio de Opinión) es un promedio de opiniones sobre la
calidad del servicio en VoIP, formado por usuarios de este servicio.
Multicast: (Multidifusión) es el envío de la información en una red a múltiples destinos en
forma simultánea, usando la estrategia más eficiente para el envío de los mensajes sobre
cada enlace de la red.
NAT: Network Address Translator (Traductor de Direcciones de Red) es un mecanismo
utilizado por ruteadores IP para intercambiar paquetes entre dos redes que se asignan
mutuamente direcciones incompatibles. Consiste en convertir en tiempo real las
direcciones utilizadas en los paquetes transportados.
NGN: Next Generation Networking (Red de próxima generación), red que integra
tecnologías como datos, voz y video en una sola infraestructura de red.
Glosario Autor: Santos Gustavo Vega
PBX o PABX: Private Automatic Branch exchange (Centralita Telefónica Automática
Privada) es cualquier central telefónica conectada directamente a la red pública de
telefonía por medio de líneas troncales. Permite distribuir las troncales entre todos sus
internos.
PCM o MIC: Pulse Code Modulation (Modulación por Impulsos Codificados), es un
procedimiento de modulación utilizado para transformar una señal analógica en una
secuencia de bits.
PSTN o RTB: Public Switched Telephone Network (Red de Telefonía Básica Conmutada),
servicio constituido por todos los medios de transmisión y conmutación necesarios que
permiten enlazar a voluntad dos equipos terminales mediante un circuito físico que se
establece específicamente para la comunicación y que desaparece una vez que se ha
completado la misma. Diseñada primordialmente para la transmisión de voz, aunque
pueda también transportar datos.
QoS: Quality of Service (Calidad de Servicio) es una característica de una red de
telecomunicaciones que permite garantizar al cliente, la transmisión de cierta cantidad de
datos (paquetes de voz), en un tiempo dado manteniendo un calidad pactada por cada
servicio contratado.
RFC: Request For Comment (Documento de Trabajo de Estandarización) es un
documento cuyo contenido es una propuesta oficial para un nuevo protocolo de la red
Internet, explicado con detalle para que en caso de ser aceptado pueda ser implementado
sin ambigüedades.
RTP: Real Time Protocol (Protocolo de Tiempo Real), utilizado para la transmisión de
información en tiempo real, por ejemplo audio y video en una videoconferencia.
SDSL: Symmetric Digital Subscriber Line (Línea Simétrica Del Suscriptor Digital), es una
variante de DSL y se trata de una línea simétrica permanente con velocidades justamente
de 400 kbps, 800 kbps, 1.200 kbps y 2.048 kbps. Proporciona igual ancho de banda para
subida de datos (uploads), bajada de datos (downloads) y en transferencias directas.
Glosario Autor: Santos Gustavo Vega
SCCP: Skinny Call Control Protocol (Protocolo de Control de Llamadas Skinny) protocolo
utilizado entre Cisco Call Manager de Cisco y los teléfonos VoIP.
SIP: Standard aprobado por la ITU de protocolo de señalización para telefonía IP y
multimedia. [RFC3261]
SNMP: Simple Network Management Protocol (protocolo simple de gestión de redes), es
aquel que permite la gestión remota de dispositivos de red, tales como switches, routers y
servidores.
Softphone: Es un software que se ejecuta sobre una PC y simula la funcionalidad de un
teléfono convencional utilizando VoIP.
SS7: Signalling System 7 (Sistema de Señalización versión 7), el sistema de señalización
por canal común nº 7, permite el intercambio de información entre componentes de
llamada los cuales se requieren para entregar y mantener servicio. SS7 es un medio por
el cual los elementos de una red de telefonía intercambian información. La información es
transportada en forma de mensajes.
SSH: Secure SHell, un software cuya principal función es lograr una conexión remota y
segura a sistemas a través de canales inseguros.
STUN: Simple Traversal of User Datagram Protocol, permite a los clientes NAT realizar
llamadas telefónicas a un proveedor VoIP alojado afuera de su red local. El servidor STUN
permite a los clientes encontrar sus direcciones públicas, el tipo de NAT y el puerto de
Internet asociado por el NAT con el puerto local específico. Esta información es usada
para configurar comunicación UDP entre el cliente y el proveedor de VOIP para así
establecer una llamada. El protocolo STUN está definido en el [RFC 3489].
TCP: Transmission Control Protocol (Protocolo de Control de Transmisión), es utilizado
por programas para crear conexiones a través de las cuales puede enviarse un flujo de
datos. El protocolo garantiza que los datos serán entregados en su destino sin errores y
en el mismo orden en que se transmitieron.
Glosario Autor: Santos Gustavo Vega
UDP: User Datagram Protocol (UDP) es un protocolo de nivel de transporte basado en el
intercambio de datagramas. Permite el envío de datagramas a través de la red sin que se
haya establecido previamente una conexión, debido a que el propio datagrama incorpora
suficiente información de direccionamiento en su cabecera. Tampoco tiene confirmación,
de entrega o de recepción, ni control de flujo, por lo que los paquetes pueden adelantarse
unos a otros.
Unicast: es el envío de la información en una red desde un punto a otro.
VDSL: Very high bit-rate Digital Subscriber Line (DSL de alta tasa de transferencia). Se
trata de una tecnología de acceso a Internet de Banda Ancha, perteneciente a la familia
de tecnologías xDSL que transmiten los impulsos sobre pares de cobre. La tecnología
VDSL utiliza 4 canales para la transmisión de datos, dos para descarga y 2 para subida,
con lo cual se aumenta la potencia de transmisión de manera sustancial.
VoIP: Voz sobre el Protocolo de Internet, también llamado Voz sobre IP, VozIP, es una
tecnología que permite la transmisión de la voz sobre el protocolo IP, formada por un
conjunto de normas, dispositivos, protocolos.
VPN: Virtual Private Network (Red Privada Virtual), es una tecnología de red que permite
extender una red LAN sobre una red pública o no controlada, como por ejemplo Internet.
WLAN: Wireless Local Area Network (Red de área local Wirelles) es un sistema de
comunicación de datos inalámbrico flexible, muy utilizado como alternativa a las redes
LAN cableadas o como extensión de éstas. Utiliza tecnología de radiofrecuencia que
permite mayor movilidad a los usuarios.
YUM: Yellow dog Updater, Modified, es una herramienta de software libre que permite
gestionar paquetes para sistemas Linux basados en RPM (Herramienta de administración
de paquetes).
Bibliografía Autor: Santos Gustavo Vega
Bibliografía
[Gonçalves07] Flavio E. Gonçalves, 2007, Asterisk PBX “Guía de la
configuración 3ra generación”, 362pp. ISBN: 978-85-906904-
3-6
[Madikonda07] Anil Madikonda, 2007, “AsteriskNow Documentation Users”,
82pp.
[Meggelen05] Jim Van Meggelen, Jared Smith, and Leif Madsen, 2005,
“AsteriskTM. The Future of Telephony”, 1ra. Edición, 376pp.
O'Reilly.
ISBN: 0-596-00962-3
[Meggelen07] Jim Van Meggelen, Jared Smith, and Leif Madsen, 2007,
“AsteriskTM. The Future of Telephony”, 2da. Edición, 604pp.
O'Reilly.
ISBN-10: 0-596-51048-9
[JacksonClark07] Benjamín Jackson, Champ Clark III, 2007, “Asterisk Hacking”
ISBN: 978-1-59749-151-8
[PascualBerthilson06] Alberto Escudero Pascual, Louise Berthilson, 2006
“VoIP para el Desarrollo”. Una guía para crear una
infraestructura de voz en regiones en desarrollo, 37pp.
[GomillionDempster05] David Gomillion, Barrie Dempster, 2005, “Building Telephony
Systems with Asterisk”, 175pp. ISBN: 1-904811-15-9
[SpencerMiller05] Mark Spencer, F.Miller, 2005, “Inter-Asterisk Exchange (IAX)
Versión 2”, 23pp.
[Spencer03] Mark Spencer, Mack Allison, Christopher Rhodes, 2003, “The
Asterisk Handbook Version 2”, 71pp.
Bibliografía Autor: Santos Gustavo Vega
[Jacobsen03] J. Jacobsen, 2003, “The Internet Protocol Journal, Cisco
Systems”, 40pp.
[Robles01] Maybelline Reza Robles, 2001, “Tesis – Voz sobre IP:
Análisis del servicio Instalado en la facultad de Telemática”,
Universidad de Colima, Col. 171pp
[Kuthan07] Jiri Kuthan, Dorgham Sisalem, Tekelec, 2007, “Sip: More
than you ever wanted to know about”, 242pp
[NarváezCano06] León David Narváez, Jeimy J. Cano M., 2006,
“Consideraciones legales y comerciales sobre VoIP en
Colombia”, 44pp
[Kelly05] Timothy Kelly, 2005, “VoIP for Dummies”, 314pp
ISBN-13: 978-0-7645-8843-3, ISBN-10: 0-7645-8843-5
[Mahler04] Paul Mahler, 2003-2004, “VoIP Telephony with Asterisk”,
211pp
ISBN 09759992-0-6
[Alonso02] Rafael Maria Estepa Alonso, 2002, “Tesis doctoral:
Contribuciones al soporte de calidad en redes de Voz sobre
IP”, Universidad de Sevilla, 192pp
[Gómez06] Lic. Rodríguez Gómez Gisela, 2006, “Telefonía IP”,
Universidad Nacional del Nordeste, Corrientes, Dto.
Informática, 43pp
[Méndez05] Carlos Méndez Esquivel, 2005, “Tesis profesional: Inbound
para enlaces PSTN con VoIP”, Universidad de las Américas
Puebla, México.
Bibliografía Autor: Santos Gustavo Vega
[Pinedo05] Christian Pinedo, Oihane Lorente, et All, 2005, “Arquitectura
de una solución de Voz sobre IP real compatible con NAT”,
Universidad del País Vasco, 4pp
[Heinz05] Heinz Waldemar Herlitz Gatica, 2005, “Transversabilidad en
NAT/FIREWALL”, Universidad Católica de Temuco, 114pp
http://www.uct.cl/biblioteca/tesis-on-line/heinz-herlitz/tesis.pdf
[Jang03] Saqib Jang, E. Brent Kelly, W. Davis, 2003, “Frequently
Asked Questions about Voice and Video over IP Networks”,
10pp
[Stallings03] William Stallings, 2003, “The Internet Protocol Journal”, volu-
men 6, 40pp
[Zapata00] Jim Dixon, “Zapata Telephony”, 2000.
http://www.zapatatelephony.org/
[Rojano06] Elio Rojano Ruiz, 2006, Segundas jornadas Técnicas de
Linux-Málaga “Introducción a la VoIP con Linux y Asterisk”,
20pp
[Mendoza07] Jorge Mendoza TCC S.A., 2007, “La Telefonía IP: Vence la Brecha”.http://interred.wordpress.com/2007/01/09/la-telefonia-ip-una-
oportunidad-para-los-paises-pobres/
[Brito06] Michael Brito, 2006, Estrategia Magazine Año 5 – Edición N
66 – Sección Tecnología. “La insurgencia del VOIP”, 3pp.
http://www.estrategiamagazine.com.ar/ediciones/edicion0066/tecnologia.asp ,
http://www.britopian.com/
[ShoreTel07] ShoreTel, Inc. 2007, “IP Telephony from A-Z eBook”, 52pp
[Voipex06] “Historia de VoIP”, “Voz 2.0”
Bibliografía Autor: Santos Gustavo Vega
http://voipex.blogspot.com/search/label/VoIP
[Ponz06] Carlos S. Ponz, 2006, “Paso a paso – Telefonía a través de
Internet”
http://www.elpais.com/articulo/internet/Internet/digame/elppor
tec/20060328elpepunet_7/Tes
[WikipediaTelecom] “Telecomunicación”
http://es.wikipedia.org/wiki/Telecomunicaci%C3%B3n
[WikipediaTelefonía] “Telefonía”
http://es.wikipedia.org/wiki/Telefonia
[WikipediaBellMeucci] “Antonio Meucci”
http://es.wikipedia.org/wiki/Antonio_Meucci
“Alexander Bell”
http://es.wikipedia.org/wiki/Alexander_Bell
[WikipediaHistory] “History of the telephone”
http://en.wikipedia.org/wiki/History_of_the_telephone
[WikipediaSoftswitch] “Softswitch”
http://en.wikipedia.org/wiki/Softswitch
[WikipediaMGW] “Media Gateway”
http://en.wikipedia.org/wiki/Media_Gateway
[WikipediaDSP] “Digital signal processor”
http://en.wikipedia.org/wiki/Digital_signal_processor
[WikipediaDTMF] “Dual-Tone Multi-frequency”
http://en.wikipedia.org/wiki/DTMF
Bibliografía Autor: Santos Gustavo Vega
[Cardwell01] Will Cardwell, 2001, “Atlanta Telephone History”
http://home.speedfactory.net/cardwell/part1.html
[Secom02] Secretaria de Comunicaciones de Argentina, 2002,
“Evolución de la telefonía en argentina”
http://www.secom.gov.ar/municipios/ver.asp?
MID=10&tipo=nota&id=121
[CNC] Comisión Nacional de Comunicaciones, “Servicios Telefónicos”
http://www.cnc.gov.ar/ServTelefonico/index.asp
[CursoVoIP] “Curso Gratuito de Telefonía IP”
http://www.cursosgratis180.com/cursovoip/leccion20jun.html
[Voipsa08] “VOIPSA” (Voice over IP Security Alliance)
http://www.voipsa.org/
[WikipediaNGN] “NGN” (Red de nueva generación)
http://es.wikipedia.org/wiki/NGN
[WikipediaTriplePlay] “Triple Play”
http://es.wikipedia.org/wiki/Triple_play
[WikipediaVoIP] “VoIP”
http://es.wikipedia.org/wiki/Voip
[WikipediaRTCP] “RTCP (Protocolo de Control de Tiempo Real)
http://en.wikipedia.org/wiki/Real_time_control_protocol
[RFC-3261] “SIP (Protocolo de inicio de Sesión)”
http://www.ietf.org/rfc/rfc3261.txt
Bibliografía Autor: Santos Gustavo Vega
[RFC-H323] “H323 Sistemas y Equipos video-telefónicos para redes
locales que proporciona una calidad de servicio no
garantizada”
http://www.itu.int/rec/T-REC-H.323-199611-S/en
[RFC-1889] “RTP (Protocolo de Tiempo Real)”
http://www.faqs.org/rfcs/rfc1889.html
[RFC-1631] “NAT, Network address Translator”
http://www.faqs.org/rfcs/rfc1631.html
[RFC-1597] “Address Allocation for Private Internets”
http://www.faqs.org/rfcs/rfc1597.html
[RFC-1918] “Address Allocation for Private Internets”http://www.faqs.org/rfcs/rfc1918.html
[ITU-G168] “Digital Network Echo Cancellers” (Compensadores de Eco
de redes digitales), 2007.
http://www.itu.int/rec/T-REC-G.168-200701-I/es
[ITU-T862] “Evaluación de la calidad vocal por percepción”, Un método
objetivo para la evaluación de la calidad vocal de extremo a
extremo de redes telefónicas de banda estrecha y Codecs
vocales, 2007.
http://www.itu.int/rec/T-REC-P.862-200710-I!Cor1/es
[ITU-P800] “MOS” (Mean Opinión Store - Métodos de determinación
subjetiva de la calidad de transmisión), 1996.
http://www.itu.int/rec/T-REC-P.800-199608-I/es
[ITU-H.323] H.323, Packet based multimedia communications systems
http://www.itu.int/rec/T-REC-H.323-200606-I/en
Bibliografía Autor: Santos Gustavo Vega
[VoIPInfo] “Wiki Voip-Info”, guía de referencia sobre VOIP
http://www.voip-info.org
[VoIPNovatos] Alberto Sagredo – “VoIP para novatos”
http://www.voipnovatos.es/index.php?itemid=21
[VozDigital08] “Wiki de VoIP”, Descripción comparativa de Codecs,
Monterrey, Nuevo León México
http://www.cavazos.com.mx/modules.php?
op=modload&name=PNrowiki&file=index&page=Codecs
[Speex] “Proyecto Speex”
http://www.speex.org/
[Díaz06] Fernando Díaz, 2006, Estudio comparativo de las
recomendaciones ITU-T G.107, P.862 y P.563 para evaluar
la calidad de la voz en redes IP, Universidad del Valle,
Santiago de Cali. 19pp
http://www.univalle.edu.co/~telecomunicaciones/trabajos_de
_grado/anteproyectos/anteproyecto_TG-0420.pdf
[Astricon05] “Introducción a Asterisk, Astricon 2005”, Sergio Serrano,
Responsable de proyectos en “Avanzada 7” (Distribuidora de
productos Digium en España).
[Martinez05] “Vulnerabilidades en la convergencia IP”, 2005, Antonio
Martínez, Responsable del Área de Seguridad TIC de Audea,
Seguridad de la Información.
http://www.borrmart.es/articulo_redseguridad.php?id=1794
[Resetko05] “Security in Voice over IP Networks”, 2005, Aleksei Resetko,
Lucent Technologies Inc.
Bibliografía Autor: Santos Gustavo Vega
http://www.voipnews.com/whitepaper/pdf/VoIPSecurityLucent
[Meza05] “Simposio en Informática, Redes y Comunicaciones de
Datos”, 2005, Jack Daniel Cáceres Meza, Red Científica
Peruana.
[Digium08] Digium Inc., Asterisk es marca registrada de Digium Inc.
http://www.digium.com/en/
[LópezMontoya07] Julio Gómez López y Francisco Gil Montoya, 2007, “Asterisk
1.4 y FreePBX 2.3”, Universidad de Almería, 14 pp.
[WikipediaAsterisk] “Asterisk”
http://es.wikipedia.org/wiki/Asterisk
[Meza05] Jack Daniel Cáceres Meza, 2005, “Simposio en Informática,
Redes y Comunicaciones de Datos”, Red Científica Peruana,
48 pp.
[Elastix08] “Elastix”
http://es.wikipedia.org/wiki/Elastix
[Roper05] Jonathan Roper, 2005, “Introducción a Asterisk@home”,
Preparado para el Instituto Internacional para la
comunicación y el desarrollo, 47 pp.
[DempsterGarrison06] Barrie Dempster, Kerry Garrison, 2006, “TrixBox Made Easy”,
ISBN 1-904811-93-0
[Asterisk@home05] “Asterisk@Home HandBook”,version 1.6, 2005, 21pp
[EasyAsterisk08] “EasyAsterisk”
http://www.easyasterisk.org/
Bibliografía Autor: Santos Gustavo Vega
[Rojano08] Elio Rojano, 2008, Blog sobre VoIP y Asterisk
http://www.sinologic.net/libros/
[Trixbox08] “Trixbox” es marca registrada de Fonality Inc.
http://www.trixbox.org/products
[Hernández 05] Pedro Casas Hernández, Diego Guerra Vidal, Ignacio
Irigaray Bayarres, “Calidad de Servicio Percibida en Servicios
de Voz y video sobre IP”, Facultad de Ingeniería, Universidad
de la Republica, 2005, 203pp
[OrihuelaSantos04] JL Orihuela, ML Santos, “Guía para el Diseño y Evaluación
de Proyectos de Comunicación Digital”, 2004.
http://www.unav.es/digilab/guia/indice_contents.htm
[FlukeNetwork08] “Análisis de redes empresariales y de telecomunicaciones”,
2008. http://www.flukenetworks.com/fnet/es-es