Sie sind auf Seite 1von 19

Instalación y configuración de un servidor de telefonía VoIP en

Ubuntu 12.04
1) ¿Qué es y para qué sirve un servidor VoIP?

Voz sobre Protocolo de Internet, también llamado Voz sobre IP, Voz IP, VozIP, (VoIP por sus siglas
en inglés, Voice over IP), es un grupo de recursos que hacen posible que la señal de voz viaje a
través de Internet empleando un protocolo IP (Protocolo de Internet). Esto significa que se envía la
señal de voz en forma digital, en paquetes de datos, en lugar de enviarla en forma analógica a
través de circuitos utilizables sólo por telefonía convencional como las redes PSTN (sigla de Public
Switched Telephone Network, Red Telefónica Pública Conmutada).

Los Protocolos que se usan para enviar las señales de voz sobre la red IP se conocen como
protocolos de Voz sobre IP o protocolos IP. Estos pueden verse como aplicaciones comerciales de la
"Red experimental de Protocolo de Voz" (1973), inventada por ARPANET.

El tráfico de Voz sobre IP puede circular por cualquier red IP, incluyendo aquellas conectadas a
Internet, como por ejemplo las redes de área local (LAN).

Es muy importante diferenciar entre Voz sobre IP (VoIP) y Telefonía sobre IP.

VoIP es el conjunto de normas, dispositivos, protocolos, en definitiva la tecnología que permite


comunicar voz sobre el protocolo IP.

Telefonía sobre IP es el servicio telefónico disponible al público, por tanto con numeración E.164,
realizado con tecnología de VoIP.

La telefonía IP es la combinación de la trasmisión de voz mediante una red de datos, el proceso es


trasforma la voz en datos para que esta pueda ser enviada a cualquier parte del planeta mediante
una red a esto se le denomina telefonía IP. Este tipo de telefonía corre sobre servidores
especializados llamados servidores VoIP.
Un servidor VoIP es un ordenador de mayores prestaciones de memoria, procesamiento y
almacenamiento de disco duro, encargado de correr y ejecutar la plataforma encargada para la
telefonía IP.

Características de los servidores VoIP:

 Gran capacidad de memoria RAM para poder ejecutar múltiples llamadas IP.

 Poder de procesamiento.

 Protocolos VoIP.

VoIP no es un servicio, es una tecnología

En muchos países del mundo, IP ha generado múltiples discordias, entre lo territorial y lo legal
sobre esta tecnología, está claro y debe quedar en claro que la tecnología de VoIP no es un servicio
como tal, sino una tecnología que usa el Protocolo de Internet (IP) a través de la cual se comprimen
y descomprimen de manera altamente eficiente paquetes de datos o datagramas, para permitir la
comunicación de dos o más clientes a través de una red como la red de Internet. Con esta
tecnología pueden prestarse servicios de Telefonía o Videoconferencia, entre otros.

Arquitectura de red

El propio Estándar define tres elementos fundamentales en su estructura:

 Terminales: son los sustitutos de los actuales teléfonos. Se pueden implementar tanto en
software como en hardware.

 Gatekeepers: son el centro de toda la organización VoIP, y son el sustituto para las actuales
centrales.

Normalmente implementan por software, en caso de existir, todas las comunicaciones que
pasen por él.

 Gateways: se trata del enlace con la red telefónica tradicional, actuando de forma transparente
para el usuario.

Con estos tres elementos, la estructura de la red VoIP podría ser la conexión de dos
delegaciones de una misma empresa. La ventaja es inmediata: todas las comunicaciones entre
las delegaciones son completamente gratuitas. Este mismo esquema se podría aplicar para
proveedores, con el consiguiente ahorro que esto conlleva.

 Protocolos de VoIP: son los lenguajes que utilizarán los distintos dispositivos VoIP para su
