You are on page 1of 257

Comunicaciones Unificadas con Elastix Edgar Landvar

Copyright (c) 2008 Edgar Landvar Este documento est permitido de copiar, distribui r y/o modificar bajo los trminos de la licencia GNU Free Documentation License, V ersin 1.3; sin Secciones Invariantes (Invariant Sections), Textos de Cubierta Fro ntal (Front-Cover Texts), y sin Textos de Cubierta Posterior (Back-Cover Texts). El autor puede en cualquier momento decidir actualizar la licencia de la presen te obra a una versin ms reciente de la GNU Free Documentation License. Una copia d e esta licencia se incluye en el Apndice D: GNU Free Documentation License. Prime ra Edicin, versin Beta 2

A los que siempre creyeron y a otros gigantes que nos mostraron el camino 3

Reconocimiento La elaboracin de este libro involucr un enorme trabajo que fue facilitado gracias a la generosa ayuda de algunas personas con las cuales me encuentro agradecido. Mis ms sinceros agradecimientos a: A la comunidad Elastix, por su valioso feedbac k del producto Elastix y de seguro por el que vendr acerca de esta obra. Sin este componente este libro no podra evolucionar Edwin Boza, por su ayuda en el captulo de instalacin de Elastix sobre soft RAID Bruno Macas, por aportar con contenido p ara el apartado de Endpoint Configurator Jorge Gutierrez, por colaborar con cont enido para la configuracin de telfono IP Polycom Rafael Bonifaz, por disipar mis d udas acerca de la FDL Licenciamiento Este libro ha sido licenciado bajo FDL (Free Documentation License). 5

Indice Introduccin ..................................................................... ............................................. 15 1. Introduccin a la telefona .... ................................................................................ ... 17 1.1 Breve historia de la telefona ........................................ ........................................ 17 Los albores de la telefona .......... ............................................................................ 17 Los dolores de cabeza de las famosas patentes .................................. .................... 18 El desarrollo de la tecnologa telefnica................... .............................................. 19 1.2 Principios y transmisin de la voz humana .......................................................... 20 Rang o de frecuencias de la voz humana............................................... .................. 21 El micrfono ............................................... ............................................................ 21 Ancho de banda y capacidad de informacin......................................................... 23 1.3 Digitalizacin de la voz ................................................. ....................................... 23 Teorema de Nyquist................... ............................................................................. 24 1.4 Redes orientadas a circuitos .............................................. ................................... 24 1.5 Redes orientadas a paquetes ......... ........................................................................ 25 1.6 Red Pblica Telefnica (PSTN)....................................................... ..................... 25 1.7 Circuitos analgicos ................................ ............................................................. 26 Sealizacin analgic a .............................................................................. ............. 26 DTMFs ......................................................... .......................................................... 29 El telfono analgico ................................................................................ .............. 29 1.8 Circuitos digitales ...................................... ........................................................... 31 La base DS-0 .... ................................................................................ ...................... 31 Circuitos T-carrier y E-carrier ...................... .......................................................... 31 SONET y Circuitos Opticos ........................................................................ ........... 31 1.9 Protocolos de Sealizacin Digital............................... ........................................ 32 Sealizacin Asociada al Canal (CAS) ... ............................................................... 32 Sealizacin de C anal Comn (CCS).................................................................. ... 33 2. Introduccin a la VoIP.................................................. ........................................... 35 2.1 Protocolo IP ................ ................................................................................ .......... 36 El Internet ...................................................... ......................................................... 36 Qu es el protocolo I P?.............................................................................. ............. 36 Direccin IP..................................................... ....................................................... 36 Paquete IP .......... ................................................................................ ..................... 37 Direccionamiento IP ................................... ............................................................ 38 2.2 Protocolos d e transporte ................................................................... .................... 39 Protocolo TCP .......................................... .............................................................. 39 Protocolo UDP. ................................................................................ ....................... 40 7

2.3 Codificacin de la voz ....................................................... ................................... 40 Codecs .................................. ................................................................................ .. 41 3. Linux para Administradores de Elastix ................................. ................................ 43 3.1 Introduccin.............................. ............................................................................ 43 3.2 Lnea de comandos de Linux.................................................... ............................ 44 3.3 Comandos bsicos ............................. ................................................................... 45 3.4 Siste ma de archivos ................................................................. ............................. 47 Organizacin..................................... ...................................................................... 47 Permis os ............................................................................. .................................... 48 3.5 RPMs y actualizaciones va Yum........ ................................................................. 52 Yum al resc ate ............................................................................ ............................ 53 4. Asterisk Essentials ......................... ........................................................................... 55 4 .1 Qu es Asterisk? .............................................................. ..................................... 55 4.2 Breve historia de Asterisk ........ ............................................................................ 56 4.3 Funcionalidad provista por Asterisk......................................... ............................ 56 4.4 Funcionamiento de Asterisk ................. ................................................................ 62 Encendido y apagado......................................................................... ..................... 62 Directorios de Asterisk ............................... ............................................................ 63 Estructura modul ar ............................................................................. .................... 63 4.5 El proyecto Zaptel, ahora DAHDI..................... ................................................... 64 Breve historia del proyec to Zaptel....................................................................... ... 65 4.6 Configuracin de Asterisk ............................................. ....................................... 66 Archivos de configuracin ............. ........................................................................ 66 Come ntarios en los archivos de configuracin.......................................... ............. 66 4.7 Plan de marcado (dial plan) ............................... ................................................... 67 Contextos ............... ................................................................................ ................. 67 Instrucciones.............................................. ............................................................. 68 Variables...... ................................................................................ ........................... 70 Aplicaciones ms comunes........................... .......................................................... 71 4.8 Asterisk CLI . ................................................................................ ........................ 73 Comandos del CLI.................................... .............................................................. 74 4.9 Asterisk A GI.............................................................................. ........................... 76 Ejecucin de scripts AGI........................... ............................................................. 76 Parmetros enviad os al script AGI................................................................ ......... 77 Comandos AGI ...................................................... ................................................. 78 Libreras AGI................ ................................................................................ .......... 80 4.10 Asterisk AMI ................................................ ...................................................... 80 Probando desde telnet. ................................................................................ ............ 81 Comandos AMI ................................................... ................................................... 82 8

5. Instalando Elastix .......................................................... ........................................... 85 5.1 Instalando desde CD.......... ................................................................................ ... 85 5.2 Instalando Elastix sobre un CentOS o Red Hat preinstalado ........... .................... 91 5.3 Instalando sobre un soft RAID ...................... ....................................................... 91 6. Elastix Overview . ................................................................................ ...................... 97 6.1 Breve historia del proyecto....................... ............................................................ 98 6.2 Caracterstica s de Elastix.................................................................... .................. 98 VoIP PBX ................................................. .............................................................. 99 Fax .......... ................................................................................ .............................. 100 General ..................................... ............................................................................ 100 Email.......................................................................... ........................................... 100 Colaboracin...................... ................................................................................ ... 101 Extras ................................................................. ................................................... 101 Call Center............. ................................................................................ ............... 101 Mensajera instantnea ......................................... ................................................ 101 6.3 Licenciamiento ........ ................................................................................ ........... 102 7. Elastix: Configuracin Bsica ................................... ............................................ 103 7.1 Reconociendo la interfase d e administracin Web ............................................ 103 System ..... ................................................................................ ............................. 103 PBX .......................................... ............................................................................ 105 Fax ........................................................................... ............................................. 105 Email......................... ................................................................................ ............ 106 IM ............................................................ ............................................................. 106 Reports....... ................................................................................ ........................... 106 Extras ......................................... ........................................................................... 107 Agenda.......................................................................... ........................................ 107 Ingreso al Sistema................. ................................................................................ 108 7.2 Configuracin de red .................................................... ...................................... 108 7.3 Creando una extensin ............. .......................................................................... 108 C onfiguracin de telfono softphone.................................................. .................. 111 7.4 Configuraciones generales............................ ...................................................... 111 Opciones del comando Dial (Dial command options).......................................... 113 7.5 Co nfiguracin de colas ............................................................. .......................... 113 7.6 IVR y sistema de grabacin..................... ........................................................... 117 Grabacin de mensa je de bienvenida ............................................................... .... 118 Configurar un IVR de bienvenida ....................................... ................................. 119 7.7 Salas de conferencias................. ......................................................................... 121 7. 8 Parqueo de llamadas .......................................................... ........................... 123 7.9 Msica en espera ............................. ................................................................... 125 9

7.10 Flash Operator Panel (FOP) ................................................ ............................. 126 7.11 Funciones de transferencia de llamadas .. ......................................................... 127 Transferencia cieg a............................................................................... ................ 127 Transferencia atendida..................................... ..................................................... 127 8. Configuracin de hard ware............................................................................ ....... 129 8.1 Tipos de tarjetera y fabricantes................................. ......................................... 129 8.2 Instalando fsicamente la tarjet era ..................................................................... 130 Har dware modular .................................................................. .............................. 131 8.3 Deteccin de hardware ..................... .................................................................. 131 8.4 Confi guracin de interfaces digitales a bajo nivel..................................... ......... 132 Configuracin de los drivers de Zaptel ............................. ................................... 133 8.5 Configuracin de troncales............ ..................................................................... 134 zapata .conf........................................................................... ................................. 135 9. Configuracin de telfono IP .............. ................................................................... 139 9.1 Conf iguracin de softphone............................................................ .................... 140 9.2 Configuracin de telfono fsico ........................ ................................................ 143 Configuracin de red ........ ................................................................................ .... 144 Registro del dispositivo con el servidor Elastix ...................... ............................. 146 9.3 Utilizando el endpoint configurator ...... ............................................................. 150 Configuracin de un telfono ATCOM, modelo AT-530 .................................... 152 Configu racin de un telfono Polycom SoundPoint IP 501................................. 154 Actualizacin por TFTP .......................................................... ............................. 156 Personalizando los archivos de configuracin ... .................................................. 156 10. Elastix: Configuracin avanzada ....................................................................... . 159 10.1 Ruteo de llamadas.................................................... ......................................... 159 Rutas Entrantes .................. ................................................................................ ... 159 Rutas Salientes......................................................... ............................................. 162 10.2 Troncales ............... ................................................................................ ........... 163 Troncales de tipo IAX y SIP..................................... ............................................ 165 Troncales de tipo ZAP.......... ................................................................................ 166 Troncales personalizadas................................................... ................................... 166 10.3 Tarifacin .......................... ............................................................................... 166 Visualizar, Editar y Eliminar .............................................. .................................. 167 Crear Tarifa ............................ .............................................................................. 1 67 Reporte de Facturacin......................................................... ................................ 168 Distribucin de Destinos .................... .................................................................. 169 Configura r Facturacin..................................................................... .................... 171 10.4 Reportes ......................................... ................................................................... 172 Reporte CDR ............................................................................ ............................ 172 10

Uso de Canales ................................................................. .................................... 173 10.5 Configuracin DISA.................. ....................................................................... 174 10.6 Condiciones de tiempo ......................................................... ............................ 175 11. Funcionamiento interno de freePBX ......... ......................................................... 179 11.0 Fundamentos d e freePBX....................................................................... ......... 179 11.1 Organizacin de archivos ...................................... .......................................... 180 11.2 Configuracin ................ ................................................................................ ... 181 amportal.conf........................................................... ............................................. 181 11.3 retrieve_conf: generador del plan de marcado ................................................ 182 11.4 di alparties.agi................................................................... ................................ 182 11.5 Estructura de un mdulo de freePBX ..... ......................................................... 183 12. Interconexin co n Elastix remotos............................................................... ....... 185 12.1 A travs de troncales SIP........................................ .......................................... 185 Definiendo la troncal ........... ................................................................................ . 186 Definiendo la ruta saliente............................................... ..................................... 187 12.2 Conexin con proveedores de llamada s va IP................................................. 187 Definiendo la tronca l .............................................................................. .............. 188 Definiendo la ruta saliente.................................. .................................................. 188 13. Calidad de voz....... ................................................................................ ................ 191 13.1 Sntomas que afectan la calidad de voz ................. ........................................... 191 Eco ............................ ................................................................................ ............ 191 Bajo nivel o volumen........................................... ................................................. 193 Retardo .................. ................................................................................ ............... 193 Distorsin de la voz ......................................... ..................................................... 193 Comunicacin entrecortad a .............................................................................. .... 194 13.2 Parmetros relacionados con la calidad de voz en redes de paquetes . ............. 194 Retardo de red................................................ ....................................................... 194 Prdidas de paquetes.. ................................................................................ ........... 195 Jitter ......................................................... ............................................................. 195 13.3 Cmo medir la calidad de voz .............................................................. ............ 196 Escala MOS .................................................... ...................................................... 197 Modelo E ............ ................................................................................ .................. 198 13.4 Canceladores de eco ................................ ......................................................... 201 Cmo funciona un can celador de eco? ................................................................ . 201 El estndar G.168 .......................................................... ....................................... 203 14. Protocolos SIP y RTP al descubie rto .................................................................. 205 14.1 Protocolo SIP................................................................... ................................. 205 Detalles del protocolo.................... ....................................................................... 206 Seali zacin SIP: Mtodos y respuestas ................................................... ........... 206 11

SIP y Asterisk ................................................................. ...................................... 207 14.2 Protocolo RTP .................. ................................................................................ 207 Estructura de un paquete RTP .............................................. ................................ 208 15. Diagnstico bsico de problemas ........... ............................................................. 211 15.1 Interpret ando el log..................................................................... ..................... 211 El archivo /var/log/asterisk/full .................... ........................................................ 213 Qu informacin nos pue de indicar el campo TEXTO? ...................................... 214 Nmero de pr oceso........................................................................... .................... 215 15.2 Diagnstico a travs del CLI ......................... .................................................. 215 15.3 Sniffing............ ................................................................................ ................. 215 Captura de llamadas....................................... ....................................................... 216 Apndice A: Banco de p reguntas de prueba ............................................................ 217 Preguntas .................................................................. ................................................ 217 Apndice B: Archivos de confi guracin de Asterisk distribuidos con Elastix...... 221 Apndice C: Lista de comando s de CLI ................................................................... 227 Apndice D: GNU Free Documentation License ...................................... ............... 235 12

13

14

Introduccin Ya existan otros libros o manuales de Elastix cuando me vi en la misin de Escribir la presente obra. Haba ledo ya Elastix Without Tears, un gran trabajo de Ben Shar iff y me pareca que ya estaban cubiertos los temas ms importantes cuando nos reuni mos en mi oficina con otros colaboradores a planificar lo que sera nuestro nuevo producto de entrenamiento para la certificacin de Elastix. Casi de inmediato nos dimos cuenta que pese a que las obras existentes cubran muchos tpicos importantes no serviran como material de estudio para un curso de certificacin. La obra que ne cesitbamos tena que cubrir aspectos internos del funcionamiento de Elastix y sus c omponentes, as como tambin cubrir posibles vacos de los alumnos en tpicos diversos c omo Asterisk y protocolos de comunicacin como SIP y RTP. No exista nada parecido e n ese momento, una alternativa era usar diferentes obras para cubrir la totalida d del entrenamiento pero eso sera un poco engorroso y se vera algo desorganizado. Salimos de la reunin con el sinsabor de no tener material de estudio. Semanas des pus me di a la tarea de escribir un pensum para nuestros cursos olvidndome un poco del tema del libro faltante. El pensum fue del agrado de todos as que decid bosqu ejar brevemente lo que debera contener cada tpico y ese fue el inicio del libro qu e tienen en sus manos (o en su pantalla)... Sin darme cuenta lo haba comenzado a escribir. Una noche en mi casa vi que ya tena cierta forma as que decid comentarlo al siguiente da en la oficina y todos aprobaron la idea. Decidimos hacer dos libr os, el primero llamado Administracin de Elastix que cubrira los tpicos requeridos p ara nuestro primer curso y un segundo libro llamado Dominando Elastix que cubrira los tpicos de nuestro segundo y final curso. Ya iba por la mitad del primer libr o cuando surgi la pregunta acerca del licenciamiento de la obra. Elastix es softw are libre y no haba pensado an en el licenciamiento del libro. Algunos pensaban en que no debera ser libre debido a que era material de entrenamiento que de alguna manera nos otorgaba ventaja competitiva en el mercado. En este punto debo de ag radecer la ayuda de algunos integrantes del equipo de PaloSanto Solutions por su s acertados argumentos en pro de FDL (Free Documentation License). Finalmente la presente obra se termino con la escritura de esta introduccin el 29 de Octubre d e 2008. Espero que sea de la utilidad y agrado de todos vosotros. -- Edgar Landivar Elastix Project Leader

16

Introduccin a la telefona No importa si yo muero, otros terminarn mi trabajo -- Mark Twain 1.1 Breve historia de la telefona Sin duda la invencin de lo que hoy conocemos como telefona debi ser un acto asombro so en su tiempo, casi mgico. El or la voz de alguien remoto en tiempo real saliend o de una misteriosa caja en una poca en la que esto era solo posible en la cienci a ficcin debi haber sido una experiencia nica y casi fantstica. De seguro que la ide a de un aparato parlante ya rondaba por la cabeza de muchos inventores desde tie mpos inmemoriales, pero fue a inicios del siglo 19 cuando pareca algo alcanzable pues ya se haba descubierto la electricidad, inventado el telgrafo y algunos ya ex perimentaban con ondas de radio. Los albores de la telefona A mediados del siglo 19 hubo un interesante movimiento en torno a lo que hoy con ocemos como telfono. 17

En 1849 Antonio Meucci, mdico italiano considerado por muchos como el inventor de l telfono, hace una demostracin de un dispositivo capaz de transmitir voz en La Ha bana. Pocos aos despus, en 1854, el mismo Meucci hace una nueva demostracin de su i nvencin en la ciudad de Nueva York. Mientras Meucci se las daba a las tareas de i nventor, otros tambin perseguan la idea de construir un telgrafo parlante y es as como en 1860 el alemn Johann Philipp Reis construye un dispositivo capaz de transmiti r voz basado en la idea original de Charles Bourseul, quien a su vez describi la construccin de dicho dispositivo en 1854 pero nunca lo construy. Reis continu mejor ando su aparato y un ao ms tarde ya estaba transmitiendo voz a ms de 100 metros de distancia. Telfono de Reis Un par de aos ms tarde Innocenzo Manzetti construye el esperado telgrafo parlante que l mismo haba visionado ya en 1844, pero no se interesa en patentarlo. Los dolores de cabeza de las famosas patentes Hasta aqu ya existan algunos prototipos de telfono pero nadie lo haba patentado. El primero en tratar de patentar el invento fue Meucci, quien en 1871 suscribi un do cumento de aviso de patente pero por su condicin econmica nunca pudo pagar el dinero para terminar este trmite y su aviso de patente expir pocos aos despus. 18

A Meucci no le fue muy bien que digamos pues no pudo vender su invento y alcanza r la prosperidad. En 1875, un ao despus de expirar el trmite de patente de Meucci, Alexander Graham Bell logra patentar un aparato similar y es el primero en paten tarlo. Gracias a la patente Bell pudo hacer de la idea del telfono un negocio ren table y tiene el mrito de haber desarrollado la idea y convertirla en algo prctico para la sociedad. Se cuenta que en determinado momento Bell trat de vender su pa tente a Western Union por $100 mil dlares pero el presidente de Western Union se neg pues consider que el telfono era nada ms que un juguete. Tan solo dos aos ms tard e coment a sus colegas que si pudiera conseguir la patente de Bell por $25 millon es de dlares lo considerara una ganga. Esto nos da una idea de cmo comenzaba a crec er el negocio de Bell. En 1886, ya existan ms de 150,000 abonados telefnicos en los Estados Unidos. Ilustracin de dos personas hablando por telfono a fines del siglo IXX A partir de aqu la telefona poco a poco se empez a convertir en un servicio bsico de la sociedad actual. El desarrollo de la tecnologa telefnica 19

Como sucede siempre con los avances tecnolgicos la telefona continu evolucionando. Al principio, para que un abonado se comunicara con otro este tena que solicitarl e la llamada a una operadora, quien manualmente conectaba los cables para conmut ar un punto con otro. En 1891 se invent un telfono automtico que permita marcar direct amente. En un principio Bell fue casi exclusivamente la nica compaa en explotar la tecnologa debido a sus patentes. Sin embargo, cuando estas expiraron nacieron cie ntos de pequeas compaas que empezaron a dar servicio, la mayora en sitios rurales do nde Bell an no llegaba. Poco a poco estas compaas empezaron a crecer y ya a inicios del siglo 20 tenan en su conjunto ms abonados que la propia Bell. La sana compete ncia hizo lo suyo y la tecnologa telefnica aceler su evolucin. Ya para finales de la segunda guerra mundial el servicio telefnico llegaba a millones de abonados. En 1947, cientficos de Bell inventan el transistor y cambian el curso de la historia de la humanidad. En 1948 ganan el Premio Nobel por su trabajo. En los aos 60s se lanzan los primeros satlites de comunicaciones y las comunicaciones entre contin entes se facilitan. No est dems decir que esto no hubiera sido posible sin la prev ia invencin del transistor. 1.2 Principios y transmisin de la voz humana La voz humana est compuesta por ondas acsticas que viajan a travs del aire a la vel ocidad del sonido, esto es a 1,244 Km/h (o 340 m/s). Bastante rpido verdad? Inclu so ms rpido que un avin comercial. Pero esta rapidez no significa que me pueda comu nicar fcilmente con puntos distantes pues la voz humana se atena rpidamente, perdie ndo energa a medida que viaja. Luego de unos pocos metros ya no podemos escuchar una conversacin. La voz humana por tanto es de la misma naturaleza que el resto d e ondas acsticas y esto ya se conoca desde antes de la invencin del telfono. Antes d e la invencin del telfono tambin se conoca que existan otros tipos de ondas llamadas ondas elctricas y que estas podan ser transmitidas a travs de un conductor metlico c omo un cable de cobre. Este segundo tipo de ondas es de una naturaleza diferente a las ondas acsticas y viaja a la velocidad de la luz, es decir aproximadamente 300,000 km/s. Es decir, ms de lo que podamos imaginar, casi instantneamente desde un punto de vista terrenal. Adicionalmente podemos controlar la atenuacin de esta s ondas y hacerlas viajar por grandes distancias. 20

Con estos hechos conocidos ya a mediados del siglo 19 es fcil comprender que much os persiguieran la idea de transformar las ondas acsticas en ondas elctricas para as poder transmitirlas a grandes distancias. La cuestin es que haba que inventar un dispositivo para hacer dicha transformacin y all estaba la clave del asunto. Este dispositivo, conocido como micrfono en nuestros das es una parte importante de cu alquier aparato telefnico. Rango de frecuencias de la voz humana Otra caracterstica importante de la voz humana es que las cuerdas vocales modulan la voz en un amplio espectro de frecuencias que van de graves a agudos en un ra ngo aproximado de 20Hz a 20kHz. Todo un abanico de sonidos. Esto quiere decir qu e un micrfono debe ser capaz de capturar y transmitir este rango de frecuencias. Hmmm.... bueno, casi. En la actualidad sabemos que para transmitir voz "entendib le" no es necesario transmitir todas las frecuencias sino un rango mucho menor y transmitir un rango menor de frecuencias tiene sus ventajas pues facilita la tr ansmisin como veremos ms adelante. Por lo tanto los telfonos comerciales solo trans miten un rango aproximado de 400Hz a 4kHz. Esto distorsiona un poquito la voz pe ro de todas maneras se puede entender. Es por eso que cuando omos a alguien por t elfono su voz suena ligeramente diferente que en la vida real pero aun as podemos entender la conversacin. El micrfono El micrfono fue un elemento clave en la invencin del telfono pues era el dispositiv o que realizaba la conversin de las ondas mecnicas a ondas elctricas. Hay muchos ti pos de micrfonos que operan sobre diferentes principios. Uno que se us por mucho t iempo en telfonos era el de carbn que consista en una cpsula llena de granos de carbn entre dos placas metlicas. Una de las placas era una membrana que vibraba con la s ligeras presiones de las ondas de voz; de esta manera la resistencia elctrica d e la cpsula variaba con la voz y de esta manera se generaba una seal elctrica corre spondiente. Otro tipo de micrfono muy comn en la actualidad es el dinmico o electro -magntico que consiste en una bobina de hilo de cobre enrollada sobre un ncleo de material ferromagntico. Este ncleo se encuentra sujetado a un diafragma que vibra con la presin de las ondas de voz. De esta manera se induce una ligera corriente elctrica en la bobina que es amplificada luego al interior del telfono. 21

Tpico micrfono de carbn extrado de telfono de disco Diagrama esquemtico de micrfono electro-magntico 22

En la figura anterior podemos observar los componentes del micrfono electromagntic o. 1 2 3 4 5 Ondas de voz Diafragma Bobina Ncleo ferromagntico Corriente inducida Ancho de banda y capacidad de informacin Ancho de banda es un trmino algo difcil de entender al principio pues es un concep to bastante amplio. En general podemos decir que ancho de banda es una medida de la cantidad de informacin que podemos transmitir por un medio por unidad de tiem po. Debido a que es una medida por unidad de tiempo muchas veces se hace una ana loga con la velocidad. Pero hay que estar atento a confusiones. Medidas comunes p ara expresar el ancho de banda son los bits por segundo. Esta medida tambin equiv ale a bits/s, bps o baudios. El ancho de banda es un trmino muy importante cuando se habla de VoIP pues las comunicaciones en tiempo real necesitan un ancho de b anda mnimo asegurado para entregar una comunicacin de calidad en destino. 1.3 Digitalizacin de la voz Las redes digitales de transmisin de voz y datos son comunes en nuestra era. Fuer on creadas ya que presentan ciertas ventajas sobre las redes analgicas como por e jemplo que conservan la seal casi inalterable a travs de su recorrido. Es decir qu e es ms difcil que la comunicacin se vea afectada por factores externos como el rui do elctrico. Adems nos provee de mtodos para verificar de cundo en cuando la integri dad de la seal, entre otras ventajas. Dicho fcil, digitalizar una seal de voz no es otra cosa que tomar muestras (a intervalos de tiempo regulares) de la amplitud de la seal analgica y transformar esta informacin a binario. Este proceso de denomi na muestreo. 23

Teorema de Nyquist En 1928 Henry Nyquist, un ingeniero Suizo que trabajaba par AT&T, resolvi el dile ma de cunto es necesario muestrear una seal como mnimo para poder reconstruirla lue go a la original de manera exacta. El teorema propuesto deca que como mnimo se nec esita el doble de ancho de banda como frecuencia de muestreo. Esto queda refleja do de mejor manera con la siguiente expresin. fm 2 BWs Hagamos un breve clculo mental acerca de cual sera la frecuencia de muestreo para poder convertir una seal de voz humana a digital y luego poder reconstruirla en d estino. Ya habamos dicho que para que la voz humana sea entendible es suficiente transmitir un rango de frecuencias de entre 400Hz a 4,000Hz. Por lo tanto, segn e l teorema de Nyquist como mnimo deberamos muestrear al doble de la frecuencia mayo r, es decir a 8,000Hz. Luego veremos que es precisamente esa frecuencia de muest reo de 8,000Hz la que se usa en la mayora de codecs. Gracias Nyquist! 1.4 Redes orientadas a circuitos Las redes orientadas a circuitos (circuit switched) son aquellas donde se establ ece un circuito exclusivo o dedicado entre los nodos antes de que los usuarios s e puedan comunicar. Una vez que se establece un circuito entre dos puntos que qu ieren comunicarse, el resultado bsicamente es el equivalente a conectar fsicamente un par de cables de un extremo a otro. Una vez establecido el circuito, ste ya n o puede ser usado por otros. En cada circuito el retardo es constante, lo cual e s una ventaja. Sin embargo, este tipo de redes es costoso debido al mismo hecho de que se necesita un circuito dedicado para cada abonado. Este tipo de redes es el tradicionalmente usado por compaas telefnicas alrededor del mundo y es el mismo que us Bell en sus inicios; obviamente guardando las distancias tecnolgicas corre spondientes. 24

Es comn que ciertas personas confundan las redes de circuitos con las redes analgi cas pero es necesario aclarar que las redes de circuitos bien pueden transportar datos digitalmente. 1.5 Redes orientadas a paquetes Una red de paquetes es una red que por un mismo medio trafica simultneamente dife rentes flujos de informacin. Para hacer esto divide el trfico de cada flujo de inf ormacin en fragmentos o paquetes que enva intercaladamente. Luego, en el destino l os paquetes se reensamblan para reproducir el mensaje original. Un ejemplo de es te tipo de redes son las redes IP como es el caso del Internet, donde por una mi sma conexin pueden llegarnos distintos flujos de informacin. De esta manera podemo s estar haciendo video-conferencia al mismo tiempo que enviamos un correo electrn ico o navegamos por el Web. Inclusive por este tipo de redes pueden circular sim ultneamente flujos de informacin para diferentes destinos o direcciones IP. A dife rencia de las redes orientadas a circuitos, en este tipo de redes el ancho de ba nda no es fijo ya que depende del trfico de la red en un momento dado. Adicionalm ente cada paquete de un mismo flujo de informacin no est obligado a seguir el mism o camino por lo que los paquetes que originalmente fueron generados en secuencia pueden llegar desordenados a su destino. Este tipo de factores son muy importan tes a tener en cuenta cuando se trafica voz sobre una red de paquetes ya que afe ctan la calidad de la llamada. Las redes de paquetes se han vuelto populares, pr incipalmente porque optimizan recursos debido al hecho de poder utilizar el mism o medio para enviar varios flujos de informacin. 1.6 Red Pblica Telefnica (PSTN) La Red Pblica Telefnica o PSTN (por sus siglas en ingls) es bsicamente una red basad a en circuitos. Esta red cubre tanto telefona fija como mvil y es la red que hace posible que podamos comunicarnos con cualquier persona en nuestra ciudad o alred edor del mundo. Originalmente fue una red analgica pero actualmente es una red en su mayora digital; por tanto existen dos tipos de circuitos: analgicos y digitale s. 25

1.7 Circuitos analgicos Los circuitos analgicos son bsicamente pares de cobre que llegan a los abonados de l servicio telefnico y por donde se transmite la seal elctrica de la voz de manera analgica. El mismo circuito lleva adicionalmente la sealizacin necesaria para estab lecer, mantener y terminar una llamada. Estos circuitos analgicos se deben conect ar a un switch telefnico encargado de direccionar la comunicacin entre los abonado s. Los circuitos analgicos estn en decadencia pues las compaas telefnicas encontraron muchas ventajas en las comunicaciones digitales y es por esa razn que pese a que en la actualidad an vemos circuitos analgicos esto se trata tan solo de la ltima m illa. En cierto punto de la red telefnica esta comunicacin es convertida a digital y transmitida a un switch telefnico digital. La circuitera analgica comnmente se as ocia con el trmino de telefona tradicional. Como en el pasado era ms comn que los telf nos pudieran estar ubicados en reas rurales donde no llegaba la electricidad se d ecidi que la red telefnica proveyera cierto voltaje de alimentacin. Es por eso que algunos modelos de telfonos analgicos no necesitan conectarse a la alimentacin elctr ica. En todo caso la OC genera 48 Voltios de corriente directa para alimentar a los telfonos de los abonados. Usando lxico estricto deberamos decir -48 Voltios deb ido a que este voltaje se mide con respecto a uno de los conductores. Sin embarg o para ser prcticos en este libro usaremos indistintamente 48V o -48V para referi rnos a lo mismo. Sealizacin analgica Para que las llamadas telefnicas funcionen correctamente es necesario contar con indicaciones o seales elctricas que nos permitan intercambiar informacin entre el a bonado y la OC (Oficina Central). En breve veremos en qu consisten las seales ms co munes. Existen bsicamente 3 mtodos de sealizacin analgica que la industria ha desarro llado a travs de los aos. Estos se llaman loop start, ground start y kewlstart. Es importante cuando se configura una central telefnica que va conectada a una lnea analgica que escojamos el mtodo de sealizacin adecuado pues caso contrario podemos e ncontrarnos con problemas inesperados como que la lnea se cuelga inesperadamente o que no podemos colgar la lnea correctamente, entre otras cosas. La diferencia e ntre loop start y ground start radica en la manera en la que el telfono requiere tono de marcado a la OC (proceso tambin llamado zeisure). Ground start 26

requiere tono de marcado aterrizando (de all el trmino ground) uno de los conducto res de la lnea telefnica mientras que loop start lo hace realizando un corto circu ito entre ambos conductores (es decir creando un lazo o loop). Kewlstart es una evolucin de loop start que le aade un poco ms de inteligencia a la deteccin de desco nexiones (colgado de la llamada) pero bsicamente sigue siendo un loop start. Debi do a que ground start no es muy comn en nuestros das, casi siempre nos veremos usa ndo loop start o kewlstart. A continuacin explicaremos ms al detalle la sealizacin a nalgica para los eventos ms comunes. Para hacerlo nos basaremos en el progreso de una llamada tpica usando sealizacin loop start. El progreso de una llamada lo podem os dividir en seis instancias: colgado (on-hook), descolgado, marcacin, conmutacin , ringado y hablando. Colgado Mientras el telfono est colgado la OC provee un voltaje DC de 48 Voltios. El telfono mantiene un circuito abierto con la lnea telefnica; es decir que acta com o si no estuviera conectado y por lo tanto no fluye corriente por la lnea. Este e stado tambin es conocido como on-hook por su significado en ingls. Descolgado Cuando el usuario descuelga el auricular el telfono enva una seal a la O C. Esta seal consiste en cerrar el circuito, es decir que internamente el telfono conecta entre s los dos cables de la lnea telefnica a travs de una resistencia elctri ca. Apenas la OC se da cuenta de esto enva tono de marcado al telfono. Este tono d e marcado le indica al abonado que ya puede marcar el nmero. En gran parte de Amri ca el tono de marcado consiste en dos ondas senoidales enviadas simultneamente. E stas ondas son de 350 Hz y 440 Hz. En Europa el tono de marcado consiste en una sola onda de 425 Hz. Nota: Cuando era adolescente acostumbrbamos a afinar la guit arra escuchando el tono de marcado del telfono pues resulta que 440 Hz es la frec uencia de la nota musical LA que corresponde a la quinta cuerda de la guitarra. Claro, haba que tener mucho tino de filtrar mentalmente los molestosos 350 Hz par a no cometer errores ;) 27

Marcacin La marcacin puede ser por pulsos o por tonos. Los pulsos ya casi no se us an y fueron populares en los tiempos de los telfonos de disco. Los tonos son pare s de frecuencias asociadas con los dgitos telefnicos. Estas frecuencias se transmi ten hasta la OC quien traduce estos tonos a nmeros. Ms adelante se explicar ms de es tos tonos bajo el ttulo DTMFs. Conmutacin Una vez recibido los dgitos la OC tratar de asociar este nmero marcado co n el circuito de un abonado. En caso de que el destinatario no fuere un abonado local, enviar la llamada a otro switch telefnico para su terminacin. Timbrado o Ringado Una vez que la OC encuentra al abonado destino tratar de timbr arlo (ringing). La seal de ring es una onda sinusoidal de 20 Hz y de 90 Voltios d e amplitud. Nota: Si hemos sido observadores nos habremos dado cuenta de que la seal de ring tiene una amplitud considerable de 90 Voltios. Adems recordemos que l a lnea ya tiene un componente adicional de Voltaje de 48 Voltios. Es por esta razn que si manipulamos los cables telefnicos desnudos en el preciso momento en el qu e llega una seal de ring podemos recibir una pequea descarga elctrica y pasar un bu en susto. Adicionalmente a la seal de ring que la OC enva al destinatario tambin en va una notificacin a quien origin la llamada. Este tono audible recibe el nombre de ring-back y consiste en dos ondas sinusoidales superpuestas de 440 Hz y 480 Hz. Estas ondas van intercaladas con espacios de silencio. En caso de que el destin atario se encuentre ya en una llamada activa entonces en lugar del ring-back se devuelve un tono de ocupado a quien origin la llamada. Este tono de ocupado consi ste en dos ondas sinusoidales superpuestas de 480 Hz y 620 Hz intercaladas con e spacios de silencio de medio segundo. Todos los lectores sin duda han escuchado un ring-back y un tono de ocupado alguna vez en sus vidas. 28

