[OpenSIPS-Users] rl_check some pipe are missing.

Alain Bieuzent alain.bieuzent at free.fr
Tue Oct 13 11:53:57 EST 2020


Hi Razvan,

I confirmed that patch is working fine.

Thanks for the help.

Regards

Le 12/10/2020 14:38, « Users au nom de Alain Bieuzent » <users-bounces at lists.opensips.org au nom de alain.bieuzent at free.fr> a écrit :

    Hi Razvan, you are excused. ;)

    Will test it tonight

    thanks

    Le 12/10/2020 13:23, « Users au nom de Răzvan Crainea » <users-bounces at lists.opensips.org au nom de razvan at opensips.org> a écrit :

        Hi, Alain!

        Sorry for the late reply, has been hell of a few weeks for me, and I 
        didn't get any chance to check this out.
        I've just run a few tests and managed to pinpoint the issue, and also 
        create a fix for it. I've just pushed it in commit a66164811.
        Please pull the latest sources you're using and give it a try.

        Regarding the $rl_count variable, you are right, the counter is not 
        correctly printed. The reason is that the $rl_count variable does not 
        accept a formatted name: it only works with a string, or with a 
        variable. So available versions are:

        1. $rl_count($si) # OK
        2. $rl_count($si-real) # NOK - this will return the value of $rl_count($si)
        3. $var(name) = $si + "-real"; rl_count($var(name)) # OK

        Best regards,

        Răzvan Crainea
        OpenSIPS Core Developer
        http://www.opensips-solutions.com

        On 9/29/20 10:59 AM, Alain Bieuzent wrote:
        > Hi Răzvan !
        > 
        > Ok i'm trying to don't use rl_list but export the data from my script with rl_count().
        > 
        > I made a few test with this code :
        > 
        > rl_check("$si", 100, "TAILDROP");
        > rl_check("$si", 100, "TAILDROP");
        > xlog("L_NOTICE", "$si|$rl_count($si)");
        > 
        > rl_check("$si-real", 1000, "TAILDROP");
        > xlog("L_NOTICE", "$si-real|$rl_count($si-real)");
        > 
        > rl_check("real-$si", 1000, "TAILDROP");
        > xlog("L_NOTICE", "real-$si|$rl_count(real-$si)");
        > 
        > the output is :
        > 
        > Sep 29 09:36:53 lbsip-test opensips[8618]: 185.101.180.36|2
        > Sep 29 09:36:53 lbsip-test opensips[8618]: 185.101.180.36-real|2
        > Sep 29 09:36:53 lbsip-test opensips[8618]: real-185.101.180.36|<null>
        > 
        > The first line (for $si) is correct,
        > the second line (for si-real) is wrong because counter =2 but we call rl_check("$si-real", only one time.
        > The third is wrong also because value is null
        > 
        > But if at the same time we run rl_list from opensips-cli, no value are missing and all counter are correct !!
        > 
        > root at lbsip-test  /usr/local/etc/opensips  opensips-cli -x mi rl_list
        > {
        >      "Pipes": [
        >          {
        >              "id": "185.101.180.36",
        >              "algorithm": "TAILDROP",
        >              "limit": 100,
        >              "counter": 2
        >          },
        >          {
        >              "id": "185.101.180.36-real",
        >              "algorithm": "TAILDROP",
        >              "limit": 1000,
        >              "counter": 1
        >          },
        >          {
        >              "id": "real-185.101.180.36",
        >              "algorithm": "TAILDROP",
        >              "limit": 1000,
        >              "counter": 1
        >          }
        >      ],
        >      "drop_rate": 0
        > }
        > 
        > Thanks
        > 
        > Le 28/09/2020 09:43, « Users au nom de Răzvan Crainea » <users-bounces at lists.opensips.org au nom de razvan at opensips.org> a écrit :
        > 
        >      Hi, Alain!
        > 
        >      One thing that I can think of is that the commands you are running (both
        >      from script and from MI) are not atomic - this means that from the time
        >      you run rl_list, until the time the last one gets executed, new pipes
        >      might appear/disappear. So it is almost impossible to get an accurate
        >      "snapshot".
        >      I don't have other ideas, but it's worth taking this into account.
        > 
        >      Best regards,
        > 
        >      Răzvan Crainea
        >      OpenSIPS Core Developer
        >      http://www.opensips-solutions.com
        > 
        >      On 9/23/20 10:47 AM, Alain Bieuzent wrote:
        >      > Hello all,
        >      >
        >      > Do we need more info ?
        >      >
        >      > Someone can help me ?
        >      >
        >      > Thanks
        >      >
        >      > *De : *Users <users-bounces at lists.opensips.org> au nom de Alain Bieuzent
        >      > <alain.bieuzent at free.fr>
        >      > *Répondre à : *OpenSIPS users mailling list <users at lists.opensips.org>
        >      > *Date : *lundi 21 septembre 2020 à 10:18
        >      > *À : *<users at lists.opensips.org>
        >      > *Objet : *[OpenSIPS-Users] rl_check some pipe are missing.
        >      >
        >      > Hi All,
        >      >
        >      > We are using ratelimit module with opensips 3.0.3.
        >      >
        >      > Since we migrate from 2.4.7 to 3.0.3, the data export with opensips-cli
        >      > are strange, there is some data missing.
        >      >
        >      > For example we put this rl_check at the same part of the code (to
        >      > exclude an issue with $avp(cps), with add 2 more check with a fix value)
        >      >
        >      >      rl_check("IP-$si", $(avp(cps){s.int}), "TAILDROP");
        >      >
        >      >      rl_check("IP2-$si",9999 , "TAILDROP");
        >      >
        >      >      rl_check("IP3-$si",10000 , "TAILDROP");
        >      >
        >      > when we export the value with opensips cli, we don’t have the same
        >      > number of pipe :
        >      >
        >      > opensips-cli -x mi rl_list | grep IP- | wc -l &&  opensips-cli -x mi
        >      > rl_list | grep IP2- | wc -l && opensips-cli -x mi rl_list | grep IP3- |
        >      > wc -l
        >      >
        >      > 111
        >      >
        >      > 121
        >      >
        >      > 145
        >      >
        >      > Any idea ?
        >      >
        >      > Thanks
        >      >
        >      > _______________________________________________ Users mailing list
        >      > Users at lists.opensips.org
        >      > http://lists.opensips.org/cgi-bin/mailman/listinfo/users
        >      >
        >      >
        >      > _______________________________________________
        >      > Users mailing list
        >      > Users at lists.opensips.org
        >      > http://lists.opensips.org/cgi-bin/mailman/listinfo/users
        >      >
        > 
        >      _______________________________________________
        >      Users mailing list
        >      Users at lists.opensips.org
        >      http://lists.opensips.org/cgi-bin/mailman/listinfo/users
        > 
        > 
        > 
        > _______________________________________________
        > Users mailing list
        > Users at lists.opensips.org
        > http://lists.opensips.org/cgi-bin/mailman/listinfo/users
        > 

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



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





More information about the Users mailing list