Using XMPP/Jabber/PubSub for distributed presence

I have multiple Asterisk boxes running 1.8 and needed to track presence between them. After carefully following the instructions in the book Asterisk The Definitive Guide, and the almost identical instructions online, I still kept running into problems. But I finally figured it out, I think. Hopefully my week of hell will help someone else trying to accomplish the same thing.

I think the big issue is that the instructions say only the Tigase server is really supported. There are two ways to work with Tigase - either download the software and install it on their site or using their free hosted site tigase.im. I couldn't seem to make a lot of sense out of the download and install process, and I ran into constant problems using the hosted site. Couldn't figure it out. Everything looked good (especially with the jabber show buddies and other testing techniques) but hints were never updated.

There was another problem — the 1.8 boxes had a tendency to crash Asterisk when something was imperfect with the Jabber setup. Like if the server went offline. No good for a production system. I have not noticed this problem in 10.

I did two things that solved my problem immediately. The biggest one was I switched to the Openfire XMPP server (http://www.igniterealtime.org/projects/openfire/). It was super easy to install both on Windows and Linux (I did both initially) and has a simple web GUI. I'm not sure Tigase was really the problem, although I noticed that the SSL cert tigase.im was sending was self-issued and had expired a year earlier, so that could have been an issue.

Other thing... I moved up to Asterisk 10.5.2. Suddenly things worked.

The SSL cert on the new Openfire is also self issued but is not expired, but it seems to not be a problem.


So... I will update this as I move forward, but the testing of changing the custom device_state seems to be working well. Funny thing is that I went back to the 1.8 boxes and tried to get them on the new Openfire and while they registered easily, the device_state did not work. Plus with that crashing problem I was never entirely comfortable with that.

I have multiple Asterisk boxes running 1.8 and needed to track presence between them. After carefully following the instructions in the book Asterisk The Definitive Guide, and the almost identical instructions online, I still kept running into problems. But I finally figured it out, I think. Hopefully my week of hell will help someone else trying to accomplish the same thing.

I think the big issue is that the instructions say only the Tigase server is really supported. There are two ways to work with Tigase - either download the software and install it on their site or using their free hosted site tigase.im. I couldn't seem to make a lot of sense out of the download and install process, and I ran into constant problems using the hosted site. Couldn't figure it out. Everything looked good (especially with the jabber show buddies and other testing techniques) but hints were never updated.

There was another problem — the 1.8 boxes had a tendency to crash Asterisk when something was imperfect with the Jabber setup. Like if the server went offline. No good for a production system. I have not noticed this problem in 10.

I did two things that solved my problem immediately. The biggest one was I switched to the Openfire XMPP server (http://www.igniterealtime.org/projects/openfire/). It was super easy to install both on Windows and Linux (I did both initially) and has a simple web GUI. I'm not sure Tigase was really the problem, although I noticed that the SSL cert tigase.im was sending was self-issued and had expired a year earlier, so that could have been an issue.

Other thing... I moved up to Asterisk 10.5.2. Suddenly things worked.

The SSL cert on the new Openfire is also self issued but is not expired, but it seems to not be a problem.


So... I will update this as I move forward, but the testing of changing the custom device_state seems to be working well. Funny thing is that I went back to the 1.8 boxes and tried to get them on the new Openfire and while they registered easily, the device_state did not work. Plus with that crashing problem I was never entirely comfortable with that.

Created by: wpbx, Last modification: Fri 06 of Jul, 2012 (18:25 UTC)
Please update this page with new information, just login and click on the "Edit" or "Discussion" tab. Get a free login here: Register Thanks! - Find us on Google+