Hablando Si el destinatario decide contestar la llamada el telfono cerrar el circu ito telefnico (de la misma manera que ocurri con el telfono que origin la llamada en la etapa de descolgado). Esta seal le informar a la OC que el destinatario decidi contestar y completar la conexin. La llamada telefnica est finalmente en curso. DTMFs Muchas veces es necesario enviar dgitos a travs de la lnea telefnica tanto para marc ar como en medio de una conversacin. Con esta finalidad se pensaron los DTMFs. DT MF es un acrnimo de Dual-Tone Multi-Frequency. Es decir que cada DTMF es en reali dad dos tonos mezclados enviados simultneamente por la lnea telefnica. Esto se hace as para disminuir los errores. A continuacin una tabla ilustrando los pares de fr ecuencias para cada dgito. 1209 Hz 1 4 7 * 1336 Hz 2 5 8 0 1477 Hz 3 6 9 # 1633 H z A B C D 697 Hz 770 Hz 852 Hz 941 Hz Como se puede ver en la tabla tambin hay correspondencias para los signos * y # a s como tambin para los caracteres A, B, C y D. El telfono analgico Es importante hablar de este componente importante de la red telefnica pues recor demos que su invencin fue lo que marc el desarrollo del negocio de la telefona. Es importante tambin hablar del telfono analgico porque todava es el tipo de telfono ms c omn en el planeta y porque la comprensin de su funcionamiento nos permitir entender en el futuro algunos conceptos clave como por ejemplo el eco. En realidad el te lfono, en su forma ms bsica, es un dispositivo sencillo compuesto de pocos componen tes. Auricular Micrfono 29

Switch para colgado/descolgado Convertidor de dos a cuatro hilos (tambin llamado hbrido) Marcador (dialer) Campana o dispositivo de timbrado Diagrama de componentes de un telfono La mayora de los componentes se explican por si solos. Sin embargo algunos se pre guntarn de qu se trata el convertidor de 2 a 4 hilos? Convertidor de 2 a 4 hilos Un componente importante de un telfono es el convertid or de dos a cuatro hilos, conocido tambin como dispositivo 2H/4H, bobina hbrida o simplemente hbrido. Este dispositivo es necesario para separar la seal de audio de ida de la de venida ya que son dos participantes en una conversacin y solo exist e un par de cables para esto. Si existieran cuatro cables (2 de ida y 2 de venid a) el convertidor de 2 a 4 hilos no fuera necesario, pero esto probablemente dup licara los costos de cableado y las compaas telefnicas prefieren lidiar con los prob lemas de acoplamiento que este convertidor introduce en lugar de incrementar sus costos. En general no existe convertidor de 2 a 4 hilos perfecto ya que es muy difcil separar las seales de ida y de regreso completamente. Es por eso que este d ispositivo 30

histricamente ha sido una de las causas de eco en lneas telefnicas mal acopladas. Y a hablaremos de esto en el captulo de calidad de voz. 1.8 Circuitos digitales La PSTN tambin sirve a sus abonados con circuitos digitales. Estos circuitos ofre cen la ventaja de poder multiplexar ms de una lnea en el mismo medio por lo que re sulta atractivo para abonados con necesidades de un gran nmero de lneas telefnicas, por lo general empresas. La base DS-0 Para decirlo simple, DS-0 es un canal digital de 64Kbit/s. Un DS-0 es por tanto una medida de canal estndar que nos sirve para definir mltiplos mayores como los c ircuitos que veremos a continuacin. Circuitos T-carrier y E-carrier Los circuitos T-carrier (o portadora-T) fueron diseados como nomenclatura para ci rcuitos digitales mutiplexados y fueron desarrollados por Bell Labs hace ms de ci ncuenta aos. Los circuitos E-carrier son la equivalente europea. El ms conocido de los circuitos T-carrier es el popular T1 (y su contraparte E1). Un T1 es un cir cuito digital compuesto de 24 DS-0s mientras que un E1 est compuesto por 32 DS-0s. Si hacemos las matemticas notaremos que un T1 trafica 1.544 Mbit/s mientras que u n E1 2.048 Mbit/s. Luego de los T1s tenemos mltiplos mayores como T2, T3, T4 y T5. SONET y Circuitos Opticos SONET (Synchronous optical networking) fue desarrollado con el objetivo de conta r con una nomenclatura similar a las T-carrier pero usando la tecnologa de fibra p tica. SONET utiliza mltiplos de T3 para sus anchos de banda y su circuito base es el llamado OC-1. Luego del OC-1 tenemos los OC-3, OC-12, OC-24, OC-48, entre ot ros. 31

1.9 Protocolos de Sealizacin Digital Los protocolos de sealizacin se utilizan para transmitir informacin de estado del c anal de comunicaciones (como desconectado, timbrando, respondido), informacin de contr l y otra informacin como DTMFs, caller ID, entre otros. Los protocolos de sealizac in se pueden agrupar en dos tipos llamados CAS (Channel Associated Sgnaling) y CC S (Common Channel Signaling). La diferencia es que mientras CAS transmite la seal izacin en el mismo canal en que viaja la informacin, CCS la transmite en un canal separado. Por este hecho es que con CAS se reduce ligeramente el ancho de banda disponible o til para la comunicacin ya que una parte de l se est usando para sealiza cin. Esa es una de las razones por las cuales las compaas telefnicas han adoptado en su mayora CCS. Nota: No confunda el lector CAS y CSS con protocolos de sealizacin. Tan solo son tipos de protocolos que se explican aqu para hacer ms fcil la categor izacin o agrupacin de los mismos. Sealizacin Asociada al Canal (CAS) El protocolo CAS ms conocido es robbed-bit y es usado en circuitos T1 y E1 alrede dor del mundo. Robbed-bit toma (o roba, de all su nombre) el octavo bit de cada can al de comunicacin cada seis frames y lo reemplaza por informacin de sealizacin. El b it original robado simplemente se pierde. Hay que notar de lo anterior que esto es posible debido a que la voz no es muy sensible que digamos a la prdida de ese bit de informacin ya que es el bit menos significativo, pero cuando transportamos data la prdida de un bit no puede pasar desapercibida y la calidad de la transmi sin se degrada de manera sensible. Otro protocolo CAS que an subsiste en nuestros das es R2. Se trata de un protocolo que fue popular en los aos 60s. En realidad R2 es una familia de protocolos en donde cada implementacin se denomina variante. Exi sten variantes dependiendo del pas o inclusive de la compaa telefnica que lo ofrece. Al momento Elastix soporta este protocolo a travs de la librera Unicall. Sin emba rgo en el futuro se espera soportar la implementacin del proyecto openR2 desarrol lado por el mexicano Moiss Silva. 32

Sealizacin de Canal Comn (CCS) ISDN ISDN (Integrated Services Digital Network) nos permite transmitir voz y dat os simultneamente sobre pares telefnicos de cobre con calidad superior a las lneas telefnicas analgicas. El objetivo de ISDN fue el de facilitar las conexiones digit ales para poder ofrecer una amplia gama de servicios integrados a los usuarios. ISDN establece dos tipos de interfaces para cumplir con este fin. BRI: Basic Rat e Interface PRI: Primary Rate Interface BRI estuvo orientada a hogares. Un BRI supone 2 canales tiles (tambin llamados can ales B) de 64Kbit/s cada uno ms un canal de sealizacin de 16Kbit/s (tambin llamado c anal D) que en total suman 144Kbit/s. BRI estaba llamado a ser un estndar popular en hogares pero no fue as del todo y tuvo muy poca acogida en este segmento del mercado en los Estados Unidos. En Europa la situacin fue diferente y es utilizado en muchos pases de este continente. PRI es la opcin para usuarios de mayor enverg adura como negocios o empresas pues puede aglutinar ms canales B. Actualmente es muy popular y se transmite sobre circuitos T-carrier y E-carrier. 33

Introduccin a la VoIP Yo no hice nada por accidente, ni tampoco fueron as mis invenciones; ellas vinier on por el trabajo -- Thomas Edison La voz sobre IP o VoIP consiste en transmitir voz sobre protocolo IP. Dicho as pu ede sonar simple pero las redes IP fueron diseadas principalmente para datos y mu chas de las ventajas de las redes IP para los datos resultan ser un problema par a la voz pues sta es muy sensible a retardos y problemas de transmisin por muy peq ueos que estos sean. Por tanto transmitir voz sobre protocolo IP es toda una empr esa con muchos problemas tcnicos que resolver. Por suerte la tecnologa ha evolucio nado y la pericia de algunos ingenieros talentosos ha resultado en que podamos a bstraernos en gran medida de aquellos problemas inherentes a las redes IP que pe rjudican la calidad de voz. Solo hace pocos aos me recuerdo haciendo uso de llama das por Internet y puedo decir que la mejora de unos 10 aos para ac ha sido notabl e. Ahora podemos decir que ya es una alternativa rentable al alance de la mayora de nosotros. 35

2.1 Protocolo IP El protocolo IP sin duda es uno de los ms populares jams implementados, principalm ente por el auge del Internet: La gran red de redes, que utiliza este protocolo para su enrutamiento. Por esta razn, antes de entrar en detalles acerca del proto colo IP emplearemos un par de prrafos a resumir los orgenes del Internet. El Internet El Internet tuvo su origen en la dcada del 60 como un proyecto del Departamento d e Defensa de los Estados Unidos con el objetivo de crear una red robusta que con ectara algunos organismos pblicos con universidades. La idea de la red, que origi nalmente se llam ARPANet, era que si alguno de los nodos quedaba fuera de funcion amiento esto no perjudicara significativamente a la red. Para esto se ide una red descentralizada que pudiera manejar ms de un camino entre dos de sus puntos. En resumen, se trataba de construir una red a prueba de fallos (recordemos tambin qu e eran pocas de la Guerra Fra) y de bajo coste. Gracias a este enfoque ARPANet evo lucion hasta lo que hoy en da conocemos por Internet, una red de comunicaciones ta n grande y poderosa que sin duda ha ejercido un impacto en nuestras culturas. Si n su existencia el proyecto Elastix no hubiera existido y no estaran leyendo esto ahora. Qu es el protocolo IP? El protocolo IP (Internet Protocol) es un protocolo que trabaja a nivel de red d onde la informacin se enva en paquetes llamados paquetes IP. Este protocolo ofrece un servicio sin garantas tambin llamado del mejor esfuerzo. Es decir que nada garanti za que los paquetes lleguen a destino, sin embargo se har lo posible por hacerlos llegar. Direccin IP Una direccin IP es un nmero nico que provee adems informacin de cmo ubicar al equipo q ue la posee. Para que este nmero sea nico existe una autoridad que controla la asi gnacin de direcciones IP llamada IANA (Internet Assigned Numbers Authority). Una direccin IP es un nmero binario que consta de 32 bits. Sin embargo, para fines prct icos y hacer que este nmero sea ms entendible para los humanos casi siempre se rep resenta en un formato de 4 nmeros decimales separados por puntos. Cada uno de est os cuatro nmeros puede tomar un valor de 0 a 255. Un ejemplo de direccin IP es 172 .16.254.1 36

Traduccin de notacin decimal a binaria de una direccin IP Paquete IP Como habamos dicho antes el protocolo IP es un protocolo que divide la informacin en paquetes que enva a su destino y la ventaja de tener la informacin paquetizada es que estos paquetes pueden tomar diferentes caminos para llegar a destino. Es decir que hay redundancia de caminos y es menos probable que todos los paquetes se pierdan. Bueno, bueno, pero cmo lucen los famosos paquetes? El formato de un pa quete IP est diseado para llevar informacin que permita diseccionarlo a su destino y obviamente que permita re-ensamblar los paquetes en destino para recuperar la informacin til. A continuacin una figura con una cabecera de paquete IP. Cabecera de un paquete IP 37

Direccionamiento IP El direccionamiento o (enrutamiento) permite determinar la ruta ptima para que un paquete IP llegue su destino. Para saber dnde quiere llegar un paquete dado hay que examinar la direccin IP de destino en el campo Destination Address de la cabe cera de un paquete IP. Los equipos que se encargan de enrutar los paquetes a su destino se llaman ruteadores y bsicamente contienen tablas de rutas con informacin de cmo alcanzar otras redes. Por tanto, una vez que llega un paquete a un rutead or ste examina la direccin IP destino y trata de determinar a qu red pertenece esa direccin IP. Determinar la red donde quiere llegar un paquete dado no es muy difci l puesto que esa informacin es parte de la direccin IP. Esto es porque cada direcc in IP se podra dividir en dos partes: una parte que identifica a la red y otra que identifica al equipo (tambin llamado host). Identificar cada una de estas partes no es tan trivial pues existen redes de diferentes tamaos y por tanto el nmero de bits que corresponden a la parte de la red y el nmero de bits que corresponden a la parte del host varan dependiendo del tamao de la red y se regulan mediante un parmetro adicional llamado mscara de red. Mscara de red y clculo de direccin de red Veamos entonces cmo se obtiene la informac in de a qu red pertenece una direccin IP para que un ruteador pueda encaminar corre ctamente un paquete a destino. La mscara de red es un nmero de 32 bits al igual qu e una direccin IP. Se llama mscara porque si se superpone a la direccin IP nos perm ite identificar cul parte es la que corresponde a la direccin de red. Imaginemos q ue tenemos la direccin IP 130.5.5.25 con mscara 255.255.255.0. Para ilustrar cmo ap licar la mscara sobre la direccin IP convirtamos estos datos a binario. Aplicacin de mscara para obtener informacin de la red y host 38

Ahora podemos ver con ms claridad que los nmeros uno (1) en la mscara marcan el lmit e entre la parte de la red y la parte del host por lo tanto la direccin de red es (en binario): 10000010.00000101.00000101.00000000 Todos los nmeros binarios a la derecha de la mscara se completan con ceros. Ah cierto, olvidamos volver a conve rtir la direccin IP anterior a decimal. Veamos qu obtenemos: 10000010.00000101.000 00101.00000000 130.5.5.0 Lo que quiere decir que la direccin IP 130.5.5.26 pertenece a la red 130.5.5.0. A hora el ruteador ya puede decidir hacia qu red enviar nuestro paquete IP. 2.2 Protocolos de transporte Protocolo TCP Como ya habamos dicho el protocolo IP no garantiza que los datos lleguen a destin o. Solo hace su mejor esfuerzo para que lleguen. Por lo tanto era necesario un p rotocolo que se encargue de controlar la transmisin de datos y por esta razn se di se lo que se llama Transmission Control Protocol o simplemente protocolo TCP. TCP es un protocolo de transporte que se transmite sobre IP. TCP ayuda controlando q ue los datos transmitidos se encuentren libre de errores y sean recibidos por la s aplicaciones en el mismo orden en que fueron enviados. Si se pierden datos en el camino introduce mecanismos para que estos datos sean reenviados. Obviamente esto implica una carga extra de informacin en el flujo de datos ya que hay que en viar informacin de control adicional. Es por esto que TCP es un buen protocolo pa ra control de sesiones pero no tan bueno para transmisin de datos en tiempo real. Por esta razn la voz en s no se enva usando este protocolo. Sin embargo TCP juega un rol muy importante en muchos protocolos relacionados con un servidor Elastix. TCP es quien introduce el concepto de puerto que no es otra cosa que una abstracc in para poder relacionar los flujos de datos con servicios de red especficos (o pr otocolos de ms alto nivel). Por ejemplo, el puerto 80 se asocia con el servicio d e Web o el 39

protocolo HTTP; el puerto 25 se asocia con el servicio de correo electrnico o pro tocolo SMTP. Protocolo UDP UDP (User Datagram Protocol) es otro protocolo de transporte. Se diferencia con TCP en que a este protocolo no le importa si los datos llegan con errores o no y tampoco le importa si llegan en secuencia. La pregunta entonces es para qu sirve este protocolo? Bueno, un protocolo de transporte no necesariamente tiene que g arantizar que la informacin llegue a destino o llegue en secuencia. Esta es solo una caracterstica extra. Es ms o menos anlogo a un servicio de transporte de mercan ca. Imaginmonos una flota de motocicletas que ofrece el servicio de transporte en una ciudad e imaginmonos que le encomendamos a dicha flota la tarea de transporta r un gran cargamento de archivos de una oficina u otra. La compaa se encargar de di vidir nuestro cargamento de archivos y distribuirlo en cantidades que puedan ser transportadas en sus vehculos. Har lo necesario para que nuestro cargamento llegu e a destino. Esto es en esencia el servicio de transporte. Sin embargo podemos e scoger dos clases de servicio: una que garantiza que la mercanca llegue segura y otra que no. Estos dos tipos de servicio son anlogos a los dos tipos de protocolo s de transporte que estamos describiendo en este apartado UDP y TCP. En fin, la cosa es que UDP divide la informacin en paquetes, tambin llamados datagramas, para ser transportados dentro de los paquetes IP a su destino. Al no ser necesario i ncluir mucha informacin de control el protocolo UDP reduce la cantidad de informa cin extra en los paquetes por lo que es un protocolo ms rpido que TCP y adecuado pa ra transmisin de informacin que debe ser transmitida en tiempo real como la voz. E s por esta razn que la voz en aplicaciones de VoIP es transmitida sobre este prot ocolo. 2.3 Codificacin de la voz Ya tenemos claro que para transportar la voz se utilizan algunos protocolos como SIP, IAX y otros como RTP o RTCP. Pero la voz es una onda analgica que necesita transformarse a digital en algn formato antes de ser transmitida. Lgicamente podram os tratar de transmitirla tal cual resulta de la conversin analgicadigital (ADC) p ero resulta que nos encontramos en una red de paquetes as que debemos paquetizar esta informacin. Adems si la transmitimos tal cual resulta de la 40

conversin ADC desperdiciaramos recursos de la red por lo que hace falta encontrar un formato ptimo. Esa bsqueda de un formato ptimo gener algunas alternativas de form atos de transmisin llamadas codecs. Nota: Los codecs realmente no son exclusivos de la VoIP pues tambin se usan en otros tipos de comunicaciones digitales. Codecs La palabra codec proviene de abreviar las palabras COdificacin y DECodficacin. Su funcin principal es la de adaptar la informacin digital de la voz para obtener algn beneficio. Este beneficio en muchos casos es la compresin de la voz de tal maner a que podamos utilizar menos ancho de banda del necesario. Algunos codecs, sopor tados por Asterisk y comnmente usados en comunicaciones de VoIP, son G.711, G.729 , GSM, iLBC, entre otros. Explicaremos brevemente tres de ellos. G.711 G.711 es uno de los codecs ms usados de todos los tiempos y proviene de un estndar ITU-T que fue liberado en 1972. Viene en dos sabores llamados u-law y a-l aw. La primera versin se utiliza en USA y la segunda se utiliza en Europa. Una de sus caractersticas es la calidad de voz debido a que casi no la comprime. Utiliz a 64kbit/s, es decir un muestreo de 8 bits a 8kHz. Es el codec recomendado para redes LAN pero hay que pensarlo dos veces antes de utilizarlo en enlaces remotos debido al alto consumo de ancho de banda. El soporte para este codec ya viene h abilitado en Elastix. G.729 Tambin se trata de un estndar ITU cuyas implementaciones ha sido usualmente licenciadas, o sea que hay que pagar por ellas. En la actualidad tambin existe un a implementacin de cdigo abierto que puede ser usada libremente. 41

La ventaja en la utilizacin de G.729 radica principalmente en su alta compresin y por ende bajo consumo de ancho de banda lo que lo hace atractivo para comunicaci ones por Internet. Pese a su alta compresin no deteriora la calidad de voz signif icativamente y por esta razn ha sido ampliamente usado a travs de los aos por mucho s fabricantes de productos de VoIP. G.729 utiliza 8kbit/s por cada canal. Si com paramos este valor con el de G.711 notaremos que consume 8 veces menos ancho de banda, lo cual a simple vista es un ahorro de recursos significativo. Nota: Exis ten variaciones de G.729 que utilizan 6.4kbit/s y 11.8kbit/s. El soporte para es te codec no viene habilitado por omisin en Elastix. GSM Muchas personas preguntan si el codec GSM tiene algo que ver con el estndar d e comunicaciones celulares y la respuesta es que s. El estndar que define la tecno loga celular GSM (Global System for Mobile communications) incluye este codec. La ventaja de este codec tambin es su compresin y la calidad de voz bueno, ya habremo s hablado por un celular GSM alguna vez. GSM comprime aproximadamente a 13kbit/s y ya viene habilitado en Elastix. 42

Linux para Administradores de Elastix Slo los dbiles hacen copias de seguridad en cintas: los hombres de verdad tan solo suben sus cosas importantes a un servidor ftp, y dejan que el resto del mundo l as replique. -- Linus Torvalds, creador de Linux 3.1 Introduccin En este captulo se repasarn algunos conceptos tiles de Linux para facilitar la vida de los administradores de Elastix. Si usted ya conoce cmo administrar su Elastix desde la lnea de comandos de Linux, sltese este captulo y vaya directamente al sig uiente. Debido a que este no es un libro de Linux no ahondaremos mucho en el tem a, ni hablaremos de la historia de Linux, ni de sus ventajas, ni ahondaremos en detalles. As que si en algn momento le parece que estamos yendo directo al grano.. . esa es la idea :) Si al final de este captulo an siente que existen vacos, le rec omendamos capacitarse en administracin de Linux, sin duda le facilitar las tareas de administracin de Elastix. 43

3.2 Lnea de comandos de Linux Una manera muy til de administrar Elastix es desde la lnea de comandos de Linux. L a lnea de comandos de Linux nos permitir explotar al mximo el potencial de nuestro Servidor de Comunicaciones Unificadas. Para ingresar a la lnea de comandos lo pod emos hacer directamente conectando un monitor y teclado a nuestro equipo instala do con Elastix o conectndonos remotamente a travs del protocolo SSH. Si estamos en un equipo Windows debemos descargar un programa cliente para podernos conectar remotamente. El programa que recomendamos aqu se llama PuTTY y basta hacer una bsq ueda en Google por ese nombre para encontrar el sitio de descargas. Slo asegrese d e hacerlo del sitio oficial. Figura de la aplicacin PuTTY 44

Figura ejecutando PuTTY 3.3 Comandos bsicos A continuacin una lista de los comandos bsicos ms usados: Comando ls ls -la cd cd . . cat pwd cp mv rm tail -f nombre_archivo mkdir tar nombre_archivo.tar.gz top De scripcin Lista los archivos en el directorio actual Lista los archivos y sus atri butos Cambia de directorio Cambia al directorio padre Muestra el contenido de un archivo en la pantalla Muestra la ruta actual Copia un archivo o grupo de ellos Mueve un archivo. Tambin se lo usa para renombrar archivos Elimina un archivo Mu estra las ltimas lneas de un archivo Crea un directorio -xvzf Descomprime un archi vo tar.gz Muestra un reporte en tiempo real de los 45

procesos que se ejecutan en el sistema. Puede ser ordenado por consumo de memori a o CPU. Muy til para diagnstico find vim ifconfig ps -aux reboot shutdown -h now Permite buscar arhivos Programa para ver y editar archivos de texto plano Muestr a informacin de las interfaces de red y permite modificarlas temporalmente Muestr a un reporte de los procesos que se estn ejecutando en el servidor Reincia el equ ipo Apaga el equipo Figura del la ejecucin del comando top 46

3.4 Sistema de archivos En Linux es muy importante la organizacin del sistema de archivos. Esta organizac in le otorga a Linux robustez e interoperabilidad pues los programas pueden prede cir con mayor exactitud dnde se encuentran ciertos archivos para su correcto func ionamiento y as mismo escribir archivos de manera que otros componentes los entie ndan. Esto minimiza los conflictos y en conjunto con el sistema de permisos aade ms seguridad al sistema operativo. Organizacin La organizacin de directorios que se mostrar a continuacin no es arbitraria. Es pro ducto de aos de evolucin desde las primeras versiones de UNIX. Esta estructura de carpetas est ubicada en lo que se llama directorio raz, o directorio principal. Es te directorio raz es el directorio de ms alto nivel en el sistema de archivos. Dir ectorio sbin bin Descripcin Incluye binarios que pueden ejecutados solo por el ad ministrador ser Contiene binarios necesarios para el correcto funcionamiento del sistema. Los bi narios de esta carpeta pueden tambin ser utilizados por los usuarios del sistema Este directorio contiene el kernel y otros archivos necesarios al momento de arr anque Este directorio contiene archivos que representan dispositivos de hardware . Recordemos que en Linux prcticamente todo es un archivo Este directorio contien e bsicamente archivos de configuracin para todo el sistema Aqu residen los director ios de los usuarios. Por ejemplo, el directorio /home/jorge es el directorio del usuario jorge Contiene bsicamente las libreras compartidas que requieren los progra mas. Algo anlogo a los archivos .dll en Windows 47 boot dev etc home lib

lost+found Cuando por alguna razn el sistema de archivos se corrompe y hay que repararlo; lo s resultados de esa reparacin se guardan en este directorio Este es un lugar comn para montar otros sistemas de archivos o dispositivos. Por ejemplo una unidad de CDROM o un PEN DRIVE Este directorio contiene paquetes de software que normalme nte no son parte de la instalacin original Es un directorio virtual (ya que realm ente reside en la memoria) donde el kernel y drivers escriben archivos para que otros programas los puedan leer. Por ejemplo, aqu es donde los drivers de zaptel escriben ciertos archivos en la ruta /proc/zaptel/ Este es el directorio del usu ario root ya que este no tiene uno del tipo /home/root Este directorio temporale s contiene archivos mnt opt proc root tmp usr Es uno de los ms importantes directorios y contiene informacin para ser compartida como programas que pueden ser usados por los usuarios del sistema, la documenta cin de dichos programas y hasta libreras relacionadas, etc. Este directorio usualm ente no contiene informacin que cambie constantemente var Contiene informacin en constante cambio como logs o colas de emails. Por ejemplo, aqu reside el log de asterisk en la ruta /var/log/asterisk/full Permisos En Linux cada directorio o archivo tiene permisos de acceso y estos permisos pue den ser de bsicamente 3 tipos: 48 lectura escritura ejecucin

Cada archivo tambin tiene un dueo y un grupo al cual pertenece y para cada una de estas entidades se pueden establecer permisos diferentes. Por ltimo, tambin es des eable establecer permisos para otros usuarios que eventualmente pueden querer te ner acceso sobre este archivo. Dicho todo lo anterior podemos establecer la sigu iente matriz de permisos que sera vlida para un determinado archivo del sistema: d ueo x x x x x grupo x otros usuarios x lectura escritura ejecucin Existe sin embargo una notacin ms sencilla para expresar la matriz de arriba. Esta notacin, compuesta de 10 caracteres, simplifica el despliegue de la informacin de permisos y permite mostrarlos en una sola lnea lo cual es muy til cuando se quier en ver permisos de muchos archivos. Por ejemplo, la matriz de permisos del ejemp lo anterior se puede expresar de la siguiente manera:

-rwxr-xr-x 0123456789 Donde, El carcter 0 representa el tipo de archivo. Si se llena con la letra d sign fica que se trata de un directorio. Los caracteres 1, 2 y 3 representan los perm isos de lectura, escritura y ejecucin para el dueo del archivo. Los caracteres 4, 5 y 6 representan los permisos de lectura, escritura y ejecucin para el grupo al que pertenece el archivo. Los caracteres 7, 8 y 9 representan los permisos de le ctura, escritura y ejecucin para otros usuarios. Ahora veamos un ejemplo de un listado largo donde podremos apreciar diferentes p ermisos: 49

$ ls -la drwxrwxr-x -rw-rw-r--rw-rw-r-drwxrwxr-x drwxrwxr-x drwxrwxr-x -rw-rw-r-rwxrw-r--rw-rw-r-drwxrwxr-x -rw-rw-r-drwxr-xr-x -rw-rw-r-drwxrwxr-x -rw-rw-r--r w-rw-r--rw-rw-r--rw-rw-r--rw-rw-r--rw-rw-r--rw-rw-r-4 edgar edgar 1 edgar edgar 1 edgar edgar 3 root 2 test root prueba 4096 2008-09-01 21:20 Codigo 53058 200808-04 01:31 comohemo.mid 22785270 2008-08-07 12:09 dlj173.pdf 4096 2008-08-26 17 :21 elastix 4096 2008-09-11 13:03 flashingfop 4096 2008-08-04 22:18 fpbx 398439 2008-08-19 19:19 gforge_manual.pdf 102135 2008-09-07 18:53 index2.html 3535 2008 -08-19 23:20 install-ceros 4096 2008-08-03 01:52 installers 6860 2008-08-19 23:1 2 ksraid.cfg 4096 2008-08-06 12:14 lw 1020152 2008-07-30 14:00 Magic Button.pdf 4096 2008-09-02 17:25 monitoring 14341913 2008-08-12 01:59 prbx1.zip 7195354 200 8-08-03 01:51 rotron1.7.1.tar.bz2 25343 2008-08-13 00:25 roundcube.diff 12167 20 08-08-01 23:03 src-php.tar.bz2 4096 2008-08-13 09:38 wanpipe-3.2.7 16106184 2008 -08-29 17:40 wanpipe-3.2.7.1.tgz 20525 2008-09-08 17:14 xorcom_test.txt 9277 200 8-09-08 02:10 Xorcom_logo.png 3 edgar edgar 1 edgar edgar 1 edgar edgar 1 user4 101 3 edgar edgar 1 edgar edga r 4 edgar edgar 1 edgar edgar 3 edgar edgar 1 edgar edgar 1 edgar edgar 1 edgar edgar 1 edgar edgar 1 edgar edgar 1 edgar edgar 1 edgar edgar drwxr-xr-x 18 edgar edgar Representacin numrica de permisos Aparentemente vamos a complicar las cosas un poc o ms aqu pero ya veremos ms adelante la utilidad de poder representar la dichosa ma triz de permisos de una forma ms condensada llamada representacin numrica u octal d e permisos. La cuestin es que los 3 caracteres que definen los permisos para cada una de las tres entidades involucradas (dueo, grupo y otros) pueden ser represen tados por un solo nmero de tal manera que todos los permisos de un archivo pueden ser representados por 3 de estos nmeros. Por ejemplo, 755. Donde el primer dgito representa los permisos del dueo, el segundo dgito los permisos del grupo y el ter cer dgito los permisos de otros usuarios. Puede ser complicado entender al princi pio pero sin duda se trata de un formato ms condensado. De eso s no cabe duda verd ad?. Y vasta ver el siguiente ejemplo: -rwxr-xr-x equivale a 755 Pero de dnde sale el famoso numerito? 50

Resulta que cada uno de los 3 caracteres que representan un permiso para una ent idad dada puede ser reemplazado por 1 o 0 de tal manera que obtenemos un nmero bi nario, luego este nmero binario se traduce a su equivalente decimal (realmente de beramos decir octal aqu). Veamos el ejemplo siguiente. -rwxr-xr-x Transformado a binario tendramos los siguientes tros: 111 101 101 y ahora en su equivalente decimal 755 En fin, para los que no les gusta calcular binario les dejo la siguiente tablita . Versin texto ----x -w-wx r-r-x rwrwx Versin binaria 000 001 010 011 100 101 110 111 Versin Octal 0 1 2 3 4 5 6 7 Ahora s se estarn preguntando para qu nos sirve esta notacin numrica? Bueno, resulta que de esta manera es mucho ms fcil manipular los permisos de los archivos mediant e comandos y eso es precisamente lo que veremos a continuacin. Cambiando permisos y dueos de archivos Las tareas de cambio de permisos y dueos de archivos pueden ser realizadas fcilmente gracias a los comandos chmod y chown re spectivamente. chmod toma como parmetros los permisos en modo numrico y el nombre del archivo al que se desea realizar el cambio. Por ejemplo: 51

$ ls -la archivo_prueba -rw-rw-r-- 1 edgar edgar 0 2008-09-19 04:21 archivo_prue ba $ chmod 755 archivo_prueba $ ls -la archivo_prueba -rwxr-xr-x 1 edgar edgar 0 2008-09-19 04:22 archivo_prueba El comando chmod tambin se puede usar recursivamente para cambiar los permisos de todos los archivos dentro de una carpeta. Esto se hace con la opcin R. Por ejemp lo: chmod R 755 nombre_carpeta/ Para cambiar el dueo y grupo asociado con un archivo determinado podemos usar el comando chown. Por ejemplo para cambiar los permiso s del archivo anterior al usuario y grupo root ejecutamos lo siguiente. # ls -la archivo_prueba -rwxr-xr-x 1 edgar edgar 0 2008-09-19 04:23 archivo_prue ba # chown root.root archivo_prueba # ls -la archivo_prueba -rwxr-xr-x 1 root ro ot 0 2008-09-19 04:24 archivo_prueba Al igual que el comando chmod, el comando chown tambin soporta la opcin R. 3.5 RPMs y actualizaciones va Yum Los paquetes de software que se incluyen en Elastix vienen en un formato llamado RPM. RPM es un formato heredado de Red Hat y su nombre significa Red Hat Packag e Manager por sus siglas en ingls. Esto quiere decir que los instaladores de much os paquetes de software adicional pueden ser instalados en Elastix de manera sen cilla. Los RPMs tambin nos permitirn actualizar paquetes de software y se encargarn de resolver las dependencias necesarias para que dichos paquetes no causen prob lemas en el sistema. Esto se logra gracias a que el sistema RPM mantiene una bas e de datos interna de todos los paquetes instalados con sus respectivas dependen cias y versiones. Adems nos provee con un comando muy til para manipular las insta laciones, desinstalaciones, actualizaciones y otras tareas importantes. A contin uacin algunas opciones de uso del comando rpm: Accin a realizar Instalacin de RPMs 52 Comando rpm -ivh nombre_del_paquete.rpm

Actualizacin de un RPM Eliminacin de un RPM rpm -Uvh nombre_del_paquete.rpm rpm -e nombre_del_paquete.rpm Obtener informacin de un archivo rpm qpi nombre_del_paquete.rpm RPM Obtener un lis tado de todos los rpm -qa RPMs instalados en el sistema Yum al rescate La instalacin manual de RPMs mediante el comando rpm est bien para muchas de las t areas, pero hay ocasiones en las cuales instalar RPMs de esta manera es tedioso y complicado. Un ejemplo de esto es cuando instalamos paquetes RPMs complejos qu e tienen muchas dependencias y al momento de instalar dicho paquete resulta que nos damos cuenta que tenemos que instalar otro paquete necesario y tenemos que b uscarlo en Internet para instalarlo. Muchas veces un RPM tiene decenas o hasta c ientos de dependencias lo que por supuesto nos llevara horas solucionar manualmen te. Adicionalmente a este problema de dependencias existe otro y es el de la con fiabilidad de los RPMs. Es decir, luego de horas y horas de instalar nuestros pa quetes manualmente nos damos cuenta de que uno de ellos sobrescribi un archivo im portante del sistema y corrompi nuestro Elastix. Vaya dolor de cabeza! Aqu es cuan do entra en escena nuestro hroe llamado Yum! Yum es una utilidad que nos ayuda a instalar paquetes RPMs desde repositorios y lo hace de una manera muy amigable. La mayora de las distribuciones serias, y Elastix no es la excepcin, mantienen rep ositorios de paquetes oficiales de software accesibles gratuitamente a travs de I nternet y hacen el mayor esfuerzo porque dichos paquetes no tengan problemas de dependencias entre s. Adems los paquetes de los repositorios oficiales son probado s para evitar molestias en los usuarios. Es por esta razn que si se usa Elastix l o recomendable es que se instalen paquetes desde el repositorio oficial. Bueno, ahora vamos al grano y mostremos algunos comandos Yum tiles: Comando yum update y um update nombre_paquete Descripcin Actualizar TODO el sistema Actualiza solo el paquete especificado y todas sus dependencias 53

yum install nombre_paquete Instala el paquete especificado y todas sus dependencias Nota: Cabe destacar que Elastix nos provee de una interfase Web amigable para ac tualizar paquetes y administrar repositorios. Por los tanto, los procedimientos de actualizacin manuales aqu descritos se dejarn para casos excepcionales. Se recom ienda en lo posible utilizar la interfase Web. 54

Asterisk Essentials Si una idea no es absurda al principio, entonces no merece la pena. -- Albert Ei nstein 4.1 Qu es Asterisk? Bsicamente Asterisk es un software de central telefnica con capacidad para voz sob re IP que es distribuido bajo licencia libre. Partiendo de este concepto muy bsic o Asterisk no es una central telefnica cualquiera; se trata de una central telefni ca rica en caractersticas que en otros tiempos solo eran accesibles mediante la c ompra de productos costosos. Esto ha hecho que muchas empresas consideren a Aste risk como una seria opcin al momento de planificar su proyecto telefnico y por est a razn Asterisk ha tenido gran acogida a nivel mundial. Al ver la oportunidad de negocio muchos fabricantes se han sumado a ofrecer hardware telefnico compatible con Asterisk, principalmente tarjetas PCI para conexin con la PSTN y esto ha hech o que la oferta de centrales telefnicas basadas en Asterisk crezca en los ltimos t iempos. 55

