Why not use an $avp and grab the Call ID header on the inbound packet and then create some routing logic that checks the $avp against the return packet Call ID header to validate it&#39;s the same thing?  $avps can be made available onreply with a modparam though forgive me if it&#39;s a bit late at night and I don&#39;t have the link handy.<div>

<br></div><div>An avp can store more than a single value but they index in reverse order as written if I recall correctly.<br><br><div class="gmail_quote">On Sat, Feb 12, 2011 at 5:05 AM, Russell Bierschbach <span dir="ltr">&lt;<a href="mailto:rbierschbach@telepointglobal.com">rbierschbach@telepointglobal.com</a>&gt;</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 class="MsoNormal"><span style="color:#1F497D">I have a similar problem, but not solution, my probably is actually occurring because the originating UA is ignoring a contact header that is sent back during a 183 progress message.  OpenSIPS uses information from that contact header to figure out where to relay the incoming message (BYE in my case, CANCEL in yours).  It seems like it would be possible for OpenSIPS to use a call-id or tag to determine where to relay the message though.</span></p>

<p class="MsoNormal"><span style="color:#1F497D"> </span></p><div><p class="MsoNormal"><span style="color:#1F497D">Russell Bierschbach</span><span style="font-size:10.0pt;color:black"></span></p><p class="MsoNormal"><span style="color:#1F497D">em: <a href="mailto:rjphillips@telepointglobal.com" target="_blank">rbierschbach@telepointglobal.com</a>, im: <a href="mailto:rbierschbach@hotmail.com" target="_blank"><span style="color:#1F497D">rbierschbach@hotmail.com</span></a></span><span style="font-size:10.0pt;color:black"></span></p>

</div><p class="MsoNormal"><span style="color:#1F497D"> </span></p><div><div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in"><p class="MsoNormal"><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>Juri Nysschen<br>

<b>Sent:</b> Friday, February 11, 2011 7:44 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] FW: CANCELs with no transaction</span></p>

</div></div><div><div></div><div class="h5"><p class="MsoNormal"> </p><p class="MsoNormal">Hi All,</p><p class="MsoNormal"> </p><p class="MsoNormal">Need help with a nagging issue:</p><p class="MsoNormal"> </p><p class="MsoNormal">

UA-&gt;Opensips 1-&gt;Opensips 2-&gt;PSTN</p><p class="MsoNormal"> </p><p class="MsoNormal">UA sends an invite on Opensips 1, and is routed via do_routing() to Opensips 2, Opensips 2 uses do_routing to get to the PSTN, call starts ringing.</p>

<p class="MsoNormal"> </p><p class="MsoNormal">UA cancels call before answer, but now t_check_trans fails and the CANCEL is not passed onto the PSTN, with the result that the call rings forever and can only be terminated by the remote answering and dropping the call or through a timeout.</p>

<p class="MsoNormal"> </p><p class="MsoNormal">The scripts on Opensips 1 &amp; Opensips 2 is virtuall identical:</p><p class="MsoNormal"> </p><p class="MsoNormal">How do I get the CANCEL to the PSTN ?</p><p class="MsoNormal">

 </p><p class="MsoNormal">route{</p><p class="MsoNormal">.....</p><p class="MsoNormal" style="text-autospace:none"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;">      if (is_method(&quot;CANCEL&quot;) ) {</span></p>

<p class="MsoNormal" style="text-autospace:none"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;">            route(5); # drop media proxy</span></p><p class="MsoNormal" style="text-autospace:none"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;">            if (t_check_trans()){ # this always fails after a do_routing()</span></p>

<p class="MsoNormal" style="text-autospace:none"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;">                  xlog(&quot;L_INFO&quot;,&quot;CANCEL Transaction[$fd/$fu/$rd/$ru/$si/]\n&quot;);</span></p>

<p class="MsoNormal" style="text-autospace:none"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;">                  t_relay();</span></p><p class="MsoNormal" style="text-autospace:none"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;">                  exit;</span></p>

<p class="MsoNormal" style="text-autospace:none"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;">            };</span></p><p class="MsoNormal" style="text-autospace:none"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;">            exit;</span></p>

<p class="MsoNormal" style="text-autospace:none"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;">      }</span></p><p class="MsoNormal">}</p><p class="MsoNormal"> </p><p class="MsoNormal"> </p><p class="MsoNormal" style="text-autospace:none">

<span style="font-size:10.0pt;font-family:&quot;Courier New&quot;">route[4] {</span></p><p class="MsoNormal" style="text-autospace:none"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;">      xlog(&quot;L_INFO&quot;,&quot;Route4 [$fd/$fu/$rd/$ru/$si/]\n&quot;);</span></p>

<p class="MsoNormal" style="text-autospace:none"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"> </span></p><p class="MsoNormal" style="text-autospace:none"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;">      $avp(i:102)=1; # Default dr-group</span></p>

<p class="MsoNormal" style="text-autospace:none"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;">      route(10); # Do custom stuff</span></p><p class="MsoNormal" style="text-autospace:none"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;">      t_on_failure(&quot;4&quot;);</span></p>

<p class="MsoNormal" style="text-autospace:none"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;">      if (do_routing(&quot;$avp(i:102)&quot;)){</span></p><p class="MsoNormal" style="text-autospace:none">

<span style="font-size:10.0pt;font-family:&quot;Courier New&quot;">            xlog(&quot;L_INFO&quot;,&quot;Route4 Route to Dyna Group: $avp(i:102)[$fd/$fu/$rd/$ru/$si/]\n&quot;);</span></p><p class="MsoNormal" style="text-autospace:none">

<span style="font-size:10.0pt;font-family:&quot;Courier New&quot;">            t_newtran();</span></p><p class="MsoNormal" style="text-autospace:none"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;">            route(1);</span></p>

<p class="MsoNormal" style="text-autospace:none"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;">            exit;</span></p><p class="MsoNormal" style="text-autospace:none"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;">      };</span></p>

<p class="MsoNormal" style="text-autospace:none"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;">      xlog(&quot;L_INFO&quot;,&quot;Route4 No Route to Host[$fd/$fu/$rd/$ru/$si/]\n&quot;);</span></p><p class="MsoNormal" style="text-autospace:none">

<span style="font-size:10.0pt;font-family:&quot;Courier New&quot;">      sl_reply_error();</span></p><p class="MsoNormal" style="text-autospace:none"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;">      exit;</span></p>

<p class="MsoNormal" style="text-autospace:none"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;">}</span></p><p class="MsoNormal"><span style="font-size:10.0pt"> </span></p><p class="MsoNormal"><span style="font-size:10.0pt">Regards</span></p>

<p class="MsoNormal"><span style="font-size:10.0pt"><a href="http://www.greydotelecom.net/bcard/jnysschen.htm" title="Business Card" target="_blank">Juri Nysschen</a></span></p><p class="MsoNormal"> </p></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>