<div dir="ltr"><div class="gmail_quote"><div><span style="color:rgb(102,51,102);font-family:&#39;trebuchet ms&#39;,sans-serif">I like this discussion. Unfortunately I&#39;m too inexperienced to fully understand why one method/interface would be used over the other. Is this a matter of &quot;inbound&quot; vs &quot;outbound&quot; interfaces? Or is this a matter of taking over the control of each call and making all decisions dynamically on behalf of FS as opposed to say doing a relatively &quot;static&quot; configuration of FS by sending it an XML on the fly to process as opposed to api commands over socket as you would in the case of mod_event_socket?</span></div>

<div><span style="color:rgb(102,51,102);font-family:&#39;trebuchet ms&#39;,sans-serif"><br></span></div><div><span style="color:rgb(102,51,102);font-family:&#39;trebuchet ms&#39;,sans-serif">Are they all variations for the same purpose and so the decision to use one or the other depends on your application and how it&#39;s able to interface with FS? or is there also another level of decision where one is clearly better/powerful/faster/efficient than the other, and that could infact drive the decision for your application development?</span></div>

<div><span style="color:rgb(102,51,102);font-family:&#39;trebuchet ms&#39;,sans-serif"><br></span></div><div><span style="color:rgb(102,51,102);font-family:&#39;trebuchet ms&#39;,sans-serif">Would it fair to compare the functionality and interface offered by mod_httapi to that of something like Plivo, in terms of abstraction of the most common functions required from FS by simply interacting with commands like say, speak, play, record etc? and that this is at a higher level than mod_xml_curl? </span></div>

<div><span style="color:rgb(102,51,102);font-family:&#39;trebuchet ms&#39;,sans-serif"><br></span></div><div><span style="color:rgb(102,51,102);font-family:&#39;trebuchet ms&#39;,sans-serif">Thanks (and apologies for the ignorance)</span></div>

<div><span style="color:rgb(102,51,102);font-family:&#39;trebuchet ms&#39;,sans-serif"><br></span></div></div><div class="gmail_quote">On Mon, Sep 10, 2012 at 1:53 PM, Christopher Rienzo <span dir="ltr">&lt;<a href="mailto:cmrienzo@gmail.com" target="_blank">cmrienzo@gmail.com</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Since the things that FS does (transcoding, tone detection, etc) can be CPU intensive, you might want multiple servers to spread the load.  So, you can have a pool of identically-configured FS servers load balanced by something like opensips, with the (typically lighter-weight) application logic handled outside of that pool of servers.  FS here just provides resources for the application to use.<br>



<br>In this type of setup, you can pick between an application that actively controls the FS apps to execute (mod_event_socket, mod_erlang_event) or one that feeds FS higher-level scripts to execute on demand (mod_httapi, mod_xml_curl).<br>



<br>Chris<br><br></blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="gmail_quote"><div><div>On Mon, Sep 10, 2012 at 10:32 AM, Brett Clark - Grasshopper <span dir="ltr">&lt;<a href="mailto:bclark@grasshopper.com" target="_blank">bclark@grasshopper.com</a>&gt;</span> wrote:<br>



</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div><div link="blue" vlink="purple" lang="EN-US"><div><p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1f497d">Hey Chris,<u></u><u></u></span></p>



<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1f497d">Could you explain what you mean by clustering FS?  I get the idea of clustering, in general, but I what do you mean in this context?<u></u><u></u></span></p>



<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1f497d">Thanks!<u></u><u></u></span></p>



<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1f497d">Brett<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1f497d"><u></u> <u></u></span></p>



<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;">From:</span></b><span style="font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;"> <a href="mailto:freeswitch-users-bounces@lists.freeswitch.org" target="_blank">freeswitch-users-bounces@lists.freeswitch.org</a> [mailto:<a href="mailto:freeswitch-users-bounces@lists.freeswitch.org" target="_blank">freeswitch-users-bounces@lists.freeswitch.org</a>] <b>On Behalf Of </b>Christopher Rienzo<br>



<b>Sent:</b> Friday, September 07, 2012 12:14 PM</span></p><div><br><b>To:</b> FreeSWITCH Users Help<br><b>Subject:</b> Re: [Freeswitch-users] best FS interface for development<u></u><u></u></div><p></p><p class="MsoNormal">



<u></u> <u></u></p><p class="MsoNormal" style="margin-bottom:12.0pt">For arbitrarily large and complex systems, I&#39;d keep FreeSWITCH as dumb as possible so that you can easily cluster them.  So, modules that allow external control (mod_event_socket, mod_erlang_event, mod_httapi, mod_xml_curl) are all good choices.  <br>



</p><div><div><br>Event socket is pretty popular; Plivo and Adhearsion both use it.  The 2600hz guys use mod_erlang_event.  And I&#39;ve heard of plenty of people that use mod_xml_curl.<br><br>Chris<br><br><br>
<u></u><u></u></div></div><p></p><div><div><div><p class="MsoNormal">On Fri, Sep 7, 2012 at 9:43 AM, Brett Clark - Grasshopper &lt;<a href="mailto:bclark@grasshopper.com" target="_blank">bclark@grasshopper.com</a>&gt; wrote:<u></u><u></u></p>



<div><div><p class="MsoNormal">There seems to be at least 4 general ways for customizing FS:<u></u><u></u></p><p class="MsoNormal">- Use the event socket and build an app to interface with it<u></u><u></u></p><p class="MsoNormal">



- Use mod lua, or similar, to develop in a particular language<u></u><u></u></p><p class="MsoNormal">- Develop your own ‘module’ to interface directly with the core<u></u><u></u></p><p class="MsoNormal">- Use the XML interface to implement IVR, PBX, and voicemail type functionality and all the rest.<u></u><u></u></p>



<p class="MsoNormal"> <u></u><u></u></p><p class="MsoNormal">How prevalent is each approach in the community?  It seems like everyone is doing a little of both, but maybe someone has a better handle of what the actual ratios are?  <u></u><u></u></p>



<p class="MsoNormal"> <u></u><u></u></p><p class="MsoNormal">Which is best suited for an arbitrarily large and complex application?  I realize this isn’t a simple question—what I want is to understand the most evolved and featureful way to interface with FS?  I don’t want to adopt an approach which isn’t being actively maintained or is missing features.  As new stuff is added to FS, which approach will allow me to adopt those new features most easily?<u></u><u></u></p>



<p class="MsoNormal"> <u></u><u></u></p><p class="MsoNormal">Thanks!<span style="color:#888888"><br><span>Brett</span></span><u></u><u></u></p><p class="MsoNormal"> <u></u><u></u></p></div></div></div></div></div></div></div>



<br></div></div><div>_________________________________________________________________________<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>
<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></blockquote></div><br></div>