Asterisk es uno de los componentes ms importantes de Elastix y quien provee la ma yora de las caractersticas telefnicas de la distro. 4.2 Breve historia de Asterisk Asterisk fue concebido y desarrollado por Mark Spencer. En un principio por una necesidad personal pues necesitaba una central telefnica para la pequea empresa de soporte que estaba fundando llamada Linux Support Services. Inicialmente pens en a dquirir una pero pronto se dio cuenta que estaba muy lejos de su presupuesto, as que luego de pensarlo un poco decidi crear la suya propia y comenz a codificar lo que hoy conocemos como Asterisk. En 1999, cuando tuvo un cdigo digno de mostrar a l mundo decidi liberarlo bajo licencia GPL. En cierto momento Mark se dio cuenta de que su software necesitaba interactuar con hardware telefnico y se top con el p royecto Zaptel, un proyecto de cdigo abierto creado por Jim Dixon, que tena el obj etivo de crear drivers abiertos para tarjetas telefnicas de computadora. A partir de all Asterisk y Zaptel caminaran de la mano; tanto as que en la actualidad los d os proyectos son mantenidos por la misma compaa. A pesar de lo que se pueda pensar , Mark no era un novato en el mundo del software libre. El ya haba participado ac tivamente en el desarrollo del cliente de mensajera Gaim, actualmente llamado Pid gin, uno de los ms populares en el mbito del software libre. En el 2002 Linux Supp ort Services se convertira en Digium, quien actualmente ofrece productos y servic ios relacionados con Asterisk y se encarga del desarrollo del producto.

4.3 Funcionalidad provista por Asterisk Como ya hemos dicho Asterisk es un software de centralita rico en caractersticas. Al momento de escribir este libro las caractersticas soportadas ms relevantes son las que enlistaremos a continuacin. 56 Contestacin Automtica de llamadas Tran ncia de Llamadas Opcin de No Molestar Parqueo de Llamadas Contestacin de una llama da a una extensin remota Monitoreo y Grabacin de Llamadas

Voicemail Conferencias Reportacin de Llamadas Colas de atencin Llamada en espera I dentificador de Llamante Bloqueo por llamante identificado Recepcin de Fax Listad o Interactivo del directorio de extensiones Interactive Voice Response (IVR) Msic a en espera Manejo de coportamiento por tiempo (Time Conditions) Follow me Contestacin automtica de llamada Asterisk provee la facilidad de configurar una co ntestadora automtica que ayuda al manejo del flujo de llamadas entrantes contestnd olas automticamente sin necesidad de una operadora en vivo. Diseado para empresas que reciben altos flujos de llamadas o que no poseen personal necesario para man ejar un alto trfico de llamadas entrantes. La contestadora responde a los dgitos m arcados por el teclado de la persona que llama, enruta las llamadas a extensione s especficas, provee acceso a informacin pregrabada y toma mensajes 24 horas al da. Transferencia de llamadas Existen dos mtodos para transferir llamadas: transferen cias desatendidas y transferencias atendidas. Transferencia atendida de llamadas Este mtodo es el usual, es decir, la llamada q ue usted est atendiendo, es transferida a una extensin, en donde primero la extens in a la cual es transferida contesta, usted hace la presentacin de la llamada y cu elga su extensin, en este caso la llamada queda conectada a la nueva extensin. Si la nueva extensin no desea que se le transfiera la extensin, simplemente deber colg ar su telfono, en cuyo caso, la llamada ser nuevamente conectada a la extensin 57

original. Mientras el proceso de transferencia se completa, el llamante de la ll amada externa escuchar la msica Music On Hold. Para realizar una transferencia atend ida, usted debe digitar un cdigo predeterminado. En ese momento un mensaje pedir q ue le digite la extensin donde desea transferir la llamada, una vez discada dicha extensin, usted escuchar el ringeado de la llamada hacia la nueva extensin y podr e stablecer una comunicacin preliminar con esta extensin. Cuelgue su telfono y la lla mada externa quedar conectada a la nueva extensin. Transferencia desatendida de llamadas Este mtodo permite transferir una llamada s in establecer una comunicacin previa con la extensin a la cual se desea transferir la llamada. Para transferir una llamada de manera no atendida, mientras atiende una llamada digite en el telfono un cdigo predeterminado. Usted escuchar un mensaj e pidiendo el nmero de la extensin a la cual desea transferir la llamada y una vez discada usted recibir el tono de ocupado y la llamada ha quedado conectada a la nueva extensin. Opcin de No Molestar Esta opcin permite a cualquier usuario configurar su extensin para que no reciba llamadas por un perodo que el crea conveniente. Cualquier llam ada entrante a esta extensin ser ruteada automticamente al buzn de correos de la mis ma. Para habilitar la opcin de No Molestar y para deshabilitar esta opcin, en el t eclado de su telfono digite los respectivos cdigos predeterminados. Parqueo de llamadas El parqueo de llamadas permite al usuario que recibe una lla mada, enviar su llamada a un cuarto de parqueo, para volver a atenderla desde otra extensin. Este tipo de accin es til en el siguiente ejemplo. Supongamos que el adm inistrador de la red recibe una llamada a su extensin ubicada en su escritorio, y esta requiere que l se ubique de frente en un servidor que se encuentra tres pis os mas arriba, y no sabe si alguien podr atender la llamada en el telfono ubicado en el cuarto de equipos para que pueda hacer la transferencia normal de la llama da. En este caso, la opcin es enviar la llamada a un cuarto temporal, donde mient ras tanto el llamante escuchar la msica en espera configurada, hasta que el admini strador llegue al cuarto de equipos y vuelva a tomar la llamada. En su central t elefnica, para enviar la llamada actual para un cuarto de parqueo, transfiera la llamada a una extensin predefinida, utilizando el carcter predeterminado 58

para transferir. Un vez digitada la extensin, usted escuchar el nmero de extensin qu e deber marcar desde el otro telfono para volver a recuperar la llamada. La llamad a quedar en espera por un lapso mximo de 2 minutos. Mientras la llamada esta parqu eada, el que est llamando escuchar la msica configurada como Music On Hold. Contestacin de una llamada a una extensin remota Esta caracterstica permite atrapar una llamada que se encuentra timbrando en una extensin que no es la suya de mane ra remota. Para atrapar la llamada timbrando en una extensin, digite en su telfono el predeterminado para esta funcin. Monitoreo y Grabacin de llamadas Esta caracterstica de Asterisk permite dar seguim iento a las llamadas, por ejemplo para fines de control de calidad del desenvolv imiento de los operadores telefnicos o de los agentes de ventas. Para esto existe la facilidad de que a travs de la digitacin de un cdigo predeterminado se ejecute un comando que permita escuchar en lnea la conversacin sostenida desde cualquier d e las extensiones. Adicionalmente existe la facilidad de grabar las conversacion es de cualquier extensin en forma aleatoria programada previamente. Estas grabaci ones se almacenarn en el disco duro del servidor Asterisk para su posterior revis in. Buzn de Mensajes de Voz (VoiceMail) El buzn de mensajes de voz es una aplicacin que permite escuchar mensajes dejados por llamadas que no pudieron ser atendidas po r la extensin. Para acceder al buzn de mensajes, digite en su telfono el cdigo prede terminado respectivo. Se le pedir que ingrese el nmero de la extensin y la clave qu e debe haber sido suministrada por el administrador del sistema. Una vez ingresa dos estos dos datos, una grabacin le indicar si tienes nuevos mensajes de voz, y a dems opciones para grabar mensajes personalizados para ser usados en esta aplicac in. Conferencias Por defecto, cada extensin tiene asociado un cuarto de conferencias. Este cuarto de conferencias puede ser utilizado por cualquier usuario que pida a sus compaeros que ingresen a su cuarto y as, poder establecer una comunicacin mul tiusuarios. 59

Tambin es posible enviar una llamada externa a un cuarto de conferencias, simplem ente transfiriendo la llamada al cuarto de conferencias. Los cuartos de conferen cias estn asociados a los nmeros de extensiones, anteponiendo un nmero predetermina do, Por ejemplo: Si su extensin es 101 y el nmero para esta funcin es 8, usted tien e asociado el cuarto de conferencias 8101, por lo que si usted desea establecer una llamada multiusuarios, en su telfono digite la extensin 8101, e ingresar al cuart o de conferencias; pida a las personas con las cuales desea establecer la confer encia que en sus telfonos tambin digiten 8101 y podr conversar con cualquier usuario que ingrese a ese cuarto. Al primer usuario que ingresa a un cuarto de conferenc ias, una grabadora le indicar que es el nico usuario en el cuarto de conferencias. Si desea establecer una conferencia incluyendo una llamada externa, en el momen to que est atendiendo dicha llamada, haga una transferencia desatendida a la exte nsin 8101; al usuario que usted envi al cuarto de conferencias se le indicar median te un mensaje que es el nico usuario en el saln de conferencias. Ahora usted debe discar en su telfono el nmero del saln de conferencias e indicar al resto de partic ipantes que ingresen al mismo saln. Reportacin de nmero marcados Asterisk genera CDRs (Call Detail Records) o Registro s de Detalle de Llamadas y los puede almacenar en una base de datos. Accediendo a esta base de datos, se pueden generar reportes que detallan qu extensin llam a qu nmero, si la llamada fue contestada o no, cunto dur la llamada, por qu puerto o lnea se realiz la llamada telefnica. Colas de Atencin Esta caracterstica permite que un ilimitado nmero de llamantes pue dan permanecer en espera hasta que un representante o recurso est disponible para dar asistencia. Esto permite que usted provea a sus clientes la misma calidad d e servicio. Adicionalmente, esto asegura que sus clientes no terminarn obligatori amente en el voicemail, lo cual puede resultar molestoso para el llamante. Es de cir, con esto nos aseguramos que el llamante siempre tenga la oportunidad de ser atendido por una persona. El tiempo que el llamante permanece en espera puede a provecharse para darle a conocer ms servicios o productos de su compaa, ofertas esp eciales, anuncios informativos se puede proporcionar msica en espera. Llamada en espera 60

Esta caracterstica permite que la persona que se encuentra atendiendo una llamada y recibe otra pueda interrumpir temporalmente su primera conversacin para atende r la segunda llamada y poder acordar un tiempo para devolver o atender su llamad a. Debemos recordar que esta caracterstica afecta muchas veces a las conexiones t elefnicas para transferencia de datos, por lo que es comn que los clientes la desh abiliten. Identificador de llamante Esta seal es enviada entre las seales de RING o durante el proceso de establecimiento de la llamada, antes de que sea contestada. Asteri sk aprovecha esta facilidad y a nivel extensiones IP soporta plenamente su manej o. Sin embargo a nivel de lneas de la red telefnica pblica conmutada es el proveedo r de estas quien debe habilitar o proporcionar esta caracterstica. Se la conoce t ambin como Caller Display Calling Line Identification Presentation. Bloqueo por llamante identificado Esta caracterstica previene que alguien con ide ntificador de llamante vea el nmero desde el que usted llama. Esta facilidad de o cultar el ID puede ser completa o selectiva. No todas las redes de telefona pblica soportan esta caracterstica. En Asterisk esta caracterstica tambin describe el blo quear una llamada entrante en funcin del ID. Envo y recepcin de Fax Asterisk permite detectar automticamente cuando un llamante est intentando enviar un fax. Se puede poner como parte del mensaje de bienvenida de la central una frase que diga: Si quiere enviar un fax, envelo ahora. Esto nos ayuda a eliminar papel, prescindir de mquinas puertos telefnicos exclusivos para f ax y digitalizar la informacin recibida como fax. Luego de ser digitalizado, este documento puede ser enviado va e-mail a una cuenta especfica para su revisin. As ta mbin Asterisk puede ser configurado como Fax Server para que los documentos que s on enviados a una cuenta de correo especfica automticamente sean enviados como fax es. Listado interactivo del directorio de extensiones Asterisk puede contener en su base de datos el directorio telefnico del personal de la empresa (nombre, apellid o y extensin). Esta facilidad permite por ejemplo, que la 61

persona que llama pueda digitar desde su telfono los nmeros correspondientes a las 4 primeras letras del apellido nombre de la persona con la que desea hablar. Es to puede proporcionar una alternativa para llamantes que no conocen la extensin d e la persona que quieren contactar pero conocen solo su apellido nombre. Interactive Voice Response (IVR) A travs de esta caracterstica se proporciona acce so a opciones telefnicas que mejorar la forma en que un sistema telefnico acepta y distribuye sus llamadas. Con un men de IVR usted podr distribuir sus llamadas de u na manera precisa que ayudar a incrementar el desempeo de sus empleados y la satis faccin de sus clientes, ya que se agilita el acceso a los servicios y a la inform acin que posee su compaa. Con esta facilidad se proporcionan procesos de auto atenc in que permitirn incluso prescindir de una recepcionista. Con esta caracterstica se pueden crear mens de activacin por dgitos por comandos de voz para ejecutar inclus o transacciones a travs de tarjetas de crditos consultas a base de datos. 4.4 Funcionamiento de Asterisk Encendido y apagado A pesar de que Asterisk puede ser controlado directamente con su script de inici o (ubicado en /etc/rc.d/init.d/asterisk) lo recomendable en Elastix es hacerlo m ediante el programa amportal. Esto es as debido a que existen otros programas relac ionados con Asterisk que tambin se deben sincronizar con el encendido y apagado d e Asterisk. Para apagarlo podemos ejecutar: # amportal stop Para encenderlo: # amportal start Para reiniciarlo: # amportal restart 62

Directorios de Asterisk Asterisk organiza sus archivos en algunos directorios. Entre los ms importantes t enemos a los siguientes. Directorio /etc/asterisk/ /usr/lib/asterisk/modules/ /u sr/sbin/ /var/log/asterisk/ /var/lib/asterisk/agi-bin/ /var/lib/asterisk/mohmp3 /var/lib/asterisk/sounds /var/spool/asterisk/ Descripcin Aqu residen los configura cin de asterisk archivos de Este directorio contiene los mdulos de Asterisk Aqu reside el binario de Asterisk Contiene los logs de Asterisk Directorio donde residen los scripts AGI Carpeta q ue contiene msica en espera Sonidos que Asterisk prompts de voz archivos utiliza para como Directorio donde Asterisk guarda archivos que genera producto de su funcionamien to como voicemails y grabaciones de llamadas Archivos con informacin de PIDs Aqu r esiden los archivos de log de Asterisk como el /var/log/asterisk/full o el log d e texto de CDRs /var/run/ /var/log/asterisk/ Estructura modular Asterisk utiliza la idea de mdulos para extender su funcionalidad. Es tan importa nte la funcionalidad residente en los mdulos que sin ellos Asterisk por si solo n o cumplira ninguna funcin interesante. Estos mdulos residen en la carpeta /usr/lib/ asterisk/modules/ y son archivos con extensin .so Los mdulos pueden ser controlado s a travs del archivo de configuracin modules.conf. En este archivo puedo decirle a Asterisk que cargue o no cargue un mdulo especfico a travs de las directivas load y noload. Por omisin en Elastix todos los mdulos tratan de ser cargados. 63

A continuacin un fragmento del archivo modules.conf que viene con Elastix, donde se puede observar cmo se le dice a Asterisk que no cargue algunos mdulos en el arr anque. ; ; DON'T load the chan_modem.so, as they are obsolete in * 1.2 noload => chan_m odem.so noload => chan_modem_aopen.so noload => chan_modem_bestdata.so noload => chan_modem_i4l.so ; Trunkisavail is a broken module supplied by Trixbox noload => app_trunkisavail.so ; Ensure that format_* modules are loaded before res_musi conhold ;load => format_ogg_vorbis.so load => format_wav.so load => format_pcm.s o load => format_au.so Adicionalmente se pueden cargar mdulos en tiempo real a travs de la consola de Ast erisk con el comando module load. Veremos ms de la consola de Asterisk o CLI ms adel ante. 4.5 El proyecto Zaptel, ahora DAHDI A pesar de ser un gran producto de software Asterisk no puede hacer todo el trab ajo. Uno de los paquetes de software que lo complementa se llama Zaptel. Bsicamen te Zaptel es un conjunto de drivers para controlar hardware telefnico como tarjet as PCI que nos permiten conectarnos a la PSTN. Estos drivers se comunican con As terisk a travs de un mdulo de Asterisk llamado chan_zap.so que se configura a travs del archivo zapata.conf. Adicionalmente Zaptel tiene su propio archivo de confi guracin, independiente de Asterisk, llamado zaptel.conf y ubicado en la carpeta / etc/. 64

Diagrama explicativo de la interaccin de Asterisk con Zaptel Breve historia del proyecto Zaptel En el ao 2000 Jim Dixon lanz el proyecto Zaptel cuyo nombre era una abreviacin de Z apata Telephony Project. Lo nombr as en honor a Emiliano Zapata, hroe de la revoluc in mexicana. Los drivers fueron lanzados bajo licencia GPL de tal manera que cual quiera pudo tener acceso al cdigo. Inicialmente Zaptel contena drivers para tarjet as Tormenta fabricadas por Zapata Telecom, pero pronto Digium comenz a mejorar lo s drivers y extender el soporte para nuevos modelos de hardware, entre ellos los que el mismo Digium fabricaba. Pronto Digium se convirti en el principal desarro llador de Zaptel. 65

Luego de algunos aos de mantener Zaptel, Digium cay en cuenta de que Zaptel era un a marca registrada de Zapata Telecom y para evitar cualquier posible confusin fut ura decidi cambiar de nombre a sus drivers. El nombre elegido es DAHDI. DAHDI ya se encuentra disponible para descarga pero muchos continan usando Zaptel por razo nes histricas o esperando a que este nuevo paquete se estabilice un poco ms. Digiu m ha manifestado que en su nueva versin de Asterisk 1.6 ya no soportarn Zaptel ofi cialmente. 4.6 Configuracin de Asterisk Archivos de configuracin Asterisk se puede configurar a travs de algunos archivos de configuracin ubicados en la ruta /etc/asterisk. Existen decenas de archivos de configuracin en este dir ectorio y se encuentran en texto plano para facilitar su modificacin por lo que n osotros podremos modificarlos desde la lnea de comandos utilizando el editor vim o el editor de lnea de comandos de nuestra preferencia. Si bien todos estos archi vos son importantes no todos son necesarios y existen otros que ya han sido preconfigurados por Elastix para que no tengamos que modificarlos. Algunos de los ms importantes se explican en la siguiente tabla. Archivo extensions.conf Descripc in Aqu reside el plan de marcado. En Elastix este archivo incluye otros ms para org anizar el plan de marcado de mejor manera. Estos archivos adicionales empiezan c on la cadena extensions_ Aqu se definen los endpoints SIP Aqu se definen los endpo ints IAX Archivo de configuracin de los canales tipo ZAP. Aqu se puede troncalizar dichos canales y configurar algunos parmetros sip.conf iax.conf zapata.conf Comentarios en los archivos de configuracin 66

Los archivos de configuracin de Asterisk pueden contener comentarios. Un comentar io empieza con el carcter de punto y coma, y una vez escrito el resto de la lnea s e convierte en un comentario. Es decir que es ignorado por Asterisk al interpret ar el archivo. Veamos un ejemplo de comentario. ; ; El siguiente es un bloque de comentarios. ; Como pueden ver puedo escribir c ualquier cosa ; aqu porque ser ignorada por Asterisk. ; Los comentarios son muy til es para escribir ; notas e informacin relativa a la configuracin ; que estamos esc ribiendo. ; Ahora si contino con las directivas... ; #include #include #include # include sip_general_custom.conf sip_nat.conf sip_registrations_custom.conf sip_r egistrations.conf 4.7 Plan de marcado (dial plan) El plan de marcado en Elastix reside principalmente en el archivo extensions.con f. Desde este archivo se incluyen otros importantes que contienen tambin porcione s del plan de marcado. Los principales son: extensions_additional.conf: Aqu resid e el plan de marcado variable escrito por freePBX. Si se escribe manualmente en este archivo los cambios se perdern cuando freePBX sobreescriba este archivo. ext ensions_custom.conf: Aqu se puede escribir plan de marcado definido manualmente p or el usuario. Este archivo no es tocado por el freePBX por lo que es seguro esc ribirlo sin temor a perder los cambios. Todos estos archivos de plan de marcado estn escritos en texto plano en un format o definido por Asterisk. Estos archivos se encuentran divididos en secciones lla madas contextos. Contextos 67

Bsicamente los contextos sirven para agrupar lgica de plan de marcado. Los context os tambin pueden incluir otros contextos mediante la clusula "include" o redirigir el hilo de ejecucin del plan de marcado a otros contextos dependiendo de condici ones. Por ejemplo, un contexto puede contener la lgica necesaria para rutear una llamada hacia la troncal correspondiente luego de examinar el prefijo del nmero t elefnico marcado. Un contexto tambin puede agrupar la lgica necesaria para la aplic acin de reloj despertador. Tambin puede incluir lgica para acceder al voicemail o p ara autenticar un nmero de PIN. En general prcticamente todo en el plan de marcado se encuentra agrupado en contextos. Los contextos son los agrupadores u organiz adores del plan de marcado. Cada contexto debe llevar un nombre nico y este nombr e va encerrado entre los smbolos [ y ]. A continuacin un ejemplo donde se pueden o bservar dos contextos llamados app-pickup y ext-test [app-pickup] include => app-pickup-custom exten => _**.,1,Noop(Attempt to Pickup ${EXTEN:2}) exten => _**.,n,Pickup(${EXTEN:2}) [ext-test] include => ext-test-c ustom exten => 7777,1,Goto(from-pstn,s,1) exten => 666,1,Goto(ext-fax,in_fax,1) exten => h,1,Macro(hangupcall,) Fragmento del archivo extensions_additional.conf para ilustrar los contextos Contextos reservados Hay dos nombres de contextos que estn reservados para un pro psito especial y son [general] y [globals] . Instrucciones Los contextos contienen instrucciones. Estas instrucciones son lneas de plan de m arcado que tienen la siguiente sintaxis. exten => nombre_extension, prioridad, aplicacin 68

Estas instrucciones tambin son llamadas extensiones. Nota: Normalmente asociamos el trmino extensin a un nmero de telfono, pero en Asterisk el trmino extensin va ms al de lo que normalmente conocemos. Una extensin es una serie de lgica de plan de mar cado. Es ms, cuando marcamos un nmero desde nuestro telfono no necesariamente tiene que ringar otro telfono pues podemos crear la lgica que queramos para este nmero d ado. Por ejemplo podemos hacer que la llamada simplemente se cuelgue, que reprod uzca un mensaje dado o cosas mucho ms complejas. Una tpica instruccin luce como la siguiente. exten => 4567, 1, Answer() Nombre de Extensin El nombre de extensin es un identificador numrico de la extensin. Llammosle el nmero de telfono por ahora para simplificar las cosas. Sin embargo ha y una extensin especial no numrica llamada extensin s que le prestaremos particular atencin. La extensin s significa cualquier extensin. La letra s viene de la palabra s tart que significa inicio. Un ejemplo del uso de la extensin s es el siguiente. [prueba] exten => s, 1, Answer() exten => s, 2, noOp(Prueba) La extensin s se usa cuando el usuario que realizo la llamada aun no ha presionad o el numero de la extensin. Por ejemplo una llamada entrante que todava se encuent ra escuchando el IVR de bienvenida. Prioridad La prioridad indica el orden en el que debe ser ejecutada una instrucc in dentro de un contexto. Es necesario que la primera prioridad sea la 1 pues cua ndo Asterisk lee un contexto lo primero que busca es esta prioridad. 69

Existen tambin dos prioridades especiales que son la prioridad s y la prioridad n . La prioridad n significa que a la prioridad de la instruccin anterior se le deb e sumar uno. Esto es muy til para facilitar la escritura del plan de marcado. Not a: Hay que tener cuidado de no confundir la prioridad s con la extensin s. Aplicacin En las aplicaciones radica el verdadero poder del plan de marcado en As terisk. Para hacer una analoga, las aplicaciones son el equivalente a las funcion es de un lenguaje de programacin. Las aplicaciones nos permitirn contestar una lla mada o colgarla, reproducir msica en espera, saltar a otros contextos entre otras muchas cosas. Las aplicaciones tambin pueden recibir parmetros. Por ejemplo a la aplicacin Dial( ) habr que indicarle qu nmero marcar para que pueda realizar su labo r. Ms adelante en el presente captulo se explicarn con ms detalle las aplicaciones ms comunes en el plan de marcado. Variables Las variables en el plan de marcado son un concepto similar a las variables en u n lenguaje de programacin. Es decir que son abstracciones que pueden almacenar in formacin de naturaleza variable. Una variable tiene la siguiente sintaxis. ${NOMB RE} Donde nombre es el nombre de la variable. Las variables pueden ser de tres t ipos: Globales Son las variables definidas en la seccin [globals] del extensions.conf. La palabra global quiere decir que pueden ser referenciadas desde cualquier lugar. De canal Son las variables que se pueden definir usando el comando (o aplicacin) "Set". 70

Pre-definidas Asterisk se encarga de administrar algunos nombres de variables po r su cuenta. Estos nombres se encuentran predefinidos y se llenan con cierta inf ormacin dependiendo del comportamiento de la llamada o de otros factores. Algunas variables predefinidas son: ${CALLERID} ${CALLERIDNAME} ${CALLERIDNUM} ${CHANNE L} ${CONTEXT} ${EPOCH} ${EXTEN} ${SIPUSERAGENT} ${UNIQUEID} Nota: Hay un tipo ad icional de variable que ser introducida en Asterisk 1.6 llamada "Shared" pero no la estudiaremos aqu puesto que la ltima versin estable de Elastix disponible usa As terisk 1.4 A continuacin un segmento del archivo extensions.conf que se distribuy e con Elastix. Podemos ver aqu algunas variables predefinidas como ${UNIQUEID}, $ {BLINDTRANSFER} y ${EPOCH}, y variables de canal como ${CALLFILENAME}. [macro-record-enable] exten => s,1,GotoIf($[${LEN(${BLINDTRANSFER})} > 0]?2:4) e xten => s,2,ResetCDR(w) exten => s,3,StopMonitor() exten => s,4,AGI(recordingche ck,${STRFTIME(${EPOCH},,%Y%m%d%H%M%S)},${UNIQUEID}) exten => s,5,Noop(No recordi ng needed) exten => s,999,MixMonitor(${CALLFILENAME}.wav) Aplicaciones ms comunes Answer Sintaxis: Answer([delay]) 71

Contesta un canal si este est timbrando. Puede recibir opcionalmente el parmetro d elay que le indica si debe esperar un nmero determinado de milisegundos antes de contestar. Background Sintaxis: Background(filename1[&filename2...][|opciones[|langoverride ][|context]]) Reproduce un listado de archivos de audio en el fondo, es decir q ue devuelve el control a Asterisk, quien puede continuar ejecutando el plan de m arcado mientras el audio contina siendo reproducido. Cuando termina de reproducir el ltimo archivo termina su ejecucin por lo que si se quiere seguir esperando por una extensin se debe usar otra aplicacin en conjunto llamada WaitExten. Esta apli cacin es tpicamente usada para reproducir el mensaje de bienvenida de un IVR. La a plicacin Background puede recibir algunas opciones: Opcin s n m Descripcin Saltarse la reproduccin del audio si el canal no se encuentra contestado No contestar el canal antes de reproducir los archivos Dejar de reproducir el audio si un dgito m arcado coincide con una extensin existente en el contexto destino Playback Sintaxis: Playback(filename1[&filename2...][,options]) Reproduce uno o ms archivos de audio. La diferencia con la aplicacin Background es que Playback re produce todo el archivo de audio hasta el final y no retorna el control hasta qu e termina la reproduccin. Nota: No es necesario especificar la extensin del archiv o de audio en esta funcin. Los archivos de audio son buscados en el directorio /v ar/lib/asterisk/sounds Hangup 72

Sintaxis: Hangup() Cuelga el canal y retorna -1 Goto Sintaxis: Goto([[context|]extension|]priority) Salta la ejecucin del plan de marcado a un contexto, extensin y prioridades dados. Si solo se pasa un parmetro se sobreentiende que se trata de una prioridad dentro del mismo contexto. Dial Sintaxis: Dial(type/identifier, timeout, options, URL) Este comando es el q ue hace la magia. Marca un canal especificado y lo vincula con el canal corrient e. 4.8 Asterisk CLI Asterisk CLI es el nombre que recibe la consola de Asterisk. Es decir, una lnea d e comandos para controlar Asterisk directamente. Para ingresar al CLI debemos ej ecutar el siguiente comando desde la consola de Linux. # asterisk -r Asterisk 1.4.21.2, Copyright (C) 1999 - 2008 Digium, Inc. and othe rs. Created by Mark Spencer <markster@digium.com> Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details. This is free software, with components licensed under the GNU General Public License version 2 and other li censes; you are welcome to redistribute it under certain conditions. Type 'core show license' for details. ===================================================== ==================== Connected to Asterisk 1.4.21.2 currently running on elastix (pid = 2245) Verbosity is at least 3 elastix*CLI> Como podemos observar obtenemos un prompt CLI> desde donde podemos ejecutar una serie de comandos que veremos en breve. 73

El CLI tambin nos puede proveer informacin en tiempo real de la actividad de Aster isk. Podemos controlar el grado de detalle con el que queremos ver dicha informa cin con algunos comandos. Los ms usados son los siguientes. elastix*CLI> core set debug 9 Core debug was 3 and is now 9 elastix*CLI> core se t verbose 9 Verbosity is at least 9 Mientras ms altos los niveles de las variables debug y verbose ms detallada ser la informacin mostrada. Por omisin el grado nivel de verbose en Elastix se encuentra en 3. Nota: Debido al gran volumen de informacin que se puede generar con estos c omandos es importante reestablecer los valores de las variables debug y verbose a los mnimos al finalizar nuestras tareas de diagnstico. Caso contrario Asterisk c ontinuar generando esta informacin detallada cuando realmente no la necesitamos, l o cual es un trabajo extra que consume recursos. En sistemas con mucha actividad este gasto extra puede ser significativo y afectar el desempeo de las llamadas. Comandos del CLI A continuacin una breve lista de los comandos de CLI ms comunes. Para ver una list a completa de comandos revisar el Apndice C. Comando agi debug core set debug cha nnel core set debug core set verbose core show channels Descripcin Permite habili tar el debug de scripts AGI. Se apaga con agi debug off Habilita el debug en un ca nal determinado Permite cambiar el nivel de debugging. Se apaga con core set debu g off Incrementa la intensidad del logging. Muy til en diagnstico Muestra informacin de los canales activos en el instante de ejecutar el comando Recarga todo el pl an de marcado Muestra el plan de marcado Muestra un listado con todos los dialplan reload dialplan show help 74

comandos de CLI disponibles iax2 set debug Habilita el debug a nivel de IAX2. Se deshabilita con el comando iax2 set debug off Muestra los peers definidos y algun a informacin adicional como el IP desde donde se conectan, el estatus, entre otro s datos Muestra informacin de registro IAX2 e informacin como el estatus y el IP a la que se trata de conectar Recarga todos los mdulos de Asterisk. til para aplica r los cambios hechos en los archivos de configuracin Habilita debug de un span de terminado de una interfase PRI Reinicia Asterisk de manera ordenada Reinicia Ast erisk de manera brusca Reinicia Asterisk cuando no haya actividad en la central. Adecuado en ambientes de produccin donde no tenemos otra opcin que reiniciar la c entral pero no queremos tampoco que se corten llamadas Habilita debug de SIP a n ivel de una direccin IP especfica Habilita debug de SIP a nivel de un peer especfic o Muestra un listado con todos los peers SIP configurados e informacin de cada un o de ellos como el estatus Muestra un listado con los registros SIP e informacin relevante de cada uno de ellos Detiene Asterisk de manera ordenada Detiene Aster isk de manera brusca Detiene Asterisk cuando no haya actividad en la central. Ad ecuado en ambientes de produccin donde no tenemos otra opcin que reiniciar la cent ral pero no queremos tampoco que se corten llamadas Muestra un listado de los ca nales ZAP y algunos parmetros de funcionamiento. Ver ejemplo luego de esta tabla. 75 iax2 show peers iax2 show registry module reload pri debug span restart gracefully restart now restart when convenient sip set debug ip sip set debug peer sip show peers sip show registry stop gracefully stop now stop when convenient zap show channels

zap show status Muestra un listado de los dispositivos ZAP y un reporte de alarmas y errores elastix*CLI> zap show channels Chan Extension pseudo 1 2 3 4 5 6 7 8 9 10 11 12 elastix*CLI> Context from-zaptel from-pstn from-pstn from-pstn from-pstn from-za ptel from-zaptel from-zaptel from-pstn from-zaptel from-zaptel from-zaptel fromzaptel es es es es es es es Language es MOH Interpret default default default de fault default default default default default default default default default 4.9 Asterisk AGI AGI (Asterisk Gateway Interface) es una manera de interactuar con Asterisk desde un programa de lnea de comandos. Este programa puede ser escrito en prcticamente cualquier lenguaje y es invocado por Asterisk desde el dialplan. Al momento de l a invocacin de un programa AGI se le pasan ciertos parmetros y este a su vez respo nde con comandos AGI que son entendidos por Asterisk. La utilidad de AGI es enor me y nos permite desarrollar funcionalidad extra para nuestra central telefnica. Un ejemplo muy comn de esto es el desarrollo de aplicaciones de consulta telefnica a bases de datos. Los programas o scripts AGI son muy populares y Elastix viene con algunos preinstalados en la carpeta /var/lib/asterisk/agi-bin/ Ejecucin de scripts AGI Los scripts AGI se comunican con Asterisk a travs de STDIN, STDOUT y STDERR. Esto quiere decir que deberan poderse ejecutar desde la misma lnea de comandos. 76

Algo muy importante a notar es que los scripts AGI deben ser ejecutables por el usuario asterisk as que es bueno asegurarse de que esto suceda. # chown asterisk.asterisk script_prueba.agi # chmod 755 script_prueba.agi Luego de esto ya podemos ejecutar el script AGI desde el dialplan para que haga algo til. Esto se lo hace gracias a la funcin AGI(). A continuacin un ejemplo. exten => 6789,1,Answer exten => 6789,2,AGI(script_prueba.agi) Como vemos en el ejemplo anterior le hemos dicho a Asterisk que ejecute el scrip t llamado script_prueba.agi. Este script se ejecutar cuando el usuario digite la extensin 6789. Por omisin Asterisk asume que el script se encuentra en la ruta /va r/lib/asterisk/agi-bin/ as que si lo ubicamos en un lugar diferente habr que espec ificar la ruta completa. Parmetros enviados al script AGI Como habamos dicho antes, en el momento de la invocacin del script, Asterisk le en va cierta informacin. A continuacin un ejemplo de la informacin enviada cuando ejecu tamos un script llamado dialparties.agi, un componente de freePBX. 77

agi_request: dialparties.agi agi_channel: SIP/4444-08d6ab60 agi_language: en agi _type: SIP agi_uniqueid: 1222117320.271 agi_callerid: 4444 agi_calleridname: Edg ar Landivar agi_callingpres: 0 agi_callingani2: 0 agi_callington: 0 agi_callingt ns: 0 agi_dnid: 216 6 agi_rdnis: unknown agi_context: macro-dial agi_extension: s agi_priority: 3 agi_enhanced: 0.0 agi_accountcode: Adicionalmente a la informacin que por omisin Asterisk le enva al script AGI, nosot ros podramos enviarle informacin adicional invocando la funcin AGI() de la siguient e manera. exten => 6789,1,Answer exten => 6789,2,AGI(script_prueba.agi|param1|param2|param 3) En el ejemplo anterior le estoy enviando 3 parmetros adicionales al script. Se pu eden enviar tantos parmetros como sean necesarios. Ya veremos ms adelante cmo difer enciar estos dos grupos de parmetros desde la programacin del script. Comandos AGI A continuacin un listado de los comandos AGI disponibles en la ltima versin de Elas tix 1.3. Este listado ha sido generado con el comando agi show desde el CLI. Com ando answer channel status Descripcin Answer channel Returns status of the connec ted channel 78

database del database deltree database get database put exec get data get full v ariable get option get variable hangup noop receive char receive text record fil e say alpha say digits say number say phonetic say date say time say datetime se nd image send text set autohangup set callerid set context set extension set mus ic set priority set variable stream file control stream file tdd mode verbose Removes database key/value Removes database keytree/value Gets database value Ad ds/updates database value Executes a given Application Prompts for DTMF on a cha nnel Evaluates a channel expression Stream file, prompt for DTMF, with timeout G ets a channel variable Hangup the current channel Does nothing Receives one char acter from channels supporting it Receives text from channels supporting it Reco rds to a given file Says a given character string Says a given digit string Says a given number Says a given character string with phonetics Says a given date S ays a given time Says a given time as specfied by the format given Sends images to channels supporting it Sends text to channels supporting it Autohangup channe l in some time Sets callerid for the current channel Sets channel context Change s channel extension Enable/Disable Music on hold generator Set channel dialplan priority Sets a channel variable Sends audio file on channel Sends audio file on channel and allows the listner to control the stream Toggles TDD mode (for the deaf) Logs a message to the asterisk verbose log 79

