asteirsk y MYSQL

Imagen de monica

Tema: 

hola, hace unos días me pedirán para que fuera verificado en el banco de dados si un cliente tenia registrado el callerid en el registro de a2billing antes de empezar la llamadas en asterisk, entonces buque sobre como conectar en mysql desde un contexto de asterisk.

Acá les dejo la solución


[contexto]
;CARGO LOS DATOS DEL MYSQL
exten => _X.,1,Set(server=localhost)
exten => _X.,n,Set(user=root)
exten => _X.,n,Set(pass=clave)
exten => _X.,n,Set(dbname=mya2billing)
exten => _X.,n,set(callerid=${CALLERID(num)})
exten => _X.,n,set(CALLERID=${callerid})

;ACA HAGO LA CONEXION
exten => _X.,n,MYSQL(Connect connid ${server} ${user} ${pass} ${dbname})
;HAGO LA BUSQUEDA EN LA TABLA CC_CALLERID
exten => _X.,n,MYSQL(Query resultid ${connid} SELECT\ tipo \ FROM\ cc_callerid \WHERE\ cid=\'${callerid}\')
exten => _X.,n,MYSQL(Fetch foundRow ${resultid} result1 result2 result3 result4) ; fetch row
exten => _X.,10,Set(result1=${result1})

;VERIFIQUE SI EL RESULT VENIA EN BLACO
;SI NO TIENE EL CALLER ID ENVIAR LA LLAMADA PARA OTRO CONTEXTO
exten => _X.,11,Gotoif($[ $[ "${result1}" = ""] ]?addphone)
;SI TIENO ENVIAR PARA CID-CALLBACK
exten => _X.,12,Gotoif($[ $[ "${result1}" > "1"] ]?fijo)

exten => _X.,n(fijo),deadAGI(a2billing.php|3|cid-callback|${result1})
exten => _X.,n(fijo),Hangup

exten => _X.,n(addphone),Goto(inbound,01140040435,1)
exten => _X.,n(addphone),Hangup

saludos
http://www.magnussolution.com/