[OpenSIPS-Users] update location table on REGISTER request

Uwe Kastens kiste at kiste.org
Wed Jun 17 13:03:05 CEST 2009


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
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users


-- 

kiste lat: 54.322684, lon: 10.13586



More information about the Users mailing list