ANEXOS.- Proyecto Fin de Carrera ANEXO 3 - GUÍA DE INSTALACIÓN Y ADMINISTRACIÓN.1. Introducción.En este manual se van a detallar las instrucciones para la instalación y la administración del nuevo sistema VoIP instalado en el Departamento de Ingeniería Telemática de la Escuela Superior de Ingenieros de Sevilla. Los elementos que forman el nuevo sistema de telefonía VoIP son: un servidor HP ProLiant Microserver, teléfonos IP (GranStream GXP1405), interfono IP (Cyberdata VoIP Indoor Intercom with Keypad) y switch Cisco (Cisco Small Business 300 Series Managed con PoE). Todos estos dispositivos se encuentran conectados a la red IP del departamento, y aquellos terminales que necesitan ser alimentados mediante el cable de red por PoE, como los teléfonos IP y el interfono IP, se encuentran conectados al switch Cisco. Figura 45.- Diagrama de distribución del sistema. El servidor HP es el usado como centralita telefónica privada o PBX (Private Branch eXange) y presta su servicio gracias al software libre Asterisk39.Para prestar todos los servicios requeridos se ha optado por instalar el software Elastix en el servidor HP 40, ya que contiene los paquetes de Asterisk, servidor de correo, fax y administración por interfaz web, entre otros; todos ellos se verán con mayor detalle a continuación. 39 Asterisk es un software libre para las comunicaciones patrocinado por Digium. Gracias a Asterisk se puede convertir un equipo normal en un servidor de comunicaciones. 40 En esta guía se mencionará al servidor, como servidor, servidor Elastix ó servidor Asterisk, indistintamente, pues es la misma máquina. José Carlos Moral Cuevas Página | 92 Proyecto Fin de Carrera ANEXO 3 - GUÍA DE INSTALACIÓN Y ADMINISTRACIÓN.- 2. El software Elastix.Elastix es un software de código abierto para el establecimiento comunicaciones unificadas basado en Asterisk. El objetivo de Elastix es incorporar en una única solución todos los medios y alternativas de comunicaciones existentes en el ámbito empresarial. Es por ello que este software incluye en su solución los siguientes servicios de comunicación: Figura 46.- Estructura de Elastix. Elastix está provisto de una interfaz web para llevar a cabo la administración y gestión de todos los servicios que presta. El usuario puede acceder a dicha interfaz mediante su navegador web, simplemente introduciendo la dirección IP del servidor donde se encuentra instalado Elastix. Sin embargo, no se debe olvidar que el equipo en cuyo navegador se está introduciendo la IP, debe encontrarse en la misma red dicho servidor. Una vez introducida la IP en el navegador, la interfaz web pedirá al usuario autenticarse para poder acceder a sus servicios. 3. Previo a la instalación de Elastix.Previamente a la instalación de Elastix, es aconsejable proceder al acondicionamiento del hardware adquirido, para que la instalación sea correcta. En este caso es la tarjeta Sangoma la que debe acondicionarse. En este sistema se dispone de la tarjeta de comunicaciones “Sangoma B700 FlexBRI Hybrid Voice Card”, que ya se encuentra insertada en el puerto PCI del servidor HP. La tarjeta dispone de cuatro 41 puertos RDSI (BRI) y dos 42 puertos analógicos que permiten la conexión de la centralita con el proveedor de telefonía. Sin embargo, esta tarjeta no se encuentra debidamente acondicionada para el correcto funcionamiento en el sistema debido a que en su interior contiene 3 pequeñas tarjetas que deben ser insertadas de forma correcta. Las tarjetas internas a la Sangoma son las siguientes: • Dos tarjetas que manejan los puertos RDSI. En la Figura 47 se puede observar que una misma tarjeta RDSI tiene dos caras, una para usarla en modo NT (cara de color verde); y otra para usarla en modo TE (cara de color rojo). 41 Físicamente en la tarjeta Sangoma se aprecian dos puertos RDSI; sin embargo, cada puerto a su vez funciona como si fuesen dos puertos gracias a un cable Y que viene con la tarjeta. De esta forma, con los dos cables Y, tenemos los cuatro puertos RDSI. 42 Sucede lo mismo que se explica en nota 2. Página | 93 Año 2012 ANEXOS.- Proyecto Fin de Carrera Figura 47.- Formato de una tarjeta RDSI. Modos NT y TE. • Una tarjeta para el manejo de los puertos analógicos. La tarjeta adquirida para este sistema es FXO. Puede observarse en la siguiente Figura 48: Figura 48.- Formato de una tarjeta analógica. Modo FXO. Para insertar de forma correcta las tarjetas anteriores en la Sangoma es necesario conocer en qué consisten los modos NT/TE y el modo FXO. El modo NT (Network Terminator mode) es usado por un dispositivo digital que funciona como maestro y al que se le conectan otros que funcionan como esclavos, de manera que el maestro lleva a cabo funciones como generar timbres, sincronización, etc. Por tanto, a los puertos digitales RDSI en modo NT se le conectan terminales RDSI 43 u otra centralita (cuyo puerto se debe encontrarse en modo TE porque sería esclava de la primera). Por su parte, el modo TE (Terminal Equipament mode) es usado por aquellos dispositivos ó terminales digitales que se conectan al maestro. Por tanto, si en un extremo hay un puerto NT en el otro debe estar el correspondiente TE, y viceversa (no pueden ser del mismo tipo, véase Figura 49). Figura 49.- Escenario simple de puertos NT, TE, FXS y FXO. 43 En este sistema no pueden conectarse los teléfonos RDSI, debido a que estos teléfonos necesitan una fuente de alimentación para funcionar. Dicha fuente de alimentación es un dispositivo a parte que se conecta a la tarjeta Sangoma y del cual no se dispone. En este enlace se proporciona más información de este dispositivo: http://www.voipango.com/en/ISDN-Interfaces/beroNet/beroNet-Accessories/beroNetPowersupply-external-for-BNxS0-Cards.html José Carlos Moral Cuevas Página | 94 Proyecto Fin de Carrera ANEXO 3 - GUÍA DE INSTALACIÓN Y ADMINISTRACIÓN.- El modo FXO (Foreing Exchange Office) es usado por aquellos dispositivos analógicos que se comportan como terminal. Este modo le proporciona al dispositivo una interfaz capaz de recibir y entender el timbre de llamada generado por la interfaz FXS (Foreing Exchange Subscriber) que debe encontrarse al otro extremo (también van por pares como ocurre con NTTE, véase Figura 49). Así pues la interfaz FXS es la que emula la línea analógica tradicional a la que se conectan los terminales con interfaz FXO. Una vez conocido el funcionamiento de la tarjeta Sangoma el objetivo es conseguir adaptar nuestro sistema a las necesidades requeridas, que son dos líneas analógicas y una línea RDSI. Por tanto, se ocuparán los dos puertos analógicos (se explico en nota 42 que físicamente es uno, utilizar el cable Y) y un puerto RDSI 44 de la tarjeta Sangoma. Tanto los puertos analógicos, como el puerto RDSI se conectan hacia la operadora, por lo que deben ser TE y FXO respectivamente (véase Figura 49). Para conseguir este escenario deben insertarse las tarjetas tal como se ve en la Figura 6. Figura 50.- Trajetas debidamente insertadas en la trajeta Sangoma. Además de insertar las tarjetas correctamente, es necesario que los pequeños interruptores que se muestran ampliados en la Figura 50, se encuentren también en el estado correcto para con su tarjeta. Así pues, tal como se encuentra en la Figura 50, los puertos RDSI 1-2, gestionados por la tarjeta modo TE, por lo que los interruptores SW1 y SW2 deben estar en estado OFF (posición alejada de la inscripción ON del SWx). De igual modo, los interruptores SW3 y SW4, deben encontrarse en estado ON (modo NT). La tarjeta está completamente acondicionada a las necesidades del sistema, por lo que para finalizar se vuelve a colocar en la ranura PCI del servidor HP y se procede a la instalación de Elastix (nótese que una vez se encuentre instalado todo el software, se deberá observar que los puertos NT estarán iluminados con luz verde y los TE con luz roja). 44 Una sola tarjeta RDSI en modo NT/TE maneja dos puertos RDSI de la tarjeta Sangoma como mínimo, por lo que no solo se tendrá un solo puerto en modo NT, irremediablemente habrá dos (aún existen dos más que dependen de la otra tarjeta NT/TE que los controla) Página | 95 Año 2012 ANEXOS.- Proyecto Fin de Carrera 4. Instalación del software Elastix.Los requisitos mínimos para llevar a cabo la instalación de Elastix son: • • Procesador Pentium III a 600MHz. Memoria RAM 256MB. No obstante, es de importancia advertir que dichos requisitos son el mínimo para la instalación. El interesado debe conocer que Elastix debe tener disponibles 1GB de RAM y 800MHz cada 25 conversaciones simultáneas. La última versión estable del software Elastix (imagen ISO) puede obtenerse de la página web oficial de Elastix, mediante el siguiente enlace: http://sourceforge.net/projects/elastix/files/Elastix%20PBX%20Appliance%20Software/2.2.0/El astix-2.2.0-i386-bin-01Nov2011.iso/download Una vez descargado el software se procede a la instalación. Para ello es necesario grabar la imagen en un CD-ROM y utilizar un lector de CD-ROM 45 externo, debido a que el servidor HP no dispone de lector de CD. El servidor HP siempre intenta arrancar desde el puerto USB, por lo que no será necesario configurar la BIOS para que se arranque desde el lector de CD externo, que se encuentra conectado a una de los puertos USB del servidor. Insertar el CD en el lector, encender el servidor y seguir los siguientes pasos para la instalación: 1) La primera pantalla que aparecerá para comenzar la instalación es la siguiente (Figura 51): Figura 51.- Pantalla de inicio de Instalación de Elastix. Presionar <Enter> para continuar con la instalación. 2) Elegir idioma. Buscar y seleccionar “Spanish” (Presionar <Tab> para marcar “OK” y pulsar <Enter> para aceptar). 3) Seleccionar tipo de teclado. Buscar y seleccionar “es”. 4) Elegir particionamiento de disco. Seleccionar la opción “Utilizar el espacio disponible en dispositivos seleccionados y crear diseño predeterminado”. Marcar 45 También podría hacerse mediante la grabación de la ISO en USB, pues el servidor sí dispone de ranura USB. Sin embargo, esta tarea es más compleja y no es objetivo de esta guía. José Carlos Moral Cuevas Página | 96 Proyecto Fin de Carrera ANEXO 3 - GUÍA DE INSTALACIÓN Y ADMINISTRACIÓN.- la casilla de la unidad en que se desea instalar Elastix (utilizar <Espacio> para marcar la casilla). Pulsar “Aceptar”. Figura 52.- Particionamiento de disco. 5) A la pregunta: “¿Revisar y modificar la capa de particiones?”; Seleccionar “No”. 6) En la siguiente pantalla se ofrece la posibilidad de configurar la interfaz red. Seleccionar “Sí”. 7) En la “Configuración de red para eth0”, se deben marcar las casillas: “Activar al inicio” y “Activar soporte para IPv4”. 8) En la “Configuración de IPv4 para eth0”, se marca la casilla: “Configuración de IP dinámica (DHCP)”. 9) La pantalla siguiente muestra la “Configuración del nombre del host”, marcar “Automáticamente a través de DHCP”. 10) “Selección de uso horario”. Buscar y seleccionar “Europe/Madrid”. 11) “Contraseña de root”. En esta parte de la instalación se pide la contraseña que se va a utilizar para acceder al CLI del sistema, pues para acceder al servidor siempre habrá que hacerlo como usuario “root” y con la contraseña introducida en esta sección. 12) Comienza la instalación de paquetes… 13) Al finalizar la instalación de paquetes, se pide introducir una contraseña ha utilizar para el acceso a la base de datos como usuario “root”. Después se pide la confirmación. 14) Para finalizar la instalación se pide una clave para el acceso a las interfaces de administración web de Elastix, FreePBX, VTiger, A2Billing y FOP; con su posterior confirmación. 15) Se reinicia el equipo tras la instalación y se inicia el sistema con Elastix. Antes de acceder al sistema se pide “login” y “password”, que serán “root” y la password introducida en el paso 11). Página | 97 Año 2012 ANEXOS.- Proyecto Fin de Carrera Figura 53.- Pantalla de acceso al sistema (CLI). 5. Configuraciones post-Instalación.En este punto se va a finalizar la instalación de la tarjeta Sangoma, su configuración, y la instalación de un paquete de voces en castellano para Asterisk. 5.1. Instalación de tarjeta Sangoma.En el punto 3 se trató la instalación del hardware de la tarjeta de comunicaciones Sangoma. En este punto se va a tratar la instalación de software controlador de la tarjeta Sangoma y su configuración. El controlador de la tarjeta Sangoma se denomina WANPIPE. Elastix ya trae instalado el paquete WANPIPE, por lo que para detectar la tarjeta Sangoma y configurarla no hay más que ejecutar el comando “setup-sangoma” en la línea de comandos (CLI) del servidor Elastix. El proceso de configuración de la tarjeta Sangoma, se llevará a cabo introduciendo el número de la opción que interese en cada apartado, de la forma que se muestra a continuación: -----------------------------------Configuring ISDN BRI cards [A500/B700] -----------------------------------DYDBG dev: [1 . AFT-B700-SH : SLOT=6 : BUS=0 : IRQ=10 : PORT=1 : HWEC=16 : V=34 ] DYDBG card_model 700 port 1 ----------------------------------------------------------AFT-700 detected on slot:6 bus:0 ----------------------------------------------------------Would you like to configure AFT-700 port 1 on slot:6 bus:0 1. YES 2. NO 3. Exit [1-3]: 1 Automáticamente se pasa a la siguiente pregunta, donde se pide el tipo de conexión. En este caso, como se están configurando los puertos RDSI, la conexión debe ser punto a multipunto. José Carlos Moral Cuevas Página | 98 Proyecto Fin de Carrera ANEXO 3 - GUÍA DE INSTALACIÓN Y ADMINISTRACIÓN.- Configuring port 1 on AFT-700 [slot:6 bus:0 span:1] Select connection type for port 1 4. Point to multipoint 5. Point to point [1-2, ENTER='Point to multipoint']: 2 Ahora se pide identificar el grupo al que pertenece este puerto. Esta identificación sirve para hallar el puerto de salida cuando se configuren las troncales en Asterisk (punto 6.6.1.5). Input the group for this port : 1 A continuación, se selecciona el contexto “from-pstn”, que es el que usa Asterisk por defecto para permitir las llamadas externas. Select dialplan context for group:1 1. from-pstn 2. Custom [1-2]: 1 Finalmente, escoger el TEI de difusión para este puerto, ya que es la centralita, a la que irán las solicitudes de TEI de los dispositivos RDSI que se le conecten. Configuring span:1 as TEI:127 1. YES - Keep this setting 2. NO - Specify a different TEI [1-2, ENTER='YES']: 2 Input the TEI number : 0 Este proceso podría repetirse para los otros 3 puertos RDSI, hasta haber completado los 4. La única diferencia entre ellos es que el grupo al que pertenecen variará: grupo 1 para el puerto RDSI 1; grupo 2 para el puerto RDSI 2; grupo 3 para el puerto RDSI 3; y grupo 4 para el puerto RDSI 4. Sin embargo, como en el sistema del departamento sólo se necesita un puerto RDSI, basta con configurar el puerto RDSI 1. Una vez finalizado el proceso de configuración de los puertos RDSI se muestra la siguiente información, para continuar con la configuración de los puertos analógicos: [...] DYDBG dev: [5 . AFT-B700-SH : SLOT=6 : BUS=0 : IRQ=10 : PORT=5 : HWEC=16 : V=34 ] DYDBG card_model 700 port 5 ISBN BRI card configuration complete Press any key to continue: enter Comienza la configuración de los 2 puertos analógicos: ----------------------------------------------------------AFT-700 Analog detected on slot:6 bus:0 Página | 99 Año 2012 ANEXOS.- Proyecto Fin de Carrera ----------------------------------------------------------Would you like to configure AFT-700 on slot:6 bus:0 1. YES 2. NO [1-2]: 1 Would you like to enable hardware DTMF detection? 1. YES 2. NO [1-2, ENTER='YES']: 1 Which codec will be used? 1. ALAW - Europe 2. MULAW - North America [1-2]: 1 Which Operation Mode will be used? 1. FCC 2. TBR21 3. AUSTRALIA [1-3, ENTER='FCC']: 2 Press any key to continue: enter A700 configured on slot:6 bus:0 span:1 Analog card configuration complete Press any key to continue: enter Aquí ha finalizado la configuración de los puertos, para finalizar la configuración de la tarjeta se debe proceder del siguiente modo: Configuration Complete! Please select following: 1. YES - Continue 2. NO - Exit [1-2]: 1 Zaptel and Wanpipe configuration complete: choose action 1. Save cfg: Restart Asterisk & Wanpipe now 2. Save cfg: Restart Asterisk & Wanpipe when convenient 3. Save cfg: Stop Asterisk & Wanpipe now 4. Save cfg: Stop Asterisk & Wanpipe when convenient 5. Do not save cfg: Exit [1-5]: 1 [...] Would you like to continue? 1. No - exit 2. YES [1-2, ENTER='No']: 2 [...] Wanrouter start complete... Current boot level is 2 Wanrouter boot scripts configuration... José Carlos Moral Cuevas Página | 100 Proyecto Fin de Carrera ANEXO 3 - GUÍA DE INSTALACIÓN Y ADMINISTRACIÓN.- Removing existing wanrouter boot scripts...OK Would you like wanrouter to start on system boot? 1. YES 2. NO [1-2]: 1 Verifying Zaptel boot scripts...Enabled (level:15) Verifying Zaptel shutdown scripts...Enabled (level:30) Enabling wanrouter boot scripts ...(level:14) Enabling wanrouter shutdown scripts ...(level:29) Verifying Network boot scripts...Not installed Would you like smg_ctrl to start/stop on wanrouter start? 1. YES 2. NO [1-2]: 1 smgbri start scrtip installed scuessfully smgbri stop script installed successfully Sangoma cards configuration complete, exiting... Una vez realizado el proceso de configuración de la tarjeta Sangoma es necesario modificar manualmente alguno de los ficheros de configuración de la tarjeta Sangoma, y del módulo DAHDI (módulo de Asterisk). La razón de realizar dicha modificación se debe a la mejora del cancelador de eco que se configura por defecto. Por defecto, el comando “setupsangoma”, asigna el cancelador MG2 al módulo DAHDI, sin embargo, se cambiará por el OSLEC, que da mejores prestaciones. Para realizar el cambio es necesario modificar el fichero “/etc/dahdi/system.conf”. Cambiar las líneas: • “echocanceller=mg2,1-2”; por “echocanceller= oslec,1-2”. • “echocanceller=mg2,4”; por “echocanceller=oslec,4”. • “echocanceller=mg2,5”; por “echocanceller=oslec,5”. Tras las modificaciones, reiniciar el servidor con la orden “reboot” desde el CLI. Una vez reiniciado comprobar que el fichero “/etc/dahdi/genconfig_parameters”, contienes las líneas: echo_can oslec bri_sig_style bri Si es así, la modificación del códec ha sido correcta. Para que el módulo DAHDI actualice la nueva configuración en todos los ficheros necesarios es necesario ejecutar los siguientes comandos (en el orden citado): 1. amportal stop (detiene asterisk). 2. service dahdi stop (detiene DAHDI). 3. dahdi_genconfg (utiliza el contenido de “/etc/dahdi/genconfig_parameters”, para actualizar los ficheros de configuración de DAHDI). 4. dahdi_cfg –vvv (carga la configuración de DAHDI). Página | 101 Año 2012 ANEXOS.- Proyecto Fin de Carrera 5. amportal start (inicia asterisk). 6. Service dahdi start (inicia dahdi). 7. Finalmente se deben reiniciar Asterisk, wanpipe y DAHDI: • • • • • • amportal stop. wanrouter stop (detiene el demonio wanpipe de Sangoma). service dahdi stop. wanrouter start. service dahdi start. amportal start. Ya se ha finalizado la configuración de la tarjeta Sangoma. Como se observa, el funcionamiento de esta tarjeta se debe a la interactuación de diversos módulos: Asterisk, DAHDI y WANPIPE. La estructura de comunicación entre ellos es la siguiente: ASTERISK DAHDI WANROUTER WANPIPE B700 Figura 54.- Jerarquía de módulos para las comunicaciones. Como puede verse, “WANPIPE” es el driver encargado del funcionamiento de la tarjeta Sangoma B700. Por su parte, “WANROUTER”, es la interfaz de usuario proporcionada por “WANPIPE”, y el encargado de configurar los ficheros de funcionamiento de “WANPIPE” (“etc/wanpipe”). “DAHDI” es el módulo que proporciona la API entre Asterisk y los drivers de la tarjeta de comunicaciones en cuestión. Finalmente, Asterisk es el encargado de toda la telefonía del sistema. Con esta explicación ya puede entenderse mejor cuál ha sido el proceso de instalación de la tarjeta Sangoma. En el ANEXO 4.- puede encontrarse más información sobre la configuración del hardware de comunicaciones gracias al contenido de los ficheros de configuración necesarios para que la tarjeta Sangoma funcione correctamente. 5.2. Voces en Castellano para Asterisk.Los archivos de sonido están almacenados en el directorio /var/lib/asterisk/sounds/. Dichos archivos de audio contienen frases en inglés, incluso existe un fichero dónde se encuentran en argentino (/var/lib/asterisk/sounds/es); sin embargo, en este caso interesa que estén en castellano. Para ello existe un paquete de voces en castellano, que se puede encontrar en el siguiente enlace: http://www.voipnovatos.es/. Este blog, está editado por Alberto Sagredo Castro, a quién se debe el aporte de estas voces en castellano. José Carlos Moral Cuevas Página | 102 Proyecto Fin de Carrera ANEXO 3 - GUÍA DE INSTALACIÓN Y ADMINISTRACIÓN.- A continuación se facilita un script que descarga e instala convenientemente las voces en castellano (las voces en argentino se cambian de fichero, para guardar en /var/lib/asterisk/sounds/es las voces en castellano): #!/bin/bash mv /var/lib/asterisk/sounds/es /var/lib/asterisk/sounds/es_arg mkdir /usr/src/voces cd /usr/src/voces wget wget wget wget wget wget wget wget tar tar tar tar tar tar tar tar http://www.voipnovatos.es/voces/voipnovatos-core-sounds-es-gsm-1.4.tar.gz http://www.voipnovatos.es/voces/voipnovatos-core-sounds-es-ulaw-1.4.tar.gz http://www.voipnovatos.es/voces/voipnovatos-core-sounds-es-alaw-1.4.tar.gz http://www.voipnovatos.es/voces/voipnovatos-core-sounds-es-g729-1.4.tar.gz http://www.voipnovatos.es/voces/voipnovatos-extra-sounds-es-gsm-1.4.tar.gz http://www.voipnovatos.es/voces/voipnovatos-extra-sounds-es-ulaw-1.4.tar.gz http://www.voipnovatos.es/voces/voipnovatos-extra-sounds-es-alaw-1.4.tar.gz http://www.voipnovatos.es/voces/voipnovatos-extra-sounds-es-g729-1.4.tar.gz zxvf zxvf zxvf zxvf zxvf zxvf zxvf zxvf mkdir mkdir mkdir mkdir mkdir mkdir mkdir mv mv mv mv mv mv mv voipnovatos-core-sounds-es-gsm-1.4.tar.gz voipnovatos-core-sounds-es-ulaw-1.4.tar.gz voipnovatos-core-sounds-es-alaw-1.4.tar.gz voipnovatos-core-sounds-es-g729-1.4.tar.gz voipnovatos-extra-sounds-es-gsm-1.4.tar.gz voipnovatos-extra-sounds-es-ulaw-1.4.tar.gz voipnovatos-extra-sounds-es-alaw-1.4.tar.gz voipnovatos-extra-sounds-es-g729-1.4.tar.gz /var/lib/asterisk/sounds/es /var/lib/asterisk/sounds/es/dictate /var/lib/asterisk/sounds/es/letters /var/lib/asterisk/sounds/es/silence /var/lib/asterisk/sounds/es/followme /var/lib/asterisk/sounds/es/phonetic /var/lib/asterisk/sounds/es/digits /usr/src/voces/es/* /usr/src/voces/digits/es/* /usr/src/voces/dictate/es/* /usr/src/voces/letters/es/* /usr/src/voces/silence/es/* /usr/src/voces/followme/es/* /usr/src/voces/phonetic/es/* /var/lib/asterisk/sounds/es /var/lib/asterisk/sounds/es/digits /var/lib/asterisk/sounds/es/dictate /var/lib/asterisk/sounds/es/letters /var/lib/asterisk/sounds/es/silence /var/lib/asterisk/sounds/es/followme /var/lib/asterisk/sounds/es/phonetic Tabla 16.- scrip_1.sh Una vez instaladas las voces, para conseguir que todas las respuestas de la centralita, que antes eran en inglés, ahora se escuchen en castellano, es necesario colocar la línea: language=es En los ficheros: • etc/asterisk/features_general_custom.conf • etc/asterisk/iax_general_custom.conf • etc/asterisk/queues_custom_general.conf • etc/asterisk/sip_general_custom.conf A estos ficheros puede accederse desde la línea de comandos ó desde la propia interfaz web de Elastix (“PBX” “Tools” “Asterisk File Editor”). Página | 103 Año 2012 ANEXOS.- Proyecto Fin de Carrera 6. Administración del Sistema. Software Elastix.Para poder administrar el sistema, se puede acceder a él tanto por la línea de comandos46 (CLI Elastix) del propio servidor Elastix, ó bien mediante la interfaz web que ofrece Elastix. En esta guía, prácticamente toda la administración, se realizará mediante la interfaz web de Elastix; tan solo se usará la línea de comandos en ciertos momentos, los cuales se advertirán más adelante. En cuanto al acceso a la interfaz web de Elastix, es necesario advertir que se pueden configurar varios tipos de acceso. Estos tipos de acceso se diferencian por los permisos que tengan para usar ciertos servicios. Por ejemplo, el administrador del servidor de comunicaciones (el servidor Asterisk de la Figura 45), podría configurar un tipo de acceso “Administrador” y otro tipo de acceso “Usuario”, de tal forma que el “Administrador” tenga permisos para acceder a todos los servicios proporcionados por la interfaz web; mientras que el “Usuario” solo tenga permisos para acceder a ciertos servicios, como podrían ser fax y voz. Este manual sólo tratará el acceso de “Administrador”. Para acceder a la interfaz web basta con introducir la dirección IP del servidor Elastix en el navegador de equipos desde el que el administrador desee acceder. No se debe olvidar que el equipo en cuyo navegador se está introduciendo la IP, debe encontrarse en la misma red que el servidor Asterisk. Una vez introducida la IP 47 en el navegador, la interfaz web pedirá al usuario autenticarse para poder acceder a sus servicios. 6.1. Autenticación.Para registrarse como administrador el usuario debe introducir como “Username” la palabra “admin” y como “Password”, el introducido en el paso 15) de la instalación de Elastix. Es posible cambiar el “Password”, para ello, el usuario debe encontrarse autenticado dentro de la interfaz web de Elastix. Una vez dentro, en el margen superior derecho de la ventana puede observarse el siguiente icono . Simplemente colocando el puntero del ratón sobre , aparecerá un cuadro de diálogo, dónde se podrá elegir la opción “Change Elastix Password”, para cambiar la contraseña; hacer clic sobre él y rellenar los campos correspondientes para realizar el cambio. Una vez autenticado, el administrador tendrá acceso a las siguientes funcionalidades: estado del sistema, agenda, email, fax, PBX, IM, registros de llamadas, opciones de extensión, opciones de seguridad, extras y paquetes adicionales (Addons). Todas estas opciones están accesibles desde los menús que aparecen en la interfaz de usuario: A continuación se exponen las opciones que ofrece cada menú. 46 El acceso a la línea de comandos del servidor podrá realizarse en el propio servidor, o mediante ssh, desde otro equipo en la misma red que el servidor. Tanto en uno como en otro se accederá mediante usuario “root” y la password introducida en el paso 11) del punto 4. 47 Anotando en el navegador https://asterisk/, se puede acceder también al servidor Elastix (ya que el DNS del departamento ha sido debidamente configurado). José Carlos Moral Cuevas Página | 104 Proyecto Fin de Carrera ANEXO 3 - GUÍA DE INSTALACIÓN Y ADMINISTRACIÓN.- 6.2. Sistema.Es el menú que se ofrece al usuario nada más acceder y ofrece al usuario una serie de submenús tales como: un tablón de eventos (“dahsboard”), Red (“Network”), Usuarios, Apagado (“Shutdown”), Detector de Hardware (“Hardware Detector”), Actualizaciones (“Updates”), Copia/Restauración (“Backup/Restore”) y Prefrencias. El tablón de eventos y estado del sistema (dashboard), muestra información personalizable, tales como noticias, calendario, llamadas, emails, faxes, mensajes de voz, etc. Para personalizar los eventos que aparecen en el tablón se debe pulsar el enlace “Dashboard Applet Admin”, de esta misma sección. Véase su apariencia en la Figura 55. La sección “Network” da la posibilidad al administrador de configurar los parámetros de red, tales como el nombre del host, la puerta de enlace y DNS primario y secundario. También pueden modificarse las interfaces de las tarjetas de red que tenga el servidor, pulsando sobre el nombre de la interfaz que aparece en la tabla de “Parámetros de Red”. Además esta sección ofrece más posibilidades, pues a la izquierda de la ventana aparecen una serie de enlaces: DHCP Server, DHCP Client List, Assing IP Address to Host. El enlace DHCP Server muestra al administrador los parámetros de configuración del servidor DHCP que implementa Elastix (por defecto está inhabilitado). El enlace DHCP Client List muestra la lista de equipos (dirección IP, MAC y Acción) que estuviesen conectados al servidor DHCP Elastix. Finalmente la opción Assing IP Address to Host posibilita al administrador asignar IPs estáticas a determinados equipos, simplemente pulsando sobre el botón “Asignar dirección IP” y rellenando los campos nombre, dirección IP y MAC del equipo en cuestión. Figura 55.- Menú “Sistema” Sección “Dashboard”. La sección Usuarios (véase Figura 56) permite al administrador gestionar los usuarios que acceden al sistema y el tipo de acceso que tienen a éste. A la izquierda de la pantalla se muestran los enlaces: Usuarios, Grupos y Permisos de Grupos. La sección Usuarios muestra una lista de todos los usuarios creados que tienen acceso al sistema, con su ‘Login’, ‘Nombre’, ‘Grupo’ y ‘Extensión’. Además esta sección posibilita la creación de nuevos Usuarios, pulsando el botón “Crear Nuevo Usuario”. El enlace Grupos permite al administrador gestionar los tipos de acceso, crear y eliminar grupos. Por defecto existen tres tipos de acceso (grupos) diferentes: Página | 105 Año 2012 ANEXOS.- Proyecto Fin de Carrera Administrador, Operator, Extensión. Cada uno de esos grupos tiene acceso a diferentes herramientas de la interfaz web Elastix. Las herramientas del sistema a las que un usuario puede acceder, pueden ser configuradas por el administrador en el enlace Permisos de Grupos, y pulsando el botón “Mostrar” para mostrar los permisos del grupo en cuestión. De forma que dependiendo de los permisos que el administrador dé a cada grupo, los usuarios pertenecientes a ese grupo tendrán un determinado menú principal en su interfaz web Elastix. En la configuración del sistema del Departamento de Telemática se ha optado por usar los grupos Administrador, para administrador; y Extensión para los demás usuarios. El grupo Administrador ha permanecido con los permisos que trae por defecto, mientras al grupo Extensión se le han desactivado los permisos Webmail 48 y Vacations 49. Figura 56.- Menú “Sistema” Sección “Usuarios”. El submenú Apagado (“Shutdown”) simplemente permite el apagado o reinicio del sistema, marcando la casilla deseada y pulsando “Proceder…”. El submenú “Hardware Detector” posibilita al administrador la detección de tarjetas telefónicas, como la Sangoma instalada en este sistema. En este caso, no es de mucha utilidad porque la tarjeta Sangoma ya fue detectada y debidamente instalada durante la instalación de Elastix, pues éste ya contiene el paquete con los drivers de Sangoma. La sección “Updates” muestra al administrador los repositorios instalados y los que puede instalarse o actualizarse. También se muestra a la izquierda el enlace “Packages”, que posibilita la instalación o actualización de paquetes instalados. El submenú “Backup/Restore”, permite la realización de una copia de seguridad, o su recuperación en un momento dado. Se puede incluso configurar que se haga una copia de seguridad del sistema diaria, mensual o semanalmente. Para realizar la copia se pulsa “Desarrollar el respaldo”, se seleccionan las casillas de las carpetas que se desea hacer la copia de seguridad y pulsar “Procesar”; se generará un fichero .tar con la copia de seguridad (el fichero aparecerá en la página principal de este submenú, pulsando sobre él se podrá descargar el fichero). 48 Se ha desactivado este servicio porque en el sistema instalado en el Departamento, los usuarios no van a usar el servicio de Email proporcionado por Elastix, ya que el Departamento ya dispone de su propio servicio de correo electrónico. 49 El servicio Vacations emite un email cuando un usuario recibe un email, y el servicio está activo, se emite otro email avisando de que el usuario está de vacaciones. Por lo que Vacations es inútil si no se usa Webmail. José Carlos Moral Cuevas Página | 106 Proyecto Fin de Carrera ANEXO 3 - GUÍA DE INSTALACIÓN Y ADMINISTRACIÓN.- En la sección Preferencias, en la parte izquierda de la pantalla se muestran los enlaces: Idiomas, Fecha/Hora, Temas y Currency. Con ellos se pueden configurar el idioma 50, la fecha/hora, el tema/apariencia de la interfaz web y la moneda usada (currency) en el módulo A2Billing (deshabilitado por defecto). 6.3. Agenda.El menú “Agenda” ofrece dos herramientas: un calendario (Calendar) y un libro de direcciones (Address Book). El calendario, es una herramienta muy útil para marcar eventos y fechas, de tal forma que avise al usuario cuando se acceda al menú “Sistema” (punto 6.2). Figura 57.- Menú “Agenda” Sección “Calendario”. Por su parte, el libro de direcciones ofrece al usuario la posibilidad de llamar a cualquiera de las extensiones del departamento (pulsando el icono verde de llamada que se observa en la Figura 58), crear un nuevo contacto (botón “Nuevo Contacto”), consultar el número de extensión de cualquiera de los contactos del deparmento o incluso transferir la llamada, cuando se esté hablando, hacia una de las extensiones del departamento (columna Transfer de la tabla de direcciones). Figura 58.- Menú “Agenda” Sección “Libro de Direcciones”. 50 Tras la instalación de Elastix, es recomendable cambiar el idioma a “Español”, para que los menús aparezcan en castellano (aunque no todos están traducidos). En esta guía, las figuras están tomadas con el idioma “Español”. Página | 107 Año 2012 ANEXOS.- Proyecto Fin de Carrera 6.4. Email.El menú “Email” ofrece al administrador la posibilidad de administrar el servidor de correo que proporciona Elastix. Además facilita un cliente web de correo (RoundCube Webmail) para acceder a los correos del servidor. No obstante, en este punto no se va a profundizar, debido a que el servidor de correo de Elastix no se usará en el sistema instalado, ya que el Departamento dispone de su propio servidor de correo. Simplemente exponer que el menú Email muestra la capacidad de crear diferentes dominios (submenú “Domains”), crear cuentas (submenú “Accounts”), un cliente web (submenú “Webmail”), gestión AntiSpam (submenú “Antispam”), gestión de correos (submenús “Email list” y “Email stats”) y la opción Vacations (explicada en nota 49). Figura 59.- Menú “Email”. 6.5. Fax.El menú “Fax” permite el uso, el envío y la recepción de faxes. Para llevar a cabo esta finalidad se dispone de las opciones: “Virtual Fax”, “Fax Master”, “Fax Client”, “Fax Viewer” y “Email template”. La opción “Virtual Fax” (véase Figura 60) ofrece al administrador varias posibilidades que se observan a la izquierda de la pantalla: “Virtual Fax List” (listado de los faxes existentes), “New Virtual Fax” (creación de un nuevo fax software) y “Send Fax”. Para llevar a cabo correctamente la creación de un nuevo fax software, se deben rellenar correctamente los campos que ofrece la sección “New Virtual Fax” y además debe haberse creado previamente una extensión IAX (en el punto 6.6.1.2 se verá cómo crearla) para el fax. Los campos de la sección “New Virtual Fax”, son concretamente: “Nombre del Fax Virtual”, “Extensión de Fax (IAX)”, “Email Asociado”, “Secreto (IAX)”, “Nombre Caller ID”, “Código País”, “Código Área”, y “Número Caller ID”. En el sistema del que se está tratando en este texto, se ha creado un fax vitual con los siguientes valores para los campos anteriores: • “Nombre del Fax Virtual” = Departamento. • “Extensión de Fax (IAX)”= 40 (punto 6.6.1.2). • “Email Asociado”= usuario@dominio.es (es necesario un email). • “Secreto (IAX)” = clave_secreta_extensión_IAX. • “Nombre Caller ID”= Departamento de Telematica. • “Código País”= +34 (ó 0034). • “Código Área”= 95. • “Número Caller ID”= 954487385. Por su parte, la sección “Send Fax” tiene la función de enviar faxes. Para enviar un fax el usuario debe seleccionar el dispositivo de fax a usar (campo “Fax Device to use:”), rellenar el campo de número 51 de fax de destino (“Destination fax numbers:”); y por último completar el contenido del fax, que puede ser introduciendo el texto deseando manualmente (opción “Text 51 Con respecto al número de fax de destino, cabe advertir al usuario que siempre debe marcar el prefijo de línea de salida a la red telefónica, para que la centralita Asterisk envíe el fax por dicha línea. José Carlos Moral Cuevas Página | 108 Proyecto Fin de Carrera ANEXO 3 - GUÍA DE INSTALACIÓN Y ADMINISTRACIÓN.- Information”), o subiendo un fichero de texto que el usuario tenga almacenado en el equipo desde el que se está accediendo (opción “File Upload”). Los formatos de fichero de texto soportados son pdf, tiff y txt. Figura 60.- Menú “Fax” Opción “Virtual Fax”. La sección “Fax Master” porporciona la posibilidad de almacenar una dirección de correo electrónico donde se recibirán las notificaciones de faxes recibidos, errores y resúmenes de actividad del Servidor de Faxes. El submenú “Fax Clients” permite al administrador gestionar los equipos de la red del departamento que pudiesen tener un cliente software para el envío de faxes y que quisiesen enviar faxes a través del servidor Elastix. Para ello el administrador simplemente tiene que introducir la IP del equipo que tiene el cliente software de faxes, en el recuadro dispuesto para ello y guardar los cambios. La opción “Fax Viewer” (véase Figura 61) ofrece la capacidad de acceder a los faxes recibidos. Elastix almacena los faxes recibidos52, ordenándolos por nombre de la compañía, fax de la compañía y fax destino, de manera que se puede buscar el nombre de la compañía o fax de la compañía o incluso la fecha y filtrar los faxes para encontrar un fax recibido entre los muchos que puedan hallarse almacenados. Figura 61.- Menú “Fax” Opción “Fax Viewer”. Finalmente, la opción “Email Template” muestra una plantilla de correo que será el que se envíe a la dirección de correo introducida en “Fax Master”. Esta plantilla puede modificarse pulsando el botón “Editar Parámetros”. 52 Los faxes enviados no aparecen. Página | 109 Año 2012 ANEXOS.- Proyecto Fin de Carrera 6.6. PBX.El menú PBX es el más importante de cara al administrador, ya que es el facilita la gestión de la telefonía. En dicho menú se muestran las secciones: “PBX Configuration”, “Operator Panel”, “Voicemail, Monitoring”, “Endpoint Configurator”, “Conference”, “Batch of Extension”, “Tools”, “Flash Operator Panel” y “VoIP Provider”. 6.6.1. PBX Configuration. La opción “PBX Configuration” es una versión embebida del software FreePBX, que se utiliza como herramienta para la configuración de Asterisk. En esta sección se observa, a la izquierda de la pantalla, un menú de opciones para llevar a cabo la configuración de la telefonía. A continuación, se muestra el uso de esta herramienta para llevar a cabo la configuración del sistema del departamento de telemática. 6.6.1.1. Languages: El enlace “Languages” del menú de la izquierda permite crear una instancia de los idiomas instalados en el sistema (véase apartado 5.2), para que las locuciones se reproduzcan en el idioma configurado. En algunas secciones del menú “PBX”, como la creación de extensiones (véase punto 6.6.1.2) y rutas entrantes (véase punto 6.6.1.7), se pide que se inserte la instancia del idioma para configurar el idioma de las locuciones de Asterisk. En el sistema se encuentran instaladas voces en castellano y en inglés (también hay un paquete de voces en argentino, pero éstas no interesan). Las voces en castellano se encuentran en el directorio “/var/lib/asterisk/sounds/es”, mientras que las voces en inglés se encuentran en el directorio “/var/lib/asterisk/sounds/en”. Por este motivo, cuando se creen las instancias en la sección “Languages”, en el campo “Código de idioma” se introducirá “es”, para el español y “en” para el inglés. Por tanto, en la creación de las instancias se deben completar los campos de la siguiente forma: 1) Castellano: • “Descripción”: spanish • “Código de Idioma”: es • “Destino”: IVR (aunque no exista ningún menú de operadora automática IVR). 2) Inglés: • “Descripción”: english • “Código de Idioma”: en • “Destino”: IVR (aunque no exista ningún menú de operadora automática IVR). Tras completar los campos, pulsar el botón “Submit Changes” y aparecerá una una línea rosada como la siguiente: Es necesario pulsar dicha línea para guardar los cambios. Todos los cambios que se realicen en la configuración de la PBX, generarán la aparición de dicha línea para guardar los cambios. Para crear una nueva instancia de idioma, presionar el botón de la derecha de la pantalla. Para editar o eliminar una instancia de idioma, seleccionar el idioma en cuestión de la lista de la derecha de la pantalla, y editarlo (tras editar, “Submit Changes” y aplicar cambios); ó eliminarlo pulsando el botón “Delete” (se encuentra junto al botón “Submit Changes”) y aplicar cambios. José Carlos Moral Cuevas Página | 110 Proyecto Fin de Carrera ANEXO 3 - GUÍA DE INSTALACIÓN Y ADMINISTRACIÓN.- 6.6.1.2. Creación de extensiones: Las extensiones son necesarias para posibilitar las llamadas entre usuarios, pues cada usuario tendrá una extensión. Para crear una extensión se debe acceder al enlace “Extensiones” del menú de la izquierda. Al acceder se muestra la siguiente pantalla: Figura 62.- Menú “PBX” Opción “PBX Configuration”. Añadir Extensión. En esta pantalla se debe elegir el tipo de dispositivo que soportará la extensión que se desea crear. Existen los siguientes tipos de dispositivos disponibles: SIP, IAX2, ZAP, DAHDI, Custom. Los dispositivos SIP son los que usan el protocolo SIP para el establecimiento de llamadas sobre VoIP, y son los que se usarán para crear las extensiones de los usuarios en este sistema. El protocolo IAX2 es un protocolo que aún no está debidamente estandarizado, es usado por Asterisk para la comunicación con otros servidores que usan Asterisk o por clientes que usen IAX (se usará para la extensión del fax). Los dispositivos ZAP se refieren a aquellas extensiones que identificarán a un dispositivo conectado una tarjeta de comunicaciones (como la Sangoma). Los dispositivos DAHDI son la mejora de los ZAP, el último daba problemas de compatibilidades, superados con DAHDI. Así pues, a continuación se expondrá el ejemplo de creación de una extensión SIP y una extensión IAX2 (la del fax). Comenzando en la pantalla “Add Extension”, la creación de la extensión SIP se lleva a cabo escogiendo en la pestaña “Device”, el dispositivo “Generic SIP Device” y pulsando “Submit”. Se accederá a la pantalla de configuración de la extensión SIP en cuestión y deberán rellenarse los campos convenientemente. Tras rellenar los campos, pulsar “Submit” y posteriormete la línea rosada que aparecerá, para guardar los cambios en el sistema. Tras crear la extensión, si volvemos a pulsar sobre ella (en el lateral derecho) aparecerán nuevos campos que no aprecian al crearla, más los que ya aparecían. En la siguiente tabla se describen los significados de todos los campos que aparecerán: Add Extension User Extension El número de extensión que se deberá ingresar para contactar con usuario actual. Display Name El nombre de usuario correspondiente a la extensión. Aparecerá en dispositivos que tengan la capacidad de mostrarlos, como así también en listados y otros. CID Num alias Aquí se puede especificar un número de extensión alternativo que aparecerá como CallerID, cuando la misma realice llamadas de manera interna. No tiene efecto en llamadas externas. Página | 111 Año 2012 ANEXOS.- SIP Alias Proyecto Fin de Carrera Permite ingresar un nombre de dominio que luego se pueda invocar o marcar, empleando la nomenclatura propia del protocolo SIP (usuario@sipproxy, etc.) Extension Options Outbound CID Permite sobrescribir la información de Caller ID de la línea, para las llamadas salientes/externas (outbound). Ring Time Establece la cantidad de segundos de espera hasta que el llamado es finalmente derivado al VoiceMail. Al dejar este valor en la opción “Default”, se tomará la configuración general a nivel del sistema. Call Waiting Activa o desactiva la funcionalidad de llamada en espera para esa extensión en particular. También es posible activar o desactivar esta funcionalidad mediante el uso de Feature Codes. Call Screening Emergency CID (Memory | No Memory )Esta funcionalidad identifica al llamante mediante dos métodos principales (vía callerID –Modalidad Memory- o solicitándole al llamante que diga su nombre –modalidad No Memory-), de manera tal que el usuario de la extensión tenga la posibilidad de aceptarla o rechazarla, ya que la central le informa previamente de qué número se trata, o bien transmite la grabación previamente solicitada al llamante, con su nombre. Si la extensión realiza una llamada saliente a través de una ruta configurada como “Emergency”, el callerID utilizado será el configurado en este campo, con preponderancia sobre cualquier otro que se haya configurado en alguna otra sección del sistema. Assigned DID/CID DID Description Permite ingresar una descripción para el DID representado por esta extensión. Add Inbound DID Permite asociar un DID determinado, a esta extensión. Es la opción más simple para configurar una ruta entrante que asocie un número público con una extensión. El mismo debe ser ingresado con el mismo formato en el que ha sido asignado desde la línea telefónica. Add Inbound CID Permite especificar un CallerID específico para el DID asignado en el campo de arriba. Admite una secuencia de discado estándar, o bien los códigos “Private”, "Blocked”, “Unknown”, “Restricted”, “Anonymous” y "Unavailable” Device Options (Utilizando un device SIP) secret Permite establecer la contraseña que cualquier artefacto (teléfono, softphone, etc.) deberá utilizar para autenticarse y poder registrarse con la extensión actual en la PBX. dtmfmode (rfc2833 | info | inband) Especifica de qué manera deben ser esperados los tonos DTMF de un teléfono u otro artefacto, por la PBX, para esa extensión. rfc2833 es generalmente la mejor aceptada. José Carlos Moral Cuevas Página | 112 Proyecto Fin de Carrera ANEXO 3 - GUÍA DE INSTALACIÓN Y ADMINISTRACIÓN.- canreinvite Indica el contexto al que pertenecerá la extensión, y por ende los permisos de acceso que tendrá a distintas secciones del dialplan y las rutas salientes (outbound routes). Lo más indicado es dejarlo como está por defecto. Host (dynamic | hostname | Dir. IP) Indica de qué manera ubicar al cliente que utiliza esa extensión, ya sea por DHCP, por nombre de host, o por dirección IP fija, respectivamente. Usualmente se utiliza dynamic. type (peer | user | friend) Indica de qué manera debe considerar Asterisk a esa extensión. Si se especifica peer, Asterisk asume que se trata de una entidad a través de la cual cursar llamadas (un proveedor IP por ejemplo). Si se trata del valor user, se asume que la extensión cursará llamadas a través de Asterisk. Si se emplea el valor friend, se asume que funcionará de las dos maneras al mismo tiempo. Lo más indicado es usar friend. nat (yes | no) Indica si el servidor Asterisk debe funcionar teniendo en cuenta que está detrás de un firewall con NAT. No se refiere a los clientes, sino al servidor en sí. port El puerto que utilizará el cliente para el protocolo SIP (usualmente el 5060) qualify callgroup pickupgroup (yes | no | milisegundos) Especifica si el servidor Asterisk debe chequear o no si el cliente es alcanzable. El valor “Yes” establece un chequeo cada 60 segundos. Sólo es válido si el tipo de cliente (type) está establecido en “peer”. (callgroups) Define los callgroups correspondientes a llamadas a esta extensión. Define qué pickup group puede atender esta extensión empleando el feature code “*8” disallow (all) Deshabilita todos los códecs para la extensión actual. Se emplea en combinación con “allow”. Códecs disponibles en Asterisk: alaw, ulaw, g722, g723.1, g726, gsm, ilbc, lpc10, speex y adpcm (esta es la nomenclatura a usar en los campos vacíos, si se desean poner varios, utilizar “&” entre cada códec). allow (códec) Define qué códecs y en qué orden de preferencia deben ser empleados. Códecs disponibles en Asterisk: alaw, ulaw, g722, g723.1, g726, gsm, ilbc, lpc10, speex y adpcm (esta es la nomenclatura a usar en los campos vacíos, si se desean poner varios, utilizar “&” entre cada códec). dial Permite definir la cadena de texto que el dialplan utiliza para marcar la extensión actual. En el caso más habitual (utilizando la opción de tecnología “Generic SIP Device, este campo lleva el valor “SIP/XXXX” en donde 1234 es el número de extensión) accountcode (cadena de texto) Permite ingresar un código o nombre mnemónico que luego puede ser utilizado para identificar a la extensión en el listado del CDR, a los efectos de efectuar un proceso de tarifación. mailbox (XXXX | XXXX@contexto | XXXX, YYYY) Permite ingresar el número de mailbox o mailboxes del sistema, que se deseen chequear para que la Página | 113 Año 2012 ANEXOS.- Proyecto Fin de Carrera terminal active su indicador de mensajes de voz por escuchar. deny (0.0.0.0/0.0.0.0) Permite especificar una dirección de red y su máscara, para denegar el uso de la extensión desde una red o host específico. permit (0.0.0.0/0.0.0.0) Permite especificar una dirección de red y su máscara, para permitir el uso de la extensión desde una red o host específico. custom context Esta lista desplegable permite seleccionar el contexto al que pertenece la extensión, sin necesidad de teclearlo, ya que al establecerlo, el campo “context” de más arriba, se completa automáticamente. Cabe destacar que aquí se selecciona al contexto por su descripción, mientras que en el campo “context” se utiliza el nombre (véase punto 6.6.1.4 cómo crear un contexto). Dictation Services Dictation Service Dictation Format Email Address Permite habilitar el servicio de dictado por voz. Permite seleccionar el formato de compresión de audio del servicio de dictado por voz. Permite ingresar una dirección de e-mail adonde Asterisk envíe el audio correspondiente al dictado por voz. FAX Enabled Habilita la extensión en cuestión para recibir/enviar faxes. Así la extensión entiende las señales de fax. Fax Email Dirección email donde los faxes enviados a esta extensión serán entregados. Language Language Code Permite especificar el lenguaje en que esta extensión utilizará los audios del sistema y los diversos avisos de voz, siempre que se encuentren instalados (se instalaron en el punto 5.2). En este sistema interesa el castellano, por lo que en este campo se introducirá “es” (véase punto 6.6.1.1). Recording Options Record Incoming Permite especificar la política de grabado de conversaciones de llamadas entrantes, para la extensión. Record Outgoing Permite especificar la política de grabado de conversaciones de llamadas salientes, para la extensión. Voicemail & Directory Status Voicemail Password Habilita o inhabilita el servicio de voicemail para la extensión. Especifica una clave (debe ser numérica) para poder acceder al voicemail de la extensión. El usuario luego puede cambiarla una vez dentro del sistema José Carlos Moral Cuevas Página | 114 Proyecto Fin de Carrera ANEXO 3 - GUÍA DE INSTALACIÓN Y ADMINISTRACIÓN.- de voicemail, al que se accede desde su terminal con el código *98. Email Address Permite especificar una dirección de e-mail adonde se enviarán notificaciones de nuevos mensajes de voicemail. Pager Email Address Permite especificar una dirección de e-mail hacia donde se enviarán notificaciones cortas de nuevos mensajes de voicemail . Email Attachment Activa o desactiva el envío de los mensajes de voz recibidos, en forma de archivo audible adjunto. Play CID Activa o desactiva el dictado por voz del CallerID que dejó el mensaje, previo a la reproducción del mensaje en sí. Play Envelope Activa o desactiva el dictado por voz de la información adicional al mensaje de voz en sí, como ser fecha y hora del mismo. Delete Voicemail Permite establecer que los mensajes de voz ya notificados, sean borrados automáticamente del sistema. VM Options Permite especificar opciones avanzadas de Voicemail, en forma directa a Asterisk (no se utiliza habitualmente) VM Context Permite especificar el contexto por defecto en donde se encuentra el Voicemail. Dejar el valor por defecto. VMX Locater VMX Locater® Permite habilitar o inhabilitar el localizador de llamadas VMX, si se encuentra instalado (Requiere que la extensión tenga habilitada la funcionalidad VoiceMail). Use when Permite seleccionar cuándo debe entrar en efecto la funcionalidad: en Ocupado (Busy) o en No Contesta (Unavailable). Voicemail Instructions Permite elegir entre los avisos de voicemail del sistema, o simplemente un beep. Press 0 Permite especificar un destino asociado con la opción 0 de VMX. Press 1 Permite especificar un destino asociado con la opción 1 de VMX. Press 2 Permite especificar un destino asociado con la opción 2 de VMX. Tabla 17.- Descripción de campos necesarios para la creación de una extensión. A continuación, en la Figura 63 se presenta un ejemplo de creación de una extensión, con los campos necesarios, debidamente cumplimentados: Página | 115 Año 2012 ANEXOS.- Proyecto Fin de Carrera Figura 63.- Ejemplo de creación de una extensión. Es importante mencionar que en el sistema instalado en el departamento, el campo “Outbound CID” debe completarse sólo para ciertas extensiones. Esto es debido al plan de numeración de la línea RDSI que se verá punto 6.6.1.6, para que cuando la extensión en cuestión salga por la RDSI, se muestre al llamado el CID que se le ha asignado. A continuación se muestra la asignación del “Outbound CID”, por extensión (sólo éstas): Extensión Outbound CID José Carlos Moral Cuevas 21 954467361 22 954467362 23 954467090 24 954467363 Página | 116 Proyecto Fin de Carrera ANEXO 3 - GUÍA DE INSTALACIÓN Y ADMINISTRACIÓN.25 954467364 26 954467366 27 954467365 28 954467367 29 954467368 Tabla 18.- Asignación de Outbound CID por extensión. Por otro lado, para la creación de una extensión IAX2, el procedimiento es exactamente el mismo (los campos a rellenar son los mismos que para la extensión SIP), la única diferencia es que en este caso, cuando se escoja el dispositivo (“Device”), debe escogerse “Generic IAX2 Device”. En el sistema del departamento, la única extensión IAX2 necesaria, es para el fax, por lo que habría que habilitar la opción de FAX e introducir una dirección de correo dónde los faxes serán enviados (esto último es sólo si se desea que se avise al correo, de cualquiera de las formas seguirán apareciendo en la bandeja de faxes recibidos). Antes de terminar con este punto, cabe recordar que el campo “Custom Context” de todas las extensiones de los profesores y el fax será Externas; sin embargo, para la extensión de la sala de reuniones (34) y el interfono (20), el campo “Custom Context” será Internas e Intercom, respectivamente. 6.6.1.3. Creación de “Otras Aplicaciones” (“Misc Applications”): Esta opción se usa para crear aplicaciones varias que pueden utilizarse para añadir códigos de características, los cuales se pueden marcar desde teléfonos internos y pueden tener varios destinos disponibles en FreePBX. En este sistema, se usará la opción “Otras Aplicaciones” para crear los números de marcación desde el interfono hacia las extensiones de los profesores (70 + nº de despacho). Cuando se accede a la opción “Otras Aplicaciones”, que se observa en el menú listado de la izquierda, se ofrecen varios campos a rellenar: Descripción, Código de característica, Estado de la Característica y Destino. La Descripción no es más que un nombre para identificarlo dentro de una posible lista de aplicaciones (en caso de crear varias). El Código de Característica es el número que se marcará desde el interfono para llamar a la extensión del profesor en cuestión (70XX). El Estado de la característica deber ser siempre “Habilitado”, para que al marcar el número del Código de Característica, se lleve a cabo la llamada. Finalmente en el campo Destino, si se pulsa sobre el recuadro desplegable, hay que pulsar sobre “Extensions”, y escoger la extensión que se desea que suene cuando se marca el Código de Característica en cuestión. Se deben repetir estos pasos con todas las extensiones de los profesores, para cada Código de Característica “70XX”. 6.6.1.4. Custom Context: Esta opción permite crear distintos contextos, de manera que al crear una extensión pueda elegirse el contexto al que se desea pertenezca. El contexto consiste en dar ciertos permisos, como permitir a una extensión salir al exterior o no. Por ejemplo, la extensión de un profesor debe tener permiso para hacer llamadas al exterior, mientras que la extensión del interfono no debe poder realizar llamadas al exterior. Página | 117 Año 2012 ANEXOS.- Proyecto Fin de Carrera Para usar la opción “Custom Context” se debe acceder a la versión no embebida de FreePBX. Para acceder a la versión no embebida de FreePBX se debe pulsar sobre el enlace “freePBX Sin embeber” del menú del lateral izquierdo (es el último enlace de dicho menú). Sin embargo, si se pulsa el enlace por primera vez, el acceso le será prohibido, pues por seguridad se encuentra deshabilitado, para evitar que el usuario acceda y realice actualizaciones de FreePBX, ya que si se actualiza 53 FreePBX desde su versión no embebida, se producirán problemas de compatibilidad con Elastix. Por tanto, para habilitar el acceso al enlace se debe acudir al menú Seguridad (“Security”), situado en la barra de menú principal de Elastix, pulsando la flecha desplegable, se podrá observar el menú “Security”. Dentro de ese menú, en la sección “Advanced Settings”, se podrá activar el acceso a FreePBX no embebido, colocando en ‘ON’ la opción: “Habilitar acceso directo (No embebido) a FreePBX:”. Para que se pueda llevar a cabo el cambio también es necesario rellenar los campos: “Contraseña Base de Datos y Administración Web FreePBX:” y “Confirmación de la Contraseña:” (se aconseja que sean los mismos que se usaron para el ‘admin’ de Elastix, así no se olvidará). Puede observarse que aparte de esto, también se puede habilitar otra opción en esta sección: “habilitar llamadas SIP anónimas”; pero ahora sólo interesa acceder a FreePBX sin embeber. Finalmente, pulsar el botón “Guardar” para almacenar cambios. Cuando se acceda al enlace “freePBX Sin embeber”, se pedirá el usuario y contraseña. El usuario será “admin”, y la contraseña, la introducida en los campos mencionados en el párrafo anterior. Una vez en la ventana original de FreePBX, se debe instalar el módulo Custom Context. Para ello, pulsar sobre la pestaña . Posteriormente pulsar sobre la opción “Module Admin”. Bajo el título Module Admin de la nueva ventana que se ha abierto, aparece un cuadro desplegable, dónde ha de escogerse la opción “Extended Repository” y posteriormente pulsar “Checking for updates online”. Tras la búsqueda, aparece una lista, al final del todo, en la sección “Third Party Addon”, aparece el módulo “Custom Context”, pulsar sobre él, después sobre “Action” y activar la casilla de “Download and Install”. Para que la instalación se lleve a cabo, al final de la lista, a la derecha aparece un botón (“Process”) que hay que pulsar. Aún no se ha llevado a cabo la instalación, pues hay que confirmar las instalaciones que se van a llevar a cabo, en este caso solo “Custom Context”. Por tanto, confirmar, esperar que se instale y pulsar enlace “return” para volver a FreePBX. Tras la instalación, aparecerá un recuadro naranja diciendo: “Aply Configuration Changes”, pulsar para guardar cambios. Posteriormente pulsar también “Continue with reload”, para continuar. Ya está el módulo instalado debidamente. Se encuentra en la pestaña , al final del menú. Pulsar sobre el enlace “Custom Context” para acceder. Para crear un contexto, inicialmente solo hay que rellenar los campos “Context” y “Description”. El campo “Context” es el nombre del contexto, y el campo “Description” es el identificador usado para describir el contexto. En este sistema se han creado tres contextos diferentes, cuyo campo “Context” equivale a: internas, externas e intercom, respectivamente. El campo “Description” es: No salen al exterior, Salen al exterior e Interfono. Tras la creación de los contextos, a la derecha de la pantalla aparecerán los distintos contextos creados, si ahora se accede a cada uno de ellos saldrán diferentes opciones para configurarlos. El contexto externas, debe permitir la salida al exterior de todas las llamadas, por lo que para configurarlo se realizará lo siguiente. Pulsamos sobre él a la derecha de la pantalla. El campo “Dial Rules” se deja en blanco. Se pulsa sobre el recuadro desplegable de “Select All To:” y se marca “Allow”; de esta forma todas las opciones de marcado se pondrán en “Allow”, y 53 Para actualizar FreePBX correctamente, hay que hacerlo desde el menú “Sistema”, sección “Updates”, ahí aparecerá si hay nuevas actualizaciones de FreePBX para Elastix. También pueden realizarse las actualizaciones con la herramienta “yum” desde el CLI del servidor. José Carlos Moral Cuevas Página | 118 Proyecto Fin de Carrera ANEXO 3 - GUÍA DE INSTALACIÓN Y ADMINISTRACIÓN.- se permitirán las llamadas al exterior 54. No obstante, marcar como “Deny” los campos correspondientes a las “Miscellaneous Applications” (también llamadas “Otras Aplicaciones”, punto 6.6.1.3) que se han creado para las llamadas desde el interfono a los profesores (aparecen como “app-miscapps-X”, en la sección “Internal Dialplan” del contexto actual). También se ponen como “Deny”, los campos en rojo “ENTIRE Basic Internal Dialplan” y “ALL OUTBOUND ROUTES”. Finalmente, pulsar “Submit” y “Apply Configuration Changes”, y el contexto ha sido configurado. Para el contexto internas, se procede como el anterior, pero tras habilitar todo, se debe ir a la sección “Outbound Routes” y poner todas en “Deny” (el campo que aparece en rojo “ALL OUTBOUND ROUTES” también debe ponerse en “Deny”). También hay que deshabilitar las “Miscellaneous Applications” y el campo en rojo “ENTIRE Basic Internal Dialplan”, como en el párrafo anterior. De esta forma, no se permiten las llamadas al exterior para este contexto, ni el marcado perteneciente al interfono. Finalmente, pulsar “Submit” y “Apply Configuration Changes”. Finalmente, para la configuración del contexto intercom hay que habilitar los campos correspondientes a las “Miscellaneous Applications” que se han creado para las llamadas desde el Interfono a los profesores, con prefijo “70”. En este contexto, es necesario rellenar el campo “Dial Rules” con: 70XX Además debe marcarse la opción “Allow Rules” en el recuadro desplegable de “Select All To:”; para permitir las llamadas solo si el marcado cumple la regla de marcado (“Dial Rules”). Finalmente se ponen como “Deny”, los campos en rojo “ENTIRE Basic Internal Dialplan” y “ALL OUTBOUND ROUTES”. No olvidar pulsar “Submit” y “Apply Configuration Changes”. Siempre que se desee modificar algo de los contextos creados, es necesario acudir a la versión de FreePBX sin embeber, para acceder al menú “Custom Context”. 6.6.1.5. Troncales: Las troncales son las líneas de entrada y salida hacia el operador. En el caso del sistema del Departamento, se tienen 3 troncales: una respectiva a la línea RDSI; y dos que pertenecientes a las líneas analógicas. Cuando se accede al enlace “Troncales” del menú de la izquierda, se observan una serie de posibles troncales a crear, dependiendo de la tecnología que se use. Como ya se ha comentado, el sistema posee una troncal RDSI y dos analógicas, por lo que las tres troncales van a ser DAHDI. Se crearán de una en una, pulsando el enlace “Add DAHDI Trunk” y rellenando los campos convenientemente. En la Tabla 19 se indica la descripción del uso de cada campo: General Settings Trunk Name Nombre asignado a la troncal para identificarla, en caso de que se configure más de una troncal. Outbound CallerID Permite especificar el CallerID que se utilizará cuando se cursen llamadas a través de esta troncal. Se puede ingresar en el formato “Nombre” <XXXXXXXX>, o bien la expresión “hidden” si se desea ocultar la información. 54 Nótese, que si después de haber configurado un contexto, se crean nuevas rutas salientes, o “Internals Dialplan”, habrá que volver al contexto para habilitarlas (“Allow”), porque por defecto estarán en “deny”. Página | 119 Año 2012 ANEXOS.- Proyecto Fin de Carrera Determina qué CID saliente es permitido en esta troncal. El recuadro desplegable ofrece una serie de opciones (IMPORTANTE: los Emergency CID, definidos en una extensión, SIEMPRE son usados, si esta troncal forma parte de una Emergency Route, sin tener en cuenta lo que se configure en este campo): CID Options • Allow Any CID: Todos los CIDs pueden ser transmitidos. • Block Foreing CIDs: Bloquea cualquier CID resultado de reenviar una llamada del exterior. Los CID definidos en las extensiones son transmitidos. • Remove CNAM: eliminará el CNAM de cualquier CID saliente por esta troncal. • Force Trunk CID: Siempre se usará el CID definido para esta troncal, excepto si la troncal forma parte de una Emergency Route, con un Emargency CID en una extensión. Maximum Channels Permite especificar la cantidad máxima de canales simultáneos que pueden ser empleados en la troncal actual para llamadas salientes. No tiene efecto en llamadas entrantes. Un valor en blanco significa que no hay un límite establecido. Disable Trunk Esta opción permite deshabilitar la troncal actual para todas las rutas que hagan referencia a él. Monitor Trunk Failures Permite especificar un script del tipo AGI que será invocado por cualquier error reportado por la troncal, siempre que no sea “NOANSWER” o “CANCEL”. Para que el script entre en actividad, es necesario chequear la casilla “Enable”. Outgoing Dial Rules Permite especificar un conjunto de reglas que determinarán la manera en que deben ser marcados los números a través de la troncal pudiendo hacerlo directamente (tal como se marca), agregándoles dígitos, o quitándoselos: X: Coincide con cualquier dígito del 0 al 9 Z: Coincide con cualquier dígito del 1 al 9 N: Coincide con cualquier dígito del 2 al 9 Dial Rules [1, 2, 3-5]: Coincide con cualquier número o carácter expresado dentro de los corchetes. En este ejemplo, coincide con 1, 2, 3, 4, ó 5. ‘ “.”: Coincide con cualquier número o dígito (pero no puede ser utilizado antes de un “+” o de un “|”) “|”: Sustrae la expresión que haya a la izquierda, lo que se toma como un prefijo, del número real que debe cursarse por la troncal. Por ejemplo, la expresión 9|NXXXXXX coincidiría con el número “95551234”, pero sólo se tomaría en cuenta “5551234” para ser cursado por la troncal. “+”: Añade a la expresión, los números especificados la izquierda. Por ejemplo, la expresión 1234+NXXXXXX agregará el prefijo 1234 a un número como 55556300, de manera tal que sobre la troncal se marcará 123455556300. José Carlos Moral Cuevas Página | 120 Proyecto Fin de Carrera ANEXO 3 - GUÍA DE INSTALACIÓN Y ADMINISTRACIÓN.- Dial Rules wizards Ofrece una lista desplegable desde donde se pueden seleccionar las reglas de marcado más frecuentes, las cuales serán automáticamente agregadas al campo “Dial Rules” Outbound Dial Prefix Permite establecer un prefijo general para todas las llamadas que salgan por esta troncal, sin distinción. Outgoing Settings DAHDI Identifier (Trunk Name) Especifica a qué grupo o número de canal estará asociado la presente troncal, según la nomenclatura empleada en el archivo chan_dahdi.conf (es la misma nomenclatura que se usó en el punto 5.1 para la configuración de la tarjeta Sangoma, para cada puerto. Véase ejemplo Figura 64) Tabla 19.- Descripción de campos necesarios para la creación de una troncal. En el campo DAHDI Identifier, se deberá poner: ‘g1’ para la troncal RDSI; ‘4’ para la troncal analógica entrante - 954487384 (‘4’ es el número de canal asignado en chan_dahdi.conf); ‘5’ para la troncal analógica saliente - 954487385 (‘5’ es el número de canal asignado en chan_dahdi.conf). A continuación, se muestra el ejemplo de una de las troncales del sistema instalado en el Departamento (particularmente la RDSI): Figura 64.- Ejemplo de troncal RDSI. Página | 121 Año 2012 ANEXOS.- Proyecto Fin de Carrera 6.6.1.6. Rutas salientes (Outbound Routes): Las rutas salientes son aquellas por las que sale la llamada hacia una determinada troncal, para las llamadas al exterior. Para crear una ruta saliente, en primer lugar es necesario eliminar cualquier ruta ya existente para evitar conflictos con las que se creen. Para eliminar, o editar Outbound Routes existentes, acceder al enlace “Rutas Salientes” del menú de la izquierda y posteriormente hacer click sobre la lista de Outbound Routes ya definidas, que se ve en el extremo derecho de la pantalla. Esto desplegará el detalle de la ruta seleccionada, desde donde se podrá eliminar la ruta pulsando el enlace: Una vez eliminadas las rutas existentes (venían por defecto), se guardan los cambios y se pulsa el botón , para crear una nueva ruta. Finalmente se rellenan los campos convenientemente (Tabla 20), se pulsa “Submit” y se guardan cambios. Route Settings Route Name Route CID Route Password Permite especificar el nombre de la Ruta, para diferenciarla en caso de existir más de una. Permite especificar un Caller ID para la ruta. Posibilita ingresar un password que le será solicitado al usuario si intenta utilizar la ruta actual. Puede emplearse un código numérico, o ingresarse la ubicación de un archivo de passwords convencional del tipo Auth. Dejar en blanco si no se desea que se pida contraseña (esto es lo que se hace en el Departamento). Se muestran dos posibilidades: • Route Type: • Emergency: Esta opción, de estar habilitada, forzará a que una llamada que emplee esta ruta, adquiera el CallerID saliente específicamente configurado para emergencias en la sección correspondiente. Intra-Company: De estar activada, trata a la ruta actual de manera interna, evitando el uso de la información de CallerID saliente que se emplearía normalmente en rutas al exterior. Music On Hold? Permite seleccionar una categoría de música en espera en particular, para la ruta actual. Time Group: Permite que esta ruta solo esté disponible temporalmente, en ciertos momentos del día. Para ello debe crearse un Time Group, que indicará cuáles son esos instantes en los que la ruta estará disponible. Route Position La posición dónde se colocará la ruta, tras ser creada, en la lista de rutas existentes de la derecha de la pantalla. Additional Settings PIN Set: Permite habilitar la ruta actual a un conjunto de pines (será requerido al usuario que ingrese uno) que se selecciona de la lista desplegable (deben crearse desde la sección “pinsets”). Esta opción es excluyente de la José Carlos Moral Cuevas Página | 122 Proyecto Fin de Carrera ANEXO 3 - GUÍA DE INSTALACIÓN Y ADMINISTRACIÓN.- opción de Route Password. Dial Patterns that will use this Route Es la información fundamental de cualquier ruta saliente. Consiste en una cadena de caracteres que indican a Asterisk de qué manera debe coincidir el conjunto de números discados, para que la ruta actual sea utilizada. X: Coincide con cualquier dígito del 0 al 9 Z: Coincide con cualquier dígito del 1 al 9 N: Coincide con cualquier dígito del 2 al 9 [1, 2, 3-5]: Coincide con cualquier número o carácter expresado dentro de los corchetes. En este ejemplo, coincide con 1, 2, 3, 4, ó 5. “.”: Coincide con cualquier número o dígito. “|”: Separa lo que se toma como un prefijo, del número real que debe cursarse por la troncal. Por ejemplo, la expresión 9|NXXXXXX coincidiría con el número “95551234”, pero sólo se tomaría en cuenta “5551234” para ser cursado por la troncal. Trunk Sequence for Matched Routes Permite establecer una lista de troncales a través de los cuales se intentará cursar la llamada encaminada. Para agregar una nueva troncal, se lo selecciona de la lista desplegable y se hace click en “Add”. Para eliminar una troncal de la lista, se hace click sobre el icono que representa el cesto de basura. Tabla 20.- Descripción de campos necesarios para la creación de una ruta saliente. En el sistema del departamento se han creado 4 rutas salientes, una para cada línea (dos analógicas y una RDSI), y la cuarta es para tomar cualquiera de las dos analógicas, preferentemente la línea 954487385 para no obstaculizar la entrada de llamadas por la 954487384. Todas ellas se configuran de igual modo, con la única excepción de que para cada una varía la trocal usada (campo “Trunk Sequence for Matched Routes”) y las reglas de marcado: • Para salir por la línea RDSI (troncal RDSI), es necesario marcar el prefijo ‘0’. Por tanto, será necesario configurar la regla de marcado “0|.”. • Para salir por la línea analógica de entrante (troncal analógica 1), es necesario marcar el prefijo ‘52’. Por tanto, será necesario configurar la regla de marcado “52|.”. • Para salir por la línea analógica de fax (troncal analógica 2), es necesario marcar el prefijo ‘53’. Por tanto, será necesario configurar la regla de marcado “53|.”. • Para la cuarta ruta de salida, se tomarán como troncales la “analógica 1” y la “analógica 2”, poniendo en primer lugar la troncal que se haya asignado a la línea 954487385 (en este caso la analógica 2). Como Regla de marcado se colocará: “9|.”. A continuación, se muestra el ejemplo de una de las rutas salientes del sistema instalado en el Departamento (en particular la cuarta ruta de salida): Página | 123 Año 2012 ANEXOS.- Proyecto Fin de Carrera Figura 65.- Ejemplo de cuarta ruta de salida (9|.). No olvidar (como se advirtió en la nota 54), que tras crear una ruta saliente, esta ruta aparecerá ahora en los contextos que habían sido creados en “Custom Context”, y por defecto aparecerá como “Deny” (deshabilitada). Por tanto, si se desea que el contexto use la ruta para salir al exterior, se debe habilitar, tal como se explico en el punto 6.6.1.4. 6.6.1.7. Rutas entrantes (Incoming Routes): Las rutas entrantes son aquellas que envían la llamada entrante a un determinado destino. Para crear una ruta entrante, es necesario acceder al enlace “Rutas Entrantes” del menú de la izquierda, y rellenar los campos convenientes (Tabla 21), se pulsa “Submit” y se guardan cambios. (Add/Edit) Incoming Route Description Especifica el nombre que se le dará a la ruta. DID Number Especifica el número de DID que se tomará como criterio para activar esta ruta. Déjelo en blanco si desea que todas las llamadas de las troncales coincidan, o si las mismas vienen sin esa información. Caller ID Number Especifica el número de CallerID (CID) que se tomará como criterio para activar esta ruta. Déjelo en blanco si desea que todas las llamadas de las troncales coincidan, o si las mismas vienen sin esa información. Cabe destacar que emplear la información de CID para establecer un ruteo entrante no es confiable, ya que se puede alterar fácilmente. Nota: Si no se ingresan ni DID ni CID, todas las llamadas que ingresen por las troncales serán consideradas coincidentes, y por lo tanto siempre se les será aplicada la ruta sin DID ni CID. CID Priority Route Si la ruta actual sólo toma en cuenta el CID, esta opción permite darle prioridad máxima a la misma, aún si existen otras rutas que incluyan este mismo CID en combinación con un DID también coincidente. Options Alert Info Permite establecer información específica del tipo ALERT_INFO, para activar la funcionalidad de tono de llamada distintivo, en artefactos SIP José Carlos Moral Cuevas Página | 124 Proyecto Fin de Carrera ANEXO 3 - GUÍA DE INSTALACIÓN Y ADMINISTRACIÓN.- compatibles. CID Name Prefix Permite establecer un prefijo a la información de CID que se enviará al destino final de la llamada encaminada. Music On Hold Permite establecer la clase de música en espera que aplicará a las llamadas en esta ruta. Es útil para aplicar distintos tipos de anuncios dependiendo del origen de las llamadas entrantes. Signal RINGING Esta opción permite señalizar la llamada con RINGING antes de ANSWER, si es necesario Pause Before Answer Permite especificar una pausa en segundos antes de procesar la ruta actual. Privacy Privacy Manager Si se encuentra activado, y la llamada entrante no posee información de CID, el sistema solicitará al llamante que ingrese un número telefónico de 10 dígitos. Tendrá 3 oportunidades para hacerlo (puede modificarse en el archivo privacy.conf). Si la extensión de destino tiene activada la funcionalidad de Call Screening, el sistema pedirá al llamante que pronuncie su nombre. Fax Handling Fax Extension Permite establecer un destino determinado como Fax, para esta ruta específica. Fax Email Permite establecer una dirección de e-mail de destino para los faxes virtuales. Fax Detection Type Permite seleccionar el método de detección de Fax. Se aconseja NVFax para troncales del tipo IAX o SIP; y DAHDI para otros tipos de troncales. Este último es el caso del sistema del Departamento, que tiene troncales tipo DAHDI. Pause After Answer Permite establecer una cantidad prudencial de segundos desde la atención de la llamada, hasta darle curso a la misma, de manera tal de contar con suficiente tiempo para escuchar el tono de fax. CID Lookup Service Source Permite seleccionar una fuente de datos predefinida para identificar CIDs. Las mismas se definen en la sección “Caller Name Lookup Sources”. Language Página | 125 Año 2012 ANEXOS.- Proyecto Fin de Carrera Permite especificar el lenguaje en que esta extensión utilizará los audios del sistema y los diversos avisos de voz, siempre que se encuentren instalados (se instalaron en el punto 5.2). En este sistema interesa el castellano, por lo que en este campo se introducirá “es” (véase punto 6.6.1.1). Set Destination En esta sección aparece un recuadro desplegable que permite encaminar la llamada hacia una de las siguientes opciones: Extensiones, Custom Context, IVR, Phonebook, Terminación de llamadas ó troncal. Una vez escogida una de las opciones, se debe elegir entre las posibilidades existentes (por ejemplo, si hay varias extensiones, se escoge una para que sea el destino de la ruta). Tabla 21.- Descripción de campos necesarios para la creación de una ruta entrante. En el sistema del Departamento se han configurado 11 rutas entrantes: 1) La ruta correspondiente a la línea entrante analógica (95 455 73 84). Cuyo DID será 95 455 73 84; el CID no se rellena (cualquiera, se decide por el DID), al igual que el resto de campos excepto el campo “Language” (se completará con “es”) y el campo “Set Destination”, donde se establecerá como destino una Condición de tiempo (la creación de dicho grupo se ve en el punto 6.6.1.9). 2) La ruta correspondiente a la línea entrante de fax (95 455 73 85). Cuyo DID será 95 455 73 85; el CID tampoco se rellena. El siguiente campo en rellenar será el de “Fax Handling”, donde se habilita el fax, se marca como “Fax detection type” la opción “DAHDI”; como “Fax Detection Time” la opción “4”; y como “Fax Destination” la opción “Extensions”, extensión “40” (que es la del fax virtual). Finalmente, se completa el campo “Language” con “es”; y la sección “Set Destination”, se establece como “Terminate Call”, opción “Hangup”. 3) La ruta correspondiente a la línea entrante RDSI (95 446 70 90). Cuyo DID será 95 446 70 90; el CID tampoco se rellena, al igual que el resto de campos excepto el campo “Language” (se completará con “es”) y el campo “Set Destination”, donde se establecerá como destino la extensión “23”. 4) Finalmente, las 8 rutas correspondientes a los 8 números RDSI, contratados al proveedor. En cada ruta entrante se completará el DID con su número correspondiente, el campo “Language” (se completará con “es”) y en el campo “Set Destination”, se establecerá como destino la extensión que se indica a continuación: • 95 446 73 61 – Extensión de destino: 21 • 95 446 73 62 – Extensión de destino: 22 • 95 446 73 63 – Extensión de destino: 24 • 95 446 73 64 – Extensión de destino: 25 • 95 446 73 65 – Extensión de destino: 27 • 95 446 73 66 – Extensión de destino: 26 • 95 446 73 67 – Extensión de destino: 28 • 95 446 73 68 – Extensión de destino: 29 Para crear una nueva ruta entrante basta con pulsar el botón de la derecha de la pantalla: José Carlos Moral Cuevas Página | 126 Proyecto Fin de Carrera ANEXO 3 - GUÍA DE INSTALACIÓN Y ADMINISTRACIÓN.- Para eliminar, o editar rutas entrantes existentes, hacer click sobre la lista de “Incoming Routes” ya definidas, que se ve en el extremo derecho de la pantalla. Esto desplegará el detalle de la ruta seleccionada, desde donde podrá eliminar la ruta en el enlace que aparece: Finalmente, para que las rutas entrantes analógicas funcionen correctamente es necesario asignar cada DID a su canal correspondiente (para la RDSI no es necesario). Cabe recordar que las líneas analógicas tenían asignados los canales 4 y 5, respectivamente. Pues bien, para asignar el DID 954487384 al canal 4, y el DID 954487385 al canal 5; es necesario utilizar la herramienta “ZAP Channel DIDs” (situada en el menú de la izquierda de la ventana, bajo las Rutas Entrantes). Una vez dentro de esta herramienta se crean los DIDs: en el campo “Channel” se introduce el número de canal (4 ó 5); en el campo “Description” se escribe el nombre que se le quiera dar (meramente informativo); y en el campo “DID” se introduce el DID correspondiente a cada canal. Pulsar “Submit Changes” para guardar y después aplicar los cambios. 6.6.1.8. Grupos de Timbrado (Ring Groups): Los Grupos de Timbrado permiten que una llamada entrante (correspondiente a una determinada ruta entrante) pueda enviarse a la vez a varias extensiones como destino, es decir, suenen varias extensiones simultáneamente. En el sistema del Departamento estos Grupos de timbrado se usan para establecer el destino de las rutas entrantes (punto 6.6.1.7). Para configurar un nuevo Grupo de Timbrado ó Ring Group, se debe acceder al enlace “Grupo de Timbrado” del menú de la izquierda y hacer click sobre “Add Ring Group”, en el extremo derecho de la pantalla, y completar los campos relevantes (véase Tabla 22). Añadir grupo de extensiones Número del grupo de extensiones Group Description El número al que se deberá llamar si se desea contactar con este grupo de extensiones. Permite establecer un nombre para el Ring Group actual. Permite establecer la estrategia de llamada. • • • Ring Strategy • • • Ring Time (max 60 sec) Página | 127 ringall: se llaman a todos los canales disponibles hasta que alguno atiende (por defecto) hunt: se llama a una extensión por vez, de manera progresiva hasta que alguna atienda. memoryhunt: Suena la extensión inicial, y luego va añadiendo de a una extensión a la vez, de manera progresiva, hasta que alguna atienda. *-prim: Las estrategias anteriores, en la variante terminada con este sufijo (“prim”), se comportan de la manera ya descripta, con la salvedad de que si la primera extensión se encuentra ocupada o en DND (Do not disturb), no se avanzará en la llamada de las siguientes. firstavailable: Esta estrategia sólo se llamará el primer canal disponible. firstnotonphone: Esta estrategia sólo se llamará el primer canal que no se encuentre descolgado. Permite establecer el tiempo en segundos que sonará cada uno de las extensiones de la lista, cuando el Ring Group opera con alguna de las Año 2012 ANEXOS.- Proyecto Fin de Carrera estrategias hunt. El máximo configurable es de 60 segundos. Lista de Extensiones Permite establecer la lista de números que formarán parte del Ring Group, de a uno por línea. No sólo pueden ingresarse números de extensiones, sino también extensiones de otras centrales, o incluso números telefónicos externos, si se los termina con el carácter numeral “#”. Los números externos saldrán encaminados por las troncales que correspondan, de acuerdo a las rutas salientes que ya se hayan configurado. Selector rápido de extensiones Esta lista desplegable permite agregar rápidamente extensiones locales del sistema, a la “Lista de Extensiones” de más arriba, sin necesidad de introducirlas manualmente. Anuncio Permite especificar un anuncio que será reproducido al llamante en el momento de ingresar al Ring Group actual. Los audios se incorporan al sistema desde la sección “System Recordings”. ¿Reproducir música en espera? Permite seleccionar la clase de música en espera que escuchará el llamante mientras espera a ser atendido. Elegir “sonar” si se desea que sólo se escuche el tono de llamada mientras espera a ser atendido. CID Name Prefix Permite establecer un prefijo a la información de CallerID de las llamadas entrantes. Información de alerta Permite establecer información del tipo ALERT_INFO para teléfonos SIP compatibles con tono de llamada distintivo. Ignore CF Settings Si está activado, los agentes o extensiones que hayan atendido la llamada, no podrán emplear las funcionalidades de Call Forwarding. Los números externos (terminados en #) que se hayan ingresado en la lista de extensiones, podrían no tener en cuenta esta configuración. Ignorar agentes ocupados Si se encuentra activado, y la estrategia de llamada es del tipo “hunt”, el Ring Group salteará las extensiones que se encuentren en ocupado. Esto resulta de especial utilidad si las extensiones poseen la funcionalidad de llamada en espera o son multilínea, evitando que las mismas entren en efecto. Confirmar llamadas Esta opción conectará al llamante con uno de los destinos definido en la lista de extensiones, sólo si quien atiende en el otro extremo confirma presionando “1” en el teclado de su terminal. Se emplea para evitar falsas conexiones entre el llamante y –por ejemplo- el voicemail de un teléfono ocupado. Sólo funciona con las estrategias tipo “ringall”. Anuncio remoto Mensaje que se reproducirá a la persona que reciba la llamada, si el parámetro 'Confirmar llamadas' está habilitado. Para añadir más grabaciones, usar la opción 'Grabaciones del sistema' del menú de la izquierda. Too-Late Announce Permite seleccionar un audio a ser reproducido a la extensión llamada, cuando está activada la función “Confirmar llamadas” de más arriba, y si el llamado fue aceptado con anterioridad a que presione “1” en su teclado. Los audios se agregan desde la sección “System Recordings” José Carlos Moral Cuevas Página | 128 Proyecto Fin de Carrera ANEXO 3 - GUÍA DE INSTALACIÓN Y ADMINISTRACIÓN.- Change External CID Configuration Por defecto: Transmite el CID si la trocal lo permite. Fixed CID Value: Siempre se transmite el valor del Fixed CID del recuadro inferior. Mode Outside Calls Fixed CID Value: se transmite el valor del Fixed CID sólo en llamadas que vengan del exterior. Las llamadas internas (entre extensiones) continuarán funcionando en el modo por defecto. Use Dialed Number: se transmite el número que fue marcado como CID para llamadas que vienen del exterior. . Las llamadas internas (entre extensiones) continuarán funcionando en el modo por defecto. Debe existir un DID en la ruta entrante para esto. Destino si no hay respuesta: En esta sección aparece un recuadro desplegable que permite encaminar la llamada hacia una de las siguientes opciones: Extensiones, Custom Context, IVR, Phonebook, Terminación de llamadas, troncal, etc. Una vez escogida una de las opciones, se debe elegir entre las posibilidades existentes (por ejemplo, si hay varias extensiones, se escoge una para que sea el destino de la ruta). En el sistema del Departamento, si no hay respuesta se optará por la terminación de llamada (Busy). Tabla 22.- Descripción de campos necesarios para la creación de un Grupo de Timbrado. Para eliminar, o editar un Grupo de Timbrado existente, debe seleccionar y hacer click sobre un Ring Group de la lista en el extremo derecho de la pantalla. Para Eliminar el Ring Group seleccionado, se deberá hacer click en el botón “Delete Group” (tal como se hizo en apartados anteriores con las rutas). Para Editar el Ring Group seleccionado, para se deberán editar los campos que correspondan. En el sistema del departamento se han creado 2 Grupos de Timbrado: “profesores” y “secretaria”. EL grupo de timbrado “profesores” está formado por las extensiones: 21 a 35, excepto la 34. Por otro lado, el grupo “secretaria” está formado por las extensiones: 38 y 39. Figura 66.- Grupo de Timbrado “profesores”. 6.6.1.9. Condiciones de Tiempo y Grupos Horarios: Las Condiciones de Tiempo (“Time Conditions”) son útiles para que dependiendo de la hora en que se reciba una llamada, el destino de ésta sea uno u otro. Los Grupos Horarios Página | 129 Año 2012 ANEXOS.- Proyecto Fin de Carrera (“Time Groups”), por su parte, facilitan las franjas de tiempo utilizadas por las Condiciones de Tiempo. Por tanto, Condiciones de Tiempo y Grupos Horarios, van de la mano, ya que para crear una Condición de Tiempo, uno de los campos necesarios conlleva el uso de un Grupo Horarios. En el sistema del Departamento se han creado una Condición de Tiempo y un Grupo Horario. El Grupo Horario debe ser previamente creado antes que la Condición de Tiempo, ya que esta última necesitará del Grupo Horario. El Grupo Horario (va a llamarse secretarios, como se ve a continuación) ha sido configurado del siguiente modo: • Descripción: secretarios. • Time to start: 7:00 • Time to finish: 14:20 • Week Day Start: Monday • Week day finish: Friday • Month Day start: - • Month Day finish: - • Month start: - • Month finish: Debajo de estos campos, hay una segunda repetición de los anteriores que también se va a rellenar de la siguiente forma (para el horario de tarde): • Time to start: 15:30 • Time to finish: 17:30 • Week Day Start: Tuesday • Week day finish: Tuesday • Month Day start: - • Month Day finish: - • Month start: - • Month finish: - El nombre de la Condición de Tiempo es: morning; la sección “Day/Night Mode Association”, se deja tal como está por defecto; el “Destino si la hora no coincide” es: Ring Groups profesores; y el “Destino si la hora coincide” es: Ring Groups secretaria. El procedimiento para eliminar o editar los Grupos Horarios y Condiciones de Tiempo, es exactamente el mismo que en las secciones anteriores. 6.6.2. Operator Panel. La opción "Operator Panel" del menú "PBX" de Elastix permite administrar de una manera más fácil el control de llamadas (ya sean llamadas entrantes, llamadas de salida), el orden de las llamadas que serán atendidas, el área que atenderá la llamada, qué extensiones están conectadas, entre otros. José Carlos Moral Cuevas Página | 130 Proyecto Fin de Carrera ANEXO 3 - GUÍA DE INSTALACIÓN Y ADMINISTRACIÓN.- Figura 67.- Menú “PBX” Opción “Operator Panel”. 6.6.3. Voicemail. La opción “Voicemail” ofrece al administrador una lista con todas las grabaciones o mensajes de voz que se dejen en el buzón de voz. En esta sección también se pueden configurar una serie de parámetros del buzón de voz, como son: estado (habilitado/deshabilitado), email (dónde enviar los avisos de recepción de mensaje de voz), contraseña de buzón de voz, emails adjuntos, reproducir CID, reproducir carta y eliminar Vmail. Para configurar estos parámetros el usuario no tiene más que pulsar el botón “Configuración” que se muestra en la opción “Voicemail” (véase Figura 68), y “Guardar” los cambios tras configurar los parámetros. Figura 68.- Menú “PBX” Opción “Voicemail”. 6.6.4. Monitoring. La opción “Monitoring” brinda al administrador un reporte con todas las llamadas realizadas y recibidas en el sistema. En este histórico de llamadas se muestran datos como la duración de las llamadas, tipo, hora, origen, destino y fecha. Los datos mostrados en el reporte pueden ser descargados por el usuario en formatos excel, pdf ó csv. Página | 131 Año 2012 ANEXOS.- Proyecto Fin de Carrera Figura 69.- Menú “PBX” Opción “Monitoring”. 6.6.5. Endpoint Configurator. Esta herramienta permite al administrador del sistema asignar de forma remota una extensión a un dispositivo telefónico. La herramienta “Endpoint Configurator” muestra una tabla como la que se observa en la Figura 70. Figura 70.- Menú “PBX” Opción “Endpoint Configurator”. Pulsando el botón “Descubrir Endpoints en esta Network”, la herramienta buscará todos los dispositivos telefónicos existentes en la red (excepto el interfono, pues no es compatible con la herramienta). Una vez descubiertos los terminales, el administrador, que debe reconocer cada dispositivo por su MAC 55, puede asignarle un número de extensión y el modelo de dispositivo (el fabricante lo detecta automáticamente la herramienta). El modelo de dispositivo telefónico, GrandStream GXP1405, adquirido por el Departamento, no se encuentra incluido en la base de datos de Elastix, pero puede incluirse sin que ello conlleve problemas en el correcto funcionamiento del módulo “Endpoint Configurator”. A continuación se detallan las instrucciones para incluirlo en la base de datos de Elastix: 1) El primer paso es entrar en la base de datos donde se encuentran los dispositivos telefónicos incluidos en el sistema: > sqlite3 /var/www/db/endpoint.db sqlite> .tables Endpoint Mac model parameter sqlite> .schema model CREATE TABLE model( id integer name varchar(255) description varchar(255) id_vendor integer settings_by_country vendor primary key, not null default '', not null default '', not null, 55 El dispositivo también podría ser reconocido por su IP, que se le ha sido asignada por el servidor DHCP del Departamento. Sin embargo, el servidor DHCP está fuera de los objetivos de esta guía. José Carlos Moral Cuevas Página | 132 Proyecto Fin de Carrera ); ANEXO 3 - GUÍA DE INSTALACIÓN Y ADMINISTRACIÓN.- foreign key (id_vendor) references vendor(id) 2) Una vez observada la estructura de la tabla “model” en la base de datos, se puede proceder a la inserción del nuevo modelo. No obstante, es necesario ver la posición de la tabla que se encuentre libre para insertar el modelo(en este caso a partir de la posición 63): sqlite> .schema model […] 62¦IP8802A¦IP8802A¦14¦0 63¦Patton¦Patton¦15¦0 sqlite> insert into model values(63,'GXP1405','GXP1405',3); 3) Finalmente, se comprueba si se ha incluido correctamente el nuevo modelo en la tabla: sqlite> .schema model […] 62¦IP8802A¦IP8802A¦14¦0 63¦Patton¦Patton¦15¦0 64¦GXP1405¦GXP1405¦3¦0 sqlite> .exit Ahora se está en disposición de encontrar el modelo GXP1405 en columna “modelo” de la herramienta “Endpoint Configurator”. Así pues, para cada dispositivo, se selecciona el modelo en el recuadro desplegable disponible para ello, se le asigna una extensión (columna “Extensión a asignar”) de entre todas las disponibles, y finalmente se pulsa el botón “Configurar” (situado en la esquina superior izquierda de la tabla). Los dispositivos que aún no se encuentran configurados aparecen en la tabla como “No Registrado” (columna “Extensión Actual”). Tras pulsar “Configurar”, se crea un fichero de configuración 56 del dispositivo (contiene la extensión y demás opciones de configuración del terminal) en la carpeta “/tftpboot” del servidor Elastix. En este sistema se ha creado el directorio“/tftpboot/tel”, donde se desea que se almacenen todos los ficheros de configuración de los teléfonos, con el objetivo de hacer más sencilla la tarea de administración. El módulo “Endpoint Configurator”, se sirve de una serie de ficheros php para llevar a cabo la generación de los ficheros de configuración de los terminales. Son estos ficheros php, los que hay que modificar para que los ficheros de configuración se almacenen en “/tftpboot/tel” y no en “/tftpboot”. Los ficheros en cuestión que hay que modificar son: “/var/www/html/modules/endpoint_configurator/configs/default.conf.php” y “/var/www/html/modules/endpoint_configurator/lib/paloSantoFileEndPoint.class.php”. En el fichero “/var/www/html/modules/endpoint_configurator/configs/default.conf.php”, cambiar la línea seleccionada: […] $arrConfModule['module_name'] = 'endpoint_configuration'; 56 En realidad se generan tres ficheros del tipo: “gxp_config_1.1.6.46.template”, “gxp000945531b3b” y “cfg000945531b3b”. Donde 000945531b3b es la MAC del dispositivo en cuestión. Página | 133 Año 2012 ANEXOS.- Proyecto Fin de Carrera $arrConfModule['templates_dir'] = 'themes'; $arrConfModule['tftpboot_path'] = '/tftpboot'; $arrConfModule['dsn_conn_database_1'] = "sqlite3:///$arrConf[elastix_dbdir]"; Por esta otra: […] $arrConfModule['module_name'] = 'endpoint_configuration'; $arrConfModule['templates_dir'] = 'themes'; $arrConfModule['tftpboot_path'] = '/tftpboot/tel'; $arrConfModule['dsn_conn_database_1'] = "sqlite3:///$arrConf[elastix_dbdir]"; Y del fichero “/var/www/html/modules/endpoint_configurator/lib/ /paloSantoFileEndPoint.class.php”, se debe cambiar la palabra marcada en rojo de línea azul: […] case 'Grandstream': $contentFileGrandstream = PrincipalFileGrandstream($ArrayData['data']['DisplayName'], $ArrayData['data']['id_device'], $ArrayData['data']['secret'], $this->ipAdressServer,$ArrayData['data']['model']); if($this->createFileConf($this->directory, "gxp".$ArrayData['data']['filename'], $contentFileGrandstream)) { //ex: . /tftpboot/GS_CFG_GEN/bin/encode.sh 000945531b3b /tftpboot/gxp_config_1.1.6.46.template.cfg /tftpboot/cfg000945531b3b exec("/tftpboot/GS_CFG_GEN/bin/encode.sh {$ArrayData['data']['filename']} /tftpboot/gxp{$ArrayData['data']['filename']} /tftpboot/cfg{$ArrayData['data']['filename']}",$arrConsole,$flagStatus); if($flagStatus == 0) $return = true; } else $return = false; break; […] Por esta otra palabra marcada en verde de la línea azul: […] case 'Grandstream': $contentFileGrandstream = PrincipalFileGrandstream($ArrayData['data']['DisplayName'], $ArrayData['data']['id_device'], $ArrayData['data']['secret'], $this->ipAdressServer,$ArrayData['data']['model']); if($this->createFileConf($this->directory, José Carlos Moral Cuevas Página | 134 Proyecto Fin de Carrera ANEXO 3 - GUÍA DE INSTALACIÓN Y ADMINISTRACIÓN.- "gxp".$ArrayData['data']['filename'], $contentFileGrandstream)) { //ex: . /tftpboot/GS_CFG_GEN/bin/encode.sh 000945531b3b /tftpboot/gxp_config_1.1.6.46.template.cfg /tftpboot/cfg000945531b3b exec("/tftpboot/GS_CFG_GEN/bin/encode.sh {$ArrayData['data']['filename']} $this->directory/gxp{$ArrayData['data']['filename']} $this->directory /cfg{$ArrayData['data']['filename']}",$arrConsole,$flagStatus); if($flagStatus == 0) $return = true; } else $return = false; break; […] Ahora los ficheros de configuración de los dispositivos deberían almacenarse en el directorio “/tftpboot/tel”. Para que los terminales adquieran su configuración del directorio “/tftpboot/tel” del servidor Asterisk, es necesario que sea activada la opción 66 del servidor DHCP del Departamento. Se remite al manual por línea de comandos del servidor DHCP, para conocer la forma en que se definen las opciones. En el caso de la versión57 actual del servidor DHCP instalado en el departamento, la opción 66 se activa introduciendo la siguiente línea en el fichero de configuración “dhcpd.conf”: option tftp-server-name “dir_IP_serv_Astersik/tel” Además es necesario instalar un servidor tftp en el servidor Elastix, para que todo funcione. Para ello teclear la instrucción “yum install tftp”, en la línea de comandos del servidor Elastix. Así pues una vez configurado el dispositivo por el módulo “Endpoint Configurator”, para que el teléfono adopte la configuración debe reiniciarse (véase punto 8.3). Nótese que cuando se reinicie el teléfono, deberá esperarse a que se reinicie automáticamente una segunda vez, ya que en el primer reinicio adquiere la información dada por el DHCP, y en el segundo reinicio adquiere la información del servidor tftp. Cuando se desee eliminar una de las extensiones o cambiar la extensión de uno de los dispositivos, primero se debe desconfigurar el dispositivo desde el módulo “Endpoint Configurator”, pulsando el botón “Desconfigurar” (situado junto al botón “Configurar”). La función “Desconfigurar”, elimina el dispositivo de la base de datos de Elastix. Para finalizar con la eliminación de la extensión, se borra la cuenta memorizada por el dispositivo telefónico. Esta tarea ha de hacerse manualmente, ya que el dispositivo una vez adquirida su extensión, la almacena en su memoria local. Para borrar los datos relativos a la extensión asignada hay que acceder mediante su interfaz web (véase punto 8.1).Una vez borrada la extensión de la memoria del dispositivo y de la base de datos de Elastix se vuelve a cargar el módulo “Endpoint Configurator”, pulsando el botón “Descubrir Endpoints en esta Network”. Ahora el dispositivo desconfigurado aparecerá como “No Registrado”, y se podrá volver a configurar como si fuese un nuevo dispositivo, tal como se comentó en el párrafo anterior. 57 La versión actual del servidor DHCP instalado en el departamento es la isc-dhcpd-4.1.1-P1. Página | 135 Año 2012 ANEXOS.- Proyecto Fin de Carrera 6.6.6. Conference. Esta opción permite gestionar conferencias telefónicas. Posibilita crear conferencias, ver conferencias pasadas o futuras (las conferencias pueden establecerse a una hora/fecha determinados). Para crear una conferencia basta con presionar el botón “Nueva Conferencia” y se accederá a un intuitivo menú a completar, como el que se muestra en la Figura 71. Figura 71.- Menú “PBX” • • • • • • • • • • Opción “Conference”. Conference Name: Identificador de la conferencia. Conference Owner: Nombre del creador de la conferencia. Conference Number: Número de la conferencia. Al que se llamará para unirse a ella. Moderator PIN: Contraseña del moderador (Opcional). Moderator Option: Opciones del moderador, escoger una o varias. User PIN: Contraseña para que un usuario ingrese en la conferencia (Opcional). User Option: Seleccionar la opción de usuario que se desee, una o varias. Start Time (PST/PDT): Se puede escoger la fecha y la hora de comienzo. Duration (HH:MM): Duración máxima de la conferencia. Max Participation: Máximo número de integrantes de la conferencia. Una vez establecida la conferencia, cualquier usuario que conozca el número, puede llamar para unirse, o colgar para irse. Además el administrador, desde la opción “Conference”, mientras la conferencia está establecida, podrá: 1. Invitar a nuevos usuarios a unirse a la conferencia, mediante una lista desplegable. 2. Silenciar a cualquier usuario pulsando el botón Silenciar (Mute). 3. Expulsar a cualquier participante. 4. Terminar la conferencia. 6.6.7. Batch of Extensions. La opción “Batch of Extensions” (“Lotes de Extensiones”) del menú “PBX” de Elastix permite crear extensiones a partir de un archivo csv, es decir, introducir todas las extensiones en Elastix a partir de un fichero csv, sin necesidad de crearlas en el menú “PBX Configuration”. También se puede descargar un archivo csv con las extensiones ya creadas en el sistema, de esta forma se facilita la migración de datos. Para crear las extensiones a partir de un archivo csv, hay que hacer click en el botón “Examinar…”, buscar el archivo y finalmente hacer click en el botón "Guardar". Cuando se crea manualmente el fichero csv, hay que tener en cuenta las siguientes consideraciones: • • • No pueden existir extensiones repetidas. El archivo csv debe tener en la primera línea las cabeceras (Tabla 23). Cada fila de datos debe tener al menos 3 campos (Display Name, User Exension y Secret). José Carlos Moral Cuevas Página | 136 Proyecto Fin de Carrera ANEXO 3 - GUÍA DE INSTALACIÓN Y ADMINISTRACIÓN.- Se puede crear o abrir este tipo de archivos en una hoja de cálculos como OpenOffice Calc, Excel, entre otros, al guardar el documento recuerde que la extensión del archivo debe ser .csv Recuerde que el separador usado en este módulo es “,” (coma). • • CABECERA CAMPO OBLIGATORIO DATO Display Name SÍ Texto User Extension SÍ Numérico Direct DID NO Numérico Call Waiting NO Enabled, Disabled Secret SÍ Texto Voicemail Status NO Enabled, Disabled Voicemail Password NO Texto VM Options NO Texto Tabla 23.- Cabeceras del fichero csv. A continuación se muestra un ejemplo de fichero csv generado con una hoja de cálculo: Figura 72.- Ejemplo de fichero csv para las extensiones. Para descargar un archivo csv con todas las extensiones creadas en Elastix, se hace click sobre el enlace "Descargar Extensiones", y se procederá a realizar una descarga directa del archivo con su navegador (para almacenar este archivo localmente). 6.6.8. Tools. La opción “Tools”, ó “Herramientas”, proporciona al administrador las siguientes utilidades: “Asterisk-CLI”, “Asterisk File Editor”, “Text to Wav”, “Festival” y “Recordings”. La herramienta “Asterisk-CLI” permite introducir comandos propios de la línea de comandos de Asterisk en el recuadro habilitado para ello en esta pantalla. Página | 137 Año 2012 ANEXOS.- Proyecto Fin de Carrera La utilidad “Asterisk File Editor” posibilita editar archivos de Asterisk, almacenados en el servidor Asterisk en el directorio “/etc/asterisk”. Siempre que se edite un archivo, no olvidar guardar cambios y recargar Asterisk (existen dos botones para ello). La herramienta “Text to Wav” permite la introducción de texto para convertirlo en un fichero de sonido “.wav” ó “.gsm”. No obstante la calidad no es muy buena en castellano, pues es parecido al software “Loquendo” y las voces son inglesas. La herramienta “Festival”, permite la activación del software libre FESTIVAL, que tiene la misma función que “Text to Wav”, convertir texto a audio. La única diferencia es que esta herramienta debe usarse desde la línea de comandos del propio servidor Asterisk. Es por ello que es más sencillo utilizar la herramienta anterior. Finalmente, la utilidad “Recordings” permite grabar ó subir una grabación en el sistema. 6.6.9. Flash Operator Panel. La opción “Flash operator Panel” del menú “PBX” de Elastix, es igual que la opción “Operator Panel” permite administrar de una manera más fácil el control de llamadas (ya sean llamadas entrantes, llamadas de salida), el orden de las llamadas que serán atendidas, el área que atenderá la llamada, qué extensiones están conectadas, transferencias de llamadas, entre otros. Esta herramienta es un módulo aportado por el software FreePBX que se encuentra embebido en Elastix, es por ello que se ha incluido en esta sección. Figura 73.- Menú “PBX” 6.6.10. Opción “Flash operator Panel”. VoIP Provider. La opción “VoIP Provider” permite crear troncales con un proveedor SIP o IAX. El administrador puede crear o editar nuevas troncales. Sin embargo, en el sistema del departamento la herramienta “VoIP Provider” no es de interés, ya que no se tienen trocales SIP o IAX con el proveedor. 6.7. IM.La opción “IM” del menú principal de Elastix ofrece un servidor de mensajería instantánea basado en Openfire. Dicho servidor se encuentra embebido en la PBX de Elastix y José Carlos Moral Cuevas Página | 138 Proyecto Fin de Carrera ANEXO 3 - GUÍA DE INSTALACIÓN Y ADMINISTRACIÓN.- tiene soporte para protocolo XMPP, lo que permite usar una amplia gama de clientes de mensajería instantánea. Este servidor de mensajería instantánea permite: • • • • • • • • Iniciar una llamada desde el cliente de mensajería (si se usa el cliente Spark). El servidor de mensajería es configurable desde la interfaz web. Soporta grupos de usuarios. Soporta conexión a otras redes de mensajería como MSN, Yahoo Messenger, Google Talk, ICQ, etc. Esto permite estar conectado a varias redes desde un mismo cliente. Genera informes de sesiones de usuarios. Soporte para plugins. Soporta LDAP. Soporta conexiones server-to-server para compartir usuarios. Por defecto, este servidor se encuentra inactivo tras la instalación de Elastix. Se puede activar accediendo a la opción “IM” del menú principal de Elastix y pulsando el enlace de activación; ó en la sección “Sistema” de menú principal de Elastix, donde en la parte del tablón dedicada al “Estado de Procesos” se encuentra el proceso de “Servidor de Mensajería Instantánea” que se halla en estado “INACTIVO”. Para que pase a estar “ACTIVO”, se debe pulsar la pestaña anexa a dicho estado e iniciar el servicio. Una vez activo el servicio puede configurarse como se desee. En el caso del sistema del Departamento, no se ha llevado a cabo la activación de este servicio, por tanto, no es objetivo de esta guía la configuración del servidor de mensajería Openfire. 6.8. Reports.La herramienta “Reports” (“Informes”), aporta informes estadísticos del sistema: estadísticas de llamadas, de facturación, de ocupación de canales, etc. Esta herramienta a su vez contiene un submenú con varias opciones: “CDR Report”, “Channel Usage”, “Billing”, “Asterisk Logs”, “Graphics Reports” y “Summary”. La opción “CDR Report” muestra una tabla con detalles de las llamadas: Fecha, Fuente, Grupo de Timbrado, Destino, Canal origen, Account Code, Canal destino, Estado y Duración. Si en algún momento el administrador desea buscar cierta información de llamada, se puede filtrar el contenido de la tabla por cualquiera de sus campos, mediante los recuadros desplegables que ofrece la herramienta. La opción “Channel Usage” es capaz de generar gráficos estadísticos acerca del uso de los canales (en grupo o por separado). La opción “Billing” proporciona al administrador la posibilidad de configurar las tasas de facturación por cada troncal de salida hacia el proveedor, de manera que se pueda llevar la estadística de gasto del sistema. Para crear una nueva tarifa, en el menú de la izquierda de la opción “Billing”, pulsar sobre el enlace “Rates”, hacer click sobre el botón “Crear Nueva Tarifa” y rellenar los campos convenientemente. Tras crear la tarifa, aparecerá en la tabla de “Billing Rates”. En el menú de la izquierda de la opción “Billing”, también se muestran los enlaces: “Billing Report” (donde se muestran los informes de facturación, se pueden exportar a pdf ó excel), “Destination Distributión” (muestra un gráfico estadístico del coste por destinos), “Billing Setup” (habilita las troncales deseadas para la facturación, después se usarán en el enlace “Rates” para crear la tarifa). La opción “Asterisk Logs” del módulo “Reports” nos permite visualizar el contenido del log del Asterisk para monitorear cada suceso. Página | 139 Año 2012 ANEXOS.- Proyecto Fin de Carrera La opción “Graphic Report” del módulo “Reports” nos permite visualizar gráficamente la información del número de llamadas de las extensiones, colas y troncales del sistema tanto en porcentajes (%), como en cantidades. Para ver la información de una extensión solo tenemos que seleccionarla pulsando en el enlace “Aquí” (“Here”), después aparecerá una pequeña ventana que muestra las extensiones disponibles, seleccionar una y presionar el botón “Mostrar”, se obtendrá un gráfico tipo pastel con la información requerida. Para generar los gráficos de las llamadas en las colas, cambiar la opción en la lista desplegable y seleccionar “Queue”. Finalmente, para generar los gráficos de las llamadas en las troncales, se cambia la opción en el menú despegable a “Trunk” y entonces aparecerá una lista adicional para seleccionar la troncal a consultar. Este gráfico nos muestra una información adicional del tiempo total de llamadas entrantes, así como las salientes. La última opción del menú “Reports” es “Summary” y muestra un informe de cada extensión conectada a Elastix. 6.9. Extras.En el menú principal de Elastix existen más opciones ocultas tras la flecha desplegable. Una de ellas son los “Extras”, dónde se ofrecen los siguientes módulos no instalados: “vTigerCRM”, “Calling Cards” y “Downloads”. La opción “vTigerCRM” ofrece la posibilidad de registrarse con el software libre vTigerCRM, basado en el software SugarCRM, y que se usa para la gestión de las relaciones con clientes. Este módulo, no es de utilidad para el sistema del Departamento, por lo que aunque aparece en los “Extras”, no se usa. La opción “Calling Cards” ofrece el software Asterisk2Billing (A2Billing) para llevar a cabo la tarea de la facturación de una forma aún más compleja que en el punto 6.8, ofreciendo incluso la posibilidad de generar cuentas para usuarios por extensión. Para acceder a la aplicación como administrador es necesario introducir los siguientes datos: • • Usuario: admin Contraseña: contraseña introducida para el usuario “admin” de la interfaz web de Elastix (punto 4). La configuración de esta aplicación tampoco es objetivo de esta guía, ya que no se usará en el sistema del Departamento. Para más información de dicha aplicación se puede visitar el sitio web: http://www.asterisk2billing.org. La opción “Downloads” ofrece la descarga de una serie de aplicaciones de telefonía, fax y mensajería instantánea. A la izquierda de la pantalla se ofrece un menú en el que aparecen las distintas opciones de descarga: “Softphones” (X-lite y ZoIPer), “Fax Utilities” (clientes de fax virtual) y “Instant Messaging” (clientes de mensajería instantánea). 6.10. Addons.El módulo “Addons” fue desarrollado para que los usuarios puedan instalar o comprar nuevos módulos creados por el equipo de proyecto Elastix o por otros. Así que accediendo a esta opción se pueden instalar o comprar nuevos módulos. En el sistema del departamento no se ha instalado ningún modulo nuevo. José Carlos Moral Cuevas Página | 140 Proyecto Fin de Carrera ANEXO 3 - GUÍA DE INSTALACIÓN Y ADMINISTRACIÓN.- 6.11. Security.La sección “Security” del menú principal de Elastix ofrece una serie de opciones de seguridad: “Firewall”, “Audit”, “Weak keys” y “Advanced Settings”. La opción “Firewall” permite al administrador activar/desactivar el firewall que lleva instalado Elastix, además de poder configurar los puertos del sistema. En el sistema del Departamento, se ha activado el firewall (por defecto viene desactivado) sin ninguna configuración especial de sus puertos. El módulo “Audit” se encarga de mostrar en una tabla todos los usuarios que han ingresado al sistema, mostrando la fecha en que se ingresó, qué usuario ingresó y un mensaje que indica si el ingreso fue exitoso o no, y cuál fue la dirección IP desde donde se ingresó. Los datos pueden filtrarse por fecha si se desea. Además puede obtenerse un informe con la información de la tabla en formato pdf o excel, pulsando el botón “Exportar”. La opción “Weak keys” se encarga de mostrar en una tabla todos los dispositivos SIP o IAX2 registrados en el sistema, mostrando su extensión, una descripción y un mensaje que hace referencia a la clave de la extensión, diciendo si es segura o no, y la razón. Además se da la posibilidad de cambiar la clave y de exportar la información contenida en la tabla a un fichero en formato pdf o excel, pulsando el botón “Exportar”. La opción “Advanced Settings” se explicó en el punto 6.6.1.4, para el acceso a FreePBX sin embeber. En aquel punto se decía que la sección “Advanced Settings” ofrece la posibilidad de activar el acceso a FreePBX no embebido, colocando en ‘ON’ la opción: “Habilitar acceso directo (No embebido) a FreePBX:”. Para que se pueda llevar a cabo el cambio también es necesario rellenar los campos: “Contraseña Base de Datos y Administración Web FreePBX:” y “Confirmación de la Contraseña:” (se aconseja que sean los mismos que se usaron para el ‘admin’ de Elastix, así no se olvidará). Puede observarse que aparte de esto, también se puede habilitar otra opción en esta sección: “habilitar llamadas SIP anónimas”; pero ahora sólo nos interesa acceder a FreePBX sin embeber. Finalmente pulsar el botón “Guardar” para almacenar cambios. 6.12. My extension.En el menú “My Extension” se ofrece la posibilidad de llevar a cabo la configuración de una serie de parámetros 58 de la extensión que se le asigne al administrador en cuestión, como son: • • • • • • No molestar (“Do not disturb”). Llamada en espera (“Call waiting”). Desvío de llamada (“Call Forward”). Además se pide el número correspondiente al que desviar. Desvío de llamada sólo cuando la extensión está indisponible (“Call Forward on Unavailable”). Además se pide el número correspondiente al que desviar. Desvío de llamada sólo cuando la extensión está ocupada (“Call Forward on Busy”). Además se pide el número correspondiente al que desviar. Opciones para el ajuste del monitor de llamadas (“Monitoring”): Registrar entrantes y registrar salientes. 58 Estos parámetros también pueden ser configurados en el dispositivo telefónico. En el punto 3.5 de la GUÍA DE USUARIO se muestra con mayor detalle dicha configuración. Página | 141 Año 2012 ANEXOS.- Proyecto Fin de Carrera Figura 74.- Menú “My Extension” Opción “Settings”. Para que esta configuración pueda realizarse, en la sección “Sistema” Opción “Usuarios”, ha de configurarse que el usuario “admin”, tenga una extensión asignada en la que se configuren los parámetros facilitador por el menú “My Extension”. No olvidar guardar los cambios una vez realizados los ajustes convenientes. 7. FAX.El fax que se encuentra instalado en este sistema es un servidor de fax, en particular el servidor Hylafax. Este servidor se encuentra instalado en la misma máquina que Asterisk, de hecho, el software Elastix es el que contiene tanto a Asterisk como a Hylafax, por tanto, no es necesario instalarlos por separado, basta con instalar Elastix y queda todo dispuesto. En este punto lo que va a tratarse es cómo instalar los clientes necesarios para poder usar el fax desde cualquier PC del departamento, sin que sea necesario acceder a la interfaz web de Elastix. Los clientes escogidos han sido Winprint Hylafax (para PCs con Windows) y fax4CUPS (para PCs con Linux). 7.1. Winprint Hylafax.Para la instalación y configuración del cliente Winprint Hylafax se remite a la GUÍA DE USUARIO, pues cada usuario debe descargar e instalar su propio cliente (no es tarea del administrador del sistema). No obstante, sí que es tarea del administrador crear un nuevo usuario de fax en el servidor Hylafax, para que éste permita el envío de faxes desde un cliente remoto Winprint Hylafax. La creación de dicho cliente se llevará a cabo mediante la interfaz de comandos, con la siguiente orden: faxadduser cliente –a telematica Dónde, “cliente” es el nombre del nuevo usuario remoto del fax y “telemática” es la clave. Este nombre y esta clave, serán utilizados por Winprint Hylafax para la autenticación con el servidor de faxes Hylafax (se recuerda que se encuentra en la misma máquina que Asterisk). José Carlos Moral Cuevas Página | 142 Proyecto Fin de Carrera ANEXO 3 - GUÍA DE INSTALACIÓN Y ADMINISTRACIÓN.- 7.2. Fax4CUPS.Por su parte, el cliente fax4CUPS se instalará en el propio servidor Asterisk. Este cliente utiliza el sistema de impresión CUPS, desarrollado por Apple Inc. De esta forma, el envío de faxes se lleva a cabo como si se tratase de una impresión, desde un usuario a un servidor de impresión remoto (servidor Asterisk, con el sistema CUPS). Por tanto, es necesario instalar el sistema CUPS en el servidor Asterisk, y crear una impresora virtual capaz de enviar los documentos que reciba hacia el servidor Hylafax. La instalación del sistema CUPS se lleva a cabo mediante la herramienta “yum” de CentOS: yum install cups Tras la instalación del sistema CUPS, viene la creación de la impresora virtual. Sin embargo, antes de crear la impresora, se necesita descargar el software fax4CUPS, que contiene los ficheros que utiliza el sistema CUPS para el funcionamiento de la impresora virtual creada. Lo que hace especial a estos ficheros de fax4CUPS, es que hacen posible la transmisión del documento que se desea enviar, desde la impresora virtual, hacia Hylafax. Para la descarga del fichero comprimido fax4CUPS, se ejecutan las siguientes órdenes: cd /usr/src/ wget http://vigna.dsi.unimi.it/fax4CUPS/fax4CUPS-1.29.tar.gz tar zxvf fax4CUPS-1.29.tar.gz Antes de llevar a cabo la instalación, es necesaria la modificación manual de ciertos ficheros, para el correcto funcionamiento de fax4CUPS. La primera modificación se hará en el fichero /usr/src/fax4CUPS-1.29/hylafax, dónde se modifican las líneas coloreadas que se muestran a continuación: #!/bin/bash FROM="+34954487385" NAME="Departamento de Telematica" PAGE=a4 FAXPRG=/usr/bin/sendfax LOGDIR=/var/log/hylafax FAXSTAT=/usr/bin/faxstat […] # Use sudo to make sure that job is owned by the user that wants to "print", # not root. This is needed so that the owner of the job can remove it if needed. $FAXPRG -s $PAGE $RES -n -f $FROM -d $NUMBER $FAXNAME >>$LOGDIR/$FAXNAME.log 2>&1 […] La siguiente modificación se llevará a cabo en el fichero /usr/src/fax4CUPSy se incluirán las líneas coloreadas: 1.29/hylafax.ppd; *DefaultPageRegion: A4 Página | 143 Año 2012 ANEXOS.- Proyecto Fin de Carrera *PageRegion A4/A4: null>>setpagedevice" "<</PageSize[595 842]/ImagingBBox *PageRegion Letter/US Letter: null>>setpagedevice" "<</PageSize[612 792]/ImagingBBox *PageRegion Legal/US Legal: null>>setpagedevice" "<</PageSize[612 1008]/ImagingBBox *DefaultImageableArea: A4 *ImageableArea Letter/US Letter: "18 36 594 756" *ImageableArea Legal/US Legal: "18 36 594 972" *ImageableArea A4/A4: "18 36 577 806" *DefaultPaperDimension: A4 *PaperDimension A4: "595 842" *PaperDimension Letter: "612 792" *PaperDimension Legal: "612 1008" Otra de las modificaciones se hará en el fichero /etc/sudoers, modificando la línea marcada: ## Same thing without a password # %wheel ALL=(ALL) NOPASSWD: ALL lp ALL=(ALL) NOPASSWD: ALL Y el último fichero a modificar será /etc/cups/cupsd.conf, dónde se insertarán las siguientes líneas: […] # Only Listen Listen Listen listen for connections from the local machine. localhost:631 IP_servidor_Asterisk:631 ##Por seguridad no se muestra la dirección del servidor /var/run/cups/cups.sock […] # Restrict access to the server... <Location /> Order allow,deny Allow 172.16.16.* </Location> # Restrict access to the admin pages... <Location /admin> Encryption Required Order allow,deny Allow 172.16.16.* </Location> # Restrict access to configuration files... <Location /admin/conf> AuthType Default Require user @SYSTEM Order allow,deny Allow 172.16.16.* </Location> José Carlos Moral Cuevas Página | 144 Proyecto Fin de Carrera ANEXO 3 - GUÍA DE INSTALACIÓN Y ADMINISTRACIÓN.- […] La instalación de fax4CUPS en el sistema se lleva a cabo mediante las siguientes líneas: cd /usr/src/fax4CUPS-1.29/ install –m 555 hylafax /usr/lib/cups/backend install –m 444 fax4CUPS.1 /usr/share/man/man1 install –m 444 hylafax.ppd /usr/share/cups/model mkdir /var/log/hylafax chmod 777 /var/log/hylafax ## Asegurarse de que el log tiene todos los permisos Ya está se encuentra todo dispuesto para la creación de la impresora virtual, solo falta reiniciar el sistema de CUPS, para que surtan efecto todas las modificaciones realizadas: service cups restart Para crear la impresora virtual, se accede a la interfaz web de CUPS (acceso permitido gracias a la modificación del fichero /etc/cups/cupsd.conf). El acceso a la interfaz web se realiza introduciendo la siguiente dirección en el navegador del PC: http://asterisk:631. Una vez en la interfaz web se escoge la opción “Añadir Impresora”. Rellenar los siguientes campos: • • • Nombre: fax. Ubicación: Asterisk. Descripción: Hylafax. Pulsar siguiente, para continuar con la creación de la impresora virtual. Ahora se pide el “tipo de conexión” para la impresora “fax”. En este caso se busca la opción “Local HylaFAX server” del cuadro desplegable, y pulsar “Siguiente”. A continuación se pide la “Marca/Fabricante”, se escoge la marca “HylaFAX” que aparece en el recuadro y se pulsa “Siguiente”. En la siguiente pantalla se mostrará el único modelo que existe para el fabricante escogido, se marca “HylaFAX(en)”, y se pulsa “Añadir impresora”. Para finalizar, si se espera a la carga de la página, aparecerán unos campos de configuración para las opciones de impresora, sin modificar ninguno, se pulsa “Cambiar opciones de impresora”, y la instalación de la impresora virtual “fax”, ha concluido. Como se ha podido comprobar, tanto la marca, como el modelo de impresora HylaFAX aparecen en la interfaz web de CUPS, gracias a que se han instalado los ficheros de fax4CUPS como se ha indicado anteriormente en este punto. Antes de salir de la interfaz web, es conveniente ir a la pestaña de “Impresoras” y comprobar que la impresora creada existe y que en la línea “Estado de la impresora” aparece como “inactiva, aceptando trabajos, pública” (no importa lo de “inactiva”, es mera traducción de “idle”). Una vez instalada la impresora ya podrán enviarse faxes, como si se tratase de una impresión. No obstante, dicha “impresión” debería hacerse mediante línea de comandos (CLI), ya que fax4CUPS necesita que se le pase el número del fax destino para pasárselo a Hylafax (se recuerda que todo esto es para clientes con Linux). Los comandos a usar serían: • Para impresión desde el propio servidor Asterisk (local): lp –d fax –t 530955734876 documento.txt • Página | 145 Para impresión desde un PC cualquiera de la red del departamento (remoto): Año 2012 ANEXOS.- Proyecto Fin de Carrera lpr –E –H ip_servidor_asterisk –P fax –J 530955734876 documento.txt Para ambas ordenes, el parámetro “fax”, es la impresora virtual que se ha creado. 8. Dispositivo telefónico.El dispositivo telefónico en este caso es un teléfono IP modelo GrandStream GXP1405. Dicho dispositivo soporta PoE (Power over Ethernet), por lo que el switch Cisco ha sido convenientemente puenteado a las clavijas donde los usuarios conectarán sus teléfonos para alimentarlos. No obstante, el teléfono IP incluye un cable de alimentación para ser alimentado por la red eléctrica. La configuración del terminal telefónico puede llevarse a cabo manualmente, tanto desde la interfaz web que incorpora el terminal (usando el navegador de un PC en la misma red, tal como se hacía para acceder a Elastix), como desde el propio terminal. Este modelo telefónico también soporta una configuración automática mediante “aprovisionamiento” por TFTP59. Como ya se introdujo en la sección 6.6.5, el aporte de la configuración se consigue a través de un fichero especial cuya generación es responsabilidad el módulo “Endpoint Configurator”. En el sistema instalado en el Departamento, se usa la configuración automática por TFTP, por lo que no es necesario usar la interfaz web del terminal para configurarlo. No obstante, es de interés conocer cómo configurar los teléfonos desde la interfaz web, por si fallase la configuración vía TFTP. 8.1. Configuración vía Web.En este punto se abordarán las cuestiones de configuración necesarias para que los dispositivos del departamento funcionen correctamente, pero sin profundizar en cuestiones complejas que alargarían este manual innecesariamente. Si se desease mayor información se remite al manual oficial del dispositivo: http://www.grandstream.com/products/gxp_series/general/documents/gxp140x_usermanual_en glish.pdf. Así pues, para acceder a la interfaz web del teléfono se debe introducir en el navegador la IP de dicho terminal. Tras ello, aparecerá un cuadro para autenticarse, donde tanto usuario, como contraseña serán “admin” (por defecto, pero puede modificarse tras el primer acceso). Las opciones accesibles en la interfaz web para el administrador son: • • • • Status: Muestra el estado de la red, estado de la cuenta, versión del software y dirección MAC del teléfono, y estado del servicio. Basic Settings: En este aparatado se pueden modificar parámetros de configuración básica como la fecha y la hora, teclas de línea y configuraciones de la pantalla LCD. Advanced Settings: Permite establecer parámetros avanzados de red, codecs, configuración XML, etc. Account; Permite configurar la cuenta SIP para la autenticación con la centralita. 59 Trivial File Transfer Protocol. Es un protocolo sencillo para la transferencia sobre UDP de ficheros. En el sistema descrito en esta guía, el servidor que aporta los ficheros de configuración por TFTP es el propio Asterisk. José Carlos Moral Cuevas Página | 146 Proyecto Fin de Carrera ANEXO 3 - GUÍA DE INSTALACIÓN Y ADMINISTRACIÓN.- Pues bien, para que los teléfonos funcionen correctamente basta con configurar la cuenta SIP, pues el resto de parámetros de red necesarios (IP propia, IP de Asterisk, IP router, etc.) las obtiene el teléfono directamente del servidor DHCP (opción activada por defecto). Por tanto, para configurar los parámetros de la cuenta SIP, se accede a la opción “Account” de la interfaz web. Para que el terminal lleve a cabo la autenticación SIP con el servidor Asterisk, se deben configurar en esta sección los siguientes parámetros: Parámetro Descripción Account Active Este parámetro muestra cualquiera de las cuentas activas. EL valor por defecto siempre es “Yes”. Account Name Nombre asociado a cada cuenta. SIP Server Dirección IP del servidor SIP. En este caso es la dirección IP del servidor Asterisk. Secondary SIP Server Dirección IP del segundo servidor SIP, en caso de no completar el registro SIP con primero. En este caso se deja en blanco, pues en el departamento no existe otro servidor SIP. Outbound Proxy IP del proxy de salida, Media Gateway o Session Border Controler. Tampoco se completa. SIP User ID Número de la extensión que se desea para el terminal en cuestión. Authenticate ID Se repite el número de la extensión que se desea para el terminal en cuestión. Authenticate Password Contraseña configurada en el servidor Astrerisk para la extensión en cuestión. Name Nombre usado por el usuario de la extensión. Este campo no se completa a mano, pues se rellena automáticamente tras la autenticación del terminal con el servidor SIP. Tabla 24.- Parámetros necesarios para autenticación SIP. El resto de parámetros se dejan tal como vienen por defecto. No obstante, antes de terminar es interesante mencionar que para que el teléfono se configure automáticamente a partir de fichero de configuración generado por el módulo “Endpoint Configurator”, se activa la opción TFTP del campo “Upgrade Via” de los parámetros de “Advanced Settings” (existen otras posibilidades a parte de TFTP, como HTTP o HTTPS, sin embargo “Endpoint Configurator” solo soporta TFTP). Esta información es simplemente de interés, ya que dicha opción, no es necesario activarla manualmente, pues cuando el teléfono adquiere la información del servidor DHCP, descubre que la opción 66 del DHCP (TFTP server) está activa, activándose automáticamente la opción de configuración vía TFTP. Página | 147 Año 2012 ANEXOS.- Proyecto Fin de Carrera 8.2. Guardar cambios de configuración.Después de haber realizado cambios en la configuración del dispositivo telefónico mediante la interfaz web, pulsar el botón “Actualizar” en el menú de configuración. El navegador mostrará un mensaje para confirmar los cambios guardados. Se recomienda el reinicio del teléfono IP después de guardar los cambios. 8.3. Reiniciar dispositivo remotamente.Pulse el botón "Reiniciar" en la parte inferior del menú de configuración para reiniciar el teléfono de forma remota, desde la interfaz web. El navegador web mostrará a continuación un mensaje para confirmar que el reinicio está en marcha. Espere 30 segundos para iniciar sesión nuevamente. 8.4. Phonebook (Agenda).La herramienta “Phonebook” es la agenda telefónica del dispositivo GrandStream GXP1405. Esta agenda puede generarse manualmente, introduciendo en el dispositivo manualmente extensión y nombre; sin embargo, el terminal también acepta la descarga de un fichero XML con la información perteneciente a dicha agenda. Dicho fichero XML debe tener un formato específico, en el caso del Departamento el fichero debe ser como el de la Tabla 25, cuyo nombre debe ser: “gs_phonebook.xml” <?xml version="1.0"?> <AddressBook> <Contact> <LastName></LastName> <FirstName>Puerta</FirstName> <Phone> <phonenumber>20</phonenumber> <accountindex>0</accountindex> </Phone> </Contact> <Contact> <LastName>Fornes</LastName> <FirstName>Jose Manuel</FirstName> <Phone> <phonenumber>21</phonenumber> <accountindex>0</accountindex> </Phone> </Contact> <Contact> <LastName>Madinabeitia</LastName> <FirstName>German</FirstName> <Phone> <phonenumber>22</phonenumber> <accountindex>0</accountindex> </Phone> </Contact> […] </AddressBook> Tabla 25.- gs_phonebook.xml José Carlos Moral Cuevas Página | 148 Proyecto Fin de Carrera ANEXO 3 - GUÍA DE INSTALACIÓN Y ADMINISTRACIÓN.- Además de la generación de este fichero XML, es necesaria la modificación de uno de los ficheros de generación del módulo “Endpoint Configurator”, para que cuando el terminal reciba el fichero de configuración vía TFTP, se le informe de que además debe obtener del servidor Asterisk el fichero “gs_phonebook.xml”, con la agenda. Con este fin se configura el fichero “/var/www/html/modules/endpoint_configurator/libs/vendors/Grandstream.cfg.php”. En dicho fichero deben introducirse las líneas marcadas en color azul de la Tabla 26 (siempre respetando la justificación, sino no funcionará). Además aprovechando la modificación del fichero, se han introducido una serie de líneas para que el terminal telefónico muestre el idioma español y la franja horaria GMT+01:00 (en color gris). if($model == "GXV3140"){ $content=" # Firmware Server Path P192 = $ipAdressServer # Config Server Path P237 = $ipAdressServer […] } elseif($model == "GXP2120" || $model == "GXV3175"){ $content=" # Firmware Server Path P192 = $ipAdressServer # Config Server Path P237 = $ipAdressServer […] } else{ $content=" # Firmware Server Path P192 = $ipAdressServer # Display Language. # ar - Arabic, cz - Czech, de - Deutsh # en - English, es - Spanish, fr - Francais # he - Hebrew, hr - Hrvatski, hu - Magyar # it - Italiano, ja - japanese, ko - korean # nl - Dutch, pl - Polski, pt - Portugue # ru - Russian, sl - Slovenian, zh-tw - traditional chinese # zh - simplified chinese, auto - Automatic, # gxp - Downloaded Language P1362 = es # Time Zone. # auto - Automatic # CET-1CEST-2,M3.5.0/02:00:00,M10.5.0/03:00:00 - GMT+01:00 (Roma, Paris, Madrid, Prague, Berlin, Budapest, Amsterdam, Barcelona) P64 = CET-1CEST-2,M3.5.0/02:00:00,M10.5.0/03:00:00 # Config Server Path P237 = $ipAdressServer # Enable Downloadable Phonebook: 0=NO; 1=YES-HTTP; 2=YES-TFTP. P330 = 2 Página | 149 Año 2012 ANEXOS.- Proyecto Fin de Carrera # Phonebook XML Path. P331 = $ipAdressServer/tel # Phonebook Download Interval, integer variable in hours. P332 = 48 # Remove manually edited entries on download: 0=YES; 1=NO. P332 = 1 # mantiene las entradas introducidas manualmente. […] Tabla 26.- Grandstream.cfg.php Una vez realizadas las modificaciones pertinentes, creado el fichero “gs_phonebook.xml” y almacenado en la carpeta “tftpboot/tel” del servidor Asterisk. Se está en disposición de reiniciar el dispositivo telefónico para que adquiera los nuevos valores de configuración. Hay que tener en cuenta, que se han incluido nuevos parámetros en el fichero de configuración que se pasa vía TFTP al teléfono, por lo que si ya se habían creado con el módulo “Endpoint Configurator” estos archivos, habrá que borrarlos mediante la opción “Desconfigurar” de dicho módulo, para volver a generarlos de nuevo con las modificaciones realizadas. Para comprobar si se ha descargado la agenda en el teléfono, pulsar la flecha de dirección <abajo> del terminal telefónico y comprobar si se muestra la agenda. 9. Interfono.La configuración del interfono (Cyberdata VoIP Indoor Intercom with Keypad) puede realizarse mediante su interfaz web o mediante TFTP con un fichero de configuración. En el sistema de telefonía VoIP instalado en el Departamento, se ha optado por usar el fichero de configuración. No obstante, hay ciertos parámetros que no es posible configurar por el fichero de configuración y se configurarán mediante la interfaz web. Para que la autoconfiguración mediante TFTP funcione, es necesario activar la opción 150 del servidor DHCP del Departamento. Se remite al manual por línea de comandos del servidor DHCP, para conocer la forma en que se definen las opciones. En el caso de la versión actual del servidor DHCP instalado en el departamento, la opción 150 se activa introduciendo la siguiente línea en el fichero de configuración “dhcpd.conf”: option option-150 code 150 = ip-address; option option-150 172.16.16.64; El fichero de configuración debe llamarse “direccion_MAC_intercom.config” (por ejemplo “0020f700a96b.config”) y necesita almacenarse en el directorio “/tftpboot” del servidor Asterisk. La plantilla del fichero de autoconfiguración del interfono puede obtenerse de la página web oficial de Cyberdata, descargando la carpeta .zip, la cual contiene el firmware y también el fichero de autoconfiguración. Dicho fichero de configuración viene con extensión .xml, es necesario cambiarla y poner el nombre “direccion_MAC_intercom.config”, como se explicó anteriormente. Pulsar el siguiente enlace para descargar el .zip: http://www.cyberdata.net/products/voip/digitalanalog/intercomkeypad/drivers/630keypadintercom-uImage.zip A continuación se muestran las líneas a modificar del fichero anterior: […] <MiscSettings> José Carlos Moral Cuevas Página | 150 Proyecto Fin de Carrera ANEXO 3 - GUÍA DE INSTALACIÓN Y ADMINISTRACIÓN.- <DeviceName>Puerta</DeviceName> </MiscSettings> <DeviceSettings> <SpeakerVolume>3</SpeakerVolume> <MicGain>4</MicGain> <ActivateRelayWithDTMF>Yes</ActivateRelayWithDTMF> <DTMFActivationCode>código_apertura_puerta</DTMFActivationCode> <DTMFActivationDuration>2</DTMFActivationDuration> <ActivateRelayDuringRing>No</ActivateRelayDuringRing> <ActivateRelayDuringNightRing>No</ActivateRelayDuringNightRing> <ActivateRelayDuringCall>No</ActivateRelayDuringCall> <ActivateRelayDuringButtonPress>No</ActivateRelayDuringButtonPress> <RelayOnButtonPressTimeout>2</RelayOnButtonPressTimeout> <AutoAnswerIncomingCalls>Yes</AutoAnswerIncomingCalls> <ButtonLitWhenIdle>No</ButtonLitWhenIdle> <PlayRingbackTone>Yes</PlayRingbackTone> <VolumeBoost>No</VolumeBoost> </DeviceSettings> <IPSettings> <!-- <IPAddressMode>DHCP</IPAddressMode> <IPAddressMode>Static</IPAddressMode> <IPAddress>10.10.10.10</IPAddress> <SubnetMask>255.0.0.0</SubnetMask> <Gateway>10.0.0.1</Gateway> <DNS1>10.0.0.1</DNS1> <DNS2>10.0.0.1</DNS2> </IPSettings> --> <SIPSettings> <EnableSIPOperation>Yes</EnableSIPOperation> <SIPServer>IP_servidor_Asterisk</SIPServer> <BackupSIPServer1></BackupSIPServer1> <BackupSIPServer2></BackupSIPServer2> <RemoteSIPPort>5060</RemoteSIPPort> <LocalSIPPort>5060</LocalSIPPort> <OutboundProxy></OutboundProxy> <OutboundProxyPort>0</OutboundProxyPort> <SIPUserID>20</SIPUserID> <SIPAuthID>20</SIPAuthID> <SIPAuthPassword>abc020</SIPAuthPassword> <SIPRegisterOnBoot>Yes</SIPRegisterOnBoot> <SIPRegistrationTimeout>3600</SIPRegistrationTimeout> <SIPUnregisterOnBoot>No</SIPUnregisterOnBoot> <CallTimeout>0</CallTimeout> <RTPPort>10500</RTPPort> </SIPSettings> <ButtonSettings> <PlayButtonTone>Yes</PlayButtonTone> <!-<!-<!-- Página | 151 <DialMode>Telephone</DialMode>--> <DialMode>Cellphone</DialMode>--> <DialMode>Speed_Dial</DialMode>--> Año 2012 ANEXOS.- Proyecto Fin de Carrera <DialMode>Security</DialMode> <DialOutTimeout>2</DialOutTimeout> <SpeedDial1_Extension>241</SpeedDial1_Extension> <SpeedDial1_ID>id241</SpeedDial1_ID> <SpeedDial2_Extension>242</SpeedDial2_Extension> <SpeedDial2_ID>id242</SpeedDial2_ID> <SpeedDial3_Extension>243</SpeedDial3_Extension> <SpeedDial3_ID>id243</SpeedDial3_ID> <SpeedDial4_Extension>244</SpeedDial4_Extension> <SpeedDial4_ID>id244</SpeedDial4_ID> <SpeedDial5_Extension>245</SpeedDial5_Extension> <SpeedDial5_ID>id245</SpeedDial5_ID> <SpeedDial6_Extension>246</SpeedDial6_Extension> <SpeedDial6_ID>id246</SpeedDial6_ID> <SpeedDial7_Extension>247</SpeedDial7_Extension> <SpeedDial7_ID>id247</SpeedDial7_ID> <SpeedDial8_Extension>248</SpeedDial8_Extension> <SpeedDial8_ID>id248</SpeedDial8_ID> <SpeedDial9_Extension>249</SpeedDial9_Extension> <SpeedDial9_ID>id249</SpeedDial9_ID> <SpeedDial0_Extension>250</SpeedDial0_Extension> <SpeedDial0_ID>id250</SpeedDial0_ID> <SpeedDial*_Extension>251</SpeedDial*_Extension> <SpeedDial*_ID>id251</SpeedDial*_ID> <SpeedDial#_Extension>252</SpeedDial#_Extension> <SpeedDial#_ID>id252</SpeedDial#_ID> <SpeedDialCall_Extension>240</SpeedDialCall_Extension> <SpeedDialCall_ID>id240</SpeedDialCall_ID> <SecurityRelayTimeout>2</SecurityRelayTimeout> <PlayToneWhileRelayActive>No</PlayToneWhileRelayActive> <Allow_Telephone_Dialout>Yes</Allow_Telephone_Dialout> <SecurityCode0>código_seguridad_apertura1</SecurityCode0> <SecurityCode1>código_seguridad_apertura2</SecurityCode1> <SecurityCode2>código_seguridad_apertura3</SecurityCode2> <SecurityCode3>código_seguridad_apertura4</SecurityCode3> <SecurityCode4>código_seguridad_apertura5</SecurityCode4> <SecurityCode5>código_seguridad_apertura6</SecurityCode5> <SecurityCode6>código_seguridad_apertura7</SecurityCode6> <SecurityCode7>código_seguridad_apertura8</SecurityCode7> <SecurityCode8>código_seguridad_apertura9</SecurityCode8> <SecurityCode9>código_seguridad_apertura10</SecurityCode9> </ButtonSettings> […] Tabla 27.- Plantilla del fichero de configuración del interfono. No es necesario modificar el resto de líneas del fichero de configuración descargado de la web oficial, únicamente las que se muestran en la Tabla 27. En estas líneas se muestra que se deben introducir los datos de la extensión que se asigna al interfono (ID, password, etc.), la dirección IP del servidor Asterisk y el código DTMF para la apertura de la puerta, entre otros. No obstante, hay algunos campos cuyo significado es importante mencionar: • • • El campo <ButtonLitWhenIdle> ha sido configurado como “No”, para que la luz verde del botón “CALL BUTON” del interfono permanezca siempre apagado. El siguiente campo de interés es <SIPServer>, dónde ha de introducirse la dirección IP del servidor Asterisk, que es el servidor SIP. El último aspecto de interés en el fichero de configuración es el campo <DialMode>, donde debe marcarse la opción “Security”. Este modo actúa como un interfono normal, pero a la vez proporciona un sistema de apertura mediante códigos de seguridad. El dispositivo acepta hasta 10 códigos de seguridad José Carlos Moral Cuevas Página | 152 Proyecto Fin de Carrera ANEXO 3 - GUÍA DE INSTALACIÓN Y ADMINISTRACIÓN.- diferentes, de modo que un usuario que conozca uno de los códigos de seguridad, puede marcarlo en el teclado del interfono (precedido del carácter “#”) y la puerta se abrirá automáticamente (es una forma segura de abrir desde el exterior). Para llevar a cabo la configuración del dispositivo mediante la interfaz web, es necesario conocer su IP. Si no se conoce la IP, puede hacerse uso de la herramienta VoIP_Discovery_Utility facilitada por Cyberdata: http:/www.cyberdata.net/support/voip/VoIP_Discovery_Utility.zip Si este software se ejecuta en un PC bajo la misma red que el interfono, lo encontrará y obtendrá su IP. En el momento que se tenga la IP del interfono, se podrá acceder a su interfaz web autenticándose mediante usuario y contraseña. La interfaz web proporciona al administrador una gran cantidad de opciones de configuración, solo se abordarán las que se han modificado para el sistema del Departamento, si se desea conocer más acerca de las opciones disponibles se remite al manual oficial del interfono: http://www.cyberdata.net/products/voip/digitalanalog/intercomkeypad/documentation/011113_ 930323I_VoIP_Keypad_Intercom_Ops_Guide.pdf. Para finalizar la instalación del interfono en el sistema del departamento, es necesario conectarlo con el circuito del relé de la puerta y con la red del departamento mediante el conector RJ45. El esquema de conexionado se muestra en la Figura 75: Figura 75.- Esquema básico de conexionado del interfono. Es importante respetar el color de los cables que se conectan en el bloque de conexiones J3 para que el interfono funcione correctamente. Página | 153 Año 2012