[OpenSIPS-Users] usrloc expiring location record from different registrar after startup

Bogdan-Andrei Iancu bogdan at voice-system.ro
Tue Dec 1 22:28:15 CET 2009


Hi Henk,

Reviewing your scenario (in db_only mode):

T1 - registrar A restarts, finds UA registration inserted by registrar B
       with expiry time T3, prints "non-local socket ... ignoring" message
T2 - UA registers again with registrar B, sets expiry time to *after* T3
T3 - registrar A deletes record for UA


please check:
- after T1, you have a single record for user in the location table 
(inserted by A)
- after T2, do you have 2 records for the user (with different contacts) 
or the existing one is updated ?
- after T3 - I understand all the records for the user are removed, right ?

can you make a capture of the sql queries on the mysql server (to see 
what queries - location related- are run by each server).

I'm asking for all this because, following the code, I cannot "see" the 
behaviour you describe - maybe I miss something or maybe there is a bug 
somewhere.

Regarding the other db modes, note they do not work (by design) with 
shared dbs.

May be a useless note, but take care to have sync times on both servers 
(A and B) !

Regards,
Bogdan


Henk Hesselink wrote:
> Hi Bogdan,
>
> Did you make the patch?
>
> Regards,
>
> Henk
>
>
> Bogdan-Andrei Iancu wrote:
>   
>> Hi Henk,
>>
>> Yes, I'm aware of this issue with the db_only mode - I will prepare a
>> fixing patch for monday, so if you could test it, it will be great!
>>
>> Thanks and regards,
>> Bogdan
>>
>> Henk Hesselink wrote:
>>     
>>> Hi all,
>>>
>>> We have several OpenSIPS registrars writing to one location table.
>>> When one of the registrars restarts it logs a lot of the following:
>>>
>>> WARNING:usrloc:dbrow2info: non-local socket<udp:XXXX:5060>...ignoring
>>>
>>> which I believe we can ignore.  But it then deletes all those non-local
>>> entries at the 'expires' time that was in the database at the time of
>>> the restart.  So:
>>>
>>> T1 - registrar A restarts, finds UA registration inserted by registrar B
>>>        with expiry time T3, prints "non-local socket ... ignoring" message
>>> T2 - UA registers again with registrar B, sets expiry time to *after* T3
>>> T3 - registrar A deletes record for UA
>>>
>>> After T3 the registration for UA never reappears because its register
>>> requests cause registrar B to do an update for a non-existent record.
>>> This seems wrong, or am I missing something?
>>>
>>> Thanks,
>>>
>>> Henk
>>>
>>> _______________________________________________
>>> Users mailing list
>>> Users at lists.opensips.org
>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>>
>>>
>>>       
>>     
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>
>   


-- 
Bogdan-Andrei Iancu
www.voice-system.ro




More information about the Users mailing list