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 <[email protected]> _______________________________________________ Users mailing list [email protected] http://lists.opensips.org/cgi-bin/mailman/listinfo/users
