I think that all these problems are due to slow access (or inaccessible) XCAP server from SER machine.
That was absolutely right, thanks! I didn't realize that the interface lo (localhost) was down, so SER hasn't able to access the web server because those services are on the same machine.
The Presence Agent is now working, the clients have access to the presence status of each other. Changes on the presence status of one client reflects on the GUI of the other clientes.
But I'm getting some warnings on SER log: WARN: rls_handler.c:326: can't refresh unknown subscription
Each client initialy SUBSCRIBE to event presence, presence.winfo and "sip-profile;profile-typeapplication;app-id=resource-lists", the last one not supported by SER and not renewed anymore.
On ser.cfg I have: modparam("pa", "accept_internal_subscriptions", 0)
Despite the Presence Agent being apparently working, when one client A changes his presence state to other state than Available (and sends a PUBLISH Event:presence to SER containing application/pidf+xml with the new state), the other clients that have subscribed to presence event of client A receive a NOTIFY with the client's A new presence state BUT the subsequent NOTIFYs don't include that state anymore and thus the other clients show client A as Available when he's not.
May it be because the client's A PUBLISH only include application/pidf+xml when client A changes presence state? Subsequent PUBLISH send to SER don't include a message body.
But I'm getting some warnings on SER log: WARN: rls_handler.c:326: can't refresh unknown subscription
It is no problem if you have in config file something like this:
if (method=="SUBSCRIBE") { ... if (@to.tag=="") { ... } else { if (!handle_rls_subscription("0")) { lookup_user("To"); handle_subscription("registrar"); } }
This means that SUBSCRIBE requests with nonempty to tag (renewal subscriptions) are handled by RLS module first and if it fails (for example the subscription doesn't exist) it is handled by PA. In the case of unexisting resource list subscription it shows this warning.
Each client initialy SUBSCRIBE to event presence, presence.winfo and "sip-profile;profile-typeapplication;app-id=resource-lists", the last one not supported by SER and not renewed anymore.
On ser.cfg I have: modparam("pa", "accept_internal_subscriptions", 0)
Despite the Presence Agent being apparently working, when one client A changes his presence state to other state than Available (and sends a PUBLISH Event:presence to SER containing application/pidf+xml with the new state), the other clients that have subscribed to presence event of client A receive a NOTIFY with the client's A new presence state BUT the subsequent NOTIFYs don't include that state anymore and thus the other clients show client A as Available when he's not.
May it be because the client's A PUBLISH only include application/pidf+xml when client A changes presence state? Subsequent PUBLISH send to SER don't include a message body.
Could you send network dump of such messages?
Vaclav