[OpenSIPS-Users] update location table on REGISTER request

Bogdan-Andrei Iancu bogdan at voice-system.ro
Fri Jun 19 09:37:47 CEST 2009


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 
> <bogdan at voice-system.ro <mailto:bogdan at voice-system.ro>> 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
>         Users at lists.opensips.org <mailto:Users at lists.opensips.org>
>         http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>          
>
>
>




More information about the Users mailing list