You are here

Ad-Hoc Commands

As a client developer, while implementing a XEP, I often encounter problems with missing or incomplete server support. I guess this is inevitable in a client-server environment with distributed development.

PEP support was added to Coccinella while Magnus wrote the patch to ejabberd, and finally applied it to Since Ad-Hoc Commands are so much older I expected better compliance. A few cases: Although not strictly an Ad-Hoc issue, I found that an IRC service is still using xmlns='jabber:x:conference'! This protocol I removed several years ago. Also noted that when I cancel an Ad-Hoc session prematurely (sect. 2.4.3) I should get a status='canceled' back, but with Wildfire 3.2.2 I get an error type='modify' instead. Perhaps I should update both my ejabberd and Wildfire (Openfire) installations.

Another trouble is the old Data Forms which can be a pain to look nice. The main problem is that you don't know what to expect. While some services return labels which are short, others return very long ones better suited for tooltip windows. Normally they are used with fields elements, typically a label and an entry widget, but there is also a special form with Multiple Items which behaves completely different.


Service-discovery and ad-hoc commands are extensively used for server management, component reconfiguration, statistics retrieving and much more.

All this functions are exposed to users in Tigase installed on:, so you don't have to install own instance of the server for your tests.

To use the Tigase Jabber server you have to create account on the web site:

Give it a try and let me know if you have any problems, I am happy to help and cooperate.

Thanks for your info. It is perhaps a good idea that I start to test Coccinella with different servers in a more systematic way than I used to. Also a good idea is to update to their latest versions although it is usually a pain for me to handle such system admin stuff. I will add Tigase to my server park.

Isn't Tigase available in XFSs compliancy testing program?

Mvg, Sander Devrieze.

I don't have resources to setup an additional server for this.

But there is a server installation running at address: so you can test your client against this. You can create as many accounts as you need and basically do whatever you need in reasonable range.

That would save you also from the need to setup and maintain your own instance of Tigase server.