Está en la página 1de 12

Práctica de VoIP

Instalación y administración de un PBX Virtual

INTRODUCCIÓN
Asterisk es una aplicación de software libre que implementa los servicios de una centralita
telefónica de VoIP. A la centralita se le pueden conectar teléfonos de VoIP (que también
pueden ser programas de ordenador o “softphones”), fax, líneas RDSI, líneas telefónicas
analógicas convencionales… Asterisk fue inicialmente desarrollada para Linux pero actualmente
existen versiones para casi todas las plataformas.

trixbox (con “t” minúscula) es una distribución Linux (en concreto de CentOS) que incluye
Asterisk y FreePBX que es un entorno gráfico basado en WEB para una configuración cómoda y
más sencilla de Asterisk.

Esta práctica está basada en trixbox. Instalaremos desde cero la centralita de VoIP y se realizará
la configuración básica para tener una red de VoIP operativa. La práctica no pretende (ni mucho
menos) explicar los numerosos detalles de configuración de Asterisk.

Los objetivos son mucho más modestos pero también importantes:

1) Conocer y tener una experiencia en la instalación (básica) de esta tecnología.

2) Saber hacer una instalación básica.

3) Conocer de la versatilidad de los servicios de valor añadido que este tipos de centralitas
puede dar (Control total sobre las llamadas de la empresa, conferencias (múltiples
interlocutores), IVR (recepcionista digital), reconocimiento de voz, grupos de llamada, Follow-
me, …)

4) Saber hacer como interconectar una red de VoIP con la(s) red de telefonía analógica.

5) Saber hacer como interconectar dos centralitas Asterisk (reducción de costes de llamadas
internacionales).
Introducción a los protocolos de VoIP
SIP (Session Initiation Protocol )

Actualmente es el estándar más importante en desarrollos de VoIP, desplazando al pionero


H.323.

La premisa de SIP es que la comunicación es entre pares (peer-to-peer) y él se encarga de la


negociación entre los dos (o más) interlocutores.

SIP es un protocolo relativamente sencillo, con una sintaxis similar a protocolos como http y
SNMP. SIP es un protocolo de señalización a nivel de aplicación que utiliza el puerto 5060. Los
mensajes SIP pueden ir sobre TCP y sobre UDP aunque lo más usual es usar UDP.
La función de SIP es la de establecer, modificar y terminar una sesión de VoIP entre dos
interlocutores. SIP no se encarga de transportar datos entre los interlocutores. Para esa tarea
se utiliza el protocolo RTP (Real Time Protocol). RTP utilizar otros puertos para realizar su tarea
(normalmente en el rango 10.000 a 20.000)

La figura muestra la topología más frecuente que ilustra la relación entre los protocolos SIP y
RTP. Cuando un interlocutor quiere llamar al otro, se pone en contacto con su servidor Proxy y
este intenta localizar al otro (que puede estar conectado al mismo o a otro servidor Proxy). Una
vez que SIP ha puesto en contacto a ambos interlocutores, estos se comunican directamente
entre ellos sin que el flujo de datos tenga que pasar por los servidores.

SIP y NAT

Probablemente el problema más importante de SIP es tener que negociar una sesión cuando
los interlocutores (uno o los dos) están detrás de un NAT (Network Address Translation). SIP
manda las direcciones (endpoints: port+IP) de los interlocutores en sus mensajes. Si el
interlocutor está en una intranet, el NAT de salida cambia el valor endpoint desde el que es
alcanzable el interlocutor PERO no modifica la información de los mensajes SIP. Por lo tanto SIP
entrega al otro interlocutor un endpoint inalcanzable.
Este problema tiene varias soluciones pero su discusión aquí excede el objetivo de esta
introducción (consultar por Hole-punching, STUN, ICE, rport). Desgraciadamente el
comportamiento de los NATs no está normalizado, cada fabricante lo hace de una manera, lo
cual complica la solución del problema.

IAX (Inter-Asterisk eXchange)

Actualmente en la versión 2 (IAX2) es un protocolo que aborda el problema de los NATs. La idea
es utilizar el mismo puerto UDP para la señalización y para la transmisión de los datos (RTP).
Esto supone simplificar el número de “agujeros” (hole-punching) a realizar en el NAT para que
el interlocutor en la intranet sea alcanzable desde Internet.
Algunos autores abogan porque IAX será el futuro de VoIP y otros plantean que la regulación en
tema de NATs, o incluso su desaparición con la entrada de IPv6 dejaran a SIP en su posición de
liderato.

