ConfBridge: Make some announcements asynchronous.
authorMark Michelson <mmichelson@digium.com>
Wed, 10 Aug 2016 20:14:09 +0000 (15:14 -0500)
committerMark Michelson <mmichelson@digium.com>
Wed, 7 Sep 2016 14:12:41 +0000 (09:12 -0500)
commitac02bbd9a0bd7e36fa918685b6ed91ee25e10248
tree6e874479831cae38e7192c5651be3f88c2d0f8ad
parentedaba05feacd39eeaa6ccf799213ff060ccd90d2
ConfBridge: Make some announcements asynchronous.

Confbridge announcements tend to block a channel while they are being
played. In some circumstances, this is warranted since you want that
particular channel not to hear the announcement (Example: "John Doe has
entered the conference"). For others it makes less sense.

This change first introduces methods for playing sounds asynchronously
into the conference. This is very similar to how synchronous sounds are
played, except the channel initiating the playback does not wait for the
sound to complete before moving on.

Asynchronous announcements are used for two circumstances:
* Sounds played for a user after they have left the bridge
* Sounds that play first to a single user and then the rest of the
  conference (if the channel and conference use the same language)

ASTERISK-26289 #close
Reported by Mark Michelson

Change-Id: Ie486bb3de1646d50894489030326a423e594ab0a
CHANGES
apps/app_confbridge.c
apps/confbridge/conf_state_multi_marked.c
apps/confbridge/include/confbridge.h