Practica Voi p 3

13
1 MAESTRÍA EN REDES DE TELECOMUNICACIONES PARA PAÍSES EN DESARROLLO Tendencias de Conmutación de Voz en Redes Heterogéneas PRÁCTICA 1: Instalación y configuración de un sistema de conmutación de voz RTC+IP con Asterisk Estudiante: Francisco Naranjo C. Tabla de contenido 1. OBJETIVOS DE LA PRÁCTICA .......................................................................................2 2. INTRODUCCIÓN.........................................................................................................2 3. METODOLOGÍA .........................................................................................................3 3.1. Material Empleado ................................................................................................ 3 3.2. Instalación de la centralita y de los otros elementos de la práctica. .......................... 3 3.3. Instalación del software Asterisk y paquetes complementarios ................................ 5 3.4. Configuración de Asterisk y de los dispositivos ........................................................9 4. CONCLUSIONES.......................................................................................................12 5. BIBLIOGRAFÍA .........................................................................................................12 6. ANEXOS ..................................................................................................................12 6.1. Cuadro de Ilustraciones ........................................................................................ 12

Transcript of Practica Voi p 3

Page 1: Practica Voi p 3

1

MAESTRÍA EN REDES DE TELECOMUNICACIONES

PARA PAÍSES EN DESARROLLO

Tendencias de Conmutación de Voz en Redes Heterogéneas

PRÁCTICA 1:

Instalación y configuración de un sistema de conmutación de voz RTC+IP con Asterisk

Estudiante: Francisco Naranjo C.

Tabla de contenido 1. OBJETIVOS DE LA PRÁCTICA .......................................................................................2

2. INTRODUCCIÓN.........................................................................................................2

3. METODOLOGÍA .........................................................................................................3

3.1. Material Empleado ................................................................................................3

3.2. Instalación de la centralita y de los otros elementos de la práctica. ..........................3

3.3. Instalación del software Asterisk y paquetes complementarios ................................5

3.4. Configuración de Asterisk y de los dispositivos ........................................................9

4. CONCLUSIONES .......................................................................................................12

5. BIBLIOGRAFÍA .........................................................................................................12

6. ANEXOS ..................................................................................................................12

6.1. Cuadro de Ilustraciones........................................................................................12

Page 2: Practica Voi p 3

2

1. OBJETIVOS DE LA PRÁCTICA Probar experimentalmente las posibilidades que ofrece Asterisk, en combinación con diversos

complementos hardware para la conmutación de llamadas RTC y con dispositivos VoIP, para

proporcionar servicios avanzados de telefonía en que todas o parte de las comunicaciones

transcurran sobre redes IP.

2. INTRODUCCIÓN Asterisk es una aplicación de software libre (bajo licencia GPL) que proporciona

funcionalidades de una central telefónica (PBX).

Marc Spencer crea en 1999 ASTERISK, la primera central telefónica OpenSource,

multiplataforma originalmente pensada para GNU/LINUX.

Asterisk es un modo de interconectar todo con todo, un modo de revolucionar el

funcionamiento de las telecomunicaciones. Junto a una plataforma OpenSource, se crea la

primera empresa destinada pura y exclusivamente a diseñar, construir y crear nuevos

dispositivos de hardware, relativamente más baratos, a ser utilizados con esta excelente

central telefónica en una simple computadora.

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

costosos sistemas propietario. Asterisk es una solución que nos da todo lo que nos daría una

PBX comercial, pero con muchas más posibilidades y una mucho mayor flexibilidad que los

productos empaquetados comerciales. Por supuesto tenemos todo lo básico como:

Configuración de internos.

Planes de discado.

Contestador telefónico.

Transferencia de llamada.

Llamada en espera.

Espera musical.

IVR.

Casillas de mensaje

Seguridad

Pero también nos brinda mucho más, ya que Asterisk es completamente personalizable, se

puede utilizar en instalaciones serias y comerciales, así como también para armar una central

telefónica hogareña.

Solo necesitamos una PC con GNU/LINUX y muchas ganas de aprender y conocer. Al igual que

conectamos nuestras computadoras, todos juntos a la Internet, así podemos conectar cada

una de nuestras centrales, sin costo alguno, expandiendo la potencialidad de las

