573 lines
21 KiB
Plaintext
573 lines
21 KiB
Plaintext
///////////////////////////////////////////////////////////////////////////////
|
|
// //
|
|
// 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"
|
|
}
|
|
|