Вы находитесь на странице: 1из 33

VIVOXIE

VoIP y Asterisk PBX

Alyed Tzompa Sosa. Marzo 2014

Contenido
INTRODUCCIN A LA TELEFONA DIGITAL .....................................................4 Telefona anloga .................................................................................................... 4 Ring ......................................................................................................................... 4 Teclado .................................................................................................................... 4 Frecuencias de los dgitos y tonos DTMF ............................................................... 4 MODULACIN PULSE-CODE .................................................................................5 Codificando digitalmente una forma de onda anloga ............................................ 5 Onda senoidal original. ....................................................................................... 5 Muestreo limitado ............................................................................................... 6 Muestreo sin onda original ................................................................................. 6 Reconstruccin de onda a partir del muestreo .................................................... 7 Onda senoidal original ........................................................................................ 7 Muestreo mayor .................................................................................................. 8 Resultado del muestreo ....................................................................................... 8 Muestreo sin onda senoidal ................................................................................ 8 Reconstruccin de onda a partir del muestreo .................................................... 9 Teorema de Nyquist ................................................................................................ 9 El humilde DS-0. La base de todo ........................................................................... 9 LOS PROTOCOLOS VOIP.......................................................................................10 Calidad de Servicio o Quality of Service (QoS) ................................................... 10 Protocolos VoIP .................................................................................................... 10 Codecs ................................................................................................................... 11 Costo-beneficio ..................................................................................................... 11 Dispositivos: Hardphones, Softphones y ATAs .................................................... 12 1 ASTERISK..............................................................................................................12 1.2 Sistema de archivos ......................................................................................... 13 2 CONFIGURACIONES ..........................................................................................13 2.1 Configuracin de los usuarios ......................................................................... 14 2.1.1 Usuarios con protocolo SIP ..................................................................... 14 2.1.2 Usuarios con protocolo IAX .................................................................... 16 2.2 Plan de marcacin ........................................................................................... 16 2.2.1 Contextos ................................................................................................. 17 2.2.2 Extensiones .............................................................................................. 17 2.3 Correo de Voz ................................................................................................. 21 2.4 Salas de conferencia ........................................................................................ 22 2.5 Interfaz de salida (Asterisk) ............................................................................ 22 2.6 Interfaz de salida (Hardware versiones Asterisk 1.4 o inferiores) .................. 23 2.7 Interfaz de salida (Hardware versiones Asterisk 1.4 o superiores) ................. 24 3 COMANDOS .........................................................................................................24 3.1 Comandos de Asterisk ..................................................................................... 24 3.2 Comandos de Wanrouter ................................................................................. 26 APNDICE A. RESOLUCIN DE PROBLEMAS ................................................27 A.1 Problemas comunes ........................................................................................ 27 APNDICE B. GUIA RPIDA DE ADMINISTRACIN ASTERISK-PBX ........29 B.1 Configuracin del telfono IP .................................................................... 29 B.1.2 Configuracin de la lnea ........................................................................ 30

B.2 Modificar los permisos de llamada de una extensin. .................................... 30 B.3 Monitorear el estado del servidor ................................................................... 30 B.4 Agregar un nuevo DID de entrada .................................................................. 32 APNDICE C ............................................................................................................33 Comandos el editor de texto vi .......................................................................... 33

INTRODUCCIN A LA TELEFONA DIGITAL Telefona anloga El propsito de la Red de Telefona Pblica Conmutada o PSTN por sus siglas en ingls (Public Switched Telephone Network) es establecer y mantener conexiones de audio entre dos terminales con el objeto de realizar una conversacin. Aunque los humanos podemos percibir vibraciones sonoras en el rango de 20 a 20,000 Hz, muchos de los sonidos que hacemos al hablar tienden a encontrarse en el rango de 250 a 3,000 Hz. Dado que el propsito de la rede telefnica es primordialmente la transmisin de sonidos de la voz humana, se design un ancho de banda en el rango de 300 a 3,500 Hz. Esta limitacin de ancho de banda significa que algo de la calidad de audio se perder (como se puede atestiguar al escuchar msica en espera), especialmente en las frecuencias altas. Ring Cuando la oficina central (CO) quiere enviar la seal de que una llamada est entrando, conecta corriente alterna (AC) a la lnea de aproximadamente 90 volts. Esto provoca que una campana o circuito en su telfono produzca un sonido de tono o ring. Teclado Al realizar una llamada, se necesita alguna forma de hacerle saber a la red la direccion del usuario con el que se desea conectar. El teclado es la porcin del telfono que provee esta funcionalidad. En un principio, los teclados eran dispositivos que rotaban que usaban pulsos para indicar los dgitos. Este era un proceso algo lento, por lo que las compaas telefnicas eventualmente introdujeron los teclados de tonos. Este mtodo, tambin conocido como Doble Tono Multi Frecuencia (DTMF Dual Tone Multi Frecuency) consiste en doce botones. Cada botn tiene dos frecuencias asignados a l como se muestra en la siguiente tabla Frecuencias de los dgitos y tonos DTMF 1209 Hz 697 Hz 770 Hz 852 Hz 941 Hz 1 4 7 * 1336 Hz 2 5 8 0 1477 Hz 3 6 9 # 1633 Hz [a] A B C D

MODULACIN PULSE-CODE Existen diferentes maneras de codificar audio, el mtodo ms comn (y es el que se usa en telefona) es conocido como Pulse-Code Modulation o PCM. Codificando digitalmente una forma de onda anloga El principio de PCM es que la amplitud de una forma de onda anloga es muestreada a intervalos especficos para que pueda ser posteriormente re-creada. La cantidad de detalle que es capturado es dependiente tanto del nmero de bits de cada muestreo, como de la frecuencia a la que este muestreo fue realizado. Un nmero ms grande de bits en cada muestreo y una frecuencia de muestreo ms alta otorgaran mayor precisin, pero tambin mayores sern las necesidades de transmisin para comunicar esta informacin ms detalladas

Onda senoidal original.

Muestreo limitado

Muestreo sin onda original

Reconstruccin de onda a partir del muestreo

