<div dir="ltr">Thanks Mike and Anthony for you inputs.<br><div><div class="gmail_extra"><br><div class="gmail_quote"><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_quote">From: Anthony Minessale <<a href="mailto:anthony.minessale@gmail.com" target="_blank">anthony.minessale@gmail.com</a>><br>To: FreeSWITCH Users Help <<a href="mailto:freeswitch-users@lists.freeswitch.org" target="_blank">freeswitch-users@lists.<wbr>freeswitch.org</a>><br>Cc: <br>Date: Thu, 13 Oct 2016 11:57:04 -0500<br>Subject: Re: [Freeswitch-users] FreeSwitch General Info<br><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Oct 13, 2016 at 11:41 AM, Michael Jerris <span dir="ltr"><<a href="mailto:mike@jerris.com" target="_blank">mike@jerris.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="word-wrap:break-word"><br><div><span class="m_-2665651944952434247m_1934815905431864183gmail-"><blockquote type="cite"><div>On Oct 13, 2016, at 12:31 PM, Ahmed Munir <<a href="mailto:ahmedmunir007@gmail.com" target="_blank">ahmedmunir007@gmail.com</a>> wrote:</div><br class="m_-2665651944952434247m_1934815905431864183gmail-m_6247499739282744715Apple-interchange-newline"><div><div dir="ltr"><div>Few things I forgot to ask, the scale-ability I was referring to as horizontal scale and thanks for your input on that. <br><br>For
point#2, mod_curl you mentioned for realtime, will it sustain more than
500-1K CPS and will it stress out the httpd/apache service?<br></div></div></div></blockquote><div><br></div></span><div>depends on the box. Making the requests and parsing them has overhead, sure. As I said, you need to test on your target hardware with your call flows to see for sure how it will size. 1kcps on one box is probably high to the point of having issues on single box. Doing so across multiple boxes would be advised, i don’t like to put that many calls onto a single point of failure. Will it stress the apache service…. that would be a factor of what you have to do over there, and 100% dependent on that code answering the request, its impossible for me to answer that question generically.</div></div></div></blockquote><div><br></div><div><br></div><div>xml_curl is a default module implementing a gateway to retrieve config from a black box http service. It will only perform as good as that http service which itself could be a cluster/caching etc.<br></div><div>You can also create custom modules to connect any way you wish into config and dialplan lookup etc. (I helped write Asterisk realtime, and at the time it was a bolt on afterthought, FS is lucky that it was designed from the beginning with the knowledge gained from Asterisk experience)</div><div>We have several other abstractions for integrating with external systems but there are too many to discuss here.</div><div><br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="word-wrap:break-word"><div><span class="m_-2665651944952434247m_1934815905431864183gmail-"><br><blockquote type="cite"><div><div dir="ltr"><div>For point#3, you mean to say Freeswitch doesn't use system files for media like Asterisk does?<br></div></div></div></blockquote><div><br></div></span><div>Sure we can use system files for media. You were asking about additional sockets, we have media sockets, if you are opening files of course that would use file handles as well.</div></div></div></blockquote><div><br></div><div><br></div><div>Sockets are used for RTP, HTTP/WSS, Media Files, etc. The use of many sockets does not play a role in the performance of software assuming you tune the kernel to match the load needed.</div><div>Most socket related instability comes from the use of the select syscall which is limited FD numbers below 1024 </div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="word-wrap:break-word"><div><span class="m_-2665651944952434247m_1934815905431864183gmail-"><br><blockquote type="cite"><div><div dir="ltr"><div>For
point#4, multi-threading; I forgot to mentioned whether Freeswitch
supports multi-processing? As Asterisk, it uses/runs on single process
whereas OpenSIPs/Kamilio, we can set multiple child processes.<br></div></div></div></blockquote><div><br></div></span><div>We are not forking. You could manually launch multiple processes if you choose.</div></div></div></blockquote><div><br></div><div><br></div><div>In Linux, there is no longer a difference between threads and processes, they are identical. (See "man clone") <span style="font-size:16px;color:rgb(24,24,24);font-family:monospace,courier"><a href="http://man7.org/linux/man-pages/man2/clone.2.html" target="_blank">http://man7.org/linux/man-pa<wbr>ges/man2/clone.2.html</a></span></div><pre style="margin-left:8px"><br></pre><div> >From "man fork"</div><div><pre style="margin-left:8px;font-family:monospace,courier;color:rgb(24,24,24);font-size:16px"> <b style="color:rgb(80,32,0)">C library/kernel differences</b>
Since version 2.3.3, rather than invoking the kernel's <b style="color:rgb(80,32,0)">fork</b>() system
call, the glibc <b style="color:rgb(80,32,0)">fork</b>() wrapper that is provided as part of the NPTL
threading implementation invokes <a href="http://man7.org/linux/man-pages/man2/clone.2.html" style="color:rgb(64,128,221);text-decoration:none" target="_blank">clone(2)</a> with flags that provide the
same effect as the traditional system call. (A call to <b style="color:rgb(80,32,0)">fork</b>() is
equivalent to a call to <a href="http://man7.org/linux/man-pages/man2/clone.2.html" style="color:rgb(64,128,221);text-decoration:none" target="_blank">clone(2)</a> specifying <i style="color:rgb(0,96,0)">flags</i> as just <b style="color:rgb(80,32,0)">SIGCHLD</b>.)
The glibc wrapper invokes any fork handlers that have been
established using <b style="color:rgb(80,32,0)">pthread_atfork</b>(3).</pre><pre style="margin-left:8px;font-family:monospace,courier;color:rgb(24,24,24);font-size:16px"><br></pre><pre style="margin-left:8px"><br></pre><pre style="margin-left:8px;font-family:monospace,courier;color:rgb(24,24,24);font-size:16px"><br></pre><pre style="margin-left:8px;font-family:monospace,courier;color:rgb(24,24,24);font-size:16px"><br></pre></div><div><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="word-wrap:break-word"><div><span class="m_-2665651944952434247m_1934815905431864183gmail-"><br><blockquote type="cite"><div><div dir="ltr"><br><div class="gmail_quote"><br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">From: Michael Jerris <<a href="mailto:mike@jerris.com" target="_blank">mike@jerris.com</a>><br>To: FreeSWITCH Users Help <<a href="mailto:freeswitch-users@lists.freeswitch.org" target="_blank">freeswitch-users@lists.freesw<wbr>itch.org</a>><br>Cc: <br>Date: Thu, 13 Oct 2016 10:04:56 -0400<br>Subject: Re: [Freeswitch-users] FreeSwitch General Info<br><br>
> On Oct 13, 2016, at 9:52 AM, Ahmed Munir <<a href="mailto:ahmedmunir007@gmail.com" target="_blank">ahmedmunir007@gmail.com</a>> wrote:<br>
><br>
> Hi,<br>
><br>
> Currently I'm browsing different platforms online for open source VoIP technologies as currently using Asterisk as PBX.<br>
><br>
> I would like to know following things about FreeSwitch;<br>
><br>
> 1- FreeSwitch whether supports realtime integration sip
profiles/extensions (using DB) and dialplan? (Just like in Asterisk)<br>
<br>
yes, most frequently using mod_xml_curl which uses http to pull xml on a per dialplan/directory lookup basis<br>
<br>
> 2- On average, how many extensions and active calls (CPS) it can sustain?<br>
<br>
This widely varies based on what you are doing. Calls with no media
passed through the switch would be measured much more in calls per
second than total calls, and could be in the thousands, calls with heavy
video transcoding would be in the double digits on a big box. What you
are doing could lie anywhere on that spectrum. Our recommendation is
always to test your scenario and figure out sizing for yourself.
Typically people with heavy load are very satisfied with our
performance..<br>
<br>
> 3- For a call channel, will it create or use system sockets
(openfile)? As you know that Asterisk create/open and consume the system
sockets for each call.<br>
<br>
Certainly we use sockets for media. We do not use them in the way asterisk does.<br>
<br>
> 4- Will it supports single thread or multithreading?<br>
<br>
FreeSWITCH is heavily multithreaded. Each call will use at least 2 threads, one for each call leg.<br>
<br>
<br>
> 5- Is it scale-able in term of setting up as a cluster(s)?<br>
<br>
Sip itself allows for this. Depends on your exact scenario how to
architect in a way to make this scale horizontally, but it can be done
in most scenarios<br>
<br>
><br>
> I'll be glad to hear it from you.<br>
><br>
> --<br>
> Regards,<br>
><br>
> Ahmed Munir Chohan<br></blockquote></div></div></div></blockquote></span></div><br></div><br>______________________________<wbr>______________________________<wbr>_____________<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" rel="noreferrer" target="_blank">http://www.freeswitchsolutions<wbr>.com</a><br>
<br>
Official FreeSWITCH Sites<br>
<a href="http://www.freeswitch.org" rel="noreferrer" target="_blank">http://www.freeswitch.org</a><br>
<a href="http://confluence.freeswitch.org" rel="noreferrer" target="_blank">http://confluence.freeswitch.o<wbr>rg</a><br>
<a href="http://www.cluecon.com" rel="noreferrer" 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.freeswi<wbr>tch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" rel="noreferrer" target="_blank">http://lists.freeswitch.org/ma<wbr>ilman/listinfo/freeswitch-user<wbr>s</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" rel="noreferrer" target="_blank">http://lists.frees<wbr>witch.org/mailman/options/free<wbr>switch-users</a><br>
<a href="http://www.freeswitch.org" rel="noreferrer" target="_blank">http://www.freeswitch.org</a><br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="m_-2665651944952434247m_1934815905431864183gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr">Anthony Minessale II ♬ @anthmfs ♬ @FreeSWITCH ♬<div><br><div>☞ <a href="http://freeswitch.org/" target="_blank">http://freeswitch.org/</a> ☞ <a href="http://cluecon.com/" target="_blank">http://cluecon.com/</a> ☞ <a href="http://twitter.com/FreeSWITCH" target="_blank">http://twitter.com/FreeSWITCH</a></div><div><div>☞ <a href="http://irc.freenode.net" target="_blank">irc.freenode.net</a> #freeswitch ☞ <u><a href="http://freeswitch.org/g+" target="_blank">http://freeswitch.org/g+</a></u><br><br></div><div>ClueCon Weekly Development Call <br></div><div>☎ <a href="mailto:sip%3A888@conference.freeswitch.org" target="_blank">sip:888@conference.freeswitch<wbr>.org</a> ☎ <a href="tel:%2B19193869900" value="+19193869900" target="_blank">+19193869900</a> </div><div><br></div></div></div><div><a href="https://www.youtube.com/watch?v=9XXgW34t40s" style="color:rgb(17,85,204);font-size:12.8px" target="_blank">https://www.youtube.com/watch?<wbr>v=9XXgW34t40s</a></div><div><a href="https://www.youtube.com/watch?v=NLaDpGQuZDA" target="_blank">https://www.youtube.com/watch?<wbr>v=NLaDpGQuZDA</a><br></div></div></div></div></div></div></div>
</div></div>
<br><br clear="all"></div></div></blockquote></div><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature">Regards,<br><br>Ahmed Munir Chohan<br><br></div>
</div></div></div>