[Freeswitch-users] Script para chequear un numero de destino

FERNANDO VILLARROEL fvillarroel at yahoo.com
Thu Apr 28 07:09:02 MSD 2011


Hola João.

Si programo, mi lenguaje preferido es Python yo vengo de Asterisk donde usaba Python para programar AGI.

En web algo me manejo tambien por lo que creo no tendre problemas, le he metido mano a Django y Web2py.

Si no fuera mucho pedirte me gustaria aprender un poco de todo asi decido luego como lo voy haciendo, ESL me llama la atención ya que me gustaria comenzar a aprehender a usarlo, ya sabes capturar eventos de FS, enviar eventos a FS, etc.

Pero bueno por ahora si me ayudas a resolver mi problema usando lo mas sencillo te lo agradeceria mucho.

El problema es que debo crear una tabla con aproximadamente 4500 breackouts de numeros moviles, entonces si me entra una llamada con destination_number = 12345678 debo consultar si los 3 primeros dijitos estan presentes en la tabla si es si entonces reenvio la llamada a un Gateway y si no entonces la declino para que mi cliente la enrute por otro proveedor.

Saludos.




--- On Wed, 4/27/11, João Mesquita <jmesquita at freeswitch.org> wrote:

From: João Mesquita <jmesquita at freeswitch.org>
Subject: Re: [Freeswitch-users] Script para chequear un numero de destino
To: "FreeSWITCH Users Help" <freeswitch-users at lists.freeswitch.org>
Date: Wednesday, April 27, 2011, 11:36 PM

Hola Fernando,

Yo mas o menos hablo español así que trato de darte una mano. Tenés muchas opciones. mod_easyroute como lo menciona Ken es una, ESL (event_socket) es otra, xml_curl es otra y uno de los "bindings" como lua, python, perl, etc... es otra.


Lo que tenemos que encontrar es lo que a vos te es mas comodo. Programás? En que lenguaje? Si no programás, mod_easyroute seguramente será lo mejor. ESL es lo más complicadito de todos ya que el dialplan entero lo tenes que programar desde tu socket y tirar los comandos hacia freeswitch en un orden especifico. XML_CURL es muy facil si sabes desarrollar en web.


Enfim, espero noticias tuyas para que te pueda ayudar con un determinado camino.

Saludos,

João Mesquita




2011/4/27 Ken Rice <krice at freeswitch.org>






Routing a call if a number exists in a database...  Hmmm sounds suspiciously a lot like mod_easyroute



k





On 4/27/11 8:24 PM, "Roger Castaldo" <roger.castaldo at gmail.com> wrote:



I ran your email through google translate and from what I can tell you want freeswitch to route a call if the number exists in database X.  That being said, the event socket is not the way to go, look at doing it via a lua script call from the dial plan, then you can have the lua query the database, if it exists, use the api to route the call, or set a flag for the dial plan, otherwise it can hang up, or play a message and hang up which ends the call and stops processing in your dial plan.




2011/4/27 FERNANDO VILLARROEL <fvillarroel at yahoo.com>

Hola a todos.



Voy a recibir trafico desde un Gateway A que mi FS enrutará hacia un Gateway B.



Hasta ahy todo bien, el asunto es que antes de enrutar la llamada hacia el gateway B de alguna manera debo consultar el numero de destino en una base de datos si es así entonces se enruta la llamada en caso contrario la llamda la debo declinar de mi lado para que el Gateway A pueda enrutar esa llamada por otro proveedor distinto de mi.




Entonces lo que pienso hacer es un Script usando event_socket para que haga la consulta en la base de datos, entonces si el numero de destino esta la base de datos se enruta la llamada en caso contrario la declino para que la llamada continue por otro proveedor.




Mi tema es que no se me ocurre como hacer esto, imagino que  en el dialplan para que dependiendo de la existencia del numero de destino en la base de datos haga una llamada o en caso contrario haga otra cosa.



Agredecere aguna idea o sugerencia sobre como resolver este problema.



Con Asterisk usaria DeadAgi para pasarle el control a un script que consulte con la base de datos y me retorne true si puedo llamar o false en caso contario. Y digo DeadAgi ya que el control lo toma el script, ya que si usara Agi el control sigue en Asterisk independiente de lo que este haciendo el Script.




Aprovecho entonces de consultar con event_socket el control pasa al script o el dialplan continua ejecutandose.



Agradecere cualquier idea o sugerencia.



Saludos











_______________________________________________

FreeSWITCH-users mailing list

FreeSWITCH-users at lists.freeswitch.org

http://lists.freeswitch.org/mailman/listinfo/freeswitch-users

UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users

http://www.freeswitch.org





_______________________________________________

FreeSWITCH-users mailing list

FreeSWITCH-users at lists.freeswitch.org

http://lists.freeswitch.org/mailman/listinfo/freeswitch-users

UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users

http://www.freeswitch.org






_______________________________________________

FreeSWITCH-users mailing list

FreeSWITCH-users at lists.freeswitch.org

http://lists.freeswitch.org/mailman/listinfo/freeswitch-users

UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users

http://www.freeswitch.org





-----Inline Attachment Follows-----

_______________________________________________
FreeSWITCH-users mailing list
FreeSWITCH-users at lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20110427/0e224737/attachment-0001.html 


More information about the FreeSWITCH-users mailing list