Asterisk Authenticate: Generar archivo passwdfile con códigos aleatorios

Con cierta frecuencia me toca actualizar los códigos con los que autentico la salida a la PSTN desde extensiones internas. Cada vez que me toca vuelvo a buscar como generarlo en bash pero siempre olvido como la hice la última vez. Esta vez si lo documenté.

La función Authenticate[1][2] de Asterisk permite solicitar una contraseña o código al llamante (caller) para continuar con el plan de marcación. Una manera básica puede ser una contraseña escrita en el plan de marcación (hardcoded), una más dinámica y permitida por la función es crear un archivo con pares de la forma:

código0:hash-md5-del-código0
código1:hash-md5-del-código1
...

 

Para generar los códigos de manera aleatoria y su respectivo hash hice este pequeño script y de paso recordé los programas rev y seq:

Luego en el plan de marcación se puede hacer referencia al archivo de la siguiente manera:

exten => _9[2578]XXXXXXX,1,Authenticate(/etc/asterisk/passwdfile.txt,am,4)

En este ejemplo 9 es el (típico) prefijo de marcación y 2,5,7 y 8 son los posibles dígitos con los que puede empezar el número saliente (Nicaragua).

La opción “a” asigna la contraseña ingresada al valor de la variable account code del canal para que por ejemplo sea insertada en la columna del CDR (útil para billing), por su parte la opción “m” indica interpretar la cadena como la ruta al archivo de contraseñas.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s

A %d blogueros les gusta esto: