[asterisk-bugs] [JIRA] (PRI-180) Incorrect handling of DISCONNECT with Progress Indicator #8
Alexandr Dranchuk (JIRA)
noreply at issues.asterisk.org
Tue Jan 19 19:25:33 CST 2016
Alexandr Dranchuk created PRI-180:
-------------------------------------
Summary: Incorrect handling of DISCONNECT with Progress Indicator #8
Key: PRI-180
URL: https://issues.asterisk.org/jira/browse/PRI-180
Project: LibPRI
Issue Type: Bug
Security Level: None
Components: General
Affects Versions: 1.4.13
Environment: Debian 7 / x64
Reporter: Alexandr Dranchuk
Assignee: Richard Mudgett
Severity: Minor
When we make an outgoing call by DAHDI / libpri 1.4.15, sometimes we get a DISCONNECT with Progress Indicator #8. Currently we just start to ignore DISCONNECT message if *inbanddisconnect=yes* are set in chan_dahdi.conf
But after first DISCONNECT with Progress Indicator #8, we get second DISCONNECT without Progress Indicator, and thus have to release the call, not keep ignoring it.
Current code not expecting second DISCONNECT message, only RELEASE but according ETS ISDN standards document, call can be finished by any of this messages.
For now I've changed the line of q931.c from
{code:title=q931.c|borderStyle=solid}
UPDATE_OURCALLSTATE(ctrl, c, Q931_CALL_STATE_DISCONNECT_INDICATION);
c->peercallstate = Q931_CALL_STATE_DISCONNECT_REQUEST;
c->sendhangupack = 1;
/* wait for a RELEASE so that sufficient time has passed
for the inband audio to be heard */
if (ctrl->acceptinbanddisconnect && (c->progressmask & PRI_PROG_INBAND_AVAILABLE))
break;
{code}
to
{code:title=q931.c|borderStyle=solid}
if (ctrl->acceptinbanddisconnect && (c->progressmask & PRI_PROG_INBAND_AVAILABLE)) {
if (c->ourcallstate != Q931_CALL_STATE_DISCONNECT_INDICATION) {
UPDATE_OURCALLSTATE(ctrl, c, Q931_CALL_STATE_DISCONNECT_INDICATION);
c->peercallstate = Q931_CALL_STATE_DISCONNECT_REQUEST;
c->sendhangupack = 1;
break;
}
}
UPDATE_OURCALLSTATE(ctrl, c, Q931_CALL_STATE_DISCONNECT_INDICATION);
c->peercallstate = Q931_CALL_STATE_DISCONNECT_REQUEST;
c->sendhangupack = 1;
{code}
and tested. All works fine for me.
Any help would be appreciated.
--
This message was sent by Atlassian JIRA
(v6.2#6252)
More information about the asterisk-bugs
mailing list