Top Banner
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)
14

5_Tarea-Laboratorio_5.pdf

Nov 16, 2015

Download

Documents

gjlamber
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 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