<div style="font-family: 'Courier New'; font-size: 13px; "><span style="color: rgb(160, 160, 168); font-family: Helvetica; ">On Saturday, February 25, 2012 at 10:53 AM, Anita Hall wrote:</span></div>
                <blockquote type="cite" style="border-left-style:solid;border-width:1px;margin-left:0px;padding-left:10px;">
                    <span><div><div>Thanks Joao<br><br>Yes, language selection depends on what we want to do. Currently, we are using python stackless for running multi-threaded IVR in FreeSWITCH but we are not happy :(<br></div></div></span></blockquote><div><font face="'Courier New'">I would love to know why… How many channels are you running? Are you using ESL currently or mod_python? I myself use Python a lot with ESL and I've never hit the wall when it comes to performance despite of all the bad mojo Python has around it for the GIL stuff and all. And I can tell you that I've already done some big things.</font></div><blockquote type="cite" style="border-left-style:solid;border-width:1px;margin-left:0px;padding-left:10px;"><span><div><div>
<br>Similarly, I am note sure about multi-threading in Lua. <br><br>Multi-threading in C is stable. I am also wondering if the built-in XML engine runs on the same FreeSWITCH thread as the incoming call ?<br></div></div></span></blockquote><div><font face="'Courier New'">What does it matter what thread it runs in?</font>&nbsp;</div><blockquote type="cite" style="border-left-style:solid;border-width:1px;margin-left:0px;padding-left:10px;"><span><div><div><br>Why have you found a need to run the IVR on a different box than the FreeSWITCH server? We currently run the IVR on the Media server itself (which is FreeSWITCH). We are taking incoming / outgoing calls over PRI/E1. Even when we change to SIP calls, the media server itself can run both FS and the IVR. What could be an advantage in doing it on separate machines ?<br>
<br></div></div></span></blockquote><div><font face="'Courier New'">If you had the need to share state between different IVRs that are being executed on different media servers you would know. FreeSWITCH itself is obviously going to need resources faster than the IVR controller, so it is a pretty common design to have several FS boxes with 1 IVR box controlling them all.</font></div><div>&nbsp;</div><blockquote type="cite" style="border-left-style:solid;border-width:1px;margin-left:0px;padding-left:10px;"><span><div><div>Thanks. <br><br clear="all">regards,<br>Anita<br><br>
<br><br><div>On Fri, Feb 24, 2012 at 11:58 AM, João Mesquita <span dir="ltr">&lt;<a href="mailto:jmesquita@freeswitch.org">jmesquita@freeswitch.org</a>&gt;</span> wrote:<br><blockquote type="cite"><div>

                <div style="font-family:'Courier New';font-size:13px">In my opinion, the language you are using pretty much depends on the project requirements. C will always be faster then anything else if implemented correctly. Also, there is advantages of using native APIs (no matter with ESL or as a module).<div>
<br></div><div>Nonetheless, the implementation is more complex, requires more knowledge and at last and most important, TIME. Do you have the time and resources to do it in C and will it be justified based on the project budget you have?</div>
<div><br></div><div>Other then that, I would use ESL because you get the benefit of having your application running on another box and even have it control several boxes at once which is a common requirement for large IVRs.</div>
<div><br></div><div>I hope it helps.</div><div><br></div><div>Regards,</div></div><span><font color="#888888">
                <div><div><br></div><div>--&nbsp;</div><div>João Mesquita</div><div>Sent with <a href="http://www.sparrowmailapp.com/?sig" target="_blank">Sparrow</a></div><div><br></div></div></font></span><div>
<div>
                  
                <p style="color:#a0a0a8">On Friday, February 24, 2012 at 4:29 AM, Vitalie Colosov wrote:</p><blockquote type="cite"><div>
                    <span><div><div>Why not to use powerful and fast lua scripts with DB access - example for DB select:<div>------------------------</div><div><div>subscriber = "1000";</div><div>my_field = '';</div>
<div>local dbh = assert(freeswitch.Dbh("db","fs_user","fs_password"));</div>
<div>dbh:query("select my_field1 from my_table1 where subscriber = '"..subscriber.."'",&nbsp;</div><div>function(row)&nbsp;</div><div><span style="white-space:pre-wrap">        </span>my_field = row.my_field1;</div>

<div>end);</div><div>dbh:release();</div><div>--do whatever you need here!!</div><div>------------------------</div><div><br></div><div>obviously you need to configure ODBC for access, but this is described:</div><div><a href="http://wiki.freeswitch.org/wiki/Using_ODBC_in_the_core#CentOS_5.2" target="_blank">http://wiki.freeswitch.org/wiki/Using_ODBC_in_the_core#CentOS_5.2</a></div>

<div><br></div><br><div>2012/2/23 Anita Hall <span dir="ltr">&lt;<a href="mailto:anita.hall@simmortel.com" target="_blank">anita.hall@simmortel.com</a>&gt;</span><br><blockquote type="cite"><div>
Hi<br><br>We are considering writing our own module for processing IVR in C. We are considering using mod_event_socket and then modify it to consume and produce the events internally instead of passing them to the socket. Is this a good idea?<br>


<br>I know FreeSWITCH already has a mod_dialplan_xml which can use mod_curl to communicate to the outside world for I/O and DB access. But ...<br><br>1) Does XML have all the power flexibility that will be needed for powerful IVR applications? <br>


