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><br><div class="gmail_quote">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>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><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 class="im"><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 class="h5"><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 class="h5"><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>_________________________________________________________________________<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></blockquote></div><br>