asterisk - the open source pbx

225
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 [email protected]

Upload: others

Post on 01-Mar-2022

24 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Asterisk - The Open Source PBX

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

[email protected]

Page 2: Asterisk - The Open Source PBX

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 -

Page 3: Asterisk - The Open Source PBX

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 -

Page 4: Asterisk - The Open Source PBX

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 -

Page 5: Asterisk - The Open Source PBX

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 -

Page 6: Asterisk - The Open Source PBX

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 -

Page 7: Asterisk - The Open Source PBX

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 -

Page 8: Asterisk - The Open Source PBX

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 -

Page 9: Asterisk - The Open Source PBX

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 -

Page 10: Asterisk - The Open Source PBX

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 -

Page 11: Asterisk - The Open Source PBX

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 -

Page 12: Asterisk - The Open Source PBX

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 -

Page 13: Asterisk - The Open Source PBX

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 -

Page 14: Asterisk - The Open Source PBX

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 -

Page 15: Asterisk - The Open Source PBX

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 -

Page 16: Asterisk - The Open Source PBX

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 -

Page 17: Asterisk - The Open Source PBX

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 -

Page 18: Asterisk - The Open Source PBX

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 -

Page 19: Asterisk - The Open Source PBX

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 -

Page 20: Asterisk - The Open Source PBX

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 -

Page 21: Asterisk - The Open Source PBX

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 -

Page 22: Asterisk - The Open Source PBX

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 -

Page 23: Asterisk - The Open Source PBX

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 -

Page 24: Asterisk - The Open Source PBX

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 -

Page 25: Asterisk - The Open Source PBX

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 -

Page 26: Asterisk - The Open Source PBX

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 -

Page 27: Asterisk - The Open Source PBX

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 -

Page 28: Asterisk - The Open Source PBX

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 -

Page 29: Asterisk - The Open Source PBX

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 -

Page 30: Asterisk - The Open Source PBX

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 -

Page 31: Asterisk - The Open Source PBX

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 -

Page 32: Asterisk - The Open Source PBX

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 -

Page 33: Asterisk - The Open Source PBX

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 -

Page 34: Asterisk - The Open Source PBX

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 -

Page 35: Asterisk - The Open Source PBX

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 -

Page 36: Asterisk - The Open Source PBX

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 -

Page 37: Asterisk - The Open Source PBX

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 -

Page 38: Asterisk - The Open Source PBX

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 -

Page 39: Asterisk - The Open Source PBX

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 -

Page 40: Asterisk - The Open Source PBX

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 -

Page 41: Asterisk - The Open Source PBX

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 -

Page 42: Asterisk - The Open Source PBX

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 -

Page 43: Asterisk - The Open Source PBX

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 -

Page 44: Asterisk - The Open Source PBX

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 -

Page 45: Asterisk - The Open Source PBX

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 -

Page 46: Asterisk - The Open Source PBX

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 -

Page 47: Asterisk - The Open Source PBX

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 -

Page 48: Asterisk - The Open Source PBX

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 -

Page 49: Asterisk - The Open Source PBX

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 -

Page 50: Asterisk - The Open Source PBX

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 -

Page 51: Asterisk - The Open Source PBX

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 -

Page 52: Asterisk - The Open Source PBX

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 -

Page 53: Asterisk - The Open Source PBX

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 -

Page 54: Asterisk - The Open Source PBX

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 -

Page 55: Asterisk - The Open Source PBX

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 -

Page 56: Asterisk - The Open Source PBX

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

Page 57: Asterisk - The Open Source PBX

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 -

Page 58: Asterisk - The Open Source PBX

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+...

Page 59: Asterisk - The Open Source PBX

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 -

Page 60: Asterisk - The Open Source PBX

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 -

Page 61: Asterisk - The Open Source PBX

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 -

Page 62: Asterisk - The Open Source PBX

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 -

Page 63: Asterisk - The Open Source PBX

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 -

Page 64: Asterisk - The Open Source PBX

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, ...

Page 65: Asterisk - The Open Source PBX

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 -

Page 66: Asterisk - The Open Source PBX

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 -

Page 67: Asterisk - The Open Source PBX

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 -

Page 68: Asterisk - The Open Source PBX

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

Page 69: Asterisk - The Open Source PBX

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

Page 70: Asterisk - The Open Source PBX

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 -

Page 71: Asterisk - The Open Source PBX

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 -

Page 72: Asterisk - The Open Source PBX

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 -

Page 73: Asterisk - The Open Source PBX

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

Page 74: Asterisk - The Open Source PBX

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

Page 75: Asterisk - The Open Source PBX

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