wait for digit Waits for a digit to be pressed Libreras AGI A pesar de que un programa AGI puede ser escrito en prcticamente cualquier lengua je, existen algunos lenguajes que ya cuentan con libreras para facilitar las labo res de desarrollo de scripts AGI. Algunos de estos lenguajes son los siguientes. Pearl PHP Python Ruby C .NET Para ver informacin actualizada de las libreras o frameworks disponibles para esto s lenguajes recomendamos revisar el siguiente link: http://www.voip-info.org/wik iAsterisk+AGI En nuestro caso utilizaremos una librera para PHP llamada phpAGI co n la que codificaremos un sencillo script AGI de ejemplo. 4.10 Asterisk AMI AMI (Asterisk Manager Interface por sus siglas en ingls) es una manera de comunic arse con Asterisk a travs del protocolo IP. Digamos que es un concepto similar a AGI pero mientras que AGI est pensado para comunicaciones locales AMI puede ser e jecutado desde equipos remotos. Es esto ltimo lo que lo convierte en una herramie nta poderosa. Gracias a AMI se pueden desarrollar poderosas aplicaciones cliente que pueden ejecutarse en otros computadores, liberando con esto de carga al ser vidor Asterisk. Un ejemplo de esto es el mdulo para call centers que forma parte del proyecto Elastix. Este mdulo de Elastix est codificado en gran parte usando AM I. Debido a que a travs de AMI equipos remotos estn en la capacidad de controlar A sterisk se requiere que estos equipos se autentiquen. Estos usuarios, claves y p ermisos se definen en un archivo llamado manager.conf A continuacin el archivo ma nager.conf que se distribuye con Elastix 80

; ; Asterisk Call Management support ; [general] enabled = yes port = 5038 binda ddr = 0.0.0.0 [admin] secret = elastix456 deny=0.0.0.0/0.0.0.0 permit=127.0.0.1/ 255.255.255.0 read = system,call,log,verbose,command,agent,user write = system,c all,log,verbose,command,agent,user #include manager_additional.conf #include man ager_custom.conf Como podemos observar en el archivo anterior se define un usuario llamado admin con clave elastix456 que puede conectarse desde el IP 127.0.0.1 con mscara 255.25 5.255.0. Luego de esto se definen ciertos permisos para este usuario. Probando desde telnet No necesitamos de un programa sofisticado para probar si podemos interactuar con el AMI. Una manera sencilla de hacerlo es a travs del programa telnet disponible en casi cualquier computador. Veamos un ejemplo desde el propio servidor Elasti x y suponiendo el archivo de configuracin anterior. Primero nos conectamos al pro pio servidor Elastix a travs de una sesin telnet. Para esto ejecutamos lo siguient e desde la lnea de comandos. [root@elastix ~]# telnet 127.0.0.1 5038 Trying 127.0.0.1... Connected to localho st.localdomain (127.0.0.1). Escape character is '^]'. Asterisk Call Manager/1.0 81

Como podemos ver el servidor nos ha contestado con un mensaje indicando que el A MI est escuchando y nos dice tambin que se trata de la versin 1.0 del protocolo. A continuacin nos autenticamos con el usuario y clave especificado en el archivo ma nager.conf Action: Login ActionID: 1 Username: admin Secret: elastix456 Es importante conocer que para enviar un comando debemos ingresar dos retornos d e carro. O sea que debemos dar ENTER un par de veces para enviar la peticin de au tenticacin anterior. Luego de esto AMI nos contestar con un mensaje de xito o error . En nuestro caso como ingresamos bien la clave nos contestar con xito. Response: Success ActionID: 1 Message: Authentication accepted Luego de esto comenzaremos a ver aparecer mensajes de registro que el AMI enva a nuestra sesin cada vez que ocurre un evento como por ejemplo cuando una llamada c uelga o si una extensin est timbrando. A partir de aqu ya podemos interactuar con A MI a travs de comandos. Comandos AMI El siguiente listado de comandos AMI se obtuvo con el comando show manager comma nds desde el CLI de Elastix 1.3. Comando AbsoluteTimeout AgentCallbackLo AgentLo goff Agents Privilegios call,all agent,all agent,all agent,all Descripcin Set Abs olute Timeout Sets an agent as logged in by callback Sets an agent as no longer logged in Lists agents and their status 82

ChangeMonitor Command DBGet DBPut Events ExtensionState GetConfig Getvar Hangup IAXnetstats IAXpeers ListCommands Logoff MailboxCount MailboxStatus MeetmeMute M eetmeUnmute Monitor Originate Park ParkedCalls PauseMonitor Ping PlayDTMF QueueA dd QueuePause QueueRemove Queues QueueStatus Redirect SetCDRUserField Setvar SIP peers SIPshowpeer Status call,all command,all system,all system,all <none> call,all config,all call,all c all,all <none> <none> <none> <none> call,all call,all call,all call,all call,all call,all call,all <none> call,all <none> call,all agent,all agent,all agent,all <none> <none> call,all call,all call,all system,all system,all call,all Change monitoring filename of a channel Execute Asterisk CLI Command Get DB Entr y Put DB Entry Control Event Flow Check Extension Status Retrieve configuration Gets a Channel Variable Hangup Channel Show IAX Netstats List IAX Peers List ava ilable commands Logoff Manager Check Mailbox Message Count Check Mailbox Mute a Meetme user Unmute a Meetme user Monitor a channel Originate Call Park a channel List parked calls Pause monitoring of a channel Keepalive command Play DTMF sig nal on a specific channel Add interface to queue Makes a queue member temporaril y unavailable Remove interface from queue Queues Queue Status Redirect (transfer ) a call Set the CDR UserField Set Channel Variable List SIP peers (text format) Show SIP peer (text format) Lists channel status 83 manager

StopMonitor UnpauseMonitor UpdateConfig UserEvent WaitEvent ZapDialOffhook ZapDN Doff ZapDNDon ZapHangup ZapRestart ZapShowChannels ZapTransfer call,all call,all config,all user,all <none> <none> <none> <none> <none> <none> <none> <none> Stop monitoring a channel Unpause monitoring of a channel Update basic configura tion Send an arbitrary event Wait for an event to occur Dial over Zap channel wh ile offhook Toggle Zap channel Do Not Disturb status OFF Toggle Zap channel Do N ot Disturb status ON Hangup Zap Channel Fully Restart zaptel channels (terminate s calls) Show status zapata channels Transfer Zap Channel 84

Instalando Elastix Hay hombres que luchan un da y son buenos. Hay otros que luchan un ao y son mejore s. Hay quienes luchan muchos aos, y son muy buenos. Pero hay los que luchan toda la vida, esos son los imprescindibles -- Bertolt Bretch 5.1 Instalando desde CD Antes de comenzar asegrese de tener una copia de la ltima versin estable de Elastix . Esta se puede conseguir en el sitio de descargas del proyecto en http://source forge.net/projects/elastix/ Elastix se distribuye como un archivo ISO que puede ser quemado a un CD desde cualquier software de grabacin de CDs. Una vez quemado el CD insrtelo en su computador al momento de encenderlo. Asegrese de que su compu tador arranque de la unidad de CDROM, caso contrario deber habilitar esta opcin en el BIOS de su mquina. Si todo va bien debera obtener una pantalla como la siguien te. 85

Pantalla de instalacin inicial Nota: El CD de instalacin de Elastix formatear TODO el disco duro durante el proce so de instalacin as que asegrese de no tener informacin que vaya a necesitar en su d isco duro. Si usted es un usuario experto puede ingresar en modo avanzado digita ndo el comando: advanced Caso contrario espere, el CD de instalacin iniciar la ins talacin automticamente presione ENTER. Proceda a escoger el tipo de teclado de acu erdo al idioma. Si su teclado es de idioma espaol seleccione la opcin es. 86

Seleccin de tipo de teclado Seleccione la hora zona horaria de su regin. Seleccin de zona horaria Digite la contrasea que ser usada por el administrador de Elastix. Recuerde que es ta es una parte crtica para la seguridad del sistema. 87

Escogiendo la contrasea de root Nota: Los procedimientos a continuacin los realizar el CD de instalacin de manera a utomtica. Primero se buscar las dependencias necesarias para la instalacin. El instalador se encuentra revisando dependencias entre paquetes Luego se procede con la instalacin, inicialmente usted ver algo como lo siguiente. 88

Inicio del proceso de instalacin de paquetes Imagen del proceso de instalacin por finalizar. Fin del proceso de instalacin de paquetes Una vez se realice la instalacin completa, se procede a reiniciar el sistema. Lue go de reiniciar el sistema usted podr escoger entre las opciones de boot la distr o de Elastix. 89

Pantalla de GRUB para seleccionar una imagen de arranque Ingrese como usuario root y la contrasea digitada al momento de la instalacin. Pantalla de autenticacin para ingresar a Elastix desde consola 90

5.2 Instalando Elastix sobre un CentOS o Red Hat preinstalado A pesar de que el CD de Elastix es la manera recomendada de instalar la distro e xisten algunos escenarios donde es deseable partir de un sistema operativo pre-i nstalado y sobre l instalar. Algunas razones para hacer esto podran ser las siguie ntes. Soporte para 64 bits y obviamente ms de 4 GB de RAM Para obtener soporte Re d Hat Para cumplir con este cometido se ha ideado un script llamado CentOS2Elastix. Es te script bsicamente convierte un CentOS en un Elastix. CentOS es una popular dis tribucin de Elastix basada en la popular tambin Red Hat. Por lo dicho, al menos en teora, este script tambin debera funcionar sobre Red Hat. Sin embargo, no todo es soplar y hacer botellas. Solo ciertas versiones de CentOS son soportadas. La ltim a versin del script CentOS2Elastix funciona con CentOS 5.2 usando kernel 2.6.18-5 3. Es necesario que se encuentre instalado este kernel exactamente pues algunos drivers de Elastix son dependientes del kernel. Por ejemplo, Zaptel. El script C entOS2Elastix se lo puede descargar de elastix.org. Sin embargo, se trata realme nte de una imagen ISO que hay que montar antes de poder acceder a su contenido. Po r esta razn, luego de descargar la imagen podemos seguir el siguiente procedimien to. # mkdir /testFolder # mount -o loop ElastiXCorE-xxxx.iso /testFolder # cd /testF older # ./install En el ejemplo anterior debemos reemplazar las letras xxxx por la versin del scrip t que nos hemos descargado. Nota: Para ms informacin existe un pequeo how-to en el wiki de Elastix.org 5.3 Instalando sobre un soft RAID 91

Una configuracin muy til que Elastix ha heredado de Linux es la posibilidad de con figurar arreglos de disco por software (Software RAID), permitiendo agregar un n ivel mnimo de redundancia a un bajo costo. Aunque estn soportados 3 tipos de RAID (0, 1 y 5), el que generalmente se utiliza es del RAID 1 o espejo que nos permite tener duplicada la informacin de las particiones. Es importante recalcar que no e s estrictamente necesario que todas las particiones sean agregadas al arreglo, s in embargo, es recomendable que si se tienen 2 discos duros, se haga un espejo d e todas las particiones. Un esquema de particionamiento comn consiste en tener un a particin de 100Mb para /boot, una particin de 2Gb para la memoria swap y el resto del espacio en una particin para la raz /. Si se sigue este esquema pero con un arre glo de tipo 1 se debern crear las 3 particiones en ambos discos duros de tal form a que al final se tendrn 6 particiones de tipo RAID. La configuracin del Software RAID se la hace durante el proceso de instalacin del Elastix, pero utilizando el modo avanzado. Bsicamente se presentar un paso adicional correspondiente al partic ionamiento de los discos duros, ste paso se subdivide a su vez en pasos adicional es que son la creacin de las particiones de tipo RAID y luego la creacin de los di spositivos RAID que agrupan a las particiones creadas anteriormente. Para ingres ar en modo avanzado es necesario digitar el comando advanced en la pantalla inic ial. 92

Pantalla de instalacin inicial: escogiendo opcin advanced Al igual que en el proceso de instalacin normal se deber seleccionar el tipo de te clado de acuerdo al idioma, luego de lo cual aparecer una pantalla preguntando el tipo de particionamiento que se va a realizar. Opciones de tipo de particionamiento Se debe elegir la opcin Create custom layout (Crear un diseo personalizado) y asegur arse de que estn listados y seleccionados los dos discos duros del servidor. La p antalla de particionamiento mostrar el listado de discos duros con las particione s que se vayan creando. Herramienta de particionamiento mostrando los discos duros aun sin particionar 93

El primer paso ser crear todas las particiones de tipo RAID, para ello se elige l a opcin New. Creando una particin En el tipo de sistema de archivos se debe elegir software RAID, adicionalmente se debe especificar el disco duro en el que se crear la particin, el tamao de la misma y si ser una particin primaria. Luego de seleccionar OK la nueva particin aparecer en el listado como se muestra a continuacin. Resumen del particionamiento hasta este punto 94

Se debe repetir este proceso por cada una de las particiones RAID y finalmente s e tendr un listado como el que se muestra a continuacin. Listado de particiones al final del proceso En este listado se aprecia que en el particionamiento es exactamente igual entre los dos discos duros. El siguiente paso ser la creacin de los dispositivos RAID. Para ello se selecciona la opcin de RAID. Creacin del RAID 95

En esta pantalla se debe elegir el punto de montaje que tendr el dispositivo, el tipo de sistema de archivos, el tipo de RAID (1) y las particiones RAID que le p ertenecen. Hay que tener mucho cuidado de seleccionar adecuadamente las particio nes correspondientes. Este proceso de repetir por cada uno de los dispositivos RA ID de acuerdo al esquema de particionamiento definido. Posteriormente, los dispo sitivos RAID aparecern en el listado de las particiones. Finalmente hemos terminado, el RAID est creado Finalmente, se elige la opcin OK y se sigue con el procedimiento de instalacin norma l. 96

Elastix Overview Los que dicenimposible no deberan interrumpir a los que estn intentando -- Thomas Ed ison Elastix es una distribucin libre de Servidor de Comunicaciones Unificadas que int egra en un solo paquete: VoIP PBX Fax Mensajera Instantnea Email Colaboracin Elastix implementa gran parte de su funcionalidad sobre 4 programas de software muy importantes como son Asterisk, Hylafax, Openfire y Postfix. Estos brindan la s funciones de PBX, Fax, Mensajera Instantnea e Email, respectivamente. 97

Esquema general de los componentes de Elastix 6.1 Breve historia del proyecto Elastix fue creado y actualmente es mantenido por la compaa ecuatoriana PaloSanto Solutions. Elastix fue liberado por primera vez en Marzo de 2006 pero no se trat aba de una distro sino ms bien de una interfase para mostrar registros de detalle s de llamadas para Asterisk, fue recin a finales de Diciembre de 2006 cuando se l o lanz como una distribucin que contena muchas herramientas interesantes administra bles bajo una misma interfase Web que llam la atencin por su usabilidad. Desde ent onces hasta la fecha esta distribucin no ha parado de crecer en popularidad y act ualmente es una de las preferidas del mercado. En 2007 el proyecto estuvo nomina do en 2 categoras para los premios CCA de SourceForge. 6.2 Caractersticas de Elastix Es difcil enlistar todas las caractersticas de Elastix en un simple listado, pero las ms importantes son segn el sitio www.elastix.org y basado en Elastix 1.2: 98

VoIP PBX Grabacin de llamadas con interface va Web Voicemails con soporte para es por email IVR configurable y bastante flexible Soporte para sintetizacin de vo z Herramienta para crear lotes de extensiones lo cual facilita instalaciones nue vas Cancelador de eco integrado Provisionador de telfonos va Web. Esto permite ins talar numerosos telfonos en muy corto tiempo. Soporte para Video-fonos Interface de deteccin de hardware de telefona Servidor DHCP para asignacin dinmica de IPs a IP -Phones Panel de operador. Desde donde el operador puede ver toda la actividad t elefnica de manera grfica y realizar sencillas acciones drag-n-drop como transfere ncias, parqueos, etc Parqueo de llamadas Reporte de detalle de llamadas (CDRs) c on soporte para bsquedas por fecha, extensin y otros criterios Tarifacin con report acin de consumo por destino Reporte de uso de canales por tecnologa (SIP, ZAP, IAX , Local, H323) Soporte para colas de llamadas Centro de conferencias. Desde dond e se puede programar conferencias estticas o temporales. Soporta protocolo SIP, I AX, H323, MGCP, SKINNY entre otros Codecs soportados: ADPCM, G.711 (A-Law & -Law) , G.722, G.723.1 (pass through), G.726, G.729 (si se compra licencia comercial), GSM, iLBC Soporte para interfaces anlogas FXS/FXO Soporte para interfaces digita les E1/T1/J1 a travs de protocolos PRI/BRI/R2 Soporte para interfaces bluetooth p ara celulares (canal chan_mobile) Identificacin de llamadas Troncalizacin Rutas en trantes y salientes las cuales se pueden configurar por coincidencia de patrones de marcado lo cual da mucha flexibilidad Soporte para follow-me Soporte para gr upos de ringado Soporte para paging e intercom. El modelo de telfono debe soporta r tambin esta caracterstica 99

Soporte para condiciones de tiempo. Es decir que la central se comporte de un mo do diferente dependiendo del horario Soporte para PINes de seguridad Soporte DIS A Soporte Callback Editor Web de archivos de configuracin de Asterisk Acceso inte ractivo desde el Web a la consola de Asterisk Fax Servidor de Fax administrable desde Web Visor de Faxes integrado, pudiendo desca rgarse los faxes desde el Web en formato PDF. Aplicacin fax-a-email Personalizacin de faxes-a-email Control de acceso para clientes de fax Puede ser integrado con WinprintHylafax. Esta aplicacin permite, desde cualquier aplicacin Windows, envia r a imprimir un documento y este realmente se enva por fax. Configurador Web de p lantillas de e-mails

General Ayuda en lnea embebida Elastix est traducido a 20 idiomas Monitor de re sistema Configurador de parmetros de red Control de apagado/re-encendido de la ce ntral va Web Manejo centralizado de usuarios y perfiles gracias al soporte de ACL s Administracin centralizada de actualizaciones Soporte para backup/restore a tra vs del Web Soporte para temas o skins Interface para configurar fecha/hora/uso ho rario de la central Email 100 Servidor de Email con soporte multidominio

Administrable desde Web Interface de configuracin de Relay Cliente de Email basad o en Web Soporte para "cuotas" configurable desde el Web Colaboracin Calendario integrado con PBX con soporte para recordatorios de voz Libreta telefn ica (Phone Book) con capacidad clic-to-call Dos productos de CRM integrados a la interface como vTigerCRM y SugarCRM Extras Interface de generacin de tarjetas de telefona basada en software A2Billing CRM co mpleto basado en el producto vTigerCRM Tambin versin open source de SugarCRM Call Center Mdulo de call center con marcador predictivo incluido. Ms detalle de este mdulo ms a bajo. Mensajera instantnea Servidor de mensajera instantnea basado en OpenFire e integrado a PBX con soporte para protocolo Jabber, lo que permite usar una amplia gama de clientes de IM dis ponibles Se puede iniciar una llamada desde el cliente de mensajera (si se usa el cliente Spark) El servidor de mensajera es configurable desde Web Soporta grupos de usuarios Soporta conexin a otras redes de mensajera como MSN, Yahoo Messenger, GTalk, ICQ, etc. Esto permite estar conectado a varias redes desde un mismo cli ente Reporte de sesiones de usuarios Soporte para plugins 101

Soporta LDAP Soporta conexiones server-to-server para compartir usuarios 6.3 Licenciamiento Elastix es software libre distribuido bajo licencia GPL versin 2. 102

Elastix: Configuracin Bsica Educacin es elevar al hombre al nivel de su tiempo -- Jos Mart 7.1 Reconociendo la administracin Web interfase de La interfase Web de Elastix es una aplicacin completa de administracin del servido r de comunicaciones unificadas escrita en su mayora en lenguaje PHP. En este capi tulo haremos un sobrevuelo de la funcionalidad mas importante que podemos admini strar desde esta interfase y a continuacin explicaremos como se encuentran organi zados los mens y mdulos con los que cuenta Elastix. Cada men aparecer en negritas en cabezando una tabla con los mdulos que dicho men contiene. System Nombre mdulo Dashboard Descripcin Dashboard es una especie es una especie de escri torio donde el usuario puede ver 103

un resumen de actividad en Elastix como sus ltimos emails, sus voicemails, sus lti mos faxes, si tiene algo agendado en el calendario, etc System Info Network Netw ork Parameters Muestra informacin de sistema como uso de memoria, CPU y disco dur o Men de configuracin de parmetros de red Aqu se pueden configurar parmetros de red c omo direccin IP y mscara de red, gateway, nombre de host, servidores DNS, entre ot ros. Permite configurar el servidor DHCP embebido que viene con Elastix Men de ad ministracin de usuarios de Elastix Permite configurar grupos de usuarios Permite administrar usuarios y asignarlos a grupos. Tambin permite asociar cuentas de ema il y extensiones telefnicas a usuarios Aqu se configuran los permisos de acceso a los diferentes mdulos para un grupo determinado Permite cargar un mdulo de Elastix Sirve para apagar el servidor Mdulo de telefnico deteccin de hardware DHCP Server User Management Groups Users Group Permission Load Module Shutdown Hardware Detection Updates Packages Repositories Men de actualizaciones Listado de paquetes con la opcin de instalar o actualizar S e pueden configurar los repositorios en base a los cuales se realizan las actual izaciones Modulo para respaldar el servidor Elastix y tambin para subir respaldos y restituir informacin Men para configurar preferencias varias Cambia el idioma d e toda la interfase Web de Elastix Cambia la fecha, hora y zona horaria del serv idor Permite cambiar los temas (skins) para darle a la interfase de Elastix un d iferente Backup/Restore Preferences Language Date/Time Themes 104

look PBX Nombre mdulo PBX Configuration Descripcin Aqu se encuentra embebido freePBX. Desde aqu se hacen la mayora de configuraciones a nivel de central telefnica Panel de ope rador basado en flash, herramienta muy til para el recepcionista Listado de voice mails. Se debe haber asociado previamente al usuario con una extensin telefnica pa ra poder ver el listado Listado de grabaciones telefnicas. Al igual que con el mdu lo anterior el usuario debe estar asociado con una extensin Actividad del cancela dor de eco Herramienta muy til para provisionar lotes grandes de telfonos en corto tiempo Mdulo para temporales agendar conferencias Flash Operator Panel Voicemails Monitoring Echo Canceller Endpoint Configuration Conference Extensions Batch Tools Asterisk CLI File Editor Mdulo para crear grandes lotes de extensiones Men con herramientas varias Permite ejecutar comandos del CLI desde el Web Permite editar archivos de texto plano de sde el Web Fax Nombre mdulo Virtual Fax List Descripcin Listado de extensiones de fax virtuales. Es decir que recibirn faxes en formato PDF en un buzn de email Este mdulo permite c rear extensiones de fax nuevas Permite configurar una direccin email New Virtual Fax Fax Master 105

que recibir notificaciones funcionamiento del fax Fax Clients Fax Visor Template Email del Configuracin de permisos de acceso para aplicaciones clientes de fax Visor de fax es que permite visualizar faxes en formato PDF Herramienta de configuracin de pla ntilla de email que se enviar cada vez que arribe un fax Email Nombre mdulo Domains Accounts Relay Descripcin Creacin de dominios de email. Elasti x soporta multidominios. Creacin de cuentas de email y asignacin de cuotas de espa cio en disco duro Configuracin de relay para permitir a otras redes utilizar a El astix para enviar su email Interfase de Webmail basada en software Roundcube Webmail IM Nombre mdulo OpenFire Descripcin Interfase embebida para administrar el servidor O penfire Reports Nombre mdulo CDR Report Channels Usage Descripcin Reporte de CDRs con opciones de filtrado por campos y por fechas Reporte de uso de canales. Se pueden ver grficos por diferentes tipos de tecnologa como SIP e IAX Men de tarifacin Rates Aqu se pued en establecer las tarifas dependiendo de la troncal y el prefijo Billing 106

telefnico Billing Report Reporte de tarifacin con filtrado por fechas y campos. Bsi camente se calcula y muestra el costo de cada llamada Grfico de pastel de la dist ribucin por destinos. Hay 3 criterios: por costo, por nmero de llamadas y por tiem po de duracin de las llamadas Configuracin de las troncales habilitadas para la ta rifacin. Tambin se establece aqu la tarifa por omisin Interfase para ver el log de A sterisk con filtrado por fechas y cadenas de texto Destination Distribution Billing Setup Asterisk Logs Extras Nombre mdulo vTigerCRM Calling Cards Downloads Softphones Fax Utilities Instant M essaging SugarCRM Descripcin Software de poderoso CRM embebido Interfase basada e n software A2Billing para administrar tarjetas de llamadas Men de descargas Lista do de aplicaciones de softphones recomendadas Listado de recomendadas aplicacion es de fax Listado de clientes de IM recomendados Software CRM en su versin de cdigo abierto Agenda Nombre mdulo Calendar Descripcin Mdulo de calendario para gendar eventos que inclus ive pueden generar llamadas telefnicas automticas Libreta de direcciones Interfase para grabar mensajes que se pueden asociar con el mdulo Calendar y que se reprod ucen cuando se genera una llamada automtica Address Book Recordings 107

Ingreso al Sistema El usuario y contrasea por defecto para ingreso al sistema son los siguientes: Us uario: Contrasea: admin palosanto 7.2 Configuracin de red Lo primero que debemos configurar luego de ingresar al equipo son los parmetros d e red: La opcin Red del Men Sistema del Elastix nos permite visualizar y configurar lo s parmetros de red del servidor. Configuracin de parmetros de red Host: Nombre del Servidor, por ejemplo: pbx.example.com Puerta de Enlace: DNS Pr imario: (DNS) Primario Direccin IP de la Puerta de Enlace (Gateway) Direccin IP de l Servidor de Resolucin de Nombres DNS Secundario: Direccin IP del Servidor de Resolucin de Nombres (DNS) Secundario o Alternativo. 7.3 Creando una extensin Esta seccin est dirigida a los telfonos, softphones, sistemas paginadores, o cualqu ier cosa que pueda ser considerada como una extensin. 108

Definir y corregir extensiones es probablemente la tarea ms comn realizada por un administrador de PBX, y como tal, se encontrar muy al corriente de esta pgina. Hay actualmente cuatro tipos de dispositivos o tecnologas soportadas: SIP, IAX2, ZAP y Custom. Para crear una Nueva extensin ingrese al Men PBX. Por defecto se accede a seccin Configuracin PBX, en esta seccin escogemos del panel izquierdo la opcin Extensi nes. Ahora podremos crear una nueva extensin. Primero escoja el dispositivo de ent re las opciones disponibles: Creando nueva extensin Generic SIP Device: El SIP es el protocolo estndar para los telfonos VoIP y ATA. L a mayora de telfonos IP soportan SIP. Generic IAX2 Device: IAX es el protocolo Inte r Asterisk Exchange, un nuevo protocolo apoyado solamente por algunos dispositivo s (Por ejemplo, los telfonos basados en PA1688, y el IAXy ATA). Generic ZAP Devic e: ZAP es un dispositivo de hardware conectado al servidor Elastix. Por lo gener al tarjetera PCI controlada con los drivers del proyecto Zaptel (de all el nombre de ZAP). Other (Custom) Device: Custom nos permite escribir directamente una ent rada en los archivos de configuracin y por ende esta entrada debe estar en format o de extensin entendible por Asterisk. Puede tambin ser utilizado para mapear una ex tensin a un nmero externo. Por ejemplo, para enrutar la extensin 211 a 1-800-555-1212 , se puede crear una extensin Custom 211 y en la caja de texto del dial se puede ingr esar: Local/18005551212@outbound-allroutes. 109

Una vez haya escogido el dispositivo correcto, de clic en Ingresar. Luego de esc oger el tipo de dispositivo nos aparecer un formulario que vara un poco dependiend o de lo que hayamos escogido previamente. Nosotros supondremos que el usuario ha escogido SIP pues es lo ms comn. Formulario de creacin de nueva extensin SIP

Como podemos observar se pueden configurar aqu muchas cosas interesantes pero no todos los datos son necesarios para conseguir una extensin funcional as que explic aremos aqu solo los ms importantes. Extensin del Usuario: Debe ser nico. ste es el nm ro que se puede marcar de cualquier otra extensin, o directamente del recepcionis ta Digital si est 110

permitido. Puede ser cualquier longitud, pero convencionalmente se utiliza una e xtensin de tres o cuatro cifras. Display Name: Es el nombre del Caller ID, para l lamadas de este usuario sern fijadas con su nombre. Slo debe ingresar el nombre no la extensin. Secret: Esta es la contrasea usada por el dispositivo de la telefona para autenticar al servidor de Asterisk. Esto es configurado generalmente por el administrador antes de dar el telfono al usuario, y generalmente no se requiere que lo conozca el usuario. Si el usuario est utilizando un softphone, entonces ne cesitarn saber esta contrasea para configurar su software. Configuracin de telfono softphone Nota: Aqu explicaremos algo muy breve. Para ms detalles visitar el captulo Configura cin de telfono IP. Al configurar un telfono softphone lo que lograremos es tener una PC conectada que cumpla con las mismas funciones de un telfono convencional, par a esto es necesario instalar un software que haga las veces de telfono. Adems se n ecesita disponer de audfonos y micrfono. Existen varias alternativas para softphon es, entre ellos podemos citar los siguientes: Zoiper: Este software nos permite trabajar con extensiones de tipo SIP e IAX, adems es multiplataforma, podemos des cargarlo de la siguiente direccin: http://www.asteriskguru.com XtenLite: Este sof tware trabaja con extensiones SIP nicamente, tambin es multiplataforma, lo podemos descargar de la siguiente direccin: http://www.xten.com/index.php?menu=download 7.4 Configuraciones generales En esta seccin se configuran parmetros generales del sistema Elastix en lo que tie ne que ver con telefona. Explicaremos qu significan los parmetros ms relevantes. 111

Formulario de modificacin de configuraciones generales 112

Opciones del comando dial: Explicaremos esto ms al detalle en breve. Company Dire ctory: El directorio de una empresa se puede escuchar marcando *411 # cuando se escucha un IVR. Play extension number: En el mensaje que toca: Por favor mantngase en la lnea mientras transfiero su llamada a la extensin XXX. Es decir, menciona la extensin a donde se va a transferir la llamada por lo tanto el llamante ya sabr e l nmero de extensin para llamadas futuras. Security Settings: Permite a annimas lla madas SIP ser conectadas. El valor por omisn es no. Online updates: Permite revisar por actualizaciones disponibles. El valor por omisn es no.

Opciones del comando Dial (Dial command options) La mayora de opciones son configuradas en tr, lo cual significa que la persona que recibe la llamada puede transferirla usando el feature configurado para esta funci onalidad. La r significa que enviar un ring al llamante y no pasa ningn audio hasta la llamada sea contestada. Aqu se describen otras opciones: A(X): Toca un anunci la persona llamada, usando x como archivo. D(X): Enva un especfica seal DTMF h: Pe rmite a la persona llamada colgar enviando el dgito *. H: Permite al llamante colga r enviando el dgito *. r: Enva un ringueado a la parte llamante. T/t: Permite a la p arte (llamante/llamada) transferir llamadas. W/w: Permitir a la parte (llamante/ llamada) habilitar la grabacin de llamadas. 7.5 Configuracin de colas Las colas consisten en grupos de usuarios para los cuales se definen ciertas polt icas (o estrategias) principalmente en lo que tiene que ver con llamadas entrant es. Las colas pueden ser llamadas como una extensin ms. Los usuarios de las colas pueden ser estticos, llamados miembros (es decir que tienen un nmero de extensin fijo ) o 113

usuarios dinmicos, llamados agentes (es decir que pueden ingresar a la cola desde cualquier extensin). Una poltica o estrategia define la manera como se distribuye n las llamadas entrantes a la cola entre los miembros o agentes. Las polticas de cola que soporta Asterisk al momento son las siguientes: ringall: ring all avail able channels until one answers (default) roundrobin: take turns ringing each av ailable interface (deprecated in 1.4, use rrmemory) leastrecent: ring interface which was least recently called by this queue fewestcalls: ring the one with few est completed calls from this queue random: ring random interface rrmemory: roun d robin with memory, remember where we left off last ring pass Para configurar una cola en Elastix tenemos que ir al Mdulo PBX y escoger en el m en llamado Queues. Para aadir una nueva cola deberemos llenar el siguiente formulari o. 114

Formulario para aadir nueva cola 115

Queue Number: Este es el nmero que puede ser marcado desde cualquier extensin para ser puesto en la cola. Este tambin es el mismo nmero que se usa cuando se selecci ona un destino. En conclusin este nmero identifica a la cola y debe ser nico. Queue Name: Un nombre corto para la cola. Este es usado nicamente para propsitos de ide ntificacin. Queue password: A una cola se le puede poner una clave. Cuando un age nte intenta conectarse, deberan ser preguntados por la clave de la cola. CID name prefix: Como un agente puede logonearse en varias colas al mismo tiempo, es til colocarle un prefijo al Caller ID para que cuando el agente vea la llamada entra nte en el telfono sepa a que cola pertenece la llamada. Static Agents: Estos son dispositivos que siempre se loguean en la cola. Esto es til si se tienen siempre los mismo agentes en una cola. Aqu se deben listar los Agentes de la siguiente fo rma: A5013, 0 Donde la letra A indica que se trata de un agente y no de una exte nsin, seguido del nmero de agente y el valor 0 Agent Announcement: Este es un anun cio que es tocado al agente antes de que le conecten una llamada. Esto es til cua ndo los agentes no tienen Caller ID en su telfono y les avisa de una llamada entr ante. Music On Hold: Este es la msica que es tocada al llamante mientras est en la cola por un agente que lo atienda. Max wait time: Es el nmero mximo de segundos q ue un llamador puede esperar en la cola antes de ser sacado de la misma. La accin a tomar despus de este tiempo es configurado ms abajo. 116

Max callers: Es el mximo nmero de personas permitidas a esperar en la cola. Si est e nmero es alcanzado, las personas adicionales son enviadas al destinado configur ado en Destino de Fallas. Join Empty: Si se desea que los llamantes ingresen a u na cola vaca (sin agentes), entonces hay que setear este parmetro a yes. Esto no es recomendado. Leave when empty: Se setea a yes si se quiere sacar a los llamantes q ue ingresen a una cola en donde no hay agentes. Recomendado poner no. Ring strat egy: Hay 6 tipos de estrategia de ringueado: ringall: ringuean todos los agentes vlidos hasta que alguno responda. Roundrobin: ringuea en orden desde el primer a gente vlido leastrecent: ringuea al agente cual fue el menos reciente llamado en la cola fewestcalls: ringuea al agente con menos llamadas completadas en la cola . random: ringuea a un agente en forma aleatoria. Rrmemory: round robin con memo ria, recuerda donde se conect la ltima llamada. Agent timeout: El nmero de segundo que se espera para intentar nuevamente riguear a un agente. Wrap-up-time: Despus de una llamada exitosa, indica el nmero de segundos antes de declarar al agente l ibre y enviarle una nueva llamada, El valor por defecto es 0. Call Recording: Op cin de grabar las llamadas entrantes a la cola. Fail Over Destination: Este el de stino si una llamada de la cola no pudo ser atendida. 7.6 IVR y sistema de grabacin 117

Grabacin de mensaje de bienvenida Antes de Crear un IVR es necesario tener un mensaje de bienvenida. Por lo tanto hay que grabar uno cargar uno ya existente. Para acceder a este mdulo dirjase al M en PBX, aparecer por defecto la seccin Configuracin PBX, en el panel izquierdo escoja opcin System Recordings (Grabaciones del Sistema). Grabaciones del sistema La primera opcin que tenemos es crear un anuncio grabndolo directamente, para esto ingresamos el nmero de extensin desde el cual queremos realizar la grabacin, en es te caso usaremos la extensin 201 y damos clic sobre el botn Go. Luego de hacer est o, Asterisk estar esperando nuestra grabacin en la extensin 201, para continuar mar camos *77, grabamos nuestro mensaje y finalmente presionamos la tecla # (numeral ). Para revisar nuestra grabacin presionamos *99, ingresamos el nombre de nuestra grabacin y damos clic sobre el botn Save (Guardar). La segunda opcin que tenemos es cargar una grabacin creado en otro medio, para ello debemos tener un archivo sopo rtado por Asterisk, damos clic sobre el botn Examinar..., buscamos nuestro archivo, luego procedemos a darle un nombre a esta grabacin. Finalmente damos clic en Save (Guardar). 118

