[asterisk-dev] distributed device state: xmpp and res_corosync
Russell Bryant
russell at russellbryant.net
Fri Aug 17 08:59:48 CDT 2012
I haven't looked at the XMPP code in a very long time, but I can
answer questions about res_corosync.
On Fri, Aug 17, 2012 at 4:51 AM, Klaus Darilion
<klaus.mailinglists at pernau.at> wrote:
> Corosync: Is the state distribution with corosync reliable or not? What if
> there is packet loss and a single packet is lost? Are there any means to
> detect the loss and re-transmit state changes?
All of that is handled by the totem protocol implemented by corosync.
I know of some very high volume usage of res_corosync and have not
seen any problems like this.
If there is a network problem bad enough that nodes leave the cluster,
res_corosync will handle re-joining the cluster. When it does, all of
the nodes will dump their state so that everything gets back in sync.
> Lifetime: IIRC res_ais did not published a lifetime for the events. Thus,
> e.g. if a device is "in a call" and the subsequent "idle" message is lost,
> the device stays "in a call" until the next state change (which may not come
> at all).
>
> Does this problem still exists in res_corosynch? What about XMPP? Do
> XMPP-state events have a lifetime. I think it would be good to define event
> lifetimes, at least for "in a call, ringing ..." states.
Correct, the events have no lifetime. The behavior I discussed above
should ensure that everything stays in sync, though.
> IMO it would be very important to document the state distribution behavior
> in detail.
I do not disagree. :-)
--
Russell Bryant
More information about the asterisk-dev
mailing list