Asterisk PBX 1.6.2.X: Como autorizar llamadas internacionales con un PIN utilizando la aplicación Authenticate

En muchas empresas se presenta a menudo el problema de como controlar las llamadas hechas por lo empleados, sobretodo las internacionales.

En este articulo veremos como autenticar el empleado con la aplicación Authenticate.

Podemos conocer las sintaxis del comando con:

asterisk –rvvvvvvvvvvvvvv

CLI> core show application authenticate

[Syntax]
Authenticate(password[,options[,maxdigits[,prompt]]])

[Arguments]
password
    Password the user should know
options
    a: Set the channels' account code to the password that is entered
    d: Interpret the given path as database key, not a literal file
    m: Interpret the given path as a file which contains a list of account
    codes and password hashes delimited with ':', listed one per line in the
    file. When one of the passwords is matched, the channel will have its
    account code set to the corresponding account code in the file.
    r: Remove the database key upon successful entry (valid with 'd'
    only)
maxdigits
    maximum acceptable number of digits. Stops reading after maxdigits
    have been entered (without requiring the user to press the '#' key).
    Defaults to 0 - no limit - wait for the user press the '#' key.
prompt
    Override the agent-pass prompt file.

Como se puede notar la opción password puede contener un valor o referirse a un archivo de texto que contenga una lista de nombres con las respectivas contraseñas separada por el carácter :

Bien. Suponiendo que tenemos que crear los PIN para tres empleados:

Nombre

PIN

Fulano 1234
Zutano 1235
Mengano 1236

Ahora ciframos las contraseñas:

echo -n "1234" | md5sum

el resultado será:

81dc9bdb52d04dc20036dbd8313ed055

Seguimos con las dos que quedan:

echo -n "1235" | md5sum

9996535e07258a7bbfd8b132435c5962

echo -n "1236" | md5sum

7bccfde7714a1ebadf06c5f4cea752c1

Creamos el archivo de texto con los nombre de los empleados y las respectivas contraseñas cifradas:

nano /tmp/pin.txt

pegamos las siguientes líneas:

Fulano:81dc9bdb52d04dc20036dbd8313ed055
Zutano:9996535e07258a7bbfd8b132435c5962
Mengano:7bccfde7714a1ebadf06c5f4cea752c1

Guardamos los cambios.

Ahora podemos modificar el dialplan para crear un bloque dedicado a la autenticación para las llamadas internacionales. Suponiendo que el contexto que se utiliza para las llamadas internacionales es “internac”, ponemos:

nano /etc/asterisk/extensions.conf

[internac]
exten => _00.,1,NoOP
same => n,Authenticate(/tmp/pin.txt,am,4)
same => n,Dial(SIP/proveedor/${FILTER(0-9,${EXTEN})})
same => n,Hangup

  • El primer parámetro define la carpeta y el nombre del archivo que contiene las contraseñas.
  • La Opción a define que en el registro de las llamadas el campo Accountcode contendrá el nombre del empleado (de esta forma podemos controlar todas las llamadas hechas por cada empleado) independientemente de la extensión que haya utilizado.
  • La opción m define que el archivo de texto contendrá las contraseñas cifradas con MD5.
  • El ultimo parámetro indica que los dígitos del PIN son 4 evitando de tener que utilizar la tecla numero para terminar el envío de los dígitos.

Si la contraseña digitada está en el archivo de texto creado, el dialplan pasará a la línea que sigue donde se iniciará la llamada (suponiendo que para las llamadas internaciones utilizamos las sintaxis: 00 + código país + numero).

Se guardan los cambios y se recarga el dialplan:

asterisk –rvvvvvvvvvv

CLI> dialplan reload

Ahora marcamos un numero internacional y utilizamos el PIN de Fulano. Terminada la llamada en el CDR (registro de las llamadas) veremos:

Captura

En accountcode aparecerá el nombre del empleado Fulano.

En un próximo articulo ilustraremos como autenticar los empleados para las llamadas internacionales a través de una base de datos y la función func_odbc con la posibilidad de poder cambiar el Pin en cualquier momento.

Vota el Articulo: 

Sin votos (todavía)
Evalúa la calidad del articulo
Suscribirse a Comentarios de "Asterisk PBX 1.6.2.X: Como autorizar llamadas internacionales con un PIN utilizando la aplicación Authenticate" Suscribirse a VozToVoice - Todos los comentarios