Voz sobre IP con GNU/Linux y Asterisk PBX

Comunidad de usuarios Debian de El Salvador René Mayorga < rmayorga@debian.org.sv >

27 de mayo de 2008

Índice general

0.1. Qué es una PBX? . . . . . . . . . . . . . . . . . . . . . . . . . 1 0.2. Telefonía . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

0.2.1. E1s, T1s . . . . . . . . . . . . . . . . . . . . . . . . . . 2 0.2.2. señalización . . . . . . . . . . . . . . . . . . . . . . . . 3

0.3. Convergencia de datos y voz . . . . . . . . . . . . . . . . . . . 4 0.3.1. Entendiendo mejor SIP . . . . . . . . . . . . . . . . . 5 0.3.2. RTP y Codecs . . . . . . . . . . . . . . . . . . . . . . 7 0.3.3. Asterisk PBX . . . . . . . . . . . . . . . . . . . . . . . 9

0.1. Qué es una PBX?

PBX o Private Virtual eXchange es un sistema de comounicación destinado para empresas.

Las PBX distribuyen una o varias lineas telefónicas entre un numero de extensiones privadas, estas extensiones se comunican entre ellas sin necesidad de depender del proveedor telefónico y comunican a sus usuarios al exterior por medio de las lineas telefónicas troncales^{1}.

Aparte, las PBX ofrecen a sus usuarios o abonados beneficios extra, como llamadas en espera, conferencias tripartitas, buzones de voz, call hounting, y call pickup^{2}.

1en la actualidad la mayoría de opciones de comunicación en las PBX se usan medio digitales como E1s o T1s, de los mismos se hablara en el siguiente capitulo

Entonces, Los servicios de PBX ahorran el coste local de una llamada entre un escritorio y otro, y benefician llevando a la adquisición de menos lineas externas, a la vez que centralizan el flujo y el control de llamadas en una oficina, permitiendo tener restricciones y beneficios extras a los usuarios internos y también delegando parte de la administración, control de gastos y restricciones a la empresa dueña de la PBX, separando entonces este trabajo del proveedor de servicios telefónicos.

0.2. Telefonía

Una linea de telefóno, es, básicamente una seal eléctrica entregada desde una central telefónica, hasta un abonado^{3}.

Por lo general, estas señales o pulsos, requieren cierto ancho de banda para funcionar, en el caso, un par de cobre tradicional que provee una linea entre la central y el abonado utiliza un ancho de banda^{4} por lo general el ancho de banda necesitado para una linea telefónica es: 64kbps.- Esta linea de 64kbps usada para la transmisión de voz es conocida como DS0.

0.2.1. E1s, T1s

E1

Un E1, es un canal digital de transmisión usado en telecomunicaciones este canal puede ser transferido por diferentes medios, desde cobre, fibra óptica, microondas y otras.

Este medio contiene 31 canales digitales, o DS0 s es decír, reservando un canal para la señalización de los datos dejando disponibles 30 canales para el uso de datos o voz es decir, 30 llamadas simultaneas o 1920kbps.

2muchas de estas opciones solo son posibles usando medios digitales como E1s, y no tecnologías analogas como las antiguas troncales

3En telecomunicaciones se conoce como abonado a un usuario de los servicios provistos por la empresa proveedora del servicio

4unidad de medida para indicar velocidad de transmisión, la medida básica es el bit por segundo, o bps (bit per second), en esta medida aplican los factores de conversión del S.I.(Sistema Internacional), ejemplo: kilo-bits-per-second

E1 es un standard Europeo, usado por tanto, mayormente entre comunicaciones de centrales y PBXs Europeas.

T1

T1 es un standard Norteamericano, en el cual la nica diferencia tangible y notable con su contra-parte europea es la cantidad de canales, ya que un T1 solo contiene 28 DS0 s

0.2.2. señalización

Independientemente el medio a usar, es necesario contar con un protocolo de señalización.

La señalización, es la encargada de la capa 2^{5} que se encarga de manejar la forma lógica como el protocolo transportara las llamadas.

