Telefonía IP Prácticas de Laboratorio



Documentos relacionados
Compartiendo conocimiento... Guía básica de instalación de Asterisk 11 en Centos6.5

labs Linux para Administradores de Elastix Elastix Certification ELASTIX CERTIFICATION

Guía de Usuario Central Telefónica Virtual Manual de Uso Portal Web de Usuario

MANUAL DE USUARIO ADMINISTRADOR DE IPPBX VIRTUAL Ver.: 1.0

Al finalizar, se podrán instalar Asterisk, crear usuario y extensiones. Requisitos del lector, para llevar acabo las tareas citadas en este manual

COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX

Instalación de Elastix

Instituto Tecnológico de Las Américas

COMO CONFIGURAR DISA EN ELASTIX

GUÍA PARA LA INSTALACIÓN DE MOODLE EN UN COMPUTADOR PERSONAL QUE USA EL SISTEMA OPERATIVO MS. WINDOWS

Instituto Tecnológico Las Américas (ITLA) Sistemas Operativos 3 (SO3) Daniel Alejandro Moreno Martínez. Matrícula:

CONFIGURACIÓN DE GRUPOS, COLAS DE LLAMADAS, AGENTES Y DISTRIBUCIÓN AUTOMÁTICA DE LLAMADAS EN ASTERISK

COMO REPRODUCIR MENSAJE DE BIENVENIDA EN ELASTIX

Luis Eduardo Peralta Molina Sistemas Operativos Instructor: José Doñe Como crear un Servidor DHCP en ClearOS

Proceso de Particionamiento de Discos Duros e Instalación De Diferentes Sistemas Operativos en VirtualBox.

WINDOWS : TERMINAL SERVER

Descripción y Contenido del Curso VoIP basado en Asterisk PBX

Conceptronic CFULLHDMA Cómo usar Samba/CIFS y NFS

Guía Rápida de Inicio

GUIA DE LABORATORIO # Nombre de la Practica: Antivirus Laboratorio de Redes Tiempo Estimado: 2 Horas y 30 Minutos

CÓMO INSTALAR CentOS CON RAID1

CAPITULO 5: INTEGRACION DEL ASTERISK - AVAYA

Instituto Tecnológico de Las América. Materia Sistemas operativos III. Temas. Facilitador José Doñe. Sustentante Robín Bienvenido Disla Ramirez

Toda base de datos relacional se basa en dos objetos

Instalación del sistema operativo Microsoft Windows Server 2008 Standard Edition x86

SRI UT01 Instalación de WMware Software de máquinas Virtuales Jorge García Delgado. Jorge García Delgado

Instalación Software Administrador de Videoclub

Instalación del Software Magaya

Instalar protocolo, cliente o servicio nuevo. Seleccionar ubicación de red. Práctica - Compartir y conectar una carpeta

Para instalar el software FacturaScripts, primero deberemos descargarlo. Para ello, accedemos a la url:

INSTALACIÓN DE GATEWAYS SIP

Configuración de la red

Notas para la instalación de un lector de tarjetas inteligentes.

Unidad Didáctica 12. La publicación

Soporte Técnico Prof. Héctor Herrera. Instalando Fedora 17 en la misma máquina virtual.

REQUISITOS DE HARDWARE...

GUIA COMPLEMENTARIA PARA EL USUARIO DE AUTOAUDIT. Versión N 02 Fecha: 2011-Febrero Apartado: Archivos Anexos ARCHIVOS ANEXOS

TICAR TALLER VOIP: Asterisk, como lo hacemos. Foro de Responsables de TICS de las Universidades Nacionales

Acronis License Server. Guía del usuario

Instalación del sistema VSControl Total2012

CONFIGURACIÓN DEL SERVIDOR

C a p í t u l o. Instalación. Contenido

LABORATORIO 3 DE SISTEMAS DE TELECOMUNICACIONES. PRACTICA 2.

Anexo B. Configuraciones del Archivo extensions.conf

Uso del servidor gráfico X en los servidores del CESGA mediante PuTTY y Cygwin

Redes de área local: Aplicaciones y servicios WINDOWS

Central telefónica IP* By MilNet Internet Server. Tecnología inteligente

Acronis Backup & Recovery 11 Guía de inicio rápido

INSTALACIÓN DE MySQL Índice de contenido

Ubuntu Server HOW TO : SQUID. EN ESTE SE REALIZA LO SIGUIENTE: En este how to se le va a enseñar como instalar servidor proxi Squid.

Instalación y uso de Document Distributor

Primero escoja el dispositivo de entre las opciones disponibles: Encontraremos varios espacios para llenar los más importantes son:

ANÁLISIS DE HERRAMIENTAS PARA CLONAR DISCOS DUROS

INNOVATALK PBX (INNO-PBX) COMUNICACIONES UNIFICADAS Funcionalidades de instalación

Instrucciones de instalación de IBM SPSS Modeler Server 16 para Windows

Para poder instalar el producto, tendremos que obtener el instalador apropiado para nuestro entorno hardware y software.

Autor: Microsoft Licencia: Cita Fuente: Ayuda de Windows

Servicio de Informática Vicerrectorado de Tecnologías de la Información y la Comunicación

En principio, comenzaremos a esbozar el menú principal que nos muestra el DVR, tal como se muestra a continuación:

