SlideShare una empresa de Scribd logo
1 de 188
Descargar para leer sin conexión
Capítulo 1
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
INSTALACIÓN DE ELASTIX
Instalando desde CD
 Es recomendable instalar la última versión estable de Elastix disponible en la página del
proyecto.
 Para realizar la instalación desde CD, debemos descargar el archivo de imagen (con
extensión iso), y grabarlo en un disco en blanco.
 Es importante grabar el iso usando software especializado para este propósito.
 muchas veces caemos en el error de descomprimir la imagen y copiar la estructura de
directorios resultantes en un disco, con lo cual NO obtendremos un CD de arranque.
 Una vez que tenemos un CD de instalación creado, lo insertamos en la unidad y
procedemos a encender el equipo.
 Es importante verificar que el computador esté configurado para arrancar desde CD.
 Esto puede ser configurado en el BIOS.
 El instalador de Elastix aparecerá en nuestra pantalla.
 Una vez que tenemos un CD de instalación creado, lo insertamos en la unidad y
procedemos a encender el equipo.
 Es importante verificar que el computador esté configurado para arrancar desde CD.
 Esto puede ser configurado en el BIOS.
 El instalador de Elastix aparecerá en nuestra pantalla.
 Para realizar una instalación estándar basta con presionar ENTER
Advertencia: La instalación estándar borrará completamente el disco duro.
1
Capítulo 1
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
 Seleccionamos el idioma para la instalación.
 El instalador nos pide seleccionar el esquema del teclado
 Seleccionamos el tipo de particionamiento (primera opción).
2
Capítulo 1
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
 Confirmamos que se remuevan todas las particiones (Sí).
 Revisar/modificar la capa de partiticiones (No).
 Configurar interfaces de red (Sí).
3
Capítulo 1
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
 Seleccionar que se active al inicio y soporte para IPv4.
 Seleccionar ya sea DHCP o configuración manual.
 Si se utiliza configuración manual, ingresar la dirección y la máscara.
4
Capítulo 1
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
 Ingresar la dirección IP de la puerta de enlace y del servidor DNS.
 Ingresar el nombre del host.
 Seleccionamos el huso horario adecuado.
5
Capítulo 1
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
 Ingresar la contraseña del usuario root
 Esperar hasta que finalice la instalación automática de paquetes.
 Ingresamos la contraseña para el usuario root de MySQL (no confundir con usuario
root de linux).
6
Capítulo 1
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
 Ingresar nuevamente la contraseña de root de MySQL.
 Ingresar la contraseña para el usuario ‘admin’ del web GUI de Elastix.
Nota: Esta será además la contraseña para los siguientes servicios: FreePBX, Vtiger, A2Billing y FOP.
Aunque no se menciona esta contraseña es además la contraseña del AMI admin.
 Ingresar nuevamente la contraseña ‘admin’ de Elastix.
7
Capítulo 1
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
 La instalación ha sido completada, podremos ingresar a nuestro sistema con usuario
root y su contraseña ingresada durante la instalación.
Instalación con soft RAID
 RAID hace referencia a utilizar varios discos duros en arreglo, principalmente para
ofrecer redundancia de información.
 Dependiendo el número de discos que se disponga y la forma en la que se configure el
arreglo, se pueden obtener diferentes niveles de RAID.
 El que se verá a continuación es de nivel 1, en el que intervienen dos discos duros y
uno es espejo del otro.
 RAID hace referencia a utilizar varios discos duros en arreglo, principalmente para
ofrecer redundancia de información.
 Dependiendo el número de discos que se disponga y la forma en la que se configure el
arreglo, se pueden obtener diferentes niveles de RAID.
 El que se verá a continuación es de nivel 1, en el que intervienen dos discos duros y
uno es espejo del otro.
 RAID hace referencia a utilizar varios discos duros en arreglo, principalmente para
ofrecer redundancia de información.
 Dependiendo el número de discos que se disponga y la forma en la que se configure el
arreglo, se pueden obtener diferentes niveles de RAID.
 El que se verá a continuación es de nivel 1, en el que intervienen dos discos duros y
uno es espejo del otro.
8
Capítulo 1
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
 Observaremos ambos discos, debemos crear tres (3) particiones en cada uno.
 Seleccione la opción "Nuevo”
 Tamaños de disco:
 1era partición = 100MB para el boot,
 2da partición = el doble del tamaño del RAM del sistema para swap (en este ejemplo el
RAM es 512 MB),
 3ra partición = debe ser completada con el espacio disponible.
9
Capítulo 1
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
 En cada partición debemos seleccionar "software RAID" como el "Tipo de sistema de
archivos".
 Recuerde seleccionar la correspondiente "Unidad admisible", en la imagen del ejemplo
es "hda".
Imagen del proceso para la segunda partición (swap)
Imagen del proceso para la tercera partición (seleccionamos ocupar todo el espacio disponible)
 Al final tendremos 3 particiones en cada disco.
 No se preocupe por el orden de cada partición se re-ordenarán cuando configuremos
el RAID.
10
Capítulo 1
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
 Para iniciar la partición en espejos debemos seleccionar la opción "RAID".
 Aquí seleccionaremos las particiones que serán miembros del RAID, el "Tipo de
sistema de archivos" y el "Punto de montaje".
 Punto de Montaje: partición boot = /boot, swap = no coloque nada, partición "root"
= use /
 Tipo de sistema de archivos: partición boot = seleccione ext3, partición swap =
seleccione swap, y seleccione ext3 para la partición "root".
 Niveles de RAID: Seleccione RAID1 para todas las particiones.
 Miembros del RAID: Escoja el par de particiones que han sido creadas en cada uno
de los discos respectivamente.
Ejemplo del espejo en la partición boot.
Nota: Es importante seleccionar los particiones correspondientes en la sección “Miembros del RAID”. En este
ejemplo hda2 y sda2 son las particiones con 100MB para boot.
 Las configuraciones de RAID aparecerán sobre las particiones previamente creadas.
 Cuando finalice seleccione "Aceptar" para continuar con la instalación normalmente.
11
Capítulo 2
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
VIRTUALIZACIÓN
Virtualización
 Una máquina virtual simula un sistema físico con características de hardware
específicas.
 En un solo servidor se pueden implementar varias máquinas virtuales para cumplir
varios servicios.
 Esto nos permite la reutilización de hardware existente, lo cual implica ahorro de
recursos.
 Nos permite además reducción de costos y una administración global centralizada y
simple.
 En un solo espacio podemos tener varios servidores virtuales sin incrementar el
consumo de energía.
 Eso ha hecho muy populares los servicios de Hosted PBX, debido a la posibilidad de
virtualizar Elastix en lugar de disponer de un servidor por cliente.
 Permite crear un ambiente de pruebas sin afectar la operación real, lo cual es útil
previo a una actualización y nos será útil en este curso para probar el potencial de
Elastix.
12
Capítulo 2
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
 Entre las alternativas que revisaremos están:
 VMware
 VirtualBox
 XEN
VMware
 Una máquina virtual simula un sistema físico con características de hardware
específicas.
 En un solo servidor se pueden implementar varias máquinas virtuales para cumplir
varios servicios.
 Esto nos permite la reutilización de hardware existente, lo cual implica ahorro de
recursos.
 Nos permite además reducción de costos y una administración global centralizada y
simple.
 VMware Player está creada para usuarios sin licencia para usar Workstation.
 Inicialmente no permitía crear máquinas virtuales, pero esta limitación fue removida en
la versión 3.0.1. Está disponible para Windows y Linux.
 VMware Server es distribuida gratuitamente para uso no comercial y es la alternativa
para servidores. Se recomienda para pruebas y no para servidores en producción
 Página web: http://www.vmware.com/
VirtualBox
 Es un software de virtualización para arquitecturas x86/amd64 desarrollado
actualmente por Oracle Corporation.
 Funciona bajo el concepto de sistemas tipo Guest instalados en un sistema operativo
host, cada uno con su propio ambiente virtual
 Sistemas operativos soportados en modo anfitrión: GNU/Linux, Mac OS X, OS/2,
Microsoft Windows y Solaris/OpenSolaris.
 Sistemas operativos Guest: FreeBSD, GNU/Linux, OpenBSD, OS/2 Warp, Windows,
Solaris, MS-DOS, entre otros.
13
Capítulo 2
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
 Es un software de virtualización para arquitecturas x86/amd64 desarrollado
actualmente por Oracle Corporation.
 Funciona bajo el concepto de sistemas tipo Guest instalados en un sistema operativo
host, cada uno con su propio ambiente virtual
 Sistemas operativos soportados en modo anfitrión: GNU/Linux, Mac OS X, OS/2,
Microsoft Windows y Solaris/OpenSolaris.
 Sistemas operativos Guest: FreeBSD, GNU/Linux, OpenBSD, OS/2 Warp, Windows,
Solaris, MS-DOS, entre otros.
 Es un software de virtualización para arquitecturas x86/amd64 desarrollado
actualmente por Oracle Corporation.
 Funciona bajo el concepto de sistemas tipo Guest instalados en un sistema operativo
host, cada uno con su propio ambiente virtual
 Sistemas operativos soportados en modo anfitrión: GNU/Linux, Mac OS X, OS/2,
Microsoft Windows y Solaris/OpenSolaris.
 Sistemas operativos Guest: FreeBSD, GNU/Linux, OpenBSD, OS/2 Warp, Windows,
Solaris, MS-DOS, entre otros.
Redes en VirtualBox
 Es necesario configurar el tipo de red que utilizará Elastix. Existen 6 tipos de redes
 No conectado: simula una computadora sin cable de red
 NAT: Funciona sólo para acceder a redes externas pero no se puede acceder a la
máquina remotamente
 Adaptador puente: Simula redes. Cuando está habilitado, VirtualBox conecta uno de
los dispositivos de red e intercambia paquetes directamente.
 Red interna: Sirve para simular redes con otras máquinas virtuales
 Adaptador solo-anfitrión: La máquina virtual es vista como otra máquina en la red.
 Controlador genérico: usado para compartir una interfaz de red genérica. Un
ejemplo es la interconexión entre dos máquinas virtuales ubicados en diferentes hosts.
 Con Elastix podemos usar: Adaptador puente y Adaptador solo anfitrión. Para este
curso utilizaremos Adaptador puente.
14
Capítulo 2
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
XEN
 Es la alternativa más eficiente de virtualización
 Solución recomendada para servidores por su eficiencia
 Es lo que utilizan la mayoría de proveedores de hosting de VPS con Elastix
 Existe 2 tipos de virtualización: completa y para-virtual
 Permite hacer migraciones de máquinas virtuales en caliente
 Es software libre: http://www.xen.org/
Arquitectura en XEN
 XEN se comunica directamente con el hardware a través de un componente llamado
Hipervisor.
 Cuando XEN arranca levanta automáticamente un dominio conocido como dom0
 Dom0 es un dominio privilegiado donde se administran otros dominios.
 Los demás dominios son conocidos como domU
Instalar Elastix en XEN
 Existen varias formas en las que se puede instalar Elastix con XEN
 Se necesita un servidor XEN sobre el cual se instalará Elastix. CentOS es muy buena
opción para este servidor
 Se puede instalar con virtualización completa o paravirtual
 Se puede instalar sobre una máquina virtual de CentOS 5.x. Esto es muy útil si
tenemos un servidor VPS remoto con CentOS cargado
15
Capítulo 3
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
LINUX PARA ADMINISTRADORES
DE ELASTIX
Introducción
 GNU/Linux es un sistema operativo de software libre
 Asterisk y Elastix funcionan sobre Linux
 Para administrar una central Elastix no es necesario ser experto en Linux pero es muy
útil conocer del tema.
 Es la interfaz de texto entre el usuario y el sistema operativo
 Se puede acceder localmente
 Se puede acceder remotamente a través del protocolo SSH (Secure Shell)
 El SSH es un protocolo encriptado.
Línea de Comandos en Linux
 Ejemplo terminal Linux de Elastix:.
16
Capítulo 3
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
Comandos Básicos
Sistema de Archivos
 Estructura de árbol de directorios
 Todos empiezan en la raíz → /
 Directorios importantes en Elastix:
o /etc/asterisk: guarda la configuración de Asterisk
o /var/www/html: se encuentra Elastix
o /var/lib/mysql: las bases de datos de mysql
o /var/log: los archivos de log.
Comando Descripción
ls Lista los archivos en el directorio actual.
ls -la Lista los archivos y sus atributos
cd Cambia de directorio
cd .. Cambia el directorio padre
cat Muestra el contenido de un archivo en la pantalla
pwd Muestra la ruta actual
cp Copia un archivo o grupo de ellos.
mv Mueve un archivo. También se lo usa para renombrar archivos.
rm Elimina un archivo
tail -f filename Muestra las últimas líneas de un archivo
mkdir Crea un directorio
tar zxvf filename.tar.gz Descomprime un archivo .tar.gz
top
Muestra un reporte en tiempo real de los procesos que se ejecutan
en el sistema. Puede ser ordenado por consumo de memoria o CPU.
Muy útil para diagnóstico.
find Permite buscar archivos
vim Programa para ver y editar archivos de texto plano.
ifconfig
Muestra información de las interfaces de red y permite modificarlas
temporalmente.
ps -aux
Muestra un reporte de los procesos que se están ejecutando en el
servidor.
reboot Reinicia el equipo
shutdown -h now Apaga el equipo
	
  
17
Capítulo 3
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
Permisos
 Todo archivo pertenece a un usuario y a un grupo
 Los permisos son 3 niveles: usuario, grupo, otros
 Los permisos pueden ser de lectura (r), escritura(w) y ejecución(x)
 Ejemplo: rwxrw-rw- ; juan - elastix - archivo
o En este caso el archivo pertenece a juan y al grupo elastix. Los permisos para juan
son de rwx, grupo elastix rw y otros rw
Permisos: Notación Octogonal
 Los permisos se pueden representar con números
 r=4, w=2 y x=1
 Ejemplos:
o 766=rwxrw-rw-
o 600= rw-------
o 644=rw-r--r--
RPM
 Forma tradicional de instalar paquetes
 Se usa para instalar y desinstalar paquetes
o Instalar: rpm -ivh paquete.rpm
o Desinstalar: rpm -e paquete
 Consultas sobre paquetes instalados
 Todos paquetes instalados: rpm -qa
 Todos los paquetes que contengan asterisk:
o rpm -qa | grep asterisk
 Rpm tiene problemas de dependencias
18
Capítulo 3
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
YUM
 Maneja la instalación de paquetes desde repositorios
 Los repositorios pueden estar en Internet o en la lan
 No existe problemas de dependencias
 Ejemplos de uso:
o Instala paquete: yum install paquete
o Borra paquete: yum remove paquete
o Actualiza paquete: yum update paquete
o Actualiza todo el sistema operativo: yum update
19
Capítulo 4
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
ELASTIX: GENERALIDADES
¿Qué es Elastix?
 Una solución de servidor de comunicaciones unificadas: telefonía, fax, IM, email,
colaboración.
 Es Software Libre.
 Se distribuye como una imagen ISO para quemar en CD.
 Incluye instalador.
 Basada en Linux (CentOS), Asterisk, FreePBX, Hylafax, Postfix y Openfire.
 Además de otros paquetes de código abierto.
 Rápido crecimiento, 1’000.000 descargas hasta Noviembre de 2010.
 Reconocimiento con el premio INTERNET TELEPHONY product of the year Award
años 2011 y 2012
¿Servidor de Comunicaciones Unificadas?
 Integración de diferentes sistemas de comunicaciones.
 Por ejemplo, el teléfono es contestado por Asterisk (telefonía) y en caso de resultar un
documento de fax le pasa el control a Hylafax (FAX) quien recibe el documento y lo
envía por email a través de Postfix a su destinatario.
 Mejora la productividad: ahorro de tiempo, papel, mejor acceso a la información
compartida.
Esquema General
20
Capítulo 4
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
Breve historia del Proyecto
 Lanzado en Marzo de 2006 por la compañía PaloSanto Solutions de Ecuador.
 Inicialmente no era una distro sino una interfaz de reportación para llamadas de
Asterisk
 En Diciembre de 2006 se lanza la primera versión en formato distro. Ganó popularidad
por su usabilidad.
 En 2007 y 2008 el proyecto estuvo nominado a los premios CCA de SourceForge.
 Actualmente es una de las distros basadas en Asterisk líder del mercado.
Características de Elastix
 Algunas de las características y funcionalidades de Elastix son:
 Voicemail
 Fax-a-email
 Soporte para soft phones
 Consola de operador
 IVR (recepcionista digital)
 Interfaz de configuración Web
 Sala de conferencias
 Music-on-hold con soporte mp3s
 Campañas de tele-mercadeo
 Grabación de llamadas
 Parqueo de llamadas
 Call-pickup
 Colas de atención
 Limitación de tiempo de llamada
 Least Cost Routing
 Roaming de extensiones
 Interconexión entre PBXs
 Identificación del llamante
 CRM incluido Reportación avanzada
 Personalización y desarrollo
 Para un mayor detalle de todas las funcionalidades consulte Elastix.org
Licenciamiento de Elastix
 Elastix es software libre licenciado bajo GPL versión 2:
 http://elx.ec/gpl2
 Esto quiere decir que se puede copiar, distribuir y modificar el software libremente.
 No existen versiones cerradas ni doble licenciamiento (como es el caso de Asterisk o
MySQL).
 Por si todavía existe la duda: Elastix puede ser descargado sin costo alguno.
21
Capítulo 4
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
Interfaz Web de administración
Menú System
Menú PBX
Menú Email
Menú Fax
22
Capítulo 4
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
Menú Reports
Menú extendido
Interfaz Web de administración
 Módulo de Add-ons: Funcionalidad adicional disponible en un sólo clic
www.elastix.org
 Sitio Web oficial del proyecto.
 Mantenido por PaloSanto Solutions y la comunidad Elastix.
 Aquí podemos encontrar:
 Foros
 Wiki (Documentación)
 Chat en vivo IRC
 Suscripción a listas de correo
 Links de descargas
 Información Comercial y Proyectos
 Eventos
23
Capítulo 5
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
FUNCIONAMIENTO INTERNO DE
FREEPBX
Fundamentos de FreePBX
 Software de configuración de Asterisk
 Integrado en la distribución Elastix
 Genera los archivos de configuración de Asterisk
o Incluye el plan de marcado
o Basados en la configuración ingresada por el usuario
 Dos pasos para la configuración:
o Guarda la información en una base de datos de configuración.
o En el caso de Elastix el motor de base de datos usado es MySQL.
o Convierte la información de la base de datos en archivos de configuración a
través de parsing.
24
Capítulo 5
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
Organización de archivos
Configuración de FreePBX
amportal.conf:
 Archivo de texto plano, leído por FreePBX.
 Información general de configuración.
 Editable en caso de requerirse.
 Información de acceso a la base de datos.
 Tipo de autenticación para usuarios Web.
 Documentación para manejo de opciones y directivas de configuración.
retrieve.conf:
 Escrito en PHP
 Genera el plan de marcado a partir de la información almacenada en la base de datos.
Directorio Descripción
/var/www/html/admin/ Directorio principal del GUI de FreePBX.
/var/www/html/panel/ Directorio del Flash Operator Panel.
/etc/asterisk/ Directorio de archivos de configuración de Asterisk.
/var/lib/asterisk/agi-bin/ Directorio de scripts AGI de Asterisk
/var/lib/asterisk/bin/ Directorio de binarios, links simbólicos a carpetas de módulos.
/usr/local/sbin/ Directorio con script amportal, manipulado solo por root.
/var/lib/asterisk/sounds/ Directorio con sonidos del plan de marcado.
/var/lib/asterisk/sounds/custom/ Directorio con sonidos creados por el usuario.
/var/spool/asterisk/voicemail/ Directorio de almacenamiento de voicemails.
/var/spool/asterisk/monitor/ Directorio de almacenamiento de grabaciones de voz.
25
Capítulo 5
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
 Programa ejecutable desde la línea de comandos.
 Se ejecuta a través de un script PHP, cada vez que se da clic en la barra roja de FreePBX
(”Apply Configuration Changes Here”).
 Esta operación será muy frecuente en la mayoría de las configuraciones que realicemos
en el menú de PBX.
dialparties.agi:
 Script AGI escrito en PHP
 Se ejecuta desde el plan de marcado cuando se realiza una llamada.
 Revisa el estado de la extensión y otras configuraciones de la misma (call forward, call
waiting, do not disturb).
 Toma acciones a partir del estado y la configuración de la extensión.
 dialparties.agi consulta la base de datos de Asterisk ubicada en /var/lib/asterisk/astdb/
 Se puede ejecutar desde el CLI (Command Line Interpreter) de asterisk
 dialparties.agi está ubicado en /var/lib/asterisk/agi-bin/dialparties.agi
Módulo de FreePBX: Estructura
Nombre del Archivo Descripción
module.xml Información del módulo en formato XML.
page.nombredelmodulo.php Archivo principal del módulo escrito en PHP.
functions.inc.php Librería especial con funciones PHP.
install.sql
Contiene sentencias SQL que se ejecutan sobre
la base de datos al instalar el módulo.
uninstall.sql
Contiene sentencias SQL para desinstalar el
módulo.
install.php
Script PHP que se ejecuta al momento de
instalar el módulo.
uninstall.php
Script PHP que se ejecuta al momento de
desinstalar el módulo
26
Capítulo 5
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
¿Cómo se embebe en Elastix?
 Para poder embeber freePBX en Elastix se desarrolló un código WRAPPER
 Este código se acopla los módulos de freePBX como un módulo Elastix.
 Este desarrollo consiste en:
o Módulo pbxadmin de Elastix
o Archivo /var/www/html/config.php
Módulo pbxadmin de Elastix
 Encargado de obtener el contenido de módulos de freePBX por medio de inclusión de
archivos de PHP.
 El index.php de éste módulo (Elastix) es muy parecido al index de freePBX (llamado
config.php), pero quitando todos los estilos propios de freePBX.
 Contiene un archivo javascript (libfreepbx.javascripts.js) que es una copia mínima del que
esta ubicado dentro del código de freePBX para mantener las acciones que se dan en la
GUI
Archivo /var/www/html/config.php
 Este archivo recibe las peticiones hechas desde módulos de freePBX.
 Lo que hace es redireccionar las peticiones al módulo pbxadmin de Elastix e incluir el
index.php del framework Elastix.
Gráfico ilustrativo de FreePBX embebido
config.php
Index.php
Framework Elastix
Módulo pbxadmin de Elastix
Redirecciona las
peticiones a
Redirecciona a
Obtiene el contenido de módulos de
FreePBX pero sin estilos
Módulos de FreePBX
Hacen las peticiones al
config.php ubicado en
la raíz
WRAPPER
1
2
3
4
27
Capítulo 5
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
FUNCIONAMIENTO INTERNO DE
FREEPBX
Fundamentos de FreePBX
 Software de configuración de Asterisk
 Integrado en la distribución Elastix
 Genera los archivos de configuración de Asterisk
o Incluye el plan de marcado
o Basados en la configuración ingresada por el usuario
 Dos pasos para la configuración:
o Guarda la información en una base de datos de configuración.
o En el caso de Elastix el motor de base de datos usado es MySQL.
o Convierte la información de la base de datos en archivos de configuración a
través de parsing.
28
Capítulo 5
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
Organización de archivos
Configuración de FreePBX
amportal.conf:
 Archivo de texto plano, leído por FreePBX.
 Información general de configuración.
 Editable en caso de requerirse.
 Información de acceso a la base de datos.
 Tipo de autenticación para usuarios Web.
 Documentación para manejo de opciones y directivas de configuración.
retrieve.conf:
 Escrito en PHP
 Genera el plan de marcado a partir de la información almacenada en la base de datos.
