From 2952e95715f26ab239c58d1f0a8213c429514f05 Mon Sep 17 00:00:00 2001 From: Richard Mudgett Date: Tue, 15 Mar 2016 16:22:53 -0500 Subject: [PATCH] q931.c: Fix DISCONNECT Progress Indicator ie handling. There are two scenarios that are exposed by DISCONNECT not initializing the progress indicator value before processing the message when the chan_dahdi.conf inbanddisconnect=yes option is set. 1) If a DISCONNECT comes in without a Progress Indicator ie and an earlier message (such as SETUP-ACKNOWLEDGE or PROCEEDING) came in with the indicator #8 (Inband audio present) then the DISCONNECT would not cause an immediate hangup. We would be letting the user hear the inband audio even though there isn't any. 2) If a DISCONNECT message comes in with the indicator #8 (Inband audio present) and then later the DISCONNECT message is repeated without a Progress Indicator ie we would still ignore the second DISCONNECT to let the user hear inband audio even though it likely isn't there anymore. PRI-180 #close Reported by: Alexandr Dranchuk Change-Id: Ic88aafb45053146b5701d666e6212f7555573624 --- q931.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/q931.c b/q931.c index 69c210e..52afb3c 100644 --- a/q931.c +++ b/q931.c @@ -7381,6 +7381,8 @@ static int prepare_to_handle_q931_message(struct pri *ctrl, q931_mh *mh, q931_ca c->cause = -1; c->causecode = -1; c->causeloc = -1; + c->progress = -1; + c->progressmask = 0; c->aoc_units = -1; pri_schedule_del(ctrl, c->retranstimer); c->retranstimer = 0;