When calling the disconnect() method, the Jabber API attempts to subscribe the server to the presence of Jabber username specified in the admin settings. Not only this is probably not necessary at all, but also it creates a notice because the server name, which should be firstname.lastname@example.org/resource, does not have a resource identifier. Therefore an explode('/') fails.
I think it's safe to remove the presence tracking at all. Subscribing the server to our user is unnecessary, and sending 'available' to the server during a disconnect() method is pointless (which is what happens after the subscribe attempt).
Pushing for peer review.