summaryrefslogtreecommitdiffstats
path: root/MobileL3_v13.4.0_CNL113832_LATEST/src/MobileL3_MM_Types.ttcn
diff options
context:
space:
mode:
Diffstat (limited to 'MobileL3_v13.4.0_CNL113832_LATEST/src/MobileL3_MM_Types.ttcn')
-rw-r--r--MobileL3_v13.4.0_CNL113832_LATEST/src/MobileL3_MM_Types.ttcn572
1 files changed, 572 insertions, 0 deletions
diff --git a/MobileL3_v13.4.0_CNL113832_LATEST/src/MobileL3_MM_Types.ttcn b/MobileL3_v13.4.0_CNL113832_LATEST/src/MobileL3_MM_Types.ttcn
new file mode 100644
index 00000000..56f8553b
--- /dev/null
+++ b/MobileL3_v13.4.0_CNL113832_LATEST/src/MobileL3_MM_Types.ttcn
@@ -0,0 +1,572 @@
+///////////////////////////////////////////////////////////////////////////////
+// //
+// Copyright Test Competence Center (TCC) ETH 2016 //
+// //
+// The copyright to the computer program(s) herein is the property of TCC. //
+// The program(s) may be used and/or copied only with the written permission //
+// of TCC or in accordance with the terms and conditions stipulated in the //
+// agreement/contract under which the program(s) has been supplied. //
+// //
+///////////////////////////////////////////////////////////////////////////////
+//
+// File: MobileL3_MM_Types.ttcn
+// Rev: R1B
+// Prodnr: CNL 113 832
+// Contact: http://ttcn.ericsson.se
+// Reference: 3GPP TS 24.008 v13.4.0
+
+
+module MobileL3_MM_Types
+{
+
+import from General_Types all;
+import from MobileL3_CommonIE_Types all;
+
+//============================================================================
+// 24.008/ 10.5.3 Mobility Management information elements
+//============================================================================
+
+//10.5.3.1 AuthenticationParRAND
+//**********************************************************************
+type record AuthenticationParameterRANDTV
+{
+ OCT1 elementIdentifier,
+ OCT16 randValue
+} with { variant "PRESENCE (elementIdentifier = '21'O)"; };
+
+//10.5.3.1.1 Authentication Par AUTN (UMTS auth. ch. only)
+//**********************************************************************
+type record AuthenticationParameterAUTNTLV
+{
+ OCT1 elementIdentifier,
+ LIN1 lengthIndicator,
+ OCT16 autnValue
+} with { variant (lengthIndicator) "LENGTHTO (autnValue)"};
+
+//10.5.3.2 Authentication Response parameter
+//**********************************************************************
+type record AuthenticationResponseParameterTV
+{
+ OCT1 elementIdentifier,
+ OCT4 valueField length (4)
+} with { variant "PRESENCE (elementIdentifier = '22'O)"; };
+
+//10.5.3.2.1 Authentication Response parameter (extension)
+//**********************************************************************
+type record AuthenticationResponseParameterUMTSTLV
+{
+ OCT1 elementIdentifier,
+ LIN1 lengthIndicator,
+ octetstring valueField length (1..12)
+} with { variant (lengthIndicator) "LENGTHTO (valueField)"};
+
+
+//10.5.3.2.2 Authentication Failure parameter (UMTS authentication challenge only)
+//**********************************************************************
+type record AuthenticationFailureParametersTLV
+{
+ OCT1 elementIdentifier,
+ LIN1 lengthIndicator,
+ octetstring valueField length (14)
+} with { variant "PRESENCE (elementIdentifier = '30'O)";
+ variant (lengthIndicator) "LENGTHTO (valueField)"};
+
+//10.5.3.5 Location Update Type
+//****************************************************************************
+type record LocationUpdatingType
+{
+ BIT2 lut, // LU Normal (00)
+ // LU Periodic (01)
+ // Attach IMSI (10)
+ // reserved (11)
+ BIT1 spare1_1, // 0
+ BIT1 fop // Follow Pending on (1), not (0)
+};
+
+//10.5.3.5a Network Name
+//****************************************************************************
+type record NetworkNameTLV
+{
+ BIT7 elementIdentifier,
+ BIT1 spare1,
+ LIN1 lengthIndicator,
+ NetworkNameV valueField
+} with { variant (lengthIndicator) "LENGTHTO (valueField)"};
+
+
+type record NetworkNameV
+{
+ BIT3 nSpareBits,
+ BIT1 addCI,
+ BIT3 codingScheme,
+ BIT1 ext1, //'1'B
+ octetstring textString // length (0..infinity)
+ // actually the upper limit depends on the max size of the PDU, see 44.006
+};
+
+//10.5.3.7 Follow-on Proceed
+//****************************************************************************
+type Type2 FollowOnProceed; //'A1'O
+
+//10.5.3.8 TimeZone
+//****************************************************************************
+type record TimeZoneTV
+{
+ BIT7 elementIdentifier,
+ BIT1 spare,
+ TimeZoneV valueField
+} with { variant "PRESENCE (elementIdentifier = '1000110'B)"; }; //'46'O 7 bits
+
+type record TimeZoneV
+{
+ OCT1 timeZone
+};
+
+//10.5.3.9 Time Zone And Time
+//****************************************************************************
+type record TimeZoneAndTimeTV
+{
+ BIT7 elementIdentifier,
+ BIT1 spare,
+ TimeZoneAndTimeV valueField
+} with { variant "PRESENCE (elementIdentifier = '1000111'B)"; }; //'47'O 7 bits;
+
+
+type record TimeZoneAndTimeV
+{
+ OCT1 year,
+ OCT1 month,
+ OCT1 day,
+ OCT1 hour,
+ OCT1 minute,
+ OCT1 second,
+ OCT1 timeZone
+};
+
+//10.5.3.10 CTS permission
+//**********************************************************************
+type Type2 CTS_Permission;
+
+//10.5.3.11 LSA identifier (Localised Service Area)
+//**********************************************************************
+type record LSA_IdentifierTLV
+{
+ BIT7 elementIdentifier,
+ BIT1 spare,
+ LIN1 lengthIndicator,
+ LSA_IdentifierV valueField
+} with { variant "PRESENCE (elementIdentifier = '1001000'B)"; //'48'O 7 bits
+ variant (lengthIndicator) "LENGTHTO (valueField)"};
+
+type record LSA_IdentifierV
+{
+ octetstring lsa_id length (0..3)
+};
+
+//10.5.3.12 Daylight Saving Time
+//**********************************************************************
+type record DaylightSavingTimeTLV
+{
+ OCT1 elementIdentifier,
+ LIN1 lengthIndicator,
+ DaylightSavingTimeV valueField
+} with { variant "PRESENCE (elementIdentifier = '49'O)";
+ variant (lengthIndicator) "LENGTHTO (valueField)"};
+
+type record DaylightSavingTimeV
+{
+ BIT2 valueField,
+ BIT6 spare // Shall be set to 000000
+};
+
+//10.5.3.13 Emergency Number List
+//**********************************************************************
+type record EmergencyNumberListTLV
+{
+ OCT1 elementIdentifier,
+ LIN1 lengthIndicator,
+ EmergencyNumberListV emergencyNumberListV
+} with { variant "PRESENCE (elementIdentifier = '34'O)";
+ variant (lengthIndicator) "LENGTHTO (emergencyNumberListV)"};
+
+type record of EmergencyNumber EmergencyNumberListV
+
+type record EmergencyNumber
+{
+ LIN1 lengthIndicator,
+ EmergencyServiceCategory emergencyServiceCategory,
+ hexstring emergencyNumber length (1..44)
+} with { variant (lengthIndicator) "LENGTHTO (emergencyServiceCategory,emergencyNumber)";
+ variant "PADDING(yes)";
+ variant "PADDING_PATTERN('1111'B)"};
+
+type record EmergencyServiceCategory
+{
+ BIT5 valueFiled,
+ BIT3 spare //'000'B
+};
+
+//10.5.3.14 Additional Update Parameter
+//moved into MobileL3_CommonIE_Types
+
+
+//10.5.3.16 MM Timer
+//**********************************************************************
+type record MM_TimerTLV
+{
+ OCT1 elementIdentifier,
+ LIN1 lengthIndicator,
+ MM_TimerV valueField
+} with { variant "PRESENCE (elementIdentifier = '36'O)";
+ variant (lengthIndicator) "LENGTHTO (valueField)"};
+
+type record MM_TimerV
+{
+ BIT5 timerValue,
+ BIT3 unit
+}
+
+//============================================================================
+// 24.008/9.2 Messages for mobility management (MM)
+//============================================================================
+
+//**********************************************************************
+// Security Messages
+//**********************************************************************
+
+// 9.2.1 Authentication Reject
+//**********************************************************************
+type record PDU_ML3_AuthenticationReject
+{
+ BIT6 messageType, // '010001'B (AuthenticationReject)
+ BIT2 nsd
+};
+
+// 9.2.2 Authentication Request
+//**********************************************************************
+type record PDU_ML3_AuthenticationRequest
+{
+ BIT6 messageType, // '010010'B
+ BIT2 nsd,
+ CipheringKeySequenceNumberV cipheringKeySequenceNumber,
+ BIT4 spare2_4, // B'0000
+ OCT16 authenticationParRAND,
+ AuthenticationParameterAUTNTLV authenticationParAUTN optional
+ // added by ethcky acc to 10/155 17_1/APT 210 26/1 Uen Rev A
+} with { variant "TAG (
+ authenticationParAUTN, elementIdentifier = '20'O ) "};
+
+// 9.2.3 Authentication Response
+//****************************************************************************
+type record PDU_ML3_AuthenticationResponse
+{
+ BIT6 messageType, // '010100'B (AuthenticationResponse)
+ BIT2 nsd,
+ OCT4 authenticationParSRES, //10.5.3.2
+ AuthenticationResponseParameterUMTSTLV authenticationParSRESext optional
+} with { variant "TAG (authenticationParSRESext, elementIdentifier = '21'O )"};
+
+// 9.2.3a Authentication Failure
+//****************************************************************************
+type record PDU_ML3_AuthenticationFailure
+{
+ BIT6 messageType, // '011100'B (AuthenticationFailure)
+ BIT2 nsd,
+ OCT1 rejectCause, //10.5.3.6
+ AuthenticationFailureParametersTLV authenticationParFailure optional
+} with { variant "TAG (authenticationParFailure , elementIdentifier = '22'O ) " };
+
+//**********************************************************************
+// Mobility Management Message Types (TS 24.008/ chapter 9)
+// Connection management (CM) messages
+//**********************************************************************
+
+// 9.2.4 CM Re-establishment Request
+//**********************************************************************
+type record PDU_ML3_CMReestablishmentRequest
+{
+ BIT6 messageType, // '101000'B
+ BIT2 nsd,
+ CipheringKeySequenceNumberV cipheringKeySequenceNumber,
+ BIT4 spare,
+ MobileStationClassmark2_LV mobileStationClassmark2,
+ MobileIdentityLV mobileIdentityLV,
+ LocationAreaIdentification_TV locationAreaIdentification optional,
+ DevicePropertiesTV deviceProperties optional
+} with { variant "TAG (locationAreaIdentification, elementIdentifier = '13'O;
+ deviceProperties, elementIdentifier = '1101'B;)
+"};
+
+// 9.2.5 CM Service Accept (NW->MS)
+//**********************************************************************
+type record PDU_ML3_CMServiceAccept
+{
+ BIT6 messageType, // '100001'B
+ BIT2 nsd
+};
+
+// 9.2.5a CMServicePrompt (NW->MS)
+//**********************************************************************
+type record PDU_ML3_CMServicePrompt
+{
+ BIT6 messageType, // '100101'B
+ BIT2 nsd,
+ PdAndSapi pd_sapi
+};
+
+// 9.2.6 CMServiceReject (NW->MS)
+//**********************************************************************
+type record PDU_ML3_CMServiceReject
+{
+ BIT6 messageType, // '100010'B
+ BIT2 nsd,
+ OCT1 rejectCause, //10.5.3.6
+ MM_TimerTLV t3246_Value optional
+};
+
+// 9.2.7 CM Service Abort (MS->NW to request the abortion)
+//**********************************************************************
+type record PDU_ML3_CMServiceAbort
+{
+ BIT6 messageType, // '100011'B
+ BIT2 nsd
+};
+
+// 9.2.8 Abort (NW->MS to initiate the abortion)
+//**********************************************************************
+type record PDU_ML3_Abort
+{
+ BIT6 messageType, // '100010'B
+ BIT2 nsd,
+ OCT1 rejectCause //10.5.3.6
+};
+
+// 9.2.9 CM Service Request (MS->NW)
+//**********************************************************************
+type record PDU_ML3_CMServiceRequest
+{
+ BIT6 messageType,// '100100'B
+ BIT2 nsd,
+ BIT4 cm_ServiceType, // '0001'B establishment MOC
+ // '0010'B Emergency Call
+ // '0100'SMS B
+ // '1000'B SS activation
+ CipheringKeySequenceNumberV cipheringKeySequenceNumber,
+ MobileStationClassmark2_LV mobileStationClassmark2,
+ MobileIdentityLV mobileIdentity,
+ PriorityLevel_ML3 priorityLevel optional,
+ AdditionalUpdateParameterTV additionalUpdateParameterTV optional,
+ DevicePropertiesTV deviceProperties optional
+} with { variant "TAG (priorityLevel, elementIdentifier = '1000'B;
+ deviceProperties, elementIdentifier = '1101'B;)
+"};
+
+//9.2.10 Identity Request
+//**********************************************************************
+type record PDU_ML3_IdentityRequest
+{
+ BIT6 messageType, // '011000'B ( IdentityRequest )
+ BIT2 nsd,
+ BIT3 identityType, // IMSI:'001'B IMEI:'010'B IMEISV:'011'B
+ //(TMSI:'100'B not allowed?) 10.5.3.4
+ BIT5 spare1_5 // '00000'B
+};
+
+//9.2.11 Identity Response
+//**********************************************************************
+type record PDU_ML3_IdentityResponse
+{
+ BIT6 messageType, // '011001'B (IdentityResponse)
+ BIT2 nsd,
+ MobileIdentityLV mobileIdentityLV,
+ P_TMSI_TypeTV p_TMSI_TypeTV optional,
+ RoutingAreaIdentification2TLV routingAreaIdentification2TLV optional,
+ P_TMSISignature2TLV p_TMSISignature2TLV optional
+};
+
+//9.2.12 IMSI Detach Indication
+//**********************************************************************
+type record PDU_ML3_IMSI_DetachIndication
+{
+ BIT6 messageType, // '000001'IMSI Detach Indication
+ BIT2 nsd,
+ MobileStationClassmark1_V mobileStationClassmark1,
+ MobileIdentityLV mobileIdentityLV
+};
+
+//****************************************************************************
+// 24.008/9 Mobility Management message contents
+//****************************************************************************
+
+// 9.2.13 Location Update Accept
+//****************************************************************************
+type record PDU_ML3_LocationUpdateAccept
+{
+ BIT6 messageType, // '000010'B (LocationUpdateRequest)
+ BIT2 nsd,
+ LocationAreaIdentification_V locationAreaIdentification,
+ MobileIdentityTLV mobileIdentityTLV optional,
+ Type2 followOnProceed optional,
+ CTS_Permission cTS_Permission optional,
+ PLMNListTLV equivalentPLMNs optional,
+ EmergencyNumberListTLV emergencyNumberList optional,
+ GPRSTimer3TLV perMS_T3212 optional
+} with { variant "TAG ( mobileIdentityTLV, elementIdentifier = '0010111'B; //'17'O;
+ followOnProceed, elementIdentifier = 'A1'O;
+ cTS_Permission, elementIdentifier = 'A2'O;
+ equivalentPLMNs, elementIdentifier = '1001010'B; //'4A'O;
+ emergencyNumberList, elementIdentifier = '34'O;) "};
+
+// 9.2.14 Location Update Reject (NW->MS)
+//****************************************************************************
+type record PDU_ML3_LocationUpdateReject
+{
+ BIT6 messageType, // '000100'B (LocationUpdateReject)
+ BIT2 nsd,
+ OCT1 rejectCause, // see 10.5.3.6
+ MM_TimerTLV t3246_Value optional
+};
+
+//9.2.15 Location Update Request (MS->NW)
+//****************************************************************************
+type record PDU_ML3_LocationUpdateRequest
+{
+ BIT6 messageType, // B'_001000 (LocationUpdateRequest)
+ BIT2 nsd,
+ LocationUpdatingType locationUpdatingType,
+ CipheringKeySequenceNumberV cipheringKeySequenceNumber,
+ LocationAreaIdentification_V locationAreaIdentification,
+ MobileStationClassmark1_V mobileStationClassmark1,
+ MobileIdentityLV mobileIdentityLV,
+ ClassmarkInformationType2_forUMTS classmarkInformationType2_forUMTS optional,
+ AdditionalUpdateParameterTV additionalUpdateParameterTV optional,
+ DevicePropertiesTV deviceProperties optional,
+ MS_NetworkFeatureSupportTV mS_NetworkFeatureSupport optional
+} with {
+ variant "TAG (
+ deviceProperties, elementIdentifier = '1101'B;
+ mS_NetworkFeatureSupport, elementIdentifier = '1110'B; //E
+ )"
+};
+
+//9.2.15a MM information
+//****************************************************************************
+type record PDU_ML3_MMInformation
+{
+ BIT6 messageType, //
+ BIT2 nsd,
+ NetworkNameTLV fullNetworkName optional,
+ NetworkNameTLV shortNetworkName optional,
+ TimeZoneTV localtimeZone optional,
+ TimeZoneAndTimeTV univTime optional,
+ LSA_IdentifierTLV lSAIdentity optional,
+ DaylightSavingTimeTLV networkDST optional
+} with { variant "TAG (
+ fullNetworkName, elementIdentifier = '1000011'B; // '43'O;
+ shortNetworkName, elementIdentifier = '1000101'B; // '45'O;
+ localtimeZone, elementIdentifier = '1000110'B; // '46'O;
+ univTime, elementIdentifier = '1000111'B; // '47'O;
+ lSAIdentity, elementIdentifier = '1001000'B; //' 48'O;
+ networkDST, elementIdentifier = '49'O;)"};
+
+//9.2.16 MM Status
+//****************************************************************************
+type record PDU_ML3_MMStatus
+{
+ BIT6 messageType,
+ BIT2 nsd,
+ OCT1 rejectCause //10.5.3.6
+ };
+
+//9.2.17 TMSI reallocation command (NW->MS)
+//****************************************************************************
+type record PDU_ML3_TMSI_ReallocationCommand
+{
+ BIT6 messageType, // '011010'B
+ BIT2 nsd,
+ LocationAreaIdentification_V locationAreaIdentification,
+ MobileIdentityLV mobileIdentity
+};
+
+//9.2.18 TMSI reallocation complete (MS->NW)
+//****************************************************************************
+type record PDU_ML3_TMSI_ReallocationComplete
+{
+ BIT6 messageType, // '011011'B
+ BIT2 nsd
+};
+
+//9.2.19 MM Null (MS->NW)
+//****************************************************************************
+type record PDU_ML3_MMNull
+{
+ BIT6 messageType, // '110000'B
+ BIT2 nsd
+};
+
+
+// ***************************************************************************
+// * Mobility Management Messages
+// ***************************************************************************
+// 24.008/ Table 10.2
+type union PDU_ML3_MM
+{
+ PDU_ML3_IMSI_DetachIndication imsiDetachIndication,
+ PDU_ML3_LocationUpdateAccept locationUpdateAccept,
+ PDU_ML3_LocationUpdateReject locationUpdateReject,
+ PDU_ML3_LocationUpdateRequest locationUpdateRequest,
+
+ PDU_ML3_AuthenticationReject authenticationReject,
+ PDU_ML3_AuthenticationRequest authenticationRequest,
+ PDU_ML3_AuthenticationResponse authenticationResponse,
+ PDU_ML3_AuthenticationFailure authenticationFailure,
+ PDU_ML3_IdentityRequest identityRequest,
+ PDU_ML3_IdentityResponse identityResponse,
+ PDU_ML3_TMSI_ReallocationCommand tmsiReallocCommand,
+ PDU_ML3_TMSI_ReallocationComplete tmsiReallocComplete,
+
+ PDU_ML3_CMServiceAbort cMServiceAbort,
+ PDU_ML3_CMServiceAccept cMServiceAccept,
+ PDU_ML3_CMServiceReject cMServiceReject,
+ PDU_ML3_CMServiceRequest cMServiceRequest,
+ PDU_ML3_CMServicePrompt cMServicePrompt,
+ PDU_ML3_CMReestablishmentRequest cMReEstablReq,
+ PDU_ML3_Abort abort,
+
+ PDU_ML3_MMNull mMNull,
+ PDU_ML3_MMStatus mMStatus,
+ PDU_ML3_MMInformation mMInformation
+} with { variant "TAG (
+ imsiDetachIndication, messageType ='000001'B; //registration msgs
+ locationUpdateAccept, messageType ='000010'B;
+ locationUpdateReject, messageType ='000100'B;
+ locationUpdateRequest, messageType ='001000'B;
+
+ authenticationReject, messageType ='010001'B;//security msgs
+ authenticationRequest, messageType ='010010'B;
+ authenticationResponse, messageType ='010100'B;
+ authenticationFailure, messageType ='011100'B;
+ identityRequest, messageType ='011000'B;
+ identityResponse, messageType ='011001'B;
+ tmsiReallocCommand, messageType ='011010'B;
+ tmsiReallocComplete, messageType ='011011'B;
+
+ cMServiceAbort, messageType ='100011'B; //conn, mgmt
+ cMServiceAccept, messageType ='100001'B;
+ cMServiceReject, messageType ='100010'B;
+ cMServiceRequest, messageType ='100100'B;
+ cMServicePrompt, messageType ='100101'B;
+ cMReEstablReq, messageType ='101000'B;
+ abort, messageType ='101001'B;
+
+ mMNull, messageType ='110000'B; //misc
+ mMStatus, messageType ='110001'B;
+ mMInformation, messageType ='110010'B;
+ )"};
+
+}//end of module
+with {
+extension "version R1B"
+encode "RAW"
+}
+