telecomunicaciones, prácticamente sin costos y con solo la imaginación como límite.

Asterisk fue pensado para concentrar en un programa informático, 100 años de evolución de

nada más y nada menos que las tecnologías de telecomunicaciones. Es absolutamente flexible

Page 3: Practica Voi p 3

3

para crear y hacer cosas inimaginables. Podemos utilizar un viejo modem ya sin valor, así como

las caras placas DIGIUM o su contraparte las OpenPCI o sus variantes, o bien cualquiera de los

adaptadores externos de telefonía IP hoy disponibles en el mercado.

Si no queremos gastar un solo centavo en hardware, con nuestra PC y nada más que ella

podemos armar toda una red de comunicaciones basada únicamente en Soft Phones

3. METODOLOGÍA Para poder cumplir con los objetivos propuestos en esta práctica debemos cumplir los

siguientes pasos:

Instalación de la centralita y de los otros elementos de la práctica

Instalación del software Asterisk y paquetes complementarios

Configuración de Asterisk y de los dispositivos

3.1.Material Empleado PC con Linux

Tarjeta PCI Digium TDM410P con un módulo FXS y otro FXO

Hub o Switch Ethernet y cableado

Teléfono IP

ATA + teléfono analógico

Acceso a simulador de RTC (GXW4024 compartido de 24 puertos)

Acceso a teléfonos de videoconferencia (2 compartidos)

Acceso a multi-teléfono inalámbrico DECT IP (1 base con 4 terminales, compartido)

Posibilidad de instalar softphones en PCs o dispositivos móviles de los alumnos

3.2.Instalación de la centralita y de los otros elementos de la

práctica. En el ordenador poseemos una distribución Linux (Ubuntu), en la cual se ha instalado una

tarjeta PCI Digium TDM 410P.

Page 4: Practica Voi p 3

4

Ilustración 1: Tarjeta Digium TDM410?

La cual cuenta con las siguientes características:

DISPOSITIVO TARJETA PCI DIGIUM CON 4 PUERTOS FXS Y FXO VACIOS

MODELO DIGIUM TDM410P

NUMERO DE PARTE TDM410P

PUERTOS 4 SLOTS PARA MÓDULOS FXS/FXO

DRIVER PARA ASTERISK:

ZAPTEL (WCTDM)

SOPORTE PARA CANCELACIÓN DE ECO HARDWARE.

INCLUYE EL CHIPSET VOICEBUS

Ilustración 2: Características Digium TDM410P

Tener completamente montado el hardware de la práctica y configuradas las direcciones IP de todos los elementos, de forma que se pueda hacer “ping” de unos a otros, así como a los dispositivos de los otros grupos que ya estén configurados en red.

El direccionamiento IP previsto para el grupo 3 en la presente práctica es el siguiente:

Asterisk: 212.128.244.152

ATA's Linksys: 212.128.244.142

Teléfonos VoIP Swissvoice IP10S: 212.128.244.132

Teléfonos DECT, VídeoIP, y GXW4024 212.128.244.129 dect1

212.128.244.128 videoip1

212.128.244.127 videoip2

212.128.244.120 gxwrtc1

Para asignar las direcciones IP a los distintos dispositivos, se realiza el siguiente procedimiento:

Page 5: Practica Voi p 3

5

1) En el ordenador se asigna la dirección IP 212.128.244.152/24 con Gateway

212.128.244.1, modificando el archivo /etc/network/interfaces

2) Configuración de ATA (IP por defecto: 192.168.0.1)

Para configurar el ATA, agregamos un alias a nuestra tarjeta ethernet:

sudo ifconfig eth0:3 192.168.0.2

3) En un navegador web ingresamos a http://192.168.0.1 y en la pestaña WAN Setup

se asigna la dirección IP 212.128.244.142/24. Es importante habilitar la opción

WAN web server, para habilitar la configuración remota mediante esta IP.

4) En el teléfono IP se configura a través del teclado lo siguiente:

Menu -> Admin Settings -> Change Settings > passwd 0000 > ok

TCP/IP

En DHCP se selecciona No

Se introduce IP/ Netmask/ Gateway y se reinicia. La IP es

212.128.244.132

Menu -> Admin Settings -> Change Settings > passwd 0000 > ok

