Está en la página 1de 20

Redes de rea Local e Interconexin de Redes

Prctica de VoIP
Instalacin y administracin de un servidor Asterisk

INTRODUCCIN
Asterisk es una aplicacin de software libre que implementa los servicios de una
centralita telefnica de VoIP. A la centralita se le pueden conectar telfonos de VoIP
(que tambin pueden ser programas de ordenador o softphones), fax, lneas RDSI,
lneas telefnicas analgicas convencionales Asterisk fue inicialmente desarrollada
para Linux pero actualmente existen versiones para casi todas las plataformas.
trixbox (con t minscula) es una distribucin Linux (en concreto de CentOS) que
incluye Asterisk y FreePBX que es un entorno grfico basado en WEB para una
configuracin cmoda y ms sencilla de Asterisk.
Esta prctica est basada en trixbox. Instalaremos desde cero la centralita de VoIP y se
realizar la configuracin bsica para tener una red de VoIP operativa. La prctica no
pretende (ni mucho menos) explicar los numerosos detalles de configuracin de
Asterisk.
Los objetivos son mucho ms modestos pero tambin importantes:
1) Conocer y tener una experiencia en la instalacin (bsica) de esta tecnologa.
2) Saber hacer una instalacin bsica.
3) Conocer de la versatilidad de los servicios de valor aadido que este tipos de
centralitas puede dar (Control total sobre las llamadas de la empresa,
conferencias (mltiples 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 telefona
analgica.
5) Saber hacer como interconectar dos centralitas Asterisk (reduccin de costes de
llamadas internacionales)

Introduccin a los protocolos de VoIP


SIP (Session Initiation Protocol )
Actualmente es el estndar ms importante en desarrollos de VoIP, desplazando al
pionero H.323.
La premisa de SIP es que la comunicacin es entre pares (peer-to-peer) y l se encarga
de la negociacin entre los dos (o ms) interlocutores.
SIP es un protocolo relativamente sencillo, con una sintaxis similar a protocolos como
http y SNMP. SIP es un protocolo de sealizacin a nivel de aplicacin que utiliza el
puerto 5060. Los mensajes SIP pueden ir sobre TCP y sobre UDP aunque lo ms usual
es usar UDP.
La funcin de SIP es la de establecer, modificar y terminar una sesin 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 topologa ms frecuente que ilustra la relacin 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 ms importante de SIP es tener que negociar una sesin
cuando los interlocutores (uno o los dos) estn detrs 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 informacin de
los mensajes SIP. Por lo tanto SIP entrega al otro interlocutor un endpoint inalcanzable.
Este problema tiene varias soluciones pero su discusin aqu excede el objetivo de esta
introduccin (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 solucin del problema.

IAX (Inter-Asterisk eXchange)


Actualmente en la versin 2 (IAX2) es un protocolo que aborda el problema de los
NATs. La idea es utilizar el mismo puerto UDP para la sealizacin y para la
transmisin de los datos (RTP). Esto supone simplificar el nmero de agujeros (holepunching) 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
regulacin en tema de NATs, o incluso su desaparicin con la entrada de IPv6 dejaran a
SIP en su posicin de liderato.

H.323
H.323 es el pasado como estndar de VoIP. H.323 es una estndar de comunicaciones
producido por la ITU, iniciado a finales de 1996, e impulsado por el crecimiento de la
comunicacin multimedia en redes de rea local (LAN). H.323 fue inicialmente
diseado para aplicaciones de video conferencia (p.e. NetMeeting, CUseeMe, ). Dado
que fue el primer estndar es tambin el ms ampliamente soportado por conservar la
compatibilidad hacia detrs. 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 estndar.
Cisco ofrece firmwares con SIP para sus productos por si el cliente decide no usar su
protocolo.

INSTALACIN SERVIDOR
La distribucin de trixbox podemos obtenerla de http://www.trixbox.org/
Se recomienda utilizar un PC para uso exclusivo del servidor Asterix. La instalacin
formatea el disco duro y dejar preinstalado un servidor de Asterix. El tiempo de
instalacin depende de las caractersticas del PC que utilicemos pero es relativamente
rpido y requiere de poca intervencin del administrador.

A continuacin se muestran las pantallas que el sistema va mostrando en la instalacin.


A pie de cada figura se indica la accin a tomar.

1) Pulsar ENTER para continuar con la instalacin

3) Seleccione la zona horaria. Puede marcar System


