<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]-->

<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->




<div class=Section1>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Thanks is working but when i try to send the forward I&#8217;m
doing the following:<o:p></o:p></span></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>$rU =&nbsp; $avp(s:callForward)<span style='font-size:11.0pt;
font-family:"Calibri","sans-serif";color:#1F497D'><o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>rewritehostport(&quot;XXX:XXX:XXX:5070&quot;);<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>&nbsp;append_branch();<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>t_on_failure(&quot;1&quot;);<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
t_on_reply(&quot;1&quot;);<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!t_relay()) {<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
sl_reply_error();<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; };<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>And I get the following response on replay 1:<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>opensips[2049]:&nbsp; Reply 1 - M=INVITE RURI=&lt;null&gt; S=100
D=Trying F=sip:CallingNumber@SenderGW:5060 T=sip:calledNumber@receiverGW:5060
IP=NAT_IP ID=&lt;CALLID&gt;<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>opensips[2039]:&nbsp; Reply 1 - M=INVITE RURI=&lt;null&gt; S=100
D=Trying F=sip:CallingNumber@SenderGW:5060 T=sip:calledNumber@receiverGW:5060
IP=NAT_IP ID=&lt;CALLID&gt;<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>opensips[2054]:&nbsp; Reply 1 - M=INVITE RURI=&lt;null&gt; S=180
D=Ringing F=sip:CallingNumber@SenderGW:5060 T=sip:calledNumber@receiverGW:5060
IP=NAT_IP ID=&lt;CALLID&gt;<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>opensips[2041]:&nbsp; Reply 1 - M=INVITE RURI=&lt;null&gt; S=403
D=Forbidden F=sip:CallingNumber@SenderGW:5060
T=sip:calledNumber@receiverGW:5060 IP=NAT_IP ID=&lt;CALLID&gt;<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>thanks.<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<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;font-family:"Tahoma","sans-serif"'>From:</span></b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> Gustavo Mistrinelli
(via Nabble) [mailto:<a href="http://n2.nabble.com/user/SendEmail.jtp?type=node&node=2157067&i=0" target="_top" rel="nofollow">ml-user+125057-519850071@...</a>] <br>
<b>Sent:</b> Tuesday, January 13, 2009 9:52 PM<br>
<b>To:</b> pjgonzalez<br>
<b>Subject:</b> Re: [OpenSIPS-Users] DIferent call Status when base on user
Preference<o:p></o:p></span></p>