Page 76: Asterisk - The Open Source PBX

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

Page 77: Asterisk - The Open Source PBX

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 -

Page 78: Asterisk - The Open Source PBX

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 -

Page 79: Asterisk - The Open Source PBX

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 -

Page 80: Asterisk - The Open Source PBX

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 -

Page 81: Asterisk - The Open Source PBX

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.

Page 82: Asterisk - The Open Source PBX

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

Page 83: Asterisk - The Open Source PBX

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 -

Page 84: Asterisk - The Open Source PBX

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 -

Page 85: Asterisk - The Open Source PBX

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 -

Page 86: Asterisk - The Open Source PBX

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 -

Page 87: Asterisk - The Open Source PBX

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 -

Page 88: Asterisk - The Open Source PBX

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 -

Page 89: Asterisk - The Open Source PBX

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 -

Page 90: Asterisk - The Open Source PBX

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 -

Page 91: Asterisk - The Open Source PBX

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 -

Page 92: Asterisk - The Open Source PBX

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 -

Page 93: Asterisk - The Open Source PBX

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 -

Page 94: Asterisk - The Open Source PBX

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 -

Page 95: Asterisk - The Open Source PBX

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 -

Page 96: Asterisk - The Open Source PBX

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 -

Page 97: Asterisk - The Open Source PBX

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 -

Page 98: Asterisk - The Open Source PBX

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 -

Page 99: Asterisk - The Open Source PBX

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 -

Page 100: Asterisk - The Open Source PBX

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 -

Page 101: Asterisk - The Open Source PBX

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 -

Page 102: Asterisk - The Open Source PBX

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 -

Page 103: Asterisk - The Open Source PBX

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 -

Page 104: Asterisk - The Open Source PBX

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 -

Page 105: Asterisk - The Open Source PBX

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 -

Page 106: Asterisk - The Open Source PBX

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 -

Page 107: Asterisk - The Open Source PBX

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 -

Page 108: Asterisk - The Open Source PBX

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 -

Page 109: Asterisk - The Open Source PBX

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

Page 110: Asterisk - The Open Source PBX

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 -

Page 111: Asterisk - The Open Source PBX

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 -

Page 112: Asterisk - The Open Source PBX

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 -

Page 113: Asterisk - The Open Source PBX

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 -

Page 114: Asterisk - The Open Source PBX

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 -

Page 115: Asterisk - The Open Source PBX

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 -

Page 116: Asterisk - The Open Source PBX

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 -

Page 117: Asterisk - The Open Source PBX

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 -

Page 118: Asterisk - The Open Source PBX

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 -

Page 119: Asterisk - The Open Source PBX

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 -

Page 120: Asterisk - The Open Source PBX

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 -

Page 121: Asterisk - The Open Source PBX

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 -

Page 122: Asterisk - The Open Source PBX

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 -

Page 123: Asterisk - The Open Source PBX

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 -

Page 124: Asterisk - The Open Source PBX

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 -

Page 125: Asterisk - The Open Source PBX

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 -

Page 126: Asterisk - The Open Source PBX

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 -

Page 127: Asterisk - The Open Source PBX

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 -

Page 128: Asterisk - The Open Source PBX

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 -

Page 129: Asterisk - The Open Source PBX

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 -

Page 130: Asterisk - The Open Source PBX

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 -

Page 131: Asterisk - The Open Source PBX

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 -

Page 132: Asterisk - The Open Source PBX

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 -

Page 133: Asterisk - The Open Source PBX

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 -

Page 134: Asterisk - The Open Source PBX

Capitulo 5 – Arquitectura de aplicación Autor: Santos Gustavo Vega

- 134 -

Page 135: Asterisk - The Open Source PBX

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 -

Page 136: Asterisk - The Open Source PBX

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 -

Page 137: Asterisk - The Open Source PBX

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 -

Page 138: Asterisk - The Open Source PBX

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 -

Page 139: Asterisk - The Open Source PBX

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 -

Page 140: Asterisk - The Open Source PBX

Capitulo 5 – Arquitectura de aplicación Autor: Santos Gustavo Vega

- 140 -

Page 141: Asterisk - The Open Source PBX

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 -

Page 142: Asterisk - The Open Source PBX

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 -

Page 143: Asterisk - The Open Source PBX

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 -

Page 144: Asterisk - The Open Source PBX

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 -

Page 145: Asterisk - The Open Source PBX

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 -

Page 146: Asterisk - The Open Source PBX

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 -

Page 147: Asterisk - The Open Source PBX

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 -

Page 148: Asterisk - The Open Source PBX

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 -

Page 149: Asterisk - The Open Source PBX

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 -

Page 150: Asterisk - The Open Source PBX

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 -

Page 151: Asterisk - The Open Source PBX

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 -

Page 152: Asterisk - The Open Source PBX

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

Page 153: Asterisk - The Open Source PBX

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 -

Page 154: Asterisk - The Open Source PBX

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 -

Page 155: Asterisk - The Open Source PBX

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 -

Page 156: Asterisk - The Open Source PBX

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

Page 157: Asterisk - The Open Source PBX

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 -

Page 158: Asterisk - The Open Source PBX

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 -

Page 159: Asterisk - The Open Source PBX

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

Page 160: Asterisk - The Open Source PBX

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 -

Page 161: Asterisk - The Open Source PBX

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 -

Page 162: Asterisk - The Open Source PBX

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 -

Page 163: Asterisk - The Open Source PBX

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 -

Page 164: Asterisk - The Open Source PBX

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 -

Page 165: Asterisk - The Open Source PBX

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.

Page 166: Asterisk - The Open Source PBX

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 -

Page 167: Asterisk - The Open Source PBX

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 -

Page 168: Asterisk - The Open Source PBX

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 -

Page 169: Asterisk - The Open Source PBX

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.

Page 170: Asterisk - The Open Source PBX

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.

Page 171: Asterisk - The Open Source PBX

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.

Page 172: Asterisk - The Open Source PBX

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.

Page 173: Asterisk - The Open Source PBX

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.

Page 174: Asterisk - The Open Source PBX

Anexos Autor: Santos Gustavo Vega

Lista de Codec de videos habilitados:

Page 175: Asterisk - The Open Source PBX

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.

Page 176: Asterisk - The Open Source PBX

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.

Page 177: Asterisk - The Open Source PBX

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.

Page 178: Asterisk - The Open Source PBX

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.

Page 179: Asterisk - The Open Source PBX

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.

Page 180: Asterisk - The Open Source PBX

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.

Page 181: Asterisk - The Open Source PBX

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:

Page 182: Asterisk - The Open Source PBX

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.

Page 183: Asterisk - The Open Source PBX

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.

Page 184: Asterisk - The Open Source PBX

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.

Page 185: Asterisk - The Open Source PBX

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.

Page 186: Asterisk - The Open Source PBX

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

Page 187: Asterisk - The Open Source PBX

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.

Page 188: Asterisk - The Open Source PBX

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.

Page 189: Asterisk - The Open Source PBX

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).

Page 190: Asterisk - The Open Source PBX

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.

Page 191: Asterisk - The Open Source PBX

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

Page 192: Asterisk - The Open Source PBX

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.

Page 193: Asterisk - The Open Source PBX

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.

Page 194: Asterisk - The Open Source PBX

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

Page 195: Asterisk - The Open Source PBX

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.

Page 196: Asterisk - The Open Source PBX

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)

Page 197: Asterisk - The Open Source PBX

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.

Page 198: Asterisk - The Open Source PBX

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.

Page 199: Asterisk - The Open Source PBX

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.

Page 200: Asterisk - The Open Source PBX

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

Page 201: Asterisk - The Open Source PBX

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”:

Page 202: Asterisk - The Open Source PBX

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:

Page 203: Asterisk - The Open Source PBX

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.

Page 204: Asterisk - The Open Source PBX

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

Page 205: Asterisk - The Open Source PBX

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.

Page 206: Asterisk - The Open Source PBX

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ú.

Page 207: Asterisk - The Open Source PBX

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)

Page 208: Asterisk - The Open Source PBX

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”.

Page 209: Asterisk - The Open Source PBX

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.

Page 210: Asterisk - The Open Source PBX

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.

Page 211: Asterisk - The Open Source PBX

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ó.

Page 212: Asterisk - The Open Source PBX

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.

Page 213: Asterisk - The Open Source PBX

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.

Page 214: Asterisk - The Open Source PBX

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.

Page 215: Asterisk - The Open Source PBX

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.

Page 216: Asterisk - The Open Source PBX

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).

Page 217: Asterisk - The Open Source PBX

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.

Page 218: Asterisk - The Open Source PBX

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.

Page 219: Asterisk - The Open Source PBX

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”

Page 220: Asterisk - The Open Source PBX

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

Page 221: Asterisk - The Open Source PBX

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

Page 222: Asterisk - The Open Source PBX

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

Page 223: Asterisk - The Open Source PBX

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.

Page 224: Asterisk - The Open Source PBX

Bibliografía Autor: Santos Gustavo Vega

http://www.voipnews.com/whitepaper/pdf/VoIPSecurityLucent

.pdf

[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/

Page 225: Asterisk - The Open Source PBX

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