[SR-Users] pua_usrloc, PUBLISH not send when contact is deleted or expires

Giacomo Vacca Giacomo.Vacca at truphone.com
Wed Jan 18 12:50:04 CET 2012


Thanks Daniel,

> can you switch to nightly builds from branch 3.2 just to be sure it is not related to something that was fixed since 3.2.0 was released?

I've switched and now have installed 3.2.1, and moved to sqlite too.
I've spent some time to verify a change in behaviour, but I'm observing the same.
Registering with a different device (e.g. sipp) gives the same result.


> db_text is not really suitable for dealing with large data and write to disk when the sip server is shut down, maybe it is better to use db_sqlite for this case, at least you can check the content of the db table with sqlite tools.

My current goal is a proof of concept so I'm not concerned about performances - am I right in thinking that the problem in finding the presentity in pua's hash table is independent from the DB usage, or may it have an impact?

Cheers,
Giacomo


From: Daniel-Constantin Mierla [mailto:miconda at gmail.com]
Sent: 18 January 2012 10:25
To: SIP Router - Kamailio (OpenSER) and SIP Express Router (SER) - Users Mailing List
Cc: Giacomo Vacca
Subject: Re: [SR-Users] pua_usrloc, PUBLISH not send when contact is deleted or expires

Hello,

On 1/18/12 10:53 AM, Giacomo Vacca wrote:
Hi all,
I've made a clean installation of kamailio 3.2.0 from 'http://deb.kamailio.org/kamailio32 squeeze main'
repository, on a squeeze debian machine (2.6.32-5-686).
can you switch to nightly builds from branch 3.2 just to be sure it is not related to something that was fixed since 3.2.0 was released? The repo are listed at:

http://www.kamailio.org/wiki/packages/debs#kamailio_32_-_nightly_builds

db_text is not really suitable for dealing with large data and write to disk when the sip server is shut down, maybe it is better to use db_sqlite for this case, at least you can check the content of the db table with sqlite tools.

Cheers,
Daniel




Installed also kamailio-presence-modules, same version.

I'm just using the default kamailio.cfg that comes with the package, with these minimal additions:

loadmodule "db_text.so"
loadmodule "pua.so"
loadmodule "pua_usrloc.so"

...

modparam("pua", "db_url", "text:///usr/share/kamailio/dbtext/kamailio")
modparam("pua_usrloc", "default_domain", "192.168.142.130")

Inside the registration management logic I've added pua_set_publish() right before saving the location:

route[REGISTRAR] {
        if (is_method("REGISTER"))
        {
...
                pua_set_publish();

                if (!save("location"))
                        sl_reply_error();

                exit;
        }
}

When I first register (XLite 4.1 for Windows), pua_usrloc correctly gets the callback and is able to generate a PUBLISH request through pua.

But when there's an un-registration, or when the contact expires, even if the callbacks are correctly fired, the PUBLISH (which I'd expect with status 'closed') is not generated.



More information about the sr-users mailing list