Está en la página 1de 162

ELASTIX

CERTIFICATION
!
labs
!
Lab-1
!
!
!
Instalacin de Elastix

Laboratorio 1.1

Descripcin: En este laboratorio prepararemos una mquina virtual en el software VM VirtualBox para la
instalacin de Elastix.

Objetivo: Instalacin de maquina virtual

Tiempo Mximo: 15 minutos.

Instrucciones:


Ejecutar VM VirtualBox.

Hacemos clic en New / Nueva para crear una mquina virtual.



Veremos la pantalla de bienvenida de VirtualBox para configurar una nueva mquina virtual. Hacemos clic
en Next/Siguiente.



1
ELASTIX

CERTIFICATION
!
labs
!
Lab-1
!
!
!
Colocaremos como nombre a la mquina virtual ELASTIX-ECTE. Seleccione Linux como sistema operativo
y Red Hat como versin. Hacemos clic en Next/Siguiente.





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










2
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 opcin por defecto para crear una VDI (Imagen de disco de
VirtualBox. Hacemos clic en Next/Siguiente.








3
ELASTIX

CERTIFICATION
!
labs
!
Lab-1
!
!
!
Virtual Disk Storage details: Configuramos el tipo a Fixed Size/Tamao fijo. Hacemos clic en
Next/Siguiente.





Localidad y tamao de disco virtual: Dejaremos la localidad por defecto y configuraremos el tamao
mximo del disco a 8 GB. Hacemos clic en Next/Siguiente.









4
ELASTIX

CERTIFICATION
!
labs
!
Lab-1
!
!
!
Revisamos el sumario de los parmetros del disco virtual que estamos creando para nuestra mquina virtual
y hacemos clic en el botn Create/Crear para iniciar el proceso de creacin del nuevo disco virtual.







Despus de que este proceso ha concluido procederemos a crear la mquina virtual haciendo clic en el
botn Create/Crear para iniciar el proceso.




5
ELASTIX

CERTIFICATION
!
labs
!
Lab-1
!
!
!
Antes de iniciar el proceso de instalar Elastix, es importante revisar la configuracin de red.




Para este efecto debemos ir a: Setting Network (Configuracin Red)

Seleccionamos Bridged Adapter (Adaptador Puente)









6
ELASTIX

CERTIFICATION
!
labs
!
Lab-1
!
!
!
Despus 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 podra
referirse a un dispositivo WiFi u otro.

Ahora estamos listos para iniciar el proceso de instalacin.

Haga clic en Start/Iniciar para encender la nueva mquina virtual.




7
ELASTIX

CERTIFICATION
!
labs
!
Lab-1
!
!
!
El primer Wizard aparecer. Haga clic en "Next/Siguiente" para seleccionar el medio de boot para la
mquina virtual.




Select Installation Media: Navegue por los archivos de su computadora para localizar y seleccionar el
archivo ISO Elastix 2.2. Despus de hacer clic en Next/Siguiente usted ver un sumario de la informacin
de booteo para la mquina virtual.





8
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 instalacin de Elastix.

Contine en el siguiente laboratorio (1.2).
























9
ELASTIX

CERTIFICATION
!
labs
!
Lab-1
!
!
!
Instalacin de Elastix

Laboratorio 1.2

Descripcin En este laboratorio instalaremos Elastix en una mquina virtual.

Nota: En una instalacin real para produccin el proceso de instalacin formatear todo el disco duro.

Objetivo: Conocer el proceso de instalacin de Elastix

Tiempo Mximo: 30 minutos.

Instrucciones:


Ejecutamos la mquina virtual con la ISO seleccionada tal como se realiz en el laboratorio anterior. La
pantalla de instalacin de Elastix aparecer, presionamos ENTER para iniciar el proceso.




Nota: Durante este proceso no podremos utilizar el ratn, por lo cual debemos usarlas teclas Tab, Barra
Espaciadora y .





10
ELASTIX

CERTIFICATION
!
labs
!
Lab-1
!
!
!
En la pantalla siguiente escogemos el lenguaje para el proceso de instalacin. Aceptar




Escogemos el formato del teclado. Aceptar






Nota: para teclado en ingls que requiera ser utilizado en espaol, es til seleccionar la opcin us-
acentos, como se muestra en la imagen.



11
ELASTIX

CERTIFICATION
!
labs
!
Lab-1
!
!
!
Seleccionamos el tipo de particionamiento. En este caso usted ver nicamente la particin de la mquina
virtual. Seleccionamos la primera opcin y avanzamos. Aceptar





Confirmamos que vamos a borrar la particin (Si).








12
ELASTIX

CERTIFICATION
!
labs
!
Lab-1
!
!
!
Revisar y Modificar el particionamiento (No)






Seleccione (Si) para configurar la interfaz de red











13
ELASTIX

CERTIFICATION
!
labs
!
Lab-1
!
!
!
Seleccione Activar al inicio y Activar soporte Ipv4. Aceptar





Seleccione Configuracin de IP dinmica (DHCP). Aceptar









14
ELASTIX

CERTIFICATION
!
labs
!
Lab-1
!
!
!
Ingrese el hostname (este puede ser asignado de manera automtica va DHCP). Aceptar



!
!
Seleccione!la!zona!horaria!apropiada.!! Aceptar!
!
!
!
!
!
!
!
15
ELASTIX

CERTIFICATION
!
labs
!
Lab-1
!
!
!
Ahora! ingrese! la! contrasea! del! usuario! root! (usuario! Linux)! que! se! utilizar! cuando! el! sistema! est!
instalado.!Es!muy!importante!que!no!olvide!esta!contrasea,!por!lo!tanto!escrbala!y!memorcela.!!
Aceptar!
!




Listo. Hemos ingresado toda la informacin necesaria por ahora. Puede ponerse cmodo y esperar.




16
ELASTIX

CERTIFICATION
!
labs
!
Lab-1
!
!
!
En un determinado momento de la instalacin, el sistema nos pedir que ingresemos la contrasea para el
usuario root de MySQL. Es! importante! tambin! que! no! olvide! esta! contrasea,! por! lo! tanto! escrbala! y!
memorcela.!! Aceptar





Reingrese!la!contrasea!del!usuario!root!MySQL!
!
!



17
ELASTIX

CERTIFICATION
!
labs
!
Lab-1
!
!
!
El proceso pedir que ingrese una contrasea para el usuario admin de la Interfaz Web de Elastix. Es!
importante!tambin!que!no!olvide!esta!contrasea,!por!lo!tanto!escrbala!y!memorcela.!!Esta!contrasea!es!
la! misma! para! otros! componentes! como:! FreePBX,! Vtiger! y! A2Billing.! Es! importante! que! esta! contrasea!
sea!os!suficientemente!fuerte!para!evitar!problemas!de!intrusin!a!posterior.! Aceptar




Reingrese la contrasea 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
ELASTIX

CERTIFICATION
!
labs
!
Lab-1
!
!
!

En la consola podemos observar la IP que el servidor central o la red asigno a Elastix va 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 contrasea que colocamos durante el proceso de instalacin de
Elastix.


!
19
ELASTIX

CERTIFICATION
!
labs
!
Lab-2

!
Linux para administradores Elastix

Laboratorio 2.1

Descripcin: 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 mximo: 30 minutos.

Nota:

Mquinas con sistema operativo Linux tienen capacidad nativa para ingresar a la consola de comandos de
Elastix. Usuarios Windows pueden acceder a la lnea de comandos a travs la mquina 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 direccin IP:



Coloque la direccin IP de su Elastix en Host Name (or IP address). Despus de esto haga clic en open.

Debemos ingresar como usuario root. Use la contrasea que coloc durante la instalacin de Elastix.





20
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 lnea de comandos de Linux. Comandos bsicos del
da a da del manejo de Elastix sern 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 informacin adicional
! ls -l




Enliste los contenidos del directorio /etc con informacin adicional
! ls -l /etc

21
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
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




- Edicin de archivos:

Edite y salve el archivo test.txt con la aplicacin de edicin: vim.
vim test.txt

Una vez que est en vim, presione la tecla INSERT (la tecla i es tambin una alternativa) para
habilitar el modo de edicin, 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
ELASTIX

CERTIFICATION
!
labs
!
Lab-2

!
Revise la ayuda para varios comandos
man ls



Para regresar a la lnea de consola solo presione q

Pruebe ahora con
man yum o
man scp


Cree y maneje usuarios

En este punto debera 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
ELASTIX

CERTIFICATION
!
labs
!
Lab-2

!
Nota: Este comando culmina la sesin 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 ledo por el usuario elx1
mkdir /home/elx1/private

Haga que el directorio private solo pueda ser ledo por el usuario elx1
chmod 700 /home/elx1/private




Revise el dueo 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 debera
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 accin, es necesario indicar la locacin actual del archivo. Si la nueva locacin
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 locacin con el mismo comando.

Despus de que usted copie el archivo ejecute ls l para enlistar todos los archivos disponibles en el
directorio.

25
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 telefona en Elastix as como para otros casos.

Mueva un archivo a otra locacin. Cree el directorio /tmp/test2. Una vez que lo haya creado mueva
el archivo test2.txt desde el directorio /tmp/test a /tmp/test2. Despus 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 locacin.

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 locacin actual y ejecute ls para confirmar que se ha borrado.

rm /tmp/test2/test3.txt
ls l /tmp/test2


26
ELASTIX

CERTIFICATION
!
labs
!
Lab-2

!
Copia de un archivo desde una locacin remota usando un ssh port tunnel.

Este proceso permite que usted enve un archivo de una locacin a otra, bsicamente de un servidor a
otro. En el siguiente ejemplo enviamos el archivo install.log, desde la direccin IP 192.168.1.65 a la
direccin IP 192.168.1.66. Es necesario tener el password del usuario root del servidor que recibir el
archivo.

scp install.log root@192.168.1.66:/opt



Enve 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 lgica del proceso de copiar y mover archivos, por lo cual si quiere
cambiar el nombre del archivo (e.g. test4.txt), entonces la lnea correcta debera ser:
scp /tmp/test2/test2.txt root@IP_address:/tmp/test/test4.txt

Instalacin de Paquetes

Ingrese como usuario root. Instale y desinstale el paquete screen

Instalacin:

yum install screen

Se pedir que confirme algunas acciones, como descargar paquetes, solo coloque yes (y) y presione
enter.

27
ELASTIX

CERTIFICATION
!
labs
!
Lab-2

!



Desinstalacin:

yum remove screen

Usted deber confirmar esta accin, 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
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 direccin IP y la configuracin de red en su servidor. Usaremos una
funcionalidad grfica para este curso. La configuracin se puede hacer tambin en la interfaz de
administracin web de Elastix.

Revisando la interfaz de red

ifconfig a


29
ELASTIX

CERTIFICATION
!
labs
!
Lab-2

!
En este ejemplo podemos observar que nuestra interfaz es eth0 y la direccin IP que tiene
asignada.

Cambiando su direccin IP

setup




Usted obtendr la siguiente ventana

Vaya a Configuracin de la red y presione enter (use las flechas)





Para configurar su direccin IP vaya a Edit Devices y presione enter.








30
ELASTIX

CERTIFICATION
!
labs
!
Lab-2

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





Coloque la configuracin 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 configuracin de DNS



31
ELASTIX

CERTIFICATION
!
labs
!
Lab-2

!
Aqu podemos configurar el Hostname (Nombre del equipo) y los DNSs. Presione Ok cuando haya
concluido.




Una vez que hemos finalizado, presionamos Guardar y Cerrar





Si modificamos cualquier parmetro es necesario que reiniciemos el servicio de red para aplicar los
cambios.

service network restart




32
ELASTIX

CERTIFICATION
!
labs
!
Lab-3
!
!
!
Configuracin bsica de Elastix

Laboratorio 3.1

Descripcin: En este laboratorio realizaremos la configuracin bsica de nuestra central, se
configurar la red con una IP esttica, se crearn dos extensiones SIP, una extensin IAX.

Objetivo: Familiarizarse con la configuracin bsica de Elastix

Tiempo Mximo: 10 minutos.

Instrucciones:

Durante la instalacin de Elastix se configur el equipo con una IP dinmica asignada por DHCP.

Es recomendable asignar una IP esttica ya que muchos dispositivos estarn intentando registrarse
en esa direccin y no queremos que existan cambios imprevistos. Ir a:

Sistema Network (Ethernet 0, Ethernet 1, Ethernet n)



Cambie su direccin IP a esttica y asigne una direccin IP. Una vez que haya completado la tarea
hacer clic en Aplicar Cambios

Es muy probable que debamos cambiar la configuracin de HOST, DNS y GATEWAY. Para hacer
esto ir a:

Sistema Networks Editar parmetros de red

Una vez modificado los parmetros necesarios guardamos los cambios.







33
ELASTIX

CERTIFICATION
!
labs
!
Lab-3
!
!
!
Ahora crearemos una extensin SIP, ir a:

PBX PBX Configuration Extensiones



Seleccione Generic SIP Device y haga clic en Submit

Crearemos la extensin 200 con el nombre John Doe y la contrasea secret123. Una buena
prctica recomendada es no colocar contraseas dbiles en las extensiones. Para el caso de este y
otros ejemplos lo haremos fcil por efectos didcticos.





Una vez ingresada la configuracin hacemos clic en Submit





Crear una extensin SIP con la extensin 202
Nota: Cada vez que creemos una extensin, una cola, un cuarto de conferencia o realicemos una
configuracin en el men PBX Configuration, necesitaremos aplicar los cambios. Se muestra un
ejemplo en la siguiente imagen:
34
ELASTIX

CERTIFICATION
!
labs
!
Lab-3
!
!
!

Extensin IAX

Ahora crearemos una extensin IAX2, ir a:

PBX PBX Configuration Extensiones



Seleccione Generic IAX2 Device y haga clic en Submit

Crearemos la extensin 201 con su nombre y la contrasea secret123.





Una vez ingresada la configuracin hacemos clic en Submit y aplicamos los cambios.











35
ELASTIX

CERTIFICATION
!
labs
!
Lab-3
!
!
!
Configuracin bsica de Elastix

Laboratorio 3.2

Descripcin: En este laboratorio configuraremos dos softphones para probar las configuraciones
hechas en nuestro Elastix.

Objetivo: Familiarizarse con la configuracin de endpoints en Elastix

Tiempo Mximo: 10 minutos.

Instrucciones:

Una vez que hemos creado las extensiones 200 (SIP), 201 (IAX2) y 202 (SIP), debemos configurarlas
en los dispositivos que nos permitirn usarlas para llamadas y pruebas durante este curso.

Configuraremos la extensin 200 en el telfono IP asignado.

Configuraremos la extensin 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 extensin.

La configuracin es similar a otros softphones o telfonos IP. Para ms informacin visite
(http://www.zoiper.com/).

La primera vez que ejecutemos ZOIPER nos aparecer una pantalla similar a la siguiente.



Para seguir con la configuracin pulsamos el botn de opciones.



36
ELASTIX

CERTIFICATION
!
labs
!
Lab-3
!
!
!
El siguiente paso es crear la extensin, para hacemos clic en Add New IAX Account, colocamos un
nombre referencia y hacemos clic en OK.




Luego agregamos la direccin IP del servidor Elastix (esta es la direccin donde el softphone se
registrar) que se est usando, el nmero de la extensin (201), la contrasea (secret123), el Caller
ID Name (201) y Caller ID Number (201). Luego hacemos clic en OK.



Para finalizar la configuracin de la extensin en el softphone, la registramos.



Una vez que la extensin est registrada, podemos marcar 1234 para probarla. Si todo fue
configurado correctamente escucharemos a Allison Smith (La voz de Asterisk) con un mensaje de
felicitacin.

37
ELASTIX

CERTIFICATION
!
labs
!
Lab-3
!
!
!
Tambin podemos realizar una prueba de eco marcando *43, asegrese de tener un micrfono
conectado.
!


Extensin 202

Ahora configuraremos la extensin 202 en otro softphone. Usaremos X-Lite la versin gratuita de Bria
(http://www.counterpath.com/x-lite.html)

Iniciamos x-lite, hacemos clic en Softphone y seleccionamos Account Settings.


38
ELASTIX

CERTIFICATION
!
labs
!
Lab-3
!
!
!
Colocamos un nombre de referencia en Account Name. En User ID colocamos el nmero de la
extensin (202), en Domain colocamos la direccin IP del servidor Elastix.

En password colocaremos la contrasea 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 automticamente, por lo cual si todo es correcto podemos
iniciar las llamadas inmediatamente.

Al igual que hicimos con la extensin 201, podemos marcar 1234 para probar la extensin. Tambin
podemos realizar una prueba de eco marcando *43, asegrese de tener un micrfono conectado.


39
ELASTIX

CERTIFICATION
!
labs
!
Lab-3
!
!
!
Configuracin bsica de Elastix

Laboratorio 3.3

Descripcin: En este laboratorio realizaremos configuraciones en las extensiones creadas, como
habilitar el voicemail y crear un grupo para jalar una llamada desde una extensin.

Objetivo: Familiarizarse con la configuracin bsica de Elastix

Tiempo Mximo: 10 minutos.

Instrucciones:

Colocaremos la extensin 200 y 202 en el mismo grupo y pickupgroup, de tal manera que cuando una
de las dos reciba llamadas la otra extensin pueda hacer un call pickup.

Para configurar la extensin 200 debemos ir a PBX PBX Configuration Extensiones 200

Una vez en la pantalla de configuracin de la extensin vamos a la seccin Device Options. Aqu
configuraremos el grupo, el pickupgroup y adems estableceremos el cdec g.711 por defecto para
esta extensin.



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

En disallow, colocamos all, lo cual implica que no est habilitado ningn cdec. Inmediatamente
colocamos ulaw en el campo allow, con lo cual establecemos que el cdec sea nicamente g.711 en
la versin ulaw.

40
ELASTIX

CERTIFICATION
!
labs
!
Lab-3
!
!
!
En algunos telfonos, como los Yealink, es necesario cambiar la configuracin del campo mailbox,
para que sea extension@default. En este caso, cambiaremos 200@device por 200@default si el
telfono es Yealink. Esto garantiza que cuando la extensin reciba un voicemail, el telfono lo indique
en el botn colocado para ese fin.

En la misma pantalla de configuracin habilitaremos el voicemail. Esta configuracin se realiza en la
seccin Voicemail & Directory.



Para habilitar el voicemail en la extensin 200, seleccionaremos Enabled en Status. La contrasea
elegida para este ejemplo es: 1234.

Tenemos la opcin de colocar un Email, para que cada vez que la extensin reciba un voicemal
Elastix nos avise al correo. Es posible adems permitir que nos llegue el audio como attachment, en
este ejemplo no lo activaremos.

Una vez que hemos culminado la configuracin hacemos clic en Submit y aplicamos los cambios.

Realizaremos la misma configuracin en la extensin 202, con la excepcin de la configuracin del
cdec y del campo mailbox ubicados en la seccin Device Options.

Una vez que hemos configurado la extensin 202, realizaremos una llamada a esta extensin desde
la extensin 201. En cuanto escuchemos el ringado, marcaremos *8 desde la extensin 200. Si las
configuraciones fueron correctas (es decir que la extensin 200 y 202 estn en el mismo group y
pickupgroup) habremos jalado una llamada.









41
ELASTIX

CERTIFICATION
!
labs
!
Lab-3
!
!
!
Configuracin bsica de Elastix

Laboratorio 3.4

Descripcin: En este laboratorio se harn configuraciones adicionales a Elastix, salas de
conferencias y colas. Es importante para este laboratorio tener 3 o ms extensiones configuradas
para realizar la prueba.

Objetivo: Familiarizarse con la configuracin bsica de Elastix

Tiempo Mximo: 10 minutos.

Instrucciones:

Crearemos una cola de atencin 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
!
! Aadimos!la!extensin!201!y!la!extensin!202!a!la!cola.!
!
!


Elegimos como estrategia de ringado la poltica linear.
42
ELASTIX

CERTIFICATION
!
labs
!
Lab-3
!
!
!




Hacemos clic en Submit Changes y aplicamos los cambios.

Una vez que las extensiones estn listas marcamos 5000 desde la extensin 200.

Las extensiones 201 y 202 sonarn 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 nmero 3000. Las personas que llamen a este nmero
podrn conversar al mismo tiempo y mantener una reunin.

Ir a:

PBX PBX Configuration Conferencias

43
ELASTIX

CERTIFICATION
!
labs
!
Lab-3
!
!
!


Haga clic en enviar cambios

Ahora intente llamar a esta conferencia desde las extensiones creadas anteriormente.!
!
!
!
!
!
!
!
!
!
!
!
!
!
44
ELASTIX

CERTIFICATION
!
labs
!
Lab-3
!
!
!
Configuracin bsica de Elastix

Laboratorio 3.5

Descripcin: En este laboratorio haremos grabaciones que se podrn usar para un correo de voz, un IVR o
para otro propsito.

Objetivo: Familiarizarse con la funcionalidad de grabacin de audio

Tiempo Mximo: 20 minutos.

Instrucciones:
!
Ir a PBX PBX Configuration Grabaciones del Sistema

Usted observar la siguiente pantalla:




Grabaremos un audio desde una extensin existente. Para este ejemplo use la extensin 200
(telfono IP). Si usted usa un softphone para este proceso asegrese de tener un micrfono
conectado y funcionando.



Coloque la extensin y presione Ir.

Desde la extensin 200 marque *77, usted escuchar un beep, despus de esto grabe su mensaje y
marque #.
45
ELASTIX

CERTIFICATION
!
labs
!
Lab-3
!
!
!

Acto seguido escuchar la voz de Asterisk indicndole opciones para escuchar el mensaje o para re
grabarlo de nuevo. Si usted est satisfecho con el resultado simplemente cuelgue.

Despus nombraremos a la grabacin como "testaudiolab" y guardamos.




Una vez que ha guardado la grabacin usted puede entrar al archivo y escribir una descripcin (solo
haga clic en "testaudiolab").

Usted puede tambin enlazar el audio con un "Cdigo de caracterstica" que ser asignado por
Elastix.

Para asignar un cdigo, haga clic en el link del audio que acaba de grabar. Este se encuentra en la
columna derecha.

Marcamos la opcin Enlace a cdigo de caracterstica. En este ejemplo el servidor ha asignado el
Cdigo de caracterstica *293, si usted marca *293 desde una extensin escuchar el audio.




Despus de completar la configuracin haga clic en Guardar y aplique los cambios.

46
ELASTIX

CERTIFICATION
!
labs
!
Lab-3
!
!
!
Para este curso vamos a necesitar varias grabaciones. El listado es el siguiente:

1. Script del Audio: Hoy es da laborable
Nombre de la grabacin: workingday

2. Script del Audio: Hoy no es un da laborable
Nombre de la grabacin: notworkingday

3. Script del Audio: Bienvenido, marque la opcin 1 para ventas o la opcin 2 para soporte
Nombre de la grabacin: testivr

4. Script del Audio: Bienvenido, marque 1 para ventas, marque 2 para soporte, marque 3 para desarrollo
Nombre de la grabacin: welcomeivr

5. Script del Audio: Ingrese 4 dgitos
Nombre de la grabacin: enter4digits

6. Script del Audio: Ingrese un nmero de 4 dgitos
Nombre de la grabacin: enternumber

7. Script del Audio: Ingrese el primer nmero
Nombre de la grabacin: enternumber1

8. Script del Audio: Ingrese el segundo nmero
Nombre de la grabacin: enternumber2

9. Script del Audio: Ingrese la operacin matemtica
Nombre de la grabacin: enteroperation

10. Script del Audio: La respuesta es
Nombre de la grabacin: answeris

11. Script del Audio: Ingrese la identificacin
Nombre de la grabacin: enterid

12. Script del Audio: La identificacin es correcta
Nombre de la grabacin: correctid

13. Script del Audio: El nmero ingresado es incorrecto
Nombre de la grabacin: incorrectid

14. Script del Audio: Bienvenido a Elastix World
Nombre de la grabacin: elastixworld

15. Script del Audio: Bienvenido a Elastix Comunicacin Unificada de Cdigo abierto.
Nombre de la grabacin: ivr1

16. Script del Audio: Para comunicarse con ventas presione 1
Nombre de la grabacin: ivr2

17. Script del Audio: Para comunicarse con soporte presione 2
Nombre de la grabacin: ivr3
47
ELASTIX

CERTIFICATION
!
labs
!
Lab-3
!
!
!

18. Script de la grabacin: Gracias por llamar a Elastix
Nombre de la grabacin: ivr4

Estos audios sern utilizados en el captulo de Asterisk, Plan de marcado avanzado y AGI AMI.

Nota: es importante que los nombres de las grabaciones estn correctos.












































48
ELASTIX

CERTIFICATION
!
labs
!
Lab-3
!
!
!
Configuracin bsica de Elastix

Laboratorio 3.6 (Prctica Recomendada)

Descripcin: En este laboratorio configuraremos un IVR.

Objetivo: Familiarizarse con la configuracin de un IVR.

Tiempo Mximo: 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 atencin.

Vamos a crear un IVR de mltiples audios. El objetivo es que un cliente llame, escuche el audio de
bienvenida, despus la opcin 1 para ventas, la opcin 2 para soporte y la despedida.

La opcin 1 debe ir a la extensin 201, la opcin 2 debe ir a la extensin 202 y la opcin por defecto
cuando se cumpla el timeout ira a la cola 5000. Esta cola fue creada anteriormente por lo cual
sonarn las extensiones 201 y 202 con la estrategia de ringado escogida.

Un mtodo 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 Aadir IVR



Colocamos test4 a este IVR. En anuncio seleccionamos el audio ivr4 y en la opcin de tiempo de
espera colocaremos 5.

49
ELASTIX

CERTIFICATION
!
labs
!
Lab-3
!
!
!
En las opciones colocaremos 1 que debe ir a la extensin 201, 2 que debe ir a la extensin 202, la
opcin 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 penltimo IVR.



Colocamos 0 en tiempo de espera y en anuncio seleccionamos el audio ivr3

En las opciones colocaremos 1 que debe ir a la extensin 201, 2 que debe ir a la extensin 202, la
opcin 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 cronolgico inverso.



50
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 extensin 201, 2 que debe ir a la extensin 202, la
opcin 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 extensin 201, 2 que debe ir a la extensin 202, la
opcin t (timeout) debe ir al IVR test2.

Una vez configurado hacemos clic en guardar y aplicamos los cambios.

Para probar nuestro IVR crearemos una aplicacin especial, para este efecto debemos ir a: PBX!!PBX!
Configuration!!otras!aplicaciones!
!
Una!vez!ah!colocaremos!la!extensin!5001!con!destino!hacia!el!IVR!test1.!!
!

51
ELASTIX

CERTIFICATION
!
labs
!
Lab-3
!
!
!
Hacemos clic en Enviar cambios y aplicamos cambios.

Una vez hecho esto, marcaremos 5001 desde la extensin 200.

Probemos todas las opciones del IVR llamando en varias ocasiones.





52
ELASTIX

CERTIFICATION
!
labs
!
Lab-4
!
!
!
Configuracin de Hardware
Laboratorio 4.1

Descripcin: Se configurar una tarjeta anloga a travs de la interfaz web de Elastix.

Objetivo: Configurar Hardware con Elastix

Tiempo Mximo: 15 minutos

Instrucciones

Nota: El primer paso en la instalacin y configuracin de una tarjeta de telefona se debe realizar
fsicamente en el servidor. Este proceso tiene que ser realizado por un tcnico con conocimiento de
manipulacin de hardware. Si usted decide instalar la tarjeta por recuerde desconectar el equipo de la
fuente de poder y procure no tocar ningn componente del servidor.

Para este ejemplo usaremos tarjeta anloga Sangoma A200 - 2FXO - 2FXS




Elastix permite detectar y configurar un nmero extenso de hardware de telefona para Asterisk.
Para hacerlo rpido y fcil tenemos que ir a:

Sistema Hardware Detector



Primero debemos hacer clic en Avanzado, opciones adicionales aparecern.

53
ELASTIX

CERTIFICATION
!
labs
!
Lab-4
!
!
!


Es recomendable seleccionar la opcin Reemplazar el archivo chan_dahdi-conf cada vez que
instalemos una tarjeta. Para este ejemplo es necesario adems seleccionar la opcin Deteccin de
hardware sangoma, despus de esto hacemos clic en "Detectar Nuevo Hardware"





La tarjeta est instalada con la configuracin por defecto.



54
ELASTIX

CERTIFICATION
!
labs
!
Lab-4
!
!
!
Elastix asigna por defecto el software de cancelacin de eco OSLEC en la tarjeta. Usted puede
cambiar esta configuracin si desea otra alternativa o si la tarjeta tiene cancelacin de eco por
hardware. nicamente haga clic en Configuracin de Span.



Como podemos ver en la imagen, todos los puertos tiene asignado OSLEC por defecto. Si la tarjeta
tiene cancelacin de eco por hardware la opcin a escoger debera ser "none".

Extensin FXS

Los puertos FXS aparecen en verde todo el tiempo aunque no estn en servicio, recuerde que este
puerto genera voltaje. Estos puertos son tiles para conectar telfonos convencionales o faxes.

Crearemos una extensin para un telfono convencional usando el nmero 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
ELASTIX

CERTIFICATION
!
labs
!
Lab-4
!
!
!
Crearemos la extensin 301, con la descripcin fxs-1.



En Device Options debemos colocar el nmero del puerto en channel. Esta informacin fue obtenida
del mdulo de deteccin de hardware.

Una vez que ingresamos la informacin requerida hacemos clic en submit y aplicamos los cambios.

Ahora usted puede conectar un telfono convencional o un fax y recibirn llamadas en la extensin
301.

56
ELASTIX

CERTIFICATION
!
labs
!
Lab-4
!
!
!
Configuracin de Hardware
Laboratorio 4.2

Descripcin: Se configurar una tarjeta digital a travs de la interfaz web de Elastix.

Objetivo: Configurar Hardware con Elastix

Tiempo Mximo: 15 minutos

Instrucciones:

Para este ejemplo utilizaremos una tarjeta Sangoma A101 Digital 1E1



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

Advanced
Replace file chan_dahdi.conf
Detect Sangoma hardware

Luego detecte la tarjeta



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


57
ELASTIX

CERTIFICATION
!
labs
!
Lab-4
!
!
!
La deteccin asign adems a OSLEC como cancelacin de eco para cada canal, podemos cambiar
esto en Configuracin de Span.



Si la tarjeta tiene cancelacin de eco por hardware la opcin que debemos escoger es "none".

Para configurar la tarjeta como E1, hacemos clic en Parmetro de Span. Una vez ah debemos
seleccionar la opcin "E1: 31 canales, Europa" en el campo: Tipo de medio para RSDI PRI.



Ahora observaremos que 32 puertos habilitados.


58
ELASTIX

CERTIFICATION
!
labs
!
Lab-4
!
!
!
Si necesitamos cambiar la configuracin de los parmetros: timing, LBO, framing, coding, debemos
hacer clic en Parmetros de Span.




Notas Importantes acerca de la configuracin de hardware

El reemplazo de chan_dahdi.conf permite al sistema detectar la tarjeta de manera permanente.
Esta accin 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 configuracin, 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 operacin no requiere
configuraciones especiales usted est listo para operar con el procedimiento de instalacin y
configuracin por interfaz.
59
ELASTIX

CERTIFICATION
!
labs
!
Lab-5!
!
!
Asterisk

Laboratorio 5.1

Descripcin: Crear su propio archivo de plan de marcado.

Objetivo: Entender el funcionamiento de un plan de marcado, familiarizarse con los archivos de
configuracin y practicar la sintaxis de la gramtica de un plan de marcado.

Tiempo Mximo: 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 lnea 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
ELASTIX

CERTIFICATION
!
labs
!
Lab-5!
!
!
Asterisk

Laboratorio 5.2

Descripcin: 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
configuracin y practicar la sintaxis de la gramtica de un plan de marcado.

Tiempo Mximo: 10 minutos.

Instrucciones:

Editar el archivo /etc/asterisk/extensions_custom_XXXXX.conf.

vim extensions_custom_XXXXX.conf

Agregar las siguientes lneas 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 extensin 200; las extensiones 201 y 202 deberan
sonar.













[custom-lab5-2]
exten => 501,1,Dial(IAX2/201)
exten => 502,1,Dial(SIP/202)
61
ELASTIX

CERTIFICATION
!
labs
!
Lab-5!
!
!
Asterisk

Laboratorio 5.3

Descripcin: Crear un contexto que implemente la grabacin de un audio usando como extensin
el nmero 5678 y las funciones Record y Playback.

Objetivo: Familiarizarse con la creacin de contextos y las funciones Record y Playback.

Tiempo Mximo: 10 minutos.

Instrucciones:

Edite el archivo /etc/asterisk/extensions_custom_XXXXX.conf adicionando las siguientes lneas

!
!
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 extensin. Marque 5678 y grabe el siguiente mensaje:

"Bienvenido al curso de certificacin Elastix"

Si hizo el contexto correctamente debera escuchar una reproduccin 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
ELASTIX

CERTIFICATION
!
labs
!
Lab-5!
!
!
Asterisk
!
Laboratorio 5.4

Captulo: Asterisk

Descripcin: Crear un contexto que implemente un mini IVR de 2 opciones en donde cada opcin
dirija la llamada a una extensin. Para implementar esto usaremos la aplicacin Background().

Objetivo: Familiarizarse con la creacin de contextos y las aplicaciones Background(), WaitExten()
y Dial().

Tiempo Mximo: 10 minutos.

Instrucciones:

Edite el archivo /etc/asterisk/extensions_custom_XXXXX.conf adicionando las siguientes lneas.
!
!
!
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 extensin 200, despus 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
ELASTIX

CERTIFICATION
!
labs
!
Lab-5!
!
!
Asterisk

Laboratorio 5.5

Descripcin: Crear un contexto que implemente un IVR de 3 opciones en donde la primera opcin
sea marcar a una extensin, la segunda opcin reproducir un audio y la tercera opcin marcar a
dos extensiones simultneamente.

Objetivo: Familiarizarse con la creacin de contextos y las funciones Background, WaitExten.

Tiempo Mximo: 15 minutos.

Instrucciones:

Edite el archivo /etc/asterisk/extensions_custom_XXXXX.conf adicionando las siguientes lneas


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 extensin 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
ELASTIX

CERTIFICATION
!
labs
!
Lab-5!
!
!
Asterisk

Laboratorio 5.6

Descripcin: Crear el contexto del laboratorio anterior pero usando las aplicacin Goto().

Objetivo: Familiarizarse con la creacin de contextos y la aplicacin Goto().

Tiempo Mximo: 15 minutos.

Instrucciones:

Edite el archivo /etc/asterisk/extensions_custom_XXXXX.conf adicionando las siguientes lneas


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 extensin 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
ELASTIX

CERTIFICATION
!
labs
!
Lab-5!
!
!
Asterisk
Laboratorio 5.7

Descripcin: Crear un contexto que solicite una autenticacin antes de marcar una extensin
usando la aplicacin Authenticate().

Objetivo: Familiarizarse con la creacin de contextos y la aplicacin Authenticate().

Tiempo Mximo: 10 minutos.

Instrucciones:

Edite el archivo /etc/asterisk/extensions_custom_XXXXX.conf adicionando las siguientes lneas!!
!


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 extensin 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
ELASTIX

CERTIFICATION
!
labs
!
Lab-5!
!
!
Asterisk
Laboratorio 5.8 (Practica recomendada)

Descripcin: Crear un contexto que requiera autenticacin antes de dar tono de marcado por
medio de la aplicacin DISA.

Objetivo: Familiarizarse con la creacin de contextos y la aplicacin DISA().

Tiempo Mximo: 10 minutos.

Instrucciones:

Edite el archivo /etc/asterisk/extensions_custom_XXXXX.conf adicionando las siguientes lneas!!



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 extensin 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
ELASTIX

CERTIFICATION
!
labs
!
Lab-5!
!
!
Asterisk
Laboratorio 5.9

Descripcin: Crear un contexto que solicite una extensin y luego reproduzca la extensin
ingresada usando la aplicacin SayDigits().

Objetivo: Familiarizarse con la creacin de contextos y la aplicacin SayDigits().

Tiempo Mximo: 10 minutos.

Instrucciones:

Edite el archivo /etc/asterisk/extensions_custom_XXXXX.conf adicionando las siguientes lneas!!



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 extensin 200, una vez que escuche la grabacin
ingrese un nmero 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
ELASTIX

CERTIFICATION
!
labs
!
Lab-5!
!
!

Asterisk
Laboratorio 5.10

Descripcin: Crear un contexto que solicite un nmero y luego reproduzca el nmero ingresado
usando la aplicacin SayNumber().

Objetivo: Familiarizarse con la creacin de contextos y la aplicacin SayNumber().

Tiempo Mximo: 15 minutos.

Instrucciones:

Edite el archivo /etc/asterisk/extensions_custom_XXXXX.conf adicionando las siguientes lneas!!



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 extensin 200. Al escuchar la grabacin ingrese un
nmero de 4 dgitos, el sistema dir el nmero completo.

Nota: No digite 1234, es un nmero 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
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
ELASTIX

CERTIFICATION
!
labs
!
Lab-5!
!
!

Asterisk
Laboratorio 5.11 (Prctica recomendada)

Descripcin: Crear un contexto que solicite una extensin y luego deletree su nombre usando la
aplicacin SayAlpha().

Objetivo: Familiarizarse con la creacin de contextos y la aplicacin SayAlpha().

Tiempo Mximo: 10 minutos.

Instrucciones:

Edite el archivo /etc/asterisk/extensions_custom_XXXXX.conf adicionando las siguientes lneas! !



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 extensin 200.











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

CERTIFICATION
!
labs
!
Lab-5!
!
!

Asterisk
Laboratorio 5.12 (Prctica recomendada)

Descripcin: Crear un contexto que solicite una extensin a espiar y luego intervenga una
conversacin actual usando la aplicacin ChanSpy().

Objetivo: Familiarizarse con la creacin de contextos y la aplicacin ChanSpy().

Tiempo Mximo: 10 minutos.

Instrucciones:

Edite el archivo /etc/asterisk/extensions_custom_XXXXX.conf adicionando las siguientes lneas.



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 extensin 200














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

CERTIFICATION
!
labs
!
Lab-5!
!
!
Asterisk
Laboratorio 5.13 (Prctica recomendada)

Descripcin: Realizar una llamada desde la consola de Asterisk usando el mdulo chan_oss.so y
el comando dial.

Objetivo: Familiarizarse con la consola de Asterisk y usar el mdulo chan_oss.so como
herramienta de testeo.

Tiempo Mximo: 10 minutos.

Instrucciones:

Ingresar al Asterisk CLI



Cargar el mdulo chan_oss.so con el siguiente comando: module load chan_oss.so



Marcar a una extensin desde la consola:



Transferir la llamada a otra extensin:














!
[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
ELASTIX

CERTIFICATION
!
labs
!
Lab-6
!
!
!
Plan de Marcado Avanzado

Laboratorio 6.1

Descripcin: Crear un contexto que verifique la fecha y hora del da y reproduzca para das
laborables y no laborables.

Objetivo: Familiarizarse con el condicional GotoIfTime().

Tiempo Mximo: 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 extensin marque 4007, usted escuchar el audio "workingday".

Intente ahora cambiando la fecha del servidor. Cambie "mes" y "da" por la fecha del da de hoy y
coloque la 18:53:25, use el siguiente comando:

[root@elastix ~]# date -s 'mes/da/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
ELASTIX

CERTIFICATION
!
labs
!
Lab-6
!
!
!
Plan de Marcado Avanzado

Laboratorio 6.2

Descripcin: Crear un contexto que implemente una calculadora matemtica bsica.

Objetivo: Familiarizarse con los operadores matemticos de una telfono IP.

Tiempo Mximo: 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 nmeros y una operacin
matemtica. Los dgitos para la operacin son: 1 Suma, 2 Resta, 3 Multiplicacin, 4 Divisin.

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
ELASTIX

CERTIFICATION
!
labs
!
Lab-6
!
!
!
Plan de Marcado Avanzado

Laboratorio 6.3

Descripcin: Cree un contexto que implemente un verificador de nmero de identidad (algoritmo
de verificador de dgito).

Objetivo: Familiarizarse con los operadores matemticos de una telfono IP, la aplicacin GotoIf y
la aplicacin condicional While - EndWhile.

Tiempo Mximo: 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
ELASTIX

CERTIFICATION
!
labs
!
Lab-6
!
!
!

Sintaxis: include => custom-lab6-3

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

Hay pases en que el nmero de identidad tiene 10 dgitos, el dcimo dgito normalmente se obtiene
por medio de un algoritmo que usa los primeros 9 nmeros. Este plan de marcado permite ingresar
un nmero de identificacin y verificar su autenticidad.

Realice la prueba marcando 4009 y determine cual de los siguientes nmeros es un ID correcto:

0907540888
1710034065
1790085783
0801895186
0932952135

Usted tiene que marcar el nmero completo y el contexto verificar si el nmero es correcto usando
un algoritmo de verificacin de dgito, el cual toma los primeros 9 nmeros y ejecutar el clculo para
obtener el dcimo nmero.

Si el dcimo nmero ingresado es correcto, usted obtendr dos audios, uno que diga "correcto" y otro
diciendo el dcimo nmero.

Si usted ingresa un valor no vlido obtendr un audio de "incorrecto".










77
ELASTIX

CERTIFICATION
!
labs
!
Lab-6
!
!
!
Plan de Marcado Avanzado

Laboratorio 6.4 (Prctica recomendada)

Descripcin: Crear un archivo .call que realice una llamada a una extensin.

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

Tiempo Mximo: 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 propsito de esta laboratorio es el de mostrarle el proceso de envo 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
ELASTIX

CERTIFICATION
!
labs
!
Lab-6
!
!
!
Plan de Marcado Avanzado

Laboratorio 6.5 (Prctica recomendada)

Descripcin: Crear un archivo .call que realice una llamada a una extensin, conecte la llamada a
un contexto y reproduzca un audio.

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

Tiempo Mximo: 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
ELASTIX

CERTIFICATION
!
labs
!
Lab-7
!
!
!
Asterisk AGI
Laboratorio 7.1

Descripcin: Crear un agi que consulte una tabla de datos y que mediante el ingreso de un cdigo,
este retorne y reproduzca el nmero de cdula asociado, dgito a dgito.

Objetivo: Practicar la creacin de AGI, familiarizarse con las funciones STREAM FILE, GET DATA,
SAY DIGITS e implementar una consulta bsica a una base de datos.

Tiempo Mximo: 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 propsito escribimos:

mysqladmin -u root -p create agi_test

Nota: usted necesitar ingresar la contrasea 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
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 contrasea 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 edicin: en la lnea 2 cambie el valor de $pass (YOURPASSWORD) con su contrasea del
usuario root de mysql.

Grabar y salir (Esc :wq)

Cambie los permisos y usuario

chmod 755 ectagi.php
chown asterisk:asterisk ectagi.php

Aada el siguiente contexto al archivo /etc/asterisk/extensions_custom_XXXXX.conf.



81
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, deberamos marcar el id de cada nmero en la base de datos:

(1, 2223456),
(2, 7778764),
(3, 8787878),
(4, 34534234);

Ejemplo: marque 4010, presione 1, presione #; usted debera escuchar: 2, 2, 2, 3, 4, 5, 6 y la llamada
culminar.

Si usted marca un nmero que no existe, ejemplo 12, usted obtendr una respuesta de 0, 0, 0, 0, 0


82
ELASTIX

CERTIFICATION
!
labs
!
Lab-7
!
!
!
Asterisk AGI
Laboratorio 7.2

Descripcin: Realizar el debugging del AGI creado en la prctica 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 Mximo: 15 minutos.

Instrucciones:

Ingrese al Asterisk CLI

Habilite debugging de AGI con el comando agi set debug on.



Desde una extensin marque 4010, presione 1 y #

Observaremos una salida donde las variables de ectagi.php son mostradas, y la comunicacin 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
ELASTIX

CERTIFICATION
!
labs
!
Lab-7
!
!
!
Asterisk AMI
Laboratorio 7.3

Descripcin: Conectarse va TELNET con AMI, enviar el comando LOGIN y enviar el comando
LOGOFF

Objetivo: Familiarizarse con la conexin con AMI y ejecutar comandos bsicos y ver la respuesta
obtenida.

Tiempo Mximo: 10 minutos.

Instrucciones:

Primero debemos obtener la contrasea de la interfaz de administracin de Asterisk / AMI

En la consola escriba el siguiente comando:

cat /etc/asterisk/manager.conf | grep secret



El ejemplo arroj la contrasea palosanto. Es posible que usted haya ingresado una diferente cuando
instal Elastix.

LOGIN

Conctese a AMI a travs 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)

Despus presione Enter.

84
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
ELASTIX

CERTIFICATION
!
labs
!
Lab-7
!
!
!
Asterisk AMI
Laboratorio 7.4 (Prctica recomendada)

Descripcin: Conectarse va TELNET con AMI, y ejecutar la accin Originate para realizar una
llamada a otra extensin.

Objetivo: Familiarizarse con la conexin con AMI y ejecutar comandos bsicos y ver la respuesta
obtenida.

Tiempo Mximo: 10 minutos.

Instrucciones:

Conctese a AMI a travs de telnet:

telnet 127.0.0.1 5038


Haga login con:

Action: Login
Username: admin
Secret: password - (la misma contrasea que el laboratorio anterior)

Utilice la accin Originate en la sesin y reciba una llamada a la extensin especificada:

Action: Originate
Channel: SIP/200 - (El canal de la extensin)
Exten: 200 - (El nmero de la extensin)
Priority: 1
Timeout: 300000 - (acerca de 30 segundos)
Context: from-internal

Usted recibir una llamada a la extensin 200.

Ejecute el comando Logoff.

Nota: No olvide presionar Enter al final de cada evento.









86
ELASTIX

CERTIFICATION
!
labs
!
Lab-7
!
!
!
Asterisk AGI-AMI
Laboratorio 7.5

Descripcin: Construya un AGI que permita conectar una llamada entre dos extensiones, usando
la librera php-asmanager.php y la funcin Originate.

Objetivo: Usar la librera php-asmanager.php y la funcin Originate para la creacin de
funcionalidad usando AGI y AMI.

Tiempo Mximo: 10 minutos.

Instrucciones:

Cree un archivo /var/lib/asterisk/agi-bin/myfile.agi:

cd /var/lib/asterisk/agi-bin/
vim myfile.agi

Aada la siguiente lnea 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 contrasea 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 debera recibir una llamada en la extensin 200, y antes de que usted conteste Elastix conectar
la llamada con la extensin 201. Este es el clsico ejemplo de Clic to Call.


!
87
ELASTIX

CERTIFICATION
!
labs
!
Lab-8
!
!
!
Interconexin con Elastix Remotos

Laboratorio 8.1

Descripcin: Interconectar dos servidores Elastix en la que se podrn comunicar las extensiones
de ELASTIX A con las extensiones de ELASTIX B

Objetivo: Practicar la creacin de troncal SIP.

Tiempo Mximo: 30 minutos.

Instrucciones:

Usted debe trabajar con un compaero para realizar el siguiente esquema.


Ingresar a la interfaz de administracin Elastix ir a:

PBX PBX Configuration Troncales

Una vez ah seleccione Add SIP Trunk. Iniciaremos la configuracin de la troncal en la ELASTIX A.

La troncal en ELASTIX A tendr como nombre PBXA y su caller ID ser elastixA





88
ELASTIX

CERTIFICATION
!
labs
!
Lab-8
!
!
!
Definimos los detalles del peer como :



Nota: Esta configuracin es la misma en ambos servidores. El parmetro 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 debera ser:





y para ELASTIX B debera ser:



Una vez que hemos completado la configuracin 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:welcome@192.168.1.240
elastixA:welcome@192.168.1.239
89
ELASTIX

CERTIFICATION
!
labs
!
Lab-8
!
!
!



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

sip show registry
Deberamos 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
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 configuracin 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 patrn 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
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.

Despus 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 extensin 200 en ELASTIX A, a la extensin 200 en ELASTIX B,
para esto es necesario marcar: 2200













92
ELASTIX

CERTIFICATION
!
labs
!
Lab-8
!
!
!
Interconexin con Elastix Remotos

Laboratorio 8.2 (Prctica Recomendada)

Descripcin: Interconectar la central Elastix con el proveedor de llamadas internacionales
Net2Phone y realizar llamadas.

Objetivo: Utilizar el mdulo de VoIP Provider.

Tiempo Mximo: 15 minutos.

Instrucciones:

Esquema



El mdulo VoIP Provider de Elastix, permite crear una troncal SIP con proveedores embebidos en la
solucin. Para este ejemplo debemos crear una troncal con la informacin de una cuenta existente.

Net2Phone a habilitado un link para la creacin de cuentas que puedan ser utilizadas con Elastix.
Usted puede crear la cuenta en: http://n2pelastix.com. Un procedimiento detallado de cmo crear la
cuenta se encuentra en el Anexo 1.

La informacin proveda por Net2Phone es:

Account Number
PIN
Nmero de telfono

Ir a: PBX VoIP Provider

Haga clic en Nueva cuenta


93
ELASTIX

CERTIFICATION
!
labs
!
Lab-8
!
!
!
La informacin requerida es:

VoIP Provider: la compaa 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 nmero de cuenta
Secret: PIN
CallerID de salida: Nmero de telfono


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 patrn de marcado. En este caso utilizaremos el siguiente patrn:

00.

Esta ruta utilizar la troncal SIP que hemos creado: N2P-ELX

Agregamos la troncal y aplicamos los cambios.


94
ELASTIX

CERTIFICATION
!
labs
!
Lab-8
!
!
!

Usted puede hacer llamadas desde cualquier extensin de su Elastix. Intente llamando a las oficina
de Elastix: +1-877-ELASTIX,

Usted debe marcar 0018773527849

Nota sobre la prctica: Usted puede abrir una cuenta con cualquiera de los proveedores incluidos en el
mdulo. Se explica sobre Net2Phone por la facilidad para crear la cuenta.

Configuracin 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 configuracin para los detalles de PEER de la seccin
"Outgoing settings" de la troncal que desea crear. La informacin usual es la siguiente:



Luego aadimos la cadena de registro, la cual en nuestro caso debera ser:



Es necesario adems colocar el nmero de telfono 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
ELASTIX

CERTIFICATION
!
labs
!
Lab-9
!
!
!
Tarifacin y Reportacin en Elastix
Laboratorio 9.1

Descripcin: Cree una tarifa de $0.15 usando el SIP ELASTIXA / ELASTIXB que creamos
anteriormente. El valor de la conexin (OFFSET) debe ser $0.01. Realice una llamada a travs de
la troncal y verifique la informacin recolectada en el reporte de facturacin.

Objetivo: Familiarizarse con el uso del mdulo de Tarifacin de Elastix.

Tiempo Mximo: 10 minutos.

Instrucciones:

El primer paso consiste en habilitar la troncal PBXA / PBXB para que sea monitoreada por el proceso
de facturacin. 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
ELASTIX

CERTIFICATION
!
labs
!
Lab-9
!
!
!

Guarde la tarifa (rate) y haga dos llamadas para obtener algunos registros de facturacin. Intente
llamando a la Elastix con la que hizo conexin en la prctica 8.1

Despus 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 revisin.



Usted obtendr algo similar a la siguiente imagen:







97
ELASTIX

CERTIFICATION
!
labs
!
Lab-9
!
!
!
Configuracin Opcional

Ahora agregaremos una nueva tarifa para registrar las llamadas que se creen en la prctica 8.2. Inicie
el proceso nuevamente: habilitar troncal, crear la tarifa, hacer llamadas.

Para este efecto utilice la troncal creada en la prctica 8.2

La troncal a seleccionar debera ser: N2P-ELX



Hemos puesto un valor ms alto para estas.

Realice llamadas a un nmero cualquiera, puede ser +1-877-3527849 (El nmero de Elastix) para
registrar esas llamadas en el reporte de facturacin.

Revise el reporte y compare los costos con la tarifa REMOTELASTIX.
98
ELASTIX

CERTIFICATION
!
labs
!
Lab-10
!
!
!
Calidad de Voz
Laboratorio 10.1

Descripcin: Calcular el parmetro R del modelo E usando la frmula simplificado y la tabla de
prdida 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 frmulas que nos permiten determinar la calidad de voz
de una manera objetiva.

Tiempos Mximo: 15 minutos.

Instrucciones:

Determinar el retardo de un punto a punto especfico de la red usando el comando PING como se
muestra en el grfico. 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
ELASTIX

CERTIFICATION
!
labs
!
Lab-10
!
!
!


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

I
d
= 0.024 d + 0.11 (d 177.3) H(d 177.3)

Valores para la funcin 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 I
e
y I
d
obtenidos.

R = 94.2 1.2288 - 0
R = 92.9712

Traducir a la escala MOS reemplazando el valor obtenido de R.

Frmula 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 atencin pero no es necesario un
esfuerzo apreciable
3 Aceptable Esfuerzo moderado
2 Pobre Gran esfuerzo
1 Buena No es posible entender la conversacin

Este resultado indica que la calidad est muy cerca a la excelencia.
!
100
ELASTIX

CERTIFICATION
!
labs
!
Lab-11
!
!
!
Protocolos SIP / RTP

Laboratorio 11.1

Descripcin: Usar la herramienta Wireshark para capturar la conversacin entre su extensin y la
de otro compaero del curso y obtener el grfico de intercambio de eventos y mtodos de dicha
conversacin.

Objetivo: Ver de manera grfica el intercambio de mtodos de una conversacin e identificar los
eventos de contestacin, colgado de una llamada, etc.

Tiempo Mximo: 15 minutos.

Instrucciones:

Iniciar el Wireshark e iniciar la captura en la interface eth0.

Iniciar una llamada hacia alguna extensin de un compaero de curso.

Veremos que Wireshark empezar a capturar paquetes como se muestra en el grfico:



Detenemos la captura, ingresando al men Captura y haciendo clic en Stop.

Ingresamos la men Statistics y hacemos clic en la opcin Graph Flow y veremos lo siguiente:
101
ELASTIX

CERTIFICATION
!
labs
!
Lab-11
!
!
!

Identifiquemos los mtodos y eventos que se intercambian entre los dispositivos y la central Elastix.
En la parte superior del grfico se indica el flujo de dicho intercambio.

Para revisar estadsticas ir al men Statistics y hacer clic en la opcin SIP. Veremos algo como
sigue:



102
ELASTIX

CERTIFICATION
!
labs
!
Lab-11
!
!
!
Protocolos SIP / RTP

Laboratorio 11.2

Descripcin: Usar la herramienta wireshark para capturar la conversacin entre su extensin y la
de otro compaero del curso y analizar los paquetes RTP, generar un archivo (.au) y reproducir el
payload de los paquetes que forman esa conversacin.

Objetivo: Adiestrar al estudiante al uso de sniffers para analizar trfico RTP y generar y reproducir
el payload de una captura de paquetes.

Tiempo Mximo: 10 minutos.

Instrucciones:

Con la captura realizada de la prctica anterior, seleccionar el primer paquete RTP de dicha captura.



En el men Statistics escoger la opcin RTP y luego seleccionar la opcin Stream Analysis.
Veremos lo siguiente:


103
ELASTIX

CERTIFICATION
!
labs
!
Lab-11
!
!
!

Luego hacer click en el botn Payload y escoger el formato (.au) y en la opcin Channels escoger
(both).

Colocar como nombre de archivo payload1.au


!
Abrir un reproductor, seleccionar el archivo payload1.au y escuchar la conversacin.!
104
ELASTIX

CERTIFICATION
!
labs
!
Lab-12
!
Diagnstico Bsico

Laboratorio 12.1

Descripcin: Ingresar a la consola de Asterisk y ejecutar los comandos ?, help.

Objetivo: Familiarizarse con el uso de la consola de Asterisk CLI, utilizando comandos bsicos.

Tiempo Mximo: 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
ELASTIX

CERTIFICATION
!
labs
!
Lab-12
!
Use el comando help


































106
ELASTIX

CERTIFICATION
!
labs
!
Lab-12
!
Diagnstico Bsico

Laboratorio 12.2

Descripcin: 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.
Adems entender la salida de dichos comandos y su utilidad.

Tiempo Mximo: 15 minutos.

Instrucciones:

Digitar el comando queue show (Muestra el estatus de la cola especificada)



Digitar el comando features show





107
ELASTIX

CERTIFICATION
!
labs
!
Lab-12
!
Digitar el comando uptime show (Muestra la informacin de uptime en segundos)

core show uptime



Digitar el comando core show version (Muestra informacin de la versin)



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
ELASTIX

CERTIFICATION
!
labs
!
Lab-13!
!
!
Sistema de Email de Elastix

Laboratorio 13.1

Descripcin: Crear un dominio y cuentas para dos usuarios.

Objetivo: Familiarizarse con el mdulo Email de Elastix.

Tiempo Mximo: 15 minutos.

Instrucciones:

Ingresamos en la opcin 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
ELASTIX

CERTIFICATION
!
labs
!
Lab-13!
!
!




Configuracin de RELAY



AntiSpam

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

Establezca como opcin de eliminacin la siguiente: "Eliminar el spam anterior a una semana / Delete
spam messages older than one week".



Remote SMTP

Active la opcin "SMTP Remote Delivery" y seleccione una cuenta GMAIL, Hotmail o Yahoo que
usted tenga para habilitacin de envos de mensaje a travs de alguno de esos servicios.

Usaremos esta funcionalidad para enviar un correo a travs de la interfaz web de correo.

110
ELASTIX

CERTIFICATION
!
labs
!
Lab-13!
!
!


RoundCube

Ingrese a la Interfaz Web de Mail con una de las cuentas que cre anteriormente (ej.:
sales@elastixtest.com) y enve un correo.



para ingresar usted debe escribir el nombre completo de la cuenta, ej.: admin@elastixtest.com



Si usted configur un servicio SMTP Remoto de envo en Elastix podr enviar mensajes desde la
interfaz.

Haga clic en "Crear un nuevo mensaje" y enve un correo con sus datos a training@palosanto.com



111
ELASTIX

CERTIFICATION
!
labs
!
Lab-13!
!
!
Vacations

Habilite el modo de vacaciones para el usuario admin@elastixtest.com!
!
!
!
!
!
!
112
ELASTIX

CERTIFICATION
!
labs
!
Lab-14
!
!
!
Sistema de Fax en Elastix

Laboratorio 14.1

Descripcin: Crear la extensin IAX 300X y asociarla a un fax virtual. Desde el Fax fsico del
laboratorio, enviar una fax a cada fax virtual y verificar en el visor de fax la recepcin del mismo.

Objetivo: Familiarizarse con el mdulo Fax de Elastix.

Tiempo Mximo: 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 extensin 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 algn 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
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
ELASTIX

CERTIFICATION
!
labs
!
Lab-14
!
!
!
Sistema de Fax en Elastix

Laboratorio 14.2

Descripcin: 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 Mximo: 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 solucin de telefona VoIP y Comunicaciones Unificadas.
Integra las mejoras herramientas disponibles, para PBXs basadas en
Asterisk, en una sencilla interfaz de fcil administracin. Posee adems su
propio set de utilidades y permite la creacin de mdulos adicionales, lo
cual la convierte en uno de los paquetes de software open source
disponibles, ms poderosos del mercado.

Guardar y salir (Esc :wq)

Enviaremos un fax a la extensin 302 desde la 301.

Desde la consola, escriba el comando sendfax de la siguiente manera:

[root@elastix ~]# sendfax -h ttyIAX1@127.0.0.1 -n -d 302 elxtest.txt

Es importante indicar que la opcin -h obliga a que los trabajos sean procesados a travs de un host
especfico y, opcionalmente, usando un modem en particular; en este caso ttyIAX1@127.0.0.1. El
receptor ser la extensin 302 (la cual es adems 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
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 extensin 301 a 302X - 302. Usted puede editar el
"Nombre de Compaa" y "Fax de Compaa" para bsquedas futuras.

Si usted configur los fax virtuales con correos vlidos, y la plantilla con la informacin indicada de
correo, usted debera ver un mensaje de correo de "Elastix Certification Course" con un PDF adjunto.

Abra el PDF adjunto, usted debera 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
electrnico.





















116
ELASTIX

CERTIFICATION
!
labs
!
Lab-14
!
!
!
Sistema de Fax en Elastix

Laboratorio 14.3 (Prctica recomendada)

Descripcin: Enve 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 Mximo: 15 minutos.

Instrucciones:

Ir a:

Fax Virtual Fax Send Fax



Enve un fax desde el dispositivo 301 al nmero 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
ELASTIX

CERTIFICATION
!
labs
!
Lab-14
!
!
!
Vaya a Fax Fax viewer, ah observar un nuevo fax, revselo. Usted recibir adems el fax en su
correo.

Como puede observar hay 3 faxes en lugar de dos.



La razn se debe a que utilizamos un fax virtual creado en el sistema. El mdulo guarda faxes que
son enviados y recibidos a travs de la interfaz.

Ahora enviaremos un documentos adjunto. Para este propsito 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

Enve 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
ELASTIX

CERTIFICATION
!
labs
!
Lab-15
!
Mensajera Instantnea en Elastix

Laboratorio 15.1

Descripcin: Instalacin 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 Mximo: 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 instalacin 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
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 pestaa IM. Activar OpenFire.



120
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 opcin Conexin
Estndard



Una vez que seleccionamos una base de datos externa, tendremos que indicar la informacin
correspondiente.

El tipo de base de datos es MySQL.

La clase de Driver se coloca por defecto y es: com.mysql.jdbc.Driver

121
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 contrasea: openfire



Ahora seleccionamos el sistema de usuarios, colocamos Por defecto.



Colocamos el correo y la contrasea de la cuenta admin.

122
ELASTIX

CERTIFICATION
!
labs
!
Lab-15
!




Una vez que completamos la configuracin podemos ingresar a la interfaz de administracin.




















123
ELASTIX

CERTIFICATION
!
labs
!
Lab-15
!

Mensajera Instantnea en Elastix

Laboratorio 15.2

Descripcin: Integracin de Openfire con Elastix.

Objetivo: Integrar Asterisk con Openfire.

Tiempo Mximo: 15 minutos.

Instrucciones:

Una vez que ingresamos a la interfaz de administracin 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 aplicacin.



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 configuracin



124
ELASTIX

CERTIFICATION
!
labs
!
Lab-15
!
Seleccionamos la opcin Enabled y colocamos default en el campo Asterisk Context. Una vez
hecho esto hacemos clic en save.

Habilitaremos tambin la opcin Asterisk Queue Presence y deshabilitamos la opcin: Drop-down
device selection




Inmediatamente observaremos la opcin 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: contrasea_de_AMI

125
ELASTIX

CERTIFICATION
!
labs
!
Lab-15
!
La contrasea que utilizaremos, es la misma que configuramos durante la instalacin 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 resolucin por DNS



Observaremos enlistado el servidor si la configuracin fue exitosa.



Creacin de usuarios y mapeo

Para crear usuarios, debemos ir al men usuarios/grupos.

Hacemos clic en Crear Nuevo Usuario



126
ELASTIX

CERTIFICATION
!
labs
!
Lab-15
!
Como podemos observar, los campos requeridos obligatorios son el usuario y la contrasea.

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 extensin 200, 201 y 202.

Mapearemos a jdoe con la extensin 200 y a ggalilei con la extensin 202.

Para mapear las extensiones debemos ir a: OpenFire Asterisk-IM Phone Mappings

Una vez en Phone Mappings, aadiremos 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 aadir el mapeo para ese usuario.

Hacemos lo mismo con ggalilei.




127
ELASTIX

CERTIFICATION
!
labs
!
Lab-15
!
Mensajera Instantnea en Elastix

Laboratorio 15.3 (Prctica recomendada)

Descripcin: Instalar dos clientes de mensajera instantnea, uno de ellos Spark, para probar la
funcionalidad de integracin de Openfire con Asterisk.

Objetivo: Aplicar las configuraciones vistas en clase en un ejemplo real y demostrar el funcionamiento de la
mensajera Instantnea con Elastix.

Tiempo Mximo: 15 minutos.

Instrucciones:

Para probar la funcionalidad de llamada podemos hacer login desde dos clientes de mensajera
instantnea.

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 comn es que pidan la siguiente informacin:

Usuario: user@elastix_domain (elastix_domain = host de Elastix)
Servidor Jabber / XMPP: IP de Elastix
Password: Contrasea

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 telfono.

128
ELASTIX

CERTIFICATION
!
labs
!
Lab-15
!



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

La primera llamada es a la extensin 202 de ggalilei. Por qu, si marcamos a jdoe?




Esto funciona as por una razn 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 extensin que gener la llamada primero, en este caso la extensin 202 de ggalilei.

Una vez que ggalilei contesta la llamada, Elastix/Asterisk llama a la extensin de destino, en este
ejemplo la extensin 200 de jdoe.

La razn es que Asterisk conecta ambas extensiones con una llamada, pero no llama a la extensin
de destino a menos que la extensin que gener el pedido haya aceptado un invite, es decir que se
ponga al telfono.

Tiene su lgica no? Una llamada solo se generar si y solo si nosotros realmente estamos en la
lnea, caso contrario no.
Clic!to!call!
129
ELASTIX

CERTIFICATION
!
labs
!
Lab-18!
Seguridad

Laboratorio 18.1

Descripcin: En este laboratorio aprenderemos a cambiar las claves de las principales
aplicaciones de Elastix.

Objetivo: Cambiar las contraseas de Elastix para asegurar nuestro servidor

Tiempo Mximo: 15 minutos.

Instrucciones:


Cambiar la contrasea del administrador en Elastix

1. Para cambiar la configuracin 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 opcin editar y podemos cambiar la contrasea del usuario admin.


Habilitar y cambiar la contrasea de freePBX

1. Para cambiar la contrasea de freePBX nos dirigirnos al mdulo de Seguridad de Elastix.




2. Luego seleccionaremos Advanced Settings

3. Habilitaremos el acceso a freePBX como se muestra a continuacin y cambiaremos su password



130
ELASTIX

CERTIFICATION
!
labs
!
Lab-18!
4. Hacemos clic en Guardar

5. Nos dirigiremos a PBX PBX Configuration freePBX sin embeber

6. Iniciaremos sesin con el nuevo password



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



Cambiar contrasea del usuario root de Linux

1. Para cambiar la contrasea 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 contrasea nueva, la ingresamos y presionamos enter.

4. Inmediatamente nos solicitar una confirmacin de la nueva contrasea, volvemos a ingresarla y
presionamos enter:



Cambiar contrasea del usuario root de mysql

1. Desde la lnea 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
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 lnea.

4. Podemos probar la nueva contrasea ingresando a mysql con el siguiente comando:

mysql -u root p


Salimos con exit

Cambiar la contrasea de Flash Operator Panel

1. Abrir el archivo /etc/amportal.conf

vim /etc/amportal.conf

2. Buscar la lnea FOPPASSWORD=



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

FOPPASSWORD=nuevaclave

4. Grabar y Salir (Esc :wq)



132
ELASTIX

CERTIFICATION
!
labs
!
Lab-18!
Seguridad

Laboratorio 18.2

Descripcin: Asegurar Elastix utilizando el Firewall en el mismo servidor con el mdulo de
seguridad de Elastix. Se asume para esta prctica 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 Mximo: 10 minutos.

Instrucciones:

1. Ingresar a la seccin de Firewall dentro del mdulo de seguridad de Elastix.

2. Activar el firewall presionando el botn "Activar Cortafuegos" tal como se muestra a continuacin.









133
ELASTIX

CERTIFICATION
!
labs
!
Lab-18!
3. Realizar un escaneo local de puertos utilizando el comando "nmap -v -A localhost"













134
ELASTIX

CERTIFICATION
!
labs
!
Lab-18!
Seguridad

Laboratorio 18.3 (Prctica recomendada)

Descripcin: Asegurar Elastix utilizando el Firewall en el mismo servidor utilizando iptables por lnea de
comando. Se asume para esta prctica 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 Mximo: 20 minutos.

Instrucciones:

Ingresamos a la consola de Elastix como usuario root. Una vez en la consola ejecutamos las
siguientes lneas:

Nota: podemos ver nuestro progreso con: iptables -L

Aceptar el trfico para el protocolo SIP
iptables -A INPUT -p udp -m udp -i eth0 --dport 5060 -j ACCEPT

Aceptar el trfico para el protocolo RTP
iptables -A INPUT -p udp -m udp -i eth0 --dport 10000:20000 -j ACCEPT

Aceptar el trfico para el protocolo IAX
iptables -A INPUT -p udp -m udp -i eth0 --dport 4569 -j ACCEPT

Aceptar el trfico de HTTPS
iptables -A INPUT -p tcp -i eth0 --dport 443 -j ACCEPT

Aceptar el trfico de SMTP
iptables -A INPUT -p tcp -i eth0 --dport 25 -j ACCEPT

Aceptar el trfico de POP3
iptables -A INPUT -p tcp -i eth0 --dport 110 -j ACCEPT

Aceptar el trfico de IMAP
iptables -A INPUT -p tcp -i eth0 --dport 143 -j ACCEPT

Aceptar el trfico de mensajera Instantnea
iptables -A INPUT -p tcp -i eth0 --dport 9090 -j ACCEPT

Denegar todo el otro trfico restante
iptables -A INPUT -p all -i eth0 -j DROP

Una vez que hemos ingresado todas las lneas, grabamos la configuracin con el siguiente comando:

iptables-save > /etc/sysconfig/iptables

135
ELASTIX

CERTIFICATION
!
labs
!
Lab-18!
Seguridad

Laboratorio 18.4 (Prctica recomendada)

Descripcin: Utilizar el mdulo de Seguridad de Elastix para detectar claves dbiles en el sistema.

Objetivo: Aprender a utilizar la utilidad Weak Keys para evitar ataques de fuerza bruta a nuestras
extensiones.

Tiempo Mximo: 5 minutos.

1. Crear una nueva extensin SIP con la contrasea "1234"

2. En la interfaz de Elastix ir a: Security Weak Keys

3. Hacer click en el link "Cambiar Clave" que aparecer a continuacin de nuestra extensin
comprometida.



4. Cambiar la clave y guardar








!
136
ELASTIX

CERTIFICATION
!
labs
!
Lab-17!
Desempeo

Laboratorio 17.1

Descripcin: Utilizar el programa Sipp para generar trfico llamadas.

Objetivo: Aplicar las configuraciones vistas en clase en un ejemplo real y demostrar el funcionamiento de
Sipp, simulando el desempeo de nuestro Elastix en un ambiente de produccin.

Tiempo Mximo: 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. Aadimos en el archivo
/etc/asterisk/sip_custom.conf la siguiente informacin:

[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 extensin adicionando un contexto para hacer nuestra prueba

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

vim extensions_custom.conf
137
ELASTIX

CERTIFICATION
!
labs
!
Lab-17!
Agregar las siguientes lneas al archivo





Grabar y Salir (Esc :wq)

Como podemos observar el contexto funciona cuando se marca a la extensin 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 estrs con sipp, activaremos las llamadas SIP annimas en Elastix.
En la interfaz web de Elastix ir a Security Advanced Settings.

Una vez ah encenderemos Activar llamadas SIP annimas.



No es necesario hacer clic en Guardar.

De la misma manera vamos a PBX PBX Configuration Configuracin General y activamos la
opcin: 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
ELASTIX

CERTIFICATION
!
labs
!
Lab-17!


Seleccionamos la opcin Yes y hacemos clic en Submit Changes.

Despus aplicamos los cambios.

Ejecutando Sipp

Una vez que hemos completado la configuracin inicial estamos listos para ejecutar sipp y generar
llamadas a nuestro servidor.

Ejecutamos el siguiente comando en donde el ltimo parmetro indica el nmero 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 generacin 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 descripcin de los parmetros del comando anterior

d: duracin de llamada (en milisegundos)
s: extensin a marcar
i: IP que ejecuta la orden de simulacin de llamadas
p: puerto e IP del servidor Elastix donde se quieren hacer las pruebas de stress
r: rate, llamadas por segundo
l: limite mximo de llamadas concurrentes
users: usuarios (llamadas) concurrentes (en este ejemplo no usamos esta variacin)

Como podemos observar el comando tiene configuradas 10 llamadas por segundo con un lmite
mximo 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 mximo de
10 llamadas concurrentes y luego una con un lmite mximo de 80 llamadas concurrentes; en ambos
casos con un rate de 10 llamadas por segundo.

Para esta prueba es necesario que iniciemos sesin 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
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 aplicacin Sipp es una herramienta que genera llamadas sipp simuladas en o hacia un servidor.
Cuando se ejecuta, genera un nmero de llamadas por segundo hasta alcanzar el mximo de
llamadas concurrentes.

Una vez alcanzadas, sipp contina tomando datos estadsticos. La ejecucin de sipp sin embargo
consume un alto procesamiento al servidor, como vemos en el siguiente imagen:



Paramos la ejecucin de sipp con ctrl-c, y obtenemos un reporte:

140
ELASTIX

CERTIFICATION
!
labs
!
Lab-17!


En realidad ya no necesitamos que sipp siga ejecutndose, ya que las llamadas se generaron y
tienen una duracin para que podamos observar los resultados.

Una vez que hemos parado sipp, observaremos que procesos estn 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 variacin de su servidor.

Mientras leemos este tutorial, las llamadas continan 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 nmero de llamadas y canales en curso mientras revisamos
nuestros datos.
141
ELASTIX

CERTIFICATION
!
labs
!
Lab-17!


Como esperbamos 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 nmero de llamadas concurrentes.

Aunque ya paramos Sipp, las llamadas continan 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 nmero de canales:
watch -n1 "rasterisk -x 'core show channels' | tail -n4"

Recuerde ejecutar los comandos en las consolas de la izquierda primero y sipp despus.

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
ELASTIX

CERTIFICATION
!
labs
!
Lab-17!
Es importante indicar que los valores para cada servidor varan. Es recomendable hacer la prueba sin
tarjetas de telefona instaladas, con Openfire y el mdulo de call center desactivados. De esa manera
no tenemos procesos que interfieran en nuestra revisin.
















































143
ELASTIX

CERTIFICATION
!
labs
!
Lab-17!
Desempeo

Laboratorio 17.2 (Prctica recomendada)

Descripcin: Utilizar un script para registrar los datos generados en las pruebas de estrs, con diferentes
valores de llamadas simultneas.

Objetivo: Usar una herramienta que nos permita determinar valores estadsticos para calcular datos de
procesamiento vs nmero de llamadas concurrentes.

Tiempo Mximo: 20 minutos.

Instrucciones:

En el laboratorio anterior pudimos observar que en una prueba de estrs vemos los valores
momentneos 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 nmero 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
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 estrs con 10 llamadas concurrentes usando sipp y registraremos la
informacin con el script getUSAGE.

Es importante indicar los siguiente:

Correremos el script (getUSAGE) despus 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 generacin de estadsticas de
sipp carga mucho procesamiento.

Al igual que hiciramos 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 nmero 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
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
ELASTIX

CERTIFICATION
!
labs
!
Lab-19!
!
Depuracin Avanzada

Laboratorio 19.1

Descripcin: Utilizar el comando strace en un programa bsico y ver la salida cuando se produce
un error en la ejecucin

Objetivo: Familiarizarse con el comando strace y aplicarlo para hacer debugging.

Tiempo Mximo: 10 minutos

Instrucciones:

Crear el archivo divide.c en el directorio /opt con el siguiente contenido






Compilar el archivo divide.c con la opcin -g para debugging:




Ejecutar el comando strace con la opcin -o para enviar la salida al archivo salida.divideXXX.txt:



Se ejecutar el programa y pedir dos nmeros para dividir. En el segundo nmero 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
ELASTIX

CERTIFICATION
!
labs
!
Lab-19!
!

Revisar el archivo salida-divide.txt como sigue:




Al revisar el archivo veremos una lnea como sigue:





NOTA: SIGFPE es una seal enviada a un proceso programa cuando se realiza una operacin
errnea de punto flotante.








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

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

148
ELASTIX

CERTIFICATION
!
labs
!
Lab-19!
!
Debugging Avanzado

Laboratorio 22.2

Descripcin: Utilizar el comando gdb en un programa bsico y ejecutar los comandos RUN, STEP, PRINT,
BREAK, QUIT.

Objetivo: Familiarizarse con el comando gdb y aplicarlo para hacer debugging.

Tiempo Mximo: 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
ELASTIX

CERTIFICATION
!
labs
!
Lab-19!
!
Crear el archivo imprime.c en el directorio /opt






Compilarlo con la opcin -g para debugging:





Ejecutar el comando gdb con la opcin -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
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 lnea por lnea 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
ELASTIX

CERTIFICATION
!
labs
!
Lab-19!
!
Ingresamos un valor y ejecutamos el comando print a , para imprimir el valor de la variable a:




Seguimos la ejecucin 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
ELASTIX

CERTIFICATION
!
labs
!
Lab-20!
!
DUNDi

Laboratorio 20.1

Descripcin: 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 utilizacin de DUNDi.

Tiempo Mximo: 20 minutos.

Instrucciones:

Agruparse en pareja para implementar DUNDI con su compaero.

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 Informacin
General.

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


153
ELASTIX

CERTIFICATION
!
labs
!
Lab-20!
!
Copiamos la clave generada o podemos enviarla por correo incluyendo una direccin en el campo
Email y haciendo clic en enviar. En cualquiera de los dos casos la informacin 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 Conexin"



Completar el formulario con la direccin IP de el servidor 1 y el certificado / password generado.



Presionar el botn "Peticin"

Nuevamente en el servidor 1, dirigirse a "Peers Information" donde figurar la nueva peticin de
conexin. Hacer clic en el enlace "Peticin de Conexin".



Presionar el botn "Aceptar"


154
ELASTIX

CERTIFICATION
!
labs
!
Lab-20!
!

En el servidor 2, dirigirse nuevamente a "Peers Information", donde figurar la nueva conexin 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 extensin 400. Registre esta extensin en el telfono IP o en un softphone.

Desde la extensin 200 del servidor 1, marque a la extensin 400. Si todo fue configurado
correctamente debera conectar una llamada.
155
ELASTIX

CERTIFICATION
!
labs
!
Anexo 1
!





Anexo 1


Pasos para la creacin y configuracin de
una cuenta de Net2Phone

























156
ELASTIX

CERTIFICATION
!
labs
!
Anexo 1
!

1. Creacin de la cuenta

Para ingresar al portal de net2phone podemos hacer click en el banner que se encuentra en la
seccin de descargas de Elastix.org



O a travs del siguiente link:

http://n2pelastix.com



Hacemos click en Regstrate.

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 crdito en la misma. Incluimos
una serie de Screenshots con el formulario para su revisin.



157
ELASTIX

CERTIFICATION
!
labs
!
Anexo 1
!

Informacin del titular



Informacin de monto









158
ELASTIX

CERTIFICATION
!
labs
!
Anexo 1
!
Informacin de cuenta de crdito



Informacin de nmero de telfono virtual



Nota importante:

Es recomendable escoger el nmero virtual, el cual se hace en Informacin de nmero de
telfono virtual (ver grfico anterior) antes de proceder con el llenado de cualquier otra
informacin, ya que en el proceso de escoger este nmero de telfono se borran campos que
hemos ingresado.

Este proceso toma tiempo hasta lograr establecer el nmero de telfono deseado debido a que
hay mltiples alternativas entre las cuales est el pas, el estado y la ciudad. Ver imagen siguiente.
159
ELASTIX

CERTIFICATION
!
labs
!
Anexo 1
!


Una vez que completamos todo el llenado de la informacin de toda la informacin obligatoria,
hacemos click en envia el siguiente y la cuenta se crear.



Obtenemos la siguiente pantalla con informacin de la cuenta:




160
ELASTIX

CERTIFICATION
!
labs
!
Anexo 1
!
La cuenta genera la siguiente informacin importante (ver grfico anterior):





Su nmero de Cuenta
Su PIN
Su nmero de telfono

161

También podría gustarte