Directorio Descripción
/var/www/html/admin/ Directorio principal del GUI de FreePBX.
/var/www/html/panel/ Directorio del Flash Operator Panel.
/etc/asterisk/ Directorio de archivos de configuración de Asterisk.
/var/lib/asterisk/agi-bin/ Directorio de scripts AGI de Asterisk
/var/lib/asterisk/bin/ Directorio de binarios, links simbólicos a carpetas de módulos.
/usr/local/sbin/ Directorio con script amportal, manipulado solo por root.
/var/lib/asterisk/sounds/ Directorio con sonidos del plan de marcado.
/var/lib/asterisk/sounds/custom/ Directorio con sonidos creados por el usuario.
/var/spool/asterisk/voicemail/ Directorio de almacenamiento de voicemails.
/var/spool/asterisk/monitor/ Directorio de almacenamiento de grabaciones de voz.
29
Capítulo 5
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
 Programa ejecutable desde la línea de comandos.
 Se ejecuta a través de un script PHP, cada vez que se da clic en la barra roja de FreePBX
(”Apply Configuration Changes Here”).
 Esta operación será muy frecuente en la mayoría de las configuraciones que realicemos
en el menú de PBX.
dialparties.agi:
 Script AGI escrito en PHP
 Se ejecuta desde el plan de marcado cuando se realiza una llamada.
 Revisa el estado de la extensión y otras configuraciones de la misma (call forward, call
waiting, do not disturb).
 Toma acciones a partir del estado y la configuración de la extensión.
 dialparties.agi consulta la base de datos de Asterisk ubicada en /var/lib/asterisk/astdb/
 Se puede ejecutar desde el CLI (Command Line Interpreter) de asterisk
 dialparties.agi está ubicado en /var/lib/asterisk/agi-bin/dialparties.agi
Módulo de FreePBX: Estructura
Nombre del Archivo Descripción
module.xml Información del módulo en formato XML.
page.nombredelmodulo.php Archivo principal del módulo escrito en PHP.
functions.inc.php Librería especial con funciones PHP.
install.sql
Contiene sentencias SQL que se ejecutan sobre
la base de datos al instalar el módulo.
uninstall.sql
Contiene sentencias SQL para desinstalar el
módulo.
install.php
Script PHP que se ejecuta al momento de
instalar el módulo.
uninstall.php
Script PHP que se ejecuta al momento de
desinstalar el módulo
30
Capítulo 5
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
¿Cómo se embebe en Elastix?
 Para poder embeber freePBX en Elastix se desarrolló un código WRAPPER
 Este código se acopla los módulos de freePBX como un módulo Elastix.
 Este desarrollo consiste en:
o Módulo pbxadmin de Elastix
o Archivo /var/www/html/config.php
Módulo pbxadmin de Elastix
 Encargado de obtener el contenido de módulos de freePBX por medio de inclusión de
archivos de PHP.
 El index.php de éste módulo (Elastix) es muy parecido al index de freePBX (llamado
config.php), pero quitando todos los estilos propios de freePBX.
 Contiene un archivo javascript (libfreepbx.javascripts.js) que es una copia mínima del que
esta ubicado dentro del código de freePBX para mantener las acciones que se dan en la
GUI
Archivo /var/www/html/config.php
 Este archivo recibe las peticiones hechas desde módulos de freePBX.
 Lo que hace es redireccionar las peticiones al módulo pbxadmin de Elastix e incluir el
index.php del framework Elastix.
Gráfico ilustrativo de FreePBX embebido
config.php
Index.php
Framework Elastix
Módulo pbxadmin de Elastix
Redirecciona las
peticiones a
Redirecciona a
Obtiene el contenido de módulos de
FreePBX pero sin estilos
Módulos de FreePBX
Hacen las peticiones al
config.php ubicado en
la raíz
WRAPPER
1
2
3
4
31
Capítulo 6
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
CONFIGURACIÓN BÁSICA DE
ELASTIX
Ingreso a Elastix vía Web
 Abrir en un navegador web: https://ip-servidor (Dirección IP de Elastix)
 La primera vez se debe aceptar el certificado digital. De ser necesario establezca un
excepción en su navegador web
 Ingresar con los siguientes datos
 Usuario: admin
 Password: La clave de admin registrada durante la instalación
Configuración de Red
 Elastix utiliza DHCP por defecto
 En la mayoría de casos se debe configurar:
 IP estático
 Puerta de Enlace
 DNS
 Para configurar se debe acceder al menú Sistema → Red
 Los dispositivos de red se reconocen como ethernet1, ethernet2, etc...
32
Capítulo 6
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
Creando una extensión
 Se pueden crear extensiones: sip, iax, zap, dahdi y custom
 SIP: protocolo estándar para terminales de voz/ip. Soportado por la mayoría de
teléfonos de ip
 IAX: Protocolo propio de Asterisk y no muy difundido. Se comporta mejor que
sip en ambientes nat
 Zap: Usada para extensiones análogas o tradicionales
 dahdi: Usada para extensiones análogas o tradicionales
 Custom: Se puede utilizar para opciones avanzadas. Por ejemplo mapear una
línea externa a una extensión
Ejemplo para crear extensión SIP
 Para crear una extensión ingrese a:
 PBX → PBX Configuration → extensiones
 Seleccione: Generic SIP Device
 Como mínimo debe ingresar: número de extensión, display name y el secret
 El mode DTMF (dtmfmode) de la extensión y teléfono debe ser el mismo.
 El dtmfmode predeterminado es: rfc2833
 Otras opciones para el modo rfc son:
 info
 inband
 auto
33
Capítulo 6
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
Ejemplo: Configuración de Softphone
 La configuración de un teléfono IP de software debe incluir por lo menos: el usuario
(normalmente la extensión), el password (secret) y la dirección IP del servidor Elastix.
 En la gráfica: configuración de cuenta en el softphone Zoiper
Configuraciones generales
 Configuraciones importantes
 Opciones de marcado: Se definen opciones como transferencia de llamada y
grabación de llamadas
 Company Directory: Para acceder al directorio telefónico desde un ivr con *411 o
#
 Security Settings: No permite llamadas sip anónimas
 Actualizaciones: Bloqueada por defecto
Colas
 Agrupan a varias extensiones conocidas como agentes
 Agentes estáticos o dinámicos
 Existen varias Estrategias de marcado:
 Sonar todos: Timbra a todos los miembros de la cola
 Agente con última llamada más antigua: Timbra al agente que fue llamado menos
recientemente
 Agente con menos llamadas: Timbra al agente que menos llamadas a contestado
 Estrategias de marcado:
 Aleatorio: Timbra aleatoriamente
 Con memoria: Timbra a cada agente de manera secuencial
 Linear: Timbra a los agentes en el orden especificado
34
Capítulo 6
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
 Wrandom: Timbra las extensiones de los agentes e manera aleatoria pero
utilizando una penalidad como medida de probabilidad.
Colas: configuración básica
 Queue number: El número por el que se podrá llamar a la extensión
 Queue name: El nombre de la cola que usaremos para identificar en la interfaz
administrativa
 Queue password: Clave que deberá ingresar un agente dinámico
 CID name prefix: Como un agente puede hacer login en varias colas al mismo tiempo,
es útil colocarle un prefijo al Caller ID para que cuando el agente vea la llamada
entrante en el teléfono sepa a que cola pertenece la llamada.
 Static Agents: Se lista las extensiones a agentes y su prioridad en la cola.
 Max callers: El número máximo de personas que esperan en una cola si todos los
agentes están ocupados.
 Join Empty: Se puede permitir que la cola funcione sin agentes. No se recomienda
 Leave when empty: si se pone en yes, los usuarios que estén en espera en la cola serán
removidos de la misma si todos los agentes abandonan la cola.
 Ring strategy: Existen 6 tipos de estrategias: ringall, leastrecent, fewestcalls, random,
rrmemory, linear, wrandom.
 Wrap-up-time: Tiempo entre llamadas exitosas por agente
 Call Recording: Opción para grabar llamadas
 Fail Over Destination: Destino a donde van las llamadas entrantes no contestadas
IVR
 Un IVR funciona como una recepcionista digital
 Es necesario grabar o subir sonidos al servidor antes de configurar el IVR
 Se pueden tener tantos IVR como sean necesarios
 Para que sean accesibles desde las troncales se deben configurar rutas entrantes
IVR: Grabar o subir sonido
 Para grabar o subir un sonido se debe ingresar a PBX → PBX Configuration →
Grabaciones del Sistema
35
Capítulo 6
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
 Para subir un audio haga clic en “Subir un Archivo”, navegue hasta ubicarlo,
selecciónelo y haga clic en “Enviar”.
 Continúe al paso 2, asigne un nombre a su grabación y haga clic en “Guardar”.
 Archivos WAV deben estar codificados en PCM, 16 bits y a 8000Hz.
 Si desea grabar desde un teléfono ingrese el número de extensión y haga clic en “ir”
 Marque *77 para grabar el mensaje (desde la extensión que ingresó)
 Marque *99 para escuchar la grabación (desde la extensión que ingresó)
 Una vez grabado el mensaje asignamos un nombre y hacemos clic en “Guardar”
IVR: Grabar o subir sonido
 Ir a PBX → PBX Configuration → IVR – clic en Añadir IVR
 Configurar las siguientes variables:
 Cambiar nombre: Asignamos un nombre al IVR
 Tiempo de espera: Tiempo de espera, en segundos, antes de ir al destino por
defecto.
 Habilitar marcación directa: Permitir marcar directamente a extensiones
36
Capítulo 6
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
 Anuncio: Seleccionamos un anuncio previamente grabado o cargado en el
sistema.
 Se agregan los números de opción y sus destinos.
 La opción t sirve para timeout
 La opción i para opciones equivocadas
 Una vez concluido hacemos clic en “Guardar “
 La forma mas sencilla de hacer un IVR es con único Audio que al ser reproducido
indique todas las opciones.
 Cuando tenemos varios Audios, tendremos que hacer un IVR para cada Audio.
 Una vez que tenemos cada IVR creado, los relacionamos en orden colocando t
como la opción que enlazará el actual IVR al siguiente (siendo t la opción de
timeout)
 Es necesario incluir todas las opciones de marcado disponibles en todos los IVRs
creados para no tener errores.
Salas de Conferencia
 Una sala de conferencia permite hablar a 3 o más personas simultáneamente
 Se pueden hacer conferencias con extensiones locales y números remotos
 Existen 2 tipos de salas de conferencias:
 Permanentes y temporales
 De ser necesario se pueden proteger con clave
Salas de conferencia: Temporales
 Se crean por un tiempo definido y desaparecen
 Para crear se debe ingresar a PBX → Conference
 Ejemplo de configuración:
37
Capítulo 6
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
Salas de conferencia: Estáticas
 Se crean para uso permanente
 Ejemplo de Configuración: Ir a PBX → PBX Configuration → Conferencias
 Número de conferencia: la extensión a la que marcaremos para acceder.
 Nombre de la conferencia: Un nombre referencial
 PIN de usuario: Clave para acceso a la conferencia (opcional)
 PIN de administración: Necesaria únicamente si se selecciona la opción esperar al
administrador.
 Opciones de la conferencia
38
Capítulo 6
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
Parqueo de llamadas
 Sirve para enviar las llamadas a un lugar temporal cuando el destino no es conocido.
 Esto permite que sean recuperadas desde otra extensión.
 La llamada es transferida desde una extensión inicial a un estacionamiento o parking
slot.
 Después puede ser recuperada desde otra locación marcando un número asignado.
 Para crear un estacionamiento ingrese a:
 PBX → PBX Configuration → Estacionamiento
 La extensión de marcado para enviar una llamada a aparcamiento es por defecto 70.
 El tiempo de configuración para espera en el estacionamiento va de 15 segundos a 10
minutos.
 El contexto de aparcamiento por defecto es: parkedcalls. Esto no debería ser
cambiado.
 Al activar la opción de estacionamiento es necesario configurar el destino donde deben
ir las llamadas que no son recuperadas.
 Ejemplo:
 Durante la llamada marque ## 70 # - Usted escuchará un número de estacionamiento.
 Usualmente 71, 72, 73,...n (un máximo de 20).
 Luego usted puede recuperar la llamada que puso en el estacionamiento, desde otra
extensión ´marcando el número que escuchó en la grabación.
39
Capítulo 6
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
Música en espera
 Se puede subir música en formatos wav o mp3 al servidor
 Se pueden crear listas de música para asignar en diferentes lugares de nuestra central.
Ej. Callcenter, colas, etc..
 Para configurar se debe ingresar a PBX → Configuración → Música en Espera.
 Es recomendable usar .wav estar codificado en PCM, 16 bits y a 8000Hz. Mp3 podría
consumir mas recursos.
Bookmark de menúes comunes
 Elastix 2.2 permite marcar menúes comunes para fácil.
 Esta funcionalidad está localizada en la esquina derecha de cada sección con un icono
★ (estrella).
 Para añadir un bookmark basta con hacer clic en ★ Iy la sección se mostrará en el
menú de la columna izquierda
40
Capítulo 6
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
Flash Operator Panel (1)
 Es una aplicación web hecha en flash que permite monitorizar la central
 Cumple las funciones de un teléfono de recepcionista
 Se pueden transferir llamadas, crear conferencias, etc.
 La clave de administración es la que configuramos al instalar Elastix en la clave del
admin de la interfaz web.
 Flash Operator Panel es un desarrollo de terceros. Elastix introdujo desde la versión
2.0 su propio panel de operador denominado: Elastix Operator Panel.
 Pantalla del FOP:
41
Capítulo 7
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
CONFIGURACIÓN DE
TELÉFONO IP
¿Qué es un teléfono IP?
 Un teléfono IP es un dispositivo que permite realizar una comunicación de voz utilizando
la red IP, ya sea mediante red de área local o a través de Internet.
 La tecnología que hace esto posible esto se conoce como VoIP (Voz sobre IP).
 El teléfono IP convierte y comprime la señal de la voz en paquetes de datos que serán
enviados en la red IP, en lugar de utilizar una conexión de red teléfonica.
Configuración de teléfono IP
 Para configurar un teléfono IP debemos tener en cuenta tres aspectos:
1. Configuración de red
2. Registro del dispositivo con el servidor Elastix
3. El Teléfono IP apropiado
 Para ilustrar de mejor manera los puntos mencionados, utilizaremos un teléfono Yealink
SIP-T22P.
Configuración de red
 La configuración de red puede realizarse por DHCP (lo más común) o se puede asignar
una dirección IP estática.
DHCP
 Mediante esta opción, el teléfono obtendrá una dirección IP desde un setvidor DHCP
ubicado dentro de la red local.
 Elastix puede ser nuestro servidor DHCP, si no se cuenta con uno en la red local.
42
Capítulo 7
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
IP estática
 Esta opción es útil si deseamos contar contar con un registro exacto de las direcciones
IP de cada teléfono.
 Es también útil si deseamos colocar los dispositivos IP en segmentos específicos de
nuestra red.
 En esta opción, además de la IP se necesita ingresar la máscara de red y la puerta de
enlace en el caso de que su teléfono se encuentre en otro segmento de red.
 La configuración de Teléfonos Yealink SIP-T22P o cualquier otro modelo de Yealink se
puede realizar ingresando a un web browser colocando la dirección IP del teléfono.
 El usuario y contraseña por defecto en todos los modelos Yealink es: admin
Nota: también es posible configurar la extensión del teléfono desde el Endpoint Configurator de
Elastix (PBX → Endpoint Configurator) , esto lo veremos más adelante.
 Para configurar la extensión debe ir a Cuenta.
 El teléfono Yealink SIP-T22P puede ser configurado con 3 cuentas.
 La información básica necesaria para la configuración es:
 Línea Activa: Habilita la cuenta
 Nombre de registro: Extensión de usuario
 Nombre de usuario: Extensión de usuario
 Contraseña: Secret - La contraseña de la extensión
 Servidor SIP: Dirección IP del servidor Elastix
 Servidor de salida Proxy: IP del servidor Elastix
 Interfaz de administración web de Yealink
	
  
	
  
	
  
43
Capítulo 7
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
Aprovisionamiento
 El aprovisionamiento permite la configuración en lote de teléfonos IP.
 Este proceso se realiza desde la interfaz web de Elastix y su principal herramienta es el
módulo de configuración de Endpoints (Endpoint Configurator).
 El proceso adecuado es:
1. Creación de extensiones
2. Habilitar los teléfonos IP para el aprovisionamiento
3. Detección de los dispositivos en la red
4. Asignación de extensiones desde la interfaz.
Aprovisionamiento:	
  Endpoint Configurator
 El Endpoint Configurator realiza un scan de la red del servidor Elastix.
 En el scan se obtiene información de las direcciones IP y MAC de los dispositivos
conectados.
 Al obtener la información de todos los dispositivos este trata de identificar los equipos
que pudieran ser teléfonos IP.
 Luego trata de recabar información del fabricante y modelo para elegir cuáles se pueden
configurar.
 Actualmente Elastix soporta las siguientes marcas:
Aastra, Atcom, AudioCodes, Cisco, Grandstream, Linksys, Polycom, Siemens, Snom,
Yealink y Zultys.
 Se prevé soportar en versiones teléfonos Escene, Voptech y otros.
 Cuando ya se tiene el grupo de teléfonos a configurar se presenta la información de los
mismos en la interfaz Web de Elastix.
 Se mostrará algo similar a la siguiente imagen:
44
Capítulo 7
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
 Para la mayoría de teléfonos, el Endpoint Configurator generará un archivo de
configuración que se graba en el directorio /tftboot del servidor Elastix.
 Este archivo lleva el nombre mac_address_del_telefono.cfg (ej: 0015651ab08f.cfg).
 En este archivo se guarda la configuración de los teléfonos para hacer el
aprovisionamiento via tftp desde Elastix
Aprovisionamiento:	
  Habilitación de Teléfonos IP
 En la actualidad la mayoría de las marcas de teléfonos IP permiten configuración para
aprovisionamiento.
 Hay algunas marcas (e.g. Atcom) en que aprovisionamiento no requiere de configuración
previa.
 Para habilitar teléfonos Yealink, debemos configurar los siguientes parámetros desde la
interfaz administrtiva del teléfono:
 Ir a: Actualizar → Advanzado
o Configurar URL: dirección IP del Servidor Elastix
o Check New Config: Encendido.
	
  
	
  
45
Capítulo 7
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
Aprovisionamiento:	
  Asignación de extensiones
1. En la interfaz web de Elastix ir a PBX
2. Luego Endpoint Configurator
3. Hacer clic en: Descrubrir Endpoints en esta Network
4. En la columna “Configurar”, marcar la casilla correspondiente
5. En la columna “Modelo”, elegir el modelo correspondiente.
6. En la columna “Extension a asignar”, elegir la extensión que queremos asignar al teléfono.
(ya debe haber sido creada previamente)
7. Hacer clic en “Configurar”
Reiniciamos el teléfono (accedemos a su interfaz web haciendo clic en la IP
correspondiente). Una vez dentro: Upgrade → Basic → Reboot).
Nota: Algunos modelos se reinician automáticamente.
¿Qué es un Softphone?
 Es un software que hace una simulación de teléfono IP por computadora.
 Es decir, permite usar la computadora para hacer llamadas a otros softphones, teléfonos
IP o a otros teléfonos convencionales analógicos.
46
Capítulo 7
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
Configurando un Softphone
 Presionamos el botón con la figura de la herramienta y accedemos al menú de opciones.
 Allí veremos una pantalla con opciones para configurar nuevas extensiones SIP y también
IAX. Zoiper cuenta con soporte para ambos protocolos.
 En nuestro ejemplo configuraremos una extensión SIP. Usuario: 5678 Contraseña: 5678.
X-Lite Counterpath Zoiper Softphone
47
Capítulo 7
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
 La información requerida es:
o Domain: La IP o nombre de dominio del servidor Elastix.
o Username: 5678
o Password: 5678
o Caller ID Name: El nombre que aparecerá en los teléfonos que reciban
nuestras llamadas.
 Después de llenar la información hacemos clic en OK.
 Una vez que volvemos a la pantalla de inicio de Zoiper hacemos clic en register.
 Si el Zoiper se registra correctamente veremos que junto al nombre de nuestra cuenta
“Test” aparecerá la palabra “Registered”.
48
Capítulo 8
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
CONFIGURACIÓN DE
HARDWARE
Tipos de tarjetería
 Esta tarjetería está disponible tanto para interfaces telefónicas analógicas como digitales.
 Dentro de cada una de estas categorías existen las siguientes sub-categorías:
EHCP : Elastix Hardware Certification Program
 El Equipo de Desarrollo Elastix trabaja con varios fabricantes para incluir los
controladores de su hardware.
 Además Elastix cuenta con un programa que pone a prueba toda la funcionalidad para
certificar la interoperabilidad con el software.
 Este programa es conocido como Elastix Hardware Certification Program o EHCP por
sus siglas en inglés.
 Hay muchos modelos y fabricantes de tarjetas compatibles e incluidos en la distro.
Fabricantes soportados
 Elastix ha probado el soporte para muchos modelos y fabricantes de tarjetería. Los
siguientes son los modelos soportados oficialmente a la fecha:
Analog:
FXO
FXS
Digital:
E1/T1/J1
BRI
49
Capítulo 8
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
Hardware modular
 Existen fabricantes que diseñan su hardware de manera modular, de tal forma que pueda
ser expandible.
Instalando una tarjeta de telefonía
 Esto no involucra ninguna tarea complicada, solo las precauciones obvias al instalar
tarjetas electrónicas en un computador.
 Luego de encender el equipo podemos ir a consola y ejecutar el comando lspci para ver
el hardware enlistado.
Nota: En caso de instalar hardware FXS es muy común que se requiera conectar un cable de
poder a la tarjeta pues hay que recordar que las interfaces FXS deben proveer potencia eléctrica a
los dispositivos que se conecten a ella.
Detección de hardware
 Una vez que la tarjetería ha sido instalada es hora de detectarla.
 En versiones muy antiguas de Elastix esta tarea se hacía manualmente ejecutando un
comando desde la consola del equipo.
Puertos
ranuras para módulos
Módulo FXS
(verde)
Módulo FXO
(rojo)
Conexión
Fuente de alimentación
Sangoma TMD Card Model A20101
50
Capítulo 8
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
 Actualmente se cuenta con una interfaz Web que detecta el hardware automáticamente
y nos muestra gráficamente el hardware detectado.
 Esta opción podrá encontrarse en el Menú System → Hardware Detector.
 Para detectar una tarjeta hacemos clic en “Avanzado” y seleccionamos la opción
Reemplazar el archivo chan_dahdi.conf.
 Después debemos dar clic en Detect New Hardware y después de algunos segundos, el
proceso estará finalizado.
Tarjetas Digitales
 Para este modelo hemos seleccionado una tarjeta Sangoma modelo A102. Este hardware
utiliza Wanpipe el cual usa sus propios drivers para comunicarse con Asterisk.
 Para detectar la tarjeta debemos dar clic en “Avanzado” y seleccionar: Reemplazar el
archivo chan_dahdi.conf y Detección de Hardware Sangoma.
 Después de esto podemos dar clic en Detectar Nuevo Hardware.
 Para la detección de tarjetas que usan Dahdi simplemente se debe seleccionar la opción
“Reemplazar el archivo chan_dahdi.conf” y después clic en “Detectar Nuevo Hardware”.
 Es importante verificar que la tarjeta esta dentro de la lista de hardware certificado de
Elastix, ECHP.
 El reemplazo de chan_dahdi.conf permite al sistema detectar la tarjeta de forma
permanente.
51
Capítulo 8
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
 Este acción sobre escribe los siguientes archivos:
/etc/asterisk/chan_dahdi.conf
/etc/dahdi/system.conf
/asterisk/dahdi-channels.conf
 Si ya se tiene una tarjeta instalada y deseamos detectar una nueva tarjeta, es
recomendable realizar un respaldo de estos archivos para permitir incluir estas
configuraciones previas en los nuevos archivos.
Configuración Span
 La herramienta de detección de hardware basada en Web que viene con Elastix nos
permite detectar el hardware de manera sencilla.
 La herramienta puede configurar exitosamente el hardware digital en muchos casos, sin
embargo hay que tener en cuenta que la herramienta realiza su trabajo suponiendo
muchos parámetros que pueden diferir de la realidad.
 Se puede cambiar estos parámetros usando la interfaz web o mediante consola. A
