q931: sendSetupAck: Don't encode a BRI channel selection in PRI

If yate is operating in the 'network' role of a PRI interface,
it must send a valid ChannelID InformationElement in the SETUP ACK.

However, current yate code is encoding the channel selection field
of said information element wrong, as it unconditionally looks up
the s_dict_channelIDSelect_BRI (instead of _PRI).

This fixes a regression introduced in 2009 in the following commit:

commit 05b717e0b9
Author: paulc <paulc@acf43c95-373e-0410-b603-e72c3f656dc1>
Date:   Mon Mar 2 18:51:30 2009 +0000

ISDN BRI support, most Andrei's (andrei@null.ro) work.
Fixes and new features throughout the signalling engine.
it-svn-id: http://yate.null.ro/svn/yate/trunk@2505 acf43c95-373e-0410-b603-e72c3f656dc1
This commit is contained in:
Harald Welte 2022-02-27 22:01:37 +01:00
parent ef0d8d4c6a
commit 6f336a336a
1 changed files with 1 additions and 1 deletions

View File

@ -1741,7 +1741,7 @@ bool ISDNQ931Call::sendSetupAck()
ISDNQ931Message* msg = new ISDNQ931Message(ISDNQ931Message::SetupAck,this);
if (!m_channelIDSent) {
m_data.m_channelType = "B";
if (m_circuit)
if (m_data.m_bri && m_circuit)
m_data.m_channelSelect = lookup(m_circuit->code(),Q931Parser::s_dict_channelIDSelect_BRI);
if (!m_data.m_channelSelect) {
Debug(q931(),DebugNote,"Call(%u,%u). No voice channel available [%p]",