Entity Capabilities

Support for JEP-115 (Entity Capabilities) has just hit the Psi mainline development branch. This doesn’t mean much to the user, except that it can display the client version of contacts without the burst of client-version queries each time you connect. However, there is still the overhead of the extra tag in every presence packet sent and received, but stream compression (either through TLS or using JEP-138) should take care of this in the future. JEP-115 also describes a server optimization to reduce traffic, but as far as we know, no server implements this. We hope that if more clients start supporting entity capabilities, the servers will follow as well.

Our current JEP-115 implementation persistently caches both the discovered features and the client version/name to disk, such that a minimum of querying (mostly none at all) is necessary. The client name and version is used in contact tooltips and user info dialogs. The discovered features themselves are not yet used in the mainline development branch, although they are used in the Jingle branch to discover VoIP capability (and enable the “Voice Call” buttons). Server optimization detection is still left out, so we send caps information with every outgoing presence packet, but server optimization in the other direction should work fine. Servers actually implementing the optimization would be a good incentive for us to support it ;)

Tags: , ,

Leave a Reply