Bogdan,<div>I presently record the 200 OK ACK in my ACC, but I don&#39;t seem to actually utilize it for anything at present. If I did the fix jeff mentioned, will I no longer get that ACK in ACC?</div><div><br></div><div>

so performing the t_check_trans() is faster than tm module&#39;s built in matching? I&#39;m not sure I get why this is faster. I would have thought that the work t_check_trans does is similar to what the tm module already does.</div>

<div><br></div><div>BTW ,is this a bug that is planned to be fixed? Or should I just expect that this scripting fix be a regular part of my scripts (if so, perhaps it should be in the example scripts?)</div><div><br></div>

<div><br></div><div>Thanks,</div><div>Brett</div><div><br><br><div class="gmail_quote">On Tue, Oct 6, 2009 at 8:01 AM, Bogdan-Andrei Iancu <span dir="ltr">&lt;<a href="mailto:bogdan@voice-system.ro">bogdan@voice-system.ro</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Hi Brett,<br>
<br>
This is an ancient topic that needs to be solved once for all. The<br>
bottom problem is that OpenSIPS / TM does try o match the 200OK ACK<br>
against the INVITE transaction - and it should not do that as 200OK ACK<br>
forms a separate transaction and it matches at dialog level, not<br>
transaction level. Because of this, the 200OK ACK matching is not<br>
reliable (especially if you do spirals on opensips) and it is also time<br>
consuming.<br>
<br>
Because of this, the 200OK ACK matching takes longer than processing of<br>
a re-INVITE and here comes the changing in order.<br>
<br>
IMO, this artificial / forced matching of 200 OK should be dropped.<br>
<br>
But there are 2 modules using this:<br>
ACC - for accounting ACK for 200 OK - not sure how many people do enable<br>
this<br>
OSP - no clue :D.....<br>
<br>
Regards,<br>
Bogdan<br>
<div class="im"><br>
Brett Nemeroff wrote:<br>
&gt; Jeff,<br>
&gt; Thanks for your reply. Is this in the loose route? or.. ? Does it<br>
&gt; break anything else? Bogdan, anyway you can explain what&#39;s going on<br>
&gt; here? :)<br>
&gt; -Brett<br>
&gt;<br>
&gt;<br>
&gt; On Mon, Oct 5, 2009 at 12:30 PM, Jeff Kronlage &lt;<a href="mailto:jeff@data102.com">jeff@data102.com</a><br>
</div><div class="im">&gt; &lt;mailto:<a href="mailto:jeff@data102.com">jeff@data102.com</a>&gt;&gt; wrote:<br>
&gt;<br>
&gt;     Brett,<br>
&gt;<br>
&gt;     I had this same exact problem. The solution was a little clunky<br>
&gt;     but sending the ACK out statelessly solves the problem.<br>
&gt;<br>
&gt;     My code looks like:<br>
&gt;<br>
&gt;     t_check_trans();<br>
&gt;<br>
&gt;     if (is_method(&quot;ACK&quot;) &amp;&amp; !t_check_trans()) {<br>
&gt;<br>
&gt;     if (!forward()) sl_reply_error();<br>
&gt;<br>
&gt;     exit;<br>
&gt;<br>
&gt;     }<br>
&gt;<br>
&gt;     if (!t_relay()) sl_reply_error();<br>
&gt;<br>
&gt;     I wish I could give a more techie explanation on why this works –<br>
&gt;     it was a hackjob answer for me. Bogdan posted an answer perhaps a<br>
&gt;     week ago that explained it a bit.<br>
&gt;<br>
&gt;     Cheers,<br>
&gt;<br>
&gt;     --<br>
&gt;<br>
&gt;     Jeff Kronlage<br>
&gt;<br>
&gt;     Senior IT Engineer, Data102<br>
&gt;<br>
&gt;     102 South Tejon, Suite #1250<br>
&gt;<br>
&gt;     Colorado Springs, CO 80903<br>
&gt;<br>
&gt;     (719) 387-0000 x 1335 direct<br>
&gt;<br>
&gt;     (719) 578-8844 fax<br>
&gt;<br>
</div>&gt;     <a href="mailto:jeff@data102.com">jeff@data102.com</a> &lt;mailto:<a href="mailto:jeff@data102.com">jeff@data102.com</a>&gt; / <a href="http://www.data102.com" target="_blank">http://www.data102.com</a><br>