continuación explicaremos como realizar estas configuraciones por consola.
Configuración Span: Bajo Nivel
 Un span es un grupo de canales digitales.
 El span se puede configurar en el archivo /etc/dadhi/system.conf.
 Usualmente un span representa un puerto digital de la tarjeta.
 Por ejemplo, si la tarjeta contiene 4 puertos E1 entonces usualmente deberíamos definir
4 spans, uno por cada puerto.
 Un span define en una sola línea, la cual tiene el siguiente formato:
Spannum
 Es un identificador numérico único para etiquetar el span. Se debe empezar con el
número 1 e ir incrementando este identificador secuencialmente de uno en uno.
Timing
 Es un dígito que define la forma en la cual se manejará la sincronización del span.
52
Capítulo 8
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
LBO (Line Build Out)
 Es un dígito que representa la longitud del cable entre la tarjeta y el equipo (modem)
provisto por la compañía telefónica.
Framing
 Como recordaremos, los protocolos de comunicación digital T-Carrier y E-Carrier
dividen la información en frames, donde cada frame transporta un número determinado
de timeslots.
 Estos frames pueden ser de diferentes formatos y eso es lo que se define aquí.
Coding
 Es necesario codificar la información enviada para hacerla menos susceptible a errores.
Esto es así porque la propia data se suele usar como fuente de sincronización (o reloj).
 Si se transmiten tramas largas de ceros (largos segmentos sin variación de voltaje) se
puede perder dicha sincronización.
 Después de realizar los cambios en el archivo system.conf, es necesario reiniciar DAHDI.
(Asterisk CLI: service dahdi restart)
 Después de haber reiniciado DAHDI se ejecuta el comando “lsdahdi”.
 Si todo ha sido configurado de forma correcta, se podrá ver las tarjetas configuradas y el
respectivo estado de canal.
53
Capítulo 8
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
Configuración Span: Interfaz Web
 En la interfaz web tenemos las siguientes opciones: Configuración de Span y Parámetros
de Span.
 En Parámetros de Span podremos configurar el timing source, LBO, Framing y Coding.
También podemos seleccionar el tipo de tarjeta T1/E1 (para tarjetas que soporten modo
de selección por software).
 En la Configuración de Span podemos seleccionar por cada canal el software de
cancelación de eco.
 Tarjeta detectada con formato TI
 Cambio de formato a E1
Troncalización: chan_dahdi.conf
 Asterisk cuenta con un módulo llamado chan_dahdi que sirve para conectarse con los
drivers de DAHDI y de esta manera conectar Asterisk con hardware telefónico.
 Este módulo se configura a través de un archivo llamado chan_dahdi.conf
 En el archivo chan_dahdi.conf básicamente se configura la señalización de los canales de
voz y se mapean los canales de Asterisk con los circuitos o líneas telefónicas definidos en
el archivo system.conf que configuramos antes.
 Estos canales se pueden agrupar en troncales troncales.
54
Capítulo 8
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
 La siguiente imagen muestra el archivo chan_dahdi.conf:
Signalling
 Este parámetro define la señalización de cada canal o grupo de canales.
 Lo más común que veremos para circuitos analógicos será fxs_ls y para circuitos digitales
pri_cpe.
Switchtype
 Este parámetro es para circuitos digitales y especifica el tipo de switch PRI usado.
 Lo más común es national y euroisdn, dependiendo de en qué país nos encontremos
claro está.
55
Capítulo 9
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
ASTERISK ESSENTIALS
¿Qué es Asterisk?
 Es un sistema de telefonía basado en software libre que proporciona todas las
funcionalidades que se espera de una central telefónica (PBX).
 Esto hace posible conectar un número determinado de teléfonos para hacer llamadas
entre sí y conectar a un proveedor de VoIP PSTN.
 Asi tambien proveedores PSTN de telefonia digital y analoga usando hardware
especializado, esto es tarjetas telefonicas FXO/FXS, ISDN pri/bri, entre otras.
Breve Historia de Asterisk
 Asterisk fue creado por Mark Spencer quien es su principal desarrollador.
 Al ser Software libre, tiene tambien una amplia comunidad de desarrolladores que
contribuyen a corregir errores y añadir novedades y funcionalidades.
 Mark había creado en 1999 la empresa "Linux Support Services" con el objetivo de dar
soporte a usuarios de Linux.
 Para ello necesitaba una centralita telefónica, pero ante la imposibilidad de adquirirla
dados sus elevados precios, decidió construir una con un PC bajo GNU/Linux, utilizando
lenguaje C.
Funcionalidad de Asterisk
 Asterisk puede funcionar como un sistema IP nativo o uno hibrido, manejando el ruteo
de llamadas, interconectando protocolos y transcodificando medios.
 Tiene muchas características internas como buzón de voz, conferencias, IVRs, CDRs,
distribución automática de llamadas, parqueo, tranferencias, captura, musica en espera
 Entre muchas otras funcionalidades.
 Asterisk tambien soporta multiples protocolos y codecs.
56
Capítulo 9
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
 Asterisk soporta diferentes señalizaciones y protocolos para la interconexion con
sistemas de telefonia tradicionales.
Encendido y apagado de Asterisk
 Asterisk cuenta con scripts ubicados en /etc/rc.d/init.d/asterisk y pordemos iniciarlo con
el comando /etc/init.d/asterisk start y detenerlo con /etc/init.d/asterisk stop.
 Sin embargo en elastix es recomendable manejar su inicio o apagado con el script
amportal, mismo que a su vez llama a otros scripts que inician ademas otros servicios
necesarios para ciertas funcionalidades
 Su uso es:
o amportal start → inicia asterisk
o amportal stop → detiene asterisk
PROTOCOLOS CODECS
IAXTM
(Inter-Asterisk Exchange) ADPCM
H.323 G.711A/U (A-Law y µ-Law)
SIP (Session Initiation Protocol) G.722
MGCP (Media Gateway Control Protocol) G.723.1
SCCP (Cisco®
Skynny®
) G.726
G.729 (con una licencia comercial)
GSM
iLBC
Linear
LPC-10
Speex
Señalización Protocolos PRI
E&M 4ESS
E&M Wink BRI (ISDN4Linux)
Feature Group D DMS100
FXS EuroISDN
FXO Lucent 5E
GR-303 National ISDN2
Loopstart NFAS
Groundstart
Kewlstart
Soporte para MF y DTMF
Señalización Robbed-bit (RBS)
MFC-R2 (a través de parches de código)
57
Capítulo 9
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
Estructura de directorios de Asterisk
Módulos de Asterisk
 Asterisk utiliza módulos para extender su funcionalidad.
 Estos módulos residen en la carpeta /usr/lib/asterisk/modules/ (32 bits)
/usr/lib64/asterisk/modules/ (64 bits).
 Son archivos con extensión .so
 Es posible controlar estos módulos desde el archivo modules.conf, en la carpeta
/etc/asterisk.
 Este archivo controla cuáles módulos se cargan o no (load, noload). Además puede
controlar el orden en que se cargan con la opción ”preload”.
 Por defecto en elastix se cargan todos los módulos que están en
/usr/lib/asterisk/modules/ a no ser que sea especificado en el archivo modules.conf que
no lo haga
 Ejemplos en el archivo modules.conf:
noload => chan_modem.so : Hace que no se carge el módulo.
load => format_ogg_vorbis.so : Hace que se carge el módulo.
preload => res_config_mysql.so : Hace que se carge primero ese módulo
Directorio Descripción
/etc/asterisk archivos de configuración de Asterisk
/usr/lib/asterisk/modules/ módulos de Asterisk
/usr/sbin/ incluye el Binario de Asterisk
/var/log/asterisk/ logs de Asterisk
/var/lib/asterisk/agi-bin/ AGI scripts
/var/lib/asterisk/mohmp3 archivos d audio para Music On Hold
/var/lib/asterisk/sounds
Incluye sonidos que Asterisk utiliza como prompts de
voz
/var/spool/asterisk/
archivos generados por Asterisk durante su operación
normal (tales como grabaciones y voicemails)
/var/run/ archivos PID
/var/log/asterisk/
Aquí residen los archivos de log de Asterisk como los
CDRs o el /var/log/asterisk/full
58
Capítulo 9
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
DAHDI
 Dahdi es, básicamente, un conjunto de drivers para controlar hardware telefónico,
principalmente tarjetas.
 Estas tarjetas son como cualquier otra tarjeta de expansión de una computadora pueden
usar bahías PCI, puertos USB, etc.
 Dahdi tiene su propio archivo de configuración /etc/dahdi/system.conf
Historia del proyecto Zaptel
 En el año 2000 Jim Dixon lanzó el proyecto Zaptel bajo licencia GPL.
 El nombre es una abreviación de Zapata Telephony Project. Lo nombró así en honor a
Emiliano Zapata, héroe de la revolución mexicana.
 Inicialmente Zaptel contenía drivers para tarjetas Tormenta fabricadas por Zapata
Telecom.
 Digium comenzó a mejorar los drivers y extender el soporte para nuevos modelos de
hardware, entre ellos los que el mismo Digium fabricaba.
 Pronto Digium se convirtió en el principal desarrollador de Zaptel.
Comunicación Asterisk con DAHDI
 Asterisk interactúa con dahdi mediante el modulo chan_dahdi.so, mismo que se controla
a través del archivo chan_dahdi.conf.
 En este archivo se mapean los puertos fisicos hacia canales tipo DAHDI, estos canales
son usados por asterisk.
59
Capítulo 9
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
Archivos de configuración
 Los archivos se encuentran en /etc/asterisk
Plan de marcado (dialplan)
 El plan de marcado se configura en el archivo extensions.conf, existen otros archivos que
contienen porciones del plan de marcado:
o extensions_additional.conf: el plan de marcado variable escrito por FreePBX,
los cambios realizados manualmente se pierden cunado FreePBX sobreescribe
este archivo.
o extensions_custom.conf: el plan de marcado definido por el usuario, no se
pierden los cambios que se realizan manualmente.
 Todos los archivos son de texto plano en formato definido por Asterisk.
 Se dividen en secciones llamadas contextos.
Dialplan: Contextos
 Agrupan la lógica del plan de marcado.
 Pueden incluir otros contextos con la claúsula ”include”.
 El plan de marcado se agrupa en contextos.
 Se definen como agrupadores u organizadores del plan de marcado.
 Deben tener un nombre único que va entre los símbolos [ ].
 Existen dos contextos reservados [globals] y [general].
extensions.conf
sip.conf
iax.conf
chan_dahdi.conf
Reside el plan de marcado, los
archivos adicionales empiezan con
extensions_.
Se definen los endpoints SIP.
Se definen los endpoints IAX.
Archivo de configuración para
canales DAHDI, se troncalizan los
canales.
60
Capítulo 9
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
Dialplan: Extensiones
 Son líneas del plan de marcado.
 Son instrucciones llamadas extensiones.
 Tienen la siguiente sintaxis:
o exten => nombre_extensión, prioridad, aplicación
 Una línea del plan de marcado es una serie de lógica del plan de marcado.
 Se puede crear la lógica necesaria para un marcado específico.
Dialplan: Extensiones (Nombre_extensión)
 Es un identificador númerico de la extensión.
 Se lo puede asociar al número de teléfono.
 Existe una extensión particular ”s”.
 La extensión ”s” significa cualquier extensión.
 Esta extensión ”s” se usa cuando el usuario que llama no ha presionado el número de
extensión. Por ejemplo, cuando está en el IVR de bienvenida.
Dialplan: Instrucciones (Prioridad)
 Indica el orden de ejecución de una instrucción.
 La primera prioridad debe ser siempre 1 porque Asterisk busca esta prioridad cuando
lee un contexto para ejecutarlo.
 Existe una prioridad especiales n.
 La prioridad n indica que a la prioridad de la instrucción anterior se le debe sumar uno.
Sirve para facilitar la estructura del plan de marcado.
Dialplan: Instrucciones (Aplicaciones)
 Las aplicaciones de un plan de marcado equivalen a las funciones de un lenguaje de
programación.
 Permiten realizar acciones programadas en el plan de marcado.
 Las aplicaciones permiten realizar ejecuciones entre contextos.
 Pueden recibir parámetros para su ejecución.
61
Capítulo 9
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
Dialplan: Variables
 Las variables en el plan de marcado equivalen a las variables de un lenguaje de
programación.
 Son abstracciones que almacenan información de naturaleza variable.
 Tiene la siguiente sintaxis:
${NNNN}
 donde NNNN es el nombre de la variable.
 Pueden ser de tres tipos:
 Globales: Se definen en la sección [globals] del archivo extensions.conf o en
globals_custom.conf dentro de cualquier Elastix, pueden ser referenciadas desde
cualquier lugar del plan de marcado.
 De canal: Pueden ser definidas usando el comando (o aplicación) ”Set”.
 Predefinidas: Asterisk administra algunos nombres de variables con nombres
predefinidos
${CALLERID(all)}, ${CALLERID(name)}, ${CALLERID(num)},
${CHANNEL}, ${CONTEXT}, ${EPOCH}, ${EXTEN},
${SIPUSERAGENT}, ${UNIQUEID},
 Estas variables almacenan cierta información dependiendo del comportamiento de la
llamada u otros factores.
Aplicaciones
 Answer
o Sintaxis: Answer ([delay])
o Contesta un canal si éste está timbrando, recibe el parámetro delay que indica el
tiempo en milisegundos antes de contestar.
 Background
o Sintaxis: Background(filename1[&filename2...][|opciones[|langoverride][|context]])
o Reproduce un listado de archivos mientras Asterisk continúa ejecutando el plan
de marcado.
o Aplicación usada para reproducir el mensaje de IVR.
 Playback
o Sintaxis: Playback(filename1[&filename2...][,options])
62
Capítulo 9
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
o Reproduce archivos de audio, a diferencia de Background, no permite a Asterisk
tener el control mientras no acabe de reproducir los archivos.
 Hangup
o Sintaxis: Hangup()
o Cuelga el canal y retorna -1.
 Goto
o Sintaxis: Goto([[context|]extension|]priority)
o Salta la ejecución del plan de marcado a un contexto, extensión o prioridad
indicada. Si se pasa un solo parámetro se entiende que es una prioridad del
mismo contexto.
 Dial
o Sintaxis: Dial(type/identifier, timeout, options, URL)
o Marca un canal especificado y lo vincula con el canal corriente.
Asterisk CLI
 Es el nombre de la consola de Asterisk.
 Línea de comandos para controlar Asterisk directamente.
 Para ingresar a la consola se ejecuta el comando ”asterisk -r”
 Cuando se obtiene un prompt CLI>, se pueden ejecutar comandos de Asterisk
 Provee información en tiempo real de la actividad de Asterisk.
 Permite controlar el grado de detalle de la información, para ello se usan los comandos:
o Core set debug N
o Core set verbose N
 Mientras más alto sea el nivel de las variables debug N y verbose N más detallada será la
información mostrada.
 Estos comandos se deben utilizar para tareas de diagnóstico.
63
Capítulo 10
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
PLAN DE MARCADO AVANZADO
Manipulación de Variables
Sintaxis para eliminar dígitos
 ${VAR:x:y} Donde VAR es una variable numérica, ”x” es el número de dígitos a
eliminar al principio y ”y” es cuantos números tendrá la variable final
 Ejemplo VAR=1234567890, x=3, y=4 – ${VAR:3:4} → 4567
 ${VAR:x} Donde VAR es una variable numérica, ”x” es el número de dígitos a eliminar
al principio
 Ejemplo VAR=1234567890, x=3 – ${VAR:3} → 4567890
Concatenar variables
 exten =>s,n,Set(VAR_CONCAT=${var1}${var2}${VAR3})
Expresiones
 $[expresion]
 ej. $[ ${VAR1} + ${VAR2} ]
Sintaxis Condicional
 expresión?destino1:destino2
Macros
 Sirven para reutilizar códigos
 Se definen como contextos anteponiendo el prefijo macro-
 Ej. [macro-nombremacro]
 Puede recibir parámetros cuando se llama al macro
 El macro es llamado de la siguiente forma:
 Macro(nombremacro,parametro1,parametro2,....)
 Los parámetros son invocados como:
 ${ARG1}, ${ARG2}, ....
64
Capítulo 10
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
Variables disponibles en Macros
 A más de las definidas por el usuario ${ARGn} se pueden usar las siguientes variables
AstDB
 Pequeña base de datos accesible desde el plan de marcado
 Agrupa información por familias.
 Familias importantes: AMPUSER y DEVICE
 Aplicaciones importantes:
Plan de Marcado de FreePBX
Reside principalmente en extensions.conf que incluye a:
 extensions_additional.conf: Archivo generado por FreePBX que nunca se debe
modificar pues todos los cambios serán sobre escritos cuando FreePBX recargue su
configuración
 extensions_custom.conf: archivo que se puede editar para crear nuestros
contextos y que éstos no sean sobre escritos por FreePPX
65
Capítulo 10
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
Macros de Apoyo
Contextos de Entrada
 Son los contextos desde donde se reciben llamadas
Conocimientos Útiles
 Determinar si una variable esta vacía
 ej. exten => s,1,GotoIf($[${LEN(${VARIABLE_TEST})} > 0]?destino)
 Obtener la fecha actual
 ej. exten => s,4,AGI(recordingcheck,${STRFTIME(${EPOCH},,%Y %m%d-
%H%M%S)},${UNIQUEID})
 Sobrescribir extensión.conf.- Para sobreescribir un contexto definido se puede utilizar
el archivo: extensions_override_freepbx.conf
66
Capítulo 11
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
ASTERISK: AGI & AMI
AGI (Asterisk Gateway Interface)
 Es una manera de interactuar con Asterisk desde un programa de línea de comandos
 Este programa puede ser escrito en cualquier lenguaje
 El programa AGI es invocado desde el dialplan
 La salida estándar debe tener cierto formato. Es lo que se llaman comandos AGI
 Gracias a AGI podemos desarrollar funcionalidades extra en nuestro plan de marcado
como: IVRs de consulta a base de datos, etc.
 Los programas AGI residen en /var/lib/asterisk/agi-bin/
 Elastix trae algunos scripts allí preinstalados
Ejecución de scripts AGI
 Los scripts AGI se comunican con Asterisk a través de STDIN, STDOUT y STDERR
 Por tanto, los scripts AGI se deberían poder ejecutar desde la línea de comandos
 Cuando son ejecutados a través de Asterisk los permisos son muy importantes.
 Para invocar al script desde el dialplan podemos utilizar la función AGI()
 Se le pueden enviar parámetros al script utilizando la sintaxis:
 AGI(script.agi,par1,par2,...)
 Adicionalmente Asterisk le envía al script ciertos parámetros por omisión, que
veremos a continuación
67
Capítulo 11
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
Algunos parámetros enviados por omisión
A continuación algunos de los más importantes:
 agi_request – El nombre del archivo script
 agi_channel – El canal que originó la llamada
 agi_type – El tipo de canal. Por ej. SIP o DAHDI
 agi_uniqueid – Un identificador único para la llamada
 agi_callerid – El caller ID en caso de estar disponible
 agi_context - Contexto
 agi_extension - Extensión
 agi_accountcode – Código de cuenta, en caso de estar disponible
Algunos comandos AGI útiles
 say digits: Sintetiza y reproduce números. Util para IVRs que recuperan data de la DB
 hangup: Cuelga el canal (llamada) actual
 stream file: Reproduce un archivo de audio
 set context: Establece un contexto para continuar luego de la finalización del AGI
 noop: Sólo muestra mensajes en el log
 set variable: Establece una variable de canal
Ejemplo AGI sencillo
 Veamos lo sencillo que es usando un ejemplo escrito en PHP. Llamaremos al script
simple.agi
 Ahora pongámoslo accesible desde el dialplan cuando se marque el número 6789
68
Capítulo 11
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
AMI (Asterisk Management Interface)
 Es otra manera de controlar Asterisk pero a través de la red IP. La comunicación es de
tipo texto.
 Se pueden desarrollar aplicaciones remotas
 Un ejemplo es el módulo de call center de Elastix, otro ejemplo es el FOP
 El puerto AMI por omisión es el 5038
 No cualquier equipo puede interactuar con el puerto AMI. Previamente su IP tiene que
ser habilitada en el archivo /etc/asterisk/manager.conf
/etc/asterisk/manager.conf
Probando desde telnet
 Una manera sencilla de probar si nos podemos conectar al puerto AMI
 En el siguiente ejemplo nos conectaremos desde el propio servidor. Lo primero que
veremos es el mensaje de bienvenida:
69
Capítulo 11
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
 Luego probaremos autenticándonos:
 Si los datos estuvieron correctos recibiremos un mensaje de éxito
 ¿Recuerdan cual es la contraseña de AMI?
Tipos de paquetes AMI
 En la comunicación por AMI se pueden identificar tres tipos de paquetes de
información.
 Acción: Un comando enviado por el cliente al servicio AMI para que sea procesado
 Respuesta: La respuesta de Asterisk a la Acción requerida por la aplicación cliente
 Evento: Se trata de información de un evento asincrónico ocurrido en Asterisk. Por
ejemplo, ingresó una llamada telefónica
 Para relacionar las respuestas con las acciones se puede incluir un ActionID en cada
Acción. Asterisk devolverá este parámetro en la respuesta.
Acciones AMI comunes
 Login: Nos permite autenticarnos con AMI
 Logoff: Termina la sesión
 Events: Controla el flujo de eventos
 Originate: Inicia una llamada telefónica
 Redirect: Transfiere una llamada
 Hangup: Cuelga una llamada
 Getvar: Obtiene una determinada variable de canal
70
Capítulo 12
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
ELASTIX CONFIGURACIÓN
AVANZADA
Ruteo de Llamadas
 Rutas Entrantes:
 Esta opción permite configurar el destino de las llamadas que ingresan por una
determinada troncal.
 Cuando una llamada entra, Asterisk puede buscar “matchear” el DID ó el CallerID de
la troncal.
71
Capítulo 12
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
 Rutas Salientes:
 Mediante las rutas salientes podemos indicar por qué troncal o troncales deben ser
enviadas las llamadas.
Troncales
 Una troncal es el camino lógico que permite llevar una llamada a cualquier destino
externo.
 Alguno de los tipos de troncales son:
 DAHDI
 IAX2
 SIP
 Custom
Troncal DAHDI
 Parámetros a configurar en una troncal DAHDI:
72
Capítulo 12
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
Troncales de tipo IAX2 y SIP
 Además de las configuraciones especificadas, se deben incluir configuraciones entrantes
y salientes
 Esta información generalmente es especificada por el proveedor de servicios de voz.
 Las configuraciones pueden incluir username, password, codec, el host destino, etc.
 Ejemplo de configuración de los detalles del Peer:
Nota: Es posible que se requiera una cadena de registro que tiene la siguiente sintaxis:
nombre_de_usuario:password@host
Troncales Personalizadas
 Estas troncales son creadas cuando se usan protocolos no estándares como
h323,misdn, etc.
 Se debe especificar un string de marcado. Por ejemplo:
73
Capítulo 12
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
Tarifación
 La opción Rates/Tarifas (Reports → Billing → Rates) nos permite visualizar y
configurar las tarifas que se usarán para la facturación de llamadas.
 Crear Tarifa
 Para agregar una nueva tarifa dar clic en el botón Crear Nueva Tarifa. Se mostrará un
formulario en el que se ingresarán los siguientes campos:
 Prefijo: Prefijo telefónico al cual se aplicará la tarifa.
 Nombre: Nombre para la tarifa.
 Tarifa: Valor de la tarifa por minuto.
 Rate offset: Valor de interconexión.
 Dígitos Ocultos: oculta los últimos "n" dígitos del número en el reporte.
 Troncal: Troncal asignada para la tarifa.
74
Capítulo 12
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
 Para tener disponible una troncal debemos habilitarla en Billing Setup (Reports →
Billing → Billing Setup).
 En este menú podemos configurar además la tarifa por defecto y el rate offset por
defecto.
 Visualizar, Editar y Eliminar
 El enlace Ver nos llevará a una pantalla donde se mostrará los datos de la tarifa.
 Podemos editar los valores de la tarifa haciendo clic en el botón “Editar”, o eliminarla
