[asterisk-users] Distributed Device States - Best Option

Matthew Jordan mjordan at digium.com
Tue Jun 30 08:42:17 CDT 2015


On Sat, Jun 27, 2015 at 11:28 AM, Bryant Zimmerman <BryantZ at zktech.com> wrote:
> 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.
>

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


-- 
Matthew Jordan
Digium, Inc. | Director of Technology
445 Jan Davis Drive NW - Huntsville, AL 35806 - USA
Check us out at: http://digium.com & http://asterisk.org



More information about the asterisk-users mailing list