-
ELASTIX
Lab-5
Plan de Marcado Avanzado Laboratorio 5.1
Descripcin: Crear un contexto que verifique la fecha y hora del
da y reproduzca para das laborables y no laborables.
Objetivo: Familiarizarse con el condicional GotoIfTime().
Instrucciones:
Editar el archivo /etc/asterisk/extensions_custom.conf y agregar
el siguiente contexto al final del archivo.
Agregar el siguiente contexto al final del archivo.
[custom-lab6-1] exten =>
4007,1,GotoIfTime(*,*,4,jul?open,s,1) exten =>
4007,n,GotoIfTime(09:00-17:59|mon-fri|*|*?open,s,1) exten =>
4007,n,GotoIfTime(09:00-11:59|sat|*|*?open,s,1) exten =>
4007,n,Goto(closed,s,1) [open] exten => s,1,Wait(1) exten =>
s,n,Playback(custom/workingday) exten => s,n,Hangup() [closed]
exten => s,1,Wait(1) exten =>
s,n,Playback(custom/notworkingday) exten => s,n,Hangup()
Grabar y Salir (Esc :wq)
-
Incluir el contexto [custom-lab6-1] dentro del contexto
[from-internal-custom] ubicado en el archivo
/etc/asterisk/extensions_custom.conf
vim extensions_custom.conf
Sintaxis: include => custom-lab6-1
-
Recargar asterisk: [root@elastix asterisk]# asterisk -rx
reload
Desde cualquier extensin marque 4007, usted escuchar el audio
"workingday".
Intente ahora cambiando la fecha del servidor. Cambie "mes" y
"da" por la fecha del da de hoy y coloque la 18:53:25, use el
siguiente comando:
[root@elastix ~]#
date -s 'mes/da/2013 18:53:25'
-
Se despliega captura de pantalla donde se puede ver la ejecucin
del comando que realiza el cambio de fecha en el sistema.
-
ELASTIX
Lab-5
Plan de Marcado Avanzado
Laboratorio 5.2
Descripcin: Crear un contexto que implemente una calculadora
matemtica bsica.
Objetivo: Familiarizarse con los operadores matemticos de una
telfono IP.
Instrucciones:
Editar el archivo /etc/asterisk/extensions_custom.conf y agregar
el siguiente contexto al final del archivo.
[custom-lab6-2] exten => 4008,1,Answer() exten =>
4008,n,Set(CHANNEL(language)=es) exten =>
4008,n,Read(OPERA1,custom/enternumber1,3) exten =>
4008,n,Read(OPERA2,custom/enternumber2,3) exten =>
4008,n,background(custom/enteroperation) exten =>
4008,n,WaitExten(,) exten => 1,1,Playback(custom/answeris) exten
=> 1,n,SayNumber($[${OPERA1}+${OPERA2}]) exten =>
1,n,Hangup() exten => 2,1,Playback(custom/answeris) exten =>
2,n,SayNumber($[${OPERA1}-${OPERA2}]) exten => 2,n,Hangup()
exten => 3,1,Playback(custom/answeris) exten =>
3,n,SayNumber($[${OPERA1}*${OPERA2}]) exten => 3,n,Hangup()
exten => 4,1,Playback(custom/answeris) exten =>
4,n,SayNumber($[${OPERA1}/${OPERA2}]) exten => 4,n,Hangup()
Grabar y Salir (Esc :wq)
-
Incluir el contexto [custom-lab6-2] dentro del contexto
[from-internal-custom] ubicado en el archivo
/etc/asterisk/extensions_custom.conf
vim extensions_custom.conf
Sintaxis: include => custom-lab6-2
-
Recargar asterisk: [root@elastix asterisk]# asterisk -rx
reload
Realice una prueba marcando 4008. El plan de marcado le
preguntar dos nmeros y una operacin matemtica. Los dgitos para la
operacin son: 1 Suma, 2 Resta, 3 Multiplicacin, 4 Divisin.
Haga una prueba dividiendo 4 para 2.
-
Captura de pantalla donde se puede ver el tecleado de la
operacin matemtica sugerida en el laboratorio.
-
ELASTIX
Lab-5
Plan de Marcado Avanzado
Laboratorio 5.3
Descripcin: Cree un contexto que implemente un verificador de
nmero de identidad (algoritmo de verificador de dgito).
Objetivo: Familiarizarse con los operadores matemticos de una
telfono IP, la aplicacin GotoIf y la aplicacin condicional While -
EndWhile.
Instrucciones:
Editar el archivo /etc/asterisk/extensions_custom.conf y agregar
el siguiente contexto al final del archivo.
[custom-lab6-3] exten => 4009,1,Answer() exten =>
4009,n,Set(CHANNEL(language)=es) exten => 4009,n,Set(TOT=0)
exten => 4009,n,Read(CEDULA,custom/enterid,10) exten =>
4009,n,Noop(${CEDULA}) exten => 4009,n,Set(VAR=0) exten =>
4009,n,While($[${VAR} < 9]) exten =>
4009,n,SET(DIG=${CEDULA:${VAR}:1}) exten =>
4009,n,Set(RV=${MATH(${VAR} % 2,int)}) exten =>
4009,n,NoOp(${RV}) exten => 4009,n,Gotoif($[${RV} = 0]?:impar)
exten => 4009,n,SET(MULT=2) exten => 4009,n,Goto(salto1)
exten => 4009,n(impar),SET(MULT=1) exten =>
4009,n(salto1),Set(ACUM=${MATH(${DIG}*${MULT},int)}) exten =>
4009,n,Gotoif($[${ACUM} 4009,n,SET(ACUM=${ACUM}) exten =>
4009,n,Goto(salto2) exten =>
4009,n(madiez),SET(ACUM=$[${ACUM}-9]) exten =>
4009,n(salto2),SET(TOT=$[${TOT} + ${ACUM}]) exten =>
4009,n,SET(VAR=$[${VAR} + 1]) exten => 4009,n,EndWhile exten
=> 4009,n,Set(RES=${MATH(${TOT} % 10,int)}) exten =>
4009,n,GotoIf($[${RES}=0]?:restar) exten => 4009,n,SET(VER=0)
exten => 4009,n,Goto(salto3)
-
exten => 4009,n(restar),SET(VER=$[10-${RES}]) exten =>
4009,n(salto3),Gotoif($[${CEDULA:9:1}=${VER}]?:error) exten =>
4009,n,Playback(custom/correctid) exten =>
4009,n,SayNumber(${VER}) exten => 4009,n,Hangup() exten =>
4009,n(error),Playback(custom/incorrectid) exten =>
4009,n,Hangup()
Grabar y Salir (Esc :wq)
Incluir el contexto [custom-lab6-3] dentro del contexto
[from-internal-custom] ubicado en el archivo
/etc/asterisk/extensions_custom.conf
vim extensions_custom.conf
Sintaxis: include => custom-lab6-3
-
Recargar asterisk: [root@elastix asterisk]# asterisk -rx
reload
Hay pases en que el nmero de identidad tiene 10 dgitos, el dcimo
dgito normalmente se obtiene por medio de un algoritmo que usa los
primeros 9 nmeros. Este plan de marcado permite ingresar un nmero
de identificacin y verificar su autenticidad.
Realice la prueba marcando 4009 y determine cual de los
siguientes nmeros es un ID correcto:
0907540888 -> Incorrecto1710034065 -> Correcto, ultimo
dgito (5) reproducido1790085783 -> Incorrecto0801895186 ->
Correcto, ultimo dgito (6) reproducido0932952135 ->
Incorrecto
Usted tiene que marcar el nmero completo y el contexto verificar
si el nmero es correcto usando un algoritmo de verificacin de
dgito, el cual toma los primeros 9 nmeros y ejecutar el clculo para
obtener el dcimo nmero.
Si el dcimo nmero ingresado es correcto, usted obtendr dos
audios, uno que diga "correcto" y otro diciendo el dcimo nmero.
Si usted ingresa un valor no vlido obtendr un audio de
"incorrecto".
-
ELASTIX
Lab-5
Plan de Marcado Avanzado
Laboratorio 5.4 (Prctica recomendada)
Descripcin: Crear un archivo .call que realice una llamada a una
extensin.
Objetivo: Familiarizarse con el funcionamiento de los archivos
.call.
Instrucciones: Cree el archivo mycall.call con el siguiente
contenido:
Channel: local/200@from-internal MaxRetries: 1 RetryTime: 60
WaitTime: 30 Context: from-internal Extension: 200 Priority: 1
Cambiar los permisos y propietario del archivo mycall.call
[root@elastix ~]# chmod 777 mycall.call [root@elastix ~]# chown
asterisk:asterisk mycall.call
Mover el archivo mycall.call al directorio
/var/spool/asterisk/outgoing.
[root@elastix ~]# mv mycall.call
/var/spool/asterisk/outgoing
-
El propsito de esta laboratorio es el de mostrarle el proceso de
envo de una llamada. En el siguiente laboratorio completaremos la
tarea reproduciendo un audio cuando la persona que recibe contesta
la llamada.
-
ELASTIX Lab-5
Plan de Marcado Avanzado
Laboratorio 5.5 (Prctica recomendada)
Descripcin: Crear un archivo .call que realice una llamada a una
extensin, conecte la llamada a un contexto y reproduzca un
audio.
Objetivo: Familiarizarse con el funcionamiento de los archivos
.call.
Instrucciones: Crear un contexto que reproduzca un audio en su
archivo extensions_custom_XXXXX.conf.
[custom-elastixworld] exten => s,1,Answer() exten =>
s,n,Playback(custom/elastixworld) exten => s,n,Hangup()
Cree el archivo mycall.call con el siguiente contenido:
Channel: local/200@from-internal MaxRetries: 1 RetryTime: 60
WaitTime: 30 Context: custom-elastixworld Extension: s Priority:
1
Cambiar los permisos y propietario del archivo mycall.call
[root@elastix ~]# chmod 777 mycall.call [root@elastix ~]# chown
asterisk:asterisk mycall.call
Mover el archivo mycall.call al directorio
/var/spool/asterisk/outgoing.
[root@elastix ~]# mv mycall.call
/var/spool/asterisk/outgoing