MCPcopy Create free account
hub / github.com/RangeNetworks/openbts / appendTiPd

Method appendTiPd

SGSNGGSN/GPRSL3Messages.cpp:1262–1274  ·  view source on GitHub ↗

3GPP 24.007 11.2.3.1.3 Transaction Identifier. First bit is the TIflag that must be set for a message reply. And I quote: "A message has a TI flag set to "0" when it belongs to transaction initiated by its sender, and to "1" otherwise." Transaction id values > 7 requre an extension byte.

Source from the content-addressed store, hash-verified

1260// and to "1" otherwise."
1261// Transaction id values > 7 requre an extension byte.
1262void L3SmDlMsg::appendTiPd(ByteVector &msg)
1263{
1264 unsigned tiFlag = isSenseCmd() ? 0 : 0x8;
1265 // Note: nibbles are reversed, as always for L3 messages.
1266 if (mTransactionId < 7) {
1267 msg.appendField(tiFlag|mTransactionId,4); // Transaction id. The 0x8 indicates this is a command.
1268 msg.appendField(GSM::L3GPRSSessionManagementPD,4); // protocol discriminator.
1269 } else {
1270 msg.appendField(tiFlag|0x7,4); // Magic value indicates additional transaction id field present.
1271 msg.appendField(GSM::L3GPRSSessionManagementPD,4); // protocol discriminator.
1272 msg.appendByte(0x80|mTransactionId); // The 0x80 is a required but meaningless extension indicator.
1273 }
1274}
1275
1276
1277void L3SmMsgActivatePdpContextAccept::smWriteBody(ByteVector &msg)

Callers

nothing calls this directly

Calls 2

appendByteMethod · 0.80
appendFieldMethod · 0.45

Tested by

no test coverage detected