<br>2) Does mod_dialplan_xml use a separate thread for each IVR execution ? What will be the overhead of interpreting the XML ?<br><br>3) Any more ideas ?<br><br>Thanks :)<br><br clear="all">regards,<br>Anita<br><br>
<br>_________________________________________________________________________<br>
Professional FreeSWITCH Consulting Services:<br>
<a href="mailto:consulting@freeswitch.org" target="_blank">consulting@freeswitch.org</a><br>
<a href="http://www.freeswitchsolutions.com" target="_blank">http://www.freeswitchsolutions.com</a><br>
<br>
FreeSWITCH-powered IP PBX: The CudaTel Communication Server<br>
<a href="http://www.cudatel.com" target="_blank">http://www.cudatel.com</a><br>
<br>
Official FreeSWITCH Sites<br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<a href="http://wiki.freeswitch.org" target="_blank">http://wiki.freeswitch.org</a><br>
<a href="http://www.cluecon.com" target="_blank">http://www.cluecon.com</a><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>
<br></div></blockquote></div><br></div>
</div><div><div>_________________________________________________________________________</div><div>Professional FreeSWITCH Consulting Services:</div><div><a href="mailto:consulting@freeswitch.org" target="_blank">consulting@freeswitch.org</a></div>
<div><a href="http://www.freeswitchsolutions.com" target="_blank">http://www.freeswitchsolutions.com</a></div><div><br></div><div>FreeSWITCH-powered IP PBX: The CudaTel Communication Server</div><div><a href="http://www.cudatel.com" target="_blank">http://www.cudatel.com</a></div>
<div><br></div><div>Official FreeSWITCH Sites</div><div><a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a></div><div><a href="http://wiki.freeswitch.org" target="_blank">http://wiki.freeswitch.org</a></div>
<div><a href="http://www.cluecon.com" target="_blank">http://www.cluecon.com</a></div><div><br></div><div>FreeSWITCH-users mailing list</div><div><a href="mailto:FreeSWITCH-users@lists.freeswitch.org" target="_blank">FreeSWITCH-users@lists.freeswitch.org</a></div>
<div><a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a></div><div>UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a></div>
<div><a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a></div></div></div></span>
                  
                  
                  
                  
                </div></blockquote><div>
                    <br>
                </div>
            </div></div><br>_________________________________________________________________________<br>
Professional FreeSWITCH Consulting Services:<br>
<a href="mailto:consulting@freeswitch.org">consulting@freeswitch.org</a><br>
<a href="http://www.freeswitchsolutions.com" target="_blank">http://www.freeswitchsolutions.com</a><br>
<br>
FreeSWITCH-powered IP PBX: The CudaTel Communication Server<br>
<a href="http://www.cudatel.com" target="_blank">http://www.cudatel.com</a><br>
<br>
Official FreeSWITCH Sites<br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<a href="http://wiki.freeswitch.org" target="_blank">http://wiki.freeswitch.org</a><br>
<a href="http://www.cluecon.com" target="_blank">http://www.cluecon.com</a><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></div></blockquote></div><br>
</div><div><div>_________________________________________________________________________</div><div>Professional FreeSWITCH Consulting Services:</div><div><a href="mailto:consulting@freeswitch.org">consulting@freeswitch.org</a></div><div><a href="http://www.freeswitchsolutions.com">http://www.freeswitchsolutions.com</a></div><div><br></div><div>FreeSWITCH-powered IP PBX: The CudaTel Communication Server</div><div><a href="http://www.cudatel.com">http://www.cudatel.com</a></div><div><br></div><div>Official FreeSWITCH Sites</div><div><a href="http://www.freeswitch.org">http://www.freeswitch.org</a></div><div><a href="http://wiki.freeswitch.org">http://wiki.freeswitch.org</a></div><div><a href="http://www.cluecon.com">http://www.cluecon.com</a></div><div><br></div><div>FreeSWITCH-users mailing list</div><div><a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a></div><div><a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a></div><div>UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users">http://lists.freeswitch.org/mailman/options/freeswitch-users</a></div><div><a href="http://www.freeswitch.org">http://www.freeswitch.org</a></div></div></div></span>
                 
                 
                 
                 
                </blockquote>
                 
                <div>
                    <br>
                </div>