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 3020ff51ed
commit f727a1dd3a
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;
}