[SR-Users] unregister user when kamailio looses TCP connection.

Vitaliy Aleksandrov vitalik.voip at gmail.com
Thu Sep 5 09:27:37 CEST 2013


This patch has a bug which leads to false contact removal.

This happens when UA reconnects to a proxy from the same src port and 
sends new REGISTER with the same Contact. In that case kamailio updates 
an existing contact and I forgot to update tcp connection id in the 
ucontact_t object.

I've fixed this bug in my production system (kamailio-3.2) and it works 
well.
The patch for 4.0.3 will be ready tonight.
> Hello,
>
> I applied your patches with some changes. There is no need to store 
> tcp connection id in other structure in the core, it is stored in 
> msg->rcv.proto_reserved1.
>
> You have to add the documentation for the new usrloc parameter, in xml 
> files from modules/usrloc/doc/ - send over the patch and I will commit 
> it as well.
>
> Cheers,
> Daniel
>
> On 8/29/13 12:47 PM, Vitaliy Aleksandrov wrote:
>> Thanks community for all replies.
>>
>> I did the second try. Result is in the attachment.
>>
>> This time a did it in the way proposed by Daniel-Constantin Mierla.
>> All job is done in timer process when it iterates through all 
>> registrations looking for expired ones.
>>
>> It works for all database modes except DB_ONLY.
>>
>> I'm not sure about tcpconn_get() / tcpconn_put() functions. 
>> tcpconn_get() increments ref counter, but there are several function 
>> to decrement it: tcpconn_put(), tcpconn_chld_put() and 
>> atomic_dec_and_test(). When I was looking for examples in other 
>> modules I saw that tcp_read.c uses tcpconn_chld_put(), but forward.h 
>> and msg_translator.c uses only tcpconn_get() without decrementing ref 
>> counter at all.
>>
>> It would be great if somebody more experienced shed some light on this.
>>
>>
>>
>>
>>
>> _______________________________________________
>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
>> sr-users at lists.sip-router.org
>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>
> -- 
> Daniel-Constantin Mierla -http://www.asipto.com
> http://twitter.com/#!/miconda  -http://www.linkedin.com/in/miconda
> Kamailio Advanced Trainings - Berlin, Oct 21-24; Miami, Nov 11-13, 2013
>    - more details about Kamailio trainings athttp://www.asipto.com  -

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20130905/c7b870e1/attachment.html>


More information about the sr-users mailing list