• No se han encontrado resultados

Telefonía IP Prácticas de Laboratorio

N/A
N/A
Protected

Academic year: 2021

Share "Telefonía IP Prácticas de Laboratorio"

Copied!
43
0
0

Texto completo

(1)

Septiembre de 2009

Telefonía IP

Prácticas de Laboratorio

(2)

Los materiales de este curso no pueden ser reproducidos en su totalidad o en parte sin permiso escrito previo de SideVox

Los materiales de este curso no pueden ser reproducidos en su totalidad o en parte sin ideVox S.A.

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

Todos los Derechos Reservados

(3)

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

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

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

19. Ahora escoja categoría por categoría cada uno de los siguientes paquetes (los que no se mencionan, deshabilitarlos)

INSTALACIÓN DE LINUX

Preparar un servidor para el funcionamiento de Asterisk como central telefónica.

brevemente el sistema operativo GNU/Linux, sus principales comandos y la edición de archivos de configuración.

Configurar el BIOS del sistema para que arranque desde el CD ROM.

Insertar el (primer) CD o DVD de instalación de Fedora en el CD/DVD ROM.

Encender o reiniciar el sistema.

Puede observar que el sistema arranca desde el CD, y aparece en el monitor una pantalla con tres opciones.

Para iniciar la instalación gráfica presionamos la tecla Enter.

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 En la pantalla inicial de instalación gráfica de Fedora, se da clic en Next.

Escoja el lenguaje para el proceso de instalación (Recomendado: Inglés) y presione Escoja el idioma en el que trabaja su teclado (Español) y clic en Next.

En la sección de particionamiento, escoja la opción para implementar un esquema personalizado (customized) y clic en Next.

a 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

esquema de particionamiento antes de guardarlo.

Escoja la instalación de GRUB para el arranque. Clic en Next.

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.

Deshabilite la opción de firewall y también de la herramienta SELinux. Clic en Next.

