Capitulo 2
Capitulo 2
Algunos son:
• SIP
• IAX
• H.323
• MGCP
• SCCP
No se debe confundir aquí con protocolos de transporte de bajo nivel como TCP y UDP.
Nos referimos aquí al protocolo que transporta la voz propiamente dicha.
Este protocolo entra a funcionar una vez que el protocolo de señalización ha
establecido la llamada entre los participantes.
Fabián Pignataro – [email protected]
RHCSA Red Hat Certified Sys. Admin.
dCAP DigiumCertified Asterisk Professional
ECE Elastix Certified Engineer
Protocolos de plataforma IP
En esta categoría agruparemos a los protocolos básicos en redes IP y que forman la base sobre la
cual se añaden los protocolos de voz anteriores. Ethernet, IP, TCP y UDP.
Vamos a tratar de explicar muy brevemente cada protocolo involucrado en una comunicación VoIP,
desde abajo hacia arriba.
Protocolo IP
El protocolo IP (Internet Protocolo) es un protocolo que trabaja en la capa de red donde la
información se envía en paquetes llamados paquetes IP cuya cabecera entre muchas cosas posee la
dirección IP origen y destino de cada paquete (Identifica Hosts).
Nada garantiza que los paquetes lleguen a destino, sin embargo se hará lo posible por hacerlos
llegar.
Fabián Pignataro – [email protected]
RHCSA Red Hat Certified Sys. Admin.
dCAP DigiumCertified Asterisk Professional
ECE Elastix Certified Engineer
Los protocolos TCP y UDP
Los dos protocolos más comunes de la capa de Transporte de la suite de protocolos TCP/IP
Ambos protocolos gestionan la comunicación de múltiples aplicaciones corriendo dentro del host.
Las diferencias entre ellos son las funciones específicas que cada uno implementa.
- Provee la entrega de datos sin utilizar muchos recursos. Envía datagramas como el "mejor
intento".
- No le importa si los datos llegan con errores o no, tampoco si llegan en secuencia o no.
- Es por esta razón que la voz en aplicaciones de VoIP es transmitida sobre este
protocolo.
- TCP controla que los datos transmitidos se encuentren libre de errores y sean recibidos por las
aplicaciones en el mismo orden en que fueron enviados.
- Si se pierden datos en el camino introduce mecanismos para que estos datos sean retransmitidos.
El protocolo RTP
Sus siglas significan Real Time Protocolo y trabaja en conjunto con el protocolo SIP formando un
equipo que juega un papel fundamental en una comunicación VoIP SIP, ya que éste es el que lleva
los paquetes de audio y SIP es el encargado de señalizar las llamadas.
- RTP Se encarga de añadirle a los paquetes UDP un número de secuencia, una marca de tiempo y la
identificación del tipo de carga útil que transportan.
- RTP añade cierta información adicional a los paquetes: un número de secuencia (para ayudar a
detectar si hay pérdidas de paquetes o desorden en la recepción) y el tiempo en el que el paquete a
bandono el origen (para ayudar a determinar si existe retardo o jitter en la comunicación).
Fabián Pignataro – [email protected]
RHCSA Red Hat Certified Sys. Admin.
dCAP DigiumCertified Asterisk Professional
ECE Elastix Certified Engineer
- RTP no resuelve estos problemas, los detecta e informa a través del protocolo RTCP a los
protocolos de capas superiores (a la aplicación VoIP) para qué en esa instancia se tomen medidas.
- Cuando se asigna un puerto a una sesión RTP, también se asigna otro para la sesión RTCP
correspondiente.
- RTP toma un número de puerto par entre 1024 y 65534 (5004 por defecto). RTCP impar entre
1024 y 65534 (5005 por defecto)
- Una de las características de RTP es que incluye la identificacin del codec de audio que está
utilizando la información (audio o video) que contiene.
- Los paquetes RTP se componen de una cabecera de 128 bits y de un cuerpo (carga útil) . El
tamaño de la carga útil puede ser distinto dependiendo del codec.
- Esta información puede ser utilizada por la aplicación del cliente o el proveedor del servicio, para
detectar y corregir posibles problemas.
Fabián Pignataro – [email protected]
RHCSA Red Hat Certified Sys. Admin.
dCAP DigiumCertified Asterisk Professional
ECE Elastix Certified Engineer
El protocolo SIP
El protocolo SIP (Session Initialization Protocol) es un protocolo de señalización creado para
administrar sesiones multimedia entre dos o más partes. Sip NO es quien transporta la voz
propiamente dicha, esta labor como ya vimos la realiza el protocolo RTP. SIP se encarga de la
comunicación necesaria para establecer una llamada, modificarla, finalizarla, cancelarla, etc.
El protocolo SIP fue diseñado con la premisa de la simplicidad en mente, se trata de un protocolo de
texto con mensajes de comunicación sencillos.
- En el inicio de sesión transporta mensajes SDP (embebidos). SDP se usa para negociar las
capacidades de los SIP peers (codecs, puertos, etc).
- Basado en texto, lo que nos permite entender los mensajes de una manera relativamente fácil.
Durante la negociación SIP en cada nueva sesión, mensajes SDP (embebidos como “contenido”
dentro de mensajes SIP) son intercambiados por los participantes para acordar el codec a
implementar y el número de puerto RTP en el que se escuchará el streaming de audio.
El protocolo SDP Session Description Protocol, es un protocolo para describir los parámetros de
inicialización de los flujos multimedia. SDP está pensado para describir sesiones de comunicación
multimedia; anuncio de sesión, invitación a sesión y negociación de los parámetros de la llamada.
En la figura podemos observar como la señalización, osea el intercambio de mensajes SIP van por
un puerto (UDP 5060) y el streaming de voz viaja encapsulado en paquetes RTP en otro puerto
(puerto UDP en el rango de los no conocidos)
Señalización SIP por el puerto UDP 5060, Flujo de media en algún puerto entre el UDP 10000 y
20000 (En Asterisk).
Fabián Pignataro – [email protected]
RHCSA Red Hat Certified Sys. Admin.
dCAP DigiumCertified Asterisk Professional
ECE Elastix Certified Engineer
El Protocolo IAX (Inter-Asterisk eXchange)
El protocolo IAX (Inter-Asterisk eXchange) es un protocolo de señalización creado por Mark
Spencer. En esencia IAX presenta tres ventajas muy interesantes sobre otras alternativas como SIP
IAX es un protocolo binario, a diferencia de SIP que como recordaremos es un protocolo basado en
texto. Esto es una ventaja desde el punto de vista desde ancho de banda puesto que en binario se
desperdiciarán menos bytes.
Características:
- Siempre usa UDP como protocolo de la capa de trasporte.
- El protocolo nos ofrece una opcion (trunk) la cual permite que en un mismo datagrama se pueden
enviar varias sesiónes al mismo tiempo, lo que significa una reutilizacion de datagramas y por
consiguiente un ahorro de ancho de banda.
G711
- G.711 es uno de los codecs más usados de todos los tiempos y proviene de un estándar ITU-T que
fue liberado en 1972. Viene en dos sabores llamados u-law y a-law.
La primera versión se utiliza en los Estados Unidos y la segunda se
utiliza en Europa.
Fabián Pignataro – [email protected]
RHCSA Red Hat Certified Sys. Admin.
dCAP DigiumCertified Asterisk Professional
ECE Elastix Certified Engineer
- Es el codec recomendado para redes LAN pero hay que pensarlo dos veces antes de utilizarlo en
enlaces remotos debido al alto consumo de ancho de banda.
G729
- La ventaja en la utilización de G.729 radica principalmente en su alta compresión y por ende bajo
consumo de ancho de banda lo que lo hace atractivo para comunicaciones por Internet.
- Pese a su alta compresión no deteriora la calidad de voz significativamente y por esta razon ha
sido ampliamente usado a través de los años por muchos fabricantes de productos de VoIP.
- G.729 utiliza 8kbit/s por cada canal. Si comparamos este valor con el de G.711 notaremos que
consume 8 veces menos ancho de banda, lo cual a simple vista es un ahorro de recursos
significativo, pero como nada es gratis, este ahorra de BW lo pagamos con carga para el procesador
que codifica en este formato.
GSM
- Muchas personas suelen preguntar si el codec GSM tiene algo que ver con el estándar de
comunicaciones celulares y la respuesta es que sí.
- El estándar que define la tecnología celular GSM (Global System for Mobile communications)
incluye este codec.
Overhead
Como ya vimos, para transportar la voz de un lugar a otro, en una red de paquetes, necesitamos la
ayuda de algunos protocolos; pero ya nos habremos dado cuenta de que estos protocolos transmiten
data adicional que ocupa ancho de banda extra a la voz propiamente dicha. Algunos de ellos son
Ethernet, IP, UDP, RTP.
En resumen esto hace que el ancho de banda real para transmitir voz sea mayor al del codec.
Fabián Pignataro – [email protected]
RHCSA Red Hat Certified Sys. Admin.
dCAP DigiumCertified Asterisk Professional
ECE Elastix Certified Engineer
Por ejemplo, para transmitir voz usando G.711 en teoría deberíamos usar 64Kbps (peso del codec)
pero en realidad usamos 95.2Kbps de BW. En otros codecs más compresores la sobrecarga es
incluso más significativa (porcentualmente hablando).
Fabián Pignataro – [email protected]
RHCSA Red Hat Certified Sys. Admin.
dCAP DigiumCertified Asterisk Professional
ECE Elastix Certified Engineer
Comparativa de codecs
A continuación una tabla que muestra el overhead para algunos de los codecs más populares
soportados por Asterisk.
IP fue diseñado para la transmisión de datos, donde resulta extremadamente importante que no se
pierda ni un solo bit, aunque es extremadamente tolerante con el retardo.
La voz es muy sensible al retardo, aunque no importa que algún bit no llegue al destino.
Fabián Pignataro – [email protected]
RHCSA Red Hat Certified Sys. Admin.
dCAP DigiumCertified Asterisk Professional
ECE Elastix Certified Engineer
Factores que afectan la QoS
- Retardo de ida y vuelta: tiempo necesario para que la señal de voz haga el camino de ida y vuelta
entre los dos extremos de la comunicación. No debe superar los 300 ms.
Tan importante como el retardo que haya, es que ese retardo permanezca constante. Si además del
retardo que exista, éste varía, la comunicación se vuelve mucho más incomoda.
La forma de contrarestar el jitter es usando buffers que añadan retardo cuando la comunicación es
más rápida y que lo quiten cuando es más lenta. Si bien el retardo existe, al menos es constante.
- Entutamiento variable, los paquetes experimentan retardos distintos, según el camino que tomen.
- Ocupación variable, por más que los paquetes viajen por la misma ruta, los routers pueden tener
mayor o menor carga en el tiempo.
Pérdida de paquetes
Éste factor está bastante contemplado en las comunicaciones de datos, donde al perderse un paquete
TCP puede pedir su retransmisión y éste tiempo no afecta a la carga de una página web en un
navegador por ejemplo.
En el caso de la voz si se pierde un paquete es preferible darlo por perdido que esperar la
retransmisión del mismo.
Fabián Pignataro – [email protected]
RHCSA Red Hat Certified Sys. Admin.
dCAP DigiumCertified Asterisk Professional
ECE Elastix Certified Engineer
Dispositivos VoIP
Finalmente, antes de meternos de lleno en el mundo Asterisk, que es nuestro dispositivo VoIP
principal de nuestra red y la herramienta que vamos a estudiar en profundidad, vamos a citar a otros
dispositivos integrantes de esta nueva forma de red telefónica.
ATA
Es como un gran ATA, vienen con puertos FXO, FXS o FXO y FXS.
Fabián Pignataro – [email protected]
RHCSA Red Hat Certified Sys. Admin.
dCAP DigiumCertified Asterisk Professional
ECE Elastix Certified Engineer
Gateways SIP - GSM
Se colocan en algún bus pci disponible de su PBX Asterisk, poseen puertos RJ11 que se pueden
comportar como interfaces FXS o FXO dependiendo de qué módulos se coloquen en cada ranura.
Los módulos rojos son FXO y los verdes FXS.
Fabián Pignataro – [email protected]
RHCSA Red Hat Certified Sys. Admin.
dCAP DigiumCertified Asterisk Professional
ECE Elastix Certified Engineer
Placas PCI digital – E1 o T1.
Se colocan en algún bus pci disponible de su PBX Asterisk y nos permite conectar una trama digital
E1 o T1 a nuestra PBX.
Softphone
Son aplicaciones que corren en un sistema operativo y operan como un teléfono SIP
Fabián Pignataro – [email protected]
RHCSA Red Hat Certified Sys. Admin.
dCAP DigiumCertified Asterisk Professional
ECE Elastix Certified Engineer
Teléfonos VoIP
Fabián Pignataro – [email protected]
RHCSA Red Hat Certified Sys. Admin.
dCAP DigiumCertified Asterisk Professional
ECE Elastix Certified Engineer
Capítulo 4
Fabián Pignataro – [email protected]
RHCSA Red Hat Certified Sys. Admin.
dCAP DigiumCertified Asterisk Professional
ECE Elastix Certified Engineer
Vamos a plantearnos las siguientes preguntas:
Qué es Asterisk?
-Asterisk es una aplicación de software libre (bajo licencia GPL) que proporciona funcionalidades
de una central telefónica (PBX). Soporta todas las funcionalidades de una PBX tradicional y mucho
más.
Historia de Asterisk:
Mark Spencer creo Linux Support Services (LSS) en 1999, necesitaba una PBX para atender sus
llamados. Él quedo sorprendido por el costo y por no haber opciones que no sean propietarias,
entonces el decidió crear una propia y de código abierto. En el 2002, LSS se renombro como
Digium y se enfoco completamente en Asterisk.open source
Existen varios proyectos además de Asterisk que realizan funciones de PBX o VoIP Servers:
Existiendo tantos desarrollos hardware en PBX , por qué elegir una solucion
basada en software y más aún basada en Software Libre y corriendo
sobre GNU/Linux?
-Estabilidad y robustez
-Libertad y Gratuidad
-Adaptabilidad y mejora continua
Fabián Pignataro – [email protected]
RHCSA Red Hat Certified Sys. Admin.
dCAP DigiumCertified Asterisk Professional
ECE Elastix Certified Engineer
-Funcionalidad de PBX basada 100% en software
-Capacidad de expansion prácticamente ilimitada
-Menores costos contra plataformas privativas
Tipo de licencia?
Existen 3 formas de licenciar Asterisk:
- Open-Source Asterisk
Distribuido gratuitamente bajo la licencia GPL
- OEM
Desarrollos a medida
Fabián Pignataro – [email protected]
RHCSA Red Hat Certified Sys. Admin.
dCAP DigiumCertified Asterisk Professional
ECE Elastix Certified Engineer
Donde usamos Asterisk???
Fabián Pignataro – [email protected]
RHCSA Red Hat Certified Sys. Admin.
dCAP DigiumCertified Asterisk Professional
ECE Elastix Certified Engineer
Como una PBX tradicional Como una VoIP PBX
Por medio de placas Análogas y digitales Podemos usar Asterisk en una arquitectura
podemos hacer que Asterisk funcione como VoIP pura, esto puede ser muy tentador a la
una PBX convencional, reemplazando su vieja hora de instalar un sistema telefonico de cero
PBX pero gozando de todas las nuevas funciona_ en alguna organizacion que está instalandose.
lidades de Asterisk y sin tener que cambiar el
resto de su arquitectura actual.
Puede que nos interese actualizar nuestra red telefónica pero sin decartar lo que ya venimos
teniendo, como las tradicionales lineas que nuestro clientes conocen y algunos aparatos telefonicos
que nos da lástima descartar. Asterisk puede trabajar como PBX en una arquitectura híbrida.
Fabián Pignataro – [email protected]
RHCSA Red Hat Certified Sys. Admin.
dCAP DigiumCertified Asterisk Professional
ECE Elastix Certified Engineer
Como una VoIP gateway
Quizás nos tienta gozar de las tarifas de los proveedores VoIP pero no queremos reestructurar todo
nuestro sistema telefonico, entonces usamos Asterisk como gateway al mundo de la VoIP ya que
con un equipo chico podemos hacer que haga transcoding a VoIP y poder gozar de los beneficios de
la VoIP.
A la hora de montar un call center, Asterisk trae muchas funciones para call center tentadoras,
maneja colas dellamadas, agentes virtuales, posibilidades de generar reportes de llamadas sobre
bases de datos relacionales, etc. Además tenemos posibilidades de desarrollar aplicaciones propias
al ser un PBX que nace en el software y corre sobre un sistema operativo potente y abierto
como es GNU/Linux.
Fabián Pignataro – [email protected]
RHCSA Red Hat Certified Sys. Admin.
dCAP DigiumCertified Asterisk Professional
ECE Elastix Certified Engineer
Práctico 1
”Instalacion de Asterisk
Fabián Pignataro – [email protected]
RHCSA Red Hat Certified Sys. Admin.
dCAP DigiumCertified Asterisk Professional
ECE Elastix Certified Engineer