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 <[EMAIL PROTECTED]> 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 >> > [email protected] >> > http://lists.openser.org/cgi-bin/mailman/listinfo/users >> > >> > >> > > _______________________________________________ > Users mailing list > [email protected] > http://lists.openser.org/cgi-bin/mailman/listinfo/users > _______________________________________________ Users mailing list [email protected] http://lists.openser.org/cgi-bin/mailman/listinfo/users
