[OpenSER-Users] concurrent call limit per user / customer
Ovidiu Sas
osas at voipembedded.com
Thu Jun 12 19:37:40 CEST 2008
You can limit per contract. Check if the user belongs to a contract
and then perform contract profiling instead of caller/callee
profiling. That's the big thing about OpenSER: very flexible config.
Regards,
Ovidiu Sas
On Thu, Jun 12, 2008 at 1:01 PM, Patrick Miccio <patrick.miccio at inode.at> wrote:
> Hi,
>
> that sounds promising, I like the 2nd example, limiting calls to PSTN is the idea.
>
> The only problem is that OpenSER does only know about username/uuid, you cannot control if a customer with 1 contract
> uses 2 or more usernames. Then again we could limit calls based on the source IP, but customers can have more than 1
> contract. . .
>
>
> I thought about saving it in the usr_preferences somewhat like this:
>
>
> +--------+------------+--------+-----------+------+-------+---------------------+
> | uuid | username | domain | attribute | type | value | modified |
> +--------+------------+--------+-----------+------+-------+---------------------+
> | 109357 | 0123456789 | | 100 | 2 | 1234 | 2008-06-09 18:09:37 |
> | 109357 | 0123456789 | | 101 | 3 | 10 | 2008-06-09 18:09:37 |
> | 102826 | 0987654321 | | 100 | 2 | 1234 | 2008-06-09 18:09:37 |
> | 102826 | 0987654321 | | 101 | 3 | 10 | 2008-06-09 18:09:37 |
>
>
> this way you could have different uuids, but a common value of for example here 1234, and use that to identify the
> caller/contract.
>
>
>
> cheers,
>
> Patrick.
>
>
>
>> Hi Patrick,
>>
>> Take a look at the dialog module and dialog profiling support - I think
>> it will help you:
>> http://lists.openser.org/pipermail/users/2008-June/017710.html
>>
>> There is even an example similar to what you want to do.
>>
>> Regards,
>> Bogdan
>>
>> Patrick Miccio wrote:
>> > Hi @ all,
>> >
>> > I was wondering if anyone of you guys already implemented a system where one could limit the maximum number of
>> > concurrent calls? With ISDN-terminaladapters or analog-telefon-adapters it is no problem because the hardware
>> > itself is the limiting device, but with the growing amount of IP PBXs the need becomes obvious.
>> >
>> > I am playing with the thought of writing something myself, but I am more a copy&paste programmer, so it will take
>> > quite some time :D
>> >
>> > Maybe someone here likes the idea?
>> >
>> >
>> >
>> > Here are my thoughts of how a module could provide a simple functionality:
>> >
>> > INVITE: check
>> > 200 OK: create
>> > Re-INVITE: update
>> > BYE: delete
>> >
>> > must provide:
>> >
>> > create_call()
>> > update_call()
>> > delete call()
>> > check_limit()
>> >
>> > create must save uuid,from,to,callid,timestamp in DB, from/to just for human readability ;)
>> >
>> > update must update timestamp with uuid/callid match ( we enforce 300sec re-invite call refresh )
>> >
>> > delete must delete the DB entry with uuid/callid match
>> >
>> > check must count DB entries with uuid match and return amount of active calls.
>> >
>> >
>> > cheers,
>> >
>> > Patrick.
>> >
>> > _______________________________________________
>> > Users mailing list
>> > Users at lists.openser.org
>> > http://lists.openser.org/cgi-bin/mailman/listinfo/users
>> >
>> >
>>
>
> _______________________________________________
> Users mailing list
> Users at lists.openser.org
> http://lists.openser.org/cgi-bin/mailman/listinfo/users
>
More information about the Users
mailing list