clock uses UTC si desea que tenga en cuenta el horario
de verano.

2) Seleccionar teclado ESPAOL

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 instalacin (root/ralirfi).

Lo primero que debemos averiguar es cual es nuestra direccin IP. Tecleamos el


comando ifconfig

El comando help-trixbox nos muestra comandos de consola especficos de trixbox.


Conviene que cambiemos el password del usuario maint (comando passwd-maint),
que es el administrador cuando entramos va 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 configuracin lo realizamos va WEB desde cualquier PC del laboratorio. Si
necesitramos volver a acceder a la consola, tambin se puede hacer de forma remota
va SSH

CONFIGURACIN BSICA SERVIDOR


Sea IP_trixbox la direccin IP del PC donde hemos instalado trixbox. Con cualquier
Nos pedir usuario/password.
navegador vamos a: http://IP_trixbox/maint
Introducimos maint/ralirfi
Se muestra una pantalla como la de la figura (versin 2.6). Se observa una barra de
men donde aparece PBX por Private Branch Exchange (centralita telefnica).
Pulsamos ah

Nos aparece una pantalla como se muestra en la siguiente figura, con un men vertical a
la izquierda. Toda la configuracin del servidor Asterix se realiza entrando en ese men.
Vamos a proceder a realizar una configuracin bsica que pasa por configurar un par de
detalles en General Settings y dar de alta al menos un par de nmeros de telfono
(Extensions).

General Settings
En General Settings hay un parmetro que se debe ajustar:
a) En la seccin International Settings seleccione Country Indications a
Spain. Esto hace que la centralita utilice el esquema de tonos adecuado a
nuestro pas.
El resto de parmetros no son crticos para la prueba de funcionamiento que vamos a
realizar en el laboratorio y recomendamos que, de momento, los deje como estn. No
obstante, recomendamos que eche un vistazo a las distintas opciones. Observar que la
mayora del texto est subrayado con una lnea discontinua. Esto indica que hay una
ayuda contextual con simplemente pasar el puntero del ratn por encima del texto.
Atencin: Siempre que modifique algo, en cualquier seccin de trixbox, recuerde que
debe:
a) Pulsar Submit Changes (normalmente localizado a pie de pgina)

b) Pulsar en la barra naranja Apply Configuration Changes

Extensions
Una extensin 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 (telfono) a aadir. En nuestro caso ser un
Generic SIP Device. Pulsamos SUBMIT
Se muestra la pantalla de configuracin de la nueva extensin. Para realizar una prueba
bsica bastar con fijar un par de parmetros:
b) User Extrensin: por ejemplo 101. Puede ser cualquier nmero que no est
previamente asignado. De cualquier longitud.
c) Display Name: No es un campo necesario. Normalmente es el nombre del
usuario en esa extensin. Por ejemplo Pepe-101.
d) Secret: A todos los efectos es un password vinculado a la extensin. Esto
permite que slo el usuario autorizado pueda configurar su telfono con esa
extensin.

El resto de parmetros de la extensin los dejaremos con su valor por defecto de


momento. No obstante, recomendamos echar un vistazo.

La seccin Voicemail & Directory permite configurar un contestador automtico para


esa extensin. Es una opcin muy usada. Si ms tarde decide probarla, le interesar
saber que se puede llamar desde cualquier telfono al sistema de correo de voz
marcando *98 . Una locucin le pedir que introduzca el nmero de extensin 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 extensin con, por ejemplo:
a) User Extension = 102
b) Display Name = Juan-102
c) Secret=666

Instalacin de los telfonos IP.


Ya tenemos configurado nuestro servidor de VoIP con dos extensiones. Ahora tenemos
que instalar dos telfonos IP y verificar que podemos realizar una comunicacin.
Los telfonos IP a instalar deben soportar el protocolo estndar SIP (en principio un
telfono preparado para Skype no nos valdra). En el laboratorio tenemos dos modelos
de telfonos SIP. El Linksys SPA942 y el Snom M3.

