diff options
author | Richard Mudgett <rmudgett@digium.com> | 2013-02-05 18:50:50 +0000 |
---|---|---|
committer | Richard Mudgett <rmudgett@digium.com> | 2013-02-05 18:50:50 +0000 |
commit | 128d7abb05328ba4b7d6fdde17fd7f3873fa587b (patch) | |
tree | ff3a304eb4e8c0f85ba14a7c586cd9e2441f894b /apps | |
parent | fb323d4465c1f92440dfc74faa577419fca68d5b (diff) |
app_confbridge: Fix error messages on exiting conference.
A marked user ending a conference with only end_marked users generates
error messages:
ERROR[0000][C-00000000]: confbridge/conf_state.c:47 conf_invalid_event_fn: Invalid event for confbridge user ''
* The MULTI_MARKED state was doing too much when it was kicking out the
end_marked users from the conference. The kicked out users will clean up
after themselves when they exit the conference.
(closes issue ASTERISK-20991)
Reported by: Jeremy Kister
Tested by: rmudgett
........
Merged revisions 380892 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@380893 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'apps')
-rw-r--r-- | apps/confbridge/conf_state_multi_marked.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/apps/confbridge/conf_state_multi_marked.c b/apps/confbridge/conf_state_multi_marked.c index 252926609..21c567207 100644 --- a/apps/confbridge/conf_state_multi_marked.c +++ b/apps/confbridge/conf_state_multi_marked.c @@ -95,8 +95,6 @@ static void leave_marked(struct conference_bridge_user *cbu) AST_LIST_TRAVERSE_SAFE_BEGIN(&cbu->conference_bridge->active_list, cbu_iter, list) { /* Kick ENDMARKED cbu_iters */ if (ast_test_flag(&cbu_iter->u_profile, USER_OPT_ENDMARKED)) { - AST_LIST_REMOVE_CURRENT(list); - cbu_iter->conference_bridge->activeusers--; cbu_iter->kicked = 1; ast_bridge_remove(cbu_iter->conference_bridge->bridge, cbu_iter->chan); } else if (ast_test_flag(&cbu_iter->u_profile, USER_OPT_WAITMARKED) && @@ -139,7 +137,8 @@ static void leave_marked(struct conference_bridge_user *cbu) case 0: conf_change_state(cbu, CONF_STATE_SINGLE_MARKED); break; - case 1: break; /* Stay in marked */ + case 1: + break; /* Stay in marked */ } break; } @@ -149,7 +148,8 @@ static void leave_marked(struct conference_bridge_user *cbu) case 0: conf_change_state(cbu, CONF_STATE_MULTI); break; - default: break; /* Stay in marked */ + default: + break; /* Stay in marked */ } } } |