Configuración de escenarios reales con asterisk

7,129 views
6,842 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
7,129
On SlideShare
0
From Embeds
0
Number of Embeds
42
Actions
Shares
0
Downloads
227
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Configuración de escenarios reales con asterisk

  1. 1. Integración de servicios de telefonía y datos en redes de empresa Diego Llanes Gomez Luz Marina Prieto Ingeniería de sistemas Ciclo profesional Configuración de escenarios reales con Asterisk Docente Jarvey Gonzalez Corporación Unificada Nacional de Educación Superior CUN Bogotá Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios reales con Asterisk
  2. 2. Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios reales con Asterisk OBJETIVOS El objetivo de la presente práctica es familiarizarnos con la central de software de telefonía IP (Telephony over IP, ToIP) de código abierto Asterisk. Esta central ofrece muchas de las facilidades de las centrales telefónicas tradicionales, pero adaptadas al mundo de la Voz sobre IP (Voice over IP, VoIP). El hecho de estar basada en IP hace que sea capaz de proporcionar multitud de características de alto nivel como son el correo de voz, creación de conferencias, menús de voz interactivos, enrutamiento automático de llamadas y muchas otras. A lo largo de esta sesión veremos cómo configurarla y obtener el máximo partido de la misma LA CENTRAL ASTERISK La central Asterisk es una implementación software de una central telefónica tradicional (Private Branch eXchange, PBX). Fue creada en 1999 por Mark Spencer, de la empresa Digium. Como cualquier PBX, permite realizar llamadas entre teléfonos conectados a ella (tanto IP como analógicos, aunque estos últimos con hardware especial) y conexiones tanto a la red IP como a la red telefónica conmutada (RTC). Asterisk cuenta con un esquema de doble licencia, la licencia de software libre GNU (GNU General Public License, GPL) y otra licencia propietaria para permitir código propietario como el del códec G.729. Gracias a la licencia GPL cuenta con una gran comunidad de programadores que han contribuido a añadirle multitud de características. Además, su código ha sido portado a las plataformas más utilizadas en la actualidad (Windows, Linux, MacOS, Solaris, FreeBSD, etc.). Asterisk soporta diferentes protocolos de VoIP: SIP (Session Initiation Protocol, ver RFC 3261), MGCP (Media Gateway Control Protocol) y H.323. No obstante, en esta Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios reales con Asterisk
  3. 3. sesión nos vamos a centrar en el protocolo SIP por ser el más extendido en la actualidad. De esta forma, Asterisk puede interactuar con la mayoría de teléfonos SIP y ejerce tanto de servidor de registro SIP (SIP registrar) como de proxy SIP, e incluso de gateway o pasarela entre teléfonos IP y la RTC si se cuenta con el hardware adecuado. Los desarrolladores de Asterisk han creado un nuevo protocolo, el IAX2 (Inter-Asterisk eXchange), para realizar trunking de llamadas entre centrales Asterisk y entre proveedores de servicio de VoIP que lo soporten. Incluso existen teléfonos que soportan el protocolo IAX2 de forma nativa para comunicarse con la central Asterisk. Al soportar una mezcla de la telefonía tradicional y los servicios de VoIP, Asterisk permite a los desarrolladores construir nuevos sistemas telefónicos de forma eficiente o migrar de forma gradual los sistemas existentes a las nuevas tecnologías. Algunos sitios usan Asterisk para reemplazar a antiguas centrales propietarias, otros para proveer funcionalidades adicionales y algunas otras para reducir costes en llamadas a larga distancia utilizando Internet. Desde el punto de vista de la clasificación funcional de servidores SIP, las funcionalidades de Asterisk son varias: Por una parte, actúa de Registrar y Location Server, ya que acepta peticiones de registro de los usuarios y suministra un servicio de localización y traducción de direcciones en el dominio que controla. Por otro lado, también actúa como un Proxy Server con estado (Stateful Proxy), ya que conoce en todo momento el estado de la llamada y posee funcionalidades que dependen del estado de la llamada como servicios de respuesta automática (Interactive Voice Response, IVR) que le permiten actuar sobre el flujo RTP (Real Time Protocol), que es el que contiene la comunicación de voz. Cabe recordar que en contraste con este tipo de proxy nos encontramos los proxy server sin estado (Stateless Proxy) como SER (SIP Express Router), que no tienen sentido más que para redes completamente SIP, ya que solo conocen y actúan sobre los paquetes SIP que negocian las direcciones IP, los puertos a utilizar, el códec a utilizar, etc., pero no sobre el flujo RTP. A continuación se recogen diversas funciones básicas que se pueden realizar sobre Asterisk: - Ring Group o Grupo de timbrado: permite llamar al mismo tiempo a todos los teléfonos de un grupo. Los teléfonos del grupo también pueden consistir en números telefónicos externos como teléfonos móviles. - Queue o Cola: es un almacén de llamadas entrantes. Así, las personas que llaman pueden esperar la respuesta de alguien en lugar de obtener una señal de ocupado o ser forzadas a dejar un mensaje. Esta extensión también puede decir a la persona que llama su lugar en la cola y el tiempo estimado de espera. - Trunk o Tronco: es un circuito que define una configuración de conexión de entrada o salida. - OutBound Rules o Reglas de salida: definen las rutas que tomará una llamada saliente. - DiD o Direct In Dial: son reglas que definen dónde ira una llamada de un determinado número telefónico. - Auto Attendant: es un sistema para llamadas entrantes con respuestas de voz interactivas. - Incoming calls: junta todas las configuraciones entrantes y fija dónde van las llamadas entrantes. Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios reales con Asterisk
  4. 4. También se pueden realizar configuraciones avanzadas como las que siguen: - NAT: se configura cuando el servidor funciona detrás de un router y no tiene direccón IP pública. Así, se deben fijar la red local y la IP externa. - Tiempo y Red: aquí se utiliza “netconfig” para configurar la IP en el servidor y “timeconfig” para fijar la hora y fecha actuales. - Web MeetMe: es un cuarto de conferencias para uso de todos los usuarios. - Extensiones Remotas: para poder aceptar un usuario remoto teniendo en cuenta el funcionamiento de NAT con los protocolos utilizados por Asterisk (IAX y SIP). INSTALACIÓN Y USO DE ASTERISK La central de Asterisk puede descargarse de forma gratuita desde su web principal: http://www.asterisk.org. Este código puede ser compilado y ejecutado en el sistema que se desee, aunque resulta una tarea complicada y tediosa. Por ello, resulta mucho más útil partir de paquetes precompilados para los diferentes sistemas (ejecutable de instalación en Windows, paquetes RPM para Linux, etc.). Sin embargo, tanto para la realización de esta sesión o si lo que simplemente se desea es usar Asterisk y probar su funcionalidad de una forma rápida y sencilla, existe una versión precompilada y lista para usar, desarrollada por la empresa Fonality, denominada Trixbox: http://www.trixbox.org/. Esta versión cuenta además con el front-end web FreePBX para una configuración mucho más sencilla de Asterisk, así como muchas otras facilidades adicionales. Finalmente, existe una versión de Trixbox para máquinas virtuales VMWare, que será la que utilicemos en esta sesión. Para poder usar Asterisk en pocos minutos, basta con descargar gratuitamente el software de virtualización VMWare Player (http://www.vmware.com/products/player/) y la imagen para VMWare de Trixbox (http://www.vmware.com/appliances/directory/1299). La versión actual de la máquina virtual con Trixbox es la 2.6.1, pero por motivos de estabilidad usaremos la 2.4. DESCRIPCIÓN DE LA PRÁCTICA El esquema de trabajo se muestra en la siguiente figura: Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios reales con Asterisk
  5. 5. Como se puede observar, se cuenta con una red de datos IP y de voz analógica a través de la RTC. Dentro de la red de datos también podrán realizarse llamadas VoIP (desde un teléfono conectado al gateway VoIP o desde un sofphone), y un servidor de telefonía IP Asterisk o externo (iptel.org) que podrá almacenar extensiones VoIP y enrutar las llamadas. Además, los gateway VoIP-RTC servirán de puente para las llamadas que se quieran enrutar hacia la RTC usando diferentes tecnologías. DESARROLLO DE LA PRÁCTICA A lo largo de la descripción del desarrollo de la práctica se van a incluir algunas imágenes con los parámetros a configurar. Los valores de dichos parámetros que aparecen en las imágenes no son los que deben configurarse en cada caso, sino simplemente un ejemplo para localizar la posición de los parámetros a modificar. Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios reales con Asterisk
  6. 6. 1.- Arranque de los servidores Asterisk En primer lugar, ejecutaremos el programa VMWare Player en las máquinas que vayan a ejercer de servidor Asterisk y comprobaremos que la máquina virtual Trixbox cuente con un interfaz de red virtual Ethernet en modo bridged (Edit Virtual Machine Settings  Ethernet). De esta forma, la máquina virtual tendrá acceso a la red física a la que esté conectada el ordenador desde el que ejecutamos VMWare Player. La dirección IP la obtendrá por medio de DHCP (Dynamic Host Configuration Protocol) si está disponible, o bien la configuraremos manualmente mediante el comando ifconfig de Linux. Una vez comprobado todo, lanzaremos la máquina virtual Trixbox (botón Power on), obteniendo lo siguiente: El nombre de usuario y la contraseña son root/trixbox. Una vez dentro de la máquina virtual, ejecutaremos el comando ifconfig para comprobar la dirección IP de la máquina y así poder conectarnos a Asterisk desde el interfaz web. 2.- Conexión inicial al interfaz web Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios reales con Asterisk
  7. 7. Una vez conozcamos la dirección IP de la máquina virtual, podemos simplemente minimizar el VMWare Player con el Asterisk corriendo dentro, ya que toda la gestión del servidor la realizaremos desde un navegador web. Para comprobarlo, lanzamos el navegador web desde cualquier ordenador y vamos a la página de configuración de Trixbox: http://<Dirección IP de la máquina virtual>. Desde esta página podemos acceder a diferentes características añadidas alrededor de Asterisk, como son el Flash Operator Panel (FOP), el correo de voz o la gestión de conferencias Web MeetMe. No obstante, hemos accedido a la gestión como usuario normal, por lo que para poder tener acceso a las características avanzadas más potentes, debemos entrar como superusuario. Al lado de User mode pulsamos en switch e introducimos como nombre de usuario y contraseña maint/password. Desde esta nueva página disponemos de todo un abanico de posibilidades a explorar. La más importante de ellas es la configuración de Asterisk, la cual se encuentra bajo AsteriskFreePBX. 3.- Instalación de softphone Como software cliente de VoIP utilizaremos el cliente Sjphone. Este cliente es compatible tanto con H.323 como con SIP, pero en esta práctica nos vamos a centrar en el protocolo SIP. Si no está instalado en el ordenador, podemos descargarlo a través de la página web http://www.sjlabs.com/. Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios reales con Asterisk
  8. 8. 3.1 Una vez instalado en los PCs que actúan de cliente, comprueba que funciona el cliente llamando a un compañero. Vamos a recordar la captura del tráfico generado. Para ello, lanzamos la aplicación WireShark antes de iniciar la llamada y posteriormente analizamos el tráfico generado. 3.2 Tras verificar el correcto funcionamiento de los clientes de VoIP en modo directo (PC to PC), vamos a proceder a configurarlos para realizar las llamadas a través del servidor Asterisk. Para ello, debemos definir un nuevo perfil. En primer lugar, deberemos de pulsar el botón de configuración (botón del medio). Para añadir un perfil de uso en SIP, presionar New... Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios reales con Asterisk
  9. 9. 3.3 Asignamos un nombre al nuevo perfil (Profile name) y configuramos el cliente para el uso con Asterisk, como proxy SIP (Profile type: Calls through SIP Proxy). 3.4 En Proxy Domain tenemos que poner la dirección IP del Asterisk . En cuanto al puerto, podemos especificar el 5060, que es el puerto que utilizar SIP, aunque si lo dejamos a 0, cogerá directamente este valor por defecto. Es importante asegurarse de que la casilla Register with proxy se encuentra seleccionada. Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios reales con Asterisk
  10. 10. 3.5 A continuación debe configurarse el usuario y contraseña asociados al cliente, que posteriormente utilizaremos para dar de alta en el servidor Asterisk. Por motivos de uniformidad, y para facilitar la gestión de la práctica se propone emplear los siguientes valores: Account: emplearemos números de 4 dígitos. Empleamos el siguiente criterio arbitrario: El primero dígito será el número de hub (1, 2), el segundo será 0 y los dos últimos, los dos últimos dígitos del último octeto de la dirección IP (con un 0 delante si es un único dígito. Password: empleamos una contraseña fácil de recordar. Por ejemplo, el mismo número configurado en Account. 3.6 Con esto finaliza la configuración de los clientes SIP. Puede comprobarse que el interfaz gráfico del Sjphone se modifica respecto al original, mostrándose el aspecto que aparece en la siguiente figura: Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios reales con Asterisk
  11. 11. 4.- Configuración de extensiones en Asterisk Tanto los softphone como los Linksys cuentan con extensiones que ahora debemos dar de alta en el servidor Asterisk. 4.1 Para llevar a cabo la configuración del Asterisk, retomamos la página web que hemos dejado abierta en el apartado 2 (Asterisk  FreePBX): Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios reales con Asterisk
  12. 12. 4.2 Entramos en el submenú “Extensions” (menú de la parte izquierda) donde vamos a configurar las extensiones. El menú a configurar se muestra en la figura siguiente. Los parámetros que debemos configurar son los siguientes: - User extension: el número de 4 dígitos que hemos definido en el campo account en el Sjphone. - Display name: el nombre de usuario asociado a esta extensión. Para mantener la uniformidad, empleamos los mismos 4 dígitos de user extensión. - Secret (en Device Options): la contraseña que hemos configurado en el campo password del Sjphone. Existen otra serie de parámetros que se pueden modificar que se explicarán a lo largo de la práctica. No es necesario modificar ningún otro parámetro. Finalmente, pulsamos “Submit” para confirmar la configuración. No olvides pulsar sobre “Apply Configuration Changes” (botón naranja en la parte superior izquierda de la página) para que los cambios surtan efecto en Asterisk. Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios reales con Asterisk
  13. 13. 5.- Análisis de la señalización SIP y del tráfico RTP 5.1 Una vez configuradas las extensiones, comprobamos que funciona la conexión haciendo una llamada a uno de los números que hemos creado o al *43, que realizará una llamada “de eco” para verificar que funciona bien la línea. Tras comprobar que podemos realizar llamadas entre los equipos, vamos a analizar el tráfico de VoIP: - - Captura tráfico con Wireshark, realiza una llamada entre 2 PCs del mismo hub y analiza la señalización SIP. ¿Qué semejanzas y diferencias observas respecto al caso de comunicación directa entre 2 PCs? Ahora analiza el tráfico RTP. ¿Observas alguna diferencia respecto a lo esperado según lo visto en teoría? 5.2 Vamos a modificar algunos de los parámetros de la configuración del Asterisk. Concretamente: - En “Setup  General Settings”, en el campo Asterisk dial command options aparecen una t y una r. Borramos la t. - En “Setup  Extensions”, pinchamos en cada una de las extensiones, y en Device Options, modificamos el parámetro canreinvite de no a yes. De nuevo, realizamos llamada y capturamos tráfico. - ¿Qué ocurre ahora tanto con la señalización SIP como con los flujos RTP? Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios reales con Asterisk
  14. 14. 6.- Pruebas con alguna de las funcionalidades que ofrece Asterisk 6.1 Vamos a realizar pruebas con algunas de las funcionalidades adicionales que nos ofrece Asterisk. En el menú Feature Codes aparecen todos los números asociados a funciones de la central. Algunos de esos números se muestran a continuación: Números Interesantes *411 Directory *43 Echo Test *60 Time *61 Weather *62 Schedule wakeup call *65 festival test (your extension is XXX) *70 Activate Call Waiting (deactivated by default) *71 Deactivate Call Waiting *72 Call Forwarding System *73 Disable Call Forwarding *77 IVR Recording *78 Enable Do-Not-Disturb *79 Disable Do-Not-Disturb *90 Call Forward on Busy *91 Disable Call Forward on Busy *97 Message Center (does no ask for extension) *98 Enter Message Center *99 Playback IVR Recording 666 Test Fax 7777 Simulate incoming call 6.2 Comprueba el correcto funcionamiento de las siguientes funcionalidades y analiza con Wireshark la nueva señalización que aparece para llevarlas a cabo. En el caso de la multiconferencia, analiza también los flujos RTP implicados. ¿Qué se observa en este último caso? - - - Llamada en espera: con el botón hold del Sjphone. Redirección de llamada: con el botón transfer del Sjphone, nos pedirá que introduzcamos el número al que queremos redirigir. Voice mail o Buzón de voz: para utilizar el buzón de voz tenemos que marcar *98 seguido de la extensión de la que queremos consultar el buzón. A continuación se nos pedirá que introduzcamos el password asociado al buzón, que hemos configurado anteriormente. Call Forward on Busy: permite redirigir automáticamente la llamada a otro número predeterminado. Para activarlo, se debe introducir *90 seguido del número al que queremos redirigir. MultiConferencia: con el botón CONF del Sjphone, permite realizar multiconferencias. Para ello, desde un PC puedes llamar a los otros dos, y una vez establecidas y activas las dos comunicaciones, pulsar el botón CONF. Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios reales con Asterisk
  15. 15. 6.3 Grupos de llamada: En “Setup  Inbound call control  Ring groups” crea un nuevo grupo de llamada y añade a él las extensiones que prefieras. A continuación modifica el parámetro “Ring strategy” y comprueba su funcionamiento. 6.4 Creación de conferencias gestionadas por Asterisk: En “Setup  Internal Options & Configuration  Conferences” crea una nueva conferencia y únete a ella desde varios ordenadores. Cambia los parámetros de la conferencia y observa sus efectos. 7.- Configuración de enlaces troncales entre Asterisk Hasta ahora solo podemos realizar llamadas entre las extensiones que se encuentran bajo el mismo servidor Asterisk (lo que vamos a denominar una sucursal). Para poder realizar llamadas VoIP a extensiones de otras sucursales vamos a configurar un enlace troncal (trunk) entre Asterisk. Cada Asterisk sólo conoce sus propias extensiones, de forma que sin un trunk deberíamos conocer la dirección IP de cada Asterisk para poder hacer llamadas entre sucursales. Con el trunk sólo es necesario conocer la dirección IP del Asterisk de la sucursal propia, ya que es éste el que redirige las llamadas hacia el otro Asterisk en caso necesario. 7.1 Vamos a establecer un trunk entre las sucursales de los hub 1 y 2. En el menú “Setup  Basic  Trunks” de ambos Asterisk usaremos “Add Trunk  Add SIP Trunk”. La figura siguiente muestra el menú que nos debe aparecer con los parámetros que tenemos que configurar. - Una vez realizada la configuración, comprueba que pueden realizarse correctamente llamadas entre cualquier PC de una sucursal con cualquier PC de la otra. - De nuevo, captura tráfico con Wireshark, realiza una llamada entre 2 PCs de la bancada y analiza la señalización SIP y el flujo RTP. Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios reales con Asterisk
  16. 16. En el campo Trunk Name simplemente ponemos un nombre al enlace que vamos a crear. En PEER Details tenemos que configurar los parámetros del Asterisk remoto, tal y como se indica en la figura. Vamos a configurar el nombre de usuario y contraseña usados para conectarse al otro Asterisk. Es importante darse cuenta que el campo fromuser no aparece por defecto al crear el trunk y debe añadirse para el correcto funcionamiento del enlace. En Incoming Settings deben configurarse los parámetros del Asterisk propio (el nombre de usuario y contraseña usados para que el otro Asterisk se conecte al que estamos configurando). El campo USER Context debe contener el nombre de usuario que deberá configurarse como username en los PEER Details del otro Asterisk, del mismo modo que el campo secret debe contener el mismo password que deberá configurarse en el campo secret en los PEER Details del otro Asterisk Una vez hecho esto, se añadirá una ruta de salida para las llamadas que vayan hacia la sucursal remota, la cual usará el trunk previamente configurado. Para ello, en el menú “Setup  Basic  Outbound Routes” elegiremos “Add Route” y configuraremos 3 parámetros: el nombre de la ruta, el plan de numeración (los números que serán enviados siguiendo esta ruta, separados por enters) y el trunk usado por la ruta, tal y como se muestra en la figura siguiente. Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios reales con Asterisk
  17. 17. ANEXO A ASTERISK 1. Historia y Arquitectura El proyecto Asterisk se inició como un proyecto de la empresa Digium. Casi todo fue programado por Mark Spencer. Al principio tenía como objetivo crear una PBX híbrida entre TDM y paquetes, con IVR y manejo de agentes. Sin embargo, Asterisk es una PBX diseñada para conectar cualquier dispositivo de telefonía hardware o software con cualquier tipo de aplicación telefónica, de manera transparente y consistente. Gracias a este diseño orientado a la integración Asterisk puede ser utilizado en una gran variedad de soluciones de telefonía. 2. Tecnologías Soportadas Las tecnologías que soporta Asterisk pueden dividirse en tres: Hardware Zaptel, Otro Hardware y Paquetes de voz. Hardware Zaptel La característica principal de estas tarjetas, es que el procesamiento es más software que hardware, por lo que la señalización se hace en el computador. Hay otras tarjetas que son hechas con DSP y por lo tanto el procesamiento es más hardware que software (un DSP de 166MHz maneja un E1 sin problemas y en el mercado existen tarjetas PCI para poner varios DSP). Estas tarjetas, producidas por Digium y que funcionan con el módulo zaptel del kernel de linux, tienen un diseño libre pero Digium tiene el diseño de los impresos y las produce más barato. Esta situación se presentó porque al ser Asterisk un proyecto libre y abierto, el hardware debía ser asequible. La diferencia de precio es del orden de 10 veces inferior al de las tarjetas de empresas como Intel y Natural. La conexión hardware se puede hacer con líneas digitales o analógicas. Las líneas analógicas normalmente cuentan con puertos FXS y/o FXO. Los puertos FXS entregan señalización y potencia (entregan una troncal), mientras los puertos FXO reciben señalización y potencia (reciben una troncal) Los tipos de señalización analógica que soporta Zaptel son: LS (Loop): cambio de polaridad para detectar cuelgue 48V/48V > en el ILA. GS (Ground): pone tierra (0V) para detección de cuelgue. KS (Kewll): LS+GS (ambas), es la que más se usa. Las Tarjetas Wildcards Digum disponibles al momento de escribir este documento se resumen a continuación: X100P: recibe una línea FXO. Tiene una densidad muy baja, problemas graves de detección de cuelgue y un pobre manejo de eco. Sirve para laboratorio y hogar. TDM400 (TDMXY): TDM de 4 slots (líneas), pueden ser FXO ó FXS. X > # puertos FXS, Y > # puertos FXO. Pocos problemas de cuelgue. Puede generar eco, pero se puede corregir por software de cancelación de eco. TX00P: (T1) X = 1 ó 4 líneas (descontinuada). EX00P: (E1) X = 1 ó 4 líneas (descontinuada). TE110P: 1 T1 o 1 E1. Sirve para usar los bancos de canales de rhino, que sólo vienen con T1 y son baratos. Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios reales con Asterisk
  18. 18. S100P: 1 línea FXS, no es PCI sino USB. IAXY: Pasarela de IAX a FXS (ATA IAX). TE410P: PCIX (express, a 3.3V): 4 líneas, E1 o T1 TE405P: PCI (5V): 4 líneas, E1 o T1. Nota: Con TDMoE se puede tener un canal de voz con una tarjeta PCI en un equipo de bajo procesamiento, pero estable, y redireccionarlo a otro equipo que no tenga PCI y tenga buen procesamiento, a través de ethernet. En la segunda máquina se usan los módulos ztdynamic y zteth para emular algunos procesos de las tarjetas zaptel. 2.2. Otro Hardware - Hardware SIP y H.323: H.323 es soportado, pero todos los esfuerzos están enca minados a SIP. Algunos módems ISA. OSS/ALSA. Tarjetas linejack o quicknet, cuyos módulos ya vienen en el kernel de linux. Voicetronix: 6FXSFXO, 12 FXSFXO, configurables. Dialogic (pagando otra licencia). Otras tarjetas europeas que soportan RDSI. 2.3. Paquetes de Voz Asterisk soporta varias tecnologías de paquetes de voz, incluyendo SIP, IAX versión 1 y 2, MGCP (Media Gateway Control Protocol), H.323 y VoFR. IAX es un protocolo avanzado diseñado por el proyecto Asterisk. Con IAX se da un mejor manejo a comunicaciones a través de NAT y se puede hacer trunking: un canal GSM ocupa 20Kbps de cabecera y 12Kbps de carga útil (voz). Con IAX, cuando hay más de un canal GSM sólo el primer canal tiene las cabeceras y luego se adicionan sólo 12Kbps por cada canal de voz. 3. Canales y Aplicaciones Los canales son las unidades lógicas de las llamadas que se cursan a través de las tecnol ogías vistas en 1 El eco se presenta cuando hay un cambio de medio. 2 El E1, bien sea por coaxial o por UTP, se rige por G.703. El conversor de coaxial a U TP haceel cambio de impedancia con un Balum, de 75 ohmios a 120 ohmios, respectivamente. El cable UTP debe ser cableado con una norma especial, pero algunos equipos vienen con interfaz RJ45 para cable UTP normal. el apartado anterior. Cada canal tiene un identificador y puede ser de tipo ZAP, SIP, IAX, IAX2, Modem, Unicall (R2), etc. Los canales son manejados indistintamente por Asterisk y combinados con las aplicaciones. Existen numerosas aplicaciones (por ejemplo: Dial, Goto, Hangup, Vicemail, etc.) que se combinan con tecnologías y prioridades en el DialPlan o Plan de Marcado para indicar la forma como se enruta una llamada desde que se origina hasta su destino final. Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios reales con Asterisk
  19. 19. 4. Configuración Hay varios tipos de archivos de configuración, entre ellos los de configurar canales, el dialplan y varias aplicaciones. Estos ficheros se encuentran en /etc/asterisk. 4.1. Configuración de Canales Los principales archivos de configuración de canales son: ● zapata.conf ● sip.conf ● iax.conf ● h323.conf ● oss.conf ● alsa.conf 4.1.1. Ejemplo del sip.conf [general] ; esto se agrega a cada uno de los de abajo language=es ; para tomar los sonidos en el idioma deseado disallow=all ; desactiva todos los codecs que tiene por defecto allow=gsm ; luego activa los que quiere en orden de prioridad allow=ilbc ; si el cliente no soporta gsm, usa ilbc. [telefono1] ; canal para el telefono 1, éste es el "User ID" type=friend ; puede ser: peer(puede ser llamado), user(puede llamar) o friend(llamado y llamar) secret=passwordxyz; dtmfmode=rfc2833 ; puede ser: rfc2833(tonos como frecuencias en la parte de la voz), info (tonos como datos en las cabeceras), inband(tonos en la banda, tal vez no audibles). calerid="juan"<1> ; hay que ponerlo así para que los identificadores alfanuméricos y numéricos lo muestren bien. defaultip=0.0.0.0; restringir el acceso desde donde se puede conectar. dynamic=yes ; autenticarse desde diferentes IP. nat=no ; No se puede conectar a través de un nat. context=extsip; con este contexto se manejan las llamas provenientes de este canal en el dialplan. [telefono20] . context=locales ; puede llamar a _82XXXXX Se puede ver un ejemplo extenso en el /etc/asterisk/sip.conf.sample que instala asterisk. 4.1.2. Ejemplo del zapata.conf [channels] language=es usercallerid=yes ; identificador de llamadas threewaycalling=yes ; si me llaman, puedo transferir con flash/hook y luego llamando al segundo transfer=yes txgain=1.0 ; en dB rxgain=2.0 callerid=asreceived ;también se puede poner uno fijo busydetect=yes ; detección de cuelgue (ver “detección de cadencias”) Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios reales con Asterisk
  20. 20. busycount=8 musiconhold=default ;se puede poner cualquiera del voicemail.conf group=1 ; los canales se pueden agrupar ;Si hay una TDM22 con los puertos 1 y 2 FXO, y los puertos 3 y 4 FXS: channel=1,2 ; puertos que son del grupo callgroup=1 ; para usar pickupgroup pickupgroup=1 ; entre estas extensiones se pueden tomar las llamadas unas a otras, marcando *8# signallig=fxs_ks ; se usa la señalización contraria. context= pstn_incoming ; contexto para manejar las llamadas que vienen de la pstn group=2 channel=3,4 callgroup=1 pickupgroup=2 signallig=fxo_ks ; se usa la señalización contraria. context= otro_contexto Detección de cadencias Es otra forma de detectar el cuelgue. Al detectar la cadencia 'tutuutúúú' se hace el HangUp (cuando a uno lo llaman y le cuelgan). Para configurar esto hay que incluir en el zapata.conf estas dos líneas: Busydetect=yes BusyCount=8 (8 repeticiones para asegurarse de que sí sea el tutuutúúú) También se pueden editar las fuentes de zaptel y poner la opción de cadencia en 300. 4.2. Ejemplo de dialplan (extensions.conf) Aquí se pone la lógica del negocio representada en el plan de marcado. [general] #include macros.inc ; se pueden incluir otros archivos para organizar mejor todo ;Se definen contextos independientes para agrupar las extensiones [extsip]; si un canal está asociado a este contexto, puede llamar a los números que están dentro de este contexto. exten=100,1,Dial(SIP/telefono1,30) ;llamada al número 100 (timbra por 30 segundos), ;lo primero que se hace(prioridad 1), ;es llamar al canal SIP/telefono1 ;si Dial no termina con éxito, se le suma 101 a la prioridad ;si en Dial contestan, se acaba el proceso ;si se acaba el tiempo, retorna y suma 1 a la prioridad. exten=100,2,Voicemail(n${exten}) ; voicemail para cuando no contestan. ${exten} es una de las variables disponibles. Se reproduce el archivo de audio llamado n100 exten=100,102,Voicemail(b${exten}) ; voicemail para cuando no está disponible (archivo b100). ;tambén se podía hacer aquí: exten=100,2,Goto(100,1) ó exten=100,102,Hangup() exten=103,1,Dial(SIP/telefono1,30); otro número para llamar al canal SIP/telefono1 . . . exten=120,1,Dial(SIP/telefono20,60) include=>extsip2 ; los canales asociados al contexto extsip1, también pueden llamar a las extensiones del extsip2 [extsip2] Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios reales con Asterisk
  21. 21. exten=200,... exten=i,1,HangUp ; la 'i' es para ver qué se hace cuando alguien marca un número que no está definido en el contexto. [locales] exten=_82XXXXX,1,Dial(ZAP/g1,${exten}); también se puede llamar al ZAP/1 o ZAP/2, pero si está cupado, no sirve. exten=_82XXXXX,102,Bakground,ocupados_esperar exten=_82XXXXX,103,Wait(10) exten=_82XXXXX,104,Goto(_82XXXXX,1) include=>extsip ; también puede llamar a los de extsip [pstn_incoming] exten=s,1,Background,bienvenida include=>extsip Para saber más de Dial u otra aplicación, en el CLI se pone 'show applications' y/o 'show application Dial'. 4.3. Archivos para configurar aplicaciones Por ejemplo voicemail.conf, meetme.conf, etc. 5. Más Información ● http://www.asterisk.org ● http://www.voipforo.org ● http://www.voipinfo.org ● http://developer.berlios.de/projects/destar/ ● http://openfacts.berlios.de/indexen.phtml?title=DeStar ● http://gluc.unicauca.edu.co/wiki/index.php/Acerca_de_DeStar ● http://www.astricon.net/ Integración de servicios de telefonía y datos en redes de empresa: Configuración de escenarios reales con Asterisk

×