</div>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal style='margin-bottom:12.0pt'>Hi, <br>
<br>
You can use one line to load all user preferences to avps<br>
<br>
&nbsp; avp_db_load(&quot;$ru/username&quot;,&quot;*&quot;)<br>
<br>
Assuming that usr_preferences table have records like that:<br>
<br>
<span style='font-family:"Courier New"'>username | attribute&nbsp;&nbsp; |
value <br>
------------------------------<br>
abcd &nbsp; &nbsp; | callForward | </span>123456<br>
<span style='font-family:"Courier New"'>dcba&nbsp;&nbsp;&nbsp;&nbsp; |
voicemail &nbsp; | true</span><br>
<br>
Then you can check user settings asking:<br>
<br>
if (is_avp_set($avp(s:callForward)) {<br>
&nbsp;&nbsp; $rU =&nbsp; $avp(s:callForward)<br>
}<br>
if (is_avp_set($avp(s:voicemail)) {<br>
&nbsp; if ($avp(s:voicemail)==&quot;true&quot; {<br>
&nbsp; &nbsp; &nbsp; # Redirect to voicemail server<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
rewritehostport(&quot;XXX.XXX.XXX.XXX:5070&quot;);<br>
&nbsp; }<br>
}<br>
<br>
I hope you get the idea, if not please review documentation&nbsp;
usr_preferences and avpops module:<br>
&nbsp;<a href="http://www.opensips.org/html/docs/db/db-schema-1.4.x.html#AEN581" target="_top" rel="nofollow">http://www.opensips.org/html/docs/db/db-schema-1.4.x.html#AEN581</a><br>
&nbsp;<a href="http://www.opensips.org/html/docs/modules/1.4.x/avpops.html" target="_top" rel="nofollow">http://www.opensips.org/html/docs/modules/1.4.x/avpops.html</a><br>
<br>
Cheers,<br>
<br>
Gustavo<o:p></o:p></p>

<div>

<p class=MsoNormal>On Tue, Jan 13, 2009 at 11:19 PM, pjgonzalez &lt;<a href="http://n2.nabble.com/user/SendEmail.jtp?type=node&amp;node=2154691&amp;i=0" target="_top" rel="nofollow">pgonzalez@...</a>&gt; wrote:<o:p></o:p></p>

<p class=MsoNormal><br>
Hi every body, i want to be able route calls from my sip, depending on his<br>
status, For example when the user is online he can change his status to<br>
ringOndevice to ring on his sip-phone, voice-mail to route to asterisk<br>
voicemail, and callforward to forward the call to a given number, the two<br>
first escerany are ok bu, i need to know how can i make a call forward base<br>
on users prefenrece.<br>
<br>
i alredy load the user preference from the usr_preference table.<br>
<br>
here my script part:<br>
<br>
if(nat_uac_test(&quot;19&quot;))<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;setbflag(6);<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fix_nated_contact();<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;xlog(&quot;L_INFO&quot;, &quot;Fixing
NAT AGAIN- M=$rm RURI=$ru F=$fu USR=$tU<br>
T=$tu IP=$si ID=$ci\n&quot;);<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; };<br>
<br>
&nbsp; &nbsp; &nbsp; &nbsp;if(!lookup(&quot;location&quot;)){<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;avp_db_query(&quot;SELECT count(*) FROM usr_preferences WHERE<br>
uuid='$tU'&quot;,&quot;$avp(s:hasPreference)&quot;);<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;xlog(&quot;L_INFO&quot;,
&quot;User Preference:<br>
atributo:'$avp(s:hasPreference)'\n&quot;);<br>
<br>
CHECH IF USR is on preference DB to forward to voice Mail server.<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if($avp(s:hasPreference)){<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;route(9);<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;exit;<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}<br>
#OUTBOUNT CALLS/<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;if (uri=~&quot;^sip:[0-9]*@&quot;) {<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;route(3);<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;route(6);<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;exit;<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;};<br>
&nbsp; &nbsp; &nbsp; &nbsp; }<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;else<br>
&nbsp; &nbsp; &nbsp; &nbsp; {<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;route(13);<br>
&nbsp; &nbsp; &nbsp; &nbsp; }<br>
<br>
route[11]<br>
{<br>
&nbsp;xlog(&quot;L_INFO&quot;,&quot;Here on route 11&quot;);<br>
&nbsp;avp_pushto(&quot;$ru&quot;, &quot;$avp(s:callForward)&quot;);<br>
<br>
&nbsp;rewritehostport(&quot;XXX.XXX.XXX.XXX:5070&quot;);<br>
&nbsp;append_branch();<br>
<br>
xlog(&quot;L_INFO&quot;, &quot;The call was forwarded to: $avp(s:callForward) -
M=$rm<br>
RURI=$ru F=$fu USR=$tU T=$tu IP=$si ID=$ci\n&quot;);<br>
#t_on_failure(&quot;1&quot;);<br>
#t_on_reply(&quot;1&quot;);<br>
#t_relay();<br>
#xlog(&quot;L_INFO&quot;, &quot;The call was relay to: $avp(s:callForward) -
M=$rm RURI=$ru<br>
F=$fu USR=$tU T=$tu IP=$si ID=$ci\n&quot;);<br>
#route(6);<br>
#t_on_branch(&quot;1&quot;);<br>
&nbsp;route(12);<br>
}<br>
<br>
route[12]{<br>
&nbsp; &nbsp; &nbsp; &nbsp; xlog(&quot;L_INFO&quot;,&quot;Here on route
12&quot;);<br>
&nbsp; &nbsp; &nbsp; &nbsp;t_on_failure(&quot;3&quot;);<br>
&nbsp; &nbsp; &nbsp; &nbsp;t_on_reply(&quot;1&quot;);<br>
&nbsp; &nbsp; &nbsp; &nbsp;if (!t_relay()) {<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;sl_reply_error();<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;xlog(&quot;L_INFO&quot;, &quot;The error:
&nbsp;- M=$rm RURI=$ru F=$fu USR=$tU T=$tu<br>
IP=$si ID=$ci\n&quot;);<br>
<br>
&nbsp; &nbsp; &nbsp; &nbsp;};<br>
&nbsp; &nbsp; &nbsp; &nbsp;exit;<br>
}<br>
<br>
My script is base on sipwise sample.<br>
<br>
thanks a lot.<br>
<br>
route[13]<br>
{<br>
<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;xlog(&quot;L_INFO&quot;,
&quot;User is Online - M=$rm RURI=$ru F=$fu<br>
USR=$tU T=$tu IP=$si ID=$ci\n&quot;);<br>
<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
if(avp_db_load(&quot;$ru/username&quot;,&quot;$avp(s:callForward)&quot;))<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;#xlog(&quot;L_INFO&quot;, &quot;The call was forwarded to:<br>
$avp(s:callForward) - M=$rm RURI=$ru F=$fu USR=$tU T=$tu IP=$si
ID=$ci\n&quot;);<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;#avp_pushto(&quot;$tu&quot;, &quot;$avp(s:callForward)&quot;);<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;route(11);<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;exit;<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; else
if(avp_db_load(&quot;$ru/username&quot;,&quot;$avp(s:ringOnDevice)&quot;))<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;xlog(&quot;L_INFO&quot;,&quot; The call is ringing on: $ruri&quot;);<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;route(3);<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;route(8);<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;exit;<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; else
if(avp_db_load(&quot;$ru/username&quot;,&quot;$avp(s:voiceMail)&quot;))<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
xlog(&quot;L_INFO&quot;, &quot;Voice Mail HERE!! - M=$rm RURI=$ru<br>
F=$fu T=$tu IP=$si ID=$ci\n&quot;);<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;route(9);<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;exit;<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; };<br>
<br>
exit;<br>
}<br>
<br>
<br>
<br>
--<br>
View this message in context: <a href="http://n2.nabble.com/DIferent-call-Status-when-base-on-user-Preference-tp2154604p2154604.html" target="_blank" rel="nofollow">http://n2.nabble.com/DIferent-call-Status-when-base-on-user-Preference-tp2154604p2154604.html</a><br>
Sent from the OpenSIPS - Users mailing list archive at Nabble.com.<br>
<br>
<br>
_______________________________________________<br>
Users mailing list<br>
<a href="http://n2.nabble.com/user/SendEmail.jtp?type=node&amp;node=2154691&amp;i=1" target="_top" rel="nofollow">Users@...</a><br>
<a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" target="_blank" rel="nofollow">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><o:p></o:p></p>