Estos telfonos no dejan de ser un pequeo ordenador que ejecutan los protocolos SIP +
RTP y los codecs de audio correspondientes. Una alternativa cuando estamos frente a un
ordenador, como es nuestro caso, es utilizar un softphone. Un softphone es un
programa que igualmente ejecuta los protocolos y codecs pero en nuestro ordenador.
Esto suele tener ventajas aadidas al telfono IP externo (por ejemplo, soporte para
video conferencia, integracin con otros programas del ordenador, configuracin ms
cmoda) pero se necesita dotar al ordenador de altavoces y un buen micrfono.
Existen varios softphone gratuitos que funcionan en las distintas plataformas (Unix,
Windows, Mac). Para esta prctica vamos a utilizar el softphone X-Lite de la empresa
Counterpath
Puede descargarlo en http://www.counterpath.com/

Instalaremos dos X-Lite en sendos ordenadores del laboratorio.

Configuracin bsica del telfono X-Lite


Clic con el botn derecho del ratn sobre el telfono, seleccionamos SIP Account
settings.

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


a) USER NAME ponga uno de los dos nmeros de extensin que se dieron de alta
en el servidor (101 o 102)
b) PASSWORD el mismo que utiliz al dar de alta la extensin (666)
c) DOMAIN la direccin IP del servidor
El resto de campos puede dejar los valores por defecto.

10

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 botn
derecho del ratn 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
conectndose por ssh.
a. Utilice un terminal SSH (p.e. PUTTY) y conctese como root.
b. Teclee el comando asterisk rv
Cuando efecte 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 <extensin>: muestra los parmetros activos de
conexin vinculados a una extensin. Puede verse la IP y puerto
del telfono para esa extensin (lo cual es importante si queremos
capturar el trfico con un analizador como WireShark), el retardo
de propagacin (en Status), el tipo de telfono (Useragent), etc.
ii. sip show users lista los usuarios (ACL=Access Control List)
iii. sip set debug peer <extensin>

2.- Configurar el buzn de voz.


Vuelva a entrar en EXTENSIONS y configure todas las extensiones para que dispongan
de buzn de voz. (La configuracin del buzn est al final de la pgina web. Bastar
con que de Status=enable y asigne un password)
a) Realice llamadas entre las extensiones y deje algn mensaje de voz.
Por defecto, tras 15 segundos sin contestar se activa el buzn de voz.
Puede cambiar este tiempo de espera en General Settings Voicemail
Number of seconds
b) Puede comprobar sus mensajes desde cualquier telfono. Marque *98 . Una
locucin le pide primero la extensin y luego el password del buzn.
c) Puede organizar sus mensajes tambin desde la pgina web de trixbox entrando
en RECORDINGS (PBXPBX Settings. Recordings aparece en el men
superior)

11

GATEWAY DE VOZ
La centralita de VoIP que hemos montado nos permite comunicar con telfonos IP, pero
hoy por hoy es necesario tener la posibilidad de tambin comunicar con abonados de la
telefona analgica tradicional. Esto podemos hacerlo utilizando un Voice Gateway
Utilizaremos el modelo SPA3102 de Linksys. Este Gateway de voz dispone de dos
puertos Ethernet 10/100 configurables en modo Router (NAT) o en modo Bridge y un
puerto FXS (ATA) y otro FXO.
El puerto FXS (Foreign eXchange Subscriber) emula la lnea telefnica analgica
tradicional. A este puerto se conecta un telfono analgico (o un fax) que pasara a ser
un dispositivo accesible por VoIP.
El puerto FXO (Foreign eXchange Office) conecta el gateway con la lnea telefnica
analgica. El gateway de voz nos va a permitir utilizar esta lnea de comunicacin en
nuestra red de VoIP. Podremos recibir y hacer llamadas a abonados de telfono
analgico desde los telfonos IP.

Conexionado del Gateway