H.323

H.323 es el pasado como estándar de VoIP. H.323 es una estándar de comunicaciones


producido por la ITU, iniciado a finales de 1996, e impulsado por el crecimiento de la
comunicación multimedia en redes de área local (LAN). H.323 fue inicialmente diseñado para
aplicaciones de video conferencia (p.e. NetMeeting, CUseeMe, …). Dado que fue el primer
estándar es también el más ampliamente soportado por conservar la “compatibilidad hacia
detrás”. Está siendo desplazado por SIP y IAX

Skinny/SCCP

Skinny Client Control Protocol (SCCP) es propiedad de Cisco que lo utiliza como protocolo por
defecto en sus productos de VoIP. Es pues un protocolo NO estándar. Cisco ofrece firmwares
con SIP para sus productos por si el cliente decide no usar su protocolo.

INSTALACIÓN SERVIDOR
Se recomienda utilizar un PC para uso exclusivo del servidor Asterix. La instalación formatea el
disco duro y dejar preinstalado un servidor de Asterix. El tiempo de instalación depende de las
características del PC que utilicemos pero es relativamente rápido y requiere de poca
intervención del administrador.
A continuación se muestran las pantallas que el sistema va mostrando en la instalación. A pie
de cada figura se indica la acción a tomar
1) Pulsar ENTER para continuar con la instalación

rr2) Seleccionar teclado ESPAÑOL

3) Seleccione la zona horaria. Puede marcar “System clock uses UTC” si desea que tenga en
cuenta el horario de verano.
4) Introduzca un password para el usuario de consola “root”. Por favor utilice “ralirfi”

Rearrancamos el PC, cargamos el trixbox y entramos en la consola de CentOS usando como


usuario/password el que especificamos en la instalación (root/ralirfi). relirfi

Lo primero que debemos averiguar es cual es nuestra dirección IP. Tecleamos el comando
ifconfig

El comando help-trixbox nos muestra comandos de consola específicos de trixbox. Conviene


que cambiemos el password del usuario maint (comando passwd-maint), que es el
administrador cuando entramos vía WEB. Sugerimos que utilice el mismo password que para
“root” (ralirfi)

Con esto queda terminado el trabajo sobre la consola de nuestro servidor trixbox. El resto de la
configuración lo realizamos vía WEB desde cualquier PC del laboratorio. Si necesitáramos volver
a acceder a la consola, también se puede hacer de forma remota vía SSH
ro
CONFIGURACIÓN BÁSICA SERVIDOR
Sea IP_trixbox la dirección IP del PC donde hemos instalado trixbox. Con cualquier navegador
vamos a: http://IP_trixbox/maint Nos pedirá usuario/password. Introducimos maint/ralirfi

Se muestra una pantalla como la de la figura (versión 2.6). Se observa una barra de menú
donde aparece “PBX” por Private Branch Exchange (centralita telefónica). Pulsamos ahí
Nos aparece una pantalla como se muestra en la siguiente figura, con un menú vertical a la
izquierda. Toda la configuración del servidor Asterix se realiza entrando en ese menú. Vamos a
proceder a realizar una configuración básica que pasa por configurar un par de detalles en
“GeneralSettings”y dar de alta al menos un par de números de teléfono (Extensions).
General Settings
En General Settings hay un parámetro que se debe ajustar:

a) En la sección “International Settings” seleccione “Country Indications” a “Spain”.


Esto hace que la centralita utilice el esquema de tonos adecuado a nuestro país.

El resto de parámetros no son críticos para la prueba de funcionamiento que vamos a realizar
en el laboratorio y recomendamos que, de momento, los deje como están. No obstante,
recomendamos que eche un vistazo a las distintas opciones. Observará que la mayoría del texto
está subrayado con una línea discontinua. Esto indica que hay una ayuda contextual con
simplemente pasar el puntero del ratón por encima del texto.

Atención: Siempre que modifique algo, en cualquier sección de trixbox, recuerde que debe:

a) Pulsar “Submit Changes” (normalmente localizado a pie de página)

b) Pulsar en la barra naranja “Apply Configuration Changes”

Extensions
Una extensión identifica a un usuario de nuestra centralita de VoIP. Vamos a configurar un par
de extensiones.
Entramos en “Extensions” en el menú a la izquierda de la pantalla.

a) Seleccione el tipo de dispositivo (teléfono) a añadir. En nuestro caso será un