Seguidamente se muestra una pantalla para seleccionar nuestra localización, y comprobamos que la hora y demás es correcto. Podemos hacerlo fácilmente

PRACTICA 9 SERVIDOR WEB APACHE SERVIDOR WEB APACHE. JEAN CARLOS FAMILIA Página 1

CONFIGURACION DE HOSTING EN SERVIDOR HST

Requisitos mínimos: Instrucciones de uso. Problemas durante el arranque.

Sugar en Windows. Creación de una máquina virtual con la imagen de Sugar. Autor. Versión Fecha Setiembre Ubicación

Guía de Instalación Proscai

Agente local Aranda GNU/Linux. [Manual Instalación] Todos los derechos reservados Aranda Software [1]

Prácticas con Elastix Asterisk - Lab. 3

Guía de instalación de LliureX 5.09

Internet Information Server

VoIP (Asterix) Escuela de Ingeniería de Sistemas y Computación Administración de Redes y Servidores Febrero Junio 2008

REQUISITOS DEL SISTEMA. Software Servidor. Cliente. Hardware Servidor. Cliente

PRACTICA NO.25: HOW TO INSTALL AND CONFIGURE ELASTIX CENTRAL IP

Guía de Acceso rápida para Participantes Marzo 2014

Instrucciones de instalación de TrueCode

Instalación y uso de Document Distributor 1

Manual de NetBeans y XAMPP

Creación y administración de grupos de dominio

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD

MACROS. Automatizar tareas a través del uso de las macros.

INSTALACIÓN DE UBUNTU SERVER 12.4 EN MÁQUINA VIRTUAL

UNIDESYS UNIVERSAL BUSINESS SYSTEMS INSTALACIÓN NUEVO PUESTO DE TRABAJO

FREEDOS 1.0. CURSO DE TÉCNICO EN SEGURIDAD DE REDES Y SISTEMAS José María Torres Corral

INSTALACIÓN FIREWALL IPCOP

TELEFONÍA CLOUD IPLAN INSTRUCTIVO DE CONFIGURACIÓN X-LITE 4 (WINDOWS)

Operación de Microsoft Word

Instalación de dos Sistemas Operativos en un mismo Computador

REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS

Teléfono SIP Aastra modelo 6731i CONTENIDO

ADMINISTRACIÓN DE SERVIDORES CON

Manual de software. Dynamic Cloud. 10/2014 MS-Dynamic_Cloud v1.2

MANUAL DE USUARIO AVMsorguar

Manual hosting acens

Instalación de VirtualBox. Planteamiento del caso práctico. Instalación

Escritorio remoto y VPN. Cómo conectarse desde Windows 7

Guía de referencia rápida del correo de voz de Avaya Distributed Office

INDICE. Página 2 de 23

Curso de PHP con MySQL Gratis

Instalar GFI WebMonitor

SERVICIO NACIONAL DE ADUANA DEL ECUADOR INSTRUCTIVO PARA DESCARGAR E INSTALAR EL AGENTE AVS PARA EL CHAT Y CONTROL REMOTO FEBRERO 2012

Transcripción:

Prácticas de Laboratorio

Los materiales de este curso no pueden ser reproducidos en su totalidad o en parte sin el permiso escrito previo de SideVox S.A. SideVox S.A. 2009 Todos los Derechos Reservados

1. INSTALACIÓN DE LINUX Objetivos: Preparar un servidor para el funcionamiento de Asterisk como central telefónica. Revisar brevemente el sistema operativo GNU/Linux, sus principales comandos y la edición de archivos de configuración. Instrucciones: 1. Configurar el BIOS del sistema para que arranque desde el CD ROM. 2. Insertar el (primer) CD o DVD de instalación de Fedora en el CD/DVD ROM. 3. Encender o reiniciar el sistema. 4. Puede observar que el sistema arranca desde el CD, y aparece en el monitor una pantalla con tres opciones. 5. Para iniciar la instalación gráfica presionamos la tecla Enter. 6. Aparece una opción para revisar los medios (CD /DVD) de instalación. Si Ud. Está seguro de que estos medios funcionan adecuadamente, puede prescindir (Skip) de la verificación. 7. En la pantalla inicial de instalación gráfica de Fedora, se da clic en Next. 8. Escoja el lenguaje para el proceso de instalación (Recomendado: Inglés) y presione Next. 9. Escoja el idioma en el que trabaja su teclado (Español) y clic en Next. 10. En la sección de particionamiento, escoja la opción para implementar un esquema personalizado (customized) y clic en Next. 11. En la nueva pantalla y de ser posible cree tres particiones una para /boot de 100 MB, una para swap del doble de la memoria RAM, una para el sistema de archivos / que ocupe 8 GB, una para /home de 3 GB, dejando libre al menos 2 GB. Permita a su instructor revisar el esquema de particionamiento antes de guardarlo. 12. Luego clic en Next. 13. Escoja la instalación de GRUB para el arranque. Clic en Next. 14. En la sección de dispositivos de red, configúrelos, su instructor le dirá si usar DHCP o no. Si no, él le proveerá de una Dirección IP, Máscara de Red, Red y dirección de Broadcast, así como el Hostname, Gateway y direcciones de DNS. Ingrese estos valores, revíselos y de Clic en Next. 15. Deshabilite la opción de firewall y también de la herramienta SELinux. Clic en Next. 16. No seleccione ningún lenguaje adicional aparte del Inglés predeterminado (English (USA)). Clic en Next. 17. Escoja la opción correspondiente de Huso Horario de acuerdo a su situación geográfica en el mapa que se le presenta. Clic en Next. 18. Designe una contraseña para el usuario root, confírmela y clic en Next. 19. Ahora escoja categoría por categoría cada uno de los siguientes paquetes (los que no se mencionan, deshabilitarlos)