Onda senoidal original

Muestreo mayor

Resultado del muestreo


00111 01000 01001 01001 01000 00101 10110 11000 11001 11001 11000 10111 10100 10001 00010 00111 01001 01010 01001 00111 00000 11000 11010 11010 11001 11000 10110 10001

Muestreo sin onda senoidal

Reconstruccin de onda a partir del muestreo

Teorema de Nyquist Pero cunto muestreo es suficiente? Esta pregunta la intent contestar en los aos 1920s un ingeniero elctrico que trabajaba para AT&T/Bell llamado Harry Nyquist. Su teorema dice Cuando se muestrea una seal, la frecuencia de muestreo debe ser mayor al doble del ancho de banda de la seal de entrada, para que sea posible su reconstruccin perfecta a partir de la versin muestreada. En esencia, esto significa que para codificar con precisin una seal anloga, se tiene muestrear al doble del ancho de banda de la frecuencia que se desea posteriormente reproducir. Dado que la red telefnica no lleva frecuencias menores a 300 Hz ni mayores a 4,000 Hz, una frecuencia de muestreo de 8,000 muestras por segundo sern suficientes para reproducir cualquier frecuencia dentro del ancho de banda usado por un telfono anlogo. El humilde DS-0. La base de todo Los bits son la base de la informacin digital, formados de ellos, los bytes son los grupos mnimos de almacenamiento con 8 bits cada uno. Dado lo anterior podemos ver que para digitalizar una llamada telefnica, la codificacin PCM necesitar grabar una muestra con un tamao de 8 bits 8,000 veces por segundo, esto es 64,000 bits por segundo. Estos 64 Kbps en canal, son conocidos como DS-0. El DS-0 constituye as el bloque fundamental de todos los circuitos digitales de telecomunicaciones.

LOS PROTOCOLOS VOIP La premisa bsica de la Voz sobre IP (VoIP) es la paquetizacion de flujos de audio para ser transportados a travs de redes basadas en el Protocolo de Internet. Los retos para lograr esto, estn relacionados con la manera en que los humanos nos comunicamos. No solo la seal debe llegar en, esencialmente, la misma forma en la que fue transmitida, pero debe llegar a hacerlo en menos de 150 milisegundos. Si los paquetes se pierden o se retrasan, habr una degradacin en la calidad de la experiencia de la comunicacin, resultando en que las personas involucradas en dicha pltica tengan problemas en mantener una conversacin. Hay que recordar que la finalidad de la telefona hasta este punto, sigue siendo poder comunicar a 2 humanos, por ello los estndares usados deben acoplarse a las limitantes y ventajas que ello implica. Calidad de Servicio o Quality of Service (QoS) La Calidad de Servicio, mejor conocido como QoS, se refiere a las prcticas desarrolladas para entregar flujos de datos sensibles al retraso a travs de redes que fueron diseadas para entregar datos en un escenario descentralizado siguiendo la premisa del mejor esfuerzo. Aunque no hay una regla nica, es generalmente aceptado que si se puede entregar el sonido producido por un emisor hacia el escucha dentro de 150 milisegundos, es posible tener llevar a cabo una conversacin con normalidad. Cuando el retraso excede los 300 milisegundos, se vuelve difcil evitar interrumpirse entre s. Ms all de los 500 milisegundos de retraso, una conversacin normal se vuelve crecientemente difcil y frustrante. Adicional a que los paquetes deben llegar a tiempo, es esencial que la informacin transmitida llegue intacta. Muchos paquetes perdidos evitaran que el nodo remoto pueda reproducir completamente el audio muestreado, los vacos de datos, pueden ser escuchados como esttica, o en casos severos, palabras o frases enteras faltantes. Incluso una prdida de paquetes del 5 por ciento puede impactar severamente una red VoIP. Protocolos VoIP Los mecanismos para llevar a cabo una conexion VoIP, generalmente involucran una serie de transacciones de seales entre dos nodos (y los gateways respectivos) culminando en dos flujos persistentes de audio (uno por cada direccion) que son los que en si, llevan la conversacin. Existen varios protocolos para llevar esto a cabo. El protocolo IAX fue desarrollado originalmente por Digium para poder comunicar servidores Asterisk entre si (por ello se llama al protocolo Inter-Asterisk eXchange). Es muy importante hacer notar que IAX no est limitado a Asterisk. El estndar es abierto para que cualquiera lo use y esta soportado por muchos proyectos de telecomunicaciones de cdigo abierto, as como varios desarrolladores de hardware. IAX es un protocolo de transporte (similar a SIP) que usa el puerto UDP 4569 tanto

para los flujos de sealizacin como para el audio. Como se descubrir al usarlo, esto hace mas fcil su administracin cuando se esta detrs de una NAT con firewall. El protocolo de inicio de sesin SIP o (Session Initiation Protocol) fue un protocolo que revoluciono a la industria. SIP ha destronado al anterior protocolo por defecto que era el H.323, o al menos esto ha sido as, en las terminales de los usuarios Codecs Los Codecs son entendidos generalmente como los modelos matemticos usados para codificar digitalmente (y comprimir) la informacin anloga del audio. Muchos de estos modelos, aprovechan la habilidad del cerebro humano para formar una impresin completa a partir de informacin incompleta. Hemos visto muchas ilusiones pticas, de manera similar, los algoritmos de compresin de voz, toman ventaja de nuestra tendencia a interpretar lo que creemos haber escuchado, en lugar de lo que en realidad escuchamos. El propsito de los varios algoritmos es lograr un balance entre eficiencia y calidad. Tabla del ancho de banda usado por diferentes codecs Codec Ancho de banda usado (Kbps) G.711 64 Kbps G.726 16, 24, 32, o 40 Kbps G.729A 8 Kbps GSM iLBC Speex G.722 13 Kbps 13.3 Kbps (en bloques de 30-ms) o 15.2 Kbps (en bloques de 20-ms) Variable (entre 2.15 y 22.4 Kbps) 64 Kbps Licencian requerida No No Yes (no para passthrough) No No No No

