14
ELASTIX Lab-5 Plan de Marcado Avanzado Laboratorio 5.1 Descripción: Crear un contexto que verifique la fecha y hora del día y reproduzca para días laborables y no laborables. Objevo: 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)

ELASTIX Lab-5 Descripción Objetivo Instrucciones · ELASTIX Lab-5 Plan de Marcado Avanzado ... Context: custom-elastixworld Extension: s Priority: 1 Cambiar los permisos y propietario

  • Upload
    builien

  • View
    221

  • Download
    2

Embed Size (px)

Citation preview

Page 1: ELASTIX Lab-5 Descripción Objetivo Instrucciones · ELASTIX Lab-5 Plan de Marcado Avanzado ... Context: custom-elastixworld Extension: s Priority: 1 Cambiar los permisos y propietario

ELASTIX

Lab-5

Plan de Marcado Avanzado Laboratorio 5.1

Descripción: Crear un contexto que verifique la fecha y hora del día y reproduzca para días 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)

Page 2: ELASTIX Lab-5 Descripción Objetivo Instrucciones · ELASTIX Lab-5 Plan de Marcado Avanzado ... Context: custom-elastixworld Extension: s Priority: 1 Cambiar los permisos y propietario

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

Page 3: ELASTIX Lab-5 Descripción Objetivo Instrucciones · ELASTIX Lab-5 Plan de Marcado Avanzado ... Context: custom-elastixworld Extension: s Priority: 1 Cambiar los permisos y propietario

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

Desde cualquier extensión marque 4007, usted escuchará el audio "workingday".

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

[root@elastix ~]#

date -s 'mes/día/2013 18:53:25'

Page 4: ELASTIX Lab-5 Descripción Objetivo Instrucciones · ELASTIX Lab-5 Plan de Marcado Avanzado ... Context: custom-elastixworld Extension: s Priority: 1 Cambiar los permisos y propietario

Se despliega captura de pantalla donde se puede ver la ejecución del comando que realiza el cambio de fecha en el sistema.

Page 5: ELASTIX Lab-5 Descripción Objetivo Instrucciones · ELASTIX Lab-5 Plan de Marcado Avanzado ... Context: custom-elastixworld Extension: s Priority: 1 Cambiar los permisos y propietario

ELASTIX

Lab-5

Plan de Marcado Avanzado

Laboratorio 5.2

Descripción: Crear un contexto que implemente una calculadora matemática básica.

Objetivo: Familiarizarse con los operadores matemáticos de una tel�fono 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)

Page 6: ELASTIX Lab-5 Descripción Objetivo Instrucciones · ELASTIX Lab-5 Plan de Marcado Avanzado ... Context: custom-elastixworld Extension: s Priority: 1 Cambiar los permisos y propietario

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

Page 7: ELASTIX Lab-5 Descripción Objetivo Instrucciones · ELASTIX Lab-5 Plan de Marcado Avanzado ... Context: custom-elastixworld Extension: s Priority: 1 Cambiar los permisos y propietario

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

Realice una prueba marcando 4008. El plan de marcado le preguntará dos números y una operación matemática. Los dígitos para la operación son: 1 Suma, 2 Resta, 3 Multiplicación, 4 División.

Haga una prueba dividiendo 4 para 2.

Page 8: ELASTIX Lab-5 Descripción Objetivo Instrucciones · ELASTIX Lab-5 Plan de Marcado Avanzado ... Context: custom-elastixworld Extension: s Priority: 1 Cambiar los permisos y propietario

Captura de pantalla donde se puede ver el “tecleado” de la operación matemática sugerida en el laboratorio.

Page 9: ELASTIX Lab-5 Descripción Objetivo Instrucciones · ELASTIX Lab-5 Plan de Marcado Avanzado ... Context: custom-elastixworld Extension: s Priority: 1 Cambiar los permisos y propietario

ELASTIX

Lab-5

Plan de Marcado Avanzado

Laboratorio 5.3

Descripción: Cree un contexto que implemente un verificador de número de identidad (algoritmo de verificador de dígito).

Objetivo: Familiarizarse con los operadores matemáticos de una tel�fono IP, la aplicación GotoIf y la aplicación 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}<10]?:madiez) exten => 4009,n,SET(ACUM=${ACUM}) exten => 4009,n,Goto(salto2) exten => 4009,n(madiez),SET(ACUM=$[${ACUM}-9]) exten => 4009,n(salto2),SET(TOT=$[${TOT} + ${ACUM}]) exten => 4009,n,SET(VAR=$[${VAR} + 1]) exten => 4009,n,EndWhile exten => 4009,n,Set(RES=${MATH(${TOT} % 10,int)}) exten => 4009,n,GotoIf($[${RES}=0]?:restar) exten => 4009,n,SET(VER=0) exten => 4009,n,Goto(salto3)

Page 10: ELASTIX Lab-5 Descripción Objetivo Instrucciones · ELASTIX Lab-5 Plan de Marcado Avanzado ... Context: custom-elastixworld Extension: s Priority: 1 Cambiar los permisos y propietario

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

Page 11: ELASTIX Lab-5 Descripción Objetivo Instrucciones · ELASTIX Lab-5 Plan de Marcado Avanzado ... Context: custom-elastixworld Extension: s Priority: 1 Cambiar los permisos y propietario

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

Hay países en que el número de identidad tiene 10 dígitos, el décimo dígito normalmente se obtiene por medio de un algoritmo que usa los primeros 9 números. Este plan de marcado permite ingresar un número de identificación y verificar su autenticidad.

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

0907540888 -> Incorrecto1710034065 -> Correcto, ultimo dígito (5) reproducido1790085783 -> Incorrecto0801895186 -> Correcto, ultimo dígito (6) reproducido0932952135 -> Incorrecto

Usted tiene que marcar el número completo y el contexto verificará si el número es correcto usando un algoritmo de verificación de dígito, el cual toma los primeros 9 números y ejecutará el cálculo para obtener el décimo número.

Si el décimo número ingresado es correcto, usted obtendrá dos audios, uno que diga "correcto" y otro diciendo el décimo número.

Si usted ingresa un valor no válido obtendrá un audio de "incorrecto".

Page 12: ELASTIX Lab-5 Descripción Objetivo Instrucciones · ELASTIX Lab-5 Plan de Marcado Avanzado ... Context: custom-elastixworld Extension: s Priority: 1 Cambiar los permisos y propietario

ELASTIX

Lab-5

Plan de Marcado Avanzado

Laboratorio 5.4 (Práctica recomendada)

Descripción: Crear un archivo .call que realice una llamada a una extensión.

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

Page 13: ELASTIX Lab-5 Descripción Objetivo Instrucciones · ELASTIX Lab-5 Plan de Marcado Avanzado ... Context: custom-elastixworld Extension: s Priority: 1 Cambiar los permisos y propietario

El propósito de esta laboratorio es el de mostrarle el proceso de envío de una llamada. En el siguiente laboratorio completaremos la tarea reproduciendo un audio cuando la persona que recibe contesta la llamada.

Page 14: ELASTIX Lab-5 Descripción Objetivo Instrucciones · ELASTIX Lab-5 Plan de Marcado Avanzado ... Context: custom-elastixworld Extension: s Priority: 1 Cambiar los permisos y propietario

ELASTIX Lab-5

Plan de Marcado Avanzado

Laboratorio 5.5 (Práctica recomendada)

Descripción: Crear un archivo .call que realice una llamada a una extensión, 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