]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
apps/app_confbridge: Ensure 'normal' users hear message when last marked leaves
authorMatthew Jordan <mjordan@digium.com>
Mon, 17 Nov 2014 15:27:03 +0000 (15:27 +0000)
committerMatthew Jordan <mjordan@digium.com>
Mon, 17 Nov 2014 15:27:03 +0000 (15:27 +0000)
When r428077 was made for ASTERISK-24522, it failed to take into account users
who are neither wait_marked nor end_marked. These users are *also* supposed to
hear the 'leader has left the conference' message. Granted, this behaviour is
a bit odd; however, that is how it used to work... and behaviour changes are
not good.

This patch ensures that if there are any 'normal' users present when the last
marked user leaves the conference, the message will still be played to them.

Note that this regression was caught by the Asterisk Test Suite's
confbridge_nominal test, which has a quirky combination of users.
........

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

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

apps/confbridge/conf_state_multi_marked.c

index eb585c24cfdd724b63570ff2d2cd6a1063302a44..ffc7b9a663bef6c4e556bf1f8d6d8aeb3d956a81 100644 (file)
@@ -105,6 +105,11 @@ static void leave_marked(struct confbridge_user *user)
                                user_iter->conference->activeusers--;
                                AST_LIST_INSERT_TAIL(&user_iter->conference->waiting_list, user_iter, list);
                                user_iter->conference->waitingusers++;
+                       } else {
+                               /* User is neither wait_marked nor end_marked; however, they
+                                * should still hear the prompt.
+                                */
+                               need_prompt = 1;
                        }
                }
                AST_LIST_TRAVERSE_SAFE_END;