Costo-beneficio Es importante notar que por regla general, entre mayor sea la compresin lograda por el CODEC, mayores sern los requerimientos de procesamiento para el servidor. Esto se debe a los algoritmos usados en la compresin del audio. No toda la compresin-descompresin es fiel. Existen codecs que pierden informacin al llevar a cabo este proceso (como el GSM) sin embargo, dependiendo de las necesidades de fidelidad, este puede no ser un problema grave.

Dispositivos: Hardphones, Softphones y ATAs Hay tres tipos de dispositivos los cuales tpicamente se proveern a los usuarios que servirn como un telfono. A estos se les conoce popularmente como hardphones, softphones y ATAs (Analog Terminal Adaptor) Un hardphone es un dispositivo fsico. Se ve como un telfono convencional, tiene auricular, teclado numrico, etc. Se conecta directamente a la red y es lo que la gente comn conoce como telfono VoIP) Un softphone es una aplicacin en software que corre en una laptop o computadora de escritorio. El audio debe pasar a travs del sistema de sonido de la PC, por lo que normalmente se necesitara una diadema o bocinas para su uso. Recientemente, algunos softphones se han realizado para poder se usados en telfonos inteligentes que permiten al usuario conectarse a otras redes adicionales a la red celular. La interface de los softphones es generalmente muy parecida a la de los telfonos fsicos, aunque esto no sea necesario. Un ATA est diseado para permitir que telfonos anlogos tradicionales (y otros dispositivos anlogos como mquinas de fax, telfonos inalmbricos, etc.) sean conectados a una red con protocolo SIP. Tpicamente se encuentran en pequeas cajas con salidas tipo RJ11 para el telfono (conocido como puerto FXS), un conector RJ45 para la red de datos y un cable de alimentacin. Algunos ATAs pueden soportar ms de un telfono a la vez.

1 ASTERISK Asterisk es una aplicacin o software de cdigo abierto el cual emula una central telefnica (PBX1). Como cualquier PBX, se puede conectar un nmero determinado de telfonos para hacer llamadas entre s, ofrece adems como la mayora de los PBX, servicios tales como buzn de voz, transferencia de llamadas y operadora automtica. Al fusionar las redes telefnicas con redes de datos surge el concepto de Voz sobre IP (VoIP) ya que el protocolo usado en la red de datos es IP. Mark Spencer, actual colaborador de Digium, fue quien inicialmente desarrollo Asterisk y es a la fecha su principal desarrollador. Junto con el, la comunidad Asterisk de programadores ha contribuido a corregir errores, aadir novedades e implementar nuevas funcionalidades. Originalmente desarrollado para el sistema operativo Linux, Asterisk actualmente tambin funciona en BSD, MacOSX, Solaris y Microsoft Windows aunque la plataforma nativa (Linux) es la mejor soportada de todos. Asterisk se desarrolla y distribuye bajo licencia GPL2.

1Public Branch Exchange 2General Public License

Asterisk incluye muchas caractersticas anteriormente solo disponibles en sistemas propietarios. Adems los usuarios pueden crear nuevas funcionalidades escribiendo un plan de marcacin en el lenguaje script de Asterisk o aadiendo mdulos escritos en lenguaje C o en cualquier otro lenguaje de programacin soportado por Linux. Quiz lo ms interesante de Asterisk es que soporta muchos protocolos VoIP como pueden ser SIP, H.323 o IAX. Asterisk puede nter-operar con telfonos IP actuando como un registrador y como gateway entre ambos. 1.2 Sistema de archivos Al ser diseado para trabajar en una arquitectura bajo distribuciones Linux, Asterisk mantiene una estructura de archivos bien organizada. Los directorios ms importantes son: /etc/asterisk : residen todos los archivos de configuracin de Asterisk /var/lib/asterisk/sounds : almacena los archivos de audio usados por aplicaciones /var/lib/asterisk/mohmp3 : almacena los archivos de audio para la msica en espera (music on hold) /var/spool/asterisk/voicemail : almacena los archivos de audio que son por el correo de voz de los usuarios. /var/log/asterisk : almacena las bitcoras de las aplicaciones 2 CONFIGURACIONES Los archivos de configuracin con los que el usuario puede modificar el comportamiento del programa estn localizados en el directorio /etc/asterisk. Debido a problemas con el licenciamiento del nombre zapata, originalmente usado para designar el modulo Asterisk para comunicacin con el hardware, a partir de la versin 1.6 se ha sustituido este nombre por dahdi (Digium Asterisk Hardware Device Interface). La versin 1.4 es usada como transicin, pues esta soporta ambas interfaces. De entre todos los archivos ah localizados a continuacin se enlistan los relacionados con la administracin bsica del sistema. sip.conf: Enlista los usuarios SIP, les otorga privilegios y define el contexto en el dialplan al cual estn asignados. iax.conf: Enlista los usuarios IAX, les otorga privilegios y define el contexto en el dialplan al cual estn asignados. Estos usuarios son, primordialmente aunque no exclusivamente, otros PBX Asterisk. grabados

