<div dir="ltr"><div><div><div><div><div><div><div><div><div>Dear,<br><br></div>I am investigating a problem happens in my setup. In which a trunk IAX client becomes UNREACHABLE (peer->pokefreqnotok milliseconds) then return OK again.<br><br></div>What happens in the following:<br></div>- client1 sends POKE to client2<br></div>- client2 sends PONG to client1<br></div>- PONG packet is dropped (don't reach client 1).<br></div>- After 4 seconds, client1 marks client2 as UNREACHABLE. <u>just for single dropped PONG packet!</u><br></div>- After peer->pokefreqnotok, client1 sends POKE again to client2<br></div>- client2 replies with PONG<br></div>- client1 sees PONG for his POKE, marks client as OK again.<br><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><br></div><div>Here is the code snippet which start iax2_pole_noanswer timer (asterisk 13.2)<br><br><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote"><pre>       /* Queue up a new task to handle no reply */
        /* If the host is already unreachable then use the unreachable interval instead */
        if (peer->lastms < 0)
                peer->pokeexpire = iax2_sched_add(sched, peer->pokefreqnotok, iax2_poke_noanswer, peer_ref(peer));
        else
                peer->pokeexpire = iax2_sched_add(sched, <b>DEFAULT_MAXMS * 2</b>, iax2_poke_noanswer, peer_ref(peer));</pre></blockquote>Is it intended to have pokeexpire timer to fire after<b> DEFAULT_MAXMS * 2</b> instead of <b>peer->pokefreqok </b>?<br><br></div><div>I think it is better to be:<br></div><div>- client1 sends POKE, wait for PONG.<br></div><div>- client2 sends PONG.<br>- If PONG packet is dropped retry it couple of times, until giving up.<br><br></div><div>-- <br><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div>Yousf Ateya,<br></div><div></div><div>StarkBits</div><div><a href="http://www.starkbits.com" target="_blank">www.starkbits.com</a></div></div></div></div></div>
</div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div>

<br>
<pre><font size="1" face="Courier New">This e-mail message is intended only for the use of the intended recipient(s).
The information contained therein may be confidential or privileged,
and its disclosure or reproduction is strictly prohibited.
If you are not the intended recipient, please return it immediately to its sender 
at the above address and destroy it. 
</font></pre>