Jeff,<div>Thanks for your reply. Is this in the loose route? or.. ? Does it break anything else? Bogdan, anyway you can explain what's going on here? :)</div><div>-Brett</div><div><br></div><div><br><div class="gmail_quote">
On Mon, Oct 5, 2009 at 12:30 PM, Jeff Kronlage <span dir="ltr"><<a href="mailto:jeff@data102.com">jeff@data102.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div lang="EN-US" link="blue" vlink="purple">
<div>
<p><span style="font-size:11.0pt;color:#1F497D">Brett,</span></p>
<p><span style="font-size:11.0pt;color:#1F497D"> </span></p>
<p><span style="font-size:11.0pt;color:#1F497D">I had this same exact problem. The solution was a little clunky
but sending the ACK out statelessly solves the problem.</span></p>
<p><span style="font-size:11.0pt;color:#1F497D"> </span></p>
<p><span style="font-size:11.0pt;color:#1F497D">My code looks like:</span></p>
<p><span style="font-size:11.0pt;color:#1F497D"> </span></p>
<p><span style="font-size:11.0pt;color:#1F497D"> t_check_trans();</span></p>
<p><span style="font-size:11.0pt;color:#1F497D"> if (is_method("ACK") &&
!t_check_trans()) {</span></p>
<p><span style="font-size:11.0pt;color:#1F497D"> if (!forward()) sl_reply_error();</span></p>
<p><span style="font-size:11.0pt;color:#1F497D"> exit;</span></p>
<p><span style="font-size:11.0pt;color:#1F497D"> }</span></p>
<p><span style="font-size:11.0pt;color:#1F497D"> if (!t_relay()) sl_reply_error();</span></p>
<p><span style="font-size:11.0pt;color:#1F497D"> </span></p>
<p><span style="font-size:11.0pt;color:#1F497D">I wish I could give a more techie explanation on why this works –
it was a hackjob answer for me. Bogdan posted an answer perhaps a week ago
that explained it a bit.</span></p>
<p><span style="font-size:11.0pt;color:#1F497D"> </span></p>
<p><span style="font-size:11.0pt;color:#1F497D">Cheers,</span></p>
<p><span style="font-size:11.0pt;color:#1F497D"> </span></p>
<p><span style="font-size:10.0pt;color:#1F497D">--</span></p>
<p><span style="font-size:10.0pt;color:#1F497D">Jeff Kronlage</span></p>
<p><span style="font-size:10.0pt;color:#1F497D">Senior IT Engineer, Data102</span><span style="font-size:11.0pt;color:#1F497D"></span></p>
<p><span style="font-size:10.0pt;color:#1F497D">102 South Tejon, Suite #1250</span><span style="font-size:11.0pt;color:#1F497D"></span></p>
<p><span style="font-size:10.0pt;color:#1F497D">Colorado Springs, CO 80903</span><span style="font-size:11.0pt;color:#1F497D"></span></p>
<p><span style="font-size:10.0pt;color:#1F497D">(719) 387-0000 x 1335 direct</span><span style="font-size:11.0pt;color:#1F497D"></span></p>
<p><span style="font-size:10.0pt;color:#1F497D">(719) 578-8844 fax</span></p>
<p><span style="font-size:10.0pt;color:#1F497D"><a href="mailto:jeff@data102.com" target="_blank">jeff@data102.com</a> / <a href="http://www.data102.com" target="_blank"><span style="color:blue">http://www.data102.com</span></a></span><span style="font-size:11.0pt;color:#1F497D"></span></p>
<p><span style="font-size:11.0pt;color:#1F497D"> </span></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p><b><span style="font-size:10.0pt">From:</span></b><span style="font-size:10.0pt">
<a href="mailto:users-bounces@lists.opensips.org" target="_blank">users-bounces@lists.opensips.org</a> [mailto:<a href="mailto:users-bounces@lists.opensips.org" target="_blank">users-bounces@lists.opensips.org</a>] <b>On
Behalf Of </b>Brett Nemeroff<br>
<b>Sent:</b> Monday, October 05, 2009 9:51 AM<br>
<b>To:</b> <a href="mailto:users@lists.opensips.org" target="_blank">users@lists.opensips.org</a><br>
<b>Subject:</b> [OpenSIPS-Users] Re-invite problem -> 491 Request Pending</span></p>
</div><div><div></div><div class="h5">
<p> </p>
<p>Hello All,</p>
<div>
<p>I'm not sure where the problem is.. it's either my switch,
or it's the customer's box.</p>
</div>
<div>
<p> </p>
</div>
<div>
<p>What's happening is the customer sends a call. As soon as
the 200OK gets back to them, they re-invite.. very fast. The reinvite occurs
BEFORE the ACK for the 200OK makes it back to the provider. Because of this,
when the RE-INVITE hits the provider they respond with "491 Request
Pending", in other words, I can't process a re-invite because the last
INVITE hasn't send me an ACK back yet. This happens over.. and over.. and over.</p>
</div>
<div>
<p> </p>
</div>
<div>
<p>What I'm wondering is if there is a timer I can adjust for
this. Seems like OpenSIPs should know that the transaction is in a state where
there is a PENDING ACK and it shouldn't process the RE-INVITE quite yet
(Request Queued?). Perhaps that isn't a normal function of a Proxy. So I guess
I'm looking for either a timer adjustment or a way to insert some sorta delay
(sounds like a bad idea) to allow the ACK to traverse.</p>
</div>
<div>
<p> </p>
</div>
<div>
<p>The numbers are VERY close.. the ACK actually arrives at
timestamp 12.757073, but the INVITE goes to the provider
at 12.755913. So in other words, if the RE-INVITE occured 0.001161 seconds
later, this wouldn't happen. Seems like there should be something to prevent
these events? (A properly working UAC perhaps?!)</p>
</div>
<div>
<p> </p>
</div>
<div>
<p>Any ideas?</p>
</div>
<div>
<p> </p>
</div>
<div>
<p>Thanks,</p>
</div>
<div>
<p>Brett</p>
</div>
<div>
<p> </p>
</div>
</div></div></div>
</div>
<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>
<br></blockquote></div><br></div>