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

João Mesquita jmesquita at freeswitch.org
Fri Apr 29 00:59:13 MSD 2011


Hello Juan,

By the Ibañez, I would assume you're also a spanish speaking person?

IMHO, ESL and LUA for small scale applications is a matter of preference.
They can accomplish the same. I do not program in LUA very well, so I
normally prefer ESL, but I take it can be a bit more tricky since you need
to control the full call flow.

On the other hand, if you are talking about massive IVRs and such, I would
definitely suggest ESL since you can run it on another box and leave all the
processing power to freeswitch where freeswitch is hosted. LUA cant to that,
it needs to run on the same box and you mix the logic where CPU is very
sensitive.

Does that make it clearer for you?

Fernando, como estamos con la lectura? En que mas te puedo ayudar?

Regards,
João Mesquita



2011/4/28 Juan Antonio Ibañez Santorum <juanito1982 at gmail.com>

> Now you are talking about ESL? Which scenarios are suitable for ESL? When
> would be nice to use ESL and when LUA?
>
> Regards
>
>
> 2011/4/28 João Mesquita <jmesquita at freeswitch.org>
>
>> 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
>>>
>>>
>>
>> _______________________________________________
>> 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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20110428/3e49b231/attachment-0001.html 


More information about the FreeSWITCH-users mailing list