Estos protocolos de señalización se usan entonces como manera de comunicación entre centrales de proveedores y también entre la comunicación de la central con las PBXs que se conectan por medio de medios digitales como E1s o T1s.

Debido a que este es un tema extenso y que el fin del documento no es explicar la forma de comunicación en telecomunicaciones solo mencionaremos entonces los protocolos de común uso, entre ellos:

ISDN

SS7

R2

5similar a las capas existentes en el Modelo de red OSI, existen en telecomunicaciones; su predecesor, capas de comunicación diferentes que manejan entonces, diferentes etapas de la transmisión de datos y/o voz de un punto A a un punto B

0.3. Convergencia de datos y voz

En un principio, las empresas de telecomunicaciones, y las empresas que usan PBX necesitaban una red propia de telefonía como parte importante de su operaciíon, con la evolución de las redes y la computación, se volvio necesario también la creación de redes de computadoras; estas pronto llegarían a la evolución de internet.

Pero la necesidad de mantener separadas las redes de telefonía y las redes de computación se mantuvierón, hasta el momento de evolucionar en protocolos que pudieran aprovechar una sola red para transmitir datos y voz, ahorrando entonces infraestructura física y recursos.

Esta convergencia de datos se da gracias a la creación de protocolos que posibiliten la transmisión de voz en capas superiores al protocolo standard de capa 3 del modelo OSI^{6}, siendo el mas usado el protocolo IP^{7}.

Esta posibilidad de converger datos y voz, lleva entonces a una nueva forma de poder establecer comunicaciones de bajo costo entre puntos distantes ya que se puede aprovechar la infraestructura actualmente existente, como internet, para poder establecer llamadas de voz entre el punto A y punto B.

Protocolos para Voz sobre IP

H323

SIP

H.323 Este fue el primer intento de llevar la comunicación multimedia a una Red de Área lo LAN, este protocolo fue implementado en algunos software que permitían video llamada, usando por primera vez la infraestructura IP para transferir en tiempo real voz y vídeo.

6El modelo de transmisión de datos OSI se divide en diferentes capas que permiten la estandarización en la trasmisión de datos, es decir, sobre cada capa actúa un protocolo que puede dar nivel de abstracción para con las capas superiores facilitando entonces una forma de creas aplicaciones que pueden convivir en diferentes etapas de la red sin preocuparse de la necesidad de manejar la manera básica de comunicación

7IP es el protocolo mas usado para la transmisión de datos en la capa 3, conocido como Internet Protocol es actualmente el motor de internet y de las redes de computadoras modernas

SIP Por sus siglas en ingles Session Initiation Protocol es un protocolo realmente simple, diseñado para la señalización del trafico multimedia y delegar todo el peso de los features a los puntos terminales. SIP Comparte características con HTTP^{8} haciendo entonces al protocolo fácil de entender para cualquier sysadmin^{9}. Otra de las ventajas de SIP, es la capacidad de trabajar de manera stateless^{10} o statefull^{11}.

En la figura 1.0 se muestra la clásica aplicación de un entorno de Voz Sobre IP

0.3.1. Entendiendo mejor SIP

Como se hablaba en el capitulo anterior SIP cuenta con varias cualidades importantes en este documento se desarrollara VoIP con SIP, por lo que sera necesario entrar en mas detalle.

SIP o Session Initiation Protocol fue desarrollado por la IETF con el fin especifico, como su nombre lo explica; convertirse en un standard para la inicialización de sesiones.

Por tanto SIP no es un protocolo creado directamente para Voz sobre IP sino que, más bien sus fines son abarcar varias ramas de la comunicación como lo son la mensajería instantánea o IM^{12}, juegos, videollamadas, etc.

La principal fortaleza de SIP Radica en su versatilidad y su sencillez, pero su uso actual mas conocido es la señalización de llamadas de VoIP.

SIP es un protocolo Peer to Peer, es decir, en un momento determinado cualquier parte involucrada en la comunicación puede ser tanto servidor como cliente y comunicarse entonces entre ellas como pares.

8Protocolo usado para la transferencia de HiperTexto, la base fundamental de cualquier servicio web