extensions.conf: Define el dialplan, es decir el flujo de las llamadas, tanto de salida como de entrada. Se definen en l "contextos" que son subsecciones donde se indican las extensiones a las cuales un usuario puede marcar. voicemail.conf: Describe el mensaje que los usuarios recibirn al tener un nuevo mensaje de voz. En l se especifican tambin los correos electrnicos a los cuales estn asociadas las extensiones. zapata.conf | chan_dahdi.conf: Especifica el contexto al cual se direccionarn las llamadas entrantes de las lneas telefnicas. En caso de que la tarjeta asociada sea suscriptor, enlistar a los usuarios zaptel, otorgndoles privilegios y definiendo el contexto en el dialplan al cual estn asignados. meetme.conf: Define las caractersticas de salas virtuales. users.conf: Contiene definiciones de todos los usuarios y troncales en Asterisk. Las definiciones en este archivo sobre-escriben a las definiciones en los archivos individuales. 2.1 Configuracin de los usuarios La arquitectura de una red de telefona IP con Asterisk se basa en una aplicacin cliente-servidor. Asterisk puede funcionar como cualquiera de los dos siendo como servidor su uso ms comn. Para lograr que Asterisk se comporte como servidor es necesario definir en sus archivos aquellos quienes sern sus clientes. Un cliente puede ser un programa de software que lleve a cabo las funciones de un telfono convencional, un telfono IP fsico, o bien un dispositivo ATA3 el cual permite a telfonos analgicos conectares a la red de datos. Asterisk soporta diversos protocolos, los ms usuales son SIP e IAX. En sus correspondientes archivos de configuracin y dependiendo del protocolo de comunicacin que utilicen han de darse de alta los clientes que podrn entablar comunicacin usando Asterisk como su servidor. La excepcin a esta regla esta dada por aquellos clientes que se conecten a Asterisk mediante puertos FXO4 ya que ellos debern configurarse en el archivo que configura su interfaz con Asterisk, es decir Zapata.conf 2.1.1 Usuarios con protocolo SIP El protocolo SIP (Protocolo de Inicio de Sesin) es uno de los Protocolos de Voz sobre IP ms ampliamente usado y soportado. SIP es fcil de configurar. Sin
3Analog Telephone Adapter 4Foreign Exchange Office

embargo es de tener en cuenta su comportamiento cuando los dispositivos en comunicacin estn detrs de un NAT5. La definicin de los clientes o usuarios que usaran SIP como su protocolo de comunicacin se hace en el archivo /etc/asterisk/sip.conf . Lo primero que hay que hacer es configurar los parmetros generales. Esto permite ajustar parmetros comunes para todas las conexiones usadas. [general] port = 5060 bindaddr = 0.0.0.0 context = default srvlookup = yes dtmfmode = rfc2833 contexto port: puerto donde escuchar asterisk las peticiones SIP bindaddr: direccin IP escuchar las peticiones SIP donde

context: contexto por defecto donde entrarn las llamadas srvlookup: habilitar consultas a nombres de servidores en llamadas dtmfmode: modo de tonos de marcado, ya sean inband, rfc2833 o info allow: habilitacin de los codecs

allow = all

A continuacin han de definirse las caractersticas de los clientes. Cada uno esta definido al menos por un contexto, su lugar de conexin (host) y un tipo. Un ejemplo tpico es similar al siguiente: [gerardo] type=friend contexto type: Define los privilegios que los usuarios tendrn para hacer o recibir llamadas. friend --> puede hacer y recibir llamadas peer --> solo puede recibir llamadas user --> solo puede hacer llamadas secret: Indica el password del cliente

secret=password

5Network Address Translator

[gerardo] host=dynamic

contexto host: Sirve para especificar cual ser la direccin del cliente a travs del cual se enviarn las llamadas. (Muchos clientes necesitan la opcin dynamic para funcionar correctamente)

context=coming-from-oficina context: Indica cul ser el contexto al que tenga acceso este cliente. De esta manera es ms rpido (aunque a veces no tan sencillo) otorgar o negar privilegios de llamadas a cada cliente. callerid="Gerardo"<121> callerid: Cuando el PBX realice llamadas, este enviara los datos contenidos en esta lnea como identificador del nmero. De esta manera es fcil sobrescribir los datos que pudiera tener el cliente por default.

2.1.2 Usuarios con protocolo IAX El protocolo IAX (Inter Asterisk Exchange) es un protocolo de voz nacido con Asterisk. No es tan ampliamente usado, pues hasta hace apenas un par de aos obtuvo su definicin RFC, aunque tiene grandes ventajas sobre el protocolo SIP. Su principal caracterstica y ventaja a la vez consiste en que IAX solo utiliza un solo puerto para hacer la negociacin y el envo de datos: el puerto 4569. La definicin de los clientes o usuarios que usaran IAX, dentro de Asterisk, es muy similar a la que se hace para los usuarios SIP, con la nica diferencia del puerto utilizado. El archivo de configuraciones por defecto est localizado en /etc/asterisk/iax.conf.

2.2 Plan de marcacin Para que Asterisk lleve a cabo las tareas de un PBX es esencial que se defina un plan de marcacin o dialplan. Este es el ncleo del sistema y define como Asterisk deber manejar las llamadas. Se compone de una lista de instrucciones o pasos que Asterisk debe seguir, y que son provocados por dgitos (o caracteres) recibidos en un canal o aplicacin.

En el dialplan se deben especificar cuales son los nmeros de extensiones y cuales sern las reglas a seguir para acceder a los servicios. Asterisk no proporciona interfaces graficas amigables y todo lo relacionado con su funcionamiento y configuracin debe llevarse a cabo mediante la edicin de archivos de texto. Entender la configuracin de Asterisk es algo as como aprender a programar, son eventos que van sucediendo, y que se tienen que ir organizando paso a paso, para que el PBX sepa que hacer. En el archivo /etc/asterisk/extensions.conf es donde se realiza la configuracin del dialplan. La lgica del archivo se compone de dos partes principales: contextos y extensiones. 2.2.1 Contextos Los contextos desempean un papel de organizacin dentro del plan de marcacin. Es la manera en la cual Asterisk guarda diversas partes del plan de marcacin de manera separada. Cualquier llamada que Asterisk maneje comenzar en cierto contexto y las instrucciones definidas en este contexto determinarn qu cosas pueden suceder en la llamada. Los contextos aparecen en el archivo como texto entre corchetes, v.g. [larga-distancia] [locales] [celulares] Al principio del archivo extensions.conf, hay un contexto especial llamado [globals] Este contexto es donde se definen las configuraciones y las variables que se usaran a lo largo de todo el archivo. 2.2.2 Extensiones Dentro de cada contexto se definen una o ms extensiones. En Asterisk, una extensin es una cadena de caracteres que generar un evento. Para indicar la extensin que el usuario deber marcar se utilizan los caracteres "exten". Cada lnea precedida de "exten" es una accin que el programa leer e interpretar., v.g. exten => 3001,1,Dial(Zap/G1/${EXTEN:1},70) exten => _001XXXXXXXX,2,Hangup