Desktops X Window System GNOME Desktop Environment Applications Editors Sound and Video Paquetes por defecto Servers Server Configuration Tools Web Server Mail Server Windows File Server DNS Name Server MySQL Database Network Servers Development Development Tools (seleccionar todos) X Software Development System Administration Tools System Tools 20. Clic en Next para que de inicio la instalación del sistema operativo. Este proceso tomará alrededor de 30 minutos, dependiendo de las características técnicas de los equipos. 21. En el momento en que aparece la pantalla de instalación completa retire el CD/DVD del CD ROM y de clic en Reboot, para reiniciar el sistema. 22. Ahora es necesario completar algunos pasos post-instalación, de Clic en Next. 23. En la pantalla de Bienvenida (Welcome) presione Next. 24. Acepte el Acuerdo de Licencia GPL y clic en Next. 25. Coloque la hora y fecha adecuadas del sistema y clic en Next. 26. Configure la resolución respectiva de pantalla y clic en Next. 27. Agregue un usuario y contraseña en referencia a su nombre 28. Haga la prueba de sonido, clic en Next. 29. En la última pantalla, clic en Finish. 30. El sistema operativo botea nuevamente y la instalación ha finalizado.

2. EDICIÓN DE ARCHIVOS Objetivos: Crear y editar archivos usando el editor de UNIX más popular, vi. Instrucciones: Trabajando con vi 1. Abra un terminal virtual. 2. Asegúrese de encontrarse en su directorio home. Cree un archivo llamado vitest usando vi. 3. Escriba el siguiente texto y el alfabeto marino en el archivo vitest.. Agregar el alfabeto es una manera fácil de llenar un par de pantallas de información necesaria para un uso posterior. Esta es una sesión de entrenamiento para el uso de vi. A B C D E F G H I J K L M N O P Q R S T U V W alfa bravo charlie delta eco fox golf hotel indian july kilo lima mike november oskar papa quebec romeo sierra tango uniforme victor whisky

X Y Z xerox yanky zolu 4. Regrese al modo comando. Guarde y salga del archivo. Note que tan pronto presione los dos puntos (:), estos aparecen bajo la última línea de su área de entrada. Una vez que el búfer esté vacío y el archivo cerrado, Ud ve un mensaje con el número de líneas y caracteres en el archivo. Teclas de movimiento del cursor 5. Abra de nuevo el archivo vitest. Note que la última línea en la pantalla muestra el nombre del archivo y el número de caracteres. 6. Utilizando las teclas <h>, <j>, <k> y <l>, practique moviéndose a través del archivo. 7. Usando los comandos vi apropiados para moverse a través del texto: Muévase una página adelante <Ctrl-f> Muévase una página atrás <Ctrl-b> Mueva al cursor a la primera línea en la pantalla H Mueva al cursor a la última línea en el archivo G Mueva el cursor a la primera línea en el archivo :1 <enter> Mueva el cursor a la línea 5 del archivo :5 <enter> Mueva el cursor al final de la línea $ Mueva el cursor al final de la línea 0 8. Cambie el archivo vitest de manera que después de cada letra del alfabeto, un primer nombre común sea agregado y que inicie con esa letra. Asegúrese de usar distintos métodos para conmutar del modo de comandos al modo de edición (insert). El archivo debería verse más o menos así: A alfa Ani B bravo Ben C charlie Carlos 9. Practique algo más con los comandos que se encuentran en la hoja de resumen. 10. Guarde el archivo pero no salga de vi. Búsqueda global y reemplazo 11. Reemplace todos los espacios en el archivo vitest con tabs (:%s / / <TAB>/g) 12. Guarde su archivo (:wq, :x o ZZ)

Trabajando con otros editores 13. Su sistema tiene otros editores en modo texto y gráfico que están disponibles. Inicie alguno de ellos. gedit vitest kedit vitest hexedit vitest

3. INSTALACIÓN DE ASTERISK Objetivos: Compilar e instalar Asterisk en el servidor Linux. Comprender su arquitectura a través de los archivos de configuración de ejemplo. Instrucciones: Los comandos que se indican en esta práctica de laboratorio corresponden a la instalación de Asterisk en una de las siguientes distribuciones de Linux: Red Hat Enterprise 5.0, CentOS 5.0 y Fedora 8. Descargar el código fuente de Asterisk 1. El código fuente de Asterisk está disponible en su página web www.asterisk.org. Podemos descargarlo usando un explorador o desde la consola de Linux. # cd /usr/src/ # wget http://downloads.digium.com/pub/asterisk/asterisk-1.4-current.tar.gz Compilar e instalar Asterisksk 2. Descomprimimos el paquete. # tar xvfz asterisk-1.4-current.tar.gz 3. Ingresamos en el directorio en donde se descomprimió el código fuente. # cd /usr/src/asterisk-version 4. Por seguridad limpiamos el directorio en donde se crean los módulos de Asterisk. # make clean 5. Configuramos la aplicación make. #./configure 6. Compilamos el código fuente de Asterisk.

