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)
This commit is contained in:
Harald Welte 2022-03-08 13:04:00 +01:00
parent 02ab7441ae
commit dc005d1fad
1 changed files with 2 additions and 0 deletions

View File

@ -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;
}