conexión. Esta parte es importante ya que de ella dependerá la eficacia y la complejidad de la
comunicación.
o Por orden de antigüedad (de más antiguo a más nuevo):
 H.323 - Protocolo definido por la ITU-T;
 SIP - Protocolo definido por la IETF;
 Megaco (También conocido como H.248) y MGCP - Protocolos de control;
 UNIStim - Protocolo propiedad de Nortel(Avaya);
 Skinny Client Control Protocol - Protocolo propiedad de Cisco;
 MiNet - Protocolo propiedad de Mitel;
 CorNet-IP - Protocolo propiedad de Siemens;
 IAX - Protocolo original para la comunicación entre PBXs Asterisk (Es un estándar para los
demás sistemas de comunicaciones de datos,[cita requerida] actualmente está en su versión 2,
IAX2);
 Skype - Protocolo propietario peer-to-peer utilizado en la aplicación Skype;
 IAX2 - Protocolo para la comunicación entre PBXs Asterisk en reemplazo de IAX;
 Jingle - Protocolo abierto utilizado en tecnología XMPP;
 MGCP- Protocolo propietario de Cisco;
 weSIP- Protocolo licencia gratuita de VozTelecom.

Como hemos visto VoIP presenta una gran cantidad de ventajas, tanto para las empresas como para
los usuarios comunes. La pregunta sería ¿por qué no se ha implantado aún esta tecnología?. A
continuación analizaremos los aparentes motivos, por los que VoIP aún no se ha impuesto a las
telefonías convencionales.

Parámetros de la VoIP

Este es el principal problema que presenta hoy en día la penetración tanto de VoIP como de todas
las aplicaciones de IP. Garantizar la calidad de servicio sobre Internet, que solo soporta "mejor
esfuerzo" (best effort) y puede tener limitaciones de ancho de banda en la ruta, actualmente no es
posible; por eso, se presentan diversos problemas en cuanto a garantizar la calidad del servicio.

Códecs

La voz ha de codificarse para poder ser transmitida por la red IP. Para ello se hace uso de códecs
que garanticen la codificación y compresión del audio o del video para su posterior decodificación y
descompresión antes de poder generar un sonido o imagen utilizable. Según el Códec utilizado en la
transmisión, se utilizará más o menos ancho de banda. La cantidad de ancho de banda utilizada
suele ser directamente proporcional a la calidad de los datos transmitidos.

Entre los codecs más utilizados en VoIP están G.711, G.723.1 y el G.729 (especificados por la ITU-T).

Estos Codecs tienen los siguientes anchos de banda de codificación:

 G.711: bit-rate de 56 o 64 Kbps.


 G.722: bit-rate de 48, 56 o 64 Kbps.
 G.723: bit-rate de 5,3 o 6,4 Kbps.
 G.728: bit-rate de 16 Kbps.
 G.729: bit-rate de 8 o 13 Kbps.

Esto no quiere decir que es el ancho de banda utilizado, ya que hay que sumar el tráfico de por
ejemplo el Codec G729 utiliza 31.5 Kbps de ancho de banda en su transmisión.

Retardo o latencia

Una vez establecidos los retardos de tránsito y el retardo de procesado la conversación se considera
aceptable por debajo de los 150 ms, que viene a ser 1,5 décimas de segundo y ya produciría
retardos importantes.

Pérdida de tramas (Frames Lost):

Durante su recorrido por la red IP las tramas se pueden perder como resultado de una congestión
de red o corrupción de datos. Además, para tráfico de tiempo real como la voz, la retransmisión de
tramas perdidas en la capa de transporte no es práctico por ocasionar retardos adicionales. Por
consiguiente, los terminales de voz tienen que retransmitir con muestras de voz perdidas, también
llamadas Frame Erasures. El efecto de las tramas perdidas en la calidad de voz depende de como los
terminales gestionen las Frame Erasures.

En el caso más simple si se pierde una muestra de voz el terminal dejará un intervalo en el flujo de
voz. Si muchas tramas se pierden, sonará grietoso con sílabas o palabras perdidas. Una posible
estrategia de recuperación es reproducir las muestras de voz previas. Esto funciona bien si sólo
unas cuantas muestras son perdidas. Para combatir mejor las ráfagas de errores usualmente se
emplean sistemas de interpolación. Basándose en muestras de voz previas, el decodificador
predecirá las tramas perdidas. Esta técnica es conocida como Packet Loss Concealment (PLC).

