presencestate: Allow channel drivers to provide presence state information
authorMatthew Jordan <mjordan@digium.com>
Mon, 22 Dec 2014 14:33:24 +0000 (14:33 +0000)
committerMatthew Jordan <mjordan@digium.com>
Mon, 22 Dec 2014 14:33:24 +0000 (14:33 +0000)
commit0c38276d6e08c47bba50649e888b980df1a11f1c
tree1cfccdc6d05e9477c7d1b80ee553d75f89e07c0f
parent2afeadcc84846da9876311d461f67a0aaeddc47f
presencestate: Allow channel drivers to provide presence state information

This patch adds the ability for channel drivers to supply presence information
in a similar manner to device state. The patch does not provide any channel
driver implementations, but it does provide the core infrastructure necessary
for channel drivers to provide such information.

The core handles multiple providers of presence state information. Ordering
of presence state is as follows:
 INVALID < NOT_SET < AVAILABLE < UNAVAILABLE < CHAT < AWAY < XA < DND

Each provider can trump the previous if it provides a presence state that
supercedes a previous one.

Review: https://reviewboard.asterisk.org/r/4050

ASTERISK-24363 #close
Reported by: Gareth Palmer
patches:
  chan_presencestate-428146.patch uploaded by Gareth Palmer (License 5169)

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@429967 65c4cc65-6c06-0410-ace0-fbb531ad65f3
include/asterisk/channel.h
main/channel.c
main/pbx.c
main/presencestate.c