Clean up ConfBridge commands to account for wait_marked users
authorMatthew Jordan <mjordan@digium.com>
Tue, 26 Feb 2013 15:52:02 +0000 (15:52 +0000)
committerMatthew Jordan <mjordan@digium.com>
Tue, 26 Feb 2013 15:52:02 +0000 (15:52 +0000)
commit35f98d66acd9cd0e57a9d81a33af44acc0996951
tree0e1e17951886eb3768ec786ab0ee38e464cc28f2
parent33e4c6115fe0ce4339d84d8701c89a8cb51d4583
Clean up ConfBridge commands to account for wait_marked users

When ConfBridge was refactored to better handle the concept of marked,
wait_marked, and normal users co-existing in a conference (thereby implementing
a state machine for the conference), the wait_marked users were put into their
own list of conference participants, separate from the active users. This list
is used for wait_marked users when they are waiting in a conference but no
marked user has joined; normal users may have joined at this point however.
There are several AMI/CLI commands that affect conference users that were not
checking the wait_marked users list:
* CLI/AMI commands that mute/unmute a participant. In this case, wait_marked
  users have to remain in their particular state and should not be affected -
  however, the commands would return "Channel not found" as opposed to the
  appropriate error condition.
* CLI/AMI commands that kick a participant. An admin should always be able to
  kick a participant out of the conference.

This patch fixes both sets of commands, and cleans up the CLI commands slightly
by allowing them to complete a participant name (this was supposed to have been
added, but the function call was commented out and wasn't implemented).

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

(closes issue AST-1114)
Reported by: John Bigelow
Tested by: John Bigelow
........

Merged revisions 382068 from http://svn.asterisk.org/svn/asterisk/branches/11

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@382070 65c4cc65-6c06-0410-ace0-fbb531ad65f3
apps/app_confbridge.c