Hello,
In the example for a dual-stack IPv6/IPv4 Kamailio setup here: https://kb.asipto.com/kamailio:kamailio-mixed-ipv4-ipv6 the "FLB_IPV6" flag is being sent on IPv6 registrations. Why set this flag on IPv6 registrations? If I understand correctly, registration requests never make it beyond !save("location so it's not like the flag can be used further in the dial-plan.
The code in question:
route[REGISTRAR] { if (is_method("REGISTER")) { if(isflagset(FLT_NATS)) { setbflag(FLB_NATB); # uncomment next line to do SIP NAT pinging ## setbflag(FLB_NATSIPPING); } if(af==INET6) setbflag(FLB_IPV6); if (!save("location")) sl_reply_error();
exit; } }
Any help is appreciated.
Thanks
Hi Isaac,
Not all flags are explicitly used elsewhere in the logic of a config; some are used to convey information to modules.
In this case:
modparam("nathelper", "sipping_bflag", FLB_NATSIPPING)
https://kamailio.org/docs/modules/5.1.x/modules/nathelper.html#nathelper.p.s...
In other words, if this branch flag is set, this Contact will be marked by the nathelper module for periodic pinging via OPTIONS or INFO[1]. The purpose of this periodic server-side pinging is to keep NAT pinholes alive.
-- Alex
[1] https://kamailio.org/docs/modules/5.1.x/modules/nathelper.html#nathelper.p.s...
On Thu, Oct 25, 2018 at 07:35:48AM -0700, Isaac wrote:
Hello,
In the example for a dual-stack IPv6/IPv4 Kamailio setup here: https://kb.asipto.com/kamailio:kamailio-mixed-ipv4-ipv6 the "FLB_IPV6" flag is being sent on IPv6 registrations. Why set this flag on IPv6 registrations? If I understand correctly, registration requests never make it beyond !save("location so it's not like the flag can be used further in the dial-plan.
The code in question:
route[REGISTRAR] { if (is_method("REGISTER")) { if(isflagset(FLT_NATS)) { setbflag(FLB_NATB); # uncomment next line to do SIP NAT pinging ## setbflag(FLB_NATSIPPING); } if(af==INET6) setbflag(FLB_IPV6); if (!save("location")) sl_reply_error(); exit; } }
Any help is appreciated.
Thanks
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Right. However, in this case I didn't think the "FLB_IPV6" flag was being used by any modules. I did some research and came across this on https://www.kamailio.org/dokuwiki/doku.php/utils:flags
"branch flags - (NEW) are saved also in transaction, but per branch; also they will be saved in usrloc (per contact). A new set of functions were added for manipulating these flags from script. So, there flags will be registration persistent and branch persistent."
I don't see anything in the register module that could be used to extract flags from usrloc so I simply added this to the dial-plan but it didn't return true.
if(isflagset(FLB_IPV6)) { xlog("L_WARN","FLB_IPV6 WAS SET! \n");
}
Thanks
On 10/25/2018 8:04 AM, Alex Balashov wrote:
Hi Isaac,
Not all flags are explicitly used elsewhere in the logic of a config; some are used to convey information to modules.
In this case:
modparam("nathelper", "sipping_bflag", FLB_NATSIPPING) https://kamailio.org/docs/modules/5.1.x/modules/nathelper.html#nathelper.p.sipping_bflag
In other words, if this branch flag is set, this Contact will be marked by the nathelper module for periodic pinging via OPTIONS or INFO[1]. The purpose of this periodic server-side pinging is to keep NAT pinholes alive.
-- Alex
[1] https://kamailio.org/docs/modules/5.1.x/modules/nathelper.html#nathelper.p.s...
On Thu, Oct 25, 2018 at 07:35:48AM -0700, Isaac wrote:
Hello,
In the example for a dual-stack IPv6/IPv4 Kamailio setup here: https://kb.asipto.com/kamailio:kamailio-mixed-ipv4-ipv6 the "FLB_IPV6" flag is being sent on IPv6 registrations. Why set this flag on IPv6 registrations? If I understand correctly, registration requests never make it beyond !save("location so it's not like the flag can be used further in the dial-plan.
The code in question:
route[REGISTRAR] { if (is_method("REGISTER")) { if(isflagset(FLT_NATS)) { setbflag(FLB_NATB); # uncomment next line to do SIP NAT pinging ## setbflag(FLB_NATSIPPING); } if(af==INET6) setbflag(FLB_IPV6); if (!save("location")) sl_reply_error(); exit; } }
Any help is appreciated.
Thanks
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users