Configurar un IVR de bienvenida El IVR nos permite grabar un mensaje de bienvenida y adems podemos tener un men co ntrolado por teclado telefnico, a travs de los 10 dgitos, y los smbolos # numeral y * asterisco. Con esto es posible enviar la llamada a otro destino o de nuevo al IVR que envi el anuncio. Para acceder al mdulo IVR dirjase al Men PBX, aparecer por to la seccin Configuracin PBX, en el panel izquierdo escoja la opcin IVR. Para grabar un mensaje de bienvenida dirjase a la seccin System Recordings (Grabacio nes del Sistema), por ejemplo: IVR: Gracias por llamar a Elastix, si usted conoce el nmero de extensin puede marcarlo ahora, caso contrario espere en la lnea y un o perador lo atender. Para ingresar un nuevo IVR NO es necesario completar todos los campos, pues para nuestro caso (un IVR de bienvenida), no necesitaremos opcione s. Los campos necesarios son los siguientes: Change Name: Cambiar el nombre, le pondremos Bienvenida. Timeout: Tiempo de espera (en segundos) antes de enrutar l a llamada a un operador despus de escuchar el mensaje de bienvenida. Para este ej emplo usaremos el nmero 3. Enable direct dial: Opcin que permite a quien llama mar car una extensin directamente en caso de que la conozcan sin tener que esperar al operador. Announcement: Es el anuncio o mensaje de bienvenida que se grab anteri ormente. Aparecer una lista con todos los mensajes disponibles. Ahora procederemos a configurar ciertas opciones que son frecuentemente usadas, la primera es la opcin 0 (cero) que nos permitir ir directamente al operador y la segunda es tambin ir al operador pero una vez se ha escuchado todo el mensaje de bienvenida, ms el tiempo de espera configurado anteriormente. 119

Formulario de creacin de IVR Entre las opciones del men disponibles, en la parte izquierda existe un casillero donde se debe ingresar la opcin. Para la primera opcin (cero) pondremos este valo r en el casillero, y asignamos alguna extensin configurada anteriormente, sta exte nsin ser el operador. Estas extensiones aparecern luego en la opcin Core. Ahora proced emos a configurar la segunda opcin (permitir ir al operador luego de escuchar el mensaje de bienvenida ms el tiempo de espera), para ello en el casillero de 120

la izquierda ingresamos la letra t lo que significa timeout y asignamos la extensin del operador. Finalmente grabamos el IVR. 7.7 Salas de conferencias Primero hay que aclarar que en Elastix se pueden administrar dos tipos de cuarto s de conferencia: Los cuartos de conferencia permanentes y los cuartos de confer encia temporales. El primer tipo se puede administrar bajo el men PBX => PBX Confi guration => Conferences, mientras que el segundo se puede administrar bajo el men P BX => Conferencias. Los cuartos de conferencia no son otra cosa que una especie d e extensin virtual en la que se puede alojar varias llamadas al mismo tiempo, dan do con esto la ilusin de estar en una conferencia con muchas personas conversando al mismo tiempo. Un cuarto de conferencia permanente es aquel que tiene un nume ro definitivo preasignado. Por ejemplo supongamos que queremos crear el cuarto 8 8999 y asignarlo al Gerente de Operaciones. De ahora en adelante las reuniones t elefnicas de los lunes por las maanas se pueden realizar simplemente marcando 8899 9 cuando llegue la hora pactada y todos los participantes saben que ese nmero de cuarto no cambiara de lunes a lunes. Un cuarto de conferencia temporal se crea, como es obvio, para fines temporales. Por ejemplo la empresa va a participar de una exposicin de productos en el extranjero y quiere agendar una serie de reunion es entre los proveedores y asesores externos para que se pongan de acuerdo en di ferentes tpicos. Por lo tanto se decide asignar un cuarto de conferencia para cad a asesor con el fin de que ellos mismos coordinen las conferencias que crean nec esarias. Lgicamente no queremos que estos cuartos sean permanentes sino ms bien qu e expiren luego de la feria ya que ellos no son trabajadores permanentes de la c ompaa. Listado de conferencias 121

En el presente apartado explicaremos cmo administrar conferencias temporales. Al ingresar a conferencia podremos observar todas las conferencias concurrentes. Pa ra ver las conferencias pasadas o futuras seleccione esta opcin en Estado y de clic en Mostrar. Adems se provee de un filtro usado para los nombres de las conferencia s. Para poder eliminar alguna o varias conferencias debemos seleccionarlas y dar clic sobre el botn Eliminar. Si desea agregar una nueva conferencia de clic sobr e el botn Nueva Conferencia. Creacin de nueva conferencia Los campos requeridos para agregar una conferencia son: Nombre de la Conferencia : Necesario para identificar la conferencia Nmero de la conferencia: Se provee un nmero aleatorio para la conferencia usted puede cambiarlo si no est siendo usado por otra conferencia Tiempo Inicio (PST/PDT): Tiempo de inicio de la conferencia Mximo Participantes: No se podrn invitar ms participantes una vez se completo el nm ero mximo de participantes. Para ver los detalles sobre una conferencia puede dar clic sobre el nombre de la conferencia. 122

Si desea administrar una conferencia concurrente, de clic sobre el enlace de par ticipantes correspondiente a dicha conferencia.

Para invitar a alguien a la conferencia debe escogerlo de la lista proporcionada (lista de extensiones disponibles) y dar clic sobre el botn Llamada a invitar, deb er esperar hasta que se conteste la llamada. Una vez haya invitado a alguien a la conferencia irn apareciendo en el reporte, si desea Silenciar a uno o varios inv itados seleccinelos en la columna Callado y de clic sobre este botn (Callado). Adems p ede botar de la conferencia a uno o varios invitados seleccionndolos en la column a Botar y de clic sobre este botn (Botar). Si desea botar a todos los invitados de la conferencia de clic sobre Botar a Todos. Si alguien a quien invit no se muestra en la lista de invitados, o alguien a quien bot aun se muestra, de clic en el botn Ac tualizar. Este botn tambin actualizar el tiempo que lleva cada invitado en la confer encia. Note que una vez de clic sobre el botn Callado, se actualizar el Estado del i nvitado, los estados posibles son: Muted (Callado), UnMuted (No Callado). Para r egresar a la interfaz de administracin de todas las conferencias de clic en Cance lar. 7.8 Parqueo de llamadas Un lote de llamadas es una extensin virtual con msica en espera. Es decir que si s e llama a esta extensin oiremos msica en espera. A esta accin se le llama parquear una llamada. Esta caracterstica es muy til cuando recibimos una llamada y no sabem os que hacer con ella. Por ejemplo, ingresa una llamada importante para el geren te de la empresa y el no esta en su puesto pero como es una llamada importante l a operadora tiene que localizarlo as que mientras lo busca puede transferir al ll amante en un lote de parqueo para que espere confortablemente con msica en espera . Claro, muchos dirn que simplemente se lo pudo haber puesto on hold pero esto oc upara la lnea telefnica del telfono de recepcin impidiendo que nuevas llamadas ingres en. Una vez encontrado al esquivo gerente se le puede decir por ejemplo que tien e una llamada parqueada en el lote 3434. Luego, el mismo puede des-parquear dich a llamada y reiniciar la conversacin. 123

Configuracin de un nuevo lote de parqueos 124

Enable Parking Lot Feature: Seleccionando esta opcin con un visto se habilitarn la funcionalidad de parqueo de llamadas. Parking Lot Extension: Indica la extensin que servir para parqueo de llamadas. Generalmente indica el primer slot de canale s de parqueo. Number Slots: Indica el nmero de slots disponibles para parquear ll amadas. Parking Timeout: El perodo de tiempo que una llamada puede permanecer par queada. Si se alcanza este tiempo se intentar retornar la llamada al origen. Park ing Lot Context: Este es el contexto para las llamadas parquedas. Por defecto es te contiene el contexto parkedcalls y no deber ser cambiado. Destination for Orphan ed Parked Calls: Indica el destino de una llamada cuando la llamada no puede ser parqueada y el llamador orginal tampoco puede ser alcanzado. Los destinos posib les pueden ser: Un anuncio, un IVR, Terminar la llamada, una extensin, una cola, una conferencia una aplicacin personalizada. 7.9 Msica en espera En esta seccin se puede configurar el Music On Hold que debera ser tocado, cuando se coloca una llamada en espera. Se pueden configurar varios archivos de audio y p ueden ser usados en Colas. Upload a .wav or .mp3 file: Simplemente mediante el b otn browse selecciono el archivo .mp3 .wav. Luego hago clic en upload y debera apare cer el archivo disponible en la lista de archivos de MOH que se muestran debajo de la opcin de cargado de archivo. 125

Formulario de administracin de msica en espera 7.10 Flash Operator Panel (FOP) El Flash Operator Panel del Men PBX del Elastix es un manejador en flash de extension es en Asterisk para monitorear los canales y terminales que se producen en un se rvidor con Asterisk. Es una herramienta muy til para una recepcionista o para cua lquiera que quiera tener una visin grafica del funcionamiento telefnico de la empr esa. 126

Flash operador panel 7.11 Funciones de transferencia de llamadas Por omisin Elastix viene configurado la funcionalidad de transferencia de llamada de la siguiente forma: Transferencia ciega Para trasferir una llamada de una manera ciega se debe digitar: ## seguido del nm ero de extensin a donde se va a transferir la llamada. Transferencia atendida Para transferir una llamada de manera atendida se debe digitar: *2, seguido de l a extensin. Si desea cambiar estos /etc/asterisk/features.conf features es necesari o modificar el archivo 127

Configuracin de hardware No siempre podemos agradar, pero siempre podemos tratar de ser agradables -- Vol taire A pesar de que Elastix puede funcionar sin necesidad de hardware telefnico, es necesario su uso si se requiere conexin a la PSTN. Su instalacin y configuracin se simplifica con Elastix gracias a que se dispone de una interfase Web especia lizada que facilita esta tarea. En el presente captulo nos referiremos bsicamente a tarjetera PCI. Sin embargo pueden usarse otros dispositivos para conectarse a l a PSTN como es el caso de los gateways. 8.1 Tipos de tarjetera y fabricantes En este apartado nos referiremos bsicamente a tarjetera telefnica PCI que es soport ada por Elastix. Este hardware est disponible tanto para interfaces telefnicas ana lgicas como digitales y dentro de cada una de estas categoras existen bsicamente la s siguientes subcategoras: Analgico o FXO 129

o FXS Digital o E1/T1/J1 o BRI Elastix ha sido probado el soporte para muchos modelos y fabricantes de tarjetera . Los siguientes son los modelos soportados oficialmente a la fecha de redaccin d el presente libro: Digium OpenVox Sangoma Rhino Yeastar Xorcom (con interface US B) 8.2 Instalando fsicamente la tarjetera Esto no involucra ninguna tarea complicada, solo las precauciones obvias al inst alar tarjetas electrnicas en un computador. Nota: En caso de instalar hardware FX S es muy comn que se requiera conectar un cable de poder a la tarjeta pues hay qu e recordar que las interfaces FXS deben proveer potencia elctrica a los dispositi vos que se conecten a ella. Tarjeta telefnica analgica de tipo modular con 3 puertos FXO y 2 FXS instalados 130

Luego encendemos el equipo y deberamos verla enlistada a nivel de bus PCI Hardware modular Existen fabricantes que disean su hardware de manera modular, de tal forma que pu eda ser expandible. Por ejemplo, demos un vistazo a esta tarjeta analgica marca O penVox de 8 puertos poblada con mdulos. Se puede observar que se ha extrado un mdul o FXS de su base. La misma tarjeta de la figura anterior a la cual se le ha extrado un mdulo FXO 8.3 Deteccin de hardware Una vez que la tarjetera ha sido instalada es hora de detectarla. En versiones mu y antiguas de Elastix esta tarea se hacia manualmente ejecutando un comando desd e la consola del equipo. Actualmente se cuenta con una interfase Web que detecta el hardware automticamente y nos muestra grficamente el hardware detectado. Esta interfase se puede acceder desde el men System Hardware Detector. Para detectar nue vo hardware basta con presionar el botn Detectar Nuevo Hardware. 131

Figura donde se observa 2 tarjetas detectadas Esta deteccin no significa que nuestra tarjeta est lista para funcionar ni mucho m enos. Solo significa que los drivers han reconocido la tarjeta correctamente y q ue cierta configuracin por defecto ha sido escrita para dicho hardware. A partir de esta configuracin por defecto el usuario puede modificar ciertos parmetros para que la tarjetera funcione cmo se desea. Estas configuraciones a bajo nivel se exp licarn ms adelante en este mismo captulo. Nota: Al momento de escribir este libro s i se presiona el botn para detectar hardware TODAS las tarjetas sern re-detectadas y su configuracin por defecto re-escrita. Si ya se haba configurado una tarjeta p reviamente esta configuracin ser re-escrita. No se olvide de hacer los respaldos n ecesarios. 8.4 Configuracin de interfaces digitales a bajo nivel La herramienta de deteccin de hardware basada en Web que viene con Elastix nos pe rmite detectar el hardware de manera sencilla. Sin embargo, a pesar de que la he rramienta puede configurar exitosamente el hardware digital en muchos casos, hay que tener en cuenta que la herramienta realiza su trabajo suponiendo muchos parm etros que pueden diferir de la realidad. Para corregir esto debemos realizar mod ificaciones a bajo nivel, es decir cambios en los archivos de configuracin. Nota: En este apartado nos referiremos bsicamente a circuitos T-Carrier y ECarrier (qu e es lo que mayormente se usa) basados en los drivers de Zaptel. 132

Configuracin de los drivers de Zaptel Como ya habamos visto en el archivo zaptel.conf se configura la tarjetera o hardwa re presente en el servidor; al menos los dispositivos que usan los drivers Zapte l. Esta parte es independiente de Asterisk. Es decir, bien podramos utilizar el h ardware y los drivers de Zaptel con otro software de PBX como Callweaver por eje mplo. Para interfaces digitales en el archivo zaptel.conf se deben definir los s pans. Un span es un grupo de canales digitales. Usualmente un span representa un puerto digital de la tarjeta. Por ejemplo, si la tarjeta contiene 4 puertos E1 entonces usualmente deberamos definir 4 spans, uno por cada puerto. Un span defin e en una sola lnea, la cual tiene el siguiente formato. span=(spannum),(timing),(LBO),(framing),(coding) spannum Es un identificador numrico nico para etiquetar el span. Se debe empezar c on el nmero 1 e ir incrementando este identificador secuencialmente de uno en uno . Timing Es un dgito que define la forma en la cual se manejar la sincronizacin del span. Los posibles valores son los siguientes. Valor 0 Significado NO usar el s pan (telco) como fuente de sincronizacin. Zaptel proveer la sincronizacin y la envi ar al otro lado. Esto es ms comn cuando se conecta a travs de este span una PBX anti gua a la cual hay que proveerle sincronizacin. Normalmente si nos conectamos a un a compaa telefnica no deberamos tener ningn span con este valor de timing Usar el spa n (telco) como fuente primaria de sincronizacin Usar el span (telco) como fuente secundaria de sincronizacin Usar el span (telco) como fuente de sincronizacin terc era, cuarta, quinta, etc 1 2 3,4,5,,n Nota: Solo el valor 0 puede ser repetido. Los dems valores del uno en adelante NO se deben repetir. LBO (Line Build Out) 133

Es un dgito que representa la longitud del cable entre la tarjeta y el equipo (mo dem) provisto por la compaa telefnica. Casi siempre se puede dejar en 0 sin problem as. Sin embargo si tenemos un cable muy largo habr que revisar la tablita siguien te. Valor 0 1 2 3 4 5 6 7 Longitud del cable o nivel de atenuacin 0 dB / 0 - 133 pies 133 - 266 pies 266 - 399 pies 399 - 533 pies 533 - 655 pies -7.5 dB -15 dB -22.5 dB Framing Como recordaremos, los protocolos de comunicacin digital T-Carrier y E-Ca rrier dividen la informacin en frames, donde cada frame transporta un nmero determ inado de timeslots. Estos frames pueden ser de diferentes formatos y eso es lo q ue se define aqu. Los valores posibles para T1 son d4 o esf, mientras que para E1 son cas o ccs. Coding Es necesario codificar la informacin enviada para hacerla menos susceptible a errores. Esto es as porque la propia data se suele usar como fuente de sincronizacin (o reloj) y si se transmiten tramas largas de ceros (larg os segmentos sin variacin de voltaje) se puede perder dicha sincronizacin. Para ev itar esto se codifica la data para evitar transmitir estas tramas largas de cero s. Por ejemplo la codificacin b8zs significa Bipolar with 8 Zeros Substitution. L os valores posibles para T1 son ami o b8zs, mientras que para E1 son ami o hdb3. En E1 tambin se puede necesitar aadir chequeo de errores crc4 (Control de Redunda ncia Cclica de 4 bits o Cyclic Redundancy Check 4-bits). Al final reiniciamos Zap tel y ejecutamos el comando lszaptel para ver si nuestra tarjeta se encuentra bi en configurada. Si todo est bien configurado y an encontramos errores puede ser qu e el cable no est conectado o algn error de parte del proveedor. 8.5 Configuracin de troncales 134

Hasta este momento el hardware que hemos instalado no se encuentra relacionado c on Asterisk de ninguna manera (a menos que se haya presionado el botn de sobrescr ibir zapata.conf). zapata.conf Asterisk cuenta con un mdulo llamado chan_zap que sirve para conectarse con los d rivers de Zaptel y de esta manera conectar Asterisk con hardware telefnico. Este mdulo se configura a travs de un archivo llamado zapata.conf En el archivo zapata. conf bsicamente se configura la sealizacin de los canales de voz y se mapean los ca nales de Asterisk con los circuitos o lneas telefnicas definidos en el archivo zap tel.conf que configuramos antes. Estos canales se pueden agrupar en grupos, tamb in llamados troncales. Es decir que si tengo 15 circuitos o lneas telefnicas que te rminan en hardware telefnico de mi servidor los puedo controlar con Asterisk y tr oncalizarlas. Por ejemplo podra dividir esas lneas en 3 troncales debido a que mi cliente tiene 3 departamentos: ventas, soporte y financiero. Veamos primero un a rchivo zapata.conf sencillo para ver los parmetros ms importantes y despus continua remos explicando algunos de estos parmetros. 135

[trunkgroups] [channels] context=from-pstn signalling=fxs_ls ; trunk #0 group=0 language=es callprogress=no context=from-zaptel channel=1-5 ; trunk #1 group=1 l anguage=es callprogress=no context=from-zaptel channel=6-10 ; trunk #2 group=2 l anguage=es callprogress=no context=from-zaptel channel=11-15 Como vemos arriba hemos configurado tres troncales. Cada troncal comienza con la palabra group y se le asigna un identificador numrico. Por lo general se empieza con el nmero cero. Dentro de cada troncal se pueden repetir los valores globales (es decir los que se encuentran en el encabezado, fuera de la definicin de las t roncales) y estos valores sobrescriben a los anteriores. Por ejemplo, se podra so brescribir la sealizacin para una troncal especfica. Algunos parmetros importantes signaling 136

Este parmetro define la sealizacin de cada canal o grupo de canales. Lo ms comn que v eremos para circuitos analgicos ser fxs_ls y para circuitos digitales pri_cpe. Sin embargo a continuacin la tabla completa. em: ink Start em_e1: E & M CAS signalling for E1 lines featd: Feature Group D (The f ake, Adtran style, DTMF) featdmf_ta: Feature Group D (The real thing, MF (domest ic, US)) through a Tandem Access point fgccama Feature Group C-CAMA (DP DNIS, MF ANI) fgccamamf Feature Group C-CAMA MF (MF DNIS, MF ANI) featdmf: Feature Group D (The real thing, MF (domestic, US)) featb: Feature Group B (MF (domestic, US) ) fxs_ls: FXS (Loop Start) fxs_gs: FXS (Ground Start) fxs_ks: FXS (Kewl Start) f xo_ls: FXO (Loop Start) fxo_gs: FXO (Ground Start) fxo_ks: FXO (Kewl Start) pri_ cpe: PRI signalling, CPE side pri_net: PRI signalling, Network side (for instanc e, side that provides the dialtone) sf: SF (Inband Tone) Signalling sf_w: SF Win k sf_featd: SF Feature Group D (The fake, Adtran style, DTMF) sf_featdmf: SF Fea ture Group D (The real thing, MF (domestic, US)) sf_featb: SF Feature Group B (M F (domestic, US)) e911: E911 (MF) style signalling. Originating switch goes offhook, far-end winks, originating sends KP-911-ST, far-end gives answer supervisi on, Originating-end sends KP-0-ANI-ST The following are used for Radio interface s: fxs_rx: Receive audio/COR on an FXS kewlstart interface (FXO at the channel b ank) fxs_tx: Transmit audio/PTT on an FXS loopstart interface (FXO at the channe l bank) fxo_rx: Receive audio/COR on an FXO loopstart interface (FXS at the chan nel bank) fxo_tx: Transmit audio/PTT on an FXO groundstart interface (FXS at the channel bank) 137

em_rx: Receive audio/COR on an E&M interface (1-way) em_tx: Transmit audio/PTT o n an E&M interface (1-way) em_txrx: Receive audio/COR AND Transmit audio/PTT on an E&M interface (2-way) em_rxtx: same as em_txrx (for our dyslexic friends) sf_ rx: Receive audio/COR on an SF interface (1-way) sf_tx: Transmit audio/PTT on an SF interface (1-way) sf_txrx: Receive audio/COR AND Transmit audio/PTT on an SF interface (2way) sf_rxtx: same as sf_txrx (for our dyslexic friends) switchtype Este parmetro es para circuitos digitales y especifica el tipo de swit ch PRI usado. Lo ms comn es national y euroisdn, dependiendo de en qu pas nos encont remos claro est. Este dato lo debe proporcionar la compaa telefnica as que sintmonos e n la libertad de preguntar. Los valores posibles son los siguientes. national: SDN nacional tipo 2 ni1: ISDN nacional tipo 1 dms100: Nortel DMS100 4ess: AT&T 4 ESS 5ess: Lucent 5ESS euroisdn: EuroISDN qsig: Protocolo usado en ISDN 138

Configuracin de telfono IP Es difcil despertar a aquel que simula estar dormido -- Provervio navajo La configuracin de un telfono IP suele ser bastante sencilla. Como mnimo un telfono IP necesita 3 valores para funcionar: El IP del servidor PBX (en este caso Elast ix) el usuario (comnmente la extensin) y la contrasea de dicho usuario. Aqu mostrare mos al detalle cmo configurar un telfono IP fsico y otro basado en software ya que los softphones se han vuelto bastante populares en los ltimos tiempos. En estos t elfonos se usar tecnologa SIP para su configuracin puesto que es la tecnologa ms popul ar en la actualidad, pero sintmonos confiados de configurar un telfono en tecnologa IAX. La configuracin no diferir mucho de lo aqu mostrado. En general para la mayora de los casos usaremos SIP en nuestros ejemplos a menos que estemos hablando de telfonos que se conectan remotamente ya que en estos casos ser preferible usar IAX debido a los problemas de NAT que sufre el protocolo SIP. Finalmente explicarem os un mtodo bastante til si nos encontramos en el caso de configurar un nmero grand e de extensiones. Este mtodo nos permite pre-configurar los telfonos desde una her ramienta llamada endpoint configurator disponible en Elastix. 139

9.1 Configuracin de softphone Los telfonos en software o softphones se han vuelto muy populares ltimamente por e l hecho del ahorro que puede significar su uso al no tener que comprar telfonos fs icos. El ahorro es mayor mientras ms extensiones se tengan y es por eso que esta solucin es muy popular en call centers. Por supuesto antes de empezar a configura r el softphone habr que crear una extensin desde Elastix. Ya hemos explicado esto anteriormente en este libro as que omitiremos los detalles. En este ejemplo se su pondr la extensin 5678 con tecnologa SIP y secret 5678. El softphone que vamos a co nfigurar ser el Zoiper que est disponible en versin gratuita y comercial. La versin gratuita es suficiente para que podamos hablar cmodamente de un punto a otro as qu e basaremos nuestro ejemplo en esta versin. Para descargar el Zoiper debemos visi tar el sitio http://www.zoiper.com Suponemos que el lector tiene la habilidad su ficiente para instalar el software sin problemas. Una vez instalado lo ejecutamo s y aparecer una ventana como la siguiente. Pantalla inicial del software ZoIPer A continuacin presionamos el botn con la figura de la herramienta y accederemos al men de opciones. All veremos una pantalla con opciones para configurar nuevas ext ensiones SIP y tambin IAX, pues el Zoiper cuenta con soporte para ambos protocolo s. En nuestro ejemplo configuraremos una extensin SIP as que veremos una pantalla como la siguiente. 140

Configurando una cuenta SIP Llenaremos dicha pantalla con los siguientes datos: Domain: La direccin IP o nomb re de dominio del servidor Elastix. Username: 5678 Password: 5678 Caller ID Name : El nombre que aparecer en los telfonos que reciban nuestras llamadas A continuacin volvemos a la pantalla inicial del Zoiper y all debemos registrarnos con la extensin que creamos. Para esto debemos seleccionar la extensin creada en el combo de la parte inferior y dar clic en el botn Register. 141

Antes de registrar la cuenta SIP Si el Zoiper se registra correctamente veremos que junto al nombre de nuestra cu enta Test aparecer la palabra Registered. Luego de que la cuenta SIP ha sido registrada Listo, ahora voy a llamar desde otro telfono para ver si se puede alcanzar a mi n ueva extensin 5678 y podemos mantener una conversacin. 142

Llamada ingresando a nuestro softphone Todo bien, la llamada fue recibida y la comunicacin transcurri sin inconvenientes. Nota: En ocasiones nos encontraremos solos configurando un Elastix para un clie nte y se nos complica un poco hacer pruebas con otro telfono. En estos casos pued e ser til probar la comunicacin llamando a la extensin de ECO. Esta extensin contest ar automticamente y reproducir el mismo audio que enviemos. 9.2 Configuracin de telfono fsico Para configurar un telfono IP debemos tener en cuenta dos aspectos: 1. Configurac in de red 2. Registro del dispositivo con el servidor Elastix Para ilustrar de me jor manera los puntos mencionados, utilizaremos un telfono Polycom SoundPoint IP 330. 143

El telfono Polycom 330 que configuraremos Configuracin de red La configuracin de red puede realizarse considerando que el telfono obtendr su IP m ediante DHCP (lo ms comn) o que se le asignar una direccin IP esttica. Explicaremos l os dos mtodos. Para el primer caso explicaremos cmo obtener el IP del telfono ms que cmo configurarla ya que se asigna automticamente. En el caso de IP esttica explica remos cmo asignarle un IP al telfono. Al final del proceso conoceremos la direccin IP del dispositivo y con este dato podremos acceder a la interfase de configurac in Web que nos ofrece este modelo de telfono. DHCP Mediante esta opcin, el telfono obtendr una direccin IP de manera automtica. No se debe olvidar de que para que ste lo pueda hacer, dentro de la red deber haber u n 144

servidor DHCP. Elastix viene con un servidor DHCP embebido que se puede activar fcilmente desde la interfase Web. Primero necesitamos conocer la direccin IP que a dquiri el telfono. A continuacin se detalla el procedimiento para determinarla. Pre sionar "Menu -> Status -> Network -> TCP/IP Parameters Aqu aparecer la direccin IP. Anotmosla para luego poder acceder al telfono desde la interfase Web. IP esttica Esta opcin le ser til si desea contar con un registro exacto de las direc ciones IP de sus telfonos y/o si desea colocar sus dispositivos IP en segmentos e specficos de su red. En esta opcin, necesitar ingresar la siguiente informacin. Dire ccin IP Recuerde que la IP que le vaya a asignar a este equipo no la debe tener n ingn otro equipo, debe ser nica en su red. Vamos a suponer que el telfono estaba pr eviamente configurado con DHCP ya que as viene de fbrica. Presionar "Menu -> Setti ngs -> Advanced -> (ingresar clave. Por omisin es 456) -> Admin Settings -> Netwo rk Configration -> DHCP Client -> Editar -> Disabled -> Phone IP Addres" Aqu proc ederemos a ingresar la direccin IP. Mscara de red Si usted no ingresa una mscara de red adecuada, su telfono IP no podr registrarse con su central Elastix. Esos prob lemas ocurren con mayor frecuencia cuando los telfonos IP estn dentro de diferente s segmentos de redes que la central Elastix, es ah donde se debe seleccionar la ms cara adecuada. Seleccionar "Subnet Mask -> (Ingresar la mscara de red) Puerta de enlace En el caso de que su telfono se encuentre en otro segmento de red, deber in gresar la puerta de enlace adecuada para que su telfono pueda ver a su Elastix. 1 45

Seleccionar "IP Gateway -> (Ingresar la IP de la puerta de enlace) Luego de cual quier cambio debemos seleccionar "Exit" y luego "Save Config". Debemos esperar a que el telfono termine de reiniciarse Registro del dispositivo con el servidor Elastix Esta configuracin se la pueda realizar desde el mismo telfono o desde un navegador Web. En este caso utilizaremos el navegador: Mozilla Firefox. Como ya conocemos la direccin IP de nuestro telfono la accedemos desde el navegador Web. En el sigu iente ejemplo el IP de nuestro telfono es la 192.168.1.235 Barra del navegador Firefox IP del servidor Elastix Para comenzar debemos seleccionar la pestaa que dice "SIP ". La interfaz Web nos pedir el usuario y la clave del telfono para poderlo config urar. El usuario y clave de fbrica son Polycom y 456 respectivamente. Dilogo de autenticacin va usuario y contrasea 146

Aqu podremos configurar algunos parmetros SIP como el servidor SIP, es decir nuest ra central Elastix, as como tambin el Outbound Proxy que viene a ser lo mismo en nue stro caso. La configuracin adecuada se muestra en la siguiente figura, donde se s upone que la direccin IP del servidor Elastix es la 192.168.1.66 Interfase Web de configuracin de parmetros SIP del telfono Debemos tomar en cuenta de que la direccin de la Elastix puede estar dentro de nu estro segmento de red, dentro de otro segmento de red, o incluso una IP fuera de nuestra red (IP pblica externa). 147

En esta pantalla tambin podemos configurar el puerto SIP donde se registrar nuestr o telfono. Por omisin en Elastix este valor es 5060. Extensin Seleccione la opcin "Lines" y configure aqu su extensin como se muestra en la siguiente figura. El parmetro Auth Password debe ser igual al parmetro secret que s e ingres cuando se cre la extensin en la interfase Web del Elastix. Configuracin de la lnea SIP 148

Configuracin Opcional En esta seccin veremos cmo configurar el Polycom para que mue stre la fecha y hora del Elastix. En el men debemos dar clic en la pestaa "General " y en el campo "SNTP Server" (bajo la seccin time) ingresar la direccin IP del se rvidor Elastix. Adicionalmente debemos seleccionar el valor adecuado de su zona horaria en "GMT Offset" Configuracin del servidor de tiempo Nota: Si al querer digitar alguna de sus extensiones su telfono marca inmediatame nte una parte de esta y no espera a que termine de ingresar todos los dgitos de l a extensin, revise la opcin "Digitmap", dentro de la seccin "Local Settings" dentro del men "SIP", o en su defecto elimnela por completo. 149

Cambiando el mapa de dgitos 9.3 Utilizando el endpoint configurator En ocasiones la instalacin de telfonos IP se complica cuando son muchos y ms an cuan do la configuracin no es tan trivial como en el softphone que acabamos de configu rar. Existen por ejemplo algunos modelos de telfonos que se pueden configurar des de una interfase Web embebida en el propio telfono e inclusive existen otros que se tienen que configurar a travs de una sesin telnet. La distro Elastix est prepara da para estos y cuenta con una interfase que nos permitir configurar muchos telfon os de una manera ms sencilla. Esta herramienta recibe el nombre de Endpoint Confi gurator. El mdulo Endpoint Configurator como primera accin realiza un rastreo (sca n) de la red o subred que se le suministre. Algo de notar es que cuando se ingre sa al mdulo, la red o subred por omisin es aquella en la que se encuentra la propi a central Elastix; el scan que se hace a dicho segmento de red obtiene intername nte informacin de MAC e IP de los dispositivos de red conectados. 150

Rastreando la red en busca de endpoints Nota: La direccin MAC tambin le sirve al endpoint configurator como identificador n ico del telfono. Si se usara la direccin IP sta podra cambiar con el tiempo, pero co n la direccin MAC no ocurre esto. Luego de obtener la informacin de todos los endp oints de algn segmento de red, el mdulo de forma inteligente trata de identificar los equipos que pudieran ser telfonos IP y tambin trata de recabar informacin de fa bricante y modelo para elegir cules puede configurar basndose en su base de conoci miento de modelos de telfonos. Cuando ya se tiene el grupo de telfonos a configura r se presenta la informacin en la Web interfase de Elastix, se mostrara algo como se ilustra en la figura siguiente. Listado inicial de telfonos encontrados en la red. Sin configurar an. Es una lista de todos los telfonos que se han encontrado en el segmento de red da do y que el Elastix conoce o podr configurar segn su base de datos. Hay que recalc ar que actualmente Elastix en este mdulo solo tiene soporte garantizado para Atco m, Polycom y Linksys. Se prevee para versiones futuras de Elastix tener soporte para Cisco, Aastra, Grandstream y Snom. Como podr notar el reporte muestra las co lumnas MAC Address, IP Address y Vendor que nos ayudar a reconocer de cual telfono IP se trata y con esto podremos relacionar mentalmente su ubicacin fsica. 151

Vista acercada de campos MAC, direccin IP y Fabricante Luego hay dos columnas Phone type y User extension para una configuracin rpida de la extensin para el telfono. En Phone type podr elegir el modelo del telfono y solo se listaran aquellos que Elastix sabe configurar y reconocer. Tener en cuenta qu e para configurar los telfonos se deben haber creados previamente extensiones des de el men PBX->PBX Configuration. Otra limitante es que las extensiones deben ser SIP, no estn soportadas extensiones de ningn otro protocolo. A continuacin se list aran modelos y fabricantes, lo que esta de color amarillo son aquellos que seran soportados en proximas versiones Elastix: Polycom IP 301 IP 330/320 IP 430 IP 5 01 IP 601 IP 550 IP 650 SoundStation IP 4000 Atcom AT 320 AT 530 Linksys SPA921 SPA922 SPA941 SPA942 SPA962 SPA841 Aastra 480i 480i CT 9133i 53i 55i 57i 57i CT Cisco 7960 7940 7970 7971 Grandstream Snom HT386 360 GXP2000 320 Configuracin de un telfono ATCOM, modelo AT-530 152

A continuacin explicaremos paso a paso cmo configurar un telfono marca ATCOM, model o AT-530. Este es un modelo de telfono de bajo costo que soporta tanto SIP como I AX. Para configurarlo primero elegimos el modelo y la extensin a configurar del l istado mostrado en el Endpoint Configurator. Cuando un telfono es configurado por primera vez mediante este mdulo, ste presenta un estatus Not Set lo que significa q ue todava la central Elastix no tiene configuracin acerca del l. Lnea correspondiente al telfono AT-530 detectado en la red En la parte izquierda vamos a elegir la casilla, nmediatamente aparece la ventana de confirmacin pta y el proceso de configuracin empezar. Esto ndo del nmero de telfonos que haya elegido, en lo un telfono a configurar. y luego presionamos el botn Set. I en la cual si se est seguro se ace puede tomar algo de tiempo dependie este caso por ser un ejemplo hay so

Vista amplificada con los datos de nuestro telfono AT-530 Luego del proceso vamos a ver que el reporte se actualiz y el estatus del telfono es Configured without incident. Esto indica que la central Elastix hizo varias cos as. Primero cre el (o los) archivos de configuracin necesarios en la ruta /tftpboo t/ (ruta en la central Elastix) y en caso de este ejemplo solo se cre el archivo atc000945531b45.cfg donde 000945531b45 representa la direccin MAC del telfono. Seg undo cre un registro en la base de datos de Elastix para mantener un historial de l telfono configurado. Tercero, mediante conexin telnet (solo para los ATCOM), rea liz acciones de cargar el archivo de configuracin al telfono, guardar al archivo y reiniciar. Por ello usted podr notar que el telfono se va ha reiniciar. Telfono AT-530 configurado 153

