I see....Ideally we could allow control append_branch per user, but not possible right now.
What can be done is to allow append_branch for all of them and to simply purge the added branches for the users with only one contact registration. If it is a hack, use serialize_branches() function to delete the additional branches added by lookup(location) (actually the function moves the branches in some AVPS, but the important part is that the branches are cleaned :) ). Regards, Bogdan Jayesh Nambiar wrote: > Thank you Bogdan, for the correct approach explained. > But the append branch then applies to all users right? What i was > trying to do here was: > 1) Allow some basic users to have only one registration contact possible. > 2) Allow premium users to have as many contacts possible and receive > calls on any of the location. > > Based upon certain conditions can i increase the append branch > parameter after looking up location and before relaying !!! > Just a thought. > > --- Jay > > On Fri, Jun 19, 2009 at 12:38 PM, Bogdan-Andrei Iancu > <[email protected] <mailto:[email protected]>> wrote: > > HI Jayesh, > > What you could do is to accept 2-3 registrations, but to actually > use the last one only. > > So set the mac_contacts to 2 or 3, the append_branches to 0 (to > use only one contact) and in usrloc module set desc_time_order to > 1 > (http://www.opensips.org/html/docs/modules/1.5.x/usrloc.html#id266565) > to sort contacts based on the registration time (first used will > be the last registered) > > Regards, > Bogdan > > Jayesh Nambiar wrote: > > Hi All, > I had a requirement of allowing only one registration per user > in a particular scenario. I did not want to use the > max_contacts parameter of registrar module as it wont work > right !!! The drawback was: > If device A had registered successfully and for some reason > got disconnected from the internet, the device won't > unregister itself. Opensips still has the record in the > location table for that device, now if the internet comes back > and when the device tries to register again, opensips will not > allow since it already has the record in the location. > The device will have to wait until the earlier registration > expires in the opensips. > The idea was to have a way of updating the location table if > same user is trying to REGISTER from same location or > different location. Meaning if user A is registered from > location A and someone else using same credentials of user A > tries to register from location B, the location table should > only update the earlier record to location B and not keep > location A and location B both for user A. > > Is there a way to do this. Any help will be highly appreciiated. > > Thanks in advance. > > --- Jay > > ------------------------------------------------------------------------ > > _______________________________________________ > 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
