laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/32405 )
Change subject: BSSMAP_Templates: Add VBS/VGCS related templates ......................................................................
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.
This requires titan.ProtocolModules.BSSMAP updated for modern-day VGCS/VBS related message definitions as I submitted in https://gitlab.eclipse.org/eclipse/titan/titan.ProtocolModules.BSSMAP_v11.2....
Change-Id: I949f731de794b22292b01d0ddf9a75a9e7e7e71d --- M library/BSSMAP_Templates.ttcn 1 file changed, 728 insertions(+), 3 deletions(-)
Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified
diff --git a/library/BSSMAP_Templates.ttcn b/library/BSSMAP_Templates.ttcn index 02aad9f..c564cfd 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@gnumonks.org + * (C) 2017-2023 by Harald Welte laforge@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 @@ -653,6 +653,32 @@ codecElements := valueof(elem) }
+function ts_BSSMAP_IE_CallIdentifier(template (omit) OCT4 cid) return template (omit) BSSMAP_IE_CallIdentifier { + if (istemplatekind(cid, "omit")) { + return omit; + } else { + var template (present) BSSMAP_IE_CallIdentifier ie := { + elementIdentifier := '7F'O, + callIdentifierInfo := cid + } + return ie; + } +} +function tr_BSSMAP_IE_CallIdentifier(template OCT4 cid) return template BSSMAP_IE_CallIdentifier { + if (istemplatekind(cid, "*")) { + return *; + } else if (istemplatekind(cid, "omit")) { + return omit; + } else { + var template BSSMAP_IE_CallIdentifier ie := { + elementIdentifier := '7F'O, + callIdentifierInfo := cid + } + return ie; + } +} + + template (present) BSSMAP_IE_Osmo_OsmuxCID tr_OsmuxCID(template (present) INT1 cid := ?) := { elementIdentifier := 'F1'O, osmuxCID := cid @@ -1962,6 +1988,688 @@ 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 */ +function ts_BSSMAP_IE_TalkerPriority(template (omit) BIT2 prio) +return template (omit) BSSMAP_IE_TalkerPriority { + if (istemplatekind(prio, "omit")) { + return omit; + } else { + var template (present) BSSMAP_IE_TalkerPriority tp := { + elementIdentifier := '6A'O, + priority := prio, + spare := '000000'B + }; + return tp; + } +} +function tr_BSSMAP_IE_TalkerPriority(template BIT2 prio) +return template BSSMAP_IE_TalkerPriority { + if (istemplatekind(prio, "omit")) { + return omit; + } else if (istemplatekind(prio, "*")) { + return *; + } else { + var template BSSMAP_IE_TalkerPriority tp := { + elementIdentifier := '6A'O, + priority := prio, + spare := ? + } + return tp; + } +} + +/* 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, + template (omit) BSSMAP_IE_VGCS_FeatureFlags feature_flags := omit) +modifies ts_BSSAP_BSSMAP := { + pdu := { + bssmap := { + vGCS_VBSSetup := { + messageType := '04'O, + groupCallReference := ts_BSSMAP_IE_GroupCallRef(group_call_ref), + priority := omit, + vGCS_FeatureFlags := feature_flags + } + } + } +} +template (present) PDU_BSSAP +tr_BSSMAP_VGCS_VBS_Setup(template (present) GroupCallRef group_call_ref, + template BSSMAP_IE_VGCS_FeatureFlags feature_flags := *) +modifies tr_BSSAP_BSSMAP := { + pdu := { + bssmap := { + vGCS_VBSSetup := { + messageType := '04'O, + groupCallReference := tr_BSSMAP_IE_GroupCallRef(group_call_ref), + priority := *, + vGCS_FeatureFlags := feature_flags + } + } + } +} + +/* Section 3.2.1.51 */ +template (value) PDU_BSSAP +ts_BSSMAP_VGCS_VBS_SetupAck(template (omit) BSSMAP_IE_VGCS_FeatureFlags feature_flags := omit) +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, + template (omit) OCT4 call_id := 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, + callIdentifier := ts_BSSMAP_IE_CallIdentifier(call_id), + 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 := ?, + template OCT4 call_id := ?) +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, + callIdentifier := tr_BSSMAP_IE_CallIdentifier(call_id), + 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, + template (omit) OCT4 call_id := 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 := ts_BSSMAP_IE_CallIdentifier(call_id) + } + } + } +} +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 := *, + template BSSMAP_IE_CircuitIdentityCode cic := omit, + template BSSMAP_IE_AoIP_TransportLayerAddress aoip := ?, + template BSSMAP_IE_SpeechCodec speech_codec := ?, + template OCT4 call_id := ?) +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 := tr_BSSMAP_IE_CallIdentifier(call_id) + } + } + } +} + +/* 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 (omit) 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 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 (omit) 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 + } + } + } +} +template (present) PDU_BSSAP +tr_BSSMAP_UplinkReqAck(template BIT2 priority, + template BSSMAP_IE_EmergencySetIndication ems := *, + template BSSMAP_IE_TalkerIdentity talker_id := *) +modifies tr_BSSAP_BSSMAP := { + pdu := { + bssmap := { + uplinkRequestAck := { + messageType := '27'O, + talkerPriority := tr_BSSMAP_IE_TalkerPriority(priority), + emergencySetIndication := ems, + talkerIdentity := talker_id + } + } + } +} + +/* 3.2.1.59 */ +template (value) PDU_BSSAP +ts_BSSMAP_UplinkReqConf(template (value) BSSMAP_IE_CellIdentifier cell_id, + template (omit) BSSMAP_IE_TalkerIdentity talker_id := omit, + template (value) octetstring l3_info) +modifies ts_BSSAP_BSSMAP := { + pdu := { + bssmap := { + uplinkRequestConfirmation := { + messageType := '49'O, + cellIdentifier := cell_id, + talkerIdentity := talker_id, + layer3Information := ts_BSSMAP_IE_L3Info(l3_info) + } + } + } +} +template (present) PDU_BSSAP +tr_BSSMAP_UplinkReqConf(template (present) BSSMAP_IE_CellIdentifier cell_id, + template BSSMAP_IE_TalkerIdentity talker_id := *, + template (present) octetstring l3_info) +modifies tr_BSSAP_BSSMAP := { + pdu := { + bssmap := { + uplinkRequestConfirmation := { + messageType := '49'O, + cellIdentifier := cell_id, + talkerIdentity := talker_id, + layer3Information := tr_BSSMAP_IE_L3Info(l3_info) + } + } + } +} + + +/* 3.2.1.60 */ +template (value) PDU_BSSAP +ts_BSSMAP_UplinkRelInd(BssmapCause cause, template (omit) BIT2 prio) +modifies ts_BSSAP_BSSMAP := { + pdu := { + bssmap := { + uplinkReleaseIndication := { + messageType := '4A'O, + cause := ts_BSSMAP_IE_Cause(cause), + talkerPriority := ts_BSSMAP_IE_TalkerPriority(prio) + } + } + } +} +template (present) PDU_BSSAP +tr_BSSMAP_UplinkRelInd(template (present) myBSSMAP_Cause cause, template BIT2 prio) +modifies tr_BSSAP_BSSMAP := { + pdu := { + bssmap := { + uplinkReleaseIndication := { + messageType := '4A'O, + cause := tr_BSSMAP_IE_Cause(cause), + talkerPriority := tr_BSSMAP_IE_TalkerPriority(prio) + } + } + } +} + + +/* 3.2.1.61 */ +template (value) PDU_BSSAP +ts_BSSMAP_UplinkRejCmd(BssmapCause cause, + template (omit) BIT2 cur_talker_prio := omit, + template (omit) BIT2 rej_talker_prio := omit, + template (omit) BSSMAP_IE_TalkerIdentity talker_id := omit) +modifies ts_BSSAP_BSSMAP := { + pdu := { + bssmap := { + uplinkRejectCommand := { + messageType := '4B'O, + cause := ts_BSSMAP_IE_Cause(cause), + currentTalkerPriority := ts_BSSMAP_IE_TalkerPriority(cur_talker_prio), + rejectedTalkerPriority := ts_BSSMAP_IE_TalkerPriority(rej_talker_prio), + talkerIdentity := talker_id + } + } + } +} +template (present) PDU_BSSAP +tr_BSSMAP_UplinkRejCmd(template (present) myBSSMAP_Cause cause, + template BIT2 cur_talker_prio := *, + template BIT2 rej_talker_prio := *, + template BSSMAP_IE_TalkerIdentity talker_id := *) +modifies tr_BSSAP_BSSMAP := { + pdu := { + bssmap := { + uplinkRejectCommand := { + messageType := '4B'O, + cause := tr_BSSMAP_IE_Cause(cause), + currentTalkerPriority := tr_BSSMAP_IE_TalkerPriority(cur_talker_prio), + rejectedTalkerPriority := tr_BSSMAP_IE_TalkerPriority(rej_talker_prio), + talkerIdentity := talker_id + } + } + } +} + + +/* 3.2.1.62 */ +template (value) PDU_BSSAP +ts_BSSMAP_UplinkRelCmd(BssmapCause cause) +modifies ts_BSSAP_BSSMAP := { + pdu := { + bssmap := { + uplinkReleaseCommand := { + messageType := '4C'O, + cause := ts_BSSMAP_IE_Cause(cause) + } + } + } +} +template (present) PDU_BSSAP +tr_BSSMAP_UplinkRelCmd(template (present) myBSSMAP_Cause cause) +modifies tr_BSSAP_BSSMAP := { + pdu := { + bssmap := { + uplinkReleaseCommand := { + messageType := '4C'O, + cause := tr_BSSMAP_IE_Cause(cause) + } + } + } +} + + +/* 3.2.1.63 */ +template (value) PDU_BSSAP +ts_BSSMAP_UplinkSeizedCmd(BssmapCause cause, + template (omit) BIT2 talker_prio := omit, + template (omit) BSSMAP_IE_EmergencySetIndication emerg := omit, + template (omit) BSSMAP_IE_TalkerIdentity talker_id := omit) +modifies ts_BSSAP_BSSMAP := { + pdu := { + bssmap := { + uplinkSeizedCommand := { + messageType := '4D'O, + cause := ts_BSSMAP_IE_Cause(cause), + talkerPriority := ts_BSSMAP_IE_TalkerPriority(talker_prio), + emergencySetIndication := emerg, + talkerIdentity := talker_id + } + } + } +} +template (present) PDU_BSSAP +tr_BSSMAP_UplinkSeizedCmd(template (present) myBSSMAP_Cause cause, + template BIT2 talker_prio := *, + template BSSMAP_IE_EmergencySetIndication emerg := *, + template BSSMAP_IE_TalkerIdentity talker_id := *) +modifies tr_BSSAP_BSSMAP := { + pdu := { + bssmap := { + uplinkSeizedCommand := { + messageType := '4D'O, + cause := tr_BSSMAP_IE_Cause(cause), + talkerPriority := tr_BSSMAP_IE_TalkerPriority(talker_prio), + emergencySetIndication := emerg, + 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,