haciendo clic en “Eliminar”
 Reporte de Facturación
 Este reporte (Reports → Billing → Billing report) nos permite ver todos los detalles de
las llamadas y su respectivo costo y ruta aplicada.
 Este reporte cambiará dependiendo de 3 valores de filtro:
 Fecha Inicio: Fecha que queremos configurar como inicial para el reporte.
 Fecha Fin: Fecha final para el reporte.
 Campos de filtro adicional son: Tarifa aplicada, Duración, Rate value, Fuente,
Destino, Canal destino, Account Code.
75
Capítulo 12
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
 Distribución de Destinos
 Esta opción (Reports → Billing → Destination distribution) nos permite ver una gráfico
de distribución de llamadas salientes agrupadas por tarifa.
 El gráfico cambiará dependiendo de los valores de filtro:
 Fecha Inicio: Fecha que queremos iniciar la revisión de llamadas.
 Fecha Fin: Fecha final para la revisión.
 Criterios de distribución: Distribución por tiempo, distribución por número de
llamadas, distribución por costo.
Reportes: CDR
 CDR es la abreviación para Registro de Detalle de Llamada (Reports → CDR Reports).
 Este reporte nos permite ver un listado con el detalle de todas las llamadas.
76
Capítulo 12
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
 Los reportes son exportables a CSV, XLS (para acceso lectura/escritura), o PDF
(lectura-únicamente) formatos.
 Este reporte cambiará dependiendo de los siguientes valores de filtro:
 Fecha Inicio: Fecha que queremos iniciar la revisión de llamadas.
 Fecha Fin: Fecha final para la revisión.
 Grupo de timbrado: permite filtrar por grupo de ringado si existe.
 Estado: Contestado, Ocupado, Fallido, No Contestado.
 Campo de filtros adicionales: Fuente, Canal de Origen, Account code, Canal de
Destino.
Uso de canales
 El reporte de uso de canales: “Channels Usage” report (Reports → Channels Usage)
permite ver de manera gráfica el número de llamadas simultáneas por canal.
77
Capítulo 12
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
Configuración DISA
 DISA permite que los usuarios puedan acceder telefónicamente a su servidor Elastix
desde fuera y obtener un tono "interno" de marcado.
 E.g. podría realizar llamadas internacionales, a teléfonos móviles, entre otros.
 Nombre de DISA: El nombre referencial para este accedo DISA
 PIN: La contraseña necesaria para acceder al soporte DISA.
 Tiempo de espera para la respuesta: Máximo tiempo que la aplicación esperará al
usuario por el PIN.
 Tiempo de espera de marcado: Máximo tiempo entre dígitos.
 Pedir confirmación: Pregunta por una confirmación antes del pedido de la contraseña.
 Identificador de llamante: Todas las llamadas DISA usarán este Caller ID (opcional)
 Contexto: Contexto que usará el DISA
 Permitir colgar: Permite colgar la llamada presionando "**" para tener tono
nuevamente.
Condiciones de tiempo
 El uso de condiciones de tiempo es una característica muy útil para modificar el
comportamiento de la PBX dependiendo de la hora o del día de la semana.
 EJEMPLOS:
78
Capítulo 12
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
 La compañía X desea que por las noches se reproduzca un mensaje indicando el
horario de atención e indicando que en casos de urgencias se podrían comunicar con
un número alterno.
 La compañía Z desea reproducir un IVR de bienvenida distinto al habitual durante los
fines de semana ya que siempre lanza promociones durante estos días.
79
Capítulo 13
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
INTERCONEXIÓN CON ELASTIX
REMOTOS
A través de troncales SIP
 Una de las ventajas de usar Elastix es que fácilmente podemos interconectar dos cajas
Elastix de tal manera que se puedan unir las comunicaciones de dos lugares remotos.
 Por ejemplo en un solo plan de marcado.
 A continuación veremos como configurar la interconexión de dos Elastix mediante una
troncal de tipo SIP.
 Escenario:
 En el escenario mostrado a continuación queremos interconectar la central A con la
central B de tal forma que el teléfono A y el teléfono B se puedan comunicar
únicamente marcando las extensiones de forma directa
 Para implementar esto se requiere definir dos cosas:
 La troncal
 Las rutas salientes en cada Elastix
 Definiendo la troncal
 Definimos el nombre de la troncal, el cual en nuestro caso servirá de username para el
proceso de registro.
 A la troncal del servidor A la llamaremos elastixA y la troncal del servidor B la
llamaremos elastixB.
 Luego definimos los detalles del peer.
80
Capítulo 13
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
 Ejemplo de configuración del peer:
 Configuración que se repite en ambos servidores Elastix. Como se ve hemos definido
como “secret” la palabra welcome.
 Register String
 Definimos el register string siguiendo el formato especificado anteriormente:
 En este caso para la central Elastix A debería ser:	
  
 y para la central Elastix B debería ser:
 Una vez establecida esta configuración en ambos servidores podemos verificar en si se
encuentran registradas las troncales.
 En el Asterisk CLI mediante el comando: sip show registry y deberíamos ver algo como
esto:
 El siguiente paso es definir los detalles del user, es decir en donde se quiere terminar la
llamada.
 En este caso queremos que sea accesible a la extensiones local, bastará con colocar el
contexto primario. Esto indica que cuando la llamada entre por la troncal iniciará en el
contexto aquí especificado.
 La configuración es como sigue:
81
Capítulo 13
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
 Definiendo la ruta saliente
 Primero determinamos el nombre de la ruta salientes. En este caso le pondremos:
HaciaElastixB.
 Luego definimos el patrón de marcado, en este caso usaremos el siguiente patrón de
marcado: 2|XXX (asumimos que para marcar al servidor B debemos marcar el prefijo
2).
 En tercer lugar escogemos por qué troncal deberá enrutarse la llamada, en este caso
escogemos por la troncal sip/elastixA
Conexión con proveedores VoIP
 Hoy en día ha tenido mucho auge los VSP (Voice Services Provider) ó proveedores de
servicios de voz.
 Estos proveen conexiones SIP o IAX principalmente, a su infraestructura para permitir
conectar llamadas locales en una región.
 En esta sección implementaremos una conexión SIP con un proveedor VSP que nos
permitirá hacer llamadas dentro de Estados Unidos.
 Escenario:
 En el siguiente escenario queremos registrar una troncal de tipo SIP con un VSP que
nos permita realizar llamadas a EEUU desde cualquier teléfono IP.
 Para implementar esto se requiere definir dos cosas:
 La troncal
 Las rutas salientes en cada Elastix
82
Capítulo 13
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
 Definiendo la troncal
 Como vimos en la sección anterior se debe definir el nombre de la troncal en este
caso la llamaremos: VP-SIP
 Luego definimos las características del peer.
 Esta información debe ser proporcionada por el VSP y generalmente es la misma para
todos los usuarios a registrar, lo único que cambia es el usuario y el password.
 En nuestro caso el VSP nos pide que configuremos la troncal de la siguiente forma:
 Luego agregaremos la cadena de registro que en nuestro caso sería:
 Primero determinamos el nombre de la ruta salientes. En este caso le pondremos:
INTERNACIONAL
 Luego definimos el patrón de marcado, en este caso usaremos el siguiente patrón de
marcado: 00.
 En tercer lugar escogemos por que troncal debe irse la llamada en este caso
escogemos por la troncal SIP/VP-SIP
 Una vez realizada la configuración podemos verificar en el Asterisk CLI si se la troncal
se encuentra registrada.
 Usamos el comando: sip show registry y deberíamos ver algo como esto:
83
Capítulo 13
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
Módulo VoIP Provider
 Desde la versión 2.0 Elastix tiene un módulo con proveedores incluidos por defecto.
 El módulo permite configurar cuentas VoIP de manera automática.
 Si el proveedor no está enlistado usted puede escoger “Custom” como opción para
mostrar el cuadro de “PEER Settings”.
 La opción “Custom” es además una alternativa al proceso de crear una conexión con
un proveedor SIP.
 Usted puede seguir el procedimiento descrito en la sección anterior o crear una
cuenta a través del módulo VoIP Provider.
 Si usted tiene ya una cuenta con alguno de los proveedores incluidos, solo necesita
ingresar la información y la cuenta se creará.
 Usted puede revisar el registro en el Asterisk CLI
84
Capítulo 13
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
 Posterior a esto revisamos la troncal en PBX → PBX Configuration → Troncales.
Observaremos la cuenta como un SIP Trunk, en este ejemplo: N2P-DRB (sip).
 Luego es necesario crear la ruta saliente para esta troncal y podemos empezar a usar
el servicio.
85
Capítulo 14
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
CALIDAD DE VOZ
Síntomas que afectan la calidad de voz
 Son los problemas que el usuario percibe desde su perspectiva
 Existen muchos, sin embargo los más comunes son:
 Eco
 Bajo volumen
 Retardo
 Distorsión de la voz
 Comunicación entrecortada
Síntomas: Eco
 La señal de ida se refleja en la de vuelta
 Fácil de identificar por un humano
 Una causa común es un desbalance en el híbrido
 También hay eco acústico. Ej. El producido por speaker
 Algunas tarjetas permiten ajustar este desbalance. La utilería fxotune puede ser usada
con este fin
El famoso híbrido de 2 a 4 hilos
fxotune
 El comando fxotune viene en Elastix
 Debe ejecutarse con Asterisk apagado
86
Capítulo 14
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
 Simplemente se ejecuta “fxotune -i 5”
 El número 5 sólo indica qué dígito se debe marcar para suspender el tono de marcado.
En casi todo los casos es cualquier dígito
 Guarda los resultados en /etc/fxotune.conf
 Para que DAHDI se calibre en base a este archivo hay que ejecutar “fxotune -s”
Síntomas: Bajo Nivel o Volumen
 La señal eléctrica se atenúa
 Usualmente conductores de mala calidad
 Es posible amplificar la señal con el uso de los parámetros rxgain y txgain pero hay que
tener cuidado pues esto podría generar eco
 Estos parámetros se modifican a nivel de DAHDI en chan_dahdi.conf.
Síntomas: Retardo
 La voz se demora más de lo usual en llegar a destino
 Si es menor a 200ms pasa desapercibido
 Retardo de más de 500ms provoca que la conversación se traslape, lo cual es molesto
para el interlocutor
 Las redes de paquetes pueden introducir retardo si se sobrepasa su capacidad
 Hay que tratar de solucionar a nivel de red
Síntomas: Distorsión de la voz
 Sonido “robotizado”
 Los codecs que comprimen la voz ahorran ancho de banda pero eliminan información,
esto provoca disminución de calidad de voz
 Se puede cambiar de codec pero hay que tener en cuenta la disponibilidad de ancho de
banda
 Algunos codecs se comportan muy mal frente a problemas de red como pérdida de
paquetes o retardos de red.
87
Capítulo 14
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
Síntomas: Comunicación entrecortada
 Se pierde la voz por pequeños instantes de tiempo
 Provoca que la conversación sea menos entendible y por lo tanto es molestoso
 Usualmente se trata de problemas de red debido a equipos defectuosos, ruido
eléctrico en el cableado o equipos saturados en su capacidad
 Se puede mejorar en cierta medida con un jitterbuffer
Parámetros en redes de paquetes relacionados con la
calidad de voz
 Hablamos de parámetros medibles aquí
 A partir de estos podemos determinar cuantitativamente cómo se verá afectada la
calidad de voz por la red de paquetes
 Para simplificar las cosas resumiremos todo con tres parámetros de fácil medición:
 Retardo de red
 Pérdida de paquetes
 Jitter
Parámetros: Retardo de red
 No estamos hablando de retardo de voz sino de paquetes de red
 El retardo se mide en milisegundos
 Aunque no es lo ideal se puede medir fácilmente con un ping
Parámetros: Pérdida de paquetes
 Porcentaje de paquetes que no llegaron a su destino
 Si un paquete llega demasiado tarde ya no se espera por él
 La pérdida de paquetes no es deseable en ningún porcentaje. Incluso un 1% puede
afectar significativamente la calidad de voz
 También se puede medir (aproximadamente) con un ping
88
Capítulo 14
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
Parámetros: Jitter
 Es la variabilidad del retardo
 También se mide en milisegundos
 No basta con tener un promedio de retardo aceptable si la variabilidad (jitter) es muy
alta
 En aplicaciones de tiempo real como la voz si la información no llega justo a tiempo no
se puede esperar por ella
 Para esperar paquetes con pequeños retardos se utiliza un jitterbuffer. Este feature ya
viene disponible en Asterisk 1.4
Jitterbuffer
 Es un buffer donde se encolan paquetes por un tiempo determinado en espera de que
lleguen todos o la mayor parte posible
 El tamaño del jitterbuffer es el tiempo que de espera y está en milisegundos. Un valor
usual es de 200ms
 En el sip.conf (o equivalente) el parámetro se llama jbenable=yes
 En el iax.conf (o equivalente) el parámetro se llama jitterbuffer=yes
Cuando el teléfono incide en la calidad de voz
 Sin duda hay electrónica mejor que otra. Algunos chips procesan mejor la voz,
especialmente cuando se trata de codecs de alta compresión
 Algunos chips también añaden tecnología inteligente para mejorar la calidad de voz
 La calidad del micrófono y audífono también incide
89
Capítulo 14
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
 Lamentablemente, a mayor calidad, mayor precio
 Los softphones no están libres de problemas y dependen del computador. Cualquier
problema de desempeño podría afectar la calidad de voz
¿Cómo medir la calidad de voz?
 Algo muy difícil pues tiene un componente subjetivo
 La mente humana es muy complicada
 Hay muchos modelos que intentan medir la calidad de voz. Dos que han cobrado
relevancia son MOS y el modelo E. Los estudiaremos brevemente en este curso
 La escala MOS es más subjetiva y el modelo E es más objetivo
Escala MOS
 Es una recomendación ITU basada en la toma de muestras subjetivas a participantes
 Se les pide a algunas personas que califiquen la calidad de voz del 1 al 5
 Previamente se les hace escuchar algunas conversaciones y se les muestra la calificación
para que tengan un marco referencial
 Las frases que se hacen escuchar a los participantes se encuentran pre-definidas
también
90
Capítulo 14
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
Modelo E
 También es una recomendación ITU
 Se trata de un modelo más objetivo y matemático, no “necesariamente” mejor que
MOS
 Se calcula en base a algunos parámetros medibles y tiene una escala distinta a MOS
(incluyendo valores negativos)
 En este curso utilizaremos una fórmula simplificada que depende básicamente del
retardo de red y la pérdida de paquetes
 La fórmula es:
R = 94,2 – Id – Ie
 Donde,
R representa la calidad de voz
Id representa cómo afecta el retardo a la calidad
Ie representa cómo afecta la pérdida de paquetes
 Notar que el parámetro Id representa el retardo ¡pero no es el retardo en sí!
 También es interesante notar que el valor máximo que puede tomar R es de 94,2
 Para obtener Id:
Id = 0.024 · d + 0.11 · (d – 177.3) · H(d – 177.3)
 Donde d es el retardo en milisegundos y H( ) es la función de Heavyside
H(x) = 0 para x < 0 y 1 para x ≥ 0
 Para obtener Ie utilizaremos un gráfico que simplificará las cosas
 Vemos que Ie depende del codec, así que ahora es más obvio que algunos codecs se
ven más afectados por la pérdida de paquetes que otros.
91
Capítulo 14
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
Traduciendo R a la escala MOS
 Es muy útil ya que MOS es más conocido y sencillo de relacionar con calidad
 La fórmula es la siguiente:
Cancelador de eco
 Existen versiones hardware y software
 En la actualidad ya casi no existe diferencias entre el desempeño de ambas ya que la
capacidad computacional ha crecido mucho
 El objetivo es calcular en tiempo real qué porcentaje de la señal de ida se refleja en la
de regreso. Si puede predecir con exactitud sólo queda restar ese porcentaje y
obtendremos una señal sin eco
 Esta predicción la realiza un componente llamado filtro adaptativo
 En la realidad el eco no sólo es una señal atenuada sino que también puede estar
desplazada en el tiempo (con retardo)
 El filtro adaptativo tiene entonces que predecir no sólo el porcentaje de señal reflejada
sino también el retardo
 Por lo tanto, analiza la señal por un lapso de tiempo llamado “cola” (o tail) y que está
en el orden de milisegundos
 Valores típicos de cola son 64ms o 128ms
92
Capítulo 14
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
Estándar G.168
 Especificación propuesta por la ITU para definir parámetros de funcionamiento de
canceladores de eco
 Existen canceladores de eco compatibles con G.168 y existen otros que no
 Hay empresas en el mundo que se encargan de certificar si un cancelador de eco es o
no compatible con G.168.
 Por lo general esta certificación la sacan los canceladores de eco comerciales como
Softecho de Octasic
Oslec
 Elastix incorpora un interesante software de cancelación de eco, open source,
conocido como OSLEC.
 Este cancelador de eco es parte de DAHDI y puede ser configurado, de manera
independiente por cada canal, de manera fácil desde la interfaz Web de Elastix.
 La siguiente imagen muestra la configuración de una tarjeta de telefonía analógica. En
ella se selecciona el software para la cancelación de eco.
 OSLEC está seleccionado por defecto.
 Para configurar el cancelador de eco en una tarjeta instalada ir a System → Hardware
Detector → Configuración de Span.
93
Capítulo 15
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
PROTOCOLOS VoIP AL
DESCUBIERTO
Protocolo SIP
 El protocolo SIP (Session Initialization Protocol) es un protocolo de señalización
(application-layer control)
 Creado para administrar sesiones multimedia entre dos o más partes.
 Muchos se confunden pensando en que el protocolo SIP es el que transporta la voz
propiamente dicha pero no es así
 Esta labor la realiza otro protocolo que veremos más adelante; de lo que sí se encarga
SIP es de la comunicación necesaria para establecer una llamada, modificarla, así como
para finalizarla.
 Detalles del protocolo
 RTP es el portador de la voz y el video.
 SDP se usa para negociar las capacidades de los endpoints.
 Usa dos importantes protocolos como RTP/RTCP y SDP.
 La última versión del estándar es la RFC3261.
 Basado en texto, lo que nos permite entender los mensajes de una manera
relativamente fácil.
94
Capítulo 15
Elastix Certified Technician
PaloSanto Solutions 2012 – © Todos los derechos reservados
	
  
Señalización SIP: Métodos y Respuestas
95
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece
Elastix  slide book-ece

Más contenido relacionado

La actualidad más candente

Servidor Asterisk (Instalacion y Configuracion)
Servidor Asterisk (Instalacion y Configuracion)Servidor Asterisk (Instalacion y Configuracion)
Servidor Asterisk (Instalacion y Configuracion)javi belenguer
 
Instrucciones al alumno elx1 o1 elastix
Instrucciones al alumno elx1 o1 elastixInstrucciones al alumno elx1 o1 elastix
Instrucciones al alumno elx1 o1 elastixenriquetcampos.org
 
Virtualizacion para entornos de prueba y desarrollo
Virtualizacion para entornos de prueba y desarrolloVirtualizacion para entornos de prueba y desarrollo
Virtualizacion para entornos de prueba y desarrolloAlejandro Marin
 
Guía de instalación de Instalación ESXi 5
Guía de instalación de Instalación ESXi 5Guía de instalación de Instalación ESXi 5
Guía de instalación de Instalación ESXi 5Alejandro Marin
 
Instalacion de elastix 2.3
Instalacion de elastix 2.3Instalacion de elastix 2.3
Instalacion de elastix 2.3Adelius Lorens
 
Slackware asterisk
Slackware asteriskSlackware asterisk
Slackware asteriskpavel
 
Implementación Auditoria Windows Server 2008 R2
Implementación Auditoria Windows Server 2008 R2Implementación Auditoria Windows Server 2008 R2
Implementación Auditoria Windows Server 2008 R2RaGaZoMe
 
Implementación VMWare Center Server 6 Appliance
Implementación VMWare Center Server 6 ApplianceImplementación VMWare Center Server 6 Appliance
Implementación VMWare Center Server 6 ApplianceRaGaZoMe
 
Celso puma tarea#03_adm.bas_d.
Celso puma tarea#03_adm.bas_d.Celso puma tarea#03_adm.bas_d.
Celso puma tarea#03_adm.bas_d.Celso
 
Guia de instalacion de VMware vCenter 5
Guia de instalacion de VMware vCenter 5Guia de instalacion de VMware vCenter 5
Guia de instalacion de VMware vCenter 5Alejandro Marin
 
Instalación básica vSphere 5.5
Instalación básica vSphere 5.5Instalación básica vSphere 5.5
Instalación básica vSphere 5.5RaGaZoMe
 
Instalación de MySQL en Linux Mint
Instalación de MySQL en Linux MintInstalación de MySQL en Linux Mint
Instalación de MySQL en Linux Mintkamui002
 

La actualidad más candente (17)

Elastix lab ece-book-esp
Elastix  lab ece-book-espElastix  lab ece-book-esp
Elastix lab ece-book-esp
 
Elastix slide book-ect(1)
Elastix  slide book-ect(1)Elastix  slide book-ect(1)
Elastix slide book-ect(1)
 
Servidor Asterisk (Instalacion y Configuracion)
Servidor Asterisk (Instalacion y Configuracion)Servidor Asterisk (Instalacion y Configuracion)
Servidor Asterisk (Instalacion y Configuracion)
 
Instrucciones al alumno elx1 o1 elastix
Instrucciones al alumno elx1 o1 elastixInstrucciones al alumno elx1 o1 elastix
Instrucciones al alumno elx1 o1 elastix
 
Virtualizacion para entornos de prueba y desarrollo
Virtualizacion para entornos de prueba y desarrolloVirtualizacion para entornos de prueba y desarrollo
Virtualizacion para entornos de prueba y desarrollo
 
Guía de instalación de Instalación ESXi 5
Guía de instalación de Instalación ESXi 5Guía de instalación de Instalación ESXi 5
Guía de instalación de Instalación ESXi 5
 
Instalacion de elastix 2.3
Instalacion de elastix 2.3Instalacion de elastix 2.3
Instalacion de elastix 2.3
 
Slackware asterisk
Slackware asteriskSlackware asterisk
Slackware asterisk
 
Configuracion inicial elastix 4.0
Configuracion inicial elastix 4.0Configuracion inicial elastix 4.0
Configuracion inicial elastix 4.0
 
Sistemas de virtualización
Sistemas de virtualizaciónSistemas de virtualización
Sistemas de virtualización
 
Implementación Auditoria Windows Server 2008 R2
Implementación Auditoria Windows Server 2008 R2Implementación Auditoria Windows Server 2008 R2
Implementación Auditoria Windows Server 2008 R2
 
Implementación VMWare Center Server 6 Appliance
Implementación VMWare Center Server 6 ApplianceImplementación VMWare Center Server 6 Appliance
Implementación VMWare Center Server 6 Appliance
 
Celso puma tarea#03_adm.bas_d.
Celso puma tarea#03_adm.bas_d.Celso puma tarea#03_adm.bas_d.
Celso puma tarea#03_adm.bas_d.
 
Guia de instalacion de VMware vCenter 5
Guia de instalacion de VMware vCenter 5Guia de instalacion de VMware vCenter 5
Guia de instalacion de VMware vCenter 5
 
Instalación básica vSphere 5.5
Instalación básica vSphere 5.5Instalación básica vSphere 5.5
Instalación básica vSphere 5.5
 
Paso a paso Elastix y Virtual Box
Paso a paso Elastix y Virtual BoxPaso a paso Elastix y Virtual Box
Paso a paso Elastix y Virtual Box
 
Instalación de MySQL en Linux Mint
Instalación de MySQL en Linux MintInstalación de MySQL en Linux Mint
Instalación de MySQL en Linux Mint
 

Similar a Elastix slide book-ece

MANUAL DE WINDOWS SERVER 2012 zorrilla espeza marili
MANUAL DE WINDOWS SERVER 2012  zorrilla espeza mariliMANUAL DE WINDOWS SERVER 2012  zorrilla espeza marili
MANUAL DE WINDOWS SERVER 2012 zorrilla espeza mariliWILDER VILCAHUAMAN
 