SIP configuration

En Proxi server se selecciona el IP de la máquina: 212.128.244.152

Menu -> Admin Settings -> Change Settings > passwd 0000 > ok

En User ID se establece 22

Menu -> Admin Settings -> Change Settings > passwd 0000 > ok

Authenticate login: 22

Menu -> Admin Settings -> Change Settings > passwd 0000 > ok

Authenticate password: lab6

5) A continuación se realiza un ping desde el ordenador al teléfono para comprobar

la conectividad.

3.3.Instalación del software Asterisk y paquetes complementarios Para esto realizamos el siguiente procedimiento:

Primero se instalan las actualizaciones, los paquetes necesarios para el correcto

funcionamiento y uso del Asterisk, el paquete “Asterisk” en sí que contiene la centralita

software y el paquete “zaptel” que contiene los drives, utilidades de configuración y

manejo del hardware de telefonía:

sudo apt-get update

sudo apt-get safe-upgrade

Page 6: Practica Voi p 3

6

sudo apt-get install debconf-utils linux-headers-`uname -r` make bison flex g++

sudo apt-get install gcc sox libncurses5-dev libssl-dev mpg123 asterisk zaptel

Instalamos el driver zaptel, el cual nos permite hacer uso de la tarjeta Digium, en el

directorio /usr/src y con el siguiente código:

#descargamos las fuentes en /usr/src, y lo desempaquetamos

sudo su

cd /usr/src

wget http://downloads.asterisk.org/pub/telephony/zaptel/zaptel -1.4-current.tar.gz

tar xzf zaptel-1.4-current.tar.gz

cd `find . -name "zaptel-1.4.*" -print` solo si esta en etc

export KVERS=`uname -r`

echo $KVERS = 2.6.27-7-generic

#compilamos el código

./configure

make clean

make

make install

make config

Editamos el fichero /etc/default/zaptel y comentamos las líneas que asignan el valor a la

variable MODULES menos las que corresponden al driver “wctdm24xxp”, que es el que

vamos a utilizar para nuestra tarjeta Digium.

Reiniciamos el servicio de zaptel /etc/init.d/zaptel restart, y comprobamos que el driver

este cargado y que el hardware esté reconocido:

lab6@lab6-desktop:/usr/src$ lsmod | grep zaptel

zaptel 201508 1 wctdm24xxp

crc_ccitt 10112 1 zaptel

Para comprobar que el driver funciona correctamente se digita la siguiente instrucción:

lab6@lab6-desktop:/usr/src/zaptel-1.4.12.1$ zaptel_hardware

La información presentada debe ser la siguiente:

Page 7: Practica Voi p 3

7

pci:0000:01:06.0 wctdm24xxp+ d161:8005 Wildcard TDM410P

Editamos el fichero /etc/zaptel.conf

Cambiamos el valor de las variables “loadzone” y “defaultzone” por “es”.

lab6@lab6-desktop:~$ sudo genzaptelconf

lab6@lab6-desktop:~$ sudo cat /etc/zaptel.conf

lab6@lab6-desktop:~$ sudo gedit /etc/zaptel.conf

# Autogenerated by /usr/sbin/genzaptelconf -- do not hand edit

# Zaptel Configuration File

# This file is parsed by the Zaptel Configurator, ztcfg

# It must be in the module loading order

# Span 1: WCTDM/0 "Wildcard TDM410P Board 1" (MASTER)

fxsks=1

fxoks=2

# channel 3, WCTDM, no module.

# channel 4, WCTDM, no module.

# Global data

loadzone = es # antes us

defaultzone = es # antes us

Cargamos el fichero de configuración en zaptel para visualizar como están designadas las

interfaces de la centralita:

llab6@lab6-desktop:~$ sudo ztcfg -vv

Se observa la siguiente información:

Zaptel Version: 1.4.12.1

Echo Canceller: MG2

Configuration

======================

Channel map:

Page 8: Practica Voi p 3

8

Channel 01: FXS Kewlstart (Default) (Slaves: 01)

Channel 02: FXO Kewlstart (Default) (Slaves: 02)

2 channels to configure.

Debemos ejecutar el fichero genzaptelconf, que nos generará el fichero de configuración

/etc/Asterisk/zapata-channels.conf.

