Jabsimul with SASL Integration is a benchmarking tool for Jabber/XMPP Servers which have SASL authentication


Jabsimul with SASL Integration is a benchmarking tool for Jabber/XMPP Servers which have SASL authentication.
It also has the support for *starttls*.

Special Note:

The SASL and starttls implementation is mine. Other than this project is not mine.


I have implemented the protocol named XEP-0034: SASL Integration.

Extra Feature:

Other then jabsimul benchmark feature it has the extra feature of XMPP SASL authentication. I have enabled the SASL plain mechanism of authentication for xmpp login.

With that now you can have the benchmark of jabsimul with SASL authentication.

As list:

1. Implemented “XMPP TLS” from http://xmpp.org/rfcs/rfc3920.html
2. Implemented “SASL AUTH” from  http://xmpp.org/rfcs/rfc3920.html

Source code is available in here .


First start a TCP connection to the XMPP server. Then convert this TCP connection to TLS with *starttls* schema request.
Then select the *SASL* auth mechanism and start the the XMPP communication with TLS. The TLS connection holds when the SASL mechanism complete a successful handshake.

1. Protocol Messaging Details with sequence -


<stream:stream to="intel.com" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams">


<stream:stream xmlns:stream='http://etherx.jabber.org/streams' xmlns='jabber:client' id='ojTsAaoSvVKdKfmW' from='intel.com'  version='1.0'>
  <starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"><required/></starttls>
  <mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl">

<starttls xmlns='urn:ietf:params:xml:ns:xmpp-tls'/>

<proceed xmlns='urn:ietf:params:xml:ns:xmpp-tls'/>

Implementation details are available [here](https://developers.google.com/cloud-print/docs/rawxmpp)

How To's:

cd jabsimul/jab_simul/
vi jab_simul.xml

Change *<server>jabber.localhost</server>* to your XMPP server address. Fill the xml file with you necessary configuration.

Compile it:


Now you can execute it:


Post a Comment