</div>

<p class=MsoNormal style='margin-bottom:12.0pt'><br>
<br clear=all>
<br>
-- <br>
Gustavo Mistrinelli<br>
<br>
_______________________________________________ <br>
Users mailing list <br>
<a href="http://n2.nabble.com/user/SendEmail.jtp?type=node&amp;node=2154691&amp;i=2" target="_top" rel="nofollow">Users@...</a> <br>
<a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" target="_top" rel="nofollow">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><br>
<br>
<o:p></o:p></p>

<div class=MsoNormal align=center style='text-align:center'>

<hr size=1 width="100%" noshade style='color:#CCCCCC' align=center>

</div>

<div>

<p class=MsoNormal><span style='font-size:8.5pt;font-family:"Tahoma","sans-serif";
color:#666666'>This email is a reply to your post @ <a href="http://n2.nabble.com/DIferent-call-Status-when-base-on-user-Preference-tp2154604p2154691.html" target="_top" rel="nofollow">http://n2.nabble.com/DIferent-call-Status-when-base-on-user-Preference-tp2154604p2154691.html</a><br>
You can reply by email or by visting the link above.<o:p></o:p></span></p>

</div>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

</div>





<br><hr align="left" width="300">
View this message in context: <a href="http://n2.nabble.com/DIferent-call-Status-when-base-on-user-Preference-tp2154604p2157067.html">RE: [OpenSIPS-Users] DIferent call Status when base on user Preference</a><br>
Sent from the <a href="http://n2.nabble.com/OpenSIPS---Users-f1449235.html">OpenSIPS - Users mailing list archive</a> at Nabble.com.<br>