Ovidiu,<div>It&#39;s been a number of things. The two latest problems causing this are:</div><div>1. 200 Ok sent to call originator, originator never sends an ack. BUT then after about 15 seconds, the originator sends a BYE with a Max-Forwards of 0. (!!). Believe it or not, this happens a lot. Dialog stays active for 12 hours in this case.</div>

<div><br></div><div>2. I have seen numerous UAs truncating RR uri params. Its ugly. Most of this I&#39;ve fixed by setting DID_FALLBACK for dialog matching.</div><div><br></div><div>There are numerous compatibility issues that I&#39;ve seen pop up here are there that cause these dialogs to get &quot;stuck&quot;. Basically, I don&#39;t want any dialog to stay in that unconfirmed state for any extended period of time. As Duane was saying, there is a lot of sense in just writing a cron job that just terminates dialogs that have been in that state for an extended period of time (which I&#39;ve considered doing) but really would like to do this in the call flow itself. </div>

<div><br></div><div>I don&#39;t believe I&#39;ve seen the race condition you mentioned. So you mentioned: </div><div><br></div><div>&quot;<span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px; ">For case 1. the dialog timeout should be set to a short value and the</span></div>

<meta charset="utf-8"><span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px; ">dialog should autoexpire by itself.&quot;</span><div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse;"><br>

</span></font></div><div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse;">The problem is that I can&#39;t change the dialog timeout to be large once confirmed, or at least, I don&#39;t know how. Specifically because the docs say that for the dialog timeout avp, it can only be changed in a *request*.</span></font></div>

<div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse;"><br></span></font></div><div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse;">Do you know some other way to do it?</span></font></div>

<div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse;"><br></span></font></div><div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse;">Thanks,</span></font></div>

<div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse;">Brett</span></font></div><div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse;"><br>

</span></font><div><br><div class="gmail_quote">On Wed, Mar 30, 2011 at 1:20 PM, Ovidiu Sas <span dir="ltr">&lt;<a href="mailto:osas@voipembedded.com">osas@voipembedded.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

First, it needs to be identified how the dialog arrived in that state:<br>
 1. The ACK was not received and in this case the callee should send a BYE:<br>
  1a. The BYE was sent and received by opensips (then it&#39;s a bug<br>
handling the BYE);<br>
  1b. The BYE was not sent (and we deal with a bogus callee);<br>
 2. The ACK was received but we had a race between 200ok and ACK (I<br>
don&#39;t remember if this race was fixed).<br>
<br>
For case 1. the dialog timeout should be set to a short value and the<br>
dialog should autoexpire by itself.<br>
For case 2. the race must be fixed (otherwise we may end up<br>
terminating valid dialogs).<br>
<br>
Do you have any additional info that could help identifying the proper<br>
scenario that are we dealing with?<br>
<br>
<br>
Thanks,<br>
Ovidiu<br>
<div><div></div><div class="h5"><br>
On Wed, Mar 30, 2011 at 12:50 PM, Brett Nemeroff &lt;<a href="mailto:brett@nemeroff.com">brett@nemeroff.com</a>&gt; wrote:<br>
&gt; Yeah, I&#39;m on the verge of doing that. but seems like I should be able to be<br>
&gt; smarter about it. right?<br>
&gt;<br>
&gt; On Wed, Mar 30, 2011 at 11:45 AM, &lt;<a href="mailto:duane.larson@gmail.com">duane.larson@gmail.com</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; One thing to do is write a script that will check your dialogs and how<br>
&gt;&gt; long they have been active. If they are older than X then delete the<br>
&gt;&gt; dialogs. You can use the &quot;opensipsctl fifo dlg_end_dlg&quot; to kill the dialogs.<br>
&gt;&gt;<br>
&gt;&gt; On Mar 30, 2011 11:24am, Brett Nemeroff &lt;<a href="mailto:brett@nemeroff.com">brett@nemeroff.com</a>&gt; wrote:<br>
&gt;&gt; &gt; Hello All,I&#39;ve seen some incompatibilities pop up from time to time that<br>
&gt;&gt; &gt; leave dialogs in the invalid &quot;CONFIRMED NO ACK&quot; state. In general I&#39;d like<br>
&gt;&gt; &gt; to end dialogs that stay in this state for more than X seconds. The idea is,<br>
&gt;&gt; &gt; either become confirmed, or die.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; I can&#39;t figure out how to do this. Originally I was going to use dialog<br>
&gt;&gt; &gt; timeouts. Set a short timeout (60 seconds) until the dialog becomes<br>
&gt;&gt; &gt; confirmed, but then change the dialog timeout to a long timeout (2 hours)<br>
&gt;&gt; &gt; once confirmed. But it doesn&#39;t seem like I can do that since the dialog<br>
&gt;&gt; &gt; timeout_avp can only be changed during a REQUEST (per docs).<br>
&gt;<br>
</div></div>&gt; _______________________________________________<br>
&gt; Users mailing list<br>
&gt; <a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a><br>
&gt; <a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><br>
&gt;<br>
&gt;<br>
</blockquote></div><br></div></div>