[OpenSIPS-Users] Script flag question
Bogdan-Andrei Iancu
bogdan at opensips.org
Tue Mar 8 15:24:57 CET 2011
Hi Denis,
Try placing before the second xlog (along with the "if") another xlog
without the "if", printing the entire script flag mask :
xlog("Script flags are $sf \n");
See http://www.opensips.org/Resources/DocsCoreVar16#toc73
Regards,
Bogdan
Denis Putyato wrote:
> Hello Bogdan
>
> Yes I am sure, because all "exit" offered after send_reply() function, i.e. call is unsuccessful.
> But my test call pass through Opensips and goes to callee.
>
> -----Original Message-----
> From: users-bounces at lists.opensips.org [mailto:users-bounces at lists.opensips.org] On Behalf Of Bogdan-Andrei Iancu
> Sent: Friday, March 04, 2011 6:58 PM
> To: OpenSIPS users mailling list
> Subject: Re: [OpenSIPS-Users] Script flag question
>
> Hi Denis,
>
> are you sure that your script flow does not hit any of those "exit"
> statements before getting to the second xlog() ?
>
> Regards,
> Bogdan
>
> Denis Putyato wrote:
>
>> Hello everybody!
>>
>> There is a piece of script
>>
>> …
>>
>> …
>>
>> if (dp_translate("20005", "$rU/$rU")) {
>>
>> xlog("L_INFO", "RU after alias = $rU");
>>
>> $avp(i:200)=$rU;
>>
>> setsflag(1);
>>
>> if (issflagset(1)) xlog("L_INFO", "FLAGS1 is set");
>>
>> }
>>
>> if (dp_translate("20000", "$rU/$var(ruri)")) {
>>
>> $avp(i:502)=$avp(i:999);
>>
>> avp_subst("$avp(i:502)", "/(.*)\*(.*)\*(.*)/\3/ig");
>>
>> if ($avp(i:502)=="0") {
>>
>> $avp(i:500)=$rU;
>>
>> $rU=$var(ruri);
>>
>> $avp(i:5)=$avp(i:999);
>>
>> avp_subst("$avp(i:5)", "/(.*)\*(.*)\*(.*)/\1/ig");
>>
>> $avp(i:5)=$(avp(i:5){s.int});
>>
>> $avp(i:1005)=1;
>>
>> $avp(s:callee)=$rU;
>>
>> $avp(i:92)=$avp(i:999);
>>
>> avp_subst("$avp(i:92)", "/(.*)\*(.*)\*(.*)/\2/ig");
>>
>> $avp(i:92)=$(avp(i:92){s.int});
>>
>> get_profile_size("client","$avp(i:500)","$avp(i:17)");
>>
>> if ($avp(i:17) >= $avp(i:92)) {
>>
>> acc_db_request("User busy", "acc");
>>
>> send_reply("486", "User busy");
>>
>> exit;
>>
>> }
>>
>> set_dlg_profile("client","$avp(i:500)");
>>
>> setsflag(2);
>>
>> }
>>
>> }
>>
>> if (do_routing("$avp(i:5)")) setsflag(3);
>>
>> if (!issflagset(3)) {
>>
>> if (!$avp(i:6) == 0) {
>>
>> if (do_routing("$avp(i:6)")) setsflag(3);
>>
>> }
>>
>> }
>>
>> if (!issflagset(3)) {
>>
>> if (!$avp(i:7) == 0) {
>>
>> if (!do_routing("$avp(i:7)")) {
>>
>> acc_db_request("Not found", "acc");
>>
>> send_reply("404", "Not found");
>>
>> exit;
>>
>> }
>>
>> } else {
>>
>> acc_db_request("Not found", "acc");
>>
>> send_reply("404", "Not found");
>>
>> exit;
>>
>> }
>>
>> }
>>
>> if (issflagset(1)) xlog("L_INFO", "FLAGS1 is set");
>>
>> …
>>
>> …
>>
>> I can see first "FLAGS1 is set" in log file but I don`t see second
>> "FLAGS1 is set".
>>
>> What can be wrong?
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> Users mailing list
>> Users at lists.opensips.org
>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>
>>
>
>
>
--
Bogdan-Andrei Iancu
OpenSIPS eBootcamp - 28th February 2011
OpenSIPS solutions and "know-how"
More information about the Users
mailing list