La ITU-T G.113 apéndice I provee algunas líneas de guía de planificación provisional en el efecto de
pérdida de tramas sobre la calidad de voz. El impacto es medido en términos de Ie, el factor de
deterioro. Este es un número en el cual 0 significa no deterioro. El valor más grande de Ie significa
deterioro más severo. La siguiente tabla está derivada de la G.113 apéndice I y muestra el impacto
de las tramas perdidas en el factor Ie.
Ventajas

La principal ventaja de este tipo de servicios es que evita los cargos altos de telefonía
(principalmente de larga distancia) que son usuales de las compañías de la Red Pública Telefónica
Conmutada (PSTN). Algunos ahorros en el costo son debidos a utilizar una misma red para llevar voz
y datos, especialmente cuando los usuarios tienen sin utilizar toda la capacidad de una red ya
existente la cual pueden usar para VoIP sin coste adicional. Las llamadas de VoIP a VoIP entre
cualquier proveedor son generalmente gratis en contraste con las llamadas de VoIP a PSTN que
generalmente cuestan al usuario de VoIP.

El desarrollo de codecs para VoIP (aLaw, G.729, G.723, etc.) ha permitido que la voz se codifique en
paquetes de datos cada vez más pequeños. Esto deriva en que las comunicaciones de voz sobre IP
requieran anchos de banda muy reducidos. Junto con el avance permanente de las conexiones
ADSL en el mercado residencial, éste tipo de comunicaciones están siendo muy populares para
llamadas internacionales.

Hay dos tipos de servicio de PSTN a VoIP: "Discado Entrante Directo" (Direct Inward Dialling: DID) y
"Números de acceso". DID conecta a quien hace la llamada directamente con el usuario VoIP,
mientras que los Números de acceso requieren que este introduzca el número de extensión del
usuario de VoIP. Los Números de acceso son usualmente cobrados como una llamada local para
quien hizo la llamada desde la PSTN y gratis para el usuario de VoIP.

Estos precios pueden llegar a ser hasta 100 veces más económicos que los precios de un operador
locales.[cita requerida]

Desventajas

 Calidad de la llamada. Es un poco inferior a la telefónica, ya que los datos viajan en forma de
paquetes, es por eso que se pueden tener algunas perdidas de información y demora en la
transmisión. El problema en si de la VoIP no es el protocolo sino la red IP, ya que esta no fue
pensada para dar algún tipo de garantías. Otra desventaja es la latencia, ya que cuando el
usuario está hablando y otro usuario está escuchando, no es adecuado tener 200ms
(milisegundos) de pausa en la transmisión. Cuando se va a utilizar VoIP, se debe controlar el
uso de la red para garantizar una transmisión de calidad.
 Robos de Datos. Un cracker puede tener acceso al servidor de VoIP y a los datos de voz
almacenados y al propio servicio telefónico para escuchar conversaciones o hacer llamadas
gratuitas a cargo de los usuarios.
 Virus en el sistema. En el caso en que un virus infecta algún equipo de un servidor VoIP, el
servicio telefónico puede quedar interrumpido. También pueden verse afectados otros equipos
que estén conectados al sistema. Suplantaciones de ID y engaños especializados. Si uno no está
bien protegido pueden sufrir fraudes por medio de suplantación de identidad.
2) ¿Cómo configurar un servidor VoIP en Ubuntu?
Para configurar un servidor de telefonía VoIP necesitaremos dos servicios:
ASTERISK y FreepVox:
A) ¿Qué es ASTERISK?

Asterisk es un programa de software libre (bajo licencia GPL) que


proporciona funcionalidades de una central telefónica (PBX). Como
cualquier PBX, se puede conectar un número determinado de teléfonos
para hacer llamadas entre sí e incluso conectar a un proveedor de VoIP
o bien a una RDSI tanto básicos como primarios.

Mark Spencer, de Digium, inicialmente creó Asterisk y actualmente es su principal


desarrollador, junto con otros programadores que han contribuido a corregir errores y
añadir novedades y funcionalidades. Originalmente desarrollado para el sistema operativo
GNU/Linux, Asterisk actualmente también se distribuye en versiones para los sistemas
operativos BSD, Mac OS X, Solaris y Microsoft Windows, aunque la plataforma nativa
(GNU/Linux) es la que cuenta con mejor soporte de todas.

