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: [email protected] 
[mailto:[email protected]] 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
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users




--
Bogdan-Andrei Iancu
OpenSIPS eBootcamp - 28th February 2011
OpenSIPS solutions and "know-how"


_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

Reply via email to