“Generic SIP Device”. Pulsamos “SUBMIT”
Se muestra la pantalla de configuración de la nueva extensión. Para realizar una prueba básica
bastará con fijar un par de parámetros:

b) User Extrensión: por ejemplo “101”. Puede ser cualquier número que no esté
previamente asignado. De cualquier longitud.

c) Display Name: No es un campo necesario. Normalmente es el nombre del usuario en


esa extensión. Por ejemplo “Pepe-101”.

d) Secret: A todos los efectos es un password vinculado a la extensión. Esto permite


que sólo el usuario autorizado pueda configurar su teléfono con esa extensión.

El resto de parámetros de la extensión los dejaremos con su valor por defecto de momento. No
obstante, recomendamos echar un vistazo.

r
La sección “Voicemail & Directory” permite configurar un contestador automático para esa
extensión. Es una opción muy usada. Si más tarde decide probarla, le interesará saber que se
puede llamar desde cualquier teléfono al sistema de correo de voz marcando “ *98 ”. Una
locución le pedirá que introduzca el número de extensión del que desea comprobar las
grabaciones y el password.

Insistimos en que recuerde pulsar SUBMIT (a pie de pantalla) y luego la barra naranja APPLY
CONFIGURATION CHANGES (en la parte superior de la pantalla).

Repita el procedimiento para dar de alta una segunda extensión con, por ejemplo:
User Extension = 102
Display Name = Juan-102
Secret=666

Instalación de los teléfonos IP.


Ya tenemos configurado nuestro servidor de VoIP con dos extensiones. Ahora tenemos que
instalar dos teléfonos IP y verificar que podemos realizar una comunicación.
Los teléfonos IP a instalar deben soportar el protocolo estándar SIP (en principio un teléfono
preparado para Skype no nos valdría).

Existen varios “softphone” gratuitos que funcionan en las distintas plataformas (Unix, Windows,
Mac). Para esta práctica vamos a utilizar el softphone X-Lite.

Instalaremos dos X-Lite en computadoras.


Configuración básica del teléfono X-Lite
Clic con el botón derecho del ratón sobre el teléfono, seleccionamos “SIP Account settings…”.

Como se muestra en la figura, tan solo debe rellenar los campos:

a) USER NAME ponga uno de los dos números de extensión que se dieron de alta en el
servidor (101 o 102)

b) PASSWORD el mismo que utilizó al dar de alta la extensión (666)

c) DOMAIN la dirección IP del servidor


El resto de los campos puede dejar los valores por defecto.
Ejercicios
1 - Prueba de funcionamiento

a) Realice una llamada entre los softphones. Si tiene problemas de sonido verifique cual es
el dispositivo de audio del PC vinculado al softphones (clic del botón derecho del ratón
sobre el softphone -> opciones -> Devices) y compruebe que el audio del PC funciona
correctamente.
b) Puede hacer una traza de los comandos que está ejecutando el servidor conectándose
por ssh.
a. Utilice un terminal SSH (p.e. PUTTY) y conéctese como root.
b. Teclee el comando “asterisk –rv” Cuando efectúe una llamada podrá observar los pasos
que realiza el servidor.
c. Teclee “help” para ver los comandos que acepta la consola de Asterisk. Pruebe alguno de
ellos como:
i. “sip show peer <extensión>”: muestra los parámetros activos de conexión vinculados
a una extensión. Puede verse la IP y puerto del teléfono para esa extensión (lo cual es
importante si queremos capturar el tráfico con un analizador como WireShark), el
retardo de propagación (en Status), el tipo de teléfono (Useragent), etc.
ii. “sip show users” lista los usuarios (ACL=Access Control List)
iii. “sip set debug peer <extensión>”

2- Configurar el buzón de voz.

Vuelva a entrar en EXTENSIONS y configure todas las extensiones para que dispongan de buzón
de voz. (La configuración del buzón está al final de la página web. Bastará con que de
Status=enable y asigne un password)

a) Realice llamadas entre las extensiones y deje algún mensaje de voz. Por defecto, tras 15
segundos sin contestar se activa el buzón de voz. Puede cambiar este tiempo de espera en
General Settings-> Voicemail-> Number of seconds…

b) Puede comprobar sus mensajes desde cualquier teléfono. Marque “ *98 ”. Una locución
le pide primero la extensión y luego el password del buzón.

c) Puede organizar sus mensajes también desde la página web de trixbox entrando en
RECORDINGS (PBX􀃆PBX Settings. Recordings aparece en el menú superior)

También podría gustarte