Asterisk incluye muchas características que anteriormente sólo estaban disponibles en


costosos sistemas propietarios PBX, como buzón de voz, conferencias, IVR, distribución
automática de llamadas, y otras muchas. Los usuarios pueden crear nuevas funcionalidades
escribiendo un dialplan en el lenguaje de script de Asterisk o añadiendo módulos escritos en
lenguaje C o en cualquier otro lenguaje de programación soportado en GNU/Linux.

Para conectar teléfonos estándares analógicos son necesarias tarjetas electrónicas


telefónicas FXS o FXO fabricadas por Digium u otros proveedores, ya que para conectar el
servidor a una línea externa no basta con un simple módem.

Quizá lo más interesante de Asterisk es que reconoce muchos protocolos VoIP como pueden
ser SIP, H.323, IAX y MGCP. Asterisk puede interoperar con terminales IP actuando como un
registrador y como gateway entre ambos.

Asterisk se empieza a adoptar en algunos entornos corporativos como una gran solución de
bajo coste junto con SER (Sip Express Router).

Estado actual

La versión estable de Asterisk está compuesta por los módulos siguientes:

 Asterisk: Ficheros base del proyecto.


 DAHDI: Soporte para hardware. Drivers de tarjetas. (Anteriormente ZAPTEL)
 Addons: Complementos y añadidos del paquete Asterisk. Opcional. (Incluidos en el
paquete de Asterisk a partir de la versión 1.8.x)
 Libpri: Soporte para conexiones digitales. Opcional.
 Sounds: Aporta sonidos y frases en diferentes idiomas. (Incluidos en el paquete Asterisk)
Cada módulo cuenta con una versión estable y una versión de desarrollo. 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, mientras que 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.

B) ¿Qué es FreepVX?

FreePBX ofrece un interfaz GUI Html (interfaz gráfica de usuario) para administración de una
centralita IP basada en Asterisk, muy fácil de usar pero con gran capacidad. También está
basado en Open Source GPL.

Permite configurar fácilmente un sistema Asterisk, cubriendo los requisitos tanto de


pequeñas como de grandes empresas. Puede mantener las bases de datos de usuarios y
extensiones, así como todas las funciones de valor añadido. Por citar las más importantes:

 Dialplan de llamadas entrantes y salientes.


 IVR (Recepcionista digital interactiva) – Operadora automática.
 Time conditions – Gestión de llamadas entrantes según horario y fecha.
 Grupo de llamadas (Ring Groups): Round-Robin, todas a la vez, etc.
 Follow-me.
 ACD – Sistema de colas y agentes.
 Monitorización de llamadas.
 Sistema de mensajería vocal.
 Música en espera.
 Sala de Conferencias.
 Grabación de las llamadas (sólo recomendado para pequeños volúmenes).

Entonces proseguimos con la configuración:

i. Instalacion y configuración de ASTERISK


Para poder instalar el servicio de ASTERISK debemos de hacerlo escribiendo en consola
el siguiente comando:
sudo apt-get install asterisk
Esperamos que culmine la instalación y procedemos a configurar el servidor.
NOTA: También está disponible una versión comprimida de ASTERISK en su página
web, la cual se compila e instala, no la usamos porque a veces el servidor no funciona
correctamente por la falta de dependencias, es decir la diferencia de instalar por
consola y por comprimido es que por consola instala todas las dependencias
necesarias, lo cual no hace la versión comprimida.
Ahora debemos de efectuar la modificación de los siguientes archivos:
 Archivo /etc/asterisk/manager.conf
Escribimos en consola:
sudo apt-get install asterisk

Nos abrirá el archivo siguiente archivo:

Debemos borrar todo lo escrito, y reemplazarlo por lo siguiente:

[general]

enabled = yes

webenabled = yes

port = 5038

[admin]

secret = asterisk

deny=0.0.0.0/0.0.0.0

permit=0.0.0.0/0.0.0.0

read = system,call,log,verbose,agent,user,config,dtmf,reporting,cdr,dialplan

