Desde hace tiempo, los responsables de comunicaciones de las
Transcripción
Desde hace tiempo, los responsables de comunicaciones de las
VoIP en - 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 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 exclusivas 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, evidentemente garantizando calidad de servicio en los enlaces. Discutiremos los tópicos claves que inhiben la popularidad de voz sobre IP (VoIP) entre los usuarios. Se discutirán protocolos y los estándares que existen hoy y los productos de VoIP de algunos fabricantes. El foco principal está en los protocolos IAX (Inter Asterisk Exchange) y SIP (protocolo de iniciación de 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 transmite en paquetes de IP 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. Otras motivaciones son la unificaión de servicios en una misma red y la demanda de 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 un tiempo predeterminado sino proporciona solamente el mejor esfuerzo. Para que los datos no interfieran en las comunicaciones de voz se priorizan los paquetes de voz con respecto a los de datos y se elimina la retransmisión de paquetes de voz que hayan experimentado dificultades. También podemos utilizar la cancelación de eco, y la supresión de silencio, pero en general lo más importantes es aplicar técnicas de calidad de servicio (QoS) como las estipuladas en el estándar IEEE802.11e. Una técnica que se usa es separar el tráfico en la red, usando VLAN o etiquetado de tramas podemos separar la red de datos de la red de VoIP, evitando que el Broadcast y tráfico indeseado en la red consuman recursos importantes en el medio. Para esta práctica 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 implementa una PBX (central telefónica privada) en un PC o un Appliance (Computador embebido) con sistema operativo Linux aunque existen ya versiones que corren bajo Windows, en otras palabras Asterisk IP-PBX es una PBX basada en software. 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 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 Privada convencional: • Interconecta puestos de trabajo vía extensiones telefónicas internas y privadas de una oficina. • Conecta extensiones a la PSTN (Red pública conmutada). • Ofrece buzones de voz a los usuarios. Práctica de VoIP EsLaRed WALC2009 2 • • • • • • • Desvía llamadas entre extensiones (Call Transfer). Ofrece el servicio de llamada en espera (Call Waiting). 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 (Session Initiation 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) más avanzadas TDM nX64 Kbps. • Ofrece llamada en espera (Call Waiting). • Ofrece llamadas en conferencia (Conference call). • Puede configurarse para que una operadora reciba llamadas y transmita las mismas a las extensiones internas. • Provee identificación de llamada entrante (Caller ID). • Conecta también extensiones internas a extensiones de otras PBX. • Mail Box. • TDMoIP y VoIP. El comienzo con Asterisk no es sencillo pero existen distribuciones de Asterisk y Linux que vienen en un CD (live CD Asterisk), utales como trixbox (http://trixbox.com) y elastix (www.elastix.org). Instalando ASTERISK PBX en Linux: # apt get install asterisk (con esto instalará 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. Práctica de VoIP EsLaRed WALC2009 3 • 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 IP: 192.168.1.201 PAP Linksys 192.168.1.1 Router WiFi Principal IP: 192.168.1.2 G: 192.168.1.1 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 IP: 192.168.1.205 PAP Linksys Ubiquiti 7 LAN 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, independientemente se debe verifica la capa física y de enlace. Práctica N1, WDS - Configuración de estaciones. Configurando los SIP adapter Linksys PAP2-NA: Pasos a seguir: • Conecte el Terminal: Práctica de VoIP EsLaRed WALC2009 4 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ú accesible desde 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 acceden vía http. Cada usuario deberá cargar la página de inicio del adaptador: Práctica de VoIP EsLaRed WALC2009 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 está detallado en la tabla N1, siguiendo un orden y cada grupo deberá tomar los datos que les corresponde. Práctica de VoIP EsLaRed WALC2009 6 Nombre Número Terminal Servidor SIP Protocolo Terminal Dir IP SIP/IAX ASTERISK VoIP 192.168.1.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 EsLaRed WALC2009 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, solo cambia la interfaz gráfica de los 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. EsLaRed WALC2009 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, 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, 2XX y EsLaRed WALC2009 9 2XX. Ajuste los planes de numeración en el menú “Line 1” y manténgase en modalidad avanzada, localice el “dial plan”. • Comparación de Codec Figura N7. Codec soportados por Asterisk. El codec puede ser escogido según las necesidades, G729 y G723.1 exigen al usuario adquirir la licencia (10 US$ aproximadamente). Esto no es necesario para nuestros objetivos pero en redes con retardo considerable puede ser conveniente contar con G729. G711 siempre está disponible y presenta un retardo mínimo pues hay una relación inversa entre ancho de banda utilizado y retardo de codificación Figura N8. Ajustes de CODEC y planes de discado. Práctica de VoIP EsLaRed WALC2009 10 Configuración de Softphone: Existen una variedad de teléfonos basados en software, uno 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, tanto SIP como IAX operan bajo Linux y Windows. Algunas de estas aplicaciones son gratuitas y otras son bajo licencia. Entre las innumerables aplicaciones que operan muy bien con Asterisk, tenemos X-Lite, disponible en: http://www.xten.com/index.php y 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). Figura N9. Configuración de X-Lite. En el caso de Zoiper: Práctica de VoIP EsLaRed WALC2009 11 Parámetros: Username: 100, password: 100, Caller ID name: 100, Caller 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 (interfaz a la red telefónica). Es posible usar cualquier IP PBX con Asterisk o cualquier SIP Server en su defecto. Asterisk provee numerosas ventajas y existe información de fácil acceso lo cual convierte en esta aplicación en una poderosa herramienta en software libre de fácil instalación y configuración. Existen varias alternativas 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 interfaz gráfica GUI Asterisk Now V2.0 instalado en el Appliance ATCOM. Una vez ingresado 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. Práctica de VoIP EsLaRed WALC2009 12 Figura N11. Configuración de una extensión SIP/IAX Se debe crear el dial plan (el plan 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. Figura N 12. Creado de dial plan. Práctica de VoIP EsLaRed WALC2009 13 Luego se debe proceder a 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) 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 Práctica de VoIP EsLaRed WALC2009 14 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 comentó 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 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 Práctica de VoIP EsLaRed WALC2009 15 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 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 Práctica de VoIP EsLaRed WALC2009 16 allow=alaw username=104 secret=104 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 Configuración del plan de numeración archivo: extension.conf Ruta: #cd /etc/asterisk ;CONFIGURACION [general] static=yes writeprotect=yes Práctica de VoIP EsLaRed WALC2009 17 [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() Configuración del hardware para Asterisk (interfaz Zaptel FXO) Archivo: zapata.conf ************************************************************* [trunkgroups] [channels] usecallerid=yes Práctica de VoIP EsLaRed WALC2009 18 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 ************************************************************* 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 Práctica de VoIP EsLaRed WALC2009 19 Wi-Fi Multimedia (WMM) es un componente del estándar inalámbrico IEEE 802.11e para la calidad de servicio adoptado por la WiFi Alliance. QoS asigna diferentes prioridades al tráfico dependiendo del tipo del mismo especificando cuatro colas independientes para cada una de las categorías, Voz, Video, ¨best effort¨ (mejor esfuerzo) y ¨background¨o baja prioridad. La voz tiene prioridad máxima, lo que significa que el tiempo promedio que debe esperar un paquete de voz para acceder al canal es menor que el que le corresponde a un paquete de video y así sucesivamente.Este mecanismo de capa 2 puede mejorar notablemente el rendimiento de la red de Voz. 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 sobre los otros datos. 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. 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 EsLaRed WALC2009 20