[svn-commits] rmudgett: branch 1.8 r414401 - /branches/1.8/apps/app_meetme.c

SVN commits to the Digium repositories svn-commits at lists.digium.com
Thu May 22 10:47:58 CDT 2014


Author: rmudgett
Date: Thu May 22 10:47:51 2014
New Revision: 414401

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=414401
Log:
app_meetme: Don't interrupt MOH for waitmarked users.

Occasionally, when the last marked user leaves the conference, waitmarked
users don't get MOH if MOH is supposed to be played while a waitmarked
user is waiting for another marked user.

* Made not interrupt MOH when the user is a waitmarked user.  The
waitmarked user doesn't need to hear any leave announcements from the
conference as the user would have already heard different leave
announcements if they were enabled.  Apparently DAHDI occasionally sends
unending non-silent streams to these users or a normal user still in the
conference has continuous high background noise.  These non-silent streams
cause MOH to be suspended while the never ending "announcement" is played.

Issue caused by ASTERISK-13680.

AST-1349 #close
Reported by: Tyler Stewart

Review: https://reviewboard.asterisk.org/r/3543/

Modified:
    branches/1.8/apps/app_meetme.c

Modified: branches/1.8/apps/app_meetme.c
URL: http://svnview.digium.com/svn/asterisk/branches/1.8/apps/app_meetme.c?view=diff&rev=414401&r1=414400&r2=414401
==============================================================================
--- branches/1.8/apps/app_meetme.c (original)
+++ branches/1.8/apps/app_meetme.c Thu May 22 10:47:51 2014
@@ -3899,7 +3899,10 @@
 						ast_mutex_lock(&conf->listenlock);
 						if (!conf->transframe[idx]) {
 							if (conf->origframe) {
-								if (musiconhold && !ast_dsp_silence(dsp, conf->origframe, &confsilence) && confsilence < MEETME_DELAYDETECTTALK) {
+								if (musiconhold
+									&& !ast_test_flag64(confflags, CONFFLAG_WAITMARKED)
+									&& !ast_dsp_silence(dsp, conf->origframe, &confsilence)
+									&& confsilence < MEETME_DELAYDETECTTALK) {
 									ast_moh_stop(chan);
 									mohtempstopped = 1;
 								}
@@ -3939,7 +3942,10 @@
 						ast_mutex_unlock(&conf->listenlock);
 					} else {
 bailoutandtrynormal:
-						if (musiconhold && !ast_dsp_silence(dsp, &fr, &confsilence) && confsilence < MEETME_DELAYDETECTTALK) {
+						if (musiconhold
+							&& !ast_test_flag64(confflags, CONFFLAG_WAITMARKED)
+							&& !ast_dsp_silence(dsp, &fr, &confsilence)
+							&& confsilence < MEETME_DELAYDETECTTALK) {
 							ast_moh_stop(chan);
 							mohtempstopped = 1;
 						}




More information about the svn-commits mailing list