domingo, 9 de diciembre de 2012



DIALPLAN BASICO

SINTAXIS DEL DIALPLAN: un dialplan esta formado por 4 conceptos principales:

1. Contexto: Se define dándole el nombre del contexto dentro de corchetes [ ].

Hay dos contextos especiales [general] y [globals].

Al definir un canal (por ejemplo un archivo sip.conf, iax.conf, chan_dahdi.conf) uno de los parámetros requeridos en cada definición del canal es el contexto.

El contexto es el punto del dialplan donde las conexiones desde cada canal se inicia.

2. Extensions: Serie de pasos que contienen una aplicación a través de las cuales Asterisk tomara la llamada.

La sintaxis para una extensión es la palabra exten: (exten=>). Cada paso en una extensión esta compuesto por 3 opciones:

exten=> nombre, prioridad, aplicación()

3.Prioridades:
exten => 123,1,Answer()
exten => 123,2,do something
exten => 123,3,do something else
exten => 123,4,do one last thing
exten => 123,5,Hangup()

exten => 123,1,Answer()
same => n,do something
same => n,do something else
same => n,do one last thing
same => n,Hangup()

4.Aplicaciones:

Answer(): Traducción directa de "Responder". La función de esta aplicación básicamente es la de descolgar la llamada entrante

Playback(): Sirve para reproducir una pista de audio contenida en un archivo dentro del directorio especifico de pistas en español (var/lib/asterisk/sounds/es/)

Hangup(): Simplemente, cuelga la llamada. No es necesario pasarle ningún parámetro especifico.


DIALPLAN INTERACTIVO

-Goto() Envía una llamada a otra parte del diaplan

same => n,Goto(context,extension,priority)

- Background() Al igual que la aplicación Playback(), esta reproduce un archivo de audio grabado, sin embargo, al momento de presionar una tecla se interrumpe la grabación pasando la llamada a la extensión que corresponde con el numero que se presiono.

-WaitExten() Esta aplicación espera que el que esta llamando ingrese dígitos mediante DTMF y es usada directamente con la aplicación Background()



MANEJO DE ENTRADAS NO VÁLIDAS Y TIEMPOS DE ESPERA

En Asterisk cuando un contexto recibe una solicitud de una extensión no valida, la llamada es enviada a la extensión i.

Cuando al estar llamando no se oprime la tecla dentro del tiempo valido (10 segundos por defecto) la llamada será enviada a la extensión t

Ejemplo: exten => 201,1,Goto(TestMenu,start,1)


[TestMenu]
exten => start,1,Answer()
same => n,Background(main-menu)
same => n,WaitExten(5)

exten => 1,1,Playback(digits/1)
same => n,Goto(TestMenu,start,1)

exten => 2,1,Playback(digits/2)
same => n,Goto(TestMenu,start,1)

exten => i,1,Playback(pbx-invalid)
same => n,Goto(TestMenu,start,1)

exten => t,1,Playback(vm-goodbye)
same => n,Hangup()

Para ver la configuración en vídeo, ir al siguiente enlace: Aplicación Goto()




No hay comentarios:

Publicar un comentario