From: Sean Bright Date: Sat, 29 Jan 2011 17:51:28 +0000 (+0000) Subject: When we pass the S() or L() options to MeetMe, make sure that we honor C as well. X-Git-Tag: 1.6.2.18-rc1~35 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1b79e47b2770255d92af748b5954b34407017e22;p=thirdparty%2Fasterisk.git When we pass the S() or L() options to MeetMe, make sure that we honor C as well. Without this patch, if the user was kicked from the conference via the S() or L() mechanism, we would just hang up on them even if we also passed C (continue in dialplan when kicked). With this patch we honor the C flag in those cases. (closes issue #17317) Reported by: var git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@304773 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/apps/app_meetme.c b/apps/app_meetme.c index 277bdac019..ab34b49a3b 100644 --- a/apps/app_meetme.c +++ b/apps/app_meetme.c @@ -2649,6 +2649,11 @@ static int conf_run(struct ast_channel *chan, struct ast_conference *conf, int c } if (user->kicktime && (user->kicktime <= now.tv_sec)) { + if (confflags & CONFFLAG_KICK_CONTINUE) { + ret = 0; + } else { + ret = -1; + } break; } @@ -2719,6 +2724,11 @@ static int conf_run(struct ast_channel *chan, struct ast_conference *conf, int c now = ast_tvnow(); if (timeout && now.tv_sec >= timeout) { + if (confflags & CONFFLAG_KICK_CONTINUE) { + ret = 0; + } else { + ret = -1; + } break; }