Hi Schneur,

I was asking as maybe you could took advantage of the "load_credentials" option in auth_db module:
http://www.opensips.org/html/docs/modules/1.11.x/auth_db.html#id293578
where you can load (during digest auth) extra columns from the subscriber table during the query for loading the passwd.

Best regards,

Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
http://www.opensips-solutions.com

On 05.09.2015 02:25, Schneur Rosenberg wrote:


No, I created 2 tables, one has a record for each device and to what account code they belong to, 2nd table lists every account code and how many simultaneous calls they can make, then I just run a query to get account code and maximum concurrent calls allowed for the account code the query obviously is a perfect candidate for memcaching because the info rarely changes so I run cache_fetch before running the query.

This allows me to limit the channels on an account and not just on a single device, for a virtual PRI setting.

Here is the simple query "select dev.username, ent.chLimit from custom_deviceToEnterprise as dev, custom_enterpriseConcurrent as ent where dev.username='$fU' and dev.enterprise=ent.enterprise;"

1st table

CREATE TABLE `custom_deviceToEnterprise` (

  `id` bigint(20) NOT NULL AUTO_INCREMENT,

  `username` varchar(50) NOT NULL,

  `enterprise` varchar(50) NOT NULL,

  PRIMARY KEY (`id`)

)

2nd table

CREATE TABLE `custom_enterpriseConcurrent` (

  `id` bigint(20) NOT NULL AUTO_INCREMENT,

  `enterprise` varchar(25) NOT NULL,

  `chLimit` varchar(5) NOT NULL,

  PRIMARY KEY (`id`)

)

▶ Show quoted text

On Sep 4, 2015 6:42 AM, "Bogdan-Andrei Iancu" <[email protected] <mailto:[email protected]>> wrote:

    Hi Schneur,

    Do you originally load the limit from the subscriber table ?

    Best regards,

    Bogdan-Andrei Iancu
    OpenSIPS Founder and Developer
    http://www.opensips-solutions.com

    On 04.09.2015 12:36, Schneur Rosenberg wrote:

    I limit mine on account and I used memcache to store the limits
    because its not something that changes on a constant basis, so it
    only does a db query maximum once a hour per device.

    On Sep 4, 2015 4:52 AM, "Bogdan-Andrei Iancu"
    <[email protected] <mailto:[email protected]>> wrote:

        Hi Terrance,

        That check is not expensive as it is done in memory cache
        (the "address" table is cached at startup).

        Regards,

        Bogdan-Andrei Iancu
        OpenSIPS Founder and Developer
        http://www.opensips-solutions.com

        On 03.09.2015 21:42, Terrance Devor wrote:

            Lovely!

            For those that need to limit concurrent call on OpenSIPS,
            here is the solution:

            route[limit] {
                    set_dlg_profile("ip","$si");
            get_profile_size("ip","$si","$var(calls)");
            check_address("0","$si","$sp","$proto","$avp(ctx)");
                    xlog("$avp(ctx)\n");
                    xlog("L_INFO","Customer IP $si has $var(calls)
            concurrent calls, and limit is 12\n");

                    if($var(calls)>$avp(ctx)) {
                            xlog("Customer IP $si exceeded number of
            calls $var(calls)/12\n");
                            send_reply("486", "Busy here, channel
            limit exceeded.");
                            exit;
                    }
            }

            Bogdan, how expensive is
            `check_address("0","$si","$sp","$proto","$avp(ctx)")`?

            Terrance



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



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



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

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

Reply via email to