Elastix lab ece-book-esp

162

Transcript of Elastix lab ece-book-esp

Page 1: Elastix  lab ece-book-esp
Page 2: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-1  

   

Instalación de Elastix Laboratorio 1.1 Descripción: En este laboratorio prepararemos una máquina virtual en el software VM VirtualBox para la instalación de Elastix. Objetivo: Instalación de maquina virtual Tiempo Máximo: 15 minutos. Instrucciones: Ejecutar VM VirtualBox. Hacemos clic en “New / Nueva” para crear una máquina virtual.

Veremos la pantalla de bienvenida de VirtualBox para configurar una nueva máquina virtual. Hacemos clic en “Next/Siguiente”.

1

Page 3: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-1  

   

Colocaremos como nombre a la máquina virtual ELASTIX-ECTE. Seleccione Linux como sistema operativo y Red Hat como versión. Hacemos clic en “Next/Siguiente”.

Seleccione el valor de memoria RAM, para este caso 512 MB. Hacemos clic en “Next/Siguiente”.

2

Page 4: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-1  

   

Virtual Hard Disk: crearemos un nuevo disco duro virtual. Hacemos clic en “Next/Siguiente”.

Virtual Disk Creation Wizard: Dejaremos la opción por defecto para crear una VDI (Imagen de disco de VirtualBox. Hacemos clic en “Next/Siguiente”.

3

Page 5: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-1  

   

Virtual Disk Storage details: Configuramos el tipo a Fixed Size/Tamaño fijo. Hacemos clic en “Next/Siguiente”.

Localidad y tamaño de disco virtual: Dejaremos la localidad por defecto y configuraremos el tamaño máximo del disco a 8 GB. Hacemos clic en “Next/Siguiente”.

4

Page 6: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-1  

   

Revisamos el sumario de los parámetros del disco virtual que estamos creando para nuestra máquina virtual y hacemos clic en el botón Create/Crear para iniciar el proceso de creación del nuevo disco virtual.

Después de que este proceso ha concluido procederemos a crear la máquina virtual haciendo clic en el botón Create/Crear para iniciar el proceso.

5

Page 7: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-1  

   

Antes de iniciar el proceso de instalar Elastix, es importante revisar la configuración de red.

Para este efecto debemos ir a: Setting → Network (Configuración → Red) Seleccionamos Bridged Adapter (Adaptador Puente)

6

Page 8: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-1  

   

Después de esto verificamos el dispositivo de red que se encuentre conectado en la red del curso y lo seleccionamos.

Nota: En el caso de este ejemplo el dispositivo activo es en0: Ethernet – En el caso del alumno podría referirse a un dispositivo WiFi u otro. Ahora estamos listos para iniciar el proceso de instalación. Haga clic en “Start/Iniciar” para encender la nueva máquina virtual.

7

Page 9: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-1  

   

El primer Wizard aparecerá. Haga clic en "Next/Siguiente" para seleccionar el medio de boot para la máquina virtual.

Select Installation Media: Navegue por los archivos de su computadora para localizar y seleccionar el archivo ISO Elastix 2.2. Después de hacer clic en “Next/Siguiente” usted verá un sumario de la información de booteo para la máquina virtual.

8

Page 10: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-1  

   

Una vez que usted haga clic en “Start/Iniciar” VirtualBox cargará el archivo ISO y observaremos el inicio del proceso de instalación de Elastix. Continúe en el siguiente laboratorio (1.2).

9

Page 11: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-1  

   

Instalación de Elastix Laboratorio 1.2 Descripción En este laboratorio instalaremos Elastix en una máquina virtual. Nota: En una instalación real para producción el proceso de instalación formateará todo el disco duro. Objetivo: Conocer el proceso de instalación de Elastix Tiempo Máximo: 30 minutos. Instrucciones:

Ejecutamos la máquina virtual con la ISO seleccionada tal como se realizó en el laboratorio anterior. La pantalla de instalación de Elastix aparecerá, presionamos ENTER para iniciar el proceso.

Nota: Durante este proceso no podremos utilizar el ratón, por lo cual debemos usarlas teclas Tab, Barra Espaciadora y ↑↓→←.

10

Page 12: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-1  

   

En la pantalla siguiente escogemos el lenguaje para el proceso de instalación. → Aceptar

Escogemos el formato del teclado. → Aceptar

Nota: para teclado en inglés que requiera ser utilizado en español, es útil seleccionar la opción “us-acentos”, como se muestra en la imagen.

11

Page 13: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-1  

   

Seleccionamos el tipo de particionamiento. En este caso usted verá únicamente la partición de la máquina virtual. Seleccionamos la primera opción y avanzamos. → Aceptar

Confirmamos que vamos a borrar la partición (Si).

12

Page 14: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-1  

   

Revisar y Modificar el particionamiento (No)

Seleccione (Si) para configurar la interfaz de red

13

Page 15: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-1  

   

Seleccione “Activar al inicio” y “Activar soporte Ipv4”. → Aceptar

Seleccione “Configuración de IP dinámica (DHCP). → Aceptar

14

Page 16: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-1  

   

Ingrese el hostname (este puede ser asignado de manera automática vía DHCP). → Aceptar

   Seleccione  la  zona  horaria  apropiada.    → Aceptar      

         

15

Page 17: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-1  

   

Ahora   ingrese   la   contraseña   del   usuario   root   (usuario   Linux)   que   se   utilizará   cuando   el   sistema   esté  instalado.  Es  muy  importante  que  no  olvide  esta  contraseña,  por  lo  tanto  escríbala  y  memorícela.    → Aceptar    

Listo. Hemos ingresado toda la información necesaria por ahora. Puede ponerse cómodo y esperar.

16

Page 18: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-1  

   

En un determinado momento de la instalación, el sistema nos pedirá que ingresemos la contraseña para el usuario root de MySQL. Es   importante   también   que   no   olvide   esta   contraseña,   por   lo   tanto   escríbala   y  memorícela.    → Aceptar

Reingrese  la  contraseña  del  usuario  root  MySQL      

17

Page 19: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-1  

   

El proceso pedirá que ingrese una contraseña para el usuario admin de la Interfaz Web de Elastix. Es  importante  también  que  no  olvide  esta  contraseña,  por  lo  tanto  escríbala  y  memorícela.    Esta  contraseña  es  la  misma  para  otros   componentes   como:   FreePBX,  Vtiger   y  A2Billing.   Es   importante  que  esta   contraseña  sea  os  suficientemente  fuerte  para  evitar  problemas  de  intrusión  a  posterior.  → Aceptar

Reingrese la contraseña del usuario admin de la Interfaz Web de Elastix. → Aceptar Una vez que el sistema se haya instalado podemos administrarlo desde la consola de Elastix. Ingresamos (login) como usuario root. pbx login: root Password: XXXXXXXXX

18

Page 20: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-1  

   

En la consola podemos observar la IP que el servidor central o la red asigno a Elastix vía DHCP. En este ejemplo es la IP 192.168.5.217. Abramos un browser e ingresemos la IP con el siguiente formato: https://192.168.5.217 (en su caso debe colocar la IP que tiene usted en su consola) Es muy posible que su browser arroje un error de seguridad relacionado con los certificados emitidos por el servidor Elastix. Continuamos de todos modos y aceptamos el certificado.

Inmediatamente accederemos al login de la interfaz Web de Elastix. Hacemos login con el usuario "admin" y la contraseña que colocamos durante el proceso de instalación de Elastix.

 

19

Page 21: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-2

 

Linux para administradores Elastix Laboratorio 2.1 Descripción: En este laboratorio aprenderemos algunos comandos y operaciones de Linux para obtener las bases de como trabajar en nuestro sistema operativo a bajo nivel. Objetivo: Familiarizarse con la interfaz de comando de Linux. Tiempo máximo: 30 minutos. Nota: Máquinas con sistema operativo Linux tienen capacidad nativa para ingresar a la consola de comandos de Elastix. Usuarios Windows pueden acceder a la línea de comandos a través la máquina virtual instalada en el laboratorio 1, sin embargo es mejor usar un cliente SSH. Si usted es un usuario de Windows recomendamos que descargue PuTTY: http://www.putty.org/ Una vez que usted ha descargado el programa usted puede ingresar al servidor Elastix con su dirección IP:

Coloque la dirección IP de su Elastix en “Host Name (or IP address)”. Después de esto haga clic en “open”. Debemos ingresar como usuario “root”. Use la contraseña que colocó durante la instalación de Elastix.

20

Page 22: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-2

 

Una vez que ha ingresado, usted esta listo para trabajar en la consola de su Elastix.

Instrucciones: Este laboratorio debe ser ejecutado en una consola de línea de comandos de Linux. Comandos básicos del día a día del manejo de Elastix serán mencionados. Usted tiene que ingresar en la consola todo el texto que vea en azul para cada ejemplo. Cuando sea posible, una imagen será mostrada para permitirle comparar los resultados. Enlistado de archivos y directorios - ls: comando de lista Enliste los contenidos del directorio actual   ls

Enliste los contenidos del directorio con información adicional   ls -l

Enliste los contenidos del directorio /etc con información adicional   ls -l /etc

21

Page 23: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-2

 

Enliste los contenidos del directorio /etc y muestre los archivos y directorios que contengan la palabra

“asterisk” ls -l /etc/ | grep asterisk

Use el comando pwd para ver en que directorio se encuentra actualmente.   pwd

Creando archivos y directorios Cree el directorio /tmp/test   mkdir /tmp/test

Ingrese al directorio /tmp/test   cd /tmp/test Desde el directorio /tmp/test vaya al directorio /tmp en forma absoluta y relativa.   cd ..

22

Page 24: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-2

 

En el directorio tmp/test cree un archivo llamado: test.txt. Usted puede hacerlo de dos maneras:

1. Desde el directorio actual (tmp) touch test/test.txt

2. Ingresando al directorio test y creando el archivo cd test luego touch test.txt Usted puede revisar si el archivo está enlistado en el directorio ls

- Edición de archivos:

Edite y salve el archivo test.txt con la aplicación de edición: vim. vim test.txt Una vez que está en vim, presione la tecla “INSERT” (la tecla “i” es también una alternativa) para

habilitar el modo de edición, luego escriba su nombre.

Para grabar y salir presione la tecla “ESC” y escriba: :wq. si usted quiere continuar trabajando en el

archivo y grabarlo sin salir solo escriba: :w

Vea el contenido de test.txt (Ingrese en el directorio donde se encuentra test.txt primero, si usted

no se encuentra ahí) cat test.txt

23

Page 25: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-2

 

Revise la ayuda para varios comandos man ls

Para regresar a la línea de consola solo presione q Pruebe ahora con man yum o man scp Cree y maneje usuarios En este punto debería estar en el directorio “tmp”, vaya al directorio root (/) con cd .. Cree los usuarios elx1 y elx2 adduser elx1 passwd elx1

adduser elx2 passwd elx2

Ingrese con el usuario elx1 Use el comando login

24

Page 26: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-2

 

Nota: Este comando culmina la sesión actual e inicia una nueva. Si usted está en un cliente SSH, su ventana probablemente se cierre. Inicie nuevamente el cliente e ingrese con otro usuario. - chmod: comando change mode, permite cambiar los permisos en un archivo o directorio

Cree el directorio /home/elx1/private que solo pueda ser leído por el usuario elx1 mkdir /home/elx1/private Haga que el directorio “private” solo pueda ser leído por el usuario elx1 chmod 700 /home/elx1/private

Revise el dueño del directorio /home/elx1/private y sus permisos: ls -l /home/elx1

Ingrese como usuario elx2 e intente ingresar al directorio /home/elx1/private (usted no debería

poder ingresar).         cd /home/elx1/private

Copiar y mover archivos - cp: comando usado para copiar un archivo; mv: comando usado para mover un archivo

Ingrese como usuario root nuevamente. Copie el archivo test.txt en el mismo directorio y cambie su nombre a test2.txt Para llevar a cabo esta acción, es necesario indicar la locación actual del archivo. Si la nueva locación

es la misma, es necesario cambiar el nombre del archivo, caso contrario Linux le preguntará si lo quiere sobrescribir.

En este ejemplo vamos a colocar el archivo en el mismo directorio, sin embargo usted puede copiar el

archivo y colocarlo en cualquier locación con el mismo comando. Después de que usted copie el archivo ejecute ls –l para enlistar todos los archivos disponibles en el

directorio.

25

Page 27: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-2

 

cp /tmp/test/test.txt /tmp/test/test2.txt ls –l /tmp/test

Nota: Este ejercicio es importante para hacer copias de respaldo, usted encontrará esto útil cuando

configure su hardware de telefonía en Elastix así como para otros casos. Mueva un archivo a otra locación. Cree el directorio /tmp/test2. Una vez que lo haya creado mueva

el archivo “test2.txt” desde el directorio /tmp/test a /tmp/test2. Después que mueva el archivo, ejecute la – l para enlistar los archivos disponibles en el directorio /tmp/test2

mkdir /tmp/test2 mv /tmp/test/test2.txt /tmp/test2/test2.txt ls –l /tmp/test2

El comando move permite cambiar el nombre del archivo en el proceso, usted únicamente necesita

escribir el Nuevo nombre en la nueva locación. Intente mover el archivo “test.txt” localizado en /tmp/test a /tmp/test2 y cambie su nombre a

“test3.txt” mv /tmp/test/test.txt /tmp/test2/test3.txt

Remueva el archivo “test3.txt” de su locación actual y ejecute ls para confirmar que se ha borrado. rm /tmp/test2/test3.txt ls –l /tmp/test2

26

Page 28: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-2

 

Copia de un archivo desde una locación remota usando un ssh port tunnel. Este proceso permite que usted envíe un archivo de una locación a otra, básicamente de un servidor a

otro. En el siguiente ejemplo enviamos el archivo install.log, desde la dirección IP 192.168.1.65 a la dirección IP 192.168.1.66. Es necesario tener el password del usuario root del servidor que recibirá el archivo.

scp install.log [email protected]:/opt

Envíe el archivo /tmp/test2/test2.txt desde su servidor al directorio /tmp/test de otro

estudiante. Recuerde preguntar por el password del usuario root. scp /tmp/test2/test2.txt root@IP_address:/tmp/test Nota: Este proceso tiene la misma lógica del proceso de copiar y mover archivos, por lo cual si quiere

cambiar el nombre del archivo (e.g. test4.txt), entonces la línea correcta debería ser: scp /tmp/test2/test2.txt root@IP_address:/tmp/test/test4.txt Instalación de Paquetes Ingrese como usuario root. Instale y desinstale el paquete “screen” Instalación: yum install screen Se pedirá que confirme algunas acciones, como descargar paquetes, solo coloque yes (y) y presione enter.

27

Page 29: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-2

 

Desinstalación: yum remove screen Usted deberá confirmar esta acción, únicamente coloque yes (y)y presione enter.

Descargue e instale un paquete rpm wget http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rkhunter-1.2.9-

1.el5.rf.noarch.rpm Texto del link: http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rkhunter-1.2.9-1.el5.rf.noarch.rpm

28

Page 30: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-2

 

Una vez que complete la descarga procedemos a instalar el paquete: rkhunter-1.2.9-1.el5.rf.noarch.rpm

rpm -ivh rkhunter-1.2.9-1.el5.rf.noarch.rpm

Desinstale un paquete rpm rpm -e rkhunter rpm -q rkhunter

Configuraciones de Red Hay varias maneras de configurar la dirección IP y la configuración de red en su servidor. Usaremos una funcionalidad gráfica para este curso. La configuración se puede hacer también en la interfaz de administración web de Elastix. Revisando la interfaz de red ifconfig –a

29

Page 31: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-2

 

En este ejemplo podemos observar que nuestra interfaz es eth0 y la dirección IP que tiene asignada.

Cambiando su dirección IP setup

Usted obtendrá la siguiente ventana Vaya a “Configuración de la red” y presione enter – (use las flechas)

Para configurar su dirección IP vaya a “Edit Devices” y presione enter.

30

Page 32: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-2

 

Seleccionamos el dispositivo correcto y presionamos enter. eth0 (eth0) - (Esto puede variar dependiendo de su hardware).

Coloque la configuración de acuerdo a su red, para esto deseleccione “Utilizar DHCP” (use la barra espaciadora). Presione Ok cuando haya concluido.

Vamos un nivel hacia arriba y configuramos para la configuración de DNS

31

Page 33: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-2

 

Aquí podemos configurar el Hostname (Nombre del equipo) y los DNS’s. Presione Ok cuando haya concluido.

Una vez que hemos finalizado, presionamos “Guardar y Cerrar”

Si modificamos cualquier parámetro es necesario que reiniciemos el servicio de red para aplicar los cambios. service network restart

32

Page 34: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-3  

   

Configuración básica de Elastix Laboratorio 3.1 Descripción: En este laboratorio realizaremos la configuración básica de nuestra central, se configurará la red con una IP estática, se crearán dos extensiones SIP, una extensión IAX. Objetivo: Familiarizarse con la configuración básica de Elastix Tiempo Máximo: 10 minutos. Instrucciones: Durante la instalación de Elastix se configuró el equipo con una IP dinámica asignada por DHCP. Es recomendable asignar una IP estática ya que muchos dispositivos estarán intentando registrarse

en esa dirección y no queremos que existan cambios imprevistos. Ir a: Sistema → Network → (Ethernet 0, Ethernet 1, … Ethernet n)

Cambie su dirección IP a estática y asigne una dirección IP. Una vez que haya completado la tarea hacer clic en “Aplicar Cambios” Es muy probable que debamos cambiar la configuración de HOST, DNS y GATEWAY. Para hacer

esto ir a:

Sistema → Networks → Editar parámetros de red

Una vez modificado los parámetros necesarios guardamos los cambios.

33

Page 35: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-3  

   

Ahora crearemos una extensión SIP, ir a: PBX → PBX Configuration → Extensiones

Seleccione “Generic SIP Device” y haga clic en “Submit” Crearemos la extensión 200 con el nombre “John Doe” y la contraseña “secret123”. Una buena

práctica recomendada es no colocar contraseñas débiles en las extensiones. Para el caso de este y otros ejemplos lo haremos fácil por efectos didácticos.

Una vez ingresada la configuración hacemos clic en “Submit”

Crear una extensión SIP con la extensión 202

Nota: Cada vez que creemos una extensión, una cola, un cuarto de conferencia o realicemos una configuración en el menú “PBX Configuration”, necesitaremos aplicar los cambios. Se muestra un ejemplo en la siguiente imagen:

34

Page 36: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-3  

   

Extensión IAX Ahora crearemos una extensión IAX2, ir a: PBX → PBX Configuration → Extensiones

Seleccione “Generic IAX2 Device” y haga clic en “Submit” Crearemos la extensión 201 con su nombre y la contraseña “secret123”.

Una vez ingresada la configuración hacemos clic en “Submit” y aplicamos los cambios.

35

Page 37: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-3  

   

Configuración básica de Elastix Laboratorio 3.2 Descripción: En este laboratorio configuraremos dos softphones para probar las configuraciones hechas en nuestro Elastix. Objetivo: Familiarizarse con la configuración de endpoints en Elastix Tiempo Máximo: 10 minutos. Instrucciones: Una vez que hemos creado las extensiones 200 (SIP), 201 (IAX2) y 202 (SIP), debemos configurarlas

en los dispositivos que nos permitirán usarlas para llamadas y pruebas durante este curso. Configuraremos la extensión 200 en el teléfono IP asignado. Configuraremos la extensión 201 en un softphone. Para este ejercicio utilizaremos ZOIPER que es un

softphone libre disponible para Windows, Linux y Mac. Este softphone soporta el protocolo IAX2, requerido para esa extensión.

La configuración es similar a otros softphones o teléfonos IP. Para más información visite

(http://www.zoiper.com/). La primera vez que ejecutemos ZOIPER nos aparecerá una pantalla similar a la siguiente.

Para seguir con la configuración pulsamos el botón de opciones.

36

Page 38: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-3  

   

El siguiente paso es crear la extensión, para hacemos clic en “Add New IAX Account”, colocamos un nombre referencia y hacemos clic en OK.

Luego agregamos la dirección IP del servidor Elastix (esta es la dirección donde el softphone se

registrará) que se está usando, el número de la extensión (201), la contraseña (secret123), el Caller ID Name (201) y Caller ID Number (201). Luego hacemos clic en OK.

Para finalizar la configuración de la extensión en el softphone, la registramos.

Una vez que la extensión está registrada, podemos marcar 1234 para probarla. Si todo fue

configurado correctamente escucharemos a Allison Smith (La voz de Asterisk) con un mensaje de felicitación.

37

Page 39: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-3  

   

También podemos realizar una prueba de eco marcando *43, asegúrese de tener un micrófono conectado.

 

Extensión 202 Ahora configuraremos la extensión 202 en otro softphone. Usaremos X-Lite la versión gratuita de Bria

(http://www.counterpath.com/x-lite.html) Iniciamos x-lite, hacemos clic en “Softphone” y seleccionamos “Account Settings”.

38

Page 40: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-3  

   

Colocamos un nombre de referencia en “Account Name”. En User ID colocamos el número de la extensión (202), en Domain colocamos la dirección IP del servidor Elastix.

En password colocaremos la contraseña colocada en secret (secret123), en Display name 202, y en

Authorization name 202. Al finalizar colocaremos Ok.

A diferencia de Zoiper, x-lite se registra automáticamente, por lo cual si todo es correcto podemos

iniciar las llamadas inmediatamente. Al igual que hicimos con la extensión 201, podemos marcar 1234 para probar la extensión. También

podemos realizar una prueba de eco marcando *43, asegúrese de tener un micrófono conectado.

39

Page 41: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-3  

   

Configuración básica de Elastix Laboratorio 3.3 Descripción: En este laboratorio realizaremos configuraciones en las extensiones creadas, como habilitar el voicemail y crear un grupo para jalar una llamada desde una extensión. Objetivo: Familiarizarse con la configuración básica de Elastix Tiempo Máximo: 10 minutos. Instrucciones: Colocaremos la extensión 200 y 202 en el mismo grupo y pickupgroup, de tal manera que cuando una

de las dos reciba llamadas la otra extensión pueda hacer un call pickup. Para configurar la extensión 200 debemos ir a PBX → PBX Configuration → Extensiones → 200 Una vez en la pantalla de configuración de la extensión vamos a la sección “Device Options”. Aquí

configuraremos el grupo, el pickupgroup y además estableceremos el códec g.711 por defecto para esta extensión.

En los campos: callgroup y pickupgroup colocamos 2, ese es el grupo al que pertenecerá esta

extensión. En disallow, colocamos all, lo cual implica que no está habilitado ningún códec. Inmediatamente

colocamos ulaw en el campo allow, con lo cual establecemos que el códec sea únicamente g.711 en la versión ulaw.

40

Page 42: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-3  

   

En algunos teléfonos, como los Yealink, es necesario cambiar la configuración del campo mailbox, para que sea extension@default. En este caso, cambiaremos 200@device por 200@default si el teléfono es Yealink. Esto garantiza que cuando la extensión reciba un voicemail, el teléfono lo indique en el botón colocado para ese fin.

En la misma pantalla de configuración habilitaremos el voicemail. Esta configuración se realiza en la

sección “Voicemail & Directory”.

Para habilitar el voicemail en la extensión 200, seleccionaremos “Enabled” en Status. La contraseña

elegida para este ejemplo es: 1234. Tenemos la opción de colocar un Email, para que cada vez que la extensión reciba un voicemal

Elastix nos avise al correo. Es posible además permitir que nos llegue el audio como attachment, en este ejemplo no lo activaremos.

Una vez que hemos culminado la configuración hacemos clic en Submit y aplicamos los cambios. Realizaremos la misma configuración en la extensión 202, con la excepción de la configuración del

códec y del campo mailbox ubicados en la sección “Device Options”. Una vez que hemos configurado la extensión 202, realizaremos una llamada a esta extensión desde

la extensión 201. En cuanto escuchemos el ringado, marcaremos *8 desde la extensión 200. Si las configuraciones fueron correctas (es decir que la extensión 200 y 202 estén en el mismo group y pickupgroup) habremos jalado una llamada.

41

Page 43: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-3  

   

Configuración básica de Elastix Laboratorio 3.4 Descripción: En este laboratorio se harán configuraciones adicionales a Elastix, salas de conferencias y colas. Es importante para este laboratorio tener 3 o más extensiones configuradas para realizar la prueba. Objetivo: Familiarizarse con la configuración básica de Elastix Tiempo Máximo: 10 minutos. Instrucciones: Crearemos una cola de atención que timbrará a las extensiones 201 y 202 cuando marquemos 5000. Una vez que hayamos creado las extensiones requeridas ir a: PBX → PBX Configuration → Colas     Añadimos  la  extensión  201  y  la  extensión  202  a  la  cola.    

  Elegimos como estrategia de ringado la política “linear”.

42

Page 44: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-3  

   

Hacemos clic en “Submit Changes” y aplicamos los cambios. Una vez que las extensiones estén listas marcamos 5000 desde la extensión 200. Las extensiones 201 y 202 sonarán de acuerdo a la estrategia de ringado seleccionada para la cola.

Podemos probar otras estrategias yendo a: PBX → PBX Configuration → Colas→ la_cola_creada → Ring Strategy La estrategia “sonar todos / ringall” es muy útil cuando en nuestro ambiente no tenemos muchas

extensiones o si estamos configurando una central para nuestro hogar. Cuartos de conferencia Crearemos una sala de conferencia con el número 3000. Las personas que llamen a este número

podrán conversar al mismo tiempo y mantener una reunión. Ir a: PBX → PBX Configuration → Conferencias

43

Page 45: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-3  

   

Haga clic en “enviar cambios” Ahora intente llamar a esta conferencia desde las extensiones creadas anteriormente.                            

44

Page 46: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-3  

   

Configuración básica de Elastix Laboratorio 3.5 Descripción: En este laboratorio haremos grabaciones que se podrán usar para un correo de voz, un IVR o para otro propósito. Objetivo: Familiarizarse con la funcionalidad de grabación de audio Tiempo Máximo: 20 minutos. Instrucciones:   Ir a PBX → PBX Configuration → Grabaciones del Sistema Usted observará la siguiente pantalla:

Grabaremos un audio desde una extensión existente. Para este ejemplo use la extensión 200

(teléfono IP). Si usted usa un softphone para este proceso asegúrese de tener un micrófono conectado y funcionando.

Coloque la extensión y presione Ir. Desde la extensión 200 marque *77, usted escuchará un beep, después de esto grabe su mensaje y

marque #.

45

Page 47: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-3  

   

Acto seguido escuchará la voz de Asterisk indicándole opciones para escuchar el mensaje o para re

grabarlo de nuevo. Si usted está satisfecho con el resultado simplemente cuelgue. Después nombraremos a la grabación como "testaudiolab" y guardamos.

Una vez que ha guardado la grabación usted puede entrar al archivo y escribir una descripción (solo

haga clic en "testaudiolab"). Usted puede también enlazar el audio con un "Código de característica" que será asignado por

Elastix. Para asignar un código, haga clic en el link del audio que acaba de grabar. Este se encuentra en la

columna derecha. Marcamos la opción “Enlace a código de característica”. En este ejemplo el servidor ha asignado el

Código de característica *293, si usted marca *293 desde una extensión escuchará el audio.

Después de completar la configuración haga clic en Guardar y aplique los cambios.

46

Page 48: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-3  

   

Para este curso vamos a necesitar varias grabaciones. El listado es el siguiente: 1. Script del Audio: Hoy es día laborable Nombre de la grabación: workingday 2. Script del Audio: Hoy no es un día laborable Nombre de la grabación: notworkingday 3. Script del Audio: Bienvenido, marque la opción 1 para ventas o la opción 2 para soporte Nombre de la grabación: testivr 4. Script del Audio: Bienvenido, marque 1 para ventas, marque 2 para soporte, marque 3 para desarrollo Nombre de la grabación: welcomeivr 5. Script del Audio: Ingrese 4 dígitos Nombre de la grabación: enter4digits 6. Script del Audio: Ingrese un número de 4 dígitos Nombre de la grabación: enternumber 7. Script del Audio: Ingrese el primer número Nombre de la grabación: enternumber1 8. Script del Audio: Ingrese el segundo número Nombre de la grabación: enternumber2 9. Script del Audio: Ingrese la operación matemática Nombre de la grabación: enteroperation 10. Script del Audio: La respuesta es Nombre de la grabación: answeris 11. Script del Audio: Ingrese la identificación Nombre de la grabación: enterid 12. Script del Audio: La identificación es correcta Nombre de la grabación: correctid 13. Script del Audio: El número ingresado es incorrecto Nombre de la grabación: incorrectid 14. Script del Audio: Bienvenido a Elastix World Nombre de la grabación: elastixworld 15. Script del Audio: Bienvenido a Elastix Comunicación Unificada de Código abierto. Nombre de la grabación: ivr1 16. Script del Audio: Para comunicarse con ventas presione 1 Nombre de la grabación: ivr2 17. Script del Audio: Para comunicarse con soporte presione 2 Nombre de la grabación: ivr3

47

Page 49: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-3  

   

18. Script de la grabación: Gracias por llamar a Elastix Nombre de la grabación: ivr4 Estos audios serán utilizados en el capítulo de Asterisk, Plan de marcado avanzado y AGI – AMI. Nota: es importante que los nombres de las grabaciones estén correctos.

48

Page 50: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-3  

   

Configuración básica de Elastix Laboratorio 3.6 (Práctica Recomendada) Descripción: En este laboratorio configuraremos un IVR. Objetivo: Familiarizarse con la configuración de un IVR. Tiempo Máximo: 15 minutos. Instrucciones: Un IVR se puede crear de dos formas, con un archivo de audio único o con varios archivo de audio. En el primer caso se crea únicamente un IVR con las opciones requeridas. En el segundo caso es

necesario crear varios IVRs y enlazarlos de acuerdo al requerimiento de atención. Vamos a crear un IVR de múltiples audios. El objetivo es que un cliente llame, escuche el audio de

bienvenida, después la opción 1 para ventas, la opción 2 para soporte y la despedida. La opción 1 debe ir a la extensión 201, la opción 2 debe ir a la extensión 202 y la opción por defecto

cuando se cumpla el timeout ira a la cola 5000. Esta cola fue creada anteriormente por lo cual sonarán las extensiones 201 y 202 con la estrategia de ringado escogida.

Un método efectivo es comenzar por el último IVR, es decir la despedida. Para crear un IVR debemos ir a PBX → PBX Configuration → IVR Hacemos clic en “Añadir IVR”

Colocamos test4 a este IVR. En anuncio seleccionamos el audio “ivr4” y en la opción de tiempo de

espera colocaremos 5.

49

Page 51: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-3  

   

En las opciones colocaremos 1 que debe ir a la extensión 201, 2 que debe ir a la extensión 202, la opción “t” (timeout) que debe ir a la cola 5000.

Una vez configurado hacemos clic en guardar y aplicamos los cambios. Creamos un nuevo IVR, este se llamará test3, es decir el penúltimo IVR.

Colocamos 0 en tiempo de espera y en anuncio seleccionamos el audio “ivr3” En las opciones colocaremos 1 que debe ir a la extensión 201, 2 que debe ir a la extensión 202, la

opción “t” (timeout) debe ir al IVR test4. Una vez configurado hacemos clic en guardar y aplicamos los cambios. Creamos un nuevo IVR, este se llamará test2, seguimos el orden cronológico inverso.

50

Page 52: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-3  

   

Colocamos 0 en tiempo de espera y en anuncio seleccionamos el audio “ivr2” En las opciones colocaremos 1 que debe ir a la extensión 201, 2 que debe ir a la extensión 202, la

opción “t” (timeout) debe ir al IVR test3. Una vez configurado hacemos clic en guardar y aplicamos los cambios. Ahora crearemos el IVR principal, al cual llamaremos test1.

Colocamos 0 en tiempo de espera y en anuncio seleccionamos el audio “ivr1” En las opciones colocaremos 1 que debe ir a la extensión 201, 2 que debe ir a la extensión 202, la

opción “t” (timeout) debe ir al IVR test2. Una vez configurado hacemos clic en guardar y aplicamos los cambios. Para probar nuestro IVR crearemos una aplicación especial, para este efecto debemos ir a: PBX  →  PBX  

Configuration  →  otras  aplicaciones     Una  vez  ahí  colocaremos  la  extensión  5001  con  destino  hacia  el  IVR  test1.      

51

Page 53: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-3  

   

Hacemos clic en “Enviar cambios” y aplicamos cambios. Una vez hecho esto, marcaremos 5001 desde la extensión 200. Probemos todas las opciones del IVR llamando en varias ocasiones.

52

Page 54: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-4  

   

Configuración de Hardware

Laboratorio 4.1 Descripción: Se configurará una tarjeta análoga a través de la interfaz web de Elastix. Objetivo: Configurar Hardware con Elastix Tiempo Máximo: 15 minutos Instrucciones Nota: El primer paso en la instalación y configuración de una tarjeta de telefonía se debe realizar físicamente en el servidor. Este proceso tiene que ser realizado por un técnico con conocimiento de manipulación de hardware. Si usted decide instalar la tarjeta por recuerde desconectar el equipo de la fuente de poder y procure no tocar ningún componente del servidor. Para este ejemplo usaremos tarjeta análoga Sangoma A200 - 2FXO - 2FXS

Elastix permite detectar y configurar un número extenso de hardware de telefonía para Asterisk. Para hacerlo rápido y fácil tenemos que ir a:

Sistema → Hardware Detector

Primero debemos hacer clic en Avanzado, opciones adicionales aparecerán.

53

Page 55: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-4  

   

Es recomendable seleccionar la opción Reemplazar el archivo chan_dahdi-conf cada vez que instalemos una tarjeta. Para este ejemplo es necesario además seleccionar la opción Detección de hardware sangoma, después de esto hacemos clic en "Detectar Nuevo Hardware"

La tarjeta está instalada con la configuración por defecto.

54

Page 56: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-4  

   

Elastix asigna por defecto el software de cancelación de eco OSLEC en la tarjeta. Usted puede cambiar esta configuración si desea otra alternativa o si la tarjeta tiene cancelación de eco por hardware. Únicamente haga clic en Configuración de Span.

Como podemos ver en la imagen, todos los puertos tiene asignado OSLEC por defecto. Si la tarjeta tiene cancelación de eco por hardware la opción a escoger debería ser "none".

Extensión FXS

Los puertos FXS aparecen en verde todo el tiempo aunque no estén en servicio, recuerde que este puerto genera voltaje. Estos puertos son útiles para conectar teléfonos convencionales o faxes.

Crearemos una extensión para un teléfono convencional usando el número de puerto 3 de la tarjeta que acabamos de instalar.

Para hacer esto ir a:

PBX → PBX Configuration → Extensiones

Una vez ahí seleccionaremos Generic DAHDI Device y haremos clic en Submit.

55

Page 57: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-4  

   

Crearemos la extensión 301, con la descripción fxs-1.

En Device Options debemos colocar el número del puerto en channel. Esta información fue obtenida del módulo de detección de hardware.

Una vez que ingresamos la información requerida hacemos clic en submit y aplicamos los cambios.

Ahora usted puede conectar un teléfono convencional o un fax y recibirán llamadas en la extensión 301.

56

Page 58: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-4  

   

Configuración de Hardware

Laboratorio 4.2 Descripción: Se configurará una tarjeta digital a través de la interfaz web de Elastix. Objetivo: Configurar Hardware con Elastix Tiempo Máximo: 15 minutos Instrucciones:

Para este ejemplo utilizaremos una tarjeta Sangoma A101 Digital 1E1

Debemos realizar el mismo proceso que usamos para detectar la tarjeta análoga. Hacer clic en:

Advanced

Replace file chan_dahdi.conf

Detect Sangoma hardware

Luego detecte la tarjeta

Como podemos ver, el proceso de detección instaló la tarjeta como digital con 24 canales (T1).

57

Page 59: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-4  

   

La detección asignó además a OSLEC como cancelación de eco para cada canal, podemos cambiar esto en Configuración de Span.

Si la tarjeta tiene cancelación de eco por hardware la opción que debemos escoger es "none".

Para configurar la tarjeta como E1, hacemos clic en Parámetro de Span. Una vez ahí debemos seleccionar la opción "E1: 31 canales, Europa" en el campo: Tipo de medio para RSDI PRI.

Ahora observaremos que 32 puertos habilitados.

58

Page 60: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-4  

   

Si necesitamos cambiar la configuración de los parámetros: timing, LBO, framing, coding, debemos hacer clic en Parámetros de Span.

Notas Importantes acerca de la configuración de hardware

El reemplazo de chan_dahdi.conf permite al sistema detectar la tarjeta de manera permanente.

Esta acción sobrescribe los siguientes archivos: /etc/asterisk/chan_dahdi.conf, /etc/dahdi/system.conf and /asterisk/dahdi-channels.conf.

Si usted tiene una tarjeta instalada, y personalizó la configuración, es recomendable que haga un backup de la copia de estos archivos para que pueda incluir configuraciones previas en los nuevos archivos.

Usted puede realizar configuraciones a bajo nivel, sin embargo si la operación no requiere configuraciones especiales usted está listo para operar con el procedimiento de instalación y configuración por interfaz.

59

Page 61: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-5  

   

Asterisk Laboratorio 5.1 Descripción: Crear su propio archivo de plan de marcado. Objetivo: Entender el funcionamiento de un plan de marcado, familiarizarse con los archivos de configuración y practicar la sintaxis de la gramática de un plan de marcado. Tiempo Máximo: 5 minutos. Instrucciones: Ingrese a la consola de su servidor Elastix como usuario root Vaya a /etc/asterisk/ Edite el archivo /etc/asterisk/extensions_custom.conf vim extensions_custom.conf Incluya la siguiente línea al final del archivo, donde XXXXX es su primer nombre. #include extensions_custom_XXXXX.conf

Grabar y Salir (Esc → :wq) Crear el archivo /etc/asterisk/extensions_custom_XXXXX.conf

Grabar y Salir (Esc → :wq)   Cambiar los permisos y propietario al archivo /etc/asterisk/extensions_custom_XXXXX.conf

Recargar asterisk: [root@elastix asterisk]# asterisk -rx “reload”

[root@elastix asterisk]# vim extensions_custom_XXXXX.conf

[root@elastix asterisk]# chmod 644 extensions_custom_XXXXX.conf [root@elastix asterisk]# chown asterisk:asterisk extensions_custom_XXXXX.conf EXTENS  

60

Page 62: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-5  

   

Asterisk Laboratorio 5.2 Descripción: Crear un plan de marcado para llamar a las extensiones 201 y 202. Objetivo: Entender el funcionamiento de un plan de marcado, familiarizarse con los archivos de configuración y practicar la sintaxis de la gramática de un plan de marcado. Tiempo Máximo: 10 minutos. Instrucciones: Editar el archivo /etc/asterisk/extensions_custom_XXXXX.conf. vim extensions_custom_XXXXX.conf Agregar las siguientes líneas al archivo extensions_custom_XXXXX.conf  

    Grabar y Salir (Esc → :wq) Incluir el contexto [custom-lab5-2] dentro del contexto [from-internal-custom] ubicado en el archivo

/etc/asterisk/extensions_custom.conf vim extensions_custom.conf Sintaxis: include => custom-lab5-2 Recargar asterisk: [root@elastix asterisk]# asterisk -rx “reload” Pruebe el contexto marcando 501 y 502 desde la extensión 200; las extensiones 201 y 202 deberían sonar.

[custom-lab5-2]

exten => 501,1,Dial(IAX2/201) exten => 502,1,Dial(SIP/202)

61

Page 63: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-5  

   

Asterisk Laboratorio 5.3 Descripción: Crear un contexto que implemente la grabación de un audio usando como extensión el número 5678 y las funciones Record y Playback. Objetivo: Familiarizarse con la creación de contextos y las funciones Record y Playback. Tiempo Máximo: 10 minutos. Instrucciones: Edite el archivo /etc/asterisk/extensions_custom_XXXXX.conf adicionando las siguientes líneas

    Grabar y Salir (Esc → :wq) Incluir el contexto [custom-lab5-3] dentro del contexto [from-internal-custom] ubicado en el archivo

/etc/asterisk/extensions_custom.conf vim extensions_custom.conf Sintaxis: include => custom-lab5-3 Recargar asterisk: [root@elastix asterisk]# asterisk -rx “reload”   Pruebe el contexto llamando de cualquier extensión. Marque 5678 y grabe el siguiente mensaje: "Bienvenido al curso de certificación Elastix" Si hizo el contexto correctamente debería escuchar una reproducción del audio grabado.                

[custom-lab5-3]

exten => 5678,1,Wait(2) exten => 5678,2,Record(custom/welcomecourse:gsm,0) exten => 5678,3,Wait(2) exten => 5678,4,Playback(custom/welcomecourse) exten => 5678,5,Wait(2) exten => 5678,6,Hangup

62

Page 64: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-5  

   

Asterisk  

Laboratorio 5.4 Capítulo: Asterisk Descripción: Crear un contexto que implemente un mini IVR de 2 opciones en donde cada opción dirija la llamada a una extensión. Para implementar esto usaremos la aplicación Background(). Objetivo: Familiarizarse con la creación de contextos y las aplicaciones Background(), WaitExten() y Dial(). Tiempo Máximo: 10 minutos. Instrucciones: Edite el archivo /etc/asterisk/extensions_custom_XXXXX.conf adicionando las siguientes líneas.  

    Grabar y Salir (Esc → :wq) Incluir el contexto [custom-lab5-4] dentro del contexto [from-internal-custom] ubicado en el archivo

/etc/asterisk/extensions_custom.conf vim extensions_custom.conf Sintaxis: include => custom-lab5-4 Recargar asterisk: [root@elastix asterisk]# asterisk -rx “reload”   Pruebe el contexto marcando 3998 desde la extensión 200, después del IVR marque las opciones

indicadas. Intente hacer esta prueba en dos ocasiones marcando ambas opciones.                      

[custom-lab5-4]

exten => 3998,1,Background(custom/testivr) exten => 3998,n,WaitExten(,)

exten => 1,1,Dial(SIP/201) exten => 2,1,Dial(SIP/202)

63

Page 65: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-5  

   

Asterisk Laboratorio 5.5 Descripción: Crear un contexto que implemente un IVR de 3 opciones en donde la primera opción sea marcar a una extensión, la segunda opción reproducir un audio y la tercera opción marcar a dos extensiones simultáneamente. Objetivo: Familiarizarse con la creación de contextos y las funciones Background, WaitExten. Tiempo Máximo: 15 minutos. Instrucciones: Edite el archivo /etc/asterisk/extensions_custom_XXXXX.conf adicionando las siguientes líneas

Grabar y Salir (Esc → :wq) Incluir el contexto [custom-lab5-5] dentro del contexto [from-internal-custom] ubicado en el archivo

/etc/asterisk/extensions_custom.conf vim extensions_custom.conf Sintaxis: include => custom-lab5-5 Recargar asterisk: [root@elastix asterisk]# asterisk -rx “reload”   Pruebe el contexto marcando 3999 desde la extensión 200.

[custom-lab5-5] exten => 3999,1,Answer exten => 3999,n,Wait(1) exten => 3999,n,Set(TIMEOUT(digit)=3) exten => 3999,n,Set(TIMEOUT(response)=10) exten => 3999,n,Background(custom/welcomeivr) exten => 3999,n,WaitExten(,) exten => hang,1,Playback(vm-goodbye) exten => hang,n,Hangup exten => 1,1,Dial(SIP/201) exten => 1,n,Hangup() exten => 2,1,Playback(custom/workingday) exten => 2,n,Hangup() exten => 3,1,Dial(SIP/201&SIP/202) exten => 3,n,Hangup() exten => i,1,Playback(invalid) exten => i,n,Hangup() exten => t,1,Hangup()

64

Page 66: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-5  

   

Asterisk Laboratorio 5.6 Descripción: Crear el contexto del laboratorio anterior pero usando las aplicación Goto(). Objetivo: Familiarizarse con la creación de contextos y la aplicación Goto(). Tiempo Máximo: 15 minutos. Instrucciones: Edite el archivo /etc/asterisk/extensions_custom_XXXXX.conf adicionando las siguientes líneas

Grabar y Salir (Esc → :wq) Incluir el contexto [custom-lab5-6] dentro del contexto [from-internal-custom] ubicado en el archivo

/etc/asterisk/extensions_custom.conf vim extensions_custom.conf Sintaxis: include => custom-lab5-6 Recargar asterisk: [root@elastix asterisk]# asterisk -rx “reload”   Pruebe el contexto marcando 4000 desde la extensión 200.

[custom-lab5-6] exten => 4000,1,Answer exten => 4000,n,Wait(1) exten => 4000,n,Set(TIMEOUT(digit)=3) exten => 4000,n,Set(TIMEOUT(response)=10) exten => 4000,n,Background(custom/welcomeivr) exten => 4000,n,WaitExten(,) exten => hang,1,Playback(vm-goodbye) exten => hang,n,Hangup exten => 1,1,Goto(ext-201,s,1) exten => 2,1,Goto(play-audio,s,1) exten => 3,1,Goto(double-ext,s,1) exten => i,1,Playback(invalid) exten => i,n,Hangup() exten => t,1,Hangup() [ext-201] exten => s,1,Dial(SIP/201) exten => s,n,Hangup() [play-audio] exten => s,1,Playback(custom/workingday) exten => s,n,Hangup() [double-ext] exten => s,1,Dial(SIP/201&SIP/202) exten => s,n,Hangup()

65

Page 67: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-5  

   

Asterisk

Laboratorio 5.7 Descripción: Crear un contexto que solicite una autenticación antes de marcar una extensión usando la aplicación Authenticate(). Objetivo: Familiarizarse con la creación de contextos y la aplicación Authenticate(). Tiempo Máximo: 10 minutos. Instrucciones: Edite el archivo /etc/asterisk/extensions_custom_XXXXX.conf adicionando las siguientes líneas      

Grabar y Salir (Esc → :wq) Incluir el contexto [custom-lab5-7] dentro del contexto [from-internal-custom] ubicado en el archivo

/etc/asterisk/extensions_custom.conf vim extensions_custom.conf Sintaxis: include => custom-lab5-7 Recargar asterisk: [root@elastix asterisk]# asterisk -rx “reload”   Pruebe el contexto marcando 4001 desde la extensión 200.

[custom-lab5-7] exten => 4001,1,Answer exten => 4001,n,Wait(1) exten => 4001,n,Authenticate(1234) exten => 4001,n,Dial(SIP/201) exten => 4001,n,Hangup()

66

Page 68: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-5  

   

Asterisk

Laboratorio 5.8 (Practica recomendada) Descripción: Crear un contexto que requiera autenticación antes de dar tono de marcado por medio de la aplicación DISA. Objetivo: Familiarizarse con la creación de contextos y la aplicación DISA(). Tiempo Máximo: 10 minutos. Instrucciones: Edite el archivo /etc/asterisk/extensions_custom_XXXXX.conf adicionando las siguientes líneas    

Grabar y Salir (Esc → :wq) Incluir el contexto [custom-lab5-8] dentro del contexto [from-internal-custom] ubicado en el archivo

/etc/asterisk/extensions_custom.conf vim extensions_custom.conf Sintaxis: include => custom-lab5-8 Recargar asterisk: [root@elastix asterisk]# asterisk -rx “reload”   Pruebe el contexto marcando 4002 desde la extensión 200.

[custom-lab5-8] exten => 4002,1,Answer exten => 4002,n,Wait(1) exten => 4002,n,Authenticate(1234) exten => 4002,n,DISA(no-password,from-internal) exten => 4002,n,Hangup()

67

Page 69: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-5  

   

Asterisk

Laboratorio 5.9 Descripción: Crear un contexto que solicite una extensión y luego reproduzca la extensión ingresada usando la aplicación SayDigits(). Objetivo: Familiarizarse con la creación de contextos y la aplicación SayDigits(). Tiempo Máximo: 10 minutos. Instrucciones: Edite el archivo /etc/asterisk/extensions_custom_XXXXX.conf adicionando las siguientes líneas    

Grabar y Salir (Esc → :wq) Incluir el contexto [custom-lab5-9] dentro del contexto [from-internal-custom] ubicado en el archivo

/etc/asterisk/extensions_custom.conf vim extensions_custom.conf Sintaxis: include => custom-lab5-9 Recargar asterisk: [root@elastix asterisk]# asterisk -rx “reload”   Pruebe el contexto marcando 4003 desde la extensión 200, una vez que escuche la grabación

ingrese un número entre 2000 y 2999.

[custom-lab5-9] exten => 4003,1,Answer exten => 4003,n,Background(custom/enter4digits) exten => 4003,n,WaitExten(,) exten => _2XXX,1,SayDigits(${EXTEN}) exten => _2XXX,n,Hangup()

68

Page 70: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-5  

   

Asterisk

Laboratorio 5.10 Descripción: Crear un contexto que solicite un número y luego reproduzca el número ingresado usando la aplicación SayNumber(). Objetivo: Familiarizarse con la creación de contextos y la aplicación SayNumber(). Tiempo Máximo: 15 minutos. Instrucciones: Edite el archivo /etc/asterisk/extensions_custom_XXXXX.conf adicionando las siguientes líneas    

Grabar y Salir (Esc → :wq) Incluir el contexto [custom-lab5-10] dentro del contexto [from-internal-custom] ubicado en el archivo

/etc/asterisk/extensions_custom.conf vim extensions_custom.conf Sintaxis: include => custom-lab5-10 Recargar asterisk: [root@elastix asterisk]# asterisk -rx “reload”   Pruebe el contexto marcando 4004 desde la extensión 200. Al escuchar la grabación ingrese un

número de 4 dígitos, el sistema dirá el número completo. Nota: No digite 1234, es un número reservado de Asterisk. Una vez que hemos hecho la prueba, ingresar al archivo

/etc/asterisk/extensions_custom.conf vim extensions_custom.conf Una vez ahí, deshabilitaremos el contexto [custom-lab5-9] y [custom-lab5-10] anteponiendo un “;” ;include => custom-lab5-9 ;include => custom-lab5-10

[custom-lab5-10] exten => 4004,1,Answer exten => 4004,n,Background(custom/enternumber) exten => 4004,n,WaitExten(,) exten => _X.,n,SayNumber(${EXTEN}) exten => _X.,n,Hangup()

69

Page 71: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-5  

   

Grabar y Salir (Esc → :wq) Recargar asterisk: [root@elastix asterisk]# asterisk -rx “reload” Esta es la manera adecuada de deshabilitar un contexto que no queremos que se siga ejecutando en

el futuro.

70

Page 72: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-5  

   

Asterisk

Laboratorio 5.11 (Práctica recomendada) Descripción: Crear un contexto que solicite una extensión y luego deletree su nombre usando la aplicación SayAlpha(). Objetivo: Familiarizarse con la creación de contextos y la aplicación SayAlpha(). Tiempo Máximo: 10 minutos. Instrucciones: Edite el archivo /etc/asterisk/extensions_custom_XXXXX.conf adicionando las siguientes líneas    

Nota: Reemplace SU_NOMBRE por su primer nombre Grabar y Salir (Esc → :wq) Incluir el contexto [custom-lab5-11] dentro del contexto [from-internal-custom] ubicado en el archivo

/etc/asterisk/extensions_custom.conf vim extensions_custom.conf Sintaxis: include => custom-lab5-11 Recargar asterisk: [root@elastix asterisk]# asterisk -rx “reload”  Pruebe el contexto marcando 4005 desde la extensión 200.

[custom-lab5-11] exten => 4005,1,Answer exten => 4005,n,SayAlpha(SU_NOMBRE) exten => 4005,n,Hangup()

71

Page 73: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-5  

   

Asterisk

Laboratorio 5.12 (Práctica recomendada) Descripción: Crear un contexto que solicite una extensión a espiar y luego intervenga una conversación actual usando la aplicación ChanSpy(). Objetivo: Familiarizarse con la creación de contextos y la aplicación ChanSpy(). Tiempo Máximo: 10 minutos. Instrucciones: Edite el archivo /etc/asterisk/extensions_custom_XXXXX.conf adicionando las siguientes líneas.

Grabar y Salir (Esc → :wq) Incluir el contexto [custom-lab5-12] dentro del contexto [from-internal-custom] ubicado en el archivo

/etc/asterisk/extensions_custom.conf vim extensions_custom.conf Sintaxis: include => custom-lab5-12 Recargar asterisk: [root@elastix asterisk]# asterisk -rx “reload”  Pruebe el contexto marcando 4006 desde la extensión 200

[custom-lab5-12] exten => 4006,1,Read(port,conf-getchannel,4) exten => 4006,n,ChanSpy(SIP/${port}) exten => 4006,n,Hangup

72

Page 74: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-5  

   

Asterisk

Laboratorio 5.13 (Práctica recomendada) Descripción: Realizar una llamada desde la consola de Asterisk usando el módulo chan_oss.so y el comando dial. Objetivo: Familiarizarse con la consola de Asterisk y usar el módulo chan_oss.so como herramienta de testeo. Tiempo Máximo: 10 minutos. Instrucciones: Ingresar al Asterisk CLI

Cargar el módulo chan_oss.so con el siguiente comando: module load chan_oss.so

Marcar a una extensión desde la consola:

Transferir la llamada a otra extensión:

 

[root@elastix opt]# asterisk -r

elastix*CLI> module load chan_oss.so == Parsing '/etc/asterisk/oss.conf': Found == Registered channel type 'Console' (OSS Console Channel Driver) Loaded chan_oss.so => (OSS Console Channel Driver)

elastix*CLI> console dial 200

elastix*CLI> console transfer 201@from-internal

73

Page 75: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-6  

   

Plan de Marcado Avanzado

Laboratorio 6.1

Descripción: Crear un contexto que verifique la fecha y hora del día y reproduzca para días laborables y no laborables.

Objetivo: Familiarizarse con el condicional GotoIfTime().

Tiempo Máximo: 15 minutos.

Instrucciones:

Editar el archivo /etc/asterisk/extensions_custom.conf y agregar el siguiente contexto al final del

archivo.

Agregar el siguiente contexto al final del archivo.

Grabar y Salir (Esc → :wq) Incluir el contexto [custom-lab6-1] dentro del contexto [from-internal-custom] ubicado en el archivo

/etc/asterisk/extensions_custom.conf vim extensions_custom.conf Sintaxis: include => custom-lab6-1 Recargar asterisk: [root@elastix asterisk]# asterisk -rx “reload” Desde cualquier extensión marque 4007, usted escuchará el audio "workingday". Intente ahora cambiando la fecha del servidor. Cambie "mes" y "día" por la fecha del día de hoy y

coloque la 18:53:25, use el siguiente comando: [root@elastix ~]# date -s 'mes/día/2012 18:53:25'

[custom-lab6-1] exten => 4007,1,GotoIfTime(*,*,4,jul?open,s,1) exten => 4007,n,GotoIfTime(09:00-17:59|mon-fri|*|*?open,s,1) exten => 4007,n,GotoIfTime(09:00-11:59|sat|*|*?open,s,1) exten => 4007,n,Goto(closed,s,1) [open] exten => s,1,Wait(1) exten => s,n,Playback(custom/workingday) exten => s,n,Hangup() [closed] exten => s,1,Wait(1) exten => s,n,Playback(custom/notworkingday) exten => s,n,Hangup()

74

Page 76: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-6  

   

Plan de Marcado Avanzado

Laboratorio 6.2

Descripción: Crear un contexto que implemente una calculadora matemática básica.

Objetivo: Familiarizarse con los operadores matemáticos de una teléfono IP.

Tiempo Máximo: 15 minutos.

Instrucciones:

Editar el archivo /etc/asterisk/extensions_custom.conf y agregar el siguiente contexto al final del archivo.

Grabar y Salir (Esc → :wq) Incluir el contexto [custom-lab6-2] dentro del contexto [from-internal-custom] ubicado en el archivo

/etc/asterisk/extensions_custom.conf vim extensions_custom.conf Sintaxis: include => custom-lab6-2 Recargar asterisk: [root@elastix asterisk]# asterisk -rx “reload”

Realice una prueba marcando 4008. El plan de marcado le preguntará dos números y una operación

matemática. Los dígitos para la operación son: 1 Suma, 2 Resta, 3 Multiplicación, 4 División. Haga una prueba dividiendo 4 para 2.

[custom-lab6-2] exten => 4008,1,Answer() exten => 4008,n,Set(CHANNEL(language)=es) exten => 4008,n,Read(OPERA1,custom/enternumber1,3) exten => 4008,n,Read(OPERA2,custom/enternumber2,3) exten => 4008,n,background(custom/enteroperation) exten => 4008,n,WaitExten(,) exten => 1,1,Playback(custom/answeris) exten => 1,n,SayNumber($[${OPERA1}+${OPERA2}]) exten => 1,n,Hangup() exten => 2,1,Playback(custom/answeris) exten => 2,n,SayNumber($[${OPERA1}-${OPERA2}]) exten => 2,n,Hangup() exten => 3,1,Playback(custom/answeris) exten => 3,n,SayNumber($[${OPERA1}*${OPERA2}]) exten => 3,n,Hangup() exten => 4,1,Playback(custom/answeris) exten => 4,n,SayNumber($[${OPERA1}/${OPERA2}]) exten => 4,n,Hangup()

75

Page 77: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-6  

   

Plan de Marcado Avanzado

Laboratorio 6.3

Descripción: Cree un contexto que implemente un verificador de número de identidad (algoritmo de verificador de dígito).

Objetivo: Familiarizarse con los operadores matemáticos de una teléfono IP, la aplicación GotoIf y la aplicación condicional While - EndWhile.

Tiempo Máximo: 20 minutos.

Instrucciones:

Editar el archivo /etc/asterisk/extensions_custom.conf y agregar el siguiente contexto al final del

archivo.

Grabar y Salir (Esc → :wq) Incluir el contexto [custom-lab6-3] dentro del contexto [from-internal-custom] ubicado en el archivo

/etc/asterisk/extensions_custom.conf vim extensions_custom.conf

[custom-lab6-3] exten => 4009,1,Answer() exten => 4009,n,Set(CHANNEL(language)=es) exten => 4009,n,Set(TOT=0) exten => 4009,n,Read(CEDULA,custom/enterid,10) exten => 4009,n,Noop(${CEDULA}) exten => 4009,n,Set(VAR=0) exten => 4009,n,While($[${VAR} < 9]) exten => 4009,n,SET(DIG=${CEDULA:${VAR}:1}) exten => 4009,n,Set(RV=${MATH(${VAR} % 2,int)}) exten => 4009,n,NoOp(${RV}) exten => 4009,n,Gotoif($[${RV} = 0]?:impar) exten => 4009,n,SET(MULT=2) exten => 4009,n,Goto(salto1) exten => 4009,n(impar),SET(MULT=1) exten => 4009,n(salto1),Set(ACUM=${MATH(${DIG}*${MULT},int)}) exten => 4009,n,Gotoif($[${ACUM}<10]?:madiez) exten => 4009,n,SET(ACUM=${ACUM}) exten => 4009,n,Goto(salto2) exten => 4009,n(madiez),SET(ACUM=$[${ACUM}-9]) exten => 4009,n(salto2),SET(TOT=$[${TOT} + ${ACUM}]) exten => 4009,n,SET(VAR=$[${VAR} + 1]) exten => 4009,n,EndWhile exten => 4009,n,Set(RES=${MATH(${TOT} % 10,int)}) exten => 4009,n,GotoIf($[${RES}=0]?:restar) exten => 4009,n,SET(VER=0) exten => 4009,n,Goto(salto3) exten => 4009,n(restar),SET(VER=$[10-${RES}]) exten => 4009,n(salto3),Gotoif($[${CEDULA:9:1}=${VER}]?:error) exten => 4009,n,Playback(custom/correctid) exten => 4009,n,SayNumber(${VER}) exten => 4009,n,Hangup() exten => 4009,n(error),Playback(custom/incorrectid) exten => 4009,n,Hangup()

76

Page 78: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-6  

   

Sintaxis: include => custom-lab6-3 Recargar asterisk: [root@elastix asterisk]# asterisk -rx “reload” Hay países en que el número de identidad tiene 10 dígitos, el décimo dígito normalmente se obtiene

por medio de un algoritmo que usa los primeros 9 números. Este plan de marcado permite ingresar un número de identificación y verificar su autenticidad.

Realice la prueba marcando 4009 y determine cual de los siguientes números es un ID correcto: 0907540888 1710034065 1790085783 0801895186 0932952135 Usted tiene que marcar el número completo y el contexto verificará si el número es correcto usando

un algoritmo de verificación de dígito, el cual toma los primeros 9 números y ejecutará el cálculo para obtener el décimo número.

Si el décimo número ingresado es correcto, usted obtendrá dos audios, uno que diga "correcto" y otro

diciendo el décimo número. Si usted ingresa un valor no válido obtendrá un audio de "incorrecto".

77

Page 79: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-6  

   

Plan de Marcado Avanzado

Laboratorio 6.4 (Práctica recomendada)

Descripción: Crear un archivo .call que realice una llamada a una extensión.

Objetivo: Familiarizarse con el funcionamiento de los archivos .call.

Tiempo Máximo: 15 minutos.

Instrucciones:

Cree el archivo mycall.call con el siguiente contenido:

Cambiar los permisos y propietario del archivo mycall.call

Mover el archivo mycall.call al directorio /var/spool/asterisk/outgoing.

El propósito de esta laboratorio es el de mostrarle el proceso de envío de una llamada. En el

siguiente laboratorio completaremos la tarea reproduciendo un audio cuando la persona que recibe contesta la llamada.

Channel: local/200@from-internal MaxRetries: 1 RetryTime: 60 WaitTime: 30 Context: from-internal Extension: 200 Priority: 1

[root@elastix ~]# chmod 777 mycall.call [root@elastix ~]# chown asterisk:asterisk mycall.call

[root@elastix ~]# mv mycall.call /var/spool/asterisk/outgoing

78

Page 80: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-6  

   

Plan de Marcado Avanzado

Laboratorio 6.5 (Práctica recomendada)

Descripción: Crear un archivo .call que realice una llamada a una extensión, conecte la llamada a un contexto y reproduzca un audio.

Objetivo: Familiarizarse con el funcionamiento de los archivos .call.

Tiempo Máximo: 15 minutos.

Instrucciones:

Crear un contexto que reproduzca un audio en su archivo extensions_custom_XXXXX.conf.

Cree el archivo mycall.call con el siguiente contenido:

Cambiar los permisos y propietario del archivo mycall.call

Mover el archivo mycall.call al directorio /var/spool/asterisk/outgoing.

 

[custom-elastixworld] exten => s,1,Answer() exten => s,n,Playback(custom/elastixworld) exten => s,n,Hangup()

Channel: local/200@from-internal MaxRetries: 1 RetryTime: 60 WaitTime: 30 Context: custom-elastixworld Extension: s Priority: 1

[root@elastix ~]# chmod 777 mycall.call [root@elastix ~]# chown asterisk:asterisk mycall.call

[root@elastix ~]# mv mycall.call /var/spool/asterisk/outgoing

79

Page 81: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-7  

   

Asterisk AGI Laboratorio 7.1

Descripción: Crear un agi que consulte una tabla de datos y que mediante el ingreso de un código, este retorne y reproduzca el número de cédula asociado, dígito a dígito. Objetivo: Practicar la creación de AGI, familiarizarse con las funciones STREAM FILE, GET DATA, SAY DIGITS e implementar una consulta básica a una base de datos. Tiempo Máximo: 25 minutos. Instrucciones: Ingrese a la consola de su Elastix como usuario root. El primer paso es crear la base de datos agi_test, para este propósito escribimos: mysqladmin -u root -p create agi_test Nota: usted necesitará ingresar la contraseña del usuario root de mysql. Necesitamos crear el archivo db.sql con el siguiente contenido: vim db.sql TEXT:

USE agi_test CREATE TABLE IF NOT EXISTS `numbers` ( `ID` int(11) NOT NULL auto_increment, `NUMBER` int(10) NOT NULL, PRIMARY KEY (`ID`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ; INSERT INTO `numbers` (`ID`, `NUMBER`) VALUES (1, 2223456), (2, 7778764), (3, 8787878), (4, 34534234);

80

Page 82: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-7  

   

Una vez que el archivo está creado llenaremos la base de datos “agi_test” con el siguiente comando: cat db.sql | mysql -u root -p Nota: usted necesitará ingresar la contraseña del usuario root de mysql. Cree el archivo ectagi.php en /var/lib/asterisk/agi-bin/ cd /var/lib/asterisk/agi-bin/ vim ectagi.php TEXT para ectagi.php: #!/usr/bin/php -q <?php $pass='YOURPASSWORD'; require ('phpagi.php') ; $agiwrapper = new AGI() ; ob_implicit_flush(true) ; set_time_limit(30) ; $id = $_SERVER['argv'][1]; $link = mysql_connect('localhost','root',$pass) or die("DB Connection Error"); mysql_select_db("agi_test") or die(mysqlerror()."Error: Cannot open database"); $query = 'SELECT * FROM numbers WHERE ID = '.$id.' LIMIT 0, 30 '; $result = mysql_query($query) or die(mysql_error()); mysql_close($link); $row = mysql_fetch_array( $result ); if($row != NULL) { $number = $row[1]; } else { $number = "00000"; } $agiwrapper->say_digits($number) ; exit(); ?>

Nota de edición: en la línea 2 cambie el valor de $pass (YOURPASSWORD) con su contraseña del

usuario root de mysql. Grabar y salir (Esc → :wq)

Cambie los permisos y usuario chmod 755 ectagi.php chown asterisk:asterisk ectagi.php Añada el siguiente contexto al archivo /etc/asterisk/extensions_custom_XXXXX.conf.

81

Page 83: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-7  

   

[ect-agi] exten => 4010,1,Answer exten => 4010,2,Read(number,speed-enternumber,3,,,2) exten => 4010,3,AGI(ectagi.php,${number}) exten => 4010,4,Hangup() Grabar y salir (Esc → :wq)

Incluya el contexto [ect-agi] en el contexto [from-internal-custom] localizado en el archivo

/etc/asterisk/extensions_custom.conf

vim extensions_custom.conf

Sintaxis: include => ect-agi

Grabar y salir (Esc → :wq)

Recargue asterisk: [root@elastix asterisk]# asterisk -rx “reload”

Pruebe el AGI marcando 4010, deberíamos marcar el id de cada número en la base de datos: (1, 2223456), (2, 7778764), (3, 8787878), (4, 34534234); Ejemplo: marque 4010, presione 1, presione #; usted debería escuchar: 2, 2, 2, 3, 4, 5, 6 y la llamada

culminará. Si usted marca un número que no existe, ejemplo 12, usted obtendrá una respuesta de 0, 0, 0, 0, 0

82

Page 84: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-7  

   

Asterisk AGI Laboratorio 7.2

Descripción: Realizar el debugging del AGI creado en la práctica anterior y verificar las variables enviadas desde y hacia un AGI. Objetivo: Usar los comandos de debug de un AGI y entender la salida mostrada en la consola de asterisk. Tiempo Máximo: 15 minutos. Instrucciones: Ingrese al Asterisk CLI Habilite debugging de AGI con el comando “agi set debug on”.

Desde una extensión marque 4010, presione 1 y # Observaremos una salida donde las variables de ectagi.php son mostradas, y la comunicación hacia y

desde el AGI. -- Executing [500@from-internal:3] AGI("SIP/200-00000059", "ectagi.php,1") in new stack -- Launched AGI Script /var/lib/asterisk/agi-bin/ectagi.php <SIP/200-00000059>AGI Tx >> agi_request: ectagi.php <SIP/200-00000059>AGI Tx >> agi_channel: SIP/200-00000059 <SIP/200-00000059>AGI Tx >> agi_language: en <SIP/200-00000059>AGI Tx >> agi_type: SIP <SIP/200-00000059>AGI Tx >> agi_uniqueid: 1327877045.89 <SIP/200-00000059>AGI Tx >> agi_version: 1.8.7.0 <SIP/200-00000059>AGI Tx >> agi_callerid: 200 <SIP/200-00000059>AGI Tx >> agi_calleridname: device <SIP/200-00000059>AGI Tx >> agi_callingpres: 0 <SIP/200-00000059>AGI Tx >> agi_callingani2: 0 <SIP/200-00000059>AGI Tx >> agi_callington: 0 <SIP/200-00000059>AGI Tx >> agi_callingtns: 0 <SIP/200-00000059>AGI Tx >> agi_dnid: 500 <SIP/200-00000059>AGI Tx >> agi_rdnis: unknown <SIP/200-00000059>AGI Tx >> agi_context: from-internal <SIP/200-00000059>AGI Tx >> agi_extension: 500 <SIP/200-00000059>AGI Tx >> agi_priority: 3 <SIP/200-00000059>AGI Tx >> agi_enhanced: 0.0 <SIP/200-00000059>AGI Tx >> agi_accountcode: <SIP/200-00000059>AGI Tx >> agi_threadid: -1221964912 <SIP/200-00000059>AGI Tx >> agi_arg_1: 1 <SIP/200-00000059>AGI Tx >> <SIP/200-00000059>AGI Rx << SAY DIGITS 2223456 "" -- <SIP/200-00000059> Playing 'digits/2.gsm' (language 'en') -- <SIP/200-00000059> Playing 'digits/2.gsm' (language 'en') -- <SIP/200-00000059> Playing 'digits/2.gsm' (language 'en') -- <SIP/200-00000059> Playing 'digits/3.gsm' (language 'en') -- <SIP/200-00000059> Playing 'digits/4.gsm' (language 'en') -- <SIP/200-00000059> Playing 'digits/5.gsm' (language 'en') -- <SIP/200-00000059> Playing 'digits/6.gsm' (language 'en') <SIP/200-00000059>AGI Tx >> 200 result=0 -- <SIP/200-00000059>AGI Script ectagi.php completed, returning 0

Para deshabilitar el debugging en AGI, use el comando “agi debug off”.

83

Page 85: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-7  

   

Asterisk AMI Laboratorio 7.3

Descripción: Conectarse vía TELNET con AMI, enviar el comando LOGIN y enviar el comando LOGOFF Objetivo: Familiarizarse con la conexión con AMI y ejecutar comandos básicos y ver la respuesta obtenida. Tiempo Máximo: 10 minutos. Instrucciones: Primero debemos obtener la contraseña de la interfaz de administración de Asterisk / AMI En la consola escriba el siguiente comando: cat /etc/asterisk/manager.conf | grep secret

El ejemplo arrojó la contraseña “palosanto”. Es posible que usted haya ingresado una diferente cuando instaló Elastix. LOGIN Conéctese a AMI a través de telnet como se indica: telnet 127.0.0.1 5038

Para ingresar usted debe escribir los siguientes comandos (es muy útil tenerlos escritos en un bloc de

notas antes de ingresar a telnet): Action: Login Username: admin Secret: password - (en este ejemplo palosanto) Después presione Enter.

84

Page 86: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-7  

   

LOGOUT Para salir de AMI debemos ejecutar el comando “Logoff” Nota: No olvide presionar “Enter” al final de cada evento.

85

Page 87: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-7  

   

Asterisk AMI Laboratorio 7.4 (Práctica recomendada) Descripción: Conectarse vía TELNET con AMI, y ejecutar la acción “Originate” para realizar una llamada a otra extensión. Objetivo: Familiarizarse con la conexión con AMI y ejecutar comandos básicos y ver la respuesta obtenida. Tiempo Máximo: 10 minutos. Instrucciones: Conéctese a AMI a través de telnet: telnet 127.0.0.1 5038

Haga login con: Action: Login Username: admin Secret: password - (la misma contraseña que el laboratorio anterior) Utilice la acción “Originate” en la sesión y reciba una llamada a la extensión especificada: Action: Originate Channel: SIP/200 - (El canal de la extensión) Exten: 200 - (El número de la extensión) Priority: 1 Timeout: 300000 - (acerca de 30 segundos) Context: from-internal Usted recibirá una llamada a la extensión 200. Ejecute el comando Logoff. Nota: No olvide presionar “Enter” al final de cada evento.

86

Page 88: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-7  

   

Asterisk AGI-AMI Laboratorio 7.5 Descripción: Construya un AGI que permita conectar una llamada entre dos extensiones, usando la librería “php-asmanager.php” y la función Originate. Objetivo: Usar la librería “php-asmanager.php” y la función Originate para la creación de funcionalidad usando AGI y AMI. Tiempo Máximo: 10 minutos. Instrucciones: Cree un archivo /var/lib/asterisk/agi-bin/myfile.agi: cd /var/lib/asterisk/agi-bin/ vim myfile.agi Añada la siguiente línea al archivo myfile.agi:

#!/usr/bin/php -q <?php require_once "/var/lib/asterisk/agi-bin/phpagi-asmanager.php"; $astman = new AGI_AsteriskManager(); $resultado= $astman->connect("127.0.0.1", "admin", "AMIPASSWORD"); $salida = $astman->Originate("SIP/200","201","from-internal","1"); $astman->disconnect(); ?>

Nota: La contraseña AMI (AMIPASSWORD) es la misma que en laboratorios previos. En este caso

“palosanto”, no olvide reemplazarla en el archivo de texto php. Grabar y salir (Esc → :wq)

Cambie los permisos y usuario del archivo myfile.agi chmod 777 myfile.agi chown asterisk:asterisk myfile.agi Ejecute el siguiente comando desde la consola. [root@elastix agi-bin]# php myfile.agi Usted debería recibir una llamada en la extensión 200, y antes de que usted conteste Elastix conectará

la llamada con la extensión 201. Este es el clásico ejemplo de “Clic to Call”.  

87

Page 89: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-8  

   

Interconexión con Elastix Remotos Laboratorio 8.1 Descripción: Interconectar dos servidores Elastix en la que se podrán comunicar las extensiones de ELASTIX A con las extensiones de ELASTIX B Objetivo: Practicar la creación de troncal SIP. Tiempo Máximo: 30 minutos. Instrucciones: Usted debe trabajar con un compañero para realizar el siguiente esquema.

Ingresar a la interfaz de administración Elastix ir a: PBX → PBX Configuration → Troncales Una vez ahí seleccione “Add SIP Trunk”. Iniciaremos la configuración de la troncal en la ELASTIX A. La troncal en ELASTIX A tendrá como nombre PBXA y su caller ID será elastixA

88

Page 90: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-8  

   

Definimos los detalles del peer como :

Nota: Esta configuración es la misma en ambos servidores. El parámetro secret es "welcome"

Definimos la cadena de registro como sigue (para este ejemplo asumiremos que 192.168.1.239 es la

IP de ELASTIX A y 192.168.1.240 es la IP de ELASTIX B): Para ELASTIX A debería ser:

y para ELASTIX B debería ser:

Una vez que hemos completado la configuración debemos hacer clic en submit y aplicar los cambios. Ahora debemos configurar la troncal en ELASTIX B.

host=dynamic secret=welcome trunk=yes type=friend

elastixB:[email protected]

elastixA:[email protected]

89

Page 91: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-8  

   

Verificamos en el Asterisk CLI si ambas troncales se encuentran registradas. Usamos el siguiente comando:

sip show registry

Deberíamos ver una salida similar a la siguiente:

elastix*CLI> sip show registry Host Username Refresh State Reg.Time 192.168.1.240:5060 elastixB 105 Registered Fri,20 Jan 2012 10:29:43

90

Page 92: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-8  

   

El siguiente paso es definir los detalles del usuario, 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.

La configuración en ELASTIX A es:

Ir a: PBX → PBX Configuration → Troncales → PBXA

En el campo “USER Context” colocaremos contextA para ELASTIX A y contextB para ELASTIX B. Haga clic en Submit y aplique los cambios. Ruta Saliente Crearemos una ruta saliente para todas las llamadas que salgan hacia el otro servidor. En este caso

le pondremos como nombre: Elastixremota. PBX → PBX Configuration → Rutas Salientes El patrón de marcado para esta ruta es: 2|XXX

context=from-internal host=192.168.1.240 (la IP de ELASTIX B) insecure=very type=friend

91

Page 93: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-8  

   

Luego escogemos porque troncal debe irse la llamada en este caso escogemos por la troncal PBXA. En el caso de ELASTIX B seleccionamos PBXB.

Hacemos clic en “Submit changes” y aplicamos los cambios. Después debemos crear la ruta saliente en ELASTIX B de manera similar. Cuando estemos listos

podemos hacer llamadas entre ambos servidores. Trate de hacer llamadas desde la extensión 200 en ELASTIX A, a la extensión 200 en ELASTIX B,

para esto es necesario marcar: 2200

92

Page 94: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-8  

   

Interconexión con Elastix Remotos Laboratorio 8.2 (Práctica Recomendada) Descripción: Interconectar la central Elastix con el proveedor de llamadas internacionales Net2Phone y realizar llamadas. Objetivo: Utilizar el módulo de VoIP Provider. Tiempo Máximo: 15 minutos. Instrucciones: Esquema

El módulo VoIP Provider de Elastix, permite crear una troncal SIP con proveedores embebidos en la

solución. Para este ejemplo debemos crear una troncal con la información de una cuenta existente. Net2Phone a habilitado un link para la creación de cuentas que puedan ser utilizadas con Elastix.

Usted puede crear la cuenta en: http://n2pelastix.com. Un procedimiento detallado de cómo crear la cuenta se encuentra en el Anexo 1.

La información proveída por Net2Phone es:

• Account Number • PIN • Número de teléfono

Ir a: PBX → VoIP Provider Haga clic en Nueva cuenta

93

Page 95: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-8  

   

La información requerida es:

• VoIP Provider: la compañía que ofrece el servicio VoIP; para este ejemplo usaremos

Net2Phone

• Nombre de cuenta: un nombre de referencia; para este ejemplo usaremos N2P-ELX

• Username: El número de cuenta

• Secret: PIN

• CallerID de salida: Número de teléfono

Cuando haya ingresado los datos haga clic en Guardar Ahora debemos crear una ruta saliente para la nueva cuenta. Cree una con el nombre

INTERNATIONAL y defina el patrón de marcado. En este caso utilizaremos el siguiente patrón:

00. Esta ruta utilizará la troncal SIP que hemos creado: N2P-ELX Agregamos la troncal y aplicamos los cambios.

94

Page 96: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-8  

   

Usted puede hacer llamadas desde cualquier extensión de su Elastix. Intente llamando a las oficina

de Elastix: +1-877-ELASTIX, Usted debe marcar 0018773527849 Nota sobre la práctica: Usted puede abrir una cuenta con cualquiera de los proveedores incluidos en el módulo. Se explica sobre Net2Phone por la facilidad para crear la cuenta. Configuración de un proveedor de VoIP no incluido Si usted necesita configurar un proveedor de VoIP no enlistado, usted puede crear una troncal SIP

en: PBX → PBX Configuration → Troncales → Add SIP Trunk Usted debe consultar a su proveedor la configuración para los detalles de PEER de la sección

"Outgoing settings" de la troncal que desea crear. La información usual es la siguiente:

Luego añadimos la cadena de registro, la cual en nuestro caso debería ser:

Es necesario además colocar el número de teléfono en el campo "Outbound Caller ID":

Luego podemos verificar que la troncal está registrada, en la consola de Aterisk (CLI)

username=myusername host=voip_provider_IP username=myuser secret=mypassword type=peer qualify=yes insecure=very dtmfmode=rfc2833 disallow=all context=from-pstn allow= ulaw&alaw&gsm&ilbc&g726&adpcm&lpc10 / (the codecs supported by the provider) trustrpid=no sendrpid=no canreinvite=no

myusername:mypassword@voip_provider_IP/myusername

elastix*CLI> sip show registry Host Username Refresh State Reg.Time Voip_provider_IP:5060 myusername 105 Registered Fri,20 Jan 2012 10:29:43

95

Page 97: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-9  

   

Tarifación y Reportación en Elastix Laboratorio 9.1 Descripción: Cree una tarifa de $0.15 usando el SIP ELASTIXA / ELASTIXB que creamos anteriormente. El valor de la conexión (OFFSET) debe ser $0.01. Realice una llamada a través de la troncal y verifique la información recolectada en el reporte de facturación. Objetivo: Familiarizarse con el uso del módulo de Tarifación de Elastix. Tiempo Máximo: 10 minutos. Instrucciones: El primer paso consiste en habilitar la troncal PBXA / PBXB para que sea monitoreada por el proceso

de facturación. Para hacer eso ir a: Reports → Billing → Billing Setup Una vez ahí seleccione la troncal requerida (SIP/elastixA) y haga clic en "Billing Capable / Habilitar

para facturar".

Ahora vaya a: Reports → Billing → Rate Haga clic en "Create New Rate / Crear nueva tarifa" (Nombre referencial: REMOTELASTIX)

96

Page 98: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-9  

   

Guarde la tarifa (rate) y haga dos llamadas para obtener algunos registros de facturación. Intente

llamando a la Elastix con la que hizo conexión en la práctica 8.1 Después de completar algunas llamadas vaya a: Reports → Billing → Billing Report Usted verá un detalle de llamadas con el costo calculado en base a la tarifa que configuramos.

Exporte el reporte a PDF para revisión.

Usted obtendrá algo similar a la siguiente imagen:

97

Page 99: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-9  

   

Configuración Opcional Ahora agregaremos una nueva tarifa para registrar las llamadas que se creen en la práctica 8.2. Inicie

el proceso nuevamente: habilitar troncal, crear la tarifa, hacer llamadas. Para este efecto utilice la troncal creada en la práctica 8.2 La troncal a seleccionar debería ser: N2P-ELX

Hemos puesto un valor más alto para estas. Realice llamadas a un número cualquiera, puede ser +1-877-3527849 (El número de Elastix) para

registrar esas llamadas en el reporte de facturación. Revise el reporte y compare los costos con la tarifa REMOTELASTIX.

98

Page 100: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-10  

   

Calidad de Voz

Laboratorio 10.1 Descripción: Calcular el parámetro R del modelo E usando la fórmula simplificado y la tabla de pérdida de paquete para la red del laboratorio y obtener el respectivo valor de la escala MOS. Usar el codec g.711. Objetivo: Entender y dominar el uso de las fórmulas que nos permiten determinar la calidad de voz de una manera objetiva. Tiempos Máximo: 15 minutos. Instrucciones: Determinar el retardo de un punto a punto específico de la red usando el comando PING como se

muestra en el gráfico. Ingrese a la consola como usuario root, escriba el siguiente comando: ping IP_Address –c10 (use la IP de cualquier estudiante):

El retardo es el mayor tiempo obtenido en el proceso; en este caso 51.2 ms Calcular el valor de Ie de acuerdo a la tabla. El porcentaje paquetes perdidos igual al 0%.

Ie = 0

Packet Loss % G.711 G.723.1 G.729A

0 0 11 15 1 3 15 18 2 5 18 20 4 7 20 25 8 9 22 28 16 20 24 30

99

Page 101: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-10  

   

Calcular el valor de Id reemplazando el valor de retardo, en este caso 2.70 ms.

Id = 0.024 · d + 0.11 · (d – 177.3) · H(d – 177.3) Valores para la función Heavyside H(x) = 0 para x < 0 y 1 para x ≥ 0 Reemplace el valor de retardo, en este caso 51.2 ms Id = 0.024 · 51.2 + 0.11 · (2.70 – 177.3) · H(51.2 – 177.3) Id = 1.2288 + 0.11 · (51.2 – 177.3) · 0 Id = 1.2288 Calcular el valor de R reemplazando los valores de Ie y Id obtenidos. R = 94.2 – 1.2288 - 0 R = 92.9712 Traducir a la escala MOS reemplazando el valor obtenido de R.

Fórmula Rango R MOS =1 R < 0 MOS = 1 + 0.035 * R + 7 * R*(R – 60)*(100 – R)*10-6 0 < R < 100 MOS = 4.5 R >100

MOS = 1 + 0.035 · 92.9712 + 7 · 92.9712 · (92.9712 – 60) · (100 – 92.9712) · 10-6

MOS = 1 + 3.2539 + 0.17794 MOS = 4.4318

MOS rating Calidad Esfuerzo

5 Excelente No hace falta esfuerzo alguno

4 Buena Es necesario prestar atención pero no es necesario un esfuerzo apreciable

3 Aceptable Esfuerzo moderado 2 Pobre Gran esfuerzo 1 Buena No es posible entender la conversación

Este resultado indica que la calidad está muy cerca a la excelencia.  

100

Page 102: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-11  

   

Protocolos SIP / RTP Laboratorio 11.1 Descripción: Usar la herramienta Wireshark para capturar la conversación entre su extensión y la de otro compañero del curso y obtener el gráfico de intercambio de eventos y métodos de dicha conversación. Objetivo: Ver de manera gráfica el intercambio de métodos de una conversación e identificar los eventos de contestación, colgado de una llamada, etc. Tiempo Máximo: 15 minutos. Instrucciones: Iniciar el Wireshark e iniciar la captura en la interface eth0. Iniciar una llamada hacia alguna extensión de un compañero de curso. Veremos que Wireshark empezará a capturar paquetes como se muestra en el gráfico:

Detenemos la captura, ingresando al menú Captura y haciendo clic en “Stop”. Ingresamos la menú “Statistics” y hacemos clic en la opción “Graph Flow” y veremos lo siguiente:

101

Page 103: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-11  

   

Identifiquemos los métodos y eventos que se intercambian entre los dispositivos y la central Elastix.

En la parte superior del gráfico se indica el flujo de dicho intercambio. Para revisar estadísticas ir al menú “Statistics” y hacer clic en la opción “SIP”. Veremos algo como

sigue:

102

Page 104: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-11  

   

Protocolos SIP / RTP Laboratorio 11.2 Descripción: Usar la herramienta wireshark para capturar la conversación entre su extensión y la de otro compañero del curso y analizar los paquetes RTP, generar un archivo (.au) y reproducir el payload de los paquetes que forman esa conversación. Objetivo: Adiestrar al estudiante al uso de sniffers para analizar tráfico RTP y generar y reproducir el payload de una captura de paquetes. Tiempo Máximo: 10 minutos. Instrucciones: Con la captura realizada de la práctica anterior, seleccionar el primer paquete RTP de dicha captura.

En el menú “Statistics” escoger la opción “RTP” y luego seleccionar la opción “Stream Analysis”.

Veremos lo siguiente:

103

Page 105: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-11  

   

Luego hacer click en el botón Payload y escoger el formato (.au) y en la opción Channels escoger

(both). Colocar como nombre de archivo payload1.au

  Abrir un reproductor, seleccionar el archivo payload1.au y escuchar la conversación.  

104

Page 106: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-12  

Diagnóstico Básico Laboratorio 12.1 Descripción: Ingresar a la consola de Asterisk y ejecutar los comandos “?”, “help”. Objetivo: Familiarizarse con el uso de la consola de Asterisk CLI, utilizando comandos básicos. Tiempo Máximo: 10 minutos. Instrucciones: Ingresar a la consola de Elastix como usuario root Ingresar a la consola de Asterisk. [root@elastix ~]# asterisk -r Obteniendo el Prompt de la consola.

Enliste comandos con “?”

105

Page 107: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-12  

Use el comando “help”

106

Page 108: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-12  

Diagnóstico Básico Laboratorio 12.2 Descripción: Ingresar a la consola de Asterisk y ejecutar los comandos “queue show”, “features show”, “uptime show”, “core show version”, “show codecs”. Objetivo: Familiarizarse con el uso de la consola de Asterisk CLI y con los comandos arriba mencionados. Además entender la salida de dichos comandos y su utilidad. Tiempo Máximo: 15 minutos. Instrucciones: Digitar el comando “queue show” – (Muestra el estatus de la cola especificada)

Digitar el comando “features show”

107

Page 109: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-12  

Digitar el comando “uptime show” – (Muestra la información de uptime en segundos) core show uptime

Digitar el comando “core show version” – (Muestra información de la versión)

Comando “show codecs” – (Muestra un listado de codecs) core show codecs

Comando “sip show registry” – (Enlista el estatus de registro SIP)

Para salir de Asterisk CLI únicamente escriba “Exit”

108

Page 110: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-13  

   

Sistema de Email de Elastix Laboratorio 13.1 Descripción: Crear un dominio y cuentas para dos usuarios. Objetivo: Familiarizarse con el módulo Email de Elastix. Tiempo Máximo: 15 minutos. Instrucciones: Ingresamos en la opción Mail de nuestra central.

Para crear un nuevo dominio, haga clic en "Crear Dominio / Create Domain". Use el dominio:

elastixtest.com

Podemos crear todos los dominios que necesitemos. Ahora crearemos dos cuentas de usuario, admin y sales. Ir a: Email → Accounts

Primero debemos seleccionar el dominio, luego haga clic en "Crear una nueva cuenta / Create

Account"

109

Page 111: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-13  

   

Configuración de RELAY

AntiSpam Active el AntiSpam, coloque un nivel de seguridad de 6 y seleccione "Capturar Spam / Capture Spam"

como política. Establezca como opción de eliminación la siguiente: "Eliminar el spam anterior a una semana / Delete

spam messages older than one week".

Remote SMTP Active la opción "SMTP Remote Delivery" y seleccione una cuenta GMAIL, Hotmail o Yahoo que

usted tenga para habilitación de envíos de mensaje a través de alguno de esos servicios. Usaremos esta funcionalidad para enviar un correo a través de la interfaz web de correo.

110

Page 112: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-13  

   

RoundCube Ingrese a la Interfaz Web de Mail con una de las cuentas que creó anteriormente (ej.:

[email protected]) y envíe un correo.

para ingresar usted debe escribir el nombre completo de la cuenta, ej.: [email protected]

Si usted configuró un servicio SMTP Remoto de envío en Elastix podrá enviar mensajes desde la

interfaz. Haga clic en "Crear un nuevo mensaje" y envíe un correo con sus datos a [email protected]

111

Page 113: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-13  

   

Vacations Habilite el modo de vacaciones para el usuario [email protected]    

   

   

 

112

Page 114: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-14  

   

Sistema de Fax en Elastix Laboratorio 14.1 Descripción: Crear la extensión IAX 300X y asociarla a un fax virtual. Desde el Fax físico del laboratorio, enviar una fax a cada fax virtual y verificar en el visor de fax la recepción del mismo. Objetivo: Familiarizarse con el módulo Fax de Elastix. Tiempo Máximo: 15 minutos. Instrucciones: Cree las extensiones IAX 301X (301) y 302X (302). Una vez que haya creado las extensiones ir a: Fax → Virtual Fax → New Virtual Fax Cree el Fax virtual 301X y el Fax virtual 302X

En el campo "email asociado", coloque un email existente para recibir un Fax. (puede ser una cuenta

personal, gmail, hotmail, mail corporativo, etc) Una vez creada la extensión tomará un par de minutos en inicializar. Como usted puede ver, el

servidor de Fax crea dos dispositivos: ttyIAX1 y ttyIAX2, ambos se encuentran en estado "Running and idle" a la espera de la llegada de algún Fax.

Ingrese a la consola de Elastix como usuario root e ingrese al Asterisk CLI. Una vez ahí escriba el

comando "iax2 show peers", usted obtendrá la siguiente pantalla:

113

Page 115: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-14  

   

En este ejemplo nuestras extensiones de fax virtual son 301 y 302, deben tener status OK. Salga del CLI y de la consola. Ahora configure el template para el correo de Fax saliente. Ir a: Fax → Email Template

En el siguiente laboratorio enviaremos y recibiremos faxes.

114

Page 116: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-14  

   

Sistema de Fax en Elastix Laboratorio 14.2 Descripción: Enviar un fax utilizando el comando sendfax hacia uno de los faxes virtuales creados en el laboratorio anterior. Objetivo: Familiarizarse con el comando sendfax Tiempo Máximo: 15 minutos. Instrucciones: Primero crearemos un archivo llamado elxtest.txt [root@elastix ~]# vim elxtest.txt Escriba el siguiente contenido en el archivo: Elastix es una solución de telefonía VoIP y Comunicaciones Unificadas.

Integra las mejoras herramientas disponibles, para PBXs basadas en Asterisk, en una sencilla interfaz de fácil administración. Posee además su propio set de utilidades y permite la creación de módulos adicionales, lo cual la convierte en uno de los paquetes de software open source disponibles, más poderosos del mercado.

Guardar y salir (Esc → :wq) Enviaremos un fax a la extensión 302 desde la 301. Desde la consola, escriba el comando sendfax de la siguiente manera: [root@elastix ~]# sendfax -h [email protected] -n -d 302 elxtest.txt Es importante indicar que la opción -h obliga a que los trabajos sean procesados a través de un host

específico y, opcionalmente, usando un modem en particular; en este caso [email protected]. El receptor será la extensión 302 (la cual es además el otro fax virtual).

Si usted va a la interfaz de Elastix “Fax → Virtual Fax” usted verá el siguiente proceso:

El dispositivo ttyIAX1 (301X) está enviando un fax y ttyIAX2 (302X) está recibiendo el fax.

115

Page 117: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-14  

   

Una vez que el proceso concluye ir a Fax → Fax viewer y revise el nuevo fax.

Podemos observar un fax enviado desde la extensión 301 a 302X - 302. Usted puede editar el

"Nombre de Compañía" y "Fax de Compañía" para búsquedas futuras. Si usted configuró los fax virtuales con correos válidos, y la plantilla con la información indicada de

correo, usted debería ver un mensaje de correo de "Elastix Certification Course" con un PDF adjunto. Abra el PDF adjunto, usted debería ver algo similar a la siguiente imagen:

Vaya a Fax → Fax viewer nuevamente y abra el archivo recibido, usted podrá observar el mismo

archivo. Es importante notar que usted puede revisar un fax en la interfaz de Elastix o en su correo electrónico.

116

Page 118: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-14  

   

Sistema de Fax en Elastix Laboratorio 14.3 (Práctica recomendada) Descripción: Envíe un fax desde la interfaz Elastix hacia una de los fax virtuales creados en el laboratorio 14.1. Objetivo: Familiarizarse con la funcionalidad "Send Fax" Tiempo Máximo: 15 minutos. Instrucciones: Ir a: Fax → Virtual Fax → Send Fax

Envíe un fax desde el dispositivo 301 al número de fax 302. Incluya el siguiente texto: ElastixWorld is one of the most important events in IP telephony destined to gather

the Elastix worldwide community. ElastixWorld is the ideal place where end users, partners, resellers, integrators

and developers will have the opportunity to share experiences, show new products and create business opportunities with the Elastix community around the world.

117

Page 119: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-14  

   

Vaya a Fax → Fax viewer, ahí observará un nuevo fax, revíselo. Usted recibirá además el fax en su correo.

Como puede observar hay 3 faxes en lugar de dos.

La razón se debe a que utilizamos un fax virtual creado en el sistema. El módulo guarda faxes que

son enviados y recibidos a través de la interfaz. Ahora enviaremos un documentos adjunto. Para este propósito utilizaremos un archivo PDF. Vaya a

http://elx.ec/partners Descargue el Brochure correspondiente al programa de resellers. Una vez que ha descargado el

archivo vaya a: Fax → Virtual Fax → Send Fax Envíe el fax desde 301 a 302, seleccione "File Upload" y ubique el pdf

(elastix_reseller_program_esp.pdf)

Espere unos minutos hasta que el fax haya sido enviado y recibido, vaya a Fax → Fax viewer. Si todo

salió bien, usted debe ver 5 faxes: Abra el último fax recibido y podrá ver el brochure del programa de resellers Elastix en formato de fax.

118

Page 120: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-15  

Mensajería Instantánea en Elastix Laboratorio 15.1 Descripción: Instalación de Openfire con una base de datos Mysql. Objetivo: Instalar Openfire con una base de datos Mysql, crear la base de datos y el usuario de dicha base de datos. Tiempo Máximo: 15 minutos. Instrucciones: Ingresamos a la consola de Elastix como usuario root Ir al directorio cd /opt/openfire/resources/database Una vez en el directorio ejecutar el siguiente comando para crear la base de datos openfire mysqladmin create openfire -p La clave de root de mysql la ingresamos durante la instalación de Elastix. Para este caso es

“palosanto”

Revisaremos si la base de datos fue creada correctamente. Ejecute el siguiente comando:

mysql -u root –p Password: palosanto

Una vez en la base de datos utilice: show databases;

119

Page 121: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-15  

Crear la estructura de la base de datos con el siguiente comando:

cat openfire_mysql.sql |mysql openfire –p

Crear el usuario Openfire con todos los privilegios para ejecutar las sentencias SQL en la base de

datos Openfire. Ingresar a mysql con el siguiente comando:

mysql -u root –p Password: palosanto

Una vez en la base de datos digite: use openfire;

Luego digite:

GRANT ALL PRIVILEGES ON openfire.* TO 'openfire'@'localhost' IDENTIFIED BY 'openfire';

En la sentencia anterior creamos el usuario “openfire” con el password “openfire”. Ir a la interface de Elastix y hacer click en la pestaña “IM”. Activar OpenFire.

120

Page 122: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-15  

Configuramos el lenguaje

Especificamos el dominio del sistema, coloquemos el mismo dominio que nuestra Elastix.

Seleccionamos la base de datos a utilizar. En este caso seleccionaremos la opción Conexión

Estándard

Una vez que seleccionamos una base de datos externa, tendremos que indicar la información

correspondiente. El tipo de base de datos es “MySQL”. La clase de Driver se coloca por defecto y es: com.mysql.jdbc.Driver

121

Page 123: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-15  

La URL de la base de datos es coloca por defecto el siguiente valor: jdbc:mysql://[host-name]:3306/[database-name]

Reemplazamos [host-name] por “localhost” y [database-name] por “openfire” de tal manera que

tengamos: jdbc:mysql://localhost:3306/openfire Con esto indicamos que la base de datos está ubicada en el localhost y se denomina openfire. El usuario es: openfire y la contraseña: openfire

Ahora seleccionamos el sistema de usuarios, colocamos “Por defecto”.

Colocamos el correo y la contraseña de la cuenta admin.

122

Page 124: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-15  

Una vez que completamos la configuración podemos ingresar a la interfaz de administración.

123

Page 125: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-15  

Mensajería Instantánea en Elastix Laboratorio 15.2 Descripción: Integración de Openfire con Elastix. Objetivo: Integrar Asterisk con Openfire. Tiempo Máximo: 15 minutos. Instrucciones: Una vez que ingresamos a la interfaz de administración podemos crear cuentas para usuarios e

instalar plugins. Instalaremos el plugin “Asterisk-IM”. En la interfaz de Openfire ir al menú Plugins

Observamos un listado de plugins disponibles, instalaremos: Asterisk-IM Openfire Plugin. Hacemos clic en el signo “+” junto a la aplicación.

Si el plugin “Asterisk-IM”.se instaló correctamente, veremos un menú nuevo llamado “Asterisk-IM”.

Hacemos clic en el menú “Asterisk-IM” para iniciar la configuración

124

Page 126: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-15  

Seleccionamos la opción “Enabled” y colocamos “default” en el campo “Asterisk Context”. Una vez hecho esto hacemos clic en save.

Habilitaremos también la opción “Asterisk Queue Presence” y deshabilitamos la opción: “Drop-down

device selection”

Inmediatamente observaremos la opción “Add Server”, hacemos clic para configurar la funcionalidad “Phone Server”.

Hacemos clic en Add Server y obtendremos los siguientes campos:

• Server Name: elastix_domain (el host del servidor elastix) • Server Address: 127.0.0.1 • Port: 5038 • Username: admin • Password: contraseña_de_AMI

125

Page 127: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-15  

La contraseña que utilizaremos, es la misma que configuramos durante la instalación de Elastix. Sino queremos estar seguros del host que tiene nuestro Elastix ejecute “hostname” en la consola.

(En este ejemplo es test.elastix.org) Nota: el hostname es vital para casos que necesiten resolución por DNS

Observaremos enlistado el servidor si la configuración fue exitosa.

Creación de usuarios y mapeo Para crear usuarios, debemos ir al menú “usuarios/grupos”. Hacemos clic en “Crear Nuevo Usuario”

126

Page 128: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-15  

Como podemos observar, los campos requeridos obligatorios son el usuario y la contraseña. Crearemos otro usuario con el nombre Galileo Galilei y el user: ggalilei

Ahora es necesario mapear los usuarios creados con extensiones disponibles en nuestra Elastix.

Tenemos creadas la extensión 200, 201 y 202. Mapearemos a jdoe con la extensión 200 y a ggalilei con la extensión 202. Para mapear las extensiones debemos ir a: OpenFire → Asterisk-IM → Phone Mappings Una vez en Phone Mappings, añadiremos el mapeo para jdoe:

Configuramos los campos de la siguiente manera:

• Username: jdoe • Device: SIP/200 • Extension: 200 • Caller ID: 200 • Primary: check

Hacemos clic en add y se añadirá el mapeo para ese usuario. Hacemos lo mismo con ggalilei.

127

Page 129: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-15  

Mensajería Instantánea en Elastix Laboratorio 15.3 (Práctica recomendada) Descripción: Instalar dos clientes de mensajería instantánea, uno de ellos “Spark”, para probar la funcionalidad de integración de Openfire con Asterisk. Objetivo: Aplicar las configuraciones vistas en clase en un ejemplo real y demostrar el funcionamiento de la mensajería Instantánea con Elastix. Tiempo Máximo: 15 minutos. Instrucciones: Para probar la funcionalidad de llamada podemos hacer login desde dos clientes de mensajería

instantánea. Uno de ellos debe ser Spark, ya que tiene un plugin denominado “SIP Softphone” que nos permitirá

hacer el marcado. El otro cliente puede ser cualquiera de los siguientes: Pidgin (windows, mac, ubuntu, source), iChat

(mac). Cualquier cliente que permita crear una cuenta jabber/XMPP. Haremos login con ggalilei en spark y con jdoe desde cualquier cliente IM. Para ingresar al spark ingresamos los siguientes datos:

En el caso de otro cliente IM, lo mas común es que pidan la siguiente información: Usuario: user@elastix_domain (elastix_domain = host de Elastix) Servidor Jabber / XMPP: IP de Elastix Password: Contraseña Una vez que ingresamos con ambas cuentas, podemos iniciar el chat. En la siguiente imagen podemos observar que ggalilei tiene abierta una ventana de mensajes, y tiene

el ícono de un teléfono.

128

Page 130: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-15  

En la siguiente imagen podemos observar como se inicia la llamada al hacer clic en el ícono de

teléfono. La primera llamada es a la extensión 202 de ggalilei. ¿Por qué, si marcamos a jdoe?

Esto funciona así por una razón sencilla el plugin Asterisk-IM, hace “clic to call”. Cuando uno activa esta funcionalidad, como en el caso de la imagen, el servidor Elastix/Asterisk

llama a la extensión que generó la llamada primero, en este caso la extensión 202 de ggalilei. Una vez que ggalilei contesta la llamada, Elastix/Asterisk llama a la extensión de destino, en este

ejemplo la extensión 200 de jdoe. La razón es que Asterisk conecta ambas extensiones con una llamada, pero no llama a la extensión

de destino a menos que la extensión que generó el pedido haya aceptado un invite, es decir que se ponga al teléfono.

¿Tiene su lógica no? Una llamada solo se generará si y solo si nosotros realmente estamos en la

línea, caso contrario no.

Clic  to  call  

129

Page 131: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-18  

Seguridad Laboratorio 18.1 Descripción: En este laboratorio aprenderemos a cambiar las claves de las principales aplicaciones de Elastix. Objetivo: Cambiar las contraseñas de Elastix para asegurar nuestro servidor Tiempo Máximo: 15 minutos. Instrucciones: Cambiar la contraseña del administrador en Elastix

1. Para cambiar la configuración de Elastix debemos ingresar a la interfaz web de Elastix como Administradores. 2. Luego ir a System → Users Management 3. Seleccionamos el usuario admin 4. Se selecciona la opción editar y podemos cambiar la contraseña del usuario admin. Habilitar y cambiar la contraseña de freePBX 1. Para cambiar la contraseña de freePBX nos dirigirnos al módulo de Seguridad de Elastix.

2. Luego seleccionaremos Advanced Settings 3. Habilitaremos el acceso a freePBX como se muestra a continuación y cambiaremos su password

130

Page 132: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-18  

4. Hacemos clic en “Guardar” 5. Nos dirigiremos a PBX → PBX Configuration → freePBX sin embeber 6. Iniciaremos sesión con el nuevo password

7. Deshabilitaremos el acceso a freePBX sin embeber en el apartado de Advanced Settings dentro del

módulo de seguridad.

Cambiar contraseña del usuario root de Linux 1. Para cambiar la contraseña ingresamos a Elastix como usuario root 2. Una vez que hemos ingresado escribimos el comando: passwd 3. Al hacer esto, el equipo nos solicitará la contraseña nueva, la ingresamos y presionamos enter. 4. Inmediatamente nos solicitará una confirmación de la nueva contraseña, volvemos a ingresarla y

presionamos enter:

Cambiar contraseña del usuario root de mysql 1. Desde la línea de comando de Linux escribimos: mysqladmin -u root -pClaveActual password 'ClaveNueva'

2. Ingresamos la clave que configuramos al momento de instalar Elastix. Ej: Si la clave actual es palosanto y queremos cambiarla a worldelastixnow la sentencia debe ser:

131

Page 133: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-18  

mysqladmin -u root -ppalosanto password 'worldelastixnow'

3. Hacemos clic en enter y si todo salió bien obtendremos únicamente una nueva línea. 4. Podemos probar la nueva contraseña ingresando a mysql con el siguiente comando: mysql -u root –p

Salimos con exit Cambiar la contraseña de Flash Operator Panel 1. Abrir el archivo /etc/amportal.conf vim /etc/amportal.conf 2. Buscar la línea FOPPASSWORD=

3. Cambiar la clave remplazando la cadena de texto luego del signo "=" , como se muestra a

continuación: FOPPASSWORD=nuevaclave 4. Grabar y Salir (Esc → :wq)

132

Page 134: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-18  

Seguridad Laboratorio 18.2 Descripción: Asegurar Elastix utilizando el Firewall en el mismo servidor con el módulo de seguridad de Elastix. Se asume para esta práctica que solo se tiene 1 interfaz de red y que esta se llama eth0. Objetivo: Aprender a cerrar todos los puertos menos los estrictamente necesarios para el funcionamiento de nuestra Central Tiempo Máximo: 10 minutos. Instrucciones: 1. Ingresar a la sección de Firewall dentro del módulo de seguridad de Elastix. 2. Activar el firewall presionando el botón "Activar Cortafuegos" tal como se muestra a continuación.

133

Page 135: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-18  

3. Realizar un escaneo local de puertos utilizando el comando "nmap -v -A localhost"

134

Page 136: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-18  

Seguridad Laboratorio 18.3 (Práctica recomendada) Descripción: Asegurar Elastix utilizando el Firewall en el mismo servidor utilizando iptables por línea de comando. Se asume para esta práctica que solo se tiene 1 interfaz de red y que esta se llama eth0. Objetivo: Aprender a cerrar todos los puertos menos los estrictamente necesarios para el funcionamiento de nuestra Central Tiempo Máximo: 20 minutos. Instrucciones: Ingresamos a la consola de Elastix como usuario root. Una vez en la consola ejecutamos las

siguientes líneas: Nota: podemos ver nuestro progreso con: iptables -L Aceptar el tráfico para el protocolo SIP iptables -A INPUT -p udp -m udp -i eth0 --dport 5060 -j ACCEPT Aceptar el tráfico para el protocolo RTP iptables -A INPUT -p udp -m udp -i eth0 --dport 10000:20000 -j ACCEPT Aceptar el tráfico para el protocolo IAX iptables -A INPUT -p udp -m udp -i eth0 --dport 4569 -j ACCEPT Aceptar el tráfico de HTTPS iptables -A INPUT -p tcp -i eth0 --dport 443 -j ACCEPT Aceptar el tráfico de SMTP iptables -A INPUT -p tcp -i eth0 --dport 25 -j ACCEPT Aceptar el tráfico de POP3 iptables -A INPUT -p tcp -i eth0 --dport 110 -j ACCEPT Aceptar el tráfico de IMAP iptables -A INPUT -p tcp -i eth0 --dport 143 -j ACCEPT Aceptar el tráfico de mensajería Instantánea iptables -A INPUT -p tcp -i eth0 --dport 9090 -j ACCEPT Denegar todo el otro tráfico restante iptables -A INPUT -p all -i eth0 -j DROP Una vez que hemos ingresado todas las líneas, grabamos la configuración con el siguiente comando: iptables-save > /etc/sysconfig/iptables

135

Page 137: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-18  

Seguridad Laboratorio 18.4 (Práctica recomendada) Descripción: Utilizar el módulo de Seguridad de Elastix para detectar claves débiles en el sistema. Objetivo: Aprender a utilizar la utilidad Weak Keys para evitar ataques de fuerza bruta a nuestras extensiones. Tiempo Máximo: 5 minutos. 1. Crear una nueva extensión SIP con la contraseña "1234" 2. En la interfaz de Elastix ir a: Security → Weak Keys 3. Hacer click en el link "Cambiar Clave" que aparecerá a continuación de nuestra extensión

comprometida.

4. Cambiar la clave y guardar

 

136

Page 138: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-17  

Desempeño Laboratorio 17.1 Descripción: Utilizar el programa Sipp para generar tráfico llamadas. Objetivo: Aplicar las configuraciones vistas en clase en un ejemplo real y demostrar el funcionamiento de Sipp, simulando el desempeño de nuestro Elastix en un ambiente de producción. Tiempo Máximo: 30 minutos. Instrucciones: Ingresamos a la consola de Elastix como usuario root Instalamos el programa sipp ejecutando el siguiente comando: yum install sipp Una vez que hemos instalado sipp, definimos un peer sip. Añadimos en el archivo

/etc/asterisk/sip_custom.conf la siguiente información: [sipp_test] type=friend context=sipp_context host=dynamic port=6000 user=sipp canreinvite=no disallow=all allow=ulaw Para editar el archivo digite: vim /etc/asterisk/sip_custom.conf

Grabar y Salir (Esc → :wq) Creamos una extensión adicionando un contexto para hacer nuestra prueba

Editar el archivo /etc/asterisk/extensions_custom.conf. vim extensions_custom.conf

137

Page 139: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-17  

Agregar las siguientes líneas al archivo

Grabar y Salir (Esc → :wq) Como podemos observar el contexto funciona cuando se marca a la extensión 2222, esta contestará

tocará un Music on Hold y colgará. Sipp se encargará de hacer tantas llamadas por segundo se requieran a este contexto.

Recargar asterisk: [root@elastix asterisk]# asterisk -rx “reload” Antes de iniciar las pruebas de estrés con sipp, activaremos las llamadas SIP anónimas en Elastix.

En la interfaz web de Elastix ir a Security → Advanced Settings. Una vez ahí encenderemos “Activar llamadas SIP anónimas”.

No es necesario hacer clic en “Guardar”. De la misma manera vamos a PBX → PBX Configuration → Configuración General y activamos la

opción: “Allow Anonymous Inbound SIP Calls?”

[from-internal-custom] include => sipp_context [sipp_context] exten => 2222,1,Answer exten => 2222,n,MusicOnHold(default) exten => 2222,n,Hangup

138

Page 140: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-17  

Seleccionamos la opción “Yes” y hacemos clic en “Submit Changes”. Después aplicamos los cambios. Ejecutando Sipp Una vez que hemos completado la configuración inicial estamos listos para ejecutar sipp y generar

llamadas a nuestro servidor. Ejecutamos el siguiente comando en donde el último parámetro indica el número de llamadas a

generar: sipp -sn uac -d 2000000 -s 2222 -i 127.0.0.1 -p 6000 ip.elastix –r 10 -l 10 En este comando se debe incluir la IP del servidor Elastix (ip.elastix) cuando la generación de

llamadas se realiza desde un servidor remoto. Si la prueba es en el mismo servidor debemos colocar: 127.0.0.1. Para este laboratorio la prueba la realizaremos en el mismo servidor.

El listado siguiente corresponde a una descripción de los parámetros del comando anterior

− d: duración de llamada (en milisegundos) − s: extensión a marcar − i: IP que ejecuta la orden de simulación de llamadas − p: puerto e IP del servidor Elastix donde se quieren hacer las pruebas de stress − r: rate, llamadas por segundo − l: limite máximo de llamadas concurrentes − users: usuarios (llamadas) concurrentes (en este ejemplo no usamos esta variación)

Como podemos observar el comando tiene configuradas 10 llamadas por segundo con un límite

máximo de 10 llamadas. Es recomendable realizar inicialmente las pruebas con un valor bajo de llamadas por segundo, ya que

no conocemos la capacidad de nuestro servidor. Realizaremos una prueba con un limite máximo de 10 llamadas concurrentes y luego una con un límite máximo de 80 llamadas concurrentes; en ambos casos con un rate de 10 llamadas por segundo.

Para esta prueba es necesario que iniciemos sesión en la consola de Elastix, desde tres consolas (el

programa putty permite esta funcionalidad). En todas las ventanas ingresaremos como usuario root. En cada consola ejecutaremos un comando:

139

Page 141: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-17  

Consola 1: comando sipp Consola 2: comando top Consola 3: Asterisk CLI: asterisk –r

Es recomendable que iniciemos top y el CLI antes de ejecutar el comando sipp. Una vez que tenemos todo listo, ejecutemos sipp: sipp -sn uac -d 2000000 -s 2222 -i 127.0.0.1 -p 6000 127.0.0.1 –r 10 -l 10 Veremos la siguiente salida:

En la consola de la derecha se está ejecutando sipp. En la consola superior izquierda el comando

Top y en la consola inferior izquierda Asterisk CLI. La aplicación Sipp es una herramienta que genera llamadas sipp simuladas en o hacia un servidor.

Cuando se ejecuta, genera un número de llamadas por segundo hasta alcanzar el máximo de llamadas concurrentes.

Una vez alcanzadas, sipp continúa tomando datos estadísticos. La ejecución de sipp sin embargo

consume un alto procesamiento al servidor, como vemos en el siguiente imagen:

Paramos la ejecución de sipp con ctrl-c, y obtenemos un reporte:

140

Page 142: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-17  

En realidad ya no necesitamos que sipp siga ejecutándose, ya que las llamadas se generaron y

tienen una duración para que podamos observar los resultados. Una vez que hemos parado sipp, observaremos que procesos están consumiendo mas

procesamiento.

Como podemos observar, en la imagen anterior, Asterisk consume un aproximado de 12.9% del CPU,

con 10 llamadas concurrentes. Estos datos pueden variar de acuerdo a la variación de su servidor. Mientras leemos este tutorial, las llamadas continúan en curso, por lo cual ejecutaremos dos

comandos en las consolas de la izquierda para observar nuevos datos:

Consola superior: top -p $(pidof asterisk) Consola inferior: watch -n1 "rasterisk -x 'core show channels' | tail -n4" En la consola superior hemos discriminado los valores para observar únicamente el valor porcentual

de Asterisk (que es lo que nos interesa en este laboratorio).

En la consola inferior podemos ver el número de llamadas y canales en curso mientras revisamos

nuestros datos.

141

Page 143: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-17  

Como esperábamos las llamadas concurrentes son 10. En el laboratorio 17.2 realizaremos una prueba para tomar muchos valores de uso de procesamiento

de tal manera que podamos hacer un promedio para ese número de llamadas concurrentes. Aunque ya paramos Sipp, las llamadas continúan en curso. Para pararlas ejecute el siguiente

comando desde cualquiera de las tres consolas: service asterisk restart Al ejecutar este comando observaremos en las consolas de la izquierda, que Asterisk no está

generando procesamiento y no hay llamadas activas al momento. Ahora realizaremos la prueba con 40 llamadas concurrentes. Ejecute:

Consola derecha: sipp -sn uac -d 2000000 -s 2222 -i 127.0.0.1 -p 6000 127.0.0.1 -users 40 Consola Superior Izquierda: top -p $(pidof asterisk) Consola Inferior Izquierda, controlaremos el número de canales: watch -n1 "rasterisk -x 'core show channels' | tail -n4"

Recuerde ejecutar los comandos en las consolas de la izquierda primero y sipp después. Consumo % de Asterisk

Canales y llamadas activas

Como era de esperar, el consumo de recursos, por parte de Asterisk, fue mayor con 40 llamadas

concurrentes.

142

Page 144: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-17  

Es importante indicar que los valores para cada servidor varían. Es recomendable hacer la prueba sin tarjetas de telefonía instaladas, con Openfire y el módulo de call center desactivados. De esa manera no tenemos procesos que interfieran en nuestra revisión.

143

Page 145: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-17  

Desempeño Laboratorio 17.2 (Práctica recomendada) Descripción: Utilizar un script para registrar los datos generados en las pruebas de estrés, con diferentes valores de llamadas simultáneas. Objetivo: Usar una herramienta que nos permita determinar valores estadísticos para calcular datos de procesamiento vs número de llamadas concurrentes. Tiempo Máximo: 20 minutos. Instrucciones: En el laboratorio anterior pudimos observar que en una prueba de estrés vemos los valores

momentáneos de % de uso de CPU. Sin embargo estos valores difieren durante la prueba y no son necesariamente constantes.

Una forma útil para obtener un valor promedio, es el de registrar un número X de valores en un

tiempo determinado. Para este efecto crearemos un Script que registre estos valores en un archivo de texto. Creamos el archivo: vim /opt/getUSAGE Al ingresar al editor de texto escribimos el siguiente script:

ps -o rss,vsize,%mem,%cpu -C asterisk > USAGE.txt sleep 2 for (( i=1; i<15; i++ )) do ps -o rss= -o vsize= -o %mem= -o %cpu= -C asterisk >> USAGE.txt sleep 2 done

Grabar y Salir (Esc → :wq) Como pudimos observar el archivo fue creado en el directorio /opt. El script está escrito para que al

ejecutarlo se genere un archivo de texto con nombre USAGE.txt, que tome “15” muestras cada dos segundos.

144

Page 146: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-17  

Ahora cambiaremos los permisos del archive getUSAGE con el siguiente comando: chmod +x /opt/getUSAGE Una vez que creamos el script y hemos cambiado sus permisos, podemos iniciar la toma de las

muestras. Toma de datos Realizaremos una prueba de estrés con 10 llamadas concurrentes usando sipp y registraremos la

información con el script getUSAGE. Es importante indicar los siguiente:

Correremos el script (getUSAGE) después de 2-3 minutos de haber iniciado las llamadas con sipp; esto permitirá al sistema estabilizarse con esas llamadas. Para correr el script (getUSAGE) es necesario estar ubicados en el directorio /opt El script se ejecuta con el siguiente comando: ./getUSAGE Una vez que iniciemos sipp esperaremos hasta que se hayan generado el total de llamadas concurrentes y saldremos con ctrl-c. Hacemos esto ya que le generación de estadísticas de sipp carga mucho procesamiento.

Al igual que hiciéramos en el laboratorio anterior, utilizaremos tres consolas para realizar la prueba.

Consola derecha: sipp -sn uac -d 2000000 -s 2222 -i 127.0.0.1 -p 6000 127.0.0.1 -users 10 Consola superior Izquierda, controlaremos el número de canales: watch -n1 "rasterisk -x 'core show channels' | tail -n4" Consola inferior Izquierda: ./getUSAGE

Canales y llamadas activas

Al ejecutar ./getUSAGE el script demorará alrededor de 30 segundos mientras toma los datos de

procesamiento y memoria.

145

Page 147: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-17  

Una vez que el script haya culminado podemos ingresar al archivo txt generado de la siguiente manera:

Al ingresar al archivo podemos observar los siguientes valores:

Como podemos observar, tenemos varios valores de procesamiento para esta prueba (10 llamadas concurrentes). Con esto podemos sacar un promedio de procesamiento % con 10 llamadas concurrentes.

Es ideal hacer esta misma prueba con valores de 20, 30, 40, 50, 70, 80, 90 y 100 llamadas

concurrentes (a un rate de 10 llamadas por segundo). De esta manera podemos establecer una curva que nos ayude a pronosticar el rendimiento de nuestro servidor.

Es importante indicar que el script ./getUSAGE sobre escribe el archivo USAGE.txt, por lo cual si lo

queremos tener guardado como referencia debemos hacer un backup con otro nombre e.g. USAGE10.txt

146

Page 148: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-19    

Depuración Avanzada Laboratorio 19.1 Descripción: Utilizar el comando strace en un programa básico y ver la salida cuando se produce un error en la ejecución Objetivo: Familiarizarse con el comando strace y aplicarlo para hacer debugging. Tiempo Máximo: 10 minutos Instrucciones: Crear el archivo divide.c en el directorio /opt con el siguiente contenido

Compilar el archivo divide.c con la opción -g para debugging: Ejecutar el comando strace con la opción -o para enviar la salida al archivo salida.divideXXX.txt: Se ejecutará el programa y pedirá dos números para dividir. En el segundo número ingresar 0:

[root@elastix opt]# vim divide.c

#include<stdio.h> #include<math.h> int main(void) { int a; int b; printf("Introduce el primer numero\n"); scanf("%d", &a); printf("Introduce el segundo numero\n"); scanf("%d", &b); printf("Resultado: %d \n",(a/b)); return 0; }

[root@elastix opt]# gcc -g divide.c -o divide

[root@elastix opt]# strace -o salida-divide.txt ./divide

147

Page 149: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-19    

Revisar el archivo salida-divide.txt como sigue: Al revisar el archivo veremos una línea como sigue: NOTA: SIGFPE es una señal enviada a un proceso ó programa cuando se realiza una operación

errónea de punto flotante.

[root@elastix opt]# vim salida-divide.txt

--- SIGFPE (Floating point exception) @ 0 (0) --- +++ killed by SIGFPE +++

148

Page 150: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-19    

Debugging Avanzado Laboratorio 22.2 Descripción: Utilizar el comando gdb en un programa básico y ejecutar los comandos RUN, STEP, PRINT, BREAK, QUIT. Objetivo: Familiarizarse con el comando gdb y aplicarlo para hacer debugging. Tiempo Máximo: 15 minutos Instrucciones: Instalar el paquete gdb-7.0.1-42.el5.centos.i386.rpm utilizando el comando yum:

[root@elastix opt]# yum install gdb Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.adams.net * commercial-addons: 66.128.53.13 * elastix-base: 66.128.53.13 * elastix-extras: 66.128.53.13 * elastix-updates: 66.128.53.13 * epel: ftp.osuosl.org * extras: mirror.ubiquityservers.com * updates: mirrors.easynews.com Transaction Summary ============================================================================== Install 1 Package(s) Upgrade 0 Package(s) Total download size: 2.4 M Is this ok [y/N]: y Downloading Packages: gdb-7.0.1-42.el5.centos.i386.rpm | 2.4 MB 00:02 Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Installing : gdb 1/1 Installed: gdb.i386 0:7.0.1-42.el5.centos Complete!

149

Page 151: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-19    

Crear el archivo imprime.c en el directorio /opt

Compilarlo con la opción -g para debugging: Ejecutar el comando gdb con la opción -q para el programa imprime, como sigue:

[root@elastix opt]# vim imprime.c

#include<stdio.h> #include<math.h> int main(void) { int a; int b; int c; printf("Ingrese el primer numero\n"); scanf("%d", &a); printf("Ingrese el segundo numero\n"); scanf("%d", &b); c=a+b; printf("La suma de %d y %d es %d \n",a,b,c); return 0; }

[root@elastix opt]# gcc -g imprime.c -o imprime

[root@elastix opt]# gdb -q imprime Using host libthread_db library "/lib/libthread_db.so.1". (gdb)

150

Page 152: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-19    

En el prompt de gdb, crear los “breaks” para el programa imprime, como sigue:

Ejecutamos el comando RUN, como sigue:

Vamos avanzando línea por línea con el comando step, como sigue: --

Reading symbols from /opt/imprime...done. (gdb) break imprime.c:1 Breakpoint 1 at 0x8048415: file imprime.c, line 1. (gdb) break imprime.c:2 Note: breakpoint 1 also set at pc 0x8048415. Breakpoint 2 at 0x8048415: file imprime.c, line 2. (gdb) break imprime.c:3 Note: breakpoints 1 and 2 also set at pc 0x8048415. Breakpoint 3 at 0x8048415: file imprime.c, line 3. (gdb) break imprime.c:4 Note: breakpoints 1, 2 and 3 also set at pc 0x8048415. Breakpoint 4 at 0x8048415: file imprime.c, line 4. (gdb) break imprime.c:5 Note: breakpoints 1, 2, 3 and 4 also set at pc 0x8048415. Breakpoint 5 at 0x8048415: file imprime.c, line 5. (gdb) break imprime.c:6 Note: breakpoints 1, 2, 3, 4 and 5 also set at pc 0x8048415. Breakpoint 6 at 0x8048415: file imprime.c, line 6. (gdb) break imprime.c:7 Note: breakpoints 1, 2, 3, 4, 5 and 6 also set at pc 0x8048415. Breakpoint 7 at 0x8048415: file imprime.c, line 7. (gdb)

(gdb) run

Starting program: /opt/imprime

Breakpoint 1, main () at imprime.c:9

9 printf("Ingrese el primer numero\n");  

Breakpoint 1, main () at imprime.c:9

9 printf("Ingrese el primer numero\n");

(gdb) step

 

151

Page 153: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-19    

Ingresamos un valor y ejecutamos el comando “print a” , para imprimir el valor de la variable “a”:

Seguimos la ejecución del programa con el comando “step” hasta terminarlo:

Para salir ejecutamos el comando “quit”, como sigue:

 

Ingrese el primer numero

10 scanf("%d", &a);

(gdb) step

8

11 printf("Ingrese el segundo numero\n");

(gdb) print a

$1 = 8

(gdb)  

(gdb) step 8 11 printf("Ingrese el segundo numero\n"); (gdb) print a $1 = 8 (gdb) step Ingrese el segundo numero 12 scanf("%d", &b); (gdb) step 4 13 c=a+b; (gdb) step 14 printf("La suma de %d y %d es %d \n",a,b,c); (gdb) step La suma de 8 y 4 es 12 15 return 0;

(gdb) quit A debugging session is active. Inferior 3 [process 13906] will be killed. Quit anyway? (y or n) y

152

Page 154: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-20    

DUNDi Laboratorio 20.1 Descripción: Implementar DUNDi mediante el addon de marcado distribuido entre dos servidores Elastix y hacer una prueba de llamada desde las extensiones de uno de los servidores. Objetivo: Utilizar el addon de plan de marcado distribuido para la utilización de DUNDi. Tiempo Máximo: 20 minutos. Instrucciones: Agruparse en pareja para implementar DUNDI con su compañero. Instalar el addon de marcado distribuido en ambos servidores Elastix. Ir al menú Addons

Una vez que hemos instalado el addon, dirigirse a PBX → Distributed DialPlan y completar el

formulario inicial.

En ambos servidores, dirigirse a PBX → Distributed DialPlan y completar el formulario de “Información

General”. En el primer servidor 1 dirigirse al submenú "Password Connection" ubicado a la izquerda.

153

Page 155: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-20    

Copiamos la clave generada o podemos enviarla por correo incluyendo una dirección en el campo “Email” y haciendo clic en enviar. En cualquiera de los dos casos la información que se encuentra en el campo clave, es el certificado que tendremos que usar.

En el servidor 2 dirigirse a "Peers Information" y seleccionar "Nueva Conexión"

Completar el formulario con la dirección IP de el servidor 1 y el certificado / password generado.

Presionar el botón "Petición" Nuevamente en el servidor 1, dirigirse a "Peers Information" donde figurará la nueva petición de

conexión. Hacer clic en el enlace "Petición de Conexión".

Presionar el botón "Aceptar"

154

Page 156: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Lab-20    

En el servidor 2, dirigirse nuevamente a "Peers Information", donde figurará la nueva conexión y

presionar el enlace "Conectar"

Repetir el paso anterior en el servidor 1. Una vez finalizado el proceso obtendremos el siguiente resultado, y podremos realizar llamadas entre

las dos centrales.

En el servidor 2, cree la extensión 400. Registre esta extensión en el teléfono IP o en un softphone. Desde la extensión 200 del servidor 1, marque a la extensión 400. Si todo fue configurado

correctamente debería conectar una llamada.

155

Page 157: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Anexo 1  

Anexo 1 Pasos para la creación y configuración de

una cuenta de Net2Phone

156

Page 158: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Anexo 1  

1. Creación de la cuenta Para ingresar al portal de net2phone podemos hacer click en el banner que se encuentra en la sección de descargas de Elastix.org

O a través del siguiente link: http://n2pelastix.com

Hacemos click en “Regístrate”. Inmediatamente accedemos a un formulario que debe ser llenado con todos los datos de la persona que manejará la cuenta y el ingreso de fondos para tener crédito en la misma. Incluimos una serie de Screenshots con el formulario para su revisión.

157

Page 159: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Anexo 1  

Información del titular

Información de monto

158

Page 160: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Anexo 1  

Información de cuenta de crédito

Información de número de teléfono virtual

Nota importante: Es recomendable escoger el número virtual, el cual se hace en “Información de número de teléfono virtual” (ver gráfico anterior) antes de proceder con el llenado de cualquier otra información, ya que en el proceso de escoger este número de teléfono se borran campos que hemos ingresado. Este proceso toma tiempo hasta lograr establecer el número de teléfono deseado debido a que hay múltiples alternativas entre las cuales está el país, el estado y la ciudad. Ver imagen siguiente.

159

Page 161: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Anexo 1  

Una vez que completamos todo el llenado de la información de toda la información obligatoria, hacemos click en “envia el siguiente” y la cuenta se creará.

Obtenemos la siguiente pantalla con información de la cuenta:

160

Page 162: Elastix  lab ece-book-esp

ELASTIX® CERTIFICATION

 

labs

 

Anexo 1  

La cuenta genera la siguiente información importante (ver gráfico anterior):

Su número de Cuenta Su PIN Su número de teléfono

161