# make 7. Instalamos Asterisk # make install 8. Creamos los scripts de inicio y activamos Asterisk cuando se encienda el servidor. # make config # chkconfig asterisk on 9. Creamos los archivos de configuración de ejemplo. # make samples 10. Iniciamos Asterisk. # service asterisk start 11. Reiniciamos el servidor y observamos que Asterisk se ejecute en el momento del arranque. # reboot Dar un breve recorrido por los directorios de Asterisk 12. Observamos los archivos de configuración de ejemplo. # cd /etc/asterisk 13. Ingresamos en el directorio en donde se almacenan los módulos de Asterisk. # cd /usr/lib/asterisk/modules 14. Ingresamos en el directorio de librerías de Asterisk y en cada uno de sus subdirectorios. # cd /var/lib/asterisk # cd agi-bin # cd../firmware # cd../images # cd../keys # cd../mohmp3 # cd../sounds 15. Ingresamos en el directorio de spools y en sus subdirectorios.

# cd /var/spool/asterisk/asterisk # cd outgoing # cd../voicemail # cd../tmp 16. Finalmente ingresamos en el directorio de logs de Asterisk. # cd /var/log/asterisk

4. CONFIGURACIÓN DE DISPOSITIVOS SIP Objetivos: Configurar dispositivos que trabajen mediante el protocolo SIP, conocer los diferentes tipos de clientes de telefonía Realizar llamadas entre teléfonos IP. Instrucciones: Configurar los clientes 1. En el archivo sip.conf se deben configurar todos los dispositivos que trabajan con protocolo SIP. Guardamos el archivo de ejemplo con otro nombre y escribimos la configuración para dos teléfonos IP. # cd /etc/asterisk # mv sip.conf sip.old.conf # vi sip.conf [general] context = phones allowoverlap = no bindport = 5060 bindaddr = 0.0.0.0 srvlookup = yes [500] type = friend host = dynamic [600] type = friend host = dynamic 2. Ingresamos en la consola de Asterisk para refrescar la configuración de los clientes SIP. # asterisk -r *CLI> sip reload 3. Por otra parte debemos configurar los teléfonos IP de manera que concuerden con las extensiones creadas. 4. Si los teléfonos están correctamente conectados a la red del servidor Asterisk deben haberse registrado ya. Para saberlo consultamos en la consola.

*CLI> sip show peers... *CLI> exit Configurar las llamadas 5. En el archivo extensions.conf se configura que acción tomar cuando se marca determinada extensión. Guardamos el archivo de ejemplo y habilitamos las llamadas entre los dos teléfonos SIP. # cd /etc/asterisk # mv extensions.conf extensions.old.conf # vi extensions.conf [globals] [general] autofallthrough=yes [phones] exten => 500,1,Dial(SIP/500,60) exten => 600,1,Dial( 00,1,Dial(SIP/600,60) 6. Ingresamos en la consola de Asterisk para refrescar la configuración del plan de marcación. # asterisk -r *CLI> dialplan reload 7. Es momento de levantar el auricular de un teléfono y marcar el número del otro. En la consola podemos observar todo el proceso de la llamada. 8. Si bien es cierto la configuración de los archivos sip.conf y extensions.conf es suficiente para poder realizar llamadas entre ambos teléfonos, es a la vez limitada. Con ayuda del instructor revisar algunos ítems de la configuración de los teléfonos y compararlos con los atributos que se puede configurar en el archivo sip.conf. Pasos adicionales 9. La información que muestra la consola puede ser limitada e incluso nula. Probar uno a uno los siguientes comandos y hacer nuevas llamadas. *CLI> core set verbose 10 *CLI> core set verbose 0 10. Asterisk nos da la posibilidad de depurar las acciones que suceden mediante el protocol SIP. Iniciar el depurador de SIP y hacer una nueva llamada. Al final detener el depurador.

*CLI> sip debug... *CLI> sip no debug

5. CONFIGURACIÓN DE CONEXIONES ENTRE SERVIDORES ASTERISK Objetivos: Configurar conexiones entre dos servidores Asterisk a través de SIP e IAX simulando un escenario de dos ciudades remotas en donde se tenga un enlace de comunicación. Realizar llamadas entre ciudades. Instrucciones: El sistema simulará la configuración de la figura siguiente: Para el ejercicio vamos a considerar que el servidor de Toronto tiene la dirección IP 192.168.1.102 /24 y el de Osaka 192.168.1.101 /24 Configurar cada servidor como cliente del otro 1. En el archivo sip.conf indicamos que el servidor de Toronto se debe registrar en el servidor de Osaka. [general] register => toronto:welcome@192.168.1.101/osaka [osaka] type=friend secret=welcome context=osaka_incoming host=dynamic disallow=all allow=ulaw

