jueves, 15 de diciembre de 2011

Código de autorización “PIN”

En este documento detallaremos los pasos necesarios para que los usuarios puedan realizar llamados mediante una clave de acceso.

La idea para implementar el PIN es crear un archivo distinto por cada clase de servicio, por ejemplo los gerentes que tienen que tener permitido todo tipo de llamados se pondrán en el archivo TODOS, otros empleados que solo pueden llamar a teléfonos internos deberán ir en el archivo INTERNOS, y así sucesivamente lo mismo para llamadas para celulares, Nacionales, Internaciones.

Para realizar esta tarea seguiremos los siguientes pasos:

creamos el archivo /etc/asterisk/interno y agregamos los códigos autorizados para poder realizar llamadas a todos, fijos, celulares, etc.

1234567

2365489

1258741


agregamos las líneas en rojo en el contexto internal en el archivo /etc/asterisk/extension.conf.



[internal]exten => _2XXX,1,Answer() ; contestamos la llamada

exten => _2XXX,n,Authenticate(/etc/asterisk/todos) ; pide codigo

exten => _2XXX,n,Playback(pin-number-accepted)

exten => _2XXX,n,Set(NUM=${DB(${EXTEN}/FORW)}) ;

exten => _2XXX,n,GotoIf($["${NUM}" = ""]?normal:forw) ;

exten => _2XXX,n(normal),Goto(${EXTEN},10) ; llamamos la extension

exten => _2XXX,n,Hangup() ; terminamos la llamada

exten => _2XXX,n(forw),DIAL(SIP/${NUM},60) ;

exten => _2XXX,n,Hangup() ; terminamos la llamada

realizamos un dialplan reload para recargar el dialplan.

Ratchet*CLI> dialplan reload


Diagrama de comportamiento de funcionamiento con PIN



 Cómo funciona el llamado con PIN.

En el ejemplo vemos como una extensión 2002 llama al interno 2001, cuando el usuario marca el interno destino, la operadora le pedirá que ingrese el interno seguido de la tecla “#”, si el PIN es correcto realiza la llamada al destino, si el PIN es incorrecto la operadora le avisa que el PIN es incorrecto que vuelva a ingresarlo y así seguir con la secuencia menciona anteriormente.

No hay comentarios:

Publicar un comentario