[asterisk-commits] oej: branch oej/pinequeue-1.8 r363631 - /team/oej/pinequeue-1.8/apps/app_queue.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Wed Apr 25 06:38:18 CDT 2012


Author: oej
Date: Wed Apr 25 06:38:13 2012
New Revision: 363631

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=363631
Log:
Make sure we maintain the #2 and following people in the queue

Modified:
    team/oej/pinequeue-1.8/apps/app_queue.c

Modified: team/oej/pinequeue-1.8/apps/app_queue.c
URL: http://svnview.digium.com/svn/asterisk/team/oej/pinequeue-1.8/apps/app_queue.c?view=diff&rev=363631&r1=363630&r2=363631
==============================================================================
--- team/oej/pinequeue-1.8/apps/app_queue.c (original)
+++ team/oej/pinequeue-1.8/apps/app_queue.c Wed Apr 25 06:38:13 2012
@@ -2527,29 +2527,6 @@
 }
 
 void destroy_streamfile_info(struct ast_queue_streamfile_info *playdata);
-/* Uncommented by Old Olle patch 
-static int play_file(struct ast_channel *chan, const char *filename)
-{
-	int res;
-
-	if (ast_strlen_zero(filename)) {
-		return 0;
-	}
-
-	if (!ast_fileexists(filename, NULL, chan->language)) {
-		return 0;
-	}
-
-	ast_stopstream(chan);
-
-	res = ast_streamfile(chan, filename, chan->language);
-	if (!res)
-		res = ast_waitstream(chan, AST_DIGIT_ANY);
-
-	ast_stopstream(chan);
-
-	return res;
-} */
 
 /*!
  * \brief Check for valid exit from queue via goto
@@ -2630,10 +2607,11 @@
 		} else {
 			if (qe->parent->announceposition == ANNOUNCEPOSITION_MORE_THAN && qe->pos > qe->parent->announcepositionlimit){
 				/* More than Case*/
-			  res = play_file(qe->chan, qe->parent->queue_quantity1, ringing, NULL);
+				res = play_file(qe->chan, qe->parent->queue_quantity1, ringing, NULL);
 				if (res)
 					goto playout;
 				res = ast_say_number(qe->chan, qe->parent->announcepositionlimit, AST_DIGIT_ANY, qe->chan->language, NULL); /* Needs gender */
+/* OEJ CHECK */
 				if (res)
 					goto playout;
 			} else {
@@ -2672,9 +2650,9 @@
 
 	/* If the hold time is >1 min, if it's enabled, and if it's not
 	   supposed to be only once and we have already said it, say it */
-    if ((avgholdmins+avgholdsecs) > 0 && qe->parent->announceholdtime &&
-        ((qe->parent->announceholdtime == ANNOUNCEHOLDTIME_ONCE && !qe->last_pos) ||
-        !(qe->parent->announceholdtime == ANNOUNCEHOLDTIME_ONCE))) {
+	if ((avgholdmins+avgholdsecs) > 0 && qe->parent->announceholdtime &&
+       	 ((qe->parent->announceholdtime == ANNOUNCEHOLDTIME_ONCE && !qe->last_pos) ||
+       	 !(qe->parent->announceholdtime == ANNOUNCEHOLDTIME_ONCE))) {
 		res = play_file(qe->chan, qe->parent->sound_holdtime,ringing,NULL);
 		if (res)
 			goto playout;
@@ -3929,6 +3907,10 @@
 	/* This is the holding pen for callers 2 through maxlen */
 	for (;;) {
 
+		if (background_prompts) {
+			play_file(qe->chan, NULL, 0, qe->moh);
+		}
+
 		if (is_our_turn(qe))
 			break;
 
@@ -6248,19 +6230,21 @@
 		S_OR(args.url, ""),
 		S_COR(chan->caller.id.number.valid, chan->caller.id.number.str, ""),
 		qe.opos);
-  /* Begin old Olle patch */
-	datastore = ast_datastore_alloc(ast_sound_ending(), NULL);
-
-	aqsi->qe = &qe;
-	aqsi->chan = chan;
-	aqsi->ringing = ringing;
-	aqsi->now_playing = 0;
-	strcpy(aqsi->moh, qe.moh);
-	AST_LIST_HEAD_INIT(&aqsi->flist);
-	datastore->data = aqsi;
+
+	/* Add the background music datastore for this channel */
+	if (background_prompts) {
+		datastore = ast_datastore_alloc(ast_sound_ending(), NULL);
+
+		aqsi->qe = &qe;
+		aqsi->chan = chan;
+		aqsi->ringing = ringing;
+		aqsi->now_playing = 0;
+		strcpy(aqsi->moh, qe.moh);
+		AST_LIST_HEAD_INIT(&aqsi->flist);
+		datastore->data = aqsi;
 	
-	ast_channel_datastore_add(chan, datastore);
-  /* End old Olle patch */
+		ast_channel_datastore_add(chan, datastore);
+	}
 
 	copy_rules(&qe, args.rule);
 	qe.pr = AST_LIST_FIRST(&qe.qe_rules);




More information about the asterisk-commits mailing list