[OpenSIPS-Users] About pua_usrloc issues

Iñaki Baz Castillo ibc at aliax.net
Thu Dec 18 13:09:52 CET 2008


Hi, AFAIK the behaviour of pua_usrloc if the following:

1) alice registers.
2) pua_usrloc checks if alice was already registered, and discores
that it's his his first REGISTER so pua_usrloc generates a PUBLISH
with <basic>open</basic>.

3) alice sends a re-REGISTER.
4) pua_usrloc realizes that alice was already registered so pua_usrloc
generates an empty PUBLISH which just updates the "Expires" value
(according with the registration expiration).

5) alice un-registeres.
6) pua_usrloc sends a PUBLISH with empty body and "Expires: 0" so the
presence server will notify the expiration of this buddy to
subscribers.


I'm not totally sure about steps 2) and 4), but if I'm right I see a
problem in case the presentity status of alice is deleted from the
table "by any reason". In this case this will be NEVER solved since
pua_usrloc will remain generating empty PUBLISH, so the presence
server will reply error since there isn't a presentity entry for alice
and it cannot "update" the expiration.

It also occurs without the need of deleting the entry from presentity
table. I've detected this issue when registering the same AoR in a
device without presence and other device that sends PUBLISH (for this
seconf User-Agent I don't trigger pua_usrloc). As I said, in some
circunstances (not sure, but maybe when the device sends
<basic>closed</basic>) there will be an infinite issue (pua_usrloc
sends empty BYE while there is no presentity entry for this AoR).

Am I right? Thanks a lot.

-- 
Iñaki Baz Castillo
<ibc at aliax.net>


More information about the Users mailing list