Requerimiento de hardware para instalar el s
Requerimiento de hardware para instalar el sRequerimiento de hardware para instalar el s
Requerimiento de hardware para instalar el ssoledadyasmin
 
El servidor perfecto
El servidor perfectoEl servidor perfecto
El servidor perfectobetabeers
 
Maquinas virtiuales
Maquinas virtiualesMaquinas virtiuales
Maquinas virtiualesyacilaabc
 
Maquinas virtiuales
Maquinas virtiualesMaquinas virtiuales
Maquinas virtiualesyacilaabc
 
Formación en Almacenamiento, Open Storage Soluciones Low Cost.
Formación en Almacenamiento, Open Storage Soluciones Low Cost.Formación en Almacenamiento, Open Storage Soluciones Low Cost.
Formación en Almacenamiento, Open Storage Soluciones Low Cost.Strelia Technology Services
 
Sistema operativo punto 3
Sistema operativo punto 3Sistema operativo punto 3
Sistema operativo punto 3Eliza Muñoz
 
Guia de instalacion de windows server 2008
Guia de instalacion de windows server 2008Guia de instalacion de windows server 2008
Guia de instalacion de windows server 2008jorgetar22
 
TSME10_MVSI_S01_MA01.pdfmanual de instalación
TSME10_MVSI_S01_MA01.pdfmanual de instalaciónTSME10_MVSI_S01_MA01.pdfmanual de instalación
TSME10_MVSI_S01_MA01.pdfmanual de instalaciónmariadejesusRiveraLe
 
Actividad instalacion de sistemas operativos
Actividad   instalacion de sistemas operativosActividad   instalacion de sistemas operativos
Actividad instalacion de sistemas operativosandres330
 
Actividad 01 instalacion de sistemas operativos
Actividad 01   instalacion de sistemas operativosActividad 01   instalacion de sistemas operativos
Actividad 01 instalacion de sistemas operativosJose David
 
Oracle vm virtualbox
Oracle vm virtualboxOracle vm virtualbox
Oracle vm virtualboxgianca_reina
 
Instalacion de oracle database 9i
Instalacion de oracle database 9iInstalacion de oracle database 9i
Instalacion de oracle database 9iJorgeluisw
 
Introduccion sistemas operativos_red
Introduccion sistemas operativos_redIntroduccion sistemas operativos_red
Introduccion sistemas operativos_rededuenlasiberia
 
Modotexto
ModotextoModotexto
Modotextotania
 

Similar a Elastix slide book-ece (20)

MANUAL DE WINDOWS SERVER 2012 zorrilla espeza marili
MANUAL DE WINDOWS SERVER 2012  zorrilla espeza mariliMANUAL DE WINDOWS SERVER 2012  zorrilla espeza marili
MANUAL DE WINDOWS SERVER 2012 zorrilla espeza marili
 
Requerimiento de hardware para instalar el s
Requerimiento de hardware para instalar el sRequerimiento de hardware para instalar el s
Requerimiento de hardware para instalar el s
 
Practica 1
Practica 1Practica 1
Practica 1
 
Practica 1
Practica 1Practica 1
Practica 1
 
El servidor perfecto
El servidor perfectoEl servidor perfecto
El servidor perfecto
 
Maquinas virtiuales
Maquinas virtiualesMaquinas virtiuales
Maquinas virtiuales
 
Maquinas virtiuales
Maquinas virtiualesMaquinas virtiuales
Maquinas virtiuales
 
Formación en Almacenamiento, Open Storage Soluciones Low Cost.
Formación en Almacenamiento, Open Storage Soluciones Low Cost.Formación en Almacenamiento, Open Storage Soluciones Low Cost.
Formación en Almacenamiento, Open Storage Soluciones Low Cost.
 
Sistema operativo punto 3
Sistema operativo punto 3Sistema operativo punto 3
Sistema operativo punto 3
 
N lite
N liteN lite
N lite
 
W2008
W2008W2008
W2008
 
W2008
W2008W2008
W2008
 
Guia de instalacion de windows server 2008
Guia de instalacion de windows server 2008Guia de instalacion de windows server 2008
Guia de instalacion de windows server 2008
 
TSME10_MVSI_S01_MA01.pdfmanual de instalación
TSME10_MVSI_S01_MA01.pdfmanual de instalaciónTSME10_MVSI_S01_MA01.pdfmanual de instalación
TSME10_MVSI_S01_MA01.pdfmanual de instalación
 
Actividad instalacion de sistemas operativos
Actividad   instalacion de sistemas operativosActividad   instalacion de sistemas operativos
Actividad instalacion de sistemas operativos
 
Actividad 01 instalacion de sistemas operativos
Actividad 01   instalacion de sistemas operativosActividad 01   instalacion de sistemas operativos
Actividad 01 instalacion de sistemas operativos
 
Oracle vm virtualbox
Oracle vm virtualboxOracle vm virtualbox
Oracle vm virtualbox
 
Instalacion de oracle database 9i
Instalacion de oracle database 9iInstalacion de oracle database 9i
Instalacion de oracle database 9i
 
Introduccion sistemas operativos_red
Introduccion sistemas operativos_redIntroduccion sistemas operativos_red
Introduccion sistemas operativos_red
 
Modotexto
ModotextoModotexto
Modotexto
 

Más de enriquetcampos.org

Más de enriquetcampos.org (17)

Elx1 o1 sistemas de telefonia
Elx1 o1   sistemas de telefoniaElx1 o1   sistemas de telefonia
Elx1 o1 sistemas de telefonia
 
Elx1 o1 redes tcp ip
Elx1 o1   redes tcp ipElx1 o1   redes tcp ip
Elx1 o1 redes tcp ip
 
Conociendo más de elastix 101
Conociendo más de elastix 101 Conociendo más de elastix 101
Conociendo más de elastix 101
 
Instrucciones examen elx1 o1
Instrucciones examen elx1 o1Instrucciones examen elx1 o1
Instrucciones examen elx1 o1
 
Elastix 1 o1 introduccion
Elastix 1 o1   introduccionElastix 1 o1   introduccion
Elastix 1 o1 introduccion
 
Sistemas de telefonía elx1 o1elastix
Sistemas de telefonía   elx1 o1elastixSistemas de telefonía   elx1 o1elastix
Sistemas de telefonía elx1 o1elastix
 
Seguridad en implementaciones de voz sobre ip paper
Seguridad en implementaciones de voz sobre ip   paperSeguridad en implementaciones de voz sobre ip   paper
Seguridad en implementaciones de voz sobre ip paper
 
Libro diapositivas-elx101
Libro diapositivas-elx101Libro diapositivas-elx101
Libro diapositivas-elx101
 
Introducción a las redes tcp
Introducción a las redes tcpIntroducción a las redes tcp
Introducción a las redes tcp
 
Extensiones vs extensiones
Extensiones vs extensionesExtensiones vs extensiones
Extensiones vs extensiones
 
Instructivo de putty elx1 o1
Instructivo de putty elx1 o1Instructivo de putty elx1 o1
Instructivo de putty elx1 o1
 
Temario y pesos elx1 o1
Temario y pesos elx1 o1Temario y pesos elx1 o1
Temario y pesos elx1 o1
 
Elastix lab ece-book-esp(1)
Elastix lab ece-book-esp(1)Elastix lab ece-book-esp(1)
Elastix lab ece-book-esp(1)
 
Elastix slide book-uect
Elastix  slide book-uectElastix  slide book-uect
Elastix slide book-uect
 
Elastix slide book-uect(1)
Elastix  slide book-uect(1)Elastix  slide book-uect(1)
Elastix slide book-uect(1)
 
Elastix slide book-ect
Elastix  slide book-ectElastix  slide book-ect
Elastix slide book-ect
 
Elastix lab ece-book-esp(2)
Elastix  lab ece-book-esp(2)Elastix  lab ece-book-esp(2)
Elastix lab ece-book-esp(2)
 

Último

Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxAlexander López
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
Explorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramExplorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramDIDIERFERNANDOGUERRE
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel tallerValentinaTabares11
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 

Último (20)

Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
Explorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramExplorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ram
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel taller
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 

