Enviar búsqueda
Cargar
Elastix slide book-uect
•
1 recomendación
•
531 vistas
enriquetcampos.org
Seguir
ELASTIX ECE
Leer menos
Leer más
Internet
Denunciar
Compartir
Denunciar
Compartir
1 de 73
Descargar ahora
Descargar para leer sin conexión
Recomendados
Temario y pesos elx1 o1
Temario y pesos elx1 o1
enriquetcampos.org
Elx1 o1 sistemas de telefonia
Elx1 o1 sistemas de telefonia
enriquetcampos.org
Elastix slide book-uect(1)
Elastix slide book-uect(1)
enriquetcampos.org
Configuración básica asterisk sixbell - v2.0
Configuración básica asterisk sixbell - v2.0
Sebastian Cisternas Arenas
Manual instalación e implementación de Elastix
Manual instalación e implementación de Elastix
camilaml
pfSense Platform Binnaris 2014
pfSense Platform Binnaris 2014
Patricio Ghirardi
Linux
Linux
lna_kdns
Configuración de escenarios reales con asterisk
Configuración de escenarios reales con asterisk
Diego Llanes
Recomendados
Temario y pesos elx1 o1
Temario y pesos elx1 o1
enriquetcampos.org
Elx1 o1 sistemas de telefonia
Elx1 o1 sistemas de telefonia
enriquetcampos.org
Elastix slide book-uect(1)
Elastix slide book-uect(1)
enriquetcampos.org
Configuración básica asterisk sixbell - v2.0
Configuración básica asterisk sixbell - v2.0
Sebastian Cisternas Arenas
Manual instalación e implementación de Elastix
Manual instalación e implementación de Elastix
camilaml
pfSense Platform Binnaris 2014
pfSense Platform Binnaris 2014
Patricio Ghirardi
Linux
Linux
lna_kdns
Configuración de escenarios reales con asterisk
Configuración de escenarios reales con asterisk
Diego Llanes
Práctica VOIP
Práctica VOIP
Rodrigo CheGüe Escalante
Protocolos unix-netware
Protocolos unix-netware
Luis Asencio
Proyecto final
Proyecto final
moisesmo19
Pfsense
Pfsense
Terrafx9
Actividad vi tiposdeprotocolos
Actividad vi tiposdeprotocolos
Jofre Mamani
Protocolos unix, net ware, microsoft y macintosh
Protocolos unix, net ware, microsoft y macintosh
Larry Ruiz Barcayola
4. Protocolos UNIX, NETWARE, MACINTOSH y MICROSOFT (Características, Funciones)
4. Protocolos UNIX, NETWARE, MACINTOSH y MICROSOFT (Características, Funciones)
wilber147
Protocolo TCP/IP en Linux
Protocolo TCP/IP en Linux
Freddy Hugo Estupiñan Batalla
Protocolos gnu linux
Protocolos gnu linux
Universidad de las Americas Udla Ka_Ivan
Protocolos unix net ware macintosh y microsoft
Protocolos unix net ware macintosh y microsoft
cesartg65
Mikrotik RouterOs basics v0.3
Mikrotik RouterOs basics v0.3
Rod Hinojosa
Manual De Instalacion De Asterisk
Manual De Instalacion De Asterisk
Cesar Pineda
Protocolos de redes TCP/IP
Protocolos de redes TCP/IP
janethmeche
Pfsense
Pfsense
Noel Ramirez Santiago
Pfsense
Pfsense
000ari2014
Nat y DHCP Mantenimiento
Nat y DHCP Mantenimiento
Soluciones informáticas Moriah PC
Herramientas de colaboración digital
Herramientas de colaboración digital
lefuente
Protocolos de internet
Protocolos de internet
VIVIANA ISABEL MORÁN ANDRADEZ
Taller: Mi primer Firewall
Taller: Mi primer Firewall
Gabriel Orozco
GUÍA REDES DE COMPUTADORAS Y SISTEMAS DISTRIBUIDOS II CONFIGURACIÓN GRAFICA D...
GUÍA REDES DE COMPUTADORAS Y SISTEMAS DISTRIBUIDOS II CONFIGURACIÓN GRAFICA D...
Luis Espinel Fuentes
Instrucciones examen elx1 o1
Instrucciones examen elx1 o1
enriquetcampos.org
Lesson 4-website-traffic-blog cashprofits
Lesson 4-website-traffic-blog cashprofits
Daniel parker
Más contenido relacionado
La actualidad más candente
Práctica VOIP
Práctica VOIP
Rodrigo CheGüe Escalante
Protocolos unix-netware
Protocolos unix-netware
Luis Asencio
Proyecto final
Proyecto final
moisesmo19
Pfsense
Pfsense
Terrafx9
Actividad vi tiposdeprotocolos
Actividad vi tiposdeprotocolos
Jofre Mamani
Protocolos unix, net ware, microsoft y macintosh
Protocolos unix, net ware, microsoft y macintosh
Larry Ruiz Barcayola
4. Protocolos UNIX, NETWARE, MACINTOSH y MICROSOFT (Características, Funciones)
4. Protocolos UNIX, NETWARE, MACINTOSH y MICROSOFT (Características, Funciones)
wilber147
Protocolo TCP/IP en Linux
Protocolo TCP/IP en Linux
Freddy Hugo Estupiñan Batalla
Protocolos gnu linux
Protocolos gnu linux
Universidad de las Americas Udla Ka_Ivan
Protocolos unix net ware macintosh y microsoft
Protocolos unix net ware macintosh y microsoft
cesartg65
Mikrotik RouterOs basics v0.3
Mikrotik RouterOs basics v0.3
Rod Hinojosa
Manual De Instalacion De Asterisk
Manual De Instalacion De Asterisk
Cesar Pineda
Protocolos de redes TCP/IP
Protocolos de redes TCP/IP
janethmeche
Pfsense
Pfsense
Noel Ramirez Santiago
Pfsense
Pfsense
000ari2014
Nat y DHCP Mantenimiento
Nat y DHCP Mantenimiento
Soluciones informáticas Moriah PC
Herramientas de colaboración digital
Herramientas de colaboración digital
lefuente
Protocolos de internet
Protocolos de internet
VIVIANA ISABEL MORÁN ANDRADEZ
Taller: Mi primer Firewall
Taller: Mi primer Firewall
Gabriel Orozco
GUÍA REDES DE COMPUTADORAS Y SISTEMAS DISTRIBUIDOS II CONFIGURACIÓN GRAFICA D...
GUÍA REDES DE COMPUTADORAS Y SISTEMAS DISTRIBUIDOS II CONFIGURACIÓN GRAFICA D...
Luis Espinel Fuentes
La actualidad más candente
(20)
Práctica VOIP
Práctica VOIP
Protocolos unix-netware
Protocolos unix-netware
Proyecto final
Proyecto final
Pfsense
Pfsense
Actividad vi tiposdeprotocolos
Actividad vi tiposdeprotocolos
Protocolos unix, net ware, microsoft y macintosh
Protocolos unix, net ware, microsoft y macintosh
4. Protocolos UNIX, NETWARE, MACINTOSH y MICROSOFT (Características, Funciones)
4. Protocolos UNIX, NETWARE, MACINTOSH y MICROSOFT (Características, Funciones)
Protocolo TCP/IP en Linux
Protocolo TCP/IP en Linux
Protocolos gnu linux
Protocolos gnu linux
Protocolos unix net ware macintosh y microsoft
Protocolos unix net ware macintosh y microsoft
Mikrotik RouterOs basics v0.3
Mikrotik RouterOs basics v0.3
Manual De Instalacion De Asterisk
Manual De Instalacion De Asterisk
Protocolos de redes TCP/IP
Protocolos de redes TCP/IP
Pfsense
Pfsense
Pfsense
Pfsense
Nat y DHCP Mantenimiento
Nat y DHCP Mantenimiento
Herramientas de colaboración digital
Herramientas de colaboración digital
Protocolos de internet
Protocolos de internet
Taller: Mi primer Firewall
Taller: Mi primer Firewall
GUÍA REDES DE COMPUTADORAS Y SISTEMAS DISTRIBUIDOS II CONFIGURACIÓN GRAFICA D...
GUÍA REDES DE COMPUTADORAS Y SISTEMAS DISTRIBUIDOS II CONFIGURACIÓN GRAFICA D...
Destacado
Instrucciones examen elx1 o1
Instrucciones examen elx1 o1
enriquetcampos.org
Lesson 4-website-traffic-blog cashprofits
Lesson 4-website-traffic-blog cashprofits
Daniel parker
Conociendo más de elastix 101
Conociendo más de elastix 101
enriquetcampos.org
Módulo de Alta Disponibilidad de Elastix
Módulo de Alta Disponibilidad de Elastix
PaloSanto Solutions
Real integración de una Cámara IP a Elastix
Real integración de una Cámara IP a Elastix
PaloSanto Solutions
Libro diapositivas-elx101
Libro diapositivas-elx101
enriquetcampos.org
Elastix slide book-ect
Elastix slide book-ect
enriquetcampos.org
Elastix: lo que viene
Elastix: lo que viene
PaloSanto Solutions
Presentando a elastix 4.0
Presentando a elastix 4.0
Carlos Antonio Leal Saballos
Elastix MT al descubierto Alfio Muñoz, Alteknativa
Elastix MT al descubierto Alfio Muñoz, Alteknativa
Elastix México
Elx1 o1 redes tcp ip
Elx1 o1 redes tcp ip
enriquetcampos.org
Destacado
(11)
Instrucciones examen elx1 o1
Instrucciones examen elx1 o1
Lesson 4-website-traffic-blog cashprofits
Lesson 4-website-traffic-blog cashprofits
Conociendo más de elastix 101
Conociendo más de elastix 101
Módulo de Alta Disponibilidad de Elastix
Módulo de Alta Disponibilidad de Elastix
Real integración de una Cámara IP a Elastix
Real integración de una Cámara IP a Elastix
Libro diapositivas-elx101
Libro diapositivas-elx101
Elastix slide book-ect
Elastix slide book-ect
Elastix: lo que viene
Elastix: lo que viene
Presentando a elastix 4.0
Presentando a elastix 4.0
Elastix MT al descubierto Alfio Muñoz, Alteknativa
Elastix MT al descubierto Alfio Muñoz, Alteknativa
Elx1 o1 redes tcp ip
Elx1 o1 redes tcp ip
Similar a Elastix slide book-uect
Marco teorico
Marco teorico
Angel Mendoza
Software de VOIP
Software de VOIP
Andres Alvarez
Didactica de la Especialidad
Didactica de la Especialidad
Yusmary Sevilla
Sistemas operativos
Sistemas operativos
JuliethPaez
Herramientas de la web social
Herramientas de la web social
maria pablos
Exploration network chapter3
Exploration network chapter3
Edgar Benavente
Manuel santiagojosea.ac1u1 daw
Manuel santiagojosea.ac1u1 daw
fanyto
Empresa
Empresa
Paco Rose Cobain
Diccionario 1
Diccionario 1
castlellanos
Portafolio de diseño digital 4 tito villao o
Portafolio de diseño digital 4 tito villao o
Tito Villao
Elastix Rosario 2009
Elastix Rosario 2009
INTELIX INGENIERIA - Rosario Argentina
Portafolio diseño digital Priimer bimestre
Portafolio diseño digital Priimer bimestre
Carolina Alcivar
Jorge Mena
Jorge Mena
mallita
Diccionario informático
Diccionario informático
DexyMilena Basto
Protocolos de las capas sesion,presentacion y aplicacion
Protocolos de las capas sesion,presentacion y aplicacion
Eduardo J Onofre
Servidores
Servidores
Yazmin1504
Servidores
Servidores
Yazmin1504
Servidores
Servidores
veronica_7
Servidores
Servidores
veronica_7
Servidores
Servidores
veronica_7
Similar a Elastix slide book-uect
(20)
Marco teorico
Marco teorico
Software de VOIP
Software de VOIP
Didactica de la Especialidad
Didactica de la Especialidad
Sistemas operativos
Sistemas operativos
Herramientas de la web social
Herramientas de la web social
Exploration network chapter3
Exploration network chapter3
Manuel santiagojosea.ac1u1 daw
Manuel santiagojosea.ac1u1 daw
Empresa
Empresa
Diccionario 1
Diccionario 1
Portafolio de diseño digital 4 tito villao o
Portafolio de diseño digital 4 tito villao o
Elastix Rosario 2009
Elastix Rosario 2009
Portafolio diseño digital Priimer bimestre
Portafolio diseño digital Priimer bimestre
Jorge Mena
Jorge Mena
Diccionario informático
Diccionario informático
Protocolos de las capas sesion,presentacion y aplicacion
Protocolos de las capas sesion,presentacion y aplicacion
Servidores
Servidores
Servidores
Servidores
Servidores
Servidores
Servidores
Servidores
Servidores
Servidores
Más de enriquetcampos.org
Elastix 1 o1 introduccion
Elastix 1 o1 introduccion
enriquetcampos.org
Sistemas de telefonía elx1 o1elastix
Sistemas de telefonía elx1 o1elastix
enriquetcampos.org
Seguridad en implementaciones de voz sobre ip paper
Seguridad en implementaciones de voz sobre ip paper
enriquetcampos.org
Introducción a las redes tcp
Introducción a las redes tcp
enriquetcampos.org
Extensiones vs extensiones
Extensiones vs extensiones
enriquetcampos.org
Instructivo de putty elx1 o1
Instructivo de putty elx1 o1
enriquetcampos.org
Instrucciones al alumno elx1 o1 elastix
Instrucciones al alumno elx1 o1 elastix
enriquetcampos.org
Elx1 o1 lab1-instalacion de elastix
Elx1 o1 lab1-instalacion de elastix
enriquetcampos.org
Elastix lab ece-book-esp(1)
Elastix lab ece-book-esp(1)
enriquetcampos.org
Elastix slide book-ect(1)
Elastix slide book-ect(1)
enriquetcampos.org
Elastix slide book-ece
Elastix slide book-ece
enriquetcampos.org
Elastix lab uece-book-esp
Elastix lab uece-book-esp
enriquetcampos.org
Elastix lab ect-book-esp
Elastix lab ect-book-esp
enriquetcampos.org
Elastix lab ece-book-esp(2)
Elastix lab ece-book-esp(2)
enriquetcampos.org
Elastix lab ece-book-esp
Elastix lab ece-book-esp
enriquetcampos.org
Más de enriquetcampos.org
(15)
Elastix 1 o1 introduccion
Elastix 1 o1 introduccion
Sistemas de telefonía elx1 o1elastix
Sistemas de telefonía elx1 o1elastix
Seguridad en implementaciones de voz sobre ip paper
Seguridad en implementaciones de voz sobre ip paper
Introducción a las redes tcp
Introducción a las redes tcp
Extensiones vs extensiones
Extensiones vs extensiones
Instructivo de putty elx1 o1
Instructivo de putty elx1 o1
Instrucciones al alumno elx1 o1 elastix
Instrucciones al alumno elx1 o1 elastix
Elx1 o1 lab1-instalacion de elastix
Elx1 o1 lab1-instalacion de elastix
Elastix lab ece-book-esp(1)
Elastix lab ece-book-esp(1)
Elastix slide book-ect(1)
Elastix slide book-ect(1)
Elastix slide book-ece
Elastix slide book-ece
Elastix lab uece-book-esp
Elastix lab uece-book-esp
Elastix lab ect-book-esp
Elastix lab ect-book-esp
Elastix lab ece-book-esp(2)
Elastix lab ece-book-esp(2)
Elastix lab ece-book-esp
Elastix lab ece-book-esp
Último
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
danielaerazok
COMOGANARAMIGODPARACRISTOIGLESIAADVENTISTANECOCLI,COM
COMOGANARAMIGODPARACRISTOIGLESIAADVENTISTANECOCLI,COM
cespitiacardales
12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf
edwinmelgarschlink2
COMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdf
OscarBlas6
Guia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdf
lauradbernals
libro de Ciencias Sociales_6to grado.pdf
libro de Ciencias Sociales_6to grado.pdf
FAUSTODANILOCRUZCAST
Institucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalena
danielaerazok
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
israel garcia
institucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalena
juniorcuellargomez
Buscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la web
Decaunlz
Último
(10)
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
COMOGANARAMIGODPARACRISTOIGLESIAADVENTISTANECOCLI,COM
COMOGANARAMIGODPARACRISTOIGLESIAADVENTISTANECOCLI,COM
12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdf
Guia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdf
libro de Ciencias Sociales_6to grado.pdf
libro de Ciencias Sociales_6to grado.pdf
Institucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalena
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
institucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalena
Buscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la web
Elastix slide book-uect
1.
2.
Capítulo 19 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados MENSAJERÍA INSTANTÁNEA Protocolo XMPP XMPP o Extensible Messaging and Presence Protocol, por sus siglas en inglés, es un protocolo extensible y abierto basado en el estándar XML. Es ampliamente utilizado para el intercambio en tiempo real de mensajes y presencia entre dos puntos en Internet. Existe una gran red de servidores XMPP interconectados entre sí, y a la vez independientes unos de otros. Usuarios de distintos servidores conectados a la red Jabber pueden hablar entre ellos sin ningún problema, ya que cada usuario está conectado a su servidor, y los servidores de estos usuarios se intercambian los mensajes. XMPP es el protocolo seleccionado por Facebook para su chat y por Google para GoogleTalk. Al nivel más básico, si dos contactos tienen cuentas creadas en el mismo servidor XMPP, podrán hablar entre ellos. Características de XMPP Es abierto: El protocolo de XMPP es gratuito, abierto, público y comprensible. Existen múltiples implementaciones de código abierto para Servidores XMPP, asi como numerosos clientes y librerías de desarrollo. 1
3.
Capítulo 19 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados Es extensible: Usando el potencial del lenguaje XML, cualquiera puede extender el protocolo de XMPP para una funcionalidad personalizada. Es seguro: Cualquier servidor XMPP puede ser aislado de la red pública Jabber. Cualquier implementación del servidor usa SSL para las comunicaciones cliente- servidor y numerosos clientes soportan PGP-GPG para encriptar las comunicaciones de cliente a cliente. Es descentralizado: Cualquiera puede montar su propio servidor XMPP, además está libre de patentes y no depende de ninguna empresa de modo que se puede usar siempre con total libertad. Para mantener la interoperabilidad, las extensiones comunes son controladas por la XMMP Standards Foundation. Clientes XMPP Spark: Integrado con el servidor OpenFire y pensado para empresas. Escrito en Java. Libre, gratuito. (Windows, Linux, Mac). Jabbin: Cliente libre desarrollado a partir de Psi (Windows, Linux) No se sigue desarrollando. Bitlbee: Es una pasarela IRC-IM que permite conectar a varios protocolos usando un cliente IRC. Pidgin: (Windows y Linux) soporta además protocolos para msn y yahoo. iChat: cliente incluido en OSX (Mac) Openfire en Elastix Openfire es un sistema de mensajería instantánea de código abierto que permite habilitar servicio de mensajería instantánea interna. Es el servicio de IM utilizado por Elastix por sus características que permiten transferencia de archivos, transmisión de mensajes (broadcast), integración con telefonía, integración con otros gateways, y por supuesto IM. Está escrito en Java y su funcionalidad puede ser extendida con plugins. Openfire viene desactivado por defecto en Elastix. Para instalar Openfire ir al menú “IM” y luego hacer clic en “click aquí”. 2
4.
Capítulo 19 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados El primer paso consiste en seleccionar el idioma Se debe especificar el dominio del sistema, el cuál ya debe estar configurado (Es el mismo dominio del servidor Elastix). 3
5.
Capítulo 19 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados Se debe especificar la configuración de la Base de Datos. Es conveniente elegir la base de datos embebida. En esta pantalla seleccionamos el lugar de datos donde se almacenarán los usuarios. En esta pantalla seleccionamos la contraseña del administrador. 4
6.
Capítulo 19 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados Después del paso anterior culmina la instalación y podemos ingresar a la interfaz administrativa. Una vez en la interfaz administrativa podemos crear usuarios, configurar plugins y grupos. 5
7.
Capítulo 19 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados Una vez que instalamos Openfire tendremos acceso a algunas de las siguientes características de este servicio: Funcionalidad expandible a través de plugins Posibilidad de integración con Asterisk Interacción con otras redes de mensajería instantánea como Gtalk, Yahoo Messenger, ICQ, entre otros Soporte para mensajes broadcast Transferencia de archivos Puede guardar histórico de conversaciones Soporte para clustering Permite crear diferentes grupos de trabajo 6
8.
Capítulo 20 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados SINTETIZACIÓN Y RECONOCIMIENTO DE VOZ Sintetización de voz Es la tecnología que permite convertir el texto a audio. También se conoce como TTS debido al término Text-To-Speech (texto-a-habla en inglés). Actualmente ya existen alternativas de sintetización de voz de relativo bajo costo e inclusive de libre uso como Festival o FreeTTS. Festival es el motor de sintetización por defecto en Elastix. Es necesario activarlo. La técnica de sintetización de voz usada por Festival está dividida en en tres partes: • Análisis de texto.- Normaliza el texto, lo traduce a un formato de palabras estándar. • Análisis lingüístico.- Convierte el texto normalizado en fonemas. • Generación de audio.- Traducción de fonemas a audio. El algoritmo por omisión usado por Festival para la traducción de fonemas a audios es RELP (Residual Excited Linear Prediction) Festival Festival es un sistema de sintetización de voz desarrollado por la Universidad de Edimburgo utilizando lenguaje de programación C++ Festival soporta Inglés Americano, Inglés Británico y Español. 7
9.
Capítulo 20 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados Puede ser utilizado desde Asterisk. Festival puede trabajar como cliente y como servidor. Como cliente puede trabajar en dos modos: línea de comandos y tts (text-to-speech). Festival dentro del plan de marcado Asterisk provee una aplicación de plan de marcado llamada Festival. Esta aplicación funciona internamente conectándose a un servidor Festival a través de la red y reproduciendo la salida de audio en el canal en uso. La sintaxis de la aplicación Festival es la siguiente: text es el texto que se desea sintetizar (y reproducir) intkeys es un parámetro opcional que especifica las teclas telefónicas que pueden interrumpir la ejecución del comando. En este ejemplo si llamamos a la extensión 5333, escucharemos ese mensaje escrito. Festival en Elastix Con festival se puede sintetizar voz desde la interfaz Web de Elastix. Ir a PBX → Tools → Text to Wav. Se puede escribir un texto y generar un en formato wav o gsm. Esta funcionalidad podría servir para crear prompts de voz que podemos usar en el plan de marcado. 8
10.
Capítulo 20 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados Reconocimiento de voz Es el proceso en el que un sistema computacional reconoce lo que un ser humano le dice. El término reconocimiento de voz es muchas veces utilizado para referirse al reconocimiento del habla, como en el caso del sistema telefónico. Una aplicación muy utilizada para sistemas telefónicos IP basados en Asterisk es LUMENVOX. Lumenvox Lumenvox aunque usa algunos de los fundamentos del reconocimiento de voz, es diferente ya que no trata de identificar a individuos. Más bien trata de identificar lo que éste dice. Para esto hace una comparación de las ondas del audio de una persona que llama, con los modelos acústicos de su base de datos. De ahí que sea común encontrarlo en aplicaciones donde una persona que llama completa una orden de voz; Ej: decir la extensión o el nombre de la persona a la que llamamos. Procedimiento Lumenvox El procedimiento completo sería el siguiente: Cargar una lista de palabras para ser reconocidas. El SRH (Sistema de Reconocimiento del Habla) carga el audio del altavoz. Este audio se representa como una forma de onda. El SRH compara la forma de onda con sus propios modelos acústicos (Las bases de datos que contienen información sobre las formas de onda de cada uno de los sonidos) El SRH comparan las palabras en la gramática a los resultados obtenidos a partir de su búsqueda de modelos acústicos. Determina qué palabras en la gramática de audio concuerdan y devuelve un resultado. 9
11.
Capítulo 21 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados DESEMPEÑO & DIMENSIONAMIENTO Desempeño de Elastix El desempeño de un servidor Elastix es un asunto complejo de analizar. Existen muchos parámetros a tomar en cuenta principalmente el desempeño de Asterisk, ya que la comunicación de voz es en tiempo de real. En muchos casos interesa conocer los resultados y recomendaciones principalmente desde el punto de vista de una PBX. Factores que afectan el desempeño de Elastix Hay muchos factores que pueden afectar el desempeño de Elastix de alguna manera. Los más comunes relacionados con la operación de un servidor de comunicaciones unificadas son: Llamadas Concurrentes Transcoding Interrupciones de Hardware Numero de llamadas concurrentes El número de llamadas concurrentes afecta directamente el consumo de CPU del servidor. “Es Muy Importante” El gráfico siguiente tiene pruebas realizadas (sin transcoding) en un computador con un CPU de 2.2 GHz con 512 MB de RAM. Obviamente una prueba teórica siempre supone condiciones ideales, por lo cual el rendimiento debe ser tomado como referencia únicamente. En el computador se usó Elastix 1.3. 10
12.
Capítulo 21 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados CPU vs. Llamadas Concurrentes Uso de CPU Vemos que se han superado las 200 llamadas concurrentes con menos del 50% de CPU. Transcoding En ocasiones una llamada llega con un codec y el punto de destino final utiliza un codec distinto. Asterisk está en el medio por lo tanto tiene que hacer las veces de traductor para que los dos puntos se entiendan. A este proceso denominamos transcoding. El transcoding requiere de muchos cálculos matemáticos pues se está decodificando y codificando información con algoritmos complejos, consumiendo recursos a nivel de CPU. 11
13.
Capítulo 21 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados Openfire Openfire es un software escrito en Java que proporciona el servicio de Mensajería Instantánea. Sin embargo, cabe señalar que consume una gran cantidad de memoria. Por lo tanto, si el servicio no es realmente necesario y se cuenta con un servidor limitado por recursos, es recomendado dejarlo apagado. Por omisión Openfire no activa al instalar Elastix. 12
14.
Capítulo 21 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados Dimensionamiento telefónico Determinando el número de líneas telefónicas necesarias Primer parámetro en un proyecto telefónico nuevo: calcular número de líneas para satisfacer la demanda prevista. No se quiere tener más líneas de las necesarias, esto podría significar un desperdicio de recursos. Tampoco se debe sub dimensionar el número de líneas, ya que los usuarios podrían recibir continuamente tonos de ocupado. El cálculo, por lo tanto debe basarse en criterios técnicos y no ser tomado a la ligera. El “modelo Erlang” es una aproximación estadística para calcular cuántas líneas telefónicas necesitaremos en una instalación determinada para satisfacer una demanda prevista con cierta calidad. Agner Krarup Erlang Erlang, Ingeniero y matemático danés que desarrolló las técnicas de Ingeniería de Tráfico y Teoría de Colas. Exploraremos estos conceptos para darle al lector cierto conocimiento básico y práctico de estas técnicas sin llegar al rigor matemático que ellas demandan. Estas técnicas nos permitirán dimensionar cuántas líneas telefónicas necesitaremos en una instalación. La unidad Erlang Un Erlang es una unidad adimensional comúnmente utilizada para medir el tráfico telefónico por hora, o se puede decir que un Erlang representa la utilización continua de un circuito. 13
15.
Capítulo 21 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados 1 Erlang equivale a la utilización de un circuito continuamente durante una hora, en un lapso de una hora de tiempo o lo que es lo mismo que el circuito estuvo siempre en uso. Así mismo 0.5 Erlangs quiere decir que en el lapso de una hora el circuito se utilizó solo 30 minutos. Para calcular el tráfico en Erlangs se puede proceder de la siguiente manera: Encontrar el tráfico total en horas: Se suma el tiempo de todas las llamadas durante un lapso de tiempo cualquiera y se convierte este valor a horas Encontrar el tráfico por unidad de tiempo (en horas): Se divide el total anterior para el lapso de tiempo en horas Ejemplo En una empresa cualquiera entre las 9H00 y 12H00 de un día determinado se realizaron 300 llamadas, con un promedio de 6 minutos por llamada y se quiere medir el tráfico en Erlangs. Tráfico Total = Tráfico en 3 horas = 300 x 6 = 1800 minutos = 1800 minutos / 60 minutos = 30 horas (quiere decir que se hablaron 30 horas en ese lapso de tiempo) Tráfico por hora = Tráfico Total / Lapso de Tiempo = 30 horas / 3 horas = 10 Erlangs Hemos obtenido una medida de tráfico de 10 Erlangs. Modelos Erlang En esencia existen dos modelos en las teorías de Erlang que se utilizan mucho en telefonía: modelo B modelo C En la presente obra estudiaremos el modelo B pero recomendamos al lector recabar información del modelo C. Nota: El modelo C se utiliza para calcular probabilidades en llamadas que entran a colas así que si el lector está pensando en administrar un call center sería útil que indagara en el modelo Erlang C. 14
16.
Capítulo 21 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados Erlang B El modelo Erlang B es el más común. Se usa determinar el número de líneas necesarias. Básicamente necesitamos alimentar a la fórmula con un par de parámetros y podemos obtener el número de líneas que necesitamos. Estos parámetros son: Tráfico punta o pico (el tráfico en la hora de mayor actividad) Grado de Servicio (o GOS por sus siglas en inglés). El Tráfico punta o pico se obtiene sumando todo el tráfico en la hora con más actividad telefónica. Es útil tomar muestras no solo de un día sino de algunos días o semanas para que la información sea más exacta. El Grado de Servicio representa la probabilidad de que una llamada sea rechazada. Su valor va de 0 a 1. Donde 1 significa el 100% de rechazo de llamadas. Grados de Servicios Comunes 15
17.
Capítulo 21 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados Fórmula Modelo Erlang B Donde: E es el valor del tráfico punta o pico (en Erlangs) N es el número total de líneas telefónicas Como vemos, el valor de GoS no es sencillo de calcular. N, que es el valor que buscamos, tampoco es sencillo de despejar. Actualmente hay muchas herramientas en línea, algunas gratuitas, o aplicaciones para Smartphones que permiten calcular el modelo de Erlang B. La presentación de la fórmula ayuda a que el profesional de Elastix sepa los fundamentos del cálculo de la misma lo cual siempre es útil. Tomemos el cálculo que hicimos anteriormente: Tráfico Total = Tráfico en 3 horas = 300 x 6 = 1800 minutos Tráfico por hora = 10 Erlangs ¿Cuántas líneas telefónicas necesito con un GoS de 0.01? Calcúlalo en: http://www.erlang.com/calculator/erlb/ Flash Operator Panel En instalaciones con alta actividad telefónica el FOP puede comenzar a consumir recursos fuera de los niveles deseados. 16
18.
Capítulo 21 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados En instalaciones con alta actividad telefónica el FOP puede comenzar a consumir recursos fuera de los niveles deseados. El FOP se comunica con Asterisk a través de AMI. Por lo tanto se encuentra escuchando toda la actividad telefónica a través del puerto de red que levanta Asterisk para este fin. Cuanto más actividad, más información tiene que procesar el FOP. En instalaciones grandes, en caso de que el uso del FOP no sea requerido es mejor apagarlo. Herramientas top Para hacer un análisis breve de los servicios que están consumiendo recursos, basta con ejecutar un comando top. Ordenamos su salida por consumo de memoria y también por consumo de CPU. Para hacer lo primero escribimos la letra M (Mayúscula) y para lo segundo la letra P. En algunas ocasiones podemos observar el proceso java liderando las estadísticas de consumo. 17
19.
Capítulo 21 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados Normalmente esto tiene que ver con Openfire debido a que se encuentra implementado sobre java. sipp Sirve como generador tráfico SIP, ayudándonos a generar llamadas SIP hacia nuestro servidor Elastix. Esto nos permite tomar muestras para entender cómo reaccionan los recursos del sistema (CPU, memoria). La idea general es generar un volumen alto de llamadas y determinar el performance de nuestro equipo en varios escenarios. Sipp es una herramienta de código abierto. Información de descarga y documentación puede ser encontrada en: http://sipp.sourceforge.net/ Cuando un solo servidor no alcanza Muchas veces una instalación es tan grande que rebasa la capacidad de un sólo equipo. Para estos casos es recomendable dividir un Elastix en uno o más servidores, o balancear la carga. Existen dos esquemas que se usan en la práctica: Distribuir el trabajo en equipos especializados Distribuir el plan de marcado 18
20.
Capítulo 21 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados Distribuir el trabajo en equipos especializados Es posible migrar ciertos servicios a otros servidores: MySQL Antispam Postfix Openfire Distribuir el Plan de marcado La funcionalidad utilizada es DUNDi y puede configurarse para utilizar varios servidores. Elastix tiene actualmente un addon que permite configurar un plan de marcado distribuido. Revisaremos Plan de Marcado Distribuido y DUNDi mas adelante en este curso. 19
21.
Capítulo 22 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados SEGURIDAD Algo de Historia Por los años 60 se dieron cuenta que si generaban una señal audible a la frecuencia exacta de 2,600 Hertz producían que las llamadas telefónicas se colgaran. Algunos hackers se pusieron a estudiar y entender la señalización telefónica, realizando llamadas de larga distancia de manera gratuita. Desde entonces hay personas dedicando miles de horas de investigación a tratar de quebrantar la seguridad de servidores alrededor del mundo. Buenas Prácticas Todas las acciones básicas recomendadas para iniciar la operación de un servidor de comunicaciones unificadas Limitación del acceso al servidor No usar el usuario root No dejar sesiones de consola abiertas Bloquear el reinicio Utilizar contraseñas fuertes Deshabilitar el acceso directo a FreePBX Ataques y vulnerabilidades a nivel de red IP Denegación de servicio Ataques de inundación SIP (SIP Flooding) Sniffing Captura de llamadas a nivel de VoIP Fraude telefónico Intento de obtención de privilegios de root Algunas soluciones a los problemas de seguridad Apagar los servicios que no vamos a usar 20
22.
Capítulo 22 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados Firewalls IDSs e IPSs Actualizaciones Monitoreo Usar un Switch en lugar de un HUB Cambiar las claves por omisión Encriptando la VoIP SRTP: El protocolo SRTP (Secure RTP) no se encuentra soportado oficialmente en Asterisk 1.6; Asterisk 1.8 tiene soporte nativo para SRTP. VPNs: Una VPN (Virtual Private Network) o Red Privada Virtual es un concepto que nos permite simular una red privada sobre una red pública como el Internet. Encriptación IAX: Cuando IAX fue concebido se pensó en problemas de violación a la privacidad y se añadió soporte nativo para encriptación de llamadas. Auditoría de seguridad Una auditoría de seguridad debe ser considerada como una práctica preventiva. Es recomendable que se realice periódicamente para detectar a tiempo problemas que podrían poner en riesgo nuestros equipos. Escaneo de puertos de red Revisión de logs del sistema Revisión de rootkits Auditoría avanzada con Nessus El módulo de Seguridad de Elastix Configuraciones básicas de seguridad a nivel de interfaz: Gestión de Firewall Auditoría de uso de la Interfaz web de Elastix Auditoría de Contraseñas débiles Configuración Avanzada 21
23.
Capítulo 22 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados Gestión de Firewall Interfaz para administración de IPTables Posee un conjunto de reglas predefinidas Permite la personalización de puertos 22
24.
Capítulo 22 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados Activando el Firewall Creando una nueva regla Opciones para configuración Tráfico: ENTRADA, SALIDA, A TRAVES Interfaz de ENTRADA: CUALQUIERA, Ethernet 0, Loopback Dirección de Origen Dirección de Destino Protocolo: TODOS, TCP, UDP, ICMP, ESTADO Objetivo: ACEPTAR, DESCARTAR, RECHAZAR 23
25.
Capítulo 22 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados Personalizando un Puerto o un rango de Puertos Auditoría de uso de la Interfaz web de Elastix Permite visualizar las operaciones efectuadas utilizando la Interfaz web de Elastix Posee la posibilidad de utilizar filtros por fecha o por búsqueda de una palabra clave Ofrece la descarga de los logs de utilización en formato CSV, XLS o PDF Auditoría de Contraseñas Débiles Analiza las contraseñas de las extensiones creadas en Elastix Verifica que no sean demasiado cortas o que estén basadas en diccionario Algunos ejemplos: qweasd, a1b2c3, 123456 24
26.
Capítulo 22 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados Configuración Avanzada En este menú se puede activar el acceso directo a FreePBX Se puede también activar llamadas SIP anónimas. Es importante mencionar, que aunque existan estas configuraciones, se recomienda mantenerlas desactivadas por defecto. Activando FreePBX sin embeber Elastix mantiene desactivado por defecto la interfaz no embebida de FreePBX. Si aun es necesario activar la interfaz no embebida de FreePBX, es importante hacerlo correctamente. Para esto es necesario ir a: Security → Advanced Settings Una vez que culminemos cualquier configuración que necesitemos hacer es recomendable volver a desactivarla. “No actualice FreePBX desde su interfaz, existen procedimientos de actualización con Elastix, consulte en los foros o listas.” 25
27.
Capítulo 22 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados Una vez activado FreePBX, podemos revisar lo requerido y después desactivarlo de nuevo. Técnicas Adicionales Implementación de Fail2Ban Implementación de Port Knocking Implementación de ordenes Allow/Deny durante la configuración de las extensiones Mantener deshabilitada la interfaz de FreePBX sin embeber Cambio de puertos por defecto Utilización de VPNs para extensiones remotas Documentación Adicional Seguridad en servidores CentOS con Elastix – Rodrigo Martín Elastix Network Security Guide – Bob Fryer Trunking entre dos Sistemas de PBX Elastix PBX Vía Internet – Bob Fryer Asegurando Elastix – Samuel Cornú 26
28.
Capítulo 23 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados DEPURAMIENTO AVANZADO Introducción Un depurador permite examinar la ejecución de un programa a un nivel de detalle mayor que el habitual. La ejecución en detalle permite encontrar errores que de otro modo resultarían difíciles de hallar. Con un depurador es posible examinar qué estuvo ocurriendo en el momento en que un programa se colgó. Dos alternativas para depuración son: strace y gdb ¿Qué hacer cuando Asterisk se comporta mal? Identificar el componente que está causando problemas En algunas ocasiones existen problemas por errores en el código, o bugs. Es importante saber diferenciar si el problema está relacionado con un bug o no Muchas veces no es un problema de Asterisk sino de Sistema Operativo El problema puede ser también por otros componentes de Software o Hardware Reproducir el bug Los pasos básicos a seguir son: Examinar los logs, siendo clave la revisión de los minutos anteriores a la falla. Consultar a los usuarios, ellos viven la operación telefónica día a día. Monitorear el equipo Aunque suene drástico en ocasiones es necesario montar guardia en las instalaciones del cliente y esperar a que el problema ocurra. Una vez que logramos reproducir el bug y determinamos la situación en que se produce podemos hacer dos cosas: Verificar si ha sido reportado - http://bugs.digium.com Verificar si ya fue solucionado en recientes versiones de Asterisk. Reportar el bug, si este aun no ha sido reportado, de tal manera que la comunidad de desarrollo de Asterisk lo resuelva. 27
29.
Capítulo 23 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados Errores de Programación Errores de programación que provocan caídas, colgados o comportamientos indeseados Falla de segmentación (Segmentation Fault) Deadlock Fuga de memoria División para cero Buffer overflow Strace Monitorea las llamadas a sistema que realiza un programa determinado y todas las señales que éste recibe. Llamadas al sistema comunes en Linux: open, read, write, close, wait, exec, fork, exit, kill, entre otras. ptrace es la carácterística que hace posible el trabajo de Strace. Ejemplo de ejecución de Strace al programa: “cat /proc/cpuinfo”: [root@elastix ~]# strace cat /proc/cpuinfo Depuración en Asterisk Un ejemplo sencillo Hay ocasiones donde es importante monitorear un proceso de Asterisk en ejecución. Por ejemplo si nuestro servidor consume muchos recursos de CPU y queramos averiguar qué está ocurriendo. Para depurar un programa en ejecución con strace primero debemos averiguar el PID del proceso que queremos monitorear. Un ejemplo sencillo En nuestro enlistaremos los procesos que contengan la palabra Asterisk y tomaremos el menor PID [root@elastix ~]# ps aux | grep asterisk 28
30.
Capítulo 23 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados Ahora que sabemos el PID podemos monitorearlo con strace de manera sencilla: [root@elastix ~]# strace -p 1619 GDB GDB es un completo depurador desarrollado y mantenido por la Free Software Foundation. Nos permite hacer seguimiento de la ejecución de un programa insertando pausas cuando creamos necesario. También nos permite observar lo que un programa estaba haciendo cuando se colgó. Además nos permite cambiar ciertas cosas dentro del programa para ver los efectos que se producen con dichos cambios. GDB es una opción más completa que strace pero también su uso requiere un tanto más de conocimiento. Con GDB podemos depurar programas escritos en C o C++ como es el caso de Asterisk Ejemplos simples de uso de GDB GDB puede utilizarse para depurar un programa de tres maneras diferentes: Depurando un programa desde el depurador; Desde el propio GDB gdb programa Depuración sobre Asterisk en plena ejecución gdb programa PID Depuración haciendo backtrace sobre un Asterisk caído gdb programa caído 29
31.
Capítulo 23 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados Comandos básicos Nota: Para más información puede recurrir al comando “man gdb” Archivos core y backtraces Muchas aplicaciones dejan archivos core cuando terminan inesperadamente, esto nos permite hacer una depuración post-mortem del software. En el caso de Asterisk esto es posible cuando se lo inicia con la opción –g (Elastix inicia Asterisk con dicha opción por defecto). 30
32.
Capítulo 23 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados Si no se está seguro que Asterisk haya sido iniciado con la opción –g se puede verificar con el siguiente comando. Un archivo core es el contenido de memoria del programa en el momento en que se detuvo. Es el sistema operativo quien guarda ese contenido de memoria. Este contenido de memoria, combinado con la tabla de símbolos que se genera cuando el programa es compilado hacen que gdb nos pueda mostrar información más legible. Un backtrace es un reporte de las llamadas a funciones que se encontraban en memoria en un momento dado. Desde gdb es posible realizar backtraces sobre un archivo core. Para hacerlo existen dos comandos, el bt y el bt full. El bt full es un backtrace más detallado que el normal. Muestra parámetros y variables locales usados por las funciones que están siendo invocadas. Ejemplo: Primero identificamos el archivo core que necesitamos examinar, por lo general se trata del último. 31
33.
Capítulo 23 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados ¿Cómo reportar un Backtrace a Digium? Si determinamos que tenemos un bug de Asterisk el siguiente paso lógico es reportar ese bug al fabricante. Digium dispone de una interfaz Web para esta finalidad ubicada en: http://issues.asterisk.org Cuando se reporta un bug es de mucha ayuda para los desarrolladores de Asterisk contar un backtrace para poder entender mejor lo que ocurrió a nivel interno. Los lineamientos generales para reportar backtraces son: http://www.asterisk.org/doxygen/trunk/AstDebug.html Se pide no subir archivos core sino únicamente la salida del comando bt y bt full conseguidos con gdb. Es importante, al reportar un bug de Asterisk, mencionar que se está utilizando Elastix. Esto permitirá a los desarrolladores de Digium conocer que se trata de un Asterisk compilado con parches y funcionalidades adicionales. 32
34.
Capítulo 24 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados PLAN DE MARCADO DISTRIBUIDO DUNDi Distributed Universal Number Discovery DUNDi es un sistema de localización de gateways para el acceso a los servicios de telefonía. Utiliza un esquema punto a punto y no requiere ninguna arquitectura de red en particular ni un esquema jerárquico cliente-servidor. Este es un punto de diferenciación con ENUM En otras palabras DUNDI es capaz de consultar los contextos de otros equipos para encontrar una ruta hacia determinado usuario o peer. DUNDi en realidad no realiza una llamada como tal, ya que no es un protocolo de señalización VoIP Recibe y proporciona la información necesaria para poder contactar a los equipos independientemente del protocolo de señalización usado. Por esto es posible usar DUNDi virtualmente con cualquier protocolo soportado por asterisk. Es parte de Asterisk por lo cual su integración y funcionalidad en Elastix es transparente. Funcionamiento Para que DUNDi funcione se debe conocer al menos un peer Si este peer no puede responder a la consulta (él no tiene ese usuario), puede delegar la consulta a otro peer conocido. Esto sucede sucesivamente hasta que se encuentre a un peer que tenga una respuesta al peer consultado. DUNDi puede ser utilizado en una empresa para extender su operación a varios servidores en una o diferentes sucursales. 33
35.
Capítulo 24 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados Ejemplos de uso Un ejemplo típico de la utilidad de DUNDi es en una empresa multi-sede, en la cual cada sede tiene su propio equipo con Elastix. Cada equipo puede publicar sus extensiones y si uno de los equipos pregunta, por ejemplo ¿dónde está el número 456? la consulta se enviará directa o indirectamente a todos los servidores en la red DUNDi El servidor que tenga esa extensión publicada responderá algo como: IAX2/usuario:clave@1.2.3.4/456 El uso de DUNDi hace que no necesite un plan de marcado fijo para cada equipo integrado en una red. Otro uso común de DUNDi es clúster y balanceo de carga. Esto es importante en un esquema con muchos usuarios así como para esquemas de clúster y disponibilidad. “Cuando un servidor no alcanza”, comentamos esto en la sección de rendimiento. Bueno, DUNDi es una muy buena opción. Seguridades DUNDi usa certificados de encriptación RSA par compartir los planes de marcado. Esto es requerido ya que las respuestas a una consulta incluyen las contraseñas de las troncales. 34
36.
Capítulo 24 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados Asterisk integra el comando astgenkey que se encarga de generar dichos certificados. Su uso es: astgenkey -n nombre-de-certificado, ej: Estos certificados deben ubicarse en la carpeta /var/lib/asterisk/keys de cada servidor. Podemos compartir este archivo de un servidor a los demás servidores con el comando spc: Configuración DUNDi guarda su configuración en el archivo dundi.conf dentro de la carpeta /etc/asterisk/. Este archivo se divide en tres secciones: [general] - donde se define la identificación en la nube DUNDi y opciones globales. [mappings] - donde se definen las respuestas a una consulta de otro equipo. Peers – definición de peers que consultarán y serán consultados. Esta configuración debe ser realizada en cada servidor donde se distribuirá el plan de marcado. iax_custom.conf - Configuración de troncal. extensions.conf - Configuración para modificar el contexto "from-internal" de FreePBX, de tal manera que no obtengamos una respuesta de bad-number en la búsqueda del número. extensions_custom.conf - definimos los contextos personalizados para que DUNDi relacione nuestras extensiones, realice búsquedas en otros equipos y redirija las llamadas. Esta configuración permite que cuando creemos una extensión nueva desde la interfaz, se añada al contexto local incluido en dundi-priv-canonical que usará DUNDi. 35
37.
Capítulo 24 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados Configurando en la Interfaz Elastix incluye un Addon para realizar esta configuración desde interfaz. La aplicación está disponible desde la versión 2.0.3 Vamos al menú Addons, ubicamos “Distributed Dial Plan” y hacemos clic en install. Una vez instalado, aparecerá un submenú en el menú PBX, denominado “Distributed DialPlan”. Iniciamos la configuración en el 1er Servidor. Llenamos la información marcada como requerida. 36
38.
Capítulo 24 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados Luego, en el mismo servidor iremos al submenú “Password Connection”. Aquí podemos generar el certificado de configuración RSA. Podemos además enviarlo al destinatario del otro servidor. El usuario del 2do servidor recibirá un mensaje como este con el certificado: Una vez con el certificado, el usuario del 2do servidor debe configurar la información de peer. Ingresa la dirección IP del primer servidor y el certificado que recibió. El comentario puede ser cualquiera, generalmente una descripción. Después hace clic en “Request”. 37
39.
Capítulo 24 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados 2do Servidor: 1er Servidor: 38
40.
Capítulo 24 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados 2do Servidor: Esta aplicación realiza todas las configuraciones necesarias por nosotros. Bajo este esquema podemos distribuir un plan de marcado en varios servidores. Una ventaja visible es su facilidad. Aun así es importante saber como configurar DUNDi en bajo nivel para entender la funcionalidad 39
41.
Capítulo 25 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados MÓDULO DE CALL CENTER Módulo de Call Center Este software está diseñado para hacer campañas de llamadas entrantes y salientes. Estas llamadas permiten la interacción entre operadores (agentes) y personas contactadas (abonados). Se usa el término “campaña” para designar la ejecución de un conjunto de llamadas. El módulo incluye un marcador predictivo que se encarga de llamar de manera automática a los números “objetivo”. Además incluye dos componentes importantes: consola de agente (basada en web) y una interfaz de administración de llamadas. La versión actual incluye soporte para el protocolo ECCP. Este protocolo permite que la operación del módulo sea mas eficiente y es posible integrar aplicaciones externas. El módulo de Call Center de Elastix es Open Source. 40
42.
Capítulo 25 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados Modelo de Funcionamiento El módulo del Call Center está implementado alrededor del soporte de colas de Asterisk. El diseño asume que cada una de las colas alberga al menos a un agente. Cada campaña utiliza exactamente una cola. Un agente puede pertenecer a varias colas. Actualmente se reconocen dos modos principales de funcionamiento: Campañas Salientes y Campañas Entrantes. Funcionalidades Implementadas Llamado automático a partir de una lista de números. Ejecución de múltiples campañas simultáneas. Seguimiento de agente asignado a una llamada. Marcador predictivo. Almacenamiento de guión de atención. Ingreso de formulario. Agendamiento de llamada. Capacidad de poner en hold una llamada. Reportes de actividad de llamadas. Limitaciones conocidas No se puede asignar un agente específico a una llamada. No reproduce mensajes de audio en llamadas no atendidas; es decir no coloca llamadas en una cola sin agentes. Esto es debido a que el módulo está diseñado para mediar llamadas que son atendidas por agentes humanos. Es posible que se implemente esta funcionalidad en el futuro como “Campaña Sin Agentes”. 41
43.
Capítulo 25 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados Marcador predictivo Es la porción del Call Center que interactúa directamente con las llamadas. Está implementado como un servicio residente (daemon) escrito en PHP. Se puede iniciar como servicio a través del comando: El marcador inicia cada llamada mediante el uso del comando Originate de Asterisk. El marcador revisa constantemente las llamadas que han sido colocadas por el y que no hayan recibido un evento OriginateResponse. Si el marcador recibe una respuesta del tipo OriginateResponse (ejemplo: join o link) escribe la información de esa llamada en la base de datos. El marcador interroga regularmente el estado de la cola para averiguar cuántos agentes se encuentran registrados y libres. El número de agentes libres regula cuántas llamadas son iniciadas simultáneamente. 42
44.
Capítulo 25 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados El marcador estima la duración media de llamada, para intentar predecir si las llamadas en curso están por terminar, para colocar proactivamente nuevas llamadas. Esta funcionalidad es configurable. El modelo para predicción es una distribución Erlang acumulada. La interfaz Web permite iniciar y detener el servicio de marcador Además permite activar y desactivar la depuración de problemas en el marcador, incluso si el marcador está corriendo. La ruta por omisión del log del marcador es el archivo /opt/elastix/dialer/dialerd.log El marcador predictivo se encuentra encendido por defecto cuando se instala el módulo. Sin embargo es posible apagarlo o encenderlo desde la interfaz, en el menú de configuración del módulo. Administración del Módulo La administración del módulo permite : o Crear Agentes o Agregar colas o Crear nuevas campañas salientes o Crear nuevas campañas entrantes o Administración de breaks También proporciona una interfaz de configuración que permite iniciar, detener y configurar el marcador predictivo, incluyendo la activación de depuración. 43
45.
Capítulo 25 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados Iniciando la operación de Call Center Antes de iniciar la operación de Call Center es necesario seguir las siguientes configuraciones básicas: 1. Instalar el Call Center en Elastix 2. Crear un grupo con la configuración para Agentes 3. Crear Usuarios en el sistema para los Agentes 4. Crear Extensiones para los Agentes 5. Crear Agentes en el módulo de Call Center 6. Crear la(s) cola(s) requeridas para la operación. Iniciando la operación de Call Center : Instalación La instalación del módulo es sencilla. Únicamente es necesario ir al menú Addons y hacer clic en INSTALL. La instalación se realiza automáticamente. Una vez concluida se habilitará Call Center en el menú principal. 44
46.
Capítulo 25 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados Iniciando la operación de Call Center : Creación de Grupo Para la operación es necesario crear usuarios en Elastix para los Agentes que participarán en ella. Por razones de seguridad y control necesitamos limitar el acceso de estos usuarios. Es necesario crear un grupo que tenga únicamente acceso a la consola. Para crear un grupo debemos ir a: Sistema → Usuarios → Grupo: Crear Nuevo Grupo Para configurar el permiso de nuestro nuevo grupo debemos ir a: Sistema → Usuarios → Permisos de Grupo Seleccionamos el grupo creado (haciendo clic en mostrar), y filtramos el recurso: Agent Console. Seleccionamos y Guardamos. 45
47.
Capítulo 25 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados Una vez que hemos creado el grupo con el acceso restringido, podemos crear los usuarios para los agentes. Ir a: Sistema → Usuarios → Crear Nuevo Usuario Podemos crear tantos Agentes como necesitemos. Iniciando la operación de Call Center : Creación de Extensiones Debemos crear tantas extensiones como Agentes operen en una campaña. Es suficiente crear extensiones tipo SIP. Para facilitar la operación del Call Center estas extensiones son usadas normalmente en Softphones. El módulo de Call Center transferirá al agente todas las llamadas en una campaña a su extensión. Iniciando la operación de Call Center : Creación de Agentes La creación de Agentes se diferencia de la creación de usuarios ya que estos son generados en el Módulo de Call Center. Un operador de Call Center necesita un usuario para hacer login en Elastix, y una vez en la interfaz, necesita un Agente para hacer login en el Call Center. Para crear un agente ir a: Call Center → Agent Options → Agents Hacemos clic en el link “Nuevo Agente”. 46
48.
Capítulo 25 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados No se debe colocar nada en “Contraseña ECCP”. El sistema se encarga de asignar una al crear el Agente. Iniciando la operación de Call Center : Creación de Colas El proceso de creación de Colas es similar al que vimos anteriormente. Se diferencia únicamente en que en lugar de colocar extensiones creadas en Elastix, colocaremos los números de los Agentes que queremos que estén en la cola. La nomenclatura que se coloca en el listado de Agentes fijos también se diferencia, ya que tenemos que anteponer la letra “A”. Crearemos la cola con el número ectetest con el número 101. 47
49.
Capítulo 25 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados Como podemos observar en la figura colocamos los Agentes creados en el módulo de Call Center, con el prefijo A, seguido de una “,” y el número 0. Podemos colocar cualquier política de estrategia de ringado. Usualmente se selecciona “Agente con menos llamadas”. Iniciando la operación de Call Center : Activando el Módulo Antes de iniciar comprobaremos que el servicio de Call Center está Activo. Esto se puede comprobar desde el Dashboard o desde el menú de configuración del Call Center (Dialer apagado/encendido). Consola del Agente La consola de agente administra la interacción del agente con el sistema. Está basada en Web. La consola recibe eventos de una llamada a través del ECCP, al igual que la toda la información correspondiente a la llamada. Por medio de la consola el Agente obtiene información de la operación (número telefónico atendido, información de contacto). En la actualidad la consola de agente trabaja utilizando el protocolo ECCP. 48
50.
Capítulo 25 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados Acciones Colgar: Permite terminar una llamada Descanso: Permite a un agente/operador hacer tomar un receso para una actividad. Los descansos deben estar previamente configurados por el administrador Transferir: Transfiere la llamada a alguna extensión existente en el plan de marcado. La transferencia es ciega actualmente. VTiger CRM: Abre Vtiger en una ventana nueva del browser. Vtiger debe estar activo. Fin de sesión: Finaliza la sesión del agente/operador en el Call Center. Funciones de Campaña Información de Llamada: Muestra la información de la persona que llama, si se encuentra en la base de datos. Si no existe la información mostrará el número de teléfono de la llamada entrante en la parte de abajo. Diálogo de llamada: Muestra un Script que se ha creado anteriormente para que sirva de instructivo al agente. Formulario de llamada: En esta pantalla se muestra el formulario creado para una campaña. 49
51.
Capítulo 25 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados Campañas Salientes El sistema se alimenta con un archivo que contiene los números telefónicos a marcar. Al activarse la campaña, el sistema marca los números telefónicos, verificando los agentes libres registrados que se encuentren en la cola. Tantas llamadas como agentes libres. En este método se une la cola con el número del abonado. Si la llamada es exitosa entra a la cola y es asignada al siguiente agente libre. La asignación depende de la política asignada a la cola (linear, wrandom…etc). El sistema registra en una base de datos al agente que se asignó a la llamada. Esta información servirá para varios propósitos de consulta. Al terminar la llamada, el agente pasa al estado ocioso, y está de nuevo disponible para recibir una llamada. Este proceso continúa hasta recorrer toda la lista de números. Se puede configurar el número de intentos, de tal manera que el módulo llame a los números que fallaron en ser contactados. Campañas Entrantes Se define una cola, en la cual se incluyen los agentes. El marcador predictivo no funciona en esta modalidad. Se debe organizar que los abonados que llamen al sistema, sean dirigidos a la cola configurada para la campaña. El sistema registra en una base de datos al agente que se asignó a la llamada. Esta información servirá para varios propósitos de consulta. Se puede alimentar el sistema con datos sobre números específicos para que el agente tenga información disponible en su pantalla. 50
52.
Capítulo 25 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados Configuración de Campañas Existe un menú habilitado para cada tipo de campañas: o Outgoing Calls: Campañas Salientes. o Ingoing Calls: Campañas entrantes. Antes de iniciar una campaña es importante definir: 1. Formularios 2. Lista de Contactos (Opcional para campañas entrantes) 3. Lista de números telefónicos (Requerido en campañas salientes) 4. Breaks 5. Y por supuesto: Agentes y Colas. Configuración de Campañas : Formularios Los formularios se crean en: Call Center → Forms → Form Designer Cada formulario tiene la opción de agregar múltiples campos de los siguientes tipos: o Campo de Texto o Campo de Selección de Lista o Campo de Fecha o Campo de área de Texto o Campo tipo etiqueta 51
53.
Capítulo 25 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados Podemos ver un preliminar del formulario en “Form Preview”. La creación y manejo del formulario funciona bien en Firefox, es probable que algunas funcionalidades no se puedan configurar desde otros Browsers. Configuración de Campañas : Clients – Ingoing Calls Las campañas de llamadas entrantes permiten subir un listado de contactos. El módulo verifica el número entrante con el listado y muestra la información del contacto al Agente. La información soportada por el módulo de Call Center para el listado de contactos es: "teléfono","cedula/ruc","nombre","apellido” Es útil hacer el listado en Excel o en hoja de cálculo de OpenOffice En la primera columna observamos el número telefónico. La segunda contiene el número de cédula (o un id). La tercera y cuarta columna contienen el nombre y apellido. El campo cedula/ruc, es un campo requerido por el módulo para subir correctamente el listado. Podemos colocar un número identificador en el contacto si no conocemos su ID. En el ejemplo anterior se muestra un número identificador para cada contacto. El archivo del listado debe ser guardado como csv: 52
54.
Capítulo 25 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados o Si el archivo es hecho en OpenOffice debe ser guardado como “Texto CSV (.csv)” o Si el archivo es hecho en Excel debe ser guardado como “Windows Comma Separated (.csv)”. Una vez creado el archivo con el listado de contactos debemos subirlo en el menú Clients: Call Center → Ingoing Calls → Clients Configuración de Campañas : Phone List – Outgoing Calls La información principal de una campaña de llamada saliente es sin duda el listado de números telefónicos a llamar. Esta información será requerida cuando creemos la campaña, sin embargo es importante crearla adecuadamente. Es útil hacer el listado en Excel o en hoja de cálculo de OpenOffice El archivo del listado debe ser guardado como csv. o Si el archivo es hecho en OpenOffice debe ser guardado como “Texto CSV (.csv)” o Si el archivo es hecho en Excel debe ser guardado como “Windows Comma Separated (.csv)” 53
55.
Capítulo 25 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados Configuración de Campañas : Configuración de Breaks Los breaks permiten que un agente salga de operación y permanezca en Stand by como no disponible. En este estado el dialer no le asignará llamadas. Tampoco se le asignarán llamadas en una campaña entrante. Para crear los breaks vamos a: Call Center → Breaks y hacemos clic en: “Crear nuevo break” Los breaks pueden estar en estado “Activo” o “Inactivo”. Para que el agente pueda seleccionarlos deben estar Activos, caso contrario ni siquiera aparecerán como opción. En Campaña: Ingoing Calls Primero debemos seleccionar una cola. El módulo transferirá las llamadas entrantes a la cola y la cola las distribuirá entre los agentes que estén configurados en ella. Pueden existir varias colas y se pueden activar varias campañas entrantes. Una cola puede además estar seleccionada por dos campañas entrantes. Call Center → Ingoing Calls → Queues 54
56.
Capítulo 25 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados Luego de seleccionar la cola, es recomendable subir la base de datos de los clientes que llamarán. A continuación crearemos la(s) campaña(s) para que inicie la operación de llamadas entrantes. Debemos ir a: Call Center → Ingoing Calls → Ingoing Campaigns Una vez ahí debemos crear una nueva campaña, donde seleccionaremos el formulario a usar, y detallaremos un breve script para el agente. 55
57.
Capítulo 25 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados Una vez creada la campaña, esta iniciará su operación y asignará llamadas a todos los agentes que estén conectados. Revisaremos el proceso de login de un agente posteriormente. En Campaña: Outgoing Calls Debemos ir a: Call Center → Outgoing Calls → Campaigns. Una vez ahí debemos crear una nueva campaña. El módulo permite a varias campañas trabajar al mismo tiempo. El único limitante será la cantidad de líneas telefónicas que tengamos. Al igual que en las campañas entrantes, una cola puede estar asignada a varias campañas. Sin embargo si tenemos una cola seleccionada en una campaña entrante, no podrá ser seleccionada para una campaña saliente. 56
58.
Capítulo 25 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados Una vez creada la campaña, el dialer iniciará su operación y asignará llamadas a todos los agentes que estén conectados. Revisaremos el proceso de login de un agente posteriormente. El módulo tiene una funcionalidad de indicar números que no deben ser llamados. Esta funcionalidad permite ingresar un número específico. También se puede cargar un listado de números de un archivo .csv que previamente ya teníamos seleccionados para este efecto. Call Center → Outgoing Calls → Do not call list 57
59.
Capítulo 25 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados Ingreso de Agente a consola Un agente debe ingresar primero a Elastix con su usuario y clave. Al hacer login, el agente tendrá acceso únicamente a la consola. Una vez ahí debe escoger el número de agente y la extensión a la que tiene acceso y hacer clic en ingresar. El módulo llamará a la extensión, el agente debe contestar y marcar el password requerido seguido de la tecla # para ingresar al Call Center. Una vez en el Call Center, el Agente estará listo para recibir llamadas. 58
60.
Capítulo 25 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados Si el agente selecciona un break, no estará habilitado para recibir llamadas. Interacción de Agente Llamada entrante (no se muestran datos del cliente porque no está en la base de datos). 59
61.
Capítulo 25 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados El agente puede revisar el Script preparado para la campaña en el TAB “Dialogo de Llamada”. El formulario puede ser llenado en el TAB “Formulario de llamada”. El agente puede colgar la llamada o transferirla a otro número del plan de marcado interno. 60
62.
Capítulo 25 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados Reportes Los reportes implementados incluyen: Calls Detail Calls per hour Calls per Agent Hold Time Login Logout Ingoing Calls Success Graphic Calls per hour Agent Information Agents Monitoring Trunks used per hour Agents connection time Incoming calls monitoring 61
63.
Capítulo 25 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados 62
64.
Capítulo 25 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados 63
65.
Capítulo 26 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados EXTENDIENDO ELASTIX Extendiendo Elastix Una de las ventajas que tiene Elastix es la posibilidad de hacer customizaciones o desarrollo adicional. Cualquier desarrollo que tengamos en mente, puede estar incluido en la interfaz con su propio menú. Estos desarrollos adicionales se comportan como módulos. Un ejemplo de desarrollo adicional en Elastix es el módulo de Call Center. La posibilidad de que realicemos un aplicación adicional puede impulsar incluso un potencial negocio para el desarrollador. Desde la versión 2.0 en adelante muchos desarrollos de PaloSanto Solutions y de terceros se distribuyen a través del módulo de Addons. El módulo de Addons, permite a un administrador de Elastix instalar de manera transparente una aplicación que se encuentre enlistada. Aunque no se vislumbre como un negocio, es importante saber que podemos tener un grupo de desarrollo interno ideando como personalizar adicionar características a nuestra implementación. A lo largo del curso hemos visto ejemplos de instalación de una solución por medio del módulo de Addons. Veremos un ejemplo más instalando el módulo developer. 64
66.
Capítulo 26 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados Framework NEO Es el framework detrás de la interfaz Web de Elastix Un framework es un conjunto de librerías y código para facilitar la programación y reutilización de código Algunas características interesantes son: Arquitectura Web basada en MVC2 Continuación de características: Desarrollo POO Concepto e implementación modular Mantenimiento de idiomas Mantenimiento de la ayuda embebida Soporte ACL Estructura de archivos en NEO Archivo o Directorio Descripción themes/ Contiene las plantillas html, javascripts y css. Representa la capa de vista index.php El punto de entrada común para todas las pantallas de la interfaz de Elastix. Es quien decide qué pantalla mostrar dependiendo de los parámetros recibidos. Representa al controlador del módulo libs/ Aquí se encuentran librerías (código reciclable) configs/ Archivos de configuración langs/ Definición de los lenguajes, actualmente se soportar 22 idiomas images/ Imágenes que serán usadas tanto en la ayuda como en el módulo help/ Ayuda del módulo 65
67.
Capítulo 26 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados Iniciando el desarrollo En versiones anteriores el desarrollo de un módulo se realizaba totalmente a nivel de consola. Actualmente Elastix provee una aplicación para crear módulos de una manera mas gráfica y manteniendo el estilo de la interfaz. Para instalarlo debemos ir al menú Addons e instalamos el módulo “Developer” Una vez instado buscamos el menú developer e ingresaremos al Builder. Usando módulo Developer Es una poderosa herramienta que facilita la creación de nuevos módulos de Elastix Consta de cuatro sub-módulos: Constructor de módulos Eliminar módulo Mantenimiento de idiomas Cargar Menú Builder 66
68.
Capítulo 26 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados Builder: Secciones Información general: Nos ayuda a definir el nombre e identificador del módulo, así como datos del creador y permisos Localización: Aquí indicamos en qué nivel del árbol de menús se colocará el nuevo módulo Descripción: Aquí es donde realmente se define el módulo. Puede ser de tres tipos: reporte, formulario o enmarcado Builder: Tipos de módulos Reporte: Es un listado (tabla). Es independiente de la fuente de datos que puede ser una DB, un arreglo, etc. Formulario: Formulario para recolectar datos del usuario. Están soportados los tipos de campos HTML más comunes como: o text, select, checkbox, textarea, radio, file, hidden, entre otros Enmarcado: Inserta un frame que nos permite integrar otra aplicación Web en la interfaz del Elastix Builder Al final del proceso de creación del nuevo módulo se generará un código esqueleto. Este nos servirá de guía o plantilla para continuar desarrollando la funcionalidad necesaria Estos archivos se crearán en la ruta: /var/www/html/modules/<id módulo> A partir de este instante dependemos de nuestros conocimientos de programación PHP Ventajas del Builder Es fácil de instalar Podemos crear los módulos que necesitemos. Los permisos se crean automáticamente, Las carpetas se crean automáticamente Podemos crear el esqueleto inicial del código ahorrando parte del trabajo de desarrollo. 67
69.
Capítulo 26 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados Eliminar módulos Nos permite eliminar un módulo determinado de manera sencilla Debido a su sencillez es importante remarcar que: HAY QUE TENER MUCHO CUIDADO PUES PODEMOS ELIMINAR UN MÓDULO ÚTIL POR ERROR! Mantenimiento de idiomas Nos permite administrar los diferentes idiomas de los módulos en Elastix También nos permite crear nuevos lenguajes Las palabras claves o keys siempre están en idioma inglés Se puede seleccionar un módulo específico pues cada módulo puede tener su propio archivo .lang Una vez realizados los cambios desde la interfaz, dichos cambios se guardan en los archivos .lang respectivos 68
70.
Capítulo 26 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados Haciendo un poco de Historia: Load Module Este módulo era requerido en Elastix 1.6 dado que no existían RPMs para Elastix. Un módulo que estaba desarrollado podía ser cargado desde aquí comprimido. Desde Elastix 2.0 todos los RPMs para Elastix están disponibles, por lo cual este módulo desaparecerá en las siguientes versiones. Desarrollando para Elastix En los últimos 6 años Elastix a crecido de una manera estable como distribución. Se cuenta que al menos existen 100,000 potenciales integradores a nivel mundial, fuera de usuarios finales. Este mercado puede resultar atractivo para empresas con ideas de desarrollo que quieran integrar sus soluciones a una plataforma de comunicaciones unificadas. PaloSanto Solutions tiene planificado publicar un curso para developers para el segundo semestre del 2012. Si están interesados en desarrollar su propio addon, pueden escribir a la siguiente dirección: certification@palosanto.com 69
71.
Capítulo 27 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados COMPILANDO ELASTIX Recompilando los SRPMs La manera más fácil de recompilar Asterisk en Elastix es utilizando los SRPMs provistos por el proyecto Elastix. Estos se pueden descargar de http://repo.elastix.org/elastix/index.php?dir=2.0/updates/SRPMS/ Un link abreviado es: http://elx.ec/srpms Se debe usar los SRPMs estables más recientes. Un SRPM (Source RPM) es un paquete que contiene la información necesaria para construir un RPM. Tales como el código fuente del paquete y las directrices usadas para compilarlo e instalarlo en el sistema. Estas directrices se especifican en un archivo llamado SPEC, que usualmente se distingue por su extensión *.spec. Requisitos para el RPM Instalar un Elastix con los requisitos para construir el RPM Según el último archivo asterisk.spec los siguientes RPMs son requeridos para construir el RPM de Asterisk. Debemos asegurarnos que tenemos los paquetes necesarios instalados antes de empezar. Un listado completo se detalla en la siguiente diapositiva. gcc-c++ m4 openssl-devel newt-devel libtermcap-devel ncurses-devel postgresql-devel gsm-devel net-snmp-devel spandsp-devel >= 0.0.6 curl-devel wget speex-devel >= 1.2 libxml2-devel 70
72.
Capítulo 27 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados Instalar el SRPM de Asterisk Instalar el SRPM de Asterisk y modificar el SPEC de acuerdo a nuestras necesidades Luego de descargar el SRPM de Asterisk lo instalamos en la máquina concebida para este fin. Esto se hace de manera sencilla con el comando rpm: [root@elastix ~]# rpm -ivh asterisk-1.8*.src.rpm. Esta instalación poblará el directorio /usr/src/redhat que es donde se copiará el código fuente de Asterisk, el archivo SPEC y cualquier otra información nacida del SRPM. A continuación deberemos hacer los cambios en el archivo SPEC para personalizar nuestro Asterisk. Aquí podremos hacer casi cualquier cosa como: Eliminar parches para conseguir un Asterisk mínimo, Añadir funcionalidad nueva a Asterisk, Parchar contra bugs, entre otras cosas. zlib-devel libpri-devel >= 1.4.12 dahdi-devel >= 2.4.1.2 libtiff-devel >= 3.5.7 libogg-devel libvorbis-devel unixODBC-devel libtool sqlite-devel libtool-ltdl-devel alsa-lib-devel mISDNuser-devel mISDN-devel libopenr2-devel mysql-devel zlib-devel /usr/bin/soxmix iksemel-devel libsrtp libgsmat autoconf >= 2.63 71
73.
Capítulo 27 Elastix Upgrade PaloSanto
Solutions 2012 – © Todos los derechos reservados Construir el RPM de Asterisk Una vez realizados los cambios en el SPEC nos encontramos listos para recompilar Asterisk o siendo exactos construir un nuevo RPM para Asterisk. Para lograr esto nos valemos del comando rpmbuild, pasándole como parámetro la ruta del archivo SPEC que hemos modificado: [root@elastix ~]# rpmbuild -ba /usr/src/redhat/SPECS/ asterisk.spec. Al final del proceso obtendremos los siguientes RPMs en la carpeta /usr/src/redhat/RPMS/: Además obtendremos un nuevo SRPM en la carpeta /usr/src/redhat/SRPMS/ asterisk asterisk-devel asterisk-sounds-es asterisk-sounds-fr asterisk-mISDN asterisk-addons asterisk-chan_mobile 72
Descargar ahora