OK, let's do a "back to school" when comes to binary representation and ops

Decimal 15 (what you set for initial) is 1111, so all bits (index 0-3) are set to 1, to true. So, when you set (to value 1) the gflag with idx "1" , nothing will be actually changed as it is already 1 :P

Regards,

Bogdan-Andrei Iancu

OpenSIPS Founder and Developer
  https://www.opensips-solutions.com
OpenSIPS Bootcamp 5-16 Dec 2022, online
  https://www.opensips.org/training/OpenSIPS_eBootcamp_2022/

On 10/27/22 7:05 PM, Saint Michael wrote:
this code does not seem to work: I set the initial value to 15, inside
opensips.cfg
modparam("gflags", "initial", 15)

Then:
/usr/local/bin/opensips-cli -x mi set_gflag 1
"OK"
/usr/local/bin/opensips-cli -x mi get_gflags
{
     "hex": "0xF",
     "dec": "15"
}

Maybe I am not following the whole thing. I apologize.
I imagine that we have a 32 bit field, and we set a bit to 1 for bits 0..31.

On Thu, Oct 27, 2022 at 11:32 AM Bogdan-Andrei Iancu
<bog...@opensips.org> wrote:
Ok, docs fixed, thanks Karsten for spotting the error [0]

Michael, that;s right, if the gflag is set, just reject the code with
503 Service Unavailable . You also may consider adding a Retry-After
header [1] using the append_to_reply() function.

[0]
https://github.com/OpenSIPS/opensips/commit/5945746b09b480dd0b7f8ea4b3584e4521bdac3a
[1] https://www.ietf.org/rfc/rfc3261.html#section-20.33
[2]
https://opensips.org/html/docs/modules/3.2.x/sipmsgops.html#func_append_to_reply

Regards,

Bogdan-Andrei Iancu

OpenSIPS Founder and Developer
    https://www.opensips-solutions.com
OpenSIPS Bootcamp 5-16 Dec 2022, online
    https://www.opensips.org/training/OpenSIPS_eBootcamp_2022/

On 10/27/22 4:15 PM, Saint Michael wrote:
YES
Maybe we should fix the documentation?
now the real question is, what goes inside the bracket if the flag
value matches, to reject the call:
I propose
{
sl_send_reply(503,"Declined");
                          exit;
}


On Thu, Oct 27, 2022 at 9:04 AM Karsten Wemheuer <k...@gmx.de> wrote:
Hi,

I am not familiar with the gflags module, but

Am Donnerstag, dem 27.10.2022 um 08:39 -0400 schrieb Saint Michael:
for testing I added
route{
if (is_gflag("1")) {
                  t_relay("udp:10.0.0.1:5060");
          } else {
                  t_relay("udp:10.0.0.2:5060");
          }
I think, You should remove the quotes around the "1".

I think, the example in the docs may be wrong (Your code was from the
docs, I think). See section 1.4.3, where
          if(is_gflag(4))
is written.

HTH,

Karsten



_______________________________________________
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


_______________________________________________
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

Reply via email to