Hay que tener ciertas consideraciones en cuanto a la conexin telnet en los telfono s ATCOM y es que para poder establecerse es necesario de un usuario y contrasea q ue por efectos de simplicidad en Elastix se usan los que vienen por omisin de fbri ca. Para el caso del modelo AT-530 son usuario admin con clave admin y para el c aso del AT-320 la clave es 12345678. Regresando a interpretar los Status del telf ono tenemos. Estatus Not Set Configured incident Color Naranja without Verde Des cripcin configurado aun por la central Elastix La central configur el telfono sin p roblemas Es necesario actualizar. La razn es porque ha cambiado la clave en la ce ntral (FreePBX) y en la base de endpoint.db aun se mantiene la anterior UPDATE: Secrets no Rojo equals in FreePBX and Endpoint Si no hay incidentes entonces ahora nuestro telfono IP ya esta configurado desde la central Elastix y cuando se desee cambiar de extensin slo vamos al endpoint con figurator, hacemos un par de clics y listo. Nota: Existe el botn Unset. La accin que ejecuta ste es slo a nivel del mdulo. La central Elastix borra el registro histrico relacionado con el telfono IP de la base de su base de datos interna y borra los archivos de configuracin relacionados en la ruta /tftpboot/. Esto indica que el telfono en si mantiene la configuracin que tuvo. Configuracin de un telfono Polycom SoundPoint IP 501 A continuacin mostraremos un ejemplo de cmo configurar un telfono Polycom SoundPoin t IP501. Primero elegimos el modelo y la extensin a configurar. Como en el caso d el telfono ATCOM podemos partir de que es la primera vez que se lo va a configura r desde la central Elastix y por ende notamos el Status Not Set. Lnea correspondiente al telfono Polycom detectado en la red 154

En la parte izquierda vamos a elegir la casilla, y luego presionamos el botn Set. I nmediatamente aparece la ventana de confirmacin en la cual si esta seguro se acep ta y el proceso de configuracin empezar. Esto puede tomar algo de tiempo dependien do del nmero de telfonos que haya elegido, en este caso por tratarse de un ejemplo hay solo un telfono a configurar. Vista amplificada con los datos de nuestro telfono Polycom IP501 Luego del proceso vamos a ver que el reporte se actualiz y el estatus del telfono es Configured without incident, esto indica que la central Elastix hizo varias cos as. Primero creo los archivos de configuracin necesarios en la ruta /tftpboot/ (r uta en la central Elastix). Estos archivos para el caso de los telfonos Polycom s on algunos. Archivo 0004f2131470.cfg Descripcin El 0004f2131470 representa la dir eccin MAC y este archivo es un encabezado que le indica al telfono lo que se va a hacer durante el proceso de actualizacin y configuracin 0004f2131470reg.cfg Contiene informacin de la (o las) extensiones que va ha posee r el telfono polycom Realmente es una carpeta que posee a su vez otras carpetas l lamadas contacts, logs y overrides server.cfg sip.cfg Configuracin relacionada co n servidor de proxy y SIP Todos los parmetros adicionales que se deseen configura r. Para esto es bueno revisar un manual de Usuario Polycom Segundo, en estos telfonos no se realiza ninguna conexin a telnet y hasta el momen to no se conoce como reiniciar y enviar los archivos de configuracin desde la cen tral Elastix como una accin centralizada. Por ende es necesario hacer lo siguient e en el telfono Polycom: Elegir que el tipo de provisionamiento es TFTP. Ingresar la IP de la central Elastix. Elegir que lea la configuracin por TFTP. Reiniciar el telfono Polycom. 155

Estos pasos son iguales en todos los modelos Polycom que Elastix soporta. As mism o como en el caso de los telfonos marca ATCOM se genera un historial en la base d e datos interna de Elastix acerca de la configuracin del telfono Polycom. Si no ha y incidentes entonces ahora nuestro telfono IP ya esta configurado desde la centr al Elastix y cuando se desee cambiar de extensin solo debemos ir al mdulo Endpoint Configurator, hacemos un par de clics y listo. Actualizacin por TFTP TFTP es el protocolo usado en este caso para proveer provisionamiento. Significa Trivial FTP y es un protocolo que no necesita identificarse, es decir que no ne cesitamos ni un usuario o contrasea para realizar algn proceso. La mayora de telfono s IP proveen este tipo de provisionamiento para poder transferir los archivos de configuracin desde la central Elastix hasta los endpoints y viceversa, como el c aso de los telfonos Polycom que lo usan para bajar la lista de contactos y escrib ir logs. En la central Elastix ya viene configurado el servicio encargado de esc uchar para aceptar comunicacin o transferencia por TFTP. Es en el archivo de conf iguracin /etc/xinetd.d/tftp donde se personaliza el directorio para uso de tftp. En nuestro caso es /tftpboot/. Personalizando los archivos de configuracin Existen ocasiones en que es necesario personalizar ciertos parmetros en los archi vos de configuracin para los telfonos IP. Se piensa hacer una interfaz para ello e n versiones futuras, pero para alguien que tiene conocimientos de Linux podr hace rlo editando los archivos plantillas de configuracin que estn en la ruta de la cen tral Elastix /var/wwww/html/modules/endpoint_configuration/libs/vendors/ En esta ruta vamos a encontrar lo siguiente. Archivo atcom.cfg.php Descripcin Se encuent ra configuracin para los modelos AT-530 y AT320. Para cambiar alguna configuracin se recomienda revisar manuales del archivos de configuracin para ATCOM Aqu se encu entran las configuraciones para algunos modelos Polycom. Ya que el contenido de los archivos son XML esto hace que se puedan usar el mismo XML para algunos mode los. Se encuentra configuraciones para algunos modelos Linksys. Hay que notar qu e tambin tienen formato XML polycom.cfg.php linksys.cfg.php 156

cisco.cfg.php, aastra.cfg.php Estos archivos son versiones aun no terminadas, para la configuracin de Cisco y A astra en un futuro cercano Al hacer estos cambios en estos archivos plantilla, la prxima vez que use el mdulo Endpoint Configuration su personalizacin de configuracin ser reflejada al configur ar o actualizar los telfonos. 157

Elastix: Configuracin avanzada Si espero perder la audacia de la juventud -- Alejandro Magno 10.1 Ruteo de llamadas Rutas Entrantes Esta opcin permite configurar el destino de las llamadas que ingresan por una det erminada troncal. Cuando una llamada ingresa al servidor, Asterisk puede darse c uenta si coinciden el DID el CallerID de la troncal el nmero de la troncal en cas o de que sea una de tipo ZAP con la informacin de la llamada entrante. 159

Formulario de creacin de nueva ruta entrante 160

DID Number: Para un peer de tipo SIP IAX, el DID es proporcionado por el proveed or y generalmente esta asociado al nmero de cuenta. Por ejemplo si su cuenta es ' 85679432', poniendo este dato en el campo DID, las llamadas entrantes deberan matc hear esta informacin y dirigirse al destino configurado. Caller ID Number: El CID Number es el Caller ID que es recibido por Elastix. Este dato no es confiable ya que es fcilmente spoofable. Al dejarlo en blanco matchea cualquier Caller ID. Zaptel Channel: En est opcin se puede colocar el nmero de la troncal zap que se quiere qu e se matchee con el nmero de troncal por donde asterisk recibe una llamada. Esta opcin es excluyente con el la opcin de DID Number. Fax Handling: Con esta opcin se pueden administrar la forma en que los faxes son recibidos. Immediate Answer: Es ta caracterstica hace que se conteste la llamada tan pronto como este renguea (co n las lneas zaptel, esto ocurre despus de que el Caller-ID es recibido, lo cual pu ede ser despus de 3 rings). Si estamos usando g729 GSM, los rings debera sonar div ertido al llamador. Pause Alter Answer: En esta opcin se define el nmero de segund os que deberamos esperar despus de una inmediata respuesta. El primer propsito para esta opcin fue la de pausar y escuchar por un tono de fax antes de permitir que la llamada contine. Alert Info: ALERT_INFO puede ser usado para rings distintivos con algunos de dispositivos SIP. Set destination: Mediante el set destination pod emos especificar donde queremos que la llamada sea terminada, siendo esto: un IV R, una extensin, un miscelaneous destination, colgar la llamada a un contexto per sonalizado. 161

Rutas Salientes Mediante las rutas salientes podemos indicar por que troncal troncales deben ser enviadas las llamadas. Formulario de creacin de nueva ruta saliente Route Name: En este campo se especifica un nombre descriptivo para la troncal pa ra poder facilitar la administracin de las mismas. Route Password: 162

Si llenamos este campo cada vez que una llamada salga por una troncal, al llamad or ser solicitado un password. Si el password es ingresado correctamente la llama da es conectada, caso contrario la llamada es descartada. Emergency Dialling: Co n esta opcin podemos especificar que la ruta es para llamadas de emergencia. Se p uede especificar un diferente caller ID. Dial Patterns: El patrn de marcado es el conjunto de dgitos patrn de dgitos que Asterisk usa para verificar el match con los dgitos marcados por un llamador para determinar el canal por donde debe enviar la llamada. Existen reglas de cmo especificar los patrones de marcados, las cuales indicamos a continuacin: Patrn X Z N [1237-9] . | Descripcin Representa cualquier dg ito de 0-9 Representa cualquier dgito de 1-9 Representa cualquier dgito de 2-9 Rep resenta cualquier dgito entre corchetes Representa uno o ms caracteres Separa el nm ero ubicado a la izquierda del nmero marcado. Por ejemplo: 9|NXXXXXX debera repres entar los nmeros marcados como 92234567 pero slo debera pasar 2234567 Trunk Sequence: Se lista e indica el orden en que se debe intentar el uso de las troncales. Cuando un nmero digitado por un llamador es matcheado por el patrn de ma rcado especificado antes, Asterisk intentar realizar la llamada por las troncales especificadas en esta opcin en el orden en que son listadas. 10.2 Troncales Una troncal es aquella que permite llevar una llamada a cualquier proveedor de s ervicio de voz a cualquier dispositivo que reciba su intento de llamada y la ges tione a otro destino. Alguno de los tipos de troncales son: ZAP IAX2 163

SIP Custom Veamos algunos de los parmetros a configurar en una troncal ZAP. Creacin de nueva troncal tipo ZAP Outbound Caller ID: En esta opcin especificamos el caller ID con el que se quiere que salga una llamada que es colocada en esta troncal. El formato utilizado es: Nombre del llamador <###########> 164

Si no se quiere usar un caller ID dejar en blanco esta opcin Maximum channels: Es ta opcin limita el nmero de canales que pueden ser usados en una troncal. Al decir canales se refiere al nmero de llamadas simultneas que se pueden hacer, tanto ent rantes como salientes. Dial Rules: Las reglas de marcado indican como asterisk d ebera marcar para hacer la llamada en una troncal. Esta opcin puede ser usada para adicionar remover prefijos. Si un nmero marcado no matchea con patrones colocado s en estas reglas, es marcado como fue digitado. Las reglas pueden ser especific adas mediante la siguiente sintaxis: Patrn X Z N [1237-9] . | Descripcin Represent a cualquier dgito de 0-9 Representa cualquier dgito de 1-9 Representa cualquier dgi to de 2-9 Representa cualquier dgito entre corchetes Representa uno o ms caractere s Separa el nmero ubicado a la izquierda del nmero marcado. Por ejemplo: 9|NXXXXXX debera representar los nmeros marcados como 92234567 pero slo debera pasar 2234567 A iona un prefijo al nmero marcado. Por ejemplo: 001+NXXNXXXXXX debera agregar el 00 1 al nmero 3058293438 cuando este es marcado + Troncales de tipo IAX y SIP Adems de las configuraciones arriba especificadas, se deben especificar configura ciones entrantes y salientes que generalmente son especificadas por el proveedor de servicios de voz. Las configuraciones pueden incluir username, password, cod ec utilizado, el host con el cual debe de registrarse, etc. Ejemplo de configura cin de los detalles del Peer: 165

allow=ulaw&alaw&gsm&ilbc&g726&adpcm&lpc10 canreinvite=no disallow=all dtmfmode=i nfo fromuser=myusername host=nyc.voicepulse.com qualify=5000 secret=mypassword s endrpid=yes type=peer username=myusername Adems es posible que se requiera una cadena de registro que tiene la siguiente si ntaxis: myusername:mypassword@host Troncales de tipo ZAP Las troncales de tipo zap son las asociadas a hardware de telefona instalado en l a mquina y usa el mdulo chan_zap.so. Los archivos asociados a este tipo de troncal es son el /etc/zaptel.conf y /etc/asterisk/zapata.conf Las troncales Zap son cre adas mediante un nmero asociado a la posicin del canal en el hardware. Troncales personalizadas. Estas troncales son creadas cuando se usan protocolos no estndares como h323, Uni call, etc. Se debe especificar un strip de marcado. Por ejemplo: Unicall/XXXXXXX 10.3 Tarifacin 166

La opcin Tarifas del Men Facturacin del Elastix nos permite visualizar y configurar la tarifas que se usarn para la facturacin de llamadas. Listado de tarifas definidas Visualizar, Editar y Eliminar El enlace Ver nos llevar a una pantalla donde se mostrar los datos de la tarifa. P ara eliminar una tarifa de clic en el botn Eliminar. Puede adems modificar los val ores de la tarifa dando clic en el botn Editar. Los nicos valores que puede cambia r son: Nombre, Tarifa y Tarifa de Conexin. Formulario de edicin de tarifa Crear Tarifa Para agregar una nueva tarifa dar clic en el botn Crear Nueva Tarifa. Se mostrar u n formulario en el que se ingresarn los siguientes campos: Prefijo: Nombre: Tarif a: Prefijo telefnico al cual se aplicar la tarifa Nombre para la tarifa Valor de l a tarifa Tarifa de Conexin: Valor de conexin 167

Creacin de nueva tarifa Reporte de Facturacin La opcin Reporte de Facturacin del Men Facturacin del Elastix nos permite visualizar detalle de las llamadas con su respectivo costo y tarifa aplicada. El reporte ca mbiar dependiendo de los valores de filtrado: Fecha Inicio: Fecha a partir de la cual se seleccionarn las llamadas. Fecha Fin: Campo: Fecha hasta la cual se selec cionarn las llamadas. Campos adicionales de filtrado: Fuente, Destino, Canal Dest ino. 168

Reporte de tarifacin

Distribucin de Destinos La opcin Distribucin de Destinos del Men Facturacin del Elastix nos permite visualiza ediante un grfico la distribucin de las llamadas salientes agrupadas por tarifa. E l grfico cambiar dependiendo de los valores de filtrado: Fecha Inicio: Fecha a par tir de la cual se seleccionarn las llamadas Fecha Fin: Fecha hasta la cual se sel eccionarn las llamadas Criterio de distribucin: Distribucin por Tiempo, Distribucin por Nmero de Llamadas, Distribucin por Costo Distribucin por Tiempo 169

La opcin de distribucin por tiempo muestra un grfico de pastel del tiempo traficado para cada troncal. Adems muestra una lista de las troncales que ms tiempo han tra ficado. Grfico de pastel que muestra la distribucin de destinos en base a tiempo de uso Distribucin por Nmero de Llamadas Muestra un grfico de pastel del nmero de llamadas para cada troncal. Adems muestra una lista de las troncales con ms nmero de llamada s traficadas. Distribucin de destinos en base a nmero de llamadas 170

Distribucin por Costo Muestra un grfico de pastel dividido por el costo resumido p or troncal. Es decir que para cada troncal se computa el costo de todas las llam adas traficadas. Este clculo de costo est basado en las tarifas ingresadas en el m en Tarifas (rates). Configurar Facturacin Dentro de esta opcin tenemos dos secciones que explicaremos a continuacin. Configuracin de Tarifa por Omisin La opcin Configuracin de Tarifa por Omisin del Men uracin del Elastix nos permite determinar el costo por minuto y de conexin para la ruta por omisin o dicho de otra manera la tarifa que se aplicar cuando no se encue ntre otra tarifa que aplicar a una llamada. Tarifa por omisin

Configuracin de Troncales para Facturacin La opcin Configuracin de Troncales del Men turacin del Elastix nos permite determinar cules sern las troncales que se usarn para obtener las llamadas para el proceso de facturacin. El listado muestra todas las troncales registradas, deber seleccionar las que se usarn para la facturacin y lue go dar clic en el botn Habilitar para Facturar. 171

Centrales habilitadas para tarifacin seleccionadas con visto 10.4 Reportes Reporte CDR CDR es la abreviacin de Call Detail Record o Registro de Detalle de Llamada. La o pcin Reporte CDR del Men Reportes del Elastix nos permite visualizar un listado con el detalle de las llamadas. 172

Reporte de CDRs El reporte cambiar dependiendo de los valores de filtrado: Fecha Inicio: Fecha a partir de la cual se seleccionarn las llamadas Fecha Fin: Estado ANSWER Fecha has ta la cual se seleccionarn las llamadas Estado de la llamada: ANSWERED, BUSY, FAI LED, NO Campos adicionales de filtrado: Fuente, Destino, Canal Destino Nota: Este reporte es exportable a formato CSV (separado por comas). Este format o se puede abrir desde una hoja de clculo para realizar las manipulaciones matemti cas que se estime conveniente como por ejemplo sacar promedios de tiempo de llam ada por extensin.

Uso de Canales La opcin Uso de Canales del Men Reportes del Elastix nos permite visualizar grficament el nmero de llamadas simultneas para cada canal. 173

Reporte de uso de canales 10.5 Configuracin DISA El concepto de DISA (Direct Inward System Access) permite que los usuarios pueda n acceder telefnicamente al servidor Elastix desde fuera y obtener un tono "inter no" de marcado. Con este tono "interno" puedo tener acceso a las mismas facilida des que desde dentro. Por ejemplo, podra realizar llamadas internacionales (si es que se me lo permite claro est). Normalmente el soporte DISA no est disponible pa ra todos los empleados de una compaa y es necesaria una clave para poder obtener e l tono "interno". Para poder ingresar la clave algunas compaas proveen de una opcin oculta en el IVR principal de la compaa. En todo caso hay que tomar las precaucio nes para que el acceso DISA no pueda ser quebrantado por usuarios indeseados, qu ienes podran aprovecharlo para hacer llamadas a costa de la compaa. 174

Para configurar un acceso DISA debemos ir al men "PBX -> PBX Configuration -> DIS A" y obtendremos una pantalla como la siguiente. Formulario para crear un nuevo acceso DISA DISA name: El nombre que se le da al nuevo acceso DISA. Puede ser cualquiera PIN : La clave para que el usuario acceda al soporte DISA (tono interno) Response Ti meout: Tiempo mximo que la aplicacin DISA espera para que el usuario complete el P IN Digit Timeout: Mximo tiempo entre dgitos Luego, para que ste acceso DISA est disponible desde el IVR principal debemos modi ficar dicho IVR y asociar una opcin con el acceso DISA recientemente creado. 10.6 Condiciones de tiempo 175

El uso de condiciones de tiempo es una caracterstica muy til para muchos negocios que quieren modificar el comportamiento de su PBX dependiendo de la hora del da o da de la semana. Por ejemplo, la compaa X desea que en la noche las llamadas a ven tas no vayan a la cola de ventas sino que se reproduzca un mensaje indicando el horario de atencin y diciendo tambin que pueden contactar a un nmero alternativo pa ra casos urgentes; o tambin la compaa Z que quiere reproducir un IVR de bienvenida distinto al habitual durante los fines de semana ya que tienen promociones de fi n de semana. Las condiciones de tiempo son funcionalidad provista gracias a la i ntegracin de Elastix con el software freePBX. Para configurar una condicin de tiem po hay que ir al men "PBX -> PBX Configuration -> Time Condition". Aqu accederemos a un formulario que nos permitir establecer el rango de tiempo asociado con la c ondicin que queremos crear. Al final del formulario podemos relacionar esta condi cin de tiempo con una entidad como por ejemplo un IVR, una extensin, una cola, un voicemail, etc. 176

Aadiendo una nueva condicin de tiempo 177

Funcionamiento freePBX interno de La libertad no se implora, se conquista -- Eloy Alfaro 11.0 Fundamentos de freePBX freePBX es un poderoso software de configuracin de Asterisk que ha sido integrado como parte de la distro Elastix. Bsicamente es el software que se encarga de gen erar los archivos de configuracin de Asterisk incluido el plan de marcado en base a la configuracin ingresada por el usuario desde el Web. Para realizar esta difci l tarea freePBX la divide en dos pasos: 1. Recaba la configuracin deseada por el usuario en una base de datos de configuracin. En el caso de Elastix se usa el mot or de base de datos MySQL. 179

2. Luego convierte esa informacin almacenada en MySQL principalmente en archivos de configuracin a travs de una herramienta de parsing llamada retrieve_conf Para i lustrar mejor el proceso los dejamos con la siguiente figura. Componentes principales de freePBX 11.1 Organizacin de archivos freePBX escribe o lee informacin de algunos directorios para su correcto funciona miento. A continuacin una lista de los ms importantes. Directorio /var/www/html/ad min/ /var/www/html/panel/ Descripcin El directorio principal donde reside el GUI de freePBX Directorio del Flash Operador Panel. En realidad se trata de otro pro yecto independiente pero relacionado. El directorio donde residen los archivos d e configuracin de Asterisk que escribe /etc/asterisk/ 180

freePBX /var/lib/asterisk/agi-bin/ Aqu residen los scripts AGI de Asterisk. freeP BX cuenta con algunos scripts en esta carpeta como el dialparties.agi Algunos bi narios utilizados por freePBX. Algunos de ellos son links simblicos a las carpeta s de los mdulos Aqu reside el script amportal. Se encuentra en esta carpeta porque puede ser manipulado solo por root Aqu residen los sonidos que se utilizan en el plan de marcado por freePBX Aqu residen los sonidos que han sido creados por el usuario. Por ejemplo cuando se crea un IVR de bienvenida Directorio donde voicem ails se almacenan los /var/lib/asterisk/bin/ /usr/local/sbin/ /var/lib/asterisk/sounds/ /var/lib/asterisk/sounds/custom/ /var/spool/asterisk/voicemail/ /var/spool/asterisk/monitor/ /var/log/asterisk/cd r-csv/ En este directorio se almacenan las grabaciones de voz Directorio donde se escri ben los CDRs en formato texto 11.2 Configuracin amportal.conf El archivo /etc/amportal.conf es un archivo de texto plano ledo por freePBX para recabar informacin general de configuracin. Digamos que es el principal archivo de configuracin de freePBX y puede ser editado manualmente en caso de requerirse. P or ejemplo, aqu se encuentra informacin de acceso a la base de datos como usuario y clave as como tambin el tipo de autenticacin que freePBX usar para con sus usuario s Web. Es un archivo bien documentado por lo que no se nos har difcil entender las opciones o directivas de configuracin. 181

11.3 retrieve_conf: generador del plan de marcado retrieve_conf es un programa escrito en PHP que se encarga de generar el plan de marcado a partir de la informacin almacenada en la base de datos. Este programa puede ser invocado inclusive desde la lnea de comandos aunque usualmente se ejecu ta desde el Web a travs de un script PHP cada vez que damos clic en la famosa bar rita roja de freePBX (la que dice aplicar cambios). 11.4 dialparties.agi Se trata de un script AGI, escrito en PHP, que se invoca desde el plan de marcad o cuando se quiere hacer una llamada. Este script se encarga de revisar el estad o de la extensin a la que se est tratando de alcanzar, as como tambin ciertas opcion es que pudieran estar configuradas en dicha extensin (como call waiting, call for ward, do not disturb) y retorna dicha informacin para que se pueda tomar una accin acorde como por ejemplo devolver al llamante un tono de ocupado en el caso de D ND o rutar la llamada a otra extensin en el caso de call forward. Si la extensin e st disponible y no se encuentran opciones activadas la llamada transcurre sin inc onvenientes. Para realizar su trabajo dialparties.agi consulta la base de datos de Asterisk (la que se encuentra almacenada en el archivo /var/lib/asterisk/astd b). A continuacin algunas lneas de diagnstico que aparecen en el CLI cuando se inte nta hacer una llamada. Estas lneas son devueltas por el script dialparties.agi. dialparties.agi: Caller ID name is 'Pedro Paramo' number is '5454' dialparties.a gi: Methodology of ring is ------'none' dialparties.agi: Added extension 1616 to extension map dialparties.agi: Extension 1616 cf is disabled dialparties.agi: E xtension 1616 do not disturb is disabled dialparties.agi: Checking CW and CFB st atus for extension 1616 dialparties.agi: dbset CALLTRACE/1616 to 5454 dialpartie s.agi: Filtered ARG3: 1616 dialparties.agi: Extension 1616 has ExtensionState: 0 Nota: Este script puede ser sobrescrito por el propio freePBX por uno nuevo por lo que si se realizan cambios en su cdigo se debe tener este hecho en cuenta. dia lparties.agi est ubicado en la ruta /var/lib/asterisk/agibin/dialparties.agi. 182

11.5 Estructura de un mdulo de freePBX La idea de este apartado no es proveer de los conocimientos para que podamos con struir un mdulo de freePBX sino ms bien para que podamos entender cmo solucionar po sibles problemas y para entender mejor cmo funciona freePBX. Los mdulos de freePBX tienen la siguiente estructura mnima de archivos. Nombre del archivo module.xml page.nombredelmodulo.php Descripcin Contiene informacin del mdulo en formato XML Es el archivo principal del mdulo escrito en PHP. Como es de imaginar, la palabra n ombredelmodulo debe ser reemplazada por el respectivo nombre del mdulo. Se trata bsicamente de una librera de funciones PHP. Funciones tanto para uso del mdulo como para que puedan ser compartidas por otros componentes de freePBX Contiene sente ncias SQL que se ejecutarn sobre la base de datos al instalar el mdulo. Bsicamente para crear las tablas necesarias para el mdulo Contiene las sentencias SQL necesa rias para desinstalar el mdulo. Bsicamente para remover las tablas creadas Script PHP para ser ejecutado al momento de instalacin del mdulo Script PHP para ser ejec utado al momento de desinstalacin del mdulo functions.inc.php install.sql uninstall.sql install.php uninstall.php 183

Interconexin remotos con Elastix Cualquier poder, si no se basa en la unin, es dbil -- Jean de la Fontaine 12.1 A travs de troncales SIP Una de las ventajas de usar Elastix es que fcilmente podemos interconectar dos ca jas Elastix de tal manera que se puedan unir las comunicaciones de dos lugares r emotos, por ejemplo en un solo plan de marcado. A continuacin veremos como config urar la interconexin de dos Elastix mediante una troncal de tipo SIP. En el escen ario mostrado en el grfico anterior queremos interconectar un servidor Elastix en el punto A con otro servidor Elastix en el punto B de tal forma que el telfono e n A y el telfono B se puedan comunicar nicamente marcando las extensiones directam ente de cada telfono. Para implementar esto se requiere definir dos cosas: 185

1. La troncal 2. Las rutas salientes en cada Elastix Definiendo la troncal Definimos el nombre de la troncal el cual en nuestro caso servir de username para el proceso de registro. A la troncal del Elastix en el punto A la llamaremos eg ye y la del punto B la llamaremos euio. Luego definimos los detalles del peer qu e en este caso sern los siguientes: host=dynamic secret=welcome trunk=yes type=friend Configuracin que se repite en ambos Elastix. Como se ve hemos definido como secret la palabra welcome. Definimos el register string siguiendo el formato especifica do anteriormente. En este caso para el servidor A debera ser: euio:welcome@192.168.1.240 y para la central elastix quito debera ser: egye:welcome@192.168.1.239 Una vez establecido esta configuracin en ambos Elastix podemos verificar en el As terisk CLI si se encuentran registradas las troncales mediante el comando: sip s how registry y deberamos ver algo como esto: elastix*CLI> sip show registry Host 192.168.1.240:5060 Username euio Refresh Sta te 105 Registered Reg.Time Fri,11 Apr 2008 10:29:43 186

El siguiente paso es definir los detalles del user, es decir en donde se quiere terminar la llamada. En este caso queremos que sea accesible a la extensiones lo cal, bastar con colocar el contexto primario. Esto indica que cuando la llamada e ntre por la troncal iniciar en el contexto aqu especificado. La configuracin es com o sigue: context=from-internal host=192.168.1.240 insecure=very type=friend Definiendo la ruta saliente Primero determinamos el nombre de la ruta saliente. En este caso le pondremos: E lastixB Luego definimos el patrn de marcado, en este caso usaremos el siguiente p atrn de marcado: 2|XXX. Estamos suponiendo que los nmeros locales empiezan con el nmero 2 adelante. Debemos ajustar esto dependiendo del pas donde nos encontremos. En tercer lugar escogemos la troncal por la cual debe irse la llamada. En este c aso escogemos por la troncal SIP/egye 12.2 Conexin llamadas va IP con proveedores de Hoy en da ha tenido mucho auge lo que se llaman los VSP (voice service provider) proveedores de servicios de voz, los cuales proveen entre cosas conexiones SIP I AX para permitir conectar llamadas locales en una regin. En este apartado impleme ntaremos una conexin SIP con un proveedor que nos permitir hacer llamadas dentro d e los Estados Unidos. En el escenario mostrado en el grfico anterior queremos reg istrar nuestra troncal de tipo con un VSP que nos permita realizar llamadas a US A desde cualquier telfono IP. Para implementar esto se requiere definir dos cosas : 1. La troncal 187

2. Las rutas salientes en cada Elastix Definiendo la troncal Como vimos anteriormente se debe definir el nombre de la troncal en este caso le llamaremos: VP-SIP-NYC Luego definimos las caractersticas del peer. Esta informa cin debe ser proporcionada por el VSP y generalmente es la misma para todos los u suarios a registrar, lo nico que cambia es el username y el password. En nuestro caso nuestro VSP nos pidi que configuremos de la siguiente forma. allow=ulaw&alaw&gsm&ilbc&g726&adpcm&lpc10 canreinvite=no disallow=all dtmfmode=i nfo fromuser=myusername host=nyc.voicepulse.com qualify=5000 secret=mypassword s endrpid=yes type=peer username=myusername Luego agregamos la cadena de registro que en nuestro caso sera la siguiente. myusername:mypassword@nyc.voicepulse.com Definiendo la ruta saliente Primero determinamos el nombre de la ruta saliente. En este caso le pondremos: I NTERNACIONAL Luego definimos el patrn de marcado, en este caso usaremos el siguie nte patrn de marcado: 00. 188

En tercer lugar escogemos por que troncal debe irse la llamada en este caso esco gemos por la troncal SIP/VP-SIP-NYC Una vez establecido esta configuracin podemos verificar en el Asterisk CLI si se encuentra registrada nuestra troncal mediante el comando: sip show registry y de beramos ver algo como esto: elastix*CLI> sip show registry Host nyc.voicepulse.com:5060 10:29:43 Username my username Refresh State 105 Registered Reg.Time Fri,11 Apr 2008 Con esto estamos listos para realizar llamadas hacia USA. 189

Calidad de voz Calidad es hacer las cosas bien cuando nadie est controlando -- Henry Ford 13.1 voz Sntomas que afectan la calidad de Enumerar los problemas que afectan la calidad de voz es difcil pues los aos me he encontrado con muchos, algunos muy parecidos a otros difcil categorizarlos y cuyas causas son muy variadas. Sin embargo, e apartado pretendo enumerar los ms comunes explicando sus causas y ciones. a lo largo de lo cual hace en el present posibles solu

Eco El eco es uno de los sntomas ms comunes y es muy fcil reconocerlo. Se produce cuand o una parte de la seal de ida se refleja en la seal de vuelta. Hay algunas causas del eco pero una de las ms comunes se produce en las lneas analgicas cuando se comb inan las seales en el convertidor hbrido o convertidor de 2 4 hilos ya que es muy difcil separar las seales de ida y de vuelta de manera eficaz. 191

El problema se agrava cuando la impedancia de la lnea telefnica vara mucho. Mucha d e la tarjetera telefnica disponible para Asterisk no dispone de un buen mecanismo dinmico de ajuste de la impedancia de la lnea con la impedancia de la tarjeta. Por esta razn una parte de la onda se refleja. Nota: hay que recordar que para que u n receptor absorba eficientemente la potencia de la seal recibida su impedancia d ebe coincidir con la de la lnea. Sin embargo, existe una forma de acoplar estas i mpedancias lo mejor posible. Esto se puede realizar con la utilera llamada fxotun e disponible en Elastix. Lamentablemente esta utilera se debe ejecutar manualment e y con el servicio Asterisk apagado. Para lneas con problemas se recomienda ejec utarlo en horas no laborables una vez por semana. El comando es el siguiente. fxotune -i 5 Lo que hace el comando fxotune es hacer prueba y error enviando una seal pura por la lnea y escuchando el retorno. Esto lo hace muchas veces para cada lnea hasta e ncontrar el mejor valor de ganancia, el cual escribe en un archivo ubicado en /e tc/fxotune.conf Al finalizar su ejecucin podemos encender Asterisk de nuevo pero antes hay que ejecutar el siguiente comando para decirle a Zaptel que cargue los valores nuevos de ganancia. fxotune -s Esto lo debemos ejecutar siempre antes de arrancar Asterisk por lo que se recomi enda mejor incluirlo al final del script de arranque de Zaptel ubicado en la rut a /etc/init.d/zaptel para no tener que hacerlo manualmente cada vez. Nota: Es mu y importante hacer notar que si se utiliza el fxotune para tratar de acoplar las lneas no se deben configurar las variables txgain o rxgain en el zapata.conf ya que sobrescribirn el trabajo del fxotune. Otra causa del eco es el eco acstico pro vocado cuando la seal de sonido se retroalimenta desde el micrfono al audfono. Esto es ms notable cuando hablamos por altavoz. Por supuesto el diseo del telfono tiene mucho que ver aqu y hay modelos que introducen menos eco acstico que otros. 192

Bajo nivel o volumen Muchas redes telefnicas de baja calidad atenan la seal de manera significativa haci endo que oigamos un volumen muy bajo. Esto obviamente afecta la calidad de voz, haciendo que la conversacin muchas veces sea inentendible o haciendo que no se pu edan detectar los dgitos DTMFs. Tanto el volumen de recepcin como el de transmisin pueden ser amplificados mediante parmetros en el archivo zapata.conf. Sin embargo se debe tener mucho cuidado pues en ocasiones un volumen bajo significa una lnea mal acoplada y por ende la mejor solucin es utilizar la utilera fxotune para corr egir el problema. Si subimos a ciegas los parmetros de ganancia en este caso podra mos conseguir empeorar el eco en la lnea. El parmetro para modificar la ganancia d e la seal de transmisin se llama txgain y el que sirve para modificar la ganancia de la seal de recepcin se llama rxgain. Ambos se pueden modificar en el archivo za pata.conf. Retardo El retardo no es otra cosa que la demora de la voz en llegar a destino. Usualmen te el retardo es menor a un segundo y si es menor a 200 ms pasa casi desapercibi do. Retardos mayores a 500 ms provocan que la conversacin se pise, es decir que l os interlocutores se interrumpan y la conversacin se traslape. Esto es irritante para la conversacin. Cuando existe retardo es casi imposible eliminarlo a nivel d el servidor pues en la gran mayora de los casos el retardo es un sntoma de problem as inherentes a la red de comunicaciones. Con esto quiero decir que si se quiere eliminar el retardo habr que analizar si se puede cambiar o mejorar algo en la r ed de comunicaciones. S hablamos de una red de paquetes, puede ser que uno de lo s equipos (por ejemplo un ruteador) est saturado en su capacidad. Distorsin de la voz En esta categora recaen diferentes problemas. Sin embargo uno comn es el de los us uarios que reportan algo como se escucha robotizado. Cuando se escucha robotizado usualmente se trata de usuarios que utilizan un codec ahorrador de ancho de band a como por ejemplo gsm. Estos codecs realizan un muy buen trabajo comprimiendo l a voz lo mximo posible pero el costo es la prdida de 193

informacin en el proceso de codificacin. Si a esto se le agregan problemas con el ancho de banda el problema empeora. La solucin en este caso en particular es camb iar de codec pero hay que tener presente que eso podra disparar otro problema peo r si es que se usa un codec mas consumidor de ancho de banda y el enlace se satu ra. Comunicacin entrecortada Un problema muy molestoso por cierto que normalmente est relacionado con la prdida de paquetes. A su vez la prdida de paquetes puede ser causada por diferentes pro blemas en la red, siendo el ms comn el de redes con una latencia elevada o ancho d e banda limitado. La comunicacin entrecortada tambin puede ser ocasionada por un e levado jitter en la red. Estudiaremos esto ltimo ms adelante. En todo caso lo norm al es buscar la causa en la red y no en el servidor. Por lo general si la latenc ia de la red es siempre (no hablo del promedio) de menos de 150 ms y el canal de comunicaciones no se encuentra saturado podemos estar tranquilos de que los pro blemas de comunicacin entrecortada no nos quitarn el sueo. 13.2 Parmetros relacionados con calidad de voz en redes de paquetes Retardo de red la Hay que distinguir aqu que no estamos hablando de retardo de voz sino el retardo de los paquetes de red en las redes de paquetes. Una manera sencilla (aunque no exacta) de calcular el retardo de la red es utilizar al comando ping. El comando ping nos presenta al final un pequeo resumen estadstico de los paquetes envidos. El resumen luce como el siguiente. --- ping statistics --6 packets transmitted, 6 received, 0% packet loss, time 50 04ms rtt min/avg/max/mdev = 73.055/74.181/74.852/0.710 ms Aqu podemos ver algunos parmetros como el retardo mnimo, mximo, promedio y desviacin. 194