write = system,call,agent,user,config,command,reporting,originate
Ahora una breve explicación de lo que hicimos:

 Habilitar el "manager" de asterisk


 Habilitar el acceso via web al "manager" para gestionar nuestra PBX
 Definir el port de acceso para el "manager"
 Crear el usuario "admin" con la password "asterisk"
 Permitir el acceso al manager desde cualquier IP
 Setear los permisos del usuario "admin" para lectura (read) y escritura
(write)

Nos queda así:

Guardamos y cerramos.

 Archivo /etc/asterisk/http.conf
Escribimos en consola:

sudo apt-get install asterisk

Nos abrirá el archivo siguiente archivo:
Nos dirigimos al final del archivo y agregamos lo siguiente:

enabled=yes

bindaddr=0.0.0.0

bindport=8088

enablestatic=yes

redirect = / /static/config/index.html

Guardamos y cerramos. Ahora podemos proseguir .


ii. Instalacion y configuración de FreepVx
Ahora vamos a instalar ASTERISK-GUI como administrador web. Para ello descargamos en la
PC el archivo ubicado en: http://downloads.asterisk.org/pub/telephony/asterisk-gui/releases/

Buscamos ASTERISK-GUI en su versión más reciente.


NOTA: La versión más reciente al momento de hacer este tutorial es: asterisk-gui-2.1.0-
rc1.tar.gz .
Entonces copiamos la ruta del archivo y ejecutamos en consola lo siguiente:

#sudo wget http://downloads.asterisk.org/pub/telephony/asterisk-


gui/releases/asterisk-gui-2.1.0-rc1.tar.gz

# sudo cp asterisk-gui-2.1.0-rc1.tar.gz /usr/src/

# cd /usr/src

# sudo tar xvfz asterisk-gui-2.1.0-rc1.tar.gz

# sudo ln -s /usr/src/asterisk-gui-2.1.0-rc1 asterisk-gui

# sudo cd asterisk-gui

# sudo ./configure

# sudo make

# sudo make install

#sudo make checkconfig

Línea por línea, si no nos arroja ningún error al momento de efectuar cada paso
proseguimos con lo siguiente, también en consola:

# sudo cp -Rfv /var/lib/asterisk/* /usr/share/asterisk/

# sudo mv /var/lib/asterisk /var/lib/asterisk_original

# sudo ln -s /usr/share/asterisk /var/lib/asterisk


Esto nos permitirá copiar y mover los archivos necesarios para que arranque la interfaz
grafica en nuestro navegador.Tambien debemos escribir línea a línea lo siguiente:

# sudo chown asterisk:asterisk /var/lib/asterisk -Rf


# sudo chown asterisk:asterisk /usr/share/asterisk -Rf

Esto habilita los permisos de lectura/escritura a los archivos copiados,(recordemos que


fue una instalación de un comprimido).

Luego debemos de reiniciar el ASTERISK para lo cual escribimos en consola:


Sudo service asterisk restart

NOTA: Cada vez que realicemos una modificación debemos de reiniciar el ASTERISK. Si
instalamos el ASTERISK por comprimido no nos aparecerá el servicio.
Ahora abrimos el navegador y escribimos en la barra de direcciones lo siguiente:

http://ip-servidor:8088
Si no conocemos la IP de nuestro servidor efectuamos el siguiente comando en
consola: ifconfig.

Significa que mi servidor tiene por IP : 10.10.7.81, entonces debo escribir como
dirección : http://10.10.7.81:8088

Escribimos el usuario y la contraseña configurada en el archivo


/etc/asterisk/manager.conf
Nota: al momento de acceder con usuario y contraseña demorara un poco, no se
alarmen , y debemos de ACEPTAR todas la ventanas emergentes hasta que nos
muestre la ventana anterior.

iii. Configuración de FreepVx en la interfaz GUI HTML


Ya tenemos configurado el servidor VoIP, ahora debemos usar esta interfaz para poder
ser capaces de configurarlo de manera más interactiva.
Yo configurare los planes, los usuarios y el buzón de voz. Debemos realizar el primer y
segundo paso en ese orden, ya que no se puede crear usuarios sin tener planes.

A. Crear un plan
Para crear un plan debemos hacer click en el menú izquierdo en la opción Dial
Plans
Y hacer click en NewDialPlan, nos abrirá una ventana:

