VoIP - redes inalámbricas Práctica de Laboratorio Autor: Javier Triviño
INTRODUCCIÓN. Desde hace tiempo, los responsables de las comunicaciones de las empresas tienen en mente la posibilidad de utilizar su infraestructura de datos para el transporte del tráfico de voz interno/externo de la empresa. Pero ha sido la aparición de nuevos estándares y el abaratamiento de las tecnologías de compresión de voz, lo que está provocando finalmente la implementación de la VoIP. Realmente la integración de la voz y los datos en una misma red es una idea antigua, desde hace tiempo han surgido soluciones provenientes de distintos fabricantes y con distintas tecnologías, usando multiplexores, utilizando las redes WAN de datos de las empresas (típicamente conexiones punto a punto y Frame-Relay) para la transmisión del tráfico de voz se ha logrado incorporar a la red TDM sobre IP pero aún ha faltado para que la telefonía viajara de forma nativa en la red IP. La falta de estándares desde años atrás, así como el largo plazo de amortización de este tipo de soluciones no ha permitido una amplia y rápida implantación de las mismas, muchas veces nos encontramos con soluciones de VoIP pero propietarias de fabricantes las cuales no son compatibles unas a otras por ejemplo soluciones de IP Alcatel, 3COM, Cisco, AVAYA, etc. La figura N1 muestra una implementación típica de cómo hacer para conectar equipos de VoIP sobre Internet.
Figura N 1. Ejemplo de red con conexión de centrales a routers CISCO que disponen de soporte VoIP Es innegable la implantación definitiva del protocolo IP desde los ámbitos empresariales a los domésticos y la aparición de estándares para VoIP no podía hacerse esperar. Esto, junto con el abaratamiento de los DSP (Procesador Digital de Señal), los cuales son claves en la compresión y descompresión de la voz, son los elementos que han hecho posible el despegue de estas tecnologías. Por otro lado los operadores de telefonía están ofreciendo o piensan ofrecer en un futuro cercano, servicios IP de calidad, evidentemente garantizando calidad de servicio en los enlaces.
Discutiremos los tópicos claves que inhiben voz sobre IP (VOIP) para ser populares entre los usuarios. Se discutirán protocolos y los estándares que existen hoy y los productos de VoIP de algunos fabricantes al interconectarse unos a otros y como se comunican. El foco principal está en los protocolos IAX (Inter Asterisk Exchange) y SIP (protocolo de la iniciación de la sesión), que son los protocolos que marcan las pautas hoy en día en este campo tecnológico dejando rezagado el legendario H323. La voz sobre IP (VOIP) utiliza la Internet y los protocolos (IP) para transmitir voz como paquetes sobre una red del IP. VoIP se puede alcanzar e instalar en cualquier red de datos que utilice el protocolo IP, como Internet, Intranets y las redes de área local (LAN) o redes inalámbricas locales (WLAN). Aquí la señal de la voz se convierte a digital, se comprime y se convierte a los paquetes del IP luego es transmitida sobre la red. Los protocolos que se señalan aquí se utilizan para instalar y completar llamadas, llevar la información requerida para localizar a usuarios y para negociar el canal, una de las motivaciones principales para la telefonía del Internet es el costo implicado que sigue siendo muy bajo hasta tal punto que suele salir gratis las llamadas sobre la red IP. Algunas otras motivaciones son: Demanda para la comunicación, demanda de los servicios multimedia para la integración de las redes de voz y de datos. Para que VoIP llegue a ser popular, debemos tener en cuenta lo siguiente: Como IP fue diseñada para el transporte de datos, las redes IP no proporcionan garantías de entrega de paquetes en tiempo real sino proporciona solamente el mejor esfuerzo (IP no orientada a conexión). Para que los datos no causen tráfico excesivo en las comunicaciones de voz y que estas lleguen a ser aceptables a los usuarios se retrasan paquetes, se comprimen, se evita transmisiones. Para asegurar la buena calidad de la voz, podemos utilizar la cancelación de eco, el paquete puede tener prioridad en las transmisiones de datos comunes en las redes LAN, (Prioritizacion que da prioridad más alta a los paquetes de la voz) o la corrección de errores mediante técnicas aplicadas a la calidad de servicio (QoS). Una práctica que se usa es separar el tráfico en la red, usando VLAN o etiquetado de tramas podemos separar la red de datos con la red de VoIP, comúnmente el Broadcast y tráfico indeseado en la red puede consumir recursos importantes en el medio disminuyendo así la capacidad del canal de comunicación que garantice la entrega del paquete de voz en su destino. Para esta practica de telefonía sobre IP, usaremos una herramienta basada en software libre muy conocida hoy día, se llama ASTERISK Open Source. www.asterisk.org. Asterisk no es más que una PBX corriendo en un PC o un Appliance con sistema operativo Linux aunque existen ya versiones que corren bajo Windows, en otras palabras Asterisk IP-PBX es una PBX basada en software.
Práctica de VoIP
WALC2011
2
Asterisk no es nuevo en la comunidad open source, desde 1999 Mark Spencer empezó con los desarrollos y luego muchas personas de la comunidad de software libre han colaborado hasta posicionar este software en el mercado de VoIP, la necesidad de flexibilizar las antiguas y legendarias PBX impulsó el desarrollo de nuevas tecnologías de TDM a IP. Asterisk como PBX, tiene todas las características técnicas de una PBX convencional. Una Central Telefónica: Interconecta puestos de trabajo vía extensiones telefónicas internas y privadas de una oficina. Conecta extensiones a la PSTN. Ofrece a las extensiones buzones de voz a los usuarios. Desvía llamadas entre extensiones (Call Transfer). Ofrece llamada en espera (Call Waitting). Ofrece llamadas en conferencia (Conference call). Puede configurarse para que una operadora reciba llamadas y transmita las mismas a las extensiones internas. Provee el identificador de llamada entrante (Caller ID). Conecta también extensiones internas a extensiones de otras PBX. Son costosas, aún cuando tienen más de 30 años los costos de producción son muy elevados. 2. Una máquina con Linux y Asterisk puede: Operar bajo cualquier distribución de LINUX. Correr en cualquier PC (aunque puede tener limitaciones). Interconectar a la PSTN mediante puertos específicos a través de E1/T1 y circuitos TDM (nX64 kbps). Comunicar utilizando varios estándares de VoIP: SIP (Sesion Initial Protocol) IAX (Inter Asterisk Exchange) H323.protocolo de comunicación de la UIT. Operar como una simple PBX de oficina. Ofrecer todas las funciones que hacen hoy día las centrales digitales (PBX) mas avanzadas TDM nX64 Kbps. Ofrece llamada en espera (Call Waitting). Ofrece llamadas en conferencia (Conference call). Puede configurarse para que una operadora reciba llamadas y transmita las mismas a las extensiones internas. Provee el identificador de llamada entrante (Caller ID). Conecta también extensiones internas a extensiones de otras PBX. Mail Box. TDMoIP y VoIP.
Práctica de VoIP
WALC2011
3
El comienzo con Asterisk no es sencillo pero existen distribuciones de Asterisk y Linux que vienen en un CD (live CD Asterisk), una de las distribuciones son trixbox (http://trixbox.com), elastix (www.elastix.org). Instalando ASTERISK PBX en Linux: # apt get install asterisk (con esto instalara el asterisk en el servidor, en el caso de Linux Debian). Asterisk y sus archivos: • Archivo de configuración SIP, configura los terminales y teléfonos de la red. • Archivo de plan de numeración, y extensiones. • Archivos de Hardware • Archivos de voice mail. • Archivos de log. • Archivo de Registro de llamadas. Desarrollo Práctico: Verificando conectividad en la red: Revisemos la topología del laboratorio: Topología Laboratorio Practica VoIP
Radio AP IP: 192.168.1.20
192.168.1.1 Router WiFi Principal
IP: 192.168.1.2 G: 192.168.1.1 IP: 192.168.1.201 PAP Linksys
FXS 101
WAN: DHCP / IP estática
Router
IP PBX (ASTERISK) ESSID: Taller1 192.168.1.10 Canal: 1,6 o 11 (dependerá del site survey) WPA: t@ll3r1
Ubiquiti 1
LAN
IP: 192.168.1.6 G: 192.168.1.1
IP: 192.168.1.3 G: 192.168.1.1
INTERNET
IP: 192.168.1.7 G: 192.168.1.1
IP: 192.168.1.202 Ubiquiti 5
Ubiquiti 2
PAP Linksys
FXS 102
Ubiquiti 6
LAN IP: 192.168.1.204
LAN
PAP Linksys IP: 192.168.1.4 G: 192.168.1.1
LAN IP: 192.168.1.206
Softphone 106
FXS 105
IP: 192.168.1.5 G: 192.168.1.1
IP: 192.168.1.8 G: 192.168.1.1
IP: 192.168.1.203
FXS 103
PAP Linksys LAN
Ubiquiti 3
Ubiquiti 4 LAN
Ubiquiti 7 LAN
IP: 192.168.1.205 PAP Linksys
IP: 192.168.1.207 FXS 104
Softphone 107
Figura N2. Topología del laboratorio Práctica. VoIP Revisemos cada uno de los equipos de radio y verifiquemos que se comunican unos con otros, indistintamente se debe verifica la capa física y de enlace. Práctica N1, WDS Configuración de estaciones.
Práctica de VoIP
WALC2011
4
Configurando los SIP adapter Linksys PAP2-NA:
Pasos a seguir: Conecte el Terminal:
Conecte el telefono al terminal
Conecte el terminal a la red
Conecte el equipo a 110/220VAC
Figura N3. Conectando el Terminal
Cada terminal posee un menú que puede ser accedido por el teclado del teléfono. **** (Acceso al Menú Principal). 73738# (reinicia por defecto el adaptador, deja por defecto el equipo). 110# (Comprueba la dirección IP del adaptador) 100# ( Comprueba si el DHCP está habilitado o deshabilitado) http://www.linksys.com Una vez conocida la IP del equipo puede acceder al adaptador vía web: 1. Acceda al equipo, una vez conocida la IP, por ejemplo si la dirección IP es la 192.168.1.X (X es la dirección asignada por el servidor PHCP), entonces puede verificar las conexiones para entrar al menú de configuración: 2. http://192.168.1.X 3. Una vez configurada la parte de transporte de datos, continuamos con la configuración de los adaptadores de terminales.
Los adaptadores se les deben acceder vía http. Cada usuario deberá cargar la página de inicio del adaptador:
Práctica de VoIP
WALC2011
5
Figura N4. Adaptador Linksys PAP2-NA
o
El usuario debe pasar a modo de administrador, del lado derecho conseguirá un link que lo conduce al modo de súper usuario.
o
Login: admin Password: admin
Se deberá configurar los parámetros de la red, tal como esta detallado en la tabla N1. Se debe seguir un orden en la práctica y cada grupo deberá tomar los datos que les corresponde.
Práctica de VoIP
WALC2011
6
Nombre
Número Terminal
Servidor SIP
Protocolo
Terminal
Dir IP
SIP/IAX
ASTERISK VoIP
192.168.0.10
Linksys Grupo 1
101
SIP
Grupo 01
192.168.1.201
Linksys Grupo 2
102
SIP
Grupo 02
192.168.1.202
Linksys Grupo 3
103
SIP
Grupo 03
192.168.1.203
Linksys Grupo 4
104
SIP
Grupo 04
192.168.1.204
Linksys Grupo 5
105
SIP
Grupo 05
192.168.1.205
Linksys Grupo 6
106
SIP
Grupo 06
192.168.1.206
Linksys Grupo 7
107
SIP
Grupo 07
192.168.1.207
Softphone
1000
SIP/IAX
Grupo 08
192.168.1.208
X-lite/Zoiper
1001
SIP/IAX
Grupo 09
192.168.1.209
X-lite/Zoiper
1002
SIP/IAX
Grupo 10
192.168.1.210
X-lite/Zoiper
1003
SIP/IAX
Grupo 03
192.168.1.211
X-lite/Zoiper
Tabla N1. Direcciones IP de los equipos de VoIP
Práctica de VoIP
WALC2011
7
o
Una vez ingresado a la página de configuración principal del equipo se debe asignar la IP correspondiente al equipo. Para configurar la dirección IP deberá entrar en el menú “System” Nota: La interfaz del equipo Linksys es muy similar a la de los equipos SIPURA, por lo tanto cambia es la interfaz gráfica entre dispositivos.
Figura N5. Configuración de la dirección IP.
Práctica de VoIP
Configuración de los parámetros SIP: Entre al menú “Line 1” Habilite la línea 1, correspondiente al puerto físico del PAP “Phone 1”. Dirección IP del servidor Proxy o servidor SIP que no es más que el servidor con Asterisk (192.168.1.10) Número del Terminal que corresponde al número de teléfono asignado por el administrador. El puerto SIP: 5060 Puerto de registro: 3600 User ID: El número telefónico asignado (101, grupo 1) Password de autenticación con el servidor asterisk (debe ser el mismo que se declara en el archivo sip.conf en el asterisk). En nuestro caso corresponderá al mismo número de la extensión SIP, GRUPO1 101.
WALC2011
8
`Figura N6. Configuración de la línea 1.
Nota: usted podrá configurar de la misma manera la línea 2, y tener 2 terminales telefónicos DTMF (Dual Tone Multi Frequency) al mismo adaptador. En el desarrollo práctico se configurará la segunda línea junto al instructor.
Práctica de VoIP
Ajustaremos los planes de numeración y recortaremos los tiempos de marcación en la práctica, los planes de numeración serán recortados para evitar el tiempo de retraso de la marcación entre números y en entrega del plan de numeración al Asterisk. Se recomienda seguir al instructor, ubíquese en menú con modalidad avanzada (switch to advanced view) y luego en el menú “Regional” localice el control de tiempos “Control Timer Values” los tiempos entre marcación de dígitos “Interdigit Short Timer” por defecto son 3 segundos, bajemos a 1 segundo. Otro parámetro a tomar en cuenta son los planes de numeración, en nuestro caso el plan de numeración es de 3 dígitos mínimos
WALC2011
9
2XX y 2XX. Ajuste los planes de numeración en el menú “Line 1” y manténgase en modalidad avanzada, localice el “dial plan”.
Ajustes de Codec
Figura N7. Codec soportados por Asterisk. El codec puede ser ajustado según las necesidades, G729 y G723.1 no son codec públicos, es decir deberá el usuario adquirir la licencia (10 US$ aproximadamente). Esto no es limitativo para nuestros objetivos pero en redes con retardo donde requiera de un mejor codificador decodificador es muy útil contar con G729 y en casos más desfavorable G711.
Figura N8. Ajustes de CODEC y planes de discado.
Práctica de VoIP
WALC2011
10
Configuración de Softphone: Existen una variedad de teléfonos basados en software, unos emplean SIP y otros un protocolo que comienza a cobrar fuerzas en el mercado, el protocolo IAX (Inter Asterisk Exchange) que sólo opera con Asterisk PBX. IAX tiene muchas bondades porque está desarrollado para este tipo de aplicaciones a diferencia de SIP que está siendo implementado por fabricantes de Gateways como protocolo alternativo a H323. IAX está bien desarrollado por la comunidad de software libre, cualquiera que sea el protocolo SIP o IAX entre otros operan bajo Linux y Windows como se verá. Algunas de estas aplicaciones son gratuitas y otras son bajo licencia.
Entre las innumerables aplicaciones existe una que opera muy bien con Asterisk, es sencilla de instalar y fácil de usar, es la aplicación X-Lite, la pueden conseguir en: http://www.xten.com/index.php o el Zoiper http://www.zoiper.com
Sip SoftPhones:
X-Lite: http://www.xten.com/index.php Zoiper: http://www.zoiper.com/ IAX SoftPhones: idefisk: http://www.asteriskguru.com/tools/idefisk_mac.php Kiax: http://kiax.sourceforge.net Zoiper: http://www.zoiper.com/
Parámetros a configurar en X-Lite: Terminal: 1000 (extension instructor) Password: “1000” SIP Proxy: 192.168.1.10 (Asterisk PBX Server).
Práctica de VoIP
WALC2011
11
Figura N9. Configuración de X-Lite.
En el caso de Zoiper: Parámetros: Username: 100, password: 100, Caler ID name: 100, Caler ID Lumber: 100
Figura N10. Configuración de Zoiper. Configuración básica en la IP PBX: El instructor hará uso de un equipo IP PBX con Asterisk ya instalado. El equipo a usar es ATCOM con 4 FXO. Es posible usar cualquier IP PBX con Asterisk o cualquier SIP Server en su defecto. Asterisk provee innumerables de ventajas y existe información de
Práctica de VoIP
WALC2011
12
fácil acceso lo cual convierte en esta aplicación en una poderosa herramienta en software libre de facil instalación y configuración. Existen alternativas viables para instalar un servidor Asterisk: Distribuciones armadas con Asterisk: Trixbox, Elastix Instalación de Asterisk en un linux (para la práctica se usará un Linksys por ejemplo). Appliance, como la que tendremos para este desarrollo práctico con una interfáz gráfica GUI Asterisk Now V2.0 instalado en el Appliance ATCOM. Una vez ingresado como se demostrará se deben configurar cada una de las extensiones a usarse, se debe agregar cada extensión SIP de acuerdo a lo establecido por el instructor en el desarrollo práctico tal como se muestra en la figura N 11.
Figura N11. Configuración de una extensión SIP/IAX Se deben crear el dial plan (que son los planes de marcación) o los dial plan de existir varios, pero en este ejemplo sencillo es suficiente un solo plan de numeración como se muestra en la figura N 12.
Práctica de VoIP
WALC2011
13
Figura N 12. Creado de dial plan. Luego se debe proceder con la creaci贸n de las reglas de marcado o calling rules que nos sirven para agregar prefijos de marcados y crear las rutas salientes en nuestra red de VoIP tal como se muestra en la figura N 13.
Figura N 13. Reglas de marcado (salientes)
Pr谩ctica de VoIP
WALC2011
14
De igual modo como se generan planes de salida o reglas de marcado para llamadas salientes se deben crear reglas para llamadas entrantes, redirigir llamadas a una operadora o una extensión en especial tal como se muestra en la figura N 14.
Figura N 14. Reglas de marcado entrantes
Configuración básica del Asterisk en linux (opcional, no se instalará Linux ni Asterisk en el laboratorio, estará instalado en un Appliance como se comento anteriormente) pero a continuación se detallan los archivos típicos de configuración. Configuración de las extensiones Archivo: sip.conf Ruta: #cd /etc/asterisk
;CONFIGURACION [1000] type=friend callerid="javier" <1000> host=dynamic nat=yes ; X-Lite esta detras del NAT canreinvite=no ; Typically set to NO if behind NAT disallow=all allow=gsm ; GSM consume menos ancho de banda que ulaw allow=ulaw Práctica de VoIP
WALC2011
15
allow=alaw ;allow=g729 username=1000 secret=abc123
[1001] callerid="1004" <1001> canreinvite=no context=default dtmfmode=rfc2833 host=dynamic nat=yes port=5060 secret=abc123 qualify=yes type=friend disable=all ;allow=g729 allow=ulaw allow=alaw
[101] type=friend callerid="linksys PAP2" <101> host=dynamic nat=yes canreinvite=no disallow=all allow=gsm allow=ulaw allow=alaw username=101 secret=101
[102] type=friend callerid="Linksys PAP2" <102> host=dynamic nat=yes Prรกctica de VoIP
WALC2011
16
canreinvite=no disallow=all allow=gsm allow=ulaw allow=alaw ;allow=g729 username=102 secret=102
[103] type=friend callerid="Linksys PAP2" <103> host=dynamic nat=yes canreinvite=no disallow=all allow=gsm allow=ulaw allow=alaw ;allow=g729 username=103 secret=103
[104] type=friend callerid="Linksys PAP2" <104> host=dynamic nat=no canreinvite=no disallow=all allow=gsm allow=ulaw allow=alaw username=104 secret=104
Prรกctica de VoIP
WALC2011
17
archivo: iax.conf Ruta: #cd /etc/asterisk ; Inter-Asterisk eXchange driver definition [general] disallow=all allow=gsm jitterbuffer=no tos=lowdelay ; [guest] type=user context=default callerid="Guest IAX User" ; [iaxtel] type=user context=default inkeys=iaxtel ; [iaxfwd] type=user context=default inkeys=freeworlddialup ; [2002] type = friend username = 2002 secret = 2002 host = dynamic context = default
Prรกctica de VoIP
WALC2011
18
Configuraci贸n del plan de numeraci贸n archivo: extension.conf Ruta: #cd /etc/asterisk ;CONFIGURACION [general] static=yes writeprotect=yes
[globals] OUTBOUNDTRUNK=Zap/1
[default] exten => 100,1,Dial(SIP/200,20); Instructor exten => 101,1,Dial(SIP/101,20); Linksys 01 exten => 102,1,Dial(SIP/102,20); Linksys 02 exten => 103,1,Dial(SIP/103,20); Linksys 03
exten => 1000,1,Dial(SIP/1000,20); Javier X-Lite exten => 2002,1,Dial(IAX2/2002,20); IAX SoftPhone
exten => _9XXXXXXX,1,Dial(${OUTBOUNDTRUNK}/${EXTEN:1}) exten => _9XXXXXXX,2,Congestion() exten => _9XXXXXXX,3,Congestion() exten => s,4,Hangup()
exten => _9XXXXXXXXXXX,1,Dial(${OUTBOUNDTRUNK}/${EXTEN:1}) exten => _9XXXXXXXXXXX,2,Congestion() exten => _9XXXXXXXXXXX,3,Congestion() exten => s,4,Hangup()
[incoming] ;exten => s,1,Answer() ;exten => s,2,Dial(SIP/101,,3) ;exten => s,3,Hangup()
Pr谩ctica de VoIP
WALC2011
19
Configuraci贸n del hardware para Asterisk (interfaz Zaptel FXO)
Archivo: zapata.conf
*************************************************************
[trunkgroups]
[channels] usecallerid=yes hidecallerid=no callwaiting=no threewaycalling=yes transfer=yes echocancel=yes echotraining=yes
context=incoming signalling=fxs_ls channel => 1
*************************************************************
/etc/zaptel.conf
*************************************************************
fxsls=1 loadzone=us defaultzone=us
*************************************************************
Pr谩ctica de VoIP
WALC2011
20
Aplicación de QoS en la red wireless 802.11E: Los equipos implementados en los desarrollos prácticos soportan de forma nativa QoS 802.11E (WMM, Wi-Fi Multimedia). Para aplicar Calidad de Servicio en los radios debe ingresar al equipo:
http://192.168.1.21
Login: ubnt
Password: ubnt
Cargue la interfaz avanzada, http://192.168.1.21/advanced.cgi
Wi-Fi Multimedia (WMM) es un componente del estándar inalámbrico IEEE 802.11e para la calidad de servicio. El QoS asigna prioridad al tráfico de red seleccionado, previene las colisiones de paquetes y retrasos para así mejorar la calidad en las llamadas VOIP y vídeo sobre WLANs. 802.11e WMM permite mejorar la latencia para usos de voz y vídeo. Esto es QoS de capa 2 que puede mejorar notablemente el rendimiento de la red de Voz en nuestro caso en especial. Nivel de QoS (WMM): elegir el tipo del tráfico de red a el cual la prioridad será establecida o inhabilitar la característica de QoS. Ningún QoS (No QoS) - deshabilita el QoS. Prioridad automática (Auto Priority) - la prioridad del tráfico se asigna automáticamente según el tipo datos que pasen. Prioridad al video (Video Priority) - habilita la prioridad del tráfico de video para todos los datos que pasan. Prioridad a la voz (Voice Priority) - habilita la prioridad del tráfico de voz para todos los datos que pasan. Para nuestro caso debemos dar prioridad a los paquetes de voz, luego de realizar esta operación establezca llamadas entre los grupos y monitoree el consumo de ancho de banda. Disminuya el ancho de banda y observe el comportamiento de la llamada y del consumo de recursos, discuta con sus compañeros de grupo y saque conclusiones con el grupo.
Práctica de VoIP
WALC2011
21
Referencias: http://www.asterisk.org http://www.voip-info.org http://www.digium.com http://www.asteriskdocs.org http://asteriskathome.sourceforge.net
Prรกctica de VoIP
WALC2011
22