[OpenSIPS-Users] update location table on REGISTER request

Uwe Kastens kiste at kiste.org
Wed Jun 17 21:47:48 CEST 2009


Hi,

ok. good point in a high traffic env.

The same thing may work if you build a binary which works with the
ul_delete_urecord(domain, aor)
(http://www.opensips.org/html/docs/modules/1.5.x/usrloc.html) and call
it each time a user registers.

BR

uwe


Jayesh Nambiar schrieb:
> Hi Uwe,
> This will not work well if i use db_mode as 2 in the usrloc module.
> db_mode 1 does lot of DB queries !!!
> 
> --- Jay
> 
> On Wed, Jun 17, 2009 at 4:33 PM, Uwe Kastens <kiste at kiste.org
> <mailto:kiste at kiste.org>> wrote:
> 
>     Hi,
> 
>     You could solve this by working with AVP and sql. The idea could be:
> 
>     if (method=="REGISTER"){
>     Authentication goes here
>     $avp(s:user)=$aU;
>     avp_db_query("select count() from location where
>     username='$avp(s:user)'","var(x)");
> 
>     if var(x) > 0 {
>     avp_db_query("delete from location where username='$avp(s:user)'");
>     }
> 
>     save("location");
>     Untested!
> 
>     BR
> 
>     Uwe
>     Jayesh Nambiar schrieb:
>     > 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
> 
> 
>     --
> 
>     kiste lat: 54.322684, lon: 10.13586
> 
> 


-- 

kiste lat: 54.322684, lon: 10.13586



More information about the Users mailing list