Despus de los smbolos (=>) aparecen varias reglas las cuales estn separadas por (,). La primera de ellas nos indica la numeracin a marcar. Esta la podemos dividir en 2 partes: fija y aleatoria. El guin bajo al inicio de los dgitos es un carcter indicativo de que existe una parte aleatoria en la marcacin. Si no existe parte aleatoria en la numeracin, entonces todos los dgitos presentes debern necesariamente ser introducidos por el usuario. La parte aleatoria corresponde a los dgitos que tendrn que ser marcados despus de la parte fija estos, debern estar en el rango de 0 a 9 por cada digito que sea sustituido por una X, 1 a 9 si son sustituidos por una Z o bien 2 a 9 si son sustituidos por una N. La segunda regla corresponde a la prioridad en el cual se ejecutar esta accin. El programa ejecuta sus acciones de manera secuencial incremental, por lo que la accin 1 se ejecutara antes que la 2, la 2 antes que la 3 y as sucesivamente. Anteriormente cuando al ejecutar una accin se reciba como respuesta un tono de "ocupado", el contador agregaba 101 a la accin que estaba siendo ejecutada, y el nmero resultante era la siguiente accin que el programa leia. Este comportamiento puede volver a tenerse agregando priorityjumping=yes en el contexto [globals] de este archivo. La tercer regla indica la accin que se va a ejecutar. Las acciones ms importantes son: Answer sintaxis --> Answer descripcin: "Contesta" el canal de una llamada entrante. En ocasiones no es necesario utilizarlo, aunque por seguridad es mejor ponerlo siempre que se reciban llamadas entrantes.

Background sintaxis --> Background(direccin del archivo de sonido SIN extensin) descripcin: Reproduce un archivo de sonido el cual puede ser interrumpido en cualquier momento por el usuario usando su teclado numrico.

Dial sintaxis --> Dial (canal [/] regla de toma de canal [/] nmero o usuario a marcar [,] tiempo de espera para una respuesta)

Dial descripcin: Marca la extensin indicada a travs del canal apropiado (Zap/DAHDI, SIP o IAX2) usando el que este disponible de acuerdo a la regla de toma del mismo (g,G,r R). Una variante de nmero a marcar es usar "${EXTEN}:1" donde se indica que el numero a marcar es el que el usuario a digitado para entrar en esta accin, es decir la extensin donde se encuentra la accin Dial. El numero "1" indica cuantos nmeros han de suprimirse antes de enviar la cadena de dgitos a la lnea telefnica. En caso de no requerir supresin de ningn nmero, basta con eliminar ":1" de la sintaxis.

Hangup sintaxis --> Hangup descripcin: Cuelga la llamada.

Meetme sintaxis --> Meetme(nmero de sala virtual[,] clave) descripcin: indica cual sala virtual ser ocupada y en su caso la clave de ingreso a la misma. Playback sintaxis --> Playback(direccin del archivo de sonido SIN extensin) descripcin: Reproduce un archivo de sonido el cual NO puede ser interrumpido durante su ejecucin. Solo hasta el termino del archivo de sonido, se ejecutar la accin siguiente.

Voicemail sintaxis --> Voicemail([u] | [b] extension) descripcin: Enva la llamada actual a un correo de voz. Indica tambin cual es la grabacin que el usuario escuchar antes de entrar al correo u= unavailable message, b= busy message. Adems indica la extensin a la cual se enviar al usuario. Wait sintaxis --> Wait (tiempo en segundos) descripcin: Mantiene la llamada activa aunque sin permitirle al usuario realizar ninguna accin.

A) Extensiones Especiales 's' - start (inicio) 'i' - invalid (invlido) 't' - timeout (agotado tiempo de espera agotado) 'h' - hangup (colgado) 'T' - absolute timeout (tiempo de espera absoluto agotado) start: se usa para la mayor parte de las llamadas que se inician sin ningn otro tipo de informacin conocida. invalid: es para cuando Asterisk determina que la entrada para la llamada no es vlida para el contexto actual. timeout: se usa cuando se presenta al usuario un men y no responde. hangup: es donde van las llamadas cuando se detecta el colgado, o donde se pueden enviar las llamadas que se desean colgar. Actualmente las variables sobre la llamada se pierden cuando se destruye el canal. absolute timeout: se usa para definir las acciones a seguir cuando la duracin total de una llamada ha excedido el valor de la variable "AbsoluteTimeout". B) Sentencias especiales La sentencia "ignorepat" permite que el usuario escuche tono de marcado incluso despus de haber marcado el digito o dgitos indicados. Sin ello, no habra tono de llamada despus de marcar los primeros nmeros. v.g. ignorepat => 9 exten => _9XXXXXXXX,Dial(Zap/g1/${EXTEN:1},20) exten => _9XXXXXXXX,2,Hangup Asterisk permite usar un contexto dentro de otro. La manera de hacerlo es usando la sentencia "include". Se usa con frecuencia para limitar y dar acceso a diferentes secciones de la PBX. Es importante el orden en que se incluyan otros contextos, ya que Asterisk intentar buscar primero la extensin en el contexto actual. Si no lo consigue, seguir con el primer contexto con include, y continuar con los siguientes. v.g. [contexto-1] .... .... [contexto-2] include => contexto-1

Un ejemplo completo de dialplan se muestra a continuacin: [coming-from-pstn] exten => s,1,Answer exten => s,2,Wait(2) exten => s,3,Background(/var/lib/asterisk/sounds/bienvenida) exten => s,4,Goto(oficina,100,1) [oficina] exten => 100,1,Dial(SIP/100,60) exten => 100,2,Voicemail(u100) exten => 100,3,Hangup exten => 100,102,Voicemail(b100) exten => 100,103,Hangup exten => 200,1,Dial(SIP/200,60) exten => 200,2,Voicemail(u200) exten => 200,3,Hangup exten => 200,102,Voicemail(b200) exten => 200,103,Hangup exten => 222,1,MeetMe(900) exten => 222,2,Hangup [larga_dist] exten => _001XXXXXXXXXX,1,Dial(Zap/G1/${EXTEN},60) exten => _001XXXXXXXXXX,2,Hangup exten => _001XXXXXXXXXX,102,Hangup [celulares] exten => _0044XXXXXXXXXX,1,Dial(Zap/g1/${EXTEN},60) exten => _0044XXXXXXXXXX,2,Hangup exten => _0044XXXXXXXXXX,102,Hangup 2.3 Correo de Voz Si el servidor tiene acceso a internet, existe la posibilidad de enviar un correo electrnico una vez que un correo de voz haya sido dejado en la bandeja de algn usuario. Las caractersticas del mismo, de su envi, as como detalles del funcionamiento del correo de voz en si pueden ser configurados a travs del archivo /etc/asterisk/voicemail.conf. A continuacin se explican solo las configuraciones mas importantes. emailsubject: indica el asunto que ser escrito cuando el correo electrnico sea enviado al destinatario.

