[asterisk-dev] distributed device-state implementation question

Russell Bryant russell at digium.com
Thu Jan 13 11:45:08 CST 2011

On Thu, 2011-01-13 at 16:47 +0100, Klaus Darilion wrote:
> Hi!
> What happens if a cluster-node publishes that a device is busy, and then 
> crashes (no more device-is-idle message)?
> Will the other nodes keep this device as "busy" for infinite time or is 
> there an expiry for such messages?
> If messages expires - what's the timeout? Where to configure? Will the 
> publishing node redistribute the message before expiration if the device 
> is still busy?
> Regarding above behavior - is there a difference between XMPP and AIS 
> implementation?

Excellent question.  The device state cache (which is independent of the
state distribution method) will remember the last known state of a
device on a given server.  If that server never comes back up, the state
on that server will be stuck at busy, which would mess things up.

At least with AIS, we get notified when a node joins or leaves.  We
could use that as a trigger to clear all cache entries for a given
server, but we do not do that right now.  I don't know the best way to
deal with it for other distribution methods.

Russell Bryant
Digium, Inc.  |  Engineering Manager, Open Source Software
445 Jan Davis Drive NW   -    Huntsville, AL 35806  -  USA
jabber: rbryant at digium.com    -=-    skype: russell-bryant
www.digium.com -=- www.asterisk.org -=- blogs.asterisk.org

More information about the asterisk-dev mailing list