russellbryant.net

Asterisk Open Source Software Engineering

russellbryant.net header image 2

Asterisk 1.6, Now with Distributed Presence

June 10th, 2008 · 17 Comments

Have you ever wanted presence information across multiple Asterisk servers? Well, making that possible is something that I have worked on a bit here and there. I previously made a post asking for some of that code to be tested. Now, this code has been merged in to Asterisk 1.6.

Asterisk 1.6.1 will have the ability to share device state between servers using a new module, res_ais, which uses the SAForum AIS to share events between Asterisk servers. It has been tested with and developed against the openais implementation of AIS.

In addition to writing res_ais, this effort consisted of a lot of improvements to the Asterisk core to understand distributed device state. My next step is to complete the changes to pbx_dundi to allow Asterisk servers to use DUNDi to share events, as well. This should provide the best results for servers that want to share state information across the Internet, as opposed to servers in a local cluster on a high speed LAN.

Commits related to merging this code into Asterisk 1.6:

http://lists.digium.com/pipermail/asterisk-commits/2008-June/023363.html
http://lists.digium.com/pipermail/asterisk-commits/2008-June/023371.html
http://lists.digium.com/pipermail/asterisk-commits/2008-June/023387.html

http://lists.digium.com/pipermail/asterisk-commits/2008-June/023396.html

http://lists.digium.com/pipermail/asterisk-commits/2008-June/023400.html

Tags: Asterisk · Clustering · Development

17 responses so far ↓

  • 1 Voip Enthusiast // Jun 10, 2008 at 1:03 pm

    keep up the great work, can’t wait for 1.6!!!

  • 2 Harald Steindl // Jun 12, 2008 at 7:30 am

    Hello!

    Why dont you use XMPP aka Jabber for syncing states between remote servers? Its all in there AFAIK. Dont get it why we have to invent yet another protocol….
    Besides this technical detail I think this is seriously cool feature! Congrats!

  • 3 russell // Jun 12, 2008 at 7:39 am

    Thanks for the feedback. Someone else has mentioned using XMPP, too. I think that’s an interesting idea. Before I work any further on modifying DUNDi to do what I need, I’m going to research that method and give it serious consideration.

  • 4 Michael White // Jun 13, 2008 at 8:13 pm

    Keep up the great work! You are the hardest working man in silicotton valley!

  • 5 mvanbaak // Jun 14, 2008 at 3:09 pm

    Please continue and finish the work on DUNDi.
    DUNDi is already up and running in a lot of setups with multiple servers in a ‘cluster’ over the internet.
    Having to setup XMPP besides that for this would be a major bummer

  • 6 russell // Jun 14, 2008 at 3:59 pm

    Yeah, that was what got me looking at doing it with DUNDi in the first place. However, I should do my due diligence and consider all of the reasonable options.

  • 7 Teleweb // Jun 18, 2008 at 6:15 pm

    Using XMPP for presence sharing and messaging would be a logical step forward.

    Especially now that the manufacturers of SIP phones have it integrated in their recent models.
    If you haven’t had a look at the wireless Siemens SIP-DECT phones, you should really, really do that!, all their handsets have a XMPP (Jabber) client on board by default, which opens a whole new world of possibilities!
    How great it would be if Asterisk would support that functionality out of the box!

  • 8 Distributed Presence For Asterisk in Asterisk 1.6.1. | VoIP MoVoIP Blog // Jun 19, 2008 at 11:03 am

    [...] can read his post to find links to the code and follow comments that request (demand) DUNDi over XMPP and vice versa. [...]

  • 9 Diego // Jun 27, 2008 at 6:50 pm

    Hi Russell,

    Brian West (bkw) told me that doing distributed presence on top of DUNDI is a stupid idea… what do you think of this? was he just trolling? or is this a bad idea at all?

    Thanks in advance, keep up the great work!

  • 10 Eric Stone // Jun 30, 2008 at 10:04 pm

    Why not do both? XMPP is semi-’native’ presence, and DUNDI would be terrific for the more PBX-related functions / systems.

    Let’s have our cake and eat it too.

  • 11 TVENGINEER // Jul 11, 2008 at 9:24 am

    Let’s give the guy a chance, we all agree that distributed presence is the endgoal, so let’s all give Russell a chance to check out both methods. He hasn’t steered us wrong yet.

    Thanks for all the great work.

  • 12 Astricon, Code Zone Adventures // Sep 10, 2008 at 1:17 pm

    [...] talking about this one for years. It keeps coming back up. Some of the needed prerequisites, like distributed device state, are now in place. I have talked to a number of people about what this functionality needs to look [...]

  • 13 kelen // Sep 12, 2008 at 7:22 am

    still trying to discover

  • 14 canl // Oct 14, 2008 at 6:32 pm

    Russel,

    Your improvments with clustering are a real need for us . Thank you for working on this side.

    Our main goal is to solve this : “how SIP session information could be transferred to a server in the case of a fault on another server” (was in one of your previous post).

    We will gonna have a try and keep you informed.

    Thanks for all the great work.

  • 15 Jim Pompilio // Oct 28, 2008 at 10:42 am

    I agree with what Teleweb and Eric Stone have said and believe that both XMPP and DUNDi are required. In order to compete effectively in the enterprise against Unified Communication Solutions the need for XMPP arises when you start talking presence/IM. SIP is not designed for this type of communication (see HTML or PDF of “On Helicopters and Submarines” here, http://portal.acm.org/citation.cfm?doid=966712.966726). XMPP however while best known as an IM tool (Jabber) is much more, and was designed specifically with the intent of securely routing context-sensitive data among a complex interconnection of nodes (see “XMPP transports presence data” here, http://www.networkworld.com/news/tech/2004/0308techupdate.html). DUNDi was created to handle that which SIP could not and publishes routes which are in turn accessed via IAX, SIP and H.323. I would say leave the IM functionality to XMPP and the telephony functionality to DUNDi. Great work Russell, keep up the great work.

  • 16 JP // Apr 15, 2009 at 9:52 am

    Russell, WIll this be back-ported into 1.4 at all?

  • 17 russell // Apr 15, 2009 at 10:07 am

    I am not planning on doing a 1.4 backport. The changes are invasive enough that it’s not trivial.

Leave a Comment