]> git.ipfire.org Git - thirdparty/asterisk.git/commit
confbridge: Fix MOH on simultaneous user entry to a new conference.
authorRichard Mudgett <rmudgett@digium.com>
Thu, 13 Dec 2012 21:04:16 +0000 (21:04 +0000)
committerRichard Mudgett <rmudgett@digium.com>
Thu, 13 Dec 2012 21:04:16 +0000 (21:04 +0000)
commit797e403982addf3b59660f4d60788b89aeedaebf
tree91a29f4501ab9cfac6d81efcc7ed729c9664e7d6
parentd3ab29934cfc5ad94b5d3acfcaf3157bb05e6fb0
confbridge: Fix MOH on simultaneous user entry to a new conference.

When two users entered a new conference simultaneously, one of the callers
hears MOH.  This happened if two unmarked users entered simultaneously and
also if a waitmarked and a marked user entered simultaneously.

* Created a confbridge internal MOH API to eliminate the inlined MOH
handling code.  Note that the conference mixing bridge needs to be locked
when actually starting/stopping MOH because there is a small window
between the conference join unsuspend MOH and actually joining the mixing
bridge.

* Created the concept of suspended MOH so it can be interrupted while
conference join announcements to the user and DTMF features can operate.

* Suspend any MOH until the user is about to actually join the mixing
bridge of the conference.  This way any pre-join file playback does not
need to worry about MOH.

* Made post-join actions only play deferred entry announcement files.
Changing the user/conference state during that time is not protected or
controlled by the state machine.

(closes issue ASTERISK-20606)
Reported by: Eugenia Belova
Tested by: rmudgett

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

Merged revisions 377992 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@377993 65c4cc65-6c06-0410-ace0-fbb531ad65f3
apps/app_confbridge.c
apps/confbridge/conf_state.c
apps/confbridge/conf_state_multi_marked.c
apps/confbridge/include/confbridge.h
include/asterisk/bridging.h