From dc005d1fade02cb530cda1b7cfa476df8214975d Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Tue, 8 Mar 2022 13:04:00 +0100 Subject: [PATCH] q931: If we're the network, channelID in SETUP ACK is mandatory The user may suggest a given channel in the SETUP, but it's not legal for the network to return a non-mandatory ChannelID. See Q.931 Section 5.1.2 (B-channel selection - Originating): The selected B-channel is indicated in the Channel identification information element coded as "channel is indicated, no acceptable alternative" in the first message returned by the network in response to the SETUP message (i.e. a SETUP ACKNOWLEDGE or CALL PROCEEDING message) --- libs/ysig/q931.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libs/ysig/q931.cpp b/libs/ysig/q931.cpp index adb4b283..dce54d93 100644 --- a/libs/ysig/q931.cpp +++ b/libs/ysig/q931.cpp @@ -1749,6 +1749,8 @@ bool ISDNQ931Call::sendSetupAck() Q931_CALL_ID,this); return sendReleaseComplete("congestion"); } + if (q931()->network()) + m_data.m_channelMandatory = true; m_data.processChannelID(msg,true,&q931()->parserData()); m_channelIDSent = true; }