9Palabra en ingles utilizada para describir el trabajo de Administrador de sistemas, es decir; la persona encargada de administrar servidores y la red de una empresa

10Es decir que no requiera la interacción directa del servidor para mantener una llamada activa, delegando entonces el trafico de voz a ser de punto a punto o p2p

11Es decir que el servidor esta presente durante toda la llamada, este estado nos es útil cuando es necesario tener una grabación de las llamadas por ejemplo

12Ejemplos: MSN Messenger Yahoo Messenger, Gtalk, etc

Figura 1: Uso más común de VoIP 6

SIP Maneja URIs^{13}, de la misma forma que otros protocolos, ejemplo: ftp://usuario@servidor.com, usuario@dominio.com. Un URI en SIP se ve de la siguiente forma: SIP:TELEFONO@SERVIDOR.org.

En La figura 2.0 se muestra un flujo de llamada entre dos dispositivos usando SIP

0.3.2. RTP y Codecs

El trafico de audio en una llamada VoIP usando SIP se requiere el uso de otro Protocolo para transportar el audio desde el abonado A al abonado B, el protocolo mas usado es RTP emphReal Time Protocolo^{14}; o en castellano Protocolo de Tiempo Real.

Para la transmisión de audio se utilizan a su vez codecs; estos pueden comprimir el audio para que el uso del recurso de ancho de banda en una llamada sea mínimo y eficiente o que requiera mayor ancho de banda pero con mejor calidad de sonido.

Los codecs mas usados son:

g711 : Este codec es el de mayor calidad pero a la vez el de mayor consumo de ancho de banda, se presenta en dos variantes Ulaw y Alaw, cada una respectivamente utilizada como estandard en Europa y America; este codec utiliza un total, de 64kbps de ancho de banda en teoría este ancho de banda es el mismo usado por una linea de telefónica convencional.

gsm : Este codec utiliza un promedio de 13.3kbps de ancho de banda por lo tanto utiliza compresión para mejorar el desempeño del ancho de banda, pero sacrifica la calidad de la voz.

g729 : Este codec privativo utiliza 8kbps, y a pesar de usar compresión de audio es el que presenta mejor calidad en la voz. Una desventaja clara es que este codec es privativo y se requiere de un pago de royalties para su uso.

13Universal Resource Identifier

14Este protocolo tambien es usado para la trasmisión de streeming en internet, ejemplo:

Radios, Videos, etc

Figura 2: Flujo de Llamada en un SIP Proxy statefull 8

0.3.3. Asterisk PBX

Asterisk es un producto de software libre desarrollado por Digium^{15}

Asterisk PBX soporta una gran variedad de protocolos como: SIP, IAX, H.323, MGCP entre otros a su vez, incluye muchas aplicaciones creadas para proveer de una solución de PBX completa proveyendo una interfaz para trabajar con hardware especial para conectar lineas telefónicas y/o Medios digitales como E1s que pueden usarse para conectar directamente a la red publica de telefónia ó PSTN.

Por su verstilidad Asterisk alcanzo ya una gran popularidad como una solución integral para integrar centrales telefónicas convencionales o IP, para manejar y gestionar centros de llamadas o callcenters y como gateway o addon a servicios telefónicos existentes.

Asterisk puede funcionar en casi cualquier sistema operativo y sobre hardware modesto; puede funcionar como un SIP proxy stateless o statefull y puede proveer una gran herramienta para generar servicios interactivos que conecten a bases de datos y devulvan infomación al usuario por medio de IVRs.

15Empresa norteamericana que también se dedica a la producción de hardware para PSTN compatible con GNU/Linux

Cubriendo entonces la introducción básica a telefonía y Voz Sobre IP, se espera que este documento crezca puedes encontrar versiones nuevas del documento en http://rmayorga.org/talks/.

Si deseas colaborar puedes descargar las fuentes completas del documento y enviar parches a rmayorga@debian.org.sv El documento se encuentra bajo licencia libre, por lo que su modificación mejoras y redistribución esta permitida y exhortada.