<div dir="ltr">Yes. I&#39;ve set unconditional forwarding in linksys pap2. So it sends &quot;302 temporarily moved&quot;.<br><br><div class="gmail_quote">On Sat, Aug 9, 2008 at 4:36 PM, 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="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hi Ruchir,<br>
<br>
The redirect on the phone is done via the 3xx replies?<br>
<br>
Regards,<br>
Bogdan<br>
<br>
Ruchir wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="Ih2E3d">
I&#39;ve set avp and radius_extra param properly. If I handle call forwarding from server side, everything works fine. I get leg source, destination, forward reason, etc. perfectly. The problem is there only when I do call forwarding from phone.<br>

<br></div><div class="Ih2E3d">
On Fri, Aug 8, 2008 at 8:08 PM, Pablo Hernan Saro &lt;<a href="mailto:pablosaro@gmail.com" target="_blank">pablosaro@gmail.com</a> &lt;mailto:<a href="mailto:pablosaro@gmail.com" target="_blank">pablosaro@gmail.com</a>&gt;&gt; wrote:<br>

<br>
 &nbsp; &nbsp;I believe that it&#39;s not about how OpenSER or OpenSIPS implements<br>
 &nbsp; &nbsp;multi-leg accounting, it&#39;s about how you do.<br>
 &nbsp; &nbsp;Particularly how you set up two important parameters for the acc<br>
 &nbsp; &nbsp;module: multi_leg_info and db_extra. In my case, I set up one avp<br>
 &nbsp; &nbsp;for source leg, another for destination leg and two avps for extra<br>
 &nbsp; &nbsp;information: the state of the call and a classification of the dst.<br>
 &nbsp; &nbsp;The &quot;state of the call&quot;, for me, means when it&#39;s a call, a fw or<br>
 &nbsp; &nbsp;whatever; while the &quot;classification of the dst&quot; means if dst is<br>
 &nbsp; &nbsp;national, long distance, international.<br>
 &nbsp; &nbsp;So, you have to set up avps as the information you need and make<br>
 &nbsp; &nbsp;sure to set it to proper values before the acc module writes the<br>
 &nbsp; &nbsp;row in your db.<br>
 &nbsp; &nbsp;BTW, take care of using Diversion header... It&#39;s a draft from 2004<br>
 &nbsp; &nbsp;and it&#39;s expired. Not all UAC/UAS has this implemented.<br>
 &nbsp; &nbsp;I hope it helps.<br>
 &nbsp; &nbsp;Cheers<br>
<br>
 &nbsp; &nbsp;Pablo<br>
<br>
<br>
 &nbsp; &nbsp;On Fri, Aug 8, 2008 at 4:05 AM, Ruchir &lt;<a href="mailto:ruchir.lists@gmail.com" target="_blank">ruchir.lists@gmail.com</a><br></div><div><div></div><div class="Wj3C7c">
 &nbsp; &nbsp;&lt;mailto:<a href="mailto:ruchir.lists@gmail.com" target="_blank">ruchir.lists@gmail.com</a>&gt;&gt; wrote:<br>
<br>
 &nbsp; &nbsp; &nbsp; &nbsp;I&#39;m using uac_redirect module to handle redirect from UA and<br>
 &nbsp; &nbsp; &nbsp; &nbsp;doing accounting from openser. Redirect works fine so as cdr<br>
 &nbsp; &nbsp; &nbsp; &nbsp;but I&#39;m not able to store CDR records for multi-leg accounting<br>
 &nbsp; &nbsp; &nbsp; &nbsp;properly.<br>
<br>
 &nbsp; &nbsp; &nbsp; &nbsp;I have set onreply avp by<br>
<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;modparam(&quot;tm&quot;, &quot;onreply_avp_mode&quot;, 1)<br>
<br>
<br>
 &nbsp; &nbsp; &nbsp; &nbsp;I&#39;ve set following in onreply route<br>
<br>
<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if($hdr(Diversion)!=null)<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;avp_delete(&quot;$avp(s:src_call_type)&quot;);<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;$avp(s:src_call_type) = $hdr(Diversion);<br>
<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;xlog(&quot;Client call forwarding to $avp(s:src_user_reply)\n &quot;);<br>
<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;avp_subst(&quot;$avp(s:src_user_reply)&quot;,<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&quot;/(.*)&lt;sip:(.*)@(.*)&gt;;reason=(.*)/\4/&quot;);<br>
<br>
<br>
<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;switch($avp(s:src_call_type))<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case &quot;unconditional&quot;:<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;$avp(s:call_type) = &quot;cwfd&quot;;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case &quot;user-busy&quot;:<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;$avp(s:call_type) = &quot;cwfdbusy&quot;;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case &quot;no-answer&quot;:<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;$avp(s:call_type) = &quot;cwfdnoanswer&quot;;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;default:<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;log(&quot;no forwarding\n&quot;);<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}<br>
<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}<br>
<br>
 &nbsp; &nbsp; &nbsp; &nbsp;But the problem is that records are not generated the way we<br>
 &nbsp; &nbsp; &nbsp; &nbsp;expect and the way it works in normal forwarding using<br>
 &nbsp; &nbsp; &nbsp; &nbsp;usr_preferences. For example call is forwarded from one user<br>
 &nbsp; &nbsp; &nbsp; &nbsp;to another, the first leg of the call should be logged as it<br>
 &nbsp; &nbsp; &nbsp; &nbsp;should normally be($fU in leg source, $rU in leg destination &amp;<br>
 &nbsp; &nbsp; &nbsp; &nbsp;calltype=call) and in next cdr log, it should log with<br>
 &nbsp; &nbsp; &nbsp; &nbsp;forwarding details(Forwarding user in leg source, forwarded<br>
 &nbsp; &nbsp; &nbsp; &nbsp;user in leg destination &amp; calltype=cfwd). But it actually<br>
 &nbsp; &nbsp; &nbsp; &nbsp;generates 5 records(1 failed invite, 2 ok invites &amp; 2 byes,<br>
 &nbsp; &nbsp; &nbsp; &nbsp;instead of 2 invites &amp; 2 byes) of the call. Also as we set<br>
 &nbsp; &nbsp; &nbsp; &nbsp;calltype and leg source in onreply route, it&#39;ll store that<br>
 &nbsp; &nbsp; &nbsp; &nbsp;date for the first leg of the CDR which should not happen.<br>
<br>
 &nbsp; &nbsp; &nbsp; &nbsp;Is the same limitation is there in OpenSIPS or it has better<br>
 &nbsp; &nbsp; &nbsp; &nbsp;uac_redirect module?<br>
<br>
 &nbsp; &nbsp; &nbsp; &nbsp;I&#39;ll consider switching to OpenSIPS if it solves this issue.<br>
<br>
 &nbsp; &nbsp; &nbsp; &nbsp;_______________________________________________<br>
 &nbsp; &nbsp; &nbsp; &nbsp;Users mailing list<br></div></div>
 &nbsp; &nbsp; &nbsp; &nbsp;<a href="mailto:Users@lists.opensips.org" target="_blank">Users@lists.opensips.org</a> &lt;mailto:<a href="mailto:Users@lists.opensips.org" target="_blank">Users@lists.opensips.org</a>&gt;<div class="Ih2E3d"><br>

 &nbsp; &nbsp; &nbsp; &nbsp;<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>
<br>
<br></div>
------------------------------------------------------------------------<div class="Ih2E3d"><br>
<br>
_______________________________________________<br>
Users mailing list<br>
<a href="mailto:Users@lists.opensips.org" target="_blank">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>
 &nbsp;<br>
</div></blockquote>
<br>
</blockquote></div><br></div>