]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Merged revisions 304773 via svnmerge from
authorSean Bright <sean@malleable.com>
Sat, 29 Jan 2011 17:54:43 +0000 (17:54 +0000)
committerSean Bright <sean@malleable.com>
Sat, 29 Jan 2011 17:54:43 +0000 (17:54 +0000)
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/branches/1.8@304774 65c4cc65-6c06-0410-ace0-fbb531ad65f3

apps/app_meetme.c

index 80116778f52b2324c3d056e64d0286bb5a8a2b4b..a113241b28bf0147cb77e564cdb536b834261b76 100644 (file)
@@ -2809,6 +2809,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;
                        }
   
@@ -2879,6 +2884,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;
                        }