<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix"><tt>SCTP ?</tt><br>
      <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 16.09.2014 12:41, george wu wrote:<br>
    </div>
    <blockquote
      cite="mid:685ff5de.17c9e.1487dd6a1ea.Coremail.aihuawu2012@163.com"
      type="cite">
      <div
        style="line-height:1.7;color:#000000;font-size:14px;font-family:Arial">
        <div class="moz-signature" cols="72">Bogdan-Andrei Iancu:<br>
          <br>
          One more question, I know there is tls for tcp, is there any
          similar for udp so that <br>
          the udp package is secure? Thanks.<br>
          <br>
          George<br>
        </div>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        At 2014-09-16 03:34:27, "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 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 moz-do-not-send="true" 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
                moz-do-not-send="true" 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 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>
    </blockquote>
    <br>
  </body>
</html>