[Kamailio-Users] setbflag not working?

Ricardo Martinez rmartinez at redvoiss.net
Mon Jan 18 14:46:56 CET 2010


Hello.

I have the next situation with kamailio 3.0.0

 

In my config file I have something like this : 

 

 

route

       If INVITE then route(AUTH_REQUEST)

       . . . 

 

route[AUTH_REQUEST]

       . . . 

                    if (client_nat_test("3")) {

                        append_hf("P-hint:
route(AUTH_REQUEST)|setflag7,forcerport,fix_contact\r\n");

                        if (setbflag("7"))  {

                                xlog("L_INFO","[$ci]:[AUTH_REQUEST] :
setbflag(7)");

                        }

                        force_rport();

                        fix_contact();

                        xlog("L_INFO","[$ci]:[AUTH_REQUEST] :
CLIENT_NAT_TEST-3");

                    };

. . .

route(IN_TO_IN) 

 

 

route[IN_TO_IN]

       . .  .

       route(LOCAL_CALL)

. . .

 

 

route[LOCAL_CALL]

       . . .

 

        if (isbflagset("7") ) {

                xlog("L_INFO","[$ci]:[LOCAL_CALL] : flag 7 SET begin");

        } else {

                xlog("L_INFO","[$ci]:[LOCAL_CALL] : flag 7 NO SET
begin");

        }

 

 

 

        if ( !lookup("location") ) {

                if ( avp_check("$avp(s:4)", "eq/s:1/g") ) {

                        if( !avp_pushto("$br", "$avp(s:5)/g") ) {

                                sl_send_reply("403","Forbidden - Forward
Number NULL");

                                exit;

                        };

                        prefix("222");

                        route(TO_VOICEMAIL_NODISP);

                        exit;

                };

 

                if ( avp_check("$avp(s:3)", "eq/s:1/g") ) {

                        xlog("L_INFO", "[$ci]:[LOCAL_CALL]: $rm -
From:$fu ; To:$ru ; Call-ID:$ci ; Desde:$si - VOICEMAIL ON\n");

                        route(TO_VOICEMAIL_NODISP);

                        exit;

                } else {

                        sl_send_reply("480", "Usuario fuera de
Servicio");

                        xlog("L_INFO", "[$ci]:[LOCAL_CALL]: $rm -
From:$fu ; To:$ru ; Call-ID:$ci ; Desde:$si - VOICEMAIL OFF\n");

                        exit;

                };

        };

 

 

 

        if (isbflagset("7") ) {

                xlog("L_INFO","[$ci]:[LOCAL_CALL] : flag 7 SET end");

        } else {

                xlog("L_INFO","[$ci]:[LOCAL_CALL] : flag 7 NOT SET
end");

        }

 

. .  . 

 

For some reason in the route[LOCAL_CALL] the flagb "7" is changed from
"SET" to "NOT SET".  According to my debugs this unset is made in the
"lookup(location)" part. 

But I don't understand why.

Can someone help me here?

 

Thanks in advance,

 

Ricardo Martinez.-

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/users/attachments/20100118/0a442e5b/attachment-0001.htm>


More information about the Users mailing list