You are on page 1of 5

Unidad de Trabajo n7 Asterisk.

Configuracin bsica
Servicios de red e Internet I.E.S. Siete Palmas

Objetivo general:
Instalacin y configuracin bsica de un servidor de VoIP Asterisk en Ubuntu.
Instalacin, configuracin y gestin de software tipo softphone Twinkle.
Realizacin de llamadas entre dos dispositivos empleando softphones mediante VoIP.

Duracin prevista: 3 horas aproximadamente.


Software: Ubuntu 16.04 LTS (xenial)
Mnimos que se persiguen en la actividad:
Reflexin sobre la utilidad y generalizacin de uso de VoIP. Ventajas e inconvenientes de utilizacin sobre una PBX
tradicional.
Realizacin prctica de los distintos pasos en la configuracin de un servidor Asterisk y una llamada entre dos
clientes softphones.

Documentacin:
http://www.alcancelibre.org/staticpages/index.php/como-ekiga-asterisk
http://phplinuxandthelike.wordpress.com/2007/09/04/basic-asterisk-configuration/
http://www.twinklephone.com/
Gua de Ubuntu 16.04 LTS
Guas en espaol de las principales distribuciones de Linux (http://linux-cd.com.ar)

Pasos de la Actividad:
Introduccin a VoIP
Voz sobre Protocolo de Internet, tambin llamado Voz sobre IP, Voz IP, VozIP, VoIP (por sus siglas en ingls, Voice
over IP), es un grupo de recursos que hacen posible que la seal de voz viaje a travs de Internet empleando el protocolo
IP (Protocolo de Internet). Esto significa que se enva la seal de voz en forma digital, en paquetes de datos, en lugar de
enviarla en forma analgica a travs de circuitos utilizables slo por telefona convencional como las redes PSTN (siglas
de Public Switched Telephone Network, Red Telefnica Pblica Conmutada).

Para transmitir la voz sobre el protocolo IP existen dos estndares VoIP: H.323 y SIP. Puede ver una comparativa de
ambos en el siguiente enlace. A pesar de que H.323 es ms completo, emplearemos SIP por su simplicidad, modularidad
y facilidad de instalacin. SIP (Session Initiation Protocol) es un protocolo propuesto como estndar por la IETF para
VoIP. La alternativa de software ms utilizada y conocida que implementa un servidor de comunicaciones basado en
VoIP mediante SIP es Asterisk y que ser tambin la que implementaremos en esta prctica.

Asterisk est diseado para servir como PBX. Como cualquier PBX, se puede conectar un nmero determinado de
telfonos para hacer llamadas entre s, e incluso conectar a un proveedor de VoIP. La versin libre de Asterisk incluye
todas las funcionalidades de las ms costosas alternativas de cdigo cerrado, como son correo de voz, llamada en
conferencia, respuesta interactiva de voz (a travs de mens del telfono) y distribucin automtica de llamadas.

Los clientes SIP para VoIP pueden ser fsicos (telfonos IP), pero tambin podemos usar clientes basados en software
libre para establecer las comunicaciones entre los extremos. Estos se conocen con el nombre de softphone. Existen
muchos softphones como Twinkle, Linphone, Ekiga, Zoiper, X-lite, etc Podemos usar el que queramos, en esta
documentacin recomendamos Twinkle y Zoiper.

En esta prctica implementaremos Asterisk como servidor SIP que funcionar como una PBX a la que se conectarn 2
clientes softphones (Twinkle) que funcionarn como clientes SIP y establecern una llamada entre ellos.

Paso previo inicial: Configuracin de servidor DNS


Referenciaremos nuestra centralita Asterisk (PBX virtual) mediante el dominio sip.aula2asir99.local por lo que ser
necesario aadir en nuestro servidor DNS un registro CNAME de la forma:

sip IN CNAME ns1 ; La IP de sip.aula2asir99.local ser la misma que el servidor principal ns1

1 /5
Reiniciamos nuestro servidor bind9 y probamos que se resuelve correctamente la direccin IP mediante el comando
nslookup, ping o dig.

Pasos a realizar para la instalacin y configuracin de Asterisk


Paso 1: Se actualizan los repositorios y los paquetes que tienen actualizaciones:
sudo apt-get update
sudo apt-get dist-upgrade
Paso 2: Se instalan los paquetes asociados al servidor Asterisk y los sonidos en espaol:
sudo apt-get install asterisk
sudo apt-get install asterisk-core-sounds-es
Para ver los paquetes instalados por defecto:
sudo dpkg l *asterisk*
Paso 3: Se inicia el servicio de Asterisk y comprobamos su estado:
sudo /etc/init.d/asterisk start
sudo /etc/init.d/asterisk status
Paso 4: Inicialmente, estableceremos una configuracin bsica de nuestro servidor. Para ello, nos aseguraremos que
estn habilitadas las siguientes lneas en el fichero /etc/asterisk/sip.conf:

[general]
context=public ; Indicamos el mbito de nuestro pbx (pblico, privado o default)
transport=udp ; Indica el protocolo de transporte que se utilizar
srvlookup=yes ; Habilita la bsqueda de cuentas entre pbxs
language=es ; Habilitamos idioma en espaol
videosupport=yes ; Habilita la opcin de videoconferencia

[my-codecs]
disallow=all ; Deshabilita todos los codecs disponibles en el sistema
allow=ilbc ; Habilita los codecs mnimos necesarios para VoIP
allow=g729
allow=gsm
allow=g723
allow=ulaw

Paso 5: Al final del fichero /etc/asterisk/sip.conf, aadiremos dos cuentas SIP (ibrahim y espino) que asociaremos
posteriormente a las extensiones telefnicas 101 y 102.

2 /5
; Cuenta ibrahim
[ibrahim]
type=friend ; El usuario con tipo friend podr enviar y recibir llamadas
username=ibrahim ; Esta variable est obsoleta, y la documentacin propone defaultuser.
; Es opcional ya que lo importante es el nombre de la extensin, 101.
; Se usa a modo de identificacin
secret=srdasir ; Contrasea que debe poner en el cliente softphone
qualify=yes ; El par correspondiente est no ms all de 2000 mS.
nat=no ; No hay NAT. La comunicacin es en red local, directa.
host=dynamic ; Cualquier equipo con cualquier IP se podr registrar como cliente. Es decir,
; en cuanto un cliente SIP se conecte al servidor se identificar su IP. Puede
; establecerse una ip fija, simplemente especificando la ip del equipo.
canreinvite=no ; Asterisk tratar de redireccionar de forma predeterminada.
context=aula2asir99 ; Contexto predefinido (ver extensions.conf). Importante.
;port=5061 ; Si se descomenta esta lnea el softphone con extensin 101 estar
; escuchando por dicho puerto. Esto es necesario si queremos ejecutar
; Asterisk y el cliente en el mismo equipo.
; Cuenta espino
[espino]
type=friend
username=espino
secret=asirsrd
qualify=yes
nat=no
host=dynamic
canreinvite=no
context=aula2asir99
;port=5061
;

Paso 6: En el fichero /etc/asterisk/extensions.conf, debemos indicar el DialPlanning que consiste en describir cules
son los pasos que realiza la PBX virtual cuando se realiza la llamada a la extensin correspondiente. Recuerda que
hemos definido un contexto de llamadas denominado aula2asir99, ahora debemos describir cmo ha de responder el
servidor SIP (Asterisk) cuando reciba una llamada para una extensin concreta.

[aula2asir99]
exten => 101,1,Dial(SIP/ibrahim)
exten => 102,1,Dial(SIP/espino)

En este caso se describe que si el servidor recibe una llamada entrante para la extensin 101, reenviar esa llamada
(marcar) a la cuenta SIP ibrahim. Igualmente sucede con la extensin 102 y la cuenta SIP espino. Ms adelante, se
configurar la centralita (PBX) para otras necesidades ms complejas.

Paso 7: Una vez hecho todos los cambios, reiniciaremos el servicio:


sudo /etc/init.d/asterisk restart
Paso 8: Para ver lo que est sucediendo durante la ejecucin del servicio Asterisk, podemos ejecutar lanzar el gestor
por comandos CLI de Asterisk:
sudo asterisk r
Te aparecer una lnea de comandos como la siguiente:

==============================================
Connected to Asterisk 13.1.0.~dfsg-1.1ubuntu4 currently running on servidor (pid = 6585)
servidor*CLI>

donde se puede interactuar con nuestra centralita mediante comandos.


Algunos de los ms importantes son:

3 /5
help: Muestra todos los comandos disponibles
sip ?: Muestra ayuda sobre el comando sip
sip show users: Muestra las cuentas SIP disponibles en el servidor.
sip show peers: Muestra el estado de conexin de las cuentas existentes. En esta pantalla debes
ver una lnea por cada cuenta e indicar si un cliente est conectado a dicha cuenta apareciendo la
IP del equipo que se conecta.
sip reload: Permite recargar la pantalla
sip set debug on: Pone la centralita en modo depuracin mostrando todos los eventos en tiempo
real que se producen. Es muy til para la deteccin de errores. Para deshabilitar este modo, se
introduce el comando sip set debug off.

Pasos en la configuracin de un softphone Twinkle


Paso 9: En un equipo cliente con Ubuntu distinto al servidor, realizamos la instalacin del softphone Twinkle:
sudo apt-get install twinkle
Paso 10: Configuramos un nuevo perfil de usuario dndole un nombre representativo e insertaremos los siguientes
datos para la cuenta SIP:
Un nombre simblico para ese usuario. En nuestro ejemplo, Ibrahim.
El nombre de usuario con el que nos identificar el servidor. En nuestro ejemplo, ibrahim.
El dominio o IP del servidor Asterisk. En nuestro ejemplo, sip.aula2asir99.local.

Para la autenticacin SIP introduciremos:


El nombre de usuario con el que nos autenticaremos contra el servidor. En nuestro ejemplo,
ibrahim.
La contrasea definida para el usuario anterior establecida en el fichero sip.conf. En nuestro
ejemplo, srdasir.

4 /5
Paso 11: En otro equipo cliente Ubuntu, realizamos los pasos 9 y 10 y configuramos Twinkle con la otra cuenta (en
nuestro caso, Espino) insertada en el fichero sip.conf.

Paso 12: A partir de este punto, ya podemos realizar y recibir llamadas entre ambos clientes. Para ello, desde el
primer cliente configurado, marcamos el usuario Ibrahim en la ventana donde nos muestra los usuarios disponibles y
lo ponemos como usuario por defecto.

Tras pulsar Aceptar, el cliente SIP (Twinkle) intentar autenticarse a la centralita Asterisk y ste registrar la IP del
cliente. Desde el gestor por comandos CLI de Asterisk, podr ver el resultado de esta autenticacin mediante el
comando sip show peers.

Para probar una llamada, podemos insertar directamente en el campo Call el nmero de la extensin a la que
queremos llamar (102 si es desde Ibrahim o 101 si es desde Espino) o aadir los datos de contacto del otro usuario
mediante la opcin Add Buddy del men contextual. Las direcciones de los usuarios SIP sern de la forma:
usuario@dominio_o_ip_del_servidor. En nuestro caso, espino@sip.aula2asir99.local para llamar a la otra extensin
desde Ibrahim.

Nota: En el caso de que el cliente permita usar otros estndares diferentes a SIP, la direccin completa del cliente
ser de la forma: SIP:usuario@dominio_o_ip_del_servidor. En nuestro ejemplo, SIP:espino@sip.aula2asir99.local.

Desafo de esta actividad:


Se propone instalar, configurar y utilizar tanto en Windows como en Android otros clientes softphones como
Zoiper, Qutecom, Linphone o Ekiga y probar el envo y recepcin de llamadas desde el mvil hacia/desde el
ordenador.

5 /5

You might also like