<html>
<head>
<meta content="text/html; charset=windows-1252"
http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix"><tt>Hi George,<br>
<br>
There are advantages and disadvantages for each protocol you
use:<br>
<br>
UDP is much lighter as protocol for the OS (100K UDP end points
-> only one socket, </tt><tt><tt>100K TCP end points ->
100K sockets) and also for the application (OpenSIPS) -
managing TCP connection is more resource intensive rather than
UDP sockets<br>
<br>
UDP also have some advantages as it a framed protocol - a SIP
packages and delimited at protocol level (in a single
datagram), while in TCP, where everything is streamed, the
reading application cannot "see" at transport level where a
SIP package end and a new one starts - it has to do SIP
parsing just to figure out where it ends.<br>
<br>
Nevertheless, TCP has better NAT penetration (as it is
connection oriented) - this is why all mobile devices do
prefer TCP over UDP.<br>
Also UDP has problems when comes to size, as it is limited to
65K (not to mention poor UDP fragmentation on several stacks)
- again, TCP solves this problem as it is stream oriented. <br>
<br>
</tt>Best regards,<br>
</tt>
<pre class="moz-signature" cols="72">Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
<a class="moz-txt-link-freetext" href="http://www.opensips-solutions.com">http://www.opensips-solutions.com</a></pre>
On 12.09.2014 17:13, george wu wrote:<br>
</div>
<blockquote
cite="mid:3f42229.1e7b0.1486a35d009.Coremail.aihuawu2012@163.com"
type="cite">
<div
style="line-height:1.7;color:#000000;font-size:14px;font-family:Arial">
<div>I am not sure if I should start another thread or not.<br>
I have similar question. <br>
The client is android linphone. it says it needs to send
keep-alive message for firewall traversal.<br>
For tcp it only needs to send every 10 minutes while for udp
it needs to send every 10 seconds.<br>
It is obviously tcp is much better for the clients.<br>
However from thread here, it is better to use udp.<br>
<br>
Now can anybody give me some clue how to do tradeoff between
tcp and udp.<br>
Thanks.<br>
<br>
George<br>
</div>
<br>
<br>
<br>
<br>
<br>
At 2014-09-12 09:38:04, "Bogdan-Andrei Iancu"
<a class="moz-txt-link-rfc2396E" href="mailto:bogdan@opensips.org"><bogdan@opensips.org></a> wrote:<br>
<blockquote id="isReplyContent" style="PADDING-LEFT: 1ex;
MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
<div class="moz-cite-prefix"><tt>Hi Jayesh,<br>
<br>
There are 2 aspects here :<br>
- first, configure proper limits when starting
OpenSIPS - like max number of fds per process, etc.<br>
- secondly, when comes to opensips itself, you need to
look into :<br>
* enough memory (TCP uses a lot)<br>
* set proper timeouts in TCP (connect, write, read
timeouts) to avoid blocking<br>
* properly handle the TCP lifetime to get to a
compromise between the number of ongoing connections and
seting/closing connections<br>
* really good control over when OpenSIPS should
open new TCP conns - you can do this from script,
depending on the target (like never try to open conns
towards end-user, let them connect to you).<br>
<br>
Regards,<br>
</tt>
<pre class="moz-signature" cols="72">Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://www.opensips-solutions.com">http://www.opensips-solutions.com</a></pre>
On 10.09.2014 14:55, Jayesh Nambiar wrote:<br>
</div>
<blockquote
cite="mid:CANAYoztsFhkPKd_NZEA2zYEtMXcJRGCd5rkLxo_UEBE2iSAAag@mail.gmail.com"
type="cite">
<div dir="ltr">
<div>
<div>
<div>
<div>
<div>
<div>Hello,<br>
</div>
I am in process of designing opensips which can
handle a million users, hypothetically 200,000
registrations and 500CPS capacity. I've been
reading a lot and learnt that TCP design is
blocking and not suitable for huge volumes. <br>
</div>
My requirement was to have TLS between endpoints
and Opensips and hence riding over TCP is the only
option. I needed some expert suggestions on what
things should be taken care of when planning a
large deployment over TCP.<br>
</div>
I have built similar stuff on UDP and I trust it
heavily as it has performed perfectly as expected.
But when it comes to TCP I'm a bit clueless.<br>
</div>
I've read about lot of global parameters that is now
available for asynchrous tcp operations. Is it really
helpful when planning for scalable environments??<br>
<br>
</div>
Thanks for any suggestions !!<br>
<br>
W/regards,<br>
</div>
Jayesh<br>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
Users mailing list
<a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a>
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a>
</pre>
</blockquote>
<br>
</blockquote>
</div>
<br>
<br>
<span title="neteasefooter"><span id="netease_mail_footer"></span></span><br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
Users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a>
<a class="moz-txt-link-freetext" href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a>
</pre>
</blockquote>
<br>
</body>
</html>