]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
When we pass the S() or L() options to MeetMe, make sure that we honor C as well.
authorSean Bright <sean@malleable.com>
Sat, 29 Jan 2011 17:51:28 +0000 (17:51 +0000)
committerSean Bright <sean@malleable.com>
Sat, 29 Jan 2011 17:51:28 +0000 (17:51 +0000)
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

apps/app_meetme.c

index 277bdac019ca5f6772e614661fcf8eb2fd6e0dd1..ab34b49a3b0a94a03112c9b2bc762560e451d45c 100644 (file)
@@ -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;
                        }