<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
        -&gt; only one socket, </tt><tt><tt>100K TCP end points -&gt;
          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">&lt;bogdan@opensips.org&gt;</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>