osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41044?usp=email )
Change subject: msc: CC SETUP MT speech: verify bearer capabilities
......................................................................
msc: CC SETUP MT speech: verify bearer capabilities
Verify that the MSC sends the bearer capability IE from 3GPP TS 24.008 §
D.1.2 for speech in the network to MS direction, instead of allowing
e.g. what osmo-msc master and latest release currently do:
- Filling out radio channel requirement the same way as the MS to
Network direction, which is wrong for the Network to MS direction:
"Bits 6 and 7 are spare bits. The sending side (i.e. the network)
shall set bit 7 to value 0 and bit 6 to value 1." (3GPP TS 24.008
Table 10.5.102)
- Sending a speech list in the Network to MS direction, which seems to
be allowed in theory and MS are supposed to ignore it (end of Table
10.5.103) but causes bugs in some MS in practice. Therefore it is
better to ensure that osmo-msc does not send it (OS#6656).
Implement this in f_mt_call_complete(), which gets used e.g. by
TC_lu_and_mt_call.
Depends: osmo-msc I7046e9244fd9d4301ee2c4df1147a619f753739c
Related: OS#6657, OS#6655, OS#6656
Change-Id: I8fd33cf2f7fb8a1c34851ecf54fccddd2efd0536
---
M library/L3_Templates.ttcn
M msc/BSC_ConnectionHandler.ttcn
2 files changed, 28 insertions(+), 1 deletion(-)
Approvals:
fixeria: Looks good to me, approved
Jenkins Builder: Verified
diff --git a/library/L3_Templates.ttcn b/library/L3_Templates.ttcn
index 9551845..8f419f0 100644
--- a/library/L3_Templates.ttcn
+++ b/library/L3_Templates.ttcn
@@ -1382,6 +1382,24 @@
octet7 := omit
}
+/* TS 3GPP 24.008 § D.1.2 */
+template (value) BearerCapability_TLV ts_Bcap_voice_mt := {
+ elementIdentifier := '04'O,
+ lengthIndicator := 1,
+ octet3 := {
+ informationTransferCapability := '000'B,
+ transferMode := '0'B,
+ codingStandard := '0'B,
+ radioChannelRequirement := '01'B, /* spare */
+ extension_octet_3 := '1'B, /* not ext */
+ speech_aux_3a_3b := omit
+ },
+ octet4 := omit,
+ octet5 := omit,
+ octet6 := omit,
+ octet7 := omit
+}
+
/* TS 3GPP 24.008 § 10.5.4.5 */
template (value) BearerCapability_TLV ts_Bcap_csd := {
elementIdentifier := '04'O,
diff --git a/msc/BSC_ConnectionHandler.ttcn b/msc/BSC_ConnectionHandler.ttcn
index 6acaa20..a0f4d28 100644
--- a/msc/BSC_ConnectionHandler.ttcn
+++ b/msc/BSC_ConnectionHandler.ttcn
@@ -1131,7 +1131,16 @@
cpars.got_osmux_count := 0;
/* MS <- MSC: Expect CC SETUP */
- BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_CC_SETUP(cpars.transaction_id, *, cpars.called_party)));
+ /* Remove 'or Misc_Helpers.f_osmo_repo_is("latest")' after osmo-msc
+ * 1.15.0 is released with I7046e9244fd9d4301ee2c4df1147a619f753739c */
+ if (cpars.csd or Misc_Helpers.f_osmo_repo_is("latest")) {
+ BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_CC_SETUP(cpars.transaction_id, *, cpars.called_party, *)));
+ } else {
+ /* Speech: check bearer capabilities against ts_Bcap_voice_mt
+ * to ensure proper spare bits are sent for radio channel
+ * requirement and that the speech list is omitted (OS#6657) */
+ BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_CC_SETUP(cpars.transaction_id, *, cpars.called_party, ts_Bcap_voice_mt)));
+ }
/* MS -> MSC: ALERTING */
BSSAP.send(ts_PDU_DTAP_MO(ts_ML3_MO_CC_ALERTING(cpars.transaction_id)));
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41044?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I8fd33cf2f7fb8a1c34851ecf54fccddd2efd0536
Gerrit-Change-Number: 41044
Gerrit-PatchSet: 6
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
osmith has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/41056?usp=email )
Change subject: gsm_04_08: add GSM48_BCAP_RRQ_SPARE_NETWORK_TO_MS
......................................................................
gsm_04_08: add GSM48_BCAP_RRQ_SPARE_NETWORK_TO_MS
From network to MS, we must send spare bits that are encoded the same as
GSM48_BCAP_RRQ_FR_ONLY. Add a define, so it is obvious that those are
spare bits.
Related: OS#6657
Related: osmo-msc I7046e9244fd9d4301ee2c4df1147a619f753739c
Change-Id: I97101c977104eae82e4850d40f9abd15aa03e33e
---
M include/osmocom/gsm/protocol/gsm_04_08.h
1 file changed, 3 insertions(+), 0 deletions(-)
Approvals:
Jenkins Builder: Verified
fixeria: Looks good to me, but someone else must approve
pespin: Looks good to me, approved
diff --git a/include/osmocom/gsm/protocol/gsm_04_08.h b/include/osmocom/gsm/protocol/gsm_04_08.h
index aad50d6..27182b6 100644
--- a/include/osmocom/gsm/protocol/gsm_04_08.h
+++ b/include/osmocom/gsm/protocol/gsm_04_08.h
@@ -2154,6 +2154,9 @@
GSM48_BCAP_RRQ_FR_ONLY = 1,
GSM48_BCAP_RRQ_DUAL_HR = 2,
GSM48_BCAP_RRQ_DUAL_FR = 3,
+/* GSM 04.08 Table 10.72: In network to MS direction, the network must send
+ * spare bits that are encoded the same as FR_ONLY. */
+#define GSM48_BCAP_RRQ_SPARE_NETWORK_TO_MS GSM48_BCAP_RRQ_FR_ONLY
};
/* GSM 04.08 Bearer Capability: Rate Adaption */
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/41056?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I97101c977104eae82e4850d40f9abd15aa03e33e
Gerrit-Change-Number: 41056
Gerrit-PatchSet: 2
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Attention is currently required from: fixeria.
osmith has posted comments on this change by osmith. ( https://gerrit.osmocom.org/c/libosmocore/+/41056?usp=email )
Change subject: gsm_04_08: add GSM48_BCAP_RRQ_SPARE_NETWORK_TO_MS
......................................................................
Patch Set 2:
(1 comment)
File include/osmocom/gsm/protocol/gsm_04_08.h:
https://gerrit.osmocom.org/c/libosmocore/+/41056/comment/4f9bd5f2_61639a95?… :
PS1, Line 2158: /* GSM 04.08 Table 10.72: In network to MS direction, the network must send
> I really had to use CTRL+F to actually find the enum, so not close enough ;) […]
Done
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/41056?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I97101c977104eae82e4850d40f9abd15aa03e33e
Gerrit-Change-Number: 41056
Gerrit-PatchSet: 2
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Comment-Date: Mon, 15 Sep 2025 06:33:23 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>
Comment-In-Reply-To: fixeria <vyanitskiy(a)sysmocom.de>