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.0/-/merge_requests/3

Change-Id: I949f731de794b22292b01d0ddf9a75a9e7e7e71d
This commit is contained in:
Harald Welte 2023-04-17 09:18:55 +08:00
parent 9d59365430
commit 44d055fc39
1 changed files with 711 additions and 3 deletions

View File

@ -2,7 +2,7 @@ module BSSMAP_Templates {
/* 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 @@ modifies ts_BSSMAP_IE_CellID := {
}
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 @@ template BSSMAP_IE_SpeechCodec ts_BSSMAP_IE_SpeechCodec(template BSSMAP_FIELD_Co
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 @@ ts_BSSMAP_IE_LCSQOS(template (value) BIT1 vCI := '0'B,
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,