lab6@lab6-desktop:~$ gedit /etc/asterisk/zapata-channels.conf

El cual contiene lo siguiente:

; Autogenerated by /usr/sbin/genzaptelconf -- do not hand edit

; Zaptel Channels Configurations (zapata.conf) ;

signalling=fxs_ks

callerid=asreceived

group=0

context=from-pstn

channel => 1

context=default

signalling=fxo_ks

callerid="Channel 2" <6002>

mailbox=6002

group=3

context=from-internal

channel => 2

callerid=

mailbox=

group= 3

context=default

Finalmente, comprobamos el estado de los puertos:

lab6@lab6-desktop:~$ lszaptel

El cual nos muestra lo siguiente:

Page 9: Practica Voi p 3

9

### Span 1: WCTDM/0 "Wildcard TDM410P Board 1" (MASTER)

1 FXO FXSKS RED

2 FXS FXOKS

3 FXO FXSKS

4 FXO FXSKS

3.4.Configuración de Asterisk y de los dispositivos Para realizar la configuración de Asterisk realizamos el siguiente procedimiento:

1. Configuramos los siguientes ficheros:

/etc/Asterisk/sip.conf

/etc/Asterisk/zapata.conf

/etc/Asterisk/extensions.conf

Descargamos las referencias de configuración de la máquina del laboratorio