<div class="im">&gt;<br>
&gt;     *From:* <a href="mailto:users-bounces@lists.opensips.org">users-bounces@lists.opensips.org</a><br>
&gt;     &lt;mailto:<a href="mailto:users-bounces@lists.opensips.org">users-bounces@lists.opensips.org</a>&gt;<br>
&gt;     [mailto:<a href="mailto:users-bounces@lists.opensips.org">users-bounces@lists.opensips.org</a><br>
&gt;     &lt;mailto:<a href="mailto:users-bounces@lists.opensips.org">users-bounces@lists.opensips.org</a>&gt;] *On Behalf Of *Brett<br>
&gt;     Nemeroff<br>
&gt;     *Sent:* Monday, October 05, 2009 9:51 AM<br>
</div>&gt;     *To:* <a href="mailto:users@lists.opensips.org">users@lists.opensips.org</a> &lt;mailto:<a href="mailto:users@lists.opensips.org">users@lists.opensips.org</a>&gt;<br>
<div><div></div><div class="h5">&gt;     *Subject:* [OpenSIPS-Users] Re-invite problem -&gt; 491 Request Pending<br>
&gt;<br>
&gt;     Hello All,<br>
&gt;<br>
&gt;     I&#39;m not sure where the problem is.. it&#39;s either my switch, or it&#39;s<br>
&gt;     the customer&#39;s box.<br>
&gt;<br>
&gt;     What&#39;s happening is the customer sends a call. As soon as the<br>
&gt;     200OK gets back to them, they re-invite.. very fast. The reinvite<br>
&gt;     occurs BEFORE the ACK for the 200OK makes it back to the provider.<br>
&gt;     Because of this, when the RE-INVITE hits the provider they respond<br>
&gt;     with &quot;491 Request Pending&quot;, in other words, I can&#39;t process a<br>
&gt;     re-invite because the last INVITE hasn&#39;t send me an ACK back yet.<br>
&gt;     This happens over.. and over.. and over.<br>
&gt;<br>
&gt;     What I&#39;m wondering is if there is a timer I can adjust for this.<br>
&gt;     Seems like OpenSIPs should know that the transaction is in a state<br>
&gt;     where there is a PENDING ACK and it shouldn&#39;t process the<br>
&gt;     RE-INVITE quite yet (Request Queued?). Perhaps that isn&#39;t a normal<br>
&gt;     function of a Proxy. So I guess I&#39;m looking for either a timer<br>
&gt;     adjustment or a way to insert some sorta delay (sounds like a bad<br>
&gt;     idea) to allow the ACK to traverse.<br>
&gt;<br>
&gt;     The numbers are VERY close.. the ACK actually arrives at timestamp<br>
&gt;     12.757073, but the INVITE goes to the provider at 12.755913. So in<br>
&gt;     other words, if the RE-INVITE occured 0.001161 seconds later, this<br>
&gt;     wouldn&#39;t happen. Seems like there should be something to prevent<br>
&gt;     these events? (A properly working UAC perhaps?!)<br>
&gt;<br>
&gt;     Any ideas?<br>
&gt;<br>
&gt;     Thanks,<br>
&gt;<br>
&gt;     Brett<br>
&gt;<br>
&gt;<br>
&gt;     _______________________________________________<br>
&gt;     Users mailing list<br>
</div></div>&gt;     <a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a> &lt;mailto:<a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a>&gt;<br>
<div class="im">&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>
</div>&gt; ------------------------------------------------------------------------<br>
<div><div></div><div class="h5">&gt;<br>
&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>
<br>
<br>
_______________________________________________<br>
Users mailing list<br>
<a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a><br>
<a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><br>
</div></div></blockquote></div><br></div>