<div dir="ltr">I haven't heard of any lua sql issues.. I'd keep looking into that.<div>Otherwise, I'm pretty happy with the flexibility and performance afforded to me by xml_curl (running nginx + php5-fpm. run mysql tuner and increase cache, also...).</div>
<div>I have a php class with a bit of abstraction for XML and dialplan functions (but nothing specific for IVR). You can find it at: </div><div><a href="https://github.com/avimar/FreeSWITCH-mod_xml-with-PHP">https://github.com/avimar/FreeSWITCH-mod_xml-with-PHP</a> </div>
<div><br></div><div>-Avi Marcus</div><div><a href="https://github.com/avimar/FreeSWITCH-mod_xml-with-PHP"></a><br><br><div class="gmail_quote">On Wed, Feb 9, 2011 at 7:05 PM, David Ponzone <span dir="ltr"><<a href="mailto:david.ponzone@ipeva.fr">david.ponzone@ipeva.fr</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div style="word-wrap:break-word">Tim,<div><br></div><div>which ODBC is that ? the one integrated in FreeSWITCH that you can call from LUA with freeswitch.Dbh() ?</div>
<div>I would say that solving those issues would be a better way to achieve this, for you and for everyone around.</div><div><br><div>
<span style="border-collapse:separate;color:rgb(0, 0, 0);font-family:Helvetica;font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:auto;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><span style="border-collapse:separate;color:rgb(0, 0, 0);font-family:Helvetica;font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><div style="word-wrap:break-word">
<div><font face="'Helvetica Neue'"><font color="#1C00FF">David Ponzone </font><font color="#000000" size="3"><span style="font-size:12px">Direction Technique</span></font></font></div><div><font face="'Helvetica Neue'"><font size="3"><span style="font-size:13px">email: <a href="mailto:david.ponzone@ipeva.fr" target="_blank">david.ponzone@ipeva.fr</a></span></font></font></div>
<div><font face="'Helvetica Neue'"><font size="3"><span style="font-size:13px">tel: 01 74 03 18 97</span></font></font></div><div><font face="'Helvetica Neue'"><font size="3"><span style="font-size:13px">gsm: 06 66 98 76 34</span></font></font></div>
<div><font face="'Helvetica Neue'"><br></font></div><div><font color="#1C00FF" face="'Helvetica Neue'">Service Client<span> </span></font><font face="'Helvetica Neue'"><font color="#FF0000">IP</font></font><font color="#1C00FF" face="'Helvetica Neue'">eva</font></div>
<div><font color="#1C00FF" face="'Helvetica Neue'"><span style="color:rgb(0, 0, 0);font-family:Helvetica"><div><font face="'Helvetica Neue'"><font size="3"><span style="font-size:13px">tel: 0811 46 26 26</span></font></font></div>
<div><font face="'Helvetica Neue'" size="3"><span style="font-size:13px"><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;color:rgb(0, 34, 243)"><span style="text-decoration:underline"><a>www.ipeva.fr</a></span><span style="color:rgb(101, 104, 149)"> - <span style="color:rgb(0, 34, 243);text-decoration:underline"><a>www.ipeva-studio.com</a></span></span></div>
<div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;color:rgb(0, 34, 243)"><span style="text-decoration:underline"><br></span></div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;color:rgb(0, 34, 243)">
<span><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;text-align:justify;color:rgb(192, 192, 192)"><i>Ce message et toutes les pièces jointes sont confidentiels et établis à l'intention exclusive de ses destinataires. Toute utilisation ou diffusion non autorisée est interdite. Tout message électronique est susceptible d'altération. </i><b><i>IPeva</i></b><i> décline toute responsabilité au titre de ce message s'il a été altéré, déformé ou falsifié. Si vous n'êtes pas destinataire de ce message, merci de le détruire immédiatement et d'avertir l'expéditeur.</i></div>
<div style="text-decoration:underline;text-align:justify"><font color="#C0C0C0"><i><br></i></font></div></span></div></span></font></div></span></font></div></div></span><br></span><br>
</div>
<br><div><div>Le 09/02/2011 à 17:56, Tim St. Pierre a écrit :</div><div><div></div><div class="h5"><br><blockquote type="cite"><div>Hello list,<br><br>I'm trying to implement a flexible, but easy to administer IVR system <br>
for our multi-tenant PBX.<br><br>My goal is to be able to build a flexible auto-attendent scheme for <br>incoming calls, based on data in a mysql database.<br><br>The functionality I need is:<br> -Different options based on time of day<br>
-Playback of 1-2 audio files while listening for digits (Thank you <br>for calling abc company)<br> -Single digit options set some variables, then transfer to a defined <br>extension (press 1 for sales)<br> -Multi-digit options are checked against a pattern, then a transfer <br>
is executed (enter the extension now ...)<br><br>Not very complicated, I know, but making it scale is tricky.<br><br>I have tried LUA, but LuaSQL has issues. Even using ODBC, I still get <br>memory leaks and random errors with file handles etc.<br>
<br>For the most part, I haven't had any issues with xml_curl getting config <br>from another server that generates it with PHP. I'm exploring this, but <br>it looks like I'll have to implement the following logic:<br>
-Call comes in, and a dialplan is returned that plays the greetings, <br>sets some variables, and does a play_and_get_digits, followed by a <br>transfer back to the dialplan, so we can figure out what to do based on <br>
the digits.<br> -The callback to the dialplan evaluates the dtmf presented, and <br>decides what action to take, returning that in another dialplan piece.<br><br>I think this could work. but it means that a dialplan lookup has to be <br>
done each time someone makes a selection.<br><br>Is there a better way, or does that make the most sense?<br><br>Thanks!<br><br>-Tim<br><br>_______________________________________________<br>FreeSWITCH-users mailing list<br>
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org" target="_blank">FreeSWITCH-users@lists.freeswitch.org</a><br><a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br><a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
</div></blockquote></div></div></div><br></div></div><br>_______________________________________________<br>
FreeSWITCH-users mailing list<br>
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<br></blockquote></div><br></div></div>