En la cual escribimos el nombre del plan y ponemos SAVE. Notar que


habilitamos todas las opciones (incluida la de VOICEMAIL).
NOTA: Podemos agregar más planes de acuerdo al criterio (Nosotros usaremos
uno solo para todos los usuarios).

B. Crear los usuarios


Ahora procedemos a crear los usuarios, para ello hacemos click en el menú
izquierdo en Users .Luego en Create New User y nos muestra:

Ahora explicaremos las opciones básicas a configurar:


Extension: Es el numero SIP para el usuario, este valor no se puede modificar
(inicializa en 6000) y es auto numérico, es decir incrementa en 1 al agregar un
nuevo usuario (6001, 6002, 6003,….).
CallerIdName: Es el nombre de usuario para la línea, puede ser texto o numero
(Nombre de usuario).
DialPlan: Seleccionamos el plan que ya configuramos anteriormente.
CallerIdNumber: Un numero de referencia del usuario para identificarlo en la
red.
Enable VoiceMail for this User: Habilita la opción de buzon de voz para el
usuario.
VoiceMail Access PIN Code (opcional): Este es un código numérico para que el
usuario pueda acceder a su correo de voz.
SIP/IAX Password: Es la contraseña para el usuario (no la del administardor).
Es similar a configurar una cuenta de correo, luego presionamos Save.

C. Configurar el buzon de voz


Para configurar el buzon de voz accedemos por el menú izquierdo a VoiceMail.

En este debemos escribir en Extension for Checking messages el numero de


buzón de voz, habilitando todos los check, también debemos configurar:
Max greeting: el máximo tiempo de espera, en segundos.
Maximum messages per folder: El máximo número de mensajes por folder.
Max message time: La duración máxima del mensaje.
Min message time: La duración minima del mensaje.

Una vez configurado, presionamos Save.

IMPORTANTE: Una vez realizados todas las configuraciones debemos de


aplicar los cambios, es decir el hecho de guardar cada configuración no significa
que el servidor haya efectuado las operaciones, para ello subimos a la parte
más alta del navegador damos click en Apply Changes

Ahora si están aplicados las configuraciones.(Hacer esto cada vez que hagamos
una modificación)
D. Cambiar el idioma (opcional)
El ASTERISK instala por defecto en inglés (el menú de voz, las indicaciones)
todos sus archivos de sonido, pero nosotros podemos descargar las voces en
español, para ello accedemos al menú izquierdo y hacemos click en Options-
Language y seleccionamos español, luego en Save y esperamos que termine
de descargar los paquetes.

Terminado esto aplicamos los cambios.


Con esto tendríamos un servidor VoIp completamente funcional con correo de
voz.

E. Configurar lo teléfonos IP
Para probar el servidor tenemos dos opciones: usar teléfonos IP o usar
softphones. Para esto usaremos la segunda opción (son muy similares en
configuración pero por facilidad usaremos los softphones).
Existe gran variedad de softphones, nosotros usaremos : Express talk que lo
pueden descargar en versión free aquí:
http:/nch.com.au/talk/es/index.html
Su interfaz es la siguiente:

Accedemos a Opciones-Lineas y configuramos:

Podemos poner un nombre de usuario (esto no importa porque el servidor nos


dara uno).
En la parte del Servidor (proxy SIP o PBX Virtual) debemos de escribir la IP del
servidor o, si lo tuviera, su dominio DNS.
En la parte de Numero SIP debemos escribir la extensión del usuario o el
nombre de usuario previamente configurados.
Finalmente, en la parte de Contraseña debemos introducir la contraseña para
el usuario.
Con esto queda configurado el teléfono, luego simplemente para llamar
debemos de escribir el número de extensión del destino y presionar elboton
llamar.
Fuentes:
http://es.wikipedia.org/wiki/Voz_sobre_Protocolo_de_Internet
http://www.quarea.com/es/FreePBX
http://es.wikipedia.org/wiki/Asterisk
http://www.joseschenone.com.ar/2012/11/instalacion-de-asterisk-en-10-sobre.html

Das könnte Ihnen auch gefallen