<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<p>+1<br>
</p>
<br>
<div class="moz-cite-prefix">Dne 24/01/2018 v 21:50 George Joseph
napsal(a):<br>
</div>
<blockquote type="cite"
cite="mid:CAP=uFEs=fFiKbshUSSThF2vmDxgT6cbmav4FZsSA49v-y4gwaA@mail.gmail.com">
<div dir="ltr">So here's a proposal...
<div><br>
</div>
<div>We remove BOTH pjproject and asterisk keep-alives.</div>
<div>We add the following parameters to pjsip transport:</div>
<div><br>
</div>
<div>tcp_keepalives = <boolean> ; turn on or off tcp
keepalives</div>
<div>; If tcp_keepalives = yes, the following parameters can be
used to override the default kernel</div>
; settings in
/proc/sys/net/ipv4/tcp_keepalive_(time,intvl,probes)
<div>tcp_keepalive_time = <seconds> ; The number of
seconds a connection can be idle before the first keepalive is
sent.</div>
tcp_keepalive_interval = <seconds> ; Interval between
keepalive probes.
<div>tcp_keepalive_probes = <number> ; Number of
unacknowledged probes before a failure is reported.</div>
<div><br>
</div>
<div>To preserve backward compatibility, the
current keep_alive_interval setting in pjsip.conf/global</div>
<div>would turn tcp keepalives on for tcp and tls transports
with both tcp_keepalive_time and</div>
<div>tcp_keepalive_interval set to keep_alive_interval and
tcp_keepalive_probes set to 2.</div>
<div><br>
</div>
<div>One advantage of this is that wireshark captures will
clearly show these as tcp keepalives even on</div>
<div>a tls connection. Another advantage is that we eliminate
the competing keepalive mechanisms</div>
<div>with their threading and locking baggage.</div>
<div><br>
</div>
<div>No code changes to pjproject would be required for this
change. We can turn off their keepalives</div>
<div>in our config_site.h file.</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Fri, Jan 5, 2018 at 9:07 AM, Ross
Beer <span dir="ltr"><<a
href="mailto:ross.beer@outlook.com" target="_blank"
moz-do-not-send="true">ross.beer@outlook.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">
<div
style="font-family:Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0);background-color:rgba(0,0,0,0)">Could
the operating system manage this also, for example with
the following:</div>
<div
style="font-family:Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0);background-color:rgba(0,0,0,0)"><br>
</div>
<div
style="font-family:Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0);background-color:rgba(0,0,0,0)">sysctl.conf</div>
<div
style="font-family:Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0);background-color:rgba(0,0,0,0)"><br>
</div>
<div
style="font-family:Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0);background-color:rgba(0,0,0,0)">
<div>net.ipv4.tcp_fin_timeout = 60</div>
<div>net.ipv4.tcp_retries1 = 3</div>
<div>net.ipv4.tcp_syn_retries = 5</div>
<div><br>
</div>
<div># Keep TCP connections alive</div>
<div>net.ipv4.tcp_keepalive_time = 300</div>
<div>net.ipv4.tcp_keepalive_intvl = 60</div>
net.ipv4.tcp_keepalive_probes = 20<br>
</div>
<div
style="font-family:Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0);background-color:rgba(0,0,0,0)"><br>
</div>
<div
style="font-family:Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0);background-color:rgba(0,0,0,0)">From
a chan_pjsip point of view, it would receive
notification that the underlying connection has closed.</div>
<hr style="display:inline-block;width:98%">
<div id="m_6525430264456044430divRplyFwdMsg" dir="ltr"><font
style="font-size:11pt" face="Calibri, sans-serif"
color="#000000"><b>From:</b> <a
href="mailto:asterisk-dev-bounces@lists.digium.com"
target="_blank" moz-do-not-send="true">asterisk-dev-bounces@lists.<wbr>digium.com</a>
<<a
href="mailto:asterisk-dev-bounces@lists.digium.com"
target="_blank" moz-do-not-send="true">asterisk-dev-bounces@lists.<wbr>digium.com</a>>
on behalf of Alexander Traud <<a
href="mailto:pabstraud@compuserve.com"
target="_blank" moz-do-not-send="true">pabstraud@compuserve.com</a>><br>
<b>Sent:</b> 05 January 2018 15:44<br>
<b>To:</b> Asterisk Developers Mailing List<br>
<b>Subject:</b> Re: [asterisk-dev] Idle Timers and
Keep-Alives</font>
<div> </div>
</div>
<div>
<div class="h5">
<div class="m_6525430264456044430BodyFragment"><font
size="2"><span style="font-size:11pt">
<div class="m_6525430264456044430PlainText">>
Do we even WANT an idle timer?<br>
<br>
I posted my concerns already in <<a
href="http://gerrit.asterisk.org/6807"
target="_blank" moz-do-not-send="true">http://gerrit.asterisk.org/<wbr>6807</a>>:
I have a device which crashes when it receives
such a keepalive. I could live with a timer
when Asterisk is not the registrar but
registered somewhere else. But I do not _need_
that either.<br>
<br>
<br>
<br>
-- <br>
______________________________<wbr>______________________________<wbr>_________<br>
-- Bandwidth and Colocation Provided by <a
href="http://www.api-digital.com"
target="_blank" moz-do-not-send="true">http://www.api-digital.com</a>
--<br>
<br>
asterisk-dev mailing list<br>
To UNSUBSCRIBE or update options visit:<br>
<a
href="http://lists.digium.com/mailman/listinfo/asterisk-dev"
target="_blank" moz-do-not-send="true">http://lists.digium.com/<wbr>mailman/listinfo/asterisk-dev</a><br>
</div>
</span></font></div>
</div>
</div>
</div>
<br>
--<br>
______________________________<wbr>______________________________<wbr>_________<br>
-- Bandwidth and Colocation Provided by <a
href="http://www.api-digital.com" rel="noreferrer"
target="_blank" moz-do-not-send="true">http://www.api-digital.com</a>
--<br>
<br>
asterisk-dev mailing list<br>
To UNSUBSCRIBE or update options visit:<br>
<a
href="http://lists.digium.com/mailman/listinfo/asterisk-dev"
rel="noreferrer" target="_blank" moz-do-not-send="true">http://lists.digium.com/<wbr>mailman/listinfo/asterisk-dev</a><br>
</blockquote>
</div>
<br>
<br clear="all">
<div><br>
</div>
-- <br>
<div class="gmail_signature" data-smartmail="gmail_signature">
<div dir="ltr"><span style="font-size:12.8px">George Joseph</span><br
style="font-size:12.8px">
<span style="font-size:12.8px">Digium, Inc. | Software
Developer</span><span style="font-size:12.8px"><br>
445 Jan Davis Drive NW - Huntsville, AL 35806 - US<br>
</span><span style="font-size:12.8px">Check us out at: </span><a
href="http://www.digium.com/" rel="noreferrer"
style="color:rgb(17,85,204);font-size:12.8px"
target="_blank" moz-do-not-send="true">www.digium.com</a><span
style="font-size:12.8px"> & </span><a
href="http://www.asterisk.org/" rel="noreferrer"
style="color:rgb(17,85,204);font-size:12.8px"
target="_blank" moz-do-not-send="true">www.asterisk.org</a><br>
<div><br>
</div>
</div>
</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
</blockquote>
<br>
</body>
</html>