2. De la misma manera con el servidor de Osaka. [general] register => osaka:welcome@192.168.1.102/toronto [toronto] type=friend secret=welcome context=toronto_incoming host=dynamic disallow=all allow=ulaw 3. En la consola de cada servidor podremos ver que aparece un mensaje indicando la registración del servidor remoto. De todas maneras lo podemos hacer también con los siguientes comandos: *CLI> sip show peers... *CLI> sip show registry 4. En cada servidor configuramos además uno o varios teléfonos como extensiones SIP. Toronto sip.conf: [500] type=friend host=dynamic context=phones Osaka sip.conf: [600] type=friend host=dynamic context=phones Configurar el plan de marcación 5. El en archivo extensions.conf de cada servidor debemos configurar de qué manera se enrutarán las llamadas. Toronto extensions.conf: [globals] [general] autofallthrough=yes [phones] include => outgoing include => internal

[internal] exten => 500,1,Dial(SIP/500,60) exten => 500,n,Hangup() [outgoing] exten => 600,1,Dial(SIP/osaka/600,60) exten => 600,n,Hangup() [osaka_incoming] include => internal Osaka extensions.conf: [globals] [general] autofallthrough=yes [phones] include => outgoing include => internal [internal] exten => 600,1,Dial(SIP/ 00,1,Dial(SIP/600,60) exten => 600,n,Hangup() [outgoing] exten => 500,1,Dial(SIP/osaka/ 00,1,Dial(SIP/osaka/500,60) exten => 500,n,Hangup() [toronto_incoming] include => internal 6. Recargamos la configuración en cada servidor. *CLI> sip reload *CLI> dialplan reload 7. Finalmente podemos llamar desde un teléfono al a otro y viceversa, para comprobar podemos entrar en la consola de cada servidor y observar los sucesos desde que se inicia la llamada. # asterisk -r *CLI> set verbose dialplan reload 8. El ejercicio se lo ha realizado usando como códec de voz G.711, el estudiante puede probar con otros códecs, incluso con otros protocolos como IAX.

6. CONFIGURACIÓN DE UNA OPERADORA DE BIENVENIDA Objetivos: Configurar una operadora automática de bienvenida que incluya un menú para el usuario. Instrucciones: Configurar el mensaje de bienvenida 1. Para dar una bienvenida u ofrecer un menú mientras se llama a una extensión es necesario grabar el mensaje como archivo con extensión wav (pueden ser de otros formatos), con sonido mono a 8 KHz. 2. Guardamos el archivo en el directorio de sonidos de Asterisk. Además dos archivos más, uno para la despedida y otro para indicar que se ha digitado una opción no válida. # cd /var/lib/asterisk/sounds # mkdir syderix # mv /root/bienvenida.wav./syderix # mv /root/invalida.wav./syderix # mv /root/adios.wav./syderix 3. La configuración de la rutina de bienvenida se la hace en el archivo extensions.conf, abrimos el archivo y digitamos las siguientes líneas: # cd /etc/asterisk # vi extensions.conf [globals] [general] autofallthrough=yes [incoming] exten => s,1,answer() exten => s,n,background(,n,background(syderix/bienvenida) exten => s,n,waitexten() exten => 1,1,Playback(digits/1) exten => 1,n,HangUp()

exten => 2,1,Dial(SIP/600,60) exten => 2,n,HangUp() exten => 3,1,SayDigits(123456789) exten => 3,n,Goto(s,2) exten => i,1,playback(syderix/invalida) exten => i,n,goto(s,1) exten => t,1,playback(syderix/adios) exten => t,n,hangup() [phones] exten => 500,1,Dial(SIP/500,60) exten => 600,1,Dial( 00,1,Dial(SIP/600,60) exten => 100,1,Goto(incoming,s,1) 4. Configurar además dos teléfonos con las extensiones 500 y 600. Ahora podemos llamar al 100 y escuchar nuestro mensaje, pulsar las opciones disponibles y ver cómo actúa el sistema. Pasos adicionales 5. Observemos las diferencias entre las aplicaciones Background y Playback. Dividimos el audio (o creamos unos nuevos) de modo que uno contenga solamente el saludo de bienvenida (bienvenida.wav) y el otro el menú de la aplicación (menu.wav). Modificamos el archivo extensions.conf. # vi extensions.conf [globals] [general] autofallthrough=yes [incoming] exten => s,1,answer() exten => s,n,playback(syderix/bienvenida) exten => s,n,background(,n,background(syderix/bienvenida) exten => s,n,waitexten() exten => 1,1,Playback(digits/1) exten => 1,n,HangUp() exten => 2,1,Dial(SIP/600,60) exten => 2,n,HangUp() exten => 3,1,SayDigits(123456789) exten => 3,n,Goto(s,2) exten => i,1,playback(syderix/invalida) exten => i,n,goto(s,1)

exten => t,1,playback(syderix/adios) exten => t,n,hangup() [phones] exten => 500,1,Dial(SIP/500,60) exten => 600,1,Dial( 00,1,Dial(SIP/600,60) exten => 100,1,Goto(incoming,s,1) 6. Recargamos la configuración y marcamos nuevamente al número 100 para observar cómo actúa el sistema. *CLI> dialplan reload 7. Existen variables de Asterisk que nos determinan el tiempo que se espera entre dígitos (TIMEOUT(digit)) y el tiempo máximo antes de ir hacia la extensión t (TIMEOUT(response)) cuando se espera la entrada del usuario. Agregamos las siguientes líneas luego de contestar la llamada. exten => s,n,set(timeout(digit)=3) exten => s,n,set(timeout(response)=6) 8. Marcamos nuevamente y probamos. La segunda variable también puede ser asignada mediante la aplicación WaitExten si le pasamos el valor como argumento.

7. PLAN DE MARCACIÓN Objetivos: Configurar un plan de marcación interno con clases de usuarios (restricción de llamadas). Utilizar patrones para definir diferentes destinos de llamadas. Instrucciones: Para el siguiente ejercicio se simulará el plan de marcación para una empresa que tiene distintos tipos de usuarios con accesos solamente a determinados destinos. Configurar los destinos 1. Se va a crear distintos grupos de destinos según el plan de marcación ción del Ecuador. En el archivo extensions.conf escribimos primeramente la salida para llamadas locales. [locales] exten => _[2356]XXXXXX,1,Dial(ZAP/g1/${EXTEN},60) exten => _[2356]XXXXXX,n,Hangup() 2. Las llamadas nacionales también deberán ser configuradas. [nacionales] exten => _0[35-7]XXXXXXX,1,Dial(ZAP/g1/${EXTEN},60) exten => _0[35-7]XXXXXXX,n,Hangup() 3. Y finalmente las llamadas a números celulares. [celulares] exten => _0[89]XXXXXXX,1,Dial(ZAP/g1/${EXTEN},60) exten => _0[89]XXXXXXX,n,Hangup() 4. Las extensiones internas irán desde la 500 hasta la 580 [internas] exten => _5[0-7]X,1,Dial(ZAP/g1/${EXTEN},60),Dial(ZAP/g1/${EXTEN},60) exten => _5[0-7]X,n,Hangup(),Hangup() exten => 580,1,Dial(ZAP/g1/${EXTEN},60),Dial(ZAP/g1/${EXTEN},60)

exten => 580,n,Hangup(),Hangup() 5. Se necesitan distintos grupos que incluyan restricciones. Es muy importante que las llamadas entrantes solamente tengan acceso a las extensiones de la empresa y que no puedan retornar a la PSTN. [entrantes] include => internas [salientes_loc] include => internas include => locales [salientes_loc_nac] include => internas include => locales include => nacionales [salientes_loc_nac_cel] include => internas include => locales include => nacionales include => celulares 6. Configuramos teléfonos IP como extensiones internas e intentamos hacer llamadas mientras los ubicamos en los distintos tipos de restricción. [501] type = friend context = salientes_loc callerid = Juan Perez <501> host = dynamic disallow = all allow = ulaw 7. Ahora limitaremos el tiempo de llamada a teléfonos celulares a tres minutos. [celulares] exten => _0[89]XXXXXXX,1,Dial(ZAP/g1/${EXTEN},60,L(180000)) exten => _0[89]XXXXXXX,n,Hangup() 8. Además, que se necesite una contraseña para acceder a las llamadas nacionales. [nacionales] exten => _0[35-7]XXXXXXX,1,Authenticate(/etc/asterisk/passwords) exten => _0[35-7]XXXXXXX, 7]XXXXXXX,n,Dial(ZAP/g1/${EXTEN},60) exten => _0[35-7]XXXXXXX,n,Hangup() 9. En el archivo /etc/asterisk/passwords indicamos las contraseñas que habilitarán las llamadas nacionales. # vi /etc/asterisk/extensions.conf

8. BUZÓN DE VOZ Objetivos: Configurar buzones de voz para diversas extensiones. Enviar mensajes de correo de voz como archivos adjuntos al correo electrónico. Instrucciones: Para el siguiente ejercicio se deberá configurar un servidor de correo interno. Los alumnos instalarán un cliente de correo para revisar sus mensajes. Configurar las cuentas En el archivo de configuración voicemail.conf se crean las cuentas de buzón de voz. Generalmente se usa el mismo número de extensión como el identificador de la cuenta. A continuación se indica una clave numérica y el nombre de la persona de quien es el correo, el mismo que se puede utilizar para el Directorio. 1. Creamos dos cuentas de correo de voz al final del archivo voicemail.conf, con direcciones válidas de e-mail. Previamente se debe crear dos extensiones a las que se les integre los buzones de voz. exten => 500,1234,Juan Perez,jperez@acme.com exten => 600,4321,Violeta Cisneros,vcisneros@midominio.com Agregar al plan de marcación Para indicar que el llamante puede dejar un mensaje si el receptor no contesta o está ocupado se usa la aplicación VoiceMail().. El formato de buzón de voz es parecido a una dirección de correo electrónico, primero el identificador del buzón, el signo @ y luego el contexto en el archivo voicemail.conf. 2. Indicamos que cuando se marque a un teléfono se espere 30 segundos para que el mismo timbre, luego de los cuales se envía directamente al buzón de voz. exten => 500,1,Dial(SIP/500,10) exten => 500,n,VoiceMail(,n,VoiceMail(500@default,u) 3. El usuario puede no contestar o estar ocupado en otra llamada. Para indicar el mensaje apropiado se utiliza el segundo argumento de la aplicación VoiceMail(), u o

b respectivamente. La aplicación Dial() devuelve una variable llamada DIALSTATUS, mediante la cual podemos indicar el estado en el que quedó la llamada. Indiquemos entonces que mensaje se debe reproducir cuando el usuario no esté disponible o esté ocupado. exten => 500,1,Dial(SIP/500,30) exten => 500,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?ocupado:nodisponible) exten => 500,n(nodisponible),Voicemail(500@default,u) exten => 500,n,Hangup() exten => 500,n(ocupado),VoiceMail(500@default,b) exten => 500,n,Hangup() 4. Ahora podemos indicar un número para accede al correo de voz, la aplicación VoiceMailMain() nos permite hacerlo. Se trata de un menú de voz donde se indican los mensajes receptados, almacenados, opciones para cambiar los saludos, etc. Indiquemos la extensión 611 en el archivo extensions.conf para acceder al buzón de voz. exten => 611,1,VoiceMailMain( VoiceMailMain() 5. Recargamos la configuración y dejamos mensajes en algún buzón de los creados. Desde ese teléfono luego marcamos al 611, escribimos la clave y navegamos por todo el menú. Es importante que el estudiante pruebe todas las opciones posibles. 6. Si abrimos nuestro cliente de correo electrónico podemos ver que el mensaje también se ha enviado y que ha llegado como un archivo adjunto. Directorio 7. La aplicación Directory() permite ingresar en un sistema en donde se puede buscar la extensión de una persona basándose en los nombre que se almacenaron en el buzón de voz. Creamos dos extensiones que nos permitan ingresar al directorio, una que busque por nombre y otra por apellido exten => 612,1,Directory(default,internas,f) exten => 613,1,Directory(default,internas)

9. MACROS Objetivos: Utilizar macros para realizar operaciones repetitivas en el plan de marcación. Comprender la manera de programar un macro Instrucciones: Configurar un macro para el correo de voz Un macro es parecido a una función o subrutina en algún lenguaje de programación. Nos permite realizar tareas repetitivas en el plan de marcación. En el presente ejercicio vamos a crear un macro para el correo de voz. 1. Crear en el archivo extensions.conf un contexto de macro para llamar a una determinada extensión y el posible ingreso al buzón de voz. [macro-buzon] exten => s,1,dial(sip/500,30) exten => s,n,gotoif($["${dialstatus}" = "BUSY"]?ocupado:nodisponible) exten => s,n(nodisponible),voicemail(500@default,u) exten => s,n,hangup() exten => s,n(ocupado),voicemail( ),VoiceMail(500@default,b) exten => s,n,hangup() 2. El macro anterior funcionará solamente para la extensión 500. Para utilizar esta macro se debe incluir en el mismo archivo: exten => 500,1,Macro(buzon) 3. Recargamos la configuración y probamos hacer una llamada, en la consola de Asterisk podemos observar cada paso que se va ejecutando, desde que se entra al contexto del macro hasta que se sale del mismo. 4. De manera similar a una función se pueden introducir parámetros en un macro. Debido a que el macro anterior no tiene sentido pues solo se utiliza para la extensión 500 vamos a pasar el número de extensión al momento de llamar al macro. [macro-buzon] exten => s,1,dial(sip/${arg1},30) exten => s,n,gotoif($["${dialstatus}" = "BUSY"]?ocupado:nodisponible) exten => s,n(nodisponible),voicemail(${arg1}@default,u) exten => s,n,hangup()

exten => s,n(ocupado),voicemail( ),VoiceMail(${ARG1}@default,b) exten => s,n,hangup() 5. Ahora cada vez que llamamos a una extensión podemos agregar el mismo macro para que se ingrese al buzón respectivo. exten => 500,1,Macro(buzon,${EXTEN} Macro(buzon,${EXTEN}) exten => 600,1,Macro(buzon,${EXTEN} Macro(buzon,${EXTEN}) exten => 700,1,Macro(buzon,${EXTEN} Macro(buzon,${EXTEN}) 6. Existe un macro estándar en el archivo de configuración de Asterisk llamado stdexten. Es una versión más avanzada del macro que hemos creado. El estudiante debe entender este macro y agregarle mayor funcionalidad, considerando todos los valores que puede tener la variable DIALSTATUS.

10. ASTDB Objetivos: Utilizar la base de datos de Asterisk para almacenar variables permanentes del sistema. Crear una aplicación de listas negras Instrucciones: La base de datos de Asterisk AstDB nos permite almacenar variables persistentes usadas en el plan de marcación aún si el sistema es reiniciado. En el presente ejercicio vamos a crear un contador que almacene su estado y además una aplicación de listas negras de llamantes. Configurar un contador 1. Cuando llamemos a la extensión 200 necesitamos que el sistema empiece a contarnos dígito a dígito desde el número 1 hasta que colguemos la llamada. Si se vuelve a marcar se empezará nuevamente desde el 1. El valor del contador los almacenamos en una variable llamada CONTADOR. exten => 200,1,GotoIf($[${ISNULL(${CONTADOR})}]?:continue) exten => 200,n,Set(CONTADOR=1) exten => 200,n,Goto(1) exten => 200,n(continue),NoOp() exten => 200,n,SayNumber(${CONTADOR}) exten => 200,n,Set(CONTADOR=$[${CONTADOR} + 1]) exten => 200,n,Goto(1) 2. Guardamos el archivo, recargamos la configuración y probamos hacer una llamada. 3. Ahora la idea es que cada vez que se marque se empiece desde el número desde donde se quedó el conteo la última vez, para esto almacenaremos la variable CONTADOR en la AstDB, en una familia llamada test y con una clave contador. exten => 200,1,Set(CONTADOR=${DB(test/contador)}) exten => 200,n,GotoIf($[${ISNULL(${CONTADOR})}]?:continue) exten => 200,n,Set(DB(test/contador)=1) exten => 200,n,Goto(1) exten => 200,n(continue),NoOp() exten => 200,n,SayNumber(${CONTADOR}) exten => 200,n,Set(CONTADOR=$[${CONTADOR} + 1]) exten => 200,n,Set(DB(test/contador)=${CONTADOR}) exten => 200,n,Goto(1)

4. Si se llama nuevamente se podrá ver la persistencia de los valores aún si Asterisk es reiniciado *CLI> restart now Configurar restricciones por listas negras La lista negra es una familia llamada blacklist dentro de la AstDB que almacena un conjunto de números a los que se les debe bloquear las llamadas entrantes. 5. Almacenemos desde la consola de Asterisk un conjunto de números arbitrarios. *CLI> database put blacklist number 1 *CLI> database put blacklist number 2... 6. La función BLACKLIST() retorna si el número del llamante (CallerID) coincide con algún valor de la lista negra. En el plan de marcación antes de llamar al número destino hagamos la comprobación correspondiente. exten => 300,1,GotoIf($[${BLACKLIST()]?bloqueado,1) exten => 300,n,Dial(${JOHN}) exten => bloqueado,1,playback(privacy-you-are-blacklisted) exten => bloqueado,n,playback(vm-goodbye) exten => bloqueado,n,hangup() 7. Para comprobar el ejemplo simulemos que el llamante tiene un número de los que están en la lista negra, podemos hacerlo mediante la aplicación Set(CALLERID(num)). exten => 300,1,Set(CALLERID(num)=1234) exten => 300,n,GotoIf($[${BLACKLIST()]?bloqueado,1) exten => 300,n,Dial(${JOHN}) exten => bloqueado,1,playback(privacy-you-are-blacklisted) exten => bloqueado,n,playback(vm-goodbye) exten => bloqueado,n,hangup()

11. MONITOREO Y GRABACIÓN DE LLAMADAS Objetivos: Utilizar la herramienta de monitoreo y grabación de llamadas Instrucciones: Monitorear o grabar una llamada puede resultar en problemas legales contra la privacidad de cada persona, hay que ser muy cuidadosos. Monitoreo de llamadas Solamente las llamadas que atraviesan un canal analógico (zap) pueden ser monitoreadas y se lo hace a través de la aplicación ZapBarge(). 1. Creamos una extensión que monitoree el primer canal analógico. exten => 400,1,ZapBarge(1) exten => 400,n,Hangup() 2. El momento que una llamada se ha establecido entre un teléfono IP y uno analógico a través de un puerto FXS podemos marcar desde otro teléfono IP a la extensión 400 y la llamada podrá ser escuchada. Grabación de llamadas En ocasiones cuando tenemos algunas operadoras de atención al cliente es útil grabar las conversaciones ciones por seguridad o para establecer políticas y mejorar el servicio. 3. Antes de realizar una llamada agregamos la aplicación para que esta se grabe. Es importante indicar el formato del archivo. El nombre deberá contener el número llamante y el destino exten => 800,1,Record(${TIMESTAMP}${CALLERIDNUM}-${EXTEN}.wav) ${EXTEN}.wav) exten => 800,n,Dial(SIP/800) 4. Siempre es necesario reproducir un mensaje en donde se indique que la llamada será grabada. Además se recomienda que se coloquen en un contexto diferente las llamadas a grabarse.

[incoming] exten => _.,1,Record(${TIMESTAMP}${CALLERIDNUM}-${EXTEN}.wav) ${EXTEN}.wav) exten => _.,2,Playback(thiscallmaybemonitoredorrecorded) exten => _.,3,Goto(default,${EXTEN},1)

12. REGISTROS DETALLADOS DE LLAMADAS Objetivos: Configurar un servidor de telefonía con Asterisk para que almacene automáticamente los registros de llamadas en una base de datos relacional. Manejo de aplicaciones en el plan de marcación para modificar los registros de llamadas. Instrucciones: Empezaremos instalando Asterisk en el servidor, para luego configurar el almacenamiento de los registros en una base de datos MySQL que se encuentre e en el mismo servidor. Compilar e instalar Asterisk 17. Copiamos los paquetes Asterisk y Asterisk-addons en el directorio /usr/src. # cp /media/asterisk-ii/software/asterisk* /usr/src 18. Descomprimimos el paquete Asterisk y procedemos con su compilación e instalación. # cd /usr/src # tar xvfz asterisk-1.4.22.tar.gz # cd asterisk-1.4.22 #./configure # make # make install # make config # make samples # chkconfig asterisk on Compilar e instalar Asterisk-addons 19. Descomprimimos el paquete Asterisk-addons y lo instalamos. # cd /usr/src # tar xvfz asterisk-addons-1.4.7.tar.gz # cd asterisk-addons-1.4.7.tar.gz #./configure # make # make install # make samples