emailbody: Expresa el cuerpo del mensaje que le llegar al usuario. Preferentemente deber ser un texto que le indique al usuario caractersticas tales como: numero de mensaje, duracin del mismo y nmero telefnico de la persona que le dejo el correo de voz. Existe tambin un contexto denominado "default" bajo el cual se debern especificar aquellas extensiones a las cuales se les asignar correo de voz, su clave de acceso (a este correo de voz, NO a su correo electrnico), la identificacin del usuario y si deber borrase el correo de voz del sistema una vez que el correo electrnico haya sido enviado a su destinatario. Un ejemplo de esta configuracin puede verse a continuacin: [default] 100 => 1234,BiancaPaige,bianca@biancapaige.com,,delete=1 200 => 3443,Rob Flynn,rflynn@blueridge.net 2.4 Salas de conferencia En el archivo /etc/asterisk/meetme.conf se especifican las salas virtuales con que contar el PBX. La asignacin de salas se puede hacer con uso de password o sin l. v.g.: [rooms] conf => 301,1234 conf => 302,4321 El primer argumento despus de conf=> indica el nmero de extensin virtual a la cual se dirigirn las llamadas. El segundo argumento indica la clave de acceso a la sala correspondiente. Si se desea que las salas de conferencia no cuenten con password bastar con omitir el segundo argumento de la definicin. La numeracin de estas extensiones servir como argumento al momento de ser llamadas desde el plan de marcacin con la aplicacin MeetMe. 2.5 Interfaz de salida (Asterisk) En el archivo /etc/asterisk/zapata.conf (Asterisk versines 1.4 o inferiores) o /etc/asterisk/chan_dahdi.conf (Asterisk versiones 1.4 o superiores) se definen las caractersticas que tendrn las lneas telefnicas, especifica el contexto al cual se direccionarn las llamadas entrantes de las lneas telefnicas y define la funcionalidad de los canales. En caso de que sean suscriptores, sern tratados de manera casi igual a los clientes SIP e IAX. En caso de que sean las entradas de telefona analgica o digital,

ser necesario definir adems del contexto al que se enviar la llamada entrante y las caractersticas de la lnea. signalling: Especifica el tipo de sealizacin que requiere el modulo especificado en la opcin channels. Puede se fxo_ks o bien fxs_ks para lneas analgicas, isdn o mfcr2 para las digitales. Es importante sealar que para lneas analogicas el tipo de sealizacin especificada en este archivo deber ser inversa al tipo de modulo presente fsicamente en la tarjeta: un modulo fxo necesitar sealizacin fxs y viceversa. group: Se pueden especificar grupos lgicos para administrar mejor las llamadas de salida (a trves del dialplan). Estos grupos pueden ser tantos como canales de salida tengamos disponibles. callgroup/pickupgroup: Los clientes pueden agruparse a su vez en grupos de llamadas y grupos para contestar. Si un telfono suena y otro cliente desea contestar la llamada, el cliente deber tener incluido el grupo para contestar al cual pertenezca la extensin que esta sonando. Si el grupo para contestar (del cliente que quiere tomar la llamada) y el grupo de la llamada (de la extensin que esta sonando) no coinciden, la llamada no podra ser tomada por el primer cliente. channels: Especifican el nmero de canales para los cuales las configuraciones superiores tendran efecto. 2.6 Interfaz de salida (Hardware versiones Asterisk 1.4 o inferiores) zaptel.conf El archivo zaptel.conf esta localizado en /etc/ y es usado para configurar el hardware. La diferencia entre el canal FXO y FXS esta simplemente en el tono de terminacin de la llamada. Un puerto FXO no genera tono de marcado, nicamente lo acepta; mientras que FXS tiene tono de marcado y un timbre para alertar al usuario de una llamada entrante. Un ejemplo de configuraciones es el siguiente: loadzone=us defaultzone=us fxsks=1-4 fxoks=5,6 La configuracin de la sealizacin del puerto debe hacerse contraria al tipo de puerto que se tiene. Asi un puerto FXO tendr sealizacin FXS y uno FXS

tendr sealizacin FXO. Despues de la definicin de la sealizacin, el termino ks proviene de Kewlstart que es el protocolo de sealizacin preferido para circuitos analgicos en Asterisk. Para el caso de un E1 se deber especificar el nmero de span o troncal, si el punto es maestro o esclavo en los tiempos del reloj, la compensacin (en caso de ser necesaria), y el tipo de sealizacin. 2.7 Interfaz de salida (Hardware versiones Asterisk 1.4 o superiores) system.conf El archivo system.conf est localizado en /etc/dahdi/ y es usado para configurar el hardware. La configuracin de la sealizacin del puerto debe hacerse contraria al tipo de puerto que se tiene. Asi un puerto FXO tendr sealizacin FXS y uno FXS tendr sealizacin FXO. Despues de la definicin de la sealizacin, el termino ks proviene de Kewlstart que es el protocolo de sealizacin preferido para circuitos analgicos en Asterisk. Un ejemplo de configuracin es el siguiente: loadzone=us defaultzone=us fxsks=1 echocanceller=mg2,1 La principal diferencia entre system.conf para DAHDI y zaptel.conf para ZAPATA es que en el primero se tiene que especificar el algoritmo de cancelacin de eco que se usar as como el canal donde esta definicin ser vlida. Para el caso de un E1 se deber especificar el nmero de span o troncal, si el punto es maestro o esclavo en los tiempos del reloj, la compensacin (en caso de ser necesaria), y el tipo de sealizacin. 3 COMANDOS 3.1 Comandos de Asterisk Asterisk esta diseado para poder correr como un servicio en Linux. Usualmente Asterisk inicia desde que enciende la PC, en caso de que sea necesario iniciarlo manualmente, basta con escribir en la lnea de comandos de Linux.

