[Freeswitch-users] Complex IVRs using data from MySQL
Telecube - John
john at telecube.com.au
Sat May 18 22:55:44 MSD 2013
Hi guys,
Thanks for the info, I'm still trying to find the best solution for me.
It's looking like handling it all in a lua script might be the way to go.
However I would welcome expert opinions on the following concept.
The call routes into the IVR and the following entry captures a 4 digit
keypress and sends the data to the lua script:
<entry action="menu-exec-app" digits="/^(\d{4})$/" param="transfer $1
LUA ivr-get-data.lua"/>
And either:
The script does the db lookup and retrieves the destination number from
the database and sends the call back into the default context:
table.insert(ACTIONS, {"transfer", "0398776544 XML default"})
The destination number is matched and routed out as normal.
or
The script retrieves further detail from the database and sends the call
back into the ivr_next_level context and we do the dance again:
table.insert(ACTIONS, {"transfer", "101323556 XML ivr_next_level"})
In terms of speed and system resources is this an efficient way to
handle a variable keypress IVR with possible multiple levels?
- John
On 19/05/13 4:10 AM, Dave R. Kompel wrote:
> Just from my experence, it's a lot easier to write the whole logic,
> for a complex IVR in something (lua, perl, python, C#, F#) or anything
> else that FS supports, rather then trying to cram it in to the simple
> IVR application. Remember you can do foreign DB access or talk to
> anything else (web service, raw http service, etc...) from any of the
> languages directly.
> I do almost all external interaction with C# modules, runnig inside of
> FS. Makes life real easy :)
> --Dave
>
> ------------------------------------------------------------------------
> *From:* Brian Foster [mailto:bdfoster at davri.com]
> *To:* FreeSWITCH Users Help
> [mailto:freeswitch-users at lists.freeswitch.org]
> *Sent:* Sat, 18 May 2013 09:49:59 -0700
> *Subject:* Re: [Freeswitch-users] Complex IVRs using data from MySQL
>
> Whether or not you hand it back to mod_ivr or not, to set a
> channel variable in Lua:
>
> session:setVariable("varname", "varvalue");
>
> This has the same effect as using the set application in the dialplan:
>
> <action application="set" data="varname=varvalue"/>
>
> You can read the variable in Lua like this:
>
> varname = session:getVariable("varname");
>
> -BDF
>
> On May 18, 2013 12:35 PM, "Telecube - John" <john at telecube.com.au
> <mailto:john at telecube.com.au>> wrote:
>
> Ok, if someone could point me in the right direction I would
> be very
> grateful.
>
> I need to integrate database lookups into multi level IVRs to
> gather
> call routing info.
>
> The lookups are for variable multi digit keypress data as well as
> multiple sets of routing information.
>
> So far I can see my options are xml_curl or hand the call off
> to a lua
> script to handle the processing.
>
> I can catch the multi digit keypresses with regex and give
> that detail
> to a lua script, no problem.
>
> I'm hoping to be able to use the mod_ivr process as much as
> possible but
> I'm struggling to see how I can get data back into the call
> flow after
> dishing the duty off to lua.
>
> Can anyone point me down the right path please?
>
> Should I be happy to pass it off to lua and finish the lookups and
> routing in there?
>
> Should I try to keep as much as possible in the core ivr?
>
> Thanks..
>
> - John
>
> _________________________________________________________________________
> Professional FreeSWITCH Consulting Services:
> consulting at freeswitch.org <mailto:consulting at freeswitch.org>
> http://www.freeswitchsolutions.com
> <http://www.freeswitchsolutions.com/>
>
>
> </>
>
> Official FreeSWITCH Sites
> http://www.freeswitch.org <http://www.freeswitch.org/>
> http://wiki.freeswitch.org <http://wiki.freeswitch.org/>
> http://www.cluecon.com <http://www.cluecon.com/>
>
> FreeSWITCH-users mailing list
> FreeSWITCH-users at lists.freeswitch.org
> <mailto: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 <http://www.freeswitch.org/>
>
>
>
> _________________________________________________________________________
> Professional FreeSWITCH Consulting Services:
> consulting at freeswitch.org
> http://www.freeswitchsolutions.com
>
>
>
>
> Official FreeSWITCH Sites
> http://www.freeswitch.org
> http://wiki.freeswitch.org
> http://www.cluecon.com
>
> 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/20130519/56afba54/attachment-0001.html
Join us at ClueCon 2011 Aug 9-11, 2011
More information about the FreeSWITCH-users
mailing list