[email protected]:/etc/asterisk/*, cuyo password es lab6.

2. Copiamos los ficheros en la maquina local, en el fichero etc/Asterisk/sip.conf se crean

dos nuevas extensiones con sus buzones de voz la "12" y "22" para el ATA y el teléfono

IP respectivamente, la contraseña que se asigna es "lab6" en ambos casos. El fichero

contiene el siguiente código:

[general] context = default

port = 5060

bindaddr = 0.0.0.0 compactheaders=no

language=es videosupport=yes

compactheaders=no srvlookup=no

[12] ; ata, puerto fxs

type=friend secret=lab6

qualify=yes nat=no

host=dynamic canreinvite=no

context=internal

[RTC-linksys] ; ata, puerto fxo type=friend

secret=lab6

Page 10: Practica Voi p 3

10

qualify=yes

nat=no host=dynamic

port = 5061 canreinvite=no

context=internal

[22] type=friend

secret=lab6 qualify=yes

nat=no host=dynamic

canreinvite=no

context=internal [82] ; Ekiga

type=friend secret=lab6

qualify=yes nat=no

host=dynamic

canreinvite=no context=internal

Ilustración 3: Configuración sip.conf

3. Aspectos importantes a destacar definidos en el fichero sip.conf son:

El tipo (type) "user" para autenticar llamadas entrantes, "peer" para llamadas salientes

y "friend" para ambas ya que puede realizar y recibir llamadas,

Secret que es la contraseña usada para la autenticación = lab6,

Se puede monitorizar la latencia entre el servidor Asterisk y el teléfono

con qualify=yes.

Si se escoge host=dynamic el teléfono se podrá conectar desde cualquier dirección IP.

Con canreinvite=no, deshabilita el poder tener invitados de SIP, establecer llamadas y

redirigir el audio o video.

Para indicar el contexto donde están las instrucciones para una extensión, se configura

en esta context=interno.

4. Realizamos las modificaciones necesarias en el fichero: /etc/Asterisk/extensions.conf,

que se muestra a continuación:

[globals]

LANGUAGE=/es MYLANG=es

ZAP_FXO=Zap/1

ZAP_FXS=Zap/2 DIR_SCRIPTS=/var/lib/asterisk/scripts

DIR_PASSWD=/var/spool/lab6-asterisk/passwd DIR_VOICES=/var/spool/lab6-asterisk/voices

Page 11: Practica Voi p 3

11

DIR_SOUNDS=/usr/share/asterisk/sounds${LANGUAGE}

[ata] extension del ATA linksys exten => 12,1,Dial(SIP/12,20,Tt)

[telip] ; extension del teléfono VoIP swissvoice IP10S exten => 22,1,Dial(SIP/22,20,Tt)

[softphone] ; extension teléfono analógico en FXS de tarjeta Digium exten => 82,1,Dial(SIP/82,20,Tt)

[kiax] ; extension teléfono analógico en FXS de tarjeta Digium exten => 92,1,Dial(IAX2/kiax,60,r)

[fxs] ; extension teléfono analógico en FXS de tarjeta Digium exten => 62,1,Dial(${ZAP_FXS},20,Tt)

Ilustración 4: Configuración extensions.conf

5. Para comprobar la configuración y conexión realizamos lo siguiente:

a. Primero detenemos asterisk:

lab6@lab6-desktop:~$ sudo /etc/init.d/asterisk stop

b. Luego se lo inicia:

lab6@lab6-desktop:~$ sudo /etc/init.d/asterisk start

c. Finalmente accedemos al CLI:

lab6@lab6-desktop:~$ sudo Asterisk -vvvvvr

d. Observamos lo siguiente:

Asterisk 1.4.21.2~dfsg-1ubuntu3, Copyright (C) 1999 - 2008 Digium, Inc. and others.

Created by Mark Spencer <[email protected]>

Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.

This is free software, with components licensed under the GNU General Public

License version 2 and other licenses; you are welcome to redistribute it under certain

conditions. Type 'core show license' for details.

Y se comienza a ingresar las instrucciones desde CLI:

lab6-desktop*CLI>

6. Finalmente, se realizan llamadas desde el teléfono IP hacia la extensión analógica y

viceversa, tomando en cuenta que para lograr la conexión hasta esta última se utiliza

el ATA.

7. Tuvimos la oportunidad de hacernos con otro teléfono y probar las 3 extensiones

Page 12: Practica Voi p 3

12

4. CONCLUSIONES

Asterisk es una herramienta con una serie de prestaciones difíciles de

encontrar aun en PBX comerciales.

La posibilidad de programar extensiones al código en C, la convierten en una

herramienta cuyas limitaciones están únicamente en la capacidad de sus

usuarios.

El proceso de enrutamiento y configuración básico no resulta extremadamente

imposible de realizar por usuarios noveles.

La adaptabilidad de hardware es una fortaleza a tomar en cuenta.

Esta práctica no solo me ha brindado la capacidad de aprender la configuración

básica de Asterisk, sino también conocer su funcionalidad, y aunque es poco lo

que he podido ver, se abren un sin número de posibilidades.

Como profesor universitario de un país en vías de desarrollo puedo decir que lo

más importante para nosotros es brindar a nuestros estudiantes herramientas

que les permitan destacar y puedan aplicar en el mundo laboral, y esta es una

de las herramientas que con seguridad voy a aprender a utilizar y replicar ese

conocimiento en mis discípulos.

5. BIBLIOGRAFÍA

http://es.wikipedia.org/wiki/Asterisk, Wikipedia – Asterisk

http://www.voip-info.org/tiki-index.php?page=Asterisk+Linux+Ubuntu, voip-info.org

http://www.voipnovatos.es/#vocesasterisk, voipnovatos

http://www.voztovoice.org/?q=node/67, voztovoice-instalacion Asterisk

http://mmm.ubuntu-es.org/?q=node/1275, Ubuntu.es - Asterisk con ubuntu

http://www.voip-

info.org/wiki/view/Instalaci%C3%B3n+de+Asterisk+en+Ubuntu+Server+Paso+a+Paso,

voip-info.org instalación de Asterisk paso a paso

http://www.ubuntu-es.org/index.php?q=node/75202, ubuntu-es instálate Asterisk en

ubuntu

http://www.why-not.com.ar/downloads/linuxvoipasteriskbal.pdf, Mariano Acciardi.

http://www.asterisktron.org/asterisk-paso-a-paso/, Asterisk tron - Asterisk paso a

paso

http://wiki.ehas.org/index.php?title=Asterisk_en_Ubuntu, Wiki EHAS - Asterisk en

ubuntu

Referencias bibliográficas brindadas en la práctica.

6. ANEXOS

6.1.Cuadro de Ilustraciones Ilustración 1: Tarjeta Digium TDM410? __________________________________________________________4

Ilustración 2: Características Digium TDM410P ___________________________________________________4

Ilustración 3: Configuración sip.conf ___________________________________________________________ 10

Page 13: Practica Voi p 3

13

Ilustración 4: Configuración extensions.conf ____________________________________________________ 11