]> git.ipfire.org Git - thirdparty/asterisk.git/commit
app_confbridge: Use bridge join hook to send join and leave events
authorGeorge Joseph <gjoseph@digium.com>
Thu, 27 Sep 2018 18:19:28 +0000 (12:19 -0600)
committerGeorge Joseph <gjoseph@digium.com>
Fri, 28 Sep 2018 12:33:16 +0000 (07:33 -0500)
commitf10c7b6eeb64e4f6ba626771290bb8a7bba38e8f
tree7c9e9a0ab9c06edc785cad0a266e1f5f9d1d69b7
parent9914e3998e3f9c3dbab9ee7d367d9f0cafc4cfe3
app_confbridge:  Use bridge join hook to send join and leave events

The first attempt at publishing confbridge events to participants
involved publishing them at the same time stasis events were
created.  This caused issues with bridge and channel locks.  The
second attempt involved publishing them when the stasis events
were received by the code that published the confbridge AMI events.
This caused timing issues because, depending on resources available,
the event could be received before channels actually joined the
bridge and would therefore fail to send messages to the participant.

This attempt reverts to the original mechanism with one exception.
The join and leave events are published via bridge join and leave
hooks.  This guarantees the states of the channels and bridge and
provides deterministic timing for event publishing.

Change-Id: I2660074f8a30a5224cb953d5e047ee84484a9036
apps/app_confbridge.c
apps/confbridge/confbridge_manager.c
apps/confbridge/include/confbridge.h