aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorseanbright <seanbright@f38db490-d61c-443f-a65b-d21fe96a405b>2011-01-29 17:51:28 +0000
committerseanbright <seanbright@f38db490-d61c-443f-a65b-d21fe96a405b>2011-01-29 17:51:28 +0000
commitcf6ccd16bbb7fb1d3eeb8554ac5ae20901372c7e (patch)
tree388fa33def1596394d5d9ece24a4497e2b70f88d
parent8d6698377a4a9daf59a2238f0e24b9f1bfe0ff29 (diff)
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: http://svn.digium.com/svn/asterisk/branches/1.6.2@304773 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r--apps/app_meetme.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/apps/app_meetme.c b/apps/app_meetme.c
index 277bdac01..ab34b49a3 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;
}