[Asterisk-code-review] app queue: Only do announcement logic between ringing cycles (asterisk[15])

Joshua Colp asteriskteam at digium.com
Mon Sep 25 07:02:29 CDT 2017


Joshua Colp has uploaded this change for review. ( https://gerrit.asterisk.org/6581


Change subject: app_queue: Only do announcement logic between ringing cycles
......................................................................

app_queue: Only do announcement logic between ringing cycles

This patch reverts the change by patch 2263 from old reviewboard.
Note that reverting that 2263-patch still preserves the behaviour that
the commit log of the 2263-patch claimed to add. The reason for this is:

The function wait_for_answer is only called from try_calling which
in turn is only called from the main for loop in queue_exec, and
earlier in that loop we already check the things that's removed by
this patch. There's no need to check those things twice each loop
iteration, and I think the proper place to check it is before each
ringing cycle. By checking it in wait_for_answer, you allow the issue
explained in the jira - that the head caller hears announcements while
the agents' sip phones are actively ringing.

Reported-by: Stefan Engström
Tested-by: Stefan Engström
ASTERISK-27216 #close

Change-Id: Ic4290dc75256f9743900c6762ee1bb915f672db0
---
M apps/app_queue.c
1 file changed, 4 insertions(+), 14 deletions(-)



  git pull ssh://gerrit.asterisk.org:29418/asterisk refs/changes/81/6581/1

diff --git a/apps/app_queue.c b/apps/app_queue.c
index ef40a89..b6079af 100644
--- a/apps/app_queue.c
+++ b/apps/app_queue.c
@@ -4831,7 +4831,7 @@
  *
  * \todo eventually all call forward logic should be intergerated into and replaced by ast_call_forward()
  */
-static struct callattempt *wait_for_answer(struct queue_ent *qe, struct callattempt *outgoing, int *to, char *digit, int prebusies, int caller_disconnect, int forwardsallowed, int ringing)
+static struct callattempt *wait_for_answer(struct queue_ent *qe, struct callattempt *outgoing, int *to, char *digit, int prebusies, int caller_disconnect, int forwardsallowed)
 {
 	const char *queue = qe->parent->name;
 	struct callattempt *o, *start = NULL, *prev = NULL;
@@ -5348,16 +5348,6 @@
 			ast_frfree(f);
 		}
 	}
-
-	/* Make a position announcement, if enabled */
- 	if (qe->parent->announcefrequency && qe->parent->announce_to_first_user) {
-		say_position(qe, ringing);
-	}
-
- 	/* Make a periodic announcement, if enabled */
- 	if (qe->parent->periodicannouncefrequency && qe->parent->announce_to_first_user) {
- 		say_periodic_announcement(qe, ringing);
- 	}
 
 	if (!*to) {
 		for (o = start; o; o = o->call_next) {
@@ -6788,7 +6778,7 @@
 	ring_one(qe, outgoing, &numbusies);
 	lpeer = wait_for_answer(qe, outgoing, &to, &digit, numbusies,
 		ast_test_flag(&(bridge_config.features_caller), AST_FEATURE_DISCONNECT),
-		forwardsallowed, ringing);
+		forwardsallowed);
 
 	ao2_lock(qe->parent);
 	if (qe->parent->strategy == QUEUE_STRATEGY_RRMEMORY || qe->parent->strategy == QUEUE_STRATEGY_RRORDERED) {
@@ -8259,14 +8249,14 @@
 
 		if (makeannouncement) {
 			/* Make a position announcement, if enabled */
-			if (qe.parent->announcefrequency)
+			if (qe.parent->announcefrequency && qe.parent->announce_to_first_user)
 				if ((res = say_position(&qe,ringing)))
 					goto stop;
 		}
 		makeannouncement = 1;
 
 		/* Make a periodic announcement, if enabled */
-		if (qe.parent->periodicannouncefrequency) {
+		if (qe.parent->periodicannouncefrequency && qe.parent->announce_to_first_user) {
 			if ((res = say_periodic_announcement(&qe,ringing))) {
 				goto stop;
 			}

-- 
To view, visit https://gerrit.asterisk.org/6581
To unsubscribe, visit https://gerrit.asterisk.org/settings

Gerrit-Project: asterisk
Gerrit-Branch: 15
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ic4290dc75256f9743900c6762ee1bb915f672db0
Gerrit-Change-Number: 6581
Gerrit-PatchSet: 1
Gerrit-Owner: Joshua Colp <jcolp at digium.com>
Gerrit-Reviewer: Stefan Engström <stefanen at kth.se>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-code-review/attachments/20170925/6c92b749/attachment.html>


More information about the asterisk-code-review mailing list