laforge has uploaded this change for review. (
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/32405 )
Change subject: WIP: BSSMAP_Templates: Add VBS/VGCS related templates
......................................................................
WIP: BSSMAP_Templates: Add VBS/VGCS related templates
As we want to test VBS/VGCS related aspects of BSC and/or MSC soon,
we will need related templates to construct and match related messages
and IEs.
Change-Id: I949f731de794b22292b01d0ddf9a75a9e7e7e71d
---
M library/BSSMAP_Templates.ttcn
1 file changed, 491 insertions(+), 3 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/05/32405/1
diff --git a/library/BSSMAP_Templates.ttcn b/library/BSSMAP_Templates.ttcn
index 02aad9f..7dc5ce7 100644
--- a/library/BSSMAP_Templates.ttcn
+++ b/library/BSSMAP_Templates.ttcn
@@ -2,7 +2,7 @@
/* BSSMAP Templates, building on top of BSSAP_Types from Ericsson.
*
- * (C) 2017-2019 by Harald Welte <laforge(a)gnumonks.org>
+ * (C) 2017-2023 by Harald Welte <laforge(a)gnumonks.org>
* contributions by sysmocom - s.f.m.c. GmbH
* All rights reserved.
*
@@ -396,13 +396,13 @@
}
-template BSSMAP_IE_Layer3Information ts_BSSMAP_IE_L3Info(octetstring l3info) := {
+template (value) BSSMAP_IE_Layer3Information ts_BSSMAP_IE_L3Info(template (value)
octetstring l3info) := {
elementIdentifier := '17'O,
lengthIndicator := 0,
layer3info := l3info
}
-template BSSMAP_IE_Layer3Information tr_BSSMAP_IE_L3Info(template octetstring l3info) :=
{
+template (present) BSSMAP_IE_Layer3Information tr_BSSMAP_IE_L3Info(template (present)
octetstring l3info) := {
elementIdentifier := '17'O,
lengthIndicator := ?,
layer3info := l3info
@@ -1962,6 +1962,481 @@
rTC := '00'B /* Response Time is not specified */
}
+
+/* 3.2.2.55 */
+template (value) BSSMAP_IE_GroupCallReference
+ts_BSSMAP_IE_GroupCallRef(template (value) GroupCallRef group_call_ref) :={
+ elementIdentifier := '37'O,
+ lengthIndicator := 0, // overwritten
+ descrGroupbroadcastCallRef := group_call_ref
+}
+template (present) BSSMAP_IE_GroupCallReference
+tr_BSSMAP_IE_GroupCallRef(template (present) GroupCallRef group_call_ref) :={
+ elementIdentifier := '37'O,
+ lengthIndicator := 0, // overwritten
+ descrGroupbroadcastCallRef := group_call_ref
+}
+
+/* 3.2.2.88 */
+template (value) BSSMAP_IE_VGCS_FeatureFlags
+ts_BSSMAP_IE_VGCS_FeatureFlags(BIT1 tp_ind, BIT2 as_ind, BIT1 bss_res, BIT1 tcp) := {
+ elementIdentifier := '69'O,
+ lengthIndicator := 0, // overwritten
+ TP_Ind := tp_ind,
+ AS_Ind := as_ind,
+ BSS_Res := bss_res,
+ tCP := tcp,
+ spare := '000'B
+};
+template (present) BSSMAP_IE_VGCS_FeatureFlags
+tr_BSSMAP_IE_VGCS_FeatureFlags(BIT1 tp_ind, BIT2 as_ind, BIT1 bss_res, BIT1 tcp) := {
+ elementIdentifier := '69'O,
+ lengthIndicator := ?,
+ TP_Ind := tp_ind,
+ AS_Ind := as_ind,
+ BSS_Res := bss_res,
+ tCP := tcp,
+ spare := ?
+};
+
+/* 3.2.2.98 */
+template (value) BSSMAP_IE_ApplicationData
+ts_BSSMAP_IE_ApplicationData(template (value) OCT9 adi) := {
+ elementIdentifier := '78'O,
+ lengthIndicator := 0, // overwritten
+ applicationDataInfo := adi
+};
+template (present) BSSMAP_IE_ApplicationData
+tr_BSSMAP_IE_ApplicationData(template (present) OCT9 adi) := {
+ elementIdentifier := '78'O,
+ lengthIndicator := ?,
+ applicationDataInfo := adi
+};
+
+/* 3.2.2.99 */
+template (value) BSSMAP_IE_DataIdentity
+ts_BSSMAP_IE_DataIdentity(template (value) DataIdentity data_id) := {
+ elementIdentifier := '79'O,
+ lengthIndicator := 0, // overwritten
+ dataIdentityInfo := data_id
+};
+template (present) BSSMAP_IE_DataIdentity
+tr_BSSMAP_IE_DataIdentity(template (present) DataIdentity data_id) := {
+ elementIdentifier := '79'O,
+ lengthIndicator := ?,
+ dataIdentityInfo := data_id
+};
+
+/* 3.2.2.52 */
+template (value) BSSMAP_IE_AssignmentRequirement
+ts_BSSMAP_IE_AssRequirement(template (value) OCT1 ass_rqm) := {
+ elementIdentifier := '33'O,
+ assignmentRequirement := ass_rqm
+}
+template (present) BSSMAP_IE_AssignmentRequirement
+tr_BSSMAP_IE_AssRequirement(template (present) OCT1 ass_rqm) := {
+ elementIdentifier := '33'O,
+ assignmentRequirement := ass_rqm
+}
+
+/* 3.2.2.89 */
+template (value) BSSMAP_IE_TalkerPriority
+ts_BSSMAP_IE_TalkerPriority(template (value) BIT2 prio) := {
+ elementIdentifier := '6A'O,
+ priority := prio,
+ spare := '000000'B
+}
+template (value) BSSMAP_IE_TalkerPriority
+tr_BSSMAP_IE_TalkerPriority(template (value) BIT2 prio) := {
+ elementIdentifier := '6A'O,
+ priority := prio,
+ spare := '000000'B
+}
+
+/* 3.2.2.90 */
+template (value) BSSMAP_IE_EmergencySetIndication
+ts_BSSMAP_IE_EmergencySetIndication := {
+ elementIdentifier := '6B'O
+}
+template (present) BSSMAP_IE_EmergencySetIndication
+tr_BSSMAP_IE_EmergencySetIndication := {
+ elementIdentifier := '6B'O
+}
+
+
+
+
+/* Section 3.2.1.50 */
+template (value) PDU_BSSAP
+ts_BSSMAP_VGCS_VBS_Setup(template (value) GroupCallRef group_call_ref)
+modifies ts_BSSAP_BSSMAP := {
+ pdu := {
+ bssmap := {
+ vGCS_VBSSetup := {
+ messageType := '04'O,
+ groupCallReference := ts_BSSMAP_IE_GroupCallRef(group_call_ref),
+ priority := omit,
+ vGCS_FeatureFlags := omit
+ }
+ }
+ }
+}
+template (present) PDU_BSSAP
+tr_BSSMAP_VGCS_VBS_Setup(template (present) GroupCallRef group_call_ref)
+modifies tr_BSSAP_BSSMAP := {
+ pdu := {
+ bssmap := {
+ vGCS_VBSSetup := {
+ messageType := '04'O,
+ groupCallReference := tr_BSSMAP_IE_GroupCallRef(group_call_ref),
+ priority := *,
+ vGCS_FeatureFlags := *
+ }
+ }
+ }
+}
+
+/* Section 3.2.1.51 */
+template (value) PDU_BSSAP
+ts_BSSMAP_VGCS_VBS_SetupAck(template (omit) BSSMAP_IE_VGCS_FeatureFlags feature_flags)
+modifies ts_BSSAP_BSSMAP := {
+ pdu := {
+ bssmap := {
+ vGCS_VBSSetupAck := {
+ messageType := '05'O,
+ vGCS_FeatureFlags := feature_flags
+ }
+ }
+ }
+}
+template (present) PDU_BSSAP
+tr_BSSMAP_VGCS_VBS_SetupAck(template BSSMAP_IE_VGCS_FeatureFlags feature_flags)
+modifies tr_BSSAP_BSSMAP := {
+ pdu := {
+ bssmap := {
+ vGCS_VBSSetupAck := {
+ messageType := '05'O,
+ vGCS_FeatureFlags := feature_flags
+ }
+ }
+ }
+}
+
+/* Section 3.2.1.52 */
+template (value) PDU_BSSAP
+ts_BSSMAP_VGCS_VBS_SetupRefuse(BssmapCause cause)
+modifies ts_BSSAP_BSSMAP := {
+ pdu := {
+ bssmap := {
+ vGCS_VBSSetupRefuse := {
+ messageType := '06'O,
+ cause := ts_BSSMAP_IE_Cause(cause)
+ }
+ }
+ }
+}
+template (present) PDU_BSSAP
+tr_BSSMAP_VGCS_VBS_SetupRefuse(template (present) myBSSMAP_Cause cause)
+modifies tr_BSSAP_BSSMAP := {
+ pdu := {
+ bssmap := {
+ vGCS_VBSSetupRefuse := {
+ messageType := '06'O,
+ cause := tr_BSSMAP_IE_Cause(cause)
+ }
+ }
+ }
+}
+
+/* Section 3.2.1.53 */
+template (value) PDU_BSSAP
+ts_BSSMAP_VGCS_VBS_AssignmentReq(template (value) BSSMAP_IE_ChannelType ch_type,
+ template (value) OCT1 ass_requirement,
+ template (value) BSSMAP_IE_CellIdentifier cell_id,
+ template (value) GroupCallRef group_call_ref,
+ template (omit) BSSMAP_IE_CircuitIdentityCode cic := omit,
+ template (omit) BSSMAP_IE_AoIP_TransportLayerAddress aoip := omit)
+modifies ts_BSSAP_BSSMAP := {
+ pdu := {
+ bssmap := {
+ vGCS_VBSAssignmentRequest := {
+ messageType := '07'O, /* overwritten */
+ channelType := ch_type,
+ assignmentRequirement := ts_BSSMAP_IE_AssRequirement(ass_requirement),
+ cellIdentifier := cell_id,
+ groupCallReference := ts_BSSMAP_IE_GroupCallRef(group_call_ref),
+ priority := omit,
+ circuitIdentityCode := cic,
+ downLinkDTX_Flag := omit,
+ encryptionInformation := omit,
+ vSTK_RAND := omit,
+ vSTK := omit,
+ cellIdentifierListSegment := omit,
+ aoIPTransportLayer := aoip,
+ codecList := omit
+ }
+ }
+ }
+}
+template (present) PDU_BSSAP
+tr_BSSMAP_VGCS_VBS_AssignmentReq(template (present) BSSMAP_IE_ChannelType ch_type,
+ template (present) OCT1 ass_requirement,
+ template (present) BSSMAP_IE_CellIdentifier cell_id,
+ template (present) GroupCallRef group_call_ref,
+ template BSSMAP_IE_CircuitIdentityCode cic := *,
+ template BSSMAP_IE_AoIP_TransportLayerAddress aoip := ?)
+modifies tr_BSSAP_BSSMAP := {
+ pdu := {
+ bssmap := {
+ vGCS_VBSAssignmentRequest := {
+ messageType := '07'O, /* overwritten */
+ channelType := ch_type,
+ assignmentRequirement := tr_BSSMAP_IE_AssRequirement(ass_requirement),
+ cellIdentifier := cell_id,
+ groupCallReference := tr_BSSMAP_IE_GroupCallRef(group_call_ref),
+ priority := omit,
+ circuitIdentityCode := cic,
+ downLinkDTX_Flag := omit,
+ encryptionInformation := omit,
+ vSTK_RAND := omit,
+ vSTK := omit,
+ cellIdentifierListSegment := omit,
+ aoIPTransportLayer := aoip,
+ codecList := omit
+ }
+ }
+ }
+}
+
+/* Section 3.2.1.54 */
+template (value) PDU_BSSAP
+ts_BSSMAP_VGCS_VBS_AssignmentRes(template (value) BSSMAP_IE_ChannelType ch_type,
+ template (value) BSSMAP_IE_CellIdentifier cell_id,
+ template (omit) BSSMAP_IE_ChosenChannel chosen_ch := omit,
+ template (omit) BSSMAP_IE_CircuitIdentityCode cic := omit,
+ template (omit) BSSMAP_IE_AoIP_TransportLayerAddress aoip := omit,
+ template (omit) BSSMAP_IE_SpeechCodec speech_codec := omit)
+modifies ts_BSSAP_BSSMAP := {
+ pdu := {
+ bssmap := {
+ vGCS_VBSAssignmentResult := {
+ messageType := '1C'O, /* overwritten */
+ channelType := ch_type,
+ cellIdentifier := cell_id,
+ chosenChannel := chosen_ch,
+ circuitIdentityCode := cic,
+ circuitPool := omit,
+ aoIPTransportLayer := aoip,
+ speechCodec := speech_codec,
+ callIdentifier := omit
+ }
+ }
+ }
+}
+template (present) PDU_BSSAP
+tr_BSSMAP_VGCS_VBS_AssignmentRes(template (present) BSSMAP_IE_ChannelType ch_type,
+ template (present) BSSMAP_IE_CellIdentifier cell_id,
+ template BSSMAP_IE_ChosenChannel chosen_ch := omit,
+ template BSSMAP_IE_CircuitIdentityCode cic := omit,
+ template BSSMAP_IE_AoIP_TransportLayerAddress aoip := omit,
+ template BSSMAP_IE_SpeechCodec speech_codec := omit)
+modifies tr_BSSAP_BSSMAP := {
+ pdu := {
+ bssmap := {
+ vGCS_VBSAssignmentResult := {
+ messageType := '1C'O, /* overwritten */
+ channelType := ch_type,
+ cellIdentifier := cell_id,
+ chosenChannel := chosen_ch,
+ circuitIdentityCode := cic,
+ circuitPool := *,
+ aoIPTransportLayer := aoip,
+ speechCodec := speech_codec,
+ callIdentifier := *
+ }
+ }
+ }
+}
+
+/* Section 3.2.1.55 */
+template (value) PDU_BSSAP
+ts_BSSMAP_VGCS_VBS_AssignmentFail(BssmapCause cause)
+modifies ts_BSSAP_BSSMAP := {
+ pdu := {
+ bssmap := {
+ vGCS_VBSAssignmentFailure := {
+ messageType := '1D'O, /* overwritten */
+ cause := ts_BSSMAP_IE_Cause(cause),
+ /* we only implement AoIP for now... */
+ circuitPool := omit,
+ circuitPoolList := omit
+ }
+ }
+ }
+}
+template (present) PDU_BSSAP
+tr_BSSMAP_VGCS_VBS_AssignmentFail(template (present) myBSSMAP_Cause cause)
+modifies tr_BSSAP_BSSMAP := {
+ pdu := {
+ bssmap := {
+ vGCS_VBSAssignmentFailure := {
+ messageType := '1D'O, /* overwritten */
+ cause := tr_BSSMAP_IE_Cause(cause),
+ /* we only implement AoIP for now... */
+ circuitPool := omit,
+ circuitPoolList := omit
+ }
+ }
+ }
+}
+
+/* Section 3.2.1.56 */
+template (value) PDU_BSSAP
+ts_BSSMAP_VGCS_VBS_QueuingInd
+modifies ts_BSSAP_BSSMAP := {
+ pdu := {
+ bssmap := {
+ vGCS_VBSQueuingIndication := {
+ messageType := '1E'O
+ }
+ }
+ }
+}
+template (present) PDU_BSSAP
+tr_BSSMAP_VGCS_VBS_QueuingInd
+modifies tr_BSSAP_BSSMAP := {
+ pdu := {
+ bssmap := {
+ vGCS_VBSQueuingIndication := {
+ messageType := '1E'O
+ }
+ }
+ }
+}
+
+/* Section 3.2.1.57 */
+template (value) PDU_BSSAP
+ts_BSSMAP_UplinkReq_L3(template (value) BIT2 priority,
+ template (omit) BSSMAP_IE_CellIdentifier cell_id,
+ template (value) octetstring l3_info)
+modifies ts_BSSAP_BSSMAP := {
+ pdu := {
+ bssmap := {
+ uplinkRequest := {
+ messageType := '1F'O,
+ talkerPriority := ts_BSSMAP_IE_TalkerPriority(priority),
+ cellIdentifier := cell_id,
+ layer3Information := ts_BSSMAP_IE_L3Info(l3_info),
+ mobileIdentity := omit
+ }
+ }
+ }
+}
+template (present) PDU_BSSAP
+tr_BSSMAP_UplinkReq_L3(template (present) BIT2 priority,
+ template BSSMAP_IE_CellIdentifier cell_id,
+ template (present) octetstring l3_info)
+modifies tr_BSSAP_BSSMAP := {
+ pdu := {
+ bssmap := {
+ uplinkRequest := {
+ messageType := '1F'O,
+ talkerPriority := tr_BSSMAP_IE_TalkerPriority(priority),
+ cellIdentifier := cell_id,
+ layer3Information := tr_BSSMAP_IE_L3Info(l3_info),
+ mobileIdentity := omit
+ }
+ }
+ }
+}
+template (value) PDU_BSSAP
+ts_BSSMAP_UplinkReq_MI(template (value) BIT2 priority,
+ template (omit) BSSMAP_IE_CellIdentifier cell_id,
+ template (value) BSSMAP_IE_MobileIdentity mobile_id)
+modifies ts_BSSAP_BSSMAP := {
+ pdu := {
+ bssmap := {
+ uplinkRequest := {
+ messageType := '1F'O,
+ talkerPriority := ts_BSSMAP_IE_TalkerPriority(priority),
+ cellIdentifier := cell_id,
+ layer3Information := omit,
+ mobileIdentity := mobile_id
+ }
+ }
+ }
+}
+template (present) PDU_BSSAP
+tr_BSSMAP_UplinkReq_MI(template (present) BIT2 priority,
+ template (omit) BSSMAP_IE_CellIdentifier cell_id,
+ template (present) BSSMAP_IE_MobileIdentity mobile_id)
+modifies tr_BSSAP_BSSMAP := {
+ pdu := {
+ bssmap := {
+ uplinkRequest := {
+ messageType := '1F'O,
+ talkerPriority := tr_BSSMAP_IE_TalkerPriority(priority),
+ cellIdentifier := cell_id,
+ layer3Information := omit,
+ mobileIdentity := mobile_id
+ }
+ }
+ }
+}
+
+/* 3.2.1.58 */
+template (value) PDU_BSSAP
+ts_BSSMAP_UplinkReqAck(template (value) BIT2 priority,
+ template (omit) BSSMAP_IE_EmergencySetIndication ems := omit,
+ template (omit) BSSMAP_IE_TalkerIdentity talker_id := omit)
+modifies ts_BSSAP_BSSMAP := {
+ pdu := {
+ bssmap := {
+ uplinkRequestAck := {
+ messageType := '27'O,
+ talkerPriority := ts_BSSMAP_IE_TalkerPriority(priority),
+ emergencySetIndication := ems,
+ talkerIdentity := talker_id
+ }
+ }
+ }
+}
+
+
+
+
+/* Section 3.2.1.82 */
+template (value) PDU_BSSAP
+ts_BSSMAP_NotificationData(template (value) OCT9 app_data, template (value) DataIdentity
data_identity)
+modifies ts_BSSAP_BSSMAP := {
+ pdu := {
+ bssmap := {
+ notificationData := {
+ messageType := '62'O,
+ applicationData := ts_BSSMAP_IE_ApplicationData(app_data),
+ dataIdentity := ts_BSSMAP_IE_DataIdentity(data_identity),
+ mSISDN := omit
+ }
+ }
+ }
+}
+template (present) PDU_BSSAP
+tr_BSSMAP_NotificationData(template (present) OCT9 app_data, template (present)
DataIdentity data_identity)
+modifies ts_BSSAP_BSSMAP := {
+ pdu := {
+ bssmap := {
+ notificationData := {
+ messageType := '62'O,
+ applicationData := tr_BSSMAP_IE_ApplicationData(app_data),
+ dataIdentity := tr_BSSMAP_IE_DataIdentity(data_identity),
+ mSISDN := ?
+ }
+ }
+ }
+}
+
+
+
template (value) PDU_BSSAP
ts_BSSMAP_Perform_Location_Request(template (omit) BSSMAP_IE_IMSI imsi,
template (omit) BSSMAP_IE_CellIdentifier cellIdentifier := omit,
--
To view, visit
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/32405
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I949f731de794b22292b01d0ddf9a75a9e7e7e71d
Gerrit-Change-Number: 32405
Gerrit-PatchSet: 1
Gerrit-Owner: laforge <laforge(a)osmocom.org>
Gerrit-MessageType: newchange