Lo primero es conectar correctamente los cables del gateway de voz teniendo cuidado
de no equivocar los conectores RJ11 marcados como LINE( el FXO) y PHONE (el
FXS). Esto es importante porque por los puertos FXS se generan seal elctrica. Las
tomas de telfono de las paredes son tambin FXS. Por lo tanto, si conectamos por error
la toma de la pared al puerto marcado como PHONE estamos conectando entre si dos
puertos FXS, ambos transmiten seal y por tanto estamos haciendo un cortocircuito que
puede daar el equipo.

FXO

FXS

Conexin a la red
Ethernet del laboratorio

De los dos puertos de red (RJ45) slo utilizaremos uno. Vamos a conectar el puerto
rotulado como INTERNET. Por este puerto el gateway de voz recibir (por DHCP)
una direccin IP. El otro puerto, rotulado como ETHERNET lo vamos a dejar sin
conectar ya que en esta prctica no vamos a utilizar la posibilidad que tiene este
dispositivo de poderse utilizar tambin como NAT (el SPA3120 es tambin un router de
banda ancha).

12

Configuracin bsica del Gateway


El SPA3102 se configura cmodamente va web, pero necesitamos realizar unos pasos
previos utilizando su men interactivo de voz:
1) Vamos a hacer un reset total del Gateway para realizar la prctica desde cero
2) Necesitamos habilitar la configuracin va web accediendo por WAN (por
defecto slo deja acceder desde LAN, por el puerto rotulado Ethernet que
nosotros hemos decidido no usar.
3) Necesitamos la direccin WAN IP del Gateway que le habr sido asignada va
DHCP
Para utilizar el men de voz necesitamos conectar un telfono al Gateway (puerto FXS)
y desconectar momentneamente la lnea telefnica del puerto FXO. Descolgamos el
telfono y marcamos **** (cuatro asteriscos). Tiene que salir una locucin (en ingles)
que dice Linksys configuration menu. Ya podemos interaccionar con el Gateway
mediante el teclado del telfono.

1) Factory Reset.
2) Habilitar web
va WAN
3) Conocer IP

13

A continuacin accedemos al Gateway va Web. Nos saldr una pantalla similar a la


mostrada en la figura. Se puede observar que el dispositivo es altamente configurable.
Vamos a configurar lo mnimo necesario para hacerlo funcionar con nuestro servidor de
VoIP.
1) pulsar en Admin Login y en advanced. La pantalla debe quedar como se
muestra en el circulo-A
2) En la Seccin VOICE, en la pestaa REGIONAL cambiar:
a. Caller ID Method: ETSI DTMF
b. Caller ID FSK Standard: v.23

3) En la pestaa LINE 1
a. Proxy: la direccin IP de nuestro servidor VoIP
b. Display Name: 600
c. User ID: 600
d. Password: 600

14

4) En la pestaa PSTN Line


a. Proxy: la direccin IP de nuestro servidor VoIP
b. Display Name: 77977 o 85742 (son las extensiones del laboratorio)
c. User ID: 77977 o 85742
d. Importante!!. Observe si el SIP Port es el 5061 u otro. Ese valor debemos
utilizarlo luego en la configuracin del servidor de VoIP

Para poder comprobar si nuestro Gateway de voz funciona tenemos que configurarlo
tambin en el servidor de VoIP. En concreto tendremos que dar de alta el Gateway
como un TRUNK (canal de comunicacin externo) y definir las rutas entrantes
INBOUND ROUTES y salientes OUTBOUND ROUTES a ese Trunk.

15

Configuracin de un TRUNK para el Gateway de voz


Volvemos a conectarnos al servidor web de Asterisk. En el men de la izquierda de la
pantalla entramos en TRUNKS.
1) Add SIP Trunk
2) Fijamos los valores indicados en la figura

Recuerde pulsar Submit Changes y finalmente Apply Configuration Changes en


color naranja que sale en la parte superior de la pantalla.

16

Configuracin de INBOUND ROUTES


Nuevamente en el men de la izquierda en la pantalla de configuracin de nuestra
centralita Asterisk, entramos en Inbound Routes.
Nos sale una pantalla de configuracin donde slo vamos a seleccionar, en Set
Destination la extensin del telfono al que se le derivaran todas las llamadas que
lleguen por el Gateway. Tal y como se muestra en la figura podemos seleccionar una de
las extensiones que tengamos dadas de alta.

