<div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Josh--<br><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Many thanks!<br><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">I see:<br><br>   else<br>        msec_time = (1 << (tsx->retransmit_count)) * pjsip_cfg()->tsx.t1;<br><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">which doubles the waiting time each try....<br><br><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">and in the UAC code, with a small addition, I get:<br><br>        if (msec_time > pjsip_cfg()->tsx.t2 && <br>            tsx-><a href="http://method.id">method.id</a> != PJSIP_REGISTER_METHOD &&<br>            tsx-><a href="http://method.id">method.id</a> != PJSIP_INVITE_METHOD)<br>        {<br>            msec_time = pjsip_cfg()->tsx.t2;<br>        }<br><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">which caps the wait time to 4 sec. for anything but invite,<br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">and <u>now</u>, including  register.<br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Which should give me the effect I'm seeking. (avg ~4.5/minute)<br><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">I've tested it out, and it works fine. I see the initial xmit, retries<br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">at .5, 1, 2, 4, 8, 16, for a total of 31.5 sec, followed with a 61 <br>second gap, and the process repeats itself. Total cycle time is<br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">92.5 sec. 7 tries in 92.5 sec yields an avg of 4.5/minute.<br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Again, thanks!<br><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">murf<br><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, May 2, 2017 at 4:17 PM, Joshua Colp <span dir="ltr"><<a href="mailto:jcolp@digium.com" target="_blank">jcolp@digium.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Tue, May 2, 2017, at 07:07 PM, Steve Murphy wrote:<br>
<br>
<snip><br>
<span class=""><br>
><br>
> I notice that pjsip in asterisk seems to follow the same pattern of<br>
> retries:<br>
> first, a half-second wait, then a retry,  then a full second wait, then<br>
> a retry, then a 2 second wait, and several 4-second waits until half a<br>
> minute or so,<br>
> and after 60 seconds, (61 seconds?) the cycle starts over.<br>
><br>
> I have spent hours looking for this algorithm first in the asterisk code,<br>
> then in pjproject.<br>
> The docs for pjproject say:<br>
><br>
> (section 8.1.2: Timers and Retransmissions)<br>
><br>
> ​    "Application can change the interval value of timers only on a<br>
> global<br>
> basis<br>
>      (perhaps even only during compilation)."<br>
><br>
> ​Any hints as to where this code is located?<br>
<br>
</span>The code itself is in the transaction layer of PJSIP at<br>
pjsip/src/pjsip/sip_<wbr>transaction.c - specifically the<br>
tsx_resched_retransmission function.<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Joshua Colp<br>
Digium, Inc. | Senior Software Developer<br>
445 Jan Davis Drive NW - Huntsville, AL 35806 - US<br>
Check us out at: <a href="http://www.digium.com" rel="noreferrer" target="_blank">www.digium.com</a> & <a href="http://www.asterisk.org" rel="noreferrer" target="_blank">www.asterisk.org</a><br>
<br>
--<br>
______________________________<wbr>______________________________<wbr>_________<br>
-- Bandwidth and Colocation Provided by <a href="http://www.api-digital.com" rel="noreferrer" target="_blank">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">http://lists.digium.com/<wbr>mailman/listinfo/asterisk-dev</a></font></span></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><br>Steve Murphy<br>ParseTree Corporation<br>57 Lane 17<br>Cody, WY 82414<br>✉  murf at parsetree dot com<br>☎ 307-899-0510</div></div></div></div></div></div></div></div>
</div>