Distributed Device States – Best Option

Home » Asterisk Users » Distributed Device States – Best Option
Asterisk Users 1 Comment

We have used AIS for disturbed Device State in the past, BLF and MWI, We are in the process of an update on one of our clustered systems, We are looking at XMPP and I found a few discussions on a Corosync with has OpenAIS built in.

My question is which should I be looking at to replace my current AIS
option I currently have. XMPP or Corosync?

It looks like the Corosync is just the AIS option more nicely packaged. Is XMPP a better solution as I grow my network? Are there down sides to XMPP
that AIS/Corosync does better…

Can anyone recommend where I can find some up to date documentation that would cover up through Asterisk 13 on Distributed Device State.

Thanks for any feed back.


One thought on - Distributed Device States – Best Option

  • I’d take the following as opinion, and not gospel. Most of the work I’ve done setting up distributed device state in Asterisk has been either for development or testing; for production anecdotes, you’d probably want someone else’s opinion.

    Both Corosync and XMPP functionally work the same. That is, from the perspective of Asterisk, there really isn’t any difference. The question than is one of deployment.

    XMPP is rather easy to set up, but does require an XMPP server. This introduces another component, and another point of failure, into your system. If the XMPP server goes down, your Asterisk instances will stop aggregating device state.

    Corosync is generally harder to set up, but since it is a library used by Asterisk on your system, there isn’t another discrete component that you have to maintain and run. The Asterisk instances themselves are set up as a cluster, which means they are generally more “aware”
    of the other instances existence.

    All of that being said, there is a third option: use SIP.

    Asterisk 13’s PJSIP stack also has the ability to PUBLISH device state and MWI information between Asterisk instances. The benefit of this is
    – if you are using the PJSIP stack – there is no additional components in Asterisk to configure beyond what you are already setting up.

    More information on distributing device state and MWI can be found on the wiki:

    XMPP: https://wiki.asterisk.org/wiki/display/AST/Distributed+Device+State+with+XMPP+PubSub Corosync: https://wiki.asterisk.org/wiki/display/AST/Corosync PJSIP: https://wiki.asterisk.org/wiki/display/AST/Exchanging+Device+and+Mailbox+State+Using+PJSIP