Prdidas de paquetes Las prdidas son ocasionadas por paquetes que no llegaron a su destino. Pueden hab er muchas razones para esto como equipos defectuosos o saturados, prdidas en el m edio de transmisin (cables mal ponchados, ruido ambiente elevado), etc. En el rep orte del comando ping examinado hace poco vemos que tambin se nos reporta porcent ualmente las prdidas de paquetes. Lo deseable es que no existan prdidas de paquete s en lo absoluto. Si existen, hay que averiguar el por qu. Inclusive prdidas de me nos del 1% pueden afectar a las conversaciones de voz sobre IP. Ms aun si usamos codecs con gran compresin. Jitter El jitter es un parmetro muy importante cuando se habla de calidad de voz en rede s de paquetes. El jitter se define como la variabilidad del retardo y normalment e est en el orden de los milisegundos. Este parmetro es necesario para analizar la calidad de voz pues conocer que tenemos un promedio de retardo bajo no es sufic iente para garantizar una buena calidad. Por qu? Porque si tenemos un promedio de retardo aceptable pero en cambio es muy variable esto significa que existe ms pr obabilidad que los paquetes lleguen en desorden o con retardos excesivos y debem os recordar que debido a que estamos hablando de comunicaciones en tiempo real n o se pueden esperar a que lleguen todos los paquetes, habr que descartar los que se demoren ms de lo necesario. Por tanto, si tenemos un jitter elevado es ms proba ble que se descarten paquetes y por lo tanto oigamos una conversacin entrecortada . Nota: Muchas personas confan ciegamente en el comando ping para obtener el reta rdo de una red e incluso para calcular el jitter haciendo clculos manuales. Pero hay que notar que, pese a que puede usarse en situaciones en las que no tengamos otra herramienta a la mano, el comando ping no enva paquetes reales de voz sino trfico ICMP lo cual no es lo mismo y no recibe el mismo tratamiento. Inclusive en ciertas redes este protocolo puede tener una limitacin de ancho de banda totalme nte diferente al de los paquetes de voz. La manera ms exacta de calcular el jitte r es con paquetes RTP reales y esto se puede analizar con un sniffer. 195

Jitter buffers Para tratar de que el problema del jitter tenga un menor impacto en la calidad de voz se pens en que si se espera un poquito por los paquetes de v oz en el destino (antes de reensamblar la seal de voz para enviarla al telfono del destinatario) a lo mejor lleguen una buena parte de los paquetes extraviados y la comunicacin sufra menos las consecuencias. El problema es que con esta accin es tamos tambin aumentando el retardo, que es otro problema desagradable. Sin embarg o la idea es buena y si esperamos lo slo lo justo es probable que lleguen una bue na parte de los paquetes perdidos sin afectar significativamente el retardo. Un jitter buffer entonces es un pequeo registro donde se almacenan temporalmente tod os los paquetes de voz durante un corto tiempo para esperar por posibles paquete s perdidos. El tiempo de espera se denomina tamao del buffer. Asterisk 1.4 ya sopor ta el concepto de jitter buffer y este parmetro es configurable a nivel de protoc olos IAX y SIP. Este parmetro se puede configurar por tanto en los archivos de te cnologa correspondientes (iax.conf y sip.conf). Si se quiere estar seguro de que el jitter buffer est habilitado se puede aadir las siguientes opciones en los arch ivos de tecnologa. usando. En el sip.conf jbenable=yes jbmaxsize=200 ; Opcional (define el tamanio del buffer) En el iax.conf jitterbuffer=yes maxjitterbuffer=200 ; Opcional (define el tamanio del buffer) 13.3 Cmo medir la calidad de voz Medir la calidad de voz siempre ha sido un rompecabezas para los ingenieros y su complejidad radica en que la calidad de voz es en parte un parmetro subjetivo de la persona que escucha. Incluso muchos conceptos como la entendibilidad de una conversacin telefnica varan dependiendo del idioma que usemos. Para ponerlo ms compl icado an, nuestra mente juega una serie de trucos con nosotros para facilitarnos l a vida que hacen que ciertas mediciones de la calidad de voz sean ms difciles de 19 6

obtener. Un ejemplo de esto es que nuestra mente le da ms importancia a eventos ms recientes que a los pasados por lo que si la voz se distorsiona justo antes de terminar la conversacin es probable que las personas califiquen la calidad de la llamada de manera diferente a que si los errores ocurrieron al principio de la l lamada. Tambin hay personas que justifican inconscientemente cierta falta de cali dad de voz en pro de las ventajas o conveniencias personales percibidas y un eje mplo de esto es que las personas no se quejan mucho de la calidad de voz en telfo nos celulares (al menos de primera generacin) en pro de la ventaja de la movilida d. Sin embargo, si la misma calidad la escucharan en una lnea fija es probable qu e llamen a la compaa telefnica a quejarse porque su lnea suena raro o con mala calid ad. Dicho de otra manera inconscientemente estamos justificando esa falta de cal idad y hacindola justificable. En fin, esto es solo la punta del iceberg pues hay u na serie de parmetros subjetivos un tanto difciles de cuantificar. Lo importante e s ilustrar la difcil tarea que se tiene al tratar de cuantificar la calidad de vo z. Ahora vayamos al grano. En efecto existen algunos intentos de estandarizar la medicin de la calidad de voz. Uno de los ms conocidos es la famosa escala MOS que se basa en mediciones subjetivas y tambin se encuentra el modelo E que ya pone e n el tapete algunos parmetros objetivos como el retardo o la prdida de paquetes. A lgo interesante de este ltimo modelo es que contempla la conversin de sus resultad os a la famosa escala MOS, de manera que podramos decir que ya tendramos una escal a estndar que podemos usar para calificar la calidad de voz. Escala MOS La escala MOS es realmente una recomendacin de la ITU. Especficamente la recomenda cin ITU-T P.800 y describe una escala de calidad de voz basada en la toma de mues tras subjetivas que se realizan con una serie de tcnicas llamadas ACR (Absolute C ategory Rating). Para hablar claro se rene a un grupo grande de personas y se les pide que califiquen la calidad de voz. Las pruebas ACR, a diferencia de otras, no contemplan la comparacin de la conversacin telefnica con una seal referencial y p ensndolo bien as es como sucede en una llamada telefnica real. Pero al no tener un parmetro de comparacin o referencia, cmo podemos normalizar las muestras obtenidas? . Para esto se le hacen escuchar a los participantes algunos ejemplos que previa mente han sido definidos por la Recomendacin de manera que los usuarios tengan al gn marco referencial. Una vez hecho esto se transmiten una serie de frases (tambin pre-definidas por la Recomendacin) por la lnea telefnica y los usuarios proceden a calificar la calidad de voz. A continuacin la escala MOS. 197

Calificacin MOS 5 4 3 2 1 Calidad Excelente Buena Aceptable Pobre Mala Esfuerzo No hace falta esfuerzo alguno Es necesario prestar atencin pero no es ne cesario un esfuerzo apreciable Esfuerzo moderado Gran esfuerzo No es posible ent ender la conversacin Modelo E El modelo E es un modelo ms matemtico y objetivo de medicin de la calidad de voz ba sado en algunos parmetros de red como el retardo, el jitter y la prdida de paquete s. Nota: Al decir que es un mtodo objetivo el lector no debe pensar necesariamente que este es un mejor mtodo de medicin de la calidad de voz porque ya hemos expuest o que la calidad de voz contiene un importante componente subjetivo. Sin embargo , si teneos la posibilidad de tomar mediciones de los parmetros de red, este mtodo es ms prctico que el primero pues luego de un relativamente sencillo clculo matemti co podemos tener una aproximacin de la calidad de voz en la escala MOS. El modelo E tambin fue recomendado por el ITU y se trata de la recomendacin ITU-T G.107. Pa ra ir a lo que nos interesa, el modelo E dice que la calidad de voz queda repres entada por un parmetro R. Luego veremos como traducir ese parmetro R a la escala M OS, pero primero veamos cmo se calcula R. R = R0 IS Id Ie + A Donde, R0 es la relacin seal-a-ruido (signal-to-noise ratio) IS es la degradacin por conve rsin (la degradacin que sufre la seal en su conversin a un formato paquetizado para poder transmitirla en una red de paquetes) Id representa el retardo Ie representa la degradacin introducido por los equipos de red. Bsicamente este factor depende del codec y de las prdidas de red A representa el margen de seguridad 198

Simplifiquemos las cosas un poco Para los impacientes que ya quieren comenzar a hacer clculos matemticos les dir que la recomendacin ITU nos provee de una frmula ms s implificada para calcular el parmetro R, aunque obviamente menos precisa que la p rimera pues supone algunos valores por omisin. Esta frmula es la siguiente. R = 94,2 Id Ie Nota: Si somos observadores notaremos que el valor mximo que podra tomar R es de 9 4,2. Ahora bien, como mencionamos antes los parmetros Id e Ie representan el reta rdo y la prdida de paquetes, pero esto no significa que vayamos a reemplazar esto s valores por las mediciones de retardo en milisegundos y de prdidas en porcentaj e directamente en la frmula. No, no; debemos antes adecuar estos valores y normal izarlos con ciertas frmulas provistas por la recomendacin. El parmetro Id represent a el retardo y se calcula con la siguiente frmula. Id = 0.024 d + 0.11 (d 177.3) H(d 177.3) Donde d es el retardo en milisegundos y H( ) es la funcin de Heavyside. H(x) = 0 para x < 0 y 1 para x 0. Al analizar la frmula de Id notaremos a primera vista qu e hay un valor de inflexin en los 177.3 milisegundos y a valores mayores que ste l a calidad de voz se ve afectada a un ritmo ms severo. Esto es un dato interesante ya que nos permite bosquejar una regla emprica y decir que en las instalaciones siempre deberamos mantener el retardo de la red debajo de los 170 milisegundos (r edondeando un poco 177.3 milisegundos para podernos aprender ese valor). Finalme nte hay que calcular Ie para poder reemplazar este valor en la frmula y calcular el dichoso R. Como dijimos antes Ie depende de algunos factores pero bsicamente d e las prdidas de paquetes y del codec usado. Para mantener las cosas relativament e simples usaremos un grfico con el cual podremos determinar de manera aproximada el valor de Ie dependiendo de, precisamente, el porcentaje de prdida de paquetes y el codec usado. La tabla es la siguiente. 199

Grfico Ie vs Prdida de paquetes Este grfico fue generado a partir de la siguiente tabla de valores aproximados. E l eje horizontal representa la prdida de paquetes y el eje vertical representa el parmetro Ie. Packet Loss % 0 1 2 4 8 16 G.711 0 3 5 7 9 20 G.723.1 11 15 18 20 2 2 24 G.729A 15 18 20 25 28 30 Podemos observar que mientras ms compresin involucre el uso de determinado codec, mayor es la contribucin al parmetro Ie y por lo tanto menor la calidad de voz. Inc luso podemos observar que con cero prdidas ya algunos codecs merman la calidad de voz. Traduciendo R a la escala MOS Ahora que ya tenemos un valor de R vamos a explica r cmo traducirlo a la ms conocida escala MOS. La frmula es la siguiente.

R<0 0 < R < 100

MOS = 1 MOS = 1 + 0.035 200

R + 7

(R 60)

(100 R)

10 -6

MOS = 4.5 R > 100 Ahora ya tenemos una manera prctica y objetiva de medir la calidad de voz de una instalacin de voz sobre IP y de esta manera hacer ajustes correspondientes para m ejorar la satisfaccin de los usuarios telefnicos. Ejemplo prctico Veamos un caso de la vida real. Supongamos que hemos realizado algunas mediciones en un punto de la red y queremos determinar la calidad de voz en dicho punto en la escala MOS c onociendo que usamos el codec G.711. Tenemos que el retardo es de 143 ms y la prd ida de paquetes llega al 7%. Cul sera la medida de calidad de voz segn la escala de MOS? No entrar en detalles del desarrollo del problema aqu pero en algn momento ll egaremos a la siguiente expresin. R = 94.2 0.024 143 7.2 R = 83.57 Traduciendo R a la escala MOS tendramos: MOS = 4.15 Lo cual no es un resultado de todo malo pues todava nos encontramos en el rango d e usuarios Satisfechos. 13.4 Canceladores de eco Cmo funciona un cancelador de eco? Es muy importante saber cmo funcionan los canceladores de eco para entender cmo sa carles el mximo provecho y quin sabe, para tener las bases para disear el nuestro p ropio o modificar alguno existente. A fin de cuentas estamos hablando de cdigo ab ierto verdad? 201

Un cancelador de eco parte de un principio lgico muy sencillo. Si se refleja una parte de la seal de ida en la de regreso, entonces para eliminar el eco debera bas tar con restar la seal de ida (en cierta proporcin) a la seal de regreso. Debido a que el eco es una seal reflejada que se encuentra atenuada, la clave est en estima r adecuadamente dicha atenuacin. Por ejemplo, supongamos que la seal de eco es un 20% de la seal original. Entonces si podemos predecir que debemos restar a la seal de regreso un 20% de la seal de ida, habremos eliminado el eco completamente. Al menos en teora claro est. Esta prediccin del factor de atenuacin es una parte clave d e todo algoritmo de cancelacin de eco y recibe el nombre de algoritmo adaptativo o filtro adaptativo (adaptive filter) ya que debe adaptar el valor constantement e para obtener los mejores resultados. En la siguiente figura supondremos que la atenuacin de la seal reflejada est denotada por la letra .. L se l recibid es Rx, l se l tr nsmitid es Tx y l se l tr nsmitid con el componente de eco es Txe. Di gr m bsico del funcion miento de un c ncel dor de eco Sin emb rgo, no todo es t n sencillo como se explic qu. El eco no es solo un s e l reflej d tenu d sino que t mbin puede est r despl z d en el tiempo con cie rto ret rdo. Ese ret rdo t mbin h y que predecirlo p r poder rest r l indese bl e se l de eco. Predecir el ret rdo no es un t re sencill y por lo gener l los c ncel dores de eco tienen limit ntes. Si el ret rdo es muy gr nde dej n de func ion r y que es mucho tr b jo revis r l se l en busc de ret rdo por gr ndes l p sos de tiempo. 202

Not : H y que h cer un pequeo p rntesis qu y record r que los c ncel dores de eco deben funcion r tiempo re l y por lo t nto no pueden perder el tiempo en clculo s muy tediosos y que dej r n de ser veloces y retr z r n el envo de l voz. V lore s tpicos de ret rdo que un c ncel dor de eco puede m nej r son 64 ms o 128 ms. Ob vi mente mientr s menor se el v lor menor es el tr b jo p r el c ncel dor de e co (en trminos de uso de CPU) pero m yor podr ser l imprecisin. Este tiempo mximo de ret rdo que un c ncel dor de eco puede toler r se denomin comnmente col o t il. El estnd r G.168 H ce lgunos os el ITU l nz un especific cin que define los p rmetros de lo que de be ser un c ncel dor de eco. Podr mos decir que el documento es un recomend cin. Por lo t nto, si un c ncel dor de eco est en concord nci con dich recomend cin s e dice que es G.168 comp tible (compli nt with G.168). Sin emb rgo, G.168 es un especific cin tcnic complej y no es cos fcil determin r si un c ncel dor de eco es comp tible o no. Existen empres s inclusive que se dedic n l tr b jo de rev is r si un c ncel dor de eco es comp tible o no con G.168. No v mos explic r qu los det lles de G.168 pues s le del lc nce del presente libro. Sin emb rgo, s i lguien est interes do en det lles tcnicos le recomend mos visit r el sitio del ITU (http://www.itu.int). Un c ncel dor de eco p r Asterisk que dice ser G.168 comp tible es SoftEcho de OctW re. 203

Protocolos SIP y descubierto RTP l Within few ye rs simple nd inexpensive device, re dily c rried bout, will en ble one to receive on l nd or se the princip l news, to he r speech, lec ture, song or pl y of music l instrument, conveyed from ny other region of the globe. -- Nikol Tesl , 1905 14.1 Protocolo SIP El protocolo SIP (Session Initi liz tion Protocol) es un protocolo de se liz cin ( pplic tion-l yer control) cre do p r dministr r sesiones multimedi entre dos o ms p rtes. Muchos se confunden pens ndo en que el protocolo SIP es quien tr ns port l voz propi mente dich pero no es s, est l bor l re liz otro protocol o que veremos ms del nte; de lo que s se enc rg SIP es de l comunic cin neces ri p r est blecer un ll m d , modific rl , s como p r fin liz rl . El protocol o SIP fue dise do con l premis de l simplicid d en mente, se tr t de un proto colo de texto con mens jes de comunic cin sencillos. Inclusive SIP comp rte lgun os cdigos de est tus con HTTP como el f mili r 404: Not found 205

Det lles del protocolo RTP es el port dor de l voz y el video. SDP se us p r negoci r l s c p cid de s de los endpoints. Us dos import ntes protocolos como RTP/RTCP y SDP. L ltim versin del estnd r es l RFC3261. B s do en texto, lo que nos permite entender los mens jes de un m ner rel tiv mente fcil.

BYE CANCEL OPTIONS REGISTER INFO Termin un conexin entre usu rios o declin un ll m d Termin un requerimiento o bsqued por un usu rio Solicit inform cin cerc c p cid des del servidor SIP Registr un ubic cin de usu rio Us do p r se liz cin en mit d de sesin. P r inter c mbi r inform cin de Respuest s 206 1xx Inform tion l (e.g. 100 Trying, 180 Ringing) 2xx Successful ( e.g. 200 OK, 202 Accepted) 3xx Redirection (e.g. 302 Moved Tempor rily) 4xx Requ est F ilure (e.g. 404 Not Found, 482 Loop Detected) 5xx Server F ilure (e.g. 501 Not Implemented)

Se liz cin SIP: Mtodos y respuest s Mtodos Mtodo INVITE ACK Descripcin Invit nfi bles interc mbio de mens jes

un usu rio

un

ll m d F cilit

el co

Es un protocolo peer-to-peer. Es decir que prctic mente tod en los endpoints.

l lgic es lm cen d

6xx Glob l F ilure (e.g. 603 Decline) SIP y Asterisk Algunos det lles tener en cuent cu ndo se us el protocolo SIP con Asterisk s on los siguientes: A pes r de que SIP es independiente de l c p de tr nsporte (puede ser us do con TCP, UDP, ATM, X.25, entre otros) en Asterisk su implement cin est limit d UDP Por omisin se us el puerto 5060, pero este p rmetro se puede modific r en el rchivo sip.conf SIP dolece de problem s de NAT

14.2 Protocolo RTP RTP es el protocolo que se enc rg de tr nsport r l voz propi mente dich . Much s person s se confunden y piens n que ese es el tr b jo de SIP pero no es s. Un vez que SIP est blece un ll m d es RTP quien tom l post p r tr nsport r l voz su destino. RTP tr b j sobre UDP y por lo t nto no h y mucho control d e tr nsmisin. Es decir que el equipo emisor env l voz h ci el otro extremo con l esper nz de que llegue, pero no esper recibir confirm cin de esto y decir verd d t mpoco h y tiempo p r h cerlo pues l voz necesit ser tr nsmitid en t iempo re l. Si un p quete de voz se pierde en el c mino simplemente se rellen r e se esp cio con un silencio. Lo que tcnic mente se ll m ruido confort ble (comfor t noise). Es por est necesid d de tr nsmitir l inform cin en tiempo re l que re sult obvio que RTP se un crnimo de Re l Time Protocol. A pes r de enc rg rse d e c si tod l l bor de tr nsport r l voz, RTP no est solo y tiene un protocolo de poyo ll m do RTCP. RTCP no es del todo indispens ble pero proporcion v lios yud l momento de tr nsport r l voz de m ner ptim pues proporcion est dsti c s e inform cin de control que le permiten Asterisk o l otro 207

En Asterisk es posible h cer di gnstico del protocolo SIP. Se ver esto ms

del nte.

extremo tom r decisiones p r mejor r l tr nsmisin en c so de ser posible. Por l o t nto, los p quetes RTCP se tr nsmiten peridic mente p r comunic r dich infor m cin los equipos de voz involucr dos. RTP se define en el documento RFC 3550 s que ve mos qu dice l respecto: RTP provides end-to-end network tr nsport functi ons suit ble for pplic tions tr nsmitting re l-time d t , such s udio, video or simul tion d t , over multic st or unic st network services. RTP does not dd ress resource reserv tion nd does not gu r ntee qu lity-of-service for re l-tim e services. The d t tr nsport is ugmented by control protocol (RTCP) to llo w monitoring of the d t delivery in m nner sc l ble to l rge multic st networ ks, nd to provide minim l control nd identific tion function lity. RTP nd RTC P re designed to be independent of the underlying tr nsport nd network l yers. The protocol supports the use of RTP-level tr nsl tors nd mixers. P r tener u n mejor visin de lug r que ocup un p quete RTP en el modelo TCP/IP ve mos l si guiente figur . Estructur de un p quete RTP Un p quete RTP se compone de un enc bez do y l d t (o p ylo d). En enc bez do contiene lgun inform cin interes nte que explic remos en breve, pero ntes ve m os cmo luce un enc bez do RTP. Byte 1 V=2 P X CC Byte 2 PT Timest mp Synchroniz t ion Source (SSRC) Contributing Source (CSRC) Extensin (opcion l dependiendo del b it X) D t Ahor s p semos explic r qu inform cin contiene un enc bez do RTP. V es el nmero de versin. Este c mpo es de 2 bits de longitud y su v lor contenido siem pre es el nmero 2. P o p dding es un bit que indic si h y relleno l fin l de l d t o no. Si el bit est en uno quiere decir que si h y relleno. El relleno no e s otr cos que bytes dicion les l fin l del p ylo d. X o extensin es un bit qu e indic si h y extensin del enc bez do CC es un identific dor de 4 bits que indi c el conteo CSRC Byte 3 Byte 4 Nmero de Secuenci M 208

M o m rc dor de un bit PT o tipo de c rg til (P ylo d Type) es un identific dor de 7 bits que nos indic el tipo de c rg til que contiene este p quete RTP. Ejem plos de tipos son G729, GSM, PCMU (G711 u-l w), entre otros. Nmero de Secuenci ( sequence number) es un nmero entero que identific c d p quete del presente fluj o de d tos. Este es un identific dor secuenci l que se increment en uno con c d p quete tr nsmitido. Ocup 16 bits. Timest mp represent el inst nte de tiempo (en form to timest mp) en el que se comenz muestre r l d t que est siendo tr nsmitid en el p ylo d. Ocup 32 bits. SSRC identific l fuente de sincroniz cin y que el mismo equipo puede est r h bl ndo con diferentes fuentes de p quetes RT P. Es un nmero le torio de 32 bits por lo que h y l posibilid d ( unque l prob bilid d es b j ) de que este nmero se repit entre dos fuentes. Existen mec nism os p r resolver este problem . CSRC es un nmero de 32 bits que identific l s fu entes contribuyentes p r el p ylo d

209

Luego de l c becer

vienen los d tos.

Di gnstico problem s bsico de Si hubier pregunt do mis clientes qu necesit b n, h br n dicho un c b llo mejor -- Henry Ford, fund dor de Ford Motor Comp ny 15.1 Interpret ndo el log Es muy import nte entender cmo leer los rchivos de log de Asterisk puesto que de ll podemos extr er inform cin muy v lios en nuestro proceso de di gnstico. Antes que n d es neces rio conocer que t nto el nivel de det lle, s como el tipo de inform cin que se escribe en los rchivos de log son control dos desde el rchivo /etc/ sterisk/logger.conf. Este es un rchivo de texto pl no donde se definen l os rchivos donde se v escribir inform cin. P r c d uno de estos rchivos se tiene que especific r t mbin el nivel de det lle que se escribir en ellos. Esto s e h ce en un sol lne , l sint xis es l siguiente. nombre_ rchivo => list do_de_niveles_sep r dos_por_com 211

Donde los niveles de debugging pueden ser los siguientes: debug notice w rning e rror verbose Not : H y un tipo especi l de nombre de rchivo que se encuentr reserv do y que se ll m "console". Represent l consol de Asterisk, o se lo que se muestr en el Asterisk CLI. Ve mos hor como ejemplo un fr gmento del contenido del rc hivo logger.conf que se distribuye con El stix. ; Directory for log files is configures in sterisk.conf ; option stlogdir ; [l ogfiles] ; ; Form t is "filen me" nd then "levels" of debugging to be included: ; ; ; ; ; ; ; Speci l filen me "console" represents the system console ; ;debug => debug ;console => notice,w rning,error ;console => notice,w rning,error,debu g ;mess ges => notice,w rning,error full => notice,w rning,error,debug,verbose d ebug notice w rning error verbose En el ejemplo nterior vemos lgun s lne s coment d s y bsic mente un solo rchivo de log ll m do full. Este, l igu l que los dems rchivos definidos de est m ne r reside en l rut /v r/log/ sterisk/ 212

El rchivo /v r/log/ sterisk/full Como vimos en el ltimo ejemplo, por omisin en El stix tenemos un rchivo de log ll m do full donde Asterisk escribe inform cin de su funcion miento. C d lne de es te rchivo tiene el siguiente form to. [HORA FECHA] NIVEL[PID] NOMBRE_ARCHIVO: T EXTO Ve mos un ejemplo de cmo lucen lgun s lne s del rchivo de log de Asterisk. Vist de rchivo de log /v r/log/ sterisk/full Observ r el log inter ctiv mente Siempre es muy til observ r en tiempo re l l c tivid d del servidor El stix. Much s veces nos veremos h ciendo esto mientr s re liz mos o recibimos un ll m d p r tr t r de verigu r qu f ll . Podemos monit ore r l s lid en tiempo re l con el com ndo t il de l siguiente m ner . t il -f /v r/log/ sterisk/full Si queremos ver inter ctiv mente solo los errores podemos dir el siguiente filt ro. t il -f /v r/log/ sterisk/full | grep ERROR 213

Not : Si queremos ex min r todo el log en lug r de h cerlo inter ctiv mente reem pl z r el com ndo t il -f por el com ndo c t Qu inform cin nos puede indic r el c mpo TEXTO? Al mencion r l p l br TEXTO nos referimos l inform cin que viene l fin l de c d lne del log luego del nombre del rchivo. Si se tr t de un lne de ERROR encontr remos qu un breve descripcin del error ocurrido, si se tr t de un WARNI NG t mbin encontr remos un pequeo mens je descriptivo. Sin emb rgo h y otro tipo d e lne s con mens jes menos obvios y que simplemente describen el proces miento de un ll m d tr vs del pl n de m rc do. Est s lne s norm lmente se encuentr n m c d s con nivel VERBOSE pues son simplemente inform tiv s. Ex min r est s lne s d e nivel VERBOSE o simplemente inform tiv s t mbin nos proveen de import nte infor m cin que nos puede ser til l momento de di gnostic r problem s. En especi l h y lgun s de ell s que empiez n con l p l br "Excecuting" y continu cin mencion n en qu contexto y priorid d se encuentr Asterisk proces ndo el pl n de m rc do . Est s son l s lne s de ejecucin del pl n de m rc do. L sint xis de est s lne s e s l siguiente. [TIME DATE] VERBOSE[PID] logger.c: -[extension@contexto:priorid d] MAS_TEXTO Excecuting

En este ejemplo vemos que cu ndo se escribi est lne ntro del contexto m cro-di l (un m cro, y que empiez extensin er l extensin s y l priorid d er l 7. e est tr t ndo de m rc r medi nte l plic cin Di l y 214

en el log nos encontrb mos de con l p l br m cro), l T mbin podemos observ r que s podemos ver los p rmetros que

Donde MAS_TEXTO puede contener inform cin cerc de l Aplic cin que fue ejecut d con los p rmetros que le fueron p s dos. Ve mos un ejemplo de esto. [Oct 28 17:52:34] VERBOSE[22034] logger.c: -- Executing [s@m cro-di l:7] Di l("L oc l/502@from-intern l-e27c,2", "SIP/502|21|trTWuwM( uto-blkvm)") in new st ck

Si queremos dems ver los WARNINGs podemos modific r liger mente el filtro de l siguiente m ner . t il -f /v r/log/ sterisk/full | grep -E "(ERROR|WARENING)"

Nmero de proceso Asterisk es un softw re multiproceso, es decir que puede cre r v ri s inst nci s de si mismo que tr b jen de m ner coordin d entre si y de est m ner tender diferentes t re s l mismo tiempo. Cu ndo Asterisk escribe un lne en el log no t el nmero de proceso (o PID) que l escribi. Esto nos provee v lios inform cin p uesto que podemos tener un visin ms ex ct del hilo de l ll m d . P r h cer est o podemos filtr r por el nmero de proceso si es que lo conocemos. Por ejemplo. c t /v r/log/ sterisk/full | grep 38484 Con el com ndo nterior est mos filtr ndo l s lid por el proceso 38484. Por su puesto t mbin podremos h ber c ptur do lgun c den de c r cteres que coincid c on el p trn 38484 como por ejemplo lgn nmero de telfono de lgn usu rio, pero est s lne s irrelev ntes se l s pueden elimin r m nu lmente. Dec mos que gr ci s este procedimiento podremos filtr r un poco ms el hilo de un ll m d . Esto es p rticu l rmente til puesto que Asterisk escribe much inform cin en el rchivo de log y s i nos encontr mos en mbientes con much s ll m d s concurrentes ubic r inform cin de un ll m d especfic en el log puede result r un verd dero dolor de c bez . Not : Algo import nte tener en cuent es que un ll m d puede tener ms de un p roceso involucr do. 15.2 Di gnstico tr vs del CLI Desde el CLI podemos ver en tiempo re l el funcion miento de Asterisk. Es lgo s imil r h cer un "t il -f /v r/log/ sterisk/full" pero con lgun s vent j s com o por ejemplo que podemos ver el texto de l s lid res lt do (colore do) lo que mejor indud blemente l legibilid d y t mbin est l posibilid d de inter ctu r s imultne mente con Asterisk l poder ejecut r lgunos com ndos desde l consol . 15.3 Sniffing 215

se le p s ron como por ejemplo l c den "trTWuwM( uto-blkvm)". En fin, podemos observ r en todo c so que h y much inform cin til que podemos obtener de c d lne escrit en el log.

En el mbito de networking el trmino sniffing signific c ptur r p quetes de red en su form to origin l p r su posterior nlisis. Existen herr mient s especi liz d s p r este fin y lgun s cuest n un verd der fortun . Por suerte h y un de cdigo bierto que h ce un gr n tr b jo y se ll m Wiresh rk. Wiresh rk, nteriorm ente conocido como Ethere l, es un poderoso sniffer provisto con herr mient s de nlisis v nz d s, entre ell s lgun s que nos permitirn n liz r p quetes RTP y SIP.

C ptur de ll m d s Antes que n d debemos pens r en qu t rjet de red del servidor queremos c ptur r los p quetes de ll m d s; l menos en los c sos en los que teng mos ms de un . C u ndo y estemos seguros l c ptur es sencill , coloc mos l l ptop en l mism t rjet Fin liz d l c ptur lo ms prob ble es que junto con los p quetes de vo z h y mos c ptur do otros p quetes que circul b n por l red y que no nos intere s n como p quetes ICMP, requerimientos de DNSs, SMTP, etc. Con lgo de prctic p renderemos filtr r estos p quetes irrelev ntes, eso se lo dej mos de t re l estudi nte. 216

B nco de pregunt s de prueb Este pndice contiene un peque prueb compuest por pregunt s tpic s de un ex men de certific cin de El stix. El presente conjunto de pregunt s no corresponden l tot lid d de tpicos requeridos por el ex men de certific cin El stix sino los c ubiertos h st el primer curso de prep r cin. Debe not rse que no neces ri mente tod s est s pregunt s h n sido des rroll d s en el presente libro pues l presen te obr es solo un p rte integr nte de todo el m teri l didctico provisto en nue stro pl n de entren miento. Algun s de ell s pueden h ber sido des rroll d s en l s prctic s de l bor torio, di positiv s, lectur s recomend d s, deberes envi do s por el instructor o cu lquier otro m teri l expuesto dur nte el entren miento. L prueb re l const de 100 pregunt s y dos hor s de dur cin. Pregunt s 1) Supong mos que se encuentr tr b j ndo remot mente en el servidor El stix de un cliente y de repente se d cuent que h perdido l conexin ssh y necesit cc eder l equipo por est v p r obtener l s lid de un com ndo del CLI. Se d cu ent de que es t rde y que lo que sucedi es que el firew ll del cliente plic un regl progr m d p r luego de l s 7 de l noche que bloque el cceso l puerto ssh desde redes remot s. El cliente y se h ido su c s y no es posible cont ct rlo p r que reviert l configur cin del firew ll. Qu h r ? 2) Que se puede h cer si en cierto punto se tienen dem si dos botones en el FOP que dificult n l us bilid d de l herr mient ? 217

3) Dibuje un se l de RING de un lne n lgic (volt je vs. tiempo) 4) L siguient e es l s lid del com ndo c t incidenci s podr tener esto sobre l c lid d de vo z? [root@el stix ~]# c t /proc/interrupts CPU0 0: 1: 6: 7: 8: 9: 12: 14: 169: 177: 185: 193: 201: 209: NMI: LOC: ERR: MIS: 745765912 13 6 0 1 1 145 240 9448709 0 0 745652312 834237560 0 0 745806018 0 0 CPU1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 745806 026 IO-APIC-edge IO-APIC-edge IO-APIC-edge IO-APIC-edge IO-APIC-edge IO-APIC-lev el IO-APIC-edge IO-APIC-edge IO-APIC-level IO-APIC-level IO-APIC-level IO-APIC-l evel IO-APIC-level IO-APIC-level timer i8042 floppy p rport0 rtc cpi i8042 ide0 uhci_hcd:usb3, lib t uhci_hcd:usb1, uhci_hcd:usb4 uhci_hcd:usb2 ehci_hcd:usb5, ystdm eth0, wctdm Intel ICH5 /proc/interrupts. Qu 4) P r que sirve el rchivo /etc/ sterisk/indic tions.conf 5) Un cliente report que los mdulos de monitoring y voicem il no muestr n los registros cu ndo se in gres con un nuevo usu rio que se c b de cre r. Qu podr est r ocurriendo? 6) Qu m rc s de telfonos soport l herr mient Endpoint Configur tor? 7) Qu debo config ur r previ mente en un telfono p r poder configur rlo desde el Endpoint Configur tor? 8) Cmo podr desh bilit r el c ncel dor de eco en El stix? 9) Usted es el d ministr dor de un servidor El stix y se encuentr en un ciud d dist nte por mot ivos de tr b jo. El dueo de l empres sin emb rgo obtiene reportes subjetivos de que l c lid d de voz en l red intern se h deterior do y le encomiend l mi sin de c lcul r l c lid d de voz desde l centr l l red intern p r corrobor r dich 218

inform cin. Qu com ndos us r tr vs de un conexin ssh y qu clculos h r luego p r termin r un medid de c lid d de voz? 10) Cmo podr obtener el Jitter promedio de un convers cin? 11) Qu cos s puedo resp ld r desde el mdulo B ckup/Restore? 12) Cm o puedo h cer que mi cuent de Webm il este m pe d con mi cuent de usu rio el stix? 13) P r qu sirve el rchivo functions.inc.php en un mdulo de freePBX? 14) P r qu sirve el rchivo /etc/sysconfig/z ptel? 15) Un c ncel dor de eco con un c ol de 128 ms es mejor que uno con un col de 256 ms? Justifique su respuest c on un coment rio. 16) Cu les son los rchivos de configur cin rel cion dos con lo s drivers de t rjeter S ngom ? 17) Cu l es l diferenci entre el modulo de conf erenci s de El stix y el de freePBX? 18) Qu RPMs dependen del kernel en l distro El stix? Enliste todos. 19) Si tengo un t rjet T1, qu tipo de fr ming y se liz cin podr configur r? 20) Necesito ejecut r el script genz ptelconf. Cules son l s opciones que debo poner p r detect r, configur r y cre r los rchivos de config ur cin z ptel.conf y z p t .conf si se tiene un t rjet OpenVox de 8 puertos FXO ? 21) Qu signific l fr se In Use en l s lid del com ndo lsz ptel? 22) Si tengo un ISO DVD cul es el com ndo p r mont rlo en /mnt/? 23) En El stix, cul es l cl ve de mysql p r el usu rio root? 24) Cmo inst lo un El stix sobre un CentOS preexistente medi nte l herr mient CentOS2El stix? 25) Si encuentro un bug en Ast erisk. Qu deber h cer ntes de report rlo Digium? 219

26) Cmo o donde puedo ver un log p r s ber si un f x fue envi do l correo elect rnico destino? 27) Tengo un servidor El stix con tronc les SIP y de repente todos lo telfonos se desregistr n de form peridic que debo revis r primero? 28) Qu ser vicios el m nipul el com ndo mport l? 29) Un cliente report que su FOP se enc uentr p rp de ndo. Qu podr ser? 30) Qu rchivos de configur cin us IAXModem? 31) Qu servicios import ntes en El stix no vienen por encendidos por omisin? 32) Dnde p uedo report r un bug de El stix? 33) Cmo podr c ptur r un convers cin telefnic de sde l lne de com ndos ssh? 34) Explique cmo gener r los certific dos que necesit DUNDI? 35) Dibuje un se l de ocup do de un lne n lgic (volt je vs. tiempo) 3 6) Qu funcin cumple el script di lp rties. gi? 37) Qu signific l peticin INVITE? 3 8) freePBX no est gener ndo mis rchivos de configur cin b jo /etc/ sterisk. Qu com ndo podr ejecut r p r tr t r de di gnostic r el problem ? 39) An lice l sigui ente lne del rchivo /etc/ sterisk/extensions.conf y dig qu signific l expresin n+2( 30)? exten => s,n+2( 30),Set(HuntMember=HuntMember${HuntLoop})

220

40) Qu quiere decir que l ejecucin?

plic cin B ckground de Asterisk devuelve el control de

Archivos de configur cin de Asterisk distribuidos con El stix Archivo 2billing.conf ddition l_ 2billing_i x.conf ddition l_ 2billing_sip.co nf dsi.conf Descripcin Archivo gener l de configur cin de 2billing Configur cin d e IAX p r 2billing Configur cin de SIP p r 2billing Archivo de configur cin p r ADSI (Interf se Anlog p r servicios de Displ y por sus sigl s en Ingls). Con ADSI se puede inter ctu r entre Asterisk y los displ ys de telfonos nlogos Archiv o de configur cin que permite tener soporte de Voz sobre Fr me Rel y Archivo de c onfigur cin que permite m nej r los gentes de l s col s. Sirve p r configur r A l rmReciever() l plic cin

Configur el driver de sonido con los drivers de ALSA Se utiliz p r h ce ll m d s y 221

dtr nvofr.conf gents.conf

l rmreceiver.conf ls .conf md.conf cu ndo se

Bsic mente qu se incluye pl n de m rc do. Los contextos qu incluidos se les puede denomin r plic ciones y sus nombres empiez n con l c den pp- Archivo princip l de configur cin de Asterisk. Aqu se configur n los directorios de tr b jo de Ast erisk s como lgun s opciones gener les Archivo de configur cin del mdulo de Aster isk ll m do CBMySQL (Conference Bridge MySQL) us do p r m nej r l s conferenci s en El stix Este rchivo define lo que se escribe en los CDRs de Asterisk Este rchivo control si se deben envi r CDRs tr vs del AMI (Asterisk M n ger Interf ce) Archivo de configur cin del mdulo cdr_mysql que permite registr r los CDRs en l b se de d tos MySQL Aqu se configur el mdulo que permite registr r CDRs tr vs del driver ODBC de b se de d tos Aqu se configur el mdulo que permite registr r CDRs en l b se de d tos PostgreSQL Con este rchivo podemos configur r el mdulo que permite registr r CDRs tr vs de los drivers de freeTDS. Por ejemplo, con e ste mdulo podemos registr r CDRs en l b se de d tos MSSQL El rchivo princip l d e configur cin de l report cin de CDRs En este rchivo se configur n lgun s opci ones que control n el funcion miento de lgunos codecs Este rchivo define si As terisk debe re liz r peticiones DNS regul rmente y c d cunto tiempo Archivo de c onfigur cin de DUNDI (Distributed Univers l Number Discovery) sterisk.conf

cbmysql.conf cdr_custom.conf cdr_m n ger.conf cdr_mysql.conf cdr_odbc.conf cdr_pgsql.conf cdr_tds.conf cdr.conf codecs.conf dnsmgr.conf dundi.conf 222

contest dor

un

est s detect n utomtic

pplic tions.conf

enum.conf extconfig.conf Archivo de configur cin de ENUM Permite configur r lo que se ll m configur cin ext ern . Es bsic mente un funcion lid d que permite m pe r cu lquier rchivo de conf igur cin con un entid d extern como un b se de d tos Pl n de m rc do dicion l p r l plic cin A2Billing Archivo de configur cin de Asterisk modific do por Fr eePBX donde no se debe edit r m no porque los c mbios se perdern Archivo donde se pueden cre r contextos person liz dos de Asterisk sin que FreePBX los sobre e scrib Pl n de m rc do en form to AEL (Asterisk Extension L ngu ge). No se us e n El stix. Archivo de configur cin que incluye extensions_ ddition l.conf y e xtensions_ ddition l.conf extensions_ 2billing.conf extensions_ ddition l.conf extensions_custom.conf extensions. el extensions.conf fe tures_ pplic tionm p_ ddition l.conf fe tures_ pplic tionm p_custom.conf fe t ures_fe turem p_ ddition l.conf fe tures_fe turem p_custom.conf fe tures_gener l _ ddition l.conf fe tures_gener l_custom.conf fe tures.conf festiv l.conf follow me.conf func_odbc.conf glob ls_custom.conf gt lk.conf Archivo de configur cin p r que Asterisk funcione como cliente del servicio Google T lk Archivo de configu r cin p r protocolo H.323 segn l implement cin b s d en el proyecto Open H.323. Existen otr s implement ciones. Configur cin de mini servidor Web embebido en Ast erisk. Por omisin este servicio est p g do s que tener 223 Arhcivo de configur cin de Festiv l Configur cin followme de l funcion lid d h323.conf http.conf

cuid do de no lev nt rlo en el mismo puerto que el servidor Ap che que viene int egr do en el El stix i x_ ddition l.conf i x_custom_post.conf i x_custom.conf i x_gener l_ ddition l.conf i x_gener l_custom.conf i x_registr tions_custom.conf i x_registr tions.conf i x.conf i xprov.conf indic tions.conf j bber.conf loc lp refixes.conf logger.conf m n ger_ ddition l.conf m n ger_custom.conf m n ger.con f meetme_ ddition l.conf meetme.conf mgcp.conf misdn.conf modem.conf modules.con f musiconhold_ ddition l.conf musiconhold_custom.conf musiconhold.conf muted.con f osp.conf oss.conf p rking_ ddition l.inc phone.conf php gi.conf priv cy.conf C onfigur cin de los conferenci perm nentes cu rtos de Archivo princip l de IAX qu e incluye los otros Configur cin de IAX que se puede edit r y que no l sobres cribe FreePBX Configur cin de IAX gener d por FreePBX no se debe edit r 224

queues_ ddition l.conf Archivo que cre col s gener do desde FreePBX, no se debe modific r m nu lmente porque se pueden perder los c mbios Archivo de configur cin de col s que puede se r modific do por los usu rios sin que FreePBX lo borre queues_custom_gener l.conf queues_custom.conf queues_gener l_ ddition l.conf queues_post_custom.conf queues.conf Archivo gener l de configur cin p r col s. Si dese edit r l s col s en rchivos de texto, se recomiend modific r queues_custom.conf Permite Asterisk obtener l configur cin de l b se de d tos MySQL. El concepto se denomin Asterisk Re ltime

res_mysql.conf res_odbc.conf res_pgsql.conf res_snmp.conf rpt.conf rtp.conf Configur cin del pro tocolo RTP. Aqu se puede configur r el r ngo de puertos RTP que Asterisk utiliz r Define ciertos intern cion liz cin p rmetros de s y.conf sip_ ddition l.conf Configur cin de SIP gener d por FreePBX y que no se debe edit r sip_custom_post. conf Configur cin de SIP que se puede modific r y no es sobre escrit por FreePBX sip_custom.conf sip_gener l_ ddition l.conf sip_gener l_custom.conf sip_n t.conf sip_notify.conf sip_registr tions_custom.conf sip_registr tions.conf sip.conf Archivo de config ur cin de sip que incluye los otros Configur cin p r tr b j r con SIP tr vs de n t 225

skinny.conf sl .conf smdi.conf udptl.conf unic ll.conf users.conf vm_em il.inc v m_gener l.inc voicem il.conf vpb.conf z p t _ ddition l.conf z p t -ch nnels.con f z p t .conf Configur cin de l s t rjet s de telefon que us n los drivers de z p tel. Archivo de configur cin de los c silleros de voz Aqu se puede configur r el md ulo ch n_unic ll 226

List de com ndos de CLI L siguiente list de com ndos h sido gener d en b se l com ndo help sobre l versin de Asterisk 1.4.21.2. Com ndo ! bort h lt el debug contexts el debug m cros el debug re d el debug tokens el nodebug el relo d gent logoff gent show gent show online gi debug gi debug off gi dumphtml gi show cb mysql st tus Descripcin Execute shell comm nd C ncel running h lt En ble AEL nothing) contexts debug (does

En ble AEL m cros debug (does nothing) En ble AEL re d debug (does nothing) En b le AEL tokens debug (does nothing) Dis ble AEL debug mess ges Relo d AEL configu r tion Sets n gent offline Show st tus of gents Show ll online gents En ble AGI debugging Dis ble AGI debugging Dumps list of gi comm nds in html form t List AGI comm nds or specific help Show connection st tus of CBMySQL 227

cdr mysql st tus cdr st tus core cle r profile core set debug ch nnel core set d ebug core set debug off core set glob l core set verbose core show pplic tions core show pplic tion core show udio codecs core show ch nnels core show ch nne l core show ch nneltypes core show ch nneltype core show codecs core show codec core show config m ppings core show file form ts core show file version core sho w functions core show function core show glob ls core show hints core show im ge codecs core show im ge form ts core show license core show profile core show sw itches core show thre ds core show tr nsl tion core show uptime core show versio n core show video codecs core show w rr nty Show connection st tus of cdr_mysql Displ y the CDR st tus Cle r profiling info En ble/dis ble debugging on ch nnel Set level of debug ch ttiness Turns off de bug ch ttiness Set glob l di lpl n v ri ble Set level of verboseness Shows regis tered di lpl n pplic tions Describe specific di lpl n pplic tion Displ ys list of udio codecs Displ y inform tion on ch nnels Displ y inform tion on sp ecific ch nnel List v il ble ch nnel types Give more det ils on th t ch nnel ty pe Displ ys list of codecs Shows specific codec Displ y config m ppings (fil e n mes to config engines) Displ ys file form ts List versions of files used to build Asterisk Shows registered di lpl n functions Describe specific di lpl n function Show glob l di lpl n v ri bles Show di lpl n hints Displ ys list of i m ge codecs Displ ys im ge form ts Show the license(s) for this copy of Asterisk Displ y profiling info Show ltern tive switches Show running thre ds Displ y t r nsl tion m trix Show uptime inform tion Displ y version info Displ ys list o f video codecs Show the w rr nty (if ny) for this copy of Asterisk 228

d t b se del d t b se deltree d t b se get d t b se put d t b se show d t b se s howkey di lpl n dd extension di lpl n dd ignorep t di lpl n dd include di lpl n relo d di lpl n remove extension di lpl n remove ignorep t di lpl n remove in clude di lpl n show dnsmgr relo d dnsmgr st tus dundi debug dundi flush dundi lo okup dundi no debug dundi no store history dundi prec che dundi query dundi show entityid dundi show m ppings dundi show peers dundi show peer dundi show prec c he dundi show requests dundi show tr ns dundi store history fe ture show file co nvert group show ch nnels help http show st tus i x2 provision

Removes d t b se key/v lue Removes d t b se keytree/v lues Gets d t b se v lue A dds/upd tes d t b se v lue Shows d t b se contents Shows d t b se contents Add n ew extension into context Add new ignore p ttern Include context in other contex t Relo d extensions nd *only* extensions Remove specified extension Remove ig nore p ttern from context Remove specified include from context Show di lpl n Relo ds the DNS m n ger configur tion Displ y the DNS m n ger st tus En ble DUND i debugging Flush DUNDi c che Lookup number in DUNDi Dis ble DUNDi debugging D is ble DUNDi historic records Prec che number in DUNDi Query DUNDi EID Displ y Glob l Entity ID Show DUNDi m ppings Show defined DUNDi peers Show info on specific DUNDi peer Show DUNDi prec che Show DUNDi requests Show ctive DUNDi tr ns ctions En ble DUNDi historic records Lists configured fe tures Convert udio file Displ y ctive ch nnels with group(s) Displ y help list, or specific help on comm nd Displ y HTTP server st tus Provision n IAX device 229

i x2 prune re ltime i x2 relo d i x2 set debug i x2 set debug jb i x2 set debug jb off i x2 set debug off i x2 set debug trunk i x2 set debug trunk off i x2 sho w c che i x2 show ch nnels i x2 show firmw re i x2 show netst ts i x2 show peers i x2 show peer i x2 show provisioning i x2 show registry i x2 show st ts i x2 s how thre ds i x2 show users i x2 test losspct indic tion dd indic tion remove i ndic tion show keys init keys show loc l show ch nnels logger mute logger relo d logger rot te logger show ch nnels m n ger show comm nd m n ger show comm nds m n ger show connected m n ger show eventq m n ger show users m n ger show user

Prune c ched re ltime lookup Relo d IAX configur tion En ble IAX debugging En ble IAX jitterbuffer debugging Dis ble IAX jitterbuffer debugging Dis ble IAX de bugging En ble IAX trunk debugging Dis ble IAX trunk debugging Displ y IAX c che d di lpl n List ctive IAX ch nnels List v il ble IAX firmw res List ctive IAX ch nnel netst ts List defined IAX peers Show det ils on specific IAX peer Displ y i x provisioning Displ y IAX registr tion st tus Displ y IAX st tistics Displ y IAX helper thre d info List defined IAX users Set IAX2 incoming fr me loss pe rcent ge Add the given indic tion to the country Remove the given indic tion fro m the country Displ y list of ll countries/indic tions Initi lize RSA key p s scodes Displ ys RSA key inform tion List st tus of loc l ch nnels Toggle logging output to console Reopens the log files Rot tes nd reopens the log files Lis t configured log ch nnels Show m n ger interf ce comm nd List m n ger interf c e comm nds List connected m n ger interf ce users List m n ger interf ce queued events List configured m n ger users Displ y inform tion on specific m n ger u ser 230

meetme mgcp udit endpoint mgcp relo d mgcp set debug mgcp set debug off mgcp sh ow endpoints mixmonitor module lo d module relo d module show module show like m odule unlo d moh relo d moh show cl sses moh show files no debug ch nnel origin te pri debug sp n pri intense debug sp n pri no debug sp n pri set debug file pr i show debug pri show sp ns pri show sp n pri unset debug file queue dd member queue remove member queue show re ltime lo d re ltime mysql st tus re ltime pgsq l st tus re ltime upd te rest rt gr cefully Execute comm nd on conference or conferee Audit specified MGCP endpoint Relo d MGCP configur tion En ble MGCP debugging Dis ble MGCP debugging List defined MGCP endpoints Execute MixMonitor comm nd Lo d module by n me Relo d configu r tion List modules nd info List modules nd info Unlo d module by n me Music On Hold List MOH cl sses List MOH file-b sed cl sses Origin te c ll En bles P RI debugging on sp n En bles REALLY debugging INTENSE PRI

Dis bles PRI debugging on sp n Sends PRI debug output to the specified file Di spl ys current PRI debug settings Displ ys PRI Inform tion Displ ys PRI Inform t ion Ends PRI debug output to file Add ch nnel to specified queue Removes c h nnel from specified queue Show st tus of specified queue Used to print out Re lTime v ri bles Shows connection inform tion for the MySQL Re lTime driver S hows connection inform tion for the Postgresql Re lTime driver Used to upd te Re lTime v ri bles Rest rt Asterisk gr cefully 231

rest rt now rest rt when convenient rtcp debug ip rtcp debug rtcp debug off rtcp st ts rtcp st ts off rtp debug ip rtp debug rtp debug off s y lo d show p rkedc lls show queues sip history sip history off sip notify sip prune re ltime sip p rune re ltime peer sip prune re ltime user sip relo d sip set debug sip set debu g ip sip set debug off sip set debug peer sip show ch nnels sip show ch nnel sip show dom ins sip show history sip show inuse sip show objects sip show peers si p show peer sip show registry sip show settings sip show subscriptions sip show users sip show user skinny reset 232

Rest rt Asterisk immedi tely Rest rt Asterisk t empty c ll volume En ble RTCP d ebugging on IP En ble RTCP debugging Dis ble RTCP debugging En ble RTCP st ts Di s ble RTCP st ts En ble RTP debugging on IP En ble RTP debugging Dis ble RTP deb ugging set/show the s y mode Lists p rked c lls En ble SIP history Dis ble SIP h istory Send notify p cket to SIP peer Prune c ched Re ltime object(s) Prune c ched Re ltime peer(s) Prune c ched Re ltime user(s) Relo d SIP configur tion E n ble SIP debugging En ble SIP debugging on IP Dis ble SIP debugging En ble SIP debugging on Peern me List ctive SIP ch nnels Show det iled SIP ch nnel info Li st our loc l SIP dom ins Show SIP di log history List ll inuse/limits List ll SIP object lloc tions List defined SIP peers Show det ils on specific SIP peer List SIP registr tion st tus Show SIP glob l settings List ctive SIP subscripti ons List defined SIP users Show det ils on specific SIP user Reset Skinny device (s)

skinny set debug skinny set debug off skinny show devices skinny show lines sl show st tions sl show trunks soft h ngup stop gr cefully stop now stop when con venient stun debug stun debug off tr nscoder show udptl debug udptl debug ip udp tl debug off voicem il show users voicem il show zones z p destroy ch nnel z p r est rt z p show c dences z p show ch nnels z p show ch nnel z p show st tus En ble Skinny debugging Dis ble Skinny debugging List defined Skinny devices Lis t defined Skinny lines per device Show SLA St tions Show SLA Trunks Request h ngup on given ch nnel Gr cefully shut down Asterisk Shut down Asterisk immedi tely Shut down Asterisk t empty c ll volume En ble STUN debugging Dis ble STUN debugging Displ y Z ptel tr nscoder utiliz tion En ble UDPTL debugging En ble UD PTL debugging on IP Dis ble UDPTL debugging List defined voicem il boxes List zo ne mess ge form ts Destroy ch nnel Fully rest rt z ptel ch nnels List c dences Show ctive z p t ch nnels Show inform tion on ch nnel Show ll Z ptel c rds st tus 233

GNU Free License Version 1.3, 3 November 2008 Document tion Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Softw re Found tion, Inc. <http: //fsf.org/> Everyone is permitted to copy nd distribute verb tim copies of this license document, but ch nging it is not llowed. 0. PREAMBLE The purpose of this License is to m ke m nu l, textbook, or other function l nd useful document "free" in the sense of freedom: to ssure everyone the effect ive freedom to copy nd redistribute it, with or without modifying it, either co mmerci lly or noncommerci lly. Second rily, this License preserves for the utho r nd publisher w y to get credit for their work, while not being considered r esponsible for modific tions m de by others. This License is kind of "copyleft ", which me ns th t deriv tive works of the document must themselves be free in the s me sense. It complements the GNU Gener l Public License, which is copyle ft license designed for free softw re. We h ve designed this License in order to use it for m nu ls for free softw re, bec use free softw re needs free document tion: free progr m should come with m nu ls 235

providing the s me freedoms th t the softw re does. But this License is not limi ted to softw re m nu ls; it c n be used for ny textu l work, reg rdless of subj ect m tter or whether it is published s printed book. We recommend this Licen se princip lly for works whose purpose is instruction or reference. 1. APPLICABILITY AND DEFINITIONS This License pplies to ny m nu l or other work, in ny medium, th t cont ins notice pl ced by the copyright holder s ying it c n be distributed under the te rms of this License. Such notice gr nts world-wide, roy lty-free license, un limited in dur tion, to use th t work under the conditions st ted herein. The "D ocument", below, refers to ny such m nu l or work. Any member of the public is licensee, nd is ddressed s "you". You ccept the license if you copy, modif y or distribute the work in w y requiring permission under copyright l w. A "M odified Version" of the Document me ns ny work cont ining the Document or por tion of it, either copied verb tim, or with modific tions nd/or tr nsl ted into nother l ngu ge. A "Second ry Section" is n med ppendix or front-m tter s ection of the Document th t de ls exclusively with the rel tionship of the publi shers or uthors of the Document to the Document's over ll subject (or to rel te d m tters) nd cont ins nothing th t could f ll directly within th t over ll sub ject. (Thus, if the Document is in p rt textbook of m them tics, Second ry S ection m y not expl in ny m them tics.) The rel tionship could be m tter of h istoric l connection with the subject or with rel ted m tters, or of leg l, comm erci l, philosophic l, ethic l or politic l position reg rding them. The "Inv ri nt Sections" re cert in Second ry Sections whose titles re design ted, s bei ng those of Inv ri nt Sections, in the notice th t s ys th t the Document is rel e sed under this License. If section does not fit the bove definition of Seco nd ry then it is not llowed to be design ted s Inv ri nt. The Document m y con t in zero Inv ri nt Sections. If the Document does not identify ny Inv ri nt Se ctions then there re none. The "Cover Texts" re cert in short p ss ges of text th t re listed, s Front-Cover Texts or B ck-Cover Texts, in the notice th t s ys th t the Document is rele sed under this License. A Front-Cover Text m y be t most 5 words, nd B ck-Cover Text m y be t most 25 words. A "Tr nsp rent" copy of the Document me ns m chine-re d ble copy, represented in form t whos e specific tion is v il ble to the gener l public, th t is suit ble for revisin g the document str ightforw rdly with generic text editors or (for im ges compos ed of pixels) generic p int progr ms or (for dr wings) some widely v il ble dr wing editor, nd th t is suit ble for input to text form tters or for utom tic tr nsl tion to v riety of form ts suit ble for input to text form tters. A cop y m de in n otherwise Tr nsp rent file form t whose m rkup, or bsence of m rku p, h s been 236

rr nged to thw rt or discour ge subsequent modific tion by re ders is not Tr ns p rent. An im ge form t is not Tr nsp rent if used for ny subst nti l mount of text. A copy th t is not "Tr nsp rent" is c lled "Op que". Ex mples of suit ble form ts for Tr nsp rent copies include pl in ASCII without m rkup, Texinfo inpu t form t, L TeX input form t, SGML or XML using publicly v il ble DTD, nd st nd rd-conforming simple HTML, PostScript or PDF designed for hum n modific tion . Ex mples of tr nsp rent im ge form ts include PNG, XCF nd JPG. Op que form ts include propriet ry form ts th t c n be re d nd edited only by propriet ry wor d processors, SGML or XML for which the DTD nd/or processing tools re not gene r lly v il ble, nd the m chine-gener ted HTML, PostScript or PDF produced by s ome word processors for output purposes only. The "Title P ge" me ns, for prin ted book, the title p ge itself, plus such following p ges s re needed to hold , legibly, the m teri l this License requires to ppe r in the title p ge. For w orks in form ts which do not h ve ny title p ge s such, "Title P ge" me ns the text ne r the most prominent ppe r nce of the work's title, preceding the begi nning of the body of the text. The "publisher" me ns ny person or entity th t d istributes copies of the Document to the public. A section "Entitled XYZ" me ns n med subunit of the Document whose title either is precisely XYZ or cont ins XYZ in p rentheses following text th t tr nsl tes XYZ in nother l ngu ge. (Here XYZ st nds for specific section n me mentioned below, such s "Acknowledgemen ts", "Dedic tions", "Endorsements", or "History".) To "Preserve the Title" of su ch section when you modify the Document me ns th t it rem ins section "Entit led XYZ" ccording to this definition. The Document m y include W rr nty Discl i mers next to the notice which st tes th t this License pplies to the Document. These W rr nty Discl imers re considered to be included by reference in this Li cense, but only s reg rds discl iming w rr nties: ny other implic tion th t th ese W rr nty Discl imers m y h ve is void nd h s no effect on the me ning of th is License. 2. VERBATIM COPYING You m y copy nd distribute the Document in ny medium, either commerci lly or n oncommerci lly, provided th t this License, the copyright notices, nd the licen se notice s ying this License pplies to the Document re reproduced in ll copi es, nd th t you dd no other conditions wh tsoever to those of this License. Yo u m y not use technic l me sures to obstruct or control the re ding or further c opying of the copies you m ke or distribute. However, you m y ccept compens tio n in exch nge for copies. If you distribute l rge enough number of copies you must lso follow the conditions in section 3. 237

You m y lso lend copies, under the s me conditions st ted bove, nd you m y pu blicly displ y copies. 3. COPYING IN QUANTITY If you publish printed copies (or copies in medi th t commonly h ve printed cov ers) of the Document, numbering more th n 100, nd the Document's license notice requires Cover Texts, you must enclose the copies in covers th t c rry, cle rly nd legibly, ll these Cover Texts: Front-Cover Texts on the front cover, nd B ck-Cover Texts on the b ck cover. Both covers must lso cle rly nd legibly ide ntify you s the publisher of these copies. The front cover must present the ful l title with ll words of the title equ lly prominent nd visible. You m y dd o ther m teri l on the covers in ddition. Copying with ch nges limited to the cov ers, s long s they preserve the title of the Document nd s tisfy these condit ions, c n be tre ted s verb tim copying in other respects. If the required text s for either cover re too voluminous to fit legibly, you should put the first o nes listed ( s m ny s fit re son bly) on the ctu l cover, nd continue the res t onto dj cent p ges. If you publish or distribute Op que copies of the Documen t numbering more th n 100, you must either include m chine-re d ble Tr nsp ren t copy long with e ch Op que copy, or st te in or with e ch Op que copy compu ter-network loc tion from which the gener l network-using public h s ccess to d ownlo d using public-st nd rd network protocols complete Tr nsp rent copy of t he Document, free of dded m teri l. If you use the l tter option, you must t ke re son bly prudent steps, when you begin distribution of Op que copies in qu nt ity, to ensure th t this Tr nsp rent copy will rem in thus ccessible t the st ted loc tion until t le st one ye r fter the l st time you distribute n Op qu e copy (directly or through your gents or ret ilers) of th t edition to the pub lic. It is requested, but not required, th t you cont ct the uthors of the Docu ment well before redistributing ny l rge number of copies, to give them ch nc e to provide you with n upd ted version of the Document.

4. MODIFICATIONS You m y copy nd distribute Modified Version of the Document under the conditi ons of sections 2 nd 3 bove, provided th t you rele se the Modified Version un der precisely this License, with the Modified Version filling the role of the Do cument, thus licensing distribution nd modific tion of the Modified Version to whoever possesses copy of it. In ddition, you must do these things in the Mod ified Version: 238

A. Use in the Title P ge ( nd on the covers, if ny) title distinct from th t of the Document, nd from those of previous versions (which should, if there wer e ny, be listed in the History section of the Document). You m y use the s me t itle s previous version if the origin l publisher of th t version gives permi ssion. B. List on the Title P ge, s uthors, one or more persons or entities re sponsible for uthorship of the modific tions in the Modified Version, together with t le st five of the princip l uthors of the Document ( ll of its princip l uthors, if it h s fewer th n five), unless they rele se you from this require ment. C. St te on the Title p ge the n me of the publisher of the Modified Versi on, s the publisher. D. Preserve ll the copyright notices of the Document. E. Add n ppropri te copyright notice for your modific tions dj cent to the other copyright notices. F. Include, immedi tely fter the copyright notices, licen se notice giving the public permission to use the Modified Version under the ter ms of this License, in the form shown in the Addendum below. G. Preserve in th t license notice the full lists of Inv ri nt Sections nd required Cover Texts gi ven in the Document's license notice. H. Include n un ltered copy of this Licen se. I. Preserve the section Entitled "History", Preserve its Title, nd dd to i t n item st ting t le st the title, ye r, new uthors, nd publisher of the Mo dified Version s given on the Title P ge. If there is no section Entitled "Hist ory" in the Document, cre te one st ting the title, ye r, uthors, nd publisher of the Document s given on its Title P ge, then dd n item describing the Mod ified Version s st ted in the previous sentence. J. Preserve the network loc ti on, if ny, given in the Document for public ccess to Tr nsp rent copy of the Document, nd likewise the network loc tions given in the Document for previous versions it w s b sed on. These m y be pl ced in the "History" section. You m y omit network loc tion for work th t w s published t le st four ye rs befor e the Document itself, or if the origin l publisher of the version it refers to gives permission. K. For ny section Entitled "Acknowledgements" or "Dedic tions ", Preserve the Title of the section, nd preserve in the section ll the subst nce nd tone of e ch of the contributor cknowledgements nd/or dedic tions give n therein. L. Preserve ll the Inv ri nt Sections of the Document, un ltered in their text nd in their titles. Section numbers or the equiv lent re not consid ered p rt of the section titles. M. Delete ny section Entitled "Endorsements". Such section m y not be included in the Modified Version. N. Do not retitle n y existing section to be Entitled "Endorsements" or to conflict in title with n y Inv ri nt Section. O. Preserve ny W rr nty Discl imers. If the Modified Versi on includes new front-m tter sections or ppendices th t qu lify s Second ry Se ctions nd cont in no m teri l copied from the Document, you m y t 239

your option design te some or ll of these sections s inv ri nt. To do this, d d their titles to the list of Inv ri nt Sections in the Modified Version's licen se notice. These titles must be distinct from ny other section titles. You m y dd section Entitled "Endorsements", provided it cont ins nothing but endorsem ents of your Modified Version by v rious p rties--for ex mple, st tements of pee r review or th t the text h s been pproved by n org niz tion s the uthorit t ive definition of st nd rd. You m y dd p ss ge of up to five words s Fro nt-Cover Text, nd p ss ge of up to 25 words s B ck-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one p ss ge of Front-Co ver Text nd one of B ck-Cover Text m y be dded by (or through rr ngements m d e by) ny one entity. If the Document lre dy includes cover text for the s me cover, previously dded by you or by rr ngement m de by the s me entity you r e cting on beh lf of, you m y not dd nother; but you m y repl ce the old one, on explicit permission from the previous publisher th t dded the old one. The uthor(s) nd publisher(s) of the Document do not by this License give permissio n to use their n mes for publicity for or to ssert or imply endorsement of ny Modified Version. 5. COMBINING DOCUMENTS You m y combine the Document with other documents rele sed under this License, u nder the terms defined in section 4 bove for modified versions, provided th t y ou include in the combin tion ll of the Inv ri nt Sections of ll of the origin l documents, unmodified, nd list them ll s Inv ri nt Sections of your combin ed work in its license notice, nd th t you preserve ll their W rr nty Discl im ers. The combined work need only cont in one copy of this License, nd multiple identic l Inv ri nt Sections m y be repl ced with single copy. If there re mu ltiple Inv ri nt Sections with the s me n me but different contents, m ke the ti tle of e ch such section unique by dding t the end of it, in p rentheses, the n me of the origin l uthor or publisher of th t section if known, or else uni que number. M ke the s me djustment to the section titles in the list of Inv ri nt Sections in the license notice of the combined work. In the combin tion, you must combine ny sections Entitled "History" in the v rious origin l documents, forming one section Entitled "History"; likewise combine ny sections Entitled "Acknowledgements", nd ny sections Entitled "Dedic tions". You must delete ll sections Entitled "Endorsements". 240

6. COLLECTIONS OF DOCUMENTS You m y m ke collection consisting of the Document nd other documents rele se d under this License, nd repl ce the individu l copies of this License in the v rious documents with single copy th t is included in the collection, provided th t you follow the rules of this License for verb tim copying of e ch of the d ocuments in ll other respects. You m y extr ct single document from such co llection, nd distribute it individu lly under this License, provided you insert copy of this License into the extr cted document, nd follow this License in ll other respects reg rding verb tim copying of th t document.

7. AGGREGATION WITH INDEPENDENT WORKS A compil tion of the Document or its deriv tives with other sep r te nd indepen dent documents or works, in or on volume of stor ge or distribution medium, is c lled n " ggreg te" if the copyright resulting from the compil tion is not used to limit the leg l rights of the compil tion's users beyond wh t the indivi du l works permit. When the Document is included in n ggreg te, this License d oes not pply to the other works in the ggreg te which re not themselves deriv tive works of the Document. If the Cover Text requirement of section 3 is ppli c ble to these copies of the Document, then if the Document is less th n one h l f of the entire ggreg te, the Document's Cover Texts m y be pl ced on covers th t br cket the Document within the ggreg te, or the electronic equiv lent of co vers if the Document is in electronic form. Otherwise they must ppe r on printe d covers th t br cket the whole ggreg te.

8. TRANSLATION Tr nsl tion is considered kind of modific tion, so you m y distribute tr nsl t ions of the Document under the terms of section 4. Repl cing Inv ri nt Sections with tr nsl tions requires speci l permission from their copyright holders, but you m y include tr nsl tions of some or ll Inv ri nt Sections in ddition to th e origin l versions of these Inv ri nt Sections. You m y include tr nsl tion o f this License, nd ll the license notices in the Document, nd ny W rr nty Di scl imers, provided th t you lso include the origin l English version of this L icense nd the origin l versions of those notices nd discl imers. In c se of dis greement between the tr nsl tion nd the origin l version of this License or notice or discl imer, the origin l version will prev il. If section in the Document is Entitled "Acknowledgements", "Dedic tions", or "History", the requir ement (section 4) to Preserve its Title (section 1) will typic lly require ch ng ing the ctu l title. 241

9. TERMINATION You m y not copy, modify, sublicense, or distribute the Document except s expre ssly provided under this License. Any ttempt otherwise to copy, modify, sublice nse, or distribute it is void, nd will utom tic lly termin te your rights unde r this License. However, if you ce se ll viol tion of this License, then your l icense from p rticul r copyright holder is reinst ted ( ) provision lly, unles s nd until the copyright holder explicitly nd fin lly termin tes your license, nd (b) perm nently, if the copyright holder f ils to notify you of the viol ti on by some re son ble me ns prior to 60 d ys fter the cess tion. Moreover, your license from p rticul r copyright holder is reinst ted perm nently if the cop yright holder notifies you of the viol tion by some re son ble me ns, this is th e first time you h ve received notice of viol tion of this License (for ny work ) from th t copyright holder, nd you cure the viol tion prior to 30 d ys fter your receipt of the notice. Termin tion of your rights under this section does n ot termin te the licenses of p rties who h ve received copies or rights from you under this License. If your rights h ve been termin ted nd not perm nently rei nst ted, receipt of copy of some or ll of the s me m teri l does not give you ny rights to use it. 10. FUTURE REVISIONS OF THIS LICENSE The Free Softw re Found tion m y publish new, revised versions of the GNU Free D ocument tion License from time to time. Such new versions will be simil r in spi rit to the present version, but m y differ in det il to ddress new problems or concerns. See http://www.gnu.org/copyleft/. E ch version of the License is given distinguishing version number. If the Document specifies th t p rticul r nu mbered version of this License "or ny l ter version" pplies to it, you h ve th e option of following the terms nd conditions either of th t specified version or of ny l ter version th t h s been published (not s dr ft) by the Free Sof tw re Found tion. If the Document does not specify version number of this Lice nse, you m y choose ny version ever published (not s dr ft) by the Free Soft w re Found tion. If the Document specifies th t proxy c n decide which future versions of this License c n be used, th t proxy's public st tement of ccept nc e of version perm nently uthorizes you to choose th t version for the Documen t. 11. RELICENSING 242

"M ssive Multi uthor Coll bor tion Site" (or "MMC Site") me ns ny World Wide We b server th t publishes copyright ble works nd lso provides prominent f ciliti es for nybody to edit those works. A public wiki th t nybody c n edit is n ex mple of such server. A "M ssive Multi uthor Coll bor tion" (or "MMC") cont in ed in the site me ns ny set of copyright ble works thus published on the MMC si te. "CC-BY-SA" me ns the Cre tive Commons Attribution-Sh re Alike 3.0 license pu blished by Cre tive Commons Corpor tion, not-for-profit corpor tion with pri ncip l pl ce of business in S n Fr ncisco, C liforni , s well s future copylef t versions of th t license published by th t s me org niz tion. "Incorpor te" me ns to publish or republish Document, in whole or in p rt, s p rt of nother Document. An MMC is "eligible for relicensing" if it is licensed under this Lice nse, nd if ll works th t were first published under this License somewhere oth er th n this MMC, nd subsequently incorpor ted in whole or in p rt into the MMC , (1) h d no cover texts or inv ri nt sections, nd (2) were thus incorpor ted p rior to November 1, 2008. The oper tor of n MMC Site m y republish n MMC cont ined in the site under CCBY-SA on the s me site t ny time before August 1, 200 9, provided the MMC is eligible for relicensing. 243

245

246

247

248

249

250

251

252

253

254

255

256

You might also like