one ningún lenguaje adicional aparte del Inglés predeterminado (English 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.

Designe una contraseña para el usuario root, confírmela y clic en Next.

Ahora escoja categoría por categoría cada uno de los siguientes paquetes (los que no se mencionan, deshabilitarlos)

Preparar un servidor para el funcionamiento de Asterisk como central telefónica.

brevemente el sistema operativo GNU/Linux, sus principales comandos y la

CD/DVD ROM.

Puede observar que el sistema arranca desde el CD, y aparece en el monitor una

dios (CD /DVD) de instalación. Si Ud. Está seguro de que estos medios funcionan adecuadamente, puede prescindir (Skip) de la En la pantalla inicial de instalación gráfica de Fedora, se da clic en Next.

instalación (Recomendado: Inglés) y presione

En la sección de particionamiento, escoja la opción para implementar un esquema a 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

esquema de particionamiento antes de guardarlo.

En la sección de dispositivos de red, configúrelos, su instructor le dirá si usar DHCP o ección IP, Máscara de Red, Red y dirección de Broadcast, así como el Hostname, Gateway y direcciones de DNS. Ingrese estos Deshabilite la opción de firewall y también de la herramienta SELinux. Clic en Next.

one ningún lenguaje adicional aparte del Inglés predeterminado (English Escoja la opción correspondiente de Huso Horario de acuerdo a su situación geográfica

usuario root, confírmela y clic en Next.

Ahora escoja categoría por categoría cada uno de los siguientes paquetes (los que no

(4)

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 todo

· 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 del CD ROM y de clic en Reboot, para reiniciar el sistema.

22. Ahora es necesario completar algunos pasos post 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.

X Window System

GNOME Desktop Environment

Sound and Video Paquetes por defecto

Server Configuration Tools

Windows File Server DNS Name Server MySQL Database Network Servers

Development Tools (seleccionar todos) X Software Development

Administration Tools m Tools

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 En el momento en que aparece la pantalla de instalación completa retire

del CD ROM y de clic en Reboot, para reiniciar el sistema.

Ahora es necesario completar algunos pasos post-instalación, de Clic en Next.

En la pantalla de Bienvenida (Welcome) presione Next.

Acepte el Acuerdo de Licencia GPL y clic en Next.

ue la hora y fecha adecuadas del sistema y clic en Next.

Configure la resolución respectiva de pantalla y clic en Next.

Agregue un usuario y contraseña en referencia a su nombre Haga la prueba de sonido, clic en Next.

En la última pantalla, clic en Finish.

El sistema operativo botea nuevamente y la instalación ha finalizado.

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 En el momento en que aparece la pantalla de instalación completa retire el CD/DVD

instalación, de Clic en Next.

(5)

2. EDICIÓN DE ARCHIVOS

Objetivos:

· Crear y editar archivos usando el editor de UNIX más popular,

Instrucciones:

Trabajando con vi

1. Abra un terminal virtual.

2. Asegúrese de encontrarse en su directorio home. Cree un archivo llamado usando vi.

3. Escriba el siguiente texto y el alfabeto marino en el archivo

es una manera fácil de llenar un par de pantallas de información necesaria p posterior. Esta es una sesión de entrenamiento para el uso de vi.

A alfa B bravo C charlie D delta E eco F fox G golf H hotel I indian J july K kilo L lima M mike N november

O oskar

P papa Q quebec

R romeo

S sierra T tango U uniforme V victor W whisky

EDICIÓN DE ARCHIVOS

rear y editar archivos usando el editor de UNIX más popular, vi.

Abra un terminal virtual.

Asegúrese de encontrarse en su directorio home. Cree un archivo llamado 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 p

posterior. Esta es una sesión de entrenamiento para el uso de vi.

bravo charlie

indian

november oskar quebec romeo sierra tango uniforme victor whisky

Asegúrese de encontrarse en su directorio home. Cree un archivo llamado vitest . Agregar el alfabeto es una manera fácil de llenar un par de pantallas de información necesaria para un uso

(6)

X xerox Y yanky Z 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

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 Muévase una página atrás Mueva al cursor a la p

Mueva al cursor a la última línea en el archivo Mueva el cursor a la primera línea en el archivo Mueva el cursor a la línea 5 del archivo

Mueva el cursor al final de la línea Mueva el cursor al final de la línea

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

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)

xerox yanky

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

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.

Utilizando las teclas <h>, <j>, <k> y <l>, practique moviéndose a través del archivo.

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 $

l final de la línea 0

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í:

Practique algo más con los comandos que se encuentran en la hoja de resumen.

Guarde el archivo pero no salga de vi.

Búsqueda global y reemplazo

los espacios en el archivo vitest con tabs (:%s / / <TAB>/g) Guarde su archivo (:wq, :x o ZZ)

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 archivo cerrado, Ud ve un mensaje con el número de líneas

Abra de nuevo el archivo vitest. Note que la última línea en la pantalla muestra el

Utilizando las teclas <h>, <j>, <k> y <l>, practique moviéndose a través del archivo.

Usando los comandos vi apropiados para moverse a través del texto:

b>

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 (insert). El archivo

Practique algo más con los comandos que se encuentran en la hoja de resumen.

los espacios en el archivo vitest con tabs (:%s / / <TAB>/g)

(7)

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 Trabajando con otros editores

Su sistema tiene otros editores en modo texto y gráfico que están disponibles. Inicie

hexedit vitest

Su sistema tiene otros editores en modo texto y gráfico que están disponibles. Inicie

(8)

3. INSTALACIÓN DE ASTERISK

Objetivos:

· Compilar e instalar Asterisk

· Comprender su arquitectura a través de los archivos de configuración

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

Compilar e instalar Asterisk

2. Descomprimimos el paquete.

# tar xvfz asterisk-1.4

3. Ingresamos en el directorio en donde se descomprimió el código fuente.

# cd /usr/src/asterisk

4. Por seguridad limpiamos el directorio en donde se crean los m

# make clean

5. Configuramos la aplicación

# ./configure

6. Compilamos el código fuente de Asterisk

INSTALACIÓN DE ASTERISK

nstalar Asterisk en el servidor Linux.

omprender su arquitectura a través de los archivos de configuración

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

Descargar el código fuente de Asterisk

te de Asterisk está disponible en su página web www.asterisk.org.

Podemos descargarlo usando un explorador o desde la consola de Linux.

# wget http://downloads.digium.com/pub/asterisk/asterisk-1.4-

sk

Descomprimimos el paquete.

1.4-current.tar.gz

Ingresamos en el directorio en donde se descomprimió el código fuente.

# cd /usr/src/asterisk-version

Por seguridad limpiamos el directorio en donde se crean los módulos de Asterisk.

Configuramos la aplicación make.

Compilamos el código fuente de Asterisk.

omprender su arquitectura a través de los archivos de configuración de ejemplo.

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

te de Asterisk está disponible en su página web www.asterisk.org.

Podemos descargarlo usando un explorador o desde la consola de Linux.

-current.tar.gz

Ingresamos en el directorio en donde se descomprimió el código fuente.

ódulos de Asterisk.

(9)

# 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

# cd /usr/lib/asterisk/modules

14. Ingresamos en el directorio subdirectorios.

# cd /var/lib/asterisk

# cd agi-bin

# cd ../firmware

# cd ../images

# cd ../keys

# cd ../mohmp3

# cd ../sounds

15. Ingresamos en el directorio

scripts de inicio y activamos Asterisk cuando se encienda el servidor.

chkconfig asterisk on

Creamos los archivos de configuración de ejemplo.

service asterisk start

Reiniciamos el servidor y observamos que Asterisk se ejecute en el momento del

recorrido por los directorios de Asterisk Observamos los archivos de configuración de ejemplo.

Ingresamos en el directorio en donde se almacenan los módulos de Asterisk.

cd /usr/lib/asterisk/modules

Ingresamos en el directorio de librerías de Asterisk y en cada uno de sus

# cd /var/lib/asterisk

Ingresamos en el directorio de spools y en sus subdirectorios.

scripts de inicio y activamos Asterisk cuando se encienda el servidor.

Reiniciamos el servidor y observamos que Asterisk se ejecute en el momento del

ódulos de Asterisk.

librerías de Asterisk y en cada uno de sus

(10)

# cd /var/spool/asterisk

# cd outgoing

# cd ../voicemail

# cd ../tmp

16. Finalmente ingresamos en el directorio

# cd /var/log/asterisk /asterisk

ngresamos en el directorio de logs de Asterisk.

# cd /var/log/asterisk

(11)

4. CONFIGURACIÓN DE DISPOSITIVOS SIP

Objetivos:

· Configurar dispositivos 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

# asterisk -r

*CLI> sip reload

3. Por otra parte debemos configurar 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.

CONFIGURACIÓN DE DISPOSITIVOS SIP

dispositivos que trabajen mediante el protocolo SIP, conocer los diferentes tipos de clientes de telefonía

Realizar llamadas entre teléfonos IP.

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.

# mv sip.conf sip.old.conf

0.0.0.0

Ingresamos en la consola de Asterisk para refrescar la configuración de los clientes SIP.

Por otra parte debemos configurar los teléfonos IP de manera que concuerden con las

Si los teléfonos están correctamente conectados a la red del servidor Asterisk deben haberse registrado ya. Para saberlo consultamos en la consola.

CONFIGURACIÓN DE DISPOSITIVOS SIP

trabajen mediante el protocolo SIP, conocer los diferentes

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

ón de los clientes SIP.

éfonos IP de manera que concuerden con las

Si los teléfonos están correctamente conectados a la red del servidor Asterisk deben

(12)

*CLI> sip show peers ...

*CLI> exit

Configurar las llamadas

5. En el archivo extensions.conf

determinada extensión. Guardamos el archivo de ejemplo y habilitamos las llamadas entre los dos teléfonos SIP.

# cd /etc/asterisk

# mv extensions.conf

# vi extensions.conf [globals]

[general]

autofallthrough=yes

[phones]

exten => 500,1,Dial(

exten => 600,1,Dial(

6. Ingresamos en la consola 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

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

Pasos adicionales

9. La información que muestra la consola puede ser limitada 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

protocol SIP. Iniciar el depurador de SIP y hacer una nueva llamada. Al final detener el depurador.

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.

# mv extensions.conf extensions.old.conf

autofallthrough=yes

exten => 500,1,Dial(SIP/500,60) 00,1,Dial(SIP/600,60)

Ingresamos en la consola de Asterisk para refrescar la configuraci

*CLI> dialplan reload

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.

Si bien es cierto la configuración de los archivos sip.conf y extensions.

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.

La información que muestra la consola puede ser limitada e incluso nula. Probar uno a uno los siguientes comandos y hacer nuevas llamadas.

core set verbose 10 core set verbose 0

Asterisk nos da la posibilidad de depurar las acciones que suceden mediante el Iniciar el depurador de SIP y hacer una nueva llamada. Al final detener el se configura que acción tomar cuando se marca determinada extensión. Guardamos el archivo de ejemplo y habilitamos las llamadas

la configuración del plan de

Es momento de levantar el auricular de un teléfono y marcar el número del otro. En la

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

e incluso nula. Probar uno a

acciones que suceden mediante el Iniciar el depurador de SIP y hacer una nueva llamada. Al final detener el

(13)

*CLI> sip debug ...

*CLI> sip no debug

(14)

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

servidor de Osaka.

[general]

register => toronto:[email protected]/osaka

[osaka]

type=friend secret=welcome

context=osaka_incoming host=dynamic

disallow=all allow=ulaw

CONFIGURACIÓN DE CONEXIONES ENTRE SERVIDORES ASTERISK

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.

ntre ciudades.

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

servidor como cliente del otro

sip.conf indicamos que el servidor de Toronto se debe registrar en el

register => toronto:[email protected]/osaka

context=osaka_incoming

CONFIGURACIÓN DE CONEXIONES ENTRE

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.

Para el ejercicio vamos a considerar que el servidor de Toronto tiene la dirección IP

indicamos que el servidor de Toronto se debe registrar en el

(15)

2. De la misma manera con el servidor de Osaka.

[general]

register => osaka:[email protected]

[toronto]

type=friend secret=welcome

context=toronto_incoming host=dynamic

disallow=all allow=ulaw

3. En la consola de cada servidor podre

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

enrutarán las llamadas.

Toronto extensions.conf:

[globals]

[general]

autofallthrough=yes [phones]

include => outgoing include => internal

De la misma manera con el servidor de Osaka.

ter => osaka:[email protected]/toronto

context=toronto_incoming

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 registry

En cada servidor configuramos además uno o varios teléfonos como extensiones SIP.

Configurar el plan de marcación

extensions.conf de cada servidor debemos configurar de qué manera se enrutarán las llamadas.

mos ver que aparece un mensaje indicando la registración del servidor remoto. De todas maneras lo podemos hacer también con los

uno o varios teléfonos como extensiones SIP.

de cada servidor debemos configurar de qué manera se

(16)

[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/

exten => 600,n,Hangup()

[outgoing]

exten => 500,1,Dial(SIP/osaka/

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

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 rea

probar con otros códecs, incluso con otros protocolos como IAX.

exten => 500,1,Dial(SIP/500,60) gup()

exten => 600,1,Dial(SIP/osaka/600,60) exten => 600,n,Hangup()

00,1,Dial(SIP/600,60) 00,n,Hangup()

00,1,Dial(SIP/osaka/500,60) 00,n,Hangup()

Recargamos la configuración en cada servidor.

*CLI> dialplan reload

nalmente 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

dialplan reload

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.

éfono al a otro y viceversa, para comprobar podemos entrar en la consola de cada servidor y observar los sucesos desde que se

ódec de voz G.711, el estudiante puede

(17)

6. CONFIGURACIÓN DE UNA OPERADORA DE BIENVENIDA

Objetivos:

· Configurar una operadora automática de bienvenida que incluya un menú 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

formatos), con sonido

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

exten => s,n,WaitExten()

exten => 1,1,Playback(digits/1) exten => 1,n,HangUp()

CONFIGURACIÓN DE UNA OPERADORA DE BIENVENIDA

Configurar una operadora automática de bienvenida que incluya un menú

Configurar el mensaje de bienvenida

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.

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

var/lib/asterisk/sounds

/root/bienvenida.wav ./syderix

# mv /root/invalida.wav ./syderix

# mv /root/adios.wav ./syderix

La configuración de la rutina de bienvenida se la hace en el archivo abrimos el archivo y digitamos las siguientes líneas:

autofallthrough=yes

,1,Answer()

,n,Background(syderix/bienvenida) ,n,WaitExten()

exten => 1,1,Playback(digits/1) HangUp()

CONFIGURACIÓN DE UNA OPERADORA DE

Configurar una operadora automática de bienvenida que incluya un menú para el

Para dar una bienvenida u ofrecer un menú mientras se llama a una extensión es (pueden ser de otros

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

archivo extensions.conf,

(18)

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(

exten => i,n,Goto(

exten => t,1,Playback(

exten => t,n,Hangup()

[phones]

exten => 500,1,Dial(

exten => 600,1,Dial(

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

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

# vi extensions.conf [globals]

[general]

autofallthrough=yes

[incoming]

exten => s,1,Answer() exten => s,n,Playback exten => s,n,Background(

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(

exten => i,n,Goto(

exten => 2,1,Dial(SIP/600,60) exten => 2,n,HangUp()

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()

exten => 500,1,Dial(SIP/500,60) 00,1,Dial(SIP/600,60) Goto(incoming,s,1)

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

Observemos las diferencias entre las aplicaciones Background y Playback

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

ficamos el archivo extensions.conf.

autofallthrough=yes

,1,Answer()

Playback(syderix/bienvenida) ,n,Background(syderix/bienvenida) ,n,WaitExten()

1,1,Playback(digits/1) HangUp()

exten => 2,1,Dial(SIP/600,60) exten => 2,n,HangUp()

SayDigits(123456789) exten => 3,n,Goto(s,2)

exten => i,1,Playback(syderix/invalida) exten => i,n,Goto(s,1)

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

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

(19)

exten => t,1,Playback(

exten => t,n,Hangup()

[phones]

exten => 500,1,Dial(

exten => 600,1,Dial(

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 (TIMEOUT(response)) cuando se espera la entrada del usuario. Agregamos las siguientes líneas luego

exten => s,n,Set(TIMEOUT(digit)=3) exten => s,n,Set(TIMEOUT(response)=6)

8. Marcamos nuevamente y probamos. La segunda variable tambi mediante la aplicación

exten => t,1,Playback(syderix/adios) exten => t,n,Hangup()

exten => 500,1,Dial(SIP/500,60) 00,1,Dial(SIP/600,60) Goto(incoming,s,1)

Recargamos la configuración y marcamos nuevamente al número 100 para observar cómo actúa el sistema.

dialplan reload

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 (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)

Marcamos nuevamente y probamos. La segunda variable también puede ser asignada mediante la aplicación WaitExten si le pasamos el valor como argumento.

Recargamos la configuración y marcamos nuevamente al número 100 para observar

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

én puede ser asignada si le pasamos el valor como argumento.

(20)

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 marca el archivo extensions.conf

[locales]

exten => _[2356]XXXXXX,1,Dial(ZAP/g1/${EXTEN},60) exten => _[2356]XXXXXX,n

2. Las llamadas nacionales también deberán ser

[nacionales]

exten => _0[35-7]XXXXXXX,1,Dial(ZAP/g1/${EXTEN},60) exten => _0[35-7]XXXXXXX,n

3. Y finalmente las llamadas a números celulares.

[celulares]

exten => _0[89]XXXXXXX,1 exten => _0[89]XXXXXXX,n

4. Las extensiones internas irán desde la 500 hasta la 580

[internas]

exten => _5[0-7]X,1,Dial(ZAP/g1/${EXTEN},60) exten => _5[0-7]X,n,Hangup()

exten => 580,1,Dial(ZAP/g1/${EXTEN},60)

PLAN DE MARCACIÓN

plan de marcación interno con clases de usuarios (restricción de Utilizar patrones para definir diferentes destinos de llamadas.

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.

Se va a crear distintos grupos de destinos según el plan de marcación del Ecuador. En extensions.conf escribimos primeramente la salida para llamadas locales.

exten => _[2356]XXXXXX,1,Dial(ZAP/g1/${EXTEN},60) exten => _[2356]XXXXXX,n,Hangup()

Las llamadas nacionales también deberán ser configuradas.

7]XXXXXXX,1,Dial(ZAP/g1/${EXTEN},60) 7]XXXXXXX,n,Hangup()

Y finalmente las llamadas a números celulares.

=> _0[89]XXXXXXX,1,Dial(ZAP/g1/${EXTEN},60) exten => _0[89]XXXXXXX,n,Hangup()

Las extensiones internas irán desde la 500 hasta la 580

,Dial(ZAP/g1/${EXTEN},60) ,Hangup()

,Dial(ZAP/g1/${EXTEN},60)

plan de marcación interno con clases de usuarios (restricción de

Para el siguiente ejercicio se simulará el plan de marcación para una empresa que tiene

ción del Ecuador. En escribimos primeramente la salida para llamadas locales.

(21)

exten => 580,n,Hangup()

5. Se necesitan distintos grupos que incluyan

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 extensi

mientras los ubicamos en los distintos tipos de restricción.

[501]

type = friend

context = salientes_loc callerid = Juan Perez host = dynamic disallow = all allow = ulaw

7. Ahora limitaremos el tiempo de

[celulares]

exten => _0[89]XXXXXXX,1 exten => _0[89]XXXXXXX,n

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,

exten => _0[35-7]XXXXXXX,n,Hangup()

9. En el archivo /etc/asterisk/passwords llamadas nacionales.

# vi /etc/asterisk/extensions.conf ,Hangup()

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.

nacionales [salientes_loc_nac_cel]

nacionales

Configuramos teléfonos IP como extensiones internas e intentamos hacer llamadas mientras los ubicamos en los distintos tipos de restricción.

context = salientes_loc Juan Perez <501>

Ahora limitaremos el tiempo de llamada a teléfonos celulares a tres minutos.

=> _0[89]XXXXXXX,1,Dial(ZAP/g1/${EXTEN},60,L(180000)) exten => _0[89]XXXXXXX,n,Hangup()

Además, que se necesite una contraseña para acceder a las llamadas nacionales.

7]XXXXXXX,1,Authenticate(/etc/asterisk/passwords) 7]XXXXXXX,n,Dial(ZAP/g1/${EXTEN},60)

7]XXXXXXX,n,Hangup()

/etc/asterisk/passwords indicamos las contraseñas que habilitarán las

/etc/asterisk/extensions.conf

restricciones. Es muy importante que las llamadas entrantes solamente tengan acceso a las extensiones de la empresa y que no

ones internas e intentamos hacer llamadas

llamada a teléfonos celulares a tres minutos.

Además, que se necesite una contraseña para acceder a las llamadas nacionales.

7]XXXXXXX,1,Authenticate(/etc/asterisk/passwords)

indicamos las contraseñas que habilitarán las

(22)

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á

instalarán un cliente de correo para revisar sus mensajes.

Configurar las cuentas

En el archivo de configuración Generalmente se usa el mismo núme

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

1. Creamos dos cuentas de correo de voz al final del archivo direcciones válidas de e

les integre los buzones de voz.

exten => 500,1234,Juan Perez,[email protected]

exten => 600,4321,Violeta Cisneros,[email protected]

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()

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 exten => 500,n,VoiceMail(

3. El usuario puede no contestar o estar ocupado en otra llamada. Para indicar el mensaje apropiado se utiliza

BUZÓN DE VOZ

buzones de voz para diversas extensiones.

Enviar mensajes de correo de voz como archivos adjuntos al correo electrónico.

Para el siguiente ejercicio se deberá configurar un servidor de correo interno. Los alumnos instalarán un cliente de correo para revisar sus mensajes.

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.

Creamos dos cuentas de correo de voz al final del archivo voicemail.conf direcciones válidas de e-mail. Previamente se debe crear dos extensiones a las que se les integre los buzones de voz.

Juan Perez,[email protected]

Violeta Cisneros,[email protected]

plan de marcación

Para indicar que el llamante puede dejar un mensaje si el receptor no contesta o está ocupado 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

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.

SIP/500,10)

,n,VoiceMail(500@default,u)

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() Enviar mensajes de correo de voz como archivos adjuntos al correo electrónico.

configurar un servidor de correo interno. Los alumnos

se crean las cuentas de buzón de voz.

ro 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

oicemail.conf, con mail. Previamente se debe crear dos extensiones a las que se

Para indicar que el llamante puede dejar un mensaje si el receptor no contesta o está ocupado . 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

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.

El usuario puede no contestar o estar ocupado en otra llamada. Para indicar el VoiceMail(), “u” o

(23)

“b” respectivamente. La aplicación

mediante la cual podemos indicar el estado en el que quedó la llamada. Indiquemos entonces que mensaje se debe

ocupado.

exten => 500,1,Dial(SIP/500,30)

exten => 500,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?ocupado:nodisponible) exten => 500,n(nodisponible

exten => 500,n,Hangup() exten => 500,n(ocupado exten => 500,n,Hangup()

4. Ahora podemos indicar un número para accede al correo de voz, la aplicaci VoiceMailMain() nos permite hacerlo. Se trata de un menú de voz donde se indican los mensajes receptados, almacenad

Indiquemos la extensión 611 en el archivo voz.

exten => 611,1,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 h

Directorio

7. La aplicación Directory()

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 apelli

exten => 612,1,Directory(default,internas,f) exten => 613,1,Directory(default,internas

respectivamente. La aplicación Dial() devuelve una variable llamada

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é

exten => 500,1,Dial(SIP/500,30)

exten => 500,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?ocupado:nodisponible) ,n(nodisponible),Voicemail(500@default,u)

500,n,Hangup()

,n(ocupado),VoiceMail(500@default,b) 500,n,Hangup()

Ahora podemos indicar un número para accede al correo de voz, la aplicaci 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

VoiceMailMain()

Recargamos la configuración y dejamos mensajes en algún buzón de los creados.

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.

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.

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)

devuelve una variable llamada DIALSTATUS, mediante la cual podemos indicar el estado en el que quedó la llamada. Indiquemos reproducir cuando el usuario no esté disponible o esté

exten => 500,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?ocupado:nodisponible)

Ahora podemos indicar un número para accede al correo de voz, la aplicación nos permite hacerlo. Se trata de un menú de voz donde se indican los os, opciones para cambiar los saludos, etc.

para acceder al buzón de

Recargamos la configuración y dejamos mensajes en algún buzón de los creados.

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.

Si abrimos nuestro cliente de correo electrónico podemos ver que el mensaje también

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

(24)

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

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}" =

exten => s,n(nodisponible),Voicemail(500@default,u) exten => s,n,Hangup()

exten => s,n(ocupado),VoiceMail(

exten => s,n,Hangup()

2. El macro anterior funcionará solamente para la extensi 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(

exten => s,n,Hangup()

Utilizar macros para realizar operaciones repetitivas en el plan de marcación.

Comprender la manera de programar un macro

Configurar un macro para el correo de voz

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

para el correo de voz.

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.

,1,Dial(SIP/500,30)

,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?ocupado:nodisponible) exten => s,n(nodisponible),Voicemail(500@default,u)

,n,Hangup()

),VoiceMail(500@default,b) ,n,Hangup()

El macro anterior funcionará solamente para la extensión 500. Para utilizar esta m se debe incluir en el mismo archivo:

Macro(buzon)

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

se sale del mismo.

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.

exten => s,1,Dial(SIP/${ARG1},30)

,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?ocupado:nodisponible) exten => s,n(nodisponible),Voicemail(${ARG1}@default,u)

,n,Hangup()

Utilizar macros para realizar operaciones repetitivas en el plan de marcación.

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

un contexto de macro para llamar a una

"BUSY"]?ocupado:nodisponible)

ón 500. Para utilizar esta macro

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

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.

,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?ocupado:nodisponible)

(25)

exten => s,n(ocupado),VoiceMail(

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}

exten => 600,1,Macro(buzon,${EXTEN}

exten => 700,1,Macro(buzon,${EXTEN}

6. Existe un macro estándar en el archivo de configuración de Asterisk llamado

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 vari

),VoiceMail(${ARG1}@default,b) ,n,Hangup()

Ahora cada vez que llamamos a una extensión podemos agregar el mismo macro para que se ingrese al buzón respectivo.

Macro(buzon,${EXTEN}) Macro(buzon,${EXTEN}) Macro(buzon,${EXTEN})

cro estándar en el archivo de configuración de Asterisk llamado

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.

Ahora cada vez que llamamos a una extensión podemos agregar el mismo macro para

cro 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

(26)

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

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

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(CONTADO

exten => 200,n,GotoIf($[${ISNULL(${CON exten => 200,n,Set(DB(test/contador exten => 200,n,Goto(1)

exten => 200,n(continue),NoOp() exten => 200,n,SayNumber(${CONTADOR exten => 200,n,Set(CONTADOR=$[${CONTADOR exten => 200,n,Set(DB(test/contador)=${CO exten => 200,n,Goto(1)

Utilizar la base de datos de Asterisk para almacenar variables permanentes del Crear una aplicación de listas negras

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.

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

riable 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]) ,n,Goto(1)

Guardamos el archivo, recargamos la configuración y probamos hacer una llamada.

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

en la AstDB, en una familia llamada test y con una clave contador.

exten => 200,1,Set(CONTADOR=${DB(test/contador)})

> 200,n,GotoIf($[${ISNULL(${CONTADOR})}]?:continue) exten => 200,n,Set(DB(test/contador)=1)

,n,Goto(1)

,n(continue),NoOp() exten => 200,n,SayNumber(${CONTADOR})

exten => 200,n,Set(CONTADOR=$[${CONTADOR} + 1])

> 200,n,Set(DB(test/contador)=${CONTADOR}) ,n,Goto(1)

Utilizar la base de datos de Asterisk para almacenar variables permanentes del

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.

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

Guardamos el archivo, recargamos la configuración y probamos hacer una llamada.

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

en la AstDB, en una familia llamada test y con una clave contador.

Referencias

Documento similar

7) Internet romper á el mensaje en pequeñas partes llamadas paquetes, luego entrega cada paquete uno a la vez al Servidor con la dirección IP que fue extraída del mazo de tarjetas

Esas adaptaciones requerirán conciliar la regulación de actividades abiertas a una competencia plena o acotada con los llamados servicios uni- versales sin alterar el modelo de

También debemos realizar una mención a la narrativa de los ochenta y noventa y sus figuras más representativas como Martin Amis y Julian Barnes, así como muchos autores procedentes

Maria Carla Rodríguez Investigadora y docente Conicet/UBA Ciudad de Buenos Aires María Celina Añaños, Universidad Nacional de Rosario, Rosario. María Cristina de los Reyes Mar

Nota: Para obtener la dirección IP RADIUS y la clave secreta tanto para los servidores primarios como secundarios, haga clic en la opción Configurar manualmente del SSID creado en

Para devolver la configuración de seguridad a los valores predeterminados mediante IP Office Manager.. Inicie IP

o esperar la resolución expresa&#34; (artículo 94 de la Ley de procedimiento administrativo). Luego si opta por esperar la resolución expresa, todo queda supeditado a que se

Antes de comenzar el periodo de prácticas el alumno dispondrá de una Guía de prácticas, que incluye las quince sesiones prácticas que tiene que realizar en el laboratorio, así como