Configuracin de OUTBOUND ROUTES


Igualmente, desde el men seleccionamos Outbound Routes. En la pantalla de
configuracin rellenamos como en la figura

Llamamos la atencin sobre el apartado Dial Patterns. En el se indica cuales son las
secuencias validas de nmeros que se aceptan sean marcados a travs del Trunk. La
secuencia XXXXX (cinco X) permite que se hagan llamadas a cualquier nmero de
cinco cifras (nmeros de extensiones de telfonos de la UPV). Pasando el ratn sobre
Dial Patterns tiene una pequea explicacin sobre otras posibilidades.
17

Ejercicios
3.- Prueba de funcionamiento
1) Para esta prctica, el laboratorio de Redes cuanta con dos lneas telefnicas. Las
extensiones 77977 y 85724. El Gateway de voz lo tiene conectado a una de estas
dos lneas. Puede probar a llamar a la otra. Las llamadas a extensiones
analgicas
dentro
de
la
UPV
no
cuestan
dinero.
2) Puede probar a llamar a cualquier otro telfono analgico (incluidos mviles)
pero tendr que cambiar el Dial Patterns del OUTBOUND ROUTES.
Aviso: Las llamadas telefnicas tienen un coste que tendr que pagar el
departamento. Le roramos no abuse de esta prueba. En cualquier caso sepa que
Asterisk tiene un registro de las llamadas (y la central telefnica de la UPV
tambin) .

Interconectar dos Asterisk


Empresas con sedes en distintas provincias o pases, pueden beneficiarse de llamadas
telefnicas analgicas con coste de llamada local. Por ejemplo, un empleado en Espaa
puede llamar a un telfono analgico en el Reino Unido con coste de llamada local si
hace que sea el servidor del Reino Unido el que llame a la lnea analgica, siendo el
resto de la comunicacin por VoIP.

Internet

POTS

Para simular esta situacin conectaremos dos servidores Asterisk del laboratorio de
redes. Necesita ponerse de acuerdo con otros compaeros del laboratorio para hacer esta
parte de forma conjunta.

18

Conectar los dos servidores equivale a conectar las troncales (TRUNKS). Una opcin es
declarar en cada servidor una nueva troncal. Recomendamos usar troncales IAX (Inter
Asterisk Exchange). Los pasos son:
1. Crear troncales IAX en cada servidor trixbox.
2. En cada troncal poner lo siguiente:
Server1:
Outgoing:
name: 1to2
allow=ilbc&g729&gsm
disallow=all
forcejitterbuffer=yes
host= ip-server2
jitterbuffer=yes
maxjitterbuffer=300
secret=password-server-1
trunktimestamps=yes
type=peer
username= 1to2
Incoming:
user: 2to1
allow=ilbc&g729&gsm
context=from-internal
disallow=all
forcejitterbuffer=yes
host=ip-server2
jitterbuffer=yes
maxjitterbuffer=300
secret=password-server-1
trunktimestamps=yes
type=user

19

Server 2:
Outgoing:
name: 2to1
allow=ilbc&g729&gsm
disallow=all
forcejitterbuffer=yes
host=ip-server-1
jitterbuffer=yes
maxjitterbuffer=300
secret=password-server-2
trunktimestamps=yes
type=peer
username=2to1
Incoming:
name: 1to2
allow=ilbc&g729&gsm
context=from-internal
disallow=all
forcejitterbuffer=yes
host=ip-server-1
jitterbuffer=yes
maxjitterbuffer=300
secret=password-server-2
trunktimestamps=yes
type=user
3. despues hay que crear las rutas en el outbound las cuales deben usar las troncales
IAX
4. listo para usar.

Ejercicios
4.- Prueba de funcionamiento
a) Pruebe primero a llamar a extensiones Asterisk. Para evitar confusiones ponga
en un servidor extensiones de 3 dgitos (como estn) y en el otro pngalas de 4
dgitos.
b) Para que una realizar una llamada local por el servidor remoto deber modificar
las inbound y outbound routes. En el servidor remoto debe hacer que la llamada
entrante salga por el trunk que conecta con el Gateway de voz.

20

También podría gustarte