Summary: | ASTERISK-16077: [patch] MeetMe 'L' and 'S' ignore 'C' option | ||
Reporter: | var (var) | Labels: | |
Date Opened: | 2010-05-10 20:41:00 | Date Closed: | 2011-05-03 21:39:13 |
Priority: | Minor | Regression? | No |
Status: | Closed/Complete | Components: | Applications/app_meetme |
Versions: | Frequency of Occurrence | ||
Related Issues: | |||
Environment: | Attachments: | ( 0) meetme-continue-on-l_16218.diff ( 1) meetme-continue-on-l-or-s.diff ( 2) meetme-S-option.txt | |
Description: | Using MeetMe with options 'S' or 'L', in conjunction with 'C' fails. When the time-limit is up (L or S) the user's channel is given a soft hangup instead of following the context as expected. If the user is kicked using MeetMeAdmin or MeetMeChannelAdmin, it does follow context as expected. Meetme 'L' option does not state that line will be hungup - though it does not state that it will not be hungup either: 'L(x[:y][:z])' - Limit the conference to 'x' ms. Play a warning when 'y' ms are left. Repeat the warning every 'z' ms. Meetme 'S' option does not state that the line will be hungup, it states the user will be 'kicked' from the conference. This would create an assumption that 'C' flag would be utilised and the context followed, however this is not the case: 'S(x)' -- Kick the user 'x' seconds *after* he entered into the conference. 'C' -- continue in dialplan when kicked out of conference The above was tested with: * Asterisk 1.6.1.18, dahdi 2.2.1, libpri 1.4.10.2 with a Digium TE220 card on Debian 5.0.4 (x86) * Asterisk 1.6.2.7, DAHDI 2.3.0, libpri 1.4.10.2 with a Digium TE220 card on Debian 5.0.4 (x86) ****** ADDITIONAL INFORMATION ****** Until this behaviour is changed, the continuing/non-hangup alternatives to MeetMe 'L' and 'S' options I have found are: 1.) Use an AGI background script with MeetMe option "b". Example script use: Wait(${CONFTIMELIMIT}) and then MeetMeChannelAdmin (or MeetMeAdmin?) to kick the channels associated with the MeetMe conference. 2.) Use Set(TIMEOUT(absolute)=$[${CURRENTCALLTIME} + ${CONFTIMELIMIT}]), once the absolute time has been reached for the given channel, user of said channel will be transferred to the 'T' extension and follow a context from there. Options which end in Hangup and do not follow context: 1.) Limit the scheduled conference via realtime to have an 'endtime' associated with the total length of conference time required. 2.) Use a Marked user, when last marked user leaves all users are removed from conference. 3.) MeetMe with 'L' option, MeetMe with 'L' and 'C' options together 4.) MeetMe with 'S' option, and MeetMe with 'S' and 'C' options together | ||
Comments: | By: Leif Madsen (lmadsen) 2010-05-11 10:17:45 Acknowledge that this is a bug. This will be resolved by a developer as time and resources allow. By: Digium Subversion (svnbot) 2011-01-29 11:51:29.000-0600 Repository: asterisk Revision: 304773 U branches/1.6.2/apps/app_meetme.c ------------------------------------------------------------------------ r304773 | seanbright | 2011-01-29 11:51:28 -0600 (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 ASTERISK-16077) Reported by: var ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=304773 By: Digium Subversion (svnbot) 2011-01-29 11:54:44.000-0600 Repository: asterisk Revision: 304774 _U branches/1.8/ U branches/1.8/apps/app_meetme.c ------------------------------------------------------------------------ r304774 | seanbright | 2011-01-29 11:54:44 -0600 (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 ASTERISK-16077) Reported by: var ........ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=304774 By: Digium Subversion (svnbot) 2011-01-29 11:57:02.000-0600 Repository: asterisk Revision: 304775 _U trunk/ U trunk/apps/app_meetme.c ------------------------------------------------------------------------ r304775 | seanbright | 2011-01-29 11:57:02 -0600 (Sat, 29 Jan 2011) | 23 lines 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 ASTERISK-16077) Reported by: var ........ ................ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=304775 By: var (var) 2011-04-08 00:54:01 This issue is not fixed, 'L' and 'S' both cause channel implementing the option to go into SoftHangup when the time limit is reached and not adhere to the 'C' option. Note that this is using realtime meetme. Asterisk: 1.6.2.17.2 libpri: 1.4.11.5 Dahdi: 2.4.1 Attached output from 'S' option use By: var (var) 2011-04-08 01:58:56 Patch attached, tested and adheres to the 'C' option on 'L' and 'S' use. Also tested to ensure no continuation when 'C' is not in use. Patch was made for Asterisk version 1.6.2.17.2 for apps/app_meetme.c By: Sean Bright (seanbright) 2011-04-15 11:47:28 The issue is absolutely fixed, just not in the version of asterisk you are using. It will be in 1.6.12.18 when it is released (the RC is out now). 1.6.12.17.2 was copied from 1.6.12.17 which was originally tagged before app_meetme.c was patched. By: var (var) 2011-05-02 23:25:12 I have installed and tested 1.6.2.18, this issue is still prevalent when using qCL(). The channel which uses qCL() does not continue the dialplan once the time limit (L) is reached, a Soft-Hanging of the channel is executed. The original patch I added fixed this for 1.6.2.17 in two separate instances, the changes in 1.6.2.18 do not catch a particular break instance when time_left_ms <= 0. I have attached another patch for 1.6.2.18 to check for the continue flag before this specific break statement. By: Sean Bright (seanbright) 2011-05-03 20:35:15 Thanks for your patch, I will review it and apply if necessary. In the future, please generated patch files using the -u (unified) option to diff. By: Digium Subversion (svnbot) 2011-05-03 21:23:03 Repository: asterisk Revision: 316475 U branches/1.6.2/apps/app_meetme.c ------------------------------------------------------------------------ r316475 | seanbright | 2011-05-03 21:23:02 -0500 (Tue, 03 May 2011) | 10 lines Honor the C option to MeetMe when L is passed. This fixes a case that r304773 and friends missed. (closes issue ASTERISK-16077) Reported by: var Patches: meetme-continue-on-l_16218.diff uploaded by var (license 1227) Tested by: seanbright ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=316475 By: Digium Subversion (svnbot) 2011-05-03 21:34:02 Repository: asterisk Revision: 316476 _U branches/1.8/ U branches/1.8/apps/app_meetme.c ------------------------------------------------------------------------ r316476 | seanbright | 2011-05-03 21:34:01 -0500 (Tue, 03 May 2011) | 17 lines Merged revisions 316475 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r316475 | seanbright | 2011-05-03 22:23:01 -0400 (Tue, 03 May 2011) | 10 lines Honor the C option to MeetMe when L is passed. This fixes a case that r304773 and friends missed. (closes issue ASTERISK-16077) Reported by: var Patches: meetme-continue-on-l_16218.diff uploaded by var (license 1227) Tested by: seanbright ........ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=316476 By: Digium Subversion (svnbot) 2011-05-03 21:39:12 Repository: asterisk Revision: 316477 _U trunk/ U trunk/apps/app_meetme.c ------------------------------------------------------------------------ r316477 | seanbright | 2011-05-03 21:39:11 -0500 (Tue, 03 May 2011) | 24 lines Merged revisions 316476 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ................ r316476 | seanbright | 2011-05-03 22:34:01 -0400 (Tue, 03 May 2011) | 17 lines Merged revisions 316475 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r316475 | seanbright | 2011-05-03 22:23:01 -0400 (Tue, 03 May 2011) | 10 lines Honor the C option to MeetMe when L is passed. This fixes a case that r304773 and friends missed. (closes issue ASTERISK-16077) Reported by: var Patches: meetme-continue-on-l_16218.diff uploaded by var (license 1227) Tested by: seanbright ........ ................ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=316477 |