app_confbridge: Allow muting of users waiting to enter a ConfBridge
authorMatthew Jordan <mjordan@digium.com>
Thu, 5 Jun 2014 14:49:20 +0000 (14:49 +0000)
committerMatthew Jordan <mjordan@digium.com>
Thu, 5 Jun 2014 14:49:20 +0000 (14:49 +0000)
Prior to this patch, users waiting to enter a ConfBridge were not considered
when muted via the CLI or via AMI. Instead, a confusing message would be
emitted stating that the channel did not exist.

This patch allows a user to be muted when waiting to enter a ConfBridge
conference. This is equivalent to start when muted, only toggled via the CLI
or AMI.

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

#ASTERISK-23824 #close
patches:
  rb3582.patch uploaded by tm1000 (License 6524)
........

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

Merged revisions 415207 from http://svn.asterisk.org/svn/asterisk/branches/12

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

apps/app_confbridge.c

index fee8643..9a704ac 100644 (file)
@@ -2478,6 +2478,14 @@ static int generic_mute_unmute_helper(int mute, const char *conference_name, con
                        break;
                }
        }
+       if (!user) {
+               /* user is not in the active list so check the waiting list as well */
+               AST_LIST_TRAVERSE(&conference->waiting_list, user, list) {
+                       if (!strncmp(chan_name, ast_channel_name(user->chan), strlen(chan_name))) {
+                               break;
+                       }
+               }
+       }
        if (user) {
                /* Set user level mute request. */
                user->muted = mute ? 1 : 0;