From ed1ee072b84e89240b5de36fd0f29b5d9cd568ca Mon Sep 17 00:00:00 2001
From: Sean Bright <sean@malleable.com>
Date: Sat, 29 Jan 2011 17:57:01 +0000
Subject: [PATCH] Merged revisions 304774 via svnmerge from
 https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r304774 | seanbright | 2011-01-29 12:54:43 -0500 (Sat, 29 Jan 2011) | 16 lines

  Merged revisions 304773 via svnmerge from
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2

  ........
    r304773 | seanbright | 2011-01-29 12:51:28 -0500 (Sat, 29 Jan 2011) | 9 lines

    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/trunk@304775 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 apps/app_meetme.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/apps/app_meetme.c b/apps/app_meetme.c
index 3ec6e3e38f..7c50531021 100644
--- a/apps/app_meetme.c
+++ b/apps/app_meetme.c
@@ -2859,6 +2859,11 @@ static int conf_run(struct ast_channel *chan, struct ast_conference *conf, struc
 			}
 
  			if (user->kicktime && (user->kicktime <= now.tv_sec)) {
+				if (ast_test_flag64(confflags, CONFFLAG_KICK_CONTINUE)) {
+					ret = 0;
+				} else {
+					ret = -1;
+				}
 				break;
 			}
   
@@ -2929,6 +2934,11 @@ static int conf_run(struct ast_channel *chan, struct ast_conference *conf, struc
 
 			now = ast_tvnow();
 			if (timeout && now.tv_sec >= timeout) {
+				if (ast_test_flag64(confflags, CONFFLAG_KICK_CONTINUE)) {
+					ret = 0;
+				} else {
+					ret = -1;
+				}
 				break;
 			}
 
-- 
GitLab