[SR-Users] Bug: Pua_reginfo
Gnaneshwar Gatla
GGatla at InTouchHealth.com
Thu May 10 03:03:32 CEST 2012
Hello,
I have noticed that user records were not being correctly saved in the location table.
I have tried to fix this will the attached code.
This would fix reginfo_handle_notify() to store the user-record in the right format.
This fixes part of the problem, I'm still trying to fix the incorrect uri in the PUBLISH message generated by this module.
Regards,
Gnaneshwar Gatla | InTouch Health | Software Developer
6330 Hollister Ave. Goleta CA, 93117 | P: 805.562.8686 ext: 199
From: Gnaneshwar Gatla
Sent: Tuesday, May 08, 2012 4:58 PM
To: SIP Router - Kamailio (OpenSER) and SIP Express Router (SER) - Users Mailing List
Cc: Carsten Bock (carsten at ng-voice.com)
Subject: Bug: Pua_reginfo
Hello all,
There seems to be an deadlock between registrar and pua_reginfo module whenever a SIP client refreshes its registration.
1. The pua_reginfo does not publish Event:reg when a sip client registers for the first time.
2. The pua_reginfo module does not use ul.lock_udomain() to lock the ul table to get the record.
3. The pua_reginfo does not release the record that it accessed from ul.get_urecord()
Since the record is not released, when the client re-registers, the registrar module is unable to query for the userlocation and sends a 200 OK response with 0 bindings.
Which leads to no contact header in the response message and eventually deletion of the record in the location table(expires).
I have tried to fix this using lock_udomain, release_urecord and unlock_udomain, but failed to rectify the error.
The deadlock happens in modules_k/usrloc/udomain.c (db_load_urecord()).
if (ul_dbf.query(_c, keys, 0, vals, columns, (use_domain)?2:1, 13, order,
&res) < 0)
My Question:
1. is pua_reginfo supposed to delete record from location database and send the same data to a presence server?
a. If above is true, then should the registrar module insert a new record in the location table?
b. If above is false, the registrar module should be able to refresh/update the record in the location table.
This error is also impacts pua_usrloc module too as it cannot access the record and sends creates an incorrect uri.
Help:
I'm new and learning how Kamailio works, is there a clean way that pua_reginfo module gets the record?
Gnaneshwar Gatla | InTouch Health | Software Developer
6330 Hollister Ave. Goleta CA, 93117 | P: 805.562.8686 ext: 199
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20120509/1fda00d6/attachment-0001.htm>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: usrloc_cb.txt
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20120509/1fda00d6/attachment-0002.txt>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: notify.txt
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20120509/1fda00d6/attachment-0003.txt>
More information about the sr-users
mailing list