BSSMAP templates for LCS
Both BSSMAP-LE and BSSMAP use the LCS Cause IE with identical definition. In order to not add further dependencies from BSSMAP_Templates.ttcn to BSSAP_LE_Types.ttcn to BSSLAP_Types.ttcn, duplicate the LCS Cause enum. Change-Id: Ifee698c128a5345f6bf0301ad4dac9e083285d56
This commit is contained in:
parent
fc64f53c49
commit
e52bc2d9df
|
@ -103,6 +103,25 @@ type enumerated myBSSMAP_Cause {
|
|||
GSM0808_CAUSE_DTM_HO_TIMER_EXPIRY ('1100010'B)
|
||||
} with { variant "FIELDLENGTH(7)" };
|
||||
|
||||
type enumerated BSSMAP_LcsCause {
|
||||
BSSMAP_LCS_CAUSE_UNSPECIFIED ('00000000'B),
|
||||
BSSMAP_LCS_CAUSE_SYSTEM_FAILURE ('00000001'B),
|
||||
BSSMAP_LCS_CAUSE_PROTOCOL_ERROR ('00000010'B),
|
||||
BSSMAP_LCS_CAUSE_DATA_MISSING_IN_REQ ('00000011'B),
|
||||
BSSMAP_LCS_CAUSE_UNEXP_DATA_IN_REQ ('00000100'B),
|
||||
BSSMAP_LCS_CAUSE_POS_METH_FAILURE ('00000101'B),
|
||||
BSSMAP_LCS_CAUSE_TGT_MS_UNREACHABLE ('00000110'B),
|
||||
BSSMAP_LCS_CAUSE_REQUEST_ABORTED ('00000111'B),
|
||||
BSSMAP_LCS_CAUSE_FACILITY_NOTSUPP ('00001000'B),
|
||||
BSSMAP_LCS_CAUSE_INTER_BSC_HO ('00001001'B),
|
||||
BSSMAP_LCS_CAUSE_INTRA_BSC_HO ('00001010'B),
|
||||
BSSMAP_LCS_CAUSE_CONGESTION ('00001011'B),
|
||||
BSSMAP_LCS_CAUSE_INTER_NSE_CHG ('00001100'B),
|
||||
BSSMAP_LCS_CAUSE_RA_UPDAT ('00001101'B),
|
||||
BSSMAP_LCS_CAUSE_PTMSI_REALLOC ('00001110'B),
|
||||
BSSMAP_LCS_CAUSE_GPRS_SUSPENSION ('00001111'B)
|
||||
} with { variant "FIELDLENGTH(8)" };
|
||||
|
||||
template PDU_BSSAP ts_BSSAP_BSSMAP := {
|
||||
discriminator := '0'B,
|
||||
spare := '0000000'B,
|
||||
|
@ -1693,6 +1712,92 @@ return template (present) BIT3 {
|
|||
}
|
||||
}
|
||||
|
||||
template (value) BSSMAP_IE_LocationType ts_BSSMAP_IE_LocationType
|
||||
:= {
|
||||
elementIdentifier := '44'O,
|
||||
lengthIndicator := 1,
|
||||
locationInformation := '00'O,
|
||||
positioningMethod := omit
|
||||
}
|
||||
|
||||
template (value) PDU_BSSAP ts_BSSMAP_Perform_Location_Request(template (omit) BSSMAP_IE_IMSI imsi,
|
||||
template (omit) BSSMAP_IE_CellIdentifier cellIdentifier := omit
|
||||
)
|
||||
modifies ts_BSSAP_BSSMAP := {
|
||||
pdu := {
|
||||
bssmap := {
|
||||
performLocationRequest := {
|
||||
messageType := '2B'O,
|
||||
locationType := ts_BSSMAP_IE_LocationType,
|
||||
cellIdentifier := cellIdentifier,
|
||||
classmarkInformationType3 := omit,
|
||||
lCS_ClientType := omit,
|
||||
chosenChannel := omit,
|
||||
lCS_Priority := omit,
|
||||
lCS_QOS := omit,
|
||||
gPS_AssistanceData := omit,
|
||||
aPDU := omit,
|
||||
iMSI := imsi,
|
||||
iMEI := omit,
|
||||
gANSS_LocationType := omit,
|
||||
gANSS_AssistanceData := omit
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
template (present) BSSMAP_IE_LocationEstimate tr_BSSMAP_IE_LocationEstimate(template (present) octetstring geo_loc := ?)
|
||||
:= {
|
||||
elementIdentifier := '45'O,
|
||||
lengthIndicator := ?,
|
||||
geographicLocation := geo_loc
|
||||
}
|
||||
|
||||
function tr_BSSMAP_LcsCause(template (present) BSSMAP_LcsCause cause)
|
||||
return template (omit) BSSMAP_IE_LCSCause {
|
||||
if (istemplatekind(cause, "omit")) {
|
||||
return omit;
|
||||
}
|
||||
var template BSSMAP_IE_LCSCause ie := {
|
||||
elementIdentifier := '47'O,
|
||||
lengthIndicator := 1,
|
||||
causeValue := int2bit(enum2int(valueof(cause)), 8),
|
||||
diagnosticValue := omit
|
||||
}
|
||||
return ie;
|
||||
}
|
||||
|
||||
template (present) PDU_BSSAP tr_BSSMAP_Perform_Location_Response(
|
||||
template BSSMAP_IE_LocationEstimate locationEstimate := *,
|
||||
template BSSMAP_IE_PositioningData positioningData := *,
|
||||
template BSSMAP_IE_LCSCause lCS_Cause := *
|
||||
)
|
||||
modifies tr_BSSAP_BSSMAP := {
|
||||
pdu := {
|
||||
bssmap := {
|
||||
performLocationResponse := {
|
||||
messageType := '2D'O,
|
||||
locationEstimate := locationEstimate,
|
||||
positioningData := positioningData,
|
||||
decipheringKeys := *,
|
||||
lCS_Cause := lCS_Cause,
|
||||
velocityEstimate := *,
|
||||
gANSS_PositioningData := *
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
template (present) PDU_BSSAP tr_BSSMAP_Perform_Location_Abort(template (present) BSSMAP_IE_LCSCause lCS_Cause := ?)
|
||||
modifies tr_BSSAP_BSSMAP := {
|
||||
pdu := {
|
||||
bssmap := {
|
||||
performLocationAbort := {
|
||||
messageType := '2E'O,
|
||||
lCS_Cause := lCS_Cause
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} with { encode "RAW" };
|
||||
|
|
Loading…
Reference in New Issue