<div dir="ltr">I haven&#39;t heard of any lua sql issues.. I&#39;d keep looking into that.<div>Otherwise, I&#39;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">&lt;<a href="mailto:david.ponzone@ipeva.fr">david.ponzone@ipeva.fr</a>&gt;</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="&#39;Helvetica Neue&#39;"><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="&#39;Helvetica Neue&#39;"><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="&#39;Helvetica Neue&#39;"><font size="3"><span style="font-size:13px">tel:      01 74 03 18 97</span></font></font></div><div><font face="&#39;Helvetica Neue&#39;"><font size="3"><span style="font-size:13px">gsm:   06 66 98 76 34</span></font></font></div>

<div><font face="&#39;Helvetica Neue&#39;"><br></font></div><div><font color="#1C00FF" face="&#39;Helvetica Neue&#39;">Service Client<span> </span></font><font face="&#39;Helvetica Neue&#39;"><font color="#FF0000">IP</font></font><font color="#1C00FF" face="&#39;Helvetica Neue&#39;">eva</font></div>

<div><font color="#1C00FF" face="&#39;Helvetica Neue&#39;"><span style="color:rgb(0, 0, 0);font-family:Helvetica"><div><font face="&#39;Helvetica Neue&#39;"><font size="3"><span style="font-size:13px">tel:      0811 46 26 26</span></font></font></div>

<div><font face="&#39;Helvetica Neue&#39;" 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&#39;intention exclusive de ses destinataires. Toute utilisation ou diffusion non autorisée est interdite. Tout message électronique est susceptible d&#39;altération. </i><b><i>IPeva</i></b><i> décline toute responsabilité au titre de ce message s&#39;il a été altéré, déformé ou falsifié. Si vous n&#39;êtes pas destinataire de ce message, merci de le détruire immédiatement et d&#39;avertir l&#39;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&#39;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&#39;t had any issues with xml_curl getting config <br>from another server that generates it with PHP.  I&#39;m exploring this, but <br>it looks like I&#39;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>