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

João Mesquita jmesquita at freeswitch.org
Thu Apr 28 07:37:22 MSD 2011


Hey Ken! Even tho spanish is not my native language, I live in Argentina, so
I can pretty much get away with it. Any help on portuguese or spanish that
this list may require, I am available to help.

Fernando,

La manera mas rapida es algo relativo. Depende mucho de con que te sentis
mas comodo. Me gusta mucho ESL y también me gusta mucho xml_curl. odbc_query
nunca lo use, pero parece sencillo.

A mi me encanta Python tambien y suelo usarlo con ESL. Uso bastante también
Pylons pero ya trabaje con Django tambien. Sea como for, lo que vos
necesitás si vas a usar ESL es un outbound socket. Te recomiendo que
empiezes leyendo esta pagina para que te vayas enterando de que se trata:
http://wiki.freeswitch.org/wiki/Event_Socket_Outbound

Cuando termines de leer, yo te puedo tirar unos "tips" de como implementar
lo que necesitás en Python sin demasiados problemas.

Saludos,
João Mesquita



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

> 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<http://mc/compose?to=krice@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://mc/compose?to=FreeSWITCH-users@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://mc/compose?to=FreeSWITCH-users@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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20110428/ed079bb8/attachment.html 


More information about the FreeSWITCH-users mailing list