Elastix slide book-ece

  • 1.
  • 2. Capítulo 1 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados   INSTALACIÓN DE ELASTIX Instalando desde CD  Es recomendable instalar la última versión estable de Elastix disponible en la página del proyecto.  Para realizar la instalación desde CD, debemos descargar el archivo de imagen (con extensión iso), y grabarlo en un disco en blanco.  Es importante grabar el iso usando software especializado para este propósito.  muchas veces caemos en el error de descomprimir la imagen y copiar la estructura de directorios resultantes en un disco, con lo cual NO obtendremos un CD de arranque.  Una vez que tenemos un CD de instalación creado, lo insertamos en la unidad y procedemos a encender el equipo.  Es importante verificar que el computador esté configurado para arrancar desde CD.  Esto puede ser configurado en el BIOS.  El instalador de Elastix aparecerá en nuestra pantalla.  Una vez que tenemos un CD de instalación creado, lo insertamos en la unidad y procedemos a encender el equipo.  Es importante verificar que el computador esté configurado para arrancar desde CD.  Esto puede ser configurado en el BIOS.  El instalador de Elastix aparecerá en nuestra pantalla.  Para realizar una instalación estándar basta con presionar ENTER Advertencia: La instalación estándar borrará completamente el disco duro. 1
  • 3. Capítulo 1 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados    Seleccionamos el idioma para la instalación.  El instalador nos pide seleccionar el esquema del teclado  Seleccionamos el tipo de particionamiento (primera opción). 2
  • 4. Capítulo 1 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados    Confirmamos que se remuevan todas las particiones (Sí).  Revisar/modificar la capa de partiticiones (No).  Configurar interfaces de red (Sí). 3
  • 5. Capítulo 1 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados    Seleccionar que se active al inicio y soporte para IPv4.  Seleccionar ya sea DHCP o configuración manual.  Si se utiliza configuración manual, ingresar la dirección y la máscara. 4
  • 6. Capítulo 1 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados    Ingresar la dirección IP de la puerta de enlace y del servidor DNS.  Ingresar el nombre del host.  Seleccionamos el huso horario adecuado. 5
  • 7. Capítulo 1 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados    Ingresar la contraseña del usuario root  Esperar hasta que finalice la instalación automática de paquetes.  Ingresamos la contraseña para el usuario root de MySQL (no confundir con usuario root de linux). 6
  • 8. Capítulo 1 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados    Ingresar nuevamente la contraseña de root de MySQL.  Ingresar la contraseña para el usuario ‘admin’ del web GUI de Elastix. Nota: Esta será además la contraseña para los siguientes servicios: FreePBX, Vtiger, A2Billing y FOP. Aunque no se menciona esta contraseña es además la contraseña del AMI admin.  Ingresar nuevamente la contraseña ‘admin’ de Elastix. 7
  • 9. Capítulo 1 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados    La instalación ha sido completada, podremos ingresar a nuestro sistema con usuario root y su contraseña ingresada durante la instalación. Instalación con soft RAID  RAID hace referencia a utilizar varios discos duros en arreglo, principalmente para ofrecer redundancia de información.  Dependiendo el número de discos que se disponga y la forma en la que se configure el arreglo, se pueden obtener diferentes niveles de RAID.  El que se verá a continuación es de nivel 1, en el que intervienen dos discos duros y uno es espejo del otro.  RAID hace referencia a utilizar varios discos duros en arreglo, principalmente para ofrecer redundancia de información.  Dependiendo el número de discos que se disponga y la forma en la que se configure el arreglo, se pueden obtener diferentes niveles de RAID.  El que se verá a continuación es de nivel 1, en el que intervienen dos discos duros y uno es espejo del otro.  RAID hace referencia a utilizar varios discos duros en arreglo, principalmente para ofrecer redundancia de información.  Dependiendo el número de discos que se disponga y la forma en la que se configure el arreglo, se pueden obtener diferentes niveles de RAID.  El que se verá a continuación es de nivel 1, en el que intervienen dos discos duros y uno es espejo del otro. 8
  • 10. Capítulo 1 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados    Observaremos ambos discos, debemos crear tres (3) particiones en cada uno.  Seleccione la opción "Nuevo”  Tamaños de disco:  1era partición = 100MB para el boot,  2da partición = el doble del tamaño del RAM del sistema para swap (en este ejemplo el RAM es 512 MB),  3ra partición = debe ser completada con el espacio disponible. 9
  • 11. Capítulo 1 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados    En cada partición debemos seleccionar "software RAID" como el "Tipo de sistema de archivos".  Recuerde seleccionar la correspondiente "Unidad admisible", en la imagen del ejemplo es "hda". Imagen del proceso para la segunda partición (swap) Imagen del proceso para la tercera partición (seleccionamos ocupar todo el espacio disponible)  Al final tendremos 3 particiones en cada disco.  No se preocupe por el orden de cada partición se re-ordenarán cuando configuremos el RAID. 10
  • 12. Capítulo 1 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados    Para iniciar la partición en espejos debemos seleccionar la opción "RAID".  Aquí seleccionaremos las particiones que serán miembros del RAID, el "Tipo de sistema de archivos" y el "Punto de montaje".  Punto de Montaje: partición boot = /boot, swap = no coloque nada, partición "root" = use /  Tipo de sistema de archivos: partición boot = seleccione ext3, partición swap = seleccione swap, y seleccione ext3 para la partición "root".  Niveles de RAID: Seleccione RAID1 para todas las particiones.  Miembros del RAID: Escoja el par de particiones que han sido creadas en cada uno de los discos respectivamente. Ejemplo del espejo en la partición boot. Nota: Es importante seleccionar los particiones correspondientes en la sección “Miembros del RAID”. En este ejemplo hda2 y sda2 son las particiones con 100MB para boot.  Las configuraciones de RAID aparecerán sobre las particiones previamente creadas.  Cuando finalice seleccione "Aceptar" para continuar con la instalación normalmente. 11
  • 13. Capítulo 2 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados   VIRTUALIZACIÓN Virtualización  Una máquina virtual simula un sistema físico con características de hardware específicas.  En un solo servidor se pueden implementar varias máquinas virtuales para cumplir varios servicios.  Esto nos permite la reutilización de hardware existente, lo cual implica ahorro de recursos.  Nos permite además reducción de costos y una administración global centralizada y simple.  En un solo espacio podemos tener varios servidores virtuales sin incrementar el consumo de energía.  Eso ha hecho muy populares los servicios de Hosted PBX, debido a la posibilidad de virtualizar Elastix en lugar de disponer de un servidor por cliente.  Permite crear un ambiente de pruebas sin afectar la operación real, lo cual es útil previo a una actualización y nos será útil en este curso para probar el potencial de Elastix. 12
  • 14. Capítulo 2 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados    Entre las alternativas que revisaremos están:  VMware  VirtualBox  XEN VMware  Una máquina virtual simula un sistema físico con características de hardware específicas.  En un solo servidor se pueden implementar varias máquinas virtuales para cumplir varios servicios.  Esto nos permite la reutilización de hardware existente, lo cual implica ahorro de recursos.  Nos permite además reducción de costos y una administración global centralizada y simple.  VMware Player está creada para usuarios sin licencia para usar Workstation.  Inicialmente no permitía crear máquinas virtuales, pero esta limitación fue removida en la versión 3.0.1. Está disponible para Windows y Linux.  VMware Server es distribuida gratuitamente para uso no comercial y es la alternativa para servidores. Se recomienda para pruebas y no para servidores en producción  Página web: http://www.vmware.com/ VirtualBox  Es un software de virtualización para arquitecturas x86/amd64 desarrollado actualmente por Oracle Corporation.  Funciona bajo el concepto de sistemas tipo Guest instalados en un sistema operativo host, cada uno con su propio ambiente virtual  Sistemas operativos soportados en modo anfitrión: GNU/Linux, Mac OS X, OS/2, Microsoft Windows y Solaris/OpenSolaris.  Sistemas operativos Guest: FreeBSD, GNU/Linux, OpenBSD, OS/2 Warp, Windows, Solaris, MS-DOS, entre otros. 13
  • 15. Capítulo 2 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados    Es un software de virtualización para arquitecturas x86/amd64 desarrollado actualmente por Oracle Corporation.  Funciona bajo el concepto de sistemas tipo Guest instalados en un sistema operativo host, cada uno con su propio ambiente virtual  Sistemas operativos soportados en modo anfitrión: GNU/Linux, Mac OS X, OS/2, Microsoft Windows y Solaris/OpenSolaris.  Sistemas operativos Guest: FreeBSD, GNU/Linux, OpenBSD, OS/2 Warp, Windows, Solaris, MS-DOS, entre otros.  Es un software de virtualización para arquitecturas x86/amd64 desarrollado actualmente por Oracle Corporation.  Funciona bajo el concepto de sistemas tipo Guest instalados en un sistema operativo host, cada uno con su propio ambiente virtual  Sistemas operativos soportados en modo anfitrión: GNU/Linux, Mac OS X, OS/2, Microsoft Windows y Solaris/OpenSolaris.  Sistemas operativos Guest: FreeBSD, GNU/Linux, OpenBSD, OS/2 Warp, Windows, Solaris, MS-DOS, entre otros. Redes en VirtualBox  Es necesario configurar el tipo de red que utilizará Elastix. Existen 6 tipos de redes  No conectado: simula una computadora sin cable de red  NAT: Funciona sólo para acceder a redes externas pero no se puede acceder a la máquina remotamente  Adaptador puente: Simula redes. Cuando está habilitado, VirtualBox conecta uno de los dispositivos de red e intercambia paquetes directamente.  Red interna: Sirve para simular redes con otras máquinas virtuales  Adaptador solo-anfitrión: La máquina virtual es vista como otra máquina en la red.  Controlador genérico: usado para compartir una interfaz de red genérica. Un ejemplo es la interconexión entre dos máquinas virtuales ubicados en diferentes hosts.  Con Elastix podemos usar: Adaptador puente y Adaptador solo anfitrión. Para este curso utilizaremos Adaptador puente. 14
  • 16. Capítulo 2 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados   XEN  Es la alternativa más eficiente de virtualización  Solución recomendada para servidores por su eficiencia  Es lo que utilizan la mayoría de proveedores de hosting de VPS con Elastix  Existe 2 tipos de virtualización: completa y para-virtual  Permite hacer migraciones de máquinas virtuales en caliente  Es software libre: http://www.xen.org/ Arquitectura en XEN  XEN se comunica directamente con el hardware a través de un componente llamado Hipervisor.  Cuando XEN arranca levanta automáticamente un dominio conocido como dom0  Dom0 es un dominio privilegiado donde se administran otros dominios.  Los demás dominios son conocidos como domU Instalar Elastix en XEN  Existen varias formas en las que se puede instalar Elastix con XEN  Se necesita un servidor XEN sobre el cual se instalará Elastix. CentOS es muy buena opción para este servidor  Se puede instalar con virtualización completa o paravirtual  Se puede instalar sobre una máquina virtual de CentOS 5.x. Esto es muy útil si tenemos un servidor VPS remoto con CentOS cargado 15
  • 17. Capítulo 3 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados   LINUX PARA ADMINISTRADORES DE ELASTIX Introducción  GNU/Linux es un sistema operativo de software libre  Asterisk y Elastix funcionan sobre Linux  Para administrar una central Elastix no es necesario ser experto en Linux pero es muy útil conocer del tema.  Es la interfaz de texto entre el usuario y el sistema operativo  Se puede acceder localmente  Se puede acceder remotamente a través del protocolo SSH (Secure Shell)  El SSH es un protocolo encriptado. Línea de Comandos en Linux  Ejemplo terminal Linux de Elastix:. 16
  • 18. Capítulo 3 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados   Comandos Básicos Sistema de Archivos  Estructura de árbol de directorios  Todos empiezan en la raíz → /  Directorios importantes en Elastix: o /etc/asterisk: guarda la configuración de Asterisk o /var/www/html: se encuentra Elastix o /var/lib/mysql: las bases de datos de mysql o /var/log: los archivos de log. Comando Descripción ls Lista los archivos en el directorio actual. ls -la Lista los archivos y sus atributos cd Cambia de directorio cd .. Cambia el directorio padre cat Muestra el contenido de un archivo en la pantalla pwd Muestra la ruta actual cp Copia un archivo o grupo de ellos. mv Mueve un archivo. También se lo usa para renombrar archivos. rm Elimina un archivo tail -f filename Muestra las últimas líneas de un archivo mkdir Crea un directorio tar zxvf filename.tar.gz Descomprime un archivo .tar.gz top Muestra un reporte en tiempo real de los procesos que se ejecutan en el sistema. Puede ser ordenado por consumo de memoria o CPU. Muy útil para diagnóstico. find Permite buscar archivos vim Programa para ver y editar archivos de texto plano. ifconfig Muestra información de las interfaces de red y permite modificarlas temporalmente. ps -aux Muestra un reporte de los procesos que se están ejecutando en el servidor. reboot Reinicia el equipo shutdown -h now Apaga el equipo   17
  • 19. Capítulo 3 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados   Permisos  Todo archivo pertenece a un usuario y a un grupo  Los permisos son 3 niveles: usuario, grupo, otros  Los permisos pueden ser de lectura (r), escritura(w) y ejecución(x)  Ejemplo: rwxrw-rw- ; juan - elastix - archivo o En este caso el archivo pertenece a juan y al grupo elastix. Los permisos para juan son de rwx, grupo elastix rw y otros rw Permisos: Notación Octogonal  Los permisos se pueden representar con números  r=4, w=2 y x=1  Ejemplos: o 766=rwxrw-rw- o 600= rw------- o 644=rw-r--r-- RPM  Forma tradicional de instalar paquetes  Se usa para instalar y desinstalar paquetes o Instalar: rpm -ivh paquete.rpm o Desinstalar: rpm -e paquete  Consultas sobre paquetes instalados  Todos paquetes instalados: rpm -qa  Todos los paquetes que contengan asterisk: o rpm -qa | grep asterisk  Rpm tiene problemas de dependencias 18
  • 20. Capítulo 3 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados   YUM  Maneja la instalación de paquetes desde repositorios  Los repositorios pueden estar en Internet o en la lan  No existe problemas de dependencias  Ejemplos de uso: o Instala paquete: yum install paquete o Borra paquete: yum remove paquete o Actualiza paquete: yum update paquete o Actualiza todo el sistema operativo: yum update 19
  • 21. Capítulo 4 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados   ELASTIX: GENERALIDADES ¿Qué es Elastix?  Una solución de servidor de comunicaciones unificadas: telefonía, fax, IM, email, colaboración.  Es Software Libre.  Se distribuye como una imagen ISO para quemar en CD.  Incluye instalador.  Basada en Linux (CentOS), Asterisk, FreePBX, Hylafax, Postfix y Openfire.  Además de otros paquetes de código abierto.  Rápido crecimiento, 1’000.000 descargas hasta Noviembre de 2010.  Reconocimiento con el premio INTERNET TELEPHONY product of the year Award años 2011 y 2012 ¿Servidor de Comunicaciones Unificadas?  Integración de diferentes sistemas de comunicaciones.  Por ejemplo, el teléfono es contestado por Asterisk (telefonía) y en caso de resultar un documento de fax le pasa el control a Hylafax (FAX) quien recibe el documento y lo envía por email a través de Postfix a su destinatario.  Mejora la productividad: ahorro de tiempo, papel, mejor acceso a la información compartida. Esquema General 20
  • 22. Capítulo 4 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados   Breve historia del Proyecto  Lanzado en Marzo de 2006 por la compañía PaloSanto Solutions de Ecuador.  Inicialmente no era una distro sino una interfaz de reportación para llamadas de Asterisk  En Diciembre de 2006 se lanza la primera versión en formato distro. Ganó popularidad por su usabilidad.  En 2007 y 2008 el proyecto estuvo nominado a los premios CCA de SourceForge.  Actualmente es una de las distros basadas en Asterisk líder del mercado. Características de Elastix  Algunas de las características y funcionalidades de Elastix son:  Voicemail  Fax-a-email  Soporte para soft phones  Consola de operador  IVR (recepcionista digital)  Interfaz de configuración Web  Sala de conferencias  Music-on-hold con soporte mp3s  Campañas de tele-mercadeo  Grabación de llamadas  Parqueo de llamadas  Call-pickup  Colas de atención  Limitación de tiempo de llamada  Least Cost Routing  Roaming de extensiones  Interconexión entre PBXs  Identificación del llamante  CRM incluido Reportación avanzada  Personalización y desarrollo  Para un mayor detalle de todas las funcionalidades consulte Elastix.org Licenciamiento de Elastix  Elastix es software libre licenciado bajo GPL versión 2:  http://elx.ec/gpl2  Esto quiere decir que se puede copiar, distribuir y modificar el software libremente.  No existen versiones cerradas ni doble licenciamiento (como es el caso de Asterisk o MySQL).  Por si todavía existe la duda: Elastix puede ser descargado sin costo alguno. 21
  • 23. Capítulo 4 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados   Interfaz Web de administración Menú System Menú PBX Menú Email Menú Fax 22
  • 24. Capítulo 4 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados   Menú Reports Menú extendido Interfaz Web de administración  Módulo de Add-ons: Funcionalidad adicional disponible en un sólo clic www.elastix.org  Sitio Web oficial del proyecto.  Mantenido por PaloSanto Solutions y la comunidad Elastix.  Aquí podemos encontrar:  Foros  Wiki (Documentación)  Chat en vivo IRC  Suscripción a listas de correo  Links de descargas  Información Comercial y Proyectos  Eventos 23
  • 25. Capítulo 5 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados   FUNCIONAMIENTO INTERNO DE FREEPBX Fundamentos de FreePBX  Software de configuración de Asterisk  Integrado en la distribución Elastix  Genera los archivos de configuración de Asterisk o Incluye el plan de marcado o Basados en la configuración ingresada por el usuario  Dos pasos para la configuración: o Guarda la información en una base de datos de configuración. o En el caso de Elastix el motor de base de datos usado es MySQL. o Convierte la información de la base de datos en archivos de configuración a través de parsing. 24
  • 26. Capítulo 5 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados   Organización de archivos Configuración de FreePBX amportal.conf:  Archivo de texto plano, leído por FreePBX.  Información general de configuración.  Editable en caso de requerirse.  Información de acceso a la base de datos.  Tipo de autenticación para usuarios Web.  Documentación para manejo de opciones y directivas de configuración. retrieve.conf:  Escrito en PHP  Genera el plan de marcado a partir de la información almacenada en la base de datos. Directorio Descripción /var/www/html/admin/ Directorio principal del GUI de FreePBX. /var/www/html/panel/ Directorio del Flash Operator Panel. /etc/asterisk/ Directorio de archivos de configuración de Asterisk. /var/lib/asterisk/agi-bin/ Directorio de scripts AGI de Asterisk /var/lib/asterisk/bin/ Directorio de binarios, links simbólicos a carpetas de módulos. /usr/local/sbin/ Directorio con script amportal, manipulado solo por root. /var/lib/asterisk/sounds/ Directorio con sonidos del plan de marcado. /var/lib/asterisk/sounds/custom/ Directorio con sonidos creados por el usuario. /var/spool/asterisk/voicemail/ Directorio de almacenamiento de voicemails. /var/spool/asterisk/monitor/ Directorio de almacenamiento de grabaciones de voz. 25
  • 27. Capítulo 5 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados    Programa ejecutable desde la línea de comandos.  Se ejecuta a través de un script PHP, cada vez que se da clic en la barra roja de FreePBX (”Apply Configuration Changes Here”).  Esta operación será muy frecuente en la mayoría de las configuraciones que realicemos en el menú de PBX. dialparties.agi:  Script AGI escrito en PHP  Se ejecuta desde el plan de marcado cuando se realiza una llamada.  Revisa el estado de la extensión y otras configuraciones de la misma (call forward, call waiting, do not disturb).  Toma acciones a partir del estado y la configuración de la extensión.  dialparties.agi consulta la base de datos de Asterisk ubicada en /var/lib/asterisk/astdb/  Se puede ejecutar desde el CLI (Command Line Interpreter) de asterisk  dialparties.agi está ubicado en /var/lib/asterisk/agi-bin/dialparties.agi Módulo de FreePBX: Estructura Nombre del Archivo Descripción module.xml Información del módulo en formato XML. page.nombredelmodulo.php Archivo principal del módulo escrito en PHP. functions.inc.php Librería especial con funciones PHP. install.sql Contiene sentencias SQL que se ejecutan sobre la base de datos al instalar el módulo. uninstall.sql Contiene sentencias SQL para desinstalar el módulo. install.php Script PHP que se ejecuta al momento de instalar el módulo. uninstall.php Script PHP que se ejecuta al momento de desinstalar el módulo 26
  • 28. Capítulo 5 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados   ¿Cómo se embebe en Elastix?  Para poder embeber freePBX en Elastix se desarrolló un código WRAPPER  Este código se acopla los módulos de freePBX como un módulo Elastix.  Este desarrollo consiste en: o Módulo pbxadmin de Elastix o Archivo /var/www/html/config.php Módulo pbxadmin de Elastix  Encargado de obtener el contenido de módulos de freePBX por medio de inclusión de archivos de PHP.  El index.php de éste módulo (Elastix) es muy parecido al index de freePBX (llamado config.php), pero quitando todos los estilos propios de freePBX.  Contiene un archivo javascript (libfreepbx.javascripts.js) que es una copia mínima del que esta ubicado dentro del código de freePBX para mantener las acciones que se dan en la GUI Archivo /var/www/html/config.php  Este archivo recibe las peticiones hechas desde módulos de freePBX.  Lo que hace es redireccionar las peticiones al módulo pbxadmin de Elastix e incluir el index.php del framework Elastix. Gráfico ilustrativo de FreePBX embebido config.php Index.php Framework Elastix Módulo pbxadmin de Elastix Redirecciona las peticiones a Redirecciona a Obtiene el contenido de módulos de FreePBX pero sin estilos Módulos de FreePBX Hacen las peticiones al config.php ubicado en la raíz WRAPPER 1 2 3 4 27
  • 29. Capítulo 5 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados   FUNCIONAMIENTO INTERNO DE FREEPBX Fundamentos de FreePBX  Software de configuración de Asterisk  Integrado en la distribución Elastix  Genera los archivos de configuración de Asterisk o Incluye el plan de marcado o Basados en la configuración ingresada por el usuario  Dos pasos para la configuración: o Guarda la información en una base de datos de configuración. o En el caso de Elastix el motor de base de datos usado es MySQL. o Convierte la información de la base de datos en archivos de configuración a través de parsing. 28
  • 30. Capítulo 5 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados   Organización de archivos Configuración de FreePBX amportal.conf:  Archivo de texto plano, leído por FreePBX.  Información general de configuración.  Editable en caso de requerirse.  Información de acceso a la base de datos.  Tipo de autenticación para usuarios Web.  Documentación para manejo de opciones y directivas de configuración. retrieve.conf:  Escrito en PHP  Genera el plan de marcado a partir de la información almacenada en la base de datos. Directorio Descripción /var/www/html/admin/ Directorio principal del GUI de FreePBX. /var/www/html/panel/ Directorio del Flash Operator Panel. /etc/asterisk/ Directorio de archivos de configuración de Asterisk. /var/lib/asterisk/agi-bin/ Directorio de scripts AGI de Asterisk /var/lib/asterisk/bin/ Directorio de binarios, links simbólicos a carpetas de módulos. /usr/local/sbin/ Directorio con script amportal, manipulado solo por root. /var/lib/asterisk/sounds/ Directorio con sonidos del plan de marcado. /var/lib/asterisk/sounds/custom/ Directorio con sonidos creados por el usuario. /var/spool/asterisk/voicemail/ Directorio de almacenamiento de voicemails. /var/spool/asterisk/monitor/ Directorio de almacenamiento de grabaciones de voz. 29
  • 31. Capítulo 5 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados    Programa ejecutable desde la línea de comandos.  Se ejecuta a través de un script PHP, cada vez que se da clic en la barra roja de FreePBX (”Apply Configuration Changes Here”).  Esta operación será muy frecuente en la mayoría de las configuraciones que realicemos en el menú de PBX. dialparties.agi:  Script AGI escrito en PHP  Se ejecuta desde el plan de marcado cuando se realiza una llamada.  Revisa el estado de la extensión y otras configuraciones de la misma (call forward, call waiting, do not disturb).  Toma acciones a partir del estado y la configuración de la extensión.  dialparties.agi consulta la base de datos de Asterisk ubicada en /var/lib/asterisk/astdb/  Se puede ejecutar desde el CLI (Command Line Interpreter) de asterisk  dialparties.agi está ubicado en /var/lib/asterisk/agi-bin/dialparties.agi Módulo de FreePBX: Estructura Nombre del Archivo Descripción module.xml Información del módulo en formato XML. page.nombredelmodulo.php Archivo principal del módulo escrito en PHP. functions.inc.php Librería especial con funciones PHP. install.sql Contiene sentencias SQL que se ejecutan sobre la base de datos al instalar el módulo. uninstall.sql Contiene sentencias SQL para desinstalar el módulo. install.php Script PHP que se ejecuta al momento de instalar el módulo. uninstall.php Script PHP que se ejecuta al momento de desinstalar el módulo 30
  • 32. Capítulo 5 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados   ¿Cómo se embebe en Elastix?  Para poder embeber freePBX en Elastix se desarrolló un código WRAPPER  Este código se acopla los módulos de freePBX como un módulo Elastix.  Este desarrollo consiste en: o Módulo pbxadmin de Elastix o Archivo /var/www/html/config.php Módulo pbxadmin de Elastix  Encargado de obtener el contenido de módulos de freePBX por medio de inclusión de archivos de PHP.  El index.php de éste módulo (Elastix) es muy parecido al index de freePBX (llamado config.php), pero quitando todos los estilos propios de freePBX.  Contiene un archivo javascript (libfreepbx.javascripts.js) que es una copia mínima del que esta ubicado dentro del código de freePBX para mantener las acciones que se dan en la GUI Archivo /var/www/html/config.php  Este archivo recibe las peticiones hechas desde módulos de freePBX.  Lo que hace es redireccionar las peticiones al módulo pbxadmin de Elastix e incluir el index.php del framework Elastix. Gráfico ilustrativo de FreePBX embebido config.php Index.php Framework Elastix Módulo pbxadmin de Elastix Redirecciona las peticiones a Redirecciona a Obtiene el contenido de módulos de FreePBX pero sin estilos Módulos de FreePBX Hacen las peticiones al config.php ubicado en la raíz WRAPPER 1 2 3 4 31
  • 33. Capítulo 6 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados   CONFIGURACIÓN BÁSICA DE ELASTIX Ingreso a Elastix vía Web  Abrir en un navegador web: https://ip-servidor (Dirección IP de Elastix)  La primera vez se debe aceptar el certificado digital. De ser necesario establezca un excepción en su navegador web  Ingresar con los siguientes datos  Usuario: admin  Password: La clave de admin registrada durante la instalación Configuración de Red  Elastix utiliza DHCP por defecto  En la mayoría de casos se debe configurar:  IP estático  Puerta de Enlace  DNS  Para configurar se debe acceder al menú Sistema → Red  Los dispositivos de red se reconocen como ethernet1, ethernet2, etc... 32
  • 34. Capítulo 6 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados   Creando una extensión  Se pueden crear extensiones: sip, iax, zap, dahdi y custom  SIP: protocolo estándar para terminales de voz/ip. Soportado por la mayoría de teléfonos de ip  IAX: Protocolo propio de Asterisk y no muy difundido. Se comporta mejor que sip en ambientes nat  Zap: Usada para extensiones análogas o tradicionales  dahdi: Usada para extensiones análogas o tradicionales  Custom: Se puede utilizar para opciones avanzadas. Por ejemplo mapear una línea externa a una extensión Ejemplo para crear extensión SIP  Para crear una extensión ingrese a:  PBX → PBX Configuration → extensiones  Seleccione: Generic SIP Device  Como mínimo debe ingresar: número de extensión, display name y el secret  El mode DTMF (dtmfmode) de la extensión y teléfono debe ser el mismo.  El dtmfmode predeterminado es: rfc2833  Otras opciones para el modo rfc son:  info  inband  auto 33
  • 35. Capítulo 6 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados   Ejemplo: Configuración de Softphone  La configuración de un teléfono IP de software debe incluir por lo menos: el usuario (normalmente la extensión), el password (secret) y la dirección IP del servidor Elastix.  En la gráfica: configuración de cuenta en el softphone Zoiper Configuraciones generales  Configuraciones importantes  Opciones de marcado: Se definen opciones como transferencia de llamada y grabación de llamadas  Company Directory: Para acceder al directorio telefónico desde un ivr con *411 o #  Security Settings: No permite llamadas sip anónimas  Actualizaciones: Bloqueada por defecto Colas  Agrupan a varias extensiones conocidas como agentes  Agentes estáticos o dinámicos  Existen varias Estrategias de marcado:  Sonar todos: Timbra a todos los miembros de la cola  Agente con última llamada más antigua: Timbra al agente que fue llamado menos recientemente  Agente con menos llamadas: Timbra al agente que menos llamadas a contestado  Estrategias de marcado:  Aleatorio: Timbra aleatoriamente  Con memoria: Timbra a cada agente de manera secuencial  Linear: Timbra a los agentes en el orden especificado 34
  • 36. Capítulo 6 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados    Wrandom: Timbra las extensiones de los agentes e manera aleatoria pero utilizando una penalidad como medida de probabilidad. Colas: configuración básica  Queue number: El número por el que se podrá llamar a la extensión  Queue name: El nombre de la cola que usaremos para identificar en la interfaz administrativa  Queue password: Clave que deberá ingresar un agente dinámico  CID name prefix: Como un agente puede hacer login en varias colas al mismo tiempo, es útil colocarle un prefijo al Caller ID para que cuando el agente vea la llamada entrante en el teléfono sepa a que cola pertenece la llamada.  Static Agents: Se lista las extensiones a agentes y su prioridad en la cola.  Max callers: El número máximo de personas que esperan en una cola si todos los agentes están ocupados.  Join Empty: Se puede permitir que la cola funcione sin agentes. No se recomienda  Leave when empty: si se pone en yes, los usuarios que estén en espera en la cola serán removidos de la misma si todos los agentes abandonan la cola.  Ring strategy: Existen 6 tipos de estrategias: ringall, leastrecent, fewestcalls, random, rrmemory, linear, wrandom.  Wrap-up-time: Tiempo entre llamadas exitosas por agente  Call Recording: Opción para grabar llamadas  Fail Over Destination: Destino a donde van las llamadas entrantes no contestadas IVR  Un IVR funciona como una recepcionista digital  Es necesario grabar o subir sonidos al servidor antes de configurar el IVR  Se pueden tener tantos IVR como sean necesarios  Para que sean accesibles desde las troncales se deben configurar rutas entrantes IVR: Grabar o subir sonido  Para grabar o subir un sonido se debe ingresar a PBX → PBX Configuration → Grabaciones del Sistema 35
  • 37. Capítulo 6 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados    Para subir un audio haga clic en “Subir un Archivo”, navegue hasta ubicarlo, selecciónelo y haga clic en “Enviar”.  Continúe al paso 2, asigne un nombre a su grabación y haga clic en “Guardar”.  Archivos WAV deben estar codificados en PCM, 16 bits y a 8000Hz.  Si desea grabar desde un teléfono ingrese el número de extensión y haga clic en “ir”  Marque *77 para grabar el mensaje (desde la extensión que ingresó)  Marque *99 para escuchar la grabación (desde la extensión que ingresó)  Una vez grabado el mensaje asignamos un nombre y hacemos clic en “Guardar” IVR: Grabar o subir sonido  Ir a PBX → PBX Configuration → IVR – clic en Añadir IVR  Configurar las siguientes variables:  Cambiar nombre: Asignamos un nombre al IVR  Tiempo de espera: Tiempo de espera, en segundos, antes de ir al destino por defecto.  Habilitar marcación directa: Permitir marcar directamente a extensiones 36
  • 38. Capítulo 6 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados    Anuncio: Seleccionamos un anuncio previamente grabado o cargado en el sistema.  Se agregan los números de opción y sus destinos.  La opción t sirve para timeout  La opción i para opciones equivocadas  Una vez concluido hacemos clic en “Guardar “  La forma mas sencilla de hacer un IVR es con único Audio que al ser reproducido indique todas las opciones.  Cuando tenemos varios Audios, tendremos que hacer un IVR para cada Audio.  Una vez que tenemos cada IVR creado, los relacionamos en orden colocando t como la opción que enlazará el actual IVR al siguiente (siendo t la opción de timeout)  Es necesario incluir todas las opciones de marcado disponibles en todos los IVRs creados para no tener errores. Salas de Conferencia  Una sala de conferencia permite hablar a 3 o más personas simultáneamente  Se pueden hacer conferencias con extensiones locales y números remotos  Existen 2 tipos de salas de conferencias:  Permanentes y temporales  De ser necesario se pueden proteger con clave Salas de conferencia: Temporales  Se crean por un tiempo definido y desaparecen  Para crear se debe ingresar a PBX → Conference  Ejemplo de configuración: 37
  • 39. Capítulo 6 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados   Salas de conferencia: Estáticas  Se crean para uso permanente  Ejemplo de Configuración: Ir a PBX → PBX Configuration → Conferencias  Número de conferencia: la extensión a la que marcaremos para acceder.  Nombre de la conferencia: Un nombre referencial  PIN de usuario: Clave para acceso a la conferencia (opcional)  PIN de administración: Necesaria únicamente si se selecciona la opción esperar al administrador.  Opciones de la conferencia 38
  • 40. Capítulo 6 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados   Parqueo de llamadas  Sirve para enviar las llamadas a un lugar temporal cuando el destino no es conocido.  Esto permite que sean recuperadas desde otra extensión.  La llamada es transferida desde una extensión inicial a un estacionamiento o parking slot.  Después puede ser recuperada desde otra locación marcando un número asignado.  Para crear un estacionamiento ingrese a:  PBX → PBX Configuration → Estacionamiento  La extensión de marcado para enviar una llamada a aparcamiento es por defecto 70.  El tiempo de configuración para espera en el estacionamiento va de 15 segundos a 10 minutos.  El contexto de aparcamiento por defecto es: parkedcalls. Esto no debería ser cambiado.  Al activar la opción de estacionamiento es necesario configurar el destino donde deben ir las llamadas que no son recuperadas.  Ejemplo:  Durante la llamada marque ## 70 # - Usted escuchará un número de estacionamiento.  Usualmente 71, 72, 73,...n (un máximo de 20).  Luego usted puede recuperar la llamada que puso en el estacionamiento, desde otra extensión ´marcando el número que escuchó en la grabación. 39
  • 41. Capítulo 6 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados   Música en espera  Se puede subir música en formatos wav o mp3 al servidor  Se pueden crear listas de música para asignar en diferentes lugares de nuestra central. Ej. Callcenter, colas, etc..  Para configurar se debe ingresar a PBX → Configuración → Música en Espera.  Es recomendable usar .wav estar codificado en PCM, 16 bits y a 8000Hz. Mp3 podría consumir mas recursos. Bookmark de menúes comunes  Elastix 2.2 permite marcar menúes comunes para fácil.  Esta funcionalidad está localizada en la esquina derecha de cada sección con un icono ★ (estrella).  Para añadir un bookmark basta con hacer clic en ★ Iy la sección se mostrará en el menú de la columna izquierda 40
  • 42. Capítulo 6 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados   Flash Operator Panel (1)  Es una aplicación web hecha en flash que permite monitorizar la central  Cumple las funciones de un teléfono de recepcionista  Se pueden transferir llamadas, crear conferencias, etc.  La clave de administración es la que configuramos al instalar Elastix en la clave del admin de la interfaz web.  Flash Operator Panel es un desarrollo de terceros. Elastix introdujo desde la versión 2.0 su propio panel de operador denominado: Elastix Operator Panel.  Pantalla del FOP: 41
  • 43. Capítulo 7 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados   CONFIGURACIÓN DE TELÉFONO IP ¿Qué es un teléfono IP?  Un teléfono IP es un dispositivo que permite realizar una comunicación de voz utilizando la red IP, ya sea mediante red de área local o a través de Internet.  La tecnología que hace esto posible esto se conoce como VoIP (Voz sobre IP).  El teléfono IP convierte y comprime la señal de la voz en paquetes de datos que serán enviados en la red IP, en lugar de utilizar una conexión de red teléfonica. Configuración de teléfono IP  Para configurar un teléfono IP debemos tener en cuenta tres aspectos: 1. Configuración de red 2. Registro del dispositivo con el servidor Elastix 3. El Teléfono IP apropiado  Para ilustrar de mejor manera los puntos mencionados, utilizaremos un teléfono Yealink SIP-T22P. Configuración de red  La configuración de red puede realizarse por DHCP (lo más común) o se puede asignar una dirección IP estática. DHCP  Mediante esta opción, el teléfono obtendrá una dirección IP desde un setvidor DHCP ubicado dentro de la red local.  Elastix puede ser nuestro servidor DHCP, si no se cuenta con uno en la red local. 42
  • 44. Capítulo 7 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados   IP estática  Esta opción es útil si deseamos contar contar con un registro exacto de las direcciones IP de cada teléfono.  Es también útil si deseamos colocar los dispositivos IP en segmentos específicos de nuestra red.  En esta opción, además de la IP se necesita ingresar la máscara de red y la puerta de enlace en el caso de que su teléfono se encuentre en otro segmento de red.  La configuración de Teléfonos Yealink SIP-T22P o cualquier otro modelo de Yealink se puede realizar ingresando a un web browser colocando la dirección IP del teléfono.  El usuario y contraseña por defecto en todos los modelos Yealink es: admin Nota: también es posible configurar la extensión del teléfono desde el Endpoint Configurator de Elastix (PBX → Endpoint Configurator) , esto lo veremos más adelante.  Para configurar la extensión debe ir a Cuenta.  El teléfono Yealink SIP-T22P puede ser configurado con 3 cuentas.  La información básica necesaria para la configuración es:  Línea Activa: Habilita la cuenta  Nombre de registro: Extensión de usuario  Nombre de usuario: Extensión de usuario  Contraseña: Secret - La contraseña de la extensión  Servidor SIP: Dirección IP del servidor Elastix  Servidor de salida Proxy: IP del servidor Elastix  Interfaz de administración web de Yealink       43
  • 45. Capítulo 7 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados   Aprovisionamiento  El aprovisionamiento permite la configuración en lote de teléfonos IP.  Este proceso se realiza desde la interfaz web de Elastix y su principal herramienta es el módulo de configuración de Endpoints (Endpoint Configurator).  El proceso adecuado es: 1. Creación de extensiones 2. Habilitar los teléfonos IP para el aprovisionamiento 3. Detección de los dispositivos en la red 4. Asignación de extensiones desde la interfaz. Aprovisionamiento:  Endpoint Configurator  El Endpoint Configurator realiza un scan de la red del servidor Elastix.  En el scan se obtiene información de las direcciones IP y MAC de los dispositivos conectados.  Al obtener la información de todos los dispositivos este trata de identificar los equipos que pudieran ser teléfonos IP.  Luego trata de recabar información del fabricante y modelo para elegir cuáles se pueden configurar.  Actualmente Elastix soporta las siguientes marcas: Aastra, Atcom, AudioCodes, Cisco, Grandstream, Linksys, Polycom, Siemens, Snom, Yealink y Zultys.  Se prevé soportar en versiones teléfonos Escene, Voptech y otros.  Cuando ya se tiene el grupo de teléfonos a configurar se presenta la información de los mismos en la interfaz Web de Elastix.  Se mostrará algo similar a la siguiente imagen: 44
  • 46. Capítulo 7 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados    Para la mayoría de teléfonos, el Endpoint Configurator generará un archivo de configuración que se graba en el directorio /tftboot del servidor Elastix.  Este archivo lleva el nombre mac_address_del_telefono.cfg (ej: 0015651ab08f.cfg).  En este archivo se guarda la configuración de los teléfonos para hacer el aprovisionamiento via tftp desde Elastix Aprovisionamiento:  Habilitación de Teléfonos IP  En la actualidad la mayoría de las marcas de teléfonos IP permiten configuración para aprovisionamiento.  Hay algunas marcas (e.g. Atcom) en que aprovisionamiento no requiere de configuración previa.  Para habilitar teléfonos Yealink, debemos configurar los siguientes parámetros desde la interfaz administrtiva del teléfono:  Ir a: Actualizar → Advanzado o Configurar URL: dirección IP del Servidor Elastix o Check New Config: Encendido.     45
  • 47. Capítulo 7 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados   Aprovisionamiento:  Asignación de extensiones 1. En la interfaz web de Elastix ir a PBX 2. Luego Endpoint Configurator 3. Hacer clic en: Descrubrir Endpoints en esta Network 4. En la columna “Configurar”, marcar la casilla correspondiente 5. En la columna “Modelo”, elegir el modelo correspondiente. 6. En la columna “Extension a asignar”, elegir la extensión que queremos asignar al teléfono. (ya debe haber sido creada previamente) 7. Hacer clic en “Configurar” Reiniciamos el teléfono (accedemos a su interfaz web haciendo clic en la IP correspondiente). Una vez dentro: Upgrade → Basic → Reboot). Nota: Algunos modelos se reinician automáticamente. ¿Qué es un Softphone?  Es un software que hace una simulación de teléfono IP por computadora.  Es decir, permite usar la computadora para hacer llamadas a otros softphones, teléfonos IP o a otros teléfonos convencionales analógicos. 46
  • 48. Capítulo 7 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados   Configurando un Softphone  Presionamos el botón con la figura de la herramienta y accedemos al menú de opciones.  Allí veremos una pantalla con opciones para configurar nuevas extensiones SIP y también IAX. Zoiper cuenta con soporte para ambos protocolos.  En nuestro ejemplo configuraremos una extensión SIP. Usuario: 5678 Contraseña: 5678. X-Lite Counterpath Zoiper Softphone 47
  • 49. Capítulo 7 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados    La información requerida es: o Domain: La IP o nombre de dominio del servidor Elastix. o Username: 5678 o Password: 5678 o Caller ID Name: El nombre que aparecerá en los teléfonos que reciban nuestras llamadas.  Después de llenar la información hacemos clic en OK.  Una vez que volvemos a la pantalla de inicio de Zoiper hacemos clic en register.  Si el Zoiper se registra correctamente veremos que junto al nombre de nuestra cuenta “Test” aparecerá la palabra “Registered”. 48
  • 50. Capítulo 8 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados   CONFIGURACIÓN DE HARDWARE Tipos de tarjetería  Esta tarjetería está disponible tanto para interfaces telefónicas analógicas como digitales.  Dentro de cada una de estas categorías existen las siguientes sub-categorías: EHCP : Elastix Hardware Certification Program  El Equipo de Desarrollo Elastix trabaja con varios fabricantes para incluir los controladores de su hardware.  Además Elastix cuenta con un programa que pone a prueba toda la funcionalidad para certificar la interoperabilidad con el software.  Este programa es conocido como Elastix Hardware Certification Program o EHCP por sus siglas en inglés.  Hay muchos modelos y fabricantes de tarjetas compatibles e incluidos en la distro. Fabricantes soportados  Elastix ha probado el soporte para muchos modelos y fabricantes de tarjetería. Los siguientes son los modelos soportados oficialmente a la fecha: Analog: FXO FXS Digital: E1/T1/J1 BRI 49
  • 51. Capítulo 8 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados   Hardware modular  Existen fabricantes que diseñan su hardware de manera modular, de tal forma que pueda ser expandible. Instalando una tarjeta de telefonía  Esto no involucra ninguna tarea complicada, solo las precauciones obvias al instalar tarjetas electrónicas en un computador.  Luego de encender el equipo podemos ir a consola y ejecutar el comando lspci para ver el hardware enlistado. Nota: En caso de instalar hardware FXS es muy común que se requiera conectar un cable de poder a la tarjeta pues hay que recordar que las interfaces FXS deben proveer potencia eléctrica a los dispositivos que se conecten a ella. Detección de hardware  Una vez que la tarjetería ha sido instalada es hora de detectarla.  En versiones muy antiguas de Elastix esta tarea se hacía manualmente ejecutando un comando desde la consola del equipo. Puertos ranuras para módulos Módulo FXS (verde) Módulo FXO (rojo) Conexión Fuente de alimentación Sangoma TMD Card Model A20101 50
  • 52. Capítulo 8 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados    Actualmente se cuenta con una interfaz Web que detecta el hardware automáticamente y nos muestra gráficamente el hardware detectado.  Esta opción podrá encontrarse en el Menú System → Hardware Detector.  Para detectar una tarjeta hacemos clic en “Avanzado” y seleccionamos la opción Reemplazar el archivo chan_dahdi.conf.  Después debemos dar clic en Detect New Hardware y después de algunos segundos, el proceso estará finalizado. Tarjetas Digitales  Para este modelo hemos seleccionado una tarjeta Sangoma modelo A102. Este hardware utiliza Wanpipe el cual usa sus propios drivers para comunicarse con Asterisk.  Para detectar la tarjeta debemos dar clic en “Avanzado” y seleccionar: Reemplazar el archivo chan_dahdi.conf y Detección de Hardware Sangoma.  Después de esto podemos dar clic en Detectar Nuevo Hardware.  Para la detección de tarjetas que usan Dahdi simplemente se debe seleccionar la opción “Reemplazar el archivo chan_dahdi.conf” y después clic en “Detectar Nuevo Hardware”.  Es importante verificar que la tarjeta esta dentro de la lista de hardware certificado de Elastix, ECHP.  El reemplazo de chan_dahdi.conf permite al sistema detectar la tarjeta de forma permanente. 51
  • 53. Capítulo 8 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados    Este acción sobre escribe los siguientes archivos: /etc/asterisk/chan_dahdi.conf /etc/dahdi/system.conf /asterisk/dahdi-channels.conf  Si ya se tiene una tarjeta instalada y deseamos detectar una nueva tarjeta, es recomendable realizar un respaldo de estos archivos para permitir incluir estas configuraciones previas en los nuevos archivos. Configuración Span  La herramienta de detección de hardware basada en Web que viene con Elastix nos permite detectar el hardware de manera sencilla.  La herramienta puede configurar exitosamente el hardware digital en muchos casos, sin embargo hay que tener en cuenta que la herramienta realiza su trabajo suponiendo muchos parámetros que pueden diferir de la realidad.  Se puede cambiar estos parámetros usando la interfaz web o mediante consola. A continuación explicaremos como realizar estas configuraciones por consola. Configuración Span: Bajo Nivel  Un span es un grupo de canales digitales.  El span se puede configurar en el archivo /etc/dadhi/system.conf.  Usualmente un span representa un puerto digital de la tarjeta.  Por ejemplo, si la tarjeta contiene 4 puertos E1 entonces usualmente deberíamos definir 4 spans, uno por cada puerto.  Un span define en una sola línea, la cual tiene el siguiente formato: Spannum  Es un identificador numérico único para etiquetar el span. Se debe empezar con el número 1 e ir incrementando este identificador secuencialmente de uno en uno. Timing  Es un dígito que define la forma en la cual se manejará la sincronización del span. 52
  • 54. Capítulo 8 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados   LBO (Line Build Out)  Es un dígito que representa la longitud del cable entre la tarjeta y el equipo (modem) provisto por la compañía telefónica. Framing  Como recordaremos, los protocolos de comunicación digital T-Carrier y E-Carrier dividen la información en frames, donde cada frame transporta un número determinado de timeslots.  Estos frames pueden ser de diferentes formatos y eso es lo que se define aquí. Coding  Es necesario codificar la información enviada para hacerla menos susceptible a errores. Esto es así porque la propia data se suele usar como fuente de sincronización (o reloj).  Si se transmiten tramas largas de ceros (largos segmentos sin variación de voltaje) se puede perder dicha sincronización.  Después de realizar los cambios en el archivo system.conf, es necesario reiniciar DAHDI. (Asterisk CLI: service dahdi restart)  Después de haber reiniciado DAHDI se ejecuta el comando “lsdahdi”.  Si todo ha sido configurado de forma correcta, se podrá ver las tarjetas configuradas y el respectivo estado de canal. 53
  • 55. Capítulo 8 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados   Configuración Span: Interfaz Web  En la interfaz web tenemos las siguientes opciones: Configuración de Span y Parámetros de Span.  En Parámetros de Span podremos configurar el timing source, LBO, Framing y Coding. También podemos seleccionar el tipo de tarjeta T1/E1 (para tarjetas que soporten modo de selección por software).  En la Configuración de Span podemos seleccionar por cada canal el software de cancelación de eco.  Tarjeta detectada con formato TI  Cambio de formato a E1 Troncalización: chan_dahdi.conf  Asterisk cuenta con un módulo llamado chan_dahdi que sirve para conectarse con los drivers de DAHDI y de esta manera conectar Asterisk con hardware telefónico.  Este módulo se configura a través de un archivo llamado chan_dahdi.conf  En el archivo chan_dahdi.conf básicamente se configura la señalización de los canales de voz y se mapean los canales de Asterisk con los circuitos o líneas telefónicas definidos en el archivo system.conf que configuramos antes.  Estos canales se pueden agrupar en troncales troncales. 54
  • 56. Capítulo 8 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados    La siguiente imagen muestra el archivo chan_dahdi.conf: Signalling  Este parámetro define la señalización de cada canal o grupo de canales.  Lo más común que veremos para circuitos analógicos será fxs_ls y para circuitos digitales pri_cpe. Switchtype  Este parámetro es para circuitos digitales y especifica el tipo de switch PRI usado.  Lo más común es national y euroisdn, dependiendo de en qué país nos encontremos claro está. 55
  • 57. Capítulo 9 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados   ASTERISK ESSENTIALS ¿Qué es Asterisk?  Es un sistema de telefonía basado en software libre que proporciona todas las funcionalidades que se espera de una central telefónica (PBX).  Esto hace posible conectar un número determinado de teléfonos para hacer llamadas entre sí y conectar a un proveedor de VoIP PSTN.  Asi tambien proveedores PSTN de telefonia digital y analoga usando hardware especializado, esto es tarjetas telefonicas FXO/FXS, ISDN pri/bri, entre otras. Breve Historia de Asterisk  Asterisk fue creado por Mark Spencer quien es su principal desarrollador.  Al ser Software libre, tiene tambien una amplia comunidad de desarrolladores que contribuyen a corregir errores y añadir novedades y funcionalidades.  Mark había creado en 1999 la empresa "Linux Support Services" con el objetivo de dar soporte a usuarios de Linux.  Para ello necesitaba una centralita telefónica, pero ante la imposibilidad de adquirirla dados sus elevados precios, decidió construir una con un PC bajo GNU/Linux, utilizando lenguaje C. Funcionalidad de Asterisk  Asterisk puede funcionar como un sistema IP nativo o uno hibrido, manejando el ruteo de llamadas, interconectando protocolos y transcodificando medios.  Tiene muchas características internas como buzón de voz, conferencias, IVRs, CDRs, distribución automática de llamadas, parqueo, tranferencias, captura, musica en espera  Entre muchas otras funcionalidades.  Asterisk tambien soporta multiples protocolos y codecs. 56
  • 58. Capítulo 9 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados    Asterisk soporta diferentes señalizaciones y protocolos para la interconexion con sistemas de telefonia tradicionales. Encendido y apagado de Asterisk  Asterisk cuenta con scripts ubicados en /etc/rc.d/init.d/asterisk y pordemos iniciarlo con el comando /etc/init.d/asterisk start y detenerlo con /etc/init.d/asterisk stop.  Sin embargo en elastix es recomendable manejar su inicio o apagado con el script amportal, mismo que a su vez llama a otros scripts que inician ademas otros servicios necesarios para ciertas funcionalidades  Su uso es: o amportal start → inicia asterisk o amportal stop → detiene asterisk PROTOCOLOS CODECS IAXTM (Inter-Asterisk Exchange) ADPCM H.323 G.711A/U (A-Law y µ-Law) SIP (Session Initiation Protocol) G.722 MGCP (Media Gateway Control Protocol) G.723.1 SCCP (Cisco® Skynny® ) G.726 G.729 (con una licencia comercial) GSM iLBC Linear LPC-10 Speex Señalización Protocolos PRI E&M 4ESS E&M Wink BRI (ISDN4Linux) Feature Group D DMS100 FXS EuroISDN FXO Lucent 5E GR-303 National ISDN2 Loopstart NFAS Groundstart Kewlstart Soporte para MF y DTMF Señalización Robbed-bit (RBS) MFC-R2 (a través de parches de código) 57
  • 59. Capítulo 9 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados   Estructura de directorios de Asterisk Módulos de Asterisk  Asterisk utiliza módulos para extender su funcionalidad.  Estos módulos residen en la carpeta /usr/lib/asterisk/modules/ (32 bits) /usr/lib64/asterisk/modules/ (64 bits).  Son archivos con extensión .so  Es posible controlar estos módulos desde el archivo modules.conf, en la carpeta /etc/asterisk.  Este archivo controla cuáles módulos se cargan o no (load, noload). Además puede controlar el orden en que se cargan con la opción ”preload”.  Por defecto en elastix se cargan todos los módulos que están en /usr/lib/asterisk/modules/ a no ser que sea especificado en el archivo modules.conf que no lo haga  Ejemplos en el archivo modules.conf: noload => chan_modem.so : Hace que no se carge el módulo. load => format_ogg_vorbis.so : Hace que se carge el módulo. preload => res_config_mysql.so : Hace que se carge primero ese módulo Directorio Descripción /etc/asterisk archivos de configuración de Asterisk /usr/lib/asterisk/modules/ módulos de Asterisk /usr/sbin/ incluye el Binario de Asterisk /var/log/asterisk/ logs de Asterisk /var/lib/asterisk/agi-bin/ AGI scripts /var/lib/asterisk/mohmp3 archivos d audio para Music On Hold /var/lib/asterisk/sounds Incluye sonidos que Asterisk utiliza como prompts de voz /var/spool/asterisk/ archivos generados por Asterisk durante su operación normal (tales como grabaciones y voicemails) /var/run/ archivos PID /var/log/asterisk/ Aquí residen los archivos de log de Asterisk como los CDRs o el /var/log/asterisk/full 58
  • 60. Capítulo 9 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados   DAHDI  Dahdi es, básicamente, un conjunto de drivers para controlar hardware telefónico, principalmente tarjetas.  Estas tarjetas son como cualquier otra tarjeta de expansión de una computadora pueden usar bahías PCI, puertos USB, etc.  Dahdi tiene su propio archivo de configuración /etc/dahdi/system.conf Historia del proyecto Zaptel  En el año 2000 Jim Dixon lanzó el proyecto Zaptel bajo licencia GPL.  El nombre es una abreviación de Zapata Telephony Project. Lo nombró así en honor a Emiliano Zapata, héroe de la revolución mexicana.  Inicialmente Zaptel contenía drivers para tarjetas Tormenta fabricadas por Zapata Telecom.  Digium comenzó a mejorar los drivers y extender el soporte para nuevos modelos de hardware, entre ellos los que el mismo Digium fabricaba.  Pronto Digium se convirtió en el principal desarrollador de Zaptel. Comunicación Asterisk con DAHDI  Asterisk interactúa con dahdi mediante el modulo chan_dahdi.so, mismo que se controla a través del archivo chan_dahdi.conf.  En este archivo se mapean los puertos fisicos hacia canales tipo DAHDI, estos canales son usados por asterisk. 59
  • 61. Capítulo 9 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados   Archivos de configuración  Los archivos se encuentran en /etc/asterisk Plan de marcado (dialplan)  El plan de marcado se configura en el archivo extensions.conf, existen otros archivos que contienen porciones del plan de marcado: o extensions_additional.conf: el plan de marcado variable escrito por FreePBX, los cambios realizados manualmente se pierden cunado FreePBX sobreescribe este archivo. o extensions_custom.conf: el plan de marcado definido por el usuario, no se pierden los cambios que se realizan manualmente.  Todos los archivos son de texto plano en formato definido por Asterisk.  Se dividen en secciones llamadas contextos. Dialplan: Contextos  Agrupan la lógica del plan de marcado.  Pueden incluir otros contextos con la claúsula ”include”.  El plan de marcado se agrupa en contextos.  Se definen como agrupadores u organizadores del plan de marcado.  Deben tener un nombre único que va entre los símbolos [ ].  Existen dos contextos reservados [globals] y [general]. extensions.conf sip.conf iax.conf chan_dahdi.conf Reside el plan de marcado, los archivos adicionales empiezan con extensions_. Se definen los endpoints SIP. Se definen los endpoints IAX. Archivo de configuración para canales DAHDI, se troncalizan los canales. 60
  • 62. Capítulo 9 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados   Dialplan: Extensiones  Son líneas del plan de marcado.  Son instrucciones llamadas extensiones.  Tienen la siguiente sintaxis: o exten => nombre_extensión, prioridad, aplicación  Una línea del plan de marcado es una serie de lógica del plan de marcado.  Se puede crear la lógica necesaria para un marcado específico. Dialplan: Extensiones (Nombre_extensión)  Es un identificador númerico de la extensión.  Se lo puede asociar al número de teléfono.  Existe una extensión particular ”s”.  La extensión ”s” significa cualquier extensión.  Esta extensión ”s” se usa cuando el usuario que llama no ha presionado el número de extensión. Por ejemplo, cuando está en el IVR de bienvenida. Dialplan: Instrucciones (Prioridad)  Indica el orden de ejecución de una instrucción.  La primera prioridad debe ser siempre 1 porque Asterisk busca esta prioridad cuando lee un contexto para ejecutarlo.  Existe una prioridad especiales n.  La prioridad n indica que a la prioridad de la instrucción anterior se le debe sumar uno. Sirve para facilitar la estructura del plan de marcado. Dialplan: Instrucciones (Aplicaciones)  Las aplicaciones de un plan de marcado equivalen a las funciones de un lenguaje de programación.  Permiten realizar acciones programadas en el plan de marcado.  Las aplicaciones permiten realizar ejecuciones entre contextos.  Pueden recibir parámetros para su ejecución. 61
  • 63. Capítulo 9 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados   Dialplan: Variables  Las variables en el plan de marcado equivalen a las variables de un lenguaje de programación.  Son abstracciones que almacenan información de naturaleza variable.  Tiene la siguiente sintaxis: ${NNNN}  donde NNNN es el nombre de la variable.  Pueden ser de tres tipos:  Globales: Se definen en la sección [globals] del archivo extensions.conf o en globals_custom.conf dentro de cualquier Elastix, pueden ser referenciadas desde cualquier lugar del plan de marcado.  De canal: Pueden ser definidas usando el comando (o aplicación) ”Set”.  Predefinidas: Asterisk administra algunos nombres de variables con nombres predefinidos ${CALLERID(all)}, ${CALLERID(name)}, ${CALLERID(num)}, ${CHANNEL}, ${CONTEXT}, ${EPOCH}, ${EXTEN}, ${SIPUSERAGENT}, ${UNIQUEID},  Estas variables almacenan cierta información dependiendo del comportamiento de la llamada u otros factores. Aplicaciones  Answer o Sintaxis: Answer ([delay]) o Contesta un canal si éste está timbrando, recibe el parámetro delay que indica el tiempo en milisegundos antes de contestar.  Background o Sintaxis: Background(filename1[&filename2...][|opciones[|langoverride][|context]]) o Reproduce un listado de archivos mientras Asterisk continúa ejecutando el plan de marcado. o Aplicación usada para reproducir el mensaje de IVR.  Playback o Sintaxis: Playback(filename1[&filename2...][,options]) 62
  • 64. Capítulo 9 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados   o Reproduce archivos de audio, a diferencia de Background, no permite a Asterisk tener el control mientras no acabe de reproducir los archivos.  Hangup o Sintaxis: Hangup() o Cuelga el canal y retorna -1.  Goto o Sintaxis: Goto([[context|]extension|]priority) o Salta la ejecución del plan de marcado a un contexto, extensión o prioridad indicada. Si se pasa un solo parámetro se entiende que es una prioridad del mismo contexto.  Dial o Sintaxis: Dial(type/identifier, timeout, options, URL) o Marca un canal especificado y lo vincula con el canal corriente. Asterisk CLI  Es el nombre de la consola de Asterisk.  Línea de comandos para controlar Asterisk directamente.  Para ingresar a la consola se ejecuta el comando ”asterisk -r”  Cuando se obtiene un prompt CLI>, se pueden ejecutar comandos de Asterisk  Provee información en tiempo real de la actividad de Asterisk.  Permite controlar el grado de detalle de la información, para ello se usan los comandos: o Core set debug N o Core set verbose N  Mientras más alto sea el nivel de las variables debug N y verbose N más detallada será la información mostrada.  Estos comandos se deben utilizar para tareas de diagnóstico. 63
  • 65. Capítulo 10 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados   PLAN DE MARCADO AVANZADO Manipulación de Variables Sintaxis para eliminar dígitos  ${VAR:x:y} Donde VAR es una variable numérica, ”x” es el número de dígitos a eliminar al principio y ”y” es cuantos números tendrá la variable final  Ejemplo VAR=1234567890, x=3, y=4 – ${VAR:3:4} → 4567  ${VAR:x} Donde VAR es una variable numérica, ”x” es el número de dígitos a eliminar al principio  Ejemplo VAR=1234567890, x=3 – ${VAR:3} → 4567890 Concatenar variables  exten =>s,n,Set(VAR_CONCAT=${var1}${var2}${VAR3}) Expresiones  $[expresion]  ej. $[ ${VAR1} + ${VAR2} ] Sintaxis Condicional  expresión?destino1:destino2 Macros  Sirven para reutilizar códigos  Se definen como contextos anteponiendo el prefijo macro-  Ej. [macro-nombremacro]  Puede recibir parámetros cuando se llama al macro  El macro es llamado de la siguiente forma:  Macro(nombremacro,parametro1,parametro2,....)  Los parámetros son invocados como:  ${ARG1}, ${ARG2}, .... 64
  • 66. Capítulo 10 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados   Variables disponibles en Macros  A más de las definidas por el usuario ${ARGn} se pueden usar las siguientes variables AstDB  Pequeña base de datos accesible desde el plan de marcado  Agrupa información por familias.  Familias importantes: AMPUSER y DEVICE  Aplicaciones importantes: Plan de Marcado de FreePBX Reside principalmente en extensions.conf que incluye a:  extensions_additional.conf: Archivo generado por FreePBX que nunca se debe modificar pues todos los cambios serán sobre escritos cuando FreePBX recargue su configuración  extensions_custom.conf: archivo que se puede editar para crear nuestros contextos y que éstos no sean sobre escritos por FreePPX 65
  • 67. Capítulo 10 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados   Macros de Apoyo Contextos de Entrada  Son los contextos desde donde se reciben llamadas Conocimientos Útiles  Determinar si una variable esta vacía  ej. exten => s,1,GotoIf($[${LEN(${VARIABLE_TEST})} > 0]?destino)  Obtener la fecha actual  ej. exten => s,4,AGI(recordingcheck,${STRFTIME(${EPOCH},,%Y %m%d- %H%M%S)},${UNIQUEID})  Sobrescribir extensión.conf.- Para sobreescribir un contexto definido se puede utilizar el archivo: extensions_override_freepbx.conf 66
  • 68. Capítulo 11 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados   ASTERISK: AGI & AMI AGI (Asterisk Gateway Interface)  Es una manera de interactuar con Asterisk desde un programa de línea de comandos  Este programa puede ser escrito en cualquier lenguaje  El programa AGI es invocado desde el dialplan  La salida estándar debe tener cierto formato. Es lo que se llaman comandos AGI  Gracias a AGI podemos desarrollar funcionalidades extra en nuestro plan de marcado como: IVRs de consulta a base de datos, etc.  Los programas AGI residen en /var/lib/asterisk/agi-bin/  Elastix trae algunos scripts allí preinstalados Ejecución de scripts AGI  Los scripts AGI se comunican con Asterisk a través de STDIN, STDOUT y STDERR  Por tanto, los scripts AGI se deberían poder ejecutar desde la línea de comandos  Cuando son ejecutados a través de Asterisk los permisos son muy importantes.  Para invocar al script desde el dialplan podemos utilizar la función AGI()  Se le pueden enviar parámetros al script utilizando la sintaxis:  AGI(script.agi,par1,par2,...)  Adicionalmente Asterisk le envía al script ciertos parámetros por omisión, que veremos a continuación 67
  • 69. Capítulo 11 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados   Algunos parámetros enviados por omisión A continuación algunos de los más importantes:  agi_request – El nombre del archivo script  agi_channel – El canal que originó la llamada  agi_type – El tipo de canal. Por ej. SIP o DAHDI  agi_uniqueid – Un identificador único para la llamada  agi_callerid – El caller ID en caso de estar disponible  agi_context - Contexto  agi_extension - Extensión  agi_accountcode – Código de cuenta, en caso de estar disponible Algunos comandos AGI útiles  say digits: Sintetiza y reproduce números. Util para IVRs que recuperan data de la DB  hangup: Cuelga el canal (llamada) actual  stream file: Reproduce un archivo de audio  set context: Establece un contexto para continuar luego de la finalización del AGI  noop: Sólo muestra mensajes en el log  set variable: Establece una variable de canal Ejemplo AGI sencillo  Veamos lo sencillo que es usando un ejemplo escrito en PHP. Llamaremos al script simple.agi  Ahora pongámoslo accesible desde el dialplan cuando se marque el número 6789 68
  • 70. Capítulo 11 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados   AMI (Asterisk Management Interface)  Es otra manera de controlar Asterisk pero a través de la red IP. La comunicación es de tipo texto.  Se pueden desarrollar aplicaciones remotas  Un ejemplo es el módulo de call center de Elastix, otro ejemplo es el FOP  El puerto AMI por omisión es el 5038  No cualquier equipo puede interactuar con el puerto AMI. Previamente su IP tiene que ser habilitada en el archivo /etc/asterisk/manager.conf /etc/asterisk/manager.conf Probando desde telnet  Una manera sencilla de probar si nos podemos conectar al puerto AMI  En el siguiente ejemplo nos conectaremos desde el propio servidor. Lo primero que veremos es el mensaje de bienvenida: 69
  • 71. Capítulo 11 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados    Luego probaremos autenticándonos:  Si los datos estuvieron correctos recibiremos un mensaje de éxito  ¿Recuerdan cual es la contraseña de AMI? Tipos de paquetes AMI  En la comunicación por AMI se pueden identificar tres tipos de paquetes de información.  Acción: Un comando enviado por el cliente al servicio AMI para que sea procesado  Respuesta: La respuesta de Asterisk a la Acción requerida por la aplicación cliente  Evento: Se trata de información de un evento asincrónico ocurrido en Asterisk. Por ejemplo, ingresó una llamada telefónica  Para relacionar las respuestas con las acciones se puede incluir un ActionID en cada Acción. Asterisk devolverá este parámetro en la respuesta. Acciones AMI comunes  Login: Nos permite autenticarnos con AMI  Logoff: Termina la sesión  Events: Controla el flujo de eventos  Originate: Inicia una llamada telefónica  Redirect: Transfiere una llamada  Hangup: Cuelga una llamada  Getvar: Obtiene una determinada variable de canal 70
  • 72. Capítulo 12 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados   ELASTIX CONFIGURACIÓN AVANZADA Ruteo de Llamadas  Rutas Entrantes:  Esta opción permite configurar el destino de las llamadas que ingresan por una determinada troncal.  Cuando una llamada entra, Asterisk puede buscar “matchear” el DID ó el CallerID de la troncal. 71
  • 73. Capítulo 12 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados    Rutas Salientes:  Mediante las rutas salientes podemos indicar por qué troncal o troncales deben ser enviadas las llamadas. Troncales  Una troncal es el camino lógico que permite llevar una llamada a cualquier destino externo.  Alguno de los tipos de troncales son:  DAHDI  IAX2  SIP  Custom Troncal DAHDI  Parámetros a configurar en una troncal DAHDI: 72
  • 74. Capítulo 12 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados   Troncales de tipo IAX2 y SIP  Además de las configuraciones especificadas, se deben incluir configuraciones entrantes y salientes  Esta información generalmente es especificada por el proveedor de servicios de voz.  Las configuraciones pueden incluir username, password, codec, el host destino, etc.  Ejemplo de configuración de los detalles del Peer: Nota: Es posible que se requiera una cadena de registro que tiene la siguiente sintaxis: nombre_de_usuario:password@host Troncales Personalizadas  Estas troncales son creadas cuando se usan protocolos no estándares como h323,misdn, etc.  Se debe especificar un string de marcado. Por ejemplo: 73
  • 75. Capítulo 12 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados   Tarifación  La opción Rates/Tarifas (Reports → Billing → Rates) nos permite visualizar y configurar las tarifas que se usarán para la facturación de llamadas.  Crear Tarifa  Para agregar una nueva tarifa dar clic en el botón Crear Nueva Tarifa. Se mostrará un formulario en el que se ingresarán los siguientes campos:  Prefijo: Prefijo telefónico al cual se aplicará la tarifa.  Nombre: Nombre para la tarifa.  Tarifa: Valor de la tarifa por minuto.  Rate offset: Valor de interconexión.  Dígitos Ocultos: oculta los últimos "n" dígitos del número en el reporte.  Troncal: Troncal asignada para la tarifa. 74
  • 76. Capítulo 12 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados    Para tener disponible una troncal debemos habilitarla en Billing Setup (Reports → Billing → Billing Setup).  En este menú podemos configurar además la tarifa por defecto y el rate offset por defecto.  Visualizar, Editar y Eliminar  El enlace Ver nos llevará a una pantalla donde se mostrará los datos de la tarifa.  Podemos editar los valores de la tarifa haciendo clic en el botón “Editar”, o eliminarla haciendo clic en “Eliminar”  Reporte de Facturación  Este reporte (Reports → Billing → Billing report) nos permite ver todos los detalles de las llamadas y su respectivo costo y ruta aplicada.  Este reporte cambiará dependiendo de 3 valores de filtro:  Fecha Inicio: Fecha que queremos configurar como inicial para el reporte.  Fecha Fin: Fecha final para el reporte.  Campos de filtro adicional son: Tarifa aplicada, Duración, Rate value, Fuente, Destino, Canal destino, Account Code. 75
  • 77. Capítulo 12 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados    Distribución de Destinos  Esta opción (Reports → Billing → Destination distribution) nos permite ver una gráfico de distribución de llamadas salientes agrupadas por tarifa.  El gráfico cambiará dependiendo de los valores de filtro:  Fecha Inicio: Fecha que queremos iniciar la revisión de llamadas.  Fecha Fin: Fecha final para la revisión.  Criterios de distribución: Distribución por tiempo, distribución por número de llamadas, distribución por costo. Reportes: CDR  CDR es la abreviación para Registro de Detalle de Llamada (Reports → CDR Reports).  Este reporte nos permite ver un listado con el detalle de todas las llamadas. 76
  • 78. Capítulo 12 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados    Los reportes son exportables a CSV, XLS (para acceso lectura/escritura), o PDF (lectura-únicamente) formatos.  Este reporte cambiará dependiendo de los siguientes valores de filtro:  Fecha Inicio: Fecha que queremos iniciar la revisión de llamadas.  Fecha Fin: Fecha final para la revisión.  Grupo de timbrado: permite filtrar por grupo de ringado si existe.  Estado: Contestado, Ocupado, Fallido, No Contestado.  Campo de filtros adicionales: Fuente, Canal de Origen, Account code, Canal de Destino. Uso de canales  El reporte de uso de canales: “Channels Usage” report (Reports → Channels Usage) permite ver de manera gráfica el número de llamadas simultáneas por canal. 77
  • 79. Capítulo 12 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados   Configuración DISA  DISA permite que los usuarios puedan acceder telefónicamente a su servidor Elastix desde fuera y obtener un tono "interno" de marcado.  E.g. podría realizar llamadas internacionales, a teléfonos móviles, entre otros.  Nombre de DISA: El nombre referencial para este accedo DISA  PIN: La contraseña necesaria para acceder al soporte DISA.  Tiempo de espera para la respuesta: Máximo tiempo que la aplicación esperará al usuario por el PIN.  Tiempo de espera de marcado: Máximo tiempo entre dígitos.  Pedir confirmación: Pregunta por una confirmación antes del pedido de la contraseña.  Identificador de llamante: Todas las llamadas DISA usarán este Caller ID (opcional)  Contexto: Contexto que usará el DISA  Permitir colgar: Permite colgar la llamada presionando "**" para tener tono nuevamente. Condiciones de tiempo  El uso de condiciones de tiempo es una característica muy útil para modificar el comportamiento de la PBX dependiendo de la hora o del día de la semana.  EJEMPLOS: 78
  • 80. Capítulo 12 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados    La compañía X desea que por las noches se reproduzca un mensaje indicando el horario de atención e indicando que en casos de urgencias se podrían comunicar con un número alterno.  La compañía Z desea reproducir un IVR de bienvenida distinto al habitual durante los fines de semana ya que siempre lanza promociones durante estos días. 79
  • 81. Capítulo 13 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados   INTERCONEXIÓN CON ELASTIX REMOTOS A través de troncales SIP  Una de las ventajas de usar Elastix es que fácilmente podemos interconectar dos cajas Elastix de tal manera que se puedan unir las comunicaciones de dos lugares remotos.  Por ejemplo en un solo plan de marcado.  A continuación veremos como configurar la interconexión de dos Elastix mediante una troncal de tipo SIP.  Escenario:  En el escenario mostrado a continuación queremos interconectar la central A con la central B de tal forma que el teléfono A y el teléfono B se puedan comunicar únicamente marcando las extensiones de forma directa  Para implementar esto se requiere definir dos cosas:  La troncal  Las rutas salientes en cada Elastix  Definiendo la troncal  Definimos el nombre de la troncal, el cual en nuestro caso servirá de username para el proceso de registro.  A la troncal del servidor A la llamaremos elastixA y la troncal del servidor B la llamaremos elastixB.  Luego definimos los detalles del peer. 80
  • 82. Capítulo 13 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados    Ejemplo de configuración del peer:  Configuración que se repite en ambos servidores Elastix. Como se ve hemos definido como “secret” la palabra welcome.  Register String  Definimos el register string siguiendo el formato especificado anteriormente:  En este caso para la central Elastix A debería ser:    y para la central Elastix B debería ser:  Una vez establecida esta configuración en ambos servidores podemos verificar en si se encuentran registradas las troncales.  En el Asterisk CLI mediante el comando: sip show registry y deberíamos ver algo como esto:  El siguiente paso es definir los detalles del user, es decir en donde se quiere terminar la llamada.  En este caso queremos que sea accesible a la extensiones local, bastará con colocar el contexto primario. Esto indica que cuando la llamada entre por la troncal iniciará en el contexto aquí especificado.  La configuración es como sigue: 81
  • 83. Capítulo 13 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados    Definiendo la ruta saliente  Primero determinamos el nombre de la ruta salientes. En este caso le pondremos: HaciaElastixB.  Luego definimos el patrón de marcado, en este caso usaremos el siguiente patrón de marcado: 2|XXX (asumimos que para marcar al servidor B debemos marcar el prefijo 2).  En tercer lugar escogemos por qué troncal deberá enrutarse la llamada, en este caso escogemos por la troncal sip/elastixA Conexión con proveedores VoIP  Hoy en día ha tenido mucho auge los VSP (Voice Services Provider) ó proveedores de servicios de voz.  Estos proveen conexiones SIP o IAX principalmente, a su infraestructura para permitir conectar llamadas locales en una región.  En esta sección implementaremos una conexión SIP con un proveedor VSP que nos permitirá hacer llamadas dentro de Estados Unidos.  Escenario:  En el siguiente escenario queremos registrar una troncal de tipo SIP con un VSP que nos permita realizar llamadas a EEUU desde cualquier teléfono IP.  Para implementar esto se requiere definir dos cosas:  La troncal  Las rutas salientes en cada Elastix 82
  • 84. Capítulo 13 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados    Definiendo la troncal  Como vimos en la sección anterior se debe definir el nombre de la troncal en este caso la llamaremos: VP-SIP  Luego definimos las características del peer.  Esta información debe ser proporcionada por el VSP y generalmente es la misma para todos los usuarios a registrar, lo único que cambia es el usuario y el password.  En nuestro caso el VSP nos pide que configuremos la troncal de la siguiente forma:  Luego agregaremos la cadena de registro que en nuestro caso sería:  Primero determinamos el nombre de la ruta salientes. En este caso le pondremos: INTERNACIONAL  Luego definimos el patrón de marcado, en este caso usaremos el siguiente patrón de marcado: 00.  En tercer lugar escogemos por que troncal debe irse la llamada en este caso escogemos por la troncal SIP/VP-SIP  Una vez realizada la configuración podemos verificar en el Asterisk CLI si se la troncal se encuentra registrada.  Usamos el comando: sip show registry y deberíamos ver algo como esto: 83
  • 85. Capítulo 13 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados   Módulo VoIP Provider  Desde la versión 2.0 Elastix tiene un módulo con proveedores incluidos por defecto.  El módulo permite configurar cuentas VoIP de manera automática.  Si el proveedor no está enlistado usted puede escoger “Custom” como opción para mostrar el cuadro de “PEER Settings”.  La opción “Custom” es además una alternativa al proceso de crear una conexión con un proveedor SIP.  Usted puede seguir el procedimiento descrito en la sección anterior o crear una cuenta a través del módulo VoIP Provider.  Si usted tiene ya una cuenta con alguno de los proveedores incluidos, solo necesita ingresar la información y la cuenta se creará.  Usted puede revisar el registro en el Asterisk CLI 84
  • 86. Capítulo 13 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados    Posterior a esto revisamos la troncal en PBX → PBX Configuration → Troncales. Observaremos la cuenta como un SIP Trunk, en este ejemplo: N2P-DRB (sip).  Luego es necesario crear la ruta saliente para esta troncal y podemos empezar a usar el servicio. 85
  • 87. Capítulo 14 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados   CALIDAD DE VOZ Síntomas que afectan la calidad de voz  Son los problemas que el usuario percibe desde su perspectiva  Existen muchos, sin embargo los más comunes son:  Eco  Bajo volumen  Retardo  Distorsión de la voz  Comunicación entrecortada Síntomas: Eco  La señal de ida se refleja en la de vuelta  Fácil de identificar por un humano  Una causa común es un desbalance en el híbrido  También hay eco acústico. Ej. El producido por speaker  Algunas tarjetas permiten ajustar este desbalance. La utilería fxotune puede ser usada con este fin El famoso híbrido de 2 a 4 hilos fxotune  El comando fxotune viene en Elastix  Debe ejecutarse con Asterisk apagado 86
  • 88. Capítulo 14 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados    Simplemente se ejecuta “fxotune -i 5”  El número 5 sólo indica qué dígito se debe marcar para suspender el tono de marcado. En casi todo los casos es cualquier dígito  Guarda los resultados en /etc/fxotune.conf  Para que DAHDI se calibre en base a este archivo hay que ejecutar “fxotune -s” Síntomas: Bajo Nivel o Volumen  La señal eléctrica se atenúa  Usualmente conductores de mala calidad  Es posible amplificar la señal con el uso de los parámetros rxgain y txgain pero hay que tener cuidado pues esto podría generar eco  Estos parámetros se modifican a nivel de DAHDI en chan_dahdi.conf. Síntomas: Retardo  La voz se demora más de lo usual en llegar a destino  Si es menor a 200ms pasa desapercibido  Retardo de más de 500ms provoca que la conversación se traslape, lo cual es molesto para el interlocutor  Las redes de paquetes pueden introducir retardo si se sobrepasa su capacidad  Hay que tratar de solucionar a nivel de red Síntomas: Distorsión de la voz  Sonido “robotizado”  Los codecs que comprimen la voz ahorran ancho de banda pero eliminan información, esto provoca disminución de calidad de voz  Se puede cambiar de codec pero hay que tener en cuenta la disponibilidad de ancho de banda  Algunos codecs se comportan muy mal frente a problemas de red como pérdida de paquetes o retardos de red. 87
  • 89. Capítulo 14 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados   Síntomas: Comunicación entrecortada  Se pierde la voz por pequeños instantes de tiempo  Provoca que la conversación sea menos entendible y por lo tanto es molestoso  Usualmente se trata de problemas de red debido a equipos defectuosos, ruido eléctrico en el cableado o equipos saturados en su capacidad  Se puede mejorar en cierta medida con un jitterbuffer Parámetros en redes de paquetes relacionados con la calidad de voz  Hablamos de parámetros medibles aquí  A partir de estos podemos determinar cuantitativamente cómo se verá afectada la calidad de voz por la red de paquetes  Para simplificar las cosas resumiremos todo con tres parámetros de fácil medición:  Retardo de red  Pérdida de paquetes  Jitter Parámetros: Retardo de red  No estamos hablando de retardo de voz sino de paquetes de red  El retardo se mide en milisegundos  Aunque no es lo ideal se puede medir fácilmente con un ping Parámetros: Pérdida de paquetes  Porcentaje de paquetes que no llegaron a su destino  Si un paquete llega demasiado tarde ya no se espera por él  La pérdida de paquetes no es deseable en ningún porcentaje. Incluso un 1% puede afectar significativamente la calidad de voz  También se puede medir (aproximadamente) con un ping 88
  • 90. Capítulo 14 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados   Parámetros: Jitter  Es la variabilidad del retardo  También se mide en milisegundos  No basta con tener un promedio de retardo aceptable si la variabilidad (jitter) es muy alta  En aplicaciones de tiempo real como la voz si la información no llega justo a tiempo no se puede esperar por ella  Para esperar paquetes con pequeños retardos se utiliza un jitterbuffer. Este feature ya viene disponible en Asterisk 1.4 Jitterbuffer  Es un buffer donde se encolan paquetes por un tiempo determinado en espera de que lleguen todos o la mayor parte posible  El tamaño del jitterbuffer es el tiempo que de espera y está en milisegundos. Un valor usual es de 200ms  En el sip.conf (o equivalente) el parámetro se llama jbenable=yes  En el iax.conf (o equivalente) el parámetro se llama jitterbuffer=yes Cuando el teléfono incide en la calidad de voz  Sin duda hay electrónica mejor que otra. Algunos chips procesan mejor la voz, especialmente cuando se trata de codecs de alta compresión  Algunos chips también añaden tecnología inteligente para mejorar la calidad de voz  La calidad del micrófono y audífono también incide 89
  • 91. Capítulo 14 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados    Lamentablemente, a mayor calidad, mayor precio  Los softphones no están libres de problemas y dependen del computador. Cualquier problema de desempeño podría afectar la calidad de voz ¿Cómo medir la calidad de voz?  Algo muy difícil pues tiene un componente subjetivo  La mente humana es muy complicada  Hay muchos modelos que intentan medir la calidad de voz. Dos que han cobrado relevancia son MOS y el modelo E. Los estudiaremos brevemente en este curso  La escala MOS es más subjetiva y el modelo E es más objetivo Escala MOS  Es una recomendación ITU basada en la toma de muestras subjetivas a participantes  Se les pide a algunas personas que califiquen la calidad de voz del 1 al 5  Previamente se les hace escuchar algunas conversaciones y se les muestra la calificación para que tengan un marco referencial  Las frases que se hacen escuchar a los participantes se encuentran pre-definidas también 90
  • 92. Capítulo 14 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados   Modelo E  También es una recomendación ITU  Se trata de un modelo más objetivo y matemático, no “necesariamente” mejor que MOS  Se calcula en base a algunos parámetros medibles y tiene una escala distinta a MOS (incluyendo valores negativos)  En este curso utilizaremos una fórmula simplificada que depende básicamente del retardo de red y la pérdida de paquetes  La fórmula es: R = 94,2 – Id – Ie  Donde, R representa la calidad de voz Id representa cómo afecta el retardo a la calidad Ie representa cómo afecta la pérdida de paquetes  Notar que el parámetro Id representa el retardo ¡pero no es el retardo en sí!  También es interesante notar que el valor máximo que puede tomar R es de 94,2  Para obtener Id: Id = 0.024 · d + 0.11 · (d – 177.3) · H(d – 177.3)  Donde d es el retardo en milisegundos y H( ) es la función de Heavyside H(x) = 0 para x < 0 y 1 para x ≥ 0  Para obtener Ie utilizaremos un gráfico que simplificará las cosas  Vemos que Ie depende del codec, así que ahora es más obvio que algunos codecs se ven más afectados por la pérdida de paquetes que otros. 91
  • 93. Capítulo 14 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados   Traduciendo R a la escala MOS  Es muy útil ya que MOS es más conocido y sencillo de relacionar con calidad  La fórmula es la siguiente: Cancelador de eco  Existen versiones hardware y software  En la actualidad ya casi no existe diferencias entre el desempeño de ambas ya que la capacidad computacional ha crecido mucho  El objetivo es calcular en tiempo real qué porcentaje de la señal de ida se refleja en la de regreso. Si puede predecir con exactitud sólo queda restar ese porcentaje y obtendremos una señal sin eco  Esta predicción la realiza un componente llamado filtro adaptativo  En la realidad el eco no sólo es una señal atenuada sino que también puede estar desplazada en el tiempo (con retardo)  El filtro adaptativo tiene entonces que predecir no sólo el porcentaje de señal reflejada sino también el retardo  Por lo tanto, analiza la señal por un lapso de tiempo llamado “cola” (o tail) y que está en el orden de milisegundos  Valores típicos de cola son 64ms o 128ms 92
  • 94. Capítulo 14 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados   Estándar G.168  Especificación propuesta por la ITU para definir parámetros de funcionamiento de canceladores de eco  Existen canceladores de eco compatibles con G.168 y existen otros que no  Hay empresas en el mundo que se encargan de certificar si un cancelador de eco es o no compatible con G.168.  Por lo general esta certificación la sacan los canceladores de eco comerciales como Softecho de Octasic Oslec  Elastix incorpora un interesante software de cancelación de eco, open source, conocido como OSLEC.  Este cancelador de eco es parte de DAHDI y puede ser configurado, de manera independiente por cada canal, de manera fácil desde la interfaz Web de Elastix.  La siguiente imagen muestra la configuración de una tarjeta de telefonía analógica. En ella se selecciona el software para la cancelación de eco.  OSLEC está seleccionado por defecto.  Para configurar el cancelador de eco en una tarjeta instalada ir a System → Hardware Detector → Configuración de Span. 93
  • 95. Capítulo 15 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados   PROTOCOLOS VoIP AL DESCUBIERTO Protocolo SIP  El protocolo SIP (Session Initialization Protocol) es un protocolo de señalización (application-layer control)  Creado para administrar sesiones multimedia entre dos o más partes.  Muchos se confunden pensando en que el protocolo SIP es el que transporta la voz propiamente dicha pero no es así  Esta labor la realiza otro protocolo que veremos más adelante; de lo que sí se encarga SIP es de la comunicación necesaria para establecer una llamada, modificarla, así como para finalizarla.  Detalles del protocolo  RTP es el portador de la voz y el video.  SDP se usa para negociar las capacidades de los endpoints.  Usa dos importantes protocolos como RTP/RTCP y SDP.  La última versión del estándar es la RFC3261.  Basado en texto, lo que nos permite entender los mensajes de una manera relativamente fácil. 94
  • 96. Capítulo 15 Elastix Certified Technician PaloSanto Solutions 2012 – © Todos los derechos reservados   Señalización SIP: Métodos y Respuestas 95