mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-09 03:18:30 +00:00
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 git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@380892 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -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) {
|
AST_LIST_TRAVERSE_SAFE_BEGIN(&cbu->conference_bridge->active_list, cbu_iter, list) {
|
||||||
/* Kick ENDMARKED cbu_iters */
|
/* Kick ENDMARKED cbu_iters */
|
||||||
if (ast_test_flag(&cbu_iter->u_profile, USER_OPT_ENDMARKED)) {
|
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;
|
cbu_iter->kicked = 1;
|
||||||
ast_bridge_remove(cbu_iter->conference_bridge->bridge, cbu_iter->chan);
|
ast_bridge_remove(cbu_iter->conference_bridge->bridge, cbu_iter->chan);
|
||||||
} else if (ast_test_flag(&cbu_iter->u_profile, USER_OPT_WAITMARKED) &&
|
} 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:
|
case 0:
|
||||||
conf_change_state(cbu, CONF_STATE_SINGLE_MARKED);
|
conf_change_state(cbu, CONF_STATE_SINGLE_MARKED);
|
||||||
break;
|
break;
|
||||||
case 1: break; /* Stay in marked */
|
case 1:
|
||||||
|
break; /* Stay in marked */
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -149,7 +148,8 @@ static void leave_marked(struct conference_bridge_user *cbu)
|
|||||||
case 0:
|
case 0:
|
||||||
conf_change_state(cbu, CONF_STATE_MULTI);
|
conf_change_state(cbu, CONF_STATE_MULTI);
|
||||||
break;
|
break;
|
||||||
default: break; /* Stay in marked */
|
default:
|
||||||
|
break; /* Stay in marked */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user