Ejemplo practico para el uso de Asterisk con sonsulta a DDBB mediante ODBC.
El entorno,
Se pide que se identifique a los clientes que llaman, por Nº de cliente y después por un PIN de cliente, para su posterior enrutado de la llamada al comercial personal del cliente.
La opción de identificar al cliente por el Nº de Teléfono, es muy "dificil" puesto que estaríamos impidiendo que llamara desde cualquier número. Está orientado a llamadas de empresas, no particulares, una empresa puede tener multitud de números, tanto fijos, como móviles.
Para un particular seria mas acertado , o quizás no, el uso del Tlf fijo o movil, como identificador de Cliente.
La DDBB.
Tendremos una sola tabla, con tres columnas, Numero de cliente, Pin y Extensión.
La tabla se llamara ccliente, y las columnas NCliente, Pin y NExt
Y la tabla ccliente tendrá estos datos.
Pin NCliente NExt
1234 987654 222
El orden de las columnas en indiferente, a esta tabla solo hay que poblarla, como ejemplo es perfecta, no voy a entrar en el detalle que que tipo de campos, o quien es el indice, o llave primaria, ni nada por el estilo, esto es un EJEMPLO.
Por otro lado tendremos una serie de grabaciones que preguntaran, Por el Nº de cliente (ncliente.wav), otra para cuando no se acierta o no exixte el cliente o el Pin (clienteinexis.wav), y otra con la bienvenida una vez pasado el Nº del cliente y PIN, (bienvenida.wav).
Como Ejemplo, el numero sera el 1111. Llamando a este nº, se inicia todo el proceso.
El Uso de NoOp, para descubrir mas fácilmente las variables, que se van creando.
Y usaremos 3 funciones en el Fichero func_odbc.conf
NCli ,ValCli y NExt.
Referencias de ayuda:
https://wiki.asterisk.org/wiki/display/AST/Getting+Asterisk+Connected+to+MySQL+via+ODBC