comunicaciones unificadas con elastix vol2

Upload: pablo-leon

Post on 02-Mar-2016

35 views

Category:

Documents


1 download

TRANSCRIPT

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    1/220

    Comunicaciones Unificadas

    con Elastix

    Volumen 2

    Edgar Landvar

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    2/220

    2

    Copyright (c) 2008-2009 Edgar Landvar

    Este documento est permitido de copiar, distribuir y/o modificarbajo los trminos de la licencia GNU Free Documentation License,Versin 1.3; sin Secciones Invariantes (Invariant Sections), Textosde Cubierta Frontal (Front-Cover Texts), y sin Textos de CubiertaPosterior (Back-Cover Texts).

    El autor puede en cualquier momento decidir actualizar la licencia dela presente obra a una versin ms reciente de la GNU Free

    Documentation License.

    Una copia de esta licencia se incluye en el Apndice A: GNU FreeDocumentation License.

    Segunda Edicin, versin Beta

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    3/220

    3

    A los que siempre creyeron y a otros gigantes que nos

    mostraron el camino

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    4/220

    4

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    5/220

    5

    Reconocimiento

    La elaboracin de este volumen 2 involucr un enorme trabajo que fue facilitado gracias

    a la generosa ayuda de algunas personas con las cuales me encuentro agradecido. Misms sinceros agradecimientos a:

    A la comunidad Elastix, por su valioso feedback del producto Elastix y deseguro 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 Email System Bruno Macas, por aportar con contenido para el apartado Extendiendo la

    Interfase Web de Elastix

    Alex Villacs,por su aporte en el captulo Mdulo Call Center ARafael Bonifazpor su ayuda en el apartado referente a VirtualBox

    Por qu comprar este libro?

    Comprar una versin impresa de este libro es una manera de colaborar con el proyectoElastix. Sin embargo, si al lector no le gustan los libros impresos pero desea colaborarcon este proyecto de software libre, todava puede realizar una donacin a travs del

    siguiente enlace:

    http://www.elastix.org/index.php?option=com_content&task=view&id=128&Itemid=54

    Qu significa versin Beta?

    Significa que se trata de una edicin preliminar que pudiera estar sujeta a erroresmenores y por lo tanto cualquier retroalimentacin de los lectores es bienvenida.

    Feedback

    Cualquier sugerencia o colaboracin ser bien recibida. Que el lector no dude enescribir un email a [email protected]

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    6/220

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    7/220

    Indice

    Indice ............................................................................................................................... 7

    Introduccin .................................................................................................................. 13

    17. Plan de marcado avanzado.................................................................................... 15

    17.1 Introduccin........................................................................................................ 15

    17.2 Manipulacin de variables.................................................................................. 15

    Eliminando dgitos al inicio y final de una variable............................................... 15

    Concatenacin de variables .................................................................................... 16

    Expresiones............................................................................................................. 16

    Sintaxis condicional................................................................................................ 18

    17.3 Macros ................................................................................................................ 18Variables disponibles en la macro.......................................................................... 19

    Otro ejemplo de macro ........................................................................................... 19

    17.4 AstDB................................................................................................................. 20

    Aplicaciones para administrar AstDB.................................................................... 20

    17.5 El plan de marcado de freePBX ......................................................................... 21

    extensions.conf ....................................................................................................... 21

    extensions_additional.conf ..................................................................................... 22

    17.6 Algunos conocimientos tiles............................................................................. 23

    Cmo verificar si una variable se encuentra vaca? ............................................... 23

    Cmo obtener la fecha actual en el plan de marcado? ........................................... 24

    Cmo proceder si quiero realizar cambios en el extensions.conf?......................... 24

    18. Elastix Email System.............................................................................................. 25

    18.1 Arquitectura del sistema de email ...................................................................... 25

    18.2 Configurando el sistema de correo electrnico de Elastix ................................. 26

    18.3 Configuraciones a bajo nivel .............................................................................. 32

    18.4 Luchando contra el SPAM ................................................................................. 34

    18.5 Instalando antivirus ............................................................................................ 3519. Mensajera Instantnea.......................................................................................... 39

    19.1 Protocolo XMPP (Jabber)................................................................................... 39

    19.2 Openfire .............................................................................................................. 40

    Caractersticas destacables ..................................................................................... 40

    19.3 Usando Openfire en Elastix................................................................................ 40

    Activacin de Openfire........................................................................................... 41

    Interfaz Web de administracin de Openfire.......................................................... 44

    Integracin de Openfire con Asterisk..................................................................... 4620. Fax en Elastix.......................................................................................................... 51

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    8/220

    8

    20.1 Hylafax e IAXModem........................................................................................ 51

    Hylafax ................................................................................................................... 51

    IAXModem............................................................................................................. 52

    20.2 Configuracin de Fax en la interfase Web de Elastix ........................................ 53

    Listado de Fax Virtual ............................................................................................ 53Nuevo Fax Virtual .................................................................................................. 54

    Fax Master .............................................................................................................. 55

    Clientes de Fax ....................................................................................................... 56

    Visor de Fax ........................................................................................................... 56

    20.3 Enviando un FAX desde una estacin de trabajo ............................................... 57

    20.4 Procesamiento interno de un documento de FAX en Elastix............................. 60

    20.5 Protocolo T.38 .................................................................................................... 61

    20.6 AvantFAX, un GUI alternativo .......................................................................... 6221. Sintetizacin y reconocimiento de voz .................................................................. 63

    21.1 Sintetizacin de voz............................................................................................ 63

    Festival ................................................................................................................... 65

    Cmo interactuar con Festival desde el plan de marcado ...................................... 67

    Sintetizando voz desde la interfase Web de Elastix ............................................... 69

    21.2 Reconocimiento de voz ...................................................................................... 70

    Lumenvox............................................................................................................... 70

    Instalando LumenVox en Elastix ........................................................................... 71

    Probando LumenVox en Asterisk .......................................................................... 73

    22. Desempeo y dimensionamiento ........................................................................... 75

    22.1 Desempeo de Elastix ........................................................................................ 75

    Factores que afectan el desempeo de Elastix........................................................ 75

    Herramientas........................................................................................................... 77

    22.2 Dimensionamiento telefnico............................................................................. 78

    Determinando el nmero de lneas telefnicas necesarias ..................................... 78

    Agner Krarup Erlang .............................................................................................. 78

    La unidad Erlang .................................................................................................... 78Modelos Erlang ...................................................................................................... 79

    22.3 Cuando un slo servidor no alcanza................................................................... 81

    Distribuir el trabajo en equipos especializados ...................................................... 81

    Distribuir el plan de marcado ................................................................................. 82

    23. Seguridad................................................................................................................. 83

    23.1 Algo de historia .................................................................................................. 83

    23.2 Seguridad fsica .................................................................................................. 85

    Limitacin del acceso al servidor........................................................................... 86No usar el usuario root ........................................................................................... 86

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    9/220

    9

    NO dejar sesiones de consola abiertas.................................................................... 86

    Bloquear el reinicio ................................................................................................ 87

    Cambiar las claves por omisin en Elastix............................................................. 87

    23.3 Ataques y vulnerabilidades a nivel de red IP ..................................................... 88

    Denegacin de servicio........................................................................................... 88Ataques de inundacin SIP (SIPFlooding)............................................................ 88

    Sniffing.................................................................................................................... 89

    23.4 Encriptando la VoIP ........................................................................................... 91

    SRTP....................................................................................................................... 91

    VPNs....................................................................................................................... 92

    Encriptacin IAX.................................................................................................... 93

    23.5 Auditoras de seguridad...................................................................................... 94

    23.6 Algunas soluciones a los problemas de seguridad ............................................. 97Apagando los servicios que no vamos a usar ......................................................... 97

    Firewalls ................................................................................................................. 98

    IDSs e IPSs ........................................................................................................... 100

    Actualizaciones..................................................................................................... 101

    Monitoreo ............................................................................................................. 101

    Usar un Switch en lugar de un HUB .................................................................... 102

    24.DebuggingAvanzado............................................................................................ 105

    24.1 Introduccin...................................................................................................... 105

    Qu hacer cuando Asterisk se comporta de mal? ................................................. 106

    Errores de programacin que provocan cadas, colgados o comportamientosindeseados............................................................................................................. 108

    24.2 strace................................................................................................................. 109

    Un ejemplo sencillo de depuracin de Asterisk ................................................... 111

    24.3 GDB.................................................................................................................. 113

    Ejemplos simples de uso de GDB ........................................................................ 113

    Comandos bsicos ................................................................................................ 114

    24.4 Archivos core y backtraces .............................................................................. 115Cmo reportar un backtrace a Digium? ............................................................... 118

    25. DUNDI................................................................................................................... 119

    25.1 Introduccin...................................................................................................... 119

    25.2 Ejemplo de configuracin................................................................................. 120

    Escenario .............................................................................................................. 120

    Certificados de encriptacin................................................................................. 120

    dundi.conf............................................................................................................. 121

    iax_custom.conf.................................................................................................... 127

    extensions.conf ..................................................................................................... 128

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    10/220

    10

    extensions_custom.conf........................................................................................ 128

    Aplicar la configuracin....................................................................................... 130

    Conclusin............................................................................................................ 130

    25.3 Integrando IVRs con DUNDi........................................................................... 130

    26. Mdulo de Call Center......................................................................................... 133

    26.1 Introduccin...................................................................................................... 133

    26.2 Funcionalidad bsica ........................................................................................ 133

    Modelo de funcionamiento................................................................................... 133

    Funcionalidad implementada................................................................................ 134

    Limitaciones conocidas ........................................................................................ 135

    26.3 Componentes del Elastix Dialer ....................................................................... 135

    Marcador predictivo ............................................................................................. 135

    Consola de agente................................................................................................. 137Administracin de campaas................................................................................ 137

    Reportes................................................................................................................ 137

    26.4 Procedimientos para el uso del Elastix Dialer.................................................. 138

    Administrador - Configuracin de agentes........................................................... 138

    Administrador - Creacin de campaas ............................................................... 138

    Administrador - Reportes ..................................................................................... 138

    Operador - interaccin con consola de agente...................................................... 139

    26.5 Resolucin de problemas................................................................................. 139

    Marcador no marca (ningn agente recibe llamadas):.......................................... 139

    Marcador slo marca a un nmero pequeo de agentes (subutilizacin):............ 140

    Marcador deja de generar llamadas luego de funcionar correctamente por unintervalo:............................................................................................................... 141

    26.6 Usando la interfase Web de administracin de campaas................................ 141

    Administracin de Agentes .................................................................................. 142

    Administracin de Formularios............................................................................ 144

    Administracin de campaas salientes................................................................. 148

    Administracin de llamadas entrantes.................................................................. 154Administracin deBreaks .................................................................................... 157

    27. Extendiendo la interfase Web de Elastix............................................................ 161

    27.1 ElframeworkNeo............................................................................................. 161

    Arquitectura Web basada en MVC2..................................................................... 162

    Desarrollo POO .................................................................................................... 164

    Implementacin modular...................................................................................... 164

    27.2 Creacin de un mdulo de Elastix.................................................................... 165

    Creando el Men .................................................................................................. 165

    Definicin de lenguajes ........................................................................................ 168

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    11/220

    11

    Visualizando el nuevo mdulo ............................................................................. 169

    27.3 Programacin de un Mdulo ............................................................................ 170

    27.4 Arquitectura Modular ....................................................................................... 171

    Archivo index.php ................................................................................................ 171

    27.5 Elastix Developer Tools al rescate................................................................ 172Instalando Elastix Developer Tools...................................................................... 172

    Construyendo un mdulo de Elastix con elDeveloper........................................ 173

    Eliminacin de un mdulo a travs delDeveloper............................................... 178

    Administracin de lenguajes desde el Developer ............................................. 179

    27.6 Estndar de codificacin PHP en Elastix ......................................................... 179

    Indentacin ........................................................................................................... 180

    Estructuras de control ........................................................................................... 180

    Llamadas a funciones ........................................................................................... 181Definicin de funciones........................................................................................ 181

    Comentarios.......................................................................................................... 182

    Cdigo de inclusin.............................................................................................. 183

    Comentarios de cabecera...................................................................................... 183

    URL de ejemplo ................................................................................................... 184

    Convencin de nombres ....................................................................................... 185

    28. Virtualizacin........................................................................................................ 187

    28.1 Opciones de virtualizacin ............................................................................... 187

    28.2 Elastix sobre VMWare ..................................................................................... 188

    28.3 Elastix sobre Virtualbox ................................................................................... 188

    Virtualbox y Redes............................................................................................... 189

    Configuracin Interfase Anfitrin ........................................................................ 189

    Crear la mquina virtual ....................................................................................... 191

    Configuracin Previa de la Mquina Virtual........................................................ 192

    Arrancar la Mquina Virtual por Primera Vez..................................................... 192

    Opciones Avanzadas ............................................................................................ 193

    28.4 Elastix sobre XEN ............................................................................................ 194Breve introduccin a XEN ................................................................................... 195

    Algunos comandos XEN bsicos ......................................................................... 196

    Instalacin de Elastix virtualizado utilizando XEN ............................................. 197

    29. Compilando Asterisk............................................................................................ 201

    29.1 Recompilando los SRPMs................................................................................ 201

    Instalar un Elastix con los requisitos para construir el RPM................................ 202

    Instalar el SRPM de Asterisk y modificar el SPEC de acuerdo a nuestrasnecesidades........................................................................................................... 203

    Construir el RPM de Asterisk............................................................................... 203

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    12/220

    12

    30. La Certificacin Elastix ....................................................................................... 205

    30.1 Introduccin...................................................................................................... 205

    30.2 El Curso de Certificacin Elastix ..................................................................... 205

    30.3 El Examen de Certificacin Elastix.................................................................. 206

    Tpicos y Pesos .................................................................................................... 20630.4 Preguntas tpicas de examen............................................................................. 207

    Apndice A. GNU Free Documentation License ..................................................... 211

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    13/220

    13

    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 Shariff yme pareca que ya estaban cubiertos los temas ms importantes cuando nos reunimos enmi oficina con otros colaboradores a planificar lo que sera nuestro nuevo producto deentrenamiento para la certificacin de Elastix.

    Casi de inmediato nos dimos cuenta que pese a que las obras existentes cubran muchostpicos importantes no funcionaran del todo como material de estudio para un curso decertificacin. La obra que necesitbamos tena que cubrir aspectos internos delfuncionamiento de Elastix y sus componentes, as como tambin cubrir posibles vacosde los alumnos en tpicos diversos como Asterisk y protocolos de comunicacin como

    SIP y RTP. No exista nada parecido en ese momento, una alternativa era usar diferentesobras para cubrir la totalidad del entrenamiento pero eso sera un poco engorroso y severa algo desorganizado.

    Salimos de la reunin con el sinsabor de no tener material de estudio.

    Semanas despus me di a la tarea de escribir un pnsum para nuestros cursosolvidndome un poco del tema del libro faltante. El pnsum fue del agrado de todos asque decid bosquejar brevemente lo que debera contener cada tpico y ese fue el iniciodel libro que tienen en sus manos (o en su pantalla)... Sin darme cuenta lo habacomenzado a escribir. Una noche en mi casa vi que ya tena cierta forma as que decidcomentarlo al siguiente da en la oficina y todos aprobaron la idea. Decidimos hacer dostomos o volmenes, el primero cubrira los tpicos requeridos para nuestro primer cursoy un segundo cubrira los tpicos de nuestro segundo y final curso.

    Ya iba por la mitad del primer volumen cuando surgi la pregunta acerca dellicenciamiento de la obra. Elastix es software libre y yo no haba pensado an en ellicenciamiento del libro. Algunos pensaban en que no debera ser libre debido a que eramaterial de entrenamiento que de alguna manera nos otorgaba ventaja competitiva en elmercado. En este punto debo de agradecer la ayuda de algunos integrantes del equipo de

    PaloSanto Solutions por sus acertados argumentos en pro de FDL (Free DocumentationLicense).

    Finalmente la presente obra se termino con la escritura de esta introduccin el 29 deOctubre de 2008. Espero que sea de la utilidad y agrado de todos vosotros.

    -- Edgar Landivar

    Elastix Project Leader

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    14/220

    14

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    15/220

    15

    Plan de marcado avanzado

    Olvidar lo malo tambin es tener memoria

    -- Jos Hernandez en su obra Martn Fierro

    17.1 Introduccin

    En el volumen 1 exploramos brevemente el plan de marcado (dialplan) de Asteriskexplicando conceptos bsicos como contextos, aplicaciones o variables. En este captuloavanzaremos ms y explicaremos conceptos adicionales que nos permitirn leer yescribir plan de marcado con ms facilidad.

    17.2 Manipulacin de variables

    Eliminando dgitos al inicio y final de una variable

    En ocasiones necesitaremos modificar una variable como ${EXTEN} y eliminaralgunos dgitos al principio del nmero ya que estos muchas veces son prefijostelefnicos. Por ejemplo, si queremos marcar por un proveedor VoIP que termina

    llamadas exclusivamente en USA puede ser que l necesite solamente que se le enve elnmero en s, sin el prefijo internacional 001.

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    16/220

    16

    Este tipo de cosas se logran de manera sencilla usando cierta sintaxis que nos permiteeliminar estos dgitos iniciales.

    La sintaxis usada para eliminar dgitos al inicio y/o al final de una variable es${EXTEN:x:y}

    Donde x representa el nmero de dgitos que se eliminarn al principio de la variabley y representa el nmero de dgitos que se extraern de dicha variable.

    Por ejemplo, supongamos que originalmente la variable ${EXTEN} contiene el nmerotelefnico 123456789. Por lo tanto la expresin ${EXTEN:2:4} nos devolver elnmero 3456. Es decir que se eliminaron 2 (x) dgitos al principio y el nmero devueltodebe contener4 (y) dgitos.

    Si se omite y en la expresin (lo cual es el caso ms comn) entonces se asume que sedevolvern todos los restantes dgitos contenidos en la variable. En el ejemplo delnmero telefnico anterior con la expresin ${EXTEN:2} obtendramos 3456789.

    Concatenacin de variables

    Para concatenar dos o mas variables simplemente debemos escribirlas juntas. Por

    ejemplo, para concatenar las variables VAR1, VAR2 y VAR3 podramos hacer algocomo lo siguiente.

    Expresiones

    Una expresin es una combinacin de variables y operadores que producen unresultado. Un uso comn de una expresin es el de realizar operaciones matemticascomo por ejemplo sumar dos valores. Una expresin tiene la siguiente sintaxis.

    $[expresin]

    Por ejemplo, para sumar dos variables llamadas VAR1 Y VAR2 podemos utilizar laexpresin $[${VAR1} + ${VAR2}]

    exten => s,n,SetVar(VAR_CONCAT=${VAR1}${VAR2}${VAR3})

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    17/220

    17

    Operadores

    Los operadores los hay de diferentes tipos como booleanos, matemticos, paracomparar y para manipular expresiones regulares.

    Operador Descripcin

    Booleanos

    expr1 | expr2 Operador OR. Retorna expr1 en caso deque expr1 contenga una cadena no-vaca odiferente de cero. Caso contrario retornaexpr2.

    expr1 & expr2 Operador AND. Retorna expr1 siempre ycuando tanto expr1 como expr2 contengancadenas no-vacas o diferentes de cero.

    Caso contrario retorna cero.!expr Operador de complemento.

    Para comparar

    expr1 = expr2 Devuelve 1 si la comparacin es cierta y 0si es falsa

    expr1 != expr2 Devuelve 1 si la comparacin es cierta y 0si es falsa

    expr1 < expr2 Devuelve 1 si la comparacin es cierta y 0si es falsa

    expr1 > expr2 Devuelve 1 si la comparacin es cierta y 0si es falsa

    expr1 = expr2 Devuelve 1 si la comparacin es cierta y 0si es falsa

    Matemticos

    expr1 + expr2 Suma dos valores

    expr1 - expr2 Resta dos valores

    - expr Niega un valor

    expr1 * expr2 Multiplica dos valores

    expr1 / expr2 Divide un valor para otro

    expr1 % expr2 Devuelve el mdulo de un valor para otro

    Para manipular expresiones regulares

    expr1 : regexp Compara expr1 contra una expresinregular contenida en regexp. Lacomparacin asume un carcter de inicio

    de cadena ^ implcito al inicio deregexp.

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    18/220

    18

    expr1 =~ expr2 Similar al operador anterior excepto queno se asume un carcter de inicio decadena implcito.

    Sintaxis condicional

    Cuando se necesita evaluar una expresin y tomar una decisin como resultado deaquello podemos usar lo que se llama sintaxis condicional y que mostraremos acontinuacin.

    expresin?destino1:destino2

    Es decir que si la expresin es verdadera se retorna destino1 y si es falsa se retornadestino2.

    Se podra decir que los caracteres y : son operadores pero es mejor estudiarlos porseparado.

    Esta sintaxis es la usada por aplicaciones como GotoIf.

    17.3 MacrosLas macros no son otra cosa que aplicaciones definidas por el usuario. Una de lasgrandes ventajas de esto es que nos permiten reutilizar cdigo de plan de marcado.

    Para definir una macro simplemente escribimos el cdigo de plan de marcado como sifuera un contexto cualquiera con el cuidado de que el nombre de este contexto debeempezar con la palabra macro seguida de un guin y del nombre de nuestra macro.Por ejemplo:

    Para invocar la macro lo hacemos a travs de una aplicacin especial llamada tambinMacro, la cual tiene la siguiente sintaxis.

    [macro-nohacenada]

    exten => s,1,NoOp(No se hace nada)

    Macro(nombremacro,arg1,arg2...)

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    19/220

    19

    Como vemos anterior a la aplicacin Macro debemos pasarle el nombre de la macro ylos argumentos que toma la macro en caso de que hayan. Hay que tener cuidado de queel nombre de la macro constituye todo lo que hemos escrito despus del prefijo macro- cuando la definimos.

    Si queremos que la macro manipule ciertos argumentos podemos acceder a ellosautomticamente a travs de las variables ${ARG1}, ${ARG2}, ${ARG3}, etc

    Por ejemplo, para invocar la macro que creamos antes podemos proceder de la siguientemanera.

    Veamos a continuacin la definicin de una macro muy usada en el plan de marcadopropuesto por freePBX y que sirve para colgar una llamada.

    Variables disponibles en la macro

    Aparte de los argumentos del tipo ${ARGn} existen otras variables disponibles en elcontexto de una macro. Estas variables son las siguientes.

    Nombre variable Descripcin

    ${MACRO_CONTEXT} El contexto de la extensin desde dondese llam a la macro

    ${MACRO_EXTEN} La extensin desde donde se llam a lamacro

    ${MACRO_PRIORITY} La prioridad en la extensin donde sellam a la macro

    Otro ejemplo de macro

    exten => s,n,Macro(nohacenada)

    ; What to do on hangup.

    [macro-hangupcall]

    exten => s,1,ResetCDR(w)

    exten => s,n,NoCDR()

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    20/220

    20

    Un ejemplo de macro muy didctico y sencillo, aunque probablemente poco til en lavida prctica, es el de un sumador que nos permita reproducir en audio la suma de dosnmeros. A continuacin la macro.

    17.4 AstDB

    Asterisk cuenta con una pequea base de datos a la que se puede acceder desde el plande marcado a travs de algunas aplicaciones destinadas a este fin. Esta pequea base de

    datos est basada en el motor Berkeley DB versin 1 que bsicamente es unaimplementacin muy sencilla de base de datos con reducida funcionalidad.

    AstDB reside en /var/lib/asterisk/astdb y se usa para almacenarinformacin de cualquier tipo a la cual se quiera tener acceso desde el dialplan.

    En esencia AstDB permite agrupar informacin en familias que no son otra cosa sinocontenedores que nos servirn para categorizar la informacin. En cada familiatendremos pares conformados por dos elementos llamados clave y valor. Donde cadaclave es un nombre nico dentro de cada familia. Dos familias importantes que son

    mantenidas por freePBX son AMPUSER y DEVICE.

    En el plan de marcado provisto por Elastix se usa AstDB debido a que freePBX tambinla usa as que es buena idea revisar algunas aplicaciones que nos servirn paramanipular esta base de datos.

    Aplicaciones para administrar AstDB

    A continuacin algunas aplicaciones que nos servirn para administrar AstDB desde elplan de marcado.

    Aplicacin Descripcin

    DBdel Elimina una clave de la base de datos

    DBdeltree Elimina una familia de la base de datos

    DBget Obtiene un valor de la base de datos. Paraesto debemos proporcionarle la clavecorrespondiente.

    DBput Almacena un valor en la base de datos

    [macro-suma]

    exten => s,1,SetVar(TOTAL=$[ ${ARG1} + ${ARG2} ])

    exten => s,n,SayNumber(${TOTAL})

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    21/220

    21

    17.5 El plan de marcado de freePBX

    El plan de marcado escrito por freePBX reside principalmente en los archivosextensions.conf y extensions_additional.conf. El primero contiene

    informacin fija que no cambia cuando se hacen cambios desde la interfase Web defreePBX y el segundo contiene informacin variable que s cambia cuando se hacencambios desde la interfase Web.

    extensions.conf

    El archivo extensions.conf es donde Asterisk buscar primero el plan demarcado. Este archivo a su vez incluye el extensions_additional.conf.

    Podramos decir a nivel general que este archivo se encuentra dividido en dos tipos decontextos: macros y puntos de acceso.

    Macros de apoyo

    El primer tipo constituye un conjunto de macros que sirven de apoyo en la codificacindel plan de marcado y que permiten la reutilizacin de cdigo y organizacin delmismo. Algunas de las macros ms importantes que podemos encontrar aqu son:

    Macro Descripcin

    [macro-dial] Se usa para timbrar a una o ms extensiones. Tomacomo argumentos las variables $DIAL_TIMER,$DIAL_OPTIONS, $EXT1, $EXT2, $EXT3, etc

    [macro-exten-vm] Timbra a una extensin y si dicha extensin estocupada o no contesta enva la llamada al casillero devoz (voicemail)

    [macro-vm] Llama sistema de casillero de voz y permite acceder a

    un IVR personal[macro-rg-group] Timbra grupos de telfonos (ring groups)

    [macro-outisbusy] Informa al cliente que los canales de salida estnocupados

    [macro-hangupcall] Cuelga una llamada. Bsicamente resetea los CDRsantes de colgar.

    [macro-dialout] Permite marcar hacia afuera y elimina el prefijo.

    [macro-record-enable] Revisa si una llamada tiene habilitada la grabacin dellamadas y procede a la grabacin de ser el caso

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    22/220

    22

    Puntos de acceso al dialplan

    El segundo tipo de contextos est constituido por lo que podramos llamar puntos deacceso al plan de marcado o contextos from. Es decir los lugares por donde lacomunicacin se inicia, ya que una llamada podra originarse en diferentes lugares,como extensiones internas, troncales SIP, dispositivos Zaptel, etc.

    Contexto from Descripcin

    [from-pstn] Por aqu ingresan las llamadas desde laPSTN o tambin desde una troncal VoIP.Este contexto es equivalente a from-trunk; de hecho este ltimo es un aliasde from-pstn.

    [from-sip-external] Responde a usuarios SIP externos un

    mensaje de congestin y luego cuelga[from-internal] Por aqu ingresan las llamadas realizadas

    desde extensiones internas

    [from-zaptel] Para llamadas que ingresan desdedispositivos zaptel

    extensions_additional.conf

    Prcticamente cada entidad o caracterstica configurable desde la interfase Web defreePBX est especificada aqu. Por ejemplo, en este archivo se definen los servicios,las salas de conferencia, las extensiones mismas, los IVRs, los accesos DISA, las rutassalientes, las rutas entrantes, las colas, los ring-groups, etc.

    En conclusin se podra decir que este archivo contiene los parmetros configurablespor el usuario. Es el archivo donde freePBX hace su mayor trabajo.

    Trataremos de dar una idea al lector de qu significan los diferentes contextos que aquse pueden encontrar. En ocasiones especificaremos slo el prefijo con el que empieza elnombre del contexto para agrupar mejor.

    Contexto Descripcin

    globals En el contexto globals (recordemos que se trata deun contexto de nombre reservado) se enlistan algunasvariables que define internamente freePBX para sucorrecto funcionamiento.

    app-* Este tipo de contextos corresponde a un servicio oaplicacin como por ejemplo el servicio de dictado, el

    servicio de directorio telefnico, el servicio de acceso alvoicemail, entre otros. Se encuentra en este archivo ya

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    23/220

    23

    que el usuario en cualquier momento puede cambiar elnmero de acceso al servicio desde el men FeatureCodes de la interfase Web del freePBX

    ivr-* Contiene la definicin de un IVR. Al prefijo ivr- se leagrega un nmero que identifica internamente al IVR

    macro-* Obviamente las macros de apoyo necesarias parasimplificar el cdigo. Una macro muy importante es lamacro dialout-trunk que es donde se decide porcul ruta saldr la llamada.

    ext-* En estos contextos encontraremos cualquier cosa quepueda ser considerada como un nmero de extensin.Tanto extensiones que correspondan a telfonos oendpoints, como extensiones que podramos denominarvirtuales ya que no corresponden a telfonosdirectamente relacionados con un usuario; como es el

    caso de cuartos de conferencia, colas, grupos depaging,entre otros, que son accesibles como si fueran nmerosde extensin.

    Un contexto de especial inters es ext-local que esdonde se encuentran las extensiones internas o locales.

    from-internal-additional

    Este contexto es referenciado desde el contexto from-internal que es un punto de acceso para extensioneslocales definido en el archivo extensions.conf. Esrealmente quien realiza la mayor parte del trabajo alincluir a vez otros contextos donde podran ser ubicadas

    las extensiones destino.from-trunk-* Aqu se definen las rutas entrantes.

    outrt-* Aqu se definen las rutas salientes

    outbound-allroutes Aqu se enlistan todos los contextos que corresponden arutas salientes. Es decir los que empiezan con outrt-

    17.6 Algunos conocimientos tiles

    A continuacin algunos ejemplos de preguntas comunes o trucos que siempre esinteresante conocer.

    Cmo verificar si una variable se encuentra vaca?

    No existe en el plan de marcado una funcin como isNull, isEmpty o cosa por el estiloque nos permita verificar si una variable se encuentra vaca, pero podemos valernos dela aplicacin LEN para este fin y comparar su salida contra cero. Veamos un ejemplo de

    esto.

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    24/220

    24

    Cmo obtener la fecha actual en el plan de marcado?

    Para obtener la fecha actual podemos hacer uso de la variable ${EPOCH} que contieneun timestamp del instante actual. Para traducir este timestamp a una fecha mshumanamente legible podemos utilizar la funcin STRFTIME. Veamos un ejemplo deesto tomado del archivo extensions.conf

    Cmo proceder si quiero realizar cambios en el

    extensions.conf?

    No es recomendado cambiar el archivo extensions.conf debido a que freePBXpodra sobrescribirlo durante una operacin de actualizacin. Qu hacer entonces?

    Existe un archivo llamado extensions_override_freepbx.conf que puedeser utilizado para este fin. Si un nombre de contexto dentro de este archivo coincide conuno definido en el extensions.conf entonces dicho contexto ser sobrescrito porel contenido en extensions_override_freepbx.conf.

    Por lo tanto si se quiere modificar un determinado contexto del archivoextensions.conf lo recomendable es escribir nuestra nueva versin de dichocontexto en el extensions_override_freepbx.conf.

    exten => s,1,GotoIf($[${LEN(${VARIABLE_TEST})} > 0]?destino)

    [macro-record-enable]

    exten => s,1,GotoIf($[${LEN(${BLINDTRANSFER})} > 0]?2:4)

    exten => s,2,ResetCDR(w)

    exten => s,3,StopMonitor()

    exten => s,4,AGI(recordingcheck,${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)},${UNIQUEID})

    exten => s,5,Noop(No recording needed)

    exten => s,999,MixMonitor(${CALLFILENAME}.wav)

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    25/220

    25

    Elastix Email System

    Todo derecho que no lleve consigo un deber, no merece que se luche por

    defenderlo

    -- Mahatma Gandi

    18.1 Arquitectura del sistema de email

    Un sistema de correo electrnico est conformado por varios componentes. Losprincipales son el MUA (Mail User Agent), el MTA (Mail Transfer Agent) y el MDA(Mail Delivery Agent)

    Componentes de un sistema de correo electrnico

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    26/220

    26

    El MUA es el programa con el que se genera el correo electrnico y generalmentereside en el computador del cliente, por ejemplo el Microsoft Outlook, el MozillaThunderbird, entre otros. Tambin existen situaciones en las que el MUA reside en elmismo servidor, como es el caso de los servicios de Webmail u otros programas que

    generan correos electrnicos como los sistemas de Voicemail y de Fax.

    El MTA es quin, mediante protocolo SMTP, recibe el mensaje de parte del MUA ydecide a quin entregarlo. Si el correo est destinado a otro dominio, el MTA tratar decontactarse con el servidor de correo electrnico de dicho dominio y le transferir elmensaje mediante el mismo protocolo SMTP. Si el correo est destinado para undominio local, el MTA transferir internamente el mensaje al MDA quien a su vez serel encargado de colocarlo en el buzn respectivo.

    Los usuarios pueden acceder a sus buzones de correo utilizando el MUA, pero mediantelos protocolos POP y/o IMAP, los cuales deben estar activos en el servidor de correos.

    Elastix utiliza como MTA al Postfix y como MDA al Cyrus IMAP, quien tambinprovee los servicios de POP e IMAP. As mismo, con el Elastix viene por defecto unainterfaz de webmail llamada RoundCube Mail, la misma que puede ser usada comoMUA.

    18.2 Configurando el sistema de correo

    electrnico de Elastix

    Elastix facilita y simplifica las tareas de configuracin de un servidor de correos.Utilizando la interfase Web administrativa se puede tener el servicio de correoelectrnico completamente funcional en unos cuantos minutos siguiendo el

    procedimiento detallado a continuacin.

    Primero se debe elegir el men Email y luego la opcin Domains, a continuacinaparecer un listado de los dominios locales configurados. En Elastix el servicio decorreo electrnico es multi-dominio, por lo que se lo puede utilizar para recibirmensajes para varios dominios diferentes. Inicialmente la lista estar en blanco.

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    27/220

    27

    Listado de dominios

    Para crear un nuevo dominio se utiliza el botn Create Domain, con lo cual aparece

    una nueva pantalla en la que se debe ingresar el nombre del nuevo dominio.

    Creando un nuevo dominio

    Luego se guarda la accin utilizando el botn Save y se retornar al listado dedominios donde aparecer el que se acaba de crear.

    El listado de dominios muestra ahora el dominio creado

    El siguiente paso es crear las cuentas de correo electrnico. Para ello, en el mismo menEmail se debe elegir la opcin Accounts. En esta seccin aparecer una listadesplegable donde se debe seleccionar el dominio con cuyas cuentas se trabajar y sedebe presionar el botn Show para mostrar las cuentas existentes en dicho dominio.

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    28/220

    28

    Listado de cuentas de email. An no se selecciona un dominio de la lista.

    Para crear una cuenta nueva, se debe seleccionar el dominio en la lista desplegable yluego utilizar el botn Create Account. Aparecer una pantalla donde se debeningresar los datos bsicos de la cuenta de correo.

    Creando una nueva cuenta de correo electrnico

    Una vez llenados todos los campos se procede a guardar la cuenta con el botn Save einmediatamente se retornar al listado de las cuentas creadas para el dominio

    seleccionado anteriormente. Se debe repetir este procedimiento para crear todas lascuentas de correo necesarias.

    Cuentas de email para el dominio creado

    Es importante resaltar el verdadero nombre de la cuenta creada. En el ejemplo anteriorse cre la direccin de correo [email protected], sin embargo, como se puede veren el listado de las cuentas, el nombre real es info.elastix-book.org. ste es el nombrede usuario o login que deber ser usado para acceder al buzn de la cuenta.

    Este esquema se ha utilizado para poder implementar la caracterstica de multi-dominio,

    puesto que de esta manera se permite que en el mismo servidor existan direccionescomo [email protected] e [email protected].

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    29/220

    29

    Si alguna de las cuentas de correo que han sido creadas ser utilizada en un cliente decorreo como Microsoft Outlook, Mozilla Thunderbird u otro similar, se le deberindicar al servidor cuales son las direcciones de red a las que se les permitir enviarcorreos hacia dominios que no han sido configurados como locales. Este proceso de

    envo de correos a dominios externos se conoce como RELAY y para permitir nuevasdirecciones de red se debe elegir la opcin Relay en el men Email, aparecer unlistado de las direcciones que actualmente tienen el permiso mencionado.

    Configuracin de las redes que pueden hacer RELAY

    En esta lista se puede agregar las nuevas direcciones de red, una por lnea, asegurndosede que se especifique la respectiva mscara de red. Tambin es importante recordar quela direccin de localhost (127.0.0.1/32) deber estar siempre listada, de lo contrario se

    pueden presentar problemas con ciertas funcionalidades de Elastix como voicemail, fax-to-email, entre otras.

    El siguiente paso es comprobar el funcionamiento del servicio, para ello se puedeutilizar una de las cuentas creadas y configurarla en un cliente de correo electrnico, sinembargo la manera ms sencilla es utilizar la interface de webmail que viene incluidacon el Elastix llamada RoundCube WebMail. Para acceder a este servicio debemoselegir la opcin Webmail del men Email e ingresar los datos de acceso de una delas cuentas creadas anteriormente.

    Ingreso al Webmail provisto a travs de RoundCube

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    30/220

    30

    Se debe tener cuidado respecto con el nombre de la cuenta y la respectiva clave. Acontinuacin se debe usar el botn Login, con lo cual se acceder al buzn de entradade dicha cuenta.

    Pantalla principal del Webmail

    Por defecto, el RoundCube configura de manera incorrecta la identidad de la cuenta ydebe ser corregida antes de enviar mensajes, para esto se debe usar la opcin PersonalSettings del men que est situado en la parte superior derecha de la pantalla y luegoseleccionar la pestaa Identities, con lo cual aparecer lo siguiente:

    Pantalla de configuracin de Identidades

    Se puede observar que la direccin est en un formato incorrecto que incluye la palabra@localhost lo cual debe ser cambiado. Al seleccionar la identidad actualautomticamente aparecer un formulario de edicin en el que podremos cambiar los

    valores y escribir adecuadamente la direccin de correo electrnico.

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    31/220

    31

    Configuracin de parmetros

    Se finaliza el procedimiento presionando el botn Save. Luego de esto se puede usarla opcin E-Mail del men superior para regresar al buzn de entrada de la cuenta.Para redactar un mensaje nuevo, se debe utilizar el cono de una hoja de papel con unlpiz amarillo.

    Para redactar un nuevo mensaje

    El formulario par escribir un mensaje es bastante sencillo e intuitivo. Luego de redactarel correo, se lo enva con el botn Send the message now que est en la parte inferior.

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    32/220

    32

    Escribiendo un nuevo email

    Si se ha enviado el mensaje a otra cuenta del mismo dominio, se puede cerrar la sesinactual e ingresar con la otra cuenta. Los mensajes nuevos en la bandeja de entrada lucenas:

    Nuevo mensaje en la bandeja de entrada

    18.3 Configuraciones a bajo nivel

    Como se mencion anteriormente, Elastix usa como MTA a Postfix que es un sistemade correo electrnico sumamente potente, seguro y por sobre todo flexible para permitirinnumerables configuraciones avanzadas. Se puede obtener ms informacin acerca dePostfix en el sitio Web oficial www.postfix.com, as mismo es comn utilizar un

    buscador de Internet para encontrar documentacin respecto a configuracionesespecficas.

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    33/220

    33

    Una necesidad recurrente en sistemas de correo electrnico es la configuracin de unSmart Relay, que consiste en indicarle al MTA (Postfix) que todos los mensajes que noestn destinados a dominios locales se los enve a un servidor especfico que seencargar a su vez de transferirlo a los servidores de destino. Esto es de gran utilidadcuando el ISP (Proveedor de Servicios de Internet) ha restringido las conexiones SMTP

    salientes y solo permite envos a traves de su propio servidor SMTP, algunas vecesllamado SMTP Gateway. En Postfix esta opcin se llama relayhost.

    Postfix posee un archivo de configuracin principal llamado /etc/postfix/main.cf, enel cual se especifican las diferentes opciones del mismo. Este archivo no muestra todaslas opciones, sino solamente las ms usuales y aquellas que han sido modificadas de suvalor por defecto. Para ver todas las opciones de configuracin actuales de Postfix sedebe utilizar el comando postconf, sin embargo, la salida es muy larga puesto que tienecerca de 525 opciones, por lo que se recomienda utilizarlo en conjunto con el comandogrep. Por ejemplo, para el caso del Smart Relay, se quiere verificar cual es el valor

    actual de la opcin relayhost:

    Ejecucin del comando postconf

    Para cambiar una opcin del Postfix se debe editar el archivo /etc/postfix/main.cf ybuscar la opcin requerida, en caso de que no exista se la puede agregar. Se recomiendaque cuando se agrega una lnea se lo haga en la parte final del archivo pero antes de loscomentarios que dicen:

    En el caso del ejemplo del Smart Relay, se configurar la opcin relayhost para quetenga el valor smtp-gw.myisp.net, para ello se agregar la lnea:

    ################################

    #Ingresado por yb-webadmin

    relayhost = [smtp-gw.myisp.net]

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    34/220

    34

    Archivo /etc/postfix/main.cf

    Luego de editado el archivo /etc/postfix/main.cf se debe aplicar los cambiosutilizando uno de los siguientes comandos:

    18.4 Luchando contra el SPAM

    Elastix tambin provee un filtro contra SPAM que, cuando est activado, verifica todoslos mensajes que ingresan al servidor de correos y les asigna un puntaje dependiendo deciertas caractersticas. Si el mensaje obtiene un puntaje superior a lo que se conocecomo Nivel de Rigurosidad, entonces el mensaje es marcado, es decir que se agregancabeceras indicando que es SPAM y tambin se le agrega en el asunto la palabra[SPAM]

    Es muy fcil configurar los clientes de correo para aplicar filtros y reglas queredireccionen los SPAM a otras carpetas o incluso los eliminen.

    Para activar esta caracterstica en el Elastix se debe elegir la opcin Antispam en elmen Email y seleccionar Active. En esta pantalla tambin se puede cambiar elnivel de rigurosidad, se debe recordar que mientras ms bajo es el nmero escogido,ms alta es la rigurosidad del filtro.

    # service postfix reload

    # service postfix restart

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    35/220

    35

    Configuracin de la rigurosidad del filtro anti-SPAM

    No es recomendables especificar un nivel de rigurosidad menor a 3, puesto que seincrementaran los casos de falsos positivos, que no son otra cosa que mensajes vlidosque han sido catalogados como SPAM de manera errnea.

    18.5 Instalando antivirus

    En Elastix se podra instalar cualquier antivirus que trabaje con Postfix, para lo cualhabr que seguir las instrucciones provistas por el respectivo fabricante. A continuacinse detalla el procedimiento para instala ClamAV que es un antivirus gratuito. Seutilizar el paquete ClamSMTP para integrarlo con el Postfix.

    Lo primero que hay que hacer es instalar el paquete rpm-build que permitir generar el

    RPM del clamsmtp:

    Luego de debe descargar la versin ms reciente del SRPM del clamsmtp desde el sitioweb http://www.inet.lt/clamsmtp/

    Generar el respectivo RPM, el paquete resultante ser almacenado en la carpeta/usr/src/redhat/RPMS/i386/.

    Desde el sitio Web http://dag.wieers.com/rpm/packages/clamav/ se debe descargar lasversiones ms recientes de clamav, clamd y clamav-db para CentOS 5:

    # yum install rpm-build

    # wget http://www.inet.lt/clamsmtp/clamsmtp-1.10-1.src.rpm

    # rpmbuild --rebuild clamsmtp-1.10-1.src.rpm

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    36/220

    36

    Finalmente se deben instalar los 3 paquetes:

    Se debe crear manualmente la carpeta /var/run/clamav/:

    Editar el archivo de configuracin de /etc/clamsmtpd.conf y cambiar las siguienteslneas:

    Por estas dos:

    Una vez instalado se debe iniciar los servicios del clamsmtp y clamd :

    Luego hay que configurar el Postfix para que utilice el paquete instalado. Se debe editar

    el archivo /etc/postfix/main.cf y agregar la siguiente lnea:

    # wget http://dag.wieers.com/rpm/packages/clamav/clamav-0.92.1-1.el5.rf.i386.rpm

    # wget http://dag.wieers.com/rpm/packages/clamav/clamd-0.92.1-

    1.el5.rf.i386.rpm

    # wget http://dag.wieers.com/rpm/packages/clamav/clamav-db-0.92.1-1.el5.rf.i386.rpm

    rpm -Uvh clamav-0.92.1-1.el5.rf.i386.rpm clamav-db-0.92.1-1.el5.rf.i386.rpm /usr/src/redhat/RPMS/i386/clamsmtp-1.10-1.i386.rpm

    mkdir /var/run/clamav/

    ClamAddress: /var/run/clamav/clamd.sock

    #User: clamav

    ClamAddress: /tmp/clamd.sock et

    User: clamav

    # service clamd start

    # service clamsmtp start

    # chkconfig level 3 clamd off

    # chkconfig level 3 clamsmtp off

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    37/220

    37

    Tambin se debe editar el archivo /etc/postfix/master.cf y agregar las siguientes

    lneas:

    Y finalmente se debe reiniciar el servicio del Postfix:

    content_filter = scan:[127.0.0.1]:10025

    # AV scan filter (used by content_filter)

    scan unix - - n - 16 smtp

    -o smtp_send_xforward_command=yes

    -o smtp_enforce_tls=no

    # For injecting mail back into postfix from the filter

    127.0.0.1:10026 inet n - n - 16 smtpd

    -o content_filter=

    -o

    receive_override_options=no_unknown_recipient_checks,no_header_body_checks

    -o smtpd_helo_restrictions=

    -o smtpd_client_restrictions=

    -o smtpd_sender_restrictions=

    -o smtpd_recipient_restrictions=permit_mynetworks,reject

    -o mynetworks_style=host

    -o smtpd_authorized_xforward_hosts=127.0.0.0/8

    # service postfix restart

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    38/220

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    39/220

    39

    Mensajera Instantnea

    Nunca he encontrado una persona tan ignorante que no se pueda

    aprender algo de ella

    -- Galileo Galilei

    Elastix basa su funcionalidad de mensajera instantnea en el software Openfire quefunciona en base al protocolo XMPP (originalmente conocido como Jabber).

    19.1 Protocolo XMPP (Jabber)

    El hecho de que se utilice XMPP en Elasix nos da una gran ventaja, debido a que

    XMPP es un estndar y actualmente existen muchas aplicaciones cliente compatiblescon este protocolo. En resumen, tenemos muchas opciones al momento de escoger uncliente de mensajera interna.

    XMPP es un protocolo probado, abierto, extensible, generalmente aceptado, seguro ybasado en XML. Estas son algunas de las razones por las que fue escogido para formarparte de Elastix.

    No es el objetivo de este libro explicar el protocolo XMPP. Sin embargo, es

    recomendable conocer un poco ms de l por lo que dejamos al lector con algunosvnculos interesantes.

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    40/220

    40

    http://www.jabber.org Sitio Web oficial del protocolo XMPP http://en.wikipedia.org/wiki/Jabber Pgina de Jabber en Wikipedia http://www.jabberes.org Sitio Web en espaol

    19.2 Openfire

    Openfire es un completo sistema de mensajera instantnea que nos permite disponer deun servicio de mensajera instantnea rico en caractersticas como transferencia dearchivos, mensajes broadcast, integracin con telefona, integracin con otrosgatewaysIM, entre otras.

    Openfire se encuentra escrito en Java y su funcionalidad puede ser extendida en base a

    plugins, los cuales pueden ser descargados del sitio Web del fabricante(www.igniterealtime.org). Adems cuenta con una amigable interfase Web deadministracin que nos permite realizar las tareas administrativas de una maneraintuitiva.

    Caractersticas destacables

    A continuacin algunas de las caractersticas ms interesantes.

    Interfase amigable de administracin Web Funcionalidad expandible a travs deplugins Posibilidad de integracin con Asterisk Interaccin con otras redes de mensajera instantnea como Gtalk, Yahoo

    Messenger, ICQ, entre otros

    Soporte para mensajes broadcast Transferencia de archivos Puede guardar histrico de conversaciones Soporte para clustering Los usuarios pueden ser obtenidos de una base de datos LDAP Permite crear diferentes grupos de trabajo

    19.3 Usando Openfire en Elastix

    Openfire viene por omisin desactivado en Elastix. Esto se hace as debido a que si el

    usuario no lo necesita activar explcitamente es preferible que quede apagado para queno consuma recursos innecesariamente.

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    41/220

    41

    Activacin de Openfire

    Si lo queremos activar debemos dar clic en el vnculo que se muestra en la siguientefigura.

    Pantalla de activacin de Openfire

    Lo primero que veremos es una pantalla donde se nos pide escoger un idioma.

    Pantalla de seleccin de idioma en configurador de Openfire

    Luego debemos especificar el nombre de dominio del servidor. Esto debera ser lomismo que se configur en los parmetros de red.

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    42/220

    42

    Configuracin de nombre de dominio en el configurador de Openfire

    A continuacin escogemos la base de datos donde Openfire almacenar la configuraciny la informacin que debe ir almacenando conforme su funcionamiento. Podemos usarun motor de base de datos Standard (Ej. MySQL) o podemos usar una base de datosembebida que trae Openfire y que nos facilita las tareas de configuracin si es que novemos ninguna ventaja en usar un motor Standard.

    En la mayora de los casos es conveniente elegir la base de datos embebida.

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    43/220

    43

    A continuacin configuramos dnde se almacenarn los usuarios de Openfire. Unaopcin muy interesante aqu es el soporte LDAP.

    Configuracin del sistema de almacenamiento de usuarios de Openfire

    Para terminar configuramos la cuenta de administracin de Openfire. Con esta cuenta

    podremos ingresar a la interfaz Web de Openfire y administrar sus parmetros defuncionamiento.

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    44/220

    44

    Configuracin de cuenta de administrador

    Interfaz Web de administracin de Openfire

    Una vez activado Openfire ya podemos ingresar a la interfase de administracin, crearalgunos usuarios y comenzar a usar mensajera instantnea en Elastix. Lo primero queharemos ser ingresar a la interfase como administrador usando la clave configurada

    previamente.

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    45/220

    45

    Ingreso a la consola de administracin de Openfire

    Una vez dentro lo primero que veremos ser una pantalla similar a la siguiente.

    Pantalla inicial en la interfase Web de administracin de Openfire

    Casi lo primero que querremos hacer ser crear un nuevo usuario de mensajerainstantnea. Esto lo podemos hacer en el men Users/Groups -> Create New User.Los parmetros a ingresar son bastante intuitivos y se muestra un ejemplo en lasiguiente figura.

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    46/220

    46

    Creando un nuevo usuario de mensajera instantnea

    Una vez creado el usuario ya ste se puede registrar desde su cliente de IM.

    Integracin de Openfire con Asterisk

    Openfire cuenta con unplugin que nos permite integracin con Asterisk.

    Gracias a esteplugin podemos efectuar algunas tareas de interaccin telefnica desde elcliente de mensajera como por ejemplo generar una llamada, ser notificado cuando una

    llamada llega al telfono o incluso poder ver si otro contacto se encuentra en medio deuna llamada telefnica. Es por esto que el cliente de mensajera no puede ser cualquiera

    para que la integracin sea visible por el usuario. Elplug-in funciona con el software demensajera llamado Spark, el cual tambin puede ser descargado gratuitamente desde elsitio Web de Openfire.

    El plugin para integracin con Asterisk recibe el nombre de Asterisk-IM y suinstalacin es muy sencilla. Nos dirigimos al men Plugins -> Available Plugins ydamos clic sobre el botn verde a la derecha de la fila correspondiente al plugin

    Asterisk-IM. En unos segundos estar activo.

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    47/220

    47

    Instalacin del plugin Asterisk-IM desde la interfase de administracin de Openfire

    Si elplugin se instal correctamente veremos aparecer automticamente un nuevo menllamado Asterisk-IM. Desde aqu podremos configurar la integracin de Openfire conAsterisk.

    Configuracin del plugin Asterisk-IM

    Openfire se integra con Asterisk a travs de AMI. Por lo tanto, antes de configurar elplugin Asterisk-IM debemos haber creado un usuario AMI para este fin, pues en algnmomento de la configuracin vamos a necesitar ingresar estos datos. Recordemos quelos usuarios AMI se crean en el archivo /etc/asterisk/manager.conf.Tambin podramos utilizar el usuario que viene creado por omisin en Elastix. Esdecir, el usuario admin, con clave elastix456

    En todo caso para crear un nuevo usuario AMI podramos agregar las siguientes lneas

    al manager.conf

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    48/220

    48

    Bueno, dicho lo anterior, iniciemos la configuracin del plugin. Comencemos porhabilitar elplugin seleccionando la opcin Enabled.

    En la seccin Configure Phone Manager encontraremos algunos campos paraconfigurar. No es necesario llenarlos todos, sin embargo es importante llenar el campoAsterisk Context con la palabra default. Este campo indica el contexto desde el cualse generarn las llamadas telefnicas desde el cliente de mensajera instantnea.

    Hasta ahora nuestra configuracin debe estar como la mostrada en la siguiente figura.

    Avance de la configuracin delplugin Asterisk-IM

    Ahora damos clic donde dice Add Server para aadir a nuestro servidor Asterisk.

    Aqu es donde ingresamos los datos de la cuenta AMI de la que hablamosanteriormente, es decir usuario y clave.

    El parmetro Port debe llenarse con 5038, el cual es el puerto AMI por omisin.Supongo que se acordaban, verdad?. En Server Name podemos poner cualquiernombre que nos sirva para recordar al servidor y los dems parmetros son algo obvios.

    [openfire]

    secret = clavesecreta

    displayconnects = yes

    read = system,call,log,verbose,agent,user,config,dtmf

    write = system,call,agent,user,config,command

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    49/220

    49

    Configuracin de servidor AMI

    Finalmente tendremos nuestra configuracin debe lucir parecida a esta:

    Final de la configuracin general delplugin Asterisk-IM

    Bueno, hemos terminado de realizar la configuracin general del plugin pero nuestrotrabajo no ha terminado aqu, no no. Aun debemos mapear o relacionar los usuarios deOpenfire con las extensiones telefnicas creadas en Elastix.

    Esto es lgico porque no existe manera de que Openfire sepa qu usuario de mensajerainstantnea usa una extensin telefnica determinada. Por esto se lo debemos decirexplcitamente en el men Asterisk IM -> Phone Mappings.

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    50/220

    50

    Mapeo de usuarios de Openfire a extensiones de telefona

    Listo, una vez mapeadas las cuentas necesarias ya tendremos mensajera instantneaintegrada con telefona!

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    51/220

    51

    Fax en Elastix

    El aspecto ms triste de la vida actual es que la ciencia gana en

    conocimiento ms rpidamente que la sociedad en sabidura

    -- Isaac Asimov

    20.1 Hylafax e IAXModem

    Elastix usa una particular combinacin de software para el manejo de documentos defax. En esta combinacin hay dos paquetes de software que destacan como Hylafax eIAXModem. Los dos interactan entre s de tal manera que Asterisk puede recibir undocumento de FAX y enviarlo a una extensin IAX virtual donde reside IAXModem,

    quien a su vez lo remite a Hylafax quien finalmente convierte el audio correspondienteal FAX en una imagen.

    Elastix aade a esta combinacin una intuitiva interfase Web de administracin dondees posible configurar la caracterstica fax2email que nos permite que los documentos defax lleguen a direcciones de correo electrnico en formato PDF.

    Hylafax

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    52/220

    52

    Hylafax es un popular servidor de fax que funciona sobre Linux. Segn su propio sitioWeb HylaFAX is an enterprise-class system for sending and receiving facsimiles aswell as for sending alpha-numeric pages.

    Con Hylafax podemos recibir un alto volumen de documentos de fax sin problemas.

    La arquitectura del software es cliente-servidor. Es decir que Hylafax abre un puerto dered por donde escucha peticiones de clientes. Estos clientes pueden residir en mquinasremotas desde donde pueden enviar faxes. Suena bien no?

    Quiere decir que desde un lugar remoto me puedo conectar a mi servidor Elastix yenviar como fax un documento de texto, PDF, imagen, etc, desde una aplicacin cliente.

    Hay algunas aplicaciones cliente interesantes entre ellas se encuentra Winprint HylaFAXque aade soporte para enviar faxes a travs del cuadro de dilogo de impresin queusan las aplicaciones Windows. De esta manera enviar un fax es tan sencillo comoimprimir un documento.

    IAXModem

    Debido a que HylaFax se puede comunicar con modems y Asterisk con extensionesIAX, necesitamos algn pegamento para unir ambas cosas y que puedan funcionar

    juntas. Ese pegamento es IAXModem.

    IAXModem es un paquete de software que simula ser una extensin IAX por el lado deAsterisk y por el lado de HylaFax simula ser un modem serial. Es decir que incluso seregistra como una extensin IAX con su respectivo usuario y clave.

    Como es de suponer, este telfono virtual, que simula ser el IAXModem, se ejecuta enel mismo servidor Elastix y por tanto se conectar desde localhost (la direccin IP127.0.0.1). Es fcil verificar si tenemos una extensin IAXModem conectada desde laconsola del CLI pues basta con examinar si existe alguna extensin IAX ejecutndose

    desde localhost.

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    53/220

    53

    De la salida anterior podramos concluir que las extensiones 620 y 662 son extensionesde FAX manejadas por IAXModem.

    20.2 Configuracin de Fax en la interfase

    Web de Elastix

    Listado de Fax Virtual

    La opcin Listado de Fax Virtual del Men FAX del Elastix nos permite verificar ellistado de todos los faxes virtuales, donde se muestra el estado de cada uno.

    Listado de faxes virtuales

    Adems al dar clic sobre el nombre del fax virtual podemos ver los datos del mismo:

    elastix*CLI> iax2 show peers

    Name/Username Host Mask Port Status

    620 127.0.0.1 (D) 255.255.255.255 40001 OK (2 ms)

    660 (Unspecified) (D) 255.255.255.255 0 UNKNOWN

    661 192.168.1.136 (D) 255.255.255.255 4569 OK (2 ms)

    662 127.0.0.1 (D) 255.255.255.255 40000 OK (3 ms)709 (Unspecified) (D) 255.255.255.255 0 UNKNOWN

    712 192.168.1.126 (D) 255.255.255.255 4569 OK (5 ms)

    7214 (Unspecified) (D) 255.255.255.255 0 UNKNOWN

    7213 (Unspecified) (D) 255.255.255.255 0 UNKNOWN

    723 (Unspecified) (D) 255.255.255.255 0 UNKNOWN

    869 (Unspecified) (D) 255.255.255.255 0 UNKNOWN

    966 (Unspecified) (D) 255.255.255.255 0 OK (9 ms)

    964 (Unspecified) (D) 255.255.255.255 0 UNKNOWN

    863 192.168.1.233 (D) 255.255.255.255 4569 OK (9 ms)

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    54/220

    54

    Visualizacin de nueva extensin virtual de fax

    En la parte superior se encuentran 2 botones, el primer botn Editar nos permite editarlos datos del fax virtual.

    Y el segundo botn Eliminar nos permite eliminar el fax virtual.

    Si procedemos a editar tendremos lo siguiente:

    Edicin de fax virtual

    Una vez modifiquemos los valores, damos clic sobre el botn Aplicar Cambios paraguardar los cambios o sobre Cancelar para regresar sin guardar.

    Nuevo Fax Virtual

    La opcin Nuevo Fax Virtual del Men FAX del Elastix nos permite crear unnuevo fax virtual. Previamente debe haberse creado la extensin de fax de tipo IAX,

    para mayor informacin acerca de como crear una extensin dirjase a Creacin denueva extensin.

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    55/220

    55

    Formulario de creacin de una nueva extensin de fax virtual

    Para crear un nuevo fax virtual ingrese nombre, email, extensin y clave secreta para elfax virtual, estos son campos requeridos. Adems de esto existen 2 campos adicionalesque son el nombre y nmero del Caller ID. Una vez ingresados estos datos de clic en el

    botn Guardar para ingresar el nuevo fax virtual o Cancelar para salir sin guardar.

    Note que la extensin del fax virtual ser usada para recibir un fax.

    Los datos a ingresar se describen a continuacin:

    Nombre Descripcin

    Nombre de Fax Virtual Nombre para identificar el fax virtual

    Extensin Fax (IAX) Extensin usada como servicio de fax. Estaextensin debe haber sido previamente

    creada como tipo IAX en el mduloExtensiones del Men ConfiguracinPBX

    Email Destino Email al cual se enviarn notificaciones porparte de la central de los faxes recibidos y delos errores en caso de haberlos

    Secreto (IAX) Debe ser la misma que la ingresada al crearla extensin de fax en el men deConfiguracin PBX

    Nombre Caller ID El nombre de quien llama. Este campo no es

    obligatorio, si no se llena quien reciba un faxde esta extensin no podr ver el nombre

    Nmero Caller ID Nmero de quien llama. Al igual que elanterior no es obligatorio, y si no se llenaquien reciba el fax no podr ver el nmero.

    Fax Master

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    56/220

    56

    La opcin Fax Master del Men FAX del Elastix nos permite ingresar la direccinde email del administrador del Fax al cual le llegarn las notificaciones de los mensajesrecibidos, errores y la actividad del Servidor de Fax.

    Configuracin del Fax Master

    Proceda a ingresar el email del administrador de fax y luego de clic en el botn AplicarCambios.

    Clientes de Fax

    La opcin Clientes de Fax del Men FAX del Elastix nos permite ingresar las IPsque tendrn permiso para enviar faxes por medio de Elastix.

    Configuracin de IPs de clientes de fax

    Proceda a ingresar las IPs, una IP por fila y luego de clic en el botn Aplicar

    Cambios.

    Se recomienda ingresar la IP 127.0.0.1 y localhost en la configuracin debido a quealgunos procesos pueden necesitarlas.

    Visor de Fax

    La opcin Visor de Fax del Men Fax del Elastix nos permite visualizar un listado

    con el detalle de las faxes recibidos.

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    57/220

    57

    Visor de faxes. Si se da clic en alguno se lo visualiza en formato PDF.

    Adems tenemos la opcin de descargar el fax en formato PDF, dando clic sobre elarchivo deseado de la lista de faxes recibidos.

    Nombre Descripcin

    Nombre de Compaa Nombre de la compaa que enva el fax

    Fax de Compaa Nmero de Fax de la compaa que envael fax

    Fecha de Fax Fecha de envo del fax

    20.3 Enviando un FAX desde una estacin de

    trabajo

    Una gran ventaja del esquema de FAX de Elastix es que permitir a los usuarios enviardocumentos de FAX desde la misma computadora, eliminando la necesidad de imprimirel documento y pasarlo a travs de la maquinita de FAX.

    Lo anterior es posible hacerlo incluso desde la misma aplicacin en la que se genera eldocumento, como el software de procesador de texto u hoja de clculo. Para estousaremos un programa que simular ser una impresora. Es decir que podemos enviar aimprimir a esta impresora virtual cualquier documento y este en lugar de imprimirse seenviar por FAX. Sin duda esto aadir comodidad a los usuarios y nos proporcionarun inherente ahorro de papel que siempre viene bien.

    Veamos qu hacer para estaciones de trabajo con sistema operativo Windows que puedeser el caso ms comn.

    Lo primero que debemos hacer es descargar el software llamado WinPrint HylaFAX yesto lo podemos hacer desde la pgina del proyecto ubicada enhttp://winprinthylafax.sourceforge.net

    Configurar WinPrint HylaFAX es una tarea que podramos dividir en dos partes. La

    primera es aadir una nueva impresora y la segunda es configurar los parmetros delservidor HylaFAX.

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    58/220

    58

    Comencemos por aadir la nueva impresora. Para esto debemos seguir una serie depasos que se relatan a continuacin.

    1) Debemos ir al panel de control y aadir una nueva impresora. En el primer cuadro dedilogo hay que escoger que se trata de una impresora local pero des-seleccionar dondedice que se detecte la impresora con plug-n-play ya que no se trata de una impresorareal.

    2) Luego aparecer una nueva ventana que nos preguntar a qu puerto se encuentraconectada la impresora y debemos crear un nuevo puerto del tipo Winprint Hylafax

    Configurando WinPrint HylaFAX

    3) A continuacin se nos preguntar el nombre del puerto. Podemos poner cualquieridentificador aqu pero el nombre por omisin est bien.

    4) Una ventana aparecer pidindonos especificar el tipo de impresora. Podemosescoger aqu cualquier impresora Postscript. El fabricante recomienda escoger AppleLaserWriter 12/640 PS

    5) El resto de pasos son triviales y terminaremos con la configuracin de la nuevaimpresora. Lo nico importante es no elegir compartir esta impresora pues ya sabemosque no se trata de una impresora.

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    59/220

    59

    Hemos terminado con la primera parte, ahora configuremos los parmetros del servidorHylaFAX que reside en nuestro Elastix.

    1) En el panel de control damos clic derecho en la impresora que acabamos de crear yescogemos Propiedades. All nos aparecer una ventana con varias pestaas, debemoselegir la que dice Puertos.

    2) En esta nueva ventana debemos configurar el puerto que aparece sealado poromisin. Aparecer un cuadro de dilogo donde debemos ingresar los datos de nuestroservidor HylaFAX. Debemos configurar aqu la direccin IP de nuestro servidor Elastix.

    Configuracin de los parmetros del servidor HylaFAX

    3) No debemos olvidar que para que HylaFAX permita a este computador enviar un

    FAX el IP del computador debe estar autorizada por HylaFAX y esto lo podemosconfigurar desde la interfase Web del Elastix en el men FAX -> Clientes de FAX.Ya vimos cmo configurar esto antes, en este mismo captulo.

    Finalmente nos encontramos listos para enviar un FAX desde cualquier aplicacin comosi enviramos el documento a imprimir. Al enviar el trabajo a la impresora virtual nosaparecer un cuadro de dialogo donde debemos ingresar el nmero de telfono al quequeremos enviar el FAX.

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    60/220

    60

    20.4 Procesamiento interno de un documento

    de FAX en Elastix

    Algunas cosas interesantes suceden internamente en Elastix desde el momento en quellega una transmisin de FAX. El esquema de manejo de FAX en Elastix ha demostradoser una solucin robusta y escalable pero que involucra algunos componentes y esimportante conocer como se relacionan entre s.

    Desde el momento en que un usuario marca a nuestro Elastix con la intencin deenviarnos un FAX sucede ms o menos lo siguiente.

    1) Asterisk contesta como su fuera una llamada normal y el usuario selecciona laextensin de FAX

    2) El usuario sin saberlo est marcando una extensin IAX controlada por elsoftware IAXmodem que simula ser un telfono IAX y contesta la llamada

    3) IAXmodem mantiene la llamada y todo el stream de FAX lo escribe en undispositivo virtual ubicado en /var/spool/hylafax/FIFO.tty* que simula ser unMODEM

    4) Por otro lado Hylafax se encuentra escuchando el mismo dispositivo pensandoque en realidad se trata de un MODEM y de esta manera recibe la seal de FAX

    5) Internamente Hylafax transforma estestream a un formato humanamente legiblellamado PostScript

    6) Este archivo PostScript es pasado a una aplicacin que llamaremos EmailerScriptquien a su vez transforma este archivo a un formato ms legible, como elformato PDF. Luego construye un mensaje de correo electrnico y enva el PDFadjunto.

    Antes de enviar el email elEmailer Scriptconsulta una base de datos interna de Elastixpara recabar informacin del cuerpo del mensaje y el destinatario del email ya que comorecordaremos esto fue configurado desde la interfase Web y fue almacenado en esta

    base de datos interna.

    Para hacer ms grfico el procesamiento interno del FAX observemos la siguientefigura.

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    61/220

    61

    Comunicacin entre los componentes del sistema de FAX en Elastix

    20.5 Protocolo T.38

    Si vamos a trabajar con tecnologas de FAX en algn momento nos toparemos con eltrmino T.38. El protocolo T.38 es un protocolo recomendado por la ITU que sirve paratransportar FAX sobre redes IP.

    Si nos ponemos a pensar, una manera de transportar fax sobre redes IP sera transportarla seal de FAX como si fuera audio o voz a travs de los protocolos de Voz sobre IP yaexistentes en la actualidad, y en efecto esta es una manera de hacerlo. Sin embargo, estano es la manera ms adecuada en algunos casos pues, a diferencia de la voz, el FAX esmucho ms sensible a errores de transmisin y por ejemplo una red con un nivel de

    prdida de paquetes que pueda sonar aceptable para la transmisin de voz es probableque resulte en inaceptable para la transmisin de FAX pues el documento podra llegarilegible o simplemente no llegar.

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    62/220

    62

    El protocolo T.38 es quien resuelve estos problemas usando algunas tcnicasinteresantes como la redundancia de paquetes. Es decir que por cada paquete enviado atravs de la red es probable que se enven algunas copias por si alguno se pierde en elcamino.

    No entraremos en ms detalles acerca de T.38 sino ms bien nos dedicaremos a explicarel soporte actual que existe de T.38 en Asterisk ya que es un tema frecuente dediscusin. En caso de que el lector sienta curiosidad por conocer ms detalles de este

    protocolo le recomendamos visitar http://en.wikipedia.org/wiki/T.38

    A partir de Asterisk 1.4 se introdujo soporte limitado para el protocolo T.38. Decimoslimitado porque Asterisk no es capaz de terminar una transmisin T.38, es ms no estaen capacidad de entender el protocolo. Lo nico que puede hacer Asterisk con T.38 es

    pasar la comunicacin de un lado a otro. O sea que T.38 puede pasar a travs deAsterisk y a esta modalidad de funcionamiento se le llamapassthrough.

    En su versin 1.6, Asterisk aadir ms soporte para T.38 y estar en la capacidad deentender el protocolo un poco ms y por lo tanto hacer algunas cosas interesantes. Sinembargo el soporte no ser completo aun.

    Para aquellos que requieren soporte T.38 y no pueden esperar a nuevas versiones deAsterisk les dejamos con la noticia de que existen soluciones comerciales para aadirsoporte T.38 como la ofrecida por la empresa http://www.attractel.com

    20.6 AvantFAX, un GUI alternativo

    Muchas sugerencias han existido en los foros de Elastix acerca de soportar AvantFAXen la distro. AvantFAX nos ofrece una interfase Web para administrar faxes usandoHylaFAX.

    En busca de una solucin recientemente hemos lanzado un instalador RPM de

    AvantFAX que puede ser descargado del repositorio de Extras de Elastix.

    Para ms informacin de AvantFAX visite http://www.avantfax.com

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    63/220

    63

    Sintetizacin y reconocimiento

    de voz

    Si he logrado ver ms lejos, ha sido porque he subido a hombros de

    gigantes-- Isaac Newton

    Las tecnologas de sintetizacin y reconocimiento de voz han sido ideas algo futuristashasta hace relativamente poco tiempo. En la actualidad es posible usar estas tecnologasen la prctica con resultados muy interesantes.

    En Elastix se puede habilitar el soporte para ambos conceptos permitindonos con esto

    obtener un Servidor de Comunicaciones de vanguardia.

    21.1 Sintetizacin de voz

    Sintetizacin de voz es la tecnologa que permite convertir el texto a audio. Tambin seconoce como TTS debido al trmino Text-To-Speech (texto-a-habla en ingls).

    Auque parezca inslito su historia se remonta a algunos siglos atrs cuando se intent

    sintetizar voz mecnicamente con aparatos que simulaban el aparato vocal humano. Enese entonces no fueron ms que juguetes. Ya en la dcada de los 30 laboratorios Bell

  • 7/18/2019 Comunicaciones Unificadas Con Elastix Vol2

    64/220

    64

    desarrollaron el famoso VOCODER, que era al mismo tiempo un aparato dereconocimiento de voz que utilizaba electrnica y que poda producir sonido inteligible.Su finalidad original era la de reconocer voz para luego poder transmitirla de maneracodificada por un medio y sintetizarla en el otro extremo.

    El uso de la computacin de all en adelante hizo que fuera posible desarrollartecnologa de sintetizacin de voz que fuera prctica y que pudiera estar al alcance decualquiera que pudiera pagar