#service asterisk start Esto deber de arrojarnos un mensaje de confirmacin similar a Starting asterisk: [OK] De manera anloga podemos detener el servicio y revisar su status con los siguientes comandos: #service asterisk stop #service asterisk status La consola de asterisk nos muestra desde el funcionamiento en estado real del servicio, hasta el estatus de los diferentes clientes. Funciona como una ventana para analizar el funcionamiento del software aunque no nos permite hacer ninguna modificacin al mismo. Para poder tener acceso a la misma, es necesario escribir en la lnea de comandos #asterisk rvvvv Lo cual nos dar acceso a la consola pbx*CLI> Una vez hecho esto, ya estamos dentro del software. Podremos ahora ver de manera clara cada una de las acciones que tengan lugar a travs del PBX. Existen muchos comandos que la consola de asterisk acepta y los cuales pueden ser informativos o de ejecucin. A continuacin se listarn algunos de los mas comunes. Para mayor informacin es posible introducir help en la consola ya que con el se desplegara una lista completa de todos los comandos disponibles. Es posible tambien ejecutar estos comandos sin la necesidad de entrar a la consola de asterisk, basta con introducir desde la lnea de comandos en linux: asterisk rx, seguido del comando deseado. #asterisk rx [comando] Algunos comandos importantes son: reload .- Recarga asterisk. Cada vez que se realice un cambio en los archivos de configuracin es no necesario reiniciar el software para que dichos cambios sean tomados en cuenta por el software. Al ejecutar este comando Asterisk parsea nuevamente los archivos e incluye cualquier cambio en la siguiente llamada que se realice. Al ejecutarlo no se interrumpen las llamadas activas en el momento de ejecucin, por lo que para los usuarios los cambios sern transparentes. Algunas

variantes de este comando incluyen: sip reload y extensions reload, que recargaran la informacin de los archivos sip.conf y extensions.conf exclusivamente. sip show peers .- Muestra el estado de los clientes SIP dados de alta en el sistema. Aquellos que es ten registrados es decir activos en el momento, se mostraran con cu IP actual. Una variante de este comando es sustituir sip por iax2 para ver el status de los usuarios IAX. core show channels .- Despliega en pantalla una lista de los canales activos . Siempre existiran 2 canales activos por llamada. soft hangup [canal] .- Este comando sirve para colgar una llamada activa. Para conocer el canal es necesario mostrarlo primero con el comando show channels.

3.2 Comandos de Wanrouter La interfaz telefnica esta controlada por un servicio denominado wanrouter proveido por el distribuidor de la tarjeta Sangoma. Este servicio es quien intercambia mensajes con el hardware donde finalmente se conecta el E1 telefnico. De manera anloga al servicio de Asterisk, Wanrouter tambin se puede iniciar, parar o revisar su estatus. Asi tambin es de esperarse que este servicio inicialize al encender la PC. #service wanrouter start #service wanrouter stop #service wanrouter status

APNDICE A. RESOLUCIN DE PROBLEMAS Si se requiere reiniciar los servicios, el orden es MUY importante, y se deber ejecutar de la siguiente manera: #service asterisk stop #service wanrouter stop #service dahdi stop #service wanrouter start #service dahdi start #service asterisk start Es importante verificar que todos los servicios inicialicen sin errores. Finalmente es necesario entrar a la consola de Asterisk y efectuar una llamada para verificar que esta se realiza de manera correcta. #asterisk rvvvv

A.1 Problemas comunes En caso de que exista algn problema o bien no se ejecuten llamadas es necesario revisar los siguientes parmetros y seguir algunos pasos: Problema: Las transferencias no funcionan Revisar que la marcacin sea la adecuada Verificar que las teclas programables del telfono estn correctamente configuradas (asignadas a la opcin Transfer en el GUI del telfono) Verificar que el nmero de extensin o telfono al que se quiere transferir exista en el contexto adecuado en el plan de marcacin. Asegurarse que el usuario SIP que desea hacer la transferencia tiene permisos para realizarla (verificar la categora en el archivo sip.conf).

Problema: No hay llamadas a nmeros fijos Revisar que la marcacin sea la adecuada Comprobar que la clave (para llamadas de larga distancia y celulares) sea la correcta. Verificar si las llamadas internas funcionan normalmente Verificar que no existan alarmas en el E1 (el led en la tarjeta debe ser verde en todo momento)

Problema: No hay llamadas entre nmeros internos Revisar que la marcacin sea la adecuada Verificar que Asterisk se este ejecutando normalmente. Revisar que la VLan a la cual esta asigando el puerto LAN de la configuracin de los telfonos corresponda a la VLan de voz. Asegurarse de que exista conectividad entre el PBX y los telfonos SIP

Problema: La llamada nunca suena en la extensin a la que se marca Verificar que la diadema este conectada y/o que el speaker este activo Revisar que la marcacin sea la adecuada Verificar que el usuario SIP de la extensin a la que se desea marcar este bien definido en los archivos de configuracin. Verificar que Asterisk se este ejecutando normalmente. Verificar que el usuario SIP este registrado en la consola de Asterisk. Revisar que la VLan a la cual esta asigando el puerto LAN de la configuracin del telfono corresponda a la VLan de voz.

APNDICE B. GUIA RPIDA DE ADMINISTRACIN ASTERISK-PBX B.1 Configuracin del telfono IP Abrir un explorador web apuntando a la direccin IP del telfono. Introducir los datos particulares en la seccin SIP Global Settings (ejemplo para telfono Aastra 53i): a) b) c) d) e) f) g) h) i) j) k) l) Screen name: GPS 1 Screen name2: ext 1118 Phone number: 1118 Caller ID: 1118 Authentification Name: 1118 Password: 1118 Proxy server: 192.168.1.3 Proxy port: 5060 Outbound Proxy server: 192.168.1.3 Outbound proxy port: 5060 Registrar Server: 192.168.1.3 Registrar Port: 5060

Todos los dems datos pueden quedar con la configuracin por default. Introducir los datos particulares en la seccin Configuration Line 1 (ejemplo para telfono Aastra 53i): a) b) c) d) e) f) g) h) i) j) k) l) Screen name: GPS 1 Screen name2: ext 1118 Phone number: 1118 Caller ID: 1118 Authentification Name: 1118 Password: 1118 Proxy server: 192.168.1.3 Proxy port: 5060 Outbound Proxy server: 192.168.1.3 Outbound proxy port: 5060 Registrar Server: 192.168.1.3 Registrar Port: 5060

Todos los dems datos pueden quedar con la configuracin por default. Ir a la Opcin RESET del GUI y dar click en el botn RESTART para reiniciar el telfono con la nueva configuracin.

B.1.2 Configuracin de la lnea Entrar a la lnea de comandos del servidor Editar el archivo /etc/asterisk/sip.conf agregando al final del archivo las definiciones de la nueva extensin v.g.:
[1118] type=friend username=1118 secret=1118 host=dynamic context=cat-3 callgroup=2 pickupgroup=2 callerid=GPS 1<1118> dial=SIP/1118

Importante! Tener especial cuidado en modificar segn sea el caso el grupo de llamada (callgroup), el grupo de captura (pickupgroup), el contexto (context) y la marcacin (dial).

B.2 Modificar los permisos de llamada de una extensin. Entrar a la lnea de comandos del servidor. Editar el archivo /etc/asterisk/sip.conf modificando la categora a la cual est asignada el telfono v.g.:
.. .... context=cat-3 .... ..

Si lo que se desea es agregar permisos a una categoria, entonces se deber editar el archivo /etc/asterisk/extensions.conf , localizar el contexto de la categora a modificar y aadir o eliminar contextos de llamadas v.g.:
[cat-3] include include include include include include include include => => => => => => => => internas emergencias gratuitos locales nacionales celulares espia ruleta

B.3 Monitorear el estado del servidor

Para poder revisar el espacio libre en el disco duro, entrar a la lnea de comandos del servidor y teclear df -hv.g.:
# df -h Filesystem /dev/hda3 /dev/hda1 none /tmp Size 75G 99M 505M 243M Used 17G 17M 0 7.2M Avail 54G 78M 505M 223M Use% 24% 18% 0% 4% Mounted on / /boot /dev/shm /tmp

Si el espacio libre en disco es menor al 10% es recomendable liberar memoria. La mejor manera es borrando los archivos de logeo que ya no se utilicen. Se recomienda comenzar por aquellos encontrados en /var/log/asterisk/ y sus subcarpetas, especialmente el archivo /var/log/asterisk/cdr-csv/Master.csv que contiene los registros histricos de todas las llamadas realizadas mediante Asterisk. Es importante recordar que es recomendable realizar una copia de aquellos archivos que se desee eliminar. Ya que algunos archivos de logeo podran estar en uso al momento de desear borrarlos, la manera recomendable de eliminar su contenido es usando la siguiente sintaxis: echo fecha y hora > archivo.extension, v.g.:
# echo 24 de diciembre 10:00 am > /var/log/asterisk/cdr-csv/Master.csv

Para poder revisar el estado de la memoria RAM, entrar a la lnea de comandos del servidor y teclear free -m v.g.:
# free -m total used free shared buffers Mem: 750 625 125 0 -/+ buffers/cache: 254 496 Swap: 956 0 956 cached 35

335

Si se desean ver los procesos activos se puede usar el comando top v.g.:
# top top - 23:50:16 up 3:25, 1 user, load average: 0.00, 0.00, 0.00 Tasks: 88 total, 1 running, 87 sleeping, 0 stopped, 0 zombie Cpu(s): 0.0% us, 0.0% sy, 0.0% ni, 100.0% id, 0.0% wa, 0.0% hi, 0.0% si Mem: 2055112k total, 227684k used, 1827428k free, 53556k buffers Swap: 2096472k total, 0k used, 2096472k free, 100884k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1 root 16 0 4876 596 500 S 0.0 0.0 0:00.78 init 2 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0 3 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0 4 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/1 5 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/1 6 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/2 7 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/2

10 root 11 root 12 root 13 root 14 root

10 10 10 10 19

-5 -5 -5 -5 -5

0 0 0 0 0

0 0 0 0 0

0S 0S 0S 0S 0S

0.0 0.0 0.0 0.0 0.0

0.0 0.0 0.0 0.0 0.0

0:00.00 events/0 0:00.00 events/1 0:00.00 events/2 0:00.00 events/3 0:00.00 khelper

B.4 Agregar un nuevo DID de entrada Entrar a la lnea de comandos del servidor. Editar el archivo /etc/asterisk/extensions.conf y agregar el nuevo DID en el contexto from-pstn v.g.:
exten => 8872,1,Answer() exten => 8872,2,Dial(SIP/1003,60) ; Alarmas escolares fallas

APNDICE C Comandos el editor de texto vi Editar un archivo: # vi nombre_del_archivo.extension # vi sip.conf # vi /etc/asterisk/sip.conf Dentro del archivo: i esc u :w :q! :wq inicializar modo de insercin de texto. salir del modo de insercin de texto, cancelar operacin. undo- deshacer los ltimos cambios hechos en modo insercin. escribir cambios al archivo. cerrar el archivo sin guardar los cambios. cerrar el archivo guardando los cambios hechos.

BIBLIOGRAFA Asterisk: The Definitive Guide, Third Edition, by Leif Madsen, Jim Van Meggelen, and Russell Bryant (OReilly). Copyright 2011 Leif Madsen, Jim Van Meggelen, and Russell Bryant, 978-0-596-51734-2.

Вам также может понравиться