diff --git a/BSSAPP_v7.3.0_CNL113580_LATEST/doc/BSSAPP_v7.3.0_CNL113580_FS.pdf b/BSSAPP_v7.3.0_CNL113580_LATEST/doc/BSSAPP_v7.3.0_CNL113580_FS.pdf deleted file mode 100644 index 1cb938c31..000000000 Binary files a/BSSAPP_v7.3.0_CNL113580_LATEST/doc/BSSAPP_v7.3.0_CNL113580_FS.pdf and /dev/null differ diff --git a/BSSAPP_v7.3.0_CNL113580_LATEST/doc/BSSAPP_v7.3.0_CNL113580_PRI.pdf b/BSSAPP_v7.3.0_CNL113580_LATEST/doc/BSSAPP_v7.3.0_CNL113580_PRI.pdf deleted file mode 100644 index b083d1795..000000000 Binary files a/BSSAPP_v7.3.0_CNL113580_LATEST/doc/BSSAPP_v7.3.0_CNL113580_PRI.pdf and /dev/null differ diff --git a/BSSAPP_v7.3.0_CNL113580_LATEST/doc/BSSAPP_v7.3.0_CNL113580_UG.pdf b/BSSAPP_v7.3.0_CNL113580_LATEST/doc/BSSAPP_v7.3.0_CNL113580_UG.pdf deleted file mode 100644 index 16fb1a68d..000000000 Binary files a/BSSAPP_v7.3.0_CNL113580_LATEST/doc/BSSAPP_v7.3.0_CNL113580_UG.pdf and /dev/null differ diff --git a/BSSAPP_v7.3.0_CNL113580_LATEST/src/BSSAPp_Types.ttcn b/BSSAPP_v7.3.0_CNL113580_LATEST/src/BSSAPp_Types.ttcn deleted file mode 100644 index e019f6aba..000000000 --- a/BSSAPP_v7.3.0_CNL113580_LATEST/src/BSSAPp_Types.ttcn +++ /dev/null @@ -1,922 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// // -// Copyright Test Competence Center (TCC) ETH 2008 // -// // -// 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: BSSAPp_Types.ttcn -// Rev: R1A01 -// Prodnr: CNL 113 580 -// Updated: 2008-01-24 -// Contact: http://ttcn.ericsson.se -// Reference: BSSAP+, 3GPP TS 29.018 v7.3.0 (2006-12) - -module BSSAPp_Types { // beginning of module - -// This module contains the BSSAP+ type definitions based on -// 29.018 v7.3.0 (2006-12) -// with attributes for RAW encoding/decoding. - -import from General_Types all; - -external function enc_PDU_BSSAPp(in PDU_BSSAPp pdu) return octetstring -with { extension "prototype(convert)" - extension "encode(RAW)" - } - -external function dec_PDU_BSSAPp(in octetstring stream) return PDU_BSSAPp -with { extension "prototype(convert)" - extension "decode(RAW)" - } - -//==================================================================== -// Message type -// Reference: 29.018 18.2 -//==================================================================== - -type BIT8 ST_BSSAPp_Msg_type with { variant "" }; - -//==================================================================== -// IMSI -// Reference: 29.018 18.4.10 -//==================================================================== - -type hexstring IMSIDigits length(1..15) with { variant "HEXORDER(low)" }; - -type record STR_BSSAPp_IMSI { - BIT8 iEI, - LIN1 lengthIndicator, - BIT3 first_3_BIT, //this is always '001'B - BIT1 parity, // 0 - Even, 1 - Odd - IMSIDigits iMSIdigits, - BIT4 fillerDigit optional // B'1111, fillerDigit is present - // if oddevenIndicator=0 -} -with { - variant (lengthIndicator) - "LENGTHTO (first_3_BIT, parity, iMSIdigits, fillerDigit)"; - variant (fillerDigit) "PRESENCE (parity = '0'B) "; -}; - - -//==================================================================== -// Gs Cause -// Reference: 29.018 18.4.7 -//==================================================================== - -type record STR_BSSAPp_Gs_Cause { - BIT8 iEI, - LIN1 lengthIndicator, - OCT1 gsCauseValue -} -with { - variant (lengthIndicator) "LENGTHTO (gsCauseValue)"; -}; - -//==================================================================== -// VLR Number -// Reference: 29.018 18.4.26 -//==================================================================== - -type record STR_BSSAPp_VLR_Number { - BIT8 iEI, - LIN1 lengthIndicator, - BIT8 first_8_BIT, //this is always '10010001'B - IMSIDigits vLRdigits -} -with { - variant (lengthIndicator) "LENGTHTO (first_8_BIT, vLRdigits)"; -}; - -//==================================================================== -// Downlink Tunnel Payload Control and Info -// Reference: 29.018 18.4.3 -//==================================================================== - - -type record STR_BSSAPp_Downlink_Tunnel_Payload_Control_And_Info { - BIT8 iEI, - LIN1 lengthIndicator, - BIT2 tunnelPriority, - BIT1 e, - BIT4 protocolDiscriminator, - BIT1 spare, - octetstring tunnelPayload -} -with { - variant (lengthIndicator) - "LENGTHTO (tunnelPriority, e, protocolDiscriminator, spare, tunnelPayload)"; -}; - -//==================================================================== -// SGSN Number -// Reference: 29.018 18.4.22 -//==================================================================== - -type STR_BSSAPp_VLR_Number STR_BSSAPp_SGSN_Number with { variant "" }; - -//==================================================================== -// IMSI Detach from GPRS Service Type -// Reference: 29.018 18.4.11 -//==================================================================== - -type record STR_BSSAPp_IMSI_Detach_from_GPRS_service_type { - BIT8 iEI, - LIN1 lengthIndicator, - BIT8 iMSIDetachFromGPRSServiceTypeValue -} -with { - variant (lengthIndicator) "LENGTHTO (iMSIDetachFromGPRSServiceTypeValue)"; -}; - -//==================================================================== -// Cell Global Identity -// Reference: 29.018 18.4.1 -//==================================================================== - -type record STR_BSSAPp_Cell_Global_Identity { - BIT8 iEI, - LIN1 lengthIndicator, - octetstring cellGlobalIdentityValue length(8) -} -with { - variant (lengthIndicator) "LENGTHTO (cellGlobalIdentityValue)"; -}; - -//==================================================================== -// Service Area Identification -// Reference: 29.018 18.4.21b -//==================================================================== - -type record STR_BSSAPp_Service_Area_Identification { - BIT8 iEI, - LIN1 lengthIndicator, - octetstring serviceAreaIdentificationValue length(7) -} -with { - variant (lengthIndicator) "LENGTHTO (serviceAreaIdentificationValue)"; -}; - -//==================================================================== -// IMSI Detach from Non-GPRS Service Type -// Reference: 29.018 18.4.12 -//==================================================================== - -type record STR_BSSAPp_IMSI_detach_from_non_GPRS_service_type { - BIT8 iEI, - LIN1 lengthIndicator, - BIT8 iMSIDetachFromNonGPRSServiceTypeValue -} -with { - variant (lengthIndicator) "LENGTHTO (iMSIDetachFromNonGPRSServiceTypeValue)"; -}; - -//==================================================================== -// Location Information Age -// Reference: 29.018 18.4.15 -//==================================================================== - -type record STR_BSSAPp_Location_Information_Age { - BIT8 iEI, - LIN1 lengthIndicator, - OCT2 locationInformationAge -} -with { - variant (lengthIndicator) "LENGTHTO (locationInformationAge)"; -}; - -//==================================================================== -// Location Area Identifier -// Reference: 29.018 18.4.14 -//==================================================================== - -type record STR_BSSAPp_Location_Area_Identifier { - BIT8 iEI, - LIN1 lengthIndicator, - OCT5 locationAreaIdentifierValue -} -with { - variant (lengthIndicator) "LENGTHTO (locationAreaIdentifierValue)"; -}; - -//==================================================================== -// Mobile Identity -// Reference: 29.018 18.4.17 -//==================================================================== - -type record STR_BSSAPp_Mobile_Identity { - BIT8 iEI, - LIN1 lengthIndicator, - octetstring mobileIdentityValue -} -with { - variant (lengthIndicator) "LENGTHTO (mobileIdentityValue)"; -}; - -//==================================================================== -// Reject Cause -// Reference: 29.018 18.4.21 -//==================================================================== - -type record STR_BSSAPp_Reject_Cause { - BIT8 iEI, - LIN1 lengthIndicator, - OCT1 rejectCauseValue -} -with { - variant (lengthIndicator) "LENGTHTO (rejectCauseValue)"; -}; - -//==================================================================== -// GPRS Location Update Type -// Reference: 29.018 18.4.6 -//==================================================================== - -type record STR_BSSAPp_GPRS_Location_Update_Type { - BIT8 iEI, - LIN1 lengthIndicator, - BIT8 gPRSLocationUpdateTypeValue -} -with { - variant (lengthIndicator) "LENGTHTO (gPRSLocationUpdateTypeValue)"; -}; - -//==================================================================== -// Mobile Station Classmark 1 -// Reference: 29.018 18.4.18 -//==================================================================== - -type record STR_BSSAPp_Mobile_Station_Classmark1 { - BIT8 iEI, - LIN1 lengthIndicator, - OCT1 mobileStationClassmarkValue -} -with { - variant (lengthIndicator) "LENGTHTO (mobileStationClassmarkValue)"; -}; - -//==================================================================== -// TMSI Status -// Reference: 29.018 18.4.24 -//==================================================================== - -type record STR_BSSAPp_TMSI_Status { - BIT8 iEI, - LIN1 lengthIndicator, - BIT1 tIMSIFlag, - BIT7 spare -} -with { - variant (lengthIndicator) "LENGTHTO (tIMSIFlag, spare)"; -}; - -//==================================================================== -// IMEISV -// Reference: 29.018 18.4.9 -//==================================================================== - -type record STR_BSSAPp_IMEISV { - BIT8 iEI, - LIN1 lengthIndicator, - hexstring digits length (16) -} -with { - variant (lengthIndicator) "LENGTHTO (digits)"; -}; - - -//==================================================================== -// MM Information -// Reference: 29.018 18.4.16 -//==================================================================== - -type record STR_BSSAPp_MM_Information { - BIT8 iEI, - LIN1 lengthIndicator, - octetstring mMInformationValue -} -with { - variant (lengthIndicator) "LENGTHTO (mMInformationValue)"; -}; - -//==================================================================== -// Erroneous Message -// Reference: 29.018 18.4.5 -//==================================================================== - -type record STR_BSSAPp_Erroneous_Message { - BIT8 iEI, - LIN1 lengthIndicator, - octetstring erroneousMessageValue -} -with { - variant (lengthIndicator) "LENGTHTO (erroneousMessageValue)"; -}; - -//==================================================================== -// Information Requested -// Reference: 29.018 18.4.13 -//==================================================================== - -type record STR_BSSAPp_Information_Requested { - BIT8 iEI, - LIN1 lengthIndicator, - BIT8 informationRequestedValue -} -with { - variant (lengthIndicator) "LENGTHTO (informationRequestedValue)"; -}; - -//==================================================================== -// TMSI -// Reference: 29.018 18.4.23 -//==================================================================== - -type record STR_BSSAPp_TMSI { - BIT8 iEI, - LIN1 lengthIndicator, - OCT4 tMSIoctets -} -with { - variant (lengthIndicator) "LENGTHTO (tMSIoctets)"; -}; - -//==================================================================== -// PTMSI -// Reference: 29.018 18.4.20 -//==================================================================== - -type STR_BSSAPp_TMSI STR_BSSAPp_PTMSI with { variant "" }; - -//==================================================================== -// IMEI -// Reference: 29.018 18.4.8 -//==================================================================== - -type record STR_BSSAPp_IMEI { - BIT8 iEI, - LIN1 lengthIndicator, - hexstring digits length (14), - OCT1 lastOctet //should be 'F0'O -} -with { - variant (lengthIndicator) "LENGTHTO (digits, lastOctet)"; -}; - -//==================================================================== -// Mobile Station State -// Reference: 29.018 18.4.19 -//==================================================================== - -type record STR_BSSAPp_Mobile_Station_State { - BIT8 iEI, - LIN1 lengthIndicator, - BIT8 mobileStationStateValue -} -with { - variant (lengthIndicator) "LENGTHTO (mobileStationStateValue)"; -}; - -//==================================================================== -// Channel Needed -// Reference: 29.018 18.4.2 -//==================================================================== - -type record STR_BSSAPp_Channel_Needed { - BIT8 iEI, - LIN1 lengthIndicator, - OCT1 channelNeededValue -} -with { - variant (lengthIndicator) "LENGTHTO (channelNeededValue)"; -}; - -//==================================================================== -// eMLPP Priority -// Reference: 29.018 18.4.4 -//==================================================================== - -type record STR_BSSAPp_eMLPP_Priority { - BIT8 iEI, - LIN1 lengthIndicator, - OCT1 eMLPPPriorityValue -} -with { - variant (lengthIndicator) "LENGTHTO (eMLPPPriorityValue)"; -}; - -//==================================================================== -// Global CN-Id -// Reference: 29.018 18.4.27 -//==================================================================== - -type record STR_BSSAPp_Global_CN_Id { - BIT8 iEI, - LIN1 lengthIndicator, - HEX6n pLMN_Id, - OCT2 CN_Id -} -with { - variant (lengthIndicator) "LENGTHTO (pLMN_Id, CN_Id)"; -}; - -//==================================================================== -// Downlink Tunnel Payload Control and Info -// Reference: 29.018 18.4.25 -//==================================================================== - -type STR_BSSAPp_Downlink_Tunnel_Payload_Control_And_Info - STR_BSSAPp_Uplink_Tunnel_Payload_Control_And_Info with { variant "" }; - -//==================================================================== -// BSSAPp REJECT (Used for several IEs) -// Reference: 29.018 -//==================================================================== - -type record BSSAPp_REJECT { - ST_BSSAPp_Msg_type messageType, - STR_BSSAPp_IMSI iMSI, - STR_BSSAPp_Gs_Cause gsCause -} -with { - variant "TAG ( - iMSI, iEI = '00000001'B; - gsCause, iEI = '00001000'B; - )" -}; - - -//-------------- PDUs ----------------// - - -//==================================================================== -// BSSAP+-ALERT-ACK -// Reference: 29.018 17.1.1 -//==================================================================== - - -type record PDU_BSSAPp_ALERT_ACK { - ST_BSSAPp_Msg_type messageType, - STR_BSSAPp_IMSI iMSI -} -with { - variant "TAG ( - iMSI, iEI = '00000001'B; - )" -}; - -//==================================================================== -// BSSAP+-ALERT-REJECT -// Reference: 29.018 17.1.2 -//==================================================================== - -type BSSAPp_REJECT PDU_BSSAPp_ALERT_REJECT; - -//==================================================================== -// BSSAP+-ALERT-REQUEST -// Reference: 29.018 17.1.3 -//==================================================================== - -type record PDU_BSSAPp_ALERT_REQUEST { - ST_BSSAPp_Msg_type messageType, - STR_BSSAPp_IMSI iMSI -} -with { - variant "TAG( - iMSI, iEI = '00000001'B; - )" -}; - -//==================================================================== -// BSSAP+-DOWNLINK-TUNNEL-REQUEST -// Reference: 29.018 17.1.4 -//==================================================================== - -type record PDU_BSSAPp_DOWNLINK_TUNNEL_REQUEST { - ST_BSSAPp_Msg_type messageType, - STR_BSSAPp_IMSI iMSI, - STR_BSSAPp_VLR_Number vLRnumber, - STR_BSSAPp_Downlink_Tunnel_Payload_Control_And_Info - downlinkTunnelPayloadControlAndInfo -} -with { - variant "TAG ( - iMSI, iEI = '00000001'B; - vLRnumber, iEI = '00000010'B; - downlinkTunnelPayloadControlAndInfo, iEI = '00011100'B; - )" -}; - -//==================================================================== -// BSSAP+-GPRS-DETACH-ACK -// Reference: 29.018 17.1.5 -//==================================================================== - -type record PDU_BSSAPp_GPRS_DETACH_ACK { - ST_BSSAPp_Msg_type messageType, - STR_BSSAPp_IMSI iMSI -} with { variant "TAG( - iMSI, iEI = '00000001'B; - )" -}; - -//==================================================================== -// BSSAP+-GPRS-DETACH-INDICATION -// Reference: 29.018 17.1.6 -//==================================================================== - -type record PDU_BSSAPp_GPRS_DETACH_INDICATION { - ST_BSSAPp_Msg_type messageType, - STR_BSSAPp_IMSI iMSI, - STR_BSSAPp_SGSN_Number sGSNnumber, - STR_BSSAPp_IMSI_Detach_from_GPRS_service_type iMSIdetachFromGPRSserviceType, - STR_BSSAPp_Cell_Global_Identity cellGlobalIdentity optional, - STR_BSSAPp_Service_Area_Identification serviceAreaIdentification optional -} -with { - variant "TAG ( - iMSI, iEI = '00000001'B; - sGSNnumber, iEI = '00001001'B; - iMSIdetachFromGPRSserviceType, iEI = '00010000'B; - cellGlobalIdentity, iEI = '00011000'B; - serviceAreaIdentification, iEI = '00011110'B; - )" -}; - -//==================================================================== -// BSSAP+-GPRS-DETACH-ACK -// Reference: 29.018 17.1.7 -//==================================================================== - -type record PDU_BSSAPp_IMSI_DETACH_ACK { - ST_BSSAPp_Msg_type messageType, - STR_BSSAPp_IMSI iMSI -} -with { - variant "TAG( - iMSI, iEI = '00000001'B; - )" -}; - -//==================================================================== -// BSSAP+-IMSI-DETACH-INDICATION -// Reference: 29.018 17.1.8 -//==================================================================== -type record PDU_BSSAPp_IMSI_DETACH_INDICATION { - ST_BSSAPp_Msg_type messageType, - - STR_BSSAPp_IMSI iMSI, - STR_BSSAPp_SGSN_Number sGSNnumber, - STR_BSSAPp_IMSI_detach_from_non_GPRS_service_type detachType, - STR_BSSAPp_Cell_Global_Identity cellGlobalIdentity optional, - STR_BSSAPp_Location_Information_Age locationInformationAge optional, - STR_BSSAPp_Service_Area_Identification serviceAreaIdentification optional -} with { - variant "TAG ( - iMSI, iEI = '00000001'B; - sGSNnumber, iEI = '00001001'B; - detachType, iEI = '00010001'B; - cellGlobalIdentity, iEI = '00011000'B; - locationInformationAge, iEI = '00011001'B; - serviceAreaIdentification, iEI = '00011110'B; - )" -}; - -//==================================================================== -// BSSAP+-LOCATION-UPDATE-ACCEPT -// Reference: 29.018 17.1.9 -//==================================================================== - -type record PDU_BSSAPp_LOCATION_UPDATE_ACCEPT { - ST_BSSAPp_Msg_type messageType, - STR_BSSAPp_IMSI iMSI, - STR_BSSAPp_Location_Area_Identifier locationAreaIdentifier, - STR_BSSAPp_Mobile_Identity newTMSIorIMSI optional -} with { - variant "TAG ( - iMSI, iEI = '00000001'B; - locationAreaIdentifier, iEI = '00000100'B; - newTMSIorIMSI, iEI = '00001110'B; - )" -}; - -//==================================================================== -// BSSAP+-LOCATION-UPDATE-REJECT -// Reference: 29.018 17.1.10 -//==================================================================== - -type record PDU_BSSAPp_LOCATION_UPDATE_REJECT { - ST_BSSAPp_Msg_type messageType, - STR_BSSAPp_IMSI iMSI, - STR_BSSAPp_Reject_Cause rejectCause -} with { - variant "TAG( - iMSI, iEI = '00000001'B; - rejectCause, iEI = '00001111'B - )" -}; - -//==================================================================== -// BSSAP+-LOCATION-UPDATE-REQUEST -// Reference: 29.018 17.1.11 -//==================================================================== - -type record PDU_BSSAPp_LOCATION_UPDATE_REQUEST { - ST_BSSAPp_Msg_type messageType, - STR_BSSAPp_IMSI iMSI, - STR_BSSAPp_SGSN_Number sGSNnumber, - STR_BSSAPp_GPRS_Location_Update_Type updateType, - STR_BSSAPp_Cell_Global_Identity cellGlobalIdentity, - STR_BSSAPp_Mobile_Station_Classmark1 mobileStationClassmark, - STR_BSSAPp_Location_Area_Identifier oldLocationAreaIdentifier optional, - STR_BSSAPp_TMSI_Status tMSIstatus optional, - STR_BSSAPp_Service_Area_Identification serviceAreaIdentification optional, - STR_BSSAPp_IMEISV iMEISV optional -} with { - variant "TAG ( - iMSI, iEI = '00000001'B; - sGSNnumber, iEI = '00001001'B; - updateType, iEI = '00001010'B; - cellGlobalIdentity, iEI = '00011000'B; - mobileStationClassmark, iEI = '00001101'B; - oldLocationAreaIdentifier, iEI = '00000100'B; - tMSIstatus, iEI = '00000111'B; - serviceAreaIdentification, iEI = '00011110'B; - iMEISV, iEI = '00010101'B; - )" -}; - -//==================================================================== -// BSSAP+-MM-INFORMATION-REQUEST -// Reference: 29.018 17.1.12 -//==================================================================== - -type record PDU_BSSAPp_MM_INFORMATION_REQUEST { - ST_BSSAPp_Msg_type messageType, - STR_BSSAPp_IMSI iMSI, - STR_BSSAPp_MM_Information mMinformation optional -} with { - variant "TAG ( - iMSI, iEI = '00000001'B; - mMinformation, iEI = '00010111'B; - )" -}; - -//==================================================================== -// BSSAP+-MOBILE-STATUS -// Reference: 29.018 17.1.13 -//==================================================================== - -type record PDU_BSSAPp_MOBILE_STATUS { - ST_BSSAPp_Msg_type messageType, - STR_BSSAPp_IMSI iMSI optional, - STR_BSSAPp_Gs_Cause gsCause, - STR_BSSAPp_Erroneous_Message erroneousMessage -} with { - variant "TAG ( - iMSI, iEI = '00000001'B; - gsCause, iEI = '00001000'B; - erroneousMessage, iEI = '00011011'B; - )" -}; - -//==================================================================== -// BSSAP+-MS-ACTIVITY-INDICATION -// Reference: 29.018 17.1.14 -//==================================================================== - -type record PDU_BSSAPp_MS_ACTIVITY_INDICATION { - ST_BSSAPp_Msg_type messageType, - STR_BSSAPp_IMSI iMSI, - STR_BSSAPp_Cell_Global_Identity cellGlobalIdentity optional, - STR_BSSAPp_Service_Area_Identification serviceAreaIdentification optional -} with { - variant "TAG ( - iMSI, iEI = '00000001'B; - cellGlobalIdentity, iEI = '00011000'B; - serviceAreaIdentification, iEI = '00011110'B; - )" -}; - -//==================================================================== -// BSSAP+-MS-INFORMATION-REQUEST -// Reference: 29.018 17.1.15 -//==================================================================== - -type record PDU_BSSAPp_MS_INFORMATION_REQUEST { - ST_BSSAPp_Msg_type messageType, - STR_BSSAPp_IMSI iMSI, - STR_BSSAPp_Information_Requested informationRequested -} with { - variant "TAG( - iMSI, iEI = '00000001'B; - informationRequested, iEI = '00010010'B; - )" -}; - -//==================================================================== -// BSSAP+-MS-INFORMATION-RESPONSE -// Reference: 29.018 17.1.16 -//==================================================================== - -type record PDU_BSSAPp_MS_INFORMATION_RESPONSE { - ST_BSSAPp_Msg_type messageType, - STR_BSSAPp_IMSI iMSI, - STR_BSSAPp_TMSI tMSI optional, - STR_BSSAPp_PTMSI pTMSI optional, - STR_BSSAPp_IMEI iMEI optional, - STR_BSSAPp_IMEISV iMEISV optional, - STR_BSSAPp_Cell_Global_Identity cellGlobalIdentity optional, - STR_BSSAPp_Location_Information_Age locationInformationAge optional, - STR_BSSAPp_Mobile_Station_State mobileStationState optional, - STR_BSSAPp_Service_Area_Identification serviceAreaIdentification optional -} with { - variant "TAG ( - iMSI, iEI = '00000001'B; - tMSI, iEI = '00000011'B; - pTMSI, iEI = '00010011'B; - iMEI, iEI = '00010100'B; - iMEISV, iEI = '00010101'B; - cellGlobalIdentity, iEI = '00011000'B; - locationInformationAge, iEI = '00011001'B; - mobileStationState, iEI = '00011010'B; - serviceAreaIdentification, iEI = '00011110'B; - )" -}; - -//==================================================================== -// BSSAP+-MS-UNREACHABLE -// Reference: 29.018 17.1.17 -//==================================================================== - - -type BSSAPp_REJECT PDU_BSSAPp_MS_UNREACHABLE; - -//==================================================================== -// BSSAP+-PAGING-REJECT -// Reference: 29.018 17.1.18 -//==================================================================== - -type BSSAPp_REJECT PDU_BSSAPp_PAGING_REJECT; - -//==================================================================== -// BSSAP+-PAGING-REQUEST -// Reference: 29.018 17.1.19 -//==================================================================== - - -type record PDU_BSSAPp_PAGING_REQUEST { - ST_BSSAPp_Msg_type messageType, - STR_BSSAPp_IMSI iMSI, - STR_BSSAPp_VLR_Number vLRnumber, - STR_BSSAPp_TMSI tMSI optional, - STR_BSSAPp_Location_Area_Identifier locationAreaIdentifier optional, - STR_BSSAPp_Channel_Needed channelNeeded optional, - STR_BSSAPp_eMLPP_Priority eMLPPpriority optional, - STR_BSSAPp_Global_CN_Id global_CN_Id optional -} with { - variant "TAG ( - iMSI, iEI = '00000001'B; - vLRnumber, iEI = '00000010'B; - tMSI, iEI = '00000011'B; - locationAreaIdentifier, iEI = '00000100'B; - channelNeeded, iEI = '00000101'B; - eMLPPpriority, iEI = '00000110'B; - global_CN_Id, iEI = '00001011'B; - )" -}; - -//==================================================================== -// BSSAP+-RESET-ACK -// Reference: 29.018 17.1.20 -//==================================================================== - -type record PDU_BSSAPp_RESET_ACK { - ST_BSSAPp_Msg_type messageType, - STR_BSSAPp_SGSN_Number sGSNnumber optional, - STR_BSSAPp_VLR_Number vLRnumber optional -} with { - variant "TAG ( - sGSNnumber, iEI = '00001001'B; - vLRnumber, iEI = '00000010'B; - )" -}; - -//==================================================================== -// BSSAP+-RESET-INDICATION -// Reference: 29.018 17.1.21 -//==================================================================== - -type record PDU_BSSAPp_RESET_INDICATION { - ST_BSSAPp_Msg_type messageType, - STR_BSSAPp_SGSN_Number sGSNnumber optional, - STR_BSSAPp_VLR_Number vLRnumber optional -} with { - variant "TAG ( - sGSNnumber, iEI = '00001001'B; - vLRnumber, iEI = '00000010'B; - )" -}; - -//==================================================================== -// BSSAP+-TMSI-REALLOCATION-COMPLETE -// Reference: 29.018 17.1.22 -//==================================================================== - -type record PDU_BSSAPp_TMSI_REALLOCATION_COMPLETE { - ST_BSSAPp_Msg_type messageType, - STR_BSSAPp_IMSI iMSI, - STR_BSSAPp_Cell_Global_Identity cellGlobalIdentity optional, - STR_BSSAPp_Service_Area_Identification serviceAreaIdentification optional -} with { - variant "TAG ( - iMSI, iEI = '00000001'B; - cellGlobalIdentity, iEI = '00011000'B; - serviceAreaIdentification, iEI = '00011110'B; - )" -}; - -//==================================================================== -// BSSAP+-UPLINK-TUNNEL-REQUEST -// Reference: 29.018 17.1.23 -//==================================================================== - - -type record PDU_BSSAPp_UPLINK_TUNNEL_REQUEST { - ST_BSSAPp_Msg_type messageType, - STR_BSSAPp_IMSI iMSI, - STR_BSSAPp_SGSN_Number sGSNnumber, - STR_BSSAPp_Uplink_Tunnel_Payload_Control_And_Info - uplinkTunnelPayloadControlAndInfo -} with { - variant "TAG( - iMSI, iEI = '00000001'B; - sGSNnumber, iEI = '00001001'B; - uplinkTunnelPayloadControlAndInfo, iEI = '00011101'B; - )" -}; - - - -// ------------------ // ----PDU_BSSAPp---- // ------------------ - - -type union PDU_BSSAPp { - PDU_BSSAPp_PAGING_REJECT pDU_BSSAPp_PAGING_REJECT, - PDU_BSSAPp_PAGING_REQUEST pDU_BSSAPp_PAGING_REQUEST, - PDU_BSSAPp_DOWNLINK_TUNNEL_REQUEST pDU_BSSAPp_DOWNLINK_TUNNEL_REQUEST, - PDU_BSSAPp_UPLINK_TUNNEL_REQUEST pDU_BSSAPp_UPLINK_TUNNEL_REQUEST, - PDU_BSSAPp_LOCATION_UPDATE_REQUEST pDU_BSSAPp_LOCATION_UPDATE_REQUEST, - PDU_BSSAPp_LOCATION_UPDATE_ACCEPT pDU_BSSAPp_LOCATION_UPDATE_ACCEPT, - PDU_BSSAPp_LOCATION_UPDATE_REJECT pDU_BSSAPp_LOCATION_UPDATE_REJECT, - PDU_BSSAPp_TMSI_REALLOCATION_COMPLETE pDU_BSSAPp_TMSI_REALLOCATION_COMPLETE, - PDU_BSSAPp_ALERT_REQUEST pDU_BSSAPp_ALERT_REQUEST, - PDU_BSSAPp_ALERT_ACK pDU_BSSAPp_ALERT_ACK, - PDU_BSSAPp_ALERT_REJECT pDU_BSSAPp_ALERT_REJECT, - PDU_BSSAPp_MS_ACTIVITY_INDICATION pDU_BSSAPp_MS_ACTIVITY_INDICATION, - PDU_BSSAPp_GPRS_DETACH_INDICATION pDU_BSSAPp_GPRS_DETACH_INDICATION, - PDU_BSSAPp_GPRS_DETACH_ACK pDU_BSSAPp_GPRS_DETACH_ACK, - PDU_BSSAPp_IMSI_DETACH_INDICATION pDU_BSSAPp_IMSI_DETACH_INDICATION, - PDU_BSSAPp_IMSI_DETACH_ACK pDU_BSSAPp_IMSI_DETACH_ACK, - PDU_BSSAPp_RESET_INDICATION pDU_BSSAPp_RESET_INDICATION, - PDU_BSSAPp_RESET_ACK pDU_BSSAPp_RESET_ACK, - PDU_BSSAPp_MS_INFORMATION_REQUEST pDU_BSSAPp_MS_INFORMATION_REQUEST, - PDU_BSSAPp_MS_INFORMATION_RESPONSE pDU_BSSAPp_MS_INFORMATION_RESPONSE, - PDU_BSSAPp_MM_INFORMATION_REQUEST pDU_BSSAPp_MM_INFORMATION_REQUEST, - PDU_BSSAPp_MOBILE_STATUS pDU_BSSAPp_MOBILE_STATUS, - PDU_BSSAPp_MS_UNREACHABLE pDU_BSSAPp_MS_UNREACHABLE - -} with { - variant "TAG ( - pDU_BSSAPp_PAGING_REQUEST, messageType ='00000001'B; - pDU_BSSAPp_PAGING_REJECT, messageType ='00000010'B; - pDU_BSSAPp_DOWNLINK_TUNNEL_REQUEST, messageType ='00000111'B; - pDU_BSSAPp_UPLINK_TUNNEL_REQUEST, messageType ='00001000'B; - pDU_BSSAPp_LOCATION_UPDATE_REQUEST, messageType ='00001001'B; - pDU_BSSAPp_LOCATION_UPDATE_ACCEPT, messageType ='00001010'B; - pDU_BSSAPp_LOCATION_UPDATE_REJECT, messageType ='00001011'B; - pDU_BSSAPp_TMSI_REALLOCATION_COMPLETE, messageType ='00001100'B; - pDU_BSSAPp_ALERT_REQUEST, messageType ='00001101'B; - pDU_BSSAPp_ALERT_ACK, messageType ='00001110'B; - pDU_BSSAPp_ALERT_REJECT, messageType ='00001111'B; - pDU_BSSAPp_MS_ACTIVITY_INDICATION, messageType ='00010000'B; - pDU_BSSAPp_GPRS_DETACH_INDICATION, messageType ='00010001'B; - pDU_BSSAPp_GPRS_DETACH_ACK, messageType ='00010010'B; - pDU_BSSAPp_IMSI_DETACH_INDICATION, messageType ='00010011'B; - pDU_BSSAPp_IMSI_DETACH_ACK, messageType ='00010100'B; - pDU_BSSAPp_RESET_INDICATION, messageType ='00010101'B; - pDU_BSSAPp_RESET_ACK, messageType ='00010110'B; - pDU_BSSAPp_MS_INFORMATION_REQUEST, messageType ='00010111'B; - pDU_BSSAPp_MS_INFORMATION_RESPONSE, messageType ='00011000'B; - pDU_BSSAPp_MM_INFORMATION_REQUEST, messageType ='00011010'B; - pDU_BSSAPp_MOBILE_STATUS, messageType ='00011101'B; - pDU_BSSAPp_MS_UNREACHABLE, messageType ='00011111'B; - )" -}; - -} with{ encode "RAW"}//end of module BSSAPp_Types diff --git a/BSSGP_v13.0.0_CNL113833_LATEST/BSSGP_v13.0.0_CNL113833.tpd b/BSSGP_v13.0.0_CNL113833_LATEST/BSSGP_v13.0.0_CNL113833.tpd deleted file mode 100644 index caee93449..000000000 --- a/BSSGP_v13.0.0_CNL113833_LATEST/BSSGP_v13.0.0_CNL113833.tpd +++ /dev/null @@ -1,51 +0,0 @@ - - - - BSSGP_v13.0.0_CNL113833 - - - - - - - - Default - - - - - true - true - true - bin/BSSGP_v13.0.0_CNL113833 - Level 3 - Creating object files with dependency update - - - bin - - - - - doc - - true - - - - - - diff --git a/BSSGP_v13.0.0_CNL113833_LATEST/doc/BSSGP_v13.0_Descr.doc b/BSSGP_v13.0.0_CNL113833_LATEST/doc/BSSGP_v13.0_Descr.doc deleted file mode 100644 index 21c47b067..000000000 Binary files a/BSSGP_v13.0.0_CNL113833_LATEST/doc/BSSGP_v13.0_Descr.doc and /dev/null differ diff --git a/BSSGP_v13.0.0_CNL113833_LATEST/doc/BSSGP_v13.0_PRI.doc b/BSSGP_v13.0.0_CNL113833_LATEST/doc/BSSGP_v13.0_PRI.doc deleted file mode 100644 index d8251f5fb..000000000 Binary files a/BSSGP_v13.0.0_CNL113833_LATEST/doc/BSSGP_v13.0_PRI.doc and /dev/null differ diff --git a/BSSGP_v13.0.0_CNL113833_LATEST/doc/documentation_note.txt b/BSSGP_v13.0.0_CNL113833_LATEST/doc/documentation_note.txt deleted file mode 100644 index 6cec029a6..000000000 --- a/BSSGP_v13.0.0_CNL113833_LATEST/doc/documentation_note.txt +++ /dev/null @@ -1,13 +0,0 @@ -Please note that the storage of the documentation of the product has been -moved to the eridoc.ericsson.se from the ClearCase. - -You can access the documentation of the product via the following links: - -The documentation belongs to the R1A revision of the product -can be found here: -http://document.internal.ericsson.com/Download?DocNo=1095-CNL113833&Rev=A&Lang=EN&PRev=Y - -The documentation belongs to the latest revision of the product -can be found here: -http://document.internal.ericsson.com/Download?DocNo=1095-CNL113833&Rev=HIGHEST&Lang=EN&Status=FREE&PRev=Y - diff --git a/BSSGP_v13.0.0_CNL113833_LATEST/src/BSSGP_EncDec.cc b/BSSGP_v13.0.0_CNL113833_LATEST/src/BSSGP_EncDec.cc deleted file mode 100644 index b447a6760..000000000 --- a/BSSGP_v13.0.0_CNL113833_LATEST/src/BSSGP_EncDec.cc +++ /dev/null @@ -1,145 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// // -// 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: BSSGP_EncDec.cc -// Rev: R1A -// Prodnr: CNL 113 833 -// Contact: http://ttcn.ericsson.se -// Reference: 3GPP TS 48.018 13.0.0 - -#include "BSSGP_Types.hh" - -//static TTCN_Module BSSGP_EndDec("BSSGP_EncDec", __DATE__, __TIME__); - -namespace BSSGP__Types { - - -OCTETSTRING enc__PDU__BSSGP(const PDU__BSSGP& pdu) -{ - TTCN_Buffer bb; - - // CALCULATE WHICH LENGTH FORMAT SHOULD BE USED AND CHANGE SHORT LENGTH FORM - // TO LONG LENGTH FORM IF NECESSARY - if (pdu.get_selection() == PDU__BSSGP::ALT_pDU__BSSGP__DL__UNITDATA) - { - if( pdu.pDU__BSSGP__DL__UNITDATA().lLC__PDU().lLC__PDU().lengthof() > 127) - { - PDU__BSSGP pdu2(pdu); - pdu2.pDU__BSSGP__DL__UNITDATA().lLC__PDU().lengthIndicator().length2() = - pdu2.pDU__BSSGP__DL__UNITDATA().lLC__PDU().lLC__PDU().lengthof(); - pdu2.encode(PDU__BSSGP_descr_ ,bb, TTCN_EncDec::CT_RAW); - - } - else - pdu.encode(PDU__BSSGP_descr_ ,bb, TTCN_EncDec::CT_RAW); - } - else if(pdu.get_selection() == PDU__BSSGP::ALT_pDU__BSSGP__UL__UNITDATA) - { - if( pdu.pDU__BSSGP__UL__UNITDATA().lLC__PDU().lLC__PDU().lengthof() > 127) - { - PDU__BSSGP pdu2(pdu); - pdu2.pDU__BSSGP__UL__UNITDATA().lLC__PDU().lengthIndicator().length2() = - pdu2.pDU__BSSGP__UL__UNITDATA().lLC__PDU().lLC__PDU().lengthof(); - pdu2.encode(PDU__BSSGP_descr_ ,bb, TTCN_EncDec::CT_RAW); - } - else - pdu.encode(PDU__BSSGP_descr_ ,bb, TTCN_EncDec::CT_RAW); - } - - else if(pdu.get_selection() == PDU__BSSGP::ALT_pDU__BSSGP__DL__MBMS__UNITDATA) - { - if( pdu.pDU__BSSGP__DL__MBMS__UNITDATA().lLC__PDU().lLC__PDU().lengthof() > 127) - { - PDU__BSSGP pdu2(pdu); - pdu2.pDU__BSSGP__DL__MBMS__UNITDATA().lLC__PDU().lengthIndicator().length2() = - pdu2.pDU__BSSGP__DL__MBMS__UNITDATA().lLC__PDU().lLC__PDU().lengthof(); - pdu2.encode(PDU__BSSGP_descr_ ,bb, TTCN_EncDec::CT_RAW); - } - else - pdu.encode(PDU__BSSGP_descr_ ,bb, TTCN_EncDec::CT_RAW); - } - - else if(pdu.get_selection() == PDU__BSSGP::ALT_pDU__BSSGP__UL__MBMS__UNITDATA) - { - if( pdu.pDU__BSSGP__UL__MBMS__UNITDATA().lLC__PDU().lLC__PDU().lengthof() > 127) - { - PDU__BSSGP pdu2(pdu); - pdu2.pDU__BSSGP__UL__MBMS__UNITDATA().lLC__PDU().lengthIndicator().length2() = - pdu2.pDU__BSSGP__UL__MBMS__UNITDATA().lLC__PDU().lLC__PDU().lengthof(); - pdu2.encode(PDU__BSSGP_descr_ ,bb, TTCN_EncDec::CT_RAW); - } - else - pdu.encode(PDU__BSSGP_descr_ ,bb, TTCN_EncDec::CT_RAW); - } - - else - pdu.encode(PDU__BSSGP_descr_ ,bb, TTCN_EncDec::CT_RAW); - - return OCTETSTRING (bb.get_len(), bb.get_data()); -} - -/*PDU__BSSGP dec__PDU__BSSGP(const OCTETSTRING& stream) -{ - PDU__BSSGP retv; - TTCN_Buffer bb; - - bb.put_os(stream); - - retv.decode(PDU__BSSGP_descr_, bb, TTCN_EncDec::CT_RAW); - return retv; -}*/ - -PDU__BSSGP dec__PDU__BSSGP(const OCTETSTRING& stream) -{ - if (TTCN_Logger::log_this_event(TTCN_Logger::DEBUG_ENCDEC)) { - TTCN_Logger::begin_event(TTCN_Logger::DEBUG_ENCDEC); - TTCN_Logger::log_event_str("dec_PDU_BSSGP(): Stream before decoding: "); - stream.log(); - TTCN_Logger::end_event(); - } - TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL, TTCN_EncDec::EB_DEFAULT); - TTCN_EncDec::clear_error(); - TTCN_Buffer ttcn_buffer(stream); - PDU__BSSGP ret_val; - ret_val.decode(PDU__BSSGP_descr_, ttcn_buffer, TTCN_EncDec::CT_RAW); - - if (TTCN_Logger::log_this_event(TTCN_Logger::DEBUG_ENCDEC)) { - TTCN_Logger::begin_event(TTCN_Logger::DEBUG_ENCDEC); - TTCN_Logger::log_event_str("dec_PDU_BSSGP(): Decoded @BSSGP_Types.PDU_BSSGP: "); - ret_val.log(); - TTCN_Logger::end_event(); - } -if (TTCN_EncDec::get_last_error_type() == TTCN_EncDec::ET_NONE) { - if (ttcn_buffer.get_pos() < ttcn_buffer.get_len() && TTCN_Logger::log_this_event(TTCN_WARNING)) { - ttcn_buffer.cut(); - OCTETSTRING remaining_stream; - ttcn_buffer.get_string(remaining_stream); - TTCN_Logger::begin_event(TTCN_WARNING); - TTCN_Logger::log_event_str("dec_PDU_BSSGP(): Warning: Data remained at the end of the stream after successful decoding: "); - remaining_stream.log(); - TTCN_Logger::end_event(); - } - } -if(ret_val.get_selection()== PDU__BSSGP::ALT_pDU__BSSGP__PS__HANDOVER__REQUEST) -{ - if(!ret_val.pDU__BSSGP__PS__HANDOVER__REQUEST().target__Cell__Identifier().ispresent()){ - Cell__Identifier cell; - cell = ret_val.pDU__BSSGP__PS__HANDOVER__REQUEST().source__Cell__Identifier(); - ret_val.pDU__BSSGP__PS__HANDOVER__REQUEST().target__Cell__Identifier() = cell; - //ret_val.pDU__BSSGP__PS__HANDOVER__REQUEST().source__Cell__Identifier().clean_up(); - ret_val.pDU__BSSGP__PS__HANDOVER__REQUEST().source__Cell__Identifier()= OMIT_VALUE; - - } } -return ret_val; -} - - -}//namespace diff --git a/BSSGP_v13.0.0_CNL113833_LATEST/src/BSSGP_Types.ttcn b/BSSGP_v13.0.0_CNL113833_LATEST/src/BSSGP_Types.ttcn deleted file mode 100644 index 717286235..000000000 --- a/BSSGP_v13.0.0_CNL113833_LATEST/src/BSSGP_Types.ttcn +++ /dev/null @@ -1,4419 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// // -// 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: BSSGP_Types.ttcn -// Rev: R1A -// Prodnr: CNL 113 833 -// Contact: http://ttcn.ericsson.se -// Reference: 3GPP TS 48.018 13.0.0 - - -module BSSGP_Types -{ - -import from General_Types all; - -external function enc_PDU_BSSGP(in PDU_BSSGP pdu) return octetstring; - -external function dec_PDU_BSSGP(in octetstring stream) return PDU_BSSGP; - -external function enc_PDU_BSSGP_fast(in PDU_BSSGP pdu, out octetstring stream) -with { extension "prototype(fast) encode(RAW)" } - -external function dec_PDU_BSSGP_backtrack(in octetstring stream, out PDU_BSSGP pdu) return integer -with { extension "prototype(backtrack) decode(RAW)" } - - -//----------------------------------------------------------------------------- -// INFORMATION ELEMENTS -//----------------------------------------------------------------------------- -type union LIN2_2a -{ - integer length1, - integer length2 -} with { - variant (length1) "FIELDLENGTH(7)"; - variant (length2) "FIELDLENGTH(15)"; - variant (length2) "BYTEORDER(last)"; - variant (length1,length2) "FIELDORDER(msb)"; -} - -// 11.3.1 -type record Alignment_octets -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - octetstring spare_octet length(0..3) -} with { - variant "PRESENCE(iEI = '00'O)"; - variant (lengthIndicator) "LENGTHTO (spare_octet)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - -// 11.3.2 -type record Bmax_default_MS -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - OCT2 bmax // could be changed to integer input if simpler -} with { - variant "PRESENCE(iEI = '01'O)"; - variant (lengthIndicator) "LENGTHTO (bmax)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - -// 11.3.3 -type record BSS_Area_Indication -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - OCT1 bSS_indicator -} with { - variant "PRESENCE(iEI = '02'O)"; - variant (lengthIndicator) "LENGTHTO (bSS_indicator)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - -// 11.3.4 -type record Bucket_Leak_Rate -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - OCT2 r_Value // could be changed to integer input if simpler -} with { - variant "PRESENCE(iEI = '03'O)"; - variant (lengthIndicator) "LENGTHTO (r_Value)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - -// 11.3.5 -type record BVC_Bucket_Size -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - OCT2 bmax -} with { - variant "PRESENCE(iEI = '05'O)"; - variant (lengthIndicator) "LENGTHTO (bmax)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - -// 11.3.6 -type record BVCI -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - OCT2 unstructured_value -} with { - variant "PRESENCE(iEI = '04'O)"; - variant (lengthIndicator) "LENGTHTO (unstructured_value)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - -// 11.3.7 -type record BVC_Measurement -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - OCT2 delay_Value - -} with { - variant "PRESENCE(iEI = '06'O)"; - variant (lengthIndicator) "LENGTHTO (delay_Value)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - -// 11.3.8 -type record Cause_BSSGP - { - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - OCT1 cause_Value - } with { - variant "PRESENCE(iEI = '07'O)"; - variant (lengthIndicator) "LENGTHTO (cause_Value)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - -// 11.3.9 -type record Cell_Identifier -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - HEX1 mccDigit1 , - HEX1 mccDigit2 , - HEX1 mccDigit3 , - HEX1 mncDigit3 , - HEX1 mncDigit1 , - HEX1 mncDigit2 , - OCT2 lac, - OCT1 rac, - OCT2 cI_value -} with { - variant "PRESENCE(iEI = '08'O)"; - variant (lengthIndicator) - "LENGTHTO(mccDigit1,mccDigit2,mccDigit3,mncDigit3,mncDigit1, - mncDigit2,lac,rac,cI_value)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - - -type record Cell_Identifier_V -{ - HEX1 mccDigit1, - HEX1 mccDigit2, - HEX1 mccDigit3, - HEX1 mncDigit3, - HEX1 mncDigit1, - HEX1 mncDigit2, - OCT2 lac, - OCT1 rac, - OCT2 cI_value -}; - -// 11.3.10 -// 29.018, 44.018 -type record Channel_needed -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - Channel_Needed_Value channel_Needed_Value -} with { - variant "PRESENCE(iEI = '09'O)"; - variant (lengthIndicator) "LENGTHTO (channel_Needed_Value)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - -type record Channel_Needed_Value -{ - BIT2 channel_1, - BIT2 channel_2, - BIT4 channelNeededIEI //44.018 -} - -// 11.3.11 -type record DRX_Parameters -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - OCT1 splitPG_CycleCode, - BIT3 nonDRXTimer, - BIT1 splitOnCCCH, - BIT4 cnSpecificDRXCycleLength -} with { - variant "PRESENCE(iEI = '0A'O)"; - variant (lengthIndicator) - "LENGTHTO (splitPG_CycleCode,nonDRXTimer,splitOnCCCH, - cnSpecificDRXCycleLength)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; - }; - -// 11.3.12 -type record EMLPP_Priority_BSSGP -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - BIT3 callPriority, - BIT5 spare -} with { - variant "PRESENCE(iEI = '0B'O)"; - variant (lengthIndicator) "LENGTHTO (callPriority,spare)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; - }; - -// 11.3.13 -type record Flush_Action -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - OCT1 actionValue -} with { - variant "PRESENCE(iEI = '0C'O)"; - variant (lengthIndicator) "LENGTHTO (actionValue)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; - }; - - -// 11.3.14 -type record IMSI_BSSGP -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - BIT3 type_of_Identity, - BIT1 oddevenIndicator, // '1'B or '0'B - hexstring digits length(5..15) -} with { - variant "PRESENCE(iEI = '0D'O)"; - variant (lengthIndicator) "LENGTHTO (type_of_Identity, - oddevenIndicator,digits)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - //variant (fillerDigit) "PRESENCE (oddevenIndicator = '0'B) "; - variant (digits) "HEXORDER(low)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; - variant "PADDING(yes)"; - variant "PADDING_PATTERN('1'B)" - - }; - -// 11.3.15 -//NOTE: lengthIndicator-short form will be converted to long form -// if needed during encoding -type record LLC_PDU -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - octetstring lLC_PDU // Note: this is divided into 2 parts in spec! -} with { - variant "PRESENCE(iEI = '0E'O)"; - variant (lengthIndicator) "LENGTHTO (lLC_PDU)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - -// 11.3.16 -type record LLC_Frames_Discarded -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - hexstring number_of_frames_discarded length (2) - } with { - variant "PRESENCE(iEI = '0F'O)"; - variant (lengthIndicator) "LENGTHTO (number_of_frames_discarded)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - -// 11.3.17 -type record Location_Area -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - HEX1 mccDigit1, - HEX1 mccDigit2, - HEX1 mccDigit3, - HEX1 mncDigit3, - HEX1 mncDigit1, - HEX1 mncDigit2, - OCT2 lac -} with { - variant "PRESENCE(iEI = '10'O)"; - variant (lengthIndicator) "LENGTHTO (mccDigit1,mccDigit2,mccDigit3, - mncDigit3,mncDigit1,mncDigit2,lac)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - -// 11.3.18 -type record LSA_Identifier_List_BSSGP -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - octetstring lSA_Identifier_List // encoded LSA Identifier List -} with { - variant "PRESENCE(iEI = '26'O)"; - variant (lengthIndicator) "LENGTHTO (lSA_Identifier_List)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - - -// 11.3.19 -type record LSA_Information_BSSGP -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - LSA_Information lSA_Information // encoded LSA Information 48.008 -} with { - variant "PRESENCE(iEI = '27'O)"; - variant (lengthIndicator) "LENGTHTO (lSA_Information)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - -type record LSA_Information // encoded LSA Information 48.008 -{ - BIT1 lSA_Only, - BIT7 spare, - LSA_Identification_and_Attributes_List lSA_Identification_and_Attributes_List -} - -type record of LSA_Identification_and_Attributes LSA_Identification_and_Attributes_List; - -type record LSA_Identification_and_Attributes -{ - BIT4 priority, - BIT1 pref, - BIT1 act, - BIT2 spare, - OCT3 lSA_ID -} - - -// 11.3.20 -type record Mobile_Id_BSSGP -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - MobileIdentityV_BSSGP mobile_Identity -} with { - variant "PRESENCE(iEI = '11'O)"; - variant (lengthIndicator) "LENGTHTO (mobile_Identity)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - -// MobileIdentityV structure copied from 24.008 MobileL3 -type record MobileIdentityV_BSSGP -{ - BIT3 typeOfIdentity, - OddEvenInd_Identity_BSSGP oddEvenInd_identity -} with { - variant (oddEvenInd_identity) "CROSSTAG - ( - imei, typeOfIdentity ='010'B; - imsi, typeOfIdentity ='001'B; - imei_sv, typeOfIdentity ='011'B; - )" -}; - -type union OddEvenInd_Identity_BSSGP -{ - IMSI_MobileIdentityV imsi, - IMEI_MobileIdentityV imei, - IMEI_SV_MobileIdentityV imei_sv -}; - -type record IMSI_MobileIdentityV -{ - BIT1 oddevenIndicator, // '1'B or '0'B - hexstring digits length(5..15), - BIT4 fillerDigit optional // B'1111, fillerDigit is present - // if oddevenIndicator=0 -} -with -{ - variant (fillerDigit) "PRESENCE (oddevenIndicator = '0'B) "; -}; - -type record IMEI_MobileIdentityV -{ - BIT1 oddevenIndicator, // '1'B - hexstring digits length(15) -}; - -type record IMEI_SV_MobileIdentityV -{ - BIT1 oddevenIndicator, // '0'B - hexstring digits length(16), - BIT4 fillerDigit // filler '1111'B -}; - -// 11.3.21 -type record MS_Bucket_Size -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - OCT2 bmax -} with { - variant "PRESENCE(iEI = '12'O)"; - variant (lengthIndicator) "LENGTHTO (bmax)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - - -// 11.3.22 -// Note : structure from 24.008 Mobile L3 -type record MS_Radio_Access_Capability -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - MSRadioAccessCapabilityV_BSSGP mSRadioAccessCapabilityV_BSSGP -} with { - variant "PRESENCE(iEI = '13'O)"; - variant (lengthIndicator) "LENGTHTO (mSRadioAccessCapabilityV_BSSGP)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant /*(ext,lengthIndicator)*/ "FIELDORDER(msb)"; - variant "PADDING(yes)" -}; - -type record of MSRACapabilityValuesRecord_BSSGP MSRadioAccessCapabilityV_BSSGP -with { variant "EXTENSION_BIT(reverse)";variant "FIELDORDER(msb)" }; - - -type record MSRACapabilityValuesRecord_BSSGP -{ - MSRACapabilityValues_BSSGP mSRACapabilityValues, - BIT1 presenceBitMSRACap -} with { variant "FIELDORDER(msb)" }; - - -type union MSRACapabilityValues_BSSGP -{ - MSRACapabilityValuesExclude1111_BSSGP mSRACapabilityValuesExclude1111, - MSRACapabilityValues1111_BSSGP mSRACapabilityValues1111 -} with { variant "FIELDORDER(msb)" }; - - -type record MSRACapabilityValuesExclude1111_BSSGP -{ - BIT4 accessTechnType, - AccessCapabilitiesStruct_BSSGP accessCapabilities -} with { - variant "PRESENCE ( - accessTechnType = '0000'B, // GSM P - accessTechnType = '0001'B, // GSM E - accessTechnType = '0010'B, // GSM R - accessTechnType = '0011'B, // GSM 1800 - accessTechnType = '0100'B, // GSM190 - accessTechnType = '0101'B, // GSM 450 - accessTechnType = '0110'B, // GSM480 - accessTechnType = '0111'B, // GSM 480 - accessTechnType = '1000'B, // GSM 700 - accessTechnType = '1001'B, // GSM T 310 - accessTechnType = '1010'B, // GSM T 410 - accessTechnType = '1011'B // GSM T 900 - )" - variant "FIELDORDER(msb)" -}; - - -// Access Capabilities Struct -type record AccessCapabilitiesStruct_BSSGP -{ - integer lengthIndicator, - AccessCapabilities_BSSGP accessCapabilities, - // spare_bits "expands to the indicated length", - // i.e. 24.008 spec puts no restriction on number - // of spare_bits. The only restriction is that the whole - // MS Radio Access Capability IE is less than 52 octets - bitstring spare_bits optional -} with { - variant (lengthIndicator) "FIELDLENGTH(7)"; - variant (lengthIndicator) "LENGTHTO(accessCapabilities,spare_bits)"; - variant (lengthIndicator) "UNIT(bits)"; - variant "FIELDORDER(msb)"; - variant (lengthIndicator) "BYTEORDER(last)"; -} - - -//Access Capabilities -type record AccessCapabilities_BSSGP -{ - BIT3 rfPowerCapability, - BIT1 presenceBitA5, - A5BITS_BSSGP a5bits optional, - BIT1 esind, - BIT1 psbit, - BIT1 vgcs, - BIT1 vbs, - BIT1 presenceBitMultislot, - MultislotCap_BSSGP multislotcap optional, - AccessCapAdditionsAfterRel97_BSSGP accessCapAdditionsAfterRel97 optional //opt because of V97 - //Note: AccessCapAdditionsAfterRel97 can include: - // Rel99 or - // Rel99 + Rel4 or - // Rel99 + Rel4 + Rel5 or - // Rel99 + Rel4 + Rel5 + Rel6 -} with { - variant "FIELDORDER(msb)"; - variant (a5bits) "PRESENCE(presenceBitA5 = '1'B)"; - variant (multislotcap) "PRESENCE(presenceBitMultislot = '1'B)"; -} - - -type record AccessCapAdditionsAfterRel97_BSSGP -{ - AccessCapAdditionsRel99_BSSGP accessCapAdditionsRel99, - AccessCapAdditionsAfterRel99_BSSGP accessCapAdditionsAfterRel99 optional -} with { - variant "FIELDORDER(msb)"; -} - - -type record AccessCapAdditionsRel99_BSSGP -{ - BIT1 presenceBitPskpow, - BIT2 pskpowercap optional, - BIT1 compactIntMeasurCap, - BIT1 revisionLevelInd, - BIT1 umtsfddRadAccTechCap, - BIT1 umtstddRadAccTechCap, - BIT1 cdma2kRadAccTechCap -} with { - variant "FIELDORDER(msb)"; - variant (pskpowercap) "PRESENCE(presenceBitPskpow = '1'B)"; -} - - -type record AccessCapAdditionsAfterRel99_BSSGP -{ - AccessCapAdditionsRel4_BSSGP accessCapAdditionsRel4, - AccessCapAdditionsAfterRel4_BSSGP accessCapAdditionsAfterRel4 optional -} with { - variant "FIELDORDER(msb)"; -} - - -type record AccessCapAdditionsRel4_BSSGP -{ - BIT1 umts128RadAccTechCap, - BIT1 geranFeaturePackage, - BIT1 presenceBitExtendedDTM, - ExtendedDTM_BSSGP extendedDTM optional, - BIT1 modulationBasedMultislotClass -} with { - variant "FIELDORDER(msb)"; - variant (extendedDTM) "PRESENCE(presenceBitExtendedDTM = '1'B)"; -} - - -type record AccessCapAdditionsAfterRel4_BSSGP -{ - AccessCapAdditionsRel5_BSSGP accessCapAdditionsRel5, - AccessCapAdditionsAfterRel5_BSSGP accessCapAdditionsAfterRel5 optional -} with { - variant "FIELDORDER(msb)"; -} - - -type record AccessCapAdditionsRel5_BSSGP -{ - BIT1 presenceBitHighMultislotCapability, - BIT2 highMultislotCapability optional, - BIT1 presenceBitGeranIuModeCapability, - GeranIuModeCap_BSSGP geranIuModeCap optional, - BIT2 gMSKMultislotPowerProfile, - BIT2 eightPSKMultislotPowerProfile -} with { - variant "FIELDORDER(msb)"; - variant (highMultislotCapability) - "PRESENCE(presenceBitHighMultislotCapability = '1'B)" - variant (geranIuModeCap)"PRESENCE(presenceBitGeranIuModeCapability = '1'B)" -} - - -type record GeranIuModeCap_BSSGP -{ - integer lengthIndicator, - BIT1 fLOIuCapability, - bitstring spare_bits - // spare_bits "expands to the indicated length", - // i.e. 24.008 spec puts no restriction on number - // of spare_bits. The only restriction is that the whole - // MS Radio Access Capability IE is less than 52 octets -} with { - variant "FIELDORDER(msb)"; - variant (lengthIndicator) "FIELDLENGTH(4)"; - variant (lengthIndicator) "LENGTHTO(fLOIuCapability,spare_bits)"; - variant (lengthIndicator) "UNIT(bits)"; -} - -type record AccessCapAdditionsAfterRel5_BSSGP -{ - AccessCapAdditionsRel6_BSSGP accessCapAdditionsRel6, - AccessCapAdditionsRel7_BSSGP accessCapAdditionsAfterRel6 optional -} with { - variant "FIELDORDER(msb)"; -} - -type record AccessCapAdditionsRel6_BSSGP -{ - BIT1 multipleTBFCapability, - BIT2 downlinkAdvancedReceiverPerformance, - BIT1 extendedRLCMACCtrlMsgSegmentationCap, - BIT1 dTMEnhancementsCapability, - BIT1 presenceBitDTMGPRSHighMultiSlotClass, - DTMGPRSHighMultiSlotClass_BSSGP dTMGPRSHighMultiSlotClass optional, - BIT1 pSHandoverCapability -} with { - variant "FIELDORDER(msb)"; - variant (dTMGPRSHighMultiSlotClass) - "PRESENCE(presenceBitDTMGPRSHighMultiSlotClass = '1'B)" -} - - -type record DTMGPRSHighMultiSlotClass_BSSGP -{ - BIT3 dTMGPRSHighMultiSlotClassValue, - BIT1 presenceBitDTMEGPRSHighMultiSlotClass, - BIT3 dTMEGPRSHighMultiSlotClassValue optional -} with { - variant "FIELDORDER(msb)"; - variant (dTMEGPRSHighMultiSlotClassValue) - "PRESENCE(presenceBitDTMEGPRSHighMultiSlotClass = '1'B)" - -} - - -type record AccessCapAdditionsRel7_BSSGP -{ - BIT1 dTMHandoverCapability, - BIT1 presenceBitDownlinkDualCarrier, - DownlinkDualCarrier_BSSGP downlinkDualCarrier, - BIT1 flexibleTimeslotAssignment, - BIT1 gANPSHandoverCapability, - BIT1 rLCNonPersistentMode, - BIT1 reducedLatencyEGPRSCapability -} with { - variant "FIELDORDER(msb)"; - variant (downlinkDualCarrier) - "PRESENCE(presenceBitDownlinkDualCarrier = '1'B)" -} - - -type record DownlinkDualCarrier_BSSGP -{ - BIT3 multislotCapReductionforDownLinkDualCarrier, - BIT1 downlinkDualCarrierforDTMCapability -} with { variant "FIELDORDER(msb)" }; - - -type record ExtendedDTM_BSSGP -{ - BIT2 ExtendedDTM_GPRSMultislot, - BIT2 ExtendedDTM_EGPRSMultislot -} with { variant "FIELDORDER(msb)" }; - - -//MultislotCap -type record MultislotCap_BSSGP -{ - BIT1 presenceBitHscsd, - BIT5 hscsdmultislotclass optional, - BIT1 presenceBitGprs, - MultislotCap_GPRS_BSSGP gprsmultislot optional, - BIT1 presenceBitSms, - MultislotCap_SMS_BSSGP multislotCap_SMS optional, - MultislotCapAdditionsAfterRel97_BSSGP multislotCapAdditionsAfterRel97 optional -} with { - variant "FIELDORDER(msb)"; - variant (hscsdmultislotclass) "PRESENCE(presenceBitHscsd = '1'B)"; - variant (gprsmultislot) "PRESENCE(presenceBitGprs = '1'B)"; - variant (multislotCap_SMS) "PRESENCE(presenceBitSms = '1'B)"; - -} - - -type record MultislotCapAdditionsAfterRel97_BSSGP -{ - BIT1 presenceBitEcsdmulti, - BIT5 ecsdmultislotclass optional, - BIT1 presenceBitEgprsmulti, - MultislotCap_EGPRS_BSSGP multislotCap_EGPRS optional, - BIT1 presenceBitDtmGprsmulti, - MultislotCap_dtmgprsmultislotsubclass_BSSGP - multislotCapdtmgprsmultislotsubclass optional -} with { - variant "FIELDORDER(msb)"; - variant (ecsdmultislotclass) "PRESENCE(presenceBitEcsdmulti = '1'B)"; - variant (multislotCap_EGPRS) "PRESENCE(presenceBitEgprsmulti = '1'B)" ; - variant (multislotCapdtmgprsmultislotsubclass) - "PRESENCE(presenceBitDtmGprsmulti = '1'B)" -} - - -type record MultislotCap_GPRS_BSSGP -{ - BIT5 gprsmultislotclass, - BIT1 gprsextendeddynalloccap -} with { variant "FIELDORDER(msb)" }; - - -type record MultislotCap_SMS_BSSGP -{ - BIT4 smsValue, - BIT4 smValue -} with { variant "FIELDORDER(msb)" }; - - -type record MultislotCap_EGPRS_BSSGP -{ - BIT5 egprsmultislotclass, - BIT1 egprsextendeddynalloccap -} with { variant "FIELDORDER(msb)" }; - -type record MultislotCap_dtmgprsmultislotsubclass_BSSGP -{ - BIT2 dtmgprsmultislotsubclass, - BIT1 singleSlotDTM, - BIT1 presenceBitDTM_EGPRSMultiSlot, - BIT2 dTM_EGPRSMultiSlot optional -} with { - variant "FIELDORDER(msb)"; - variant (dTM_EGPRSMultiSlot) "PRESENCE(presenceBitDTM_EGPRSMultiSlot = '1'B)" -}; - - -//A5BITS - -type record A5BITS_BSSGP -{ - BIT1 a51 , - BIT1 a52 , - BIT1 a53 , - BIT1 a54 , - BIT1 a55 , - BIT1 a56 , - BIT1 a57 -} with { variant "FIELDORDER(msb)" }; - - -type record MSRACapabilityValues1111_BSSGP -{ - BIT4 accessTechnType, //1111 - integer lengthIndicator, - BIT1 presenceIndicator_AdditionalAccessTechnologiesRepetition, - AdditionalAccessTechnologiesRepetition_BSSGP // coded '1'B if list is not empty - additionalAccessTechnologiesRepetition optional, - bitstring spare_bits -} with { - variant "PRESENCE (accessTechnType = '1111'B)"; - variant "FIELDORDER(msb)"; - variant (lengthIndicator) "FIELDLENGTH(7)"; - variant (lengthIndicator) "UNIT(bits)"; - variant (lengthIndicator) "BYTEORDER(last)"; - variant (additionalAccessTechnologiesRepetition) - "PRESENCE(presenceIndicator_AdditionalAccessTechnologiesRepetition = '1'B)"; - variant (lengthIndicator) - "LENGTHTO(presenceIndicator_AdditionalAccessTechnologiesRepetition, - additionalAccessTechnologiesRepetition,spare_bits)"; - -}; - -type record of AdditionalAccessTechnologiesRecord_BSSGP - AdditionalAccessTechnologiesRepetition_BSSGP -with { variant "EXTENSION_BIT(reverse)" }; - - -type record AdditionalAccessTechnologiesRecord_BSSGP -{ - AdditionalAccessTechnologies_BSSGP additionalAccessTechnologies, - BIT1 extensionBit -} with { variant "FIELDORDER(msb)" }; - - -type record AdditionalAccessTechnologies_BSSGP -{ - BIT4 accessTechnType, - BIT3 gMSKPowerClass, - BIT2 psk8PowerClass -} with { variant "FIELDORDER(msb)" }; - - - -// 11.3.23 -type record OMC_Id_BSSGP -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - OCT20 oMC_Identity -} with { - variant "PRESENCE(iEI = '14'O)"; - variant (lengthIndicator) "LENGTHTO (oMC_Identity)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - - -// 11.3.24 -//NOTE: lengthIndicator-short form will be converted to -// long form if needed during encoding -type record PDU_in_Error -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - octetstring erroneous_BSSGP_PDU -} with { - variant "PRESENCE(iEI = '15'O)"; - variant (lengthIndicator) "LENGTHTO (erroneous_BSSGP_PDU)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - -// 11.3.25 -type record PDU_Lifetime -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - OCT2 delay_Value -} with { - variant "PRESENCE(iEI = '16'O)"; - variant (lengthIndicator) "LENGTHTO (delay_Value)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - -// 11.3.27 -type record Priority_BSSGP -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - BIT1 pvi, - BIT1 qa, - BIT4 priority_Level, //(1..14) 0: spare, 15: not used - BIT1 pci, - BIT1 spare -} with { - variant "PRESENCE(iEI = '17'O)"; - variant (lengthIndicator) "LENGTHTO (pvi,qa,priority_Level,pci,spare)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - -// 11.3.28 -type record QoS_Profile -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - OCT2 peak_Bit_Rate, - BIT3 precedence, - BIT1 a_bit, - BIT1 t_bit, - BIT1 c_r_bit, - BIT2 peakBitRateGranularity -} with { - variant "PRESENCE(iEI = '18'O)"; - variant (lengthIndicator) "LENGTHTO (peak_Bit_Rate,precedence, - a_bit,t_bit,c_r_bit,peakBitRateGranularity)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - - -type record QoS_Profile_V -{ - OCT2 peak_Bit_Rate, - BIT3 precedence, - BIT1 a_bit, - BIT1 t_bit, - BIT1 c_r_bit, - BIT2 peakBitRateGranularity -} - -// 11.3.29 -type record Radio_Cause -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - OCT1 radio_Cause_Value -} with { - variant "PRESENCE(iEI = '19'O)"; - variant (lengthIndicator) "LENGTHTO (radio_Cause_Value)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - -// 11.3.30 -type record RA_Cap_UPD_CAUSE -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - OCT1 rA_CAP_UPD_Cause_value -} with { - variant "PRESENCE(iEI = '1A'O)"; - variant (lengthIndicator) "LENGTHTO (rA_CAP_UPD_Cause_value)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - -// 11.3.31 -type record Routeing_Area -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - HEX1 mccDigit1, - HEX1 mccDigit2, - HEX1 mccDigit3, - HEX1 mncDigit3, - HEX1 mncDigit1, - HEX1 mncDigit2, - OCT2 lac, - OCT1 rac -} with { - variant "PRESENCE(iEI = '1B'O)"; - variant (lengthIndicator) "LENGTHTO (mccDigit1,mccDigit2,mccDigit3,mncDigit3, - mncDigit1,mncDigit2,lac,rac)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - -// 11.3.32 -type record R_default_MS -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - OCT2 r_default_MS_value -} with { - variant "PRESENCE(iEI = '1C'O)"; - variant (lengthIndicator) "LENGTHTO (r_default_MS_value)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - -// 11.3.33 -type record Suspend_Reference_Number -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - OCT1 suspend_Reference_Number_value -} with { - variant "PRESENCE(iEI = '1D'O)"; - variant (lengthIndicator) "LENGTHTO (suspend_Reference_Number_value)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - -// 11.3.34 -type record Tag -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - OCT1 unstructured_Value -} with { - variant "PRESENCE(iEI = '1E'O)"; - variant (lengthIndicator) "LENGTHTO (unstructured_Value)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - -// 11.3.35 -type record TLLI_BSSGP -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - OCT4 tLLI_Value -} with { - variant "PRESENCE(iEI = '1F'O)"; - variant (lengthIndicator) "LENGTHTO (tLLI_Value)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - -// 11.3.36 -// Note : reference in spec is to "TMSI/P-TMSI information element in -// 3GPP TS 24.008", however this specification has Mobile Identity -// IE which includes TMSI/P-TMSI -type record TMSI_BSSGP -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - OCT4 tMSI_Value -} with { - variant "PRESENCE(iEI = '20'O)"; - variant (lengthIndicator) "LENGTHTO (tMSI_Value)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - - -// 11.3.37 -type record Trace_Reference_BSSGP -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - OCT2 trace_Reference -} with { - variant "PRESENCE(iEI = '21'O)"; - variant (lengthIndicator) "LENGTHTO (trace_Reference)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - - -// 11.3.38 -type record Trace_Type_BSSGP -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - OCT1 equipment_Trace -} with { - variant "PRESENCE(iEI = '22'O)"; - variant (lengthIndicator) "LENGTHTO (equipment_Trace)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; - -}; - - -// 11.3.39 -type record TransactionId_BSSGP -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - OCT2 transaction_Id -} with { - variant "PRESENCE(iEI = '23'O)"; - variant (lengthIndicator) "LENGTHTO (transaction_Id)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - - -// 11.3.40 -type record Trigger_Id_BSSGP -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - OCT20 entity_Identity -} with { - variant "PRESENCE(iEI = '24'O)"; - variant (lengthIndicator) "LENGTHTO (entity_Identity)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - - -// 11.3.41 -type record Number_of_octets_affected -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - OCT3 number_of_octets_transfered_or_deleted - // could be changed to integer input if simpler -} with { - variant "PRESENCE(iEI = '25'O)"; - variant (lengthIndicator) - "LENGTHTO (number_of_octets_transfered_or_deleted)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - - -// 11.3.42 -type record PFI -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - BIT7 pFI_Value, - BIT1 spare // '0'B according to 10.5.6.11 of 24.008 - -} with { - variant "PRESENCE(iEI = '28'O)"; - variant (lengthIndicator) - "LENGTHTO (pFI_Value,spare)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - - -// 11.3.43 -// Note : structure from 24.008 -type record ABQP -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - BIT3 reliabilityClass, - BIT3 delayClass, - BIT2 spare1, // '00'B - BIT3 precedenceClass, - BIT1 spare2, - BIT4 peakThroughput, - BIT5 meanThroughput, - BIT3 spare3, - BIT3 deliverErroneusSDU optional, //opt because of V97 - BIT2 deliveryOrder optional, //opt because of V97 - BIT3 trafficClass optional, //opt because of V97 - OCT1 maxSDUSize optional, //opt because of V97 - OCT1 maxBitrateUplink optional, //opt because of V97 - OCT1 maxBitrateDownlink optional, //opt because of V97 - BIT4 sduErrorRatio optional, //opt because of V97 - BIT4 residualBER optional, //opt because of V97 - BIT2 trafficHandlingPriority optional, //opt because of V97 - BIT6 transferDelay optional, //opt because of V97 - OCT1 guaranteedBitRateUplink optional, //opt because of V97 - OCT1 guaranteedBitRateDownlink optional, //opt because of V97 - BIT4 sourceStatisticsDescriptor optional, //opt because of V97 - BIT1 signallingIndication optional, //opt because of V97 - BIT3 spare4 optional, //opt because of V97 - OCT1 maxBitRateDownlinkExtended optional, - OCT1 guaranteedBitRateDownlinkExtended optional, - OCT1 maxBitrateUplinkExtended optional, //opt because of V97 - OCT1 guaranteedBitRateUplinkExtended optional //opt because of V97 -} with { - variant "PRESENCE(iEI = '3A'O)"; - variant (lengthIndicator) - "LENGTHTO (reliabilityClass,delayClass,spare1,precedenceClass, - spare2,peakThroughput, - meanThroughput,spare3 - ,deliverErroneusSDU,deliveryOrder,trafficClass,maxSDUSize, - maxBitrateUplink,maxBitrateDownlink,sduErrorRatio,residualBER, - trafficHandlingPriority,transferDelay,guaranteedBitRateUplink, - guaranteedBitRateDownlink,sourceStatisticsDescriptor, - signallingIndication,spare4,maxBitRateDownlinkExtended, - guaranteedBitRateDownlinkExtended,maxBitrateUplinkExtended, - guaranteedBitRateUplinkExtended)"; - - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; - }; - - -// 11.3.44 -type record GPRS_Timer -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - BIT5 timer_Value, - BIT3 unit_Value -} with { - variant "PRESENCE(iEI = '29'O)"; - variant (lengthIndicator) - "LENGTHTO (timer_Value,unit_Value)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - -// 11.3.45 -type record Feature_bitmap -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - BIT1 pFC, - BIT1 cBL, - BIT1 iNR, - BIT1 lCS, - BIT1 rIM, - BIT1 pFC_FC, - BIT1 enhancedRadioStatus, - BIT1 mBMS -} with { - variant "PRESENCE(iEI = '3B'O)"; - variant (lengthIndicator) "LENGTHTO (pFC,cBL,iNR,lCS,rIM,pFC_FC, - enhancedRadioStatus,mBMS)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - -// 11.3.46 -type record Bucket_Full_Ratio -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - OCT1 rate_of_the_Bucket - // could be changed to integer input if simpler -} with { - variant "PRESENCE(iEI = '3C'O)"; - variant (lengthIndicator) "LENGTHTO (rate_of_the_Bucket)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; - } - - -// 11.3.47 -type record Service_UTRAN_CCO -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - BIT3 service_UTRAN_CCO_Value, - BIT2 service_E_UTRAN_CCO_Value, - BIT3 spare -} with { - variant "PRESENCE(iEI = '3D'O)"; - variant (lengthIndicator) "LENGTHTO (service_UTRAN_CCO_Value,service_E_UTRAN_CCO_Value,spare)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - -// new IE for Wendy Xiang and Freeman Feng -type record Service_Class_Indicator { - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - OCT1 serviceClassIndicator -} with { - variant "PRESENCE(iEI = '99'O)"; - variant (lengthIndicator) "LENGTHTO (serviceClassIndicator)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - -// 11.3.48 -type record NSEI_BSSGP -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - OCT2 nSEI -} with { - variant "PRESENCE(iEI = '3E'O)"; - variant (lengthIndicator) "LENGTHTO (nSEI)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - -// 11.3.49 -type record RRLP_APDU_BSSGP -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - octetstring rRLP_Message -} with { - variant "PRESENCE(iEI = '3F'O)"; - variant (lengthIndicator) "LENGTHTO (rRLP_Message)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; - //variant "PADDING(yes)"; -} - - -// 11.3.50 -// 24.008 -> 49.031 -type record LCS_QoS_BSSGP -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - BIT1 vert, - BIT1 vel, - BIT6 spare1, - BIT7 horizontal_Accuracy, - BIT1 hA_Indicator, // 1: is specified - BIT7 vertical_Accuracy, - BIT1 vA_Indicator, // 1: is specified - BIT6 spare2, - BIT2 response_Time_Category -} with { - variant "PRESENCE(iEI = '40'O)"; - variant (lengthIndicator) "LENGTHTO (vert,vel,spare1,horizontal_Accuracy,hA_Indicator,vertical_Accuracy,vA_Indicator,spare2,response_Time_Category)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - -// 11.3.51 -// 49.031 -type record LCS_Client_Type_BSSGP -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - BIT4 client_Subtype, - BIT4 client_Category -} with { - variant "PRESENCE(iEI = '41'O)"; - variant (lengthIndicator) "LENGTHTO (client_Subtype,client_Category)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - - -// 11.3.52 -// 49.031 -type record Requested_GPS_Assistance_Data_BSSGP -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - Requested_GPS_Assistance_Data_Value requested_GPS_Assistance_Data -} with { - variant "PRESENCE(iEI = '42'O)"; - variant (lengthIndicator) "LENGTHTO (requested_GPS_Assistance_Data)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - -type record Requested_GPS_Assistance_Data_Value -{ - OCT1 bits_H_to_A, - OCT1 bits_P_to_I, - SatelliteRelatedData satelliteRelatedData -} - -type record SatelliteRelatedData -{ - BIT6 spare, - BIT10 gPS_Week, - OCT1 gPS_Toe, - BIT4 t_Toe_Limit, - integer nSAT, - SatID_and_IODE_List satID_and_IODE_List -} with { variant(nSAT) "FIELDLENGTH(4)"; - variant(nSAT) "LENGTHTO(satID_and_IODE_List)"; - variant(nSAT) "UNIT(elements)"; -} - -type record of SatID_and_IODE SatID_and_IODE_List; - -type record SatID_and_IODE -{ - BIT6 satID, - BIT2 spare, - OCT1 iODE -} - -// 11.3.53 -// 49.031 -type record Location_Type_BSSGP -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - OCT1 location_Information, - OCT1 positioning_Method optional -} with { - variant "PRESENCE(iEI = '43'O)"; - variant (lengthIndicator) "LENGTHTO (location_Information,positioning_Method)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - -// 11.3.54 -// 48.008 -> 23.03 -type record Location_Estimate_BSSGP -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - octetstring location // encoded location information -} with { - variant "PRESENCE(iEI = '44'O)"; - variant (lengthIndicator) "LENGTHTO (location)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - -// 11.3.55 -// 49.031 -type record Positioning_Data_BSSGP -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - PositioningDataValue positioningDataValue // encoded location data -} with { - variant "PRESENCE(iEI = '45'O)"; - variant (lengthIndicator) "LENGTHTO (positioningDataValue)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - -type record PositioningDataValue -{ - BIT4 positioningDataDiscriminator, - BIT4 spare, - PositioningMethod_List positioningMethod_List -} - -type record of PositioningMethodValue PositioningMethod_List; - -type record PositioningMethodValue -{ - BIT3 usage, - BIT5 positioningMethod -} - -// 11.3.56 -type record Deciphering_Keys_BSSGP -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - DecipheringKeysValue decipheringKeysValue // encoded deciphering keys data -} with { - variant "PRESENCE(iEI = '46'O)"; - variant (lengthIndicator) "LENGTHTO (decipheringKeysValue)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - -type record DecipheringKeysValue -{ - BIT1 cipheringkeyFlag, - BIT7 spare, - OCT7 currentDecipheringKeyValue, - OCT7 nextDecipheringKeyValue -} - -// 11.3.57 -// 49.031 -type record LCS_Priority_BSSGP -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - OCT1 priority_Value // 0: highest, other: normal -} with { - variant "PRESENCE(iEI = '47'O)"; - variant (lengthIndicator) "LENGTHTO (priority_Value)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - -// 11.3.58 -// 49.031 -type record LCS_Cause_BSSGP -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - OCT1 cause_Value, - OCT1 diagnostic_Value optional -} with { - variant "PRESENCE(iEI = '48'O)"; - variant (lengthIndicator) "LENGTHTO (cause_Value,diagnostic_Value)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - -// 11.3.59 -// 24.008 -type record LCS_Capability_BSSGP -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - BIT1 gPS_C, - BIT1 gPS_B, - BIT1 gPS_A, - BIT1 oTD_B, - BIT1 oTD_A, - BIT3 spare -} with { - variant "PRESENCE(iEI = '49'O)"; - variant (lengthIndicator) "LENGTHTO (gPS_C,gPS_B,gPS_A,oTD_B,oTD_A,spare)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - -// 11.3.60 -type record RRLP_Flags_BSSGP -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - BIT1 flag1, - BIT7 spare -} with { - variant "PRESENCE(iEI = '4A'O)"; - variant (lengthIndicator) "LENGTHTO (flag1,spare)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - - -//11.3.61 -type record RIM_Application_Identity -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - OCT1 rIMApplicationIdentity -} with { - variant "PRESENCE(iEI = '4B'O)"; - variant (lengthIndicator) "LENGTHTO (rIMApplicationIdentity)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - - -//11.3.62 -type record RIM_Sequence_Number -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - OCT4 rIMSequenceNumber -} with { - variant "PRESENCE(iEI = '4C'O)"; - variant (lengthIndicator) "LENGTHTO (rIMSequenceNumber)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - - -// Table 11.3.62a.1 -type record RAN_Information_Request_RIM_Container -{ -OCT1 iEI, -BIT1 ext, -LIN2_2a lengthIndicator, -RIM_Application_Identity rIM_Application_Identity, -RIM_Sequence_Number rIM_Sequence_Number, -RIM_PDU_Indications rIM_PDU_Indications, -RIM_Protocol_Version_Number rIM_Protocol_Version_Number optional, -RAN_Information_Request_Application_Container application_Container optional, -SON_Transfer_Application_Identity_TLV sON_Transfer_Application_Identity_TLV optional -} with { - variant "PRESENCE(iEI = '57'O)"; - variant (lengthIndicator) "LENGTHTO (rIM_Application_Identity, - rIM_Sequence_Number,rIM_PDU_Indications,rIM_Protocol_Version_Number, - application_Container,sON_Transfer_Application_Identity_TLV)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; - variant (application_Container) - "PRESENCE - (rIM_Application_Identity.rIMApplicationIdentity = '01'O, - rIM_Application_Identity.rIMApplicationIdentity = '02'O, - rIM_Application_Identity.rIMApplicationIdentity = '03'O)"; - variant (application_Container) - "CROSSTAG - (nacc,rIM_Application_Identity.rIMApplicationIdentity = '01'O; - si3,rIM_Application_Identity.rIMApplicationIdentity = '02'O; - mBMS_data_channel,rIM_Application_Identity.rIMApplicationIdentity = '03'O;)" -}; - - -// Table 11.3.62a.2 -type record RAN_Information_RIM_Container -{ -OCT1 iEI, -BIT1 ext, -LIN2_2a lengthIndicator, -RIM_Application_Identity rIM_Application_Identity, -RIM_Sequence_Number rIM_Sequence_Number, -RIM_PDU_Indications rIM_PDU_Indications, -RIM_Protocol_Version_Number rIM_Protocol_Version_Number optional, -ApplContainer_or_ApplErrContainer applContainer_or_ApplErrContainer optional, -SON_Transfer_Application_Identity_TLV sON_Transfer_Application_Identity optional -} with { - variant "PRESENCE(iEI = '58'O)"; - variant (lengthIndicator) "LENGTHTO (rIM_Application_Identity, - rIM_Sequence_Number,rIM_PDU_Indications,rIM_Protocol_Version_Number, - applContainer_or_ApplErrContainer,sON_Transfer_Application_Identity)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; - variant (applContainer_or_ApplErrContainer) - "PRESENCE - (rIM_Application_Identity.rIMApplicationIdentity = '01'O, - rIM_Application_Identity.rIMApplicationIdentity = '02'O, - rIM_Application_Identity.rIMApplicationIdentity = '03'O)"; - variant (applContainer_or_ApplErrContainer) - "CROSSTAG - (nacc,rIM_Application_Identity.rIMApplicationIdentity = '01'O; - si3,rIM_Application_Identity.rIMApplicationIdentity = '02'O; - mBMS_data_channel,rIM_Application_Identity.rIMApplicationIdentity = '03'O;)" -}; - - -type union ApplContainer_or_ApplErrContainer -{ - ApplContainer_or_ApplErrContainer_NACC nacc, - ApplContainer_or_ApplErrContainer_SI3 si3, - ApplContainer_or_ApplErrContainer_MBMS_data_channel mBMS_data_channel -} - -type union ApplContainer_or_ApplErrContainer_NACC -{ - RAN_Information_Application_Container_NACC application_Container, - Application_Error_Container_NACC application_Error_Container -}; - -type union ApplContainer_or_ApplErrContainer_SI3 -{ - RAN_Information_Application_Container_SI3 application_Container, - Application_Error_Container_SI3 application_Error_Container -}; - -type union ApplContainer_or_ApplErrContainer_MBMS_data_channel -{ - RAN_Information_Application_Container_MBMS_data_channel application_Container, - Application_Error_Container_MBMS_data_channel application_Error_Container -}; - -// Table 11.3.62a.3 -type record RAN_Information_Ack_RIM_Container -{ -OCT1 iEI, -BIT1 ext, -LIN2_2a lengthIndicator, -RIM_Application_Identity rIM_Application_Identity, -RIM_Sequence_Number rIM_Sequence_Number, -RIM_Protocol_Version_Number rIM_Protocol_Version_Number optional, -SON_Transfer_Application_Identity_TLV sON_Transfer_Application_Identity optional -} with { - variant "PRESENCE(iEI = '5A'O)"; - variant (lengthIndicator) "LENGTHTO (rIM_Application_Identity, - rIM_Sequence_Number,rIM_Protocol_Version_Number,sON_Transfer_Application_Identity)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - - -// Table 11.3.62a.4 -type record RAN_Information_Error_RIM_Container -{ -OCT1 iEI, -BIT1 ext, -LIN2_2a lengthIndicator, -RIM_Application_Identity rIM_Application_Identity, -Cause_BSSGP rIM_cause, -RIM_Protocol_Version_Number rIM_Protocol_Version_Number optional, -PDU_in_Error pDU_in_Error, -SON_Transfer_Application_Identity_TLV sON_Transfer_Application_Identity optional -} with { - variant "PRESENCE(iEI = '5B'O)"; - variant (lengthIndicator) "LENGTHTO (rIM_Application_Identity, - rIM_cause,rIM_Protocol_Version_Number,pDU_in_Error,sON_Transfer_Application_Identity)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - - -// Table 11.3.62a.5 -type record RAN_Information_Application_Error_RIM_Container -{ -OCT1 iEI, -BIT1 ext, -LIN2_2a lengthIndicator, -RIM_Application_Identity rIM_Application_Identity, -RIM_Sequence_Number rIM_Sequence_Number, -RIM_PDU_Indications rIM_PDU_Indications, -RIM_Protocol_Version_Number rIM_Protocol_Version_Number optional, -Application_Error_Container application_Error_Container, -SON_Transfer_Application_Identity_TLV sON_Transfer_Application_Identity optional -} with { - variant "PRESENCE(iEI = '59'O)"; - variant (lengthIndicator) "LENGTHTO (rIM_Application_Identity, - rIM_Sequence_Number,rIM_PDU_Indications,rIM_Protocol_Version_Number, - application_Error_Container,sON_Transfer_Application_Identity)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; - variant (application_Error_Container) - "CROSSTAG - (nacc,rIM_Application_Identity.rIMApplicationIdentity = '01'O; - si3,rIM_Application_Identity.rIMApplicationIdentity = '02'O; - mBMS_data_channel,rIM_Application_Identity.rIMApplicationIdentity = '03'O;)" -}; - - -// 11.3.63.1 -type union RAN_Information_Request_Application_Container -{ -RAN_Information_Request_Application_Container_NACC nacc, -RAN_Information_Request_Application_Container_SI3 si3, -RAN_Information_Request_Application_Container_MBMS_data_channel mBMS_data_channel -} - - -//Table 11.3.63.1.1 -type record RAN_Information_Request_Application_Container_NACC -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - Cell_Identifier reporting_Cell_Identifier -} with { - variant "PRESENCE(iEI = '4D'O)"; - variant (lengthIndicator) "LENGTHTO (reporting_Cell_Identifier)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - -//Table 11.3.63.1.2 -type record RAN_Information_Request_Application_Container_SI3 -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - Cell_Identifier reporting_Cell_Identifier -} with { - variant "PRESENCE(iEI = '4D'O)"; - variant (lengthIndicator) "LENGTHTO (reporting_Cell_Identifier)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - -//Table 11.3.63.1.3 -type record RAN_Information_Request_Application_Container_MBMS_data_channel -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - Cell_Identifier reporting_Cell_Identifier -} with { - variant "PRESENCE(iEI = '4D'O)"; - variant (lengthIndicator) "LENGTHTO (reporting_Cell_Identifier)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - -//11.3.63.1.4 -type record RAN_Information_Request_Application_Container_SON_transfer -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - Cell_Identifier reporting_Cell_Identifier, - OCTN sON_Transfer_Request_Container -} with { - variant "PRESENCE(iEI = '4D'O)"; - variant (lengthIndicator) "LENGTHTO (reporting_Cell_Identifier,sON_Transfer_Request_Container)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - -//11.3.63.1.5 -type record RAN_Information_Request_Application_Container_UTRA_SI -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - Cell_Identifier reporting_Cell_Identifier -} with { - variant "PRESENCE(iEI = '4D'O)"; - variant (lengthIndicator) "LENGTHTO (reporting_Cell_Identifier)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - -//Table 11.3.63.2.1 -type record RAN_Information_Application_Container_NACC -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - Cell_Identifier reporting_Cell_Identifier, - BIT1 typeBit, - BIT7 number_of_SI_PSI, - octetstring sI_PSI -} with { - variant "PRESENCE(iEI = '4E'O)"; - variant (lengthIndicator) - "LENGTHTO (reporting_Cell_Identifier,typeBit,number_of_SI_PSI,sI_PSI)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - -//Table 11.3.63.2.2 -type record RAN_Information_Application_Container_SI3 -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - Cell_Identifier reporting_Cell_Identifier, - SI3 sI3 -} with { - variant "PRESENCE(iEI = '4E'O)"; - variant (lengthIndicator) - "LENGTHTO (reporting_Cell_Identifier,sI3)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - -//44.018 9.1.35 -type record SI3 -{ - OCT1 sI3MessageType, //'1B'O - OCT2 cellIdentity, //10.5.1.1 -> 24.008 - LocationAreaIdentification locationAreaIdentification, //10.5.1.3 -> 24.008 - ControlChannelDescription controlChannelDescription, //10.5.2.11 - CellOptions cellOptions, //10.5.2.3 - CellSelectionParameters cellSelectionParameters, //10.5.2.4 - RACHControlParameters rACHControlParameters, //10.5.2.29 - OCT4 sI3RestOctets //10.5.2.34, bit encoded -} - -type record LocationAreaIdentification -{ - HEX1 mccDigit1, - HEX1 mccDigit2, - HEX1 mccDigit3, - HEX1 mncDigit3, - HEX1 mncDigit1, - HEX1 mncDigit2, - OCT2 lac -} - -type record ControlChannelDescription -{ - BIT3 cCCH_Conf, - BIT3 bS_AG_BLKS_RES, - BIT1 aTT, - BIT1 mSCR, - BIT3 bS_PA_MFRMS, - BIT2 spare1, //'00'B - BIT2 cBQ3, - BIT1 spare2, //'0'B - OCT1 t3212 -} - -type record CellOptions -{ - BIT4 radioLinkTimeout, - BIT2 dTX1, - BIT1 pWRC, - BIT1 dtx2 -} - -type record CellSelectionParameters -{ - BIT5 mS_TXPWR_MAX_CCH, - BIT3 cellReselectHysterisis, - BIT6 rXLEV_Access_Min, - BIT1 nECI, - BIT1 aCS -} - -type record RACHControlParameters -{ - BIT1 rE, - BIT1 cellBarrAccess, - BIT4 tX_Integer, - BIT2 maxRetrans, - OCT1 aC_15_to_8, - OCT1 aC_7_to_0 -} - -//Table 11.3.63.2.3 -type record RAN_Information_Application_Container_MBMS_data_channel -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - Cell_Identifier reporting_Cell_Identifier, - octetstring mBMS_data_channel_report //bit encoded -} with { - variant "PRESENCE(iEI = '4E'O)"; - variant (lengthIndicator) - "LENGTHTO (reporting_Cell_Identifier,mBMS_data_channel_report)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - -//11.3.63.2.4 -type record RAN_Information_Application_Container_SON_transfer -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - BIT4 rAT_Discriminator, - BIT4 spare, - Cell_Identifier reporting_Cell_Identifier, - OCTN sON_Transfer_Response_Container -} with { - variant "PRESENCE(iEI = '4E'O)"; - variant (lengthIndicator) - "LENGTHTO (rAT_Discriminator,spare,reporting_Cell_Identifier,sON_Transfer_Response_Container)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - -//11.3.63.2.5 -type record RAN_Information_Application_Container_UTRA_SI -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - Cell_Identifier reporting_Cell_Identifier, - OCTN uTRA_SI_Container -} with { - variant "PRESENCE(iEI = '4E'O)"; - variant (lengthIndicator) - "LENGTHTO (reporting_Cell_Identifier,uTRA_SI_Container)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - -// 11.3.64 -type union Application_Error_Container -{ - Application_Error_Container_NACC nacc, - Application_Error_Container_SI3 si3, - Application_Error_Container_MBMS_data_channel mBMS_data_channel -} - -//11.3.64.1 -type record Application_Error_Container_NACC -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - OCT1 nACC_cause, - Application_Container_IE_NACC erroneousApplicationContainer -} with { - variant "PRESENCE(iEI = '56'O)"; - variant (lengthIndicator) - "LENGTHTO (nACC_cause,erroneousApplicationContainer)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - - -type union Application_Container_IE_NACC -{ - RAN_Information_Request_Application_Container_NACC - rAN_Information_Request_Application_Container, - - RAN_Information_Application_Container_NACC - rAN_Information_Application_Container -}; - -//11.3.64.2 -type record Application_Error_Container_SI3 -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - OCT1 sI3_cause, - Application_Container_IE_SI3 erroneousApplicationContainer -} with { - variant "PRESENCE(iEI = '56'O)"; - variant (lengthIndicator) - "LENGTHTO (sI3_cause,erroneousApplicationContainer)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - -type union Application_Container_IE_SI3 -{ - RAN_Information_Request_Application_Container_SI3 - rAN_Information_Request_Application_Container, - - RAN_Information_Application_Container_SI3 - rAN_Information_Application_Container -}; - - -//11.3.64.3 -type record Application_Error_Container_MBMS_data_channel -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - OCT1 mBMS_data_channel_cause, - Application_Container_IE_MBMS_data_channel erroneousApplicationContainer -} with { - variant "PRESENCE(iEI = '56'O)"; - variant (lengthIndicator) - "LENGTHTO (mBMS_data_channel_cause,erroneousApplicationContainer)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - -type union Application_Container_IE_MBMS_data_channel -{ - RAN_Information_Request_Application_Container_MBMS_data_channel - rAN_Information_Request_Application_Container, - - RAN_Information_Application_Container_MBMS_data_channel - rAN_Information_Application_Container -}; - -//11.3.64.4 -type record Application_Error_Container_SON_transfer -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - OCT1 sON_transfer_cause, - Application_Container_IE_SON_transfer erroneousApplicationContainer -}; - -type union Application_Container_IE_SON_transfer -{ - RAN_Information_Request_Application_Container_SON_transfer - rAN_Information_Request_Application_Container, - RAN_Information_Application_Container_SON_transfer - rAN_Information_Application_Container -}; - -//11.3.64.5 -type record Application_Error_Container_UTRA_SI -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - OCT1 uTRA_SI_cause, - Application_Container_IE_UTRA_SI erroneousApplicationContainer -}; - -type union Application_Container_IE_UTRA_SI -{ - RAN_Information_Request_Application_Container_UTRA_SI - rAN_Information_Request_Application_Container, - RAN_Information_Application_Container_UTRA_SI - rAN_Information_Application_Container -}; - -//11.3.65 -type record RIM_PDU_Indications -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - BIT1 ack, - BIT3 pDU_Type_Extension, - BIT4 reserved -} with { - variant "PRESENCE(iEI = '4F'O)"; - variant (lengthIndicator) "LENGTHTO (ack,pDU_Type_Extension,reserved)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - - -//11.3.67 -type record RIM_Protocol_Version_Number -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - OCT1 rIMProtocolVersionNumber -} with { - variant "PRESENCE(iEI = '55'O)"; - variant (lengthIndicator) "LENGTHTO (rIMProtocolVersionNumber)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - -// 11.3.68 -type record PFC_flow_control_parameters -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - integer number_of_PFC (0..11), - PFCs pFCs -} with { - variant "PRESENCE(iEI = '52'O)"; - variant (lengthIndicator) "LENGTHTO (number_of_PFC,pFCs)"; - variant (number_of_PFC) "LENGTHTO (pFCs)"; - variant (number_of_PFC) "UNIT(elements)" - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - -type record length(0..11) of PFC PFCs; - -type record PFC -{ -BIT7 pFI_Value, -BIT1 spare, // '0'B according to 10.5.6.11 of 24.008 -OCT2 bmax_PFC, -OCT2 r_PFC, -OCT1 b_PFC -}; - -// 11.3.69 -type record Global_CN_Id_BSSGP -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - Global_CN_Id_Value global_CN_Id // encoded Global CN-Id -} with { - variant "PRESENCE(iEI = '53'O)"; - variant (lengthIndicator) "LENGTHTO (global_CN_Id)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - -type record Global_CN_Id_Value -{ - HEX1 mccDigit1, - HEX1 mccDigit2, - HEX1 mccDigit3, - HEX1 mncDigit3, - HEX1 mncDigit1, - HEX1 mncDigit2, - OCT2 cN_Id -} - - -// 11.3.70 -type record RIM_Routing_Information -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - HEX1 rIMRoutingAddressDiscriminator, - HEX1 spare, - RIM_Routing_Address rIM_Routing_Address -} with { - variant "PRESENCE(iEI = '54'O)"; - variant (lengthIndicator) - "LENGTHTO (rIMRoutingAddressDiscriminator,spare,rIM_Routing_Address)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; - variant (rIM_Routing_Address) - "CROSSTAG (cell_Identifier, rIMRoutingAddressDiscriminator = '0'H; - globalRNCID, rIMRoutingAddressDiscriminator = '1'H; - eNB_Identifier, rIMRoutingAddressDiscriminator = '2'H; - eHRPD_SectorID, rIMRoutingAddressDiscriminator = '3'H - )" -}; - -type union RIM_Routing_Address -{ - Cell_Identifier_V cell_Identifier, - GlobalRNC_ID_BSSGP globalRNCID, - ENB_Identifier_V eNB_Identifier, - octetstring eHRPD_SectorID -} - -type record GlobalRNC_ID_BSSGP -{ - HEX1 mccDigit1, - HEX1 mccDigit2, - HEX1 mccDigit3, - HEX1 mncDigit3, - HEX1 mncDigit1, - HEX1 mncDigit2, - OCT2 lac, - OCT1 rac, - HEX1 spare, - integer rNC_ID -} with { - variant (spare,rNC_ID) "FIELDORDER(msb)"; - variant (rNC_ID) "BYTEORDER(last)"; - variant (rNC_ID) "FIELDLENGTH(12)"; -} - -type record ENB_Identifier_V { - HEX1 mccDigit1, - HEX1 mccDigit2, - HEX1 mccDigit3, - HEX1 mncDigit3, - HEX1 mncDigit1, - HEX1 mncDigit2, - OCT2 tac, - octetstring globaleNBID -} - - -// 11.3.71 -type record MBMS_Session_Identity -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - OCT1 mBMS_Session_Identifier_Value -} with { - variant "PRESENCE(iEI = '5D'O)"; - variant (lengthIndicator) "LENGTHTO (mBMS_Session_Identifier_Value)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - - -// 11.3.72 -// 29.061 - -type record MBMS_Session_Duration -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - octetstring mBMS_Session_Duration_Value -} with { - variant "PRESENCE(iEI = '5E'O)"; - variant (lengthIndicator) "LENGTHTO (mBMS_Session_Duration_Value)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - - -// 11.3.73 -type record MBMS_Service_Area_Identity_List -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - octetstring mBMS_Service_Area_Identity_List_Value -} with { - variant "PRESENCE(iEI = '5F'O)"; - variant (lengthIndicator) - "LENGTHTO (mBMS_Service_Area_Identity_List_Value)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - - -// 11.3.74 -type record MBMS_Response -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - HEX1 causeValue, - HEX1 spare -} with { - variant "PRESENCE(iEI = '60'O)"; - variant (lengthIndicator) "LENGTHTO (causeValue,spare)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - - -// 11.3.75 -type record MBMS_Routing_Area_List -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - HEX1 spare, - HEX1 number_of_Routing_Area_Identifications, - octetstring routing_Area_Identifications optional - -} with { - variant "PRESENCE(iEI = '61'O)"; - variant (lengthIndicator) - "LENGTHTO (spare,number_of_Routing_Area_Identifications, - routing_Area_Identifications)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - - -// 11.3.76 -type record MBMS_Session_Information -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - BIT1 bCMC, - BIT7 spare -} with { - variant "PRESENCE(iEI = '62'O)"; - variant (lengthIndicator) "LENGTHTO (bCMC, spare)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - -//11.3.77 -// 24.008 10.5.6.13 -type record TMGI_BSSGP -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - OCT3 mBMS_Service_ID, - HEX1 mccDigit1, - HEX1 mccDigit2, - HEX1 mccDigit3, - HEX1 mncDigit3, - HEX1 mncDigit1, - HEX1 mncDigit2 -} with { - variant "PRESENCE(iEI = '5C'O)"; - variant (lengthIndicator) "LENGTHTO - (mBMS_Service_ID,mccDigit1,mccDigit2,mccDigit3,mncDigit3, - mncDigit1,mncDigit2)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - -// 11.3.78 MBMS Stop Cause -type record MBMS_Stop_Cause -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - HEX1 causeValue, - HEX1 spare -} with { - variant "PRESENCE(iEI = '63'O)"; - variant (lengthIndicator) "LENGTHTO (causeValue, spare)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - -// 11.3.79 -type record Source_BSS_to_Target_BSS_Transparent_Container_BSSGP -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - Source_BSS_to_Target_BSS_Transparent_Container_Contents - source_BSS_to_Target_BSS_Transparent_Container_Contents -} with { - variant "PRESENCE(iEI = '64'O)"; - variant (lengthIndicator) "LENGTHTO (source_BSS_to_Target_BSS_Transparent_Container_Contents)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - -type record Source_BSS_to_Target_BSS_Transparent_Container_Contents -{ - MS_Radio_Access_Capability mS_Radio_Access_Capability, - Inter_RAT_Handover_Info_BSSGP inter_RAT_Handover_Info optional, - Page_Mode_BSSGP page_Mode_BSSGP optional, - Container_ID_BSSGP container_ID optional, - Global_TFI_BSSGP global_TFI optional, - PS_HandoverIndications pS_HandoverIndications optional, - CS_Indication cS_Indication optional, - E_UTRAN_Inter_RAT_Handover_Info e_UTRAN_Inter_RAT_Handover_Info optional, - IRAT_Measurement_Configuration iRAT_Measurement_Configuration optional, - Source_Cell_ID source_Cell_ID optional, - IRAT_Measurement_Configuration_Extended_eARFCNs iRAT_Measurement_Configuration_Extended_eARFCNs optional -}; - -// 11.3.80 -type record Target_BSS_to_Source_BSS_Transparent_Container -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - Target_BSS_to_Source_BSS_Transparent_Container_Contents - target_BSS_to_Source_BSS_Transparent_Container_Contents -} with { - variant "PRESENCE(iEI = '65'O)"; - variant (lengthIndicator) "LENGTHTO (target_BSS_to_Source_BSS_Transparent_Container_Contents)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} -//Note: Only PS_Handover_Command_BSSGP or DTM_Handover_Command is present -type record Target_BSS_to_Source_BSS_Transparent_Container_Contents -{ - PS_Handover_Command_BSSGP pS_Handover_Command optional, - SI_PSI_Container sI_PSI_Container optional, //NEW - DTM_Handover_Command dTM_Handover_Command optional //NEW -} - -// 11.3.81 -type record NAS_container_for_PS_Handover -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - NAS_Container_for_PS_HO nAS_Container_for_PS_HO -} with { - variant "PRESENCE(iEI = '66'O)"; - variant (lengthIndicator) "LENGTHTO (nAS_Container_for_PS_HO)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - -//24.008 10.5.1.14 -type record NAS_Container_for_PS_HO -{ - BIT3 typeOfCipheringAlgorithm, - BIT1 spare1, - BIT1 oldXID, - BIT3 spare2, - OCT4 iOV_UI -} - -// 11.3.82 -type record PFCs_to_be_set_up_list -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - integer number_of_PFCs (1..11), // note: 0 and 12 .. 255 are reserved!!! - Multiple_PFCs_BSSGP pFCs -} with { - variant "PRESENCE(iEI = '67'O)"; - variant (lengthIndicator) "LENGTHTO (number_of_PFCs,pFCs)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; - variant (number_of_PFCs) "UNIT(elements),LENGTHTO(pFCs),FIELDORDER(msb),FIELDLENGTH(8)"; -} - -type record Single_PFC_BSSGP -{ - PFI pFI, - GPRS_Timer pFT, - ABQP aBQP, - Priority_BSSGP allocation_Retention_Priority optional, - GPRS_Timer t10 optional -} - -type record length (1..11) of Single_PFC_BSSGP Multiple_PFCs_BSSGP; - - -// 11.3.83 -type record List_of_set_up_PFCs_BSSGP -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - integer number_of_PFCs (0..11), // note: 12 .. 255 are reserved!!! - Multiple_PFIs_BSSGP pFIs -} with { - variant "PRESENCE(iEI = '68'O)"; - variant (lengthIndicator) "LENGTHTO (number_of_PFCs,pFIs)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; - variant (number_of_PFCs) "UNIT(elements),LENGTHTO(pFIs),FIELDORDER(msb),FIELDLENGTH(8)"; -} - -type record Single_PFI_BSSGP -{ - BIT7 pFI_Value, - BIT1 spare -} - -type record length (0..11) of Single_PFI_BSSGP Multiple_PFIs_BSSGP; - - -// 11.3.84 Extended Feature Bitmap -type record Extended_Feature_Bitmap -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - BIT1 pS_Handover, - BIT1 gigabitInterface, - BIT1 mOCN, - BIT1 cS_PS_Coordination_Enhancements, - BIT4 spare -} with { - variant "PRESENCE(iEI = '69'O)"; - variant (lengthIndicator) "LENGTHTO (pS_Handover,gigabitInterface,mOCN,cS_PS_Coordination_Enhancements,spare)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - - -// 11.3.85 -type record Source_to_Target_Transparent_Container -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - octetstring source_to_Target_Transparent_Container_Contents //RANAP ASN.1 PER -} with { - variant "PRESENCE(iEI = '6A'O)"; - variant (lengthIndicator) "LENGTHTO (source_to_Target_Transparent_Container_Contents)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - - -// 11.3.86 -type record Target_to_Source_Transparent_Container -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - octetstring handover_to_UTRAN_or_Radio_Bearer_Reconfiguration_radio_interface_message //ASN.1 -} with { - variant "PRESENCE(iEI = '6B'O)"; - variant (lengthIndicator) "LENGTHTO (handover_to_UTRAN_or_Radio_Bearer_Reconfiguration_radio_interface_message)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - - - -// 11.3.87 -type record RNC_Identifier_BSSGP -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - HEX1 mccDigit1, - HEX1 mccDigit2, - HEX1 mccDigit3, - HEX1 mncDigit3, - HEX1 mncDigit1, - HEX1 mncDigit2, - OCT2 lac, - OCT1 rac, - OCT2 rNC_ID -} with { - variant "PRESENCE(iEI = '6C'O)"; - variant (lengthIndicator) "LENGTHTO (mccDigit1, mccDigit2, mccDigit3, mncDigit3, mncDigit1, mncDigit2, - lac, rac, rNC_ID)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - - -// 11.3.88 -type record Page_Mode_BSSGP -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - BIT2 page_mode, // specified in 3GPP TS 44.060 - BIT6 reserved -} with { - variant "PRESENCE(iEI = '6D'O)"; - variant (lengthIndicator) "LENGTHTO (page_mode,reserved)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - - -// 11.3.89 -type record Container_ID_BSSGP -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - BIT2 container_ID, // specified in 3GPP TS 44.060 - BIT6 reserved -} with { - variant "PRESENCE(iEI = '6E'O)"; - variant (lengthIndicator) "LENGTHTO (container_ID,reserved)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - - -// 11.3.90 -type record Global_TFI_BSSGP -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - BIT6 global_TFI, // specified in 3GPP TS 44.060 - BIT2 reserved -} with { - variant "PRESENCE(iEI = '6F'O)"; - variant (lengthIndicator) "LENGTHTO (global_TFI,reserved)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - - -// 11.3.91 -type record IMEI_BSSGP -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - IMEI_Value iMEI -} with { - variant "PRESENCE(iEI = '70'O)"; - variant (lengthIndicator) "LENGTHTO (iMEI)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - -type record IMEI_Value -{ - BIT3 typeOfIdentity, - BIT1 oddevenIndicator, - hexstring digits length(15) -} - - -// 11.3.92 Time to MBMS Data Transfer -type record Time_To_MBMS_Data_Transfer -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - OCT1 valuePart -} with { - variant "PRESENCE(iEI = '71'O)"; - variant (lengthIndicator) "LENGTHTO (valuePart)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - -// 11.3.93 MBMS Session Repetition Number -type record MBMS_Session_Repetition_Number -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - octetstring repetitionNumber -} with { - variant "PRESENCE(iEI = '72'O)"; - variant (lengthIndicator) "LENGTHTO (repetitionNumber)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - - -// 11.3.94 -type record Inter_RAT_Handover_Info_BSSGP -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - octetstring inter_RAT_Handover_Information //as specified in 3GPP TS 25.331 -} with { - variant "PRESENCE(iEI = '73'O)"; - variant (lengthIndicator) "LENGTHTO (inter_RAT_Handover_Information)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - - -// 11.3.95 -type record PS_Handover_Command_BSSGP -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - octetstring pS_Handover_Command_radio_interface_message -} with { - variant "PRESENCE(iEI = '74'O)"; - variant (lengthIndicator) "LENGTHTO (pS_Handover_Command_radio_interface_message)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - -// 11.3.95a -type record PS_HandoverIndications -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - BIT1 sI_PSI, - BIT2 dMLC_Carriers, - BIT5 spare -} with { - variant "PRESENCE(iEI = '75'O)"; - variant (lengthIndicator) "LENGTHTO (sI_PSI,dMLC_Carriers,spare)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - - -// 11.3.95b -type record SI_PSI_Container -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - BIT1 typeField, - SI_PSI_ContainerValue sI_PSI_ContainerValue -} with { - variant "PRESENCE(iEI = '76'O)"; - variant (lengthIndicator) "LENGTHTO (typeField,sI_PSI_ContainerValue)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; - variant (sI_PSI_ContainerValue) "CROSSTAG - ( - sI_message_Container, typeField ='0'B; - pSI_message_Container, typeField ='1'B; - )"; - }; - -type union SI_PSI_ContainerValue -{ - SI_message_Container sI_message_Container, - PSI_message_Container pSI_message_Container -} - -type record SI_message_Container -{ - integer number_of_SI, - SI_message_List sI_message_List -} with { - variant (number_of_SI) "UNIT(elements),LENGTHTO(sI_message_List),FIELDORDER(msb),FIELDLENGTH(7)"; -} - -type record PSI_message_Container -{ - integer number_of_PSI, - PSI_message_List pSI_message_List -} with { - variant (number_of_PSI) "UNIT(elements),LENGTHTO(pSI_message_List),FIELDORDER(msb),FIELDLENGTH(7)"; -} - -type record of SI_message SI_message_List; - -type record of PSI_message PSI_message_List; - -type octetstring SI_message length (21); - -type octetstring PSI_message length (22); - - -// 11.3.95c 48.008 CR 240 -type record Active_PFCs_List_BSSGP -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - integer number_of_PFCs (0..11), // note: 12 .. 255 are reserved!!! - Multiple_PFIs_BSSGP pFIs -} with { - variant "PRESENCE(iEI = '77'O)"; - variant (lengthIndicator) "LENGTHTO (number_of_PFCs,pFIs)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; - variant (number_of_PFCs) "UNIT(elements),LENGTHTO(pFIs),FIELDORDER(msb),FIELDLENGTH(8)"; -} - -//11.3.96 -type record VelocityData -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - octetstring velocityDataValue // 23.032 -}with { - variant "PRESENCE(iEI = '78'O)"; - variant (lengthIndicator) "LENGTHTO (velocityDataValue)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - -//11.3.97 -type record DTM_Handover_Command -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - octetstring dTM_HandoverCommandValue // 44.060 -} with { - variant "PRESENCE(iEI = '79'O)"; - variant (lengthIndicator) "LENGTHTO (dTM_HandoverCommandValue)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - -//11.3.98 -type record CS_Indication -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - OCT1 cS_IndicationContents //48.008 -} with { - variant "PRESENCE(iEI = '7A'O)"; - variant (lengthIndicator) "LENGTHTO (cS_IndicationContents)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - -// 11.3.99 -type record Requested_GANSS_Assistance_Data -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - octetstring requested_GANSS_Assistance_Data_Value //49.031 -} with { - variant "PRESENCE(iEI = '7B'O)"; - variant (lengthIndicator) "LENGTHTO (requested_GANSS_Assistance_Data_Value)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - -// 11.3.100 -type record GANSS_Location_Type -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - BIT1 galileo, - BIT7 spare -} with { - variant "PRESENCE(iEI = '7C'O)"; - variant (lengthIndicator) "LENGTHTO (galileo,spare)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - -// 11.3.101 -//49.031 -type record GANSS_Positioning_Data -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - GANSS_Positioning_DataList gANSS_Positioning_DataList -} with { - variant "PRESENCE(iEI = '7D'O)"; - variant (lengthIndicator) "LENGTHTO (gANSS_Positioning_DataList)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - -type record of GANSS_Positioning_DataValue GANSS_Positioning_DataList - -type record GANSS_Positioning_DataValue -{ - BIT3 usage, - BIT3 gANSS_ID, - BIT2 method -} - -//11.3.102 -type record Flow_Control_Granularity -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - BIT2 granularity, - BIT6 reserved -} with { - variant "PRESENCE(iEI = '7E'O)"; - variant (lengthIndicator) "LENGTHTO (granularity,reserved)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - - -//11.3.103 -type record ENB_Identifier -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - HEX1 mccDigit1, - HEX1 mccDigit2, - HEX1 mccDigit3, - HEX1 mncDigit3, - HEX1 mncDigit1, - HEX1 mncDigit2, - OCT2 tac, - OCTN globalEnbID - -} with { - variant "PRESENCE(iEI = '7F'O)"; - variant (lengthIndicator) "LENGTHTO (mccDigit1, mccDigit2, mccDigit3, mncDigit3, mncDigit1, - mncDigit2, tac, globalEnbID)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - - -//11.3.104 -type record E_UTRAN_Inter_RAT_Handover_Info -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - OCTN ue_EUTRA_Capability - -} with { - variant "PRESENCE(iEI = '80'O)"; - variant (lengthIndicator) "LENGTHTO (ue_EUTRA_Capability)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - - -//11.3.105 -type record Subscriber_Profile_ID_For_RAT_Priority -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - BIT8 profile_ID -} with { - variant "PRESENCE(iEI = '81'O)"; - variant (lengthIndicator) "LENGTHTO (profile_ID)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - -//11.3.106 -type record Request_For_Inter_RAT_Handover_Info -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - BIT1 interRATHandoverInfoRequest, - BIT1 eUTRANinterRATHandoverInfoRequest, - BIT6 spare -} with { - variant "PRESENCE(iEI = '82'O)"; - variant (lengthIndicator) "LENGTHTO (interRATHandoverInfoRequest,eUTRANinterRATHandoverInfoRequest,spare)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - -//11.3.107 -type record Reliable_Inter_RAT_Handover_Info -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - BIT1 reliableInterRATHandoverInfoIndicator, - BIT7 spare -} with { - variant "PRESENCE(iEI = '83'O)"; - variant (lengthIndicator) "LENGTHTO (reliableInterRATHandoverInfoIndicator,spare)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - -//11.3.108 -type record SON_Transfer_Application_Identity_TLV -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - OCTN sON_Transfer_Application_Identity //3GPP TS 36.413 [36] -} with { - variant "PRESENCE(iEI = '84'O)"; - variant (lengthIndicator) "LENGTHTO (sON_Transfer_Application_Identity)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - -//11.3.109 -type record CSG_Identifier_TLV -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - CSG_Identity cSG_Identity, //3GPP TS 23.003, bits 4 to 8 of octet 6 are spare - BIT1 cell_Acces_Mode, - BIT7 spare -} with { - variant "PRESENCE(iEI = '85'O)"; - variant (lengthIndicator) "LENGTHTO (cSG_Identity,cell_Acces_Mode,spare)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - -type record CSG_Identity -{ - OCT3 cSG_Id24, - BIT3 cSG_Id3, - BIT5 spare // '0'B -}; - -//11.3.110 -type record Tracking_Area_Code_TLV -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - OCT3 valueField //3GPP TS 24.301 -} with { - variant "PRESENCE(iEI = '86'O)"; - variant (lengthIndicator) "LENGTHTO (valueField)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - -//11.3.111 -type record Redirect_Attempt_Flag -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - OCT1 spare -} with { - variant "PRESENCE(iEI = '87'O)"; - variant (lengthIndicator) "LENGTHTO (spare)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - -//11.3.112 -type record Redirection_Indication -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - BIT8 reroute_Reject_Cause_value -} with { - variant "PRESENCE(iEI = '88'O)"; - variant (lengthIndicator) "LENGTHTO (reroute_Reject_Cause_value)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - -//11.3.113 -type record Redirection_Completed -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - BIT8 outcome_value -} with { - variant "PRESENCE(iEI = '89'O)"; - variant (lengthIndicator) "LENGTHTO (outcome_value)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - -//11.3.114 -type record Unconfirmed_Send_State_Variable -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - BIT7 spare, - integer vU -} with { - variant "PRESENCE(iEI = '8A'O)"; - variant (lengthIndicator) "LENGTHTO (spare,vU)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; - variant (vU) "FIELDLENGTH(9)"; - variant (vU) "BYTEORDER(last)"; - variant (spare,vU) "FIELDORDER(msb)"; -} - -//11.3.115 -type record IRAT_Measurement_Configuration -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - INT6b reportingThreshold, - BIT1 repQuant, - BIT1 spare, - INT1 measurementDuration, - Measurement_List measurement_List -} with { - variant "PRESENCE(iEI = '8B'O)"; - variant (lengthIndicator) "LENGTHTO (reportingThreshold,repQuant,spare,measurementDuration,measurement_List)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - -type record Measurement -{ - LIN2_BO_LAST e_ARFCN, - BIT3 measurementBandwidth, - BIT5 spare -} - -type record of Measurement Measurement_List; - -type record RNC_Id_with_Transparent_Container_BSSGP -{ - RNC_Identifier_BSSGP target_RNC_Identifier, - Source_to_Target_Transparent_Container - source_to_Target_Transparent_Container -} - -type union Cell_or_RNC_Id_with_Transparent_Container_BSSGP -{ - Cell_Id_with_Transparent_Container_BSSGP cell_Id_with_Transparent_Container, - RNC_Id_with_Transparent_Container_BSSGP rnc_Id_with_Transparent_Container -} - -type record Cell_Id_with_Transparent_Container_BSSGP -{ - Cell_Identifier target_Cell_Identifier, - Source_BSS_to_Target_BSS_Transparent_Container_BSSGP - source_BSS_to_Target_BSS_Transparent_Container -} - -//11.3.116 -type record SCI -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - OCT1 service_Class_Value -} with { - variant "PRESENCE(iEI = '8c'O)"; - variant (lengthIndicator) "LENGTHTO (service_Class_Value)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - -//11.3.117 -type record GGSN_PGW_Location -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - BIT3 gGSN_PGW_Location_Value, - BIT5 spare -} with { - variant "PRESENCE(iEI = '8d'O)"; - variant (lengthIndicator) "LENGTHTO (gGSN_PGW_Location_Value)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - -//11.3.118 -type record Selected_PLMN_ID -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - HEX1 mccDigit1, - HEX1 mccDigit2, - HEX1 mccDigit3, - HEX1 mncDigit3, - HEX1 mncDigit1, - HEX1 mncDigit2 -} with { - variant "PRESENCE(iEI = '8e'O)"; - variant (lengthIndicator) "LENGTHTO (mccDigit1,mccDigit2,mccDigit3,mncDigit3,mncDigit1,mncDigit2)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - -//11.3.119 -type record Priority_Class_Indicator -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - BIT1 priority_Class_Indicator_Value, - BIT7 spare -} with { - variant "PRESENCE(iEI = '8f'O)"; - variant (lengthIndicator) "LENGTHTO (priority_Class_Indicator_Value,spare)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - -//11.3.120 -type record Source_Cell_ID -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - TrackingAreaIdentity_BSSGP tracking_Area_Identity, - ECGI_BSSGP eUTRAN_CGI, - octetstring globaleNBID -} with { - variant "PRESENCE(iEI = '90'O)"; - variant (lengthIndicator) "LENGTHTO (tracking_Area_Identity,eUTRAN_CGI,globaleNBID)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} -type record TrackingAreaIdentity_BSSGP -{ - HEX1 mccDigit1, - HEX1 mccDigit2, - HEX1 mccDigit3, - HEX1 mncDigit3, - HEX1 mncDigit1, - HEX1 mncDigit2, - OCT2 tAC -} - -type record ECGI_BSSGP -{ - HEX1 mccDigit1, - HEX1 mccDigit2, - HEX1 mccDigit3, - HEX1 mncDigit3, - HEX1 mncDigit1, - HEX1 mncDigit2, - HEX1 spare, - integer eCI -} with { - variant (spare,eCI) "FIELDORDER(msb)"; - variant(eCI) "FIELDLENGTH(28)"; - variant (eCI) "BYTEORDER(last)"; -}; - - -//11.3.121 -type record IRAT_Measurement_Configuration_Extended_eARFCNs -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - INT6b reportingThreshold, - BIT1 repQuant, - BIT1 spare, - INT1 measurementDuration, - Measurement_List_Extended measurement_List -} with { - variant "PRESENCE(iEI = '91'O)"; - variant (lengthIndicator) "LENGTHTO (reportingThreshold,repQuant,spare,measurementDuration,measurement_List)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - -type record Measurement_Extended -{ - INT18b_BO_LAST e_ARFCN, - BIT3 spare, - BIT3 measurementBandwidth -} with { - variant (e_ARFCN,spare,measurementBandwidth) "FIELDORDER(msb)"; -} -type record of Measurement_Extended Measurement_List_Extended; - -//11.3.122 -type record EDRX_Parameters -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - BIT4 eDRX_Cycle_Value, - BIT4 spare -} with { - variant "PRESENCE(iEI = '92'O)"; - variant (lengthIndicator) "LENGTHTO (eDRX_Cycle_Value,spare)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - -//11.3.123 -type record Time_Until_Next_Paging_Occasion -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - INT6b minutes, - BIT2 spare, - INT6b seconds, - BIT2 spare2 -} with { - variant "PRESENCE(iEI = '93'O)"; - variant (lengthIndicator) "LENGTHTO (minutes,spare,seconds,spare2)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - -//11.3.124 -type record Old_Routing_Area_Identification -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - HEX1 mccDigit1, - HEX1 mccDigit2, - HEX1 mccDigit3, - HEX1 mncDigit3, - HEX1 mncDigit1, - HEX1 mncDigit2, - OCT2 lac, - OCT1 rac -} with { - variant "PRESENCE(iEI = '94'O)"; - variant (lengthIndicator) "LENGTHTO (mccDigit1,mccDigit2,mccDigit3,mncDigit3,mncDigit1,mncDigit2,lac,rac)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - -//11.3.125 -type record Attach_Indicator -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - OCT1 spare -} with { - variant "PRESENCE(iEI = '95'O)"; - variant (lengthIndicator) "LENGTHTO (spare)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - -//11.3.126 -type record PLMN_Identity -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - HEX1 mccDigit1, - HEX1 mccDigit2, - HEX1 mccDigit3, - HEX1 mncDigit3, - HEX1 mncDigit1, - HEX1 mncDigit2 -} with { - variant "PRESENCE(iEI = '96'O)"; - variant (lengthIndicator) "LENGTHTO (mccDigit1,mccDigit2,mccDigit3,mncDigit3,mncDigit1,mncDigit2)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - -//11.3.127 -type record MME_Query -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a lengthIndicator, - OCT1 spare -} with { - variant "PRESENCE(iEI = '97'O)"; - variant (lengthIndicator) "LENGTHTO (spare)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - - -//----------------------------------------------------------------------------- -// PDUs -//----------------------------------------------------------------------------- - -//10.2.1 -type record PDU_BSSGP_DL_UNITDATA -{ - OCT1 bssgpPduType, - OCT4 tLLI_current, - QoS_Profile_V qoS_Profile, - PDU_Lifetime pDU_Lifetime, - MS_Radio_Access_Capability mS_Radio_Access_Capability optional, - Priority_BSSGP priority optional, - DRX_Parameters dRX_Parameters optional, - IMSI_BSSGP iMSI optional, - TLLI_BSSGP tLLI_old optional, - PFI pFI optional, - LSA_Information_BSSGP lSA_Information optional, - Service_UTRAN_CCO service_UTRAN_CCO optional, - Service_Class_Indicator service_Class_Indicator optional, - Subscriber_Profile_ID_For_RAT_Priority subscriber_Profile_ID_For_RAT_Priority optional, - Redirection_Indication redirection_Indication optional, - Redirection_Completed redirection_Completed optional, - Unconfirmed_Send_State_Variable unconfirmed_Send_State_Variable optional, - SCI sCI optional, - GGSN_PGW_Location gGSN_PGW_Location optional, - EDRX_Parameters eDRX_Paremeters optional, - Old_Routing_Area_Identification old_Routing_Area_Identification optional, - Attach_Indicator attach_Indicator optional, - Alignment_octets alignment_octets optional, - LLC_PDU lLC_PDU, - LLC_PDU initialLLC_PDU optional -} with { variant "PRESENCE(bssgpPduType = '00'O)"; }; - -//10.2.2 -type record PDU_BSSGP_UL_UNITDATA -{ - OCT1 bssgpPduType, - OCT4 tLLI, - QoS_Profile_V qoS_Profile, - Cell_Identifier cell_Identifier, - PFI pFI optional, - LSA_Identifier_List_BSSGP lSA_Identifier_List optional, - Redirect_Attempt_Flag redirect_Attempt_Flag optional, - IMSI_BSSGP iMSI_BSSGP optional, - Unconfirmed_Send_State_Variable unconfirmed_Send_State_Variable optional, - Selected_PLMN_ID selected_PLMN_ID optional, - PLMN_Identity selected_Operator optional, - PLMN_Identity cS_Registered_Operator optional, - Alignment_octets alignment_octets optional, - LLC_PDU lLC_PDU -} with { variant "PRESENCE(bssgpPduType = '01'O)"; }; - -//10.2.3 -type record PDU_BSSGP_RA_CAPABILITY -{ - OCT1 bssgpPduType, - TLLI_BSSGP tLLI, - MS_Radio_Access_Capability mS_Radio_Access_Capability -} with { variant "PRESENCE(bssgpPduType = '02'O)"; }; - -//10.2.5 -type record PDU_BSSGP_DL_MBMS_UNITDATA -{ - OCT1 bssgpPduType, - PDU_Lifetime pDU_Lifetime, - TMGI_BSSGP tMGI, - MBMS_Session_Identity mBMS_Session_Identity optional, - Alignment_octets alignment_octets optional, - LLC_PDU lLC_PDU -} with { variant "PRESENCE(bssgpPduType = '04'O)"; }; - - -// 10.2.6; Deleted from spec 7.10.0,kept in prot module for backward compatibility -type record PDU_BSSGP_UL_MBMS_UNITDATA -{ - OCT1 bssgpPduType, - TMGI_BSSGP tMGI, - MBMS_Session_Identity mBMS_Session_Identity optional, - Alignment_octets alignment_octets optional, - LLC_PDU lLC_PDU -} with { variant "PRESENCE(bssgpPduType = '05'O)"; }; - -// 10.3.1 -type record PDU_BSSGP_PAGING_PS -{ - OCT1 bssgpPduType, - IMSI_BSSGP iMSI, - DRX_Parameters dRX_Parameters optional, - Paging_Field4 paging_Field4, - PFI pFI optional, - ABQP aBQP optional, - QoS_Profile qoS_Profile, - TMSI_BSSGP pTMSI optional, - EDRX_Parameters eDRX_Paremeters optional -} with { variant "PRESENCE(bssgpPduType = '06'O)"; }; - -//10.3.2 -type record PDU_BSSGP_PAGING_CS -{ - OCT1 bssgpPduType, - IMSI_BSSGP iMSI, - DRX_Parameters dRX_Parameters, - Paging_Field4 paging_Field4, - TLLI_BSSGP tLLI optional, - Channel_needed channel_needed optional, - EMLPP_Priority_BSSGP eMLPP_Priority optional, - TMSI_BSSGP tMSI optional, - Global_CN_Id_BSSGP global_CN_Id optional -} with { variant "PRESENCE(bssgpPduType = '07'O)"; }; - - -type union Paging_Field4 -{ - BVCI bVCI, - Location_Area location_Area, - Routeing_Area routeing_Area, - BSS_Area_Indication bSS_Area_Indication -}; - -//10.3.3 -type record PDU_BSSGP_RA_CAPABILITY_UPDATE -{ - OCT1 bssgpPduType, - TLLI_BSSGP tLLI, - Tag tag -} with { variant "PRESENCE(bssgpPduType = '08'O)"; }; - - -//10.3.4 -type record PDU_BSSGP_RA_CAPABILITY_UPDATE_ACK -{ - OCT1 bssgpPduType, - TLLI_BSSGP tLLI, - Tag tag, - IMSI_BSSGP iMSI optional, - RA_Cap_UPD_CAUSE rA_Cap_UPDATE_CAUSE, - MS_Radio_Access_Capability mS_Radio_Access_Capability optional -} with { variant "PRESENCE(bssgpPduType = '09'O)"; }; - -//10.3.5 -type record PDU_BSSGP_RADIO_STATUS -{ - OCT1 bssgpPduType, - TLLI_BSSGP tLLI optional, - TMSI_BSSGP tMSI optional, - IMSI_BSSGP iMSI optional, - Radio_Cause radio_Cause -} with { variant "PRESENCE(bssgpPduType = '0A'O)"; }; - -//10.3.6 -type record PDU_BSSGP_SUSPEND -{ - OCT1 bssgpPduType, - TLLI_BSSGP tLLI, - Routeing_Area routeing_Area -} with { variant "PRESENCE(bssgpPduType = '0B'O)"; }; - -// 10.3.7 -type record PDU_BSSGP_SUSPEND_ACK -{ - OCT1 bssgpPduType, - TLLI_BSSGP tLLI, - Routeing_Area routeing_Area , - Suspend_Reference_Number suspend_Reference_Number -} with { variant "PRESENCE(bssgpPduType = '0C'O)"; }; - -// 10.3.8 -type record PDU_BSSGP_SUSPEND_NACK -{ - OCT1 bssgpPduType, - TLLI_BSSGP tLLI, - Routeing_Area routeing_Area, - Cause_BSSGP cause optional -} with { variant "PRESENCE(bssgpPduType = '0D'O)"; }; - -// 10.3.9 -type record PDU_BSSGP_RESUME -{ - OCT1 bssgpPduType, - TLLI_BSSGP tLLI, - Routeing_Area routeing_Area, - Suspend_Reference_Number suspend_Reference_Number -} with { variant "PRESENCE(bssgpPduType = '0E'O)"; }; - -//10.3.10 -type record PDU_BSSGP_RESUME_ACK -{ - OCT1 bssgpPduType, - TLLI_BSSGP tLLI, - Routeing_Area routeing_Area -} with { variant "PRESENCE(bssgpPduType = '0F'O)"; }; - -// 10.3.11 -type record PDU_BSSGP_RESUME_NACK -{ - OCT1 bssgpPduType, - TLLI_BSSGP tLLI, - Routeing_Area routeing_Area, - Cause_BSSGP cause optional -} with { variant "PRESENCE(bssgpPduType = '10'O)"; }; - -// 10.3.12 -type record PDU_BSSGP_PAGING_PS_REJECT -{ - OCT1 bssgpPduType, - IMSI_BSSGP iMSI, - TMSI_BSSGP pTMSI optional, - Time_Until_Next_Paging_Occasion time_Until_Next_Paging_Occasion -} with { variant "PRESENCE(bssgpPduType = '11'O)"; }; - -// 10.3.13 -type record PDU_BSSGP_DUMMY_PAGING_PS -{ - OCT1 bssgpPduType, - IMSI_BSSGP iMSI, - Routeing_Area routeing_Area optional, - EDRX_Parameters eDRX_Paremeters optional -} with { variant "PRESENCE(bssgpPduType = '12'O)"; }; - -// 10.3.14 -type record PDU_BSSGP_DUMMY_PAGING_PS_RESPONSE -{ - OCT1 bssgpPduType, - IMSI_BSSGP iMSI, - Time_Until_Next_Paging_Occasion time_Until_Next_Paging_Occasion -} with { variant "PRESENCE(bssgpPduType = '13'O)"; }; - -// 10.3.15 -type record PDU_BSSGP_MS_REGISTRATION_ENQUIRY_RESPONSE -{ - OCT1 bssgpPduType, - IMSI_BSSGP iMSI, - PLMN_Identity pS_Registered_Operator optional -} with { variant "PRESENCE(bssgpPduType = '15'O)"; }; - -// 10.3.15 -type record PDU_BSSGP_MS_REGISTRATION_ENQUIRY -{ - OCT1 bssgpPduType, - IMSI_BSSGP iMSI, - MME_Query mME_Query optional -} with { variant "PRESENCE(bssgpPduType = '14'O)"; }; - -// 10.4.1 -type record PDU_BSSGP_FLUSH_LL -{ - OCT1 bssgpPduType, - TLLI_BSSGP tLLI, - BVCI bVCI_old, - BVCI bVCI_new optional, - NSEI_BSSGP nSEI optional -} with { variant "PRESENCE(bssgpPduType = '2A'O)"; }; - -// 10.4.2 -type record PDU_BSSGP_FLUSH_LL_ACK -{ - OCT1 bssgpPduType, - TLLI_BSSGP tLLI, - Flush_Action flush_Action, - BVCI bVCI_new optional, - Number_of_octets_affected number_of_octets_affected, - NSEI_BSSGP nSEI optional -} with { variant "PRESENCE(bssgpPduType = '2B'O)"; }; - -// 10.4.3 -type record PDU_BSSGP_LLC_DISCARDED -{ - OCT1 bssgpPduType, - TLLI_BSSGP tLLI, - LLC_Frames_Discarded lLC_Frames_Discarded, - BVCI bVCI, - Number_of_octets_affected number_of_octets_deleted, - PFI pFI optional -} with { variant "PRESENCE(bssgpPduType = '2C'O)"; }; - -// 10.4.4 -type record PDU_BSSGP_FLOW_CONTROL_BVC -{ - OCT1 bssgpPduType, - Tag tag, - BVC_Bucket_Size bVC_Bucket_Size, - Bucket_Leak_Rate bucket_Leak_Rate, - Bmax_default_MS bmax_default_MS, - R_default_MS r_default_MS, - Bucket_Full_Ratio bucket_Full_Ratio optional, - BVC_Measurement bVC_Measurement optional, - Flow_Control_Granularity flow_Control_Granularity optional -} with { variant "PRESENCE(bssgpPduType = '26'O)"; }; - -// 10.4.5 -type record PDU_BSSGP_FLOW_CONTROL_BVC_ACK -{ - OCT1 bssgpPduType, - Tag tag -} with { variant "PRESENCE(bssgpPduType = '27'O)"; }; - -// 10.4.6 -type record PDU_BSSGP_FLOW_CONTROL_MS -{ - OCT1 bssgpPduType, - TLLI_BSSGP tLLI, - Tag tag, - MS_Bucket_Size mS_Bucket_Size, - Bucket_Leak_Rate bucket_Leak_Rate, - Bucket_Full_Ratio bucket_Full_Ratio optional, - Flow_Control_Granularity flow_Control_Granularity optional -} with { variant "PRESENCE(bssgpPduType = '28'O)"; }; - -// 10.4.7 -type record PDU_BSSGP_FLOW_CONTROL_MS_ACK -{ - OCT1 bssgpPduType, - TLLI_BSSGP tLLI, - Tag tag -} with { variant "PRESENCE(bssgpPduType = '29'O)"; }; - - -// 10.4.8 -type record PDU_BSSGP_BVC_BLOCK -{ - OCT1 bssgpPduType, - BVCI bVCI, - Cause_BSSGP cause -} with { variant "PRESENCE(bssgpPduType = '20'O)"; }; - -// 10.4.9 -type record PDU_BSSGP_BVC_BLOCK_ACK -{ - OCT1 bssgpPduType, - BVCI bVCI -} with { variant "PRESENCE(bssgpPduType = '21'O)"; }; - -// 10.4.10 -type record PDU_BSSGP_BVC_UNBLOCK -{ - OCT1 bssgpPduType, - BVCI bVCI -} with { variant "PRESENCE(bssgpPduType = '24'O)"; }; - -// 10.4.11 -type record PDU_BSSGP_BVC_UNBLOCK_ACK -{ - OCT1 bssgpPduType, - BVCI bVCI -} with { variant "PRESENCE(bssgpPduType = '25'O)"; }; - -// 10.4.12 -type record PDU_BSSGP_BVC_RESET -{ - OCT1 bssgpPduType, - BVCI bVCI, - Cause_BSSGP cause, - Cell_Identifier cell_Identifier optional, - Feature_bitmap feature_bitmap optional, - Extended_Feature_Bitmap extended_Feature_Bitmap optional -} with { variant "PRESENCE(bssgpPduType = '22'O)"; }; - -// 10.4.13 -type record PDU_BSSGP_BVC_RESET_ACK -{ - OCT1 bssgpPduType, - BVCI bVCI, - Cell_Identifier cell_Identifier optional, - Feature_bitmap feature_bitmap optional, - Extended_Feature_Bitmap extended_Feature_Bitmap optional -} with { variant "PRESENCE(bssgpPduType = '23'O)"; }; - -// 10.4.14 -type record PDU_BSSGP_STATUS -{ - OCT1 bssgpPduType, - Cause_BSSGP cause, - BVCI bVCI optional, - PDU_in_Error pDU_in_Error optional -} with { variant "PRESENCE(bssgpPduType = '41'O)"; }; - -// 10.4.15 -type record PDU_BSSGP_SGSN_INVOKE_TRACE -{ - OCT1 bssgpPduType, - Trace_Type_BSSGP traceType, - Trace_Reference_BSSGP traceReference, - Trigger_Id_BSSGP triggerId optional, - Mobile_Id_BSSGP mobileId optional, - OMC_Id_BSSGP omcId optional, - TransactionId_BSSGP transactionId optional -} with { variant "PRESENCE(bssgpPduType = '40'O)"; }; - -// 10.4.16 -type record PDU_BSSGP_DOWNLOAD_BSS_PFC -{ - OCT1 bssgpPduType, - TLLI_BSSGP tLLI, - PFI pFI -} with { variant "PRESENCE(bssgpPduType = '50'O)"; }; - -// 10.4.17 -type record PDU_BSSGP_CREATE_BSS_PFC -{ - OCT1 bssgpPduType, - TLLI_BSSGP tLLI, - IMSI_BSSGP iMSI optional, - PFI pFI, - GPRS_Timer pFT, - ABQP aBQP, - Service_UTRAN_CCO service_UTRAN_CCO optional, - MS_Radio_Access_Capability mS_Radio_Access_Capability optional, - Priority_BSSGP allocation_Retention_Priority optional, - GPRS_Timer t10 optional, - Inter_RAT_Handover_Info_BSSGP inter_RAT_Handover_Info optional, - E_UTRAN_Inter_RAT_Handover_Info e_UTRAN_Inter_RAT_Handover_Info optional, - Subscriber_Profile_ID_For_RAT_Priority subscriber_Profile_ID_For_RAT optional - - -} with { variant "PRESENCE(bssgpPduType = '51'O)"; }; - -// 10.4.18 -type record PDU_BSSGP_CREATE_BSS_PFC_ACK -{ - OCT1 bssgpPduType, - TLLI_BSSGP tLLI, - PFI pFI, - ABQP aBQP, - Cause_BSSGP cause optional -} with { variant "PRESENCE(bssgpPduType = '52'O)"; }; - -// 10.4.19 -type record PDU_BSSGP_CREATE_BSS_PFC_NACK -{ - OCT1 bssgpPduType, - TLLI_BSSGP tLLI, - PFI pFI, - Cause_BSSGP cause -} with { variant "PRESENCE(bssgpPduType = '53'O)"; }; - -// 10.4.20 -type record PDU_BSSGP_MODIFY_BSS_PFC -{ - OCT1 bssgpPduType, - TLLI_BSSGP tLLI, - PFI pFI, - ABQP aBQP -} with { variant "PRESENCE(bssgpPduType = '54'O)"; }; - -// 10.4.21 -type record PDU_BSSGP_MODIFY_BSS_PFC_ACK -{ - OCT1 bssgpPduType, - TLLI_BSSGP tLLI, - PFI pFI, - GPRS_Timer pFT, - ABQP aBQP -} with { variant "PRESENCE(bssgpPduType = '55'O)"; }; - -// 10.4.22 -type record PDU_BSSGP_DELETE_BSS_PFC -{ - OCT1 bssgpPduType, - TLLI_BSSGP tLLI, - PFI pFI -} with { variant "PRESENCE(bssgpPduType = '56'O)"; }; - -// 10.4.23 -type record PDU_BSSGP_DELETE_BSS_PFC_ACK -{ - OCT1 bssgpPduType, - TLLI_BSSGP tLLI, - PFI pFI -} with { variant "PRESENCE(bssgpPduType = '57'O)"; }; - -// 10.4.24 -type record PDU_BSSGP_FLOW_CONTROL_PFC -{ - OCT1 bssgpPduType, - TLLI_BSSGP tLLI, - Tag tag, - MS_Bucket_Size mS_Bucket_Size optional, - Bucket_Leak_Rate bucket_Leak_Rate optional, - Bucket_Full_Ratio bucket_Full_Ratio optional, - PFC_flow_control_parameters pFC_flow_control_parameters, - Flow_Control_Granularity flow_Control_Granularity optional - -} with { variant "PRESENCE(bssgpPduType = '2D'O)"; }; - -// 10.4.25 -type record PDU_BSSGP_FLOW_CONTROL_PFC_ACK -{ - OCT1 bssgpPduType, - TLLI_BSSGP tLLI, - Tag tag -} with { variant "PRESENCE(bssgpPduType = '2E'O)"; }; - -// 10.4.26 -type record PDU_BSSGP_DELETE_BSS_PFC_REQ -{ - OCT1 bssgpPduType, - TLLI_BSSGP tLLI, - PFI pFI, - Cause_BSSGP cause -} with { variant "PRESENCE(bssgpPduType = '58'O)"; }; - -// 10.4.27 -type record PDU_BSSGP_PS_HANDOVER_REQUIRED -{ - OCT1 bssgpPduType, - TLLI_BSSGP tLLI, - Cause_BSSGP cause, - Cell_Identifier source_Cell_Identifier, - Cell_or_RNC_Id_with_Transparent_Container_BSSGP - cell_or_RNC_Id_with_Transparent_Container, - Active_PFCs_List_BSSGP active_PFCs_List, - ENB_Identifier target_ENB_Identifier optional, - Reliable_Inter_RAT_Handover_Info - reliable_Inter_RAT_Handover_Info optional, - CSG_Identifier_TLV cSG_Identifier optional, - Tracking_Area_Code_TLV tracking_Area_Code optional - } with { variant "PRESENCE(bssgpPduType = '59'O)"; }; - - -// 10.4.28 -type record PDU_BSSGP_PS_HANDOVER_REQUIRED_ACK -{ - OCT1 bssgpPduType, - TLLI_BSSGP tLLI, - List_of_set_up_PFCs_BSSGP list_of_set_up_PFCs, - Target_BSS_to_Source_BSS_Transparent_Container - target_BSS_to_Source_BSS_Transparent_Container optional, - Target_to_Source_Transparent_Container - target_to_Source_Transparent_Container optional -} with { variant "PRESENCE(bssgpPduType = '5A'O)"; }; - - -// 10.4.29 -type record PDU_BSSGP_PS_HANDOVER_REQUIRED_NACK -{ - OCT1 bssgpPduType, - TLLI_BSSGP tLLI, - Cause_BSSGP cause -} with { variant "PRESENCE(bssgpPduType = '5B'O)"; }; - - -// 10.4.30 -type record PDU_BSSGP_PS_HANDOVER_REQUEST -{ - OCT1 bssgpPduType, - TLLI_BSSGP tLLI, - IMSI_BSSGP iMSI, - Cause_BSSGP cause, - Cell_Identifier source_Cell_Identifier optional, - RNC_Identifier_BSSGP source_RNC_Identifier optional, - Cell_Identifier target_Cell_Identifier optional, // it is mandatory - Source_BSS_to_Target_BSS_Transparent_Container_BSSGP - source_BSS_to_Target_BSS_Transparent_Container_BSSGP, - PFCs_to_be_set_up_list pFCs_to_be_set_up_list, - NAS_container_for_PS_Handover nAS_container_for_PS_Handover optional, - Service_UTRAN_CCO service_UTRAN_CCO optional, - Subscriber_Profile_ID_For_RAT_Priority - subscriber_Profile_ID_For_RAT_Priority optional, - Reliable_Inter_RAT_Handover_Info - reliable_Inter_RAT_Handover_Info optional -} with { variant "PRESENCE(bssgpPduType = '5C'O)"; }; - - -// 10.4.31 -type record PDU_BSSGP_PS_HANDOVER_REQUEST_ACK -{ - OCT1 bssgpPduType, - TLLI_BSSGP tLLI, - List_of_set_up_PFCs_BSSGP list_of_set_up_PFCs, - Target_BSS_to_Source_BSS_Transparent_Container - target_BSS_to_Source_BSS_Transparent_Container -} with { variant "PRESENCE(bssgpPduType = '5D'O)"; }; - - -// 10.4.32 -type record PDU_BSSGP_PS_HANDOVER_REQUEST_NACK -{ - OCT1 bssgpPduType, - TLLI_BSSGP tLLI, - Cause_BSSGP cause -} with { variant "PRESENCE(bssgpPduType = '5E'O)"; }; - - -// 10.4.33 -type record PDU_BSSGP_PS_HANDOVER_COMPLETE -{ - OCT1 bssgpPduType, - TLLI_BSSGP tLLI, - IMSI_BSSGP iMSI, - Cell_Identifier target_Cell_Identifier optional, - Request_For_Inter_RAT_Handover_Info - request_For_Inter_RAT_Handover_Info optional -} with { variant "PRESENCE(bssgpPduType = '91'O)"; }; - - -// 10.4.34 -type record PDU_BSSGP_PS_HANDOVER_CANCEL -{ - OCT1 bssgpPduType, - TLLI_BSSGP tLLI, - Cause_BSSGP cause, - Cell_Identifier source_Cell_Identifier, - Cell_Identifier target_Cell_Identifier optional, - RNC_Identifier_BSSGP target_RNC_Identifier optional, - ENB_Identifier target_Enb_Identifier optional -} with { variant "PRESENCE(bssgpPduType = '92'O)"; }; - -// 10.4.35 -type record PDU_BSSGP_PS_HANDOVER_COMPLETE_ACK -{ - OCT1 bssgpPduType, - TLLI_BSSGP tLLI, - Inter_RAT_Handover_Info_BSSGP inter_RAT_Handover_Info_BSSGP, - E_UTRAN_Inter_RAT_Handover_Info e_UTRAN_Inter_RAT_Handover_Info optional -} with { variant "PRESENCE(bssgpPduType = '93'O)";}; - -// 10.4.36 -type record PDU_BSSGP_OVERLOAD -{ - OCT1 bssgpPduType, - Priority_Class_Indicator priority_Class_Indicator -} with { variant "PRESENCE(bssgpPduType = '42'O)";}; - -// 10.5.1 -type record PDU_BSSGP_PERFORM_LOCATION_REQUEST -{ - OCT1 bssgpPduType, - TLLI_BSSGP tLLI, - IMSI_BSSGP iMSI, - DRX_Parameters dRX_Parameters optional, - BVCI bVCI, - NSEI_BSSGP nSEI, - Location_Type_BSSGP location_Type, - Cell_Identifier cell_Identifier, - LCS_Capability_BSSGP lCS_Capability optional, - LCS_Priority_BSSGP lCS_Priority optional, - LCS_QoS_BSSGP lCS_QoS optional, - LCS_Client_Type_BSSGP lCS_Client_Type optional, - Requested_GPS_Assistance_Data_BSSGP requested_GPS_Assistance_Data optional, - IMEI_BSSGP iMEI optional, - GANSS_Location_Type gANSS_Location_Type optional, - Requested_GANSS_Assistance_Data requested_GANSS_Assistance_Data optional, - EDRX_Parameters eDRX_Parameters optional -} with { variant "PRESENCE(bssgpPduType = '60'O)"; }; - - -// 10.5.2 -type record PDU_BSSGP_PERFORM_LOCATION_RESPONSE -{ - OCT1 bssgpPduType, - TLLI_BSSGP tLLI, - BVCI bVCI, - Location_Estimate_BSSGP location_Estimate optional, - Positioning_Data_BSSGP positioning_Data optional, - Deciphering_Keys_BSSGP deciphering_Keys optional, - LCS_Cause_BSSGP lCS_Cause optional, - VelocityData velocityData optional, - GANSS_Positioning_Data gANSS_Positioning_Data optional -} with { variant "PRESENCE(bssgpPduType = '61'O)"; }; - - -// 10.5.3 -type record PDU_BSSGP_PERFORM_LOCATION_ABORT -{ - OCT1 bssgpPduType, - TLLI_BSSGP tLLI, - BVCI bVCI, - LCS_Cause_BSSGP lCS_Cause -} with { variant "PRESENCE(bssgpPduType = '62'O)"; }; - - -// 10.5.4 -type record PDU_BSSGP_POSITION_COMMAND -{ - OCT1 bssgpPduType, - TLLI_BSSGP tLLI, - BVCI bVCI, - RRLP_Flags_BSSGP rRLP_Flags, - RRLP_APDU_BSSGP rRLP_APDU -} with { variant "PRESENCE(bssgpPduType = '63'O)"; }; - - -// 10.5.5 -type record PDU_BSSGP_POSITION_RESPONSE -{ - OCT1 bssgpPduType, - TLLI_BSSGP tLLI, - BVCI bVCI, - RRLP_Flags_BSSGP rRLP_Flags optional, - RRLP_APDU_BSSGP rRLP_APDU optional, - LCS_Cause_BSSGP lCS_Cause optional -} with { variant "PRESENCE(bssgpPduType = '64'O)"; }; - -// 10.6.1 -type record PDU_BSSGP_RAN_INFORMATION_REQUEST -{ - OCT1 bssgpPduType, - RIM_Routing_Information destination_Cell_Identifier, - RIM_Routing_Information source_Cell_Identifier, - RAN_Information_Request_RIM_Container rIM_Container -} with { variant "PRESENCE(bssgpPduType = '71'O)"; }; - -// 10.6.2 -type record PDU_BSSGP_RAN_INFORMATION -{ - OCT1 bssgpPduType, - RIM_Routing_Information destination_Cell_Identifier, - RIM_Routing_Information source_Cell_Identifier, - RAN_Information_RIM_Container rIM_Container -} with { variant "PRESENCE(bssgpPduType = '70'O)"; }; - -// 10.6.3 -type record PDU_BSSGP_RAN_INFORMATION_ACK -{ - OCT1 bssgpPduType, - RIM_Routing_Information destination_Cell_Identifier, - RIM_Routing_Information source_Cell_Identifier, - RAN_Information_Ack_RIM_Container rIM_Container -} with { variant "PRESENCE(bssgpPduType = '72'O)"; }; - -// 10.6.4 -type record PDU_BSSGP_RAN_INFORMATION_ERROR -{ - OCT1 bssgpPduType, - RIM_Routing_Information destination_Cell_Identifier, - RIM_Routing_Information source_Cell_Identifier, - RAN_Information_Error_RIM_Container rIM_Container -} with { variant "PRESENCE(bssgpPduType = '73'O)"; }; - -// 10.6.5 -type record PDU_BSSGP_RAN_INFORMATION_APPLICATION_ERROR -{ - OCT1 bssgpPduType, - RIM_Routing_Information destination_Cell_Identifier, - RIM_Routing_Information source_Cell_Identifier, - RAN_Information_Application_Error_RIM_Container rIM_Container -} with { variant "PRESENCE(bssgpPduType = '74'O)"; }; - -// 10.7.1 -type record PDU_BSSGP_MBMS_SESSION_START_REQUEST -{ - OCT1 bssgpPduType, - TMGI_BSSGP tMGI, - MBMS_Session_Identity mBMS_Session_Identity optional, - ABQP aBQP, - MBMS_Service_Area_Identity_List mBMS_Service_Area_Identity_List, - MBMS_Routing_Area_List mBMS_Routing_Area_List, - MBMS_Session_Duration mBMS_Session_Duration, - MBMS_Session_Information mBMS_Session_Information, - Time_To_MBMS_Data_Transfer time_To_MBMS_Data_Transfer, - Priority_BSSGP allocation_Retention_Priority optional, - MBMS_Session_Repetition_Number mBMS_Session_Repetition_Number optional -} with { variant "PRESENCE(bssgpPduType = '80'O)"; }; - -// 10.7.2 -type record PDU_BSSGP_MBMS_SESSION_START_RESPONSE -{ - OCT1 bssgpPduType, - TMGI_BSSGP tMGI, - MBMS_Session_Identity mBMS_Session_Identity optional, - MBMS_Response mBMS_Response -} with { variant "PRESENCE(bssgpPduType = '81'O)"; }; - -// 10.7.3 -type record PDU_BSSGP_MBMS_SESSION_STOP_REQUEST -{ - OCT1 bssgpPduType, - TMGI_BSSGP tMGI, - MBMS_Session_Identity mBMS_Session_Identity optional, - MBMS_Stop_Cause mBMS_Stop_Cause -} with { variant "PRESENCE(bssgpPduType = '82'O)"; }; - -// 10.7.4 -type record PDU_BSSGP_MBMS_STOP_RESPONSE -{ - OCT1 bssgpPduType, - TMGI_BSSGP tMGI, - MBMS_Session_Identity mBMS_Session_Identity optional, - MBMS_Response mBMS_Response -} with { variant "PRESENCE(bssgpPduType = '83'O)"; }; - - -// 10.7.5 -type record PDU_BSSGP_SESSION_UPDATE_REQUEST -{ - OCT1 bssgpPduType, - TMGI_BSSGP tMGI, - MBMS_Session_Identity mBMS_Session_Identity optional, - ABQP aBQP, - MBMS_Service_Area_Identity_List mBMS_Service_Area_Identity_List, - MBMS_Routing_Area_List mBMS_Routing_Area_List, - MBMS_Session_Duration mBMS_Session_Duration, - MBMS_Session_Information mBMS_Session_Information, - Time_To_MBMS_Data_Transfer time_To_MBMS_Data_Transfer, - Priority_BSSGP allocation_Retention_Priority optional, - MBMS_Session_Repetition_Number mBMS_Session_Repetition_Number optional -} with { variant "PRESENCE(bssgpPduType = '84'O)"; }; - - -// 10.7.6 -type record PDU_BSSGP_SESSION_UPDATE_RESPONSE -{ - OCT1 bssgpPduType, - TMGI_BSSGP tMGI, - MBMS_Session_Identity mBMS_Session_Identity optional, - MBMS_Response mBMS_Response -} with { variant "PRESENCE(bssgpPduType = '85'O)"; }; - - - -type union PDU_BSSGP -{ - - PDU_BSSGP_DL_UNITDATA pDU_BSSGP_DL_UNITDATA, - PDU_BSSGP_UL_UNITDATA pDU_BSSGP_UL_UNITDATA, - PDU_BSSGP_RA_CAPABILITY pDU_BSSGP_RA_CAPABILITY, - PDU_BSSGP_DL_MBMS_UNITDATA pDU_BSSGP_DL_MBMS_UNITDATA, - PDU_BSSGP_UL_MBMS_UNITDATA pDU_BSSGP_UL_MBMS_UNITDATA, - PDU_BSSGP_PAGING_PS pDU_BSSGP_PAGING_PS, - PDU_BSSGP_PAGING_CS pDU_BSSGP_PAGING_CS, - PDU_BSSGP_RA_CAPABILITY_UPDATE pDU_BSSGP_RA_CAPABILITY_UPDATE, - PDU_BSSGP_RA_CAPABILITY_UPDATE_ACK pDU_BSSGP_RA_CAPABILITY_UPDATE_ACK, - PDU_BSSGP_RADIO_STATUS pDU_BSSGP_RADIO_STATUS, - PDU_BSSGP_SUSPEND pDU_BSSGP_SUSPEND, - PDU_BSSGP_SUSPEND_ACK pDU_BSSGP_SUSPEND_ACK, - PDU_BSSGP_SUSPEND_NACK pDU_BSSGP_SUSPEND_NACK, - PDU_BSSGP_RESUME pDU_BSSGP_RESUME, - PDU_BSSGP_RESUME_ACK pDU_BSSGP_RESUME_ACK, - PDU_BSSGP_RESUME_NACK pDU_BSSGP_RESUME_NACK, - PDU_BSSGP_PAGING_PS_REJECT pDU_BSSGP_PAGING_PS_REJECT, - PDU_BSSGP_DUMMY_PAGING_PS pDU_BSSGP_DUMMY_PAGING_PS, - PDU_BSSGP_DUMMY_PAGING_PS_RESPONSE pDU_BSSGP_DUMMY_PAGING_PS_RESPONSE, - PDU_BSSGP_MS_REGISTRATION_ENQUIRY_RESPONSE pDU_BSSGP_MS_REGISTRATION_ENQUIRY_RESPONSE, - PDU_BSSGP_MS_REGISTRATION_ENQUIRY pDU_BSSGP_MS_REGISTRATION_ENQUIRY, - PDU_BSSGP_FLUSH_LL pDU_BSSGP_FLUSH_LL, - PDU_BSSGP_FLUSH_LL_ACK pDU_BSSGP_FLUSH_LL_ACK, - PDU_BSSGP_LLC_DISCARDED pDU_BSSGP_LLC_DISCARDED, - PDU_BSSGP_FLOW_CONTROL_BVC pDU_BSSGP_FLOW_CONTROL_BVC, - PDU_BSSGP_FLOW_CONTROL_BVC_ACK pDU_BSSGP_FLOW_CONTROL_BVC_ACK, - PDU_BSSGP_FLOW_CONTROL_MS pDU_BSSGP_FLOW_CONTROL_MS, - PDU_BSSGP_FLOW_CONTROL_MS_ACK pDU_BSSGP_FLOW_CONTROL_MS_ACK, - PDU_BSSGP_FLOW_CONTROL_PFC pDU_BSSGP_FLOW_CONTROL_PFC, - PDU_BSSGP_FLOW_CONTROL_PFC_ACK pDU_BSSGP_FLOW_CONTROL_PFC_ACK, - PDU_BSSGP_STATUS pDU_BSSGP_STATUS, - PDU_BSSGP_BVC_BLOCK pDU_BSSGP_BVC_BLOCK, - PDU_BSSGP_BVC_BLOCK_ACK pDU_BSSGP_BVC_BLOCK_ACK, - PDU_BSSGP_BVC_UNBLOCK pDU_BSSGP_BVC_UNBLOCK, - PDU_BSSGP_BVC_UNBLOCK_ACK pDU_BSSGP_BVC_UNBLOCK_ACK, - PDU_BSSGP_BVC_RESET pDU_BSSGP_BVC_RESET, - PDU_BSSGP_BVC_RESET_ACK pDU_BSSGP_BVC_RESET_ACK, - PDU_BSSGP_SGSN_INVOKE_TRACE pDU_BSSGP_SGSN_INVOKE_TRACE, - PDU_BSSGP_DOWNLOAD_BSS_PFC pDU_BSSGP_DOWNLOAD_BSS_PFC, - PDU_BSSGP_CREATE_BSS_PFC pDU_BSSGP_CREATE_BSS_PFC, - PDU_BSSGP_CREATE_BSS_PFC_ACK pDU_BSSGP_CREATE_BSS_PFC_ACK, - PDU_BSSGP_CREATE_BSS_PFC_NACK pDU_BSSGP_CREATE_BSS_PFC_NACK, - PDU_BSSGP_MODIFY_BSS_PFC pDU_BSSGP_MODIFY_BSS_PFC, - PDU_BSSGP_MODIFY_BSS_PFC_ACK pDU_BSSGP_MODIFY_BSS_PFC_ACK, - PDU_BSSGP_DELETE_BSS_PFC pDU_BSSGP_DELETE_BSS_PFC, - PDU_BSSGP_DELETE_BSS_PFC_ACK pDU_BSSGP_DELETE_BSS_PFC_ACK, - PDU_BSSGP_DELETE_BSS_PFC_REQ pDU_BSSGP_DELETE_BSS_PFC_REQ, - PDU_BSSGP_PS_HANDOVER_REQUIRED pDU_BSSGP_PS_HANDOVER_REQUIRED, - PDU_BSSGP_PS_HANDOVER_REQUIRED_ACK pDU_BSSGP_PS_HANDOVER_REQUIRED_ACK, - PDU_BSSGP_PS_HANDOVER_REQUIRED_NACK pDU_BSSGP_PS_HANDOVER_REQUIRED_NACK, - PDU_BSSGP_PS_HANDOVER_REQUEST pDU_BSSGP_PS_HANDOVER_REQUEST, - PDU_BSSGP_PS_HANDOVER_REQUEST_ACK pDU_BSSGP_PS_HANDOVER_REQUEST_ACK, - PDU_BSSGP_PS_HANDOVER_REQUEST_NACK pDU_BSSGP_PS_HANDOVER_REQUEST_NACK, - PDU_BSSGP_PS_HANDOVER_COMPLETE pDU_BSSGP_PS_HANDOVER_COMPLETE, - PDU_BSSGP_PS_HANDOVER_COMPLETE_ACK pDU_BSSGP_PS_HANDOVER_COMPLETE_ACK, - PDU_BSSGP_PS_HANDOVER_CANCEL pDU_BSSGP_PS_HANDOVER_CANCEL, - PDU_BSSGP_OVERLOAD pDU_BSSGP_OVERLOAD, - PDU_BSSGP_PERFORM_LOCATION_REQUEST pDU_BSSGP_PERFORM_LOCATION_REQUEST, - PDU_BSSGP_PERFORM_LOCATION_RESPONSE pDU_BSSGP_PERFORM_LOCATION_RESPONSE, - PDU_BSSGP_PERFORM_LOCATION_ABORT pDU_BSSGP_PERFORM_LOCATION_ABORT, - PDU_BSSGP_POSITION_COMMAND pDU_BSSGP_POSITION_COMMAND, - PDU_BSSGP_POSITION_RESPONSE pDU_BSSGP_POSITION_RESPONSE, - PDU_BSSGP_RAN_INFORMATION pDU_BSSGP_RAN_INFORMATION, - PDU_BSSGP_RAN_INFORMATION_REQUEST pDU_BSSGP_RAN_INFORMATION_REQUEST, - PDU_BSSGP_RAN_INFORMATION_ACK pDU_BSSGP_RAN_INFORMATION_ACK, - PDU_BSSGP_RAN_INFORMATION_ERROR pDU_BSSGP_RAN_INFORMATION_ERROR, - PDU_BSSGP_RAN_INFORMATION_APPLICATION_ERROR - pDU_BSSGP_RAN_INFORMATION_APPLICATION_ERROR, - PDU_BSSGP_MBMS_SESSION_START_REQUEST pDU_BSSGP_MBMS_SESSION_START_REQUEST, - PDU_BSSGP_MBMS_SESSION_START_RESPONSE pDU_BSSGP_MBMS_SESSION_START_RESPONSE, - PDU_BSSGP_MBMS_SESSION_STOP_REQUEST pDU_BSSGP_MBMS_SESSION_STOP_REQUEST, - PDU_BSSGP_MBMS_STOP_RESPONSE pDU_BSSGP_MBMS_STOP_RESPONSE, - PDU_BSSGP_SESSION_UPDATE_REQUEST pDU_BSSGP_SESSION_UPDATE_REQUEST, - PDU_BSSGP_SESSION_UPDATE_RESPONSE pDU_BSSGP_SESSION_UPDATE_RESPONSE, - octetstring pDU_BSSGP_unknown -} with { variant "" }; - -} with {encode "RAW"} // end of module diff --git a/BSSMAP_v11.2.0_CNL113761_LATEST/BSSMAP_v11.2.0_CNL113761.tpd b/BSSMAP_v11.2.0_CNL113761_LATEST/BSSMAP_v11.2.0_CNL113761.tpd deleted file mode 100644 index da7ed53ba..000000000 --- a/BSSMAP_v11.2.0_CNL113761_LATEST/BSSMAP_v11.2.0_CNL113761.tpd +++ /dev/null @@ -1,59 +0,0 @@ - - - - BSSMAP_v11.2.0_CNL113761 - - - - - - - - - - - - - - Default - - - - - true - true - true - bin/BSSMAP_v11.2.0_CNL113761 - Level 3 - Creating object files with dependency update - - - bin - - - - - doc - - true - - - - - - diff --git a/BSSMAP_v11.2.0_CNL113761_LATEST/doc/BSSMAP_v11.2.0_CNL113761_FS.pdf b/BSSMAP_v11.2.0_CNL113761_LATEST/doc/BSSMAP_v11.2.0_CNL113761_FS.pdf deleted file mode 100644 index ee85895b5..000000000 Binary files a/BSSMAP_v11.2.0_CNL113761_LATEST/doc/BSSMAP_v11.2.0_CNL113761_FS.pdf and /dev/null differ diff --git a/BSSMAP_v11.2.0_CNL113761_LATEST/doc/BSSMAP_v11.2.0_CNL113761_PRI.pdf b/BSSMAP_v11.2.0_CNL113761_LATEST/doc/BSSMAP_v11.2.0_CNL113761_PRI.pdf deleted file mode 100644 index 59581708a..000000000 Binary files a/BSSMAP_v11.2.0_CNL113761_LATEST/doc/BSSMAP_v11.2.0_CNL113761_PRI.pdf and /dev/null differ diff --git a/BSSMAP_v11.2.0_CNL113761_LATEST/doc/BSSMAP_v11.2.0_CNL113761_UG.pdf b/BSSMAP_v11.2.0_CNL113761_LATEST/doc/BSSMAP_v11.2.0_CNL113761_UG.pdf deleted file mode 100644 index a5c864187..000000000 Binary files a/BSSMAP_v11.2.0_CNL113761_LATEST/doc/BSSMAP_v11.2.0_CNL113761_UG.pdf and /dev/null differ diff --git a/BSSMAP_v11.2.0_CNL113761_LATEST/src/BSSAP_Types.ttcn b/BSSMAP_v11.2.0_CNL113761_LATEST/src/BSSAP_Types.ttcn deleted file mode 100644 index 8c8b5dd34..000000000 --- a/BSSMAP_v11.2.0_CNL113761_LATEST/src/BSSAP_Types.ttcn +++ /dev/null @@ -1,2984 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// // -// Copyright Test Competence Center (TCC) ETH 2012 // -// // -// 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: BSSAP_Types.ttcn -// Rev: R1A01 -// Prodnr: CNL 113 761 -// Updated: 2012-10-30 -// Contact: http://ttcn.ericsson.se - -module BSSAP_Types { - -// This module contains the type definitions and encoding attributes for -// Base Station System. The signalling protocol reference model is based -// on 48.008 V11.2.0 Figure 1. -// -// ------------------------------ -// | BSSAP | -// | | -// | ------------------------- | BSSMAP layer is defined in 48.008 v11.2.0 -// | | | | | -// | | DTAP | BSSMAP | | -// | | | | | -// | ------------------------- | -// | | Distribution Function | | -// |=============================| -// | SCCP | -// ------------------------------ - - -import from General_Types all; - -external function enc_PDU_BSSAP(in PDU_BSSAP pdu) return octetstring -with { extension "prototype(convert) encode(RAW)" } -external function dec_PDU_BSSAP(in octetstring stream) return PDU_BSSAP -with { extension "prototype(convert) decode(RAW)" } - -external function enc_PDU_BSSAP_fast(in PDU_BSSAP pdu, out octetstring stream) -with { extension "prototype(fast) encode(RAW)" } -external function dec_PDU_BSSAP_backtrack(in octetstring stream, out PDU_BSSAP pdu) return integer -with { extension "prototype(backtrack) decode(RAW)" } - -/////////////////////////////////////////// -// BSSMAP information element definition -/////////////////////////////////////////// - -// Circuit Identity Code - 48.008 subclause 3.2.2.2 -type record BSSMAP_IE_CircuitIdentityCode -{ - OCT1 elementIdentifier, // '01'O - OCT1 cicHigh, // CIC = 11 bits of used information - OCT1 cicLow // (last 5 bits not used) -} with { variant "PRESENCE (elementIdentifier = '01'O)" } - - -// Connection Release Requested - 48.008 subclause 3.2.2.3 -type record BSSMAP_IE_ConnectionReleaseRequested -{ - OCT1 elementIdentifier // '36'O -} with { variant "PRESENCE (elementIdentifier = '36'O)" } - - -// Resource Available - 48.008 subclause 3.2.2.4 -type record BSSMAP_IE_ResourceAvailable -{ - OCT1 elementIdentifier, // '03'O - OCT4 band1, - OCT4 band2, - OCT4 band3, - OCT4 band4, - OCT4 band5 -} with { variant "PRESENCE (elementIdentifier = '03'O)" } - -// Cause - 48.008 subclause 3.2.2.5 -type record BSSMAP_IE_Cause -{ - OCT1 elementIdentifier, // '04'O - INT1 lengthIndicator, - BIT7 causeValue, - BIT1 extensionCauseValue, - OCT1 spare1 optional -} with { variant "PRESENCE (elementIdentifier = '04'O)" - variant (lengthIndicator) - "LENGTHTO (causeValue,extensionCauseValue,spare1)"; - variant (spare1) "PRESENCE(extensionCauseValue = '1'B)"} - -// IMSI - 48.008 subclause 3.2.2.6 -type record BSSMAP_IE_IMSI -{ - OCT1 elementIdentifier, // '08'O - INT1 lengthIndicator, - BIT3 typeOfIdentity, - BIT1 oddEvenIndicator, // '0'B even / 1'B odd number of identity digits - HEX5_16 digits // if nr of digits is even, the last digit: '1111'B -} with { variant "PRESENCE (elementIdentifier = '08'O)" - variant (lengthIndicator) - "LENGTHTO (typeOfIdentity,oddEvenIndicator,digits)"; - variant "PADDING(yes),PADDING_PATTERN('1'B)"} - - -// TMSI - 48.008 subclause 3.2.2.7 -type record BSSMAP_IE_TMSI -{ - OCT1 elementIdentifier, // '09'O - INT1 lengthIndicator, - OCT4 tmsiOctets // octets 3-6 in real -} with { variant "PRESENCE (elementIdentifier = '09'O)" - variant (lengthIndicator) "LENGTHTO (tmsiOctets)"} - - -// Number Of MSs - 48.008 subclause 3.2.2.8 -type record BSSMAP_IE_NumberOfMSs -{ - OCT1 elementIdentifier, // '0E'O - OCT1 NrOfHoCandidates -} - - -// Layer 3 Header Info - 48.008 subclause 3.2.2.9 -type record BSSMAP_IE_Layer3HeaderInfo -{ - OCT1 elementIdentifier, //'07'O - INT1 lengthIndicator, //'02'O - BIT4 pd, // '0110'B - BIT4 spare1_4, // '0000'B - BIT4 ti, // '0000'B - BIT4 spare2_4 // '0000'B -} with { variant "PRESENCE (elementIdentifier = '07'O)" - variant (lengthIndicator) "LENGTHTO (pd, spare1_4, ti, spare2_4)" } - - -// Encryption Information - 48.008 subclause 3.2.2.10 -type record BSSMAP_IE_EncryptionInformation -{ - OCT1 elementIdentifier, // '0A'O - INT1 lengthIndicator, // 1..9 - OCT1 permittedAlgorithms,// '1'B encryption no - // '0' B GSM A5/1 not useable - // '1' B GSM A5/useable 1 - // '0' B GSM A5/2 not useable - // '1' B GSM A5/useable 2 - // '0' B GSM A5/3 not useable - // '1' B GSM A5/useable 3 - // '0' B GSM A5/4 not useable - // '1' B GSM A5/useable 4 - // '0' B GSM A5/5 useable not - // '1' B GSM A5/useable 5 - // '0' B GSM A5/6 useable not - // '1' B GSM A5/useable 6 - // '0' B GSM A5/7 useable not - // '1' B GSM A5/useable 7 - OCT8 key optional -} with { variant "PRESENCE (elementIdentifier = '0A'O)" - variant (lengthIndicator) "LENGTHTO (permittedAlgorithms, key)" } - - -// Channel Type - 48.008 subclause 3.2.2.11 -type record BSSMAP_IE_ChannelType -{ - OCT1 elementIdentifier, //'0B'O - INT1 lengthIndicator, // 3..8 - BIT4 speechOrDataIndicator, //'0001'B Speech,'0010'B Data '0011'B Sign - BIT4 spare1_4, // '0000'B - OCT1 channelRateAndType, // - octetstring speechId_DataIndicator -} with {variant (lengthIndicator) "LENGTHTO (speechOrDataIndicator, - spare1_4, channelRateAndType, speechId_DataIndicator)" } - - -// Periodicity - 48.008 subclause 3.2.2.12 -type record BSSMAP_IE_Periodicity -{ - OCT1 elementIdentifier, //'0C'O - OCT1 periodicity -} - - -// Extended Resource Indicator - 48.008 subclause 3.2.2.13 -type record BSSMAP_IE_ExtendedResourceInd -{ - OCT1 elementIdentifier, //'0D'O - BIT1 TARR, - BIT1 SM, - BIT6 spare -} with { variant "PRESENCE (elementIdentifier = '0D'O)" } - - -// Total Resource Accessible - 48.008 subclause 3.2.2.14 -type record BSSMAP_IE_TotalResourceAccessible -{ - OCT1 elementIdentifier, //'22'O - OCT2 nrOfFullRateCh, - OCT2 nrOfHalfRateCh -} with { variant "PRESENCE (elementIdentifier = '22'O)" } - - -// LSA Identifier - 48.008 subclause 3.2.2.15 -type record BSSMAP_IE_LSAIdentifier -{ - OCT1 elementIdentifier, //'3B'O - INT1 lengthIndicator, // 3 - BSSMAP_FIELD_LSAId lSAID -} with { variant "PRESENCE (elementIdentifier = '3B'O)" - variant (lengthIndicator) "LENGTHTO (lSAID)"} - -type record BSSMAP_FIELD_LSAId -{ - OCT1 lSAID, - OCT1 lSAIDcont1, - OCT1 lSAIDcont2 -} - - -// LSA Identifier List - 48.008 subclause 3.2.2.16 -type record BSSMAP_IE_LSAIdentifierList -{ - OCT1 elementIdentifier, //'3C'O - INT1 lengthIndicator, - BIT1 EP, - BIT7 spare, - BSSMAP_FIELD_LSAIdList lSAIDlist -} with {variant (lengthIndicator) "LENGTHTO (EP,spare,lSAIDlist)"} - -type record of BSSMAP_FIELD_LSAId BSSMAP_FIELD_LSAIdList - - -// Cell Identifier - 48.008 subclause 3.2.2.17 -type record BSSMAP_IE_CellIdentifier -{ - OCT1 elementIdentifier, // '05'O - INT1 lengthIndicator, - BIT4 cellIdentifierDiscriminator, - BIT4 spare1_4, // '0000'B - BSSMAP_FIELD_CellIdentification cellIdentification -} with { variant "PRESENCE (elementIdentifier = '05'O)" - variant (lengthIndicator) - "LENGTHTO(cellIdentifierDiscriminator,spare1_4,cellIdentification)"; - variant (cellIdentification) "CROSSTAG( - cI_CGI, cellIdentifierDiscriminator='0000'B; - cI_LAC_CI, cellIdentifierDiscriminator='0001'B; - cI_CI, cellIdentifierDiscriminator='0010'B; - cI_noCell, cellIdentifierDiscriminator='0011'B; - cI_PLMN_LAC_RNC, cellIdentifierDiscriminator='1000'B; - cI_RNC, cellIdentifierDiscriminator='1001'B; - cI_LAC_RNC, cellIdentifierDiscriminator='1010'B; - cI_SAI, cellIdentifierDiscriminator='1011'B; - ci_LAC_RNC_CI, cellIdentifierDiscriminator='1100'B; - )"} - -type union BSSMAP_FIELD_CellIdentification -{ - BSSMAP_FIELD_CellIdentification_CGI cI_CGI, // discriminator = '0000'B - BSSMAP_FIELD_CellIdentification_LAC_CI cI_LAC_CI, // discriminator = '0001'B - OCT2 cI_CI, // discriminator = '0010'B - OCT0 cI_noCell, // discriminator = '0011'B - BSSMAP_FIELD_CellIdentification_PLMN_LAC_RNC cI_PLMN_LAC_RNC,// discriminator = '1000'B - OCT2 cI_RNC, // discriminator = '1001'B - BSSMAP_FIELD_CellIdentification_LAC_RNC cI_LAC_RNC,// discriminator = '1010'B - BSSMAP_FIELD_CellIdentification_SAI cI_SAI, // discriminator = '1011'B - BSSMAP_FIELD_LAC_RNC_CI ci_LAC_RNC_CI // discriminator = '1100'B -} - -type record BSSMAP_FIELD_CellIdentification_CGI -{ - OCT3 mcc_mnc, - OCT2 lac, - OCT2 ci -} - -type record BSSMAP_FIELD_CellIdentification_LAC_CI -{ - OCT2 lac, - OCT2 ci -} - -type record BSSMAP_FIELD_CellIdentification_LAI -{ - OCT3 mcc_mnc, - OCT2 lac -} - -type record BSSMAP_FIELD_CellIdentification_PLMN_LAC_RNC -{ - OCT3 mcc_mnc, - OCT2 lac, - OCT2 rncId -} - -type record BSSMAP_FIELD_CellIdentification_LAC_RNC -{ - OCT2 lac, - OCT2 rncId -} - -type record BSSMAP_FIELD_CellIdentification_SAI -{ - OCT3 mcc_mnc, - OCT2 lac, - OCT2 sac -} - -type record BSSMAP_FIELD_LAC_RNC_CI -{ - OCT3 mcc_mnc, - OCT2 lac, - OCT2 rncId, - OCT2 ci -} - - -// Cell Identifier List - 48.008 subclause 3.2.2.27 -type record BSSMAP_IE_CellIdentifierList -{ - OCT1 elementIdentifier, // '1A'O - INT1 lengthIndicator, - BIT4 cellIdentifierDiscriminator, - BIT4 spare1_4, // '0000'B - BSSMAP_FIELD_CellIdentificationList cellIdentificationList -} with { variant "PRESENCE (elementIdentifier = '1A'O)" - variant (lengthIndicator) - "LENGTHTO(cellIdentifierDiscriminator,spare1_4,cellIdentificationList)"; - variant (cellIdentificationList) "CROSSTAG( - cIl_CGI, cellIdentifierDiscriminator='0000'B; - cIl_LAC_CI, cellIdentifierDiscriminator='0001'B; - cIl_CI, cellIdentifierDiscriminator='0010'B; - cIl_noCell, cellIdentifierDiscriminator='0011'B; - cIl_LAI, cellIdentifierDiscriminator='0100'B; - cIl_LAC, cellIdentifierDiscriminator='0101'B; - cIl_allInBSS, cellIdentifierDiscriminator='0110'B; - cIl_PLMN_LAC_RNC, cellIdentifierDiscriminator='1000'B; - cIl_RNC, cellIdentifierDiscriminator='1001'B; - cIl_LAC_RNC, cellIdentifierDiscriminator='1010'B;)"} - -type union BSSMAP_FIELD_CellIdentificationList { - BSSMAP_FIELD_CellIdentificationList_CGI cIl_CGI, // discr. = '0000'B - BSSMAP_FIELD_CellIdentificationList_LAC_CI cIl_LAC_CI,// discr. = '0001'B - RecordOfOCT2 cIl_CI, // discr. = '0010'B - OCT0 cIl_noCell,// discr. = '0011'B - BSSMAP_FIELD_CellIdentificationList_LAI cIl_LAI, // discr. = '0100'B only paging - RecordOfOCT2 cIl_LAC, // discr. = '0101'B only paging - OCT0 cIl_allInBSS, // discr. = '0110'B only paging - BSSMAP_FIELD_CellIdentificationList_PLMN_LAC_RNC cIl_PLMN_LAC_RNC, // discr. = '1000'B - RecordOfOCT2 cIl_RNC, // discr. = '1001'B - BSSMAP_FIELD_CellIdentificationList_LAC_RNC cIl_LAC_RNC // discr. = '1010'B -} - - -type record of OCT2 -RecordOfOCT2 - -type record of BSSMAP_FIELD_CellIdentification_CGI -BSSMAP_FIELD_CellIdentificationList_CGI - -type record of BSSMAP_FIELD_CellIdentification_LAC_CI -BSSMAP_FIELD_CellIdentificationList_LAC_CI - -type record of BSSMAP_FIELD_CellIdentification_LAI -BSSMAP_FIELD_CellIdentificationList_LAI - -type record of BSSMAP_FIELD_CellIdentification_PLMN_LAC_RNC -BSSMAP_FIELD_CellIdentificationList_PLMN_LAC_RNC - -type record of BSSMAP_FIELD_CellIdentification_LAC_RNC -BSSMAP_FIELD_CellIdentificationList_LAC_RNC - -type record of BSSMAP_FIELD_CellIdentification_SAI -BSSMAP_FIELD_CellIdentificationList_SAI - -// 3.2.2.27a Cell Identifier List Segment -type record BSSMAP_IE_CellIdentifierListSegment -{ - OCT1 elementIdentifier, // '6D'O - INT1 lengthIndicator, - BIT4 sequenceNumber, - BIT4 sequenceLength, - BIT4 cellIdentifierDiscriminator, - BIT4 spare, - BSSMAP_FIELD_CellIdentificationListSegment cellIdentificationListSegment -} with { variant "PRESENCE (elementIdentifier = '6D'O)" - variant (lengthIndicator) - "LENGTHTO(sequenceNumber, sequenceLength, cellIdentifierDiscriminator, spare, cellIdentificationListSegment)"; - variant (cellIdentificationListSegment) "CROSSTAG( - cIl_CGI, cellIdentifierDiscriminator='0000'B; - cIl_LAC_CI, cellIdentifierDiscriminator='0001'B; - cIl_CI, cellIdentifierDiscriminator='0010'B; - cIl_noCell, cellIdentifierDiscriminator='0011'B; - cIl_LAI, cellIdentifierDiscriminator='0100'B; - cIl_LAC, cellIdentifierDiscriminator='0101'B; - cIl_allInBSS, cellIdentifierDiscriminator='0110'B; - cIl_MCC_MNC, cellIdentifierDiscriminator='0111'B;)"} - - - -type union BSSMAP_FIELD_CellIdentificationListSegment -{ - BSSMAP_FIELD_CellIdentificationList_CGI cIl_CGI, // discr. ='0000'B; - BSSMAP_FIELD_CellIdentificationList_LAC_CI_Segment cIl_LAC_CI, // discr. ='0001'B - BSSMAP_FIELD_CellIdentificationList_CIL_CI_Segment cIl_CI, // discr. ='0010'B; - OCT0 cIl_noCell, // discr. ='0011'B; - BSSMAP_FIELD_CellIdentificationList_LAI cIl_LAI, // discr. ='0100'B; - RecordOfOCT2 cIl_LAC, // discr. ='0101'B; - OCT0 cIl_allInBSS, // discr. ='0101'B; - RecordOfOCT3 cIl_MCC_MNC // discr. ='0111'B; -} - -type record BSSMAP_FIELD_CellIdentificationList_LAC_CI_Segment -{ - OCT3 mcc_mnc, - BSSMAP_FIELD_CellIdentificationList_LAC_CI lac_ci -} - -type record BSSMAP_FIELD_CellIdentificationList_CIL_CI_Segment -{ - OCT3 mcc_mnc, - OCT2 lac, - RecordOfOCT2 ci -} - -type record of OCT3 -RecordOfOCT3 - - -// 3.2.2.27b Cell Identifier List Segment for Established Cells -type record BSSMAP_IE_CellIdentifierListSegmentEstCells -{ - OCT1 elementIdentifier, // '71'O - INT1 lengthIndicator, - BIT4 cellIdentifierDiscriminator, - BIT4 spare1_4, // '0000'B - BSSMAP_FIELD_CellIdentificationListEstablishment cellIdentificationListEstCells -} with { variant "PRESENCE (elementIdentifier = '71'O)" - variant (lengthIndicator) - "LENGTHTO(cellIdentifierDiscriminator,spare1_4,cellIdentificationListEstCells)"; - variant (cellIdentificationListEstCells) "CROSSTAG( - cIl_CGI, cellIdentifierDiscriminator='0000'B; - cIl_LAC_CI, cellIdentifierDiscriminator='0001'B; - cIl_CI, cellIdentifierDiscriminator='0010'B; - cIl_LAI, cellIdentifierDiscriminator='0100'B; - cIl_LAC, cellIdentifierDiscriminator='0101'B; - cIl_allInBSS, cellIdentifierDiscriminator='0110'B; - cIl_MCC_MNC, cellIdentifierDiscriminator='0111'B;)"} - - -type union BSSMAP_FIELD_CellIdentificationListEstablishment -{ - BSSMAP_FIELD_CellIdentificationList_CGI cIl_CGI, // discr. = '0000'B - BSSMAP_FIELD_CellIdentificationList_LAC_CI_Segment cIl_LAC_CI, // discr. = '0001'B; - BSSMAP_FIELD_CellIdentificationList_CIL_CI_Segment cIl_CI, // discr. = '0010'B; - BSSMAP_FIELD_CellIdentificationList_LAI cIl_LAI, // discr. = '0100'B; - RecordOfOCT2 cIl_LAC, // discr. = '0101'B; - OCT0 cIl_allInBSS, // discr. = '0110'B; - RecordOfOCT3 cIl_MCC_MNC // discr. = '0111'B; - } - -// 3.2.2.27c -type record BSSMAP_IE_CellIdentifierListSegmentCellsToEst -{ - OCT1 elementIdentifier, // '73'O - INT1 lengthIndicator, - BIT4 cellIdentifierDiscriminator, - BIT4 spare1_4, // '0000'B - BSSMAP_FIELD_CellIdentificationListEstablishment cellIdentificationListCellsToEst -} with { variant "PRESENCE (elementIdentifier = '72'O)" - variant (lengthIndicator) - "LENGTHTO(cellIdentifierDiscriminator,spare1_4,cellIdentificationListCellsToEst)"; - variant (cellIdentificationListCellsToEst) "CROSSTAG( - cIl_CGI, cellIdentifierDiscriminator='0000'B; - cIl_LAC_CI, cellIdentifierDiscriminator='0001'B; - cIl_CI, cellIdentifierDiscriminator='0010'B; - cIl_LAI, cellIdentifierDiscriminator='0100'B; - cIl_LAC, cellIdentifierDiscriminator='0101'B; - cIl_allInBSS, cellIdentifierDiscriminator='0110'B; - cIl_MCC_MNC, cellIdentifierDiscriminator='0111'B;)"} - -// 3.2.2.27e -type record BSSMAP_IE_CellIdentifierListSegmentReleasedCellsNoUserPresent -{ - OCT1 elementIdentifier, // '74'O - INT1 lengthIndicator, - BIT4 cellIdentifierDiscriminator, - BIT4 spare1_4, // '0000'B - BSSMAP_FIELD_CellIdentificationListEstablishment cellIdentificationListReleasedCellsNoUserPresent -} with { variant "PRESENCE (elementIdentifier = '74'O)" - variant (lengthIndicator) - "LENGTHTO(cellIdentifierDiscriminator,spare1_4,cellIdentificationListReleasedCellsNoUserPresent)"; - variant (cellIdentificationListReleasedCellsNoUserPresent) "CROSSTAG( - cIl_CGI, cellIdentifierDiscriminator='0000'B; - cIl_LAC_CI, cellIdentifierDiscriminator='0001'B; - cIl_CI, cellIdentifierDiscriminator='0010'B; - cIl_LAI, cellIdentifierDiscriminator='0100'B; - cIl_LAC, cellIdentifierDiscriminator='0101'B; - cIl_allInBSS, cellIdentifierDiscriminator='0110'B; - cIl_MCC_MNC, cellIdentifierDiscriminator='0111'B;)"} - - // 3.2.2.27f -type record BSSMAP_IE_CellIdentifierListSegmentNotEstablishedCellsNoEstPossible -{ - OCT1 elementIdentifier, // '73'O - INT1 lengthIndicator, - BIT4 cellIdentifierDiscriminator, - BIT4 spare1_4, // '0000'B - BSSMAP_FIELD_CellIdentificationListEstablishment cellIdentificationListNotEstablishedCellsNoEstPossible -} with { variant "PRESENCE (elementIdentifier = '73'O)" - variant (lengthIndicator) - "LENGTHTO(cellIdentifierDiscriminator,spare1_4,cellIdentificationListNotEstablishedCellsNoEstPossible)"; - variant (cellIdentificationListNotEstablishedCellsNoEstPossible) "CROSSTAG( - cIl_CGI, cellIdentifierDiscriminator='0000'B; - cIl_LAC_CI, cellIdentifierDiscriminator='0001'B; - cIl_CI, cellIdentifierDiscriminator='0010'B; - cIl_LAI, cellIdentifierDiscriminator='0100'B; - cIl_LAC, cellIdentifierDiscriminator='0101'B; - cIl_allInBSS, cellIdentifierDiscriminator='0110'B; - cIl_MCC_MNC, cellIdentifierDiscriminator='0111'B;)"} - - -// Priority - 48.008 subclause 3.2.2.18 -type record BSSMAP_IE_Priority -{ - OCT1 elementIdentifier, //'06'O - INT1 lengthIndicator, //'01'O - BIT1 pvi, // '0'B connection canNOT be preempted by other allocation - // '1'B connection might be preempted by other allocation - BIT1 qa, // '0'B queuing not allowed - '1'B queuing allowed - BIT4 priorityLevel, // '0000'B spare - // '0001'B priority 1 level (highest) - // '1110'B priority 14 level (lowest) - // '1111'B priority used not - BIT1 pci, // '0'B allocation canNOT preempt connection other - // '1'B allocation might preempt other connection - BIT1 spare1_1 // '0'B -} with { variant "PRESENCE (elementIdentifier = '06'O)" - variant(lengthIndicator) "LENGTHTO(pvi,qa,priorityLevel,pci,spare1_1)" } - - -// Classmark Information Type 2 - 48.008 subclause 3.2.2.19 -type record BSSMAP_IE_ClassmarkInformationType2 -{ - OCT1 elementIdentifier, //'12'O - INT1 lengthIndicator, // '02'O or '03'O - BIT3 rf_PowerCapability, // '000'B class1 (for GSM+DCS+PCS) - // '001'B class2 (for GSM+DCS+PCS) - // '010'B class3 (for GSM+DCS+PCS) - // '011'class4 B (only for GSM) - // '100'class5 B (only for GSM) - BIT1 a5_1, //encryption algorithm A5/1 available ('1'B) or not ('0'B) - BIT1 esind,//controlled early classmark sending implemented ('1'B) or not ('0'B) - BIT2 revisionLevel, // '00'B reserved for phase1 (GSM+DCS) - // '00'B reserved (PCS) - // '01'B used by phase2 MSs (GSM+DCS) - // '01'B used by PCS1900 MSs phase1 (PCS) - BIT1 spare1_1, // '0'B - BIT1 fc, // MS' support of E/R_GSM ('1'B) or not ('0'B) - BIT1 vgcs, // VGCS capability or notification wanted ('1'B) or not ('0'B) - BIT1 vbs, // VBS capability or notification wanted ('1'B) or not ('0'B) - BIT1 sm_Capability, // SM capbility present ('1'B) or not ('0'B) - BIT2 ss_ScreenIndicator, // '00'B default value of phase1 (GSM+DCS) - // '00'reserved B (PCS) - // '01'B capability of notation ellipsis - // '10'B for future use - // '11'B for use future - BIT1 ps_Capability, // ignored, if received - BIT1 spare2_1, // '0'B - BSSMAP_FIELD_ClassmarkInformationType2_oct5 classmarkInformationType2_oct5 -} with { variant "PRESENCE (elementIdentifier = '12'O)"; - variant (lengthIndicator) "LENGTHTO (rf_PowerCapability, a5_1, - esind, revisionLevel, spare1_1, fc, vgcs, vbs, sm_Capability, - ss_ScreenIndicator, ps_Capability, spare2_1, - classmarkInformationType2_oct5)" } - -// Helper type for BSSMAP Applib -type record BSSMAP_IE_ClassmarkInformationType2_V -{ - BIT3 rf_PowerCapability, // '000'B class1 (for GSM+DCS+PCS) - // '001'B class2 (for GSM+DCS+PCS) - // '010'B class3 (for GSM+DCS+PCS) - // '011'class4 B (only for GSM) - // '100'class5 B (only for GSM) - BIT1 a5_1, //encryption algorithm A5/1 available ('1'B) or not ('0'B) - BIT1 esind,//controlled early classmark sending implemented ('1'B) or not ('0'B) - BIT2 revisionLevel, // '00'B reserved for phase1 (GSM+DCS) - // '00'B reserved (PCS) - // '01'B used by phase2 MSs (GSM+DCS) - // '01'B used by PCS1900 MSs phase1 (PCS) - BIT1 spare1_1, // '0'B - BIT1 fc, // MS' support of E/R_GSM ('1'B) or not ('0'B) - BIT1 vgcs, // VGCS capability or notification wanted ('1'B) or not ('0'B) - BIT1 vbs, // VBS capability or notification wanted ('1'B) or not ('0'B) - BIT1 sm_Capability, // SM capbility present ('1'B) or not ('0'B) - BIT2 ss_ScreenIndicator, // '00'B default value of phase1 (GSM+DCS) - // '00'reserved B (PCS) - // '01'B capability of notation ellipsis - // '10'B for future use - // '11'B for use future - BIT1 ps_Capability, // ignored, if received - BIT1 spare2_1, // '0'B - BSSMAP_FIELD_ClassmarkInformationType2_oct5 classmarkInformationType2_oct5 -} - -type record BSSMAP_FIELD_ClassmarkInformationType2_oct5 -{ - BIT1 a5_2,//encryption algorithm A5/2 available ('0'B) or not ('1'B) - BIT1 a5_3,//encryption algorithm A5/3 available ('0'B) or not ('1'B) - BIT1 cmsp,//"Network initiated MO CM connectionrequest" not supported ('0'B) - //or supported for at least one CM protocol ('1'B) - BIT1 solsa,// The ME support SoLSA ('1'B) or not ('0'B) - BIT1 ucs2, // '0'B ME has a preference for the default alphabet over UCS2 - // '1'B ME has no preference between the use of the default - // alphabet and the use of UCS2 - BIT1 lcsvacap, // LCS value added location request notification capability - // supported ('1'B) or not ('0'B) - BIT1 spare,// '0'B - BIT1 cm3 // '0'B Any additional capability info ('1'B) or not ('0'B) -} - - -// Classmark Information Type 3 - 48.008 subclause 3.2.2.20 -type record BSSMAP_IE_ClassmarkInformationType3 -{ - OCT1 elementIdentifier, //'13'O - INT1 lengthIndicator, // '01'O .. '0C'O - OCT1_32 classmark3ValuePart -} with { variant "PRESENCE (elementIdentifier = '13'O)" - variant (lengthIndicator) "LENGTHTO (classmark3ValuePart)"} - - -// Interference Band To Be Used - 48.008 subclause 3.2.2.21 -type record BSSMAP_IE_InterferenceBandToBeUsed -{ - OCT1 elementIdentifier, // '14'O - BIT5 band, - BIT3 spare -} with { variant "PRESENCE (elementIdentifier = '14'O)" } - - -// RR Cause - 48.008 subclause 3.2.2.22 -type record BSSMAP_IE_RR_Cause -{ - OCT1 elementIdentifier, // '15'O - OCT1 rr_Cause -} with { variant "PRESENCE (elementIdentifier = '15'O)" } - - -// LSA Information - 48.008 subclause 3.2.2.23 -type record BSSMAP_IE_LSAInformation -{ - OCT1 elementIdentifier, //'3D'O - INT1 lengthIndicator, - BIT1 lSAonly, - BIT7 spare, - BSSMAP_FIELD_LSAIdAttrib_List lSAIdAttrib_List -} with { variant "PRESENCE (elementIdentifier = '3D'O)" - variant (lengthIndicator) "LENGTHTO (lSAonly,spare,lSAIdAttrib_List)" } - -type record BSSMAP_FIELD_LSAIdAttrib -{ - BIT4 priority, - BIT1 pref, - BIT1 act, - BIT2 spare -} - -type record of BSSMAP_FIELD_LSAIdAttrib BSSMAP_FIELD_LSAIdAttrib_List - - -// Layer 3 Information - 48.008 subclause 3.2.2.24 -type record BSSMAP_IE_Layer3Information -{ - OCT1 elementIdentifier, // '17'O - INT1 lengthIndicator, - octetstring layer3info -} with { variant "PRESENCE (elementIdentifier = '17'O)" - variant (lengthIndicator) "LENGTHTO (layer3info)"} - -// DLCI - 48.008 subclause 3.2.2.25 (48006 v8.0.0 section 9.3.2) -type record BSSMAP_IE_DLCI -{ - OCT1 elementIdentifier, // '18'O - BIT3 sapiValue, // '011'O Short Message Signalling Service - BIT3 spare, - BIT1 c1, - BIT1 c2 -} - - -// Downlink DTX Flag - 48.008 subclause 3.2.2.26 -type record BSSMAP_IE_DownLinkDTXFlag -{ - OCT1 elementIdentifier, // '19'O - BIT1 dtx, // DTX is disabled ('0'B) or enabled ('1'B) to downlink - BIT7 spare1_7 // '0000000'B -} with { variant "PRESENCE (elementIdentifier = '19'O)" } - - -// Cell Identifier List - 48.008 subclause 3.2.2.27 -// See above under Cell Identifier - - -// Response Request - 48.008 subclause 3.2.2.28 -type record BSSMAP_IE_ResponseRequest -{ - OCT1 elementIdentifier // '1B'O -} with { variant "PRESENCE (elementIdentifier = '1B'O)" } - - -// Resource Indication Method - 48.008 subclause 3.2.2.29 -type record BSSMAP_IE_ResourceIndMethod -{ - OCT1 elementIdentifier, // '1C'O - BIT4 resourceIndMethod, - BIT4 spare -} - - -// Classmark Information Type 1 - 48.008 subclause 3.2.2.30 -type record BSSMAP_IE_ClassmarkInformationType1 -{ - OCT1 elementIdentifier, // '1D'O - BIT3 rf_PowerCapability, // '000'B class1 (for GSM+DCS+PCS) - // '001'B class2 (for GSM+DCS+PCS) - // '010'B class3 (for GSM+DCS+PCS) - // '011'class4 B (only for GSM) - // '100'class5 B (only for GSM) - BIT1 a5_1, //encryption algorithm A5/1 available ('1'B) or not ('0'B) - BIT1 esind, //controlled early classmark sending implemented (1) or not (0) - BIT2 revisionLevel, - BIT1 spare1_1 // '0'B -} with { variant "PRESENCE(elementIdentifier = '1D'O)" } - -// Circuit Identity Code List - 48.008 subclause 3.2.2.31 -type record BSSMAP_IE_CircuitIdentityCodeList -{ - OCT1 elementIdentifier, // '1E'O - INT1 lengthIndicator, - OCT1 range, // A number in binary representation ranging from 2 to 255 - OCTN status // status data of lengthIndicator 1_32 -} with { variant "PRESENCE(elementIdentifier = '1E'O)" - variant (lengthIndicator) "LENGTHTO (range, status)" } ; - - -// Diagnostics - 48.008 subclause 3.2.2.32 -type record BSSMAP_IE_Diagnostics -{ - OCT1 elementIdentifier, // '1F'O - INT1 lengthIndicator, - OCT1 errorLocation, // First octet of Error pointer - BIT4 bitPointer, - BIT4 spare, - OCTN messageReceived // The errorneous message -} with {variant (lengthIndicator) - "LENGTHTO (errorLocation, bitPointer, spare, messageReceived)" } ; - - -// Chosen Channel - 48.008 subclause 3.2.2.33 -type record BSSMAP_IE_ChosenChannel -{ - OCT1 elementIdentifier, // '21'O - BIT4 channel, - BIT4 channelMode -} with { variant "PRESENCE (elementIdentifier = '21'O)" } - - -// Cipher Response Mode - 48.008 subclause 3.2.2.34 -type record BSSMAP_IE_CipherResponseMode -{ - OCT1 elementIdentifier, // '23'O - BIT1 cipherResponseModeInfo,//IMEISV must be included by MS ('0') or not (1) - BIT7 spare1_7 // '0000000'B -} with { variant "PRESENCE (elementIdentifier = '23'O)" } - - -// Layer 3 Message contents - 48.008 subclause 3.2.2.35 -type record BSSMAP_IE_Layer3MessageContents -{ - OCT1 elementIdentifier, // '20'O - INT1 lengthIndicator, - octetstring layer3MsgConents -} with { variant "PRESENCE (elementIdentifier = '20'O)" - variant (lengthIndicator) "LENGTHTO (layer3MsgConents)"} - - -// Channel Needed - 48.008 subclause 3.2.2.36 -type record BSSMAP_IE_ChannelNeeded -{ - OCT1 elementIdentifier, // '24'O - BIT2 channel, //00:any, 01:SDCCH, 10:Full TCH, 11:Dual TCH - BIT6 spare -} with { variant "PRESENCE (elementIdentifier = '24'O)" } - - -// Trace Type - 48.008 subclause 3.2.2.37 -type record BSSMAP_IE_TraceType -{ - OCT1 elementIdentifier, // '25'O - BIT2 e,// Event Invoking - // '00'B: Mobile Originated Call, Mobile Call Terminated, - // Short Message Service Mobile Originated, Short - // Message Service Mobile Terminated, Independent Call - // Supplementary Services, Updates Location, - // IMSI attach, detach IMSI - // '01'B: Mobile Originated Call, Mobile Call Terminated, - // Short Message Service Mobile Originated, Short - // Message Service Mobile Terminated, Independent Call - // Supplementary Services only - // '10'B: Location Updates, IMSI attach, IMSI only detach - // '11'B: Operator definable - BIT2 d,// MSC Type Record - // '00'B: Basic - // '01'B: Detailed (Optional) - // '00'B: Spare - // '00'B: No Trace MSC - BIT2 c,// BSS Type Record - // '00'B: Basic - // '01'B: Handover - // '00'B: Radio - // '00'B: No Trace BSS - BIT1 b,// For expansion future - // Set to '0'B - BIT1 a // Priority Indication - // '0'B: Priority No - // '1'B: Priority -} - - -// Trigger ID - 48.008 subclause 3.2.2.38 -type record BSSMAP_IE_TriggerId -{ - OCT1 elementIdentifier, //'26'O - INT1 lengthIndicator, - octetstring entityIdentity length(1..20) -} with { variant "PRESENCE (elementIdentifier = '26'O)" - variant (lengthIndicator) "LENGTHTO (entityIdentity)" } - - -// Trace Reference - 48.008 subclause 3.2.2.39 -type record BSSMAP_IE_TraceReference -{ - OCT1 elementIdentifier, // '27'O - OCT1 msb_TraceReference, // the most significant bit of trace reference - OCT1 lsb_TraceReference // the least significant bit of trace reference -} with { variant "PRESENCE (elementIdentifier = '27'O)" } - - -// Transaction ID - 48.008 subclause 3.2.2.40 -type record BSSMAP_IE_TransactionId -{ - OCT1 elementIdentifier, //'28'O - INT1 lengthIndicator, - octetstring transactionNumber length(1..2) -} with { variant "PRESENCE (elementIdentifier = '28'O)" - variant (lengthIndicator) "LENGTHTO (transactionNumber)" } - - -// Mobil Identity - 48.008 subclause 3.2.2.41 -type record BSSMAP_IE_MobileIdentity -{ - OCT1 elementIdentifier, // '29'O - INT1 lengthIndicator, - BIT3 typeOfIdentity, - BIT1 oddEvenIndicator, // '0'B even / 1'B odd number of identity digits - HEX5_16 digits // if nr of digits is even, the last digit: '1111'B -} with { variant "PRESENCE (elementIdentifier = '29'O)" - variant (lengthIndicator) - "LENGTHTO (typeOfIdentity,oddEvenIndicator,digits)"; - variant "PADDING(yes),PADDING_PATTERN('1'B)"} - - -// OMCID - 48.008 subclause 3.2.2.42 -type record BSSMAP_IE_OMCId -{ - OCT1 elementIdentifier, // '2A'O - INT1 lengthIndicator, - BIT4 numberingPlanind, // '0000'B unknown - // '0001'B ISDN/Telephony Numbering Plan (Rec CCITT E.164) - // '0011'B data numbering plan (CCITT Rec X.121) - // '0100'B telex numbering plan (CCITT Rec F.69) - // '0110'B land mobile numbering plan (CCITT Rec E.212) - // '1000'B national numbering plan - // '1001'B private numbering plan - // All other values are reserved - BIT3 natureOfAddress, // '000'B unknown - // '001'B international number - // '010'B national significant number - // '011'B network specific number - // '100'B subscriber number - // '110'B abbreviated number - // All other values are reserved - BIT1 ext, - OCTN digits// The digits are encoded TBCD (digit 0000 _ 1001 (0_9), - // 1010 = '*', 1011 = '#', 1100 = 'A', 1101 = 'B', 1110 = 'C'). - // If the number of identity digits is odd bits then bit 5-8 - // of the last octet is filled with '1111' -} with { variant "PRESENCE (elementIdentifier = '2A'O)" - variant (lengthIndicator) "LENGTHTO (numberingPlanind, natureOfAddress, - ext, digits)"} - - -// Forward Indicator - 48.008 subclause 3.2.2.43 -type record BSSMAP_IE_ForwardIndicator -{ - OCT1 elementIdentifier, //'2B'O - BIT4 forwardIndicator, - BIT4 spare -} with { variant "PRESENCE (elementIdentifier = '2B'O)" } - - -// Choosen Encryption Algorithm - 48.008 subclause 3.2.2.44 -type record BSSMAP_IE_ChosenEncryptionAlgorithm -{ - OCT1 elementIdentifier, // '2C'O - OCT1 algorithmIdentifier // '00000001'B no encryption - // '00000010'B A5/1 - // '00000011'B A5/2 - // '00000100'B A5/3 - // '00000101'B A5/4 - // '00000110'B A5/5 - // '00000111'B A5/6 - // '00001000'B A5/7 -} with { variant "PRESENCE (elementIdentifier = '2C'O)" } - - -// Circuit Pool - 48.008 subclause 3.2.2.45 -type record BSSMAP_IE_CircuitPool -{ - OCT1 elementIdentifier, // '2D'O - OCT1 circuitPoolNumber -} with { variant "PRESENCE (elementIdentifier = '2D'O)" } - - -// Circuit Pool List - 48.008 subclause 3.2.2.46 -type record BSSMAP_IE_CircuitPoolList -{ - OCT1 elementIdentifier, // '2E'O - INT1 lengthIndicator, - octetstring circuitPoolNumber -} with { variant "PRESENCE (elementIdentifier = '2E'O)" - variant (lengthIndicator) "LENGTHTO (circuitPoolNumber)" } ; - - -// Time Indication - 48.008 subclause 3.2.2.47 -type record BSSMAP_IE_TimeIndication -{ - OCT1 elementIdentifier, // '2F'O - OCT1 time -} - - -// Resource Situation - 48.008 subclause 3.2.2.48 -type record BSSMAP_IE_ResourceSituation -{ - OCT1 elementIdentifier, // '30'O - INT1 lengthIndicator, - BSSMAP_FIELD_ResourceList resourceList -} with {variant "PRESENCE (elementIdentifier = '30'O)" - variant (lengthIndicator) "LENGTHTO (resourceList)" } - -type record of BSSMAP_FIELD_Resource -BSSMAP_FIELD_ResourceList - -type record BSSMAP_FIELD_Resource -{ - BIT4 channelType, - BIT4 resourceAndBandInd, - OCT1 nrOfChannels, - OCT1 nrOfChannels7_15 optional -} with {variant (nrOfChannels) "EXTENSION_BIT(reverse)"} - - -// Current Channel Type 1 - 48.008 subclause 3.2.2.49 -type record BSSMAP_IE_CurrentChannelType1 -{ - OCT1 elementIdentifier, // '31'O - BIT4 channel, - BIT4 channelMode -} with { variant "PRESENCE (elementIdentifier = '31'O)" } - -// Queueing Indicator - 48.008 subclause 3.2.2.50 -type record BSSMAP_IE_QueueingIndicator -{ - OCT1 elementIdentifier, //'32'O - BIT1 spare1, // '0'B - BIT1 qri, // It is recommended to allow queueing ('1'B) or not ('0'B) - BIT6 spare2 // '000000'B -} with { variant "PRESENCE (elementIdentifier = '32'O)" } - -// Speech Version - 48.008 subclause 3.2.2.51 -type record BSSMAP_IE_SpeechVersion -{ - OCT1 elementIdentifier, // '40'O - BIT7 speechVersionIdentifier,//'0000001'B speech full rate version 1 (H'01) - //'0010001'B speech full rate version 2 (H'11) - //'0100001'B speech full rate version 3 (H'21) - //'0000101'B speech half rate version 1 (H'05) - //'0010101'B speech half rate version 2 (H'15) - //'0100101'B speech half rate version 3 (H'25) - BIT1 spare1_1 // '0'B -} with { variant "PRESENCE (elementIdentifier = '40'O)" } - - -// Assignment Requirement - 48.008 subclause 3.2.2.52 -type record BSSMAP_IE_AssignmentRequirement -{ - OCT1 elementIdentifier, // '33'O - OCT1 assignmentRequirement -} with { variant "PRESENCE (elementIdentifier = '33'O)" } - - -// Talker Flag - 48.008 subclause 3.2.2.54 -type record BSSMAP_IE_TalkerFlag -{ - OCT1 elementIdentifier // '35'O -} with { variant "PRESENCE (elementIdentifier = '35'O)" } - - -// Group Call Reference - 48.008 subclause 3.2.2.55 -type record BSSMAP_IE_GroupCallReference -{ - OCT1 elementIdentifier, // '37'O - INT1 lengthIndicator, // 1..6 - octetstring descrGroupbroadcastCallRef length(1..5) // never sent by MSC, ignored if received -} with { variant "PRESENCE (elementIdentifier = '37'O)" - variant (lengthIndicator) "LENGTHTO (descrGroupbroadcastCallRef)" } - - -// EMLPP Priority - 48.008 subclause 3.2.2.56 -type record BSSMAP_IE_EMLPP_Priority -{ - OCT1 elementIdentifier,// '38'O - BIT3 callPriority, // '000'B no priority applied - // '001'B call priority level 4 - // '010'B call priority 3 level - // '011'B call priority level 2 - // '100'B call priority 1 level - // '101'B call priority level 0 - // '110'B call priority B level - // '111'B call priority level A - BIT5 spare1_5 // '00000'B -} with { variant "PRESENCE (elementIdentifier = '38'O)" } - - -// Configuration Evolution Indicator - 48.008 subclause 3.2.2.57 -type record BSSMAP_IE_ConfigurationEvolutionIndication -{ - OCT1 elementIdentifier,// H'39 - BIT4 smi, // '0000'B no modification is allowed - // '0001'B modification allowed <= 1 TCH/F - // '0010'B modification allowed <= 2 TCH/F - // '0011'B modification allowed <= 3 TCH/F - // '0100'B modification allowed <= 4 TCH/F - BIT4 spare1_4 // '0000'B -} with { variant "PRESENCE (elementIdentifier = '39'O)" } - - -// Old BSS to New BSS Information - 48.008 subclause 3.2.2.58 -type record BSSMAP_IE_OldToNewBSSInfo -{ - OCT1 elementIdentifier, //'3A'O - INT1 lengthIndicator, - octetstring oldToNewBSSIEs -} with { variant "PRESENCE (elementIdentifier = '3A'O)" - variant (lengthIndicator) "LENGTHTO (oldToNewBSSIEs)" } - - -// LCS QOS - 48.008 subclause 3.2.2.60 (and 49.031 10.16) -type record BSSMAP_IE_LCSQOS { - OCT1 elementIdentifier, // '3E'O - INT1 lengthIndicator, - BIT1 vCI, //Vertical Coordinate Indicator: VC requested ('1'B) or not ('0'B) - BIT1 vEL, // report velocity if available (1) or not(0) - BIT6 spare_1_6, // '0000000'B - BIT7 horizontalAccuracy, // Accuracy Horizontal (HA) - BIT1 hAI, // Horizontal Accuracy Indicator HA is specified (1) or not (0) - BIT7 verticalAccuracy, // Accuracy Vertical (VA) - BIT1 vAI, // Vertical Accuracy Indicator VA is specified (1) or not (0) - BIT6 spare_2_6, // '000000'B - BIT2 rTC // '00'B Response Time is not specified - // '01'B delay Low - // '10'B Delay tolerant - // '11'B Reserved -} with { variant "PRESENCE (elementIdentifier = '3E'O)" - variant (lengthIndicator) "LENGTHTO (vCI, vEL, spare_1_6, horizontalAccuracy, - hAI, verticalAccuracy, vAI, spare_2_6, rTC)"} - - -// LSA Access Control Suppression - 48.008 subclause 3.2.2.61 -type record BSSMAP_IE_LSAAccessControlSuppression -{ - OCT1 elementIdentifier, //'3F'O - BIT1 em, // in emergency calls em = '1'B - BIT7 spare // '0000000'B -} with { variant "PRESENCE (elementIdentifier = '3F'O)" } - - -// LCS Priority - 48.008 subclause 3.2.2.62 -type record BSSMAP_IE_LCSPriority -{ - OCT1 elementIdentifier,// '43'O - INT1 lengthIndicator, - OCT1 priority // see "another FS" TS 29.002 for more detail -} with { variant "PRESENCE (elementIdentifier = '43'O)" - variant (lengthIndicator) "LENGTHTO (priority)"} - - -// Location Type - 48.008 subclause 3.2.2.63 -type record BSSMAP_IE_LocationType -{ - OCT1 elementIdentifier, // '44'O - INT1 lengthIndicator, // 1 or 2 - OCT1 locationInformation,// '00000000'B current location geographic - // '00000001'B loc assistance info for target MS - // '00000010'B deciphering keys for broadcast - // assistance data for MS target - // all other values are reserved - OCT1 positioningMethod optional - // '00000000'B reserved - // '00000001'B Mobile E_OTD Assisted - // '00000010'B Mobile Based E_OTD - // '00000011'B GPS Assisted - // all other values are reserved -} with {variant (lengthIndicator) "LENGTHTO (locationInformation, positioningMethod)"} - - -// Location Estimate - 48.008 subclause 3.2.2.64 -type record BSSMAP_IE_LocationEstimate -{ - OCT1 elementIdentifier, // '45'O - INT1 lengthIndicator, // 1_22 on A_interface, 1_93 E_interface on - OCTN geographicLocation -} with { variant "PRESENCE (elementIdentifier = '45'O)" - variant (lengthIndicator) "LENGTHTO (geographicLocation)"} - - -// Positioning Data - 48.008 subclause 3.2.2.65 -type record BSSMAP_IE_PositioningData -{ - OCT1 elementIdentifier, // '46'O - INT1 lengthIndicator, // 2_11 - BIT4 positioningDataDescriminator, // '0000'B indicates usage of each - // positioning data method, - // that was attempted - // all other values reserved are - BIT4 spare_1_4, // '0000'B - BSSMAP_FIELD_PositioningMethods positioningMethod // of lengthIndicator 1_10 -} with { variant "PRESENCE (elementIdentifier = '46'O)" - variant (lengthIndicator) "LENGTHTO (positioningDataDescriminator, spare_1_4,positioningMethod)"} - -type record BSSMAP_FIELD_PositioningMethod -{ - BIT3 usage, // '000'B unsuccesful attempt due to failure or interruption - // '001'B succesful attempt, results not used to generate location - // '010'B succesful attempt, results used to verify but not generate location - // '011'B succesful attempt, results used to generate location - // '100'B succesful attempt, MS supports multiple based positioning methods - BIT5 positioningMethod // '00000'B Timing Advance - // '00001'B TOA - // '00010'B AOA - // '00011'B Mobile EOTD Assisted - // '00100'B Mobile Based E_OTD - // '00101'B Mobile GPS Assisted - // '00110'B Mobile Based GPS - // '00111'B GPS Conventional - // '01000'B _ '01111'B reserved for GSM - // '10000'B _ '11111'B reserved for network - // specific positioning methods -} - -type record of BSSMAP_FIELD_PositioningMethod BSSMAP_FIELD_PositioningMethods - - -// LCS Cause - 48.008 subclause 3.2.2.66 -type record BSSMAP_IE_LCSCause -{ - OCT1 elementIdentifier, // '47'O - INT1 lengthIndicator, // 1 (_> diagnosticValue invalid) 2 or - BIT8 causeValue, // '00000000'BUnspecified - // '00000001'B System Failure - // '00000010'B Error Protocol - // '00000011'B Data missing in position request - // '00000100'B unexpected data value in request position - // '00000101'B Position method failure - // '00000110'B Target unreachable MS - // '00000111'B Location request aborted - // '00001000'B Facility supported not - // '00001001'B intra_BSC_HO ongoing - // '00001010'B complete intra_BSC_HO - // '00001011'B congestion - // all other values reserved are - OCT1 diagnosticValue optional -} with { variant "PRESENCE (elementIdentifier = '47'O)" - variant (lengthIndicator) "LENGTHTO (causeValue, diagnosticValue)"} - - -// LCS Client Type - 48.008 subclause 3.2.2.67 -type record BSSMAP_IE_LCSClientType -{ - OCT1 elementIdentifier, // '48'O - INT1 lengthIndicator, // 1 - BIT4 subtype, // all values unspecified/reserved except for: - // category = PLMN Operator: - // '0000'B Unspecified - // '0001'B Boradcast Service - // '0010'B O&M - // '0011'B Statistics Anonymous - // '0100'B Target MS Service Support - // all other values reserved are - BIT4 category // '0000'B Value added client - // '0010'B Operator PLMN - // '0011'B Emergency Services - // '0100'B Lawful Services Intercept - // all other values are reserved -} with { variant "PRESENCE (elementIdentifier = '48'O)" - variant (lengthIndicator) "LENGTHTO (subtype, category)"} - - -// APDU - 48.008 subclause 3.2.2.68 (and 49.031 v5.3.0) -type record BSSMAP_IE_APDU -{ - OCT1 elementIdentifier, //'49'O - LIN2_BO_LAST lengthIndicator, - BIT7 protocolID optional, // '0000000'reserved B - // '0000001'BSSLAP B (the only currently supported) - // '0000010'LLP B - // '0000011'B SMLCPP - BIT1 spare_1_1 optional, // '0'B - octetstring embeddedMessage optional // of length: 5_25 -} with { variant "PRESENCE (elementIdentifier = '49'O)" - variant (lengthIndicator) - "LENGTHTO (protocolID,spare_1_1,embeddedMessage)"} - - -// Network Element Identity - 48.008 subclause 3.2.2.69 -type record BSSMAP_IE_NetworkElementIdentity -{ - OCT1 elementIdentifier, //'4A'O - INT1 lengthIndicator, - BIT4 iDDiscriminator, - BIT4 spare, - OCTN networkElementIdentity // Network Element Identity -} with {variant (lengthIndicator) - "LENGTHTO (iDDiscriminator,spare,networkElementIdentity)"} - - -// GPS Assistant Data - 48.008 subclause 3.2.2.70 -type record BSSMAP_IE_GPSAssistanceData -{ - OCT1 elementIdentifier, //'4B'O - INT1 lengthIndicator, // 1_38 - OCT1 a_to_h, - OCT1 i_to_p, - OCTN satellite_related_data // Satellite related data -} with { variant "PRESENCE (elementIdentifier = '4B'O)" - variant (lengthIndicator) "LENGTHTO (satellite_related_data,a_to_h,i_to_p)"} - - -// Deciphering Key - 48.008 subclause 3.2.2.71 -type record BSSMAP_IE_DecipheringKeys -{ - OCT1 elementIdentifier, // '4C'O - INT1 lengthIndicator, // 1, 8, 15 - BIT8 cipheringKeyFlag, // current ciphering key is used (1) or not (0) - BIT56 currentdecipheringKeyValue, - BIT56 nextdecipheringKeyValue optional -} with { variant "PRESENCE (elementIdentifier = '4C'O)" - variant (lengthIndicator) "LENGTHTO (cipheringKeyFlag, - currentdecipheringKeyValue, nextdecipheringKeyValue)"} - - -// Return Error Request - 48.008 subclause 3.2.2.72 -type record BSSMAP_IE_ReturnErrorRequest -{ - OCT1 elementIdentifier, //'4D'O - INT1 lengthIndicator, - OCT1 returnErrorType // Return Error Request -} with { variant "PRESENCE (elementIdentifier = '4D'O)" - variant (lengthIndicator) "LENGTHTO (returnErrorType)"} - - -// Return Error Cause - 48.008 subclause 3.2.2.73 -type record BSSMAP_IE_ReturnErrorCause -{ - OCT1 elementIdentifier, //'4E'O - INT1 lengthIndicator, - OCT1 returnErrorCause // Return Error Cause -} with { variant "PRESENCE (elementIdentifier = '4E'O)" - variant (lengthIndicator) "LENGTHTO (returnErrorCause)"} - - -// Segmentation - 48.008 subclause 3.2.2.74 -type record BSSMAP_IE_Segmentation -{ - OCT1 elementIdentifier, //'4F'O - INT1 lengthIndicator, - BIT4 segmentationNumber, - BIT1 segmentationBit, - BIT3 spare, - OCT2 messageID optional -} with { variant "PRESENCE (elementIdentifier = '4F'O)" - variant (lengthIndicator) - "LENGTHTO (segmentationNumber,segmentationBit,spare,messageID)"} - - -// Service Handover - 48.008 subclause 3.2.2.75 -type record BSSMAP_IE_ServiceHandover -{ - OCT1 elementIdentifier, //'50'O - INT1 lengthIndicator, - BIT3 serviceHandoverInfo, - BIT5 spare -} with { variant "PRESENCE (elementIdentifier = '50'O)" - variant (lengthIndicator) "LENGTHTO (serviceHandoverInfo,spare)" } - - -//Source RNC to Target RNC transparent information -48.008 subclause 3.2.2.76-77 -type record BSSMAP_IE_SourceToTargetRNCTransparentInfo -{ - OCT1 elementIdentifier, //'51'O or '52'O - INT1 lengthIndicator, - octetstring informationcontainer -} with { variant (lengthIndicator) "LENGTHTO (informationcontainer)" } - - -// GERAN Classmark - 48.008 subclause 3.2.2.78 -type record BSSMAP_IE_GERANClassmark -{ - OCT1 elementIdentifier, //'53'O - INT1 lengthIndicator, - OCTN GERANClassmark -} with { variant "PRESENCE (elementIdentifier = '53'O)" - variant (lengthIndicator) "LENGTHTO (GERANClassmark)" } - - -// GERAN BSC Container - 48.008 subclause 3.2.2.79 -type record BSSMAP_IE_GERANBSCContainer -{ - OCT1 elementIdentifier, //'54'O - INT1 lengthIndicator, - OCT1 codecType, - BIT3 maxNrofTCH, - BIT5 allowedRadioIFRates -} with {variant (lengthIndicator) - "LENGTHTO (codecType, maxNrofTCH, allowedRadioIFRates)" } - - -// New BSS to Old BSS Information - 48.008 subclause 3.2.2.80 -type record BSSMAP_IE_NewBSSToOldBSSInfo -{ - OCT1 elementIdentifier, //'61'O - INT1 lengthIndicator, - OCTN newBSSToOldBSSIE optional -} with { variant "PRESENCE (elementIdentifier = '61'O)" - variant (lengthIndicator) "LENGTHTO (newBSSToOldBSSIE)" } - - -// Inter-System Information - 48.008 subclause 3.2.2.81 -type record BSSMAP_IE_InterSystemInfo -{ - OCT1 elementIdentifier, //'63'O - INT1 lengthIndicator, - OCTN interSystemInfoTranspCont -} with { variant "PRESENCE (elementIdentifier = '63'O)" - variant (lengthIndicator) "LENGTHTO (interSystemInfoTranspCont)" } - - -// SNA Access Information - 48.008 subclause 3.2.2.82 -type record BSSMAP_IE_SNAAccessInfo -{ - OCT1 elementIdentifier, //'64'O - INT1 lengthIndicator, - AuthorisedPLMN_List sNAAccessInfo -} with { variant "PRESENCE (elementIdentifier = '64'O)" - variant (lengthIndicator) "LENGTHTO (sNAAccessInfo)" } - -type record of AuthorisedPLMN AuthorisedPLMN_List; - -type record AuthorisedPLMN -{ - INT1 lengthIndicator, - OCT3 mcc_mnc, - RecordOfOCT2 authorisedSNA optional -} with { variant (lengthIndicator) "LENGTHTO (mcc_mnc,authorisedSNA)" } - - -// 3.2.2.83 VSTK_RAND Information -type record BSSMAP_IE_VSTK_RAND -{ - OCT1 elementIdentifier, // '65' - INT1 lengthIndicator, - OCT1 VSTK_RAND_1, - OCT2 VSTK_RAND_2, - OCT3 VSTK_RAND_3, - OCT4 VSTK_RAND_4, - BIT4 spare, - BIT4 VSTK_RAND_5 -} with { variant "PRESENCE (elementIdentifier = '65'O)" - variant (lengthIndicator) - "LENGTHTO (VSTK_RAND_1, VSTK_RAND_2, VSTK_RAND_3, VSTK_RAND_4, spare, VSTK_RAND_5)"} - - -// 3.2.2.84 VSTK information -type record BSSMAP_IE_VSTK -{ - OCT1 elementIdentifier, // '66' - INT1 lengthIndicator, - OCT16 VSTK -} with { variant "PRESENCE (elementIdentifier = '66'O)" - variant (lengthIndicator) "LENGTHTO (VSTK)"} - - -// 3.2.2.85 Paging Information -type record BSSMAP_IE_PagingInformation -{ - OCT1 elementIdentifier, // '67' - INT1 lengthIndicator, - BIT1 VGCS_or_VBS, // 0: not a member of any VGCS/VBS-group - BIT2 pagingCause, - BIT5 spare -} with { variant "PRESENCE (elementIdentifier = '67'O)" - variant (lengthIndicator) - "LENGTHTO (VGCS_or_VBS, pagingCause, spare)"} - - -// 3.2.2.86 IMEI -type record BSSMAP_IE_IMEI -{ - OCT1 elementIdentifier, // '68' - INT1 lengthIndicator, - BIT3 typeOfIdentity, - BIT1 oddEvenIndicator, // '0'B even / 1'B odd number of identity digits - HEX5_16 digits // if nr of digits is even, the last digit: '1111'B -} with { variant "PRESENCE (elementIdentifier = '68'O)" - variant (lengthIndicator) - "LENGTHTO (typeOfIdentity,oddEvenIndicator,digits)"; - variant "PADDING(yes),PADDING_PATTERN('1'B)"} - - -// 3.2.2.87 Velocity Estimate -type record BSSMAP_IE_VelocityEstimate -{ - OCT1 elementIdentifier, // '55' - INT1 lengthIndicator, - OCTN velocityEstimate -} with { variant "PRESENCE (elementIdentifier = '55'O)" - variant (lengthIndicator) "LENGTHTO (velocityEstimate)"} - - -// 3.2.2.88 VGCS Feature Flags -type record BSSMAP_IE_VGCS_FeatureFlags -{ - OCT1 elementIdentifier, // '69' - INT1 lengthIndicator, - BIT1 TP_Ind, // 0: Talker Priority not supported; 1: Talker Priority supported - BIT2 AS_Ind, // least sig. bit: 0: No A-interface circuit sharing; 1: A-interface circuit sharing; - // most sig. bit: 0: No A-interface link sharing; 1: A-interface link sharing - BIT1 BSS_Res, // 0: No re-establishment of the group or broadcast call by the BSS; - // 1: Re-establishment of the group or broadcast call by the BSS - BIT1 tCP, - BIT3 spare -} with { variant "PRESENCE (elementIdentifier = '69'O)" - variant (lengthIndicator) - "LENGTHTO (TP_Ind, AS_Ind, BSS_Res, tCP, spare)"} - - -// Talker Priority - 48.008 subclause 3.2.2.89 -type record BSSMAP_IE_TalkerPriority -{ - OCT1 elementIdentifier, // '6A'O - BIT2 priority, - // 0 0 Normal Priority - // 0 1 Privileged Priority - // 1 0 Emergency Priority - // 1 1 reserved for future use - BIT6 spare // 1..9 -} with { variant "PRESENCE (elementIdentifier = '6A'O)" } - - -// 3.2.2.90 Emergency Set Indication -type record BSSMAP_IE_EmergencySetIndication -{ - OCT1 elementIdentifier // '6B' -} with { variant "PRESENCE (elementIdentifier = '6B'O)" } - - -// 3.2.2.91 Talker Identity -type record BSSMAP_IE_TalkerIdentity -{ - OCT1 elementIdentifier, // '6C' - INT1 lengthIndicator, - BIT3 fillerBits, - BIT5 spare, - OCT17 talkerIdentity -} with { variant "PRESENCE (elementIdentifier = '6C'O)" - variant (lengthIndicator) - "LENGTHTO (fillerBits, spare, talkerIdentity)"} - - -// 3.2.2.92 SMS to VGCS -type octetstring OCT248 length(0..248); - -type record BSSMAP_IE_SMS_to_VGCS -{ - OCT1 elementIdentifier, // '6E' - INT1 lengthIndicator, - OCT248 SMS -} with {variant (lengthIndicator) - "LENGTHTO (SMS)"} - - -// 3.2.2.93 VGCS talker mode -type record BSSMAP_IE_VGCS_TalkerMode -{ - OCT1 elementIdentifier, // '6F' - INT1 lengthIndicator, - BIT2 spare, - BIT4 groupCipherKeyNumber, - BIT2 RR_mode // 0 0: dedicated mode (i.e. dedicated channel) - // 0 1: group transmit mode (i.e. voice group channel) - // Other values are reserved for future use. -} with {variant (lengthIndicator) - "LENGTHTO (spare, groupCipherKeyNumber, RR_mode)"} - - -// 3.2.2.94 VGCS/VBS Cell Status -type record BSSMAP_IE_VGCS_VBS_CellStatus -{ - OCT1 elementIdentifier, // '70' - INT1 lengthIndicator, - BIT3 status, - BIT5 spare -} with { variant "PRESENCE (elementIdentifier = '70'O)" - variant (lengthIndicator) "LENGTHTO (status, spare)"} - - -// 3.2.2.95 GANSS Assistance Data -type record BSSMAP_IE_GANSS_AssistanceData -{ - OCT1 elementIdentifier, //'75' - INT1 lengthIndicator, - OCTN gANSS_AssistanceDataInfo // 49.031 Section 10.31 -} with { variant "PRESENCE (elementIdentifier = '75'O)" - variant (lengthIndicator) "LENGTHTO (gANSS_AssistanceDataInfo)"} - - -// 3.2.2.96 GANSS Positioning Data -type record BSSMAP_IE_GANSS_PositioningData -{ - OCT1 elementIdentifier, // '76' - INT1 lengthIndicator, - GANSS_PositioningData gANSS_PositioningDataInfo -} with { variant "PRESENCE (elementIdentifier = '76'O)" - variant (lengthIndicator) "LENGTHTO (gANSS_PositioningDataInfo)"} - -type record GANSS_PositioningData // 49.031 Section 10.32 -{ - BIT3 usage, - BIT3 gANSS_Id, - BIT2 method -} - - -// 3.2.2.97 GANSS Location Type -type record BSSMAP_IE_GANSS_LocationType -{ - OCT1 elementIdentifier, // '77' - INT1 lengthIndicator, - GANSS_LocationType gANSS_LocationTypeInfo -} with { variant "PRESENCE (elementIdentifier = '77'O)" - variant (lengthIndicator) "LENGTHTO (gANSS_LocationTypeInfo)"} - -type record GANSS_LocationType // 49.031 Section 10.33 -{ - BIT1 galileo, - BIT1 sBAS, - BIT1 modernizedGPS, - BIT1 qZSS, - BIT1 gLONASS, - BIT3 spare -} - - -// 3.2.2.98 Application data -type record BSSMAP_IE_ApplicationData -{ - OCT1 elementIdentifier, // '78' - INT1 lengthIndicator, - OCT9 applicationDataInfo // "implementation-specific" according to 44.018 v8.7.0 Section 10.5.2.72 -} with { variant "PRESENCE (elementIdentifier = '78'O)" - variant (lengthIndicator) "LENGTHTO (applicationDataInfo)"} - - -// 3.2.2.99 Data Identity -type record BSSMAP_IE_DataIdentity -{ - OCT1 elementIdentifier, // '79' - INT1 lengthIndicator, - DataIdentity dataIdentityInfo -} with { variant "PRESENCE (elementIdentifier = '79'O)" - variant (lengthIndicator) "LENGTHTO (dataIdentityInfo)"} - - -type record DataIdentity // 44.018 v8.7.0 Section 10.5.2.73 -{ - BIT1 aI, - BIT4 dI, - BIT3 dP -} - - -// 3.2.2.100 Application Data Information -type record BSSMAP_IE_ApplicationDataInformation -{ - OCT1 elementIdentifier, // 7A' - INT1 lengthIndicator, - BIT1 bT_Ind, - BIT7 spare -} with { variant "PRESENCE (elementIdentifier = '7A'O)" - variant (lengthIndicator) "LENGTHTO (bT_Ind, spare)"} - - -// 3.2.2.101 MSISDN -type record BSSMAP_IE_MSISDN -{ - OCT1 elementIdentifier, // '7B' - INT1 lengthIndicator, - octetstring msisdn -} with { variant "PRESENCE (elementIdentifier = '7B'O)" - variant (lengthIndicator) "LENGTHTO (msisdn)"} - - -// 3.2.2.102 AoIP Transport Layer Address -type record BSSMAP_IE_AoIP_TransportLayerAddress -{ - OCT1 elementIdentifier, // '7C' - INT1 lengthIndicator, - BSSMAP_FIELD_IPAddress ipAddress, - LIN2_BO_LAST uDPPortValue -} with { - variant "PRESENCE (elementIdentifier = '7C'O)"; - variant (lengthIndicator) "LENGTHTO (ipAddress, uDPPortValue)"; - variant (ipAddress) "CROSSTAG(ipv4,lengthIndicator = 6; - ipv6,lengthIndicator = 18)" -} - -type union BSSMAP_FIELD_IPAddress -{ - OCT4 ipv4, - OCT16 ipv6 -} - -//3.2.2.103 Speech Codec List -type record BSSMAP_IE_SpeechCodecList -{ - OCT1 elementIdentifier, // '7D' - INT1 lengthIndicator, - BSSMAP_FIELD_CodecElements codecElements -} with { - variant "PRESENCE (elementIdentifier = '7D'O)"; - variant (lengthIndicator) "LENGTHTO (codecElements)" -} - -type record of BSSMAP_FIELD_CodecElement BSSMAP_FIELD_CodecElements; - -type record BSSMAP_FIELD_CodecElement -{ - BSSMAP_FIELD_CodecType codecType, - BIT1 tF, - BIT1 pT, - BIT1 pI, - BIT1 fI, - OCT1 extendedCodecType optional, - BIT8 s0_7 optional, - BIT8 s8_15 optional -} with { - variant (extendedCodecType) "PRESENCE (codecType = CodecExtension)"; - variant (s0_7) "PRESENCE (codecType = FR_AMR, - codecType = HR_AMR, - codecType = FR_AMR_WB, - codecType = OHR_AMR, - codecType = OFR_AMR_WB, - codecType = OHR_AMR_WB, - extendedCodecType = 'FD'O)"; - variant (s8_15) "PRESENCE (codecType = FR_AMR, - codecType = HR_AMR, - codecType = OHR_AMR)"; -} - -type enumerated BSSMAP_FIELD_CodecType -{ - GSM_FR(0), - GSM_HR(1), - GSM_EFR(2), - FR_AMR(3), - HR_AMR(4), - FR_AMR_WB(9), - OHR_AMR(11), - OFR_AMR_WB(12), - OHR_AMR_WB(13), - CodecExtension(15) -} - -//3.2.2.104 Speech Codec -type record BSSMAP_IE_SpeechCodec -{ - OCT1 elementIdentifier, // '7E' - INT1 lengthIndicator, - BSSMAP_FIELD_CodecElements codecElements -} with { - variant "PRESENCE (elementIdentifier = '7E'O)"; - variant (lengthIndicator) "LENGTHTO (codecElements)" -} - -//3.2.2.105 Call Identifier -type record BSSMAP_IE_CallIdentifier -{ - OCT1 elementIdentifier, //'7F' - OCT4 callIdentifierInfo -} with { variant "PRESENCE (elementIdentifier = '7F'O)";} - -//3.2.2.106 Call Identifier List -type record BSSMAP_IE_CallIdentifierList -{ - OCT1 elementIdentifier, // '80' - INT1 lengthIndicator, - OCT4List callIdentifierListInfo length (1..62) -} with { variant "PRESENCE (elementIdentifier = '80'O)"; - variant (lengthIndicator) "LENGTHTO (callIdentifierListInfo)"} - -//3.2.2.107 A Interface Selector For Reset -type record BSSMAP_IE_A_InterfaceSelectorForReset -{ - OCT1 elementIdentifier, // '81' - BIT1 rTD, - BIT1 rIP, - BIT6 spare -} with { variant "PRESENCE (elementIdentifier = '81'O)";} - - -//3.2.2.109 KC128 -type record BSSMAP_IE_KC128 -{ - OCT1 elementIdentifier, // '83' - OCT16 kC128_Value -} with { variant "PRESENCE (elementIdentifier = '83'O)";} - - -//3.2.2.110 CSG Identifier -type record BSSMAP_IE_CSG_Identifier -{ - OCT1 elementIdentifier, //84 - INT1 lengthIndicator, - bitstring cSG_ID_Value length(27), - BIT5 spare1, - BIT1 cellAccessMode, - BIT7 spare2 -} with { variant "PRESENCE (elementIdentifier = '84'O)"; - variant (lengthIndicator) "LENGTHTO (cSG_ID_Value,spare1,cellAccessMode,spare2)"} - - -//3.2.2.111 Redirect Attempt Flag -type record BSSMAP_IE_RedirectAttemptFlag -{ - OCT1 elementIdentifier //85 -} with { variant "PRESENCE (elementIdentifier = '85'O)";} - - -//3.2.2.112 Reroute Reject Cause -type record BSSMAP_IE_RerouteRejectCause -{ - OCT1 elementIdentifier, //86 - OCT1 rerouteRejectCauseValue -} with { variant "PRESENCE (elementIdentifier = '86'O)";} - - -//3.2.2.113 Send Sequence Number -type record BSSMAP_IE_SendSequenceNumber -{ - OCT1 elementIdentifier, //87 - BIT6 spare, - INT2b sendSequenceNumber -} with { variant "PRESENCE (elementIdentifier = '87'O)";} - - -//3.2.2.114 Reroute Complete Outcome -type record BSSMAP_IE_RerouteCompleteOutcome -{ - OCT1 elementIdentifier, //88 - OCT1 rerouteCompleteOutcomeValue -} with { variant "PRESENCE (elementIdentifier = '88'O)";} - - -//3.2.2.115 Global Call Reference -type record BSSMAP_IE_GlobalCallReference -{ - OCT1 elementIdentifier, //89 - INT1 lengthIndicator, - GlobalCallReferenceValue globalCallReferenceValue -} with { variant "PRESENCE (elementIdentifier = '89'O)"; - variant (lengthIndicator) "LENGTHTO (globalCallReferenceValue)"} - -//3GPP TS 29.205 B.2.1.9 -type record GlobalCallReferenceValue -{ - INT1 networkIDLengthIndicator, - octetstring networkID length (3..5), - INT1 nodeIDLengthIndicator, - OCT2 nodeID, - INT1 callReferenceIDLengthIndicator, - OCT5 callReferenceID -} with { - variant (networkIDLengthIndicator) "LENGTHTO (networkID)" - variant (nodeIDLengthIndicator) "LENGTHTO (nodeID)" - variant (callReferenceIDLengthIndicator) "LENGTHTO (callReferenceID )" - } - - -//3.2.2.116 LCLS Configuration -type record BSSMAP_IE_LCLS_Configuration -{ - OCT1 elementIdentifier, //8A - BIT4 lCLS_ConfigurationValue, - BIT4 spare -} with { variant "PRESENCE (elementIdentifier = '8A'O)";} - - -//3.2.2.117 LCLS Connection Status Control -type record BSSMAP_IE_LCLS_ConnectionStatusControl -{ - OCT1 elementIdentifier, //8B - BIT4 lCLS_ConnectionStatusControlValue, - BIT4 spare -} with { variant "PRESENCE (elementIdentifier = '8B'O)";} - - -//3.2.2.118 LCLS Correlation Not Needed -type record BSSMAP_IE_LCLS_CorrelationNotNeeded -{ - OCT1 elementIdentifier //8C -} with { variant "PRESENCE (elementIdentifier = '8C'O)";} - - -//3.2.2.119 LCLS BSS Status -type record BSSMAP_IE_LCLS_BSS_Status -{ - OCT1 elementIdentifier, //8D - BIT4 lCLS_BSS_StatusValue, - BIT4 spare -} with { variant "PRESENCE (elementIdentifier = '8D'O)";} - - -//3.2.2.120 LCLS Break Request -type record BSSMAP_IE_LCLS_BreakRequest -{ - OCT1 elementIdentifier //8E -} with { variant "PRESENCE (elementIdentifier = '8E'O)";} - -//3.2.2.121 CSFB Indication -type record BSSMAP_IE_CSFB_Indication -{ - OCT1 elementIdentifier //8F -} with { variant "PRESENCE (elementIdentifier = '8F'O)";} - - - -/////////////////////////////////////////////////////// -// Used in HANDOVER REQUEST message -type union BSSMAP_IE_ClassmarkInformationType -{ - BSSMAP_IE_ClassmarkInformationType1 classmarkInformationType1, - BSSMAP_IE_ClassmarkInformationType2 classmarkInformationType2 -} - - -/////////////////////////////////////////// -// BSSMAP message definition -/////////////////////////////////////////// - -// ASSIGNMENT REQUEST - 48.008 subclause 3.2.1.1 -type record PDU_BSSMAP_AssignmentRequest -{ - OCT1 messageType, // '01'O - BSSMAP_IE_ChannelType channelType, - BSSMAP_IE_Layer3HeaderInfo layer3HeaderInfo optional, - BSSMAP_IE_Priority priority optional, - BSSMAP_IE_CircuitIdentityCode circuitIdentityCode optional, - BSSMAP_IE_DownLinkDTXFlag downLinkDTX_Flag optional, - BSSMAP_IE_InterferenceBandToBeUsed interferenceBandToBeUsed optional, - BSSMAP_IE_ClassmarkInformationType2 classmarkInformationType2 optional, - BSSMAP_IE_GroupCallReference groupCallReference optional, - BSSMAP_IE_TalkerFlag talkerFlag optional, - BSSMAP_IE_ConfigurationEvolutionIndication configurationEvolutionIndication optional, - BSSMAP_IE_LSAAccessControlSuppression lsaAccesControlSuppression optional, - BSSMAP_IE_ServiceHandover serviceHandover optional, - BSSMAP_IE_EncryptionInformation encryptionInformation optional, - BSSMAP_IE_TalkerPriority talkerPriority optional, - BSSMAP_IE_AoIP_TransportLayerAddress aoIPTransportLayer optional, - BSSMAP_IE_SpeechCodecList codecList optional, - BSSMAP_IE_CallIdentifier callIdentifier optional, - BSSMAP_IE_KC128 kC128 optional, - BSSMAP_IE_GlobalCallReference globalCallReference optional, - BSSMAP_IE_LCLS_Configuration lCLS_Configuration optional, - BSSMAP_IE_LCLS_ConnectionStatusControl lCLS_ConnectionStatusControl optional, - BSSMAP_IE_LCLS_CorrelationNotNeeded lCLS_CorrelationNotNeeded optional -} with { variant "PRESENCE (messageType = '01'O)" } - - -// ASSIGNMENT COMPLETE - 48.008 subclause 3.2.1.2 -type record PDU_BSSMAP_AssignmentComplete -{ - OCT1 messageType, // '02'O - BSSMAP_IE_RR_Cause rR_Cause optional, - BSSMAP_IE_CircuitIdentityCode circuitIdentityCode optional, - BSSMAP_IE_CellIdentifier cellIdentifier optional, - BSSMAP_IE_ChosenChannel chosenChannel optional, - BSSMAP_IE_ChosenEncryptionAlgorithm chosenEncryptionAlgorithm optional, - BSSMAP_IE_CircuitPool circuitPool optional, - BSSMAP_IE_SpeechVersion speechVersion optional, - BSSMAP_IE_LSAIdentifier lSAIdentifier optional, - BSSMAP_IE_TalkerPriority talkerPriority optional, - BSSMAP_IE_AoIP_TransportLayerAddress aoIPTransportLayer optional, - BSSMAP_IE_SpeechCodec speechCodec optional, - BSSMAP_IE_SpeechCodecList codecList optional, - BSSMAP_IE_LCLS_BSS_Status lCLS_BSS_Status optional -} with { variant "PRESENCE (messageType = '02'O)" } - -// ASSIGNMENT FAILURE - 48.008 subclause 3.2.1.3 -type record PDU_BSSMAP_AssignmentFailure -{ - OCT1 messageType, // '03'O - BSSMAP_IE_Cause cause, - BSSMAP_IE_RR_Cause rR_Cause optional, - BSSMAP_IE_CircuitPool circuitPool optional, - BSSMAP_IE_CircuitPoolList circuitPoolList optional, - BSSMAP_IE_TalkerPriority talkerPriority optional, - BSSMAP_IE_SpeechCodecList codecList optional -} with { variant "PRESENCE (messageType = '03'O)" } - -// BLOCK - 48.008 subclause 3.2.1.4 -type record PDU_BSSMAP_Block -{ - OCT1 messageType, // H'40 - BSSMAP_IE_CircuitIdentityCode circuitIdentityCode, - BSSMAP_IE_Cause cause, - BSSMAP_IE_ConnectionReleaseRequested connectionReleaseRequested optional -} with { variant "PRESENCE (messageType = '40'O)" } - - -// BLOCKING ACKNOWLEDGE - 48.008 subclause 3.2.1.5 -type record PDU_BSSMAP_BlockingAck -{ - OCT1 messageType, // H'41 - BSSMAP_IE_CircuitIdentityCode circuitIdentityCode -} with { variant "PRESENCE (messageType = '41'O)" } - - -// UNBLOCK - 48.008 subclause 3.2.1.6 -type record PDU_BSSMAP_Unblock -{ - OCT1 messageType, // H'42 - BSSMAP_IE_CircuitIdentityCode circuitIdentityCode -} with { variant "PRESENCE (messageType = '42'O)" } - - -// UNBLOCKING ACKNOWLEDGE - 48.008 subclause 3.2.1.7 -type record PDU_BSSMAP_UnblockAck -{ - OCT1 messageType, // H'43 - BSSMAP_IE_CircuitIdentityCode circuitIdentityCode -} with { variant "PRESENCE (messageType = '43'O)" } - - -// HANDOVER REQUEST - 48.008 subclause 3.2.1.8 -type record PDU_BSSMAP_HandoverRequest -{ - OCT1 messageType, // '10'O - BSSMAP_IE_ChannelType channelType, - BSSMAP_IE_EncryptionInformation encryptionInformation, - BSSMAP_IE_ClassmarkInformationType classmarkInformationType, //Type 1 or 2 - BSSMAP_IE_CellIdentifier cellIdentifierSource, - BSSMAP_IE_Priority priority optional, - BSSMAP_IE_CircuitIdentityCode circuitIdentityCode optional, - BSSMAP_IE_DownLinkDTXFlag downLinkDTX_Flag optional, - BSSMAP_IE_CellIdentifier cellIdentifierTarget, - BSSMAP_IE_InterferenceBandToBeUsed interferenceBandToBeUsed optional, - BSSMAP_IE_Cause cause optional, - BSSMAP_IE_ClassmarkInformationType3 classmarkInformationType3 optional, - BSSMAP_IE_CurrentChannelType1 currentChannelType1 optional, - BSSMAP_IE_SpeechVersion speechVersion optional, - BSSMAP_IE_GroupCallReference groupCallReference optional, - BSSMAP_IE_TalkerFlag talkerFlag optional, - BSSMAP_IE_ConfigurationEvolutionIndication configurationEvolutionIndication optional, - BSSMAP_IE_ChosenEncryptionAlgorithm chosenEncryptionAlgorithm optional, - BSSMAP_IE_OldToNewBSSInfo oldToNewBSSInfo optional, - BSSMAP_IE_LSAInformation lSAInformation optional, - BSSMAP_IE_LSAAccessControlSuppression lSAAccessControlSuppression optional, - BSSMAP_IE_ServiceHandover serviceHandover optional, - BSSMAP_IE_IMSI iMSI_bssmap optional, - BSSMAP_IE_SourceToTargetRNCTransparentInfo sourceToTargetRNCTransparentInfo optional, - BSSMAP_IE_SourceToTargetRNCTransparentInfo sourceToTargetRNCTransparentInfoCDMA optional, - BSSMAP_IE_SNAAccessInfo sNAAccessInformation optional, - BSSMAP_IE_TalkerPriority talkerPriority optional, - BSSMAP_IE_AoIP_TransportLayerAddress aoIPTransportLayer optional, - BSSMAP_IE_SpeechCodecList codecList optional, - BSSMAP_IE_CallIdentifier callIdentifier optional, - BSSMAP_IE_KC128 kC128 optional, - BSSMAP_IE_GlobalCallReference globalCallReference optional, - BSSMAP_IE_LCLS_Configuration lCLS_Configuration optional, - BSSMAP_IE_LCLS_ConnectionStatusControl connectionStatusControl optional -} with { variant "PRESENCE (messageType = '10'O)" - variant "TAG ( - sourceToTargetRNCTransparentInfo, elementIdentifier = '51'O; - sourceToTargetRNCTransparentInfoCDMA, elementIdentifier = '52'O)"} - - -// HANDOVER REQUIRED - 48.008 subclause 3.2.1.9 -type record PDU_BSSMAP_HandoverRequired -{ - OCT1 messageType, // '11'O - BSSMAP_IE_Cause cause, - BSSMAP_IE_ResponseRequest responseRequest optional, - BSSMAP_IE_CellIdentifierList cellIdentifierList, - BSSMAP_IE_CircuitPoolList circuitPoolList optional, - BSSMAP_IE_CurrentChannelType1 currentChannelType1 optional, - BSSMAP_IE_SpeechVersion speechVersion optional, - BSSMAP_IE_QueueingIndicator queueingIndicator optional, - BSSMAP_IE_OldToNewBSSInfo oldToNewBSSInfo optional, - BSSMAP_IE_SourceToTargetRNCTransparentInfo sourceToTargetRNCTransparentInfo optional, - BSSMAP_IE_SourceToTargetRNCTransparentInfo sourceToTargetRNCTransparentInfoCDMA optional, - BSSMAP_IE_GERANClassmark gERANClassmark optional, - BSSMAP_IE_TalkerPriority talkerPriority optional, - BSSMAP_IE_SpeechCodec speechCodec optional, - BSSMAP_IE_CSG_Identifier cSG_Identifier optional -} with { variant "PRESENCE (messageType = '11'O)" - variant "TAG ( - sourceToTargetRNCTransparentInfo, elementIdentifier = '51'O; - sourceToTargetRNCTransparentInfoCDMA, elementIdentifier = '52'O)"} - - -// HANDOVER REQUEST ACKNOWLEDGE - 48.008 subclause 3.2.1.10 -type record PDU_BSSMAP_HandoverRequestAck -{ - OCT1 messageType, // '12'O - BSSMAP_IE_Layer3Information layer3Information, - BSSMAP_IE_ChosenChannel chosenChannel optional, - BSSMAP_IE_ChosenEncryptionAlgorithm chosenEncryptionAlgorithm optional, - BSSMAP_IE_CircuitPool circuitPool optional, - BSSMAP_IE_SpeechVersion speechVersion optional, - BSSMAP_IE_CircuitIdentityCode circuitIdentityCode optional, - BSSMAP_IE_LSAIdentifier lSAIdentifier optional, - BSSMAP_IE_NewBSSToOldBSSInfo newBSSToOldBSSInfo optional, - BSSMAP_IE_InterSystemInfo interSystemInformation optional, - BSSMAP_IE_TalkerPriority talkerPriority optional, - BSSMAP_IE_AoIP_TransportLayerAddress aoIPTransportLayer optional, - BSSMAP_IE_SpeechCodecList codecList optional, - BSSMAP_IE_SpeechCodec speechCodec optional, - BSSMAP_IE_LCLS_BSS_Status lCLS_bSS_Status optional -} with { variant "PRESENCE (messageType = '12'O)" } - - -// HANDOVER COMMAND - 48.008 subclause 3.2.1.11 -type record PDU_BSSMAP_HandoverCommand -{ - OCT1 messageType, // '13'O - BSSMAP_IE_Layer3Information layer3Information, - BSSMAP_IE_CellIdentifier cellIdentifier optional, - BSSMAP_IE_NewBSSToOldBSSInfo newBSSToOldBSSInfo optional, - BSSMAP_IE_TalkerPriority talkerPriority optional -} with { variant "PRESENCE (messageType = '13'O)" } - - -// HANDOVER COMPLETE - 48.008 subclause 3.2.1.12 -type record PDU_BSSMAP_HandoverComplete -{ - OCT1 messageType, // H'14 - BSSMAP_IE_RR_Cause rR_Cause optional, - BSSMAP_IE_TalkerPriority talkerPriority optional, - BSSMAP_IE_SpeechCodec speechCodec optional, - BSSMAP_IE_SpeechCodecList codecList optional, - BSSMAP_IE_ChosenEncryptionAlgorithm chosenEncryptionAlgorithm optional, - BSSMAP_IE_ChosenChannel chosenChannel optional, - BSSMAP_IE_LCLS_BSS_Status lCLS_BSS_Status optional -} with { variant "PRESENCE (messageType = '14'O)" } - - -// HANDOVER SUCCEEDED - 48.008 subclause 3.2.1.13 -type record PDU_BSSMAP_HandoverSucceeded -{ - OCT1 messageType, // H'15 - BSSMAP_IE_TalkerPriority talkerPriority optional -} with { variant "PRESENCE (messageType = '15'O)" } - - -// HANDOVER CANDIDATE ENQUIRE - 48.008 subclause 3.2.1.14 -type record PDU_BSSMAP_HandoverCandidateEnquire -{ - OCT1 messageType, // H'18 - BSSMAP_IE_NumberOfMSs numberOfMSs, - BSSMAP_IE_CellIdentifierList cellIdentifierList, - BSSMAP_IE_CellIdentifier cellIdentifier -} with { variant "PRESENCE (messageType = '18'O)" } - - -// HANDOVER CANDIDATE RESPONSE - 48.008 subclause 3.2.1.15 -type record PDU_BSSMAP_HandoverCandidateResponse -{ - OCT1 messageType, // H'19 - BSSMAP_IE_NumberOfMSs numberOfMSs, - BSSMAP_IE_CellIdentifier cellIdentifier -} with { variant "PRESENCE (messageType = '19'O)" } - - -// HANDOVER FAILURE - 48.008 subclause 3.2.1.16 -type record PDU_BSSMAP_HandoverFailure -{ - OCT1 messageType, - BSSMAP_IE_Cause cause, - BSSMAP_IE_RR_Cause rR_Cause optional, - BSSMAP_IE_CircuitPool circuitPool optional, - BSSMAP_IE_CircuitPoolList circuitPoolList optional, - BSSMAP_IE_GERANClassmark gERANClassmark optional, - BSSMAP_IE_NewBSSToOldBSSInfo newBSSToOldBSSInfo optional, - BSSMAP_IE_InterSystemInfo interSystemInformation optional, - BSSMAP_IE_TalkerPriority talkerPriority optional, - BSSMAP_IE_SpeechCodecList codecList optional -} with { variant "PRESENCE (messageType = '16'O)" } - - -// RESOURCE REQUEST - 48.008 subclause 3.2.1.17 -type record PDU_BSSMAP_ResourceRequest -{ - OCT1 messageType, - BSSMAP_IE_Periodicity periodicity, - BSSMAP_IE_ResourceIndMethod resourceIndicationMethod, - BSSMAP_IE_CellIdentifier cellIdentifier, - BSSMAP_IE_ExtendedResourceInd extendedResourceIndicator optional -} with { variant "PRESENCE (messageType = '50'O)" } - - -// RESOURCE INDICATION - 48.008 subclause 3.2.1.18 -type record PDU_BSSMAP_ResourceIndication -{ - OCT1 messageType, - BSSMAP_IE_ResourceIndMethod resourceIndicationMethod, - BSSMAP_IE_ResourceAvailable resourceAvailable optional, - BSSMAP_IE_CellIdentifier cellIdentifier, - BSSMAP_IE_TotalResourceAccessible totalResourceAccessible optional -} with { variant "PRESENCE (messageType = '51'O)" } - -// PAGING - 48.008 subclause 3.2.1.19 -type record PDU_BSSMAP_Paging -{ - OCT1 messageType, // '52'O - BSSMAP_IE_IMSI iMSI, - BSSMAP_IE_TMSI tMSI optional, - BSSMAP_IE_CellIdentifierList cellIdentifierList, - BSSMAP_IE_ChannelNeeded channelNeeded optional, - BSSMAP_IE_EMLPP_Priority eMLPP_Priority optional, - BSSMAP_IE_PagingInformation pagingInformation optional -} with { variant "PRESENCE (messageType = '52'O)" } - - -// CLEAR REQUEST - 48.008 subclause 3.2.1.20 -type record PDU_BSSMAP_ClearRequest -{ - OCT1 messageType, // H'22 - BSSMAP_IE_Cause cause -} with { variant "PRESENCE (messageType = '22'O)" } - - -// CLEAR COMMAND - 48.008 subclause 3.2.1.21 -type record PDU_BSSMAP_ClearCommand -{ - OCT1 messageType, // H'20 - BSSMAP_IE_Layer3HeaderInfo layer3HeaderInfo optional, - BSSMAP_IE_Cause cause, - BSSMAP_IE_CSFB_Indication cSFB_Indication optional -} with { variant "PRESENCE (messageType = '20'O)" } - - -// CLEAR COMPLETE - 48.008 subclause 3.2.1.22 -type record PDU_BSSMAP_ClearComplete -{ - OCT1 messageType // H'21 -} with { variant "PRESENCE (messageType = '21'O)" } - - -// RESET - 48.008 subclause 3.2.1.23 -type record PDU_BSSMAP_Reset -{ - OCT1 messageType, // H'30 - BSSMAP_IE_Cause cause, - BSSMAP_IE_A_InterfaceSelectorForReset a_InterfaceSelectorForReset optional -} with { variant "PRESENCE (messageType = '30'O)" } - - -// RESET ACKNOWLEDGE - 48.008 subclause 3.2.1.24 -type record PDU_BSSMAP_ResetAck -{ - OCT1 messageType, // H'31 - BSSMAP_IE_A_InterfaceSelectorForReset a_InterfaceSelectorForReset optional -} with { variant "PRESENCE (messageType = '31'O)" } - - -// HANDOVER PERFORMED - 48.008 subclause 3.2.1.25 -type record PDU_BSSMAP_HandoverPerformed -{ - OCT1 messageType, - BSSMAP_IE_Cause cause, - BSSMAP_IE_CellIdentifier cellIdentifier, - BSSMAP_IE_ChosenChannel chosenChannel optional, - BSSMAP_IE_ChosenEncryptionAlgorithm chosenEncryptionAlgorithm optional, - BSSMAP_IE_SpeechVersion speechVersion optional, - BSSMAP_IE_LSAIdentifier lSAIdentifier optional, - BSSMAP_IE_TalkerPriority talkerPriority optional, - BSSMAP_IE_SpeechCodecList codecList optional, - BSSMAP_IE_SpeechCodec speechCodec optional, - BSSMAP_IE_LCLS_BSS_Status lCLS_BSS_Status optional -} with { variant "PRESENCE (messageType = '17'O)" } - -// OVERLOAD - 48.008 subclause 3.2.1.26 -type record PDU_BSSMAP_Overload -{ - OCT1 messageType, // H'32 - BSSMAP_IE_Cause cause, - BSSMAP_IE_CellIdentifier cellIdentifier optional -} with { variant "PRESENCE (messageType = '32'O)" } - - -// MSC INVOKE TRACE - 48.008 subclause 3.2.1.27 -type record PDU_BSSMAP_MSCInvokeTrace -{ - OCT1 messageType, // H'36 - BSSMAP_IE_TraceType traceType, - BSSMAP_IE_TriggerId triggerId optional, - BSSMAP_IE_TraceReference traceReference, - BSSMAP_IE_TransactionId transactionId optional, - BSSMAP_IE_MobileIdentity mobileIdentity optional, - BSSMAP_IE_OMCId oMCId optional -} with { variant "PRESENCE (messageType = '36'O)" } - - -// BSS INVOKE TRACE - 48.008 subclause 3.2.1.28 -type record PDU_BSSMAP_BSSInvokeTrace -{ - OCT1 messageType, // H'37 - BSSMAP_IE_TraceType traceType, - BSSMAP_IE_ForwardIndicator forwardIndicator optional, - BSSMAP_IE_TriggerId triggerId optional, - BSSMAP_IE_TraceReference traceReference, - BSSMAP_IE_TransactionId transactionId optional, - BSSMAP_IE_OMCId oMCId optional -} with { variant "PRESENCE (messageType = '37'O)" } - - -// CLASSMARK UPDATE - 48.008 subclause 3.2.1.29 -type record PDU_BSSMAP_ClassmarkUpdate -{ - OCT1 messageType, // '54'O - BSSMAP_IE_ClassmarkInformationType2 classmarkInformationType2, - BSSMAP_IE_ClassmarkInformationType3 classmarkInformationType3 optional, - BSSMAP_IE_TalkerPriority talkerPriority optional -} with { variant "PRESENCE (messageType = '54'O)" } - -// CIPHER MODE COMMAND - 48.008 subclause 3.2.1.30 -type record PDU_BSSMAP_CipherModeCommand -{ - OCT1 messageType, // '53'O - BSSMAP_IE_Layer3HeaderInfo layer3HeaderInfo optional, - BSSMAP_IE_EncryptionInformation encryptionInformation, - BSSMAP_IE_CipherResponseMode cipherResponseMode optional, - BSSMAP_IE_KC128 kC128 optional -} with { variant "PRESENCE (messageType = '53'O)" } - - -// CIPHER MODE COMPLETE - 48.008 subclause 3.2.1.31 -type record PDU_BSSMAP_CipherModeComplete -{ - OCT1 messageType, // '55'O - BSSMAP_IE_Layer3MessageContents layer3MessageContents optional, - BSSMAP_IE_ChosenEncryptionAlgorithm chosenEncryptionAlgorithm optional -} with { variant "PRESENCE (messageType = '55'O)" } - - -// COMPLETE LAYER 3 INFORMATION - 48.008 subclause 3.2.1.32 -type record PDU_BSSMAP_CompleteLayer3Information -{ - OCT1 messageType, // '57'O - BSSMAP_IE_CellIdentifier cellIdentifier, - BSSMAP_IE_Layer3Information layer3Information, - BSSMAP_IE_ChosenChannel chosenChannel optional, - BSSMAP_IE_LSAIdentifier lSAIdentifier optional, - BSSMAP_IE_APDU aPDU optional, - BSSMAP_IE_SpeechCodecList codecList optional, - BSSMAP_IE_RedirectAttemptFlag redirectAttemptFlag optional, - BSSMAP_IE_SendSequenceNumber sendSequenceNumber optional, - BSSMAP_IE_IMSI iMSI optional -} with { variant "PRESENCE (messageType = '57'O)" } - - -// QUEUEING INDICATION - 48.008 subclause 3.2.1.33 -type record PDU_BSSMAP_QueueingIndication -{ - OCT1 messageType // H'56 -} with { variant "PRESENCE (messageType = '56'O)" } - - -// SAPI "n" REJECT - 48.008 subclause 3.2.1.34 -type record PDU_BSSMAP_SAPInReject -{ - OCT1 messageType, // H'25 - BSSMAP_IE_DLCI dLCI, - BSSMAP_IE_Cause cause -} with { variant "PRESENCE (messageType = '25'O)" } - - -// HANDOVER REQUIRED REJECT - 48.008 subclause 3.2.1.37 -type record PDU_BSSMAP_HandoverRequiredReject -{ - OCT1 messageType, - BSSMAP_IE_Cause cause, - BSSMAP_IE_NewBSSToOldBSSInfo newBSSToOldBSSInfo optional, - BSSMAP_IE_TalkerPriority talkerPriority optional -} with { variant "PRESENCE (messageType = '1A'O)" } - -// RESET CIRCUIT - 48.008 subclause 3.2.1.38 -type record PDU_BSSMAP_ResetCircuit -{ - OCT1 messageType, // H'34 - BSSMAP_IE_CircuitIdentityCode circuitIdentityCode, - BSSMAP_IE_Cause cause -} with { variant "PRESENCE (messageType = '34'O)" } - - -// RESET CIRCUIT ACKNOWLEDGE - 48.008 subclause 3.2.1.39 -type record PDU_BSSMAP_ResetCircuitAck -{ - OCT1 messageType, // H'35 - BSSMAP_IE_CircuitIdentityCode circuitIdentityCode -} with { variant "PRESENCE (messageType = '35'O)" } - - -// HANDOVER DETECT - 48.008 subclause 3.2.1.40 -type record PDU_BSSMAP_HandoverDetect -{ - OCT1 messageType, // '1B'O - BSSMAP_IE_TalkerPriority talkerPriority optional -} with { variant "PRESENCE (messageType = '1B'O)" } - - -// CIRCUIT GROUP BLOCK - 48.008 subclause 3.2.1.41 -type record PDU_BSSMAP_CircuitGroupBlock -{ - OCT1 messageType, // H'44 - BSSMAP_IE_Cause cause, - BSSMAP_IE_CircuitIdentityCode circuitIdentityCode, - BSSMAP_IE_CircuitIdentityCodeList circuitIdentityCodeList -} with { variant "PRESENCE (messageType = '44'O)" } - - -// CIRCUIT GROUP BLOCKING ACKNOWLEDGE - 48.008 subclause 3.2.1.42 -type record PDU_BSSMAP_CircuitGroupBlockingAck -{ - OCT1 messageType, // H'45 - BSSMAP_IE_CircuitIdentityCode circuitIdentityCode, - BSSMAP_IE_CircuitIdentityCodeList circuitIdentityCodeList -} with { variant "PRESENCE (messageType = '45'O)" } - - -// CIRCUIT GROUP UNBLOCK - 48.008 subclause 3.2.1.43 -type record PDU_BSSMAP_CircuitGroupUnblock -{ - OCT1 messageType, // H'46 - BSSMAP_IE_CircuitIdentityCode circuitIdentityCode, - BSSMAP_IE_CircuitIdentityCodeList circuitIdentityCodeList -} with { variant "PRESENCE (messageType = '46'O)" } - - -// CIRCUIT GROUP UNBLOCKING ACKNOWLEDGE - 48.008 subclause 3.2.1.44 -type record PDU_BSSMAP_CircuitGroupUnblockAck -{ - OCT1 messageType, // H'47 - BSSMAP_IE_CircuitIdentityCode circuitIdentityCode, - BSSMAP_IE_CircuitIdentityCodeList circuitIdentityCodeList -} with { variant "PRESENCE (messageType = '47'O)" } - - -// CONFUSION - 48.008 subclause 3.2.1.45 -type record PDU_BSSMAP_Confusion -{ - OCT1 messageType, // H'26 - BSSMAP_IE_Cause cause, - BSSMAP_IE_Diagnostics diagnostics -} with { variant "PRESENCE (messageType = '26'O)" } - - -// CLASSMARK REQUEST - 48.008 subclause 3.2.1.46 -type record PDU_BSSMAP_ClassmarkRequest -{ - OCT1 messageType, // H'58 - BSSMAP_IE_TalkerPriority talkerPriority optional -} with { variant "PRESENCE (messageType = '58'O)" } - -// UNEQUIPPED CIRCUIT - 48.008 subclause 3.2.1.47 -type record PDU_BSSMAP_UnequippedCircuit -{ - OCT1 messageType, // H'48 - BSSMAP_IE_CircuitIdentityCode circuitIdentityCode, - BSSMAP_IE_CircuitIdentityCodeList circuitIdentityCodeList optional -} with { variant "PRESENCE (messageType = '48'O)" } - - -// CIPHER MODE REJECT - 48.008 subclause 3.2.1.48 -type record PDU_BSSMAP_CipherModeReject -{ - OCT1 messageType, // H'59 - BSSMAP_IE_Cause cause -} with { variant "PRESENCE (messageType = '59'O)" } - - -// LOAD INDICATION - 48.008 subclause 3.2.1.49 -type record PDU_BSSMAP_LoadIndication -{ - OCT1 messageType, // H'5A - BSSMAP_IE_TimeIndication timeIndication, - BSSMAP_IE_CellIdentifier cellIdentifier, - BSSMAP_IE_CellIdentifierList cellIdentifierList, - BSSMAP_IE_ResourceSituation resourceSitation optional, - BSSMAP_IE_Cause cause optional -} with { variant "PRESENCE (messageType = '5A'O)" } - - -// VGCS/VBS SETUP - 48.008 subclause 3.2.1.50 -type record PDU_BSSMAP_VGCS_VBSSetup -{ - OCT1 messageType, // H'04 - BSSMAP_IE_GroupCallReference groupCallReference, - BSSMAP_IE_Priority priority optional, - BSSMAP_IE_VGCS_FeatureFlags vGCS_FeatureFlags optional -} with { variant "PRESENCE (messageType = '04'O)" } - -// VGCS/VBS SETUP ACK - 48.008 subclause 3.2.1.51 -type record PDU_BSSMAP_VGCS_VBSSetupAck -{ - OCT1 messageType, // H'05 - BSSMAP_IE_VGCS_FeatureFlags vGCS_FeatureFlags optional -} with { variant "PRESENCE (messageType = '05'O)" } - - -// VGCS/VBS SETUP REFUSE - 48.008 subclause 3.2.1.52 -type record PDU_BSSMAP_VGCS_VBSSetupRefuse -{ - OCT1 messageType, // H'06 - BSSMAP_IE_Cause cause -} with { variant "PRESENCE (messageType = '06'O)" } - - -// VGCS/VBS ASSIGNMENT REQUEST - 48.008 subclause 3.2.1.53 -type record PDU_BSSMAP_VGCS_VBSAssignmentRequest -{ - OCT1 messageType, // H'07 - BSSMAP_IE_ChannelType channelType, - BSSMAP_IE_AssignmentRequirement assignmentRequirement, - BSSMAP_IE_CellIdentifier cellIdentifier, - BSSMAP_IE_GroupCallReference groupCallReference, - BSSMAP_IE_Priority priority optional, - BSSMAP_IE_CircuitIdentityCode circuitIdentityCode optional, - BSSMAP_IE_DownLinkDTXFlag downLinkDTX_Flag optional, - BSSMAP_IE_EncryptionInformation encryptionInformation optional, - BSSMAP_IE_VSTK_RAND vSTK_RAND optional, - BSSMAP_IE_VSTK vSTK optional, - BSSMAP_IE_CellIdentifierListSegment cellIdentifierListSegment optional -} with { variant "PRESENCE (messageType = '07'O)" } - - -// VGCS/VBS ASSIGNMENT RESULT - 48.008 subclause 3.2.1.54 -type record PDU_BSSMAP_VGCS_VBSAssignmentResult -{ - OCT1 messageType, // H'1C - BSSMAP_IE_ChannelType channelType, - BSSMAP_IE_CellIdentifier cellIdentifier, - BSSMAP_IE_ChosenChannel chosenChannel optional, - BSSMAP_IE_CircuitIdentityCode circuitIdentityCode optional, - BSSMAP_IE_CircuitPool circuitPool optional -} with { variant "PRESENCE (messageType = '1C'O)" } - - -// VGCS/VBS ASSIGNMENT FAILURE - 48.008 subclause 3.2.1.55 -type record PDU_BSSMAP_VGCS_VBSAssignmentFailure -{ - OCT1 messageType, // H'1D - BSSMAP_IE_Cause cause, - BSSMAP_IE_CircuitPool circuitPool optional, - BSSMAP_IE_CircuitPoolList circuitPoolList optional -} with { variant "PRESENCE (messageType = '1D'O)" } - - -// VGCS/VBS QUEUING INDICATION - 48.008 subclause 3.2.1.56 -type record PDU_BSSMAP_VGCS_VBSQueuingIndication -{ - OCT1 messageType // H'1E -} with { variant "PRESENCE (messageType = '1E'O)" } - - -// UPLINK REQUEST - 48.008 subclause 3.2.1.57 -type record PDU_BSSMAP_UplinkRequest -{ - OCT1 messageType, // H'1F - BSSMAP_IE_TalkerPriority talkerPriority optional, - BSSMAP_IE_CellIdentifier cellIdentifier optional, - BSSMAP_IE_Layer3Information layer3Information optional, - BSSMAP_IE_MobileIdentity mobileIdentity optional -} with { variant "PRESENCE (messageType = '1F'O)" } - - -// UPLINK REQUEST ACK - 48.008 subclause 3.2.1.58 -type record PDU_BSSMAP_UplinkRequestAck -{ - OCT1 messageType, // H'27 - BSSMAP_IE_TalkerPriority talkerPriority optional, - BSSMAP_IE_EmergencySetIndication emergencySetIndication optional, - BSSMAP_IE_TalkerIdentity talkerIdentity optional -} with { variant "PRESENCE (messageType = '27'O)" } - - -// UPLINK REQUEST CONFIRMATION - 48.008 subclause 3.2.1.59 -type record PDU_BSSMAP_UplinkRequestConfirmation -{ - OCT1 messageType, // H'49 - BSSMAP_IE_CellIdentifier cellIdentifier, - BSSMAP_IE_TalkerIdentity talkerIdentity optional, - BSSMAP_IE_Layer3Information layer3Information -} with { variant "PRESENCE (messageType = '49'O)" } - - -// UPLINK APPLICATION DATA - 48.008 subclause 3.2.1.59a -type record PDU_BSSMAP_UplinkApplicationData -{ - OCT1 messageType, - BSSMAP_IE_CellIdentifier cellIdentifier, - BSSMAP_IE_Layer3Information layer3Information, - BSSMAP_IE_ApplicationDataInformation applicationDataInformation -} with { variant "PRESENCE (messageType = '63'O)" } - - -// UPLINK RELEASE INDICATION- 48.008 subclause 3.2.1.60 -type record PDU_BSSMAP_UplinkReleaseIndication -{ - OCT1 messageType, // H'4A - BSSMAP_IE_Cause cause, - BSSMAP_IE_TalkerPriority talkerPriority optional -} with { variant "PRESENCE (messageType = '4A'O)" } - - -// UPLINK REJECT COMMAND - 48.008 subclause 3.2.1.61 -type record PDU_BSSMAP_UplinkRejectCommand -{ - OCT1 messageType, // H'4B - BSSMAP_IE_Cause cause, - BSSMAP_IE_TalkerPriority currentTalkerPriority optional, - BSSMAP_IE_TalkerPriority rejectedTalkerPriority optional, - BSSMAP_IE_TalkerIdentity talkerIdentity optional -} with { variant "PRESENCE (messageType = '4B'O)" } - - -// UPLINK RELEASE COMMAND - 48.008 subclause 3.2.1.62 -type record PDU_BSSMAP_UplinkReleaseCommand -{ - OCT1 messageType, // H'4C - BSSMAP_IE_Cause cause -} with { variant "PRESENCE (messageType = '4C'O)" } - - -// UPLINK SEIZED COMMAND- 48.008 subclause 3.2.1.63 -type record PDU_BSSMAP_UplinkSeizedCommand -{ - OCT1 messageType, // H'4E - BSSMAP_IE_Cause cause, - BSSMAP_IE_TalkerPriority talkerPriority optional, - BSSMAP_IE_EmergencySetIndication emergencySetIndication optional, - BSSMAP_IE_TalkerIdentity talkerIdentity optional -} with { variant "PRESENCE (messageType = '4E'O)" } - - - -// SUSPEND - 48.008 subclause 3.2.1.64 -type record PDU_BSSMAP_Suspend -{ - OCT1 messageType, // H'28 - BSSMAP_IE_DLCI dLCI -} with { variant "PRESENCE (messageType = '28'O)" } - - -// RESUME - 48.008 subclause 3.2.1.65 -type record PDU_BSSMAP_Resume -{ - OCT1 messageType, // H'29 - BSSMAP_IE_DLCI dLCI -} with { variant "PRESENCE (messageType = '29'O)" } - - -// CHANGE CIRCUIT - 48.008 subclause 3.2.1.66 -type record PDU_BSSMAP_ChangeCircuit -{ - OCT1 messageType, // H'4E - BSSMAP_IE_Cause cause -} with { variant "PRESENCE (messageType = '4E'O)" } - - -// CHANGE CIRCUIT ACKNOWLEDGE - 48.008 subclause 3.2.1.67 -type record PDU_BSSMAP_ChangeCircuitAck -{ - OCT1 messageType, // H'4F - BSSMAP_IE_CircuitIdentityCode circuitIdentity -} with { variant "PRESENCE (messageType = '4F'O)" } - - -// COMMON ID - 48.008 subclause 3.2.1.68 -type record PDU_BSSMAP_CommonID -{ - OCT1 messageType, // H'2F - BSSMAP_IE_IMSI iMSI, - BSSMAP_IE_SNAAccessInfo sNAAccessInformation optional -} with { variant "PRESENCE (messageType = '2F'O)" } - - -// LSA INFORMATION - 48.008 subclause 3.2.1.69 -type record PDU_BSSMAP_LSAInformation -{ - OCT1 messageType, // H'2C - BSSMAP_IE_LSAInformation lSAInformation -} with { variant "PRESENCE (messageType = '2C'O)" } - - -// REFORM LOCATION REQUEST - 48.008 subclause 3.2.1.71 -type record PDU_BSSMAP_PerformLocationRequest -{ - OCT1 messageType, // '2B'O - BSSMAP_IE_LocationType locationType, - BSSMAP_IE_CellIdentifier cellIdentifier optional, - BSSMAP_IE_ClassmarkInformationType3 classmarkInformationType3 optional, - BSSMAP_IE_LCSClientType lCS_ClientType optional, - BSSMAP_IE_ChosenChannel chosenChannel optional, - BSSMAP_IE_LCSPriority lCS_Priority optional, - BSSMAP_IE_LCSQOS lCS_QOS optional, - BSSMAP_IE_GPSAssistanceData gPS_AssistanceData optional, - BSSMAP_IE_APDU aPDU optional, - BSSMAP_IE_IMSI iMSI optional, - BSSMAP_IE_IMEI iMEI optional, - BSSMAP_IE_GANSS_LocationType gANSS_LocationType optional, - BSSMAP_IE_GANSS_AssistanceData gANSS_AssistanceData optional -} with { variant "PRESENCE (messageType = '2B'O)" } - - -// REFORM LOCATION RESPONSE - 48.008 subclause 3.2.1.72 -type record PDU_BSSMAP_PerformLocationResponse -{ - OCT1 messageType, // '2D'O - BSSMAP_IE_LocationEstimate locationEstimate optional, - BSSMAP_IE_PositioningData positioningData optional, - BSSMAP_IE_DecipheringKeys decipheringKeys optional, - BSSMAP_IE_LCSCause lCS_Cause optional, - BSSMAP_IE_VelocityEstimate velocityEstimate optional, - BSSMAP_IE_GANSS_PositioningData gANSS_PositioningData optional -} with { variant "PRESENCE (messageType = '2D'O)" } - - -// REFORM LOCATION ABORT - 48.008 subclause 3.2.1.73 -type record PDU_BSSMAP_PerformLocationAbort -{ - OCT1 messageType, // '2E'O - BSSMAP_IE_LCSCause lCS_Cause -} with { variant "PRESENCE (messageType = '2E'O)" } - - -// CONNECTIONLESS INFORMATION - 48.008 subclause 3.2.1.74 -type record PDU_BSSMAP_ConnectionlessInformation -{ - OCT1 messageType, // '3A'O - BSSMAP_IE_NetworkElementIdentity networkElementIdentitySource, - BSSMAP_IE_NetworkElementIdentity networkElementIdentityTarget, - BSSMAP_IE_APDU aPDU, - BSSMAP_IE_Segmentation segmentation optional, - BSSMAP_IE_ReturnErrorRequest returnErrorRequest optional, - BSSMAP_IE_ReturnErrorCause returnErrorCause optional -} with { variant "PRESENCE (messageType = '3A'O)" } - -// 3.2.1.75 CHANNEL MODIFY REQUEST -type record PDU_BSSMAP_ChannelModifyRequest -{ - OCT1 messageType, // '08'O - BSSMAP_IE_Cause cause -} with { variant "PRESENCE (messageType = '08'O)" } - -// FIXME: these two message type codes are not specified in the standard -/*// 3.2.1.76 EMERGENCY RESET INDICATION -type record PDU_BSSMAP_EmergencyResetIndication -{ -OCT1 messageType, // 'X'O -BSSMAP_IE_CellIdentifier cellIdentifier optional, -BSSMAP_IE_Layer3Information layer3Information optional, -BSSMAP_IE_MobileIdentity mobileIdentity optional -} with {variant "TAG ( -// layer3Information?} - -// 3.2.1.77 EMERGENCY RESET COMMAND -type record PDU_BSSMAP_EmergencyResetCommand -{ -OCT1 messageType // 'X'O -}*/ - -// 3.2.1.78 VGCS ADDITIONAL INFORMATION -type record PDU_BSSMAP_VGCS_AdditionalInformation -{ - OCT1 messageType, // '60'O - BSSMAP_IE_TalkerIdentity talkerIdentity -} with { variant "PRESENCE (messageType = '60'O)" } - - -// 3.2.1.79 VGCS/VBS AREA CELL INFO -type record PDU_BSSMAP_VGCS_VBS_AreaCellInfo -{ - OCT1 messageType, // '3C'O - BSSMAP_IE_CellIdentifierListSegment cellIdentifierListSegment, - BSSMAP_IE_AssignmentRequirement assignmentRequirement optional -} with { variant "PRESENCE (messageType = '3C'O)" } - - -// 3.2.1.80 VGCS/VBS ASSIGNMENT STATUS -type record PDU_BSSMAP_VGCS_VBS_AssignmentStatus -{ - OCT1 messageType, // '3B'O - BSSMAP_IE_CellIdentifierListSegmentEstCells cellIdentifierListForEstablishedCells optional, - BSSMAP_IE_CellIdentifierListSegmentCellsToEst cellIdentifierListForCellsToEstablish optional, - BSSMAP_IE_CellIdentifierListSegmentReleasedCellsNoUserPresent cellIdentifierListSegmentReleasedCellsNoUserPresent optional, - BSSMAP_IE_CellIdentifierListSegmentNotEstablishedCellsNoEstPossible cellIdentifierListSegmentNotEstablishedCellsNoEstPossible optional, - BSSMAP_IE_VGCS_VBS_CellStatus vGCS_VBS_CellStatus optional -} with { variant "PRESENCE (messageType = '3B'O)" } - - -// 3.2.1.81 VGCS SMS -type record PDU_BSSMAP_VGCS_SMS -{ - OCT1 messageType, // '61'O - BSSMAP_IE_SMS_to_VGCS sMS_to_VGCS -} with { variant "PRESENCE (messageType = '61'O)" } - - -// 3.2.1.82 NOTIFICATION DATA -type record PDU_BSSMAP_NotificationData -{ - OCT1 messageType, // '62' - BSSMAP_IE_ApplicationData applicationData, - BSSMAP_IE_DataIdentity dataIdentity, - BSSMAP_IE_MSISDN mSISDN optional -} with { variant "PRESENCE (messageType = '62'O)" } - - -// 3.2.1.83 INTERNAL HANDOVER REQUIRED -type record PDU_BSSMAP_InternalHandoverRequired -{ - OCT1 messageType, // '70' - BSSMAP_IE_Cause cause, - BSSMAP_IE_CellIdentifier cellIdentifier, - BSSMAP_IE_AoIP_TransportLayerAddress aoIPTransportLayer optional, - BSSMAP_IE_SpeechCodecList codecList -} with { variant "PRESENCE (messageType = '70'O)" } - - -// 3.2.1.84 INTERNAL HANDOVER REQUIRED REJECT -type record PDU_BSSMAP_InternalHandoverRequiredReject -{ - OCT1 messageType, // '71' - BSSMAP_IE_Cause cause, - BSSMAP_IE_SpeechCodecList codecList optional -} with { variant "PRESENCE (messageType = '71'O)" } - - -// 3.2.1.85 INTERNAL HANDOVER COMMAND -type record PDU_BSSMAP_InternalHandoverCommand -{ - OCT1 messageType, // '72' - BSSMAP_IE_SpeechCodec speechCodec, - BSSMAP_IE_CircuitIdentityCode circuitIdentityCode optional, - BSSMAP_IE_AoIP_TransportLayerAddress aoIPTransportLayer optional, - BSSMAP_IE_CallIdentifier callIdentifier optional, - BSSMAP_IE_DownLinkDTXFlag downLinkDTX_Flag optional, - BSSMAP_IE_LCLS_ConnectionStatusControl lCLS_ConnectionStatusControl optional -} with { variant "PRESENCE (messageType = '72'O)" } - -// 3.2.1.86 INTERNAL HANDOVER ENQUIRY -type record PDU_BSSMAP_InternalHandoverEnquiry -{ - OCT1 messageType, //'73' - BSSMAP_IE_SpeechCodec speechCodec -} with { variant "PRESENCE (messageType = '73'O)" } - - -// 3.2.1.87 RESET IP RESOURCE -type record PDU_BSSMAP_ResetIPResource -{ - OCT1 messageType, //'3D' - BSSMAP_IE_Cause cause, - BSSMAP_IE_CallIdentifierList callIdentifierList -} with { variant "PRESENCE (messageType = '3D'O)" } - - -// 3.2.1.88 RESET IP RESOURCE ACK -type record PDU_BSSMAP_ResetIPResourceAck -{ - OCT1 messageType, //'3E' - BSSMAP_IE_CallIdentifierList callIdentifierList -} with { variant "PRESENCE (messageType = '3E'O)" } - - -// 3.2.1.89 REROUTE COMMAND -type record PDU_BSSMAP_RerouteCommand -{ - OCT1 messageType, //'78' - BSSMAP_IE_Layer3Information initialLayer3Information, - BSSMAP_IE_RerouteRejectCause rerouteRejectCause, - BSSMAP_IE_Layer3Information layer3Information optional, - BSSMAP_IE_SendSequenceNumber sendSequenceNumber optional, - BSSMAP_IE_IMSI iMSI optional -} with { variant "PRESENCE (messageType = '78'O)" } - -// 3.2.1.90 REROUTE COMPLETE -type record PDU_BSSMAP_RerouteComplete -{ - OCT1 messageType, //'79' - BSSMAP_IE_RerouteCompleteOutcome rerouteCompleteOutcome -} with { variant "PRESENCE (messageType = '79'O)" } - -// 3.2.1.91 LCLS CONNECT CONTROL -type record PDU_BSSMAP_LCLS_ConnectControl -{ - OCT1 messageType, //'74' - BSSMAP_IE_LCLS_Configuration lCLS_Configuration optional, - BSSMAP_IE_LCLS_ConnectionStatusControl lCLS_ConnectionStatusControl optional -} with { variant "PRESENCE (messageType = '74'O)" } - -// 3.2.1.92 LCLS CONNECT CONTROL ACK -type record PDU_BSSMAP_LCLS_ConnectControlAck -{ - OCT1 messageType, //'75' - BSSMAP_IE_LCLS_BSS_Status lCLS_BSS_Status -} with { variant "PRESENCE (messageType = '75'O)" } - -// 3.2.1.93 LCLS NOTIFICATION -type record PDU_BSSMAP_LCLS_Notification -{ - OCT1 messageType, //'76' - BSSMAP_IE_LCLS_BSS_Status lCLS_BSS_Status optional, - BSSMAP_IE_LCLS_BreakRequest lCLS_BreakRequest optional -} with { variant "PRESENCE (messageType = '76'O)" } - - -//The container type of all BSSMAP messages -type union PDU_BSSMAP -{ - PDU_BSSMAP_AssignmentRequest assignmentRequest, - PDU_BSSMAP_AssignmentComplete assignmentComplete, - PDU_BSSMAP_AssignmentFailure assignmentFailure, - PDU_BSSMAP_ChannelModifyRequest channelModifyRequest, - PDU_BSSMAP_Block block, - PDU_BSSMAP_BlockingAck blockingAck, - PDU_BSSMAP_BSSInvokeTrace bSSInvokeTrace, - PDU_BSSMAP_ChangeCircuit changeCircuit, - PDU_BSSMAP_ChangeCircuitAck changeCircuitAck, - PDU_BSSMAP_CipherModeCommand cipherModeCommand, - PDU_BSSMAP_CipherModeComplete cipherModeComplete, - PDU_BSSMAP_CipherModeReject cipherModeReject, - PDU_BSSMAP_CircuitGroupBlock circuitGroupBlock, - PDU_BSSMAP_CircuitGroupBlockingAck circuitGroupBlockingAck, - PDU_BSSMAP_CircuitGroupUnblock circuitGroupUnblock, - PDU_BSSMAP_CircuitGroupUnblockAck circuitGroupUnblockAck, - PDU_BSSMAP_ClassmarkRequest classmarkRequest, - PDU_BSSMAP_ClassmarkUpdate classmarkUpdate, - PDU_BSSMAP_ClearCommand clearCommand, - PDU_BSSMAP_ClearComplete clearComplete, - PDU_BSSMAP_ClearRequest clearRequest, - PDU_BSSMAP_CommonID commonID, - PDU_BSSMAP_CompleteLayer3Information completeLayer3Information, - PDU_BSSMAP_Confusion confusion, - PDU_BSSMAP_ConnectionlessInformation connectionlessInformation, - PDU_BSSMAP_HandoverCandidateEnquire handoverCandidateEnquire, - PDU_BSSMAP_HandoverCandidateResponse handoverCandidateResponse, - PDU_BSSMAP_HandoverCommand handoverCommand, - PDU_BSSMAP_HandoverComplete handoverComplete, - PDU_BSSMAP_HandoverDetect handoverDetect, - PDU_BSSMAP_HandoverFailure handoverFailure, - PDU_BSSMAP_HandoverPerformed handoverPerformed, - PDU_BSSMAP_HandoverRequest handoverRequest, - PDU_BSSMAP_HandoverRequestAck handoverRequestAck, - PDU_BSSMAP_HandoverRequired handoverRequired, - PDU_BSSMAP_HandoverRequiredReject handoverRequiredReject, - PDU_BSSMAP_HandoverSucceeded handoverSucceeded, - PDU_BSSMAP_LoadIndication loadIndication, - PDU_BSSMAP_LSAInformation lSAInformation, - PDU_BSSMAP_MSCInvokeTrace mSCInvokeTrace, - PDU_BSSMAP_Overload overload, - PDU_BSSMAP_Paging paging, - PDU_BSSMAP_PerformLocationAbort performLocationAbort, - PDU_BSSMAP_PerformLocationRequest performLocationRequest, - PDU_BSSMAP_PerformLocationResponse performLocationResponse, - PDU_BSSMAP_QueueingIndication queueingIndication, - PDU_BSSMAP_Reset reset, - PDU_BSSMAP_ResetAck resetAck, - PDU_BSSMAP_ResetCircuit resetCircuit, - PDU_BSSMAP_ResetCircuitAck resetCircuitAck, - PDU_BSSMAP_ResourceIndication resourceIndication, - PDU_BSSMAP_ResourceRequest resourceRequest, - PDU_BSSMAP_SAPInReject sAPInReject, - PDU_BSSMAP_Suspend suspend, - PDU_BSSMAP_Resume resume, - PDU_BSSMAP_Unblock unblock, - PDU_BSSMAP_UnblockAck unblockAck, - PDU_BSSMAP_UnequippedCircuit unequippedCircuit, - PDU_BSSMAP_UplinkRequest uplinkRequest, - PDU_BSSMAP_UplinkRequestAck uplinkRequestAck, - PDU_BSSMAP_UplinkRequestConfirmation uplinkRequestConfirmation, - PDU_BSSMAP_UplinkReleaseIndication uplinkReleaseIndication, - PDU_BSSMAP_UplinkRejectCommand uplinkRejectCommand, - PDU_BSSMAP_UplinkReleaseCommand uplinkReleaseCommand, - PDU_BSSMAP_UplinkSeizedCommand uplinkSeizedCommand, - PDU_BSSMAP_VGCS_VBSSetup vGCS_VBSSetup, - PDU_BSSMAP_VGCS_VBSSetupAck vGCS_VBSSetupAck, - PDU_BSSMAP_VGCS_VBSSetupRefuse vGCS_VBSSetupRefuse, - PDU_BSSMAP_VGCS_VBSAssignmentRequest vGCS_VBSAssignmentRequest, - PDU_BSSMAP_VGCS_VBSAssignmentResult vGCS_VBSAssignmentResult, - PDU_BSSMAP_VGCS_VBSAssignmentFailure vGCS_VBSAssignmentFailure, - PDU_BSSMAP_VGCS_VBSQueuingIndication vGCS_VBSQueuingIndication, - // FIXME: these 2 message type codes are not specified in the standard - // PDU_BSSMAP_EmergencyResetIndication emergencyResetIndication, - // PDU_BSSMAP_EmergencyResetCommand emergencyResetCommand, - PDU_BSSMAP_VGCS_AdditionalInformation vGCS_AdditionalInformation, - PDU_BSSMAP_VGCS_VBS_AreaCellInfo vGCS_VBS_AreaCellInfo, - PDU_BSSMAP_VGCS_VBS_AssignmentStatus vGCS_VBS_AssignmentStatus, - PDU_BSSMAP_VGCS_SMS vGCS_SMS, - PDU_BSSMAP_UplinkApplicationData uplinkApplicationData, - PDU_BSSMAP_NotificationData notificationData, - PDU_BSSMAP_InternalHandoverRequired internalHandoverRequired, - PDU_BSSMAP_InternalHandoverRequiredReject internalHandoverRequiredReject, - PDU_BSSMAP_InternalHandoverCommand internalHandoverCommand, - PDU_BSSMAP_InternalHandoverEnquiry internalHandoverEnquiry, - PDU_BSSMAP_ResetIPResource resetIPResource, - PDU_BSSMAP_ResetIPResourceAck resetIPResourceAck, - PDU_BSSMAP_RerouteCommand rerouteCommand, - PDU_BSSMAP_RerouteComplete rerouteComplete, - PDU_BSSMAP_LCLS_ConnectControl lCLS_ConnectControl, - PDU_BSSMAP_LCLS_ConnectControlAck lCLS_connectControlAck, - PDU_BSSMAP_LCLS_Notification lCLS_Notification -} - - - -/////////////////////////////////////////// -// BSSAP message definition -/////////////////////////////////////////// - -type union BSSMAPorDTAP -{ - PDU_BSSMAP bssmap, - octetstring dtap -} - - -type record PDU_BSSAP -{ - BIT1 discriminator, // 0= BSSMAP ; 1 = DTAP - BIT7 spare, // always '0000000'B - OCT1 dlci optional, - LIN1 lengthIndicator, - BSSMAPorDTAP pdu -} with {variant (lengthIndicator)"LENGTHTO (pdu)"; - variant (pdu)"CROSSTAG( bssmap, discriminator='0'B; - dtap, discriminator='1'B)"; - variant (dlci)"PRESENCE(discriminator='1'B)"} - - -} with { encode "RAW"} // End of module BSSMAP_typedefs diff --git a/BSSMAP_v11.2.0_CNL113761_LATEST/src/BSSMAP_V11.2.0.grp b/BSSMAP_v11.2.0_CNL113761_LATEST/src/BSSMAP_V11.2.0.grp deleted file mode 100644 index 02e3cd348..000000000 --- a/BSSMAP_v11.2.0_CNL113761_LATEST/src/BSSMAP_V11.2.0.grp +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - diff --git a/GTP_v13.5.0_CNL113843_LATEST/GTP_v13.5.0_CNL113843.tpd b/GTP_v13.5.0_CNL113843_LATEST/GTP_v13.5.0_CNL113843.tpd deleted file mode 100644 index 62620ee42..000000000 --- a/GTP_v13.5.0_CNL113843_LATEST/GTP_v13.5.0_CNL113843.tpd +++ /dev/null @@ -1,47 +0,0 @@ - - - - GTP_v13.5.0_CNL113843 - - - - - - - - - - - - - Default - - - - - true - true - true - bin/GTP_v13.5.0_CNL113843 - - - bin - - - - - diff --git a/GTP_v13.5.0_CNL113843_LATEST/doc/GTP_v13.5_Descr.doc b/GTP_v13.5.0_CNL113843_LATEST/doc/GTP_v13.5_Descr.doc deleted file mode 100644 index 06749f8b4..000000000 Binary files a/GTP_v13.5.0_CNL113843_LATEST/doc/GTP_v13.5_Descr.doc and /dev/null differ diff --git a/GTP_v13.5.0_CNL113843_LATEST/doc/GTP_v13.5_PRI.doc b/GTP_v13.5.0_CNL113843_LATEST/doc/GTP_v13.5_PRI.doc deleted file mode 100644 index f8a42fdd9..000000000 Binary files a/GTP_v13.5.0_CNL113843_LATEST/doc/GTP_v13.5_PRI.doc and /dev/null differ diff --git a/GTP_v13.5.0_CNL113843_LATEST/src/GTPC_EncDec.cc b/GTP_v13.5.0_CNL113843_LATEST/src/GTPC_EncDec.cc deleted file mode 100644 index d3548e72d..000000000 --- a/GTP_v13.5.0_CNL113843_LATEST/src/GTPC_EncDec.cc +++ /dev/null @@ -1,216 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// // -// 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: GTPC_EncDec.cc -// Rev: R1B -// Prodnr: CNL 113 843 -// Contact: http://ttcn.ericsson.se -// Reference: 3GPP TS 29.060 v13.5.0 - -#include "GTPC_Types.hh" - -namespace GTPC__Types { - - -// find the length of the optional part and decode optional part into OPT_PART -int find_optpart_length(const unsigned char * opt_part_ptr,GTPC__Header__optional__part& OPT_PART)// pointer to opt part start -{ - int opt_part_length = 4; // mandatory minimum length of opt_part - OPT_PART.sequenceNumber() = OCTETSTRING(2,opt_part_ptr); - OPT_PART.npduNumber() = OCTETSTRING(1,opt_part_ptr+2); - OPT_PART.nextExtHeader() = OCTETSTRING(1,opt_part_ptr+3); - OPT_PART.gTPC__extensionHeader__List() = OMIT_VALUE; - - int i = 0; - bool opt_part_end = false; - while(!opt_part_end) - { - if (opt_part_ptr[opt_part_length-1] != 0x00) // 0x00 means end of optional part - { - unsigned char lengthfield = opt_part_ptr[opt_part_length]; - - OPT_PART.gTPC__extensionHeader__List()()[i].lengthfield() = lengthfield; - OPT_PART.gTPC__extensionHeader__List()()[i].content() = - OCTETSTRING(4*lengthfield-2,opt_part_ptr + opt_part_length +1); - OPT_PART.gTPC__extensionHeader__List()()[i].nextExtHeader() = - OCTETSTRING(1,opt_part_ptr + opt_part_length + 4*lengthfield - 1); - - opt_part_length = opt_part_length + 4*lengthfield; - i++; - } - else - {opt_part_end = true;} - } - - return opt_part_length; -} - - -void dec__PDU__GTPC_no_optional_part(const unsigned char * udp__pdu,const int pl_udp_pdu_length, const SystemUnderTest& pl__SystemUnderTest,PDU__GTPC& pdu) -{ - TTCN_Buffer buf; - - if ((pl__SystemUnderTest == SystemUnderTest::GGSN) || (pl__SystemUnderTest == SystemUnderTest::CGW)) - // testing GGSN or CGW (not default) - { - const unsigned char *gtpc_message = (const unsigned char *) udp__pdu; - if ((gtpc_message[1] == 0x12) || (gtpc_message[1] == 0x13)) - // if updatePDPContextRequest or updatePDPContextResponse message is received from GGSN or C-GW - { - unsigned char pn = gtpc_message[0] & 0x01; - pdu.pn__bit() = BITSTRING(1,&pn); - - unsigned char s = (gtpc_message[0] & 0x02) >> 1; - pdu.s__bit() = BITSTRING(1,&s); - - unsigned char e = (gtpc_message[0] & 0x04) >> 2; - pdu.e__bit() = BITSTRING(1,&e); - - unsigned char spare = (gtpc_message[0] & 0x08) >> 3; - pdu.spare() = BITSTRING(1,&spare ); - - unsigned char pt = (gtpc_message[0] & 0x10) >> 4; - pdu.pt() = BITSTRING(1,&pt ); - - unsigned char version = ((gtpc_message[0] & 0x80) >> 7) | - ((gtpc_message[0] & 0x40) >> 5) | - ((gtpc_message[0] & 0x20) >> 3) ; - pdu.version() = BITSTRING(3,&version); - - pdu.messageType() = OCTETSTRING(1,gtpc_message+1); - - pdu.lengthf() = (gtpc_message[2] << 8) + gtpc_message[3]; - - pdu.teid() = OCTETSTRING(4,gtpc_message+4); - - pdu.opt__part() = OMIT_VALUE; - - if (gtpc_message[1] == 0x12) //updatePDPContextRequest - { - if(pl__SystemUnderTest == SystemUnderTest::GGSN) // from GGSN - { - UpdatePDPContextRequestGGSN updatePDPContextRequestGGSN; - OCTETSTRING updatePDPContextRequestGGSN_string = OCTETSTRING(pl_udp_pdu_length-8,udp__pdu+8 ); - buf.put_os(updatePDPContextRequestGGSN_string); - updatePDPContextRequestGGSN.decode(UpdatePDPContextRequestGGSN_descr_,buf,TTCN_EncDec::CT_RAW); - pdu.gtpc__pdu().updatePDPContextRequest().updatePDPContextRequestGGSN() = updatePDPContextRequestGGSN; - } - else // from CGW - { - UpdatePDPContextRequestCGW updatePDPContextRequestCGW; - OCTETSTRING updatePDPContextRequestCGW_string = OCTETSTRING(pl_udp_pdu_length-8,udp__pdu+8 ); - buf.put_os(updatePDPContextRequestCGW_string); - updatePDPContextRequestCGW.decode(UpdatePDPContextRequestCGW_descr_,buf,TTCN_EncDec::CT_RAW); - pdu.gtpc__pdu().updatePDPContextRequest().updatePDPContextRequestCGW() = updatePDPContextRequestCGW; - } - } - else //updatePDPContextResponse - { - if(pl__SystemUnderTest == SystemUnderTest::GGSN) // from GGSN - { - UpdatePDPContextResponseGGSN updatePDPContextResponseGGSN; - OCTETSTRING updatePDPContextResponseGGSN_string = OCTETSTRING(pl_udp_pdu_length-8,udp__pdu+8 ); - buf.put_os(updatePDPContextResponseGGSN_string); - updatePDPContextResponseGGSN.decode(UpdatePDPContextResponseGGSN_descr_,buf,TTCN_EncDec::CT_RAW); - pdu.gtpc__pdu().updatePDPContextResponse().updatePDPContextResponseGGSN() = updatePDPContextResponseGGSN; - } - else // from CGW - { - UpdatePDPContextResponseCGW updatePDPContextResponseCGW; - OCTETSTRING updatePDPContextResponseCGW_string = OCTETSTRING(pl_udp_pdu_length-8,udp__pdu+8 ); - buf.put_os(updatePDPContextResponseCGW_string); - updatePDPContextResponseCGW.decode(UpdatePDPContextResponseCGW_descr_,buf,TTCN_EncDec::CT_RAW); - pdu.gtpc__pdu().updatePDPContextResponse().updatePDPContextResponseCGW() = updatePDPContextResponseCGW; - } - } - - buf.clear(); - return; - } - else // if message not equal to updatePDPContextRequest or updatePDPContextResponse is received from GGSN or C-GW - { - buf.put_s(pl_udp_pdu_length,udp__pdu); - pdu.decode(PDU__GTPC_descr_, buf, TTCN_EncDec::CT_RAW); - buf.clear(); - return; - } - } - else //pl__SystemUnderTest is SGSN or MME (this is default) - { - buf.put_s(pl_udp_pdu_length,udp__pdu); - pdu.decode(PDU__GTPC_descr_, buf, TTCN_EncDec::CT_RAW); - buf.clear(); - return; - } -} - -////////////////////////////////// -// Decoding function for GTPC__DialoguePDU -////////////////////////////////// - -PDU__GTPC dec__PDU__GTPC(const OCTETSTRING& udp__pdu,const SystemUnderTest& pl__SystemUnderTest) -{ - PDU__GTPC pdu; - - const unsigned char *gtpc_message = (const unsigned char *) udp__pdu; - - int opt_part_length = 0; - if ( gtpc_message[0] & 0x07 ) // opt_part is present - { - GTPC__Header__optional__part OPT_PART; - - // find the length of the optional part and decode optional part into OPT_PART - opt_part_length = find_optpart_length(gtpc_message+8,OPT_PART); - if( ((gtpc_message[2] << 8) + gtpc_message[3] - opt_part_length) < 0 ) - {TTCN_error("Decoding error, lengthf field is shorter that decoded length of opt_part");} - - // build PDU without optional part - unsigned int gtpc_IEs_length = (gtpc_message[2] << 8) + gtpc_message[3] - opt_part_length; - unsigned char gtpcBuf[8 + gtpc_IEs_length]; - memcpy(gtpcBuf,gtpc_message,8); - memcpy(gtpcBuf+8,gtpc_message+8+opt_part_length,gtpc_IEs_length); - - // substitute dummy bits (indicating there is no optional part) - gtpcBuf[0] = gtpcBuf[0] & 0xf8; - - // substitute dummy length (not including optional part) - gtpcBuf[2] = (gtpc_IEs_length & 0xff00) >> 8; - gtpcBuf[3] = gtpc_IEs_length & 0xff; - - // call decoding function - dec__PDU__GTPC_no_optional_part(gtpcBuf,udp__pdu.lengthof() - opt_part_length,pl__SystemUnderTest,pdu); - - // put back the original values - unsigned char pn = gtpc_message[0] & 0x01; - pdu.pn__bit() = BITSTRING(1,&pn); - - unsigned char s = (gtpc_message[0] & 0x02) >> 1; - pdu.s__bit() = BITSTRING(1,&s); - - unsigned char e = (gtpc_message[0] & 0x04) >> 2; - pdu.e__bit() = BITSTRING(1,&e); - - pdu.lengthf() = (gtpc_message[2] << 8) + gtpc_message[3]; - - pdu.opt__part() = OPT_PART; - - return pdu; - } - else // opt_part is not present - { - dec__PDU__GTPC_no_optional_part(gtpc_message,udp__pdu.lengthof(),pl__SystemUnderTest,pdu); - return pdu; - } -} // end of function - - - -}//namespace diff --git a/GTP_v13.5.0_CNL113843_LATEST/src/GTPC_Types.ttcn b/GTP_v13.5.0_CNL113843_LATEST/src/GTPC_Types.ttcn deleted file mode 100644 index 8370f26f3..000000000 --- a/GTP_v13.5.0_CNL113843_LATEST/src/GTPC_Types.ttcn +++ /dev/null @@ -1,3958 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// // -// 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: GTPC_Types.ttcn -// Rev: R1B -// Prodnr: CNL 113 843 -// Contact: http://ttcn.ericsson.se -// Reference: 3GPP TS 29.060 v13.5.0 - -module GTPC_Types { - -import from General_Types all; - -// external encoding/decoding functions -external function enc_PDU_GTPC(in PDU_GTPC gtpc_pdu) return octetstring -with { extension "prototype(convert)" - extension "encode(RAW)" - } - -external function dec_PDU_GTPC(in octetstring udp_pdu, SystemUnderTest pl_SystemUnderTest := SGSN) return PDU_GTPC -// for SGSN testing pl_SystemUnderTest is SGSN (default value) -// for GGSN testing pl_SystemUnderTest is GGSN -// for CGW testing pl_SystemUnderTest is CGW -// for MME testing pl_SystemUnderTest is MME -// in current implementation the decoder behavior is identical for -// SGSN and MME - -// determines SUT, needed for decoding updatePDPContextRequest -// and updatePDPContextResponse messages -type enumerated SystemUnderTest{SGSN(0),GGSN(1),CGW(2),MME(3)}; -///////////////////////////// -// Information Elements -///////////////////////////// -//Information Element with an IE Type Extension field - 7.7.0A -//for future use -type record IE_Type_Extension { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, //16 bits - IE_Extension_UnionType iE_Type_Extension - -} with { - variant (lengthf) "LENGTHTO(iE_Type_Extension)"; - variant "PRESENCE( type_gtpc = 'EE'O)"; -}; - -type union IE_Extension_UnionType -{ - IE_Extension_Type iE_Type_Extension -} - -type record IE_Extension_Type -{ - OCT2 elementIdentifier, - octetstring valueField -} - - -//Cause - 7.7.1 -type record Cause_gtpc { - OCT1 type_gtpc, - OCT1 causevalue -} with { variant "PRESENCE( type_gtpc = '01'O)"; }; - -//IMSI - 7.7.2 -type record IMSI_gtpc { - OCT1 type_gtpc, - hexstring digits length(15), - HEX1 padding -} with { variant "PRESENCE( type_gtpc = '02'O)"; }; - -//Routing Area ID - 7.7.3 -// Note : the order of MNC digits is -// MNC digit 3, MNC digit 1, MNC digit 2 -type record RoutingAreaIdentity { - OCT1 type_gtpc, - hexstring mcc_digits length(3), - hexstring mnc_digits length(3), - OCT2 lac, - OCT1 rac -} with { variant "PRESENCE( type_gtpc = '03'O)"; }; - -//TLLI - 7.7.4 -type record TLLI { - OCT1 type_gtpc, - OCT4 tlli_element -} with { variant "PRESENCE( type_gtpc = '04'O)"; }; - -//Packet TMSI - 7.7.5 -type record PacketTMSI { - OCT1 type_gtpc, - OCT4 p_tmsi -} with { variant "PRESENCE( type_gtpc = '05'O)"; }; - -//Reordering Required - 7.7.6 -type record ReorderingRequired { - OCT1 type_gtpc, - BIT1 reordreq, - BIT7 spare -} with { variant "PRESENCE( type_gtpc = '08'O)"; }; - -//Authentication Triplet - 7.7.7 -type record AuthenticationTriplet_GTPC { - OCT1 type_gtpc, - OCT16 rand, - OCT4 sres, - OCT8 kc -} with { variant "PRESENCE( type_gtpc = '09'O)"; }; - -type set of AuthenticationTriplet_GTPC AuthenticationTriplet_GTPC_SetOf; - -//MAP Cause - 7.7.8 -type record MAP_Cause { - OCT1 type_gtpc, - OCT1 mapCauseValue -} with { variant "PRESENCE( type_gtpc = '0B'O)"; }; - -//PTMSI Signature - 7.7.9 -type record PTMSI_Signature { - OCT1 type_gtpc, - OCT3 ptmsi_Signature -} with { variant "PRESENCE( type_gtpc = '0C'O)"; }; - -//MS Validated - 7.7.10 -type record MS_Validated { - OCT1 type_gtpc, - BIT1 msValidated, - BIT7 spare -} with { variant "PRESENCE( type_gtpc = '0D'O)"; }; - -//Recovery - 7.7.11 -type record Recovery_gtpc { - OCT1 type_gtpc, - OCT1 restartCounter -} with { variant "PRESENCE(type_gtpc = '0E'O)";}; - -//Selection Mode - 7.7.12 -type record SelectionMode { - OCT1 type_gtpc, - BIT2 selectModeValue, - BIT6 spare -} with { variant "PRESENCE(type_gtpc = '0F'O)"; }; - -//TEI Data I - 7.7.13 -type record TeidDataI { - OCT1 type_gtpc, - OCT4 teidDataI -} with { variant "PRESENCE(type_gtpc = '10'O)"; }; - -//TEI Control Plane - 7.7.14 -type record TeidControlPlane { - OCT1 type_gtpc, - OCT4 teidControlPlane -} with { variant "PRESENCE(type_gtpc = '11'O)"; }; - -//TEI Data II - 7.7.15 -type record of TeidDataII TeidDataII_List - -type record TeidDataII { - OCT1 type_gtpc, - BIT4 nsapi, - BIT4 unused, - OCT4 teidDataII -} with { variant "PRESENCE(type_gtpc = '12'O)"; }; - -//Teardown Ind -7.7.16 -type record TearDownInd { - OCT1 type_gtpc, - BIT1 tdInd, - BIT7 spare -} with { variant "PRESENCE(type_gtpc = '13'O)"; }; - -//NSAPI - 7.7.17 -type record NSAPI_GTPC { - OCT1 type_gtpc, - BIT4 nsapi, - BIT4 unused -} with { variant "PRESENCE(type_gtpc = '14'O)"; }; - -//RANAP Cause - 7.7.18 -type record RANAPCause { - OCT1 type_gtpc, - OCT1 ranapCause -} with { variant "PRESENCE(type_gtpc = '15'O)"; }; - -//RAB Context - 7.7.19 -type record of RABContext RABContext_List; - -type record RABContext { - OCT1 type_gtpc, - BIT4 nsapi, - BIT4 spare, - OCT2 dlgtp_u, - OCT2 ulgtp_u, - OCT2 dl_pdcp, - OCT2 ul_pdcp -} with {variant "PRESENCE( type_gtpc = '16'O)";}; - -//Radio Priority SMS - 7.7.20 -type record RadioPrioritySMS { - OCT1 type_gtpc, - BIT3 radioprioritySMS, - BIT5 reserved -} with {variant "PRESENCE( type_gtpc = '17'O)";}; - -//RadioPriority - 7.7.21 - -type record of RadioPriority RadioPriority_List; - -type record RadioPriority { - OCT1 type_gtpc, - BIT3 radiopriority, - BIT1 reserved, - BIT4 nsapi -} with {variant "PRESENCE( type_gtpc = '18'O)";}; - -//Packet Flow Id - 7.7.22 -type record of PacketFlowID PacketFlowID_List - -type record PacketFlowID { - OCT1 type_gtpc, - BIT4 nsapi, - BIT4 reserved, - OCT1 packflowID -} with {variant "PRESENCE( type_gtpc = '19'O)";}; - -//Charging Characteristics - 7.7.23 -type record of ChargingCharacteristics_GTPC - ChargingCharacteristics_List_GTPC; - -type record ChargingCharacteristics_GTPC { - OCT1 type_gtpc, - OCT2 chargingChar -} with {variant "PRESENCE( type_gtpc = '1A'O)";}; - -//Trace Reference - 7.7.24 -type record TraceRef { - OCT1 type_gtpc, - OCT2 trace_ref -} with {variant "PRESENCE( type_gtpc = '1B'O)";}; - -//Trace Type - 7.7.25 -type record GTP_TraceType { - OCT1 type_gtpc, - OCT2 trace_type -} with {variant "PRESENCE( type_gtpc = '1C'O)";}; - -//MS Not Reachable Reason - 7.7.25A -type record MSNotReachableReason { - OCT1 type_gtpc, - OCT1 reason_for_absence -} with {variant "PRESENCE( type_gtpc = '1D'O)";}; - -//Radio Priority LCS - 7.7.25B -type record RadioPriorityLCS{ - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, //16 bits - BIT3 radioPriorityLCS, - BIT5 reserved -} with { variant "PRESENCE( type_gtpc = '96'O)"; - variant (lengthf) "LENGTHTO(radioPriorityLCS,reserved)"; }; - -//Charging ID - 7.7.26 -type record ChargingID { - OCT1 type_gtpc, - OCT4 chargingID -} with { variant "PRESENCE( type_gtpc = '7F'O)";}; - -//End User Address ID - 7.7.27 -type record EndUserAddress{ - OCT1 type_gtpc, - EndUserAddress_types endUserAddress -} with { variant "PRESENCE( type_gtpc = '80'O)";}; - -type union EndUserAddress_types { - EndUserAddressIPv4 endUserAddressIPv4, - EndUserAddressIPv6 endUserAddressIPv6, - EndUserAddressPPP endUserAddressPPP, - EndUserAddressIPv4andIPv6 endUserAddressIPv4andIPv6, - EndUserAddressOSPIHOS endUserAddressOSPIHOS -} with { variant "TAG(endUserAddressIPv4, pdp_typenum = '21'O; - endUserAddressIPv6, pdp_typenum = '57'O; - endUserAddressPPP, pdp_typenum = '01'O; - endUserAddressIPv4andIPv6, pdp_typenum = '8D'O; - endUserAddressOSPIHOS, OTHERWISE;)" }; - -type record EndUserAddressIPv4 { - LIN2_BO_LAST lengthf, //16 bits - BIT4 pdp_typeorg, - BIT4 spare, - OCT1 pdp_typenum, - OCT4 ipv4_address optional -} with { variant (lengthf) "LENGTHTO(pdp_typeorg, spare, pdp_typenum, - ipv4_address)"; }; - -type record EndUserAddressIPv6 { - LIN2_BO_LAST lengthf, //16 bits - BIT4 pdp_typeorg, - BIT4 spare, - OCT1 pdp_typenum, - OCT16 ipv6_address optional -} with { variant (lengthf) "LENGTHTO(pdp_typeorg, spare, pdp_typenum, - ipv6_address)"; }; - -type record EndUserAddressPPP { - LIN2_BO_LAST lengthf, //16 bits - BIT4 pdp_typeorg, - BIT4 spare, - OCT1 pdp_typenum -} with { variant (lengthf) "LENGTHTO(pdp_typeorg, spare, pdp_typenum)"; }; - -type record EndUserAddressIPv4andIPv6 { - LIN2_BO_LAST lengthf, //16 bits - BIT4 pdp_typeorg, - BIT4 spare, - OCT1 pdp_typenum, - OCT4 ipv4_address optional, - OCT16 ipv6_address optional -} with { variant (lengthf) "LENGTHTO(pdp_typeorg, spare, pdp_typenum,ipv4_address, - ipv6_address)"; - variant(ipv4_address) "PRESENCE(lengthf = 6,lengthf = 22)" - variant(ipv6_address) "PRESENCE(lengthf = 18,lengthf = 22)" -}; - -// ETHECS: specification not found in Technical Specification -type record EndUserAddressOSPIHOS { - LIN2_BO_LAST lengthf, //16 bits - BIT4 pdp_typeorg, - BIT4 spare, - OCT1 pdp_typenum -} with { variant (lengthf) "LENGTHTO(pdp_typeorg, spare, pdp_typenum)"; }; - -//MM Context - 7.7.28 -type record MM_Context { - OCT1 type_gtpc, - MM_ContextU context -} with { variant "PRESENCE( type_gtpc = '81'O)";}; - -type union MM_ContextU { - MM_ContextGSM mmcontGSM, - MM_ContextUMTS mmcontUMTS, - MM_ContextGSMUMTS mmcontGSMUMTS, - MM_ContextUMTSReceive mmcontUMTSReceive -} with { variant "TAG(mmcontGSM, security = '01'B; - mmcontUMTS, security = '10'B; - mmcontGSMUMTS, security = '11'B; - mmcontUMTSReceive, security = '00'B;)"; }; - - -type record MM_ContextGSM { - LIN2_BO_LAST lengthf,//16 bits - BIT3 cksn, - BIT5 spare, - BIT3 usedCipher, - integer noofVectors, - BIT2 security, - OCT8 kc, - octetstring triplet, - OCT2 drx_par, - integer msNetW_cap_length, - octetstring msNetw_cap optional, - LIN2_BO_LAST containerLength, - octetstring container optional -} with { variant (lengthf) "LENGTHTO(cksn, spare, usedCipher, noofVectors, - security, kc, triplet, drx_par, - msNetW_cap_length, msNetw_cap, - containerLength, container - )"; - variant (msNetW_cap_length) "LENGTHTO(msNetw_cap)"; - variant (containerLength) "LENGTHTO(container)"; - variant (noofVectors) "FIELDLENGTH(3)"; - variant (noofVectors) "LENGTHTO(triplet)"; - variant (noofVectors) "UNIT(224)"; -}; - -type record MM_ContextUMTS { - LIN2_BO_LAST lengthf, - BIT3 ksi, - BIT3 usedGPRSIntegrityAlgorithm, - BIT1 ugipai, - BIT1 gupii, - BIT3 spare1, - integer noofVectors , - BIT2 security, - OCT16 ck, - OCT16 ik, - LIN2_BO_LAST quintupletlength, - octetstring quintuplet, - OCT2 drx_par, - integer msNetW_cap_length, - octetstring msNetw_cap optional, - LIN2_BO_LAST containerLength, - octetstring container optional -} with { variant (lengthf) "LENGTHTO(ksi, usedGPRSIntegrityAlgorithm, ugipai, gupii, spare1, noofVectors, security, - ck, ik, quintupletlength, quintuplet, - drx_par, msNetW_cap_length, msNetw_cap, - containerLength, container - )"; - variant (quintupletlength) "LENGTHTO(quintuplet)"; - variant (msNetW_cap_length) "LENGTHTO(msNetw_cap)"; - variant (containerLength) "LENGTHTO(container)"; - variant (noofVectors) "FIELDLENGTH(3)"; -}; - -type record MM_ContextGSMUMTS { - LIN2_BO_LAST lengthf, - BIT3 cksn, - BIT5 spare, - BIT3 usedCipher, - integer noofVectors, - BIT2 security, - OCT8 kc, - LIN2_BO_LAST quintupletlength, - octetstring quintuplet, - OCT2 drx_par, - integer msNetW_cap_length, - octetstring msNetw_cap optional, - LIN2_BO_LAST containerLength, - octetstring container optional -} with { variant (lengthf) "LENGTHTO(cksn, spare, usedCipher, noofVectors, - security, kc, quintupletlength, quintuplet, - drx_par, msNetW_cap_length, msNetw_cap, - containerLength, container - )"; - variant (quintupletlength) "LENGTHTO(quintuplet)"; - variant (msNetW_cap_length) "LENGTHTO(msNetw_cap)"; - variant (containerLength) "LENGTHTO(container)"; - variant (noofVectors) "FIELDLENGTH(3)"; -}; - -type record MM_ContextUMTSReceive { - LIN2_BO_LAST lengthf, - BIT3 ksi, - BIT3 usedGPRSIntegrityAlgorithm, - BIT1 ugipai, - BIT1 gupii, - BIT3 usedCipher, - integer noofVectors, - BIT2 security, - OCT16 ck, - OCT16 ik, - LIN2_BO_LAST quintupletlength, - octetstring quintuplet, - OCT2 drx_par, - integer msNetW_cap_length, - octetstring msNetw_cap optional, - LIN2_BO_LAST containerLength, - octetstring container optional -} with { variant (lengthf) "LENGTHTO(ksi, usedGPRSIntegrityAlgorithm, ugipai, gupii, - usedCipher, noofVectors, - security, ck, ik, quintupletlength, - quintuplet, drx_par,msNetW_cap_length, - msNetw_cap, containerLength, container - )"; - variant (quintupletlength) "LENGTHTO(quintuplet)"; - variant (msNetW_cap_length) "LENGTHTO(msNetw_cap)"; - variant (containerLength) "LENGTHTO(container)"; - variant (noofVectors) "FIELDLENGTH(3)"; -}; - -//From 9.9.3.34 of 3GPP 24.301 according to Req. Spec. 4/1056-LPA 107 579/1 Rev D -type record GTPC_UENetworkCapabilityV -{ - BIT8 eEA, - BIT7 eIA, - BIT1 spare, - BIT8 uEA optional, - BIT7 uIA optional, - BIT1 uCS2 optional, - BIT1 spare2 optional, - BIT1 vCC optional, - BIT6 spare3 optional, - octetstring spare4 length (0..8) optional -} - -//PDP context - 7.7.29 -type record of PDP_Context_GTPC PDP_Context_GTPC_List; - -type record PDP_Context_GTPC { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - BIT4 nsapi, - BIT1 order, - BIT1 asi, - BIT1 vaa, - BIT1 ea, - BIT4 sapi, - BIT4 spare1, - integer qos_subLength, - QualityOfServiceProfile_Value qos_sub, - integer qos_reqLength, - QualityOfServiceProfile_Value qos_req, - integer qos_negLength, - QualityOfServiceProfile_Value qos_neg, - OCT2 snd, - OCT2 snu, - OCT1 sendNPDUnum, - OCT1 receiveNPDUnum, - OCT4 uteidControlPlane, - OCT4 uteidData1, - OCT1 pdpcontext, - BIT4 pdp_typeorg, - BIT4 spare2, - OCT1 pdp_typenum, - integer pdp_addressLength, - octetstring pdp_address length (0..63), - integer ggsn_addressControlPlaneLength, - octetstring ggsn_addressControlPlane length (4..16), - integer ggsn_addressUserPlaneLength, - octetstring ggsn_addressUserPlane length (4..16), - integer apnLength, - octetstring apn, - BIT4 transactionId , - BIT4 spare3, - OCT1 transactionID_cont, - OCT1 pdp_typenum2 optional, - LIN1 pdp_addresslength2 optional, - octetstring pdp_Address2 length (0..63) optional -} with {variant "PRESENCE( type_gtpc = '82'O)"; - variant (lengthf) "LENGTHTO(nsapi, order, asi, vaa, ea, - sapi, spare1, qos_subLength, qos_sub, qos_reqLength, qos_req, - qos_negLength, qos_neg, snd, snu, sendNPDUnum, receiveNPDUnum, - uteidControlPlane, uteidData1,pdpcontext, pdp_typeorg, spare2, - pdp_typenum, pdp_addressLength, pdp_address, - ggsn_addressControlPlaneLength, ggsn_addressControlPlane, - ggsn_addressUserPlaneLength, ggsn_addressUserPlane, apnLength, apn, - transactionId, spare3, transactionID_cont, pdp_typenum2,pdp_addresslength2,pdp_Address2)"; - variant (qos_subLength) "LENGTHTO(qos_sub)"; - variant (qos_reqLength) "LENGTHTO(qos_req)"; - variant (qos_negLength) "LENGTHTO(qos_neg)"; - variant (pdp_addressLength) "LENGTHTO(pdp_address)"; - variant (ggsn_addressControlPlaneLength) - "LENGTHTO(ggsn_addressControlPlane)"; - variant (ggsn_addressUserPlaneLength) "LENGTHTO(ggsn_addressUserPlane)"; - variant (apnLength) "LENGTHTO(apn)"; - variant (pdp_typenum2,pdp_addresslength2,pdp_Address2) "PRESENCE( ea = '1'B)"; - variant (pdp_addresslength2) "LENGTHTO(pdp_Address2)"; - }; - -//Access Point Name - 7.7.30 -type record AccessPointName { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - octetstring apn_value -}with { variant "PRESENCE( type_gtpc = '83'O)"; - variant (lengthf) "LENGTHTO(apn_value)"; }; - -//Protocol Configuration Options - 7.7.31 -// 24.008 10.5.6.3 -type record ProtConfigOptions { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - BIT3 configProtocol, - BIT4 spare, - BIT1 extension0, - ProtocolIDList protocols -} with { variant "PRESENCE( type_gtpc = '84'O)"; - variant (lengthf) "LENGTHTO(configProtocol, spare, extension0, - protocols)"; }; - -type set of ProtocolElement ProtocolIDList; - -type record ProtocolElement { - OCT2 protocolID, - integer lengthProtoID, - octetstring protoIDContents -} with { variant (lengthProtoID) "LENGTHTO(protoIDContents)" }; - -//GSN Address - 7.7.32 -type record GSN_Address_GTPC { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - octetstring addressf -} with { variant "PRESENCE( type_gtpc = '85'O)"; - variant (lengthf) "LENGTHTO(addressf)"; }; - -//MS International PSTN/ISDN Num.(MSISDN) - 7.7.33 -type record MSISDN { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - octetstring msisdn -} with { variant "PRESENCE( type_gtpc = '86'O)"; - variant (lengthf) "LENGTHTO(msisdn)"; }; - -type record QoSV_GTPC -{ - BIT3 reliabilityClass, - BIT3 delayClass, - BIT2 spare1, // '00'B - BIT3 precedenceClass, - BIT1 spare2, //'0'B - BIT4 peakThroughput, - BIT5 meanThroughput, - BIT3 spare3, //'000'B - BIT3 deliverErroneusSDU optional, //opt because of V97 - BIT2 deliveryOrder optional, //opt because of V97 - BIT3 trafficClass optional, //opt because of V97 - OCT1 maxSDUSize optional, //opt because of V97 - OCT1 maxBitrateUplink optional, //opt because of V97 - OCT1 maxBitrateDownlink optional, //opt because of V97 - BIT4 sduErrorRatio optional, //opt because of V97 - BIT4 residualBER optional, //opt because of V97 - BIT2 trafficHandlingPriority optional, //opt because of V97 - BIT6 transferDelay optional, //opt because of V97 - OCT1 guaranteedBitRateUplink optional, //opt because of V97 - OCT1 guaranteedBitRateDownlink optional, //opt because of V97 - BIT4 sourceStatisticsDescriptor optional, //opt because of V97 - BIT1 signallingIndication optional, //opt because of V97 - BIT3 spare4 optional, //opt because of V97 - // '000'B - OCT1 maxBitrateDownlinkExt optional, //opt because of V97 - OCT1 guaranteedBitRateDownlinkExt optional, //opt because of V97 - OCT1 maxBitrateUplinkExt optional, //opt because of V97 - OCT1 guaranteedBitRateUplinkExt optional //opt because of V97 -}; - -//Quality Of Service Profile - 7.7.34 -type record QualityOfServiceProfile { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - OCT1 allocRetensionPrio, - QoSV_GTPC qos_ProfileValue -} with { variant "PRESENCE( type_gtpc = '87'O)"; - variant (lengthf) "LENGTHTO(allocRetensionPrio, qos_ProfileValue)";}; - -type record QualityOfServiceProfile_Value { - OCT1 allocRetensionPrio, - QoSV_GTPC qos_ProfileValue -} - -//Authentication Quituplet - 7.7.35 -type record AuthenticationQuintuplet_GTPC { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - OCT16 rand, - integer xresLength, - octetstring xres, - OCT16 ck, - OCT16 ik, - integer autnLength, - octetstring autn -} with { variant "PRESENCE( type_gtpc = '88'O)"; - variant (lengthf) "LENGTHTO(rand, xresLength, xres, ck, ik, - autnLength, autn)"; - variant (xresLength) "LENGTHTO(xres)"; - variant (autnLength) "LENGTHTO(autn)"; }; - -//Traffic Flow Template (TFT) - 7.7.36 -// 24.008 10.5.6.12 -type record TrafficFlowTemplate { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - TrafficFlowTemplateV_GTPC tft -} with { variant "PRESENCE( type_gtpc = '89'O)"; - variant (lengthf) "LENGTHTO(tft)"; }; - - -type union TrafficFlowTemplateV_GTPC -{ - TrafficFlowTemplateV_CreateAddReplaceTFT_GTPC - trafficFlowTemplateV_CreateAddReplaceTFT, - TrafficFlowTemplateV_DeletePacketFilter_GTPC - trafficFlowTemplateV_DeletePacketFilter, - TrafficFlowTemplateV_Delete_Existing_TFT_or_No_TFT_Operation_GTPC - trafficFlowTemplateV_Delete_Existing_TFT_or_No_TFT_Operation -}; - - -type record TrafficFlowTemplateV_CreateAddReplaceTFT_GTPC -{ - integer numberOfPacketFilters, - BIT1 eBIT, - BIT3 operationCodeTFT, //'001'B or - PacketFilterList_CreateAddReplaceTFT_GTPC packetFilterList_CreateAddReplaceTFT, - ParametersList_GTPC parametersList optional -} with { - variant "PRESENCE (operationCodeTFT = '001'B, // Create New TFT - operationCodeTFT = '011'B, // Add packet filters to existing TFT - operationCodeTFT = '100'B // Replace packet filters in existing TFT - )"; - variant(parametersList) "PRESENCE(eBIT = '1'B)"; - variant(numberOfPacketFilters)"FIELDLENGTH(4)"; - variant(numberOfPacketFilters)"LENGTHTO(packetFilterList_CreateAddReplaceTFT)"; - variant(numberOfPacketFilters)"UNIT(elements)"; -}; - - -type record TrafficFlowTemplateV_DeletePacketFilter_GTPC -{ - integer numberOfPacketFilters, - BIT1 eBIT, - BIT3 operationCodeTFT, - //'101'B or '011'B or '100'B - PacketFilterList_DeletePacketFilter_GTPC packetFilterList_DeletePacketFilter, - ParametersList_GTPC parametersList optional -} with { - variant "PRESENCE (operationCodeTFT = '101'B)" // Delete packet filters from existing TFT - variant(parametersList) "PRESENCE(eBIT = '1'B)"; - variant(numberOfPacketFilters)"FIELDLENGTH(4)"; - variant(numberOfPacketFilters)"LENGTHTO(packetFilterList_DeletePacketFilter)"; - variant (numberOfPacketFilters)"UNIT(elements)"; -}; - - -type record TrafficFlowTemplateV_Delete_Existing_TFT_or_No_TFT_Operation_GTPC -{ - BIT4 numberOfPacketFilters, //'0000'B - // numberOfPacketFilters is meaningless here since there is no PacketFilterList - BIT1 eBIT, - BIT3 operationCodeTFT, // '010'B or '110'B - ParametersList_GTPC parametersList optional -} with { - variant "PRESENCE (operationCodeTFT = '010'B, // delete existing TFT - operationCodeTFT = '110'B // No TFT Operation - )"; - variant (parametersList) "PRESENCE(eBIT = '1'B)" -}; - - -type record of PacketFilter_GTPC PacketFilterList_CreateAddReplaceTFT_GTPC; - - -type record PacketFilter_GTPC -{ - PacketFilterIdentifier_GTPC identifier, - OCT1 evaluationPrecedence, - LIN1 lengthIndicator, - octetstring contents -} with { variant (lengthIndicator) "LENGTHTO (contents)"}; - - -type record of PacketFilterIdentifier_GTPC PacketFilterList_DeletePacketFilter_GTPC; - - -type OCT1 PacketFilterIdentifier_GTPC; - - -type record of Parameter_GTPC ParametersList_GTPC; - - -type record Parameter_GTPC -{ - OCT1 parameterIdentifier, - LIN1 lengthIndicator, - octetstring contents -} with { variant (lengthIndicator) "LENGTHTO (contents)"}; - - -//Target Identification - 7.7.37 -type record TargetIdentification { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - HEX1 mcc1 optional, - HEX1 mcc2 optional, - HEX1 mcc3 optional, - HEX1 mnc3 optional, - HEX1 mnc1 optional, - HEX1 mnc2 optional, - OCT2 lac optional, - OCT1 rac optional, - OCT2 rnc_id optional, - octetstring extended_rnc_id optional -} with { variant "PRESENCE( type_gtpc = '8A'O)"; - variant (lengthf) "LENGTHTO(mcc1, mcc2, mcc3, mnc3, mnc1, mnc2, - lac, rac, rnc_id, extended_rnc_id)"; }; - -//UTRAN Transparent container - 7.7.38 -type record UTRANTransparentContainer { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - octetstring transparentfield -} with { variant "PRESENCE( type_gtpc = '8B'O)"; - variant (lengthf) "LENGTHTO(transparentfield)";}; - -//RAB Setup Information - 7.7.39 -type record of RABSetupInformation RABSetupInformation_List - -type record RABSetupInformation{ - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - BIT4 nsapi, - BIT4 unused, - OCT4 teidData optional, - octetstring rncIpAddress optional - } with { variant "PRESENCE( type_gtpc = '8C'O)"; - variant (lengthf) "LENGTHTO(nsapi,unused,teidData,rncIpAddress)";}; - -//Extension Header Type List - 7.7.40 -type record ExtensionHeaderTypeList_gtpc { - OCT1 type_gtpc, - integer lengthf, - octetstring extensionTypesList -} with { variant "PRESENCE( type_gtpc = '8D'O)"; - variant (lengthf) "LENGTHTO(extensionTypesList)"; }; - -//Trigger ID - 7.7.41 -type record GTP_TriggerID { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - octetstring triggerID -} with { variant "PRESENCE( type_gtpc = '8E'O)"; - variant (lengthf) "LENGTHTO(triggerID)";}; - -//OMC Identity - 7.7.42 -type record OMCIdentity { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - octetstring omcID -} with { variant "PRESENCE( type_gtpc = '8F'O)"; - variant (lengthf) "LENGTHTO(omcID)"; }; - -//BSSGP RAN Information needed for RAN Transparent Container -//From BSSGP specification 48.018 v9.3.0 according to CR 8446 - -type union LIN2_2a_GTPC -{ -integer length1, -integer length2 -} with { - variant (length1) "FIELDLENGTH(7)"; - variant (length2) "FIELDLENGTH(15)"; - variant (length2) "BYTEORDER(last)"; - variant (length1,length2) "FIELDORDER(msb)"; - } - -type record PDU_in_Error_GTPC -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a_GTPC lengthIndicator, - octetstring erroneous_BSSGP_PDU -} with { - variant (lengthIndicator) "LENGTHTO (erroneous_BSSGP_PDU)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; - }; - -type record Cell_Identifier_GTPC -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a_GTPC lengthIndicator, - HEX1 mccDigit1 , - HEX1 mccDigit2 , - HEX1 mccDigit3 , - HEX1 mncDigit3 , - HEX1 mncDigit1 , - HEX1 mncDigit2 , - OCT2 lac, - OCT1 rac, - OCT2 cI_value -} with { - variant (lengthIndicator) - "LENGTHTO(mccDigit1,mccDigit2,mccDigit3,mncDigit3,mncDigit1, - mncDigit2,lac,rac,cI_value)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - -type record Cause_BSSGP_GTPC - { - OCT1 iEI, - BIT1 ext, - LIN2_2a_GTPC lengthIndicator, - OCT1 cause_Value - } with { - variant (lengthIndicator) "LENGTHTO (cause_Value)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - -//48.018 v9.3.0 11.3.61 -type record RIM_Application_Identity_GTPC -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a_GTPC lengthIndicator, - OCT1 rIMApplicationIdentity -} with { - variant (lengthIndicator) "LENGTHTO (rIMApplicationIdentity)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - -//48.018 v9.3.0 11.3.62 -type record RIM_Sequence_Number_GTPC -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a_GTPC lengthIndicator, - OCT4 rIMSequenceNumber -} with { - variant (lengthIndicator) "LENGTHTO (rIMSequenceNumber)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - -//48.018 v9.3.0 Table 11.3.62a.1 -type record RAN_Information_Request_RIM_Container_GTPC -{ -OCT1 iEI, -BIT1 ext, -LIN2_2a_GTPC lengthIndicator, -RIM_Application_Identity_GTPC rIM_Application_Identity, -RIM_Sequence_Number_GTPC rIM_Sequence_Number, -RIM_PDU_Indications_GTPC rIM_PDU_Indications, -RIM_Protocol_Version_Number_GTPC rIM_Protocol_Version_Number optional, -RAN_Information_Request_Application_Container_GTPC - application_Container optional, -SON_TransferApplicationIdentity sON_TransferApplicationIdentity optional -} with { - variant (lengthIndicator) "LENGTHTO (rIM_Application_Identity, - rIM_Sequence_Number,rIM_PDU_Indications,rIM_Protocol_Version_Number, - application_Container,sON_TransferApplicationIdentity)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; - variant "TAG (rIM_Protocol_Version_Number, iEI = '55'O)"; - variant (application_Container) "PRESENCE (rIM_Application_Identity.rIMApplicationIdentity = '01'O;)"; - variant (application_Container) "PRESENCE (rIM_Application_Identity.rIMApplicationIdentity = '02'O;)"; - variant (application_Container) "PRESENCE (rIM_Application_Identity.rIMApplicationIdentity = '03'O;)"; - variant (application_Container) "PRESENCE (rIM_Application_Identity.rIMApplicationIdentity = '04'O;)"; - variant (application_Container) "PRESENCE (rIM_Application_Identity.rIMApplicationIdentity = '05'O;)"; - variant (application_Container) - "CROSSTAG - (nacc,rIM_Application_Identity.rIMApplicationIdentity = '01'O; - si3 ,rIM_Application_Identity.rIMApplicationIdentity = '02'O; - mBMS,rIM_Application_Identity.rIMApplicationIdentity = '03'O; - sON, rIM_Application_Identity.rIMApplicationIdentity = '04'O; - uTRA_SI,rIM_Application_Identity.rIMApplicationIdentity = '05'O; - )" - variant (sON_TransferApplicationIdentity) - "PRESENCE - (rIM_Application_Identity.rIMApplicationIdentity = '04'O;)"; -}; - -//48.018 v9.3.0 Table 11.3.62a.2 -type record RAN_Information_RIM_Container_GTPC -{ -OCT1 iEI, -BIT1 ext, -LIN2_2a_GTPC lengthIndicator, -RIM_Application_Identity_GTPC rIM_Application_Identity, -RIM_Sequence_Number_GTPC rIM_Sequence_Number, -RIM_PDU_Indications_GTPC rIM_PDU_Indications, -RIM_Protocol_Version_Number_GTPC rIM_Protocol_Version_Number optional, -ApplContainer_or_ApplErrContainer_GTPC - applContainer_or_ApplErrContainer optional, -SON_TransferApplicationIdentity sON_TransferApplicationIdentity optional -} with { - variant (lengthIndicator) "LENGTHTO (rIM_Application_Identity, - rIM_Sequence_Number,rIM_PDU_Indications,rIM_Protocol_Version_Number, - applContainer_or_ApplErrContainer,sON_TransferApplicationIdentity)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; - variant - "TAG (rIM_Protocol_Version_Number, iEI = '55'O;)"; - variant (applContainer_or_ApplErrContainer) "PRESENCE(rIM_Application_Identity.rIMApplicationIdentity = '01'O;)"; - variant (applContainer_or_ApplErrContainer) "PRESENCE(rIM_Application_Identity.rIMApplicationIdentity = '02'O;)"; - variant (applContainer_or_ApplErrContainer) "PRESENCE(rIM_Application_Identity.rIMApplicationIdentity = '03'O;)"; - variant (applContainer_or_ApplErrContainer) "PRESENCE(rIM_Application_Identity.rIMApplicationIdentity = '04'O;)"; - variant (applContainer_or_ApplErrContainer) "PRESENCE(rIM_Application_Identity.rIMApplicationIdentity = '05'O;)"; - variant (applContainer_or_ApplErrContainer) - "CROSSTAG(nacc,rIM_Application_Identity.rIMApplicationIdentity = '01'O; - si3,rIM_Application_Identity.rIMApplicationIdentity = '02'O; - mBMS,rIM_Application_Identity.rIMApplicationIdentity = '03'O; - sON,rIM_Application_Identity.rIMApplicationIdentity = '04'O; - uTRA_SI,rIM_Application_Identity.rIMApplicationIdentity = '05'O)"; - - - variant (sON_TransferApplicationIdentity) - "PRESENCE - (rIM_Application_Identity.rIMApplicationIdentity = '04'O;)"; -}; - -type union ApplContainer_or_ApplErrContainer_GTPC -{ - ApplContainer_or_ApplErrContainer_NACC_GTPC nacc, - ApplContainer_or_ApplErrContainer_SI3_GTPC si3, - ApplContainer_or_ApplErrContainer_MBMS_GTPC mBMS, - ApplContainer_or_ApplErrContainer_SON_GTPC sON, - ApplContainer_or_ApplErrContainer_UTRA_SI_GTPC uTRA_SI -} - -type union ApplContainer_or_ApplErrContainer_NACC_GTPC -{ - RAN_Information_Application_Container_NACC_GTPC application_Container, - Application_Error_Container_NACC_GTPC application_Error_Container -} with { - variant "TAG ( - application_Container, iEI = '4E'O; - application_Error_Container, iEI = '56'O;)"; -} - -type union ApplContainer_or_ApplErrContainer_SI3_GTPC -{ - RAN_Information_Application_Container_SI3_GTPC application_Container, - Application_Error_Container_SI3_GTPC application_Error_Container -} with { - variant "TAG ( - application_Container, iEI = '4E'O; - application_Error_Container, iEI = '56'O;)"; -} - -type union ApplContainer_or_ApplErrContainer_MBMS_GTPC -{ - RAN_Information_Application_Container_MBMS_GTPC application_Container, - Application_Error_Container_MBMS_GTPC application_Error_Container -} with { - variant "TAG ( - application_Container, iEI = '4E'O; - application_Error_Container, iEI = '56'O;)"; -} - -type union ApplContainer_or_ApplErrContainer_SON_GTPC -{ - RAN_Information_Application_Container_SON_GTPC application_Container, - Application_Error_Container_SON_GTPC application_Error_Container -} with { - variant "TAG ( - application_Container, iEI = '4E'O; - application_Error_Container, iEI = '56'O;)"; -} - -type union ApplContainer_or_ApplErrContainer_UTRA_SI_GTPC -{ - RAN_Information_Application_Container_UTRA_SI_GTPC application_Container, - Application_Error_Container_UTRA_SI_GTPC application_Error_Container -} with { - variant "TAG ( - application_Container, iEI = '4E'O; - application_Error_Container, iEI = '56'O;)"; -} - - -//48.018 v9.3.0 Table 11.3.62a.3 -type record RAN_Information_Ack_RIM_Container_GTPC -{ -OCT1 iEI, -BIT1 ext, -LIN2_2a_GTPC lengthIndicator, -RIM_Application_Identity_GTPC rIM_Application_Identity, -RIM_Sequence_Number_GTPC rIM_Sequence_Number, -RIM_Protocol_Version_Number_GTPC rIM_Protocol_Version_Number optional, -SON_TransferApplicationIdentity sON_TransferApplicationIdentity optional -} with { - variant (lengthIndicator) "LENGTHTO (rIM_Application_Identity, - rIM_Sequence_Number,rIM_Protocol_Version_Number)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; - - variant "TAG (rIM_Protocol_Version_Number, iEI = '55'O;)"; - variant (sON_TransferApplicationIdentity) - "PRESENCE - (rIM_Application_Identity.rIMApplicationIdentity = '04'O;)"; -}; - -//48.018 v9.3.0 Table 11.3.62a.4 -type record RAN_Information_Error_RIM_Container_GTPC -{ -OCT1 iEI, -BIT1 ext, -LIN2_2a_GTPC lengthIndicator, -RIM_Application_Identity_GTPC rIM_Application_Identity, -Cause_BSSGP_GTPC rIM_cause, -RIM_Protocol_Version_Number_GTPC rIM_Protocol_Version_Number optional, -PDU_in_Error_GTPC pDU_in_Error, -SON_TransferApplicationIdentity sON_TransferApplicationIdentity optional -} with { - variant (lengthIndicator) "LENGTHTO (rIM_Application_Identity, - rIM_cause,rIM_Protocol_Version_Number,pDU_in_Error)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; - variant "TAG (rIM_Protocol_Version_Number, iEI = '55'O)"; - variant (sON_TransferApplicationIdentity) - "PRESENCE - (rIM_Application_Identity.rIMApplicationIdentity = '04'O;)"; -}; - -//48.018 v9.3.0 Table 11.3.62a.5 -type record RAN_Information_Application_Error_RIM_Container_GTPC -{ -OCT1 iEI, -BIT1 ext, -LIN2_2a_GTPC lengthIndicator, -RIM_Application_Identity_GTPC rIM_Application_Identity, -RIM_Sequence_Number_GTPC rIM_Sequence_Number, -RIM_PDU_Indications_GTPC rIM_PDU_Indications, -RIM_Protocol_Version_Number_GTPC rIM_Protocol_Version_Number optional, -Application_Error_Container_GTPC application_Error_Container, -SON_TransferApplicationIdentity sON_TransferApplicationIdentity optional -} with { - variant (lengthIndicator) "LENGTHTO (rIM_Application_Identity, - rIM_Sequence_Number,rIM_PDU_Indications,rIM_Protocol_Version_Number, - application_Error_Container)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; - - variant "TAG (rIM_Protocol_Version_Number, iEI = '55'O)"; - - variant (application_Error_Container) - "CROSSTAG (nacc,rIM_Application_Identity.rIMApplicationIdentity = '01'O; - si3,rIM_Application_Identity.rIMApplicationIdentity = '02'O; - mBMS,rIM_Application_Identity.rIMApplicationIdentity = '03'O; - sON,rIM_Application_Identity.rIMApplicationIdentity = '04'O; - uTRA_SI,rIM_Application_Identity.rIMApplicationIdentity = '05'O)"; - - variant (sON_TransferApplicationIdentity) - "PRESENCE - (rIM_Application_Identity.rIMApplicationIdentity = '04'O;)"; -}; - -//48.018 v9.3.0 Table 11.3.64 -type union Application_Error_Container_GTPC -{ - Application_Error_Container_NACC_GTPC nacc, - Application_Error_Container_SI3_GTPC si3, - Application_Error_Container_MBMS_GTPC mBMS, - Application_Error_Container_SON_GTPC sON, - Application_Error_Container_UTRA_SI_GTPC uTRA_SI -} - -//48.018 v9.3.0 Table 11.3.63.1 -type union RAN_Information_Request_Application_Container_GTPC -{ - RAN_Information_Request_Application_Container_NACC_GTPC nacc, - RAN_Information_Request_Application_Container_SI3_GTPC si3, - RAN_Information_Request_Application_Container_MBMS_GTPC mBMS, - RAN_Information_Request_Application_Container_SON_GTPC sON, - RAN_Information_Request_Application_Container_UTRA_SI_GTPC uTRA_SI -} - -//48.018 v9.3.0 Table 11.3.63.1.1 -type record RAN_Information_Request_Application_Container_NACC_GTPC -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a_GTPC lengthIndicator, - Cell_Identifier_GTPC reporting_Cell_Identifier -} with { - variant (lengthIndicator) "LENGTHTO (reporting_Cell_Identifier)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - -//48.018 v9.3.0 Table 11.3.63.1.2 -type record RAN_Information_Request_Application_Container_SI3_GTPC -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a_GTPC lengthIndicator, - Cell_Identifier_GTPC reporting_Cell_Identifier -} with { - variant (lengthIndicator) "LENGTHTO (reporting_Cell_Identifier)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - -//48.018 v9.3.0 Table 11.3.63.1.3 -type record RAN_Information_Request_Application_Container_MBMS_GTPC -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a_GTPC lengthIndicator, - Cell_Identifier_GTPC reporting_Cell_Identifier -} with { - variant (lengthIndicator) "LENGTHTO (reporting_Cell_Identifier)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - -//48.018 v9.3.0 Table 11.3.63.1.4 -type record RAN_Information_Request_Application_Container_SON_GTPC -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a_GTPC lengthIndicator, - Cell_Identifier_GTPC reporting_Cell_Identifier, - octetstring sON_TransferRequestContainer // 3GPP TS 36.413 -} with { - variant (lengthIndicator) "LENGTHTO (reporting_Cell_Identifier,sON_TransferRequestContainer)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - -//48.018 v9.3.0 Table 11.3.63.1.5 -type record RAN_Information_Request_Application_Container_UTRA_SI_GTPC -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a_GTPC lengthIndicator, - Cell_Identifier_GTPC reporting_Cell_Identifier -} with { - variant (lengthIndicator) "LENGTHTO (reporting_Cell_Identifier)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -} - -//48.018 v9.3.0 Table 11.3.108 -type record SON_TransferApplicationIdentity -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a_GTPC lengthIndicator, - octetstring sON_TransferApplicationIdentityValue -} - -//48.018 v9.3.0 Table 11.3.63.2.1 -type record RAN_Information_Application_Container_NACC_GTPC -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a_GTPC lengthIndicator, - Cell_Identifier_GTPC reporting_Cell_Identifier, - BIT1 typeBit, - BIT7 number_of_SI_PSI, - octetstring sI_PSI // 3GPP TS 44.018, 44.060 -} with { - variant (lengthIndicator) - "LENGTHTO (reporting_Cell_Identifier,typeBit,number_of_SI_PSI,sI_PSI)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - -//48.018 v9.3.0 Table 11.3.63.2.2 -type record RAN_Information_Application_Container_SI3_GTPC -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a_GTPC lengthIndicator, - Cell_Identifier_GTPC reporting_Cell_Identifier, - octetstring sI3 length (21) // 3GPP TS 44.018 -} with { - variant (lengthIndicator) - "LENGTHTO (reporting_Cell_Identifier,sI3)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; - variant (sI3)"FIELDLENGTH(21)" ; -}; - -//48.018 v9.3.0 Table 11.3.63.2.3 -type record RAN_Information_Application_Container_MBMS_GTPC -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a_GTPC lengthIndicator, - Cell_Identifier_GTPC reporting_Cell_Identifier, - octetstring mBMS_ChannelReport -} with { - variant (lengthIndicator) - "LENGTHTO (reporting_Cell_Identifier,mBMS_ChannelReport)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - -//48.018 v9.3.0 Table 11.3.63.2.4 -type record RAN_Information_Application_Container_SON_GTPC -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a_GTPC lengthIndicator, - Cell_Identifier_GTPC reporting_Cell_Identifier, - octetstring sON_TransferResponseContainer // 3GPP TS 36.413 - - -} with { - variant (lengthIndicator) - "LENGTHTO (reporting_Cell_Identifier,sON_TransferResponseContainer)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - -//48.018 v9.3.0 Table 11.3.63.2.5 -type record RAN_Information_Application_Container_UTRA_SI_GTPC -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a_GTPC lengthIndicator, - Cell_Identifier_GTPC reporting_Cell_Identifier, - octetstring uTRA_SI_Container // 3GPP TS25.331 - - -} with { - variant (lengthIndicator) - "LENGTHTO (reporting_Cell_Identifier,uTRA_SI_Container)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - - -//48.018 v9.3.0 11.3.64.1 -type record Application_Error_Container_NACC_GTPC -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a_GTPC lengthIndicator, - OCT1 nACC_cause, - Application_Container_IE_NACC_GTPC erroneousApplicationContainer -} with { - variant (lengthIndicator) - "LENGTHTO (nACC_cause,erroneousApplicationContainer)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - -type union Application_Container_IE_NACC_GTPC -{ -RAN_Information_Request_Application_Container_NACC_GTPC - rAN_Information_Request_Application_Container, - -RAN_Information_Application_Container_NACC_GTPC - rAN_Information_Application_Container -} -with { - variant "TAG ( - rAN_Information_Request_Application_Container, iEI = '4D'O; - rAN_Information_Application_Container, iEI = '4E'O)"; -} - - -//48.018 v9.3.0 11.3.64.2 -type record Application_Error_Container_SI3_GTPC -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a_GTPC lengthIndicator, - OCT1 sI3_cause, - Application_Container_IE_SI3_GTPC erroneousApplicationContainer -} with { - variant (lengthIndicator) - "LENGTHTO (sI3_cause,erroneousApplicationContainer)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - - -type union Application_Container_IE_SI3_GTPC -{ -RAN_Information_Request_Application_Container_SI3_GTPC - rAN_Information_Request_Application_Container, - -RAN_Information_Application_Container_SI3_GTPC - rAN_Information_Application_Container -} -with { - variant "TAG ( - rAN_Information_Request_Application_Container, iEI = '4D'O; - rAN_Information_Application_Container, iEI = '4E'O)"; -} - -//48.018 v9.3.0 11.3.64.3 -type record Application_Error_Container_MBMS_GTPC -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a_GTPC lengthIndicator, - OCT1 mBMS_cause, - Application_Container_IE_MBMS_GTPC erroneousApplicationContainer -} with { - variant (lengthIndicator) - "LENGTHTO (mBMS_cause,erroneousApplicationContainer)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - - -type union Application_Container_IE_MBMS_GTPC -{ -RAN_Information_Request_Application_Container_MBMS_GTPC - rAN_Information_Request_Application_Container, - -RAN_Information_Application_Container_MBMS_GTPC - rAN_Information_Application_Container -} -with { - variant "TAG ( - rAN_Information_Request_Application_Container, iEI = '4D'O; - rAN_Information_Application_Container, iEI = '4E'O)"; -} - -//48.018 v9.3.0 11.3.64.4 -type record Application_Error_Container_SON_GTPC -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a_GTPC lengthIndicator, - OCT1 sON_cause, - Application_Container_IE_SON_GTPC erroneousApplicationContainer -} with { - variant (lengthIndicator) - "LENGTHTO (sON_cause,erroneousApplicationContainer)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - - -type union Application_Container_IE_SON_GTPC -{ -RAN_Information_Request_Application_Container_SON_GTPC - rAN_Information_Request_Application_Container, - -RAN_Information_Application_Container_SON_GTPC - rAN_Information_Application_Container -} -with { - variant "TAG ( - rAN_Information_Request_Application_Container, iEI = '4D'O; - rAN_Information_Application_Container, iEI = '4E'O)"; -} - - -//48.018 v9.3.0 11.3.64.5 -type record Application_Error_Container_UTRA_SI_GTPC -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a_GTPC lengthIndicator, - OCT1 uTRA_SI_cause, - Application_Container_IE_SON_GTPC erroneousApplicationContainer -} with { - variant (lengthIndicator) - "LENGTHTO (uTRA_SI_cause,erroneousApplicationContainer)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - - -type union Application_Container_IE_UTRA_SI_GTPC -{ -RAN_Information_Request_Application_Container_UTRA_SI_GTPC - rAN_Information_Request_Application_Container, - -RAN_Information_Application_Container_UTRA_SI_GTPC - rAN_Information_Application_Container -} -with { - variant "TAG ( - rAN_Information_Request_Application_Container, iEI = '4D'O; - rAN_Information_Application_Container, iEI = '4E'O)"; -} - - -//48.018 v9.3.0 11.3.65 -type record RIM_PDU_Indications_GTPC -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a_GTPC lengthIndicator, - BIT1 ack, - BIT3 pDU_Type_Extension, - BIT4 reserved -} with { - variant (lengthIndicator) "LENGTHTO (ack,pDU_Type_Extension,reserved)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - -//48.018 v9.3.0 11.3.67 -type record RIM_Protocol_Version_Number_GTPC -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a_GTPC lengthIndicator, - OCT1 rIMProtocolVersionNumber -} with { - variant (lengthIndicator) "LENGTHTO (rIMProtocolVersionNumber)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; -}; - -//48.018 v9.3.0 11.3.70 -type record RIM_Routing_Information_GTPC -{ - OCT1 iEI, - BIT1 ext, - LIN2_2a_GTPC lengthIndicator, - HEX1 rIMRoutingAddressDiscriminator, - HEX1 spare, - RIM_Routing_Address_GTPC rIM_Routing_Address -} with { - variant (lengthIndicator) - "LENGTHTO (rIMRoutingAddressDiscriminator,spare,rIM_Routing_Address)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; - - variant (rIM_Routing_Address) - "CROSSTAG (cell_Identifier,rIMRoutingAddressDiscriminator = '0'H; - rNCID, rIMRoutingAddressDiscriminator = '1'H; - eNB_Identifier, rIMRoutingAddressDiscriminator = '2'H;)" -}; - -type record Cell_Identifier_V_GTPC -{ - HEX1 mccDigit1, - HEX1 mccDigit2, - HEX1 mccDigit3, - HEX1 mncDigit3, - HEX1 mncDigit1, - HEX1 mncDigit2, - OCT2 lac, - OCT1 rac, - OCT2 cI_value -}; - -type union RIM_Routing_Address_GTPC -{ - Cell_Identifier_V_GTPC cell_Identifier, - RNC_ID_BSSGP_GTPC rNCID, - ENB_Identifier eNB_Identifier - } - -type record RNC_ID_BSSGP_GTPC -{ - HEX1 mccDigit1, - HEX1 mccDigit2, - HEX1 mccDigit3, - HEX1 mncDigit3, - HEX1 mncDigit1, - HEX1 mncDigit2, - OCT2 lAC, - OCT1 rAC, - HEX1 spare, - integer rNC_ID -} with { - variant (spare,rNC_ID) "FIELDORDER(msb)"; - variant (rNC_ID) "BYTEORDER(last)"; - variant (rNC_ID) "FIELDLENGTH(12)"; -} - -type record ENB_Identifier -{ - HEX1 mccDigit1, - HEX1 mccDigit2, - HEX1 mccDigit3, - HEX1 mncDigit3, - HEX1 mncDigit1, - HEX1 mncDigit2, - OCT2 tAC, - octetstring globalENB_ID -} - -//Note: the following structure is outdated -/* -type record GlobalRNC_ID_BSSGP_GTPC -{ - HEX1 mccDigit1, - HEX1 mccDigit2, - HEX1 mccDigit3, - HEX1 mncDigit3, - HEX1 mncDigit1, - HEX1 mncDigit2, - - integer rNC_ID -} with { - variant (spare,rNC_ID) "FIELDORDER(msb)"; - variant (rNC_ID) "BYTEORDER(last)"; - variant (rNC_ID) "FIELDLENGTH(12)"; -} -*/ - -//48.018 v9.3.0 10.6.1 -type record PDU_BSSGP_RAN_INFORMATION_REQUEST_GTPC -{ - OCT1 bssgpPduType, - RIM_Routing_Information_GTPC destination_Cell_Identifier, - RIM_Routing_Information_GTPC source_Cell_Identifier, - RAN_Information_Request_RIM_Container_GTPC rIM_Container -}; - -//48.018 v9.3.0 10.6.2 -type record PDU_BSSGP_RAN_INFORMATION_GTPC -{ - OCT1 bssgpPduType, - RIM_Routing_Information_GTPC destination_Cell_Identifier, - RIM_Routing_Information_GTPC source_Cell_Identifier, - RAN_Information_RIM_Container_GTPC rIM_Container -}; - -//48.018 v9.3.0 10.6.3 -type record PDU_BSSGP_RAN_INFORMATION_ACK_GTPC -{ - OCT1 bssgpPduType, - RIM_Routing_Information_GTPC destination_Cell_Identifier, - RIM_Routing_Information_GTPC source_Cell_Identifier, - RAN_Information_Ack_RIM_Container_GTPC rIM_Container -}; - -//48.018 v9.3.0 10.6.4 -type record PDU_BSSGP_RAN_INFORMATION_ERROR_GTPC -{ - OCT1 bssgpPduType, - RIM_Routing_Information_GTPC destination_Cell_Identifier, - RIM_Routing_Information_GTPC source_Cell_Identifier, - RAN_Information_Error_RIM_Container_GTPC rIM_Container -}; - -//48.018 v9.3.0 10.6.5 -type record PDU_BSSGP_RAN_INFORMATION_APPLICATION_ERROR_GTPC -{ - OCT1 bssgpPduType, - RIM_Routing_Information_GTPC destination_Cell_Identifier, - RIM_Routing_Information_GTPC source_Cell_Identifier, - RAN_Information_Application_Error_RIM_Container_GTPC rIM_Container -}; - -type union RANTransparentContainerField -{ -PDU_BSSGP_RAN_INFORMATION_REQUEST_GTPC pDU_BSSGP_RAN_INFORMATION_REQUEST, -PDU_BSSGP_RAN_INFORMATION_GTPC pDU_BSSGP_RAN_INFORMATION, -PDU_BSSGP_RAN_INFORMATION_ACK_GTPC pDU_BSSGP_RAN_INFORMATION_ACK, -PDU_BSSGP_RAN_INFORMATION_ERROR_GTPC pDU_BSSGP_RAN_INFORMATION_ERROR, -PDU_BSSGP_RAN_INFORMATION_APPLICATION_ERROR_GTPC - pDU_BSSGP_RAN_INFORMATION_APPLICATION_ERROR -} with { variant "TAG ( - pDU_BSSGP_RAN_INFORMATION_REQUEST, bssgpPduType ='71'O; - pDU_BSSGP_RAN_INFORMATION, bssgpPduType ='70'O; - pDU_BSSGP_RAN_INFORMATION_ACK, bssgpPduType ='72'O; - pDU_BSSGP_RAN_INFORMATION_ERROR, bssgpPduType ='73'O; - pDU_BSSGP_RAN_INFORMATION_APPLICATION_ERROR, bssgpPduType ='74'O - )" -}; - -//RAN Transparent Container 7.7.43 -type record RANTransparentContainer{ - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - RANTransparentContainerField rANTransparentContainerField -} with { variant "PRESENCE( type_gtpc = '90'O)"; - variant (lengthf) "LENGTHTO(rANTransparentContainerField)"; }; - -//Charging Gateway Address - 7.7.44 -type record ChargingGatewayAddress { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - iPv4_iPv6_Address ipv_address -} with { variant "PRESENCE( type_gtpc = 'FB'O)"; - variant (lengthf) "LENGTHTO(ipv_address)";}; - -type union iPv4_iPv6_Address{ - OCT4 iPv4_Address, - OCT16 iPv6_Address -} - -//PDP Context Priorization - 7.7.45 -type record PDPContextPriorization { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf -} with { variant "PRESENCE( type_gtpc = '91'O)";}; - -//Addititonal RAB Setup Information - 7.7.45A - -type record of AdditionalRABSetupInformation AdditionalRABSetupInformation_List - -type record AdditionalRABSetupInformation { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - BIT4 nsapi, - BIT4 unused, - OCT4 teidData optional, - octetstring rncIpAddress optional -} with {variant "PRESENCE( type_gtpc = '92'O)"; - variant (lengthf) "LENGTHTO(nsapi,unused,teidData,rncIpAddress)"; }; - -//Private Extension - 7.7.46 -type record of PrivateExtension_gtpc PrivateExtension_gtpc_List; - -type record PrivateExtension_gtpc { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - OCT2 extensionID, - octetstring extensionValue -} with {variant "PRESENCE( type_gtpc = 'FF'O)"; - variant (lengthf) "LENGTHTO(extensionID, extensionValue)"; }; - -//SGSN Number - 7.7.47 -type record SGSN_Number { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - octetstring sGSN_NumberValue -} with { variant "PRESENCE( type_gtpc = '93'O)"; - variant (lengthf) "LENGTHTO(sGSN_NumberValue)"; }; - -//Common Flags - 7.7.48 -type record CommonFlags { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - BIT1 prohibitPayloadCompression, - BIT1 mBMS_ServiceType, - BIT1 rAN_ProceduresReady, - BIT1 mBMS_CountingInformation, - BIT1 nO_QoS_Negotiation, - BIT1 nRSN, - BIT1 upgradeQoS_Supported, - BIT1 dualAddressBearerFlag -} with { variant "PRESENCE( type_gtpc = '94'O)"; - variant (lengthf) "LENGTHTO(prohibitPayloadCompression,mBMS_ServiceType, - rAN_ProceduresReady,mBMS_CountingInformation, - nO_QoS_Negotiation,nRSN,upgradeQoS_Supported,dualAddressBearerFlag)"; }; - -//APN Restriction - 7.7.49 -type record APN_Restriction { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - OCT1 restrictionTypeValue -} with { variant "PRESENCE( type_gtpc = '95'O)"; - variant (lengthf) "LENGTHTO(restrictionTypeValue)"; }; - -// RAT Type - 7.7.50 -type record RATType { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - OCT1 ratTypeValue -} with { variant "PRESENCE( type_gtpc = '97'O)"; - variant (lengthf) "LENGTHTO(ratTypeValue)"; }; - -// User Location Information - 7.7.51 -type record UserLocationInformation { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - OCT1 geographicLocationType, - GeographicLocation_gtpc geographicLocation -} with { variant "PRESENCE( type_gtpc = '98'O)"; - variant (lengthf) "LENGTHTO(geographicLocationType, geographicLocation)"; - variant (geographicLocation) "CROSSTAG(geographicLocationCGI, geographicLocationType='00'O; - geographicLocationSAI, geographicLocationType='01'O; - geographicLocationRAI, geographicLocationType='02'O)";}; - -type union GeographicLocation_gtpc { - GeographicLocationCGI geographicLocationCGI, - GeographicLocationSAI geographicLocationSAI, - GeographicLocationRAI geographicLocationRAI -} - -// Figure 7.7.51.2: Geographic Location field for CGI -type record GeographicLocationCGI { - HEX1 mccDigit1, - HEX1 mccDigit2, - HEX1 mccDigit3, - HEX1 mncDigit3, - HEX1 mncDigit1, - HEX1 mncDigit2, - OCT2 lac, - OCT2 cI_value -} - -// Figure 7.7.51.3: Geographic Location field for SAI -type record GeographicLocationSAI { - HEX1 mccDigit1, - HEX1 mccDigit2, - HEX1 mccDigit3, - HEX1 mncDigit3, - HEX1 mncDigit1, - HEX1 mncDigit2, - OCT2 lac, - OCT2 sac -} - -// Figure 7.7.51.4: Geographic Location field for RAI -type record GeographicLocationRAI { - HEX1 mccDigit1, - HEX1 mccDigit2, - HEX1 mccDigit3, - HEX1 mncDigit3, - HEX1 mncDigit1, - HEX1 mncDigit2, - OCT2 lac, - OCT2 rac -} - -// MS Time Zone - 7.7.52 -type record MS_TimeZone { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - OCT1 timeZone, - BIT2 daylightSavingTime, - BIT3 spare1, -// This bit is proprietary, compared to the 3GPP definition of -// the Time Zone information element. -// The new field "SGSN Attempts to Update MS" is described in -// the following CPI documentation: GSN CDR Format, -// 1/190 83-AXB 250 05/6 Uen A. -// Web link to CPI: http://cpi2.al.sw.ericsson.se/alex?pr=PDU+PCN - BIT1 sgsnAttempsToUpdateMS, - BIT2 spare2 -} with { variant "PRESENCE( type_gtpc = '99'O)"; - variant (lengthf) "LENGTHTO(timeZone, daylightSavingTime, spare1, - sgsnAttempsToUpdateMS, spare2)"; }; - -// IMEISV - 7.7.53 -type record IMEISV_gtpc { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - OCT8 imeisv -} with { variant "PRESENCE( type_gtpc = '9A'O)"; - variant (lengthf) "LENGTHTO(imeisv)"; }; - -// Camel Charging Information Container - 7.7.54 -type record CamelChargingInformationContainer { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - octetstring camelInformationPDP_IE -} with { variant "PRESENCE( type_gtpc = '9B'O)"; - variant (lengthf) "LENGTHTO(camelInformationPDP_IE)"; }; - -// MBMS UE Context Container - 7.7.55 -type record of MBMS_UE_ContextContainer MBMS_UE_Context_List; - -type record MBMS_UE_ContextContainer { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - BIT4 spare1, - BIT4 linkedNSAPI, - OCT4 uteidControlPlane, - OCT1 enhancedNSAPI, - BIT4 pdp_typeorg, - BIT4 spare2, - OCT1 pdp_typenum, - integer pdp_addressLength, - octetstring pdp_address length (0..63), - integer ggsn_addressControlPlaneLength, - octetstring ggsn_addressControlPlane length (4..16), - integer apnLength, - octetstring apn, - BIT4 transactionId, - BIT4 spare3, - OCT1 transactionID -} with {variant "PRESENCE( type_gtpc = '9C'O)"; - variant (lengthf) "LENGTHTO(spare1, linkedNSAPI, - uteidControlPlane, enhancedNSAPI, pdp_typeorg, spare2, - pdp_typenum, pdp_addressLength, pdp_address, - ggsn_addressControlPlaneLength, ggsn_addressControlPlane, - apnLength, apn, transactionId, spare3, transactionID)"; - variant (pdp_addressLength) "LENGTHTO(pdp_address)"; - variant (ggsn_addressControlPlaneLength) - "LENGTHTO(ggsn_addressControlPlane)"; - variant (apnLength) "LENGTHTO(apn)"; - }; - -// Temporary Mobile Group Identity - 7.7.56 -type record TMGI_gtpc { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - OCT6 tMGIValue -} with { variant "PRESENCE( type_gtpc = '9D'O)"; - variant (lengthf) "LENGTHTO(tMGIValue)"; }; - -// RIM Routing Address - 7.7.57 -type record RIM_RoutingAddress { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - octetstring rIM_RoutingAddressValue - //Left as octetstring because GTP spec does not include the RIM Routing - // Address Discriminator and therefore decoding is not possible as in 48.018 - //CR 544 states that "The RIM Routing Address contains the destination RNC - // Identity from the RAN INFORMATION message when the source is GERAN and - // the target is UTRAN. - //The RIM Routing Address contains the destination Cell Identifier from the - // RAN INFORMATION message when the source is GERAN and the target ir GERAN. -} with { variant "PRESENCE( type_gtpc = '9E'O)"; - variant (lengthf) "LENGTHTO(rIM_RoutingAddressValue)"; }; - -//MBMS Protocol Configuration Options - 7.7.58 -type record MBMS_ProtocolConfigurationOptions { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - octetstring mBMS_ProtocolConfigurationOptions -} with { variant "PRESENCE( type_gtpc = '9F'O)"; - variant (lengthf) "LENGTHTO(mBMS_ProtocolConfigurationOptions)"; }; - -// MBMS Session Duration - 7.7.59 -type record MBMS_SessionDuration { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - OCT3 mBMS_SessionDurationValue -} with { variant "PRESENCE( type_gtpc = 'A8'O)"; - variant (lengthf) "LENGTHTO(mBMS_SessionDurationValue)"; }; - - -// MBMS Service Area - 7.7.60 -type record MBMS_ServiceArea { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - octetstring mBMS_ServiceAreaValue -} with { variant "PRESENCE( type_gtpc = 'A0'O)"; - variant (lengthf) "LENGTHTO(mBMS_ServiceAreaValue)"; }; - -// Source RNC PDCP context info - 7.7.61 -type record SourceRNC_PDCP_ContextInfo { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - octetstring rRC_Container -} with { variant "PRESENCE( type_gtpc = 'A1'O)"; - variant (lengthf) "LENGTHTO(rRC_Container)"; }; - -// Additional Trace Info - 7.7.62 -type record AdditionalTraceInfo { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - OCT3 traceReference2, - OCT2 traceRecordingSessionReference, - OCT1 triggeringEvents_GGSN, - OCT1 traceDepth, - OCT1 listOfInterfaces_GGSN, - OCT1 traceActivityControl -} with { variant "PRESENCE( type_gtpc = 'A2'O)"; - variant (lengthf) "LENGTHTO(traceReference2, - traceRecordingSessionReference, triggeringEvents_GGSN, - traceDepth, listOfInterfaces_GGSN, traceActivityControl)"; - }; - -// Hop Counter - 7.7.63 -type record HopCounter_gtpc { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - integer hopCounter -} with { variant "PRESENCE( type_gtpc = 'A3'O)"; - variant (lengthf) "LENGTHTO(hopCounter)"; }; - -// Selected PLMN ID - 7.7.64 -type record Selected_PLMN_ID { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - OCT3 selected_PLMN_Identity -} with { variant "PRESENCE( type_gtpc = 'A4'O)"; - variant (lengthf) "LENGTHTO(selected_PLMN_Identity)"; }; - -// MBMS Session Identifier - 7.7.65 -type record MBMS_SessionIdentifier { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - OCT1 mBMS_SessionIdentifier -} with { variant "PRESENCE( type_gtpc = 'A5'O)"; - variant (lengthf) "LENGTHTO(mBMS_SessionIdentifier)"; }; - -// MBMS 2G/3G Indicator - 7.7.66 -type record MBMS_2G_3G_Indicator { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - OCT1 mBMS_2G_3G_Indicator -} with { variant "PRESENCE( type_gtpc = 'A6'O)"; - variant (lengthf) "LENGTHTO(mBMS_2G_3G_Indicator)"; }; - -// Enhanced NSAPI - 7.7.67 -type record Enhanced_NSAPI { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - OCT1 enhanced_NSAPI -} with { variant "PRESENCE( type_gtpc = 'A7'O)"; - variant (lengthf) "LENGTHTO(enhanced_NSAPI)"; }; - -// Additional MBMS Trace Info - 7.7.68 -type record AdditionalMBMSTraceInfo { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - OCT3 traceReference2, - OCT2 traceRecordingSessionReference, - OCT2 triggeringEvents_BM_SC, - OCT1 traceDepth_BM_SC, - OCT1 listOfInterfaces_BM_SC, - OCT1 traceActivityControl_BM_SC -} with { variant "PRESENCE( type_gtpc = 'A9'O)"; - variant (lengthf) "LENGTHTO(traceReference2, traceRecordingSessionReference, - triggeringEvents_BM_SC, traceDepth_BM_SC, - listOfInterfaces_BM_SC, traceActivityControl_BM_SC)"; - }; - -// MBMS Session Repetition Number - 7.7.69 -type record MBMS_SessionRepetitionNumber { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - OCT1 mBMS_SessionRepetitionNumber -} with { variant "PRESENCE( type_gtpc = 'AA'O)"; - variant (lengthf) "LENGTHTO(mBMS_SessionRepetitionNumber)"; }; - -// MBMS Time To Data Transfer - 7.7.70 -type record MBMS_TimeToDataTransfer { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - OCT1 mBMS_TimeToDataTransfer -} with { variant "PRESENCE( type_gtpc = 'AB'O)"; - variant (lengthf) "LENGTHTO(mBMS_TimeToDataTransfer)"; }; - -// BSS Container - 7.7.72 -type record BSS_Container { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - octetstring bSS_Container // TODO FIXME: which Container is the BSS Container? -} with { variant "PRESENCE( type_gtpc = 'AD'O)"; - variant (lengthf) "LENGTHTO(bSS_Container)"; }; - - -// Cell Identification - 7.7.73 - -// Routing Area identification - from 24.008 10.5.5.15 -type record RoutingAreaIdentificationV_gtpc -{ - HEX1 mccDigit1, - HEX1 mccDigit2, - HEX1 mccDigit3, - HEX1 mncDigit3, - HEX1 mncDigit1, - HEX1 mncDigit2, - OCT2 lac, - OCT1 rac -}; - -type record RNC_Identifier_gtpc { - RoutingAreaIdentificationV_gtpc routingAreaIdentificationV_gtpc, - integer rNC_ID, - HEX1 spare -} with { - variant (spare,rNC_ID) "FIELDORDER(msb)"; - variant (rNC_ID) "BYTEORDER(last)"; - variant (rNC_ID) "FIELDLENGTH(12)"; -} - -type union Cell_ID_or_RNC_ID { - Cell_Identifier_V_GTPC cell_Identifier, - RNC_Identifier_gtpc rNC_Identifier -} - -type record Cell_Identification_gtpc { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - Cell_Identifier_V_GTPC targetCell_ID, - OCT1 sourceType, //0 - Source Cell ID / 1- Source RNC ID in next field - Cell_ID_or_RNC_ID source_Cell_ID_or_RNC_ID -} with {variant "PRESENCE( type_gtpc = 'AE'O)"; - variant (lengthf) "LENGTHTO(targetCell_ID,sourceType,source_Cell_ID_or_RNC_ID)"; - variant (source_Cell_ID_or_RNC_ID) "CROSSTAG ( cell_Identifier, sourceType = '00'O; - rNC_Identifier, sourceType = '01'O)"; }; - -// PDU Numbers - 7.7.74 -type record of PDU_Numbers PDU_Numbers_List; - -type record PDU_Numbers { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - BIT4 nsapi, - BIT4 spare, - OCT2 dL_GTPU_SequenceNumber, - OCT2 uL_GTPU_SequenceNumber, - OCT2 sendNPDUnum, - OCT2 receiveNPDUnum -} with {variant "PRESENCE( type_gtpc = 'AF'O)"; - variant (lengthf) "LENGTHTO(nsapi, spare, dL_GTPU_SequenceNumber, uL_GTPU_SequenceNumber, - sendNPDUnum, receiveNPDUnum)"; }; - -// BSSGP Cause - 7.7.75 -type record BSSGP_Cause_gtpc { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - OCT1 bSSGP_Cause -} with { variant "PRESENCE( type_gtpc = 'B0'O)"; - variant (lengthf) "LENGTHTO(bSSGP_Cause)"; }; - -// Required MBMS Bearer Capabilities - 7.7.76 -type record RequiredMBMS_BearerCapabilities { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - octetstring reqMBMS_BearerCapValue -} with { variant "PRESENCE( type_gtpc = 'B1'O)"; - variant (lengthf) "LENGTHTO(reqMBMS_BearerCapValue)"; }; - -// RIM Routing Address Discriminator 7.7.77 -type record RIM_RoutingAddress_Discriminator { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - BIT4 rra_discriminator, - BIT4 spare -} with { variant "PRESENCE( type_gtpc = 'B2'O)"; - variant (lengthf) "LENGTHTO(rra_discriminator,spare)"; }; - -// ListOfSetupPFCs - 7.7.78 - -// PFC/PFI as defined in BSSGP (48.018 - 11.3.83) which refers to L3 (24.008 - 10.5.6.11) -type record Single_PFI_gtpc -{ - BIT7 pFI_Value, - BIT1 spare -} - -type record length (0..11) of Single_PFI_gtpc Multiple_PFIs_gtpc; - -type record ListOfSetupPFCsValue_gtpc -{ - integer number_of_PFCs (0..11), // note: 12 .. 255 are reserved!!! - Multiple_PFIs_gtpc pFIs -} with -{ - variant (number_of_PFCs) "UNIT(elements),LENGTHTO(pFIs),FIELDLENGTH(8)"; -} - -type record ListOfSetupPFCs_gtpc { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - ListOfSetupPFCsValue_gtpc listOfSetupPFCs -} with { variant "PRESENCE( type_gtpc = 'B3'O)"; - variant (lengthf) "LENGTHTO(listOfSetupPFCs)"; }; - -// PS Handover XID Parameters 7.7.79 -type record of PS_HandoverXIDParameters PS_HandoverXIDParameters_List; - -type record PS_HandoverXIDParameters { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - BIT4 sapi, - BIT4 spare, - LIN1 xID_ParametersLength, - XID_Information_GTPC xID_Parameters optional -} with { - variant (lengthf) "LENGTHTO(sapi,spare,xID_ParametersLength,xID_Parameters)"; - variant (xID_ParametersLength) "LENGTHTO(xID_Parameters)"; - variant "PRESENCE(type_gtpc = 'B4'O)" - }; - -//The following types are based on types in LLC_Types.ttcn - -type record of XID_GTPC XID_Information_GTPC; - -type record XID_GTPC -{ - BIT1 xl, - BIT5 typefield, - XID_length_GTPC xID_length, - //Header_XID header_XID, - XID_Data_GTPC xID_Data -} with { - variant (xID_Data) "CROSSTAG( version, typefield = '00000'B; - iOV_UI, typefield = '00001'B; - iOV_I, typefield = '00010'B; - t200, typefield = '00011'B; - n200, typefield = '00100'B; - n201_U, typefield = '00101'B; - n201_I, typefield = '00110'B; - mD, typefield = '00111'B; - mU, typefield = '01000'B; - kD, typefield = '01001'B; - kU, typefield = '01010'B; - l3param, typefield = '01011'B; - reset, typefield = '01100'B; - - )"; - variant "FIELDORDER(msb)"; - variant (xID_length) "CROSSTAG( short_len, xl = '0'B; - long_len, xl = '1'B;)"; - variant (xID_length) "LENGTHTO (xID_Data)" - - variant (xID_length) "PADDING(yes)" -}; - -type union XID_length_GTPC -{ - integer short_len, - integer long_len -}with { - variant (short_len) "FIELDLENGTH(2)"; - variant (long_len) "FIELDLENGTH(8)"; - variant (long_len) "BYTEORDER(last)"; - variant (short_len) "FIELDORDER(msb)"; - variant (long_len) "FIELDORDER(msb)"; - -} - -type union XID_Data_GTPC -{ - Version_GTPC version, - IOV_UI_GTPC iOV_UI, - IOV_I_GTPC iOV_I, - T200_GTPC t200, - N200_GTPC n200, - N201_U_GTPC n201_U, - N201_I_GTPC n201_I, - MD_GTPC mD, - MU_GTPC mU, - KD_GTPC kD, - KU_GTPC kU, - L3param_GTPC l3param, - Reset_LLC_GTPC reset -} - -type record Version_GTPC -{ - integer version_value (0..15), - BIT4 spare - -} with { - variant (version_value) "FIELDLENGTH(4)"; -} - -type octetstring IOV_UI_GTPC length(4) - - -type octetstring IOV_I_GTPC length(4) - - -type record T200_GTPC -{ - BIT4 spare, - integer t200Value -} with { - variant (t200Value) "FIELDLENGTH(12)"; - variant (t200Value) "BYTEORDER(last)"; - variant "FIELDORDER(msb)"; -}; - - -type record N200_GTPC -{ - integer retransmissions (0..15), - BIT4 spare -} with { - variant (retransmissions) "FIELDLENGTH(4)"; -} - - -type record N201_U_GTPC -{ - BIT5 spare, - integer n201UValue -} with { - variant (n201UValue) "FIELDLENGTH(11)"; - variant (n201UValue) "BYTEORDER(last)"; - variant "FIELDORDER(msb)"; -}; - - -type record N201_I_GTPC -{ - BIT5 spare, - integer n201IValue -} -with { - variant (n201IValue) "FIELDLENGTH(11)"; - variant (n201IValue) "BYTEORDER(last)"; - variant "FIELDORDER(msb)"; -}; - -type record MD_GTPC -{ - BIT1 spare, - integer mDValue -} with { - variant (mDValue) "FIELDLENGTH(15)"; - variant (mDValue) "BYTEORDER(last)"; - variant "FIELDORDER(msb)"; -}; - - -type record MU_GTPC -{ - BIT1 spare, - integer mUValue -} with { - variant (mUValue) "FIELDLENGTH(15)"; - variant (mUValue) "BYTEORDER(last)"; - variant "FIELDORDER(msb)"; -}; - -type integer KD_GTPC with {variant "FIELDLENGTH(8)";}; - -type integer KU_GTPC with {variant "FIELDLENGTH(8)";}; - -type octetstring L3param_GTPC; - -type octetstring Reset_LLC_GTPC length(0); -// end of types copied from LLC_Types.ttcn - - -// MS Info Change reporting Action 7.7.80 -type record MS_InfoChangeReportingAction { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - OCT1 actionfield -} with { variant "PRESENCE( type_gtpc = 'B5'O)"; - variant (lengthf) "LENGTHTO(actionfield)"; }; - -// Direct Tunnel Flags - 7.7.81 -type record DirectTunnelFlags { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - BIT1 dTI, - BIT1 gCSI, - BIT1 eI, - BIT5 spare -} with { variant "PRESENCE( type_gtpc = 'B6'O)"; - variant (lengthf) "LENGTHTO(dTI,gCSI,eI,spare)";}; - -// Correlation ID - 7.7.82 -type record CorrelationID { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - OCT1 correlationIDValue -} with { variant "PRESENCE( type_gtpc = 'B7'O)"; - variant (lengthf) "LENGTHTO(correlationIDValue)"; }; - -// BearerControlMode - 7.7.83 -type record BearerControlMode { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - OCT1 bearerControlModeValue -} with { variant "PRESENCE( type_gtpc = 'B8'O)"; - variant (lengthf) "LENGTHTO(bearerControlModeValue)"; }; - -// MBMS Flow ID - 7.7.84 -type record MBMS_FlowID { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - octetstring mBMS_FlowIDValue -} with { variant "PRESENCE( type_gtpc = 'B9'O)"; - variant (lengthf) "LENGTHTO(mBMS_FlowIDValue)"; }; - -// MBMS IP Multicast Distribution - 7.7.85 -type record MBMS_IPMulticastDistribution { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - OCT4 commonTEID, - GSNAddress iPmulticastDistributionAddress, - GSNAddress iPmulticastSourceAddress, - OCT1 mBMS_HCIndicator -} with { variant "PRESENCE( type_gtpc = 'BA'O)"; - variant (lengthf) "LENGTHTO(commonTEID,iPmulticastDistributionAddress, - iPmulticastSourceAddress,mBMS_HCIndicator)"; }; - -// GSNAddress -type record GSNAddress { - INT6b lengthf, - BIT2 address_type, - iPv4_iPv6_Address ipv_address -} with { variant (lengthf) "LENGTHTO(ipv_address)";}; - -// MBMS Distribution Acknowledgement - 7.7.86 -type record MBMS_DistributionAcknowledgement { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - BIT2 distributionIndication, - BIT6 spare -} with { variant "PRESENCE( type_gtpc = 'BB'O)"; - variant (lengthf) "LENGTHTO(distributionIndication,spare)"; }; - -// ReliableInterRATHandoverInfo - 7.7.87 - from 48.018 11.3.107 -type record ReliableInterRATHandoverInfo -{ - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - BIT1 reliableInterRATHandoverInfoIndicator, - BIT7 spare -} with { variant "PRESENCE( type_gtpc = 'BC'O)"; - variant (lengthf) "LENGTHTO(reliableInterRATHandoverInfoIndicator,spare)"; }; - -//7.7.88 -type record RFSP_Index -{ - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - LIN2_BO_LAST rFSPIndexValue (1..256) -} with { variant "PRESENCE( type_gtpc = 'BD'O)"; - variant (lengthf) "LENGTHTO(rFSPIndexValue)"; }; - -//7.7.90 -type record of FullyQualifiedDomainName FullyQualifiedDomainName_List; - -type record FullyQualifiedDomainName -{ - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - octetstring fQDN_Value -} with { variant "PRESENCE( type_gtpc = 'BE'O)"; - variant (lengthf) "LENGTHTO(fQDN_Value)"; }; - -//7.7.91 -type record EvolvedAllocationRetentionPriorityI -{ - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - BIT1 pVI, - BIT1 spare1, - integer pL, - BIT1 pCI, - BIT1 spare2 -} with { variant "PRESENCE( type_gtpc = 'BF'O)"; - variant (lengthf) "LENGTHTO(pVI,spare1,pL,pCI,spare2)"; - variant (pL) "FIELDLENGTH(4)";}; - -//7.7.92 -type record of EvolvedAllocationRetentionPriorityII EvolvedAllocationRetentionPriorityII_List - -type record EvolvedAllocationRetentionPriorityII -{ - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - BIT4 nsapi, - BIT4 unused, - BIT1 pVI, - BIT1 spare1, - integer pL, - BIT1 pCI, - BIT1 spare2 -} with { variant "PRESENCE( type_gtpc = 'C0'O)"; - variant (lengthf) "LENGTHTO(nsapi,unused,pVI,spare1,pL,pCI,spare2)"; - variant (pL) "FIELDLENGTH(4)";}; - -//7.7.93 -type record ExtendedCommonFlags -{ - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - BIT1 unauthenticatedIMSI, - BIT1 cCRSI, - BIT1 cPSR, - BIT1 retLoc, - BIT1 vB, - BIT1 pCRI, - BIT1 bDWI, - BIT1 uASI -} with { variant "PRESENCE(type_gtpc = 'C1'O)"; - variant (lengthf) "LENGTHTO(unauthenticatedIMSI,cCRSI,cPSR,retLoc,vB,pCRI,bDWI,uASI)";}; - -//7.7.94 -type record UserCSGInformation -{ - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - HEX1 mccDigit1, - HEX1 mccDigit2, - HEX1 mccDigit3, - HEX1 mncDigit3, - HEX1 mncDigit1, - HEX1 mncDigit2, - BIT5 spare1, - bitstring cSG_ID length(27), // "The coding ... is the responsibility of the operator..." - BIT1 cMI, - BIT5 spare2, - integer accessMode (0..3) -} with { variant "PRESENCE( type_gtpc = 'C2'O)"; - variant (lengthf) "LENGTHTO(mccDigit1,mccDigit2,mccDigit3,mncDigit3, - mncDigit1,mncDigit2,spare1,cSG_ID, - cMI,spare2,accessMode)"; - variant (spare1,cSG_ID) "FIELDORDER(msb)"; - variant (cSG_ID) "FIELDLENGTH(27)"; - variant (accessMode) "FIELDLENGTH(2)"; -}; - -//7.7.95 -type record CSGInfoReportingAction -{ - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - BIT1 uCCSG, - BIT1 uCSHC, - BIT1 uCUHC, - BIT5 spare -} with { variant "PRESENCE( type_gtpc = 'C3'O)"; - variant (lengthf) "LENGTHTO(uCCSG,uCSHC,uCUHC,spare)"; -}; - -//7.7.96 -type record CSG_Id -{ - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - BIT5 spare, - bitstring cSG_ID length(27) // "The coding ... is the responsibility of the operator..." -} with { variant "PRESENCE(type_gtpc = 'C4'O)"; - variant (lengthf) "LENGTHTO(spare,cSG_ID)"; - variant (spare,cSG_ID) "FIELDORDER(msb)"; - variant (cSG_ID) "FIELDLENGTH(27)"; -}; - -//7.7.97 -type record CSG_MembershipIndication -{ - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - BIT1 cMI_Value, - BIT7 spare -} with { variant "PRESENCE(type_gtpc = 'C5'O)"; - variant (lengthf) "LENGTHTO(cMI_Value,spare)"; -} - -//7.7.98 -type record APN_AMBR -{ - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - LIN4_BO_LAST aPN_AMBR_Uplink, - LIN4_BO_LAST aPN_AMBR_Downlink -} with { variant "PRESENCE(type_gtpc = 'C6'O)"; - variant (lengthf) "LENGTHTO(aPN_AMBR_Uplink,aPN_AMBR_Downlink)"; -} - -//7.7.99 -type record UE_Network_Capability { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - octetstring ue_network_capability -} with { - variant "PRESENCE(type_gtpc = 'C7'O)"; - variant (lengthf) "LENGTHTO(ue_network_capability)"; -} - -//7.7.100 -type record UE_AMBR { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - LIN4_BO_LAST subscribed_ue_ambr_uplink, - LIN4_BO_LAST subscribed_ue_ambr_downlink, - LIN4_BO_LAST authorized_ue_ambr_uplink optional, - LIN4_BO_LAST authorized_ue_ambr_downlink optional -} with { - variant "PRESENCE(type_gtpc = 'C8'O)"; - variant (lengthf) "LENGTHTO(subscribed_ue_ambr_uplink,subscribed_ue_ambr_downlink,authorized_ue_ambr_uplink,authorized_ue_ambr_downlink)"; -} - -//7.7.101 -type record APN_AMBR_NSAPI { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf (9), - HEX1 nsapi, - HEX1 spare, - LIN4_BO_LAST authorized_apn_ambr_uplink, - LIN4_BO_LAST authorized_apn_ambr_downlink -} with { - variant "PRESENCE(type_gtpc = 'C9'O)"; - variant (lengthf) "LENGTHTO(spare, nsapi,authorized_apn_ambr_uplink,authorized_apn_ambr_downlink)"; -} - -//7.7.102 -type record GGSN_BackOffTime { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - BIT5 timerValue, - BIT3 timerUnit, - octetstring explicitly_specified optional -} with { - variant "PRESENCE(type_gtpc = 'CA'O)"; - variant (lengthf) "LENGTHTO(timerValue, timerUnit, explicitly_specified)"; -} - -//7.7.103 -type record SignallingPriorityIndication { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - BIT1 lapi, - BIT7 spare, - octetstring explicitly_specified optional -} with { - variant "PRESENCE(type_gtpc = 'CB'O)"; - variant (lengthf) "LENGTHTO(lapi, spare, explicitly_specified)"; -} - -//7.7.104 -type record SignallingPriorityIndication_NSAPI { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - BIT1 nsapi, - BIT7 spare1, - BIT1 lapi, - BIT7 spare2, - octetstring explicitly_specified optional -} with { - variant "PRESENCE(type_gtpc = 'CC'O)"; - variant (lengthf) "LENGTHTO(nsapi, spare1, lapi, spare2, explicitly_specified)"; -} - -//7.7.105 -type record Higher_Bitrates_Than_16Mbps_Flag { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf (1), - LIN1 flag -} with { - variant "PRESENCE(type_gtpc = 'CD'O)"; - variant (lengthf) "LENGTHTO(flag)"; -} - -//7.7.106 -// (void) - -//7.7.107 -type record SRVCC_MM_Context { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - LIN1 mobile_station_classmark2_len, - octetstring mobile_station_classmark2, - LIN1 mobile_station_classmark3_len, - octetstring mobile_station_classmark3, - LIN1 supported_codec_list_len, - octetstring supported_codec_list, - octetstring explicitly_specified optional -} with { - variant "PRESENCE(type_gtpc = 'CF'O)"; - variant (lengthf) "LENGTHTO(mobile_station_classmark2_len, mobile_station_classmark2, - mobile_station_classmark3_len, mobile_station_classmark3, - supported_codec_list_len, supported_codec_list, - explicitly_specified)"; - variant (mobile_station_classmark2_len) "LENGTHTO(mobile_station_classmark2)"; - variant (mobile_station_classmark3_len) "LENGTHTO(mobile_station_classmark3)"; - variant (supported_codec_list_len) "LENGTHTO(supported_codec_list)"; -} - - -//7.7.108 -type record SRVCC_Flags { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - BIT1 ics, - BIT7 spare, - octetstring explicitly_specified optional -} with { - variant "PRESENCE(type_gtpc = 'D0'O)"; - variant (lengthf) "LENGTHTO(ics, spare, explicitly_specified)"; -} - -//7.7.109 -type record STN_SR { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - OCT1 nanpi, - Digits digits -} with { - variant "PRESENCE(type_gtpc = 'D1'O)"; - variant (lengthf) "LENGTHTO(nanpi, digits)"; -} - -type record of HEX1 Digits; - -//7.7.110 -type record C_MSISDN { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - octetstring msisdn -} with { - variant "PRESENCE(type_gtpc = 'D2'O)"; - variant (lengthf) "LENGTHTO(msisdn)"; -} - -//7.7.111 -type record Extended_RANAP_Cause { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - integer extended_ranap_cause (1..512), - octetstring explicitly_specified optional -} with { - variant "PRESENCE(type_gtpc = 'D3'O)"; - variant (lengthf) "LENGTHTO(extended_ranap_cause, explicitly_specified)"; - variant (extended_ranap_cause) "FIELDLENGTH(16), COMP(nosign), BYTEORDER(last)" -} - -//7.7.112 -type record ENodeB_ID { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - OCT1 eNodeB_type, - ENodeB_IDs eNodeB_ID -} with { - variant "PRESENCE(type_gtpc = 'D4'O)"; - variant (lengthf) "LENGTHTO(eNodeB_type, eNodeB_ID)"; - variant "CROSSTAG(macroENodeB_ID, eNodeB_type = '00'O; - homeENodeB_ID, eNodeB_type = '01'O;)" -} - -type union ENodeB_IDs -{ - HomeENodeB_ID homeENodeB_ID, - MacroENodeB_ID macroENodeB_ID -} - -type record MacroENodeB_ID -{ - HEX1 mcc1, - HEX1 mcc2, - HEX1 mcc3, - HEX1 mnc3, - HEX1 mnc1, - HEX1 mnc2, - BIT4 spare, - bitstring macroENodeB_ID length(20), - OCT2 tac -} with { - variant (spare,macroENodeB_ID) "FIELDORDER(msb)"; - variant (macroENodeB_ID) "FIELDLENGTH(20)"; -} - -type record HomeENodeB_ID -{ - HEX1 mcc1, - HEX1 mcc2, - HEX1 mcc3, - HEX1 mnc3, - HEX1 mnc1, - HEX1 mnc2, - BIT4 spare, - bitstring homeENodeB_ID length(28), - OCT2 tac -} with { - variant (spare,homeENodeB_ID) "FIELDORDER(msb)"; - variant (homeENodeB_ID) "FIELDLENGTH(28)"; -} - -//7.7.113 -type record SelectionMode_NSAPI { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - BIT4 nsapi, - BIT4 spare1, - BIT2 selectionMode, - BIT6 spare2 -} with { - variant "PRESENCE(type_gtpc = 'D5'O)"; - variant (lengthf) "LENGTHTO(nsapi, spare1, selectionMode, spare2)"; -} - -//7.7.114 -type record ULI_Timestamp { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - OCT4 uliTimestampValue, - octetstring explicitly_specified optional -} with { - variant "PRESENCE(type_gtpc = 'D6'O)"; - variant (lengthf) "LENGTHTO(uliTimestampValue, explicitly_specified)"; -} - -//7.7.115 -type record LHN_ID_NSAPI { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - BIT4 nsapi, - BIT4 spare, - octetstring lHN_ID optional -} with { - variant "PRESENCE(type_gtpc = 'D7'O)"; - variant (lengthf) "LENGTHTO(nsapi, spare, lHN_ID)"; -} - -//7.7.116 -type record CN_OperatorSelectionEntity { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - BIT2 selectionEntity, - BIT6 spare, - octetstring explicitly_specified optional -} with { - variant "PRESENCE(type_gtpc = 'D8'O)"; - variant (lengthf) "LENGTHTO(selectionEntity, spare, explicitly_specified)"; -} - -//7.7.117 -type record UE_UsageType { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - LIN4_BO_LAST uE_UsageTypeValue - } with { - variant "PRESENCE(type_gtpc = 'D9'O)"; - variant (lengthf) "LENGTHTO(uE_UsageTypeValue)"; -} - -//7.7.118 -type record ExtendedCommonFlagsII { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - BIT1 pnsi, - BIT1 dtci, - BIT6 spare, - octetstring explicitly_specified optional - } with { - variant "PRESENCE(type_gtpc = 'DA'O)"; - variant (lengthf) "LENGTHTO(pnsi, dtci, spare, explicitly_specified)"; -} - -//7.7.119 -type record NodeIdentifier { - OCT1 type_gtpc, - LIN2_BO_LAST lengthf, - octetstring nodeIdentifier - } with { - variant "PRESENCE(type_gtpc = 'DB'O)"; - variant (lengthf) "LENGTHTO( nodeIdentifier)"; -} - -///////////////////////////// -// Message Type Values -// 7.1 Table 1 -///////////////////////////// -type OCT1 MessageType_gtpc; - -// 0 For future use. Shall not be sent. If received, shall be treated as an -// Unknown message - -const MessageType_gtpc echoRequest := '01'O; -const MessageType_gtpc echoResponse := '02'O; -const MessageType_gtpc versionNotSupported := '03'O; - -// 4 - 7: For GTP' - -// 8 - 15 for future use. Shall not be sent. -// If received, shall be treated as an Unknown message - -const MessageType_gtpc createPDPContextRequest := '10'O; -const MessageType_gtpc createPDPContextResponse := '11'O; -const MessageType_gtpc updatePDPContextRequest := '12'O; -const MessageType_gtpc updatePDPContextResponse := '13'O; -const MessageType_gtpc deletePDPContextRequest := '14'O; -const MessageType_gtpc deletePDPContextResponse := '15'O; -const MessageType_gtpc initiatePDPContextActivationRequest := '16'O; -const MessageType_gtpc initiatePDPContextActivationResponse := '17'O; - -// 24 - 25 for future use. -// Shall not be sent. If received, shall be treated as an Unknown message - -// 26 for GTP-U only - -const MessageType_gtpc pduNotificationRequest := '1B'O; -const MessageType_gtpc pduNotificationResponse := '1C'O; -const MessageType_gtpc pduNotificationRejectRequest := '1D'O; -const MessageType_gtpc pduNotificationRejectResponse := '1E'O; - -const MessageType_gtpc supportedExtHeadersNotification := '1F'O; -const MessageType_gtpc sendRoutingInfoForGPRSRequest := '20'O; -const MessageType_gtpc sendRoutingInfoForGPRSResponse := '21'O; -const MessageType_gtpc failureReportRequest := '22'O; -const MessageType_gtpc failureReportResponse := '23'O; -const MessageType_gtpc noteMS_GPRSPresentRequest := '24'O; -const MessageType_gtpc noteMS_GPRSPresentResponse := '25'O; - -// 38 - 47 for future use. Shall not be sent. -// If received, shall be treated as an Unknown message - -const MessageType_gtpc identificationRequest := '30'O; -const MessageType_gtpc identificationResponse := '31'O; -const MessageType_gtpc sgsnContextRequest := '32'O; -const MessageType_gtpc sgsnContextResponse := '33'O; -const MessageType_gtpc sgsnContextAcknowledge := '34'O; -const MessageType_gtpc forwardRelocationRequest := '35'O; -const MessageType_gtpc forwardRelocationResponse := '36'O; -const MessageType_gtpc forwardRelocationComplete := '37'O; -const MessageType_gtpc relocationCancelRequest := '38'O; -const MessageType_gtpc relocationCancelResponse := '39'O; -const MessageType_gtpc forwardSRNSContext := '3A'O; -const MessageType_gtpc forwardRelocationCompleteAcknowledge := '3B'O; -const MessageType_gtpc forwardSRNSContextAcknowledge := '3C'O; -const MessageType_gtpc ueRegistrationQueryRequest := '3D'O; -const MessageType_gtpc ueRegistrationQueryResponse := '3E'O; - -// 63 - 69 for future use. Shall not be sent. If received, shall be treated as -// an Unknown message - -const MessageType_gtpc rANInformationRelay := '46'O; - -// 71 -95 for future use. Shall not be sent. If received, shall be treated as -// an Unknown message - -const MessageType_gtpc mBMSNotificationRequest := '60'O; -const MessageType_gtpc mBMSNotificationResponse := '61'O; -const MessageType_gtpc mBMSNotificationRejectRequest := '62'O; -const MessageType_gtpc mBMSNotificationRejectResponse := '63'O; -const MessageType_gtpc createMBMSContextRequest := '64'O; -const MessageType_gtpc createMBMSContextResponse := '65'O; -const MessageType_gtpc updateMBMSContextRequest := '66'O; -const MessageType_gtpc updateMBMSContextResponse := '67'O; -const MessageType_gtpc deleteMBMSContextRequest := '68'O; -const MessageType_gtpc deleteMBMSContextResponse := '69'O; - -// 106-111 for future use. Shall not be sent. If received, shall be treated as -// an Unknown message - -const MessageType_gtpc mBMSRegistrationRequest := '70'O; -const MessageType_gtpc mBMSRegistrationResponse := '71'O; -const MessageType_gtpc mBMSDeRegistrationRequest := '72'O; -const MessageType_gtpc mBMSDeRegistrationResponse := '73'O; - -const MessageType_gtpc mBMSSessionStartRequest := '74'O; -const MessageType_gtpc mBMSSessionStartResponse := '75'O; -const MessageType_gtpc mBMSSessionStopRequest := '76'O; -const MessageType_gtpc mBMSSessionStopResponse := '77'O; - -const MessageType_gtpc mBMSSessionUpdateRequest := '78'O; -const MessageType_gtpc mBMSSessionUpdateResponse := '79'O; - -// 122 - 127 for future use. Shall not be sent. -// If received, shall be treated as an Unknown message - -const MessageType_gtpc mS_InfoChangeNotificationRequest := '80'O; -const MessageType_gtpc mS_InfoChangeNotificationResponse := '81'O - -// 130 - 239 for future use. Shall not be sent. -// If received, shall be treated as an Unknown message - -// 240 - 241 not used in GTP-C - -// 242 - 254 for future use. Shall not be sent. -// If received, shall be treated as an Unknown message - -// 255 not used in GTP-C - -const MessageType_gtpc g_PDU := 'FF'O; - - -///////////////////////////// -// GTP-C messages -///////////////////////////// -// Echo Request - 7.2.1 -type record EchoRequest { - PrivateExtension_gtpc_List private_extension_gtpc optional -} - -// Echo Response - 7.2.2 -type record EchoResponse { - Recovery_gtpc recovery, - PrivateExtension_gtpc_List private_extension_gtpc optional -} - -// Version Not Supported - 7.2.3 -type record VersionNotSupported { -}; - -// Supported Extension Headers Notification - 7.2.4 -type record SupportedExtensionHeadersNotification { - ExtensionHeaderTypeList_gtpc extensionHeaderTypeList -} with {variant ""}; - -// Create PDP Context Request - 7.3.1 -type record CreatePDPContextRequest { - IMSI_gtpc imsi optional, - RoutingAreaIdentity rai optional, - Recovery_gtpc recovery optional, - SelectionMode selectionMode optional, - TeidDataI teidDataI, - TeidControlPlane teidControlPlane optional, - NSAPI_GTPC nsapi, - NSAPI_GTPC linked_nsapi optional, - ChargingCharacteristics_GTPC charging_char optional, - TraceRef trace_ref optional, - GTP_TraceType trace_type optional, - EndUserAddress endUserAddress optional, - AccessPointName accessPointName optional, - ProtConfigOptions protConfigOptions optional, - GSN_Address_GTPC sgsn_addr_signalling, - GSN_Address_GTPC sgsn_addr_traffic, - MSISDN msisdn optional, - QualityOfServiceProfile qualityOfServiceProfile, - TrafficFlowTemplate tft optional, - GTP_TriggerID triggerId optional, - OMCIdentity omcId optional, - CommonFlags commonFlags optional, - APN_Restriction aPN_Restriction optional, - RATType ratType optional, - UserLocationInformation userLocationInformation optional, - MS_TimeZone mS_TimeZone optional, - IMEISV_gtpc imeisv optional, - CamelChargingInformationContainer camelChargingInformationContainer optional, - AdditionalTraceInfo additionalTraceInfo optional, - CorrelationID correlationID optional, - EvolvedAllocationRetentionPriorityI evolvedAllocationRetentionPriorityI optional, - ExtendedCommonFlags extendedCommonFlags optional, - UserCSGInformation userCSGInformation optional, - APN_AMBR aPN_AMBR optional, - SignallingPriorityIndication signallingPriorityIndication optional, - CN_OperatorSelectionEntity cN_OperatorSelectionEntity optional, - PrivateExtension_gtpc_List private_extension_gtpc optional -}; - -// Create PDP Context Response - 7.3.2 -type record CreatePDPContextResponse { - Cause_gtpc cause, - ReorderingRequired reorderingRequired optional, - Recovery_gtpc recovery optional, - TeidDataI teidDataI optional, - TeidControlPlane teidControlPlane optional, - NSAPI_GTPC nsapi optional, - ChargingID chargingID optional, - EndUserAddress endUserAddress optional, - ProtConfigOptions protConfigOptions optional, - GSN_Address_GTPC ggsn_addr_controlPlane optional, - GSN_Address_GTPC ggsn_addr_traffic optional, - GSN_Address_GTPC alt_ggsn_addr_controlPane optional, - GSN_Address_GTPC alt_ggsn_addr_traffic optional, - QualityOfServiceProfile qualityOfServiceProfile optional, - CommonFlags commonFlags optional, - APN_Restriction aPN_Restriction optional, - MS_InfoChangeReportingAction mS_InfoChangeReportingAction optional, - BearerControlMode bearerControlMode optional, - EvolvedAllocationRetentionPriorityI evolvedAllocationRetentionPriorityI optional, - ExtendedCommonFlags extendedCommonFlag optional, - CSGInfoReportingAction csg_information_reporting_action optional, - APN_AMBR aPN_AMBR optional, - GGSN_BackOffTime gGSN_BackOffTime optional, - PrivateExtension_gtpc_List private_extension_gtpc optional -}; - - -// Update PDP Context Request - 7.3.3 -type union UpdatePDPContextRequest { - UpdatePDPContextRequestSGSN updatePDPContextRequestSGSN, - UpdatePDPContextRequestGGSN updatePDPContextRequestGGSN, - UpdatePDPContextRequestCGW updatePDPContextRequestCGW -}; - -//from SGSN -type record UpdatePDPContextRequestSGSN { - IMSI_gtpc imsi optional, - RoutingAreaIdentity rai optional, - Recovery_gtpc recovery optional, - TeidDataI teidDataI, - TeidControlPlane teidControlPlane optional, - NSAPI_GTPC nsapi, - TraceRef trace_ref optional, - GTP_TraceType trace_type optional, - ProtConfigOptions protConfigOptions optional, - GSN_Address_GTPC sgsn_addr_controlPlane, - GSN_Address_GTPC sgsn_addr_traffic, - GSN_Address_GTPC alt_ggsn_addr_controlPane optional, - GSN_Address_GTPC alt_ggsn_addr_traffic optional, - QualityOfServiceProfile qualityOfServiceProfile, - TrafficFlowTemplate tft optional, - GTP_TriggerID triggerId optional, - OMCIdentity omcId optional, - CommonFlags commonFlags optional, - RATType ratType optional, - UserLocationInformation userLocationInformation optional, - MS_TimeZone mS_TimeZone optional, - AdditionalTraceInfo additionalTraceInfo optional, - DirectTunnelFlags directTunnelFlags optional, - EvolvedAllocationRetentionPriorityI evolvedAllocationRetentionPriorityI optional, - ExtendedCommonFlags extendedCommonFlags optional, - UserCSGInformation userCSGInformation optional, - APN_AMBR aPN_AMBR optional, - SignallingPriorityIndication signallingPriorityIndication optional, - CN_OperatorSelectionEntity cN_OperatorSelectionEntity optional, - PrivateExtension_gtpc_List private_extension_gtpc optional -}; - -//from GGSN -type record UpdatePDPContextRequestGGSN { - IMSI_gtpc imsi optional, - Recovery_gtpc recovery optional, - NSAPI_GTPC nsapi, - EndUserAddress endUserAddress optional, - ProtConfigOptions protConfigOptions optional, - QualityOfServiceProfile qualityOfServiceProfile optional, - TrafficFlowTemplate tft optional, - CommonFlags commonFlags optional, - APN_Restriction aPN_Restriction optional, - MS_InfoChangeReportingAction mS_InfoChangeReportingAction optional, - DirectTunnelFlags directTunnelFlags optional, - BearerControlMode bearerControlMode optional, - EvolvedAllocationRetentionPriorityI evolvedAllocationRetentionPriorityI optional, - ExtendedCommonFlags extendedCommonFlags optional, - CSGInfoReportingAction cSGInfoReportingAction optional, - APN_AMBR aPN_AMBR optional, - PrivateExtension_gtpc_List private_extension_gtpc optional -}; - -//from CGW -type record UpdatePDPContextRequestCGW { - IMSI_gtpc imsi optional, - Recovery_gtpc recovery optional, - NSAPI_GTPC nsapi, - EndUserAddress endUserAddress optional, - ProtConfigOptions protConfigOptions optional, - QualityOfServiceProfile qualityOfServiceProfile optional, - TrafficFlowTemplate tft optional, - CommonFlags commonFlags optional, - APN_Restriction aPN_Restriction optional, - MS_InfoChangeReportingAction mS_InfoChangeReportingAction optional, - DirectTunnelFlags directTunnelFlags optional, - BearerControlMode bearerControlMode optional, - EvolvedAllocationRetentionPriorityI evolvedAllocationRetentionPriorityI optional, - CSGInfoReportingAction cSGInfoReportingAction optional, - APN_AMBR aPN_AMBR optional, - PrivateExtension_gtpc_List private_extension_gtpc optional -}; - -// Update PDP Context Response - 7.3.4 -type union UpdatePDPContextResponse { - UpdatePDPContextResponseSGSN updatePDPContextResponseSGSN, - UpdatePDPContextResponseGGSN updatePDPContextResponseGGSN, - UpdatePDPContextResponseCGW updatePDPContextResponseCGW -}; - -//from GGSN -type record UpdatePDPContextResponseGGSN { - Cause_gtpc cause, - Recovery_gtpc recovery optional, - TeidDataI teidDataI optional, - TeidControlPlane teidControlPlane optional, - ChargingID chargingID optional, - ProtConfigOptions protConfigOptions optional, - GSN_Address_GTPC ggsn_addr_controlPlane optional, - GSN_Address_GTPC ggsn_addr_traffic optional, - GSN_Address_GTPC alt_ggsn_addr_controlPane optional, - GSN_Address_GTPC alt_ggsn_addr_traffic optional, - QualityOfServiceProfile qualityOfServiceProfile optional, - CommonFlags commonFlags optional, - APN_Restriction aPN_Restriction optional, - MS_InfoChangeReportingAction mS_InfoChangeReportingAction optional, - BearerControlMode bearerControlMode optional, - EvolvedAllocationRetentionPriorityI evolvedAllocationRetentionPriorityI optional, - CSGInfoReportingAction csg_information_reporting_action optional, - APN_AMBR aPN_AMBR optional, - PrivateExtension_gtpc_List private_extension_gtpc optional -}; - -//from CGW -type record UpdatePDPContextResponseCGW { - Cause_gtpc cause, - Recovery_gtpc recovery optional, - TeidDataI teidDataI optional, - TeidControlPlane teidControlPlane optional, - ChargingID chargingID optional, - ProtConfigOptions protConfigOptions optional, - GSN_Address_GTPC ggsn_addr_controlPlane optional, - GSN_Address_GTPC ggsn_addr_traffic optional, - GSN_Address_GTPC alt_ggsn_addr_controlPane optional, - GSN_Address_GTPC alt_ggsn_addr_traffic optional, - QualityOfServiceProfile qualityOfServiceProfile optional, - CommonFlags commonFlags optional, - APN_Restriction aPN_Restriction optional, - MS_InfoChangeReportingAction mS_InfoChangeReportingAction optional, - BearerControlMode bearerControlMode optional, - EvolvedAllocationRetentionPriorityI evolvedAllocationRetentionPriorityI optional, - APN_AMBR aPN_AMBR optional, - ChargingGatewayAddress chargingGatewayAddress optional, - ChargingGatewayAddress alt_chargingGatewayAddress optional, - PrivateExtension_gtpc_List private_extension_gtpc optional -}; - -//from SGSN -type record UpdatePDPContextResponseSGSN { - Cause_gtpc cause, - Recovery_gtpc recovery optional, - TeidDataI teidDataI optional, - ProtConfigOptions protConfigOptions optional, - GSN_Address_GTPC sgsn_addr_traffic optional, - QualityOfServiceProfile qualityOfServiceProfile optional, - UserLocationInformation userLocationInformation optional, - MS_TimeZone mS_TimeZone optional, - DirectTunnelFlags directTunnelFlags optional, - EvolvedAllocationRetentionPriorityI evolvedAllocationRetentionPriorityI optional, - APN_AMBR aPN_AMBR optional, - PrivateExtension_gtpc_List private_extension_gtpc optional -}; - - -// Delete PDP Context Request - 7.3.5 -type record DeletePDPContextRequest { - Cause_gtpc cause optional, - TearDownInd tearDownIndicator optional, - NSAPI_GTPC nsapi, - ProtConfigOptions protConfigOptions optional, - UserLocationInformation userLocationInformation optional, - MS_TimeZone mS_TimeZone optional, - ExtendedCommonFlags extendedCommonFlags optional, - ULI_Timestamp uLI_Timestamp optional, - PrivateExtension_gtpc_List private_extension_gtpc optional -}; - -// Delete PDP Context Response - 7.3.6 -type record DeletePDPContextResponse { - Cause_gtpc cause, - ProtConfigOptions protConfigOptions optional, - UserLocationInformation userLocationInformation optional, - MS_TimeZone mS_TimeZone optional, - ULI_Timestamp uLI_Timestamp optional, - PrivateExtension_gtpc_List private_extension_gtpc optional -}; - -// PDU Notification Request - 7.3.8 -type record PDU_NotificationRequest { - IMSI_gtpc imsi, - TeidControlPlane teidControlPlane, - EndUserAddress endUserAddress, - AccessPointName accessPointName, - ProtConfigOptions protConfigOptions optional, - GSN_Address_GTPC ggsn_addr_controlPlane, - PrivateExtension_gtpc_List private_extension_gtpc optional -}; - -// PDU Notification Response - 7.3.9 -type record PDU_NotificationResponse { - Cause_gtpc cause, - PrivateExtension_gtpc_List private_extension_gtpc optional -} - -// PDU Notification Reject Request - 7.3.10 -type record PDU_NotificationRejectRequest { - Cause_gtpc cause, - TeidControlPlane teidControlPlane, - EndUserAddress endUserAddress, - AccessPointName accessPointName, - ProtConfigOptions protConfigOptions optional, - PrivateExtension_gtpc_List private_extension_gtpc optional -}; - -// PDU Notification Reject Response - 7.3.11 -type record PDU_NotificationRejectResponse { - Cause_gtpc cause, - PrivateExtension_gtpc_List private_extension_gtpc optional -} - -// Initiate PDP Context Activation Request 7.3.12 -type record InitiatePDPContextActivationRequest -{ - NSAPI_GTPC linkedNSAPI, - ProtConfigOptions protConfigOptions optional, - QualityOfServiceProfile qualityOfServiceProfile, - TrafficFlowTemplate tft optional, - CorrelationID correlationID, - EvolvedAllocationRetentionPriorityI evolvedAllocationRetentionPriorityI optional, - PrivateExtension_gtpc_List private_extension_gtpc optional -}; - -// Initiate PDP Context Activation Response 7.3.13 -type record InitiatePDPContextActivationResponse -{ - Cause_gtpc cause, - ProtConfigOptions protConfigOptions optional, - PrivateExtension_gtpc_List private_extension_gtpc optional -}; - -// Send Routeing Information for GPRS Request - 7.4.1 -type record SendRouteingInformationForGPRSRequest { - IMSI_gtpc imsi, - PrivateExtension_gtpc_List private_extension_gtpc optional -} - -// Send Routeing Information for GPRS Response - 7.4.2 -type record SendRouteingInformationForGPRSResponse { - Cause_gtpc cause, - IMSI_gtpc imsi, - MAP_Cause map_Cause optional, - MSNotReachableReason mS_not_ReachableReason optional, - GSN_Address_GTPC gsn_Address optional, - PrivateExtension_gtpc_List private_extension_gtpc optional -}; - -// Failure Report Request - 7.4.3 -type record FailureReportRequest { - IMSI_gtpc imsi, - PrivateExtension_gtpc_List private_extension_gtpc optional -} - -// Failure Report Response - 7.4.4 -type record FailureReportResponse { - Cause_gtpc cause, - MAP_Cause map_Cause optional, - PrivateExtension_gtpc_List private_extension_gtpc optional -}; - -// Note MS GPRS Present Request - 7.4.5 -type record NoteMS_GPRSPresentRequest { - IMSI_gtpc imsi, - GSN_Address_GTPC gsn_Address, - PrivateExtension_gtpc_List private_extension_gtpc optional -} - -// Note MS GPRS Present Response - 7.4.6 -type record NoteMS_GPRSPresentResponse { - Cause_gtpc cause, - PrivateExtension_gtpc_List private_extension_gtpc optional -} - -// Identification Request - 7.5.1 -type record IdentificationRequest { - RoutingAreaIdentity routingAreaIdentity, - PacketTMSI packetTMSI, - PTMSI_Signature ptmsi_Signature optional, - GSN_Address_GTPC sgsn_addr_controlPlane optional, - HopCounter_gtpc hopCounter optional, - PrivateExtension_gtpc_List private_extension_gtpc optional -}; - -// Identification Response - 7.5.2 -type record IdentificationResponse { - Cause_gtpc cause, - IMSI_gtpc imsi optional, - AuthenticationTriplet_GTPC_SetOf authenticationTriplet optional, - AuthenticationQuintuplet_GTPC authenticationQuintuplet optional, - AuthenticationQuintuplet_GTPC authenticationQuintuplet2 optional, - AuthenticationQuintuplet_GTPC authenticationQuintuplet3 optional, - AuthenticationQuintuplet_GTPC authenticationQuintuplet4 optional, - AuthenticationQuintuplet_GTPC authenticationQuintuplet5 optional, - UE_UsageType uE_UsageType optional, - PrivateExtension_gtpc_List private_extension_gtpc optional -}; - -// SGSN Context Request - 7.5.3 -type record SGSN_ContextRequest { - IMSI_gtpc imsi optional, - RoutingAreaIdentity routingAreaIdentity , - TLLI tlli optional, - PacketTMSI packetTMSI optional, - PTMSI_Signature ptmsi_Signature optional, - MS_Validated ms_Validated optional, - TeidControlPlane teidControlPlane, - GSN_Address_GTPC sgsn_addr_controlPlane, - GSN_Address_GTPC alternative_sgsn_addr_controlPlane optional, - SGSN_Number sGSN_Number optional, - RATType ratType optional, - HopCounter_gtpc hopCounter optional, - PrivateExtension_gtpc_List private_extension_gtpc optional -}; - -// SGSN Context Response - 7.5.4 - type record SGSN_ContextResponse -{ - Cause_gtpc cause, - IMSI_gtpc imsi optional, - TeidControlPlane teidControlPlane optional, - RABContext_List rabContext optional, - RadioPrioritySMS radioPrioritySMS optional, - RadioPriority_List radioPriority optional, - PacketFlowID_List packetFlowID optional, - ChargingCharacteristics_List_GTPC charging_char optional, - MM_Context mm_Context optional, - PDP_Context_GTPC_List pdp_Context optional, - GSN_Address_GTPC sgsn_addr_controlPlane optional, - PDPContextPriorization pdpContextPriorization optional, - RadioPriorityLCS radioPriority_LCS optional, - MBMS_UE_Context_List mBMS_UE_Context optional, - RFSP_Index subscribedRFSP_Index optional, - RFSP_Index rFSP_IndexInUse optional, - FullyQualifiedDomainName_List colocatedGGSN_PGW_FQDN optional, - EvolvedAllocationRetentionPriorityII_List evolvedAllocationRetentionPriorityII optional, - ExtendedCommonFlags extendedCommonFlags optional, - UE_Network_Capability ue_network_capability optional, - UE_AMBR ue_ambr optional, - APN_AMBR_NSAPI apn_ambr_nsapi optional, - SignallingPriorityIndication_NSAPI signallingPriorityIndication_nsapi optional, - Higher_Bitrates_Than_16Mbps_Flag higher_bitrates_than_16mbps_flag optional, - SelectionMode_NSAPI selectionMode_nsapi optional, - LHN_ID_NSAPI localHomeNetworkID_nsapi optional, - UE_UsageType uE_UsageType optional, - ExtendedCommonFlagsII extendedCommonFlagsII optional, - PrivateExtension_gtpc_List private_extension_gtpc optional -}; - - -// SGSN Context Acknowledge - 7.5.5 -type record SGSN_ContextAcknowledge { - Cause_gtpc cause, - TeidDataII_List teidDataII optional, - GSN_Address_GTPC sgsn_AddressForUserTraffic optional, - SGSN_Number sgsn_Number optional, - NodeIdentifier nodeIdentifier optional, - PrivateExtension_gtpc_List private_extension_gtpc optional -}; - -// Forward Relocation Request - 7.5.6 -type record ForwardRelocationRequest { - IMSI_gtpc imsi optional, - TeidControlPlane teidControlPlane, - RANAPCause ranapCause, - PacketFlowID_List packetFlowID optional, - ChargingCharacteristics_List_GTPC charging_char optional, - MM_Context mmContext, - PDP_Context_GTPC_List pdpContext optional, - GSN_Address_GTPC sgsn_addr_controlPlane, - TargetIdentification targetId, - UTRANTransparentContainer transpContainer, - PDPContextPriorization pdpContextPriorization optional, - MBMS_UE_Context_List mBMS_UE_Context optional, - Selected_PLMN_ID selected_PLMN_ID optional, - BSS_Container bSS_Container optional, - Cell_Identification_gtpc cell_Identification optional, - BSSGP_Cause_gtpc bSSGP_Cause_gtpc optional, - PS_HandoverXIDParameters_List pS_HandoverXIDParameters optional, - DirectTunnelFlags directTunnelFlags optional, - ReliableInterRATHandoverInfo reliableInterRATHandoverInfo optional, - RFSP_Index subscribedRFSP_Index optional, - RFSP_Index rFSP_IndexInUse optional, - FullyQualifiedDomainName_List colocatedGGSN_PGW_FQDN optional, - EvolvedAllocationRetentionPriorityII_List evolvedAllocationRetentionPriorityII optional, - ExtendedCommonFlags extendedCommonFlags optional, - CSG_Id cSG_Id optional, - CSG_MembershipIndication cSG_MembershipIndication optional, - UE_Network_Capability ue_network_capability optional, - UE_AMBR ue_ambr optional, - APN_AMBR_NSAPI apn_ambr_nsapi optional, - SignallingPriorityIndication_NSAPI signallingPriorityIndication_nsapi optional, - Higher_Bitrates_Than_16Mbps_Flag higher_bitrates_than_16mbps_flag optional, - SRVCC_MM_Context srvcc_mm_context optional, - SRVCC_Flags srvcc_flags optional, - STN_SR stn_sr optional, - C_MSISDN c_msisdn optional, - Extended_RANAP_Cause extended_ranap_cause optional, - ENodeB_ID eNodeB_ID optional, - SelectionMode_NSAPI selectionMode_nsapi optional, - UE_UsageType uE_UsageType optional, - ExtendedCommonFlagsII extendedCommonFlagsII optional, - PrivateExtension_gtpc_List private_extension_gtpc optional //to be compatible with GTP 9.11.0 -}; - - - - -// Forward Relocation Response - 7.5.7 -type record ForwardRelocationResponse { - Cause_gtpc cause, - TeidControlPlane teidControlPlane optional, - TeidDataII_List teidDataII optional, - RANAPCause ranapCause optional, - GSN_Address_GTPC sgsn_addr_controlPlane optional, - GSN_Address_GTPC sgsn_addr_traffic optional, - UTRANTransparentContainer transpContainer optional, - RABSetupInformation_List rabSetupInfo optional, - AdditionalRABSetupInformation_List additionalRABSetupInfo optional, - SGSN_Number sGSN_Number optional, - BSS_Container bSS_Container optional, - BSSGP_Cause_gtpc bSSGP_Cause_gtpc optional, - ListOfSetupPFCs_gtpc listOfSetupPFCs_gtpc optional, - Extended_RANAP_Cause extended_ranap_cause optional, - PrivateExtension_gtpc_List private_extension_gtpc optional -}; - -// Forward Relocation Complete - 7.5.8 -type record ForwardRelocationComplete { - PrivateExtension_gtpc_List private_extension_gtpc optional -} - -// Relocation Cancel Request - 7.5.9 -type record RelocationCancelRequest { - IMSI_gtpc imsi optional, - IMEISV_gtpc imeisv_gtpc optional, - ExtendedCommonFlags extended_common_flags optional, - Extended_RANAP_Cause extended_ranap_cause optional, - PrivateExtension_gtpc_List private_extension_gtpc optional -} - -// Relocation Cancel Response - 7.5.10 -type record RelocationCancelResponse { - Cause_gtpc cause, - PrivateExtension_gtpc_List private_extension_gtpc optional -} - -// Forward Relocation Complete Acknowledge - 7.5.11 -type record ForwardRelocationCompleteAcknowledge { - Cause_gtpc cause, - PrivateExtension_gtpc_List private_extension_gtpc optional -} - -// 60 Forward SRNS Context Acknowledge - 7.5.12 -type record ForwardSRNSContextAcknowledge { - Cause_gtpc cause, - PrivateExtension_gtpc_List private_extension_gtpc optional -} - -// Forward SRNS Context - 7.5.13 -type record ForwardSRNSContext { - RABContext_List rabContext, - SourceRNC_PDCP_ContextInfo sourceRNC_PDCP_ContextInfo optional, - PDU_Numbers_List pDU_Numbers optional, - PrivateExtension_gtpc_List private_extension_gtpc optional -}; - -// RAN InformationRelay - 7.5.14.1 -type record RANInformationRelay{ - RANTransparentContainer transparentContainer, - RIM_RoutingAddress rIM_RoutingAddress optional, - RIM_RoutingAddress_Discriminator rIM_RoutingAddress_Discriminator optional, - PrivateExtension_gtpc_List private_extension_gtpc optional -}; - -// UE Registration Query Request - 7.5.15 -type record UERegistrationQueryRequest { - IMSI_gtpc imsi, - PrivateExtension_gtpc_List private_extension_gtpc optional -} - -// UE Registration Query Response - 7.5.16 -type record UERegistrationQueryResponse { - Cause_gtpc cause, - IMSI_gtpc imsi, - Selected_PLMN_ID selected_PLMN_ID optional, - PrivateExtension_gtpc_List private_extension_gtpc optional -} - -// MBMS Notification Request - 7.5A.1.1 -type record MBMSNotificationRequest -{ - IMSI_gtpc imsi, - TeidControlPlane teidControlPlane, - NSAPI_GTPC nsapi, - EndUserAddress endUserAddress, - AccessPointName accessPointName, - GSN_Address_GTPC ggsn_addr_controlPlane, - MBMS_ProtocolConfigurationOptions mBMS_ProtocolConfigurationOptions optional, - PrivateExtension_gtpc_List private_extension_gtpc optional -}; - -// MBMS Notification Response - 7.5A.1.2 -type record MBMSNotificationResponse -{ - Cause_gtpc cause, - PrivateExtension_gtpc_List private_extension_gtpc optional -} - -// MBMS Notification Reject Request - 7.5A.1.3 -type record MBMSNotificationRejectRequest -{ - Cause_gtpc cause, - TeidControlPlane teidControlPlane, - NSAPI_GTPC nsapi, - EndUserAddress endUserAddress, - AccessPointName accessPointName, - GSN_Address_GTPC sgsn_addr_controlPlane optional, - PrivateExtension_gtpc_List private_extension_gtpc optional -}; - -// MBMS Notification Reject Response - 7.5A.1.4 -type record MBMSNotificationRejectResponse -{ - Cause_gtpc cause, - PrivateExtension_gtpc_List private_extension_gtpc optional -} - -// Create MBMS Context Request - 7.5A.1.5 -type record CreateMBMSContextRequest -{ - IMSI_gtpc imsi optional, - RoutingAreaIdentity rai, - Recovery_gtpc recovery optional, - SelectionMode selectionMode optional, - TeidControlPlane teidControlPlane optional, - TraceRef trace_ref optional, - GTP_TraceType trace_type optional, - EndUserAddress endUserAddress, - AccessPointName accessPointName, - GSN_Address_GTPC sGSNAddressForSignalling, - MSISDN msisdn optional, - GTP_TriggerID triggerId optional, - OMCIdentity omcId optional, - RATType ratType optional, - UserLocationInformation userLocationInformation optional, - MS_TimeZone mS_TimeZone optional, - IMEISV_gtpc imeisv optional, - MBMS_ProtocolConfigurationOptions mBMS_ProtocolConfigurationOptions optional, - AdditionalTraceInfo additionalTraceInfo optional, - Enhanced_NSAPI enhanced_NSAPI, - AdditionalMBMSTraceInfo additionalMBMSTraceInfo optional, - PrivateExtension_gtpc_List private_extension_gtpc optional -}; - -// Create MBMS Context Response - 7.5A.1.6 -type record CreateMBMSContextResponse -{ - Cause_gtpc cause, - Recovery_gtpc recovery optional, - TeidControlPlane teidControlPlane optional, - ChargingID chargingID optional, - GSN_Address_GTPC ggsn_addr_controlPlane optional, - GSN_Address_GTPC alternative_ggsn_addr_controlPlane optional, - MBMS_ProtocolConfigurationOptions mBMS_ProtocolConfigurationOptions optional, - ChargingGatewayAddress chargingGatewayAddress optional, - ChargingGatewayAddress alt_chargingGatewayAddress optional, - PrivateExtension_gtpc_List private_extension_gtpc optional -}; - -// Update MBMS Context Request - 7.5A.1.7 -type record UpdateMBMSContextRequest -{ - RoutingAreaIdentity rai, - Recovery_gtpc recovery optional, - TeidControlPlane teidControlPlane optional, - TraceRef trace_ref optional, - GTP_TraceType trace_type optional, - GSN_Address_GTPC sgsn_addr_controlPlane, - GSN_Address_GTPC alternative_sgsn_addr_controlPlane optional, - GTP_TriggerID triggerId optional, - OMCIdentity omcId optional, - RATType ratType optional, - UserLocationInformation userLocationInformation optional, - MS_TimeZone mS_TimeZone optional, - AdditionalTraceInfo additionalTraceInfo optional, - Enhanced_NSAPI enhanced_NSAPI, - AdditionalMBMSTraceInfo additionalMBMSTraceInfo optional, - PrivateExtension_gtpc_List private_extension_gtpc optional -}; - -// Update MBMS Context Response - 7.5A.1.8 -type record UpdateMBMSContextResponse -{ - Cause_gtpc cause, - Recovery_gtpc recovery optional, - TeidControlPlane teidControlPlane optional, - ChargingID chargingID optional, - GSN_Address_GTPC ggsn_addr_controlPlane optional, - GSN_Address_GTPC alternative_ggsn_addr_controlPlane optional, - ChargingGatewayAddress chargingGatewayAddress optional, - ChargingGatewayAddress alt_chargingGatewayAddress optional, - PrivateExtension_gtpc_List private_extension_gtpc optional -}; - -// Delete MBMS Context Request - 7.5A.1.9 -type record DeleteMBMSContextRequest -{ - IMSI_gtpc imsi optional, - TeidControlPlane teidControlPlane optional, - EndUserAddress endUserAddress optional, - AccessPointName accessPointName optional, - MBMS_ProtocolConfigurationOptions mBMS_ProtocolConfigurationOptions optional, - Enhanced_NSAPI enhanced_NSAPI optional, - PrivateExtension_gtpc_List private_extension_gtpc optional -}; - -// Delete MBMS Context Response - 7.5A.1.10 -type record DeleteMBMSContextResponse -{ - Cause_gtpc cause, - MBMS_ProtocolConfigurationOptions mBMS_ProtocolConfigurationOptions optional, - PrivateExtension_gtpc_List private_extension_gtpc optional -}; - -// MBMS Registration Request - 7.5A.2.1 -type record MBMSRegistrationRequest_gtpc -{ - TeidControlPlane teidControlPlane optional, - EndUserAddress endUserAddress, - AccessPointName accessPointName, - GSN_Address_GTPC sgsn_addr_controlPlane optional, - GSN_Address_GTPC alternative_sgsn_addr_controlPlane optional, - PrivateExtension_gtpc_List private_extension_gtpc optional -}; - -// MBMS Registration Response - 7.5A.2.2 -type record MBMSRegistrationResponse_gtpc -{ - Cause_gtpc cause, - TeidControlPlane teidControlPlane optional, - GSN_Address_GTPC ggsn_addr_controlPlane optional, - TMGI_gtpc tMGI optional, - RequiredMBMS_BearerCapabilities reqMBMS_BearerCapabilities optional, - PrivateExtension_gtpc_List private_extension_gtpc optional -}; - -// MBMS De-registration Request - 7.5A.2.3 -type record MBMSDeRegistrationRequest -{ - EndUserAddress endUserAddress, - AccessPointName accessPointName, - PrivateExtension_gtpc_List private_extension_gtpc optional -} - -// MBMS De-Registration Response - 7.5A.2.4 -type record MBMSDeRegistrationResponse -{ - Cause_gtpc cause, - PrivateExtension_gtpc_List private_extension_gtpc optional -} - - -// MBMS Session Start Request 7.5A.2.5 -type record MBMSSessionStartRequest -{ - Recovery_gtpc recovery optional, - TeidControlPlane teidControlPlane optional, - EndUserAddress endUserAddress, - AccessPointName accessPointName, - GSN_Address_GTPC ggsn_addr_controlPlane optional, - GSN_Address_GTPC alternative_ggsn_addr_controlPlane optional, - QualityOfServiceProfile qualityOfServiceProfile, - CommonFlags commonFlags, - TMGI_gtpc tMGI, - MBMS_ServiceArea mBMS_ServiceArea, - MBMS_SessionIdentifier mBMS_SessionIdentifier optional, - MBMS_2G_3G_Indicator mBMS_2G_3G_Indicator, - MBMS_SessionDuration mBMS_SessionDuration, - MBMS_SessionRepetitionNumber mBMS_SessionRepetitionNumber optional, - MBMS_TimeToDataTransfer mBMS_TimeToDataTransfer, - MBMS_FlowID mBMS_FlowID optional, - MBMS_IPMulticastDistribution mBMS_IPMulticastDistribution optional, - PrivateExtension_gtpc_List private_extension_gtpc optional -}; - -// 117 MBMS Session Start Response 7.5A.2.6 -type record MBMSSessionStartResponse_gtpc -{ - Cause_gtpc cause, - Recovery_gtpc recovery optional, - TeidDataI teidDataI optional, - TeidControlPlane teidControlPlane optional, - GSN_Address_GTPC sgsn_addr_controlPlane optional, - GSN_Address_GTPC sgsn_addr_traffic optional, - GSN_Address_GTPC alt_sgsn_addr_traffic optional, - MBMS_DistributionAcknowledgement mBMS_DistributionAcknowledgement optional, - PrivateExtension_gtpc_List private_extension_gtpc optional -}; - -// MBMS Session Stop Request - 7.5A.2.7 -type record MBMSSessionStopRequest -{ - EndUserAddress endUserAddress, - AccessPointName accessPointName, - MBMS_FlowID mBMS_FlowID optional, - PrivateExtension_gtpc_List private_extension_gtpc optional -}; - -// MBMS Session Stop Response - 7.5A.2.8 -type record MBMSSessionStopResponse_gtpc -{ - Cause_gtpc cause, - PrivateExtension_gtpc_List private_extension_gtpc optional -} - -// MBMS Session Update Request - 7.5A.2.9 -type record MBMSSessionUpdateRequest -{ - TeidControlPlane teidControlPlane optional, - EndUserAddress endUserAddress, - AccessPointName accessPointName, - GSN_Address_GTPC ggsn_addr_controlPlane optional, - TMGI_gtpc tMGI, - MBMS_ServiceArea mBMS_ServiceArea, - MBMS_SessionIdentifier mBMS_SessionIdentifier optional, - MBMS_SessionDuration mBMS_SessionDuration, - MBMS_SessionRepetitionNumber mBMS_SessionRepetitionNumber optional, - MBMS_FlowID mBMS_FlowID optional, - PrivateExtension_gtpc_List private_extension_gtpc optional -}; - -// MBMS Session Update Response - 7.5A.2.10 -type record MBMSSessionUpdateResponse -{ - Cause_gtpc cause, - TeidDataI teidDataI optional, - TeidControlPlane teidControlPlane optional, - GSN_Address_GTPC sgsn_addr_DataI optional, - GSN_Address_GTPC sgsn_addr_controlPlane optional, - PrivateExtension_gtpc_List private_extension_gtpc optional -}; - -// MS Info Change Notification Request 7.5B.1.1 -type record MS_InfoChangeNotificationRequest -{ - IMSI_gtpc imsi optional, - NSAPI_GTPC linkedNSAPI optional, - RATType ratType, - UserLocationInformation userLocationInformation optional, - IMEISV_gtpc imeisv_gtpc optional, - ExtendedCommonFlags extended_common_flags optional, - UserCSGInformation userCSGInformation optional, - PrivateExtension_gtpc_List private_extension_gtpc optional -}; - -// MS Info Change Notification Response 7.5B.1.2 -type record MS_InfoChangeNotificationResponse -{ - Cause_gtpc cause, - IMSI_gtpc imsi optional, - NSAPI_GTPC linkedNSAPI optional, - IMEISV_gtpc imeisv_gtpc optional, - MS_InfoChangeReportingAction mS_InfoChangeReportingAction optional, - CSGInfoReportingAction cSGInfoReportingAction optional, - PrivateExtension_gtpc_List private_extension_gtpc optional -}; - -type union GTPC_PDUs { - EchoRequest echoRequest, - EchoResponse echoResponse, - VersionNotSupported versionNotSupported, - CreatePDPContextRequest createPDPContextRequest, - CreatePDPContextResponse createPDPContextResponse, - UpdatePDPContextRequest updatePDPContextRequest, - UpdatePDPContextResponse updatePDPContextResponse, - DeletePDPContextRequest deletePDPContextRequest, - DeletePDPContextResponse deletePDPContextResponse, - PDU_NotificationRequest pdu_NotificationRequest, - PDU_NotificationResponse pdu_NotificationResponse, - PDU_NotificationRejectRequest pdu_NotificationRejectRequest, - PDU_NotificationRejectResponse pdu_NotificationRejectResponse, - InitiatePDPContextActivationRequest initiatePDPContextActivationRequest, - InitiatePDPContextActivationResponse initiatePDPContextActivationResponse, - SupportedExtensionHeadersNotification supportedExtensionHeadersNotification, - SendRouteingInformationForGPRSRequest sendRouteingInformationForGPRSRequest, - SendRouteingInformationForGPRSResponse sendRouteingInformationForGPRSResponse, - FailureReportRequest failureReportRequest, - FailureReportResponse failureReportResponse, - NoteMS_GPRSPresentRequest noteMS_GPRSPresentRequest, - NoteMS_GPRSPresentResponse noteMS_GPRSPresentResponse, - IdentificationRequest identificationRequest, - IdentificationResponse identificationResponse, - SGSN_ContextRequest sgsn_ContextRequest, - SGSN_ContextResponse sgsn_ContextResponse, - SGSN_ContextAcknowledge sgsn_ContextAcknowledge, - ForwardRelocationRequest forwardRelocationRequest, - ForwardRelocationResponse forwardRelocationResponse, - ForwardRelocationComplete forwardRelocationComplete, - RelocationCancelRequest relocationCancelRequest, - RelocationCancelResponse relocationCancelResponse, - ForwardSRNSContext forwardSRNSContext, - ForwardRelocationCompleteAcknowledge forwardRelocationCompleteAcknowledge, - ForwardSRNSContextAcknowledge forwardSRNSContextAcknowledge, - UERegistrationQueryRequest uERegistrationQueryRequest, - UERegistrationQueryResponse uERegistrationQueryResponse, - RANInformationRelay ranInformationRelay, - MBMSNotificationRequest mBMSNotificationRequest, - MBMSNotificationResponse mBMSNotificationResponse, - MBMSNotificationRejectRequest mBMSNotificationRejectRequest, - MBMSNotificationRejectResponse mBMSNotificationRejectResponse, - CreateMBMSContextRequest createMBMSContextRequest, - CreateMBMSContextResponse createMBMSContextResponse, - UpdateMBMSContextRequest updateMBMSContextRequest, - UpdateMBMSContextResponse updateMBMSContextResponse, - DeleteMBMSContextRequest deleteMBMSContextRequest, - DeleteMBMSContextResponse deleteMBMSContextResponse, - MBMSRegistrationRequest_gtpc mBMSRegistrationRequest, - MBMSRegistrationResponse_gtpc mBMSRegistrationResponse, - MBMSDeRegistrationRequest mBMSDeRegistrationRequest, - MBMSDeRegistrationResponse mBMSDeRegistrationResponse, - MBMSSessionStartRequest mBMSSessionStartRequest, - MBMSSessionStartResponse_gtpc mBMSSessionStartResponse, - MBMSSessionStopRequest mBMSSessionStopRequest, - MBMSSessionStopResponse_gtpc mBMSSessionStopResponse, - MBMSSessionUpdateRequest mBMSSessionUpdateRequest, - MBMSSessionUpdateResponse mBMSSessionUpdateResponse, - MS_InfoChangeNotificationRequest mS_InfoChangeNotificationRequest, - MS_InfoChangeNotificationResponse mS_InfoChangeNotificationResponse -} with { variant ""}; - - -///////////////////////////// -// PDU definition -///////////////////////////// -type record PDU_GTPC { - BIT1 pn_bit, - BIT1 s_bit, - BIT1 e_bit, - BIT1 spare, - BIT1 pt, - BIT3 version, - OCT1 messageType, - LIN2_BO_LAST lengthf, - OCT4 teid, - GTPC_Header_optional_part opt_part optional, - GTPC_PDUs gtpc_pdu -} with { - variant (lengthf) "LENGTHTO(opt_part, gtpc_pdu)"; - variant (opt_part) "PRESENCE({pn_bit = '1'B, s_bit = '1'B, e_bit = '1'B})"; - variant (gtpc_pdu) "CROSSTAG( echoRequest, messageType = '01'O; - echoResponse, messageType = '02'O; - versionNotSupported, messageType = '03'O; - createPDPContextRequest, messageType = '10'O; - createPDPContextResponse, messageType = '11'O; - updatePDPContextRequest, messageType = '12'O; - updatePDPContextResponse, messageType = '13'O; - deletePDPContextRequest, messageType = '14'O; - deletePDPContextResponse, messageType = '15'O; - initiatePDPContextActivationRequest, messageType = '16'O; - initiatePDPContextActivationResponse, messageType = '17'O; - pdu_NotificationRequest, messageType = '1B'O; - pdu_NotificationResponse, messageType = '1C'O; - pdu_NotificationRejectRequest, messageType = '1D'O; - pdu_NotificationRejectResponse, messageType = '1E'O; - supportedExtensionHeadersNotification, messageType ='1F'O; - sendRouteingInformationForGPRSRequest, messageType = '20'O; - sendRouteingInformationForGPRSResponse, messageType = '21'O; - failureReportRequest, messageType = '22'O; - failureReportResponse, messageType = '23'O; - noteMS_GPRSPresentRequest, messageType = '24'O; - noteMS_GPRSPresentResponse, messageType = '25'O; - identificationRequest, messageType = '30'O; - identificationResponse, messageType = '31'O; - sgsn_ContextRequest, messageType = '32'O; - sgsn_ContextResponse, messageType = '33'O; - sgsn_ContextAcknowledge, messageType = '34'O; - forwardRelocationRequest, messageType = '35'O; - forwardRelocationResponse, messageType = '36'O; - forwardRelocationComplete, messageType = '37'O; - relocationCancelRequest, messageType = '38'O; - relocationCancelResponse, messageType = '39'O; - forwardSRNSContext, messageType = '3A'O; - forwardRelocationCompleteAcknowledge, messageType = '3B'O; - forwardSRNSContextAcknowledge, messageType = '3C'O; - uERegistrationQueryRequest, messageType = '3D'O; - uERegistrationQueryResponse, messageType = '3F'O; - ranInformationRelay, messageType = '46'O; - mBMSNotificationRequest, messageType = '60'O; - mBMSNotificationResponse, messageType = '61'O; - mBMSNotificationRejectRequest, messageType = '62'O; - mBMSNotificationRejectResponse, messageType = '63'O; - createMBMSContextRequest, messageType = '64'O; - createMBMSContextResponse, messageType = '65'O; - updateMBMSContextRequest, messageType = '66'O; - updateMBMSContextResponse, messageType = '67'O; - deleteMBMSContextRequest, messageType = '68'O; - deleteMBMSContextResponse, messageType = '69'O; - mBMSRegistrationRequest, messageType = '70'O; - mBMSRegistrationResponse, messageType = '71'O; - mBMSDeRegistrationRequest, messageType = '72'O; - mBMSDeRegistrationResponse, messageType = '73'O; - mBMSSessionStartRequest, messageType = '74'O; - mBMSSessionStartResponse, messageType = '75'O; - mBMSSessionStopRequest, messageType = '76'O; - mBMSSessionStopResponse, messageType = '77'O; - mBMSSessionUpdateRequest, messageType = '78'O; - mBMSSessionUpdateResponse, messageType = '79'O; - mS_InfoChangeNotificationRequest, messageType = '80'O; - mS_InfoChangeNotificationResponse, messageType = '81'O - )"; -}; - -type record GTPC_Header_optional_part { - OCT2 sequenceNumber, - OCT1 npduNumber, - OCT1 nextExtHeader, - GTPC_ExtensionHeader_List gTPC_extensionHeader_List optional -} - -type record of GTPC_ExtensionHeader GTPC_ExtensionHeader_List; - -type record GTPC_ExtensionHeader { - integer lengthfield, - octetstring content, - octetstring nextExtHeader length(1) -} with { variant (lengthfield) "LENGTHTO(lengthfield,content,nextExtHeader)"; - variant (lengthfield) "UNIT(32)"; -}; - -}//end of module -with { -extension "version R1B" -encode "RAW" -} - diff --git a/GTP_v13.5.0_CNL113843_LATEST/src/GTPU_EncDec.cc b/GTP_v13.5.0_CNL113843_LATEST/src/GTPU_EncDec.cc deleted file mode 100644 index a532eb7db..000000000 --- a/GTP_v13.5.0_CNL113843_LATEST/src/GTPU_EncDec.cc +++ /dev/null @@ -1,119 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// // -// 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: GTPU_EncDec.cc -// Rev: R1B -// Prodnr: CNL 113 843 -// Contact: http://ttcn.ericsson.se -// Reference: 3GPP TS 29.060 v13.5.0 - -#include "GTPU_Types.hh" - -namespace GTPU__Types { - -// find the length of the optional part and decode optional part into OPT_PART -int find_optpart_length(const unsigned char * opt_part_ptr,GTPU__Header__optional__part& OPT_PART)// pointer to opt part start -{ - int opt_part_length = 4; // mandatory minimum length of opt_part - OPT_PART.sequenceNumber() = OCTETSTRING(2,opt_part_ptr); - OPT_PART.npduNumber() = OCTETSTRING(1,opt_part_ptr+2); - OPT_PART.nextExtHeader() = OCTETSTRING(1,opt_part_ptr+3); - OPT_PART.gTPU__extensionHeader__List() = OMIT_VALUE; - - int i = 0; - bool opt_part_end = false; - while(!opt_part_end) - { - if (opt_part_ptr[opt_part_length-1] != 0x00) // 0x00 means end of optional part - { - unsigned char lengthfield = opt_part_ptr[opt_part_length]; - - OPT_PART.gTPU__extensionHeader__List()()[i].lengthfield() = lengthfield; - OPT_PART.gTPU__extensionHeader__List()()[i].content() = - OCTETSTRING(4*lengthfield-2,opt_part_ptr + opt_part_length +1); - OPT_PART.gTPU__extensionHeader__List()()[i].nextExtHeader() = - OCTETSTRING(1,opt_part_ptr + opt_part_length + 4*lengthfield - 1); - - opt_part_length = opt_part_length + 4*lengthfield; - i++; - } - else - {opt_part_end = true;} - } - - return opt_part_length; -} - -////////////////////////////////// -// Decoding function for GTPC__DialoguePDU -////////////////////////////////// -PDU__GTPU dec__PDU__GTPU(const OCTETSTRING& udp__pdu) -{ - TTCN_Buffer buf; - PDU__GTPU pdu; - - const unsigned char *gtpu_message = (const unsigned char *) udp__pdu; - - int opt_part_length = 0; - if ( gtpu_message[0] & 0x07 ) // opt_part is present - { - GTPU__Header__optional__part OPT_PART; - - // find the length of the optional part and decode optional part into OPT_PART - opt_part_length = find_optpart_length(gtpu_message+8,OPT_PART); - if( ((gtpu_message[2] << 8) + gtpu_message[3] - opt_part_length) < 0 ) - {TTCN_error("Decoding error, lengthf field is shorter that decoded length of opt_part");}; - - // build PDU without optional part - unsigned int gtpu_IEs_length = (gtpu_message[2] << 8) + gtpu_message[3] - opt_part_length; - unsigned char gtpuBuf[8 + gtpu_IEs_length]; - memcpy(gtpuBuf,gtpu_message,8); - memcpy(gtpuBuf+8,gtpu_message+8+opt_part_length,gtpu_IEs_length); - - // substitute dummy bits (indicating there is no optional part) - gtpuBuf[0] = gtpuBuf[0] & 0xf8; - - // substitute dummy length (not including optional part) - gtpuBuf[2] = (gtpu_IEs_length & 0xff00) >> 8; - gtpuBuf[3] = gtpu_IEs_length & 0xff; - - // RAW decoding - buf.put_s(8 + gtpu_IEs_length,gtpuBuf); - pdu.decode(PDU__GTPU_descr_, buf, TTCN_EncDec::CT_RAW); - buf.clear(); - - // put back the original values - unsigned char pn = gtpu_message[0] & 0x01; - pdu.pn__bit() = BITSTRING(1,&pn); - - unsigned char s = (gtpu_message[0] & 0x02) >> 1; - pdu.s__bit() = BITSTRING(1,&s); - - unsigned char e = (gtpu_message[0] & 0x04) >> 2; - pdu.e__bit() = BITSTRING(1,&e); - - pdu.lengthf() = (gtpu_message[2] << 8) + gtpu_message[3]; - - pdu.opt__part() = OPT_PART; - - return pdu; - } - else // opt_part is not present - { - buf.put_os(udp__pdu); - pdu.decode(PDU__GTPU_descr_, buf, TTCN_EncDec::CT_RAW); - buf.clear(); - return pdu; - } -} // end of function - - -}//namespace diff --git a/GTP_v13.5.0_CNL113843_LATEST/src/GTPU_Types.ttcn b/GTP_v13.5.0_CNL113843_LATEST/src/GTPU_Types.ttcn deleted file mode 100644 index 2911b7034..000000000 --- a/GTP_v13.5.0_CNL113843_LATEST/src/GTPU_Types.ttcn +++ /dev/null @@ -1,189 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// // -// 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: GTPU_Types.ttcn -// Rev: R1B -// Prodnr: CNL 113 843 -// Contact: http://ttcn.ericsson.se -// Reference: 3GPP TS 29.060 v13.5.0, 3GPP TS 29.281 v13.2.0 -// -// This module contains the GTP-U (General Packet Radio Servive Protocol -// Tunnelling Protocol - User Plane) - -module GTPU_Types { - -import from General_Types all; - -// external encoding/decoding functions -external function enc_PDU_GTPU(in PDU_GTPU gtpu_pdu) return octetstring -with { extension "prototype(convert)" - extension "encode(RAW)" -} - -external function dec_PDU_GTPU(in octetstring udp_pdu) return PDU_GTPU - -external function dec_PDU_GTPU_ext(in octetstring udp_pdu) return PDU_GTPU_ext -with { extension "prototype(convert)" - extension "decode(RAW)" -} - - - -////////////////////////// -// IE definition -////////////////////////// -//Private Extension - 7.7.46 -type record of PrivateExtension_gtpu PrivateExtension_gtpu_List; - -type record PrivateExtension_gtpu { - OCT1 type_gtpu, - LIN2_BO_LAST lengthf, - OCT2 extensionID, - octetstring extensionValue -} with { variant "PRESENCE( type_gtpu = 'FF'O)"; - variant (lengthf) "LENGTHTO(extensionID, extensionValue)";}; - -//Recovery - 7.7.11 -type record Recovery_gtpu { - OCT1 type_gtpu, - OCT1 restartCounter -}; - -//Extension Header Type List - 7.7.40 -type record ExtensionHeaderTypeList_gtpu { - OCT1 type_gtpu, - integer lengthf, - octetstring extensionTypesList -} with { variant (lengthf) "LENGTHTO(extensionTypesList)"; } - -//Tunnel Endpoint Identifier Data I - 7.7.13 -type record TeidDataI_gtpu { - OCT1 type_gtpu, - OCT4 teidDataI -}; - -//GSN Address - 7.7.32 -type record GSNAddress_gtpu -{ - OCT1 type_gtpu, - LIN2_BO_LAST lengthf, - octetstring gSNAddressValue -} with {variant (lengthf) "LENGTHTO(gSNAddressValue)";}; - -////////////////////////// -// Message definition -////////////////////////// -// Echo Request - 7.2.1 -type record EchoRequest_IEs { - PrivateExtension_gtpu_List private_extension_gtpu optional -} - -// Echo Response - 7.2.2 -type record EchoResponse_IEs { - Recovery_gtpu recovery_gtpu, - PrivateExtension_gtpu_List private_extension_gtpu optional -} - -//Error Indication - 3GPP TS 29.281 v13.2.0 - 7.3.1 -type record ErrorIndication_IEs { - TeidDataI_gtpu teidDataI_gtpu, - GSNAddress_gtpu gSNAddress_gtpu, - PrivateExtension_gtpu_List private_extension_gtpu optional -} - -//Supported Extension Headers Notification - 7.2.4 -type record SupportedExtensionHeadersNotification_IEs { - ExtensionHeaderTypeList_gtpu extensionHeaderTypeList_gtpu -}; - -// 3GPP TS 29.281 v9.3.0 - 7.3.2 -type record EndMarker_IEs{ - PrivateExtension_gtpu_List private_extension_gtpu optional -} - -//G PDU - 9.3.1 -type record G_PDU_IEs { - octetstring data -}; - - -type union GTPU_IEs { - EchoRequest_IEs echoRequest_IEs, - EchoResponse_IEs echoResponse_IEs, - ErrorIndication_IEs errorIndication_IEs, - SupportedExtensionHeadersNotification_IEs suppExtHeadersNotif_IEs, - EndMarker_IEs endMarker_IEs, - G_PDU_IEs g_PDU_IEs -}; - - -////////////////////////// -// Extension Header definition -////////////////////////// -type record GTPU_ExtensionHeader { - integer lengthfield, - octetstring content, - OCT1 nextExtHeader -} with { - variant (lengthfield) "LENGTHTO(lengthfield,content,nextExtHeader)"; - variant (lengthfield) "UNIT(32)"; - } - -type record of GTPU_ExtensionHeader GTPU_ExtensionHeader_List; - -type record GTPU_Header_optional_part { - OCT2 sequenceNumber, - OCT1 npduNumber, - OCT1 nextExtHeader, - GTPU_ExtensionHeader_List gTPU_extensionHeader_List optional -} - - -////////////////////////// -// PDU definition -////////////////////////// -type record PDU_GTPU { - BIT1 pn_bit, - BIT1 s_bit, - BIT1 e_bit, - BIT1 spare, - BIT1 pt, - BIT3 version, - OCT1 messageType, - LIN2_BO_LAST lengthf, - OCT4 teid, - GTPU_Header_optional_part opt_part optional, - GTPU_IEs gtpu_IEs -} with { - variant (lengthf) "LENGTHTO(opt_part, gtpu_IEs)"; - variant (opt_part) "PRESENCE({pn_bit = '1'B, s_bit = '1'B, e_bit = '1'B})"; - variant (gtpu_IEs) "CROSSTAG( echoRequest_IEs, messageType = '01'O; - echoResponse_IEs, messageType = '02'O; - errorIndication_IEs, messageType = '1A'O; - suppExtHeadersNotif_IEs, messageType = '1F'O; - endMarker_IEs, messageType = 'FE'O; - g_PDU_IEs, messageType = 'FF'O)"; - }; - - -type record PDU_GTPU_ext { - PDU_GTPU gtpu_pdu, - octetstring extraOctets -} with { - variant "" ; -}; - -}//end of module -with { -extension "version R1B" -encode "RAW" -} - diff --git a/GTPv2_v13.7.0_CNL113846_LATEST/GTPv2_v13.7.0_CNL113846.tpd b/GTPv2_v13.7.0_CNL113846_LATEST/GTPv2_v13.7.0_CNL113846.tpd deleted file mode 100644 index 51abbd2e9..000000000 --- a/GTPv2_v13.7.0_CNL113846_LATEST/GTPv2_v13.7.0_CNL113846.tpd +++ /dev/null @@ -1,43 +0,0 @@ - - - - GTPv2_v13.7.0_CNL113846 - - - - - - - - Default - - - - - true - true - true - bin/GTPv2_v13.7.0_CNL113846 - Level3-Creatingobjectfileswithdependencyupdate - - - bin - - - - - diff --git a/GTPv2_v13.7.0_CNL113846_LATEST/doc/GTPv2_v13.7_Descr.doc b/GTPv2_v13.7.0_CNL113846_LATEST/doc/GTPv2_v13.7_Descr.doc deleted file mode 100644 index 7a6bf7f05..000000000 Binary files a/GTPv2_v13.7.0_CNL113846_LATEST/doc/GTPv2_v13.7_Descr.doc and /dev/null differ diff --git a/GTPv2_v13.7.0_CNL113846_LATEST/doc/GTPv2_v13.7_PRI.doc b/GTPv2_v13.7.0_CNL113846_LATEST/doc/GTPv2_v13.7_PRI.doc deleted file mode 100644 index 39bf67f74..000000000 Binary files a/GTPv2_v13.7.0_CNL113846_LATEST/doc/GTPv2_v13.7_PRI.doc and /dev/null differ diff --git a/GTPv2_v13.7.0_CNL113846_LATEST/src/GTPv2_Types.ttcn b/GTPv2_v13.7.0_CNL113846_LATEST/src/GTPv2_Types.ttcn deleted file mode 100644 index 1488f6c01..000000000 --- a/GTPv2_v13.7.0_CNL113846_LATEST/src/GTPv2_Types.ttcn +++ /dev/null @@ -1,4801 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// // -// Copyright Test Competence Center (TCC) ETH 2017 // -// // -// 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: GTPv2_Types.ttcn -// Description: GTPv2 protocol module -// Rev: R1E -// Prodnr: CNL 113 846 -// Contact: http://ttcn.ericsson.se -// Reference: 3GPP TS 29.274 v13.7.0 -// - - -module GTPv2_Types -{ -import from General_Types all; -import from GTPv2_PrivateExtensions all; - -external function enc_PDU_GTPCv2(in PDU_GTPCv2 pdu) return octetstring -with { extension "prototype(convert)" extension "encode(RAW)" } - -external function dec_PDU_GTPCv2(in octetstring stream) return PDU_GTPCv2 -with { extension "prototype(convert)" extension "decode(RAW)" } - -external function enc_PDU_GTPCv2_fast(in PDU_GTPCv2 pdu, out octetstring stream) -with { extension "prototype(fast) encode(RAW)" } - -external function dec_PDU_GTPCv2_backtrack(in octetstring stream, out PDU_GTPCv2 pdu) return integer -with { extension "prototype(backtrack) decode(RAW)" } - - -// Information Elements - -//8.2.1A For future use -type record Special_IE_Type_Extension -{ - OCT1 elementIdentifier, // dec 254, 'FE'O; - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - IE_Extension_UnionType iE_Type_Extension -} with { - variant (lengthIndicator) "LENGTHTO(iE_Type_Extension)"; - variant "PRESENCE (elementIdentifier = 'FE'O; )"; -}; - -type union IE_Extension_UnionType -{ - IE_Type_Extension iE_Type_Extension -} - -type record IE_Type_Extension -{ - OCT2 elementIdentifier, - octetstring valueField -} - -// 8.3 -type record IMSI -{ - OCT1 elementIdentifier, //dec 1, '01'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - hexstring iMSI_Value -} with { - variant "PRESENCE (elementIdentifier = '01'O;)" - variant (lengthIndicator) "LENGTHTO(iMSI_Value)" - variant (iMSI_Value) "PADDING(yes)"; - variant (iMSI_Value) "PADDING_PATTERN('1'B)" -}; - -// 8.4 -type record Cause -{ - OCT1 elementIdentifier, //dec 2, '02'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - OCT1 causeValue, - BIT1 cS, - BIT1 bCE, - BIT1 pCE, - BIT5 spare2, - OCT1 typeOfOffendingIE optional, - LIN2_BO_LAST lengthIndicator2 optional, - BIT4 instanceOfOffendingIE optional, - BIT4 spare3 optional -} with { - variant "PRESENCE (elementIdentifier = '02'O; )" - variant (lengthIndicator) "LENGTHTO(causeValue,cS,bCE,pCE,spare2,typeOfOffendingIE, - lengthIndicator2,instanceOfOffendingIE,spare3 )" -}; - -// 8.5 -type record Recovery -{ - OCT1 elementIdentifier, // dec 3, '03'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - integer recoveryValue -} with { - variant (lengthIndicator) "LENGTHTO(recoveryValue)" - variant "PRESENCE (elementIdentifier = '03'O; )" -}; - -// 8.6 -type record AccessPointName -{ - OCT1 elementIdentifier, // dec 71, '47'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - octetstring aPN_Value -} with { - variant (lengthIndicator) "LENGTHTO(aPN_Value)" - variant "PRESENCE (elementIdentifier = '47'O; )" -}; - -// 8.7 -type record AggregateMaximumBitRate -{ - OCT1 elementIdentifier, // dec 72, '48'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - OCT4 aPN_AMBR_for_uplink, - OCT4 aPN_AMBR_for_downlink -} with { - variant (lengthIndicator) "LENGTHTO(aPN_AMBR_for_uplink,aPN_AMBR_for_downlink)" - variant "PRESENCE (elementIdentifier = '48'O; )" -}; - -//8.8 -type record EPS_BearerID -{ - OCT1 elementIdentifier, // dec 73, '49'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - integer ePS_Bearer_ID_Value, - BIT4 spare2, //'0000'B - octetstring additionalOctets optional -}with { - variant (lengthIndicator) "LENGTHTO(ePS_Bearer_ID_Value,spare2,additionalOctets)" - variant "PRESENCE (elementIdentifier = '49'O; )" - variant(ePS_Bearer_ID_Value) "FIELDLENGTH(4)"; -}; - -type set of EPS_BearerID EPS_BearerID_List; - -//8.9 -type union IPv4_IPv6_Address{ - OCT4 iPv4_Address, - OCT16 iPv6_Address -}; - -type record IP_Address -{ - OCT1 elementIdentifier, // dec 74, '4A'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - IPv4_IPv6_Address iPv4_IPv6_Address -} with { - variant (lengthIndicator) "LENGTHTO(iPv4_IPv6_Address)" - variant "PRESENCE (elementIdentifier = '4A'O; )" - variant (iPv4_IPv6_Address) "CROSSTAG( iPv4_Address, lengthIndicator = 4; - iPv6_Address, lengthIndicator = 16)" -}; - -type set of IP_Address IP_Address_List; - -//8.10 -type record MEI -{ - OCT1 elementIdentifier, // dec 75, '4B'O; - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - octetstring mEI_Value -} with { - variant (lengthIndicator) "LENGTHTO(mEI_Value)" - variant "PRESENCE (elementIdentifier = '4B'O; )" -}; - -//8.11 -type record MSISDN -{ - OCT1 elementIdentifier, // dec 76, '4C'O; - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - hexstring mSISDN_Value -} with { - variant (lengthIndicator) "LENGTHTO(mSISDN_Value)" - variant "PRESENCE (elementIdentifier = '4C'O; )" - variant (mSISDN_Value) "PADDING(yes)"; - variant (mSISDN_Value) "PADDING_PATTERN('1'B)" - -}; - -type set of MSISDN MSISDN_List; - -//8.12 -type record Indication -{ - OCT1 elementIdentifier, // dec 77, '4D'O; - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - BIT1 sGWCI, - BIT1 iSRAI, - BIT1 iSRSI, - BIT1 oI, - BIT1 dFI, - BIT1 hI, - BIT1 dTF, - BIT1 dAF, - BIT1 mSV, - BIT1 sI, - BIT1 pT, - BIT1 pBit, - BIT1 cRSI, - BIT1 cFSI, - BIT1 uIMSI, - BIT1 sQCI, - BIT1 cCRSI optional, - BIT1 iSRAU optional, - BIT1 mBMDT optional, - BIT1 s4AF optional, - BIT1 s6AF optional, - BIT1 sRNI optional, - BIT1 pBIC optional, - BIT1 retLoc optional, - BIT1 cPSR optional, - BIT1 cLII optional, - BIT1 cSFBI optional, - BIT1 pPSI optional, - BIT1 pPON_PPEI optional, - BIT1 pPOF optional, - BIT1 aRRL optional, - BIT1 cPRAI optional, - BIT1 aOPI optional, - BIT1 aOSI optional, - BIT1 pCRI optional, - BIT1 pSCI optional, - BIT1 bDWI optional, - BIT1 dTCI optional, - BIT1 uASI optional, - BIT1 nSI optional, - BIT1 wPMSI optional, - BIT1 uNACCSI optional, - BIT1 pNSI optional, - BIT1 s11TF optional, - BIT1 pMTSMI optional, - BIT1 cPOPCI optional, - BIT1 ePCOSI optional, - BIT1 rOAAI optional, - BIT1 tSPCMI optional, - BIT1 spare_1 optional, - BIT1 spare_2 optional, - BIT1 spare_3 optional, - BIT1 spare_4 optional, - BIT1 spare_5 optional, - BIT1 spare_6 optional, - BIT1 spare_7 optional, - octetstring additionalOctets optional -} with { - variant (lengthIndicator) "LENGTHTO(sGWCI,iSRAI,iSRSI,oI,dFI,hI,dTF,dAF, - mSV,sI,pT,pBit,cRSI,cFSI,uIMSI,sQCI, - cCRSI, iSRAU,mBMDT,s4AF,s6AF,sRNI,pBIC,retLoc, - cPSR,cLII,cSFBI,pPSI,pPON_PPEI,pPOF,aRRL,cPRAI,aOPI,aOSI,pCRI,pSCI,bDWI,dTCI,uASI,nSI, - wPMSI,uNACCSI,pNSI,s11TF,pMTSMI,cPOPCI,ePCOSI,rOAAI, tSPCMI, spare_1, spare_2, spare_3, spare_4, spare_5, spare_6, spare_7, additionalOctets)" - variant "PRESENCE (elementIdentifier = '4D'O; )" -}; - -type set of Indication Indication_List; - -//8.13 -// 24.301 (9.9.4.8) -> 24.008 (10.5.6.3) -type set of ProtocolID_or_ContainerID ProtocolIDs_and_ContainerIDs; - -type record ProtocolID_or_ContainerID -{ - OCT2 protocolID_or_ContainerID, - LIN1 lengthIndicator, - octetstring protID_orContID_Contents -} with { variant (lengthIndicator) "LENGTHTO (protID_orContID_Contents)"}; - -type record ProtocolConfigOptions -{ - OCT1 elementIdentifier, // dec 78 '4E'O; - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - BIT3 configProtocol, - BIT4 spare2, //'0000'B - BIT1 extensionField, //'1'B - ProtocolIDs_and_ContainerIDs protocolIDs_and_ContainerIDs optional -} with { - variant (lengthIndicator) "LENGTHTO(configProtocol,spare2,extensionField,protocolIDs_and_ContainerIDs)" - variant "PRESENCE (elementIdentifier = '4E'O; )" -}; - -//8.14 -type union PDN_Address_and_Prefix{ - OCT4 iPv4_Address, - IPv6 iPv6_Address, - IPv4_IPv6 iPv4_IPv6 -}; - -type record IPv6 -{ - integer prefixLength, - OCT16 iPv6_Address -}; - -type record IPv4_IPv6 -{ - integer prefixLength, - OCT16 iPv6_Address, - OCT4 iPv4_Address -}; - -type record PDN_AddressAllocation -{ - OCT1 elementIdentifier, // dec 79 '4F'O; - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - BIT3 pDN_Type, - BIT5 spare2, //'00000'B - PDN_Address_and_Prefix pDN_Address_and_Prefix optional -} with { - variant (lengthIndicator) "LENGTHTO(pDN_Type,spare2,pDN_Address_and_Prefix)" - variant "PRESENCE (elementIdentifier = '4F'O; )" - variant (pDN_Address_and_Prefix) "CROSSTAG - ( - iPv4_Address, pDN_Type ='001'B; - iPv6_Address, pDN_Type ='010'B; - iPv4_IPv6, pDN_Type ='011'B; - )" -}; - -//8.15 -type record Bearer_QoS -{ - OCT1 elementIdentifier, // dec 80 '50'O; - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - BIT1 pVI, - BIT1 spare2, - BIT4 pL, - BIT1 pCI, - BIT1 spare3, - OCT1 labelQCI, - OCT5 maxBitrateUplink, - OCT5 maxBitrateDownLink, - OCT5 guaranteedBitrateUplink, - OCT5 guaranteedBitrateDownLink, - octetstring additionalOctets optional -} with { - variant (lengthIndicator) "LENGTHTO(pVI,spare2,pL,pCI,spare3, - labelQCI,maxBitrateUplink,maxBitrateDownLink, - guaranteedBitrateUplink,guaranteedBitrateDownLink,additionalOctets)" - variant "PRESENCE (elementIdentifier = '50'O; )" -}; - -//8.16 -type record FlowQoS -{ - OCT1 elementIdentifier, // dec 81 '51'O; - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - OCT1 labelQCI, - OCT5 maxBitrateUplink, - OCT5 maxBitrateDownLink, - OCT5 guaranteedBitrateUplink, - OCT5 guaranteedBitrateDownLink, - octetstring additionalOctets optional -}with { - variant (lengthIndicator) "LENGTHTO(labelQCI,maxBitrateUplink,maxBitrateDownLink,guaranteedBitrateUplink,guaranteedBitrateDownLink,additionalOctets)" - variant "PRESENCE (elementIdentifier = '51'O; )" -}; - -//8.17 -type record RAT_Type -{ - OCT1 elementIdentifier, // dec 82, '52'O; - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - integer rAT_TypeValue, - octetstring additionalOctets optional -} with { - variant (lengthIndicator) "LENGTHTO(rAT_TypeValue,additionalOctets)" - variant "PRESENCE (elementIdentifier = '52'O; )" -}; - -//8.18 -type record ServingNetwork -{ - OCT1 elementIdentifier, // dec 83, '53'O; - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - HEX1 mccDigit1, - HEX1 mccDigit2, - HEX1 mccDigit3, - HEX1 mncDigit3, - HEX1 mncDigit1, - HEX1 mncDigit2, - octetstring additionalOctets optional -}with { - variant (lengthIndicator) "LENGTHTO(mccDigit1,mccDigit2,mccDigit3,mncDigit3,mncDigit1,mncDigit2,additionalOctets)" - variant "PRESENCE (elementIdentifier = '53'O; )" -}; - -//8.19 24.008 10.5.6.12 -type union TrafficFlowTemplateV -{ - TrafficFlowTemplateV_CreateAddReplaceTFT - trafficFlowTemplateV_CreateAddReplaceTFT, - TrafficFlowTemplateV_DeletePacketFilter - trafficFlowTemplateV_DeletePacketFilter, - TrafficFlowTemplateV_Delete_Existing_TFT_or_No_TFT_Operation - trafficFlowTemplateV_Delete_Existing_TFT_or_No_TFT_Operation -}; - - -type record TrafficFlowTemplateV_CreateAddReplaceTFT -{ - integer numberOfPacketFilters, - BIT1 eBIT, - BIT3 operationCodeTFT, - PacketFilterList_CreateAddReplaceTFT packetFilterList_CreateAddReplaceTFT, - ParametersList parametersList optional -} with { - variant "PRESENCE (operationCodeTFT = '001'B, // Create New TFT - operationCodeTFT = '011'B, // Add packet filters to existing TFT - operationCodeTFT = '100'B // Replace packet filters in existing TFT - )"; - variant(parametersList) "PRESENCE(eBIT = '1'B)"; - variant(numberOfPacketFilters)"FIELDLENGTH(4)"; - variant(numberOfPacketFilters)"LENGTHTO(packetFilterList_CreateAddReplaceTFT)"; - variant(numberOfPacketFilters)"UNIT(elements)"; -}; - - -type record TrafficFlowTemplateV_DeletePacketFilter -{ - integer numberOfPacketFilters, - BIT1 eBIT, - BIT3 operationCodeTFT, - //'101'B or '011'B or '100'B - PacketFilterList_DeletePacketFilter packetFilterList_DeletePacketFilter, - ParametersList parametersList optional -} with { - variant "PRESENCE (operationCodeTFT = '101'B)" // Delete packet filters from existing TFT - variant(parametersList) "PRESENCE(eBIT = '1'B)"; - variant(numberOfPacketFilters)"FIELDLENGTH(4)"; - variant(numberOfPacketFilters)"LENGTHTO(packetFilterList_DeletePacketFilter)"; - variant (numberOfPacketFilters)"UNIT(elements)"; -}; - - -type record TrafficFlowTemplateV_Delete_Existing_TFT_or_No_TFT_Operation -{ - BIT4 numberOfPacketFilters, //'0000'B - // numberOfPacketFilters is meaningless here since there is no PacketFilterList - BIT1 eBIT, - BIT3 operationCodeTFT, // '010'B or '110'B - ParametersList parametersList optional -} with { - variant "PRESENCE (operationCodeTFT = '010'B, // delete existing TFT - operationCodeTFT = '110'B // No TFT Operation - )"; - variant (parametersList) "PRESENCE(eBIT = '1'B)" -}; - - -type record of PacketFilter PacketFilterList_CreateAddReplaceTFT; - - -type record PacketFilter -{ - PacketFilterIdentifier identifier, - OCT1 evaluationPrecedence, - LIN1 lengthIndicator, - octetstring contents -} with { variant (lengthIndicator) "LENGTHTO (contents)"}; - - -type record of PacketFilterIdentifier PacketFilterList_DeletePacketFilter; - -type record PacketFilterIdentifier -{ - BIT4 identifier, - BIT2 direction, - BIT2 spare -}; - - -type record of Parameter ParametersList; - - -type record Parameter -{ - OCT1 parameterIdentifier, - LIN1 lengthIndicator, - octetstring contents -} with { variant (lengthIndicator) "LENGTHTO (contents)"}; - - -type record EPS_BearerLevel_TFT -{ - OCT1 elementIdentifier, // dec 84, '54'O; - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - TrafficFlowTemplateV trafficFlowTemplateValue -} with { - variant (lengthIndicator) "LENGTHTO(trafficFlowTemplateValue)" - variant "PRESENCE (elementIdentifier = '54'O; )"; -}; - -type set of EPS_BearerLevel_TFT EPS_BearerLevel_TFT_List; - -//8.20 -type record TrafficAggregateDescription -{ - OCT1 elementIdentifier, // dec 85, '55'O; - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - octetstring trafficAggregateDescriptionValue -} with { - variant (lengthIndicator) "LENGTHTO(trafficAggregateDescriptionValue)" - variant "PRESENCE (elementIdentifier = '55'O; )"; -}; - -//8.21 -type record UserLocationInfo -{ - OCT1 elementIdentifier, // dec 86, '56'O; - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - BIT1 cGI_Flag, - BIT1 sAI_Flag, - BIT1 rAI_Flag, - BIT1 tAI_Flag, - BIT1 eCGI_Flag, - BIT1 lAI_Flag, - BIT2 spare2, - CGI cGI optional, - SAI sAI optional, - RAI rAI optional, - TAI tAI optional, - ECGI eCGI optional, - LAI lAI optional, - octetstring additionalOctets optional -} with { - variant (lengthIndicator) "LENGTHTO(cGI_Flag,sAI_Flag,rAI_Flag,tAI_Flag,eCGI_Flag, - lAI_Flag,spare2,cGI,sAI,rAI,tAI,eCGI,lAI,additionalOctets)" - variant(cGI) "PRESENCE(cGI_Flag = '1'B)"; - variant(sAI) "PRESENCE(sAI_Flag = '1'B)"; - variant(rAI) "PRESENCE(rAI_Flag = '1'B)"; - variant(tAI) "PRESENCE(tAI_Flag = '1'B)"; - variant(eCGI) "PRESENCE(eCGI_Flag = '1'B)"; - variant(lAI) "PRESENCE(lAI_Flag = '1'B)"; - variant "PRESENCE (elementIdentifier = '56'O; )" -}; - -//8.21.1 -type record CGI -{ - HEX1 mccDigit1, - HEX1 mccDigit2, - HEX1 mccDigit3, - HEX1 mncDigit3, - HEX1 mncDigit1, - HEX1 mncDigit2, - OCT2 lAC, - OCT2 cI -}; - -//8.21.2 -type record SAI -{ - HEX1 mccDigit1, - HEX1 mccDigit2, - HEX1 mccDigit3, - HEX1 mncDigit3, - HEX1 mncDigit1, - HEX1 mncDigit2, - OCT2 lAC, - OCT2 sAC -}; - -//8.21.3 -type record RAI -{ - HEX1 mccDigit1, - HEX1 mccDigit2, - HEX1 mccDigit3, - HEX1 mncDigit3, - HEX1 mncDigit1, - HEX1 mncDigit2, - OCT2 lAC, - OCT2 rAC -}; - -//8.21.4 -type record TAI -{ - HEX1 mccDigit1, - HEX1 mccDigit2, - HEX1 mccDigit3, - HEX1 mncDigit3, - HEX1 mncDigit1, - HEX1 mncDigit2, - OCT2 tAC -}; - -//8.21.5 -type record ECGI -{ - HEX1 mccDigit1, - HEX1 mccDigit2, - HEX1 mccDigit3, - HEX1 mncDigit3, - HEX1 mncDigit1, - HEX1 mncDigit2, - HEX1 spare, - integer eCI -} with { - variant (spare,eCI) "FIELDORDER(msb)"; - variant(eCI) "FIELDLENGTH(28)"; - variant (eCI) "BYTEORDER(last)"; -}; - -//8.21.6 -type record LAI -{ - HEX1 mccDigit1, - HEX1 mccDigit2, - HEX1 mccDigit3, - HEX1 mncDigit3, - HEX1 mncDigit1, - HEX1 mncDigit2, - OCT2 lAC -} - -//8.22 -type record FullyQualifiedTEID -{ - OCT1 elementIdentifier, // dec 87, '57'O; - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - integer interfaceType, - BIT1 v6_Flag, - BIT1 v4_Flag, - OCT4 tEID_GRE_Key, - OCT4 iPv4_Address optional, - OCT16 iPv6_Address optional, - octetstring additionalOctets optional -} with { - variant "PRESENCE (elementIdentifier = '57'O; )" - variant (lengthIndicator) "LENGTHTO(interfaceType,v6_Flag,v4_Flag,tEID_GRE_Key, - iPv4_Address,iPv6_Address,additionalOctets)" - variant(interfaceType) "FIELDLENGTH(6)"; - variant(iPv4_Address) "PRESENCE(v4_Flag = '1'B)"; - variant(iPv6_Address) "PRESENCE(v6_Flag = '1'B)"; -}; - -type set of FullyQualifiedTEID FullyQualifiedTEID_List; - -//8.23 -type record TMSI -{ - OCT1 elementIdentifier, // dec 88, '58'O; - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - OCT4 tMSI_Value -} with { - variant (lengthIndicator) "LENGTHTO(tMSI_Value)"; - variant "PRESENCE (elementIdentifier = '58'O; )"; -}; - -//8.24 -type record GlobalCN_ID -{ - OCT1 elementIdentifier, // dec 89, '59'O; - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - HEX1 mccDigit1, - HEX1 mccDigit2, - HEX1 mccDigit3, - HEX1 mncDigit3, - HEX1 mncDigit1, - HEX1 mncDigit2, - octetstring cN_ID -} with { - variant (lengthIndicator) "LENGTHTO(mccDigit1,mccDigit2,mccDigit3,mncDigit3,mncDigit1,mncDigit2,cN_ID)" - variant "PRESENCE (elementIdentifier = '59'O; )"; -}; - -//8.25 -type record EPS_Bearer_ID -{ - integer ePS_Bearer_ID_Value, - BIT4 spare // '0000'B -} with { - variant(ePS_Bearer_ID_Value) "FIELDLENGTH(4)";} - -type set of EPS_Bearer_ID EPS_Bearer_IDs; - -type record S103_PDF -{ - OCT1 elementIdentifier,// dec 90, '5A'O; - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - integer hSGW_AddrForForwardingLength (4,16), - octetstring hSGW_AddrForForwarding length (4..16), - OCT4 gRE_Key, - integer ePSBearerID_Number, - EPS_Bearer_IDs ePS_Bearer_IDs -} with { - variant (lengthIndicator) "LENGTHTO(hSGW_AddrForForwardingLength,hSGW_AddrForForwarding,gRE_Key,ePSBearerID_Number,ePS_Bearer_IDs)"; - variant "PRESENCE (elementIdentifier = '5A'O; )"; - variant (hSGW_AddrForForwardingLength) "LENGTHTO(hSGW_AddrForForwarding)"; - variant (ePSBearerID_Number) "LENGTHTO(ePS_Bearer_IDs)"; - variant (ePSBearerID_Number) "UNIT (elements)"; -}; - -type set of S103_PDF S103_PDF_List - -//8.26 -type record S1_UDF -{ - OCT1 elementIdentifier, // dec 91, '5B'O; - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - integer ePS_Bearer_ID_Value, - BIT4 spare2, // '0000'B - integer servingGWAddrLength (0,4,16), - octetstring servingGWAddr length (4..16) optional, - OCT4 servingGW_S1U_TEID -} with { - variant (lengthIndicator) "LENGTHTO(ePS_Bearer_ID_Value,spare2,servingGWAddrLength,servingGWAddr,servingGW_S1U_TEID)"; - variant "PRESENCE (elementIdentifier = '5B'O; )"; - variant(ePS_Bearer_ID_Value) "FIELDLENGTH(4)"; - variant (servingGWAddrLength) "LENGTHTO(servingGWAddr)"; -}; - -type set of S1_UDF S1_UDF_List - -//8.27 -type record DelayValue -{ - OCT1 elementIdentifier, // dec 92 , '5C'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - integer delayValue, //(integer multiples of 50 millisec) - octetstring additionalOctets optional -} -with { - variant (lengthIndicator) "LENGTHTO(delayValue,additionalOctets)"; - variant "PRESENCE (elementIdentifier = '5C'O; )"; -}; - -//8.28 - Grouped -type set BearerContextIEs -{ - EPS_BearerID ePS_Bearer_ID optional, - Cause cause optional, - EPS_BearerLevel_TFT ePS_Bearer_TFT optional, - FullyQualifiedTEID_List fullyQualifiedTEID optional, - Bearer_QoS bearerLevel_QoS optional, - ChargingID chargingID optional, - BearerFlags bearerFlags optional, - TransactionIdentifier transactionIdentifier optional, - ProtocolConfigOptions protocolConfigOptions optional, - RAN_NASCause rAN_NASCause optional, - APCO additionalProtocolConfigOptions optional, - ExtendedProtocolConfigOptions extendedProtocolConfigOptions optional -} -with { - variant(fullyQualifiedTEID) "REPEATABLE(yes)"; -}; - -type record BearerContextGrouped -{ - OCT1 elementIdentifier, // dec 93 , '5D'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - BearerContextIEs bearerContextIEs -} with { - variant (lengthIndicator) "LENGTHTO(bearerContextIEs)"; - variant "PRESENCE (elementIdentifier = '5D'O; )"; -}; - -type set of BearerContextGrouped BearerContextGrouped_List; - -//8.29 -type record ChargingID -{ - OCT1 elementIdentifier, // dec 94, '5E'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - OCT4 chargingID_Value, - octetstring additionalOctets optional -} with { - variant (lengthIndicator) "LENGTHTO(chargingID_Value,additionalOctets)"; - variant "PRESENCE (elementIdentifier = '5E'O; )"; -}; - -//8.30 -type record ChargingCharacteristics -{ - OCT1 elementIdentifier, // dec 95, '5F'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - OCT2 chargingCharacteristicsValue, - octetstring additionalOctets optional -} with { - variant (lengthIndicator) "LENGTHTO(chargingCharacteristicsValue,additionalOctets)"; - variant "PRESENCE (elementIdentifier = '5F'O; )"; -}; - -//8.31 -type record TraceInformation -{ - OCT1 elementIdentifier, // dec 96, '60'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - HEX1 mccDigit1, - HEX1 mccDigit2, - HEX1 mccDigit3, - HEX1 mncDigit3, - HEX1 mncDigit1, - HEX1 mncDigit2, - OCT3 traceIDValue, - OCT9 triggeringEvents, - OCT2 listOfNE_Types, - OCT1 sessionTraceDepth, - OCT12 listOfInterfaces, - octetstring iPAddressOfTraceCollectionEntity -} with { - variant (lengthIndicator) "LENGTHTO(mccDigit1,mccDigit2,mccDigit3,mncDigit3, mncDigit1,mncDigit2, - traceIDValue,triggeringEvents,listOfNE_Types,sessionTraceDepth, - listOfInterfaces,iPAddressOfTraceCollectionEntity)"; - variant "PRESENCE (elementIdentifier = '60'O; )"; -}; - -//8.32 -type record BearerFlags -{ - OCT1 elementIdentifier, // dec 97, '61'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - BIT1 pPC, - BIT1 vB, - BIT1 vind, - BIT1 aSI, - BIT4 spare2, - octetstring additionalOctets optional -} with { - variant (lengthIndicator) "LENGTHTO(pPC,vB,spare2,additionalOctets)"; - variant "PRESENCE (elementIdentifier = '61'O; )"; -}; - -//8.33 -//VOID - -//8.34 -type record PDN_Type -{ - OCT1 elementIdentifier, // dec 99, '63'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - BIT3 pDN_TypeValue, - BIT5 spare2, - octetstring additionalOctets optional -} with { - variant (lengthIndicator) "LENGTHTO(pDN_TypeValue,spare2,additionalOctets)"; - variant "PRESENCE (elementIdentifier = '63'O; )"; -}; - -//8.35 -type record ProcedureTransactionID -{ - OCT1 elementIdentifier, // dec 100, '64'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - integer pTI_Value, - octetstring additionalOctets optional -} with { - variant (lengthIndicator) "LENGTHTO(pTI_Value,additionalOctets)"; - variant "PRESENCE (elementIdentifier = '64'O; )"; -}; - -//8.36 Void - -//8.37 Void - -//8.38 -type union MM_Context -{ - GSM_Key_and_Triplets gSM_Key_and_Triplets, - UMTS_Key_UsedCipher_and_Quintuplets uMTS_Key_UsedCipher_and_Quintuplets, - GSM_Key_UsedCipher_and_Quintuplets gSM_Key_UsedCipher_and_Quintuplets, - UMTS_key_and_Quintuplets uMTS_key_and_Quintuplets, - EPS_SecurityContext_and_Quadruplets ePS_SecurityContext_and_Quadruplets, - UMTS_Key_Quadruplets_and_Quintuplets uMTS_Key_Quadruplets_and_Quintuplets -} - -type set of AuthTriplet AuthTriplets; - -type record AuthTriplet -{ - OCT16 rAND, - OCT4 sRES, - OCT8 kc -}; - -type set of AuthQuintuplet AuthQuintuplets; - -type record AuthQuintuplet { - OCT16 rand, - integer xresLength, - octetstring xres, - OCT16 ck, - OCT16 ik, - integer autnLength, - octetstring autn -} with { - variant (xresLength) "LENGTHTO(xres)"; - variant (autnLength) "LENGTHTO(autn)"; -}; - -type set of AuthQuadruplet AuthQuadruplets; - -type record AuthQuadruplet -{ - OCT16 rand, - integer xresLength, - octetstring xres, - integer autnLength, - octetstring autn, - octetstring k_asme length (32) -} with { - variant (xresLength) "LENGTHTO(xres)"; - variant (autnLength) "LENGTHTO(autn)"; -}; - -type record GSM_Key_and_Triplets -{ - OCT1 elementIdentifier, // dec 103, '67'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - BIT3 cksn, - BIT1 dRXI, - BIT1 spare2, - integer securityMode, - BIT1 sAMBRI, - BIT1 uAMBRI, - BIT3 spare3, - integer noofTriplets, - BIT3 usedCipher, - BIT5 spare4, - OCT8 kc, - AuthTriplets triplets, - OCT2 drx_par optional, - OCT4 uplinkSubscribedUE_AMBR optional, - OCT4 downlinkSubscribedUE_AMBR optional, - OCT4 uplinkUsedUE_AMBR optional, - OCT4 downlinkUsedUE_AMBR optional, - integer lengthOfUE_NEtworkCapability, - octetstring uE_NEtworkCapability, - integer lengthOfMS_NetworkCapability, - octetstring mS_NetworkCapability, - integer lengthOfMobileEquipmentIdentity, - octetstring mobileEquipmentIdentity, - BIT1 uNA, - BIT1 gENA, - BIT1 gANA, - BIT1 iNA, - BIT1 eNA, - BIT1 hNNA, - BIT1 nBNA, - BIT1 spare5, - integer lengthOfVoiceDomainPreferenceAndUEsUsageSetting optional, //"extendable" optional for backward compatibility - octetstring voiceDomainPreferenceAndUEsUsageSetting optional, //"extendable" optional for backward compatibility - octetstring additionalOctets optional //"extendable" optional for backward compatibility -} with { - variant (lengthIndicator) "LENGTHTO(cksn,dRXI,spare2,securityMode,sAMBRI,uAMBRI,spare3,noofTriplets,usedCipher,spare4, - kc,triplets,drx_par,uplinkSubscribedUE_AMBR,downlinkSubscribedUE_AMBR, - uplinkUsedUE_AMBR,downlinkUsedUE_AMBR,lengthOfUE_NEtworkCapability, - uE_NEtworkCapability,lengthOfMS_NetworkCapability,mS_NetworkCapability, - lengthOfMobileEquipmentIdentity,mobileEquipmentIdentity, - uNA,gENA,gANA,iNA,eNA,hNNA,nBNA,spare5, - lengthOfVoiceDomainPreferenceAndUEsUsageSetting, - voiceDomainPreferenceAndUEsUsageSetting, - additionalOctets)"; - variant "PRESENCE (elementIdentifier = '67'O; )"; - variant (securityMode) "FIELDLENGTH(3)"; - variant (noofTriplets) "FIELDLENGTH(3)"; - variant (noofTriplets) "LENGTHTO(triplets)"; - variant (noofTriplets) "UNIT(elements)"; - variant (drx_par) "PRESENCE (dRXI = '1'B; )"; - variant (lengthOfUE_NEtworkCapability) "LENGTHTO(uE_NEtworkCapability)"; - variant (lengthOfMS_NetworkCapability) "LENGTHTO(mS_NetworkCapability)"; - variant (lengthOfMobileEquipmentIdentity) "LENGTHTO(mobileEquipmentIdentity)"; - variant (lengthOfVoiceDomainPreferenceAndUEsUsageSetting) "LENGTHTO(voiceDomainPreferenceAndUEsUsageSetting)"; - variant (uplinkSubscribedUE_AMBR) "PRESENCE (sAMBRI = '1'B; )"; - variant (downlinkSubscribedUE_AMBR) "PRESENCE (sAMBRI = '1'B; )"; - variant (uplinkUsedUE_AMBR) "PRESENCE (uAMBRI = '1'B; )"; - variant (downlinkUsedUE_AMBR) "PRESENCE (uAMBRI = '1'B; )"; -}; - -type record UMTS_Key_UsedCipher_and_Quintuplets -{ - OCT1 elementIdentifier, // dec 104, '68'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - BIT3 cksn_ksi, - BIT1 dRXI, - BIT1 spare2, - integer securityMode, - BIT1 sAMBRI, - BIT1 uAMBRI, - BIT1 uGIPAI, - BIT1 gUPII, - BIT1 spare3, - integer noofQuintuplets, - BIT3 usedCipher, - BIT3 usedGPRSIntegrityProtectionAlgorithm, - BIT2 spare4, - OCT16 ck, - OCT16 ik, - AuthQuintuplets quintuplets, - OCT2 drx_par optional, - OCT4 uplinkSubscribedUE_AMBR optional, - OCT4 downlinkSubscribedUE_AMBR optional, - OCT4 uplinkUsedUE_AMBR optional, - OCT4 downlinkUsedUE_AMBR optional, - integer lengthOfUE_NEtworkCapability, - octetstring uE_NEtworkCapability, - integer lengthOfMS_NetworkCapability, - octetstring mS_NetworkCapability, - integer lengthOfMobileEquipmentIdentity, - octetstring mobileEquipmentIdentity, - BIT1 uNA, - BIT1 gENA, - BIT1 gANA, - BIT1 iNA, - BIT1 eNA, - BIT1 hNNA, - BIT1 nBNA, - BIT1 spare5, - integer lengthOfVoiceDomainPreferenceAndUEsUsageSetting optional, //"extendable" optional for backward compatibility - octetstring voiceDomainPreferenceAndUEsUsageSetting optional, //"extendable" optional for backward compatibility - integer lengthOfHigherBitratesThan16Mbpsflags optional, //"extendable" optional for backward compatibility - octetstring higherBitratesThan16Mbpsflags optional, //"extendable" optional for backward compatibility - octetstring additionalOctets optional //"extendable" optional for backward compatibility -} with { - variant (lengthIndicator) "LENGTHTO(cksn_ksi,dRXI,spare2,securityMode,sAMBRI,uAMBRI,uGIPAI,gUPII,spare3,noofQuintuplets, - usedCipher,usedGPRSIntegrityProtectionAlgorithm,spare4,ck,ik,quintuplets,drx_par,uplinkSubscribedUE_AMBR, - downlinkSubscribedUE_AMBR,uplinkUsedUE_AMBR,downlinkUsedUE_AMBR, - lengthOfUE_NEtworkCapability,uE_NEtworkCapability,lengthOfMS_NetworkCapability, - mS_NetworkCapability,lengthOfMobileEquipmentIdentity,mobileEquipmentIdentity, - uNA,gENA,gANA,iNA,eNA,hNNA,nBNA,spare5, - lengthOfVoiceDomainPreferenceAndUEsUsageSetting, - voiceDomainPreferenceAndUEsUsageSetting, - lengthOfHigherBitratesThan16Mbpsflags, - higherBitratesThan16Mbpsflags, - additionalOctets)"; - variant "PRESENCE (elementIdentifier = '68'O; )"; - variant (securityMode) "FIELDLENGTH(3)"; - variant (noofQuintuplets) "FIELDLENGTH(3)"; - variant (noofQuintuplets) "LENGTHTO(quintuplets)"; - variant (noofQuintuplets) "UNIT(elements)"; - variant (drx_par) "PRESENCE (dRXI = '1'B; )"; - variant (lengthOfUE_NEtworkCapability) "LENGTHTO(uE_NEtworkCapability)"; - variant (lengthOfMS_NetworkCapability) "LENGTHTO(mS_NetworkCapability)"; - variant (lengthOfMobileEquipmentIdentity) "LENGTHTO(mobileEquipmentIdentity)"; - variant (lengthOfVoiceDomainPreferenceAndUEsUsageSetting) "LENGTHTO(voiceDomainPreferenceAndUEsUsageSetting)"; - variant (lengthOfHigherBitratesThan16Mbpsflags) "LENGTHTO(higherBitratesThan16Mbpsflags)"; - variant (uplinkSubscribedUE_AMBR) "PRESENCE (sAMBRI = '1'B; )"; - variant (downlinkSubscribedUE_AMBR) "PRESENCE (sAMBRI = '1'B; )"; - variant (uplinkUsedUE_AMBR) "PRESENCE (uAMBRI = '1'B; )"; - variant (downlinkUsedUE_AMBR) "PRESENCE (uAMBRI = '1'B; )"; -}; - -type record GSM_Key_UsedCipher_and_Quintuplets -{ - OCT1 elementIdentifier, // dec 105, '69'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - BIT3 cksn_ksi, - BIT1 dRXI, - BIT1 spare2, - integer securityMode, - BIT1 sAMBRI, - BIT1 uAMBRI, - BIT3 spare3, - integer noofQuintuplets, - BIT3 usedCipher, - BIT5 spare4, - OCT8 kc, - AuthQuintuplets quintuplets, - OCT2 drx_par optional, - OCT4 uplinkSubscribedUE_AMBR optional, - OCT4 downlinkSubscribedUE_AMBR optional, - OCT4 uplinkUsedUE_AMBR optional, - OCT4 downlinkUsedUE_AMBR optional, - integer lengthOfUE_NEtworkCapability, - octetstring uE_NEtworkCapability, - integer lengthOfMS_NetworkCapability, - octetstring mS_NetworkCapability, - integer lengthOfMobileEquipmentIdentity, - octetstring mobileEquipmentIdentity, - BIT1 uNA, - BIT1 gENA, - BIT1 gANA, - BIT1 iNA, - BIT1 eNA, - BIT1 hNNA, - BIT1 nBNA, - BIT1 spare5, - integer lengthOfVoiceDomainPreferenceAndUEsUsageSetting optional, //"extendable" optional for backward compatibility - octetstring voiceDomainPreferenceAndUEsUsageSetting optional, //"extendable" optional for backward compatibility - integer lengthOfHigherBitratesThan16Mbpsflags optional, //"extendable" optional for backward compatibility - octetstring higherBitratesThan16Mbpsflags optional, //"extendable" optional for backward compatibility - octetstring additionalOctets optional //"extendable" optional for backward compatibility -} with { - variant (lengthIndicator) "LENGTHTO(cksn_ksi,dRXI,spare2,securityMode,sAMBRI,uAMBRI,spare3, - noofQuintuplets,usedCipher,spare4,kc,quintuplets, - drx_par,uplinkSubscribedUE_AMBR,downlinkSubscribedUE_AMBR, - uplinkUsedUE_AMBR,downlinkUsedUE_AMBR,lengthOfUE_NEtworkCapability, - uE_NEtworkCapability,lengthOfMS_NetworkCapability,mS_NetworkCapability, - lengthOfMobileEquipmentIdentity,mobileEquipmentIdentity, - uNA,gENA,gANA,iNA,eNA,hNNA,nBNA,spare5, - lengthOfVoiceDomainPreferenceAndUEsUsageSetting, - voiceDomainPreferenceAndUEsUsageSetting, - lengthOfHigherBitratesThan16Mbpsflags, - higherBitratesThan16Mbpsflags, - additionalOctets)"; - variant "PRESENCE (elementIdentifier = '69'O; )"; - variant (securityMode) "FIELDLENGTH(3)"; - variant (noofQuintuplets) "FIELDLENGTH(3)"; - variant (noofQuintuplets) "LENGTHTO(quintuplets)"; - variant (noofQuintuplets) "UNIT(elements)"; - variant (drx_par) "PRESENCE (dRXI = '1'B; )"; - variant (lengthOfUE_NEtworkCapability) "LENGTHTO(uE_NEtworkCapability)"; - variant (lengthOfMS_NetworkCapability) "LENGTHTO(mS_NetworkCapability)"; - variant (lengthOfMobileEquipmentIdentity) "LENGTHTO(mobileEquipmentIdentity)"; - variant (lengthOfVoiceDomainPreferenceAndUEsUsageSetting) "LENGTHTO(voiceDomainPreferenceAndUEsUsageSetting)"; - variant (lengthOfHigherBitratesThan16Mbpsflags) "LENGTHTO(higherBitratesThan16Mbpsflags)"; - variant (uplinkSubscribedUE_AMBR) "PRESENCE (sAMBRI = '1'B; )"; - variant (downlinkSubscribedUE_AMBR) "PRESENCE (sAMBRI = '1'B; )"; - variant (uplinkUsedUE_AMBR) "PRESENCE (uAMBRI = '1'B; )"; - variant (downlinkUsedUE_AMBR) "PRESENCE (uAMBRI = '1'B; )"; -}; - -type record UMTS_key_and_Quintuplets -{ - OCT1 elementIdentifier, // dec 106, '6A'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - BIT3 ksi, - BIT1 dRXI, - BIT1 spare2, - integer securityMode, - BIT1 sAMBRI, - BIT1 uAMBRI, - BIT1 uGIPAI, - BIT1 gUPII, - BIT1 spare3, - integer noofQuintuplets, - BIT3 usedGPRSIntegrityProtectionAlgorithm, - BIT5 spare4, - OCT16 ck, - OCT16 ik, - AuthQuintuplets quintuplets, - OCT2 drx_par optional, - OCT4 uplinkSubscribedUE_AMBR optional, - OCT4 downlinkSubscribedUE_AMBR optional, - OCT4 uplinkUsedUE_AMBR optional, - OCT4 downlinkUsedUE_AMBR optional, - integer lengthOfUE_NEtworkCapability, - octetstring uE_NEtworkCapability, - integer lengthOfMS_NetworkCapability, - octetstring mS_NetworkCapability, - integer lengthOfMobileEquipmentIdentity, - octetstring mobileEquipmentIdentity, - BIT1 uNA, - BIT1 gENA, - BIT1 gANA, - BIT1 iNA, - BIT1 eNA, - BIT1 hNNA, - BIT1 nBNA, - BIT1 spare5, - integer lengthOfVoiceDomainPreferenceAndUEsUsageSetting optional, //"extendable" optional for backward compatibility - octetstring voiceDomainPreferenceAndUEsUsageSetting optional, //"extendable" optional for backward compatibility - integer lengthOfHigherBitratesThan16Mbpsflags optional, //"extendable" optional for backward compatibility - octetstring higherBitratesThan16Mbpsflags optional, //"extendable" optional for backward compatibility - octetstring additionalOctets optional //"extendable" optional for backward compatibility -} with { - variant (lengthIndicator) "LENGTHTO(ksi,dRXI,spare2,securityMode,sAMBRI,uAMBRI,uGIPAI,gUPII,spare3, - noofQuintuplets,usedGPRSIntegrityProtectionAlgorithm,spare4,ck,ik,quintuplets, - drx_par,uplinkSubscribedUE_AMBR,downlinkSubscribedUE_AMBR, - uplinkUsedUE_AMBR,downlinkUsedUE_AMBR,lengthOfUE_NEtworkCapability, - uE_NEtworkCapability,lengthOfMS_NetworkCapability,mS_NetworkCapability, - lengthOfMobileEquipmentIdentity,mobileEquipmentIdentity, - uNA,gENA,gANA,iNA,eNA,hNNA,nBNA,spare5, - lengthOfVoiceDomainPreferenceAndUEsUsageSetting, - voiceDomainPreferenceAndUEsUsageSetting, - lengthOfHigherBitratesThan16Mbpsflags, - higherBitratesThan16Mbpsflags, - additionalOctets)"; - variant "PRESENCE (elementIdentifier = '6A'O; )"; - variant (securityMode) "FIELDLENGTH(3)"; - variant (noofQuintuplets) "FIELDLENGTH(3)"; - variant (noofQuintuplets) "LENGTHTO(quintuplets)"; - variant (noofQuintuplets) "UNIT(elements)"; - variant (drx_par) "PRESENCE (dRXI = '1'B; )"; - variant (lengthOfUE_NEtworkCapability) "LENGTHTO(uE_NEtworkCapability)"; - variant (lengthOfMS_NetworkCapability) "LENGTHTO(mS_NetworkCapability)"; - variant (lengthOfMobileEquipmentIdentity) "LENGTHTO(mobileEquipmentIdentity)"; - variant (lengthOfVoiceDomainPreferenceAndUEsUsageSetting) "LENGTHTO(voiceDomainPreferenceAndUEsUsageSetting)"; - variant (lengthOfHigherBitratesThan16Mbpsflags) "LENGTHTO(higherBitratesThan16Mbpsflags)"; - variant (uplinkSubscribedUE_AMBR) "PRESENCE (sAMBRI = '1'B; )"; - variant (downlinkSubscribedUE_AMBR) "PRESENCE (sAMBRI = '1'B; )"; - variant (uplinkUsedUE_AMBR) "PRESENCE (uAMBRI = '1'B; )"; - variant (downlinkUsedUE_AMBR) "PRESENCE (uAMBRI = '1'B; )"; -}; - - -type record OldEPS_SecurityContext -{ - BIT3 oldNCC, - BIT3 oldKSI, - BIT1 spare, - BIT1 nHI_old, - octetstring old_K_asme length (32), - octetstring old_NH length (32) optional -} with { - variant (old_NH) "PRESENCE(nHI_old = '1'B )"; -}; - -type record EPS_SecurityContext_and_Quadruplets -{ - OCT1 elementIdentifier, // dec 107, '6B'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - BIT3 ksi_asme, - BIT1 dRXI, - BIT1 nHI, - integer securityMode, - BIT1 osci, - BIT1 uAMBRI, - integer noofQuadruplets, - integer noofQuintuplets, - BIT4 usedNAS_Cipher, - BIT3 usedNAS_IntegrityAlgorithm, - BIT1 sAMBRI, - integer nAS_DownlinkCount, - integer nAS_UplinkCount, - octetstring k_asme length (32), - AuthQuadruplets quadruplets, - AuthQuintuplets quintuplets, - OCT2 drx_par optional, - octetstring nH length (32) optional, - BIT3 nCC optional, - BIT5 spare4 optional, - OCT4 uplinkSubscribedUE_AMBR optional, - OCT4 downlinkSubscribedUE_AMBR optional, - OCT4 uplinkUsedUE_AMBR optional, - OCT4 downlinkUsedUE_AMBR optional, - integer lengthOfUE_NEtworkCapability, - octetstring uE_NEtworkCapability, - integer lengthOfMS_NetworkCapability, - octetstring mS_NetworkCapability, - integer lengthOfMobileEquipmentIdentity, - octetstring mobileEquipmentIdentity, - BIT1 uNA, - BIT1 gENA, - BIT1 gANA, - BIT1 iNA, - BIT1 eNA, - BIT1 hNNA, - BIT1 nBNA, - BIT1 spare5, - OldEPS_SecurityContext oldEPS_SecurityContext optional, - integer lengthOfVoiceDomainPreferenceAndUEsUsageSetting optional, //"extendable" optional for backward compatibility - octetstring voiceDomainPreferenceAndUEsUsageSetting optional, //"extendable" optional for backward compatibility - LIN2_BO_LAST lengthOfUERadioCapabilityforPagingInformation optional, //"extendable" optional for backward compatibility - octetstring uERadioCapabilityforPagingInformation optional, //"extendable" optional for backward compatibility - octetstring additionalOctets optional //"extendable" optional for backward compatibility -} with { - variant (lengthIndicator) "LENGTHTO(ksi_asme,dRXI,nHI,securityMode,osci,uAMBRI,noofQuadruplets, - noofQuintuplets,usedNAS_Cipher,usedNAS_IntegrityAlgorithm,sAMBRI, - nAS_DownlinkCount,nAS_UplinkCount,k_asme, - quadruplets,quintuplets,drx_par,nH,nCC,spare4, - uplinkSubscribedUE_AMBR,downlinkSubscribedUE_AMBR, - uplinkUsedUE_AMBR,downlinkUsedUE_AMBR,lengthOfUE_NEtworkCapability, - uE_NEtworkCapability,lengthOfMS_NetworkCapability,mS_NetworkCapability, - lengthOfMobileEquipmentIdentity,mobileEquipmentIdentity, - uNA,gENA,gANA,iNA,eNA,hNNA,nBNA,spare5, - oldEPS_SecurityContext, - lengthOfVoiceDomainPreferenceAndUEsUsageSetting, - voiceDomainPreferenceAndUEsUsageSetting, - lengthOfUERadioCapabilityforPagingInformation, - uERadioCapabilityforPagingInformation, - additionalOctets)"; - variant "PRESENCE (elementIdentifier = '6B'O; )"; - variant (securityMode) "FIELDLENGTH(3)"; - variant (noofQuadruplets) "FIELDLENGTH(3)"; - variant (noofQuadruplets) "LENGTHTO(quadruplets)"; - variant (noofQuadruplets) "UNIT(elements)"; - variant (noofQuintuplets) "FIELDLENGTH(3)"; - variant (noofQuintuplets) "LENGTHTO(quintuplets)"; - variant (noofQuintuplets) "UNIT(elements)"; - variant (nAS_DownlinkCount) "FIELDLENGTH(24)"; - variant (nAS_DownlinkCount) "BYTEORDER(last)"; - variant (nAS_UplinkCount) "FIELDLENGTH(24)"; - variant (nAS_UplinkCount) "BYTEORDER(last)"; - variant (lengthOfUE_NEtworkCapability) "LENGTHTO(uE_NEtworkCapability)"; - variant (lengthOfMS_NetworkCapability) "LENGTHTO(mS_NetworkCapability)"; - variant (lengthOfMobileEquipmentIdentity) "LENGTHTO(mobileEquipmentIdentity)"; - variant (lengthOfVoiceDomainPreferenceAndUEsUsageSetting) "LENGTHTO(voiceDomainPreferenceAndUEsUsageSetting)"; - variant (lengthOfUERadioCapabilityforPagingInformation) "LENGTHTO(uERadioCapabilityforPagingInformation)"; - variant (drx_par) "PRESENCE(dRXI = '1'B)"; - variant (nH) "PRESENCE(nHI = '1'B)"; - variant (nCC) "PRESENCE(nHI = '1'B)"; - variant (spare4) "PRESENCE(nHI = '1'B)"; - variant (uplinkSubscribedUE_AMBR) "PRESENCE (sAMBRI = '1'B; )"; - variant (downlinkSubscribedUE_AMBR) "PRESENCE (sAMBRI = '1'B; )"; - variant (uplinkUsedUE_AMBR) "PRESENCE (uAMBRI = '1'B; )"; - variant (downlinkUsedUE_AMBR) "PRESENCE (uAMBRI = '1'B; )"; - variant (oldEPS_SecurityContext) "PRESENCE(osci = '1'B )"; -}; - -type record UMTS_Key_Quadruplets_and_Quintuplets -{ - OCT1 elementIdentifier, // dec 108, '6C'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - BIT3 ksi_asme, - BIT1 dRXI, - BIT1 spare2, - integer securityMode, - BIT1 sAMBRI, - BIT1 uAMBRI, - integer noofQuadruplets, - integer noofQuintuplets, - OCT1 spare4, - OCT16 ck, - OCT16 ik, - AuthQuadruplets quadruplets, - AuthQuintuplets quintuplets, - OCT2 drx_par optional, - OCT4 uplinkSubscribedUE_AMBR optional, - OCT4 downlinkSubscribedUE_AMBR optional, - OCT4 uplinkUsedUE_AMBR optional, - OCT4 downlinkUsedUE_AMBR optional, - integer lengthOfUE_NEtworkCapability, - octetstring uE_NEtworkCapability, - integer lengthOfMS_NetworkCapability, - octetstring mS_NetworkCapability, - integer lengthOfMobileEquipmentIdentity, - octetstring mobileEquipmentIdentity, - BIT1 uNA, - BIT1 gENA, - BIT1 gANA, - BIT1 iNA, - BIT1 eNA, - BIT1 hNNA, - BIT1 nBNA, - BIT1 spare5, - integer lengthOfVoiceDomainPreferenceAndUEsUsageSetting optional, //"extendable" optional for backward compatibility - octetstring voiceDomainPreferenceAndUEsUsageSetting optional, //"extendable" optional for backward compatibility - octetstring additionalOctets optional //"extendable" optional for backward compatibility -} with { - variant (lengthIndicator) "LENGTHTO(ksi_asme,dRXI,spare2,securityMode,sAMBRI,uAMBRI, - noofQuadruplets,noofQuintuplets,spare4,ck, - ik,quadruplets,quintuplets,drx_par,uplinkSubscribedUE_AMBR, - downlinkSubscribedUE_AMBR,uplinkUsedUE_AMBR,downlinkUsedUE_AMBR, - lengthOfUE_NEtworkCapability,uE_NEtworkCapability, - lengthOfMS_NetworkCapability,mS_NetworkCapability, - lengthOfMobileEquipmentIdentity,mobileEquipmentIdentity, - uNA,gENA,gANA,iNA,eNA,hNNA,nBNA,spare5, - lengthOfVoiceDomainPreferenceAndUEsUsageSetting, - voiceDomainPreferenceAndUEsUsageSetting, - additionalOctets)"; - variant "PRESENCE (elementIdentifier = '6C'O; )"; - variant (securityMode) "FIELDLENGTH(3)"; - variant (noofQuadruplets) "FIELDLENGTH(3)"; - variant (noofQuadruplets) "LENGTHTO(quadruplets)"; - variant (noofQuadruplets) "UNIT(elements)"; - variant (noofQuintuplets) "FIELDLENGTH(3)"; - variant (noofQuintuplets) "LENGTHTO(quintuplets)"; - variant (noofQuintuplets) "UNIT(elements)"; - variant (drx_par) "PRESENCE (dRXI = '1'B; )"; - variant (lengthOfUE_NEtworkCapability) "LENGTHTO(uE_NEtworkCapability)"; - variant (lengthOfMS_NetworkCapability) "LENGTHTO(mS_NetworkCapability)"; - variant (lengthOfMobileEquipmentIdentity) "LENGTHTO(mobileEquipmentIdentity)"; - variant (lengthOfVoiceDomainPreferenceAndUEsUsageSetting) "LENGTHTO(voiceDomainPreferenceAndUEsUsageSetting)"; - variant (uplinkSubscribedUE_AMBR) "PRESENCE (sAMBRI = '1'B; )"; - variant (downlinkSubscribedUE_AMBR) "PRESENCE (sAMBRI = '1'B; )"; - variant (uplinkUsedUE_AMBR) "PRESENCE (uAMBRI = '1'B; )"; - variant (downlinkUsedUE_AMBR) "PRESENCE (uAMBRI = '1'B; )"; -}; - -//8.39 -type set PDN_Conn_BearerContext_IEs -{ - EPS_BearerID ePS_BearerID optional, - EPS_BearerLevel_TFT ePS_Bearer_TFT optional, - FullyQualifiedTEID_List fullyQualifiedTEID optional, - Bearer_QoS bearerLevel_QoS optional, - FullyQualifiedContainer container optional, - TransactionIdentifier transactionIdentifier optional, - BearerFlags bearerFlags optional -}with { - variant(fullyQualifiedTEID) "REPEATABLE(yes)"; -}; - -type record PDN_Conn_BearerContext -{ - OCT1 elementIdentifier,// dec 93, '5D'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - PDN_Conn_BearerContext_IEs bearerContext_IEs -} with { - variant (lengthIndicator) "LENGTHTO(bearerContext_IEs)"; - variant "PRESENCE (elementIdentifier = '5D'O; )"; -}; - -type set of PDN_Conn_BearerContext PDN_Conn_BearerContext_List - -type set PDN_Connection_IEs -{ - AccessPointName accessPointName optional, - IP_Address_List iP_Address optional, - EPS_BearerID linkedEPS_Bearer_ID optional, - FullyQualifiedTEID fullyQualifiedTEID optional, - FullyQualifiedDomainName_List fullyQualifiedDomainName optional, - PDN_Conn_BearerContext_List bearerContexts optional, - AggregateMaximumBitRate apn_ambr optional, - ChargingCharacteristics chargingCharacteristics optional, - APN_Restriction aPN_Restriction optional, - SelectionMode selectionMode optional, - ChangeReportingAction changeReportingAction optional, - CSG_InformationReportingAction cSG_InformationReportingAction optional, - HeNBInformationReporting heNBInformationReporting optional, - Indication indicationFlags optional, - SignallingPriorityIndication signallingPriorityIndication optional, - ChangeToReportFlags changeToReportFlags optional, - PresenceReportingAreaAction presenceReportingAreaAction optional, - WLANOffloadabilityIndication wLANOffloadabilityIndication optional, - RemoteUEContextGrouped remoteUEContext optional, - PDN_Type pDN_Type optional, - HeaderCompressionConfiguration headerCompressionConfiguration optional -} with { - variant(iP_Address) "REPEATABLE(yes)"; - variant(fullyQualifiedDomainName) "REPEATABLE(yes)"; - variant(bearerContexts) "REPEATABLE(yes)" -}; - -type record PDN_ConnectionGrouped -{ - OCT1 elementIdentifier, // dec 109, '6D'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - PDN_Connection_IEs pDN_Connection_IEs -} with { - variant (lengthIndicator) "LENGTHTO(pDN_Connection_IEs)"; - variant "PRESENCE (elementIdentifier = '6D'O; )"; -}; - -type set of PDN_ConnectionGrouped PDN_ConnectionGrouped_List - -//8.40 -type record PDU_Numbers -{ - OCT1 elementIdentifier, // dec 110, '6E'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - BIT4 nSAPI, - BIT4 spare2, - integer dL_GTPU_SeqNumber, - integer uL_GTPU_SeqNumber, - integer send_NPDU_Number, - integer receive_NPDU_Number, - octetstring additionalOctets optional -} with { - variant (lengthIndicator) "LENGTHTO(nSAPI,spare2,dL_GTPU_SeqNumber, - uL_GTPU_SeqNumber,send_NPDU_Number, - receive_NPDU_Number,additionalOctets)"; - variant "PRESENCE (elementIdentifier = '6E'O;)"; - variant (dL_GTPU_SeqNumber) "FIELDLENGTH(16)"; - variant (dL_GTPU_SeqNumber) "BYTEORDER(last)"; - variant (uL_GTPU_SeqNumber) "FIELDLENGTH(16)"; - variant (uL_GTPU_SeqNumber) "BYTEORDER(last)"; - variant (send_NPDU_Number) "FIELDLENGTH(16)"; - variant (send_NPDU_Number) "BYTEORDER(last)"; - variant (receive_NPDU_Number) "FIELDLENGTH(16)"; - variant (receive_NPDU_Number) "BYTEORDER(last)"; -}; - -//8.41 -type record Packet_TMSI -{ - OCT1 elementIdentifier, // dec 111, '6F'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - OCT4 pTMSI_Value -} with { - variant (lengthIndicator) "LENGTHTO(pTMSI_Value)"; - variant "PRESENCE (elementIdentifier = '6F'O; )"; -}; - - -//8.42 -type record P_TMSI_Signature -{ - OCT1 elementIdentifier, // dec 112, '70'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - OCT3 p_TMSI_SignatureValue -} with { - variant (lengthIndicator) "LENGTHTO(p_TMSI_SignatureValue)"; - variant "PRESENCE (elementIdentifier = '70'O; )"; -}; - -//8.43 -type record Hop_Counter -{ - OCT1 elementIdentifier, //dec 113, '71'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - integer hopCounterValue, - octetstring additionalOctets optional -} with { - variant (lengthIndicator) "LENGTHTO(hopCounterValue,additionalOctets)"; - variant "PRESENCE (elementIdentifier = '71'O; )"; -}; - -//8.44 -type record UE_TimeZone -{ - OCT1 elementIdentifier, //dec 114, '72'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - OCT1 timeZone, - BIT2 daylightSavingTime, - BIT6 spare2, - octetstring additionalOctets optional -} with { - variant (lengthIndicator) "LENGTHTO(timeZone,daylightSavingTime,spare2,additionalOctets)"; - variant "PRESENCE (elementIdentifier = '72'O; )"; -}; - -//8.45 -type record TraceReference -{ - OCT1 elementIdentifier, //dec 115, '73'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - HEX1 mccDigit1, - HEX1 mccDigit2, - HEX1 mccDigit3, - HEX1 mncDigit3, - HEX1 mncDigit1, - HEX1 mncDigit2, - OCT3 traceID_Value -} with { - variant (lengthIndicator) "LENGTHTO(mccDigit1,mccDigit2,mccDigit3,mncDigit3, - mncDigit1,mncDigit2,traceID_Value)"; - variant "PRESENCE (elementIdentifier = '73'O; )"; -}; - -//8.46 -type record CompleteRequestMessage -{ - OCT1 elementIdentifier, //dec 116, '74'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - integer completeRequestMessageType, - octetstring completeRequestMessageValue -} with { - variant (lengthIndicator) "LENGTHTO(completeRequestMessageType,completeRequestMessageValue)"; - variant "PRESENCE (elementIdentifier = '74'O; )"; -}; - -//8.47 -type record GUTI -{ - OCT1 elementIdentifier, //dec 117, '75'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - HEX1 mccDigit1, - HEX1 mccDigit2, - HEX1 mccDigit3, - HEX1 mncDigit3, - HEX1 mncDigit1, - HEX1 mncDigit2, - OCT2 mME_GroupID, - OCT1 mME_Code, - octetstring m_TMSI -} with { - variant (lengthIndicator) "LENGTHTO(mccDigit1,mccDigit2,mccDigit3,mncDigit3, - mncDigit1,mncDigit2,mME_GroupID,mME_Code,m_TMSI - )"; - variant "PRESENCE (elementIdentifier = '75'O; )"; -}; - -//8.48 -type record FullyQualifiedContainer -{ - OCT1 elementIdentifier, //dec 118, '76'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - integer containerType, - BIT4 spare2, - F_ContainerField f_ContainerField -} with { - variant (lengthIndicator) "LENGTHTO(containerType,spare2,f_ContainerField)"; - variant "PRESENCE (elementIdentifier = '76'O; )"; - variant (containerType) "FIELDLENGTH(4)"; - variant (f_ContainerField) "CROSSTAG( - uTRAN_TransparentContainer, containerType = 1; - bSS_Container, containerType = 2; - eUTRAN_TransparentContainer, containerType = 3; - nBIFOM_Container, containerType = 4; - )"; -}; - -type union F_ContainerField -{ - BSS_Container_union bSS_Container, - octetstring uTRAN_TransparentContainer, - octetstring eUTRAN_TransparentContainer, - octetstring nBIFOM_Container -} - -type set of FullyQualifiedContainer FullyQualifiedContainer_List; - -type union BSS_Container_union { - BSS_Container bSS_Container_structured, - octetstring bSS_Container_octet -} - -//8.48-2 -type record BSS_Container -{ - BIT1 pFI, - BIT1 rP, - BIT1 sAPIflag, - BIT1 pHX, - BIT4 spare, - OCT1 packetFlowID optional, - BIT3 radioPriority optional, - BIT1 spare2 optional, - BIT4 sAPI optional, - integer xiDparametersLength optional, - octetstring xiDparameters optional -} with { - variant "PRESENCE (spare = '0000'B; )"; - variant (xiDparametersLength) "LENGTHTO(xiDparameters)"; - variant (packetFlowID) "PRESENCE (pFI = '1'B; )"; - variant (radioPriority) "PRESENCE (rP = '1'B; )"; - variant (sAPI) "PRESENCE (sAPIflag = '1'B; )"; - variant (xiDparametersLength) "PRESENCE (pHX = '1'B; )"; - variant (xiDparameters) "PRESENCE (pHX = '1'B; )"; -}; - -//8.49 -type record FullyQualifiedCause -{ - OCT1 elementIdentifier, //dec 119, '77'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - BIT4 causeType, - BIT4 spare2, - octetstring f_CauseFieldValue -} with { - variant (lengthIndicator) "LENGTHTO(causeType,spare2,f_CauseFieldValue)"; - variant "PRESENCE (elementIdentifier = '77'O; )"; -}; - -type set of FullyQualifiedCause FullyQualifiedCause_List; - -//8.50 -type record PLMN_ID -{ - OCT1 elementIdentifier, //dec 120, '78'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - OCT3 pLMN_IdentityValue -}with { - variant (lengthIndicator) "LENGTHTO(pLMN_IdentityValue)"; - variant "PRESENCE (elementIdentifier = '78'O; )"; -}; - -//8.51 -type record TargetIdentification -{ - OCT1 elementIdentifier, //dec 121, '79'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - integer targetType, - TargetId targetID -} with { - variant (lengthIndicator) "LENGTHTO(targetType,targetID)"; - variant "PRESENCE (elementIdentifier = '79'O; )"; - variant (targetID) "CROSSTAG( rnc_ID, targetType = 0; - macro_eNodeB_ID, targetType = 1; - cell_ID, targetType = 2; - home_eNodeB_ID, targetType = 3; - unknown, OTHERWISE)" -}; - -type union TargetId { - RNC_ID rnc_ID, - Macro_eNodeB_ID macro_eNodeB_ID, - Cell_ID cell_ID, - Home_eNodeB_ID home_eNodeB_ID, - octetstring unknown -} - -type octetstring RNC_ID; -type octetstring Cell_ID; - -type record Macro_eNodeB_ID { - HEX1 mccDigit1, - HEX1 mccDigit2, - HEX1 mccDigit3, - HEX1 mncDigit3, - HEX1 mncDigit1, - HEX1 mncDigit2, - BIT4 spare2, - bitstring targetID length(20), - OCT2 tac -} with { - variant (spare2,targetID) "FIELDORDER(msb)"; - variant (targetID) "BYTEORDER(last)"; -} - -type record Home_eNodeB_ID { - HEX1 mccDigit1, - HEX1 mccDigit2, - HEX1 mccDigit3, - HEX1 mncDigit3, - HEX1 mncDigit1, - HEX1 mncDigit2, - BIT4 spare2, - bitstring targetID length(28), - OCT2 tac -} with { - variant (spare2,targetID) "FIELDORDER(msb)"; - variant (targetID) "BYTEORDER(last)"; -} - -// In Presence Reporting Area Action it shall be encoded as per octets 6 to 11 of the Target ID -type record Macro_eNodeB_ID_spec { - HEX1 mccDigit1, - HEX1 mccDigit2, - HEX1 mccDigit3, - HEX1 mncDigit3, - HEX1 mncDigit1, - HEX1 mncDigit2, - BIT4 spare2, - bitstring targetID length(20) -} with { - variant (spare2,targetID) "FIELDORDER(msb)"; - variant (targetID) "BYTEORDER(last)"; -} - -// In Presence Reporting Area Action it shall be encoded as per octets 6 to 11 of the Target ID -type record Home_eNodeB_ID_spec { - HEX1 mccDigit1, - HEX1 mccDigit2, - HEX1 mccDigit3, - HEX1 mncDigit3, - HEX1 mncDigit1, - HEX1 mncDigit2, - BIT4 spare2, - bitstring targetID length(28) -} with { - variant (spare2,targetID) "FIELDORDER(msb)"; - variant (targetID) "BYTEORDER(last)"; -} - -//8.52 -//VOID - -//8.53 -type record PacketFlowID -{ - OCT1 elementIdentifier, // dec 123, '7B'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - BIT4 eBI, - BIT4 spare2, - octetstring packetFlowIDValue -} with { - variant (lengthIndicator) "LENGTHTO(eBI,spare2,packetFlowIDValue)"; - variant "PRESENCE (elementIdentifier = '7B'O;)"; -}; - -//8.54 -type record RAB_Context -{ - OCT1 elementIdentifier, // dec 124, '7C'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - BIT4 nSAPI, - BIT4 spare2, - integer dL_GTPU_SeqNumber, - integer uL_GTPU_SeqNumber, - integer dL_PDCP_SeqNumber, - integer uL_PDCP_SeqNumber -}with { - variant (lengthIndicator) "LENGTHTO(nSAPI,spare2,dL_GTPU_SeqNumber,uL_GTPU_SeqNumber,dL_PDCP_SeqNumber,uL_PDCP_SeqNumber)"; - variant "PRESENCE (elementIdentifier = '7C'O;)"; - variant (dL_GTPU_SeqNumber) "FIELDLENGTH(16)"; - variant (dL_GTPU_SeqNumber) "BYTEORDER(last)"; - variant (uL_GTPU_SeqNumber) "FIELDLENGTH(16)"; - variant (uL_GTPU_SeqNumber) "BYTEORDER(last)"; - variant (dL_PDCP_SeqNumber) "FIELDLENGTH(16)"; - variant (dL_PDCP_SeqNumber) "BYTEORDER(last)"; - variant (uL_PDCP_SeqNumber) "FIELDLENGTH(16)"; - variant (uL_PDCP_SeqNumber) "BYTEORDER(last)"; -}; - -type set of RAB_Context RAB_Context_List - -//8.55 -type record Source_RNC_PDCP_Context_Info -{ - OCT1 elementIdentifier, // dec 125, '7D'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - octetstring rRC_ContainerValue -} with { - variant (lengthIndicator) "LENGTHTO(rRC_ContainerValue)"; - variant "PRESENCE (elementIdentifier = '7D'O;)"; -}; - -//8.56 -type record PortNumber -{ - OCT1 elementIdentifier, // dec 126, '7E'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - integer PortNumberValue, - octetstring additionalOctets optional -} with { - variant (lengthIndicator) "LENGTHTO(PortNumberValue,additionalOctets)"; - variant "PRESENCE (elementIdentifier = '7E'O;)"; - variant (PortNumberValue) "FIELDLENGTH(16)"; - variant (PortNumberValue) "BYTEORDER(last)"; -}; - -type set of PortNumber PortNumber_List - -//8.57 -type record APN_Restriction -{ - OCT1 elementIdentifier, // dec 127, '7F'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - integer restrictionTypeValue, - octetstring additionalOctets optional -} with { - variant (lengthIndicator) "LENGTHTO(restrictionTypeValue,additionalOctets)"; - variant "PRESENCE (elementIdentifier = '7F'O;)"; -}; - -//8.58 -type record SelectionMode -{ - OCT1 elementIdentifier, // dec 128, '80'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - integer selectionModeValue, - BIT6 spare2, - octetstring additionalOctets optional -} with { - variant (lengthIndicator) "LENGTHTO(selectionModeValue,spare2,additionalOctets)"; - variant "PRESENCE (elementIdentifier = '80'O;)"; - variant (selectionModeValue) "FIELDLENGTH(2)"; -}; - -//8.59 -type record SourceIdentification -{ - OCT1 elementIdentifier, // dec 129, '81'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - OCT8 targetCellID, - OCT1 sourceType, - HEX1 mccDigit1, - HEX1 mccDigit2, - HEX1 mccDigit3, - HEX1 mncDigit3, - HEX1 mncDigit1, - HEX1 mncDigit2, - BIT4 spare2, - bitstring sourceID length(20), - OCT2 tac -} with { - variant (lengthIndicator) "LENGTHTO(targetCellID,sourceType,mccDigit1,mccDigit2,mccDigit3, - mncDigit3,mncDigit1,mncDigit2,spare2, - sourceID,tac)"; - variant "PRESENCE (elementIdentifier = '81'O;)"; - variant (spare2,sourceID) "FIELDORDER(msb)"; - variant (sourceID) "BYTEORDER(last)"; -}; - -//8.60 -//VOID - -//8.61 -type record ChangeReportingAction -{ - OCT1 elementIdentifier, // dec 131, '83'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - octetstring actionValue -} with { - variant (lengthIndicator) "LENGTHTO(actionValue)"; - variant "PRESENCE (elementIdentifier = '83'O;)"; -}; - -//8.62 -type set of OCT2 PDN_CSID_List; - -type union NodeID -{ - OCT4 globalUnicastIPv4, - OCT16 globalUnicastIPv6, - OCT4 fourOctets -}; - -type record FullyQualifiedPDN_ConnectionSetID //FQ CSID -{ - OCT1 elementIdentifier, // dec 132, '84'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - integer nRofCSIDs, - integer nodeIDType, - NodeID nodeID, - PDN_CSID_List pDN_CSID_List, - octetstring additionalOctets optional -} with { - variant (lengthIndicator) "LENGTHTO(nRofCSIDs,nodeIDType,nodeID,pDN_CSID_List,additionalOctets)"; - variant "PRESENCE (elementIdentifier = '84'O;)"; - variant (nRofCSIDs) "FIELDLENGTH(4)"; - variant (nRofCSIDs) "LENGTHTO(pDN_CSID_List)"; - variant (nRofCSIDs) "UNIT(elements)"; - variant (nodeIDType) "FIELDLENGTH(4)"; - variant (nodeID) "CROSSTAG( - globalUnicastIPv4, nodeIDType = 0; - globalUnicastIPv6, nodeIDType = 1; - fourOctets, nodeIDType = 2; - )"; -}; - -type set of FullyQualifiedPDN_ConnectionSetID FullyQualifiedPDN_ConnectionSetID_List; - -//8.63 -type record ChannelNeeded -{ - OCT1 elementIdentifier, // dec 133, '85'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - octetstring channelNeededValue -} with { - variant (lengthIndicator) "LENGTHTO(channelNeededValue)"; - variant "PRESENCE (elementIdentifier = '85'O;)"; -}; - -//8.64 -type record EMLPP_Priority -{ - OCT1 elementIdentifier, // dec 134, '86'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - octetstring eMLPP_PriorityValue -}with { - variant (lengthIndicator) "LENGTHTO(eMLPP_PriorityValue)"; - variant "PRESENCE (elementIdentifier = '86'O;)"; -}; - -//8.65 -type record NodeType -{ - OCT1 elementIdentifier,// dec 135, '87'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - OCT1 nodeTypeValue, - octetstring additionalOctets optional -}with { - variant (lengthIndicator) "LENGTHTO(nodeTypeValue,additionalOctets)"; - variant "PRESENCE (elementIdentifier = '87'O;)"; -}; - -//8.66 -type record FullyQualifiedDomainName -{ - OCT1 elementIdentifier, // dec 136, '88'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - octetstring fQDN_Value -} with { - variant (lengthIndicator) "LENGTHTO(fQDN_Value)"; - variant "PRESENCE (elementIdentifier = '88'O;)"; -}; - -type set of FullyQualifiedDomainName FullyQualifiedDomainName_List; - -//8.67 -// Moved to GTPv2_PrivateExtensions.ttcn - - -//8.68 -type record TransactionIdentifier -{ - OCT1 elementIdentifier, // dec 137, '89'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - BIT4 spare2, - L3_TransactionId transactionIdentifierValue -} with { - variant (lengthIndicator) "LENGTHTO(spare2,transactionIdentifierValue)"; - variant "PRESENCE (elementIdentifier = '89'O;)"; -}; - -type record L3_TransactionId -{ - BIT3 tio, - BIT1 tiFlag , - TI_Extension tIExtension optional - // an extension octet (TI) can be used for session management messages - // not yet implemented (see 24.008 clause 10.3.2 for more detail -} with { variant (tIExtension) "PRESENCE(tio = '111'B)" -}; - -type record TI_Extension -{ - BIT7 tI_Value, - BIT1 tI_ExtBit //'1'B -}; - -//8.69 -type record MBMS_SessionDuration -{ - OCT1 elementIdentifier, // dec 138, '8A'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - OCT3 mBMS_SessionDurationValue, - octetstring additionalOctets optional -}with { - variant (lengthIndicator) "LENGTHTO(mBMS_SessionDurationValue,additionalOctets)"; - variant "PRESENCE (elementIdentifier = '8A'O;)"; -}; - -//8.70 -type record MBMS_ServiceArea -{ - OCT1 elementIdentifier, // dec 139, '8B'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - octetstring mBMS_ServiceAreaValue -}with { - variant (lengthIndicator) "LENGTHTO(mBMS_ServiceAreaValue)"; - variant "PRESENCE (elementIdentifier = '8B'O;)"; -}; - -//8.71 -type record MBMS_SessionIdentifier -{ - OCT1 elementIdentifier, // dec 140, '8C'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - OCT1 mBMS_SessionIdentifierValue, - octetstring additionalOctets optional -}with { - variant (lengthIndicator) "LENGTHTO(mBMS_SessionIdentifierValue,additionalOctets)"; - variant "PRESENCE (elementIdentifier = '8C'O;)"; -}; - -//8.72 -type record MBMS_FlowIdentifier -{ - OCT1 elementIdentifier, // dec 141, '8D'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - OCT2 mBMS_FlowIdentifierValue, - octetstring additionalOctets optional -}with { - variant (lengthIndicator) "LENGTHTO(mBMS_FlowIdentifierValue,additionalOctets)"; - variant "PRESENCE (elementIdentifier = '8D'O;)"; -}; - -//8.73 -type record MBMS_IPMulticastDistribution -{ - OCT1 elementIdentifier, // dec 142, '8E'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - OCT4 commonTunnelEndpointIdentifierData, - GSN_Address iP_MulticastDistributionAddress, - GSN_Address iP_MulticastSourceAddress, - OCT1 mBMS_HCIndicator, - octetstring additionalOctets optional -}with { - variant (lengthIndicator) "LENGTHTO(commonTunnelEndpointIdentifierData,iP_MulticastDistributionAddress, - iP_MulticastSourceAddress,mBMS_HCIndicator,additionalOctets)"; - variant "PRESENCE (elementIdentifier = '8E'O;)"; -}; - -type set of MBMS_IPMulticastDistribution MBMS_IPMulticastDistribution_List; - -type record GSN_Address -{ - INT6b lengthIndicator, - BIT2 addressType, - octetstring addressValue -}with { - variant (lengthIndicator) "LENGTHTO(addressValue)"; -}; - -//8.74 -type record MBMS_DistributionAcknowledge -{ - OCT1 elementIdentifier, // dec 143, '8F'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - BIT2 distributionIndicationValue, - BIT6 spare2, - octetstring additionalOctets optional -}with { - variant (lengthIndicator) "LENGTHTO(distributionIndicationValue,spare2,additionalOctets)"; - variant "PRESENCE (elementIdentifier = '8F'O;)"; -}; - -//8.75 -type record User_CSG_Information -{ - OCT1 elementIdentifier, // dec 145, '91'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - HEX1 mccDigit1, - HEX1 mccDigit2, - HEX1 mccDigit3, - HEX1 mncDigit3, - HEX1 mncDigit1, - HEX1 mncDigit2, - BIT5 spare2, - bitstring cSG_ID length(27), - BIT1 cMI, - BIT1 lCSG, - BIT4 spare3, - BIT2 accessMode, - octetstring additionalOctets optional -}with { - variant (lengthIndicator) "LENGTHTO(mccDigit1,mccDigit2,mccDigit3, - mncDigit3,mncDigit1,mncDigit2, - spare2,cSG_ID,cMI,lCSG,spare3, - accessMode,additionalOctets)"; - variant (spare2,cSG_ID) "FIELDORDER(msb)"; - variant (cSG_ID) "BYTEORDER(last)"; - variant "PRESENCE (elementIdentifier = '91'O;)"; -}; - -//8.76 -type record CSG_InformationReportingAction -{ - OCT1 elementIdentifier, // dec 146, '92'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - BIT1 uCIC_SG, - BIT1 uCIS_HC, - BIT1 uCIU_HC, - BIT5 spare2, - octetstring additionalOctets optional -}with { - variant (lengthIndicator) "LENGTHTO(uCIC_SG,uCIS_HC,uCIU_HC,spare2,additionalOctets)"; - variant "PRESENCE (elementIdentifier = '92'O;)"; -}; - -//8.77 -type record of RFSP_Index RFSP_Index_List; - -type record RFSP_Index -{ - OCT1 elementIdentifier, // dec 144, '90'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - integer rFSP_IndexValue -} with { - variant (lengthIndicator) "LENGTHTO(rFSP_IndexValue)"; - variant "PRESENCE (elementIdentifier = '90'O;)"; - variant (rFSP_IndexValue) "FIELDLENGTH(16)"; - variant (rFSP_IndexValue) "BYTEORDER(last)"; -}; - -//8.78 -type record CSG_ID -{ - OCT1 elementIdentifier, // dec 147, '93'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - BIT5 spare2, - bitstring cSG_ID length(27), - octetstring additionalOctets optional -} with { - variant (lengthIndicator) "LENGTHTO(spare2,cSG_ID,additionalOctets)"; - variant (spare2,cSG_ID) "FIELDORDER(msb)"; - variant (cSG_ID) "BYTEORDER(last)"; - variant "PRESENCE (elementIdentifier = '93'O;)"; -}; - -//8.79 -type record CSG_MembershipIndication -{ - OCT1 elementIdentifier, // dec 148, '94'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - BIT1 cMI, - BIT7 spare2, - octetstring additionalOctets optional -} with { - variant (lengthIndicator) "LENGTHTO(cMI,spare2,additionalOctets)"; - variant "PRESENCE (elementIdentifier = '94'O;)"; -}; - -//8.80 -type record ServiceIndicator -{ - OCT1 elementIdentifier, // dec 149, '95'O - LIN2_BO_LAST lengthIndicator, //=1 - BIT4 instance, - BIT4 spare, - INT1 serviceIndicator -} with { - variant (lengthIndicator) "LENGTHTO(serviceIndicator)"; - variant "PRESENCE (elementIdentifier = '95'O;)"; -}; - -//8.81 -type record DetachType -{ - OCT1 elementIdentifier, // dec 150, '96'O - LIN2_BO_LAST lengthIndicator, //=1 - BIT4 instance, - BIT4 spare, - INT1 detachType -} with { - variant (lengthIndicator) "LENGTHTO(detachType)"; - variant "PRESENCE (elementIdentifier = '96'O;)"; -}; - -//8.82 -type record LocalDistinguishedName -{ - OCT1 elementIdentifier, // dec 151 '97'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - charstring lDN length (1..400) -} with { - variant (lengthIndicator) "LENGTHTO(lDN)"; - variant "PRESENCE (elementIdentifier = '97'O;)"; -}; - -type set of LocalDistinguishedName LocalDistinguishedName_List - -//8.83 -type record NodeFeatures -{ - OCT1 elementIdentifier, // dec 152, '98'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - BIT1 pRN, - BIT1 mABR, - BIT1 nTSR, - BIT1 cIOT, - BIT4 spare2, - octetstring additionalOctets optional -}with { - variant (lengthIndicator) "LENGTHTO(pRN,mABR,nTSR,cIOT,spare2,additionalOctets)"; - variant "PRESENCE (elementIdentifier = '98'O;)"; -}; - -//8.84 -type record MBMSTimetoDataTransfer -{ - OCT1 elementIdentifier, // dec 153, '99'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - OCT1 mBMSTimetoDataTransfervalue, - octetstring additionalOctets optional -} with { - variant (lengthIndicator) "LENGTHTO(mBMSTimetoDataTransfervalue, additionalOctets)"; - variant "PRESENCE (elementIdentifier = '99'O;)"; -}; - -//8.85 -type record Throttling -{ - OCT1 elementIdentifier, // dec 154, '9A'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - INT5b throttlingDelayValue, - BIT3 throttlingDelayUnit, - INT1 throttlingfactor, - octetstring additionalOctets optional -}with { - variant (lengthIndicator) "LENGTHTO(throttlingDelayValue,throttlingDelayUnit,throttlingfactor,additionalOctets)"; - variant "PRESENCE (elementIdentifier = '9A'O;)"; -}; - - -//8.86 -type record AllocationRetentionPriority -{ - OCT1 elementIdentifier, // dec 155, '9B'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - BIT1 pVI, - BIT1 spare2, - BIT4 pL, - BIT1 pCI, - BIT1 spare3, - octetstring additionalOctets optional -} with { - variant (lengthIndicator) "LENGTHTO(pVI,spare2,pL,pCI,spare3,additionalOctets)"; - variant "PRESENCE (elementIdentifier = '9B'O;)"; -}; - -//8.87 -type record EPC_Timer -{ - OCT1 elementIdentifier, // dec 156, '9C'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - INT5b timerValue, - BIT3 timerUnit, - octetstring additionalOctets optional -} with { - variant (lengthIndicator) "LENGTHTO(timerValue,timerUnit,additionalOctets)"; - variant "PRESENCE (elementIdentifier = '9C'O;)"; -}; - -//8.88 -type record SignallingPriorityIndication -{ - OCT1 elementIdentifier, // dec 157, '9D'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - BIT1 lAPI, - BIT7 spare2, - octetstring additionalOctets optional -}with { - variant (lengthIndicator) "LENGTHTO(lAPI,spare2,additionalOctets)"; - variant "PRESENCE (elementIdentifier = '9D'O;)"; -}; - -//8.89 -type record TMGI -{ - OCT1 elementIdentifier, // dec 158, '9E'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - OCT3 mBMSServiceID, - HEX1 mccDigit1, - HEX1 mccDigit2, - HEX1 mccDigit3, - HEX1 mncDigit3, - HEX1 mncDigit1, - HEX1 mncDigit2, - octetstring additionalOctets optional -} with { - variant (lengthIndicator) "LENGTHTO(mBMSServiceID, mccDigit1, - mccDigit2, mccDigit3, mncDigit1, - mncDigit2, mncDigit3, - additionalOctets)"; - variant "PRESENCE (elementIdentifier = '9E'O;)"; -}; - -//8.90 -type record AdditionalMMContextForSRVCC -{ - OCT1 elementIdentifier, // dec 159, '9F'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - integer mobileStationClassmark2Length, - MobileStationClassmark2 mobileStationClassmark2, - integer mobileStationClassmark3Length, - octetstring mobileStationClassmark3, - integer supportedCodecListLength, - SupportedCodecList supportedCodecList, - octetstring additionalOctets optional -}with { - variant (lengthIndicator) "LENGTHTO(mobileStationClassmark2Length,mobileStationClassmark2, - mobileStationClassmark3Length,mobileStationClassmark3, - supportedCodecListLength,supportedCodecList, - additionalOctets)"; - variant (mobileStationClassmark2Length) "LENGTHTO(mobileStationClassmark2)"; - variant (mobileStationClassmark3Length) "LENGTHTO(mobileStationClassmark3)"; - variant (supportedCodecListLength) "LENGTHTO(supportedCodecList)"; - variant "PRESENCE (elementIdentifier = '9F'O;)"; -}; - -// 24.008/ 10.5.1.6 MobileStationClassmark2 -//4th octet: -type record MobileStationClassmark2_oct4 -{ - BIT1 fc, - BIT1 vgcs, - BIT1 vbs, - BIT1 sm_Capability, - BIT2 ss_ScreenIndicator, - BIT1 ps_Capability, - BIT1 spare2_1 -}; - - -//5th octet ( Table 10.5.6a ): -type record MobileStationClassmark2_oct5 -{ - BIT1 a5_2, - BIT1 a5_3, - BIT1 cmsp, - BIT1 solsa, - BIT1 ucs2, - BIT1 lcsva_cap, - BIT1 spare5_7, - BIT1 cm3 -}; - -type record MobileStationClassmark2 -{ - BIT3 rf_PowerCapability, - BIT1 a5_1, - BIT1 esind, - BIT2 revisionLevel, - BIT1 spare1_1, - MobileStationClassmark2_oct4 mobileStationClassmark2_oct4 optional, - MobileStationClassmark2_oct5 mobileStationClassmark2_oct5 optional -}; - - -// TS 24008/10.5.4.32 Supported Codec List -type record Codec -{ - OCT1 systemIdentification, - integer lengthOfBitmap, - OCT1 codecBitmap_bits1to8, - OCT1 codecBitmap_bits9to16 optional, - octetstring additional_codecs optional -} with { - variant (lengthOfBitmap) "LENGTHTO(codecBitmap_bits1to8,codecBitmap_bits9to16,additional_codecs)"; -}; - -type record of Codec SupportedCodecList; - -//8.91 -type record AdditionalFlagsForSRVCC -{ - OCT1 elementIdentifier, // dec 160, 'A0'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - BIT1 iCS, - BIT7 spare2, - octetstring additionalOctets optional -} with { - variant (lengthIndicator) "LENGTHTO(iCS, spare2, additionalOctets)"; - variant "PRESENCE (elementIdentifier = 'A0'O;)"; -}; - -// Sv Information Elements -// 3GPP TS 29.280 6.2 -type record STN_SR -{ - OCT1 elementIdentifier, // dec 51, '33'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - OCT1 nanpi, - hexstring sTN_SR_Value -}with { - variant (lengthIndicator) "LENGTHTO(nanpi,sTN_SR_Value)"; - variant "PRESENCE (elementIdentifier = '33'O;)"; - variant (sTN_SR_Value) "PADDING(yes)"; - variant (sTN_SR_Value) "PADDING_PATTERN('1'B)"; -}; - -//8.92 Void -/*type record MMBR -{ - OCT1 elementIdentifier, // dec 161, 'A1'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - OCT4 maxMMBR_for_uplink, - OCT4 maxMMBR_for_downlink, - octetstring additionalOctets optional -}with { - variant (lengthIndicator) "LENGTHTO(maxMMBR_for_uplink,maxMMBR_for_downlink,additionalOctets)"; - variant "PRESENCE (elementIdentifier = 'A1'O;)"; -};*/ - - -//8.93 -type record MDT_Configuration -{ - OCT1 elementIdentifier, // dec 162, 'A2'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - OCT1 jobType, - OCT4 listOfmeasurements, - OCT1 reportingTrigger, - OCT1 reportInterval, - OCT1 reportAmount, - OCT1 eventThresholdforRSRP, - OCT1 eventThresholdforRSRQ, - INT1 lengthOfAreaScope, - octetstring areaScope optional, - BIT1 cRRMI, - BIT1 mPI, - BIT1 pMI, - BIT1 pLI, - BIT4 spare2, - CollectionPeriodforRRMmeasurementsLTE collectionPeriodforRRMmeasurementsLTE optional, - MeasurementPeriodLTE measurementPeriodLTE optional, - PositioningMethod positioningMethod optional, - INT1 numberOfMDT_PLMNs optional, - MDT_PLMN_List mDT_PLMN_List length(0..16) optional, - octetstring additionalOctets optional -}with { - variant (lengthIndicator) "LENGTHTO(jobType,listOfmeasurements,reportingTrigger, - reportInterval,reportAmount,eventThresholdforRSRP, - eventThresholdforRSRQ,lengthOfAreaScope,areaScope, - cRRMI,mPI,pMI,pLI,spare2, - collectionPeriodforRRMmeasurementsLTE,measurementPeriodLTE,positioningMethod, - numberOfMDT_PLMNs,mDT_PLMN_List,additionalOctets )"; - variant "PRESENCE (elementIdentifier = 'A2'O;)"; - variant (lengthOfAreaScope) "LENGTHTO(areaScope)"; - variant (collectionPeriodforRRMmeasurementsLTE) "PRESENCE(cRRMI = '1'B)"; - variant (measurementPeriodLTE) "PRESENCE(mPI = '1'B)"; - variant (positioningMethod) "PRESENCE(pMI = '1'B)"; - variant (mDT_PLMN_List) "PRESENCE(pLI = '1'B)"; - variant (numberOfMDT_PLMNs) "PRESENCE(pLI = '1'B)"; - variant (numberOfMDT_PLMNs) "LENGTHTO(mDT_PLMN_List)"; - variant (numberOfMDT_PLMNs) "UNIT(elements)"; -}; - -//5.10.19 3GPP TS 32.422 -type record PositioningMethod -{ - BIT1 gNSS, - BIT1 eCellID, - BIT6 spare -} -//5.10.20 3GPP TS 32.422 -type enumerated CollectionPeriodforRRMmeasurementsLTE -{ - ms1024 (0), - ms1280 (1), - ms2048 (2), - ms2560 (3), - ms5120 (4), - ms10240 (5), - min1 (6) -} with { variant "FIELDLENGTH(8)"; } - -//5.10.23 3GPP TS 32.422 -type enumerated MeasurementPeriodLTE -{ - ms1024 (0), - ms1280 (1), - ms2048 (2), - ms2560 (3), - ms5120 (4), - ms10240 (5), - min1 (6) -} with { variant "FIELDLENGTH(8)"; } - -//9.2.1.89, 9.2.3.8 TS 32.422 -type record of OCT3 MDT_PLMN_List; - -//8.94 -type record APCO -{ - OCT1 elementIdentifier, // dec 163, 'A3'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - BIT3 configProtocol, - BIT4 spare2, //'0000'B - BIT1 extensionField, //'1'B - ProtocolIDs_and_ContainerIDs protocolIDs_and_ContainerIDs optional, - octetstring additionalOctets optional -}with { - variant (lengthIndicator) "LENGTHTO(configProtocol,spare2,extensionField,protocolIDs_and_ContainerIDs,additionalOctets)"; - variant "PRESENCE (elementIdentifier = 'A3'O;)"; -}; - -//8.95 -type record AbsoluteTimeofMBMSDataTransfer -{ - OCT1 elementIdentifier, // dec 164, 'A4'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - OCT8 value_part, - octetstring additionalOctets optional -} with { - variant (lengthIndicator) "LENGTHTO( value_part, additionalOctets)"; - variant "PRESENCE (elementIdentifier = 'A4'O;)"; -}; - -//8.96 -type record HeNBInformationReporting -{ - OCT1 elementIdentifier, // dec 165, 'A5'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - BIT1 FTI, - BIT7 spare2, - octetstring additionalOctets optional -}with { - variant (lengthIndicator) "LENGTHTO(FTI,spare2,additionalOctets)"; - variant "PRESENCE (elementIdentifier = 'A5'O;)"; -}; - -//8.97 -type record IPv4ConfigurationPrameters -{ - OCT1 elementIdentifier, // dec 166, 'A6'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - INT1 subnetPrefixLength, - OCT4 iPv4DefaultRouterAddress, - octetstring additionalOctets optional -}with { - variant (lengthIndicator) "LENGTHTO(subnetPrefixLength,iPv4DefaultRouterAddress,additionalOctets)"; - variant "PRESENCE (elementIdentifier = 'A6'O;)"; -} - -//8.98 -type record ChangeToReportFlags -{ - OCT1 elementIdentifier, // dec 167, 'A7'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - BIT1 servingNetworkChangeToReport, - BIT1 timeZoneChangeToReport, - BIT6 spare2, //'000000'B - octetstring additionalOctets optional -}with { - variant (lengthIndicator) "LENGTHTO(servingNetworkChangeToReport,timeZoneChangeToReport,spare2,additionalOctets)"; - variant "PRESENCE (elementIdentifier = 'A7'O;)"; -} - - -//8.99 -type record ActionIndication -{ - OCT1 elementIdentifier, // dec 168, 'A8'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - BIT3 indication, - BIT5 spare2, - octetstring additionalOctets optional -}with { - variant (lengthIndicator) "LENGTHTO(indication,spare2,additionalOctets)"; - variant "PRESENCE (elementIdentifier = 'A8'O;)"; -} - -//8.100 -type record TrustedWLANAccessNetworkIdentifier -{ - OCT1 elementIdentifier, //dec 169, 'A9'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - BIT1 bssIdIndicator, - BIT1 cIVAI, - BIT1 pLMNI, - BIT1 oPNAI, - BIT1 lAAI, - BIT3 spare2, - INT1 lengthOfSSID, - octetstring SSID, - OCT6 BSSID optional, - INT1 lengthOfCivicAddress optional, - octetstring civicAddressInformation optional, - OCT4 tWAN_PLMNID optional, - INT1 lengthOfTWANOperatorName optional, - octetstring tWANOperatorName optional, - INT1 relayIdentityType optional, - INT1 lengthOfRelayIdentity optional, - octetstring relayIdentity optional, - INT1 lengthOfcircuitID optional, - octetstring circuitID optional, - octetstring additionalOctets optional -}with { - variant (lengthIndicator) "LENGTHTO(bssIdIndicator,cIVAI,pLMNI,oPNAI,lAAI,spare2, - lengthOfSSID,SSID,BSSID,additionalOctets)"; - variant "PRESENCE (elementIdentifier = 'A9'O;)"; - variant (lengthOfSSID) "LENGTHTO(SSID)"; - variant (civicAddressInformation) "PRESENCE(cIVAI = '1'B)"; - variant (lengthOfCivicAddress) "PRESENCE(cIVAI = '1'B)"; - variant (lengthOfCivicAddress) "LENGTHTO(civicAddressInformation)"; - variant (tWAN_PLMNID) "PRESENCE(pLMNI = '1'B)"; - variant (tWANOperatorName) "PRESENCE(oPNAI = '1'B)"; - variant (lengthOfTWANOperatorName) "PRESENCE(oPNAI = '1'B)"; - variant (lengthOfTWANOperatorName) "LENGTHTO(tWANOperatorName)"; - variant (relayIdentityType) "PRESENCE(lAAI = '1'B)"; - variant (lengthOfRelayIdentity) "PRESENCE(lAAI = '1'B)"; - variant (relayIdentity) "PRESENCE(lAAI = '1'B)"; - variant (lengthOfcircuitID) "PRESENCE(lAAI = '1'B)"; - variant (circuitID) "PRESENCE(lAAI = '1'B)"; - variant (lengthOfRelayIdentity) "LENGTHTO(relayIdentity)"; - variant (lengthOfcircuitID) "LENGTHTO(circuitID)"; -}; - -type set of TrustedWLANAccessNetworkIdentifier TrustedWLANAccessNetworkIdentifier_List; - -//8.101 -type record UserLocationInformationTimestamp -{ - OCT1 elementIdentifier, //dec 170, 'AA'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - OCT4 timestampValue, - octetstring additionalOctets optional -}with { - variant (lengthIndicator) "LENGTHTO(timestampValue, additionalOctets)"; - variant "PRESENCE (elementIdentifier = 'AA'O;)"; -} - -//8.102 -type record MBMSFlags -{ - OCT1 elementIdentifier, //dec 171, 'AB'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - BIT1 mSRI, - BIT1 lMR, - BIT6 spare2, - octetstring additionalOctets optional -}with { - variant (lengthIndicator) "LENGTHTO(mSRI,lMR,spare2,additionalOctets)"; - variant "PRESENCE (elementIdentifier = 'AB'O;)"; -} - -//8.103 -type record RAN_NASCause -{ - OCT1 elementIdentifier, //dec 172, 'AC'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - BIT4 causeType, - BIT4 protocolType, - OCT1 causeValue, - octetstring additionalOctets optional -}with { - variant (lengthIndicator) "LENGTHTO(causeType, protocolType, causeValue, additionalOctets)"; - variant "PRESENCE (elementIdentifier = 'AC'O;)"; -} - -//8.104 -type record CNOperatorSelectionEntity -{ - OCT1 elementIdentifier, //dec 173, 'AD'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - BIT2 selectionEntity, - BIT6 spare2, - octetstring additionalOctets optional -}with { - variant (lengthIndicator) "LENGTHTO(selectionEntity, spare2, additionalOctets)"; - variant "PRESENCE (elementIdentifier = 'AD'O;)"; -} - -//8.105 -type record TrustedWLANModeIndication -{ - OCT1 elementIdentifier, //dec 174, 'AE'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - BIT1 sCM, - BIT1 mCM, - BIT6 spare2, - octetstring additionalOctets optional -}with { - variant (lengthIndicator) "LENGTHTO(sCM, mCM, spare2, additionalOctets)"; - variant "PRESENCE (elementIdentifier = 'AE'O;)"; -} - -//8.106 -type record NodeNumber -{ - OCT1 elementIdentifier, //dec 175, 'AF'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - LIN1 lenghOfNodeNumber, - octetstring nodeNumber, - octetstring additionalOctets optional -}with { - variant (lengthIndicator) "LENGTHTO(lenghOfNodeNumber, nodeNumber, additionalOctets)"; - variant (lenghOfNodeNumber) "LENGTHTO(nodeNumber)"; - variant "PRESENCE (elementIdentifier = 'AF'O;)"; -} - -type set of NodeNumber NodeNumber_List; - -//8.107 -type record NodeIdentifier -{ - OCT1 elementIdentifier, //dec 176, 'B0'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - LIN1 lenghOfNodeName, - octetstring nodeName, - LIN1 lenghOfNodeRealm, - octetstring nodeRealm, - octetstring additionalOctets optional -}with { - variant (lengthIndicator) "LENGTHTO(lenghOfNodeName,nodeName,lenghOfNodeRealm,nodeRealm, additionalOctets)"; - variant (lenghOfNodeName) "LENGTHTO(nodeName)"; - variant (lenghOfNodeRealm) "LENGTHTO(nodeRealm)"; - variant "PRESENCE (elementIdentifier = 'B0'O;)"; -} - -type set of NodeIdentifier NodeIdentifier_List; - -//8.108 -type record PresenceReportingAreaAction -{ - OCT1 elementIdentifier, //dec 177, 'B1'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - BIT3 actionField, - BIT5 spare2, - OCT3 presenceReportingAreaIdentifier optional, - INT4b numberOfRAI (0..15) optional, - INT4b numberOfTAI (0..15) optional, - INT6b numberOfMacroENodeB (0..63) optional, - BIT2 spare3 optional, - INT6b numberOfHomeENodeB (0..63) optional, - BIT2 spare4 optional, - INT6b numberOfECGI (0..63) optional, - BIT2 spare5 optional, - INT6b numberOfSAI (0..63) optional, - BIT2 spare6 optional, - INT6b numberOfCGI (0..63) optional, - BIT2 spare7 optional, - TAIList tAIs optional, - Macro_eNB_ID_List macroENBIDs optional, - Home_eNB_ID_List homeENBIDs optional, - ECGIList eCGIs optional, - RAIList rAIs optional, - SAIList sAIs optional, - CGIList cGIs optional, - octetstring additionalOctets optional -}with { - variant (lengthIndicator) "LENGTHTO(actionField,spare2,presenceReportingAreaIdentifier,numberOfRAI,numberOfTAI,numberOfMacroENodeB, - spare3,numberOfHomeENodeB,spare4,numberOfECGI,spare5,numberOfSAI,spare6,numberOfCGI,spare7,tAIs,macroENBIDs,homeENBIDs, - eCGIs,rAIs,sAIs,cGIs,additionalOctets)"; - variant (numberOfRAI) "LENGTHTO(rAIs)"; - variant (numberOfRAI) "UNIT(elements)"; - variant (numberOfTAI) "LENGTHTO(tAIs)"; - variant (numberOfTAI) "UNIT(elements)"; - variant (numberOfMacroENodeB) "LENGTHTO(macroENBIDs)"; - variant (numberOfMacroENodeB) "UNIT(elements)"; - variant (numberOfHomeENodeB) "LENGTHTO(homeENBIDs)"; - variant (numberOfHomeENodeB) "UNIT(elements)"; - variant (numberOfECGI) "LENGTHTO(eCGIs)"; - variant (numberOfECGI) "UNIT(elements)"; - variant (numberOfSAI) "LENGTHTO(sAIs)"; - variant (numberOfSAI) "UNIT(elements)"; - variant (numberOfCGI) "LENGTHTO(cGIs)"; - variant (numberOfCGI) "UNIT(elements)"; - variant "PRESENCE (elementIdentifier = 'B1'O;)"; -} - -type set of TAI TAIList; -type set of ECGI ECGIList; -type set of RAI RAIList; -type set of SAI SAIList; -type set of CGI CGIList; -type set of Macro_eNodeB_ID_spec Macro_eNB_ID_List; -type set of Home_eNodeB_ID_spec Home_eNB_ID_List; - -//8.109 -type record PresenceReportingAreaInformation -{ - OCT1 elementIdentifier, //dec 178, 'B2'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - OCT3 presenceReportingAreaIdentifier, - BIT1 iPRA, - BIT1 oPRA, - BIT6 spare2, - octetstring additionalOctets optional -}with { - variant (lengthIndicator) "LENGTHTO(presenceReportingAreaIdentifier,iPRA,oPRA, spare2, additionalOctets)"; - variant "PRESENCE (elementIdentifier = 'B2'O;)"; -} - -//8.110 -type record TWANIdentifierTimestamp -{ - OCT1 elementIdentifier, //dec 179, 'B3'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - OCT4 tWANIdentifierTimestampValue, - octetstring additionalOctets optional -}with { - variant (lengthIndicator) "LENGTHTO(tWANIdentifierTimestampValue, additionalOctets)"; - variant "PRESENCE (elementIdentifier = 'B3'O;)"; -} - -type set of TWANIdentifierTimestamp TWANIdentifierTimestamp_List - -//8.111 -type record OverloadControlInformationGrouped -{ - OCT1 elementIdentifier, //dec 180, 'B4'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - OverloadControlInformationIEs overloadControlInformationIEs -}with { - variant (lengthIndicator) "LENGTHTO(overloadControlInformationIEs)"; - variant "PRESENCE (elementIdentifier = 'B4'O;)"; -} - -type set OverloadControlInformationIEs -{ - SequenceNumber overloadControlSequenceNumber optional, - Metric overloadReductionMetric optional, - EPC_Timer periodOfValidity optional, - AccessPointName listOfAccessPointName optional -} - -type set of OverloadControlInformationGrouped OverloadControlInformationGrouped_List; - -//8.112 -type record LoadControlInformationGrouped -{ - OCT1 elementIdentifier, //dec 181, 'B5'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - LoadControlInformationIEs loadControlInformationIEs -}with { - variant (lengthIndicator) "LENGTHTO(loadControlInformationIEs)"; - variant "PRESENCE (elementIdentifier = 'B5'O;)"; -} - -type set LoadControlInformationIEs -{ - SequenceNumber loadControlSequenceNumber optional, - Metric loadMetric optional, - APNandRelativeCapacity listOfAPNandRelativeCapacity optional -} - -type set of LoadControlInformationGrouped LoadControlInformationGrouped_List; - -//8.113 -type record Metric -{ - OCT1 elementIdentifier, //dec 182, 'B6'O - LIN2_BO_LAST lengthIndicator (1), - BIT4 instance, - BIT4 spare, - LIN1 metric (0..100) -}with { - variant (lengthIndicator) "LENGTHTO(metric)"; - variant "PRESENCE (elementIdentifier = 'B6'O;)"; -} - -//8.114 -type record SequenceNumber -{ - OCT1 elementIdentifier, //dec 183, 'B7'O - LIN2_BO_LAST lengthIndicator (4), - BIT4 instance, - BIT4 spare, - LIN4_BO_LAST sequenceNumber -}with { - variant (lengthIndicator) "LENGTHTO(sequenceNumber)"; - variant "PRESENCE (elementIdentifier = 'B7'O;)"; -} - -//8.115 -type record APNandRelativeCapacity -{ - OCT1 elementIdentifier, //dec 184, 'B8'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - LIN1 relativeCapacity (0..100), - LIN1 aPNLength, - AccessPointName accessPointName, - octetstring additionalOctets optional -}with { - variant (lengthIndicator) "LENGTHTO(relativeCapacity,aPNLength,accessPointName, additionalOctets)"; - variant (aPNLength) "LENGTHTO(accessPointName)"; - variant "PRESENCE (elementIdentifier = 'B8'O;)"; -} - -//8.116 -type record WLANOffloadabilityIndication -{ - OCT1 elementIdentifier, //dec 185, 'B9'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - BIT1 uTRANIndication, - BIT1 eUTRANIndication, - BIT6 spare2, - octetstring additionalOctets optional -}with { - variant (lengthIndicator) "LENGTHTO(uTRANIndication, eUTRANIndication, spare2, additionalOctets)"; - variant "PRESENCE (elementIdentifier = 'B9'O;)"; -} - -//8.117 -type record PagingAndServiceInformation -{ - OCT1 elementIdentifier, //dec 186, 'BA'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - integer ePS_Bearer_ID_Value, - BIT4 spare2, - BIT1 pPI, - BIT7 spare3, - BIT6 pagingPolicyIndicationValue optional, - BIT2 spare4 optional, - octetstring additionalOctets optional -}with { - variant (lengthIndicator) "LENGTHTO(ePS_Bearer_ID_Value,spare2,pPI,spare3,pagingPolicyIndicationValue,spare4,additionalOctets)"; - variant(ePS_Bearer_ID_Value) "FIELDLENGTH(4)"; - variant "PRESENCE (elementIdentifier = 'BA'O;)"; - variant (pagingPolicyIndicationValue) "PRESENCE(pPI = '1'B)"; - variant (spare4) "PRESENCE(pPI = '1'B)"; -} - -//8.118 -type record IntegerNumber -{ - OCT1 elementIdentifier, //dec 187, 'BB'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - IntegerNumberValue integerNumberValue optional -}with { - variant (lengthIndicator) "LENGTHTO(integerNumberValue)"; - variant "PRESENCE (elementIdentifier = 'BB'O;)"; - variant (integerNumberValue)"CROSSTAG(int1,lengthIndicator=1; - int2,lengthIndicator=2)" -} - -type union IntegerNumberValue -{ - LIN1 int1, - LIN2_BO_LAST int2 -} - -//8.119 -type record MillisecondTimeStamp -{ - OCT1 elementIdentifier, //dec 188, 'BC'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - OCT6 millisecondTimeStampValue, - octetstring additionalOctets optional -}with { - variant (lengthIndicator) "LENGTHTO(millisecondTimeStampValue,additionalOctets)"; - variant "PRESENCE (elementIdentifier = 'BC'O;)"; -} - -//8.120 -type record MonitoringEventInformation -{ - OCT1 elementIdentifier, //dec 189, 'BD'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - OCT4 sCEFReferenceID, //Unsigned32 ? - LIN1 sCEF_ID_length, - octetstring sCEF_ID, - OCT2 remainingNumberOfReports, //Unsigned32 ? - octetstring additionalOctets optional -}with { - variant (lengthIndicator) "LENGTHTO(sCEFReferenceID,sCEF_ID_length,sCEF_ID,remainingNumberOfReports,additionalOctets)"; - variant (sCEF_ID_length) "LENGTHTO(sCEF_ID)"; - variant "PRESENCE (elementIdentifier = 'BD'O;)"; -} - -//8.121 -type record ECGI_List -{ - OCT1 elementIdentifier, //dec 190, 'BE'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - LIN2_BO_LAST numberOfECGI, - ECGIs eCGIs, - octetstring additionalOctets optional -}with { - variant (lengthIndicator) "LENGTHTO(numberOfECGI,eCGIs,additionalOctets)"; - variant (numberOfECGI) "LENGTHTO(eCGIs)"; - variant (numberOfECGI) "UNIT(elements)"; - variant "PRESENCE (elementIdentifier = 'BE'O;)"; -} - -type set of ECGI ECGIs; - -//8.122 -type record RemoteUEContextGrouped -{ - OCT1 elementIdentifier, //dec 191, 'BF'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - RemoteUEContextIEs remoteUEContextIEs -}with { - variant (lengthIndicator) "LENGTHTO(remoteUEContextIEs)"; - variant "PRESENCE (elementIdentifier = 'BF'O;)"; -} - -type set RemoteUEContextIEs -{ - RemoteUserID remoteUserID optional, - RemoteUEIPInformation remoteUEIPInformation optional -} - -type set of RemoteUEContextGrouped RemoteUEContextGrouped_List; - -//8.123 -type record RemoteUserID -{ - OCT1 elementIdentifier, //dec 192, 'C0'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - BIT1 mSISDNF, - BIT1 iMEIF, - BIT6 spare2, - LIN1 lengthOfIMSI, - hexstring iMSI, - LIN1 lengthOfMSISDN optional, - hexstring mSISDN optional, - LIN1 lengthOfIMEI optional, - octetstring iMEI optional, - octetstring additionalOctets optional -}with { - variant "PRESENCE (elementIdentifier = 'C0'O;)"; - variant (lengthIndicator) "LENGTHTO(mSISDNF,iMEIF,spare2,lengthOfIMSI,iMSI,lengthOfMSISDN,mSISDN,lengthOfIMEI,iMEI,additionalOctets)"; - variant (lengthOfMSISDN) "PRESENCE(mSISDNF = '1'B)"; - variant (mSISDN) "PRESENCE(mSISDNF = '1'B)"; - variant (lengthOfIMEI) "PRESENCE(iMEIF = '1'B)"; - variant (iMEI) "PRESENCE(iMEIF = '1'B)"; - variant (lengthOfIMSI) "LENGTHTO(iMSI)"; - variant (iMSI) "PADDING(yes)"; - variant (iMSI) "PADDING_PATTERN('1'B)"; - variant (lengthOfMSISDN) "LENGTHTO(mSISDN)"; - variant (mSISDN) "PADDING(yes)"; - variant (mSISDN) "PADDING_PATTERN('1'B)"; - variant (lengthOfIMEI) "LENGTHTO(iMEI)" ; -} - -//8.124 -type record RemoteUEIPInformation -{ - OCT1 elementIdentifier, //dec 193, 'C1'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - octetstring remoteUEIPInformation -}with { - variant (lengthIndicator) "LENGTHTO(remoteUEIPInformation)"; - variant "PRESENCE (elementIdentifier = 'C1'O;)"; -} - -//8.125 -type record CIoT_OptimizationsSupportIndication -{ - OCT1 elementIdentifier, //dec 194, 'C2'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - BIT1 sGNIPDN, - BIT1 sCNIPDN, - BIT1 aWOPDN, - BIT1 iHCSI, - BIT4 spare2, - octetstring additionalOctets optional -}with { - variant (lengthIndicator) "LENGTHTO(sGNIPDN,sCNIPDN,aWOPDN,iHCSI,spare2,additionalOctets)"; - variant "PRESENCE (elementIdentifier = 'C2'O;)"; -} - -//8.126 -type record SCEF_PDN_ConnectionGrouped -{ - OCT1 elementIdentifier, //dec 195, 'C3'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - SCEF_PDN_ConnectionIEs sCEF_PDN_ConnectionIEs -}with { - variant (lengthIndicator) "LENGTHTO(sCEF_PDN_ConnectionIEs)"; - variant "PRESENCE (elementIdentifier = 'C3'O;)"; -} - -type set SCEF_PDN_ConnectionIEs -{ - AccessPointName accessPointName optional, - EPS_BearerID ePS_BearerID optional, - NodeIdentifier nodeIdentifier optional -} - -type set of SCEF_PDN_ConnectionGrouped SCEF_PDN_ConnectionGrouped_List; - -//8.127 -type record HeaderCompressionConfiguration -{ - OCT1 elementIdentifier, //dec 196, 'C4'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - OCT2 rOHC_Profiles, - LIN2_BO_LAST maxCID (1..16383), - octetstring additionalOctets optional -}with { - variant (lengthIndicator) "LENGTHTO(rOHC_Profiles,maxCID,additionalOctets)"; - variant "PRESENCE (elementIdentifier = 'C4'O;)"; -} - -//8.128 -type record ExtendedProtocolConfigOptions -{ - OCT1 elementIdentifier, //dec 197, 'C5'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - octetstring ePCO -}with { - variant (lengthIndicator) "LENGTHTO(ePCO)"; - variant "PRESENCE (elementIdentifier = 'C5'O;)"; -} - -//8.129 -type record ServingPLMNRateControl -{ - OCT1 elementIdentifier, //dec 197, 'C6'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - LIN2_BO_LAST uplinkRateLimit, - LIN2_BO_LAST downlinkRateLimit, - octetstring additionalOctets optional -}with { - variant (lengthIndicator) "LENGTHTO(uplinkRateLimit,downlinkRateLimit,additionalOctets)"; - variant "PRESENCE (elementIdentifier = 'C6'O;)"; -} - -//8.130 -type record Counter -{ - OCT1 elementIdentifier, //dec 199, 'C7'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - OCT4 timestampValue, - OCT1 counterValue, - octetstring additionalOctets optional -}with { - variant (lengthIndicator) "LENGTHTO(timestampValue,counterValue,additionalOctets)"; - variant "PRESENCE (elementIdentifier = 'C7'O;)"; -} - -// GTPC PDUs -// Path Management messages -//7.1.1 -type set EchoRequest -{ - Recovery recovery, - NodeFeatures sendingNodeFeatures optional, - PrivateExtension_List privateExtension optional -}; - -//7.1.2 -type set EchoResponse -{ - Recovery recovery, - NodeFeatures sendingNodeFeatures optional, - PrivateExtension_List privateExtension optional -}; - -//7.1.3 -type set VersionNotSupported -{}; - -// Tunnel Management messages -//7.2.1 -type set CreateSessionRequest -{ - IMSI iMSI optional, - MSISDN mSISDN optional, - MEI mEI optional, - UserLocationInfo userLocationInfo optional, - ServingNetwork servingNetwork optional, - RAT_Type rAT_Type, - Indication indication optional, - FullyQualifiedTEID_List fullyQualifiedTEID, - AccessPointName accessPointName, - SelectionMode selectionMode optional, - PDN_Type pDN_Type optional, - PDN_AddressAllocation pDN_AddressAllocation optional, - APN_Restriction maxAPN_Restriction optional, - AggregateMaximumBitRate ambr optional, - EPS_BearerID linkedEPS_Bearer_ID optional, - TrustedWLANModeIndication trustedWLANModeIndication optional, - ProtocolConfigOptions protocolConfigOptions optional, - BearerContextGrouped_List bearerContextGrouped, - TraceInformation traceInformation optional, - Recovery recovery optional, - FullyQualifiedPDN_ConnectionSetID_List csid optional, - UE_TimeZone uE_TimeZone optional, - User_CSG_Information user_CSG_Information optional, - ChargingCharacteristics chargingCharacteristics optional, - LocalDistinguishedName_List lDN optional, - SignallingPriorityIndication signallingPriorityIndication optional, -// MMBR maxMBR_APN_AMBR optional, - IP_Address_List iP_Addr optional, - PortNumber_List portNumber optional, - APCO aPCO optional, - TrustedWLANAccessNetworkIdentifier_List trustedWLANAccessNetworkIdentifier optional, - CNOperatorSelectionEntity cNOperatorSelectionEntity optional, - PresenceReportingAreaInformation presenceReportingAreaInformation optional, - OverloadControlInformationGrouped_List overloadControlInformationGrouped optional, - MillisecondTimeStamp originationTimeStamp optional, - IntegerNumber maximumWaitTime optional, - TWANIdentifierTimestamp wLANLocationTimestamp optional, - FullyQualifiedContainer nBIFOMContainer optional, - RemoteUEContextGrouped_List remoteUEContextGrouped optional, - NodeIdentifier_List nodeIdentifier optional, - ExtendedProtocolConfigOptions extendedProtocolConfigOptions optional, - ServingPLMNRateControl servingPLMNRateControl optional, - Counter counter optional, - PrivateExtension_List privateExtension optional -} with { - variant(fullyQualifiedTEID) "REPEATABLE(yes)"; - variant(bearerContextGrouped) "REPEATABLE(yes)"; - variant(csid) "REPEATABLE(yes)"; - variant(lDN) "REPEATABLE(yes)"; - variant(iP_Addr) "REPEATABLE(yes)"; - variant(portNumber) "REPEATABLE(yes)"; - variant(overloadControlInformationGrouped) "REPEATABLE(yes)"; - variant(remoteUEContextGrouped) "REPEATABLE(yes)"; - variant(trustedWLANAccessNetworkIdentifier) "REPEATABLE(yes)"; -}; - - -//7.2.2 -//6.1.1 - Only the Cause information element, optionally Protocol Configuration Options and optionally the Recovery information element -//shall be included in the response if the Cause contains a value indicating that the request is not accepted. -type set CreateSessionResponse -{ - Cause cause, - ChangeReportingAction changeReportingAction optional, - CSG_InformationReportingAction cSG_InformationReportingAction optional, - HeNBInformationReporting heNBInformationReporting optional, - FullyQualifiedTEID_List fullyQualifiedTEID optional, - PDN_AddressAllocation pDN_AddressAllocation optional, - APN_Restriction aPN_Restriction optional, - AggregateMaximumBitRate ambr optional, - EPS_BearerID linkedEPS_Bearer_ID optional, - ProtocolConfigOptions protocolConfigOptions optional, - BearerContextGrouped_List bearerContextGrouped optional, - Recovery recovery optional, - FullyQualifiedDomainName chargingGatewayName optional, - IP_Address chargingGatewayAddress optional, - FullyQualifiedPDN_ConnectionSetID_List csid optional, - LocalDistinguishedName_List lDN optional, - EPC_Timer pGW_Back_OffTime optional, - APCO aPCO optional, - IPv4ConfigurationPrameters trustedWLANIPv4Parameters optional, - Indication indicationFlags optional, - PresenceReportingAreaAction presenceReportingAreaAction optional, - LoadControlInformationGrouped_List loadControlInformationGrouped optional, - OverloadControlInformationGrouped_List overloadControlInformationGrouped optional, - FullyQualifiedContainer nBIFOMContainer optional, - ChargingID pDNConnectionChargingID optional, - ExtendedProtocolConfigOptions extendedProtocolConfigOptions optional, - PrivateExtension_List privateExtension optional -} with { - variant(fullyQualifiedTEID) "REPEATABLE(yes)"; - variant(bearerContextGrouped) "REPEATABLE(yes)"; - variant(csid) "REPEATABLE(yes)"; - variant(lDN) "REPEATABLE(yes)"; - variant(loadControlInformationGrouped) "REPEATABLE(yes)"; - variant(overloadControlInformationGrouped) "REPEATABLE(yes)"; -}; - -//7.2.3 -type set CreateBearerRequest -{ - ProcedureTransactionID procedureTransactionID optional, - EPS_BearerID linkedEPS_BearerID, - ProtocolConfigOptions protocolConfigOptions optional, - BearerContextGrouped_List bearerContextGrouped, - FullyQualifiedPDN_ConnectionSetID_List csid optional, - ChangeReportingAction changeReportingAction optional, - CSG_InformationReportingAction cSG_InformationReportingAction optional, - HeNBInformationReporting heNBInformationReporting optional, - PresenceReportingAreaAction presenceReportingAreaAction optional, - Indication indicationFlags optional, - LoadControlInformationGrouped_List loadControlInformationGrouped optional, - OverloadControlInformationGrouped_List overloadControlInformationGrouped optional, - FullyQualifiedContainer nBIFOMContainer optional, - PrivateExtension_List privateExtension optional -} with { - variant(bearerContextGrouped) "REPEATABLE(yes)"; - variant(csid) "REPEATABLE(yes)"; - variant(loadControlInformationGrouped) "REPEATABLE(yes)"; - variant(overloadControlInformationGrouped) "REPEATABLE(yes)"; -}; - -//7.2.4 -//6.1.1 - Only the Cause information element, optionally Protocol Configuration Options and optionally the Recovery information element -//shall be included in the response if the Cause contains a value indicating that the request is not accepted. -type set CreateBearerResponse -{ - Cause cause, - BearerContextGrouped_List bearerContextGrouped optional, - Recovery recovery optional, - FullyQualifiedPDN_ConnectionSetID_List csid optional, - ProtocolConfigOptions protocolConfigOptions optional, - UE_TimeZone uE_TimeZone optional, - UserLocationInfo uLI optional, - TrustedWLANAccessNetworkIdentifier_List trustedWLANAccessNetworkIdentifier optional, - OverloadControlInformationGrouped_List overloadControlInformationGrouped optional, - PresenceReportingAreaInformation presenceReportingAreaInformation optional, - IP_Address_List iP_Addr optional, - TWANIdentifierTimestamp wLANLocationTimestamp optional, - PortNumber_List portNumber optional, - FullyQualifiedContainer nBIFOMContainer optional, - ExtendedProtocolConfigOptions extendedProtocolConfigOptions optional, - PrivateExtension_List privateExtension optional -} with { - variant(bearerContextGrouped) "REPEATABLE(yes)"; - variant(csid) "REPEATABLE(yes)"; - variant(overloadControlInformationGrouped) "REPEATABLE(yes)"; - variant(iP_Addr) "REPEATABLE(yes)"; - variant(trustedWLANAccessNetworkIdentifier) "REPEATABLE(yes)"; - variant(portNumber) "REPEATABLE(yes)" -}; - -//7.2.5 -type set BearerResourceCommand -{ - EPS_BearerID_List epsBearerIdentity, - ProcedureTransactionID procedureTransactionID, - FlowQoS flowQoS optional, - TrafficAggregateDescription tAD optional, - RAT_Type rAT_Type optional, - ServingNetwork servingNetwork optional, - UserLocationInfo userLocationInfo optional, - // EBI is included in 1st field : EPS_BearerID_List - Indication indicationFlags optional, - FullyQualifiedTEID_List fullyQualifiedTEID optional, - ProtocolConfigOptions protocolConfigOptions optional, - SignallingPriorityIndication signallingPriorityIndication optional, - OverloadControlInformationGrouped_List overloadControlInformationGrouped optional, - FullyQualifiedContainer nBIFOMContainer optional, - ExtendedProtocolConfigOptions extendedProtocolConfigOptions optional, - PrivateExtension_List privateExtension optional -} with { - variant(epsBearerIdentity) "REPEATABLE(yes)"; - variant(fullyQualifiedTEID) "REPEATABLE(yes)"; - variant(overloadControlInformationGrouped) "REPEATABLE(yes)"; -}; - -//7.2.6 -type set BearerResourceFailureIndication -{ - Cause cause, - EPS_BearerID linkedBearerIdentity, - ProcedureTransactionID procedureTransactionID, - Indication indicationFlags optional, - OverloadControlInformationGrouped_List overloadControlInformationGrouped optional, - Recovery recovery optional, - FullyQualifiedContainer nBIFOMContainer optional, - PrivateExtension_List privateExtension optional -} with { - variant(overloadControlInformationGrouped) "REPEATABLE(yes)"; -}; - -//7.2.7 -type set ModifyBearerRequest -{ - MEI mEI optional, - UserLocationInfo userLocationInfo optional, - ServingNetwork servingNetwork optional, - RAT_Type rAT_Type optional, - Indication indicationFlags optional, - FullyQualifiedTEID fullyQualifiedTEID optional, - AggregateMaximumBitRate ambr optional, - DelayValue delayDownlinkPacketNotificationReq optional, - BearerContextGrouped_List bearerContextGrouped optional, - Recovery recovery optional, - UE_TimeZone uE_TimeZone optional, - FullyQualifiedPDN_ConnectionSetID_List csid optional, - User_CSG_Information user_CSG_Information optional, - IP_Address_List iP_Addr optional, - PortNumber_List portNumber optional, - LocalDistinguishedName_List lDN optional, -// MMBR maxMBR_APN_AMBR optional, - CNOperatorSelectionEntity cNOperatorSelectionEntity optional, - PresenceReportingAreaInformation presenceReportingAreaInformation optional, - OverloadControlInformationGrouped_List overloadControlInformationGrouped optional, - ServingPLMNRateControl servingPLMNRateControl optional, - Counter counter optional, - PrivateExtension_List privateExtension optional -} with { - variant(bearerContextGrouped) "REPEATABLE(yes)"; - variant(csid) "REPEATABLE(yes)"; - variant(lDN) "REPEATABLE(yes)"; - variant(iP_Addr) "REPEATABLE(yes)"; - variant(portNumber) "REPEATABLE(yes)"; - variant(overloadControlInformationGrouped) "REPEATABLE(yes)"; -}; - -//7.2.8 -type set ModifyBearerResponse -{ - Cause cause, - MSISDN mSISDN optional, - EPS_BearerID linkedEPS_Bearer_ID optional, - APN_Restriction aPN_Restriction optional, - ProtocolConfigOptions protocolConfigOptions optional, - BearerContextGrouped_List bearerContextGrouped optional, - ChangeReportingAction changeReportingAction optional, - CSG_InformationReportingAction cSG_InformationReportingAction optional, - HeNBInformationReporting heNBInformationReporting optional, - FullyQualifiedDomainName chargingGatewayName optional, - IP_Address chargingGatewayAddress optional, - FullyQualifiedPDN_ConnectionSetID_List csid optional, - Recovery recovery optional, - LocalDistinguishedName_List lDN optional, - Indication indicationFlags optional, - PresenceReportingAreaAction presenceReportingAreaAction optional, - LoadControlInformationGrouped_List loadControlInformationGrouped optional, - OverloadControlInformationGrouped_List overloadControlInformationGrouped optional, - ChargingID pDNConnectionChargingID optional, - PrivateExtension_List privateExtension optional -} with { - variant(bearerContextGrouped) "REPEATABLE(yes)"; - variant(csid) "REPEATABLE(yes)"; - variant(lDN) "REPEATABLE(yes)"; - variant(loadControlInformationGrouped) "REPEATABLE(yes)"; - variant(overloadControlInformationGrouped) "REPEATABLE(yes)"; -}; - -//7.2.9.1 -type set DeleteSessionRequest -{ - Cause cause optional, - EPS_BearerID linkedEPS_Bearer_ID optional, - UserLocationInfo uLI optional, - Indication indicationFlags optional, - ProtocolConfigOptions protocolConfigOptions optional, - NodeType originatingNode optional, - FullyQualifiedTEID fullyQualifiedTEID optional, - UE_TimeZone uE_TimeZone optional, - UserLocationInformationTimestamp uLITimestamp optional, - RAN_NASCause rANNASReleaseCause optional, - TrustedWLANAccessNetworkIdentifier_List trustedWLANAccessNetworkIdentifier optional, - TWANIdentifierTimestamp_List tWANIdentifierTimestamp optional, - OverloadControlInformationGrouped_List overloadControlInformationGrouped optional, - IP_Address uELocalIP_Addr optional, - PortNumber_List portNumber optional, - ExtendedProtocolConfigOptions extendedProtocolConfigOptions optional, - PrivateExtension_List privateExtension optional -} with { - variant(overloadControlInformationGrouped) "REPEATABLE(yes)"; - variant(trustedWLANAccessNetworkIdentifier) "REPEATABLE(yes)"; - variant(tWANIdentifierTimestamp) "REPEATABLE(yes)"; - variant(portNumber) "REPEATABLE(yes)"; -}; -//7.2.9.2 -type set DeleteBearerRequest -{ - EPS_BearerID_List epsBearerIdentity optional, //LBI , EBI - BearerContextGrouped_List bearerContextGrouped optional, - ProcedureTransactionID procedureTransactionID optional, - ProtocolConfigOptions protocolConfigOptions optional, - FullyQualifiedPDN_ConnectionSetID_List csid optional, - Cause cause optional, - Indication indicationFlags optional, - LoadControlInformationGrouped_List loadControlInformationGrouped optional, - OverloadControlInformationGrouped_List overloadControlInformationGrouped optional, - FullyQualifiedContainer nBIFOMContainer optional, - ExtendedProtocolConfigOptions extendedProtocolConfigOptions optional, - PrivateExtension_List privateExtension optional -} with { - variant(epsBearerIdentity) "REPEATABLE(yes)"; - variant(bearerContextGrouped) "REPEATABLE(yes)"; - variant(csid) "REPEATABLE(yes)" - variant(loadControlInformationGrouped) "REPEATABLE(yes)"; - variant(overloadControlInformationGrouped) "REPEATABLE(yes)"; -}; - -//7.2.10.1 -type set DeleteSessionResponse -{ - Cause cause, - Recovery recovery optional, - ProtocolConfigOptions protocolConfigOptions optional, - Indication indicationFlags optional, - LoadControlInformationGrouped_List loadControlInformationGrouped optional, - OverloadControlInformationGrouped_List overloadControlInformationGrouped optional, - ExtendedProtocolConfigOptions extendedProtocolConfigOptions optional, - PrivateExtension_List privateExtension optional -} with { - variant(loadControlInformationGrouped) "REPEATABLE(yes)"; - variant(overloadControlInformationGrouped) "REPEATABLE(yes)"; -}; - -//7.2.10.2 -type set DeleteBearerResponse -{ - Cause cause, - EPS_BearerID linkedBearerIdentity optional, - BearerContextGrouped_List bearerContextGrouped optional, - Recovery recovery optional, - FullyQualifiedPDN_ConnectionSetID_List csid optional, - ProtocolConfigOptions protocolConfigOptions optional, - UE_TimeZone uE_TimeZone optional, - UserLocationInfo uLI optional, - UserLocationInformationTimestamp uLITimestamp optional, - TrustedWLANAccessNetworkIdentifier trustedWLANAccessNetworkIdentifier optional, - TWANIdentifierTimestamp tWANIdentifierTimestamp optional, - OverloadControlInformationGrouped_List overloadControlInformationGrouped optional, - IP_Address_List iP_Addr optional, - PortNumber_List portNumber optional, - FullyQualifiedContainer nBIFOMContainer optional, - PrivateExtension_List privateExtension optional -} with { - variant(bearerContextGrouped) "REPEATABLE(yes)"; - variant(csid) "REPEATABLE(yes)"; - variant(overloadControlInformationGrouped) "REPEATABLE(yes)"; - variant(iP_Addr) "REPEATABLE(yes)"; - variant(portNumber) "REPEATABLE(yes)"; -}; - -//7.2.11.1 -type set DownlinkDataNotification -{ - Cause cause optional, - EPS_BearerID_List epsBearerIdentity optional, - AllocationRetentionPriority aRP optional, - IMSI iMSI optional, - FullyQualifiedTEID fullyQualifiedTEID optional, - Indication indicationFlags optional, - LoadControlInformationGrouped loadControlInformationGrouped optional, - OverloadControlInformationGrouped overloadControlInformationGrouped optional, - PagingAndServiceInformation pagingAndServiceInformation optional, - PrivateExtension_List privateExtension optional -}with { - variant(epsBearerIdentity) "REPEATABLE(yes)"; -}; - - -//7.2.11.2 -type set DownlinkDataNotificationAcknowledgement -{ - Cause cause, - DelayValue dataNotificationDelay optional, - Recovery recovery optional, - Throttling dL_LowPriorityTrafficThrottling optional, - IMSI iMSI optional, - EPC_Timer dLBufferingDuration optional, - IntegerNumber dLBufferingSuggestedPacketCount optional, - PrivateExtension_List privateExtension optional -}; - -//7.2.11.3 -type set DownlinkDataNotificationFailureIndication -{ - Cause cause, - NodeType originatingNode optional, - IMSI iMSI optional, - PrivateExtension_List privateExtension optional -}; - -//7.2.12 -type set DeleteIndirectDataForwardingTunnelRequest -{ - PrivateExtension_List privateExtension optional -}; - -//7.2.13 -type set DeleteIndirectDataForwardingTunnelResponse -{ - Cause cause, - Recovery recovery optional, - PrivateExtension_List privateExtension optional -} - -//7.2.14.1 -type set ModifyBearerCommand -{ - AggregateMaximumBitRate ambr, - BearerContextGrouped bearerContextGrouped, - OverloadControlInformationGrouped_List overloadControlInformationGrouped optional, - FullyQualifiedTEID fullyQualifiedTEID optional, - PrivateExtension_List privateExtension optional -}with { - variant(overloadControlInformationGrouped) "REPEATABLE(yes)"; -}; - -//7.2.14.2 -type set ModifyBearerFailureIndication -{ - Cause cause, - Recovery recovery optional, - Indication indicationFlags optional, - OverloadControlInformationGrouped_List overloadControlInformationGrouped optional, - PrivateExtension_List privateExtension optional -}with { - variant(overloadControlInformationGrouped) "REPEATABLE(yes)"; -}; - -//7.2.15 -type set UpdateBearerRequest -{ - BearerContextGrouped_List bearerContextGrouped, - ProcedureTransactionID procedureTransactionID optional, - ProtocolConfigOptions protocolConfigOptions optional, - AggregateMaximumBitRate apn_ambr, - ChangeReportingAction changeReportingAction optional, - CSG_InformationReportingAction cSG_InformationReportingAction optional, - Indication indicationFlags optional, - HeNBInformationReporting heNBInformationReporting optional, - FullyQualifiedPDN_ConnectionSetID_List csid optional, - PresenceReportingAreaAction presenceReportingAreaAction optional, - LoadControlInformationGrouped_List loadControlInformationGrouped optional, - OverloadControlInformationGrouped_List overloadControlInformationGrouped optional, - FullyQualifiedContainer nBIFOMContainer optional, - PrivateExtension_List privateExtension optional -} with { - variant(bearerContextGrouped) "REPEATABLE(yes)"; - variant(csid) "REPEATABLE(yes)"; - variant(loadControlInformationGrouped) "REPEATABLE(yes)"; - variant(overloadControlInformationGrouped) "REPEATABLE(yes)"; -}; - -//7.2.16 -//6.1.1 - Only the Cause information element, optionally Protocol Configuration Options and optionally the Recovery information element -//shall be included in the response if the Cause contains a value indicating that the request is not accepted. -type set UpdateBearerResponse -{ - Cause cause, - BearerContextGrouped_List bearerContextGrouped optional, - ProtocolConfigOptions protocolConfigOptions optional, - Recovery recovery optional, - FullyQualifiedPDN_ConnectionSetID_List csid optional, - Indication indicationFlags optional, - UE_TimeZone uE_TimeZone optional, - UserLocationInfo uLI optional, - TrustedWLANAccessNetworkIdentifier trustedWLANAccessNetworkIdentifier optional, - OverloadControlInformationGrouped_List overloadControlInformationGrouped optional, - PresenceReportingAreaInformation presenceReportingAreaInformation optional, - IP_Address_List iP_Addr optional, - TWANIdentifierTimestamp tWANIdentifierTimestamp optional, - PortNumber_List portNumber optional, - FullyQualifiedContainer nBIFOMContainer optional, - ExtendedProtocolConfigOptions extendedProtocolConfigOptions optional, - PrivateExtension_List privateExtension optional -} with { - variant(bearerContextGrouped) "REPEATABLE(yes)"; - variant(csid) "REPEATABLE(yes)"; - variant(overloadControlInformationGrouped) "REPEATABLE(yes)"; - variant(iP_Addr) "REPEATABLE(yes)"; - variant(portNumber) "REPEATABLE(yes)"; -}; - -//7.2.17.1 -type set DeleteBearerCommand -{ - BearerContextGrouped_List bearerContextGrouped, - UserLocationInfo uli optional, - UserLocationInformationTimestamp uli_timestamp optional, - UE_TimeZone ue_timezone optional, - OverloadControlInformationGrouped_List overloadControlInformationGrouped optional, - FullyQualifiedTEID fullyQualifiedTEID optional, - PrivateExtension_List privateExtension optional -} with { - variant(bearerContextGrouped) "REPEATABLE(yes)"; - variant(overloadControlInformationGrouped) "REPEATABLE(yes)"; -}; - -//7.2.17.2 -type set DeleteBearerFailureIndication -{ - Cause cause, - BearerContextGrouped_List bearerContextGrouped, - Recovery recovery optional, - Indication indicationFlags optional, - OverloadControlInformationGrouped_List overloadControlInformationGrouped optional, - PrivateExtension_List privateExtension optional -} with { - variant(bearerContextGrouped) "REPEATABLE(yes)"; - variant(overloadControlInformationGrouped) "REPEATABLE(yes)"; -}; - -//7.2.18 -type set CreateIndirectDataForwardingTunnelRequest -{ - IMSI iMSI optional, - MEI mEI optional, - Indication indicationFlags optional, - FullyQualifiedTEID fullyQualifiedTEID optional, - BearerContextGrouped_List bearerContextGrouped, - Recovery recovery optional, - PrivateExtension_List privateExtension optional -} with { - variant(bearerContextGrouped) "REPEATABLE(yes)"; -}; - -//7.2.19 -//6.1.1 - Only the Cause information element, optionally Protocol Configuration Options and optionally the Recovery information element -//shall be included in the response if the Cause contains a value indicating that the request is not accepted. -type set CreateIndirectDataForwardingTunnelResponse -{ - Cause cause, - FullyQualifiedTEID fullyQualifiedTEID optional, - BearerContextGrouped_List bearerContextGrouped optional, - Recovery recovery optional, - PrivateExtension_List privateExtension optional -} with { - variant(bearerContextGrouped) "REPEATABLE(yes)"; -}; - -//7.2.20 -// VOID - -//7.2.21 -type set ReleaseAccessBearersRequest -{ - EPS_BearerID_List listOfRABs optional, - NodeType originatingNode optional, - Indication indicationFlags optional, - PrivateExtension_List privateExtension optional -} with { - variant(listOfRABs) "REPEATABLE(yes)"; -}; - -//7.2.22 -type set ReleaseAccessBearersResponse -{ - Cause cause, - Recovery recovery optional, - Indication indicationFlags optional, - LoadControlInformationGrouped loadControlInformationGrouped optional, - OverloadControlInformationGrouped overloadControlInformationGrouped optional, - PrivateExtension_List privateExtension optional -} - -//7.2.23 -type set StopPagingIndication -{ - IMSI iMSI optional, - PrivateExtension_List privateExtension optional -} - -//7.2.24 -type set ModifyAccessBearersRequest -{ - Indication indicationFlags optional, - FullyQualifiedTEID fullyQualifiedTEID optional, - DelayValue delayDownlinkPacketNotifReq optional, - BearerContextGrouped_List bearerContextGrouped optional, - Recovery recovery optional, - PrivateExtension_List privateExtension optional -} with { - variant(bearerContextGrouped) "REPEATABLE(yes)"; -}; - - -//7.2.25 -type set ModifyAccessBearersResponse -{ - Cause cause, - BearerContextGrouped_List bearerContextGrouped optional, - Recovery recovery optional, - Indication indicationFlags optional, - LoadControlInformationGrouped loadControlInformationGrouped optional, - OverloadControlInformationGrouped overloadControlInformationGrouped optional, - PrivateExtension_List privateExtension optional -} with { - variant(bearerContextGrouped) "REPEATABLE(yes)"; -}; - - -//7.2.26 -type set RemoteUEReportNotification -{ - RemoteUEContextGrouped_List remoteUEContextGrouped optional, - PrivateExtension_List privateExtension optional -} with { - variant(remoteUEContextGrouped) "REPEATABLE(yes)"; -}; - -//7.2.27 -type set RemoteUEReportAcknowledge -{ - Cause cause, - PrivateExtension_List privateExtension optional -}; - -// Mobility Management messages -//7.3.1 -type set ForwardRelocationRequest -{ - IMSI iMSI optional, - FullyQualifiedTEID_List fullyQualifiedTEID, - PDN_ConnectionGrouped_List pDN_Connection, - FullyQualifiedDomainName_List nodeName optional, - MM_Context mM_Context, - Indication indication optional, - FullyQualifiedContainer_List containers optional, - TargetIdentification targetIdentification optional, - IP_Address_List iP_Addr optional, - FullyQualifiedCause_List cause optional, - SourceIdentification sourceIdentification optional, - PLMN_ID selected_PLMN_ID optional, - Recovery recovery optional, - TraceInformation traceInformation optional, - RFSP_Index_List rFSP_Index optional, - CSG_ID cSG_ID optional, - CSG_MembershipIndication cSG_MembershipIndication optional, - UE_TimeZone uE_TimeZone optional, - ServingNetwork servingNetwork optional, - LocalDistinguishedName lDN optional, - AdditionalMMContextForSRVCC additionalMMContextForSRVCC optional, - AdditionalFlagsForSRVCC additionalFlagsForSRVCC optional, - STN_SR sTN_SR optional, - MSISDN_List mSISDN optional, - MDT_Configuration mDT_Configuration optional, - User_CSG_Information user_CSG_Information optional, - MonitoringEventInformation monitoringEventInformation optional, - IntegerNumber uEUsageType optional, - SCEF_PDN_ConnectionGrouped mME_UE_SCEF_PDN_Connection optional, - PortNumber sourceUDPPortNumber optional, - ServingPLMNRateControl servingPLMNRateControl optional, - PrivateExtension_List privateExtension optional -} with { - variant(fullyQualifiedTEID) "REPEATABLE(yes)"; - variant(pDN_Connection) "REPEATABLE(yes)"; - variant(containers) "REPEATABLE(yes)"; - variant(iP_Addr) "REPEATABLE(yes)"; - variant(cause) "REPEATABLE(yes)"; - variant(rFSP_Index) "REPEATABLE(yes)"; - variant(nodeName) "REPEATABLE(yes)"; - variant(mSISDN) "REPEATABLE(yes)"; -} - -//7.3.2 -type set ForwardRelocationResponse -{ - Cause cause, - FullyQualifiedTEID fullyQualifiedTEID optional, - Indication indication optional, - BearerContextGrouped_List bearerContextGrouped optional, - FullyQualifiedCause_List fullyQualifiedCause optional, - FullyQualifiedContainer_List transparentContainer optional, - LocalDistinguishedName lDN optional, - FullyQualifiedDomainName_List nodeName optional, - NodeNumber_List nodeNumber optional, - NodeIdentifier_List nodeIdentifier optional, - PrivateExtension_List privateExtension optional -} with { - variant(bearerContextGrouped) "REPEATABLE(yes)"; - variant(fullyQualifiedCause) "REPEATABLE(yes)"; - variant(transparentContainer) "REPEATABLE(yes)"; - variant(nodeName) "REPEATABLE(yes)"; - variant(nodeIdentifier) "REPEATABLE(yes)"; - variant(nodeNumber) "REPEATABLE(yes)"; -}; - -//7.3.3 -type set ForwardRelocationCompleteNotification -{ - Indication indication optional, - PrivateExtension_List privateExtension optional -}; - -//7.3.4 -type set ForwardRelocationCompleteAcknowledge -{ - Cause cause, - Recovery recovery optional, - PrivateExtension_List privateExtension optional -}; - -//7.3.5 -type set ContextRequest -{ - IMSI iMSI optional, - GUTI gUTI optional, - UserLocationInfo uLI optional, - Packet_TMSI pTMSI optional, - P_TMSI_Signature pTMSI_Signature optional, - CompleteRequestMessage complete_TAU_RequestMessage optional, - FullyQualifiedTEID address_and_TEID_for_ControlPlane optional, - PortNumber portNumber optional, - RAT_Type rAT_Type optional, - Indication indication optional, - Hop_Counter hop_Counter optional, - ServingNetwork target_PLMN_ID optional, - LocalDistinguishedName lDN optional, - FullyQualifiedDomainName_List nodeName optional, - NodeNumber sGSNNumber optional, - NodeIdentifier_List nodeIdentifier optional, - CIoT_OptimizationsSupportIndication cIoT_OptimizationsSupportIndication optional, - PrivateExtension_List privateExtension optional -} with { - variant(nodeName) "REPEATABLE(yes)"; - variant(nodeIdentifier) "REPEATABLE(yes)"; -}; - -//7.3.6 -type set ContextResponse -{ - Cause cause, - IMSI iMSI optional, - MM_Context mM_Context optional, - PDN_ConnectionGrouped_List pDN_Connection optional, - FullyQualifiedTEID_List fullyQualifiedTEID optional, - FullyQualifiedDomainName_List nodeName optional, - Indication indication optional, - TraceInformation traceInformation optional, - IP_Address_List iP_Addr optional, - RFSP_Index_List rFSP_Index optional, - UE_TimeZone uE_TimeZone optional, - LocalDistinguishedName lDN optional, - MDT_Configuration mDT_Configuration optional, - User_CSG_Information user_CSG_Information optional, - MonitoringEventInformation monitoringEventInformation optional, - IntegerNumber uEUsageType optional, - SCEF_PDN_ConnectionGrouped mME_US_SCEF_PDN_Connection optional, - RAT_Type rAT_Type optional, - ServingPLMNRateControl servingPLMNRateControl optional, - Counter counter optional, - PrivateExtension_List privateExtension optional -}with { - variant(pDN_Connection) "REPEATABLE(yes)"; - variant(fullyQualifiedTEID) "REPEATABLE(yes)"; - variant(iP_Addr) "REPEATABLE(yes)"; - variant(rFSP_Index) "REPEATABLE(yes)"; - variant(nodeName) "REPEATABLE(yes)"; -}; - -//7.3.7 -type set ContextAcknowledge -{ - Cause cause, - Indication indication optional, //SGW change ind, israi - FullyQualifiedTEID fullyQualifiedTEID optional, - NodeNumber_List nodeNumber optional, - NodeIdentifier_List nodeIdentifier optional, - PrivateExtension_List privateExtension optional -}with { - variant(nodeNumber) "REPEATABLE(yes)"; - variant(nodeIdentifier) "REPEATABLE(yes)"; -}; - -//7.3.8 -type set IdentificationRequest -{ - GUTI gUTI optional, - UserLocationInfo uLI optional, - Packet_TMSI pTMSI optional, - P_TMSI_Signature pTMSI_Signature optional, - CompleteRequestMessage complete_AttachRequestMessage optional, - IP_Address addressForControlPlane optional, - PortNumber portNumber optional, - Hop_Counter hop_Counter optional, - ServingNetwork target_PLMN_ID optional, - PrivateExtension_List privateExtension optional -}; - -//7.3.9 -type set IdentificationResponse -{ - Cause cause, - IMSI iMSI optional, - MM_Context mM_Context optional, - TraceInformation traceInformation optional, - IntegerNumber uEUsageType optional, - MonitoringEventInformation monitoringEventInformation optional, - PrivateExtension_List privateExtension optional -}; - -//7.3.10 -type set ForwardAccessContextNotification -{ - RAB_Context_List rAB_Contexts optional, - Source_RNC_PDCP_Context_Info source_RNC_PDCP_Context_Info optional, - PDU_Numbers pDU_Numbers optional, - FullyQualifiedContainer eUTRAN_TransparentContainer optional, - PrivateExtension_List privateExtension optional -}with { - variant(rAB_Contexts) "REPEATABLE(yes)"; -}; - - -//7.3.11 -type set ForwardAccessContextAcknowledge -{ - Cause cause, - PrivateExtension_List privateExtension optional -} - -//7.3.12 -type set DetachNotification -{ - Cause cause, - DetachType detachType optional, - PrivateExtension_List privateExtension optional -} - -//7.3.13 -type set DetachAcknowledge -{ - Cause cause, - Recovery recovery optional, - PrivateExtension_List privateExtension optional -}; - -//7.3.14 -type set ChangeNotificationRequest -{ - IMSI iMSI optional, - MEI mEI optional, - Indication indication optional, - RAT_Type rAT_Type, - UserLocationInfo uLI optional, - User_CSG_Information user_CSG_Information optional, - IP_Address gTPC_IP_Address optional, - EPS_BearerID linkedBearerIdentity optional, - PresenceReportingAreaInformation presenceReportingAreaInformation optional, - Counter counter optional, - PrivateExtension_List privateExtension optional -}; - -//7.3.15 -//6.1.1 - Only the Cause information element, optionally Protocol Configuration Options and optionally the Recovery information element -//shall be included in the response if the Cause contains a value indicating that the request is not accepted. -type set ChangeNotificationResponse -{ - IMSI iMSI optional, - MEI mEI optional, - Cause cause, - ChangeReportingAction changeReportingAction optional, - CSG_InformationReportingAction cSG_InformationReportingAction optional, - PresenceReportingAreaAction presenceReportingAreaAction optional, - PrivateExtension_List privateExtension optional -}; - -//7.3.16 -type set RelocationCancelRequest -{ - IMSI iMSI optional, - MEI mEI optional, - Indication indication optional, - FullyQualifiedCause ranapCause optional, - PrivateExtension_List privateExtension optional -}; - -//7.3.17 -type set RelocationCancelResponse -{ - Cause cause, - PrivateExtension_List privateExtension optional -}; - -//7.3.18 -type set ConfigurationTransferTunnel -{ - FullyQualifiedContainer eUTRAN_TransparentContainer, - TargetIdentification targetENB_ID -} - -//7.3.19 -type set RAN_InformationRelay -{ - FullyQualifiedContainer bSS_Container, - TargetIdentification rIM_RoutingAddress optional, - PrivateExtension_List privateExtension optional -} - -//7.3.20 -type set ISR_StatusIndication -{ - ActionIndication actionIndication, - PrivateExtension_List privateExtension optional -} - -//7.3.21 -type set UE_RegistrationQueryRequest -{ - IMSI iMSI, - PrivateExtension_List privateExtension optional -} - -//7.3.22 -type set UE_RegistrationQueryResponse -{ - Cause cause, - IMSI iMSI, - PLMN_ID selectedCoreNetworkOperatorIdenifier, - PrivateExtension_List privateExtension optional -} - -//7.4 Fallback Related messages - -//7.4.1 -type set SuspendNotification -{ - IMSI iMSI optional, - UserLocationInfo uLI optional, - EPS_BearerID linkedEPS_BearerID optional, - Packet_TMSI pTMSI optional, - NodeType originatingNode optional, - IP_Address addressForControlPlane optional, - PortNumber uDPSourcePortNumber optional, - Hop_Counter hopCounter optional, - PrivateExtension_List privateExtension optional -}; - -//7.4.2 -type set SuspendAcknowledge -{ - Cause cause, - PrivateExtension_List privateExtension optional -}; - -//7.4.3 -type set ResumeNotification -{ - IMSI iMSI, - EPS_BearerID linkedEPS_BearerID optional, - NodeType originatingNode optional, - PrivateExtension_List privateExtension optional -}; - -//7.4.4 -type set ResumeAcknowledge -{ - Cause cause, - PrivateExtension_List privateExtension optional -}; - -//7.4.5 -type set CSPagingIndication -{ - IMSI iMSI, - FullyQualifiedDomainName vLR_Name, - TMSI tMSI optional, - UserLocationInfo locationAreaIdentifier optional, - GlobalCN_ID globalCN_ID optional, - ChannelNeeded channelNeeded optional, - EMLPP_Priority eMLPP_Priority optional, - ServiceIndicator serviceIndicator optional, - PrivateExtension_List privateExtension optional -}; - -//7.4.6 -type set AlertMMENotification -{ - PrivateExtension_List privateExtension optional -}; - -//7.4.7 -type set AlertMMEAcknowledge -{ - Cause cause, - PrivateExtension_List privateExtension optional -}; - -//7.4.8 -type set UEActivityNotification -{ - PrivateExtension_List privateExtension optional -}; - -//7.4.9 -type set UEActivityAcknowledge -{ - Cause cause, - PrivateExtension_List privateExtension optional -}; - -//Non-3GPP access related messages -//7.5.1 -type set CreateForwardingTunnelRequest -{ - S103_PDF_List s103_PDF, - PrivateExtension_List privateExtension optional -} with { - variant(s103_PDF) "REPEATABLE(yes)"; -}; - -//7.5.2 -type set CreateForwardingTunnelResponse -{ - Cause cause, - S1_UDF_List s1_UDF optional, - PrivateExtension_List privateExtension optional -} with { - variant(s1_UDF) "REPEATABLE(yes)"; -}; - -//Restoration and recovery -//7.9.1 -type set DeletePDN_ConnectionSetRequest -{ - FullyQualifiedPDN_ConnectionSetID_List csid optional, //MME, SGW, PGW, ePDG, TWAN - PrivateExtension_List privateExtension optional -} with { - variant(csid) "REPEATABLE(yes)"; -}; - -//7.9.2 -type set DeletePDN_ConnectionSetResponse -{ - Cause cause, - PrivateExtension_List privateExtension optional -} - -//7.9.3 -type set UpdatePDN_ConnectionSetRequest -{ - FullyQualifiedPDN_ConnectionSetID_List csid optional, //MME, SGW - PrivateExtension_List privateExtension optional -} with { - variant(csid) "REPEATABLE(yes)"; -}; - - -//7.9.4 -type set UpdatePDN_ConnectionSetResponse -{ - Cause cause, - FullyQualifiedPDN_ConnectionSetID csid optional, //PGW - PrivateExtension_List privateExtension optional -} - -//7.9.5 -type set PGW_RestartNotification -{ - IP_Address_List iP_Addr,//PGW, SGW - Cause cause optional, - PrivateExtension_List privateExtension optional -} -with { - variant(iP_Addr) "REPEATABLE(yes)"; -}; - -//7.9.6 -type set PGW_RestartNotificationAcknowledge -{ - Cause cause, - PrivateExtension_List privateExtension optional -} - -//7.9.7 -type set PGW_DownlinkTriggeringNotification -{ - IMSI iMSI, - IP_Address mME_S4_SGSN_Identifier optional, - FullyQualifiedTEID senderF_TEIDForControlPlane optional, - PrivateExtension_List privateExtension optional -} - -//7.9.8 -type set PGW_DownlinkTriggeringAcknowledge -{ - Cause cause, - IMSI iMSI optional, - IP_Address mME_S4_SGSN_Identifier optional, - PrivateExtension_List privateExtension optional -} - - -// Trace Management Messages -//7.12.1 -type set TraceSessionActivation -{ - IMSI iMSI optional, - TraceInformation traceInformation, - MEI mEI optional -} - -//7.12.2 -type set TraceSessionDeactivation -{ - TraceReference traceReference -} - - -// MBMS Messages -//7.13.1 -type set MBMSSessionStartRequest -{ - FullyQualifiedTEID fullyQualifiedTEID, - TMGI tMGI, - MBMS_SessionDuration mBMS_SessionDuration, - MBMS_ServiceArea mBMS_ServiceArea, - MBMS_SessionIdentifier mBMS_SessionIdentifier optional, - MBMS_FlowIdentifier mBMS_FlowIdentifier optional, - Bearer_QoS QoS_Profile, - MBMS_IPMulticastDistribution_List mBMS_IPMulticastDistribution, - Recovery recovery optional, - MBMSTimetoDataTransfer mBMSTimetoDataTransfer optional, - AbsoluteTimeofMBMSDataTransfer mBMS_Data_Transfer_Start optional, - MBMSFlags mBMSFlags optional, - ECGI_List mBMSCellList optional, - PrivateExtension_List privateExtension optional -} with { - variant(mBMS_IPMulticastDistribution) "REPEATABLE(yes)"; -}; - -//7.13.2 -type set MBMSSessionStartResponse -{ - Cause cause, - FullyQualifiedTEID_List fullyQualifiedTEID optional, - MBMS_DistributionAcknowledge mBMS_DistributionAcknowledge optional, - Recovery recovery optional, - PrivateExtension_List privateExtension optional -} with { - variant(fullyQualifiedTEID) "REPEATABLE(yes)"; -}; - -//7.13.3 -type set MBMSSessionUpdateRequest -{ - MBMS_ServiceArea mBMS_ServiceArea optional, - TMGI tMGI, - FullyQualifiedTEID fullyQualifiedTEID optional, - MBMS_SessionDuration mBMS_SessionDuration, - Bearer_QoS QoS_Profile, - MBMS_SessionIdentifier mBMS_SessionIdentifier optional, - MBMS_FlowIdentifier mBMS_FlowIdentifier optional, - MBMSTimetoDataTransfer mBMSTimetoDataTransfer optional, - AbsoluteTimeofMBMSDataTransfer mBMS_Data_Transfer_Start optional, - ECGI_List mBMSCellList optional, - PrivateExtension_List privateExtension optional -} - -//7.13.4 -type set MBMSSessionUpdateResponse -{ - Cause cause, - MBMS_DistributionAcknowledge mBMS_DistributionAcknowledge optional, - FullyQualifiedTEID fullyQualifiedTEID optional, - Recovery recovery optional, - PrivateExtension_List privateExtension optional -} - -//7.13.5 -type set MBMSSessionStopRequest -{ - MBMS_FlowIdentifier mBMS_FlowIdentifier optional, - AbsoluteTimeofMBMSDataTransfer mBMS_Data_Transfer_Stop optional, - PrivateExtension_List privateExtension optional -} - -//7.13.6 -type set MBMSSessionStopResponse -{ - Cause cause, - Recovery recovery optional, - PrivateExtension_List privateExtension optional -} - - -type union GTPCv2_PDUs { - EchoRequest echoRequest, - EchoResponse echoResponse, - VersionNotSupported versionNotSupported, - CreateSessionRequest createSessionRequest, - CreateSessionResponse createSessionResponse, - CreateBearerRequest createBearerRequest, - CreateBearerResponse createBearerResponse, - BearerResourceCommand bearerResourceCommand, - BearerResourceFailureIndication bearerResourceFailureIndication, - ModifyBearerRequest modifyBearerRequest, - ModifyBearerResponse modifyBearerResponse, - DeleteSessionRequest deleteSessionRequest, - DeleteBearerRequest deleteBearerRequest, - DeleteSessionResponse deleteSessionResponse, - DeleteBearerResponse deleteBearerResponse, - DownlinkDataNotification downlinkDataNotification, - DownlinkDataNotificationAcknowledgement downlinkDataNotificationAcknowledgement, - DownlinkDataNotificationFailureIndication downlinkDataNotificationFailureIndication, - DeleteIndirectDataForwardingTunnelRequest deleteIndirectDataForwardingTunnelRequest, - DeleteIndirectDataForwardingTunnelResponse deleteIndirectDataForwardingTunnelResponse, - ModifyBearerCommand modifyBearerCommand, - ModifyBearerFailureIndication modifyBearerFailureIndication, - UpdateBearerRequest updateBearerRequest, - UpdateBearerResponse updateBearerResponse, - DeleteBearerCommand deleteBearerCommand, - DeleteBearerFailureIndication deleteBearerFailureIndication, - CreateIndirectDataForwardingTunnelRequest createIndirectDataForwardingTunnelRequest, - CreateIndirectDataForwardingTunnelResponse createIndirectDataForwardingTunnelResponse, - ReleaseAccessBearersRequest releaseAccessBearersRequest, - ReleaseAccessBearersResponse releaseAccessBearersResponse, - StopPagingIndication stopPagingIndication, - ModifyAccessBearersRequest modifyAccessBearersRequest, - ModifyAccessBearersResponse modifyAccessBearersResponse, - RemoteUEReportNotification remoteUEReportNotification, - RemoteUEReportAcknowledge remoteUEReportAcknowledge, - ForwardRelocationRequest forwardRelocationRequest, - ForwardRelocationResponse forwardRelocationResponse, - ForwardRelocationCompleteNotification forwardRelocationCompleteNotification, - ForwardRelocationCompleteAcknowledge forwardRelocationCompleteAcknowledge, - ContextRequest contextRequest, - ContextResponse contextResponse, - ContextAcknowledge contextAcknowledge, - IdentificationRequest identificationRequest, - IdentificationResponse identificationResponse, - ForwardAccessContextNotification forwardAccessContextNotification, - ForwardAccessContextAcknowledge forwardAccessContextAcknowledge, - DetachNotification detachNotification, - DetachAcknowledge detachAcknowledge, - ChangeNotificationRequest changeNotificationRequest, - ChangeNotificationResponse changeNotificationResponse, - RelocationCancelRequest relocationCancelRequest, - RelocationCancelResponse relocationCancelResponse, - ConfigurationTransferTunnel configurationTransferTunnel, - RAN_InformationRelay rAN_InformationRelay, - SuspendNotification suspendNotification, - SuspendAcknowledge suspendAcknowledge, - ResumeNotification resumeNotification, - ResumeAcknowledge resumeAcknowledge, - CSPagingIndication cSPagingIndication, - CreateForwardingTunnelRequest createForwardingTunnelRequest, - CreateForwardingTunnelResponse createForwardingTunnelResponse, - DeletePDN_ConnectionSetRequest deletePDN_ConnectionSetRequest, - DeletePDN_ConnectionSetResponse deletePDN_ConnectionSetResponse, - TraceSessionActivation traceSessionActivation, - TraceSessionDeactivation traceSessionDeactivation, - UpdatePDN_ConnectionSetRequest updatePDN_ConnectionSetRequest, - UpdatePDN_ConnectionSetResponse updatePDN_ConnectionSetResponse, - PGW_RestartNotification pGW_RestartNotification, - PGW_RestartNotificationAcknowledge pGW_RestartNotificationAcknowledge, - PGW_DownlinkTriggeringNotification pGW_DownlinkTriggeringNotification, - PGW_DownlinkTriggeringAcknowledge pGW_DownlinkTriggeringAcknowledge, - AlertMMENotification alertMMENotification, - AlertMMEAcknowledge alertMMEAcknowledge, - UEActivityNotification uEActivityNotification, - UEActivityAcknowledge uEActivityAcknowledge, - MBMSSessionStartRequest mBMSSessionStartRequest, - MBMSSessionStartResponse mBMSSessionStartResponse, - MBMSSessionUpdateRequest mBMSSessionUpdateRequest, - MBMSSessionUpdateResponse mBMSSessionUpdateResponse, - MBMSSessionStopRequest mBMSSessionStopRequest, - MBMSSessionStopResponse mBMSSessionStopResponse, - ISR_StatusIndication iSR_StatusIndication, - UE_RegistrationQueryRequest uE_RegistrationQueryRequest, - UE_RegistrationQueryResponse uE_RegistrationQueryResponse -} - -// TOP LEVEL GTPC PDU -type record PDU_GTPCv2 -{ - BIT3 spare, //0 - BIT1 t_Bit, - BIT1 p_Bit, - BIT3 version, //'010'B - OCT1 messageType, - LIN2_BO_LAST lengthf, - OCT4 tEID optional, - OCT3 sequenceNumber, - OCT1 spare3, // 0 - GTPCv2_PDUs gtpcv2_pdu, - PDU_GTPCv2 piggybackPDU_GTPCv2 optional -} with { - variant (tEID) "PRESENCE(t_Bit = '1'B)"; - variant (piggybackPDU_GTPCv2) "PRESENCE(p_Bit = '1'B)"; - variant (lengthf) "LENGTHTO(tEID,sequenceNumber,spare3,gtpcv2_pdu)"; - variant (gtpcv2_pdu) "CROSSTAG( - echoRequest, messageType = '01'O; - echoResponse, messageType = '02'O; - versionNotSupported, messageType = '03'O; - createSessionRequest, messageType = '20'O; //32 - createSessionResponse, messageType = '21'O; //33 - createBearerRequest, messageType = '5F'O; //95 - createBearerResponse, messageType = '60'O; //96 - bearerResourceCommand, messageType = '44'O; //68 - bearerResourceFailureIndication, messageType = '45'O; //69 - modifyBearerRequest, messageType = '22'O; //34 - modifyBearerResponse, messageType = '23'O; //35 - deleteSessionRequest, messageType = '24'O; //36 - deleteBearerRequest, messageType = '63'O; //99 - deleteSessionResponse, messageType = '25'O; //37 - deleteBearerResponse, messageType = '64'O; //100 - downlinkDataNotification, messageType = 'B0'O; //176 - downlinkDataNotificationAcknowledgement, messageType = 'B1'O; //177 - downlinkDataNotificationFailureIndication, messageType = '46'O; //70 - deleteIndirectDataForwardingTunnelRequest, messageType = 'A8'O; //168 - deleteIndirectDataForwardingTunnelResponse, messageType = 'A9'O; //169 - modifyBearerCommand, messageType = '40'O; //64 - modifyBearerFailureIndication, messageType = '41'O; //65 - updateBearerRequest, messageType = '61'O; //97 - updateBearerResponse, messageType = '62'O; //98 - deleteBearerCommand, messageType = '42'O; //66 - deleteBearerFailureIndication, messageType = '43'O; //67 - createIndirectDataForwardingTunnelRequest, messageType = 'A6'O; //166 - createIndirectDataForwardingTunnelResponse, messageType = 'A7'O; //167 - releaseAccessBearersRequest, messageType = 'AA'O; //170 - releaseAccessBearersResponse, messageType = 'AB'O; //171 - stopPagingIndication, messageType = '49'O; //73 - modifyAccessBearersRequest, messageType = 'D3'O; //211 - modifyAccessBearersResponse, messageType = 'D4'O; //212 - remoteUEReportNotification, messageType = '28'O; //40 - remoteUEReportAcknowledge, messageType = '29'O; //41 - forwardRelocationRequest, messageType = '85'O; //133 - forwardRelocationResponse, messageType = '86'O; //134 - forwardRelocationCompleteNotification, messageType = '87'O; //135 - forwardRelocationCompleteAcknowledge, messageType = '88'O; //136 - contextRequest, messageType = '82'O; //130 - contextResponse, messageType = '83'O; //131 - contextAcknowledge, messageType = '84'O; //132 - identificationRequest, messageType = '80'O; //128 - identificationResponse, messageType = '81'O; //129 - forwardAccessContextNotification, messageType = '89'O; //137 - forwardAccessContextAcknowledge, messageType = '8A'O; //138 - detachNotification, messageType = '95'O; //149 - detachAcknowledge, messageType = '96'O; //150 - changeNotificationRequest, messageType = '26'O; //38 - changeNotificationResponse, messageType = '27'O; //39 - relocationCancelRequest, messageType = '8B'O; //139 - relocationCancelResponse, messageType = '8C'O; //140 - configurationTransferTunnel, messageType = '8D'O; //141 - rAN_InformationRelay, messageType = '98'O; //152 - suspendNotification, messageType = 'A2'O; //162 - suspendAcknowledge, messageType = 'A3'O; //163 - resumeNotification, messageType = 'A4'O; //164 - resumeAcknowledge, messageType = 'A5'O; //165 - cSPagingIndication, messageType = '97'O; //151 - createForwardingTunnelRequest, messageType = 'A0'O; //160 - createForwardingTunnelResponse, messageType = 'A1'O; //161 - deletePDN_ConnectionSetRequest, messageType = '65'O; //101 - deletePDN_ConnectionSetResponse, messageType = '66'O; //102 - traceSessionActivation, messageType = '47'O; //71 - traceSessionDeactivation, messageType = '48'O; //72 - updatePDN_ConnectionSetRequest, messageType = 'C8'O; //200 - updatePDN_ConnectionSetResponse, messageType = 'C9'O; //201 - pGW_RestartNotification, messageType = 'B3'O; //179 - pGW_RestartNotificationAcknowledge, messageType = 'B4'O; //180 - pGW_DownlinkTriggeringNotification, messageType = '67'O; //103 - pGW_DownlinkTriggeringAcknowledge, messageType = '68'O; //104 - alertMMENotification, messageType = '99'O; //153 - alertMMEAcknowledge, messageType = '9A'O; //154 - uEActivityNotification, messageType = '9B'O; //155 - uEActivityAcknowledge, messageType = '9C'O; //156 - iSR_StatusIndication, messageType = '9D'O; //157 - uE_RegistrationQueryRequest, messageType = '9E'O; //158 - uE_RegistrationQueryResponse, messageType = '9F'O; //159 - mBMSSessionStartRequest, messageType = 'E7'O; //231 - mBMSSessionStartResponse, messageType = 'E8'O; //232 - mBMSSessionUpdateRequest, messageType = 'E9'O; //233 - mBMSSessionUpdateResponse, messageType = 'EA'O; //234 - mBMSSessionStopRequest, messageType = 'EB'O; //235 - mBMSSessionStopResponse, messageType = 'EC'O; //236 - )"; -}; - - - -} with { encode "RAW"} // End of module diff --git a/ISUP_Q.762_CNL113365_LATEST/ISUP_Q.762_CNL113365.tpd b/ISUP_Q.762_CNL113365_LATEST/ISUP_Q.762_CNL113365.tpd deleted file mode 100644 index 7b64c3d0d..000000000 --- a/ISUP_Q.762_CNL113365_LATEST/ISUP_Q.762_CNL113365.tpd +++ /dev/null @@ -1,48 +0,0 @@ - - - - ISUP_Q.762_CNL113365 - - - - - - - - - - - Default - - - - - true - true - true - bin/ISUP_Q.762_CNL113365 - - - bin - - - tsp.* - - - - - diff --git a/ISUP_Q.762_CNL113365_LATEST/demo/ISUP_Mapping.ttcn b/ISUP_Q.762_CNL113365_LATEST/demo/ISUP_Mapping.ttcn deleted file mode 100644 index a29603edb..000000000 --- a/ISUP_Q.762_CNL113365_LATEST/demo/ISUP_Mapping.ttcn +++ /dev/null @@ -1,128 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -// Copyright Test Competence Center (TCC) ETH 2006 -// // -// 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) have been supplied // -/////////////////////////////////////////////////////////////////////////////// -// -// File: ISUP_Mapping.ttcn -// Rev: R7D -// Prodnr: CNL 113 365 -// Updated: 2006-05-10 -// Contact: http://ttcn.ericsson.se -/////////////////////////////////////////////////////////////////////////////// -module ISUP_Mapping -{ - import from MTP3asp_PortType all; - import from MTP3asp_Types all; - import from ISUP_Types all; - -group Types -{ - type record MSC_ISUP_MTP3_parameters - { - MTP3_Field_sio sio, - integer opc, - integer dpc, - integer sls - } - -group PortTypes -{ - //************************************************************************* - //* ISUP port types * - //************************************************************************* - type port MTP3asp_ISUP_PT message - { - inout PDU_ISUP; - } with {extension "internal"} - - type port MTC_ISUP_PT message // Coordination message - { - inout charstring; - inout octetstring; - } with {extension "internal"} -}//end group PortTypes - - -group ComponentTypes -{ - //************************************************************************* - //* ISUP Component types * - //************************************************************************* - type component ISUP_CT - { - //========================Component constants=========================== - - //========================Component variables=========================== - var PDU_ISUP v_PDU_ISUP; - - //========================Component Timers-============================= - - //========================Component Port Declarations==================== - port MTC_ISUP_PT MTC_ISUP_PORT; //up - port MTP3asp_ISUP_PT MTP3_ISUP_PORT; //down - } // end component type definition - - //************************************************************************* - //* ISUP EncDec component * - //************************************************************************* - type component ISUP_EncDec_CT - { - //========================Component Port Declarations==================== - port MTP3asp_ISUP_PT MTP3_ISUP_PORT; //<= SP_PT=_PT - port MTP3asp_PT MTP3_PORT; - } // end component type definition -}//end group ComponentTypes - -}//end group Types - - -//************************************************************************* -//* ISUP EncDec component behaviour * -//************************************************************************* -function f_ISUP_EncDecComp_Behaviour - ( MSC_ISUP_MTP3_parameters pl_address_ISUP ) runs on ISUP_EncDec_CT - { - var ASP_MTP3_TRANSFERind vl_ASP_MTP3_TRANSFERind; - var PDU_ISUP vl_PDU_ISUP; - pl_address_ISUP.sio.si := '0101'B; - - while (true) - { - alt - { - [] MTP3_ISUP_PORT.receive ( PDU_ISUP : ?) -> value vl_PDU_ISUP - { - MTP3_PORT.send (t_ASP_MTP3_TRANSFERreq - (pl_address_ISUP.sio, - pl_address_ISUP.opc, - pl_address_ISUP.dpc, - pl_address_ISUP.sls, - enc_PDU_ISUP(vl_PDU_ISUP))); - repeat; - } - - // receive message from below (to be decoded) - [] MTP3_PORT.receive (tr_ASP_MTP3_TRANSFERind_sio - (pl_address_ISUP.sio.ni, - ?, //priority: no filtering - pl_address_ISUP.sio.si, - ?, - ?, - ?, - ? )) -> value vl_ASP_MTP3_TRANSFERind - { - MTP3_ISUP_PORT.send (dec_PDU_ISUP(vl_ASP_MTP3_TRANSFERind.data)); - repeat; - } - - [] MTP3_PORT.receive (t_ASP_MTP3_TRANSFERind( ?, ?, ?, ?, ? )) - { log("Invalid SIO: MESSAGE dropped!!!"); } - } //end of alt - } // end while - } // end of f_ISUP_EncDecComp_Behaviour -} diff --git a/ISUP_Q.762_CNL113365_LATEST/doc/ISUP_FS.pdf b/ISUP_Q.762_CNL113365_LATEST/doc/ISUP_FS.pdf deleted file mode 100644 index adae94243..000000000 Binary files a/ISUP_Q.762_CNL113365_LATEST/doc/ISUP_FS.pdf and /dev/null differ diff --git a/ISUP_Q.762_CNL113365_LATEST/doc/ISUP_Q_PRI.doc b/ISUP_Q.762_CNL113365_LATEST/doc/ISUP_Q_PRI.doc deleted file mode 100644 index 3906228e1..000000000 Binary files a/ISUP_Q.762_CNL113365_LATEST/doc/ISUP_Q_PRI.doc and /dev/null differ diff --git a/ISUP_Q.762_CNL113365_LATEST/doc/ISUP_Q_UG.doc b/ISUP_Q.762_CNL113365_LATEST/doc/ISUP_Q_UG.doc deleted file mode 100644 index d70488dca..000000000 Binary files a/ISUP_Q.762_CNL113365_LATEST/doc/ISUP_Q_UG.doc and /dev/null differ diff --git a/ISUP_Q.762_CNL113365_LATEST/src/ISUP_EncDec.cc b/ISUP_Q.762_CNL113365_LATEST/src/ISUP_EncDec.cc deleted file mode 100644 index ea18af689..000000000 --- a/ISUP_Q.762_CNL113365_LATEST/src/ISUP_EncDec.cc +++ /dev/null @@ -1,465 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -// Copyright Test Competence Center (TCC) ETH 2011 -// // -// 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) have been supplied // -/////////////////////////////////////////////////////////////////////////////// -// -// File: ISUP_EncDec.cc -// Rev: R7D -// Prodnr: CNL 113 365 -// Updated: 2011-05-10 -// Contact: http://ttcn.ericsson.se -/////////////////////////////////////////////////////////////////////////////// -#include "ISUP_Types.hh" - -namespace ISUP__Types { - -OCTETSTRING enc__PDU__ISUP(const PDU__ISUP& pdu) -{ - if (TTCN_Logger::log_this_event(TTCN_DEBUG)) { - TTCN_Logger::begin_event(TTCN_DEBUG); - TTCN_Logger::log_event("Encoding PDU_ISUP: "); - pdu.log(); - TTCN_Logger::end_event(); - } - - TTCN_Buffer buf; - pdu.encode(PDU__ISUP_descr_, buf, TTCN_EncDec::CT_RAW); - OCTETSTRING ret_val(buf.get_len(), buf.get_data()); - - if (TTCN_Logger::log_this_event(TTCN_DEBUG)) { - TTCN_Logger::begin_event(TTCN_DEBUG); - TTCN_Logger::log_event("PDU_ISUP after encoding: "); - ret_val.log(); - TTCN_Logger::end_event(); - } - return ret_val; -} - -PDU__ISUP dec__PDU__ISUP(const OCTETSTRING& stream) -{ - if (TTCN_Logger::log_this_event(TTCN_DEBUG)) { - TTCN_Logger::begin_event(TTCN_DEBUG); - TTCN_Logger::log_event("Decoding PDU_ISUP: "); - stream.log(); - TTCN_Logger::end_event(); - } - - TTCN_Buffer buf; - buf.put_os(stream); - PDU__ISUP ret_val; - ret_val.decode(PDU__ISUP_descr_, buf, TTCN_EncDec::CT_RAW); - - if (TTCN_Logger::log_this_event(TTCN_DEBUG)) { - TTCN_Logger::begin_event(TTCN_DEBUG); - TTCN_Logger::log_event("Decoded PDU_ISUP: "); - ret_val.log(); - TTCN_Logger::end_event(); - } - return ret_val; -} - -PDU__ISUP dec__PDU__ISUP__noCIC(const OCTETSTRING& stream) -{ - if (TTCN_Logger::log_this_event(TTCN_DEBUG)) { - TTCN_Logger::begin_event(TTCN_DEBUG); - TTCN_Logger::log_event("Decoding PDU_ISUP: "); - stream.log(); - TTCN_Logger::end_event(); - } - - OCTETSTRING mod_stream (int2oct(0,2) + stream); - TTCN_Buffer buf; - buf.put_os(mod_stream); - PDU__ISUP ret_val; - ret_val.decode(PDU__ISUP_descr_, buf, TTCN_EncDec::CT_RAW); - PDU__ISUP::union_selection_type msg_type = ret_val.get_selection(); - switch (msg_type) - { - case PDU__ISUP::ALT_ISUP__ACM: - { - ret_val.ISUP__ACM().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__ANM: - { - ret_val.ISUP__ANM().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__APM: - { - ret_val.ISUP__APM().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__BLO: - { - ret_val.ISUP__BLO().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__BLA: - { - ret_val.ISUP__BLA().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__CPG: - { - ret_val.ISUP__CPG().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__CGB: - { - ret_val.ISUP__CGB().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__CGBA: - { - ret_val.ISUP__CGBA().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__CQM: - { - ret_val.ISUP__CQM().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__CQR: - { - ret_val.ISUP__CQR().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__GRS: - { - ret_val.ISUP__GRS().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__GRA: - { - ret_val.ISUP__GRA().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__CGU: - { - ret_val.ISUP__CGU().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__CGUA: - { - ret_val.ISUP__CGUA().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__CRG: - { - ret_val.ISUP__CRG().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__CFN: - { - ret_val.ISUP__CFN().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__CON: - { - ret_val.ISUP__CON().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__COT: - { - ret_val.ISUP__COT().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__CCR: - { - ret_val.ISUP__CCR().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__FAC: - { - ret_val.ISUP__FAC().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__FAA: - { - ret_val.ISUP__FAA().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__FRJ: - { - ret_val.ISUP__FRJ().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__FAR: - { - ret_val.ISUP__FAR().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__FOT: - { - ret_val.ISUP__FOT().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__IDR: - { - ret_val.ISUP__IDR().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__IRS: - { - ret_val.ISUP__IRS().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__INF: - { - ret_val.ISUP__INF().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__INR: - { - ret_val.ISUP__INR().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__IAM: - { - ret_val.ISUP__IAM().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__LPA: - { - ret_val.ISUP__LPA().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__LOP: - { - ret_val.ISUP__LOP().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__NRM: - { - ret_val.ISUP__NRM().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__OLM: - { - ret_val.ISUP__OLM().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__OPR: - { - ret_val.ISUP__OPR().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__PAM: - { - ret_val.ISUP__PAM().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__PRI: - { - ret_val.ISUP__PRI().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__REL: - { - ret_val.ISUP__REL().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__RLC: - { - ret_val.ISUP__RLC().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__RSC: - { - ret_val.ISUP__RSC().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__RES: - { - ret_val.ISUP__RES().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__SGM: - { - ret_val.ISUP__SGM().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__SAM: - { - ret_val.ISUP__SAM().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__SCB: - { - ret_val.ISUP__SCB().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__SDM: - { - ret_val.ISUP__SDM().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__SUS: - { - ret_val.ISUP__SUS().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__UBL: - { - ret_val.ISUP__UBL().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__UBA: - { - ret_val.ISUP__UBA().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__UCIC: - { - ret_val.ISUP__UCIC().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__UPA: - { - ret_val.ISUP__UPA().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__UPT: - { - ret_val.ISUP__UPT().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__USR: - { - ret_val.ISUP__USR().cic() = OMIT_VALUE; break; - } - default: - break; - } - if (TTCN_Logger::log_this_event(TTCN_DEBUG)) { - TTCN_Logger::begin_event(TTCN_DEBUG); - TTCN_Logger::log_event("Decoded PDU_ISUP: "); - ret_val.log(); - TTCN_Logger::end_event(); - } - return ret_val; -} - -INTEGER dec__PDU__ISUP__backtrack__noCIC(const OCTETSTRING& stream, PDU__ISUP& pdu) -{ - if (TTCN_Logger::log_this_event(TTCN_Logger::DEBUG_ENCDEC)) { - TTCN_Logger::begin_event(TTCN_Logger::DEBUG_ENCDEC); - TTCN_Logger::log_event_str("dec_PDU_ISUP_backtrack(): Stream before decoding: "); - stream.log(); - TTCN_Logger::end_event(); - } - TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL, TTCN_EncDec::EB_WARNING); - TTCN_EncDec::clear_error(); - OCTETSTRING mod_stream (int2oct(0,2) + stream); - TTCN_Buffer ttcn_buffer; - ttcn_buffer.put_os(mod_stream); - pdu.decode(PDU__ISUP_descr_, ttcn_buffer, TTCN_EncDec::CT_RAW); - - - if (TTCN_EncDec::get_last_error_type() == TTCN_EncDec::ET_NONE) { - - PDU__ISUP::union_selection_type msg_type = pdu.get_selection(); - switch (msg_type) - { - case PDU__ISUP::ALT_ISUP__ACM: - { - pdu.ISUP__ACM().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__ANM: - { - pdu.ISUP__ANM().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__BLO: - { - pdu.ISUP__BLO().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__BLA: - { - pdu.ISUP__BLA().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__CPG: - { - pdu.ISUP__CPG().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__CGB: - { - pdu.ISUP__CGB().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__CGBA: - { - pdu.ISUP__CGBA().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__GRS: - { - pdu.ISUP__GRS().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__GRA: - { - pdu.ISUP__GRA().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__CGU: - { - pdu.ISUP__CGU().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__CGUA: - { - pdu.ISUP__CGUA().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__CQM: - { - pdu.ISUP__CQM().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__CQR: - { - pdu.ISUP__CQR().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__CFN: - { - pdu.ISUP__CFN().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__COT: - { - pdu.ISUP__COT().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__CCR: - { - pdu.ISUP__CCR().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__FAC: - { - pdu.ISUP__FAC().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__FOT: - { - pdu.ISUP__FOT().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__INF: - { - pdu.ISUP__INF().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__INR: - { - pdu.ISUP__INR().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__IAM: - { - pdu.ISUP__IAM().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__LPA: - { - pdu.ISUP__LPA().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__REL: - { - pdu.ISUP__REL().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__RLC: - { - pdu.ISUP__RLC().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__RSC: - { - pdu.ISUP__RSC().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__RES: - { - pdu.ISUP__RES().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__SUS: - { - pdu.ISUP__SUS().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__UBL: - { - pdu.ISUP__UBL().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__UBA: - { - pdu.ISUP__UBA().cic() = OMIT_VALUE; break; - } - case PDU__ISUP::ALT_ISUP__UCIC: - { - pdu.ISUP__UCIC().cic() = OMIT_VALUE; break; - } - default: - break; - } - - - if (TTCN_Logger::log_this_event(TTCN_Logger::DEBUG_ENCDEC)) { - TTCN_Logger::begin_event(TTCN_Logger::DEBUG_ENCDEC); - TTCN_Logger::log_event_str("dec_PDU_ISUP_backtrack_noCIC(): Decoded @ISUP_Types.PDU_ISUP: "); - pdu.log(); - TTCN_Logger::end_event(); - } - - if (ttcn_buffer.get_pos() < ttcn_buffer.get_len() && TTCN_Logger::log_this_event(TTCN_WARNING)) { - ttcn_buffer.cut(); - OCTETSTRING remaining_stream; - ttcn_buffer.get_string(remaining_stream); - TTCN_Logger::begin_event(TTCN_WARNING); - TTCN_Logger::log_event_str("dec_PDU_ISUP_backtrack(): Warning: Data remained at the end of the stream after successful decoding: "); - remaining_stream.log(); - TTCN_Logger::end_event(); - } - return 0; - } else return 1; -} - -}//namespace diff --git a/ISUP_Q.762_CNL113365_LATEST/src/ISUP_Q.762_CNL113365.grp b/ISUP_Q.762_CNL113365_LATEST/src/ISUP_Q.762_CNL113365.grp deleted file mode 100644 index 828a298fe..000000000 --- a/ISUP_Q.762_CNL113365_LATEST/src/ISUP_Q.762_CNL113365.grp +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - diff --git a/ISUP_Q.762_CNL113365_LATEST/src/ISUP_Types.ttcn b/ISUP_Q.762_CNL113365_LATEST/src/ISUP_Types.ttcn deleted file mode 100644 index 26f794bcd..000000000 --- a/ISUP_Q.762_CNL113365_LATEST/src/ISUP_Types.ttcn +++ /dev/null @@ -1,4092 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -// Copyright Test Competence Center (TCC) ETH 2011 -// // -// 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) have been supplied // -/////////////////////////////////////////////////////////////////////////////// -// -// File: ISUP_Types.ttcn -// Rev: R7D -// Prodnr: CNL 113 365 -// Updated: 2011-05-10 -// Contact: http://ttcn.ericsson.se -/////////////////////////////////////////////////////////////////////////////// -// -// This product is based on the following documents: -//************************************************************************ -// Ericsson Reference for ITU-T : 2/155 17-FAY 112 020/4 Uen, ITU-T ISDN User -// Part, Section A:Formats and Codes -// Standard ITU-T Reference ISUP : Q.763, Signaling System No. 7 - ISDN User -// Part formats and codes -//************************************************************************ -// EED/X 1056-174 Uen - Global Call reference for ISUP and BICC, MSC R12 - -/////////////////////////////////////////////////////////////////////////////// -// ! ! ! ! ! ! ! W A R N I N G ! ! ! ! ! ! ! // -// From R2A02 the parameters are in 'set' and not in 'set of'. It has the // -// consequence, that the parameters will be sent out in fix order (as defined// -// in set) so the tester cannot modify the order of the parameters with // -// modification the order in the template. If the order is important, then // -// the previous version of this protocol module should be used. // -/////////////////////////////////////////////////////////////////////////////// - -//---------------------------------------------------------- -//---------------------------------------------------------- -//The following modification were done from R1A03 to R2A02: -//---------------------------------------------------------- -//---------------------------------------------------------- -// New parameter: -//Calling_name_identity -//Global_call_reference -//------------------------------------------------- -// Modified parameter: -//Calling_geodetic_location: Polygon updated -//CCSS_parameter : replaces CCBS_parameter -//Charged_party_identification : converted into record -//Forward_GVNS: TNRN_Spare->BIT1, lengths->INT4b, RAW coding attributes -//Loop_prevention_indicators : field splitted -//Message_compatibility_information: field name updated -//Network_routing_number: incorrect fields -//Network_specific_facility : was not possible to decode -//Optional_backward_call_indicators: field name updated -//Pivot_counter: PivCount->BIT5 -//Pivot_routing_backward_information : converted into record -//Pivot_routing_forward_information : converted into record -//Redirect_backward_information : converted into record -//Redirect_forward_information : converted into record -//Redirecting_number : field name updated -//Redirection_information : optional keywords added -//Tariff_indicator : optional keywords added -//User_service_information: redesigned -//User_service_information_prime: redesigned -//User_teleservice_information : optional keywords added -//------------------------------------------------- -// Hexorder modified in parameter: -//Call_transfer_number -//Called_IN_number -//Called_directory_number -//Called_party_number -//Calling_party_number -//Connected_number -//Forward_GVNS -//Generic_number -//HTR_information -//Location_number -//Network_routing_number -//Original_called_number -//Original_called_IN_number -//Redirecting_number -//Redirection_number -//Subsequent_number -//------------------------------------------------- -// Parameter, which should be modified, but due to backward compatibility -// it is not modified: -//Parameter_compatibility_information -//------------------------------------------------- -//"set of" was changed to "set" with the following consequence in parameter: -//-Every optional parameter is extended the id and length. -//-The multiple parameters are put into a set with name _set -//-The optional parameters of the messages are put into set where every field -// is optional. -//-For mandatory fix long parameters new type is created via removing id and -// length -//-For mandatory variable long parameters new type is created via removing id -//-For parameters which can be also mandatory and optional, the end of name of -// the optional version is extended with an _OPT - -module ISUP_Types -{ - import from General_Types all; - - external function enc_PDU_ISUP(in PDU_ISUP pdu) return octetstring; - external function dec_PDU_ISUP(in octetstring stream) return PDU_ISUP; - external function dec_PDU_ISUP_noCIC(in octetstring stream) return PDU_ISUP; - external function enc_PDU_ISUP_fast(in PDU_ISUP pdu, out octetstring stream) - with { extension "prototype(fast) encode(RAW)" }; - external function dec_PDU_ISUP_backtrack(in octetstring stream, out PDU_ISUP pdu) return integer - with { extension "prototype(backtrack) decode(RAW)" }; - external function dec_PDU_ISUP_backtrack_noCIC(in octetstring stream, out PDU_ISUP pdu) return integer; - -//************************************************************************ -// ISUP parameters -//************************************************************************ -group ISUP_parameters -{ - -//************************************************************************ -// Circuit Identification Code -// Ericsson Specification Reference: Chapter 2.1.3 -// Standard Reference ISUP : Chapter 1.2 -//************************************************************************ - type record Circuit_identification_code - { - BIT12 CIC, // Circuit identification code - BIT4 Spare // Spare - } with { variant "" }; - - -//************************************************************************ -// Message Type -// Ericsson Specification Reference: Chapter 2.1.3 -// Standard Reference ISUP : Chapter 1.3 -//************************************************************************ - type bitstring ISUP_Message_type length(8) - with { variant "FIELDLENGTH(8)" }; - - -//************************************************************************ -// Pointer -// Ericsson Specification Reference: Chapter 2.1.7 -// Standard Reference ISUP : Chapter 1.9 -//************************************************************************ - type integer Pointer (0..255) - with { variant "FIELDLENGTH(8)" }; - - -//************************************************************************ -// End Of Optional Parameters Indicator -// Ericsson Specification Reference: Chapter 2.3.3.30 -// Standard Reference ISUP : Chapter 3.20 -//************************************************************************ - type octetstring End_of_optional_parameters_indicator length(1) - with { variant "FIELDLENGTH(1)" }; - - -//************************************************************************ -// Access Delivery Information -// Ericsson Specification Reference: Chapter 2.3.3.1 -// Standard Reference ISUP : Chapter 3.2 -//************************************************************************ - type record Access_delivery_information // 3.2 / Q.763 - { - BIT8 id, - INT1 lengthField, - - BIT1 AccessDel, // Access delivery indicator - BIT7 Spare // Spare - } with { variant "PRESENCE( id = '00101110'B)"; - variant (lengthField)"LENGTHTO(AccessDel,Spare)"; - }; - - -//************************************************************************ -// Access Transport -// Ericsson Specification Reference: Chapter 2.3.3.2 -// Standard Reference ISUP : Chapter 3.3 -//************************************************************************ - type record Access_transport - { - BIT8 id, - INT1 lengthField, - - OCTN ATP_field - } with { variant "PRESENCE( id = '00000011'B)"; - variant (lengthField)"LENGTHTO(ATP_field)"; - }; - - -//************************************************************************ -// Additional Charging Information -// Ericsson Specification Reference: Chapter 2.3.3.3 -//************************************************************************ - type record Additional_charging_information - { - BIT8 id, - INT1 lengthField, - - BIT8 AddChargeInfo // Additional charging information - } with { variant "PRESENCE( id = '11111010'B)"; - variant (lengthField)"LENGTHTO(AddChargeInfo)"; - }; - - -//************************************************************************ -// Additional Routing Information -// Ericsson Specification Reference: Chapter 2.3.3.4 -//************************************************************************ - type record Additional_routing_information - { - BIT8 id, - INT1 lengthField, - - OCT2 AddRoutInfo // Additional routing information - } with { variant "PRESENCE( id = '11111011'B)"; - variant (lengthField)"LENGTHTO(AddRoutInfo)"; - }; - - -//************************************************************************ -// Application Transport Parameter -// Standard Reference ISUP : Chapter 3.82 -//************************************************************************ - type record Application_transport_parameter - { - BIT8 id, - INT1 lengthField, - - BIT7 applicationContextIdOct1, // Application context identifier - BIT1 extInd1, // Extension indicator - BIT7 applicationContextIdOct1a optional, // Application context identifier - BIT1 extInd1a optional, // Extension indicator - BIT1 releaseCallInd, // Release call indicator - BIT1 sendNotificationInd, // Send notification indicator - BIT5 spare, // Spare - BIT1 extInd2, // Extension indicator - BIT6 aPMSegmentationInd, // APM segmentation indicator - BIT1 sequenceInd, // Sequence indicator - BIT1 extInd3, // Extension indicator - BIT7 segmentationLocalRef optional, // Segmentation local reference - BIT1 extInd3a optional, // Extension indicator - OCTN aPMUserInfo // Encapsulated application information - } with { variant "EXTENSION_BIT_GROUP (yes, applicationContextIdOct1, - extInd1a)"; - variant "EXTENSION_BIT_GROUP (yes, aPMSegmentationInd, - extInd3a)"; - variant "PRESENCE( id = '01111000'B)"; - variant (lengthField)"LENGTHTO(applicationContextIdOct1,extInd1, - applicationContextIdOct1a,extInd1a, - releaseCallInd,sendNotificationInd, - spare,extInd2,aPMSegmentationInd, - sequenceInd,extInd3, - segmentationLocalRef,extInd3a, - aPMUserInfo)"; - }; - - type set of Application_transport_parameter - Application_transport_parameter_set - with { variant "" }; - - -//************************************************************************ -// Automatic Congestion Level -// Ericsson Specification Reference: Chapter 2.3.3.5 -// Standard Reference ISUP : Chapter 3.4 -//************************************************************************ - type record Automatic_congestion_level - { - BIT8 id, - INT1 lengthField, - - BIT8 CongLevel - } with { variant "PRESENCE( id = '00100111'B)"; - variant (lengthField)"LENGTHTO(CongLevel)"; - }; - - -//************************************************************************ -// Backward Call Indicators -// Ericsson Specification Reference: Chapter 2.3.3.6 -// Standard Reference ISUP : Chapter 3.5 -//************************************************************************ - type record Backward_call_indicators_OPT - { - BIT8 id, - INT1 lengthField, - - BIT2 ChargeInd, // Charge indicator - BIT2 CalledPartyStatusInd, // Called party's status indicator - BIT2 CalledPartyCatInd, // Called party's category indicator - BIT2 EndToEndInd, // End-to-end method indicator - BIT1 InterworkingInd, // Interworking indicator - BIT1 EndToEndInfoInd, // End-to-end INFormation indicator - BIT1 ISUPInd, // ISDN User Part indicator - BIT1 HoldingInd, // Holding indicator - BIT1 ISDNAccessInd, // ISDN access indicator - BIT1 EchoControlDevInd, // Echo CONtrol device indicator - BIT2 SCCPMethodInd // SCCP method indicator - } with { variant "PRESENCE( id = '00010001'B)"; - variant (lengthField)"LENGTHTO(ChargeInd,CalledPartyStatusInd, - CalledPartyCatInd,EndToEndInd, - InterworkingInd,EndToEndInfoInd, - ISUPInd,HoldingInd,ISDNAccessInd, - EchoControlDevInd,SCCPMethodInd)"; - }; - - type record Backward_call_indicators - { - BIT2 ChargeInd, // Charge indicator - BIT2 CalledPartyStatusInd, // Called party's status indicator - BIT2 CalledPartyCatInd, // Called party's category indicator - BIT2 EndToEndInd, // End-to-end method indicator - BIT1 InterworkingInd, // Interworking indicator - BIT1 EndToEndInfoInd, // End-to-end INFormation indicator - BIT1 ISUPInd, // ISDN User Part indicator - BIT1 HoldingInd, // Holding indicator - BIT1 ISDNAccessInd, // ISDN access indicator - BIT1 EchoControlDevInd, // Echo CONtrol device indicator - BIT2 SCCPMethodInd // SCCP method indicator - } with { variant ""}; - -//************************************************************************ -// Backward GVNS -// Ericsson Specification Reference: Chapter 2.3.3.7 -// Standard Reference ISUP : Chapter 3.62 -//************************************************************************ - type record Backward_GVNS - { - BIT8 id, - INT1 lengthField, - - BIT2 TerminatingAccessInd, // Terminating access indicator - BIT5 Spare, // Spare - BIT1 ExtensionInd // Extension indicator - } with { variant "PRESENCE( id = '01001101'B)"; - variant (lengthField)"LENGTHTO(TerminatingAccessInd,Spare, - ExtensionInd)"; - }; - - -//************************************************************************ -// Call Diversion Information -// Ericsson Specification Reference: Chapter 2.3.3.8 -// Standard Reference ISUP : Chapter 3.6 -//************************************************************************ - type record Call_diversion_information - { - BIT8 id, - INT1 lengthField, - - BIT3 NotificationSubscriptionOptions, // Notification subscription options - BIT4 RedirectionReason, // Redirecting reason - BIT1 Spare // Spare - } with { variant "PRESENCE( id = '00110110'B)"; - variant (lengthField)"LENGTHTO(NotificationSubscriptionOptions, - RedirectionReason,Spare)"; - }; - - -//************************************************************************ -// Call Diversion Treatment Information -// Ericsson Specification Reference: Chapter 2.3.3.9 -// Standard Reference ISUP : Chapter 3.72 -//************************************************************************ - type record Call_diversion_treatment_indicators - { - BIT8 id, - INT1 lengthField, - - BIT2 CallDivertedInd, // Call to be diverted indicator - BIT5 Spare, // Spare - BIT1 ExtensionInd // Extension indicator - } with { variant "PRESENCE( id = '01101110'B)"; - variant(lengthField)"LENGTHTO(CallDivertedInd,Spare,ExtensionInd)"; - }; - - -//************************************************************************ -// Call History Information -// Ericsson Specification Reference: Chapter 2.3.3.10 -// Standard Reference ISUP : Chapter 3.7 -//************************************************************************ - type record Call_history_information - { - BIT8 id, - INT1 lengthField, - - OCT2 PropagatDelayValue - } with { variant "PRESENCE( id = '00101101'B)"; - variant (lengthField)"LENGTHTO(PropagatDelayValue)"; - }; - - -//************************************************************************ -// Call Offering Treatment Indicators -// Ericsson Specification Reference: Chapter 2.3.3.11 -// Standard Reference ISUP : Chapter 3.74 -//************************************************************************ - type record Call_offering_treatment_indicators - { - BIT8 id, - INT1 lengthField, - - BIT2 CallOfferedInd, // Call to be offered indicator - BIT5 Spare, // Spare - BIT1 ExtensionInd // Extension indicator - } with { variant "PRESENCE( id = '01110000'B)"; - variant (lengthField)"LENGTHTO(CallOfferedInd,Spare,ExtensionInd)"; - }; - - -//************************************************************************ -// Call Reference -// Standard Reference ISUP : Chapter 3.8 -//************************************************************************ - type record Call_reference - { - BIT8 id, - INT1 lengthField, - - OCT5 CRef_contents // Call identity - } with { variant "PRESENCE( id = '00000001'B)"; - variant (lengthField)"LENGTHTO(CRef_contents)"; - }; - - -//************************************************************************ -// Call Transfer Number -// Ericsson Specification Reference: Chapter 2.3.3.12 -// Standard Reference ISUP : Chapter 3.64 -//************************************************************************ - type record Call_transfer_number - { - BIT8 id, - INT1 lengthField, - - BIT7 NatureOfAddrInd, // Nature of address indicator - BIT1 OddEven, // Odd/even indicator - BIT2 ScreeningInd, // Screening indicator - BIT2 AddrPresentRestInd, // Address presentation REStricted indicator - BIT3 NumberingPlanInd, // Numbering plan indicator - BIT1 Spare, // Spare - HEX1_32 AddrSignals optional, // Address signals and Filler if odd addr.signals - HEX1 Filler optional - } with { variant (AddrSignals) "HEXORDER(low)"; - variant "PRESENCE( id = '01000101'B)"; - variant (lengthField)"LENGTHTO(NatureOfAddrInd,OddEven, - ScreeningInd,AddrPresentRestInd, - NumberingPlanInd,Spare, - AddrSignals,Filler)"; - }; - - -//************************************************************************ -// Call Transfer Reference -// Ericsson Specification Reference: Chapter 2.3.3.13 -// Standard Reference ISUP : Chapter 3.65 -//************************************************************************ - type record Call_transfer_reference - { - BIT8 id, - INT1 lengthField, - - BIT8 CallTransferId // Call transfer identity - } with { variant "PRESENCE( id = '01000011'B)"; - variant (lengthField)"LENGTHTO(CallTransferId)"; - }; - - -//************************************************************************ -// Call Transfer Treatment Indicators -// Ericsson Specification Reference: Chapter 2.3.3.14 -//************************************************************************ - type record Call_transfer_treatment_indicators - { - BIT8 id, - INT1 lengthField, - - BIT2 CallTransferredInd, // Call to be transferred indicator - BIT5 Spare, // Spare - BIT1 ExtensionInd // Extension indicator - } with { variant "PRESENCE( id = '11110011'B)"; - variant (lengthField)"LENGTHTO(CallTransferredInd,Spare, - ExtensionInd)"; - }; - - -//************************************************************************ -// Called IN Number -// Standard Reference ISUP : Chapter 3.73 -//************************************************************************ - type record Called_IN_number - { - BIT8 id, - INT1 lengthField, - - BIT7 NatureOfAddrInd, // Nature of address indicator - BIT1 OddEven, // Odd/even indicator - BIT2 spare_1, - BIT2 AddrPresentRestInd, // Address presentation REStricted indicator - BIT3 NumberingPlanInd, // Numbering plan indicator - BIT1 spare_2, // Numbering plan indicator - HEX1_32 AddrSignals optional, // Address signals and Filler if odd addr.signals - HEX1 Filler optional - } with { variant (AddrSignals) "HEXORDER(low)"; - variant "PRESENCE( id = '01101111'B)"; - variant (lengthField)"LENGTHTO(NatureOfAddrInd,OddEven, - spare_1,AddrPresentRestInd, - NumberingPlanInd,spare_2, - AddrSignals,Filler)"; - }; - -//************************************************************************ -// Called Directory Number -// Standard Reference ISUP : Chapter 3.86 -//************************************************************************ - type record Called_directory_number - { - BIT8 id, - INT1 lengthField, - - BIT7 NatureOfAddrInd, // Nature of address indicator - BIT1 OddEven, // Odd/even indicator - BIT4 spare, // spare - BIT3 NumberingPlanInd, // Numbering plan indicator - BIT1 INNInd, // Internal network number indicator - HEX1_32 AddrSignals, // Address signals and Filler if odd addr.signals - HEX1 Filler optional - } with { variant (AddrSignals) "HEXORDER(low)"; - variant "PRESENCE( id = '01111101'B)"; - variant (lengthField)"LENGTHTO(NatureOfAddrInd,OddEven, - spare,NumberingPlanInd, - INNInd,AddrSignals,Filler)"; - }; - - - -//************************************************************************ -// Called Party Number -// Ericsson Specification Reference: Chapter 2.3.3.15 -// Standard Reference ISUP : Chapter 3.9 -//************************************************************************ - type record Called_party_number - { - INT1 lengthField, - - BIT7 NatureOfAddrInd, // Nature of address indicator - BIT1 OddEven, // Odd/even indicator - BIT4 Spare, // spare - BIT3 NumberingPlanInd, // Numbering plan indicator - BIT1 INNInd, // Internal network number indicator - HEX1_32 AddrSignals, // Address signals and Filler if odd addr.signals - HEX1 Filler optional - } with { variant (AddrSignals) "HEXORDER(low)"; - variant (lengthField)"LENGTHTO(NatureOfAddrInd,OddEven, - Spare,NumberingPlanInd, - INNInd,AddrSignals,Filler)"; - }; - - -//************************************************************************ -// Calling Geodetic Location -// Standard Reference ISUP : Chapter 3.88 -//************************************************************************ - type record Ellipsoid_point - { - OCT3 DgrLat, // Degrees of latitude with sign - OCT3 DgrLong // Degrees of longitude - } with { variant "" }; - - type record Ellipsoid_point_with_uncertainty - { - OCT3 DgrLat, // Degrees of latitude with sign - OCT3 DgrLong, // Degrees of longitude - BIT7 UncCode, // Uncertainty code - BIT1 spare_1, // Spare - BIT7 Conf, // Confidence - BIT1 spare_2 // Spare - } with { variant "" }; - - type record Point_with_altitude_and_uncertainty - { - OCT3 DgrLat, // Degrees of latitude with sign - OCT3 DgrLong, // Degrees of longitude - BIT7 UncCode_1, // Uncertainty code - BIT1 spare_1, // Spare - OCT2 Alt, // Altitude with sign - BIT7 UncCode_2, // Uncertainty code - BIT1 spare_2, // Spare - BIT7 Conf, // Confidence - BIT1 spare_3 // Spare - } with { variant "" }; - - type record Ellipse_on_the_ellipsoid - { - OCT3 DgrLat, // Degrees of latitude with sign - OCT3 DgrLong, // Degrees of longitude - BIT7 MajRad, // Major radius - BIT1 spare_1, // Spare - BIT7 MinRad, // Minor radius - BIT1 spare_2, // Spare - OCT1 orient, // Orientation - BIT7 Conf, // Confidence - BIT1 spare_3 // Spare - } with { variant "" }; - - type record Ellipsoid_circle_sector - { - OCT3 DgrLat, // Degrees of latitude with sign - OCT3 DgrLong, // Degrees of longitude - BIT7 Rad, // Radius - BIT1 spare_1, // Spare - OCT1 Offset, // Offset - OCT1 IncAng, // Included angle - BIT7 Conf, // Confidence - BIT1 spare_2 // Spare - } with { variant "" }; - - type record Polygon - { - integer NumPoints, // Number of points - BIT4 spare_1, // Spare - DgrLat_longs DgrLat_Longs, // Degrees of latitude / logitude - BIT7 Conf, // Confidence - BIT1 spare_2 // Spare - } with { variant (NumPoints)"LENGTHTO(DgrLat_Longs)"; - variant (NumPoints)"UNIT(elements)"; - variant (NumPoints) "FIELDLENGTH(4)"; - }; - - type record of DgrLat_long DgrLat_longs// Degrees of latitude / logitude - - type record DgrLat_long - { - OCT3 DgrLat, // Degrees of latitude with sign - OCT3 DgrLong // Degrees of longitude - } with { variant "" }; - - type union Shape_description_union - { - Ellipsoid_point EP, - Ellipsoid_point_with_uncertainty EPU, - Point_with_altitude_and_uncertainty PAU, - Ellipse_on_the_ellipsoid EonE, - Ellipsoid_circle_sector ECS, - Polygon Pol - } with { variant "" }; - - type record Calling_geodetic_location - { - BIT8 id, - INT1 lengthField, - - BIT2 Scr, // Screening - BIT2 LPRI, // Location presentation REStricted indicator - BIT4 Spare, // Spare - BIT7 typeSh, // Type of shape - BIT1 ExtI, // Extension indicator - Shape_description_union ShapeDes - } with { variant (ShapeDes) "CROSSTAG( - EP, typeSh = '0000000'B; - EPU, typeSh = '0000001'B; - PAU, typeSh = '0000010'B; - EonE, typeSh = '0000011'B; - ECS, typeSh = '0000100'B; - Pol, typeSh = '0000101'B - )"; - variant "PRESENCE( id = '10000001'B)"; - variant (lengthField)"LENGTHTO(Scr,LPRI,Spare,typeSh,ExtI, - ShapeDes)"; - }; - -//************************************************************************ -// Calling name identity -// Ericsson Specification Reference: Chapter 2.3.3.16 -//************************************************************************ - type record Calling_name_identity - { - BIT8 id, - INT1 lengthField, - - BIT2 namePresentationRestrictedInd, // Name presentation restricted ind. - BIT2 screeningIndicator, // Screening indicator - BIT1 availabilityInd, // Availability indicator - BIT3 typeOfName, // Type of name - BIT8 encodingInd, // Encoding identification - OCT1_50 characterSubfield // Character - } with { variant "PRESENCE( id = '11110010'B)"; - variant (lengthField)"LENGTHTO(namePresentationRestrictedInd, - screeningIndicator,availabilityInd, - typeOfName,encodingInd, - characterSubfield)"; - }; - - -//************************************************************************ -// Calling Party Number -// Ericsson Specification Reference: Chapter 2.3.3.17 -// Standard Reference ISUP : Chapter 3.10 -//************************************************************************ - type record Calling_party_number - { - BIT8 id, - INT1 lengthField, - - BIT7 NatureOfAddrInd, // Nature of address indicator - BIT1 OddEven, // Odd/even indicator - BIT2 ScreeningInd, // Screening indicator - BIT2 AddrPresentRestInd, // Address presentation REStricted indicator - BIT3 NumberingPlanInd, // Numbering plan indicator - BIT1 NIInd, // Calling party number incomplete indicator - HEX1_32 AddrSignals optional, // Address signals and Filler if odd addr.signals - HEX1 Filler optional - } with { variant (AddrSignals) "HEXORDER(low)"; - variant "PRESENCE( id = '00001010'B)"; - variant (lengthField)"LENGTHTO(NatureOfAddrInd,OddEven, - ScreeningInd,AddrPresentRestInd, - NumberingPlanInd,NIInd, - AddrSignals,Filler)"; - }; - -//************************************************************************ -// Calling Party Number -// Ericsson Specification Reference: Chapter 2.3.3.18 -// Standard Reference ISUP : Chapter 3.11 -//************************************************************************ - type record Calling_partys_category_OPT - { - BIT8 id, - INT1 lengthField, - - BIT8 CallingPartysCategory // Calling party's category - } with { variant "PRESENCE( id = '00001001'B)"; - variant (lengthField)"LENGTHTO(CallingPartysCategory)"; - }; - - type record Calling_partys_category - { - BIT8 CallingPartysCategory // Calling party's category - } with { variant "" }; - -//************************************************************************ -// Cause Indicators -// Ericsson Specification Reference: Chapter 2.3.3.19 -// Standard Reference ISUP : Chapter 3.12 -//************************************************************************ - type record Cause_indicators_OPT - { - BIT8 id, - INT1 lengthField, - - BIT4 Location, // Location - BIT1 Spare, // Spare - BIT2 CodingStandard, // Coding standard - BIT1 Ext1, // Extension indicator - BIT7 CauseValue, // Vause value - BIT1 Ext2, // Extension indicator - OCTN Diagnostics optional // Diagnostic(s) (if any) - } with { variant "PRESENCE( id = '00010010'B)"; - variant (lengthField)"LENGTHTO(Location,Spare,CodingStandard, - Ext1,CauseValue, - Ext2,Diagnostics)"; - }; - - type record Cause_indicators - { - INT1 lengthField, - - BIT4 Location, // Location - BIT1 Spare, // Spare - BIT2 CodingStandard, // Coding standard - BIT1 Ext1, // Extension indicator - BIT7 Reserved optional, // National Recommendation - BIT1 Ext1a optional, // Present when Reserved field is present - BIT7 CauseValue, // Vause value - BIT1 Ext2, // Extension indicator - OCTN Diagnostics optional // Diagnostic(s) (if any) - } with { variant (Reserved) "PRESENCE (Ext1='0'B)"; - variant (Ext1a) "PRESENCE (Ext1='0'B)"; - variant (lengthField)"LENGTHTO(Location,Spare,CodingStandard, - Ext1,Reserved,Ext1a,CauseValue, - Ext2,Diagnostics)"; - }; - - -//************************************************************************ -// CCNR Possible Indicator -// Standard Reference ISUP : Chapter 3.83 -//************************************************************************ - type record CCNR_possible_indicator - { - BIT8 id, - INT1 lengthField, - - BIT1 CCNRPInd, // CCNR possible indicator - BIT7 spare // Spare - } with { variant "PRESENCE( id = '01111010'B)"; - variant (lengthField)"LENGTHTO(CCNRPInd,spare)"; - }; - - -//************************************************************************ -// CCSS -// Ericsson Specification Reference: Chapter 2.3.3.20 -// Standard Reference ISUP : Chapter 3.63 -//************************************************************************ - type record CCSS_parameter - { - BIT8 id, - INT1 lengthField, - - BIT1 CCSSCallInd, // CCSS call indicator - BIT7 Spare - } with { variant "PRESENCE( id = '01001011'B)"; - variant (lengthField)"LENGTHTO(CCSSCallInd,Spare)"; - }; - - -//************************************************************************ -// Charged Party Identification -// Standard Reference ISUP : Chapter 3.75 -//************************************************************************ - type record Charged_party_identification - { - BIT8 id, - INT1 lengthField, - - OCTN ChargedPartyId - } with { variant "PRESENCE( id = '01110001'B)"; - variant (lengthField)"LENGTHTO(ChargedPartyId)"; - }; - - -//************************************************************************ -// Circuit Assignment Map -// Standard Reference ISUP : Chapter 3.69 -//************************************************************************ - type record Circuit_assignment_map - { - BIT8 id, - INT1 lengthField, - - BIT6 MapType, // Map type - BIT2 spare_1, // Spare - BIT31 MapFormat, // Map format - BIT1 spare_2 // spare - } with { variant "PRESENCE( id = '00100101'B)"; - variant (lengthField)"LENGTHTO(MapType,spare_1,MapFormat,spare_2)"; - }; - - -//************************************************************************ -// Circuit Group Supervision Message Type Indicator -// Ericsson Specification Reference: Chapter 2.3.3.21 -// Standard Reference ISUP : Chapter 3.13 -//************************************************************************ - type record Circuit_group_supervision_message_type_indicator - { - BIT2 Type, // Type indicator - BIT6 Spare // Spare - } with { variant "" }; - - -//************************************************************************ -// Circuit State Indicator -// Ericsson Specification Reference: Chapter 2.3.3.22 -// Standard Reference ISUP : Chapter 3.14 -//************************************************************************ - type record Circuit_state_indicator - { - INT1 lengthField, - - OCTN CircuitStateIndicator - } with { variant (lengthField)"LENGTHTO(CircuitStateIndicator)"; - }; - - -//************************************************************************ -// Closed User Group Interlock Code -// Ericsson Specification Reference: Chapter 2.3.3.23 -// Standard Reference ISUP : Chapter 3.15 -//************************************************************************ -// The contents of this parameter are not subdivided because values -//are easy to give as hexnumbers. - type record Closed_user_group_interlock_code - { - BIT8 id, - INT1 lengthField, - - OCT4 CUGIC_contents // CUGIC - } with { variant "PRESENCE( id = '00011010'B)"; - variant (lengthField)"LENGTHTO(CUGIC_contents)"; - }; - - -//************************************************************************ -// Collect Call Request -// Standard Reference ISUP : Chapter 3.81 -//************************************************************************ - type record Collect_call_request - { - BIT8 id, - INT1 lengthField, - - BIT1 CCReqInd, // Collect call request indicator - BIT7 spare // Spare - } with { variant "PRESENCE( id = '01111001'B)"; - variant (lengthField)"LENGTHTO(CCReqInd,spare)"; - }; - - -//************************************************************************ -// Conference Treatment Indicators -// Ericsson Specification Reference: Chapter 2.3.3.24 -// Standard Reference ISUP : Chapter 3.76 -//************************************************************************ - type record Conference_treatment_indicators - { - BIT8 id, - INT1 lengthField, - - BIT2 ConfAcceptanceInd, // Conference acceptance indicator - BIT5 Spare, // Spare - BIT1 ExtensionInd // Extension indicator - } with { variant "PRESENCE( id = '01110010'B)"; - variant (lengthField)"LENGTHTO(ConfAcceptanceInd,Spare, - ExtensionInd)"; - }; - - -//************************************************************************ -// Connected Number -// Ericsson Specification Reference: Chapter 2.3.3.25 -// Standard Reference ISUP : Chapter 3.16 -//************************************************************************ - type record Connected_number - { - BIT8 id, - INT1 lengthField, - - BIT7 NatureOfAddrInd, // Nature of address indicators - BIT1 OddEven, // Odd/even indicator - BIT2 ScreeningInd, // Screening indicator - BIT2 AddrPresentRestInd, // Address presentation REStriction indicator - BIT3 NumberingPlanInd, // Numbering plan indicator - BIT1 Spare, // Spare - HEX1_32 AddrSignals optional, // Address signals and Filler if odd addr.signals - HEX1 Filler optional - } with { variant (AddrSignals) "HEXORDER(low)"; - variant "PRESENCE( id = '00100001'B)"; - variant (lengthField)"LENGTHTO(NatureOfAddrInd,OddEven, - ScreeningInd,AddrPresentRestInd, - NumberingPlanInd,Spare, - AddrSignals,Filler)"; - }; - -//************************************************************************ -// Connection Request -// Standard Reference ISUP : Chapter 3.17 -//************************************************************************ - type record Connection_request - { - BIT8 id, - INT1 lengthField, - - OCT3 LocRef, // Local reference - OCT2 SPC_contents, // Signalling point code - BIT8 PC, // Protocol class - BIT8 credit // Credit - } with { variant "PRESENCE( id = '00001101'B)"; - variant (lengthField)"LENGTHTO(LocRef,SPC_contents,PC,credit)"; - }; - - -//************************************************************************ -// Continuity Indicators -// Ericsson Specification Reference: Chapter 2.3.3.26 -// Standard Reference ISUP : Chapter 3.18 -//************************************************************************ - type record Continuity_indicators - { - BIT1 ContInd_field, // Continuity indicator - BIT7 Spare // Spare - } with { variant "" }; - - -//************************************************************************ -// Correlation Id -// Ericsson Specification Reference: Chapter 2.3.3.27 -// Standard Reference ISUP : Chapter 3.70 -//************************************************************************ - type record Correlation_id - { - BIT8 id, - INT1 lengthField, - - OCTN CorrelationId - } with { variant "PRESENCE( id = '01100101'B)"; - variant (lengthField)"LENGTHTO(CorrelationId)"; - }; - - -//************************************************************************ -// Display Information -// Ericsson Specification Reference: Chapter 2.3.3.28 -// Standard Reference ISUP : Chapter 3.77 -//************************************************************************ - type record Display_information - { - BIT8 id, - INT1 lengthField, - - OCTN DisplayInfo - } with { variant "PRESENCE( id = '01110011'B)"; - variant (lengthField)"LENGTHTO(DisplayInfo)"; - }; - - -//************************************************************************ -// Distributed Dynamic Routing Indicators -// Ericsson Specification Reference: Chapter 2.3.3.29 -//************************************************************************ - type record Distributed_dynamic_routing_indicators - { - BIT8 id, - INT1 lengthField, - - BIT1 AutoReroutingInd, // Automatic re-routing indicator - BIT1 EventDepRoutingInd, // Event dependent routing indicator - BIT6 Spare // Spare - } with { variant "PRESENCE( id = '11111000'B)"; - variant (lengthField)"LENGTHTO(AutoReroutingInd,EventDepRoutingInd, - Spare)"; - }; - - -//************************************************************************ -// Echo Control Information -// Standard Reference ISUP : Chapter 3.19 -//************************************************************************ - type record Echo_control_information - { - BIT8 id, - INT1 lengthField, - - BIT2 OEchoRsI, // Outgoing echo CONtrol device INFormation indicator - BIT2 IEchoRsI, // Incoming echo CONtrol device INFormation indicator - BIT2 OEchoRqI, // Outgoing echo CONtrol device request indicator - BIT2 IEchoRqI // Incoming echo CONtrol device request indicator - } with { variant "PRESENCE( id = '00110111'B)"; - variant (lengthField)"LENGTHTO(OEchoRsI,IEchoRsI,OEchoRqI, - IEchoRqI)"; - }; - - -//************************************************************************ -// Event Information -// Ericsson Specification Reference: Chapter 2.3.3.31 -// Standard Reference ISUP : Chapter 3.21 -//************************************************************************ - type record Event_information - { - BIT7 EventInd, // Event indicator - BIT1 EventPresentRestrInd // Event presentation retriction indicator - } with { variant ""}; - - -//************************************************************************ -// Facility Indicator -// Ericsson Specification Reference: Chapter 2.3.3.32 -// Standard Reference ISUP : Chapter 3.22 -//************************************************************************ - type record Facility_indicator - { - OCT1 FacilityInd // Facility indicator - } with { variant "" }; - - -//************************************************************************ -// Forward Call Indicators -// Ericsson Specification Reference: Chapter 2.3.3.33 -// Standard Reference ISUP : Chapter 3.23 -//************************************************************************ - type record Forward_call_indicators - { - BIT1 NatIntCallInd, // National/international call indicator - BIT2 EndToEndMethInd, // End-to-end method indicator - BIT1 InterworkInd, // Interworking indicator - BIT1 EndToEndInfoInd, // End-to-end INFormation indicator - BIT1 ISUPInd, // ISDN User Part indicator - BIT2 ISUPPreferenceInd, // ISDN User Part preference indicator - BIT1 ISDNAccessInd, // ISDN access indicator - BIT2 SCCPMethodInd, // SCCP method indicator - BIT1 Spare, // Spare - BIT2 Reserved, // Reserved - BIT2 VPNCallInd // VPN call indicator (national use) - } with { variant "" }; - - -//************************************************************************ -// Forward GVNS -// Ericsson Specification Reference: Chapter 2.3.3.34 -// Standard Reference ISUP : Chapter 3.66 -//************************************************************************ - type record Forward_GVNS - { - BIT8 id, - INT1 lengthField, - - INT4b OPSP_Len, // OPSP length indicator - BIT3 OPSP_Spare, // Spare - BIT1 OPSP_OddEven, // Odd/even indicator - HEX1_32 OPSP_AddSign optional, // Digits and Filler if odd digits - HEX1 OPSP_Filler optional, - INT4b GUG_Len, // GUG length indicator - BIT3 GUG_Spare, // Spare - BIT1 GUG_OddEven, // Odd/even indicator - HEX1_32 GUG_AddSign optional, // Digits and Filler if odd digits - HEX1 GUG_Filler optional, - INT4b TNRN_Len, // TNRN length indicator - BIT3 TNRN_NumPlanInd, // Numbering plan indicator - BIT1 TNRN_OddEven, // Odd/even indicator - BIT7 TNRN_NatOfAddInd optional, // Nature of address indicator - BIT1 TNRN_Spare optional, // Spare - HEX1_32 TNRN_AddSign optional, // Digits and Filler if odd digits - HEX1 TNRN_Filler optional - } with { variant (OPSP_Len) "LENGTHTO(OPSP_AddSign,OPSP_Filler)"; - variant (GUG_Len) "LENGTHTO(GUG_AddSign,GUG_Filler)"; - variant (TNRN_Len) "LENGTHTO(TNRN_NatOfAddInd,TNRN_Spare, - TNRN_AddSign,TNRN_Filler)"; - variant (OPSP_AddSign) "HEXORDER(low)"; - variant (GUG_AddSign) "HEXORDER(low)"; - variant (TNRN_AddSign) "HEXORDER(low)"; - variant "PRESENCE( id = '01001100'B)"; - variant (lengthField)"LENGTHTO(OPSP_Len,OPSP_Spare,OPSP_OddEven, - OPSP_AddSign,OPSP_Filler,GUG_Len, - GUG_Spare,GUG_OddEven,GUG_AddSign, - GUG_Filler,TNRN_Len,TNRN_NumPlanInd, - TNRN_OddEven,TNRN_NatOfAddInd, - TNRN_Spare,TNRN_AddSign, - TNRN_Filler)"; - }; - - -//************************************************************************ -// Freephone Indicators -// Ericsson Specification Reference: Chapter 2.3.3.35 -//************************************************************************ - type record Freephone_indicators - { - BIT8 id, - INT1 lengthField, - - BIT1 FreephoneInd, // Freephone indicator - BIT7 Spare // Spare - } with { variant "PRESENCE( id = '01000001'B)"; - variant (lengthField)"LENGTHTO(FreephoneInd,Spare)"; - }; - - -//************************************************************************ -// Generic Digits -// Ericsson Specification Reference: Chapter 2.3.3.36 -// Standard Reference ISUP : Chapter 3.24 -//************************************************************************ - type record Generic_digits - { - BIT8 id, - INT1 lengthField, - - BIT5 TypeOfDigits, // Type of digits - BIT3 EncodingScheme, // Encoding scheme - HEX1_32 Digits // Digits - } with { variant "PRESENCE( id = '11000001'B)"; - variant (lengthField)"LENGTHTO(TypeOfDigits,EncodingScheme, - Digits)"; - }; - - type set of Generic_digits Generic_digits_set - with { variant "" }; - - -//************************************************************************ -// Generic Notification Indicator -// Ericsson Specification Reference: Chapter 2.3.3.37 -// Standard Reference ISUP : Chapter 3.25 -//************************************************************************ - type record Generic_notification_indicator - { - BIT8 id, - INT1 lengthField, - - BIT7 NotificationInd, // Notification indicator - BIT1 ExtInd // Extension indicator - } with { variant "PRESENCE( id = '00101100'B)"; - variant (lengthField)"LENGTHTO(NotificationInd,ExtInd)"; - }; - - type set of Generic_notification_indicator - Generic_notification_indicator_set - with { variant "" }; - - -//************************************************************************ -// Generic Number -// Ericsson Specification Reference: Chapter 2.3.3.38 -// Standard Reference ISUP : Chapter 3.26 -//************************************************************************ - type record Generic_number - { - BIT8 id, - INT1 lengthField, - - BIT8 NumQualifier, // Number qualifier indicator - BIT7 NatureOfAddrInd, // Nature of address indicator - BIT1 Odd_Even, // Odd/even indicator - BIT2 ScreeningInd, // Screening indicator - BIT2 AddrPresentRestInd, // Address presesntation REStricted indicator - BIT3 NumberingPlanInd, // Numbering plan indicator - BIT1 NIInd, // Number incomplete indicator - HEX1_32 AddrSignals optional, // Address signals and Filler if odd addr.signals - HEX1 Filler optional - } with { variant (AddrSignals) "HEXORDER(low)"; - variant "PRESENCE( id = '11000000'B)"; - variant (lengthField)"LENGTHTO(NumQualifier,NatureOfAddrInd, - Odd_Even,ScreeningInd, - AddrPresentRestInd,NumberingPlanInd, - NIInd,AddrSignals,Filler)"; - }; - - type set of Generic_number Generic_number_set - with { variant "" }; - - - //************************************************************************ -// HTR Information -// Standard Reference ISUP : Chapter 3.89 -//************************************************************************ - type record HTR_information - { - BIT8 id, - INT1 lengthField, - - BIT7 NatureOfAddrInd, // Nature of address indicator - BIT1 OddEven, // Odd/even indicator - BIT4 spare_1, // Spare - BIT3 NumberingPlanInd, // Numbering plan indicator - BIT1 spare_2, // Spare - HEX1_32 AddrSignals, // Address signals and Filler if odd addr.signals - HEX1 Filler optional - } with { variant (AddrSignals) "HEXORDER(low)"; - variant "PRESENCE( id = '10000010'B)"; - variant (lengthField)"LENGTHTO(NatureOfAddrInd,OddEven,spare_1, - NumberingPlanInd,spare_2, - AddrSignals,Filler)"; - }; - -//************************************************************************ -// Hop Counter -// Ericsson Specification Reference: Chapter 2.3.3.39 -// Standard Reference ISUP : Chapter 3.80 -//************************************************************************ - type record Hop_counter - { - BIT8 id, - INT1 lengthField, - - BIT5 HopCount, // Hop counter - BIT3 spare // Spare - } with { variant "PRESENCE( id = '00111101'B)"; - variant (lengthField)"LENGTHTO(HopCount,spare)"; - }; - - -//************************************************************************ -// Information Indicators -// Ericsson Specification Reference: Chapter 2.3.3.40 -// Standard Reference ISUP : Chapter 3.28 -//************************************************************************ - type record Information_indicators - { - BIT2 CallingPartyAddrRespInd, // Calling party address RESponse indicator - BIT1 HoldProvidedInd, // Hold provided indicator - BIT2 Spare1, // Spare - BIT1 CallingPartyCatRespInd, // Calling party's category RESponse ind. - BIT1 Reserved1, // Reserved - BIT1 SolicitedInfoInd, // Solicited INFormation indicator - BIT4 Spare2, // Spare - BIT4 Reserved2 // Reserved 2 - } with { variant "" }; - - -//************************************************************************ -// Information Request Indicators -// Ericsson Specification Reference: Chapter 2.3.3.41 -// Standard Reference ISUP : Chapter 3.29 -//************************************************************************ - type record Information_request_indicators - { - BIT1 CallingPartyAddrRequestInd,// Calling party address request ind. - BIT1 HoldingInd_or_Spare, // Holding indicator - BIT1 Spare1, // Spare - BIT1 CallingPartyCatRequestInd, // Calling party's category request ind. - BIT1 Reserved1, // Charge INFormation request ind. - BIT2 Spare2, // Spare - BIT1 MCIDReqInd_or_Spare, // Malicious call identification request ind. - BIT4 Spare3, // Spare - BIT4 Reserved2 // Reserved - } with { variant "" }; - - -//************************************************************************ -// Location Number -// Ericsson Specification Reference: Chapter 2.3.3.42 -// Standard Reference ISUP : Chapter 3.30 -//************************************************************************ - type record Location_number - { - BIT8 id, - INT1 lengthField, - - BIT7 NatureOfAddrInd, // Nature of address indicator - BIT1 OddEven, // Odd/Even indicator - BIT2 ScreeningInd, // Screening indicator - BIT2 AddrPresentRestInd, // Address presentation REStricted indicator - BIT3 NumberingPlanInd, // Numbering plan indicator - BIT1 INNInd, // Internal network number indicator - HEX1_32 AddrSignals optional, // Address signals and Filler if odd addr.signals - HEX1 Filler optional - } with { variant (AddrSignals) "HEXORDER(low)"; - variant "PRESENCE( id = '00111111'B)"; - variant (lengthField)"LENGTHTO(NatureOfAddrInd,OddEven, - ScreeningInd,AddrPresentRestInd, - NumberingPlanInd,INNInd, - AddrSignals,Filler)"; - }; - -//************************************************************************ -// Loop Prevention Indicators -// Ericsson Specification Reference: Chapter 2.3.3.43 -// Standard Reference ISUP : Chapter 3.67 -//************************************************************************ - type record Loop_prevention_indicators - { - BIT8 id, - INT1 lengthField, - - BIT1 Type, // Type - BIT2 ResponseInd_or_Spare, // Response indicator or Spare - BIT5 Spare - } with { variant "PRESENCE( id = '01000100'B)"; - variant (lengthField)"LENGTHTO(Type,ResponseInd_or_Spare,Spare)"; - }; - -//************************************************************************ -// MCID Request Indicators -// Ericsson Specification Reference: Chapter 2.3.3.44 -// Standard Reference ISUP : Chapter 3.31 -//************************************************************************ - type record MCID_request_indicators - { - BIT8 id, - INT1 lengthField, - - BIT1 MCIDReqInd, // MCID request indicator - BIT1 HoldingInd, // Holding indicator - BIT6 Spare // Spare - } with { variant "PRESENCE( id = '00111011'B)"; - variant (lengthField)"LENGTHTO(MCIDReqInd,HoldingInd,Spare)"; - }; - - -//************************************************************************ -// MCID Response Indicators -// Ericsson Specification Reference: Chapter 2.3.3.45 -// Standard Reference ISUP : Chapter 3.32 -//************************************************************************ - type record MCID_response_indicators - { - BIT8 id, - INT1 lengthField, - - BIT1 MCIDRespInd, // MCID RESponse indicator - BIT1 HoldingProvInd, // Hold provided indicator - BIT6 Spare // Spare - } with { variant "PRESENCE( id = '00111100'B)"; - variant (lengthField)"LENGTHTO(MCIDRespInd,HoldingProvInd,Spare)"; - }; - - -//************************************************************************ -// Message Compatibility Information -// Ericsson Specification Reference: Chapter 2.3.3.46 -// Standard Reference ISUP : Chapter 3.33 -//************************************************************************ - type record Message_compatibility_information - { - BIT8 id, - INT1 lengthField, - - BIT1 TransitIntermedExchInd, // Transit at intermediate exchange ind. - BIT1 ReleaseCallInd, // Release call indicator - BIT1 SendNotificationInd, // Send notification indicator - BIT1 DiscardMessageInd, // Discard message indicator - BIT1 PassOnNotPossibleInd, // Pass on not possible indicator - BIT2 BroadNarrowbandIwInd, // Broadband/narrowband interworking ind. - BIT1 ExtInd1, // Extension indicator - OCTN Spare2 optional - } with { variant "EXTENSION_BIT_GROUP (yes,TransitIntermedExchInd,Spare2)"; - variant "PRESENCE( id = '00111000'B)"; - variant (lengthField)"LENGTHTO(TransitIntermedExchInd, - ReleaseCallInd,SendNotificationInd, - DiscardMessageInd, - PassOnNotPossibleInd, - BroadNarrowbandIwInd, - ExtInd1,Spare2)"; - }; - - - - -//************************************************************************ -// Meter Pulse Indicator -// Ericsson Specification Reference: Chapter 2.3.3.47 -//************************************************************************ - type record Meter_pulse_indicator - { - BIT8 id, - INT1 lengthField, - - OCT1 MeterPulse, // Meter pulse indicator - OCT1 Reserved // Reserved - } with { variant "PRESENCE( id = '11111110'B)"; - variant (lengthField)"LENGTHTO(MeterPulse,Reserved)"; - }; - -//************************************************************************ -// MLPP Precedence -// Ericsson Specification Reference: Chapter 2.3.3.48 -// Standard Reference ISUP : Chapter 3.34 -//************************************************************************ - type record MLPP_precedence - { - BIT8 id, - INT1 lengthField, - - BIT4 PreLev, // Precedence level - BIT1 spare_1, // Spare - BIT2 LFB, // Look ahead for busy - BIT1 spare_2, // Spare - OCT2 NI, // Network identity - OCT3 ServDom // MLPP service domain - } with { variant "PRESENCE( id = '00111010'B)"; - variant (lengthField)"LENGTHTO(PreLev,spare_1,LFB,spare_2,NI, - ServDom)"; - }; - - -//************************************************************************ -// Nature Of Connection Indicators -// Ericsson Specification Reference: Chapter 2.3.3.49 -// Standard Reference ISUP : Chapter 3.35 -//************************************************************************ - type record Nature_of_connection_indicators - { - BIT2 SatelliteInd, // Satellite indicator - BIT2 ContinuityCheckInd, // Continuity check indicator - BIT1 EchoControlDevInd, // Echo CONtrol device indicator - BIT3 Spare // Spare - } with { variant "" }; - - -//************************************************************************ -// Network Call Reference -// Ericsson Specification Reference: Chapter 2.3.3.50 -//************************************************************************ - type record Network_call_reference - { - BIT8 id, - INT1 lengthField, - - OCT3 CallIdentity, // Call identity - BIT14 SwitchId, // Switch identity - BIT2 Spare // Spare - } with { variant "PRESENCE( id = '11110100'B)"; - variant (lengthField)"LENGTHTO(CallIdentity,SwitchId,Spare)"; - }; - - -//************************************************************************ -// Network Management Controls -// Standard Reference ISUP : Chapter 3.68 -//************************************************************************ - type record Network_management_controls - { - BIT8 id, - INT1 lengthField, - - BIT1 TAR_indicator, // Temporary alternate routing indicator - BIT6 spare, // Temporary alternate routing indicator - BIT1 ExtI // Extension indicator - } with { variant "PRESENCE( id = '01011011'B)"; - variant (lengthField)"LENGTHTO(TAR_indicator,spare,ExtI)"; - }; - - -//************************************************************************ -// Network Routing Number -// Standard Reference ISUP : Chapter 3.90 -//************************************************************************ - type record Network_routing_number - { - BIT8 id, - INT1 lengthField, - - BIT4 NatureOfAddrInd, // Nature of address indicator - BIT3 NumberingPlanInd, // Numbering plan indicator - BIT1 OddEven, // Odd/even indicator - HEX1_32 AddrSignals, // Address signals and Filler if odd addr.signals - HEX1 Filler optional - } with { variant (AddrSignals) "HEXORDER(low)"; - variant "PRESENCE( id = '10000100'B)"; - variant (lengthField)"LENGTHTO(NatureOfAddrInd,NumberingPlanInd, - OddEven,AddrSignals,Filler)"; - }; - -//************************************************************************ -// Network Specific Facility -// Ericsson Specification Reference: Chapter 2.3.3.51 -// Standard Reference ISUP : Chapter 3.36 -//************************************************************************ - type record Network_specific_facility - { - BIT8 id, - INT1 lengthField, - - INT1 LenOfNetwId, // Length of network identification - BIT4 NetworkIdPlan optional, // Network identification plan - BIT3 TypeofNetworkId optional, // Type of network identification - BIT1 One optional, - OCTN NetworkId optional, // Network id. First bit in octets is 0 - OCTN NetworkSpecificFacility // network-specific FACility indicator - } with { variant (LenOfNetwId) "LENGTHTO(NetworkIdPlan,TypeofNetworkId, - One,NetworkId)"; - variant "PRESENCE( id = '00101111'B)"; - variant (lengthField)"LENGTHTO(LenOfNetwId,NetworkIdPlan, - TypeofNetworkId,One,NetworkId, - NetworkSpecificFacility)"; - }; - - -//************************************************************************ -// Number Portability Forward Information -// Standard Reference ISUP : Chapter 3.101 -//************************************************************************ - type record Number_portability_forward_information - { - BIT8 id, - INT1 lengthField, - - BIT4 NbPStInd, // Number portability status indicator - BIT3 spare, // Spare - BIT1 ExtI // Extension indicator - } with { variant "PRESENCE( id = '10001101'B)"; - variant (lengthField)"LENGTHTO(NbPStInd,spare,ExtI)"; - }; - - -//************************************************************************ -// Optional Backward Call Indicators -// Ericsson Specification Reference: Chapter 2.3.3.52 -// Standard Reference ISUP : Chapter 3.37 -//************************************************************************ - type record Optional_backward_call_indicators - { - BIT8 id, - INT1 lengthField, - - BIT1 InBandInfoInd, // In-band INFormation indicator - BIT1 CallDiversionMayOccurInd, // Call diversion may occur indicator - BIT1 SimpleSegmentationInd, // Simple segmentation indicator - BIT1 MLPPUserInd, // MLPP User Indicator - BIT2 Reserved, // Reserved - BIT1 TimeSupervBeforeAnsInd, // Time supervision before answerind. - BIT1 LastPartyRelInd // Last party release indicator - } with { variant "PRESENCE( id = '00101001'B)"; - variant (lengthField)"LENGTHTO(InBandInfoInd, - CallDiversionMayOccurInd, - SimpleSegmentationInd,MLPPUserInd, - Reserved,TimeSupervBeforeAnsInd, - LastPartyRelInd)"; - }; - - -//************************************************************************ -// Optional Forward Call Indicators -// Ericsson Specification Reference: Chapter 2.3.3.53 -// Standard Reference ISUP : Chapter 3.38 -//************************************************************************ - type record Optional_forward_call_indicators - { - BIT8 id, - INT1 lengthField, - - BIT2 CUGCallInd, // Closed user group call indicator - BIT1 SimpleSegmentationInd, // Simple segmentation indicator - BIT4 Spare, // Spare - BIT1 ConnLineReqInd // Connected line identity request indicator - } with { variant "PRESENCE( id = '00001000'B)"; - variant (lengthField)"LENGTHTO(CUGCallInd,SimpleSegmentationInd, - Spare,ConnLineReqInd)"; - }; - - -//************************************************************************ -// Original Called Number -// Ericsson Specification Reference: Chapter 2.3.3.54 -// Standard Reference ISUP : Chapter 3.39 -//************************************************************************ - type record Original_called_number - { - BIT8 id, - INT1 lengthField, - - BIT7 NatureOfAddrInd, // Nature of address indicator - BIT1 OddEven, // Odd/even indicator - BIT2 Spare_1, // Spare - BIT2 AddrPresentRestInd, // Address presentation REStricted indicator - BIT3 NumberingPlanInd, // Numbering plan indicator - BIT1 Spare_2, // Spare - HEX1_32 AddrSignals optional, // Address signals and Filler if odd addr.signals - HEX1 Filler optional - } with { variant (AddrSignals) "HEXORDER(low)"; - variant "PRESENCE( id = '00101000'B)"; - variant (lengthField)"LENGTHTO(NatureOfAddrInd,OddEven,Spare_1, - AddrPresentRestInd,NumberingPlanInd, - Spare_2,AddrSignals,Filler)"; - }; - -//************************************************************************ -// Original Called IN Number -// Standard Reference ISUP : Chapter 3.87 -//************************************************************************ - type record Original_called_IN_number - { - BIT8 id, - INT1 lengthField, - - BIT7 NatureOfAddrInd, // Nature of address indicator - BIT1 OddEven, // Odd/even indicator - BIT2 spare_1, // Spare - BIT2 AddrPresentRestInd, // Address presentation REStricted indicator - BIT3 NumberingPlanInd, // Numbering plan indicator - BIT1 spare_2, // Spare - HEX1_32 AddrSignals optional, // Address signals and Filler if odd addr.signals - HEX1 Filler optional - } with { variant (AddrSignals) "HEXORDER(low)"; - variant "PRESENCE( id = '01111111'B)"; - variant (lengthField)"LENGTHTO(NatureOfAddrInd,OddEven,spare_1, - AddrPresentRestInd,NumberingPlanInd, - spare_2,AddrSignals,Filler)"; - }; - -//************************************************************************ -// Origination ISC Point Code -// Ericsson Specification Reference: Chapter 2.3.3.55 -// Standard Reference ISUP : Chapter 3.40 -//************************************************************************ - type record Origination_ISC_point_code - { - BIT8 id, - INT1 lengthField, - - OCT2 OriISC_contents // Signalling point code - } with { variant "PRESENCE( id = '00101011'B)"; - variant (lengthField)"LENGTHTO(OriISC_contents)"; - }; - - -//************************************************************************ -// Parameter Compatibility Information -// Ericsson Specification Reference: Chapter 2.3.3.56 -// Standard Reference ISUP : Chapter 3.41 -//************************************************************************ - type record Parameter_compatibility_information - { - BIT8 id, - INT1 lengthField, - - BIT8 FirstUpgradParam, // Upgraded parameter name - BIT7 InstructIndFirst, // all instruction indicators for parameter 1 - BIT1 ExtInd1, // Extension indicator - BIT8 SecondUpgradParam optional, - BIT7 InstructIndSecond optional, // all instruction indicators for param. 2 - BIT1 ExtInd2 optional, // Extension indicator - BIT8 ThirdUpgradParam optional, - BIT7 InstructIndThird optional, // all instruction indicators for param. 3 - BIT1 ExtInd3 optional, // Extension indicator - BIT8 FourthUpgradParam optional, - BIT7 InstructIndFourth optional, // all instruction indicators for param. 4 - BIT1 ExtInd4 optional, // Extension indicator - BIT8 FifthUpgradParam optional, - BIT7 InstructIndFifth optional, // all instruction indicators for param. 5 - BIT1 ExtInd5 optional// Extension indicator - } with { variant "PRESENCE( id = '00111001'B)"; - variant (lengthField)"LENGTHTO(FirstUpgradParam,InstructIndFirst, - ExtInd1,SecondUpgradParam, - InstructIndSecond,ExtInd2, - ThirdUpgradParam,InstructIndThird, - ExtInd3,FourthUpgradParam, - InstructIndFourth,ExtInd4, - FifthUpgradParam,InstructIndFifth, - ExtInd5)"; - }; - - -//************************************************************************ -// Pivot Capability -// Standard Reference ISUP : Chapter 3.84 -//************************************************************************ - type record Pivot_capability - { - BIT8 id, - INT1 lengthField, - - BIT3 PivPosInd, // Pivot possible indicator - BIT3 spare, // Spare - BIT1 IwRedirInd, // Interworking to redirection indicator - BIT1 ExtI // Extension indicator - } with { variant "PRESENCE( id = '01111011'B)"; - variant (lengthField)"LENGTHTO(PivPosInd,spare,IwRedirInd,ExtI)"; - }; - - -//************************************************************************ -// Pivot Counter -// Standard Reference ISUP : Chapter 3.93 -//************************************************************************ - type record Pivot_counter - { - BIT8 id, - INT1 lengthField, - - BIT5 PivCount, // Pivot counter - BIT3 spare // spare - } with { variant "PRESENCE( id = '10000111'B)"; - variant (lengthField)"LENGTHTO(PivCount,spare)"; - }; - - -//************************************************************************ -// Pivot Routing Backward Information -// Standard Reference ISUP : Chapter 3.95 -//************************************************************************ - type record Pivot_routing_backward_information - { - BIT8 id, - INT1 lengthField, - - ISUP_Information_type_set PivotInfo - } with { variant "PRESENCE( id = '10001001'B)"; - variant (lengthField)"LENGTHTO(PivotInfo)"; - }; - - type record ISUP_Information_type - { - BIT8 infoTypeTag, - INT1 infoTypeLength, - OCTN infoTypeValue - } with { variant (infoTypeLength)"LENGTHTO(infoTypeValue)"; - }; - - type set of ISUP_Information_type ISUP_Information_type_set - with { variant "" }; - - -//************************************************************************ -// Pivot Routing Forward Information -// Standard Reference ISUP : Chapter 3.94 -//************************************************************************ - type record Pivot_routing_forward_information - { - BIT8 id, - INT1 lengthField, - - ISUP_Information_type_set PivotInfo - } with { variant "PRESENCE( id = '10001000'B)"; - variant (lengthField)"LENGTHTO(PivotInfo)"; - }; - - -//************************************************************************ -// Pivot Routing Indicators -// Standard Reference ISUP : Chapter 3.85 -//************************************************************************ - type record Pivot_routing_indicators - { - BIT8 id, - INT1 lengthField, - - BIT7 PivRoutInd, // Pivot routing indicators - BIT1 ExtI // Extension indicator - } with { variant "PRESENCE( id = '01111100'B)"; - variant (lengthField)"LENGTHTO(PivRoutInd,ExtI)"; - }; - - -//************************************************************************ -// Pivot Status -// Standard Reference ISUP : Chapter 3.92 -//************************************************************************ - type record Pivot_status - { - BIT8 id, - INT1 lengthField, - - BIT2 PivStInd, // Pivot status indicator - BIT5 spare, // Spare - BIT1 ExtI // Extension indicator - } with { variant "PRESENCE( id = '10000110'B)"; - variant (lengthField)"LENGTHTO(PivStInd,spare,ExtI)"; - }; - - -//************************************************************************ -// Propagation Delay Counter -// Ericsson Specification Reference: Chapter 2.3.3.57 -// Standard Reference ISUP : Chapter 3.42 -//************************************************************************ - type record Propagation_delay_counter - { - BIT8 id, - INT1 lengthField, - - OCT2 PropagationDelayValue - } with { variant "PRESENCE( id = '00110001'B)"; - variant (lengthField)"LENGTHTO(PropagationDelayValue)"; - }; - - -//************************************************************************ -// Query On Release Capability -// Standard Reference ISUP : Chapter 3.91 -//************************************************************************ - type record Query_on_release_capability - { - BIT8 id, - INT1 lengthField, - - BIT1 QoRCapInd, // Query on RELease capability indicator - BIT6 spare, // Spare - BIT1 ExtI // Extension indicator - } with { variant "PRESENCE( id = '10000101'B)"; - variant (lengthField)"LENGTHTO(QoRCapInd,spare,ExtI)"; - }; - - -//************************************************************************ -// Range And Status -// Ericsson Specification Reference: Chapter 2.3.3.58 -// Standard Reference ISUP : Chapter 3.43 -//************************************************************************ - type record Range_and_status - { - INT1 lengthField, - - OCT1 Range, // Range - OCTN Status optional// Status - } with { variant (lengthField)"LENGTHTO(Range,Status)"; - }; - - -//************************************************************************ -// Redirect Backward Information -// Standard Reference ISUP : Chapter 3.100 -//************************************************************************ - type record Redirect_backward_information - { - BIT8 id, - INT1 lengthField, - - ISUP_Information_type_set RedirInfo - } with { variant "PRESENCE( id = '10001100'B)"; - variant (lengthField)"LENGTHTO(RedirInfo)"; - }; - - -//************************************************************************ -// Redirect Capability -// Standard Reference ISUP : Chapter 3.96 -//************************************************************************ - type record Redirect_capability - { - BIT8 id, - INT1 lengthField, - - BIT3 RedirPosInd, // Redirect possible indicator - BIT4 spare, // Spare - BIT1 ExtI // Extension indicator - } with { variant "PRESENCE( id = '01001110'B)"; - variant (lengthField)"LENGTHTO(RedirPosInd,spare,ExtI)"; - }; - - -//************************************************************************ -// Redirect Counter -// Standard Reference ISUP : Chapter 3.97 -//************************************************************************ - type record Redirect_counter - { - BIT8 id, - INT1 lengthField, - - BIT5 RedirCount, // Redirect counter - BIT3 spare // Spare - } with { variant "PRESENCE( id = '01110111'B)"; - variant (lengthField)"LENGTHTO(RedirCount,spare)"; - }; - - -//************************************************************************ -// Redirect Forward Information -// Standard Reference ISUP : Chapter 3.99 -//************************************************************************ - type record Redirect_forward_information - { - BIT8 id, - INT1 lengthField, - - ISUP_Information_type_set RedirInfo - } with { variant "PRESENCE( id = '10001011'B)"; - variant (lengthField)"LENGTHTO(RedirInfo)"; - }; - - -//************************************************************************ -// Redirect Status -// Standard Reference ISUP : Chapter 3.98 -//************************************************************************ - type record Redirect_status - { - BIT8 id, - INT1 lengthField, - - BIT2 RedirStInd, // Redirect status indicator - BIT5 spare, // Spare - BIT1 ExtI // Extension indicator - } with { variant "PRESENCE( id = '10001010'B)"; - variant (lengthField)"LENGTHTO(RedirStInd,spare,ExtI)"; - }; - - -//************************************************************************ -// Redirecting Number -// Ericsson Specification Reference: Chapter 2.3.3.59 -// Standard Reference ISUP : Chapter 3.44 -//************************************************************************ - type record Redirecting_number - { - BIT8 id, - INT1 lengthField, - - BIT7 NatureOfAddrInd, // Nature of address indicator - BIT1 OddEven, // Odd/even indicator - BIT2 Spare1, // Spare - BIT2 AddrPresentRestInd, // Address presentation REStricted indicator - BIT3 NumberingPlanInd, // Numbering plan indicator - BIT1 Spare, // Spare - HEX1_32 AddrSignals optional, // Address signals and Filler if odd addr.signals - HEX1 Filler optional - } with { variant (AddrSignals) "HEXORDER(low)"; - variant "PRESENCE( id = '00001011'B)"; - variant (lengthField)"LENGTHTO(NatureOfAddrInd,OddEven, - Spare1,AddrPresentRestInd, - NumberingPlanInd,Spare,AddrSignals, - Filler)"; - }; - - - -//************************************************************************ -// Redirection Information -// Ericsson Specification Reference: Chapter 2.3.3.60 -// Standard Reference ISUP : Chapter 3.45 -//************************************************************************ - type record Redirection_information - { - BIT8 id, - INT1 lengthField, - - BIT3 RedirectionInd, // Redirecting indicator - BIT1 Spare1, // Redirecting indicator - BIT4 OriginalRedirectionReason, // Original redirection reason - BIT3 RedirectionCounter optional, // Redirection counter - BIT1 Spare2 optional, // Spare - BIT4 RedirectingReason optional // Redirecting reason - } with { variant "PRESENCE( id = '00010011'B)"; - variant (lengthField)"LENGTHTO(RedirectionInd,Spare1, - OriginalRedirectionReason, - RedirectionCounter,Spare2, - RedirectingReason)"; - }; - - -//************************************************************************ -// Redirection Number -// Ericsson Specification Reference: Chapter 2.3.3.61 -// Standard Reference ISUP : Chapter 3.46 -//************************************************************************ - type record Redirection_number - { - BIT8 id, - INT1 lengthField, - - BIT7 NatureOfAddrInd, // Nature of address indicator - BIT1 OddEven, // Odd/even indicator - BIT4 Spare, // spare - BIT3 NumberingPlanInd, // Numbering plan indicator - BIT1 INNInd, // Internal network number indicator - HEX1_32 AddrSignals, // Address signals and Filler if odd addr.signals - HEX1 Filler optional - } with { variant (AddrSignals) "HEXORDER(low)"; - variant "PRESENCE( id = '00001100'B)"; - variant (lengthField)"LENGTHTO(NatureOfAddrInd,OddEven,Spare, - NumberingPlanInd,INNInd, - AddrSignals,Filler)"; - }; - -//************************************************************************ -// Redirection Number Restriction -// Ericsson Specification Reference: Chapter 2.3.3.62 -// Standard Reference ISUP : Chapter 3.47 -//************************************************************************ - type record Redirection_number_restriction - { - BIT8 id, - INT1 lengthField, - - BIT2 PresRestInd, // Presentation REStricted indicator - BIT6 Spare // Spare - } with { variant "PRESENCE( id = '01000000'B)"; - variant (lengthField)"LENGTHTO(PresRestInd,Spare)"; - }; - - -//************************************************************************ -// Remote Operations -// Standard Reference ISUP : Chapter 3.48 -//************************************************************************ - type record Remote_operations - { - BIT8 id, - INT1 lengthField, - - BIT5 ProtProf, // Protocol profile - BIT2 spare, // Spare - BIT1 ExtI, // Extension indicator - OCTN Comp // Components - } with { variant "PRESENCE( id = '00110010'B)"; - variant (lengthField)"LENGTHTO(ProtProf,spare,ExtI,Comp)"; - }; - - -//************************************************************************ -// Route Identity -// Ericsson Specification Reference: Chapter 2.3.3.63 -//************************************************************************ - type record Route_identity - { - BIT8 id, - INT1 lengthField, - - OCT2 RouteIdentity - } with { variant "PRESENCE( id = '11111100'B)"; - variant (lengthField)"LENGTHTO(RouteIdentity)"; - }; - - -//************************************************************************ -// SCF Id -// Ericsson Specification Reference: Chapter 2.3.3.64 -// Standard Reference ISUP : Chapter 3.71 -//************************************************************************ - type record SCF_id - { - BIT8 id, - INT1 lengthField, - - OCTN SCFId - } with { variant "PRESENCE( id = '01100110'B)"; - variant (lengthField)"LENGTHTO(SCFId)"; - }; - - -//************************************************************************ -// Service Activation -// Ericsson Specification Reference: Chapter 2.3.3.65 -// Standard Reference ISUP : Chapter 3.49 -//************************************************************************ - type record Service_activation - { - BIT8 id, - INT1 lengthField, - - OCTN ServAct_contents - } with { variant "PRESENCE( id = '00110011'B)"; - variant (lengthField)"LENGTHTO(ServAct_contents)"; - }; - - -//************************************************************************ -// Signalling Point Code -// Standard Reference ISUP : Chapter 3.50 -//************************************************************************ - type record Signalling_point_code - { - BIT8 id, - INT1 lengthField, - - OCT2 SPC_contents // Signalling point code - } with { variant "PRESENCE( id = '00011110'B)"; - variant (lengthField)"LENGTHTO(SPC_contents)"; - }; - - -//************************************************************************ -// Subsequent Number -// Ericsson Specification Reference: Chapter 2.3.3.66 -// Standard Reference ISUP : Chapter 3.51 -//************************************************************************ - type record Subsequent_number_OPT - { - BIT8 id, - INT1 lengthField, - - BIT7 Spare, // Spare - BIT1 OddEven, // Odd/even inicator - HEX1_32 AddrSignals, // Address signals and Filler if odd addr.signals - HEX1 Filler optional - } with { variant (AddrSignals) "HEXORDER(low)"; - variant "PRESENCE( id = '00000101'B)"; - variant (lengthField)"LENGTHTO(Spare,OddEven,AddrSignals,Filler)"; - }; - - type record Subsequent_number - { - INT1 lengthField, - - BIT7 Spare, // Spare - BIT1 OddEven, // Odd/even inicator - HEX1_32 AddrSignals, // Address signals and Filler if odd addr.signals - HEX1 Filler optional - } with { variant (AddrSignals) "HEXORDER(low)"; - variant (lengthField)"LENGTHTO(Spare,OddEven,AddrSignals,Filler)"; - }; - - -//************************************************************************ -// Suspend Resume Indicators -// Ericsson Specification Reference: Chapter 2.3.3.67 -// Standard Reference ISUP : Chapter 3.52 -//************************************************************************ - type record Suspend_resume_indicators - { - BIT1 SUSRESInd, // Suspend/resume indicator - BIT7 Spare // Spare - } with { variant "" }; - - -//************************************************************************ -// Tariff Indicator -// Ericsson Specification Reference: Chapter 2.3.3.68 -//************************************************************************ - type record Tariff_indicator - { - BIT8 id, - INT1 lengthField, - - OCT1 TariffInd, // Tariff indicator - OCT1 Reserved optional// Reserved - } with { variant "PRESENCE( id = '11111101'B)"; - variant (lengthField)"LENGTHTO(TariffInd,Reserved)"; - }; - - -//************************************************************************ -// Transit Network Selection -// Ericsson Specification Reference: Chapter 2.3.3.69 -// Standard Reference ISUP : Chapter 3.53 -//************************************************************************ - type record Transit_network_selection - { - BIT8 id, - INT1 lengthField, - - BIT4 NetIdPlan, // Network identification plan - BIT3 TypeOfNetId, // Type of network identification - BIT1 OddEvenInd, // Odd/even inicator - OCTN NetId // Network identification - } with { variant "PRESENCE( id = '00100011'B)"; - variant (lengthField)"LENGTHTO(NetIdPlan,TypeOfNetId,OddEvenInd, - NetId)"; - }; - - -//************************************************************************ -// Transmission Medium Requirement -// Ericsson Specification Reference: Chapter 2.3.3.70 -// Standard Reference ISUP : Chapter 3.54 -//************************************************************************ - type record Transmission_medium_requirement - { - BIT8 TMR - } with { variant "" }; - -//************************************************************************ -// Transmission Medium Requirement Prime -// Ericsson Specification Reference: Chapter 2.3.3.71 -// Standard Reference ISUP : Chapter 3.55 -//************************************************************************ - type record Transmission_medium_requirement_prime - { - BIT8 id, - INT1 lengthField, - - BIT8 TMRp_field - } with { variant "PRESENCE( id = '00111110'B)"; - variant (lengthField)"LENGTHTO(TMRp_field)"; - }; - -//************************************************************************ -// Transmission Medium Used -// Ericsson Specification Reference: Chapter 2.3.3.72 -// Standard Reference ISUP : Chapter 3.56 -//************************************************************************ - type record Transmission_medium_used - { - BIT8 id, - INT1 lengthField, - - BIT8 TMU_field - } with { variant "PRESENCE( id = '00110101'B)"; - variant (lengthField)"LENGTHTO(TMU_field)"; - }; - - -//************************************************************************ -// UID Action Indicators -// Standard Reference ISUP : Chapter 3.78 -//************************************************************************ - type record UID_action_indicators - { - BIT8 id, - INT1 lengthField, - - BIT1 ThConInsInd, // Through CONnection instruction indicator - BIT1 T9InsInd, // T9 timer instruction indicator - BIT5 spare, // Spare - BIT1 ExtI // Extension indicator - } with { variant "PRESENCE( id = '01110100'B)"; - variant (lengthField)"LENGTHTO(ThConInsInd,T9InsInd,spare,ExtI)"; - }; - - -//************************************************************************ -// UID Capability Indicators -// Standard Reference ISUP : Chapter 3.79 -//************************************************************************ - type record UID_capability_indicators - { - BIT8 id, - INT1 lengthField, - - BIT1 through_connection_indicator, // Through CONnection indicator - BIT1 T9_timer_indicator, // T9 timer indicator - BIT5 spare, // T9 timer indicator - BIT1 ExtI // Extension indicator - } with { variant "PRESENCE( id = '01110101'B)"; - variant (lengthField)"LENGTHTO(through_connection_indicator, - T9_timer_indicator,spare,ExtI)"; - }; - - -//************************************************************************ -// User Service Information -// Ericsson Specification Reference: Chapter 2.3.3.73 -// Standard Reference ISUP : Chapter 3.57 -//************************************************************************ - type record User_service_information - { - BIT8 id, - INT1 lengthField, - - BIT5 InfTrC, // Information transfer capability - BIT2 CodS, // Coding standard - BIT1 ExtI_1, // Extension indicator (1) - //EXT GR1 start - BIT5 infTR, // Information transfer rate - BIT2 TrMod, // Transfer mode - BIT1 ExtI_2, // Extension indicator (0/1) - - BIT2 establishment optional, // demand - BIT2 configuration optional, // point-to-point - BIT3 structure optional, // default - BIT1 ext2a optional, - - BIT5 infoTransRate optional, //used for packet-mode calls - BIT2 symmetry optional, // bi-directional symmetric - BIT1 ext2b optional, - //EXT GR1 end - BIT7 RatMul optional, // Rate multiplier - BIT1 ExtI_2_1 optional, // Extension indicator (1) - - Layer1_info layer1 optional, - Layer2_info layer2 optional, - Layer3_info layer3 optional - } with { variant "EXTENSION_BIT_GROUP(yes,infTR,ext2b)"; - variant (RatMul) "PRESENCE(infTR = '11000'B)"; - variant (ExtI_2_1) "PRESENCE(infTR = '11000'B)"; - variant "TAG ( layer1, layer_id = '01'B; - layer2, layer_id = '10'B; - layer3, layer_id = '11'B;)" - variant "PRESENCE( id = '00011101'B)"; - variant (lengthField)"LENGTHTO(InfTrC,CodS,ExtI_1,infTR,TrMod, - ExtI_2,establishment,configuration, - structure,ext2a,infoTransRate, - symmetry,ext2b,RatMul,ExtI_2_1, - layer1,layer2,layer3)"; - }; - - type record Layer1_info - { - BIT5 UInf1, // User INFormation layer 1 protocol - BIT2 layer_id, // Layer identification - BIT1 ExtI_3, // Extension indicator (0/1) - - BIT5 UsrRate optional, // User rate - BIT1 Negot optional, // Negotiation - BIT1 SynAsyn optional, // Synchronous/Asynchronous - BIT1 ExtI_3a optional, // Extension indicator (0/1) - - //Note: the content of this field depends on field UInf1 - see Q.931 4.5.5 - BIT7 Bits_3b optional, // info bits in octet 3b - BIT1 ExtI_3b optional, // Extension indicator (0/1) - - //BIT1 Spare_1 optional, // Spare - //BIT1 FlCtrRx optional, // Flow control on Rx - //BIT1 FlCtrTx optional, // Flow control on Tx - //BIT1 NICRx optional, // Network independent clock on RX - //BIT1 NICTx optional, // Network independent clock on TX - //BIT2 IntRate optional, // Intermediate rate - //BIT1 ExtI_6 optional, // Extension indicator (0/1) - - //BIT1 Spare_2 optional, // Spare - //BIT1 InBndNeg optional, // In-band/out-band negotiation - //BIT1 Ass optional, // Assignor/assignee - //BIT1 LLINeg optional, // Logical link identifier negotiation - //BIT1 Mode optional, // Mode of operation - - //BIT1 MultFr optional,// Multiple frame establishment support in data link - //BIT1 Hdr optional, // Rate adaption header/no header - //BIT1 ExtI_7 optional,// Extension indicator (0/1) - - BIT3 Prty optional, // Parity INFormation - BIT2 NDatBit optional, // Number of data bits excluding parity bit if pres. - BIT2 NStpBit optional, // Number of stop bits - BIT1 ExtI_3c optional, // Extension indicator (0/1) - - BIT6 MdmTyp optional, // Modem type - BIT1 DupMod optional, // Mode duplex - BIT1 ExtI_3d optional // Extension indicator (1) - } with { variant "EXTENSION_BIT(yes)"} - - type record Layer2_info - { - BIT5 uInf2, // User information layer 2 protocol - BIT2 layer_id, // Layer identification - BIT1 extI_10 // Extension indicator (1) - } with { variant "" }; - - type record Layer3_info - { - BIT5 uInf3, // User information layer 3 protocol - BIT2 layer_id, // Layer identification - BIT1 extI_11 // Extension indicator (1) - } with { variant "" }; - - -//************************************************************************ -// User Service Information Prime -// Ericsson Specification Reference: Chapter 2.3.3.74 -// Standard Reference ISUP : Chapter 3.58 -//************************************************************************ - type record User_service_information_prime - { - BIT8 id, - INT1 lengthField, - - BIT5 InfTrC, // Information transfer capability - BIT2 CodS, // Coding standard - BIT1 ExtI_1, // Extension indicator (1) - //EXT GR1 start - BIT5 infTR, // Information transfer rate - BIT2 TrMod, // Transfer mode - BIT1 ExtI_2, // Extension indicator (0/1) - - BIT2 establishment optional, // demand - BIT2 configuration optional, // point-to-point - BIT3 structure optional, // default - BIT1 ext2a optional, - - BIT5 infoTransRate optional, //used for packet-mode calls - BIT2 symmetry optional, // bi-directional symmetric - BIT1 ext2b optional, - //EXT GR1 end - BIT7 RatMul optional, // Rate multiplier - BIT1 ExtI_2_1 optional, // Extension indicator (1) - - Layer1_info layer1 optional, - Layer2_info layer2 optional, - Layer3_info layer3 optional - } with { variant "EXTENSION_BIT_GROUP(yes,infTR,ext2b)"; - variant (RatMul) "PRESENCE(infTR = '11000'B)"; - variant (ExtI_2_1) "PRESENCE(infTR = '11000'B)"; - variant "TAG ( layer1, layer_id = '01'B; - layer2, layer_id = '10'B; - layer3, layer_id = '11'B;)" - variant "PRESENCE( id = '00110000'B)"; - variant (lengthField)"LENGTHTO(InfTrC,CodS,ExtI_1,infTR,TrMod, - ExtI_2,establishment,configuration, - structure,ext2a,infoTransRate, - symmetry,ext2b,RatMul,ExtI_2_1, - layer1,layer2,layer3)"; - }; -/* The old version is commented out because it could cause decoding problems. - type record User_service_information // 3.57 / Q.763 - { - BIT5 InfTrC, // Information transfer capability - BIT2 CodS, // Coding standard - BIT1 ExtI_1, // Extension indicator (1) - BIT5 InfTR, // Information transfer rate - BIT2 TrMod, // Transfer mode - BIT1 ExtI_2, // Extension indicator (0/1) - BIT8 RatMul optional, // Rate multiplier - BIT1 ExtI_3 optional, // Extension indicator (1) - BIT5 UInf1 optional, // User INFormation layer 1 protocol - BIT2 Lay1 optional, // Layer identification - BIT1 ExtI_4 optional, // Extension indicator (0/1) - BIT5 UsrRate optional, // User rate - BIT1 Negot optional, // Negotiation - BIT1 SynAsyn optional, // Synchronous/Asynchronous - BIT1 ExtI_5 optional, // Extension indicator (0/1) - BIT1 Spare_1 optional, // Spare - BIT1 FlCtrRx optional, // Flow control on Rx - BIT1 FlCtrTx optional, // Flow control on Tx - BIT1 NICRx optional, // Network independent clock on RX - BIT1 NICTx optional, // Network independent clock on TX - BIT2 IntRate optional, // Intermediate rate - BIT1 ExtI_6 optional, // Extension indicator (0/1) - BIT1 Spare_2 optional, // Spare - BIT1 InBndNeg optional, // In-band/out-band negotiation - BIT1 Ass optional, // Assignor/assignee - BIT1 LLINeg optional, // Logical link identifier negotiation - BIT1 Mode optional, // Mode of operation - BIT1 MultFr optional, // Multiple frame establishment support in data link - BIT1 Hdr optional, // Rate adaption header/no header - BIT1 ExtI_7 optional, // Extension indicator (0/1) - BIT3 Prty optional, // Parity INFormation - BIT2 NDatBit optional, // Number of data bits excluding parity bit if pres. - BIT2 NStpBit optional, // Number of stop bits - BIT1 ExtI_8 optional, // Extension indicator (1) - BIT6 MdmTyp optional, // Modem type - BIT1 DupMod optional, // Mode duplex - BIT1 ExtI_9 optional, // Extension indicator (1) - BIT5 UInf2 optional, // User INFormation layer 2 protocol - BIT2 Lay2 optional, // Layer identification - BIT1 ExtI_10 optional, // Extension indicator (1) - BIT5 UInf3 optional, // User INFormation layer 3 protocol - BIT2 Lay3 optional, // Layer identification - BIT1 ExtI_11 optional // Extension indicator (1) - } with { variant "" }; - - - type record User_service_information_prime // 3.58 / Q.763 - { - BIT5 InfTrC, // Information transfer capability - BIT2 CodS, // Coding standard - BIT1 ExtI_1, // Extension indicator (1) - BIT5 InfTR, // Information transfer rate - BIT2 TrMod, // Transfer mode - BIT1 ExtI_2, // Extension indicator (0/1) - BIT8 RatMul optional, // Rate multiplier - BIT1 ExtI_3 optional, // Extension indicator (1) - BIT5 UInf1 optional, // User INFormation layer 1 protocol - BIT2 Lay1 optional, // Layer identification - BIT1 ExtI_4 optional, // Extension indicator (0/1) - BIT5 UsrRate optional, // User rate - BIT1 Negot optional, // Negotiation - BIT1 SynAsyn optional, // Synchronous/Asynchronous - BIT1 ExtI_5 optional, // Extension indicator (0/1) - BIT1 Spare_1 optional, // Spare - BIT1 FlCtrRx optional, // Flow control on Rx - BIT1 FlCtrTx optional, // Flow control on Tx - BIT1 NICRx optional, // Network independent clock on RX - BIT1 NICTx optional, // Network independent clock on TX - BIT2 IntRate optional, // Intermediate rate - BIT1 ExtI_6 optional, // Extension indicator (0/1) - BIT1 Spare_2 optional, // Spare - BIT1 InBndNeg optional, // In-band/out-band negotiation - BIT1 Ass optional, // Assignor/assignee - BIT1 LLINeg optional, // Logical link identifier negotiation - BIT1 Mode optional, // Mode of operation - BIT1 MultFr optional, // Multiple frame establishment support in data link - BIT1 Hdr optional, // Rate adaption header/no header - BIT1 ExtI_7 optional, // Extension indicator (0/1) - BIT3 Prty optional, // Parity INFormation - BIT2 NDatBit optional, // Number of data bits excluding parity bit if pres. - BIT2 NStpBit optional, // Number of stop bits - BIT1 ExtI_8 optional, // Extension indicator (1) - BIT6 MdmTyp optional, // Modem type - BIT1 DupMod optional, // Mode duplex - BIT1 ExtI_9 optional, // Extension indicator (1) - BIT5 UInf2 optional, // User INFormation layer 2 protocol - BIT2 Lay2 optional, // Layer identification - BIT1 ExtI_10 optional, // Extension indicator (1) - BIT5 UInf3 optional, // User INFormation layer 3 protocol - BIT2 Lay3 optional, // Layer identification - BIT1 ExtI_11 optional // Extension indicator (1) - } with { variant "" }; -*/ - - -//************************************************************************ -// User Teleservice Information -// Ericsson Specification Reference: Chapter 2.3.3.75 -// Standard Reference ISUP : Chapter 3.59 -//************************************************************************ - type record User_teleservice_information - { - BIT8 id, - INT1 lengthField, - - BIT2 Pres, // Presentation - BIT3 Interpr, // Interpretation - BIT2 CodS, // Coding standard - BIT1 ExtI_1, // Extention indicator, always 1 - BIT7 HLChrInf, // High layer characteristics identification - BIT1 ExtI_2, // Extension indicator, (0/1) - BIT7 ExHLChrInf optional, // Extended high layer characteristics id. - BIT1 ExtI_3 optional // Extention indicator, always 1 - } with { variant (ExHLChrInf) "PRESENCE(ExtI_2 = '0'B)"; - variant (ExtI_3) "PRESENCE(ExtI_2 = '0'B)"; - variant "PRESENCE( id = '00110100'B)"; - variant (lengthField)"LENGTHTO(Pres,Interpr,CodS,ExtI_1,HLChrInf, - ExtI_2,ExHLChrInf,ExtI_3)"; - }; - -//************************************************************************ -// User To User Indicators -// Ericsson Specification Reference: Chapter 2.3.3.76 -// Standard Reference ISUP : Chapter 3.60 -//************************************************************************ - type record User_to_user_indicators - { - BIT8 id, - INT1 lengthField, - - BIT1 Type, // type - BIT2 Service1, // Service 1 - BIT2 Service2, // Service 2 - BIT2 Service3, // Service 3 - BIT1 NetworkDiscardInd //Network discard ind. (spare if Type = request) - } with { variant "PRESENCE( id = '00101010'B)"; - variant (lengthField)"LENGTHTO(Type,Service1,Service2,Service3, - NetworkDiscardInd)"; - }; - - -//************************************************************************ -// User To User Information -// Ericsson Specification Reference: Chapter 2.3.3.77 -// Standard Reference ISUP : Chapter 3.61 -//************************************************************************ - type record User_to_user_information_OPT - { - BIT8 id, - INT1 lengthField, - - OCTN UserInfo - } with { variant "PRESENCE( id = '00100000'B)"; - variant (lengthField)"LENGTHTO(UserInfo)"; - }; - - type record User_to_user_information - { - INT1 lengthField, - - OCTN UserInfo - } with { variant (lengthField)"LENGTHTO(UserInfo)"; - }; - - -//************************************************************************ -// Global Call Reference -// GCR included in ISUP market variants based on EED/X 1056-174 Uen - Global -// Call reference for ISUP and BICC, MSC R12. -// It is used in the IAM message. See section 3.1.1 for details. -//************************************************************************ - type record Global_call_reference - { - BIT8 id, - INT1 lengthField, - - INT1 netwIdLenInd, // Network ID length indicator - OCTN netwId, // Network ID - INT1 nodeIdLenInd, // Node ID length indicator - OCTN nodeId, // Node ID - INT1 callRefLenInd, // Call Reference length indicator - OCTN callRefId // Call Reference ID - } with { variant (netwIdLenInd) "LENGTHTO (netwId)"; - variant (nodeIdLenInd) "LENGTHTO(nodeId)"; - variant (callRefLenInd) "LENGTHTO (callRefId)"; - variant "PRESENCE( id = '10100100'B)"; - variant (lengthField)"LENGTHTO(netwIdLenInd,netwId,nodeIdLenInd, - nodeId,callRefLenInd,callRefId)"; - }; -} // END Group ISUP_parameters - - -//************************************************************************ -//************************************************************************ -//************************************************************************ -//************************************************************************ -//************************************************************************ - - -//************************************************************************ -// ACM - Address complete -// Ericsson Specification Reference: Chapter 2.2.2.1 -// Standard Reference ISUP : Chapter 4, Table 21 -//************************************************************************ - type set ACM_optional_part - { - Optional_backward_call_indicators optBackwardCallInd optional, - Cause_indicators_OPT causeInd optional, - User_to_user_indicators userToUserInd optional, - User_to_user_information_OPT userToUserInfo optional, - Access_transport accessTransport optional, - Generic_notification_indicator_set genericNotificationInd optional, - Transmission_medium_used transMediumUsed optional, - Access_delivery_information accessDeliveryInfo optional, - Redirection_number redirectionNum optional, - Parameter_compatibility_information paramCompatibilityInfo optional, - Call_diversion_information callDiversionInfo optional, - Network_specific_facility networkFacility optional, - Redirection_number_restriction redirectionNumRest optional, - Route_identity routeIdentity optional, - Call_transfer_treatment_indicators callTransferTreatmentInd optional, - Conference_treatment_indicators conferenceTreatmentInd optional, - - Call_reference callReference optional, - Echo_control_information echoControlInfo optional, - Remote_operations remoteOperations optional, - Service_activation serviceActivation optional, - UID_action_indicators UIDAcInd optional, - Application_transport_parameter_set ATPP optional, - CCNR_possible_indicator CCNRP optional, - HTR_information HTRInfo optional, - Pivot_routing_backward_information PRBI optional, - Redirect_status RedirSt optional - } with { variant (ATPP,genericNotificationInd) "REPEATABLE(yes)";}; - - - type record ACM_parameters - { - Circuit_identification_code cic optional, - ISUP_Message_type messageType, - Backward_call_indicators backwardCallInd, - Pointer opt_part_ptr, - ACM_optional_part acmOptionals optional, - End_of_optional_parameters_indicator endOfOp optional - } with { variant (opt_part_ptr) "POINTERTO (acmOptionals)"}; - - -//************************************************************************ -// ANM - Answer -// Ericsson Specification Reference: Chapter 2.2.2.2 -// Standard Reference ISUP : Chapter 4, Table 22 -//************************************************************************ - type set ANM_optional_part - { - Backward_call_indicators_OPT backwardCallInd optional, - Optional_backward_call_indicators optBackwardCallInd optional, - User_to_user_indicators userToUserInd optional, - User_to_user_information_OPT userToUserInfo optional, - Connected_number connectedNum optional, - Access_transport accessTransport optional, - Access_delivery_information accessDeliveryInfo optional, - Parameter_compatibility_information paramCompatibilityInfo optional, - Backward_GVNS backwardGVNS optional, - Call_history_information callHistoryInfo optional, - Generic_number_set genericNum optional, - Transmission_medium_used transMediumUsed optional, - Network_specific_facility networkFacility optional, - Redirection_number_restriction redirectionNumRest optional, - Call_transfer_treatment_indicators callTransferTreatmentInd optional, - Conference_treatment_indicators conferenceTreatmentInd optional, - - Call_reference callReference optional, - Generic_notification_indicator_set genericNotificationInd optional, - Remote_operations remoteOperations optional, - Redirection_number redirectionNum optional, - Service_activation serviceActivation optional, - Echo_control_information echoControlInfo optional, - Display_information DisInf optional, - Application_transport_parameter_set ATPP optional, - Pivot_routing_backward_information PRBI optional, - Redirect_status RedirSt optional - } with { variant (ATPP,genericNotificationInd,genericNum) "REPEATABLE(yes)";}; - - - type record ANM_parameters - { - Circuit_identification_code cic optional, - ISUP_Message_type messageType, - Pointer opt_part_ptr, - ANM_optional_part anmOptionals optional, - End_of_optional_parameters_indicator endOfOp optional - } with { variant (opt_part_ptr)"POINTERTO (anmOptionals)"; - }; - - -//************************************************************************ -// APM - Application Transport -// Standard Reference ISUP : Chapter 4, Table 51 -//************************************************************************ - type set APM_optional_part - { - Message_compatibility_information MCI optional, - Parameter_compatibility_information paramCompatibilityInfo optional, - Application_transport_parameter_set ATPP optional - } with { variant (ATPP) "REPEATABLE(yes)";}; - - - type record APM_parameters - { - Circuit_identification_code cic optional, - ISUP_Message_type messageType, - Pointer opt_part_ptr, - APM_optional_part apmOptionals optional, - End_of_optional_parameters_indicator endOfOp optional - } with { variant (opt_part_ptr) "POINTERTO (apmOptionals)"; - }; - - -//************************************************************************ -// BLO - Blocking -// Ericsson Specification Reference: Chapter 2.2.2.3 -// Standard Reference ISUP : Chapter 4, Table 39 -//************************************************************************ - type record BLO_parameters - { - Circuit_identification_code cic optional, - ISUP_Message_type messageType - } with { variant "" }; - - -//************************************************************************ -// BLA - Blocking Acknowledgement -// Ericsson Specification Reference: Chapter 2.2.2.4 -// Standard Reference ISUP : Chapter 4, Table 39 -//************************************************************************ - type record BLA_parameters - { - Circuit_identification_code cic optional, - ISUP_Message_type messageType - } with { variant "" }; - - -//************************************************************************ -// CPG - Call Progress -// Ericsson Specification Reference: Chapter 2.2.2.5 -// Standard Reference ISUP : Chapter 4, Table 23 -//************************************************************************ - type set CPG_optional_part - { - Cause_indicators_OPT causeInd optional, - Backward_call_indicators_OPT backwardCallInd optional, - Optional_backward_call_indicators optBackwardCallInd optional, - Access_transport accessTransport optional, - User_to_user_indicators userToUserInd optional, - Redirection_number redirectionNum optional, - User_to_user_information_OPT userToUserInfo optional, - Generic_notification_indicator_set genericNotificationInd optional, - Network_specific_facility networkFacility optional, - Transmission_medium_used transMediumUsed optional, - Access_delivery_information accessDeliveryInfo optional, - Parameter_compatibility_information paramCompatibilityInfo optional, - Call_diversion_information callDiversionInfo optional, - Redirection_number_restriction redirectionNumRest optional, - Call_transfer_number callTransferNumber optional, - Call_transfer_treatment_indicators callTransferTreatmentInd optional, - Conference_treatment_indicators conferenceTreatmentInd optional, - - Call_reference callReference optional, - Remote_operations remoteOperations optional, - Service_activation serviceActivation optional, - Echo_control_information echoControlInfo optional, - Connected_number connectedNum optional, - Backward_GVNS backwardGVNS optional, - Generic_number_set genericNum optional, - Call_history_information callHistoryInfo optional, - UID_action_indicators UIDAcInd optional, - Application_transport_parameter_set ATPP optional, - CCNR_possible_indicator CCNRP optional, - Pivot_routing_backward_information PRBI optional, - Redirect_status RedirSt optional - } with { variant (ATPP,genericNotificationInd,genericNum) "REPEATABLE(yes)";}; - - - type record CPG_parameters - { - Circuit_identification_code cic optional, - ISUP_Message_type messageType, - Event_information eventInfo, - Pointer opt_part_ptr, - CPG_optional_part cpgOptionals optional, - End_of_optional_parameters_indicator endOfOp optional - } with { variant (opt_part_ptr) "POINTERTO (cpgOptionals)"; - }; - - -//************************************************************************ -// CRG - Charge Information -// Ericsson Specification Reference: Chapter 2.2.2.6 -//************************************************************************ - type set CRG_optional_part - { - Meter_pulse_indicator meterPulseInd optional, - Tariff_indicator tariffInd optional, - Parameter_compatibility_information paramCompatibilityInfo optional - } with { variant "" }; - - - type record CRG_parameters - { - Circuit_identification_code cic optional, - ISUP_Message_type messageType, - Pointer opt_part_ptr, - CRG_optional_part crgOptionals optional, - End_of_optional_parameters_indicator endOfOp optional - } with { variant (opt_part_ptr)"POINTERTO (crgOptionals)"; - }; - - -//************************************************************************ -// CGB - Circuit Group Blocking -// Ericsson Specification Reference: Chapter 2.2.2.7 -// Standard Reference ISUP : Chapter 4, Table 40 -//************************************************************************ - type record CGB_parameters - { - Circuit_identification_code cic optional, - ISUP_Message_type messageType, - Circuit_group_supervision_message_type_indicator circuitGroupSupervMsgInd, - Pointer var_part_ptr, - Range_and_status rangeAndStatus - } with { variant (var_part_ptr) "POINTERTO (rangeAndStatus)"; - }; - - -//************************************************************************ -// CGBA - Circuit Group Blocking Acknowledgement -// Ericsson Specification Reference: Chapter 2.2.2.8 -// Standard Reference ISUP : Chapter 4, Table 40 -//************************************************************************ - type record CGBA_parameters - { - Circuit_identification_code cic optional, - ISUP_Message_type messageType, - Circuit_group_supervision_message_type_indicator circuitGroupSupervMsgInd, - Pointer var_part_ptr, - Range_and_status rangeAndStatus - } with { variant (var_part_ptr) "POINTERTO (rangeAndStatus)"; - }; - - -//************************************************************************ -// CQM - Circuit Group Query -// Ericsson Specification Reference: Chapter 2.2.2.9 -// Standard Reference ISUP : Chapter 4, Table 41 -//************************************************************************ - type record CQM_parameters - { - Circuit_identification_code cic optional, - ISUP_Message_type messageType, - Pointer var_part_ptr, - Range_and_status rangeAndStatus - } with { variant (var_part_ptr) "POINTERTO (rangeAndStatus)"; - }; - - -//************************************************************************ -// CQR - Circuit Group Query Response -// Ericsson Specification Reference: Chapter 2.2.2.10 -// Standard Reference ISUP : Chapter 4, Table 24 -//************************************************************************ - type record CQR_parameters - { - Circuit_identification_code cic optional, - ISUP_Message_type messageType, - Pointer var1_part_ptr, - Pointer var2_part_ptr, - Range_and_status rangeAndStatus, - Circuit_state_indicator circuitStateInd - } with { variant (var1_part_ptr) "POINTERTO (rangeAndStatus)"; - variant (var2_part_ptr) "POINTERTO (circuitStateInd)"; - }; - - -//************************************************************************ -// GRS - Circuit Group Reset -// Ericsson Specification Reference: Chapter 2.2.2.11 -// Standard Reference ISUP : Chapter 4, Table 41 -//************************************************************************ - type record GRS_parameters - { - Circuit_identification_code cic optional, - ISUP_Message_type messageType, - Pointer var_part_ptr, - Range_and_status rangeAndStatus - } with { variant (var_part_ptr) "POINTERTO (rangeAndStatus)"; - }; - - -//************************************************************************ -// GRA - Circuit Group Reset Acknowledgement -// Ericsson Specification Reference: Chapter 2.2.2.12 -// Standard Reference ISUP : Chapter 4, Table 25 -//************************************************************************ - type record GRA_parameters - { - Circuit_identification_code cic optional, - ISUP_Message_type messageType, - Pointer var_part_ptr, - Range_and_status rangeAndStatus - } with { variant (var_part_ptr) "POINTERTO (rangeAndStatus)"; - }; - -//************************************************************************ -// GGU - Circuit Group Unblocking -// Ericsson Specification Reference: Chapter 2.2.2.13 -// Standard Reference ISUP : Chapter 4, Table 40 -//************************************************************************ - type record CGU_parameters - { - Circuit_identification_code cic optional, - ISUP_Message_type messageType, - Circuit_group_supervision_message_type_indicator circuitGroupSupervMsgInd, - Pointer var_part_ptr, - Range_and_status rangeAndStatus - } with { variant (var_part_ptr) "POINTERTO (rangeAndStatus)"; - }; - - -//************************************************************************ -// CGUA - Circuit Group Unblocking Acknowledgement -// Ericsson Specification Reference: Chapter 2.2.2.14 -// Standard Reference ISUP : Chapter 4, Table 40 -//************************************************************************ - type record CGUA_parameters - { - Circuit_identification_code cic optional, - ISUP_Message_type messageType, - Circuit_group_supervision_message_type_indicator circuitGroupSupervMsgInd, - Pointer var_part_ptr, - Range_and_status rangeAndStatus - } with { variant (var_part_ptr)"POINTERTO (rangeAndStatus)"; - }; - - -//************************************************************************ -// CFN - Confusion -// Ericsson Specification Reference: Chapter 2.2.2.15 -// Standard Reference ISUP : Chapter 4, Table 26 -//************************************************************************ - type record CFN_parameters - { - Circuit_identification_code cic optional, - ISUP_Message_type messageType, - Pointer var_part_ptr, - Pointer opt_part_ptr, - Cause_indicators causeInd, - End_of_optional_parameters_indicator endOfOp - } with { variant (var_part_ptr)"POINTERTO (causeInd)"; - variant (opt_part_ptr)"POINTERTO (endOfOp)"; - }; - - -//************************************************************************ -// CON - Connect -// Ericsson Specification Reference: Chapter 2.2.2.16 -// Standard Reference ISUP : Chapter 4, Table 27 -//************************************************************************ - type set CON_optional_part - { - Optional_backward_call_indicators optBackwardCallInd optional, - Backward_GVNS backwardGVNS optional, - Connected_number connectedNum optional, - User_to_user_indicators userToUserInd optional, - User_to_user_information_OPT userToUserInfo optional, - Access_transport accessTransport optional, - Network_specific_facility networkFacility optional, - Transmission_medium_used transMediumUsed optional, - Access_delivery_information accessDeliveryInfo optional, - Call_history_information callHistoryInfo optional, - Parameter_compatibility_information paramCompatibilityInfo optional, - Generic_number_set genericNum optional, - Route_identity routeIdentity optional, - Redirection_number_restriction redirectionNumRest optional, - Call_transfer_treatment_indicators callTransferTreatmentInd optional, - Conference_treatment_indicators conferenceTreatmentInd optional, - - Call_reference callReference optional, - Generic_notification_indicator_set genericNotificationInd optional, - Remote_operations remoteOperations optional, - Echo_control_information echoControlInfo optional, - Service_activation serviceActivation optional, - Application_transport_parameter_set ATPP optional, - HTR_information HTRInfo optional, - Pivot_routing_backward_information PRBI optional, - Redirect_status RedirSt optional - } with { variant (ATPP,genericNotificationInd,genericNum) "REPEATABLE(yes)";}; - - - type record CON_parameters - { - Circuit_identification_code cic optional, - ISUP_Message_type messageType, - Backward_call_indicators backwardCallInd, - Pointer opt_part_ptr, - CON_optional_part conOptionals optional, - End_of_optional_parameters_indicator endOfOp optional - } with { variant (opt_part_ptr) "POINTERTO (conOptionals)"; - }; - - -//************************************************************************ -// COT - Continuity -// Ericsson Specification Reference: Chapter 2.2.2.17 -// Standard Reference ISUP : Chapter 4, Table 28 -//************************************************************************ - type record COT_parameters - { - Circuit_identification_code cic optional, - ISUP_Message_type messageType, - Continuity_indicators continuityInd - } with { variant "" }; - - -//************************************************************************ -// CCR - Continuity Check Request -// Ericsson Specification Reference: Chapter 2.2.2.18 -// Standard Reference ISUP : Chapter 4, Table 39 -//************************************************************************ - type record CCR_parameters - { - Circuit_identification_code cic optional, - ISUP_Message_type messageType - } with { variant "" }; - - -//************************************************************************ -// FAC - Facility -// Ericsson Specification Reference: Chapter 2.2.2.19 -// Standard Reference ISUP : Chapter 4, Table 45 -//************************************************************************ - type set FAC_optional_part - { - Message_compatibility_information messageCompatibilityInfo optional, - Parameter_compatibility_information paramCompatibilityInfo optional, - Service_activation serviceActivation optional, - Call_transfer_number callTransferNumber optional, - Access_transport accessTransport optional, - Generic_notification_indicator_set genericNotificationInd optional, - - Remote_operations remoteOperations optional, - Redirection_number redirectionNum optional, - Pivot_routing_indicators PRInd optional, - Pivot_status PSts optional, - Pivot_counter PCount optional, - Pivot_routing_backward_information PRBI optional, - Redirect_status RedirSt optional - } with { variant (genericNotificationInd) "REPEATABLE(yes)";}; - - - type record FAC_parameters - { - Circuit_identification_code cic optional, - ISUP_Message_type messageType, - Pointer opt_part_ptr, - FAC_optional_part facOptionals optional, - End_of_optional_parameters_indicator endOfOp optional - } with { variant (opt_part_ptr)"POINTERTO (facOptionals)"; - }; - - -//************************************************************************ -// FAA - Facility Accepted -// Ericsson Specification Reference: Chapter 2.2.2.20 -// Standard Reference ISUP : Chapter 4, Table 42 -//************************************************************************ - type set FAA_optional_part - { - User_to_user_indicators userToUserInd optional, - Parameter_compatibility_information paramCompatibilityInfo optional, - - Call_reference callReference optional, - Connection_request connectionRequest optional - } with { variant "" }; - - - type record FAA_parameters - { - Circuit_identification_code cic optional, - ISUP_Message_type messageType, - Facility_indicator facilityInd, - Pointer opt_part_ptr, - FAA_optional_part faaOptionals optional, - End_of_optional_parameters_indicator endOfOp optional - } with { variant (opt_part_ptr) "POINTERTO (faaOptionals)"; - }; - - -//************************************************************************ -// FRJ - Facility Reject -// Ericsson Specification Reference: Chapter 2.2.2.21 -// Standard Reference ISUP : Chapter 4, Table 29 -//************************************************************************ - type set FRJ_optional_part - { - User_to_user_indicators userToUserInd optional - } with { variant "" }; - - - type record FRJ_parameters - { - Circuit_identification_code cic optional, - ISUP_Message_type messageType, - Facility_indicator facilityInd, - Pointer var_part_ptr, - Pointer opt_part_ptr, - Cause_indicators causeInd, - FRJ_optional_part frjOptionals optional, - End_of_optional_parameters_indicator endOfOp optional - } with { variant (var_part_ptr) "POINTERTO (causeInd)"; - variant (opt_part_ptr) "POINTERTO (frjOptionals)"; - }; - - -//************************************************************************ -// FAR - Facility Request -// Ericsson Specification Reference: Chapter 2.2.2.22 -// Standard Reference ISUP : Chapter 4, Table 42 -//************************************************************************ - type set FAR_optional_part - { - User_to_user_indicators userToUserInd optional, - Parameter_compatibility_information paramCompatibilityInfo optional, - - Call_reference callReference optional, - Connection_request connectionRequest optional - } with { variant "" }; - - - type record FAR_parameters - { - Circuit_identification_code cic optional, - ISUP_Message_type messageType, - Facility_indicator facilityInd, - Pointer opt_part_ptr, - FAR_optional_part farOptionals optional, - End_of_optional_parameters_indicator endOfOp optional - } with { variant (opt_part_ptr) "POINTERTO (farOptionals)"; - }; - - -//************************************************************************ -// FOT - Forward Transfer -// Ericsson Specification Reference: Chapter 2.2.2.23 -// Standard Reference ISUP : Chapter 4, Table 37 -//************************************************************************ - type set FOT_optional_part - { - Parameter_compatibility_information paramCompatibilityInfo optional, - - Call_reference callReference optional - } with { variant "" }; - - - type record FOT_parameters - { - Circuit_identification_code cic optional, - ISUP_Message_type messageType, - Pointer opt_part_ptr, - FOT_optional_part fotOptionals optional, - End_of_optional_parameters_indicator endOfOp optional - } with { variant (opt_part_ptr) "POINTERTO (fotOptionals)"; - }; - - -//************************************************************************ -// IDR - Identification Request -// Ericsson Specification Reference: Chapter 2.2.2.24 -// Standard Reference ISUP : Chapter 4, Table 47 -//************************************************************************ - type set IDR_optional_part - { - MCID_request_indicators MCIDReqInd optional, - Message_compatibility_information messageCompatibilityInfo optional, - Parameter_compatibility_information paramCompatibilityInfo optional - } with { variant "" }; - - - type record IDR_parameters - { - Circuit_identification_code cic optional, - ISUP_Message_type messageType, - Pointer opt_part_ptr, - IDR_optional_part idrOptionals optional, - End_of_optional_parameters_indicator endOfOp optional - } with { variant (opt_part_ptr) "POINTERTO (idrOptionals)"; - }; - - -//************************************************************************ -// IRS - Identification Response -// Ericsson Specification Reference: Chapter 2.2.2.25 -// Standard Reference ISUP : Chapter 4, Table 48 -//************************************************************************ - type set IRS_optional_part - { - MCID_response_indicators MCIDRpInd optional, - Message_compatibility_information messageCompatibilityInfo optional, - Parameter_compatibility_information paramCompatibilityInfo optional, - Calling_party_number callingPartyNum optional, - Access_transport accessTransport optional, - Generic_number_set genericNum optional, - Charged_party_identification ChPId optional - } with { variant (genericNum) "REPEATABLE(yes)";}; - - - type record IRS_parameters - { - Circuit_identification_code cic optional, - ISUP_Message_type messageType, - Pointer opt_part_ptr, - IRS_optional_part irsOptionals optional, - End_of_optional_parameters_indicator endOfOp optional - } with { variant (opt_part_ptr) "POINTERTO (irsOptionals)"; - }; - - -//************************************************************************ -// INF - Information -// Ericsson Specification Reference: Chapter 2.2.2.26 -// Standard Reference ISUP : Chapter 4, Table 30 -//************************************************************************ - type set INF_optional_part - { - Calling_partys_category_OPT callingPartyCat optional, - Calling_party_number callingPartyNum optional, - Access_transport accessTransport optional, - Parameter_compatibility_information paramCompatibilityInfo optional, - Network_specific_facility networkFacility optional, - Display_information displayInfo optional, - - Call_reference callReference optional, - Connection_request connectionRequest optional - } with { variant "" }; - - - type record INF_parameters - { - Circuit_identification_code cic optional, - ISUP_Message_type messageType, - Information_indicators informationInd, - Pointer opt_part_ptr, - INF_optional_part infOptionals optional, - End_of_optional_parameters_indicator endOfOp optional - } with { variant (opt_part_ptr) "POINTERTO (infOptionals)"; - }; - - -//************************************************************************ -// INR - Information Request -// Ericsson Specification Reference: Chapter 2.2.2.27 -// Standard Reference ISUP : Chapter 4, Table 31 -//************************************************************************ - type set INR_optional_part - { - Network_specific_facility networkFacility optional, - Parameter_compatibility_information paramCompatibilityInfo optional, - - Call_reference callReference optional - } with { variant "" }; - - - type record INR_parameters - { - Circuit_identification_code cic optional, - ISUP_Message_type messageType, - Information_request_indicators InfRqInd, - Pointer opt_part_ptr, - INR_optional_part inrOptionals optional, - End_of_optional_parameters_indicator endOfOp optional - } with { variant (opt_part_ptr) "POINTERTO (inrOptionals)"; - }; - - -//************************************************************************ -// IAM - Initial Address Message -// Ericsson Specification Reference: Chapter 2.2.2.28 -// Standard Reference ISUP : Chapter 4, Table 32 -//************************************************************************ - type set IAM_optional_part - { - Transit_network_selection transitNetworkSel optional, - Calling_party_number callingPartyNum optional, - Optional_forward_call_indicators optForwardCallInd optional, - Redirecting_number redirectingNum optional, - Redirection_information redirectionInfo optional, - Closed_user_group_interlock_code cUGInterlockCode optional, - Original_called_number originalCalledNum optional, - User_to_user_information_OPT userToUserInfo optional, - Access_transport accessTransport optional, - User_service_information userServiceInfo optional, - User_to_user_indicators userToUserInd optional, - Generic_number_set genericNum optional, - Propagation_delay_counter propDelayCounter optional, - User_service_information_prime userServiceInfoPrime optional, - Network_specific_facility networkFacility optional, - Generic_digits_set genericDigits optional, - Origination_ISC_point_code origISCPointCode optional, - User_teleservice_information userTeleServiceInfo optional, - Parameter_compatibility_information paramCompatibilityInfo optional, - MLPP_precedence mLPPprecedence optional, - Route_identity routeIdentity optional, - Transmission_medium_requirement_prime transMediumReqPrime optional, - Location_number locationNum optional, - Forward_GVNS forwardGVNS optional, - Freephone_indicators freePhoneInd optional, - CCSS_parameter ccssPar optional, - Distributed_dynamic_routing_indicators distrDynRoutInd optional, - Additional_charging_information addChargeInfo optional, - Additional_routing_information addRoutInfo optional, - Correlation_id correlationId optional, - SCF_id SCFId optional, - Call_transfer_treatment_indicators callTransferTreatmentInd optional, - Conference_treatment_indicators conferenceTreatmentInd optional, - Call_offering_treatment_indicators callOfferingTreatmentInd optional, - Call_diversion_treatment_indicators callDiversionTreatmentInd optional, - Network_call_reference netwCallRef optional, - Calling_name_identity cgNameId optional, - Hop_counter HopCnt optional, - - Call_reference callReference optional, - Connection_request connectionRequest optional, - Remote_operations remoteOperations optional, - Generic_notification_indicator_set genericNotificationInd optional, - Service_activation serviceActivation optional, - Network_management_controls NetManCon optional, - Circuit_assignment_map CctAssMap optional, - Called_IN_number CdINnum optional, - UID_capability_indicators UIDcapInd optional, - Echo_control_information echoControlInfo optional, - Collect_call_request ColCReq optional, - Application_transport_parameter_set ATPP optional, - Pivot_capability PivCap optional, - Called_directory_number CDirNb optional, - Original_called_IN_number OCINNb optional, - Calling_geodetic_location CGeoLoc optional, - Network_routing_number NRNb optional, - Query_on_release_capability QoRCap optional, - Pivot_counter PCount optional, - Pivot_routing_forward_information PRFI optional, - Redirect_capability RedirCap optional, - Redirect_counter RedirCount optional, - Redirect_status RedirSt optional, - Redirect_forward_information RedirFI optional, - Number_portability_forward_information NPFI optional, - Global_call_reference GCRef optional - } with { variant (ATPP,genericNotificationInd,genericNum,genericDigits) - "REPEATABLE(yes)";}; - - - type record IAM_parameters - { - Circuit_identification_code cic optional, - ISUP_Message_type messageType, - Nature_of_connection_indicators natureOfConnInd, - Forward_call_indicators forwardCallInd, - Calling_partys_category callingPartyCat, - Transmission_medium_requirement transmissionMediumReq, - Pointer var_part_ptr, - Pointer opt_part_ptr, - Called_party_number calledPartyNum, - IAM_optional_part iamOptionals optional, - End_of_optional_parameters_indicator endOfOp optional - } with { variant (var_part_ptr) "POINTERTO (calledPartyNum)"; - variant (opt_part_ptr) "POINTERTO (iamOptionals)"; - }; - - -//************************************************************************ -// IAM_PTSO - Initial Address Message -// Ericsson Specification Reference: Chapter 2.2.2.28 -// Standard Reference ISUP : Chapter 4, Table 32 -//************************************************************************ -/* - type record PAR_GD - { - OCT1 parameter_type, - OCT1 lengthf, - Generic_digits parameter_contents - } with { variant "" }; - - - type record PAR_OISCP - { - OCT1 parameter_type, - OCT1 lengthf, - Origination_ISC_point_code parameter_contents - } with { variant "" }; - - - type record PAR_AT - { - OCT1 parameter_type, - OCT1 lengthf, - Access_transport parameter_contents - } with { variant "" }; - - - type record PAR_CPN - { - OCT1 parameter_type, - OCT1 lengthf, - Called_party_number parameter_contents - } with { variant "" }; - - - type record PAR_CGPN - { - OCT1 parameter_type, - OCT1 lengthf, - Called_party_number parameter_contents - } with { variant "" }; - - - - type set IAM_PTSO_optional_part - { - PAR_CGPN callingPartyNum, - PAR_AT accessTransport, - PAR_GD genericDigits, - PAR_OISCP origISCPointCode - } with { variant "" }; - - -type record IAM_PTSO_parameters - { - Circuit_identification_code cic optional, - ISUP_Message_type messageType, - Nature_of_connection_indicators natureOfConnInd, - Forward_call_indicators forwardCallInd, - Calling_partys_category callingPartyCat, - Transmission_medium_requirement transmissionMediumReq, - Pointer var_part_ptr, - Pointer opt_part_ptr, - INT1 calledPartyNum_length, - PAR_CPN calledPartyNum, - IAM_PTSO_optional_part iamOptionals optional, - End_of_optional_parameters_indicator endOfOp optional - } with { variant (var_part_ptr) "POINTERTO (calledPartyNum_length)"; - variant (opt_part_ptr) "POINTERTO (iamOptionals)"; - variant (calledPartyNum_length) "LENGTHTO (calledPartyNum)"; - }; - -*/ - - -//************************************************************************ -// LPA - Loop Back Acknowledgement -// Standard Reference ISUP : Chapter 4, Table 39 -//************************************************************************ - type record LPA_parameters - { - Circuit_identification_code cic optional, - ISUP_Message_type messageType - } with { variant "" }; - - -//************************************************************************ -// LOP - Loop Prevention -// Ericsson Specification Reference: Chapter 2.2.2.29 -// Standard Reference ISUP : Chapter 4, Table 50 -//************************************************************************ - type set LOP_optional_part - { - Message_compatibility_information messageCompatibilityInfo optional, - Parameter_compatibility_information paramCompatibilityInfo optional, - Call_transfer_reference callTransferReference optional, - Loop_prevention_indicators loopPreventionInd optional - } with { variant "" }; - - - type record LOP_parameters - { - Circuit_identification_code cic optional, - ISUP_Message_type messageType, - Pointer opt_part_ptr, - LOP_optional_part lopOptionals optional, - End_of_optional_parameters_indicator endOfOp optional - } with { variant (opt_part_ptr) "POINTERTO (lopOptionals)"; - }; - - -//************************************************************************ -// NRM - Network Resource Management -// Standard Reference ISUP : Chapter 4, Table 46 -//************************************************************************ - type set NRM_optional_part - { - Message_compatibility_information messageCompatibilityInfo optional, - Parameter_compatibility_information paramCompatibilityInfo optional, - Echo_control_information echoControlInfo optional - } with { variant "" }; - - - type record NRM_parameters - { - Circuit_identification_code cic optional, - ISUP_Message_type messageType, - Pointer opt_part_ptr, - NRM_optional_part nrmOptionals optional, - End_of_optional_parameters_indicator endOfOp optional - } with { variant (opt_part_ptr) "POINTERTO (nrmOptionals)"; - }; - - -//************************************************************************ -// OLM - Overload -// Standard Reference ISUP : Chapter 4, Table 39 -//************************************************************************ - type record OLM_parameters - { - Circuit_identification_code cic optional, - ISUP_Message_type messageType - } with { variant "" }; - - - -//************************************************************************ -// OPQ - Operator Queue FS: 2.2.2.32 / 61/15517-CRT 212 31 Uen Rev. A -//************************************************************************ -/* - type set OPQ_optional_part - { - Message_compatibility_information messageCompatibilityInfo optional - } with { variant "" }; - - type record OPQ_parameters - { - Circuit_identification_code cic optional, - ISUP_Message_type messageType, - Pointer opt_part_ptr, - OPQ_optional_part opqOptionals optional, - End_of_optional_parameters_indicator endOfOp optional - } with { variant (opt_part_ptr) "POINTERTO (opqOptionals)" }; - -*/ - - -//************************************************************************ -// OPR - Operator -// Ericsson Specification Reference: Chapter 2.2.2.30 -//************************************************************************ - type set OPR_optional_part - { - Message_compatibility_information messageCompatibilityInfo optional - } with { variant "" }; - - - type record OPR_parameters - { - Circuit_identification_code cic optional, - ISUP_Message_type messageType, - Pointer opt_part_ptr, - OPR_optional_part oprOptionals optional, - End_of_optional_parameters_indicator endOfOp optional - } with { variant (opt_part_ptr) "POINTERTO (oprOptionals)"; - }; - - -//************************************************************************ -// PAM - Pass-along -// Standard Reference ISUP : Chapter 4, Table 43 -//************************************************************************ - type record PAM_parameters - { - Circuit_identification_code cic optional, - ISUP_Message_type messageType, - Pointer opt_part_ptr, - OCTN contents optional - } with { variant (opt_part_ptr) "POINTERTO (contents)"; - }; - - -//************************************************************************ -// PRI - Pre-release Information -// Standard Reference ISUP : Chapter 4, Table 52 -//************************************************************************ - type set PRI_optional_part - { - Message_compatibility_information messageCompatibilityInfo optional, - Parameter_compatibility_information paramCompatibilityInfo optional, - Optional_forward_call_indicators optForwardCallInd optional, - Optional_backward_call_indicators optBackwardCallInd optional, - Application_transport_parameter_set ATPP optional - } with { variant (ATPP)"REPEATABLE(yes)";}; - - - type record PRI_parameters - { - Circuit_identification_code cic optional, - ISUP_Message_type messageType, - Pointer opt_part_ptr, - PRI_optional_part priOptionals optional, - End_of_optional_parameters_indicator endOfOp optional - } with { variant (opt_part_ptr) "POINTERTO (priOptionals)"; - }; - - -//************************************************************************ -// REL - Release -// Ericsson Specification Reference: Chapter 2.2.2.31 -// Standard Reference ISUP : Chapter 4, Table 33 -//************************************************************************ - type set REL_optional_part - { - Access_transport accessTransport optional, - User_to_user_indicators userToUserInd optional, - User_to_user_information_OPT userToUserInfo optional, - Automatic_congestion_level autCongLevel optional, - Network_specific_facility networkFacility optional, - Access_delivery_information accessDeliveryInfo optional, - Redirection_number redirectionNum optional, - Redirection_information redirectionInfo optional, - Parameter_compatibility_information paramCompatibilityInfo optional, - - Signalling_point_code sigPointCode optional, - Display_information displayInfo optional, - Remote_operations remoteOperations optional, - HTR_information HTRInfo optional, - Redirect_counter RedirCount optional, - Redirection_number_restriction redirectionNumRest optional, - Redirect_backward_information RedirBI optional - } with { variant "" }; - - type record REL_parameters - { - Circuit_identification_code cic optional, - ISUP_Message_type messageType, - Pointer var_part_ptr, - Pointer opt_part_ptr, - Cause_indicators causeInd, - REL_optional_part relOptionals optional, - End_of_optional_parameters_indicator endOfOp optional - } with { variant (var_part_ptr) "POINTERTO (causeInd)"; - variant (opt_part_ptr) "POINTERTO (relOptionals)"; - }; - - -//************************************************************************ -// RLC - Release Complete -// Ericsson Specification Reference: Chapter 2.2.2.32 -// Standard Reference ISUP : Chapter 4, Table 34 -//************************************************************************ - type set RLC_optional_part - { - Cause_indicators_OPT causeInd optional - } with { variant "" }; - - - type record RLC_parameters - { - Circuit_identification_code cic optional, - ISUP_Message_type messageType, - Pointer opt_part_ptr, - RLC_optional_part rlcOptionals optional, - End_of_optional_parameters_indicator endOfOp optional - } with { variant (opt_part_ptr) "POINTERTO (rlcOptionals)"; - }; - - -//************************************************************************ -// RSC - Reset Circuit -// Ericsson Specification Reference: Chapter 2.2.2.33 -// Standard Reference ISUP : Chapter 4, Table 39 -//************************************************************************ - type record RSC_parameters - { - Circuit_identification_code cic optional, - ISUP_Message_type messageType - } with { variant "" }; - - -//************************************************************************ -// RES - Resume -// Ericsson Specification Reference: Chapter 2.2.2.34 -// Standard Reference ISUP : Chapter 4, Table 38 -//************************************************************************ - type set RES_optional_part - { - Parameter_compatibility_information paramCompatibilityInfo optional, - - Call_reference callReference optional - } with { variant "" }; - - - type record RES_parameters - { - Circuit_identification_code cic optional, - ISUP_Message_type messageType, - Suspend_resume_indicators SUSRESInd, - Pointer opt_part_ptr, - RES_optional_part resOptionals optional, - End_of_optional_parameters_indicator endOfOp optional - } with { variant (opt_part_ptr) "POINTERTO (resOptionals)"; - }; - - -//************************************************************************ -// SGM - Segmentation -// Ericsson Specification Reference: Chapter 2.2.2.35 -// Standard Reference ISUP : Chapter 4, Table 49 -//************************************************************************ - type set SGM_optional_part - { - Access_transport accessTransport optional, - User_to_user_information_OPT userToUserInfo optional, - Message_compatibility_information messageCompatibilityInfo optional, - Generic_digits_set genericDigits optional, - Generic_notification_indicator_set genericNotificationInd optional, - Generic_number_set genericNum optional, - Calling_name_identity cgNameId optional - } with { variant (genericNotificationInd,genericNum,genericDigits) - "REPEATABLE(yes)";}; - - - type record SGM_parameters - { - Circuit_identification_code cic optional, - ISUP_Message_type messageType, - Pointer opt_part_ptr, - SGM_optional_part sgmOptionals optional, - End_of_optional_parameters_indicator endOfOp optional - } with { variant (opt_part_ptr) "POINTERTO (sgmOptionals)"; - }; - - -//************************************************************************ -// SCB - Special Clear Back -// Ericsson Specification Reference: Chapter 2.2.2.36 -//************************************************************************ - type set SCB_optional_part - { - Message_compatibility_information messageCompatibilityInfo optional - } with { variant "" }; - - - type record SCB_parameters - { - Circuit_identification_code cic optional, - ISUP_Message_type messageType, - Pointer opt_part_ptr, - SCB_optional_part scbOptionals optional, - End_of_optional_parameters_indicator endOfOp optional - } with { variant (opt_part_ptr) "POINTERTO (scbOptionals)"; - }; - - -//************************************************************************ -// SAM - Subsequent Address -// Ericsson Specification Reference: Chapter 2.2.2.37 -// Standard Reference ISUP : Chapter 4, Table 35 -//************************************************************************ - type record SAM_parameters - { - Circuit_identification_code cic optional, - ISUP_Message_type messageType, - Pointer var_part_ptr, - Pointer opt_part_ptr, - Subsequent_number subsequentNum, - End_of_optional_parameters_indicator endOfOp - } with { variant (var_part_ptr) "POINTERTO (subsequentNum)"; - variant (opt_part_ptr) "POINTERTO (endOfOp)"; - }; - - -//************************************************************************ -// SDM - Subsequent Directory Number -// Standard Reference ISUP : Chapter 4, Table 53 -//************************************************************************ - type set SDM_optional_part - { - Subsequent_number_OPT subsequentNum optional, - Message_compatibility_information messageCompatibilityInfo optional - } with { variant "" }; - - - type record SDM_parameters - { - Circuit_identification_code cic optional, - ISUP_Message_type messageType, - Pointer opt_part_ptr, - SDM_optional_part sdmOptionals optional, - End_of_optional_parameters_indicator endOfOp optional - } with { variant (opt_part_ptr) "POINTERTO (sdmOptionals)"; - }; - - -//************************************************************************ -// SUS - Suspend -// Ericsson Specification Reference: Chapter 2.2.2.38 -// Standard Reference ISUP : Chapter 4, Table 38 -//************************************************************************ - type set SUS_optional_part - { - Parameter_compatibility_information paramCompatibilityInfo optional, - - Call_reference callReference optional - } with { variant "" }; - - - type record SUS_parameters - { - Circuit_identification_code cic optional, - ISUP_Message_type messageType, - Suspend_resume_indicators SUSRESInd, - Pointer opt_part_ptr, - SUS_optional_part susOptionals optional, - End_of_optional_parameters_indicator endOfOp optional - } with { variant (opt_part_ptr) "POINTERTO (susOptionals)"; - }; - - -//************************************************************************ -// UBL - Unblocking -// Ericsson Specification Reference: Chapter 2.2.2.39 -// Standard Reference ISUP : Chapter 4, Table 39 -//************************************************************************ - type record UBL_parameters - { - Circuit_identification_code cic optional, - ISUP_Message_type messageType - } with { variant "" }; - - -//************************************************************************ -// UBA - Unblocking Acknowledgement -// Ericsson Specification Reference: Chapter 2.2.2.40 -// Standard Reference ISUP : Chapter 4, Table 39 -//************************************************************************ - type record UBA_parameters - { - Circuit_identification_code cic optional, - ISUP_Message_type messageType - } with { variant "" }; - - -//*************************************************************************** -// UCIC - Unequipped Circuit Identification Code -// Ericsson Specification Reference: Chapter 2.2.2.41 -// Standard Reference ISUP : Chapter 4, Table 39 -//*************************************************************************** - type record UCIC_parameters - { - Circuit_identification_code cic optional, - ISUP_Message_type messageType - } with { variant "" }; - - -//************************************************************************ -// UPA - User Part Available -// Ericsson Specification Reference: Chapter 2.2.2.42 -// Standard Reference ISUP : Chapter 4, Table 44 -//************************************************************************ - type set UPA_optional_part - { - Parameter_compatibility_information paramCompatibilityInfo optional - } with { variant ""}; - - - type record UPA_parameters - { - Circuit_identification_code cic optional, - ISUP_Message_type messageType, - Pointer opt_part_ptr, - UPA_optional_part upaOptionals optional, - End_of_optional_parameters_indicator endOfOp optional - } with { variant (opt_part_ptr) "POINTERTO (upaOptionals)"; - }; - - -//************************************************************************ -// UPT - User Part Test -// Ericsson Specification Reference: Chapter 2.2.2.43 -// Standard Reference ISUP : Chapter 4, Table 44 -//************************************************************************ - type set UPT_optional_part - { - Parameter_compatibility_information paramCompatibilityInfo optional - } with { variant "" }; - - - type record UPT_parameters - { - Circuit_identification_code cic optional, - ISUP_Message_type messageType, - Pointer opt_part_ptr, - UPT_optional_part uptOptionals optional, - End_of_optional_parameters_indicator endOfOp optional - } with { variant (opt_part_ptr) "POINTERTO (uptOptionals)"; - }; - - -//************************************************************************ -// USR - User-to-user Information -// Ericsson Specification Reference: Chapter 2.2.2.44 -// Standard Reference ISUP : Chapter 4, Table 36 -//************************************************************************ - type set USR_optional_part - { - Access_transport accessTransport optional, - Parameter_compatibility_information paramCompatibilityInfo optional - } with { variant "" }; - - - type record USR_parameters - { - Circuit_identification_code cic optional, - ISUP_Message_type messageType, - Pointer var_part_ptr, - Pointer opt_part_ptr, - User_to_user_information userToUserInfo, - USR_optional_part usrOptionals optional, - End_of_optional_parameters_indicator endOfOp optional - } with { variant (var_part_ptr) "POINTERTO (userToUserInfo)"; - variant (opt_part_ptr) "POINTERTO (usrOptionals)"; - }; - - -//************************************************************************ -//************************************************************************ -//************************************************************************ -//************************************************************************ -//************************************************************************ - -//************************************************************************ -// Top level PDU -//************************************************************************ - type union PDU_ISUP - { - ACM_parameters ISUP_ACM, //Address complete - ANM_parameters ISUP_ANM, //Answer - APM_parameters ISUP_APM, //Application transport - BLO_parameters ISUP_BLO, //Blocking - BLA_parameters ISUP_BLA, //Blocking acknowledgement - CPG_parameters ISUP_CPG, //Call progress - CGB_parameters ISUP_CGB, //Circuit group BLOcking - CGBA_parameters ISUP_CGBA, //Circuit group BLOcking acknowledgement - CQM_parameters ISUP_CQM, //Circuit group query - CQR_parameters ISUP_CQR, //Circuit group query RESponse - GRS_parameters ISUP_GRS, //Circuit group RESet - GRA_parameters ISUP_GRA, //Circuit group RESet acknowledge - CGU_parameters ISUP_CGU, //Circuit group unblocking - CGUA_parameters ISUP_CGUA, //Circuit group unblocking acknowledgement - CRG_parameters ISUP_CRG, //Charge INFormation - CFN_parameters ISUP_CFN, //Confusion - CON_parameters ISUP_CON, //Connect - COT_parameters ISUP_COT, //Continuity - CCR_parameters ISUP_CCR, //Continuity check request - FAC_parameters ISUP_FAC, //Facility - FAA_parameters ISUP_FAA, //Facility accepted - FRJ_parameters ISUP_FRJ, //Facility reject - FAR_parameters ISUP_FAR, //Facility request - FOT_parameters ISUP_FOT, //Forward transfer - IDR_parameters ISUP_IDR, //Identification request - IRS_parameters ISUP_IRS, //Identification RESponse - INF_parameters ISUP_INF, //Information - INR_parameters ISUP_INR, //Information request - IAM_parameters ISUP_IAM, //Initial address -// IAM_PTSO_parameters ISUP_IAM_PTSO, //Modified Initial address - LPA_parameters ISUP_LPA, //Loop back acknowlwdgement - LOP_parameters ISUP_LOP, //Loop prevention - NRM_parameters ISUP_NRM, //Network RESource management - OLM_parameters ISUP_OLM, //Overload -// OPQ_parameters ISUP_OPQ, //Operator Queue - OPR_parameters ISUP_OPR, //Operator - PAM_parameters ISUP_PAM, //Pass-along - PRI_parameters ISUP_PRI, //Pre-release INFormation - REL_parameters ISUP_REL, //Release - RLC_parameters ISUP_RLC, //Release complete - RSC_parameters ISUP_RSC, //Reset circuit - RES_parameters ISUP_RES, //Resume - SGM_parameters ISUP_SGM, //Segmentation - SAM_parameters ISUP_SAM, //Subsequent - SCB_parameters ISUP_SCB, //Special Clear Back - SDM_parameters ISUP_SDM, //Subsequent Directory Number - SUS_parameters ISUP_SUS, //Suspend - UBL_parameters ISUP_UBL, //Unblocking - UBA_parameters ISUP_UBA, //Unblocking acknowledge - UCIC_parameters ISUP_UCIC, //Unequipped cic - UPA_parameters ISUP_UPA, //User part available - UPT_parameters ISUP_UPT, //User part test - USR_parameters ISUP_USR //User-to-user INFormation - } with { variant "TAG( - ISUP_ACM, messageType = '00000110'B; - ISUP_ANM, messageType = '00001001'B; - ISUP_APM, messageType = '01000001'B; - ISUP_BLO, messageType = '00010011'B; - ISUP_BLA, messageType = '00010101'B; - ISUP_CPG, messageType = '00101100'B; - ISUP_CGB, messageType = '00011000'B; - ISUP_CGBA, messageType = '00011010'B; - ISUP_CQM, messageType = '00101010'B; - ISUP_CQR, messageType = '00101011'B; - ISUP_GRS, messageType = '00010111'B; - ISUP_GRA, messageType = '00101001'B; - ISUP_CGU, messageType = '00011001'B; - ISUP_CGUA, messageType = '00011011'B; - ISUP_CRG, messageType = '00110001'B; - ISUP_CFN, messageType = '00101111'B; - ISUP_CON, messageType = '00000111'B; - ISUP_COT, messageType = '00000101'B; - ISUP_CCR, messageType = '00010001'B; - ISUP_FAC, messageType = '00110011'B; - ISUP_FAA, messageType = '00100000'B; - ISUP_FRJ, messageType = '00100001'B; - ISUP_FAR, messageType = '00011111'B; - ISUP_FOT, messageType = '00001000'B; - ISUP_IDR, messageType = '00110110'B; - ISUP_IRS, messageType = '00110111'B; - ISUP_INF, messageType = '00000100'B; - ISUP_INR, messageType = '00000011'B; - ISUP_IAM, messageType = '00000001'B; -// ISUP_IAM_PTSO, messageType = '00000001'B; - ISUP_LPA, messageType = '00100100'B; - ISUP_LOP, messageType = '01000000'B; - ISUP_NRM, messageType = '00110010'B; - ISUP_OLM, messageType = '00110000'B; -// ISUP_OPQ, messageType = '11111110'B; - ISUP_OPR, messageType = '11111111'B; - ISUP_PAM, messageType = '00101000'B; - ISUP_PRI, messageType = '01000010'B; - ISUP_REL, messageType = '00001100'B; - ISUP_RLC, messageType = '00010000'B; - ISUP_RSC, messageType = '00010010'B; - ISUP_RES, messageType = '00001110'B; - ISUP_SGM, messageType = '00111000'B; - ISUP_SAM, messageType = '00000010'B; - ISUP_SCB, messageType = '11111001'B; - ISUP_SDM, messageType = '01000011'B; - ISUP_SUS, messageType = '00001101'B; - ISUP_UBL, messageType = '00010100'B; - ISUP_UBA, messageType = '00010110'B; - ISUP_UCIC, messageType = '00101110'B; - ISUP_UPA, messageType = '00110101'B; - ISUP_UPT, messageType = '00110100'B; - ISUP_USR, messageType = '00101101'B)" - }; - - -//************************************************************************ -//************************************************************************ -//************************************************************************ -//************************************************************************ -//************************************************************************ -}with{ encode "RAW"}//end module diff --git a/LLC_v7.1.0_CNL113577_LATEST/doc/LLC_v7.1.0_CNL113577_PRI.pdf b/LLC_v7.1.0_CNL113577_LATEST/doc/LLC_v7.1.0_CNL113577_PRI.pdf deleted file mode 100644 index f834e6a27..000000000 Binary files a/LLC_v7.1.0_CNL113577_LATEST/doc/LLC_v7.1.0_CNL113577_PRI.pdf and /dev/null differ diff --git a/LLC_v7.1.0_CNL113577_LATEST/doc/LLC_v7.1.0_CNL113577_UG.pdf b/LLC_v7.1.0_CNL113577_LATEST/doc/LLC_v7.1.0_CNL113577_UG.pdf deleted file mode 100644 index a61bf2eb7..000000000 Binary files a/LLC_v7.1.0_CNL113577_LATEST/doc/LLC_v7.1.0_CNL113577_UG.pdf and /dev/null differ diff --git a/LLC_v7.1.0_CNL113577_LATEST/src/LLC_EncDec.cc b/LLC_v7.1.0_CNL113577_LATEST/src/LLC_EncDec.cc deleted file mode 100644 index 8fe0f0889..000000000 --- a/LLC_v7.1.0_CNL113577_LATEST/src/LLC_EncDec.cc +++ /dev/null @@ -1,318 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// // -// Copyright Test Competence Center (TCC) ETH 2008 // -// // -// 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: LLC_EncDec.cc -// Rev: R1A0 -// Prodnr: CNL 113 577 -// Updated: 2008-01-22 -// Contact: http://ttcn.ericsson.se -// Reference: 3GPP TS 44.064 7.1.0 - -#include "LLC_Types.hh" -#include - -// GIVEN IN CODE RECEIVED FROM ERV -#define CRC_POLY_LLC2 0xad85dd - -// GIVEN IN SPECIFICATION -//#define CRC_POLY_LLC2 0xbba1b5 - -#define TABLE_LENGTH 256 - -// For UI frames if PM bit is 0 (unprotected) then CRC will be calculated over Header + N202 octets -#define N202 4 - -unsigned int mCRCTable[TABLE_LENGTH]; - - -static void BuildCrc24Table() -{ - unsigned int i,j; - unsigned int reg; - - //TRACE_FUNC( "BuildCrc24Table" ); - - for( i = 0; i < TABLE_LENGTH; i++ ) - { - reg = i; - for( j = 8; j > 0; j-- ) - { - if( reg & 1 ) - { - - reg = (reg>>1) ^ (unsigned int) CRC_POLY_LLC2; - } - else - { - reg >>= 1; - } - } - reg &= 0x00ffffffL; - - mCRCTable[i] = (unsigned int)reg; - //TTCN_Logger::begin_event(TTCN_DEBUG); - - //TTCN_Logger::log_event("mCRCTable[%d]= %d",i,mCRCTable[i]); - - // TTCN_Logger::end_event(); - - } -} - -//--------------------------------------------------------------------------------------- - -unsigned int Calculate_CRC(TTCN_Buffer& pdu) -{ - -const unsigned char* loc_pdu = pdu.get_data(); - - //TTCN_Logger::begin_event(TTCN_DEBUG); - - //for (size_t i =0; i< pdu.get_len();i++) - // { - // TTCN_Logger::log_event("%02x ",loc_pdu[i]); - // } - -//TTCN_Logger::log_event("\n"); - -//TTCN_Logger::end_event(); - -BuildCrc24Table(); - -//TTCN_Logger::begin_event(TTCN_DEBUG); -//TTCN_Logger::log_event("mCRCTable[%d]= %d\n",255,mCRCTable[255]); -//TTCN_Logger::log_event("mCRCTable[%d]= 0x%08x (%u)",255,mCRCTable[255]); -//TTCN_Logger::log_event("\n"); -//TTCN_Logger::end_event(); - -unsigned int reg = 0xFFFFFF; - -unsigned int length = pdu.get_len(); - - - -if ( ((loc_pdu[1] >>5) & 0x07) == 0x06 ) //UI frame -{ - if ((loc_pdu[2] & 0x01) == 0x00) // PM bit is 0 (unprotected) - { - if(length > 3 + N202) // pdu length is longer than header + N202 - { - length = 3 + N202; // length = header length + N202 - - } - } -} - - - -while ( length--) - { - reg = - ((reg>>8) & 0x00ffff)^mCRCTable[(reg^*((unsigned char*)loc_pdu++)) & 0xffL]; - } - //TTCN_Logger::log(TTCN_DEBUG, "reg:%08x\n",reg); - // 1's complement of FCS - reg ^= 0xffffffL; - - reg = ((reg >> 16) & 0x000000ff)+ ((reg) & 0x0000ff00) + ((reg <<16 )& 0x00ff0000); - //unsigned int tempint = *(unsigned int*)loc_crcBuffer; - //reg = (unsigned int*)loc_crcBuffer ; - //TTCN_Logger::log(TTCN_DEBUG, "reg:%08x\n",reg); - -return reg & 0x00ffffffL; -} -//--------------------------------------------------------------------------------------- - -namespace LLC__Types { - -OCTETSTRING enc__PDU__LLC(const PDU__LLC& pdu) -{ - TTCN_Buffer bb; - PDU__LLC pdu2(pdu); - - if (pdu2.get_selection() == PDU__LLC::ALT_pDU__LLC__U) - { - - if (pdu2.pDU__LLC__U().information__field__U().get_selection() == Information__field__U::ALT_uA) - {int record_of_size = pdu2.pDU__LLC__U().information__field__U().uA().size_of(); - - for (int i = 0; i < (record_of_size) ; i++) - { - // AUTOMATICALLY CALCULATE WHICH LENGTH FORMAT SHOULD BE USED AND CHANGE SHORT LENGTH FORM - // TO LONG LENGTH FORM IF NECESSARY WHEN L3 PDU IS INCLUDED - if ( pdu2.pDU__LLC__U().information__field__U().uA()[i].typefield() == int2bit(11,5) ) - { - if( pdu2.pDU__LLC__U().information__field__U().uA()[i].xID__Data().l3param().lengthof() > 3) - { - pdu2.pDU__LLC__U().information__field__U().uA()[i].xID__length().long__len() = - pdu2.pDU__LLC__U().information__field__U().uA()[i].xID__Data().l3param().lengthof(); - } - } - } - } - - if (pdu2.pDU__LLC__U().information__field__U().get_selection() == Information__field__U::ALT_sABM) - {int record_of_size = pdu2.pDU__LLC__U().information__field__U().sABM().size_of(); - - for (int i = 0; i < (record_of_size) ; i++) - { - // AUTOMATICALLY CALCULATE WHICH LENGTH FORMAT SHOULD BE USED AND CHANGE SHORT LENGTH FORM - // TO LONG LENGTH FORM IF NECESSARY WHEN L3 PDU IS INCLUDED - if ( pdu2.pDU__LLC__U().information__field__U().sABM()[i].typefield() == int2bit(11,5) ) - { - if( pdu2.pDU__LLC__U().information__field__U().sABM()[i].xID__Data().l3param().lengthof() > 3) - { - pdu2.pDU__LLC__U().information__field__U().sABM()[i].xID__length().long__len() = - pdu2.pDU__LLC__U().information__field__U().sABM()[i].xID__Data().l3param().lengthof(); - } - } - } - } - - if (pdu2.pDU__LLC__U().information__field__U().get_selection() == Information__field__U::ALT_xID) - {int record_of_size = pdu2.pDU__LLC__U().information__field__U().xID().size_of(); - - for (int i = 0; i < (record_of_size) ; i++) - { - // AUTOMATICALLY CALCULATE WHICH LENGTH FORMAT SHOULD BE USED AND CHANGE SHORT LENGTH FORM - // TO LONG LENGTH FORM IF NECESSARY WHEN L3 PDU IS INCLUDED - if ( pdu2.pDU__LLC__U().information__field__U().xID()[i].typefield() == int2bit(11,5) ) - { - if( pdu2.pDU__LLC__U().information__field__U().xID()[i].xID__Data().l3param().lengthof() > 3) - { - pdu2.pDU__LLC__U().information__field__U().xID()[i].xID__length().long__len() = - pdu2.pDU__LLC__U().information__field__U().xID()[i].xID__Data().l3param().lengthof(); - } - } - } - } - } - - - if (pdu2.get_selection() == PDU__LLC::ALT_pDU__LLC__U) - { - if ( pdu2.pDU__LLC__U().fCS().ispresent()) - { - if ( pdu2.pDU__LLC__U().fCS() == int2oct(0,3) ) // IF ENCODER NEEDS TO GENERATE CRC - { - pdu2.pDU__LLC__U().fCS() = OMIT_VALUE; - pdu2.encode(PDU__LLC_descr_ ,bb, TTCN_EncDec::CT_RAW); - unsigned int crcBuffer = Calculate_CRC(bb); - bb.put_os(int2oct(crcBuffer,3)); - return OCTETSTRING (bb.get_len(), bb.get_data()); - - } - - else { // IF ENCODER SENDS OUT NONZERO CRC GIVEN IN TTCN TEMPLATE - pdu2.encode(PDU__LLC_descr_ ,bb, TTCN_EncDec::CT_RAW); - return OCTETSTRING (bb.get_len(), bb.get_data()); - } - } - else { //FCS OMIT - pdu2.encode(PDU__LLC_descr_ ,bb, TTCN_EncDec::CT_RAW); - unsigned int crcBuffer = Calculate_CRC(bb); - bb.put_os(int2oct(crcBuffer,3)); - return OCTETSTRING (bb.get_len(), bb.get_data()); - - } - } - - - - else if (pdu2.get_selection() == PDU__LLC::ALT_pDU__LLC__UI) - { - if ( pdu2.pDU__LLC__UI().fCS().ispresent()) - { - if ( pdu2.pDU__LLC__UI().fCS() == int2oct(0,3) ) // IF ENCODER NEEDS TO GENERATE CRC - { - pdu2.pDU__LLC__UI().fCS() = OMIT_VALUE; - pdu2.encode(PDU__LLC_descr_ ,bb, TTCN_EncDec::CT_RAW); - unsigned int crcBuffer = Calculate_CRC(bb); - bb.put_os(int2oct(crcBuffer,3)); - return OCTETSTRING (bb.get_len(), bb.get_data()); - - } - - else { // IF ENCODER SENDS OUT NONZERO CRC GIVEN IN TTCN TEMPLATE - pdu2.encode(PDU__LLC_descr_ ,bb, TTCN_EncDec::CT_RAW); - return OCTETSTRING (bb.get_len(), bb.get_data()); - } - } - else { //FCS OMIT - pdu2.encode(PDU__LLC_descr_ ,bb, TTCN_EncDec::CT_RAW); - unsigned int crcBuffer = Calculate_CRC(bb); - bb.put_os(int2oct(crcBuffer,3)); - return OCTETSTRING (bb.get_len(), bb.get_data()); - } - } - else {TTCN_error("Can not encode LLC PDU"); //Neither UI NOR U - - return OCTETSTRING (bb.get_len(), bb.get_data()); // this is dummy to avoid warning during compilation - } - //pdu2.encode(PDU__LLC_descr_ ,bb, TTCN_EncDec::CT_RAW); - //unsigned int crcBuffer = Calculate_CRC(bb); - - //bb.put_os( int2oct(crcBuffer,3)); - - - //return OCTETSTRING (bb.get_len(), bb.get_data()); - -} - - -OCTETSTRING enc__PDU__LLC(const PDU__LLC_template& pdu) -{ - return enc__PDU__LLC(pdu.valueof()); -} - - -PDU__LLC dec__PDU__LLC(const OCTETSTRING& stream) -{ - PDU__LLC retv; - TTCN_Buffer bb; - OCTETSTRING crc = int2oct(0,3); - - size_t datalength = stream.lengthof()-3; - const unsigned char * CRC_AS_RECEIVED = (const unsigned char *)stream+datalength; - bb.put_s(datalength,(const unsigned char *)stream); - - unsigned int CRC_CALCULATED = Calculate_CRC(bb); - - // COMPARE CRC RECEIVED IN LLC PDU WITH CRC CALCULATED FROM LLC PDU - if( - (CRC_AS_RECEIVED[ 0 ] != (CRC_CALCULATED & 0xff0000 ) >> 16) || - (CRC_AS_RECEIVED[ 1 ] != (CRC_CALCULATED & 0xff00 ) >> 8) || - (CRC_AS_RECEIVED[ 2 ] != (CRC_CALCULATED & 0xff ) ) - ) - { - TTCN_warning("CRC ERROR IN LLC PDU"); // CRC IS NOT AS EXPECTED - crc=OCTETSTRING(3,CRC_AS_RECEIVED); - } - // CRC IS - // FILL CRC octets with zeroes if CRC is OK - - retv.decode(PDU__LLC_descr_, bb, TTCN_EncDec::CT_RAW); - - if (retv.get_selection() == PDU__LLC::ALT_pDU__LLC__UI){ - retv.pDU__LLC__UI().fCS() = crc; - } - - if (retv.get_selection() == PDU__LLC::ALT_pDU__LLC__U){ - retv.pDU__LLC__U().fCS() = crc; - } - - - return retv; - - -} - -}//namespace diff --git a/LLC_v7.1.0_CNL113577_LATEST/src/LLC_Types.ttcn b/LLC_v7.1.0_CNL113577_LATEST/src/LLC_Types.ttcn deleted file mode 100644 index 7c537a8dc..000000000 --- a/LLC_v7.1.0_CNL113577_LATEST/src/LLC_Types.ttcn +++ /dev/null @@ -1,329 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// // -// Copyright Test Competence Center (TCC) ETH 2008 // -// // -// 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: LLC_Types.ttcn -// Description: This module contains the Logical Link Control protocol (LLC) -// 44.064 v7.1.0 with attributes for RAW encoding/decoding. -// Rev: R1A0 -// Prodnr: CNL 113 577 -// Updated: 2008-01-22 -// Contact: http://ttcn.ericsson.se -// Reference: 3GPP TS 44.064 7.1.0 - -module LLC_Types -{ - -import from General_Types all; - -external function enc_PDU_LLC(in PDU_LLC pdu) return octetstring; -external function dec_PDU_LLC(in octetstring stream) return PDU_LLC; - -type record Version -{ - integer version_value (0..15), - BIT4 spare - -} with { - variant (version_value) "FIELDLENGTH(4)"; -} - -type octetstring IOV_UI length(4) - - -type octetstring IOV_I length(4) - - -type record T200 -{ - BIT4 spare, - integer t200Value -} with { - variant (t200Value) "FIELDLENGTH(12)"; - variant (t200Value) "BYTEORDER(last)"; - variant "FIELDORDER(msb)"; -}; - - -type record N200 -{ - integer retransmissions (0..15), - BIT4 spare -} with { - variant (retransmissions) "FIELDLENGTH(4)"; -} - - -type record N201_U -{ - BIT5 spare, - integer n201UValue -} with { - variant (n201UValue) "FIELDLENGTH(11)"; - variant (n201UValue) "BYTEORDER(last)"; - variant "FIELDORDER(msb)"; -}; - - -type record N201_I -{ - BIT5 spare, - integer n201IValue -} -with { - variant (n201IValue) "FIELDLENGTH(11)"; - variant (n201IValue) "BYTEORDER(last)"; - variant "FIELDORDER(msb)"; -}; - -type record MD -{ - BIT1 spare, - integer mDValue -} with { - variant (mDValue) "FIELDLENGTH(15)"; - variant (mDValue) "BYTEORDER(last)"; - variant "FIELDORDER(msb)"; -}; - - -type record MU -{ - BIT1 spare, - integer mUValue -} with { - variant (mUValue) "FIELDLENGTH(15)"; - variant (mUValue) "BYTEORDER(last)"; - variant "FIELDORDER(msb)"; -}; - -type integer KD with {variant "FIELDLENGTH(8)";}; - -type integer KU with {variant "FIELDLENGTH(8)";}; - -type octetstring L3param; - -type octetstring Reset_LLC length(0); - -type union XID_Data -{ - Version version, - IOV_UI iOV_UI, - IOV_I iOV_I, - T200 t200, - N200 n200, - N201_U n201_U, - N201_I n201_I, - MD mD, - MU mU, - KD kD, - KU kU, - L3param l3param, - Reset_LLC reset -} - - -type union XID_length -{ - integer short_len, - integer long_len -}with { - variant (short_len) "FIELDLENGTH(2)"; - variant (long_len) "FIELDLENGTH(8)"; - variant (long_len) "BYTEORDER(last)"; - variant (short_len) "FIELDORDER(msb)"; - variant (long_len) "FIELDORDER(msb)"; - -} - - -type record XID -{ - BIT1 xl, - BIT5 typefield, - XID_length xID_length, - //Header_XID header_XID, - XID_Data xID_Data -} with { - variant (xID_Data) "CROSSTAG( version, typefield = '00000'B; - iOV_UI, typefield = '00001'B; - iOV_I, typefield = '00010'B; - t200, typefield = '00011'B; - n200, typefield = '00100'B; - n201_U, typefield = '00101'B; - n201_I, typefield = '00110'B; - mD, typefield = '00111'B; - mU, typefield = '01000'B; - kD, typefield = '01001'B; - kU, typefield = '01010'B; - l3param, typefield = '01011'B; - reset, typefield = '01100'B; - - )"; - variant "FIELDORDER(msb)"; - variant (xID_length) "CROSSTAG( short_len, xl = '0'B; - long_len, xl = '1'B;)"; - variant (xID_length) "LENGTHTO (xID_Data)" - - variant (xID_length) "PADDING(yes)" -}; - - -type record RejectedFrameControlField_UI -{ - Control_field_UI control_field, - OCT4 spare -} - - -type record RejectedFrameControlField_U -{ - Control_field_U control_field, - OCT5 spare -} - - -type union RejectedFrameControlField -{ - RejectedFrameControlField_UI rejectedFrameControlField_UI, - RejectedFrameControlField_U rejectedFrameControlField_U -} with { - variant "TAG(rejectedFrameControlField_UI, control_field.format = '110'B; - rejectedFrameControlField_U, control_field.format = '111'B; - )"; -}; - - -type record of XID UA_Information; - -type record of XID SABM_Information; - -type record of XID XID_Information; - - -type octetstring DM_Information length(0); - - -type record FRMR_Information -{ - RejectedFrameControlField rejectedFrameControlField, - BIT4 spare1, - BIT9 vS, - BIT1 spare2, - BIT9 vR, - BIT1 cR, - BIT4 spare3, - BIT1 w4, - BIT1 w3, - BIT1 w2, - BIT1 w1 -} with { - variant (vS) "BYTEORDER(last)"; - variant (vR) "BYTEORDER(last)"; - variant "FIELDORDER(msb)"; -}; - - -type record Address_field -{ - BIT4 sAPI, - BIT2 spare, // '00'B - BIT1 cR, - BIT1 pD //'0' for LLC -} - -type record Control_field_U -{ - BIT4 mBits, - BIT1 pF, - BIT3 format // '111'B -} - - - -type record Control_field_UI - -{ - BIT3 format, // '110'B - BIT2 spare, - integer nU, //BIT9 - BIT1 e, - BIT1 pM -} with { - - variant (nU) "FIELDLENGTH(9)"; - variant (nU) "BYTEORDER(last)"; - variant "FIELDORDER(msb)"; -} - - -type union Information_field_U -{ - UA_Information uA, - SABM_Information sABM, - FRMR_Information fRMR, - DM_Information dM, - XID_Information xID -}; - - -type record PDU_LLC_UI -{ - Address_field address_field, - Control_field_UI control_field, - octetstring information_field_UI, - OCT3 fCS optional - // fCS ENCODING: - //'000000'O in send template -> generate CRC, - // omit in send template -> generate CRC, - // otherwise send out fCS in send template - // - // DECODING: - // decoder generates '000000'O if CRC OK -} - - - -type record PDU_LLC_U -{ - Address_field address_field, - Control_field_U control_field, - Information_field_U information_field_U, - OCT3 fCS optional - // ENCODING: - //'000000'O in send template -> generate CRC, - // omit in send template -> generate CRC, - // otherwise send out fCS in send template - // - // DECODING: - // decoder generates '000000'O if CRC OK -} with { - variant (information_field_U) "CROSSTAG( uA, control_field.mBits = '0110'B; - sABM, control_field.mBits = '0111'B; - fRMR, control_field.mBits = '1000'B; - dM, control_field.mBits = '0001'B; - xID, control_field.mBits = '1011'B; - )"; -}; - - -type union PDU_LLC -{ - PDU_LLC_UI pDU_LLC_UI, - PDU_LLC_U pDU_LLC_U -} with { variant "TAG ( - pDU_LLC_UI, control_field.format ='110'B; - pDU_LLC_U, control_field.format ='111'B; - )" -}; - - - -}with{ encode "RAW"}// end of module diff --git a/MobileL3_v13.4.0_CNL113832_LATEST/doc/MobileL3_v13.4_Descr.doc b/MobileL3_v13.4.0_CNL113832_LATEST/doc/MobileL3_v13.4_Descr.doc deleted file mode 100644 index ddbcb2f57..000000000 Binary files a/MobileL3_v13.4.0_CNL113832_LATEST/doc/MobileL3_v13.4_Descr.doc and /dev/null differ diff --git a/MobileL3_v13.4.0_CNL113832_LATEST/doc/MobileL3_v13.4_PRI.doc b/MobileL3_v13.4.0_CNL113832_LATEST/doc/MobileL3_v13.4_PRI.doc deleted file mode 100644 index c8358d162..000000000 Binary files a/MobileL3_v13.4.0_CNL113832_LATEST/doc/MobileL3_v13.4_PRI.doc and /dev/null differ diff --git a/MobileL3_v13.4.0_CNL113832_LATEST/src/MobileL3_CC_Types.ttcn b/MobileL3_v13.4.0_CNL113832_LATEST/src/MobileL3_CC_Types.ttcn deleted file mode 100644 index d631abc12..000000000 --- a/MobileL3_v13.4.0_CNL113832_LATEST/src/MobileL3_CC_Types.ttcn +++ /dev/null @@ -1,1649 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// // -// 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_CC_Types.ttcn -// Rev: R1B -// Prodnr: CNL 113 832 -// Contact: http://ttcn.ericsson.se -// Reference: 3GPP TS 24.008 v13.4.0 - - -module MobileL3_CC_Types -{ - -import from General_Types all; -import from MobileL3_CommonIE_Types all; - -//============================================================================ -// 24.008/ 10.5.4 Call control information elements -//============================================================================ - -// 10.5.4.1 Extensions of codesets -//-- - -// 10.5.4.2 Locking shift procedure -//-- - -// 10.5.4.3 Non-locking shift procedure -//-- - -// 10.5.4.4 Auxiliary states -type record AuxiliaryStates_TLV -{ - OCT1 elementIdentifier, //24'O - LIN1 lengthIndicator, - BIT2 mPTYAuxiliaryState, - BIT2 holdAuxState, - BIT3 spare_3, - BIT1 ext //'1'B -} with { variant (lengthIndicator) "LENGTHTO(mPTYAuxiliaryState,holdAuxState, - spare_3,ext)"}; - -type record AuxiliaryStates_LV -{ - LIN1 lengthIndicator, - BIT2 mPTYAuxState, - BIT2 holdAuxiliaryState, - BIT3 spare_3, - BIT1 ext //'1'B -}with { variant (lengthIndicator) "LENGTHTO(mPTYAuxState,holdAuxiliaryState, - spare_3,ext)"}; - -//24.008/ 10.5.4.4a Backup Bearer Capacity (BBC) -type record BBC_octet3 -{ - BIT3 informationTransferCapability, // '000'speech B - // '001'B UDI - // '010'B 3.audio 1kHz - // '101'oITC B (see octet 5a) - // '110'B speech auxiliary - // '111'B reserved - BIT1 transferMode, // '0'B mode circuit - // '1'B packet mode - BIT1 codingStandard, // '0'B GSM/PCS coding standardized - // '1'B reserved - BIT2 radioChannelRequirement, // '01'B MSC/VLR to MS; - // '00'B MS (supports) towards MSC/VLR rate dual (half preferred) - // '01'B MS (supports) towards MSC/VLR full only rate - // '10'B rate dual (half preferred) - // '11'B rate dual (full preferred) - BIT1 extension_octet_3 - //'0'B or '1'B (THe RAW encoder will overwrite this bit) -} with { variant "EXTENSION_BIT (yes)"}; - -// "type record BC_octet4" is the same as "type record BC_octet4" - -type record BBC_octet5 -{ - BIT3 signallingAccessProtocol, // '001'B I.440/450 - // '010'B X.21 - // '011'B X.28 dedicated PID, ind. NUI - // '100'B X.28 dedicated PID, uni. NUI - // '101'B X.28 PID non_dedicated - // '110'B X.32 - BIT2 rateAdaptation, // '00'B no adaptation rate (RA) - // '01'B V.110/X.30 adaptation rate - // '10'B CCITT X.31 flag stuffing - // '11'B RA other (see octet 5a) - BIT2 accessId, // '00'B identifier octet - BIT1 extension_octet_5, // '0'B or '1'B (if no octet 5A following) - - //octet 5a - BIT3 spare2_3 optional, // B'...._000 - BIT2 otherRateAdaptation optional, // B'.._00.._ V.interworking 120 - BIT2 otherInformationTransferCapability optional, - // B'_00...._ interworking RDI - BIT1 extension_octet_5a optional // '1'B -} with { variant "EXTENSION_BIT (yes)"}; - -// BBC_octet6, BBC_octet7 not required - -type record BackupBearerCapacity -{ - OCT1 elementIdentifier, - LIN1 lengthIndicator, - // the following octet fields representing an octet group - BBC_octet3 octet3, // 1- - BC_octet4 octet4 optional, //1 octet; opt. by def, but always fill in!!! - BBC_octet5 octet5 optional, //1-2 octets - BC_octet6 octet6 optional, //1-8 octets - BC_octet7 octet7 optional //1 octet -} with { variant (lengthIndicator) "LENGTHTO(octet3,octet4,octet5,octet6, - octet7)"}; - -// 10.5.4.5 Bearer Capacity -type record BC_octet7 -{ - BIT5 userInformationLayer2Protocol, //octet 7: - // '00110'B rec. X.25, level link - // '01000'B ISO 6429 - // '01001'B X.75 (teletex) - // '01010'B profile Videotext - // '01011'B FAX group 3 - // '01100'COPnoF1Ct B - // '01101'B X.75 (CAPI) - BIT2 layer2Id, // '10'B identifier octet - BIT1 extension_octet_7 // '1'B -} with { variant "EXTENSION_BIT (yes)"}; - -type record BC_octet6 -{ - BIT1 synchronous_asynchronous, // '0'synchronous B - // '1'B asynchronous - BIT4 userInformationLayer1Protocol, // '0000'B default layer protocol 1 - BIT2 layer1Id, // '01'B identifier octet - BIT1 extension_octet_6, // '0'B (octet 6a following) or '1'B - - // OCTET 6a: - BIT4 userRate optional, // '0001'B 0.kbps 3 (X.1 and V.110) - // '0010'B 1.kbps 2 (X.1 and V.110) - // '0011'B 2.kbps 4 (X.1 and V.110) - // '0100'B 4.kbps 8 (X.1 and V.110) - // '0101'B 9.kbps 6 (X.1 and V.110) - // '0110'B 12.0 transparent kbps - // '0111'B 1.2 kbps/75bps asymmetric - BIT1 numberDataBits optional, // '0'B bits 7 (data) - // '1'B bits 8 (data) - BIT1 negotiation optional, // '0'B inband negotiation possible not - BIT1 numberStopBits optional, // '0'B bit 1 - // '1'B 2 bits - BIT1 extension_octet_6a optional, // '0'B or '1'B - - // OCTET 6b: - BIT3 parity optional, // '000'odd B (number) - // '010'even B - // '011'B none - // '100'B forced 0 to - // '101'B forced to 1 - BIT1 nicOnRX optional, // '0'B no data accepted clock with - // '1'B data accepted with clock - BIT1 nicOnTX optional, // '0'B no data required clock with - // '1'B data required with clock - BIT2 intermediateRate optional, // '00'reserved B - // '01'B reserved - // '10'B kbps 8 - // '11'B 16 kbps - BIT1 extension_octet_6b optional, // '0'B or '1'B - - // OCTET 6c: - BIT5 modemType optional, // '00000'none B - // '00001'B V.21 - // '00010'B V.22 - // '00011'B V.22bis - // '00100'B V.23 - // '00101'B V.26ter - // '00110'B V.32 - // '00111'B modem for interfaces undefined - // '01000'B autobauding type 1 - // '11111'B V.42 - BIT2 connectionElement optional, // '00'transparent B (T) - // '01'non_transparent B (NT) - // '10'B both, preferred T - // '11'B both, NT preferred - BIT1 extension_octet_6c optional,//'0'B or '1'B no octet following 6d - - // OCTET 6d: - BIT5 fixedNetworkUserRate optional, // '00000'B FNUR applicable not - // '00001'B 9.kbps 6 (X.1 and V.110) - // '00010'B 14.kbps 4 (X.1 and V.110) - // '00011'B 19.kbps 2 (X.1 and V.110) - // '00100'B 28.kbps 8 (X.1 and V.110) - // '00101'B 38.kbps 4 (X.1 and V.110) - // '00110'B 48.kbps 0 (X.1 and V.110) - // '00111'B 56.kbps 0 (X.1 and V.110) - // '01000'B 64.0 transparent kbps - BIT2 otherModemType optional, //'00'B no other modem specified type - // '11'B V.34 - BIT1 extension_octet_6d optional,//'0'B or '1'B no octet following 6e - - // OCTET 6e: - BIT3 maxNumberOfTrafficChannels optional, // '000'B TCH 1 - // '001'B 2 TCH - // '010'B TCH 3 - // '011'B 4 TCH - // '100'B TCH 5 - // '110'B 6 TCH - // '101'B TCH 7 - // '111'B 8 TCH - BIT4 acceptableChannelCodings optional,//'0'B TCH/F4.8 not acceptable - // '1'B TCH/F4.8 acceptable - // '0'B TCH/F9.6 not acceptable - // '1'B TCH/F9.6 acceptable - // '0'spare B - // '0'B TCH/F14.4 not acceptable - // '1'B TCH/F14.acceptable 4 - BIT1 extension_octet_6e optional,//'0'B or '1'B _ no octet following 6d - - // OCTET 6f: - BIT4 wantedAirInterfaceUserRate optional, - //octet 6f (MS to MSC/VLR only): - // '0000'B WAIUR applicable not - // '0001'B 9.6 kbps - // '0010'B 14.kbps 4 - // '0011'B 19.2 kbps - // '0100'B 19.kbps 2 - // '0101'B 28.8 kbps - // '0110'B 38.kbps 4 - // '0111'B 43.2 kbps - // '1000'B 57.kbps 6 - // '1001'B 38.4 kbps - // '1010'B 38.kbps 4 - // '1011'B 38.4 kbps - // '1101'B 38.kbps 4 - BIT3 uimi optional, // '000'B user initiated mod. allowed not - // '001'B UIMI allowed upto 1 TCH/F - // '010'B UIMI allowed upto 2 TCH/F - // '011'B UIMI allowed upto 3 TCH/F - // '100'B UIMI allowed upto 4 TCH/F - BIT1 extension_octet_6f optional,// '0'B or '1'B _ no octet following 6f - - BIT2 spare optional, //'00'B - BIT2 asymetryIndication optional, // spare - BIT3 acceptableChannelCodingsExt optional, // spare, set to 0 - BIT1 extension_octet_6g optional // '1'B; -} with { variant "EXTENSION_BIT (yes)"}; - -type record BC_octet5 -{ - BIT3 signallingAccessProtocol, // '001'B I.440/450 - // '010'B X.21 - // '011'B X.28 dedicated PID, ind. NUI - // '100'B X.28 dedicated PID, uni. NUI - // '101'B X.28 PID non_dedicated - // '110'B X.32 - BIT2 rateAdaptation, // '00'B no adaptation rate (RA) - // '01'B V.110/X.30 adaptation rate - // '10'B CCITT X.31 flag stuffing - // '11'B RA other (see octet 5a) - BIT2 accessId, // '00'B identifier octet - BIT1 extension_octet_5, // '0'B or '1'B (if no octet 5A following) - - BIT3 spare2_3 optional, // B'...._000 - BIT2 otherRateAdaptation optional, // B'.._00.._ V.interworking 120 - BIT2 otherInformationTransferCapability optional, - // B'_00...._ interworking RDI - BIT1 extension_octet_5a optional, // B'x......_ - - BIT1 spare3_1 optional, // B'......_0 - BIT1 inbandNegotiation optional, - BIT1 assignor_assignee optional, - BIT1 lli optional, - BIT1 mode optional, - BIT1 multiframe optional, - BIT1 hdrNohdr optional, - BIT1 extension_octet_5b optional // B'x......_ -} with { variant "EXTENSION_BIT (yes)"}; - -type record BC_octet4 -{ - BIT1 establishment, // '0'demand B - BIT1 nirr, // '0'B no associated meaning - // '1'B data 4.8, FR, NT, 6.0 - BIT1 configuration, // '0'B point point to - BIT1 duplexMode, // '0'B duplex half - // '1'B full duplex - BIT2 structure, // '00'B service data integrity unit - // '11'B unstructured - BIT1 compresion, // '0'B no DC possible/allowed - // '1'B DC possible/allowed - BIT1 extension_octet_4 // '1'B -} with { variant "EXTENSION_BIT (yes)"}; - -type record Speech_AuxiliarySpeech -{ - BIT4 speechVersionIndication, //octet 3a (speech MS to MSC/VLR): - // B'....0000 speech full rate 1 version - // B'....0010 speech full rate version 2 - // B'....0100 speech full rate 3 version - // B'....0001 speech half rate version 1 - // B'....0011 speech half rate 2 version - // B'....0101 speech half rate version 3 - BIT1 spare1_1, // B'..00.... - BIT1 cTM_or_Spare, // CTM text telephony supported '1'B, not supported '0'B, or spare - BIT1 coding, // B'_0...... extension octet ITC - // B'_1...... other extension octet - BIT1 extension_octet_3a_3b // B'x......_ -} with { variant "EXTENSION_BIT (yes)"}; - -type set of Speech_AuxiliarySpeech Speech_AuxiliarySpeech_List with { variant "EXTENSION_BIT (yes)"}; - -type record BC_octet3 -{ - BIT3 informationTransferCapability, // '000'speech B - // '001'B UDI - // '010'B 3.audio 1kHz - // '101'oITC B (see octet 5a) - // '110'B speech auxiliary - // '111'B reserved - BIT1 transferMode, // '0'B mode circuit - // '1'B packet mode - BIT1 codingStandard, // '0'B GSM/PCS coding standardized - // '1'B reserved - BIT2 radioChannelRequirement, // '01'B MSC/VLR to MS; - // '00'B MS (supports) towards MSC/VLR rate dual (half preferred) - // '01'B MS (supports) towards MSC/VLR full only rate - // '10'B rate dual (half preferred) - // '11'B rate dual (full preferred) - BIT1 extension_octet_3, - //'0'B or '1'B (THe RAW encoder will overwrite this bit) - Speech_AuxiliarySpeech_List speech_aux_3a_3b optional -} with { variant "EXTENSION_BIT (yes)"}; - -type record BearerCapability_TLV -{ - OCT1 elementIdentifier, // '04'O - LIN1 lengthIndicator, // 1..12 - // the following octet fields representing an octet group - BC_octet3 octet3, // 1- - BC_octet4 octet4 optional, // 1 octet - BC_octet5 octet5 optional, // 1-3 octets - BC_octet6 octet6 optional, // 1-8 octets - BC_octet7 octet7 optional // 1 octet -} with { variant (lengthIndicator) "LENGTHTO (octet3, octet4, octet5, octet6, - octet7)"}; - -type record BearerCapability_LV -{ - LIN1 lengthIndicator, // 1..12 - // the following octet fields representing an octet group - BC_octet3 octet3, // 1- - BC_octet4 octet4 optional, // 1 octet - BC_octet5 octet5 optional, // 1-3 octets - BC_octet6 octet6 optional, // 1-8 octets - BC_octet7 octet7 optional // 1 octet -} with { variant (lengthIndicator) "LENGTHTO (octet3, octet4, octet5, octet6, - octet7)"}; - -//10.5.4.5a Call Control Capabilities -type record CallControlCapabilities -{ - OCT1 elementIdentifier, - LIN1 lengthIndicator, - BIT1 dTMF, - BIT1 pCP, - BIT1 eNICM, - BIT1 mcat, - BIT4 maxNumberOfSupportedBearers, - BIT4 maxNumberOfSpeechBearers, - BIT4 spare2 // '0000'B -} with { variant (lengthIndicator) "LENGTHTO (dTMF,pCP,eNICM,mcat, - maxNumberOfSupportedBearers,spare2)" }; - - -//10.5.4.6 Call State -type record CallState_V -{ - BIT6 callStateValue, - BIT2 codingStd -}; - -type record CallState_TV -{ - OCT1 elementIdentifier, - BIT6 callStateValue, - BIT2 codingStd -}; - -//24.008/10.5.4.7 Called Party BCD Number -type record CalledPartyBCD_Number -{ - OCT1 elementIdentifier, // '5E'O - LIN1 lengthIndicator, // 1..15 - BIT4 numberingPlanIdentification, // '0000'unknown B - // '0001'B ISDN/telephony - // '0011'data B - // '0100'B telex - // '1000'national B - // '1001'B private - // '1111'B reserved extension for - BIT3 typeOfNumber, // '000'unknown B - // '001'B international number - // '010'B number national - // '011'B network specific number - // '100'B dedicated access code short - // '101'B reserved - // '110'reserved B - // '111'B reserved for extension - BIT1 ext1, // '0'B or '1'B - hexstring digits optional -} with { variant (lengthIndicator) "LENGTHTO (numberingPlanIdentification, - typeOfNumber, ext1, digits)"; - variant (digits) "PADDING(yes)"; - variant (digits) "PADDING_PATTERN('1'B)"}; - -//24.008/10.5.4.8 Called Party SubAddress -type record CalledPartySubAddress -{ - OCT1 elementIdentifier, // H'6D - LIN1 lengthIndicator, // 0..21 - BIT3 spare1_3 optional, // B'...._000 - BIT1 odd_evenIndicator optional, - // B'....0.._ even number of digits address - // B'....1.._ odd number of address digits - BIT3 typeOfSubAddress optional, // B'_000.... NSAP - // B'_010.... specified user - BIT1 ext1 optional, // B'1......_ - OCTN subAddressInformation optional -} with { variant (lengthIndicator) "LENGTHTO (spare1_3, odd_evenIndicator, - typeOfSubAddress, ext1, subAddressInformation)"}; - - -//10.5.4.9 Calling Party BCD Number -type record CallingOrCalled_Number_oct3 -{ - BIT4 numberingPlanIdentification, // Applies for type number of - // = 000, 001, 010 and 100 - // B'....Unknown 0000 - // B'....0001 ISDN/telephony number plan - // B'....0011 data numbering plan - // B'....0100 telex numbering plan - // B'....1000 national numbering plan - // B'....1001 private numbering plan - // B'....1111 reserved for extension - BIT3 typeOfNumber, // B'_000.... Unknown - // B'_001.... international number - // B'_010.... national number - // B'_011.... network specific number - // B'_100.... dedicated access, short code - // B'_101.... reserved - // B'_110.... reserved - // B'_111.... reserved for extension - BIT1 ext1, // B'1......_ - BIT2 screeningIndicator optional, - // B'......00 User_provided, not screened - // B'......01 User_provided, verified and passed - // B'......10 User_provided, verified and failed - // B'......11 Network provided - BIT3 spare1_3 optional, // B'.._000.. - BIT2 presentationIndicator optional, - // B'_00 Presentation allowed - // B'_01 Presentation restricted - // B'_10 Number not available due to interworking - // B'_11 Reserved - BIT1 ext2 optional // B'1......_ -} with { variant "EXTENSION_BIT (yes)"}; - -type record CallingPartyBCD_Number { - OCT1 elementIdentifier, // '5C'O -table 9.70 - LIN1 lengthIndicator, // 1..12 - CallingOrCalled_Number_oct3 oct3, - hexstring digits optional -} with { variant (lengthIndicator) "LENGTHTO (oct3,digits)"; - variant (digits) "PADDING(yes)"; - variant (digits) "PADDING_PATTERN('1'B)"}; - -//10.5.4.10 Calling Party SubAddress -type record CallingPartySubAddress -{ - OCT1 elementIdentifier, // H'5D - LIN1 lengthIndicator, // 0..21 - BIT3 spare1_3 optional, // B'...._000 - BIT1 odd_evenIndicator optional, - // B'....0.._ even number of digits address - // B'....1.._ odd number of address digits - BIT3 typeOfSubAddress optional, // B'_000.... NSAP - // B'_010.... specified user - BIT1 ext1 optional, // B'1......_ - OCTN subAddressInformation optional -} with { variant (lengthIndicator) "LENGTHTO (spare1_3, odd_evenIndicator, - typeOfSubAddress, ext1, subAddressInformation)"}; - -//24.008/10.5.4.11 Cause -//moved into MobileL3_CommonIE_Types - -//24.008/10.5.4.11a/b -type record CLIR -{ - OCT1 elementIdentifier -}; - -//24.008/10.5.4.12 Congestion level -type record CongestionLevel -{ - BIT4 congestionLevel, // '0000'B receiver ready - // '1111'B receiver not ready - BIT4 elementIdentifier -}; - -type BIT4 CongestionLevelV; - -//24.008/10.5.4.13 Connected Number -type record ConnectedNumber -{ - OCT1 elementIdentifier, // H'4C - LIN1 lengthIndicator, // 2..12 - CallingOrCalled_Number_oct3 oct3, - hexstring digits optional -} with { variant (lengthIndicator) "LENGTHTO (oct3,digits)"; - variant (digits) "PADDING(yes)"; - variant (digits) "PADDING_PATTERN('1'B)"}; - -//**************************************************************************** -type record ConnectedSubAddress -{ - OCT1 elementIdentifier, // H'4D - LIN1 lengthIndicator, // 0..21 - BIT3 spare1_3 optional, // B'...._000 - BIT1 odd_evenIndicator optional, - // B'....0.._ even number of digits address - // B'....1.._ odd number of address digits - BIT3 typeOfSubAddress optional, // B'_000.... NSAP - // B'_010.... specified user - BIT1 ext1 optional, // B'1......_ - OCTN subAddressInformation optional -} with { variant (lengthIndicator) "LENGTHTO (spare1_3, odd_evenIndicator, - typeOfSubAddress, ext1, subAddressInformation)" }; - -//10.5.4.15 Facility IE (see also 24.080/3.6 -// moved to Mobile_L3_CommonIE_Types , because it is used by SS and CC - -// 10.5.4.16 HighLayerCompatibility -type record HLC_octet3 -{ - BIT2 presentationMethod, - BIT3 interpretation, - BIT2 codingStandard, - BIT1 extension_octet_3 // '1'B octet4 should follow -} with { variant "EXTENSION_BIT (yes)"}; - -type record HLC_octet4 -{ - BIT7 highLayerCharId, - BIT1 extension_octet_4, - //octet4a: - BIT7 extendedHighLayerCharId optional, - BIT1 extension_octet_4a optional // '1'B -} with { variant "EXTENSION_BIT (yes)"}; - -type record HighLayerCompatibility -{ - OCT1 elementIdentifier, // H'7D - LIN1 lengthIndicator, // 0..3 - HLC_octet3 octet3 optional, - HLC_octet4 octet4 optional // if octet3 used, octet4 should use, see 10.5.4.16.1 - //replaced this: octetstring highLayerCompatibilityContents length(1..3) optional -} with { variant (lengthIndicator) "LENGTHTO (octet3, octet4)"}; - -//10.5.4.17 Keypad Facility -type record KeypadFacility -{ - OCT1 elementIdentifier, // - BIT7 keypadInformation, //IA5 char - BIT1 spare_1 -}; - -//10.5.4.18 Low Layer Compatibility -// see also ITU Q.931 -type record LowLayerCompatibility -{ - OCT1 elementIdentifier, // H'7C - LIN1 lengthIndicator, // 0..13 - octetstring lowLayerCompatibilityContents length(2..16) optional - -//commented out to simplify the type -/* BIT5 informationTransferCapability optional, - BIT2 codingStandard optional, - BIT1 ext1 optional, // B'x........ - BIT6 spare1_6 optional, // B'..0000000 - BIT1 negotiationIndicator optional, - BIT1 ext2 optional, // B'x........ - BIT5 informationTransferRate optional, - BIT2 transferMode optional, - BIT1 ext3 optional, // B'x........ - BIT2 establishment optional, - BIT2 configuration optional, - BIT3 structure optional, - BIT1 ext4 optional, // B'x........ - BIT5 informationTransferRateDestOrig optional, - BIT2 symetry optional, - BIT1 ext5 optional, // B'x........ - BIT5 userInformationLayer1Protocol optional, - BIT2 layer1Identity optional, - BIT1 ext6 optional, // B'x........ - BIT5 userRate optional, - BIT1 negotiation optional, - BIT1 synchronous_asynchronous optional, - BIT1 ext7 optional, // B'x........ - BIT1 spare2_1 optional, // B'........0 - BIT1 flowControlOnRX optional, - BIT1 flowControlOnTX optional, - BIT1 nicOnRX optional, - BIT1 nicOnTX optional, - BIT2 intermediateRate optional, - BIT1 ext8 optional, // B'x........ - BIT1 spare3_1 optional, // B'........0 - BIT1 inband_outbandNegotiation optional, - BIT1 assignor_assignee optional, - BIT1 lliNegotiation optional, - BIT1 mode optional, - BIT1 multiFrameSupport optional, - BIT1 hdrNohdr optional, - BIT1 ext9 optional, // B'x........ - BIT3 parity optional, - BIT2 numberDataBits optional, - BIT2 numberStopBits optional, - BIT1 ext10 optional, // B'x........ - BIT6 modemType optional, - BIT1 duplexMode optional, - BIT1 ext11 optional, // B'x........ - BIT5 userInformationLayer2Protocol optional, - BIT2 layer2Id optional, - BIT1 ext12 optional, // B'x........ - BIT5 userInformationLayer3Protocol optional, - BIT2 layer3Id optional, - BIT1 ext13 optional, // B'x........ - BIT7 optionalLayer3ProtocolInformation optional, - BIT1 ext14 optional // B'x........ -*/ -} with { variant (lengthIndicator) "LENGTHTO (lowLayerCompatibilityContents)"}; - -//10.5.4.19 More Data -/* -type record MoreData -{ - OCT1 elementIdentifier //'A0'O -}; -*/ - -//10.5.4.20 NotificationIndicator -type record NotificationIndicator -{ -// OCT1 elementIdentifier, - OCT1 notificationDescription // '80'O : user suspended - // '81'O : user resumed - // '82'O : bearer change -}; - -//10.5.4.21 Progress Indicator -type record ProgressIndicator_LV -{ - LIN1 lengthIndicator, // '02'O - BIT4 location, // '0000'user B - // '0001'B private network, local user - // '0010'B public network, user local - // '0100'B public network, remote user - // '0101'B private network, user remote - // '1010'B Network beyond interworking pt. - BIT1 spare1_1, // '0'B - BIT2 codingStandard, // '00'B coding according Q.931 - // '01'B reserved for standards other - // '10'B National standard - // '11'B standard other - BIT1 ext1, // '1'B - BIT7 progressDescription, //'0000001'B call is not end_to_end PLMN/ISDN - // '0000010'B destination address is not PLMN/ISDN - // '0000011'B origination address is not PLMN/ISDN - // '0000100'B call has returned to the PLMN/ISDN - // '0001000'B inband info available PLMN/ISDN - // '0100000'B call is end_to_end PLMN/ISDN - BIT1 ext2 // '1'B -} with { variant (lengthIndicator) "LENGTHTO (location, spare1_1, - codingStandard, ext1, - progressDescription, ext2)"}; - -type record ProgressIndicator_TLV -{ - OCT1 elementIdentifier, - LIN1 lengthIndicator, // '02'O - BIT4 location, // '0000'user B - // '0001'B private network, local user - // '0010'B public network, user local - // '0100'B public network, remote user - // '0101'B private network, user remote - // '1010'B Network beyond interworking pt. - BIT1 spare1_1, // '0'B - BIT2 codingStandard, // '00'B coding according Q.931 - // '01'B reserved for standards other - // '10'B National standard - // '11'B standard other - BIT1 ext1, // '1'B - BIT7 progressDescription, //'0000001'B call is not end_to_end PLMN/ISDN - // '0000010'B destination address is not PLMN/ISDN - // '0000011'B origination address is not PLMN/ISDN - // '0000100'B call has returned to the PLMN/ISDN - // '0001000'B inband info available PLMN/ISDN - // '0100000'B call is end_to_end PLMN/ISDN - BIT1 ext2 // '1'B - // removed by ethbaat:ProgressIndicator_LV progressIndicator_LV -} with { variant (lengthIndicator) "LENGTHTO (location, spare1_1, - codingStandard, ext1, - progressDescription, ext2)"}; - -//24.008/10.5.4.21a Recall Type -type record RecallType -{ - OCT1 elementIdentifier, - BIT3 recallType, - BIT5 spare_5 -}; - -//24.008/10.5.4.21b Redirecting party BCD number -type record RedirectingPartyBCDNumberTLV -{ - OCT1 elementIdentifier, - LIN1 lengthIndicator, - CallingOrCalled_Number_oct3 oct3, - hexstring digits optional -} with { variant (lengthIndicator) "LENGTHTO (oct3,digits)"; - variant (digits) "PADDING(yes)"; - variant (digits) "PADDING_PATTERN('1'B)" - -}; - -//24.008/10.5.4.21c Redirecting party Subaddress -type record RedirectingPartySubaddressTLV -{ - OCT1 elementIdentifier, - LIN1 lengthIndicator, - BIT3 spare1_3 optional, // B'...._000 - BIT1 odd_evenIndicator optional, - // B'....0.._ even number of digits address - // B'....1.._ odd number of address digits - BIT3 typeOfSubAddress optional, // B'_000.... NSAP - // B'_010.... specified user - BIT1 ext1 optional, // B'1......_ - OCTN subAddressInformation optional -} with { variant (lengthIndicator) "LENGTHTO (spare1_3, odd_evenIndicator, - typeOfSubAddress, ext1, subAddressInformation)"}; - -//24.008/10.5.4.22 Repeat Indicator -type record RepeatIndicator -{ - BIT4 RepeatIndication, - BIT4 elementIdentifier -}; - -//10.5.4.22a Reverse Call Setup Direction -type record ReverseCallSetupDirection -{ - OCT1 elementIdentifier -}; - -//10.5.4.22b Setup Contatiner CCBS -type record SetupContatinerCCBS -{ - OCT1 elementIdentifier, - LIN1 lengthIndicator, - OCTN setupMessage -} with { variant (lengthIndicator) "LENGTHTO (setupMessage)"}; - -type record SetupContatinerCCBS_LV -{ - LIN1 lengthIndicator, - OCTN setupMessage -} with { variant (lengthIndicator) "LENGTHTO (setupMessage)"}; - -//10.5.4.23 Signal -type record ML3_Signal -{ - OCT1 elementIdentifier, // H'34 - OCT1 signalValue // B'00000000 0. Dial tone on - // B'00000001 1. Ring back on tone - // B'00000010 2. Intercept tone on - // B'00000011 3. Network congestion on tone - // B'00000100 4. Busy tone on - // B'00000101 5. Confirm on tone - // B'00000110 6. Answer tone on - // B'00000111 7. Call waiting on tone - // B'00001001 9. Off_hook warning tone on - // B'00111111 63. off Tones - // B'01001111 79. Alerting off -}; - -//10.5.4.24 SS Version Indicator -//moved to MobileL3_CommonIE_Types - -//10.5.4.25 User-user -type record User_user_LV -{ - LIN1 lengthIndicator, - OCT1 user_userProtocolDiscriminator, - octetstring user_userInformation length(0..129) //transparent -} with { variant (lengthIndicator) "LENGTHTO(user_userInformation)" }; - -type record User_user_TLV -{ - OCT1 elementIdentifier, - LIN1 lengthIndicator, - OCT1 user_userProtocolDiscriminator, - octetstring user_userInformation length(0..128) //transparent -} with { variant (lengthIndicator) "LENGTHTO(user_userInformation)" }; - -type record User_userShort -{ - OCT1 elementIdentifier, - LIN1 lengthIndicator, - OCT1 user_userProtocolDiscriminator, - octetstring user_userInformation length(0..32) -} with { variant (lengthIndicator) "LENGTHTO(user_userInformation)" }; - -//10.5.4.26 Alerting Pattern -type record AlertingPattern -{ - OCT1 elementIdentifier, //'19'O - LIN1 lengthIndicator, - BIT4 alertingPattern_FIELD, - BIT4 spare -} with { variant (lengthIndicator) "LENGTHTO (alertingPattern_FIELD,spare )"}; - -//10.5.4.27 Allowed Actions -type record AllowedActions -{ - OCT1 elementIdentifier, //'19'O - LIN1 lengthIndicator, - BIT7 spare_7, - BIT1 ccbsActivation //'0'B activation is not possible - //'1'B activation is possible -} with { variant (lengthIndicator) "LENGTHTO (spare_7,ccbsActivation)"}; - -//10.5.4.28 Stream Identifier -type record StreamIdentifier -{ - OCT1 elementIdentifier, // '2D'O - integer lengthf, // '01'O - OCT1 streamIdentifierValue // value 0..255 -} with { variant (lengthf) "LENGTHTO (streamIdentifierValue)"}; - -// 24.008/10.5.4.29 Network Call Control Capabilities -type record NetworkCallControlCapabilities -{ - OCT1 elementIdentifier, //'2F'O - LIN1 lengthIndicator, - BIT1 mcs, // multicall support '0'B: no support - // '1'B :support - BIT7 spare -} with { variant (lengthIndicator) "LENGTHTO (mcs,spare)"}; - -//10.5.4.30 CauseofNoCli -type record CauseofNoCli -{ - OCT1 elementIdentifier, //'3A'O - LIN1 lengthIndicator, - OCT1 causeofNoCli_FIELD -} with { variant (lengthIndicator) "LENGTHTO (causeofNoCli_FIELD)"}; - -//10.5.4.31 Immediate Modification Indicator -// VOID - -// 10.5.4.33 Service Category (TLV) -type record ServiceCategory -{ - OCT1 elementIdentifier, - LIN1 lengthIndicator, - BIT7 emergencyServiceCategory, - BIT1 spare_1 -} with { variant (lengthIndicator) "LENGTHTO( emergencyServiceCategory, spare_1 )"}; - -// 10.5.4.34 REDIAL (T) -type Type2 Redial; - -//10.5.4.35 Network Initiated Service Upgrade Indicator -type record NetworkInitiatedServiceUpgradeIndicator -{ - OCT1 elementIdentifier -}; - -//============================================================================ -// 20.008/9.3 Messages for circuit-switched call control (CC) -//============================================================================ - -// 9.3.1.1 Alerting (NW->MS) -//**************************************************************************** -type record PDU_ML3_Alerting_NW_MS -{ - BIT6 messageType, // '000001'Alerting B - BIT2 nsd, - Facility_TLV facility optional, - ProgressIndicator_TLV progressIndicator optional, - User_user_TLV user_user optional -} with { variant "TAG ( - facility, elementIdentifier = '1C'O; - progressIndicator, elementIdentifier = '1E'O; - user_user, elementIdentifier = '7E'O ) "} - -// 9.3.1.2 Alerting (MS->NW) -//**************************************************************************** -type record PDU_ML3_Alerting_MS_NW -{ - BIT6 messageType, // B'..000001 (Alerting) - BIT2 nsd, - Facility_TLV facility optional, - User_user_TLV user_user optional, - SS_VersionIndicator ss_VersionIndicator optional -} with { variant "TAG ( - facility, elementIdentifier = '1C'O; - user_user, elementIdentifier = '7E'O; - ss_VersionIndicator, elementIdentifier = '7F'O ) "}; - -// 9.3.2 Call confirmed (MS->NW) -//**************************************************************************** -type record PDU_ML3_CallConfirmed -{ - BIT6 messageType, // '001000'CallConfirmed B - BIT2 nsd, - RepeatIndicator repeatIndicator optional, // successive selection: - //only present also if - //BC1&BC2 are present - // H'circular D1 - // H'D3 sequential - BearerCapability_TLV bearerCapability1 optional, - BearerCapability_TLV bearerCapability2 optional, - ML3_Cause_TLV cause optional, - CallControlCapabilities cC_Capabilities optional, - StreamIdentifier streamIdentifier optional, - SupportedCodecList supportedCodecs optional -} with { variant "TAG ( - repeatIndicator, elementIdentifier = '1101'B; - bearerCapability1, elementIdentifier = '04'O; - bearerCapability2, elementIdentifier = '04'O; - cause, elementIdentifier = '08'O; - cC_Capabilities, elementIdentifier = '15'O; - streamIdentifier, elementIdentifier = '2D'O;) "}; - -// 9.3.3 Call Proceeding (NW->MS) -//**************************************************************************** -type record PDU_ML3_CallProceeding -{ - BIT6 messageType, // '000010'CallProceeding B - BIT2 nsd, - RepeatIndicator repeatIndicator optional, //successive selection: - //only present also if - //BC1&BC2 are present - // H'circular D1 - // H'D3 sequential - BearerCapability_TLV bearerCapability1 optional, - BearerCapability_TLV bearerCapability2 optional, - Facility_TLV facility optional, - ProgressIndicator_TLV progressIndicator optional, - PriorityLevel_ML3 priorityGranted optional, - NetworkCallControlCapabilities networkCCCapabilities optional //10.5.4.29 -} with { variant "TAG ( - repeatIndicator, elementIdentifier = '1101'B; - bearerCapability1, elementIdentifier = '04'O; - bearerCapability2, elementIdentifier = '04'O; - facility, elementIdentifier = '1C'O; - progressIndicator, elementIdentifier = '1E'O; - priorityGranted, elementIdentifier = '1000'B; - networkCCCapabilities, elementIdentifier = '2F'O;) "}; - -// 9.3.4 Congestion Control (NW->MS) -//**************************************************************************** -type record PDU_ML3_CongestionControl -{ - BIT6 messageType, // '111001'B CongestionControl - BIT2 nsd, - CongestionLevelV congestionLevel, - BIT4 spare_4, - ML3_Cause_TLV cause optional - } with { variant "TAG ( cause, elementIdentifier = '08'O )"}; - - -// 9.3.5 Connect -//**************************************************************************** -// 9.3.5.1 Connect (NW->MS) -type record PDU_ML3_Connect_NW_MS -{ - BIT6 messageType, // '000111'B (Connect) - BIT2 nsd, - Facility_TLV facility optional, - ProgressIndicator_TLV progressIndicator optional, - ConnectedNumber connectedNumber optional, - ConnectedSubAddress connectedSubAddress optional, - User_user_TLV user_user optional -} with { variant "TAG ( - facility, elementIdentifier = '1C'O; - progressIndicator, elementIdentifier = '1E'O; - connectedNumber, elementIdentifier = '4C'O; - connectedSubAddress, elementIdentifier = '4D'O; - user_user, elementIdentifier = '7E'O ) "}; - -// 9.3.5.2 Connect (MS->NW) - -type record PDU_ML3_Connect_MS_NW -{ - BIT6 messageType, // '000111'B (Connect) - BIT2 nsd, - Facility_TLV facility optional, - ConnectedSubAddress connectedSubAddress optional, - User_user_TLV user_user optional, - SS_VersionIndicator ss_VersionIndicator optional, - StreamIdentifier streamIdentifier optional -} with { variant "TAG ( - facility, elementIdentifier = '1C'O; - connectedSubAddress, elementIdentifier = '4D'O; - user_user, elementIdentifier = '7E'O; - ss_VersionIndicator, elementIdentifier = '7F'O; - streamIdentifier, elementIdentifier = '2D'O ) "}; - -// 9.3.6 Connect Ack (NW->MS) (MS->NW) -//**************************************************************************** -type record PDU_ML3_ConnectAck -{ - BIT6 messageType, // '001111'B (ConnectAck) - BIT2 nsd -}; - -// 9.3.7 Disconnect -//**************************************************************************** -// 9.3.7.1 Disconnect (NW-MS) -type record PDU_ML3_Disconnect_NW_MS -{ - BIT6 messageType, // '100101'B (Disconnect) - BIT2 nsd, - ML3_Cause_LV cause, - Facility_TLV facility optional, - ProgressIndicator_TLV progressIndicator optional, - User_user_TLV user_user optional, - AllowedActions allowedActions optional -} with { variant "TAG ( - facility, elementIdentifier = '1C'O; - progressIndicator, elementIdentifier = '1E'O; - user_user, elementIdentifier = '7E'O; - allowedActions, elementIdentifier = '7B'O ) "}; - -// 9.3.7.2 Disconnect (MS->NW) -type record PDU_ML3_Disconnect_MS_NW -{ - BIT6 messageType, // '100101'B (Disconnect) - BIT2 nsd, - ML3_Cause_LV cause, - Facility_TLV facility optional, - User_user_TLV user_user optional, - SS_VersionIndicator ss_VersionIndicator optional -} with { variant "TAG ( - facility, elementIdentifier = '1C'O; - user_user, elementIdentifier = '7E'O; - ss_VersionIndicator, elementIdentifier = '7F'O ) "}; - -// 9.3.8 Emergency Setup (MS->NW ) -//**************************************************************************** -type record PDU_ML3_EmergencySetup -{ - BIT6 messageType, // '001110'B - BIT2 nsd, - BearerCapability_TLV bearerCapability optional, - StreamIdentifier streamIdentifier optional, - SupportedCodecList supportedCodecs optional, - ServiceCategory emergencyCategory optional -} with { variant "TAG ( - bearerCapability, elementIdentifier = '04'O; - streamIdentifier, elementIdentifier = '2D'O; - emergencyCategory, elementIdentifier = '2E'O; ) "}; - -// 9.3.9.1 (NW->MS) and 9.3.9.2 (MS->NW) Facility (CallControl!!!) -//**************************************************************************** -type record PDU_ML3_Facility -{ - BIT6 messageType, // facilityIEI - BIT2 nsd, - Facility_LV facility, //10.5.4.15 - SS_VersionIndicator ss_version optional // only for MS->NW -} with { variant "TAG ( ss_version, elementIdentifier = '7F'O ) "}; - -//9.3.10 Hold (MS->NW) -//**************************************************************************** -type record PDU_ML3_Hold -{ - BIT6 messageType, // '011000'Hold B - BIT2 nsd -}; - -//9.3.11 Hold Acknowledge (NW->MS) -//**************************************************************************** -type record PDU_ML3_HoldAcknowledge -{ - BIT6 messageType, // '011001'B Acknowledge Hold - BIT2 nsd -}; - -//9.3.12 Hold Reject (NW->MS) -//**************************************************************************** -type record PDU_ML3_HoldReject -{ - BIT6 messageType, //'011010'B - BIT2 nsd, - ML3_Cause_LV cause -}; - -//9.3.13 Modify (MS->NW) (NW->MS) -//**************************************************************************** -type record PDU_ML3_Modify -{ - BIT6 messageType, //'010111'B - BIT2 nsd, - BearerCapability_LV bearerCapability, - LowLayerCompatibility lowLayerCompatibility optional, - HighLayerCompatibility highLayerCompatibility optional, - ReverseCallSetupDirection reverseCallSetupDirection optional, - NetworkInitiatedServiceUpgradeIndicator networkInitiatedServiceUpgradeIndicator optional -} with { variant "TAG ( - lowLayerCompatibility, elementIdentifier = '7C'O; - highLayerCompatibility, elementIdentifier = '7D'O; - reverseCallSetupDirection, elementIdentifier = 'A3'O; - networkInitiatedServiceUpgradeIndicator, elementIdentifier = 'A4'O ) "}; - -//9.3.14 Modify Complete (MS->NW) (NW->MS) -//**************************************************************************** -type record PDU_ML3_ModifyComplete -{ - BIT6 messageType, //'011111'B - BIT2 nsd, - BearerCapability_LV bearerCapability, - LowLayerCompatibility lowLayerCompatibility optional, - HighLayerCompatibility highLayerCompatibility optional, - ReverseCallSetupDirection reverseCallSetupDirection optional -} with { variant "TAG ( - lowLayerCompatibility, elementIdentifier = '7C'O; - highLayerCompatibility, elementIdentifier = '7D'O; - reverseCallSetupDirection, elementIdentifier = 'A3'O;) "}; - -//9.3.15 Modify Reject (MS->NW) (NW->MS) -//**************************************************************************** -type record PDU_ML3_ModifyReject -{ - BIT6 messageType, //'010011'B - BIT2 nsd, - BearerCapability_LV bearerCapability, - ML3_Cause_LV cause, - LowLayerCompatibility lowLayerCompatibility optional, - HighLayerCompatibility highLayerCompatibility optional -} with { variant "TAG ( - lowLayerCompatibility, elementIdentifier = '7C'O; - highLayerCompatibility, elementIdentifier = '7D'O;) "}; - -//9.3.16 Notify (MS->NW) (NW->MS) -//**************************************************************************** -type record PDU_ML3_Notify -{ - BIT6 messageType, //'111110'B - BIT2 nsd, - NotificationIndicator notificationIndicator -}; - -// 9.3.17 Progress (NW->MS) -//**************************************************************************** -type record PDU_ML3_Progress -{ - BIT6 messageType, // '000011'Progress B - BIT2 nsd, - ProgressIndicator_LV progressIndicator, - User_user_TLV user_user optional -} with { variant "TAG (user_user, elementIdentifier = '7E'O; ) "}; - -// 9.3.17a CC Establishment (NW->MS) -//**************************************************************************** -type record PDU_ML3_CC_Establishment -{ - BIT6 messageType, // '000100' - BIT2 nsd, - SetupContatinerCCBS_LV container -} - -// 9.3.17b CC Establishment Confirmed (MS->NW) -//**************************************************************************** -type record PDU_ML3_CC_EstablishmentConf -{ - BIT6 messageType, // 'CC_EstablishmentConf' - BIT2 nsd, - RepeatIndicator repeatIndicator optional, - BearerCapability_TLV bearerCapability1, - BearerCapability_TLV bearerCapability2 optional, - ML3_Cause_TLV cause optional, - SupportedCodecList supportedCodecs optional -} with { variant "TAG ( - repeatIndicator, elementIdentifier = '1101'B; - bearerCapability2, elementIdentifier = '04'O; - cause, elementIdentifier = '08'O; ) "}; - -// 9.3.18.1 Release (NW->MS) -//**************************************************************************** -type record PDU_ML3_Release_NW_MS -{ - BIT6 messageType, // '101101'Release B - BIT2 nsd, - ML3_Cause_TLV cause optional, - ML3_Cause_TLV secondCause optional, - Facility_TLV facility optional, - User_user_TLV user_user optional -} with { variant "TAG ( - cause, elementIdentifier = '08'O; - secondCause, elementIdentifier = '08'O; - facility, elementIdentifier = '1C'O; - user_user, elementIdentifier = '7E'O ) "}; - -// 9.3.18.2 Release (MS->NW) -//**************************************************************************** -type record PDU_ML3_Release_MS_NW -{ - BIT6 messageType, // '101101'Release B - BIT2 nsd, - ML3_Cause_TLV cause optional, - ML3_Cause_TLV secondCause optional, - Facility_TLV facility optional, - User_user_TLV user_user optional, - SS_VersionIndicator ss_VersionIndicator optional -} with { variant "TAG ( - cause, elementIdentifier = '08'O; - secondCause, elementIdentifier = '08'O; - facility, elementIdentifier = '1C'O; - user_user, elementIdentifier = '7E'O; - ss_VersionIndicator, elementIdentifier = '7F'O ) "}; - -// 9.3.18a Recall (CCBS) (NW->MS) -//**************************************************************************** -type record PDU_ML3_Recall -{ - BIT6 messageType, // '001011'Recall - BIT2 nsd, - RecallType recallType, - Facility_LV facility -}; - -// 9.3.19.1 Release Complete (NW->MS) -//**************************************************************************** -type record PDU_ML3_ReleaseComplete_NW_MS -{ - BIT6 messageType, // '101010'B ReleaseComplete - BIT2 nsd, - ML3_Cause_TLV cause optional, - Facility_TLV facility optional, - User_user_TLV user_user optional -} with { variant "TAG ( - cause, elementIdentifier = '08'O; - facility, elementIdentifier = '1C'O ; - user_user, elementIdentifier = '7E'O ) "}; - -// 9.3.19.2 Release Complete (MS->NW) -//**************************************************************************** -type record PDU_ML3_ReleaseComplete_MS_NW -{ - BIT6 messageType, // '101010'B (ReleaseComplete) - BIT2 nsd, - ML3_Cause_TLV cause optional, - Facility_TLV facility optional, - User_user_TLV user_user optional, - SS_VersionIndicator ss_VersionIndicator optional -} with { variant "TAG ( - cause, elementIdentifier = '08'O; - facility, elementIdentifier = '1C'O; - user_user, elementIdentifier = '7E'O; - ss_VersionIndicator, elementIdentifier = '7F'O ) "}; - -//9.3.20 Retrieve (MS->NW) -//**************************************************************************** -type record PDU_ML3_Retrieve -{ - BIT6 messageType, //'011100'B - BIT2 nsd -}; - -//9.3.21 Retrieve Acknowledge (NW->MS) -//**************************************************************************** -type record PDU_ML3_RetrieveAck -{ - BIT6 messageType, //'011101'B - BIT2 nsd -}; - -//9.3.22 Retrieve Reject (NW->MS) -//**************************************************************************** -type record PDU_ML3_RetrieveRej -{ - BIT6 messageType, //'011110'B - BIT2 nsd, - ML3_Cause_LV cause -}; - -// 9.3.23.1 Setup NW->MS -//**************************************************************************** -type record PDU_ML3_Setup_NW_MS -{ - BIT6 messageType, // '000101'B (Setup) - BIT2 nsd, - RepeatIndicator bcRepeatIndicator optional, // successive selection: - // only present also if - // BC1&BC2 are present - // H'circular D1 - // H'D3 sequential - BearerCapability_TLV bearerCapability1 optional, - BearerCapability_TLV bearerCapability2 optional, - Facility_TLV facility optional, - ProgressIndicator_TLV progressIndicator optional, - ML3_Signal signal optional, - CallingPartyBCD_Number callingPartyBCD_Number optional, - CallingPartySubAddress callingPartySubAddress optional, - CalledPartyBCD_Number calledPartyBCD_Number optional, - CalledPartySubAddress calledPartySubAddress optional, - RedirectingPartyBCDNumberTLV redirectingPartyBCDNumber optional, - RedirectingPartySubaddressTLV redirectingPartySubaddress optional, - RepeatIndicator llc_RepeatIndicator optional, // H'circular D1 - // H'D3 sequential - LowLayerCompatibility lowLayerCompatibility1 optional, - LowLayerCompatibility lowLayerCompatibility2 optional, - RepeatIndicator hlc_RepeatIndicator optional, // H'circular D1 - // H'D3 sequential - HighLayerCompatibility highLayerCompatibility1 optional, - HighLayerCompatibility highLayerCompatibility2 optional, - User_userShort user_user optional, - PriorityLevel_ML3 priority optional, - AlertingPattern alert optional, //10.5.4.26 - NetworkCallControlCapabilities networkCCCapabilities optional, //10.5.4.29 - CauseofNoCli causeofNoCli optional, //10.5.4.30 - BackupBearerCapacity backupBearerCapacity optional //10.5.4.4a -} with { variant "TAG ( - bcRepeatIndicator, elementIdentifier = '1101'B; - bearerCapability1, elementIdentifier = '04'O; - bearerCapability2, elementIdentifier = '04'O; - facility, elementIdentifier = '1C'O; - progressIndicator, elementIdentifier = '1E'O; - signal, elementIdentifier = '34'O; - callingPartyBCD_Number, elementIdentifier = '5C'O; - callingPartySubAddress, elementIdentifier = '5D'O; - calledPartyBCD_Number, elementIdentifier = '5E'O; - calledPartySubAddress, elementIdentifier = '6D'O; - redirectingPartyBCDNumber, elementIdentifier = '74'O; - redirectingPartySubaddress, elementIdentifier = '75'O; - llc_RepeatIndicator, elementIdentifier = '1101'B; - lowLayerCompatibility1, elementIdentifier = '7C'O; - lowLayerCompatibility2, elementIdentifier = '7C'O; - hlc_RepeatIndicator, elementIdentifier = '1101'B; - highLayerCompatibility1, elementIdentifier = '7D'O; - highLayerCompatibility2, elementIdentifier = '7D'O; - user_user, elementIdentifier = '7E'O; - priority, elementIdentifier = '1000'B; - alert, elementIdentifier = '19'O; - networkCCCapabilities, elementIdentifier = '2F'O; - causeofNoCli, elementIdentifier = '3A'O; - backupBearerCapacity, elementIdentifier = '41'O ) "}; - -// 9.3.23.2 Setup MS->NW -//**************************************************************************** -type record PDU_ML3_Setup_MS_NW -{ - BIT6 messageType, // '000101'B (Setup) - BIT2 nsd, - RepeatIndicator bcRepeatIndicator optional, // successive selection: - // only present also if - // BC1&BC2 are present - // H'circular D1 - // H'D3 sequential - BearerCapability_TLV bearerCapability1, //mandatory!! - BearerCapability_TLV bearerCapability2 optional, - Facility_TLV facility optional, - CallingPartySubAddress callingPartySubAddress optional, - CalledPartyBCD_Number calledPartyBCD_Number, //mandatory!! - CalledPartySubAddress calledPartySubAddress optional, - RepeatIndicator llc_RepeatIndicator optional, // H'circular D1 - // H'D3 sequential - LowLayerCompatibility lowLayerCompatibility1 optional, - LowLayerCompatibility lowLayerCompatibility2 optional, - RepeatIndicator hlc_RepeatIndicator optional, // H'circular D1 - // H'D3 sequential - HighLayerCompatibility highLayerCompatibility1 optional, - HighLayerCompatibility highLayerCompatibility2 optional, - User_userShort user_user optional, - SS_VersionIndicator ss_VersionIndicator optional, - CLIR clir_Suppression optional, // H'A1 - CLIR clir_Invocation optional, // H'A2 - CallControlCapabilities cC_Capabilities optional, - Facility_TLV facility_ccbs1 optional, - Facility_TLV facility_ccbs2 optional, - StreamIdentifier streamIdentifier optional, - SupportedCodecList supportedCodecs optional, - Redial redial optional -} with { variant "TAG ( - bcRepeatIndicator, elementIdentifier = '1101'B; - //bearerCapability1, elementIdentifier = '04'O; - bearerCapability2, elementIdentifier = '04'O; - facility, elementIdentifier = '1C'O; - callingPartySubAddress, elementIdentifier = '5D'O; - //calledPartyBCD_Number, elementIdentifier = '5E'O; - calledPartySubAddress, elementIdentifier = '6D'O; - llc_RepeatIndicator, elementIdentifier = '1101'B; - lowLayerCompatibility1, elementIdentifier = '7C'O; - lowLayerCompatibility2, elementIdentifier = '7C'O; - hlc_RepeatIndicator, elementIdentifier = '1101'B; - highLayerCompatibility1, elementIdentifier = '7D'O; - highLayerCompatibility2, elementIdentifier = '7D'O; - user_user, elementIdentifier = '7E'O; - ss_VersionIndicator, elementIdentifier = '7F'O; - clir_Suppression, elementIdentifier = 'A1'O; - clir_Invocation, elementIdentifier = 'A2'O; - cC_Capabilities, elementIdentifier = '15'O; - facility_ccbs1, elementIdentifier = '1D'O; - facility_ccbs2, elementIdentifier = '1B'O; - streamIdentifier, elementIdentifier = '2D'O; - redial, elementIdentifier = 'A3'O; ) "}; - -//9.3.23a StartCC (MS->NW) -//**************************************************************************** -type record PDU_ML3_StartCC -{ - BIT6 messageType, //''B; - BIT2 nsd, - CallControlCapabilities cC_Capabilities optional -} with { variant "TAG (cC_Capabilities, elementIdentifier = '15'O;) "}; - -// 9.3.24 Start DTMF (MS->NW) -//**************************************************************************** -type record PDU_ML3_StartDTMF -{ - BIT6 messageType, //'110101'B; - BIT2 nsd, - KeypadFacility keypadFacility -}; - -// 9.3.25 Start DTMF Acknowledge (NW->MS) -//**************************************************************************** -type record PDU_ML3_StartDTMFAck -{ - BIT6 messageType, //'110110'B; - BIT2 nsd, - KeypadFacility keypadFacility -}; - -// 9.3.26 Start DTMF Reject (NW->MS) -//**************************************************************************** -type record PDU_ML3_StartDTMFRej -{ - BIT6 messageType, //'110111'B; - BIT2 nsd, - ML3_Cause_LV cause -}; - -// 9.3.27 Status (NW->MS) (MS->NW) -//**************************************************************************** -type record PDU_ML3_Status -{ - BIT6 messageType, //'111101'B; - BIT2 nsd, - ML3_Cause_LV cause, - CallState_V callState, - AuxiliaryStates_TLV auxiliaryStates optional //'24'O -} with { variant "TAG (auxiliaryStates,elementIdentifier ='24'O ) " }; - -// 9.3.28 Status enquiry (NW->MS) (MS->NW) -//**************************************************************************** -type record PDU_ML3_StatusEnquiry -{ - BIT6 messageType, //'110100'B; - BIT2 nsd -}; - -// 9.3.29 Stop DTMF (MS->NW) -//**************************************************************************** -type record PDU_ML3_StopDTMF -{ - BIT6 messageType, //'110001'B; - BIT2 nsd -}; - -// 9.3.30 Stop DTMF Ack (NW->MS) -//**************************************************************************** -type record PDU_ML3_StopDTMFAck -{ - BIT6 messageType, //'110010'B; - BIT2 nsd -}; - -// 9.3.31.1 User Information -//**************************************************************************** -type record PDU_ML3_UserInformation -{ - BIT6 messageType, //'010000'B; - BIT2 nsd, - User_user_LV user_user, - OCT1 moreData optional -}; - - -// ************************************************************************** -// * 9.3 Call Control Messages (MS->MSC) -// * Ref:(24.008/Table 9.54 (order) and Table 10.3(messageType values) ) -// ************************************************************************** -type union PDU_ML3_CC_MS_NW -{ - PDU_ML3_Alerting_MS_NW alerting_MS_NW, //Call establishment - PDU_ML3_CallConfirmed callConfirmed, - PDU_ML3_Connect_MS_NW connect_MS_NW, - PDU_ML3_ConnectAck connectAck, - PDU_ML3_EmergencySetup emergencySetup, - PDU_ML3_CC_EstablishmentConf cc_EstablishmentConf, - PDU_ML3_StartCC startCC, - PDU_ML3_Setup_MS_NW setup_MS_NW, - - PDU_ML3_Modify modify, //call information phase msg - PDU_ML3_ModifyComplete modifyComplete, - PDU_ML3_ModifyReject modifyReject, - PDU_ML3_UserInformation userInformation, - - PDU_ML3_Disconnect_MS_NW disconnect_MS_NW,//call clearing - PDU_ML3_Release_MS_NW release_MS_NW, - PDU_ML3_ReleaseComplete_MS_NW releaseComplete_MS_NW, - - PDU_ML3_Facility facility,//for Suppl.Service contr. - PDU_ML3_Hold hold, - PDU_ML3_Retrieve retrieve, - - PDU_ML3_Notify notify,//misc - PDU_ML3_StartDTMF startDTMF, - PDU_ML3_Status status, - PDU_ML3_StatusEnquiry statusEnquiry, - PDU_ML3_StopDTMF stopDTMF -} with { variant "TAG ( - alerting_MS_NW, messageType ='000001'B;//call establish - callConfirmed, messageType ='001000'B; - connect_MS_NW, messageType ='000111'B; - connectAck, messageType ='001111'B; - emergencySetup, messageType ='001110'B; - cc_EstablishmentConf, messageType ='000110'B; - startCC, messageType ='001001'B; - setup_MS_NW, messageType ='000101'B; - - modify, messageType ='010111'B;//call inf.ph.msg - modifyComplete, messageType ='011111'B; - modifyReject, messageType ='010011'B; - userInformation, messageType ='010000'B; - - disconnect_MS_NW, messageType ='100101'B;//call clearing - release_MS_NW, messageType ='101101'B; - releaseComplete_MS_NW, messageType ='101010'B; - - facility, messageType ='111010'B;//messages for SS - hold, messageType ='011000'B; - retrieve, messageType ='011100'B; - - notify, messageType ='111110'B; //misc - startDTMF, messageType ='110101'B; - status, messageType ='111101'B; - statusEnquiry, messageType ='110100'B; - stopDTMF, messageType ='110001'B; - )" }; - -// *************************************************************************** -// * 9.3 Call Control Messages MSC -> MS (24.008/Table 9.54 and Table 10.3) -// *************************************************************************** -type union PDU_ML3_CC_NW_MS -{ - PDU_ML3_Alerting_NW_MS alerting_NW_MS, //call establish - PDU_ML3_CallConfirmed callConfirmed, - PDU_ML3_CallProceeding callProceeding, - PDU_ML3_Connect_NW_MS connect_NW_MS, - PDU_ML3_ConnectAck connectAck, - PDU_ML3_Progress progress, - PDU_ML3_CC_Establishment cc_Establishment, - //PDU_ML3_Recall recall, - PDU_ML3_Setup_NW_MS setup_NW_MS, - - PDU_ML3_Modify modify, //call information phase msg - PDU_ML3_ModifyComplete modifyComplete, - PDU_ML3_ModifyReject modifyReject, - PDU_ML3_UserInformation userInformation, - - PDU_ML3_Disconnect_NW_MS disconnect_NW_MS, - PDU_ML3_Release_NW_MS release_NW_MS, - PDU_ML3_ReleaseComplete_NW_MS releaseComplete_NW_MS, - - PDU_ML3_Facility facility, //for Suppl.Service contr. - PDU_ML3_HoldAcknowledge holdAcknowledge, - PDU_ML3_HoldReject holdReject, - PDU_ML3_RetrieveAck retrieveAck, - PDU_ML3_RetrieveRej retrieveRej, - - PDU_ML3_CongestionControl congestionControl, //misc - PDU_ML3_Notify notify, - PDU_ML3_StartDTMFAck startDTMFAck, - PDU_ML3_StartDTMFRej startDTMFRej, - PDU_ML3_Status status, - PDU_ML3_StatusEnquiry statusEnquiry, - PDU_ML3_StopDTMFAck stopDTMFAck -} with { variant "TAG ( - alerting_NW_MS, messageType ='000001'B;//Call establishment - callConfirmed, messageType ='001000'B; - callProceeding, messageType ='000010'B; - connect_NW_MS, messageType ='000111'B; - connectAck, messageType ='001111'B; - progress, messageType ='000011'B; - cc_Establishment, messageType ='000100'B; - //recall, messageType ='001011'B; - setup_NW_MS, messageType ='000101'B; - - modify, messageType ='010111'B;//call inf.ph.msg - modifyComplete, messageType ='011111'B; - modifyReject, messageType ='010011'B; - userInformation, messageType ='010000'B; - - disconnect_NW_MS, messageType ='100101'B;//call clearing - release_NW_MS, messageType ='101101'B; - releaseComplete_NW_MS, messageType ='101010'B; - - facility, messageType ='111010'B;//for SS contr. - holdAcknowledge, messageType ='011001'B; - holdReject, messageType ='011010'B; - retrieveAck, messageType ='011101'B; - retrieveRej, messageType ='011110'B; - - congestionControl, messageType ='111001'B;//misc - notify, messageType ='111110'B; - startDTMFAck, messageType ='110110'B; - startDTMFRej, messageType ='110111'B; - status, messageType ='111101'B; - statusEnquiry, messageType ='110100'B; - stopDTMFAck, messageType ='110010'B; - )" -}; - -}//end of module -with { -extension "version R1B" -encode "RAW" -} - diff --git a/MobileL3_v13.4.0_CNL113832_LATEST/src/MobileL3_CommonIE_Types.ttcn b/MobileL3_v13.4.0_CNL113832_LATEST/src/MobileL3_CommonIE_Types.ttcn deleted file mode 100644 index 99e90efb7..000000000 --- a/MobileL3_v13.4.0_CNL113832_LATEST/src/MobileL3_CommonIE_Types.ttcn +++ /dev/null @@ -1,680 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// // -// 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_CommonIE_Types.ttcn -// Rev: R1B -// Prodnr: CNL 113 832 -// Contact: http://ttcn.ericsson.se -// Reference: 3GPP TS 24.008 v13.4.0 - -module MobileL3_CommonIE_Types { - -import from General_Types all; - -// This type is a container for all necessary MS related parameters -type record MS_parameters -{ - integer imsi_length, //in - BIT4 imsi_firstdigit, - octetstring imsi, - octetstring number, - integer SCCP_connId, //connection Id of currently used SCCP connection - integer L3_NSD, // actual value of L3 NSD - BIT1 tiFlag // '0'B for call originator, '1' for call destination - // this is an example how to set the value - // tsp_imsi_1_firstdigit := '0010'B - // tsp_imsi_1 := '26200103000015'O; // '262021030000051'O; - // tsp_calledPartyBCD_Number_digits := '7112300020'O ; // '1721030002'O -} - -// Use these Types instead of repeating it ! - -type record Type1_V -{ - BIT4 dummy, - BIT4 valuePart -}; - -type record Type1_TV -{ - BIT4 valuePart, - BIT4 elementIdentifier -}; - -type record Type2 -{ - OCT1 elementIdentifier -}; - -type record Type3_V -{ - OCTN valuePart -}; - -type record Type3_TV -{ - OCT1 elementIdentifier, - OCTN valuePart -}; - -type record Type4_LV -{ - LIN1 lengthIndicator, - OCTN valuePart -} with { variant (lengthIndicator) "LENGTHTO (valuePart)"}; - -type record Type4_TLV -{ - OCT1 elementIdentifier, - LIN1 lengthIndicator, - OCTN valuePart -} with { variant (lengthIndicator) "LENGTHTO (valuePart)"}; - -/////////////////////////////////////// -// IE Type definitions -/////////////////////////////////////// - -type record ML3_NotifySS_Arg -{ - OCT1 sequenceTag, - OCT1 sequenceLength, - OCT1 ssCodeTag, - OCT1 ssCodeLength, - OCT1 ssCodeValue, - OCT1 ssIndicatorTag, - OCT1 ssIndicatorLength, - OCT1 ssIndicatorValue -}; - - -//============================================================================ -// 10.5.1 Common Information elements -//============================================================================ - -// 10.5.1.1 Cell Identity -type record CellIdentityTV -{ - OCT1 elementIdentifier, - OCT2 cIvalue -}; - -// 10.5.1.2 CipheringKeySequenceNumber -type record CipheringKeySequenceNumberTV -{ - CipheringKeySequenceNumberV keySequence, - BIT4 elementIdentifier -} with { variant "PRESENCE (elementIdentifier = '1000'B)"; }; - -type record CipheringKeySequenceNumberV -{ - BIT3 keySequence, - BIT1 spare -}; - -//24.008/10.5.1.3 Location Area Identification -type record LocationAreaIdentification_V -{ - OCT3 mcc_mnc, - OCT2 lac -}; - -type record LocationAreaIdentification_TV -{ - OCT1 elementIdentifier, - OCT3 mcc_mnc, - OCT2 lac -}; - -// 24.008/ 10.5.1.4 Mobile Identity -type record MobileIdentityTLV -{ - BIT7 elementIdentifier, - BIT1 spare1, - MobileIdentityLV mobileIdentityLV -}; - -type record MobileIdentityLV -{ - LIN1 lengthIndicator, - MobileIdentityV mobileIdentityV -} with { variant (lengthIndicator) "LENGTHTO (mobileIdentityV)"}; - -type record MobileIdentityV -{ - BIT3 typeOfIdentity, - OddEvenInd_Identity oddEvenInd_identity -} with { variant (oddEvenInd_identity) "CROSSTAG - ( - imei, typeOfIdentity ='010'B; - imsi, typeOfIdentity ='001'B; - imei_sv, typeOfIdentity ='011'B; - tmsi_ptmsi, typeOfIdentity ='100'B; - tmgi_and_MBMS_SessionID, typeOfIdentity ='101'B; - no_identity, typeOfIdentity ='000'B; - )"}; - - -type union OddEvenInd_Identity -{ - IMSI_L3 imsi, // avoid name conflict with RANAP - IMEI_L3 imei, // avoid name conflict with RANAP - IMEI_SV imei_sv, - TMSI_PTMSI tmsi_ptmsi, - TMGI_and_MBMS_SessionID tmgi_and_MBMS_SessionID, - No_Identity no_identity -}; - -type record IMSI_L3 -{ - BIT1 oddevenIndicator, // '1'B or '0'B - hexstring digits length(5..15), - BIT4 fillerDigit optional // B'1111, fillerDigit is present - // if oddevenIndicator=0 -} with { variant (fillerDigit) "PRESENCE (oddevenIndicator = '0'B) ";}; - -type record IMEI_L3 -{ - BIT1 oddevenIndicator, // '1'B - hexstring digits length(15) -}; - -type record TMSI_PTMSI -{ - BIT1 oddevenIndicator, // '0'B - BIT4 fillerDigit, // B'1111 - OCT4 octets -}; - -type record IMEI_SV -{ - BIT1 oddevenIndicator, // '0'B - hexstring digits length(16), - BIT4 fillerDigit // filler '1111'B -}; - -type record TMGI_and_MBMS_SessionID -{ - BIT1 oddevenIndicator, - BIT1 mCC_MNCIndicator, // 1: present - BIT1 mBMS_SessionIdentityIndicator, // 1: present - BIT2 spare, - OCT3 mBMS_ServiceID, - HEX1 mccDigit1, - HEX1 mccDigit2, - HEX1 mccDigit3, - HEX1 mncDigit3, - HEX1 mncDigit1, - HEX1 mncDigit2, - OCT1 mBMS_SessionIdentity -} - -type record No_Identity -{ - BIT1 oddevenIndicator, // '0'B (guessed) - hexstring fillerDigits length(5) // length to be "3" if the GMM identification procedure is used -}; - -// 24.008/ 10.5.1.5 MobileStationClassmark1 -type record MobileStationClassmark1_TV -{ - OCT1 elementIdentifier, //'???'H - BIT3 rf_PowerCapability, - BIT1 a5_1, - BIT1 esind, - BIT2 revisionLevel, - BIT1 spare1_1 -}; - -type record MobileStationClassmark1_V -{ - BIT3 rf_PowerCapability, - // class1 (000) (for GSM+DCS+PCS) - // class2 (001) (for GSM+DCS+PCS) - // class3 (010) (for GSM+DCS+PCS) - // class4 (011) (only for GSM) - // class5 (100) (only for GSM) - BIT1 a5_1, - // encryption algor. A5/available 1 (1) - // encryption algor. A5/1 available not (0) - BIT1 esind, - BIT2 revisionLevel, - BIT1 spare1_1 -}; - -// 24.008/ 10.5.1.6 MobileStationClassmark2 -//4th octet: -type record MobileStationClassmark2_oct4 -{ - BIT1 fc, // '0'B no MS support of E/R_GSM - // '1'B MS support of E/R_GSM - ////BIT2 spare1_2, // '00'B removed by ethbaat - BIT1 vgcs,//'0'B no VGCS capability - //'1'B VGCS capability and notifications wanted - BIT1 vbs, //'0'B no VBS capability, - // '1'B VBS capability and notifications wanted - BIT1 sm_Capability, // '0'B SM capbility present not - // '1'B SM capbility present - BIT2 ss_ScreenIndicator, - // '00'B default value of phase1 (GSM+DCS) reserved or (PCS) - // '01'B capability of notation ellipsis - // '10'B for future use - // '11'B for use future - BIT1 ps_Capability, // 'x'B ignored, received if - BIT1 spare2_1 // '0'B -}; - - -//5th octet ( Table 10.5.6a ): -type record MobileStationClassmark2_oct5 -{ - BIT1 a5_2, // '0'B encryption algorithm A5/2 available not(0) - // '1'B encryption algorithm A5/available 2 (1) - BIT1 a5_3, // '0'B encryption algorithm A5/3 available not(0) - // '1'B encryption algorithm A5/available 3 (1) - //removed by ethbaat: BIT5 spare3_5, // '00000'B - BIT1 cmsp, - BIT1 solsa, - BIT1 ucs2, - BIT1 lcsva_cap, - BIT1 spare5_7, - BIT1 cm3 // '0'B no additional capability info - // '1'B The MS supports options that are indicated in classmark 3 IE - // (additional info capability) -}; - -type record MobileStationClassmark2_LV -{ - LIN1 lengthIndicator, // '01'O..'03'O - BIT3 rf_PowerCapability, // '000'B class1 (for GSM+DCS+PCS) - // '001'B class2 (for GSM+DCS+PCS) - // '010'B class3 (for GSM+DCS+PCS) - // '011'class4 B (only for GSM) - // '100'class5 B (only for GSM) - BIT1 a5_1, // '0'B encryption algorithm A5/1 available (0) - // '1'B encryption algorithm A5/1 not available 1 (1) - BIT1 esind, - // '0'B controlled early classmark sending option implemented not (0) - // '1'B controlled early classmark sending implemented option (1) - BIT2 revisionLevel, // '00'B reserved for phase1 (GSM+DCS) - // '00'B reserved for GSM phase 1 (PCS) - // '01'B used by phase2 MSs (GSM+DCS) - // '01'B used by PCS1900 MSs phase1 (PCS) - // '10'B used by MSs R99 supporting - // '11'B reserved for future use - BIT1 spare1_1, // '0'B - MobileStationClassmark2_oct4 mobileStationClassmark2_oct4 optional, - MobileStationClassmark2_oct5 mobileStationClassmark2_oct5 optional -} with { variant (lengthIndicator) "LENGTHTO (rf_PowerCapability, a5_1, esind, - revisionLevel, spare1_1, - mobileStationClassmark2_oct4, - mobileStationClassmark2_oct5)"}; - -type record MobileStationClassmark2_TLV -{ - OCT1 elementIdentifier, - MobileStationClassmark2_LV mobileStationClassmark2LV -} with { - variant "PRESENCE (elementIdentifier = '11'O)"; -}; - - - -//********************************************************************** -// 24.008/ 10.5.1.6 5th octet ( Table 10.5.6a ): -// almost the same as MobileStationClassmark2_LV, but -// _TLV ie elementIdentifier is present -// oct4 and oct5 is mandatory -// The record name is inherited from (and used in) old test cases -//********************************************************************** -type record ClassmarkInformationType2_forUMTS -{ - OCT1 elementIdentifier, - //'33'O instead of '12'O (normal Classmark2) - LIN1 lengthIndicator, - //always '03'O (unlike normal ClassMark2, which can be 2 or 3) - BIT3 rf_PowerCapability, // '000'B class1 (for GSM+DCS+PCS) - // '001'B class2 (for GSM+DCS+PCS) - // '010'B class3 (for GSM+DCS+PCS) - // '011'class4 B (only for GSM) - // '100'class5 B (only for GSM) - BIT1 a5_1, // '0'B encryption algorithm A5/1 available not (0) - // '1'B encryption algorithm A5/available 1 (1) - BIT1 esind, - //'0'B controlled early classmark sending option implemented not (0) - // '1'B controlled early classmark sending implemented option (1) - BIT2 revisionLevel, // '00'B reserved for phase1 (GSM+DCS) - // '00'reserved B (PCS) - // '01'B used by phase2 MSs (GSM+DCS) - // '01'B used by PCS1900 MSs phase1 (PCS) - BIT1 spare1_1, // '0'B - BIT1 fc, // '0'B no MS' support of E/R_GSM - // '1'B MS' support of E/R_GSM - BIT1 vgcs,//'0'B no VGCS capability - //'1'B VGCS capability and notifications wanted - BIT1 vbs, //'0'B no VBS capability, - // '1'B VBS capability and notifications wanted - BIT1 sm_Capability, // '0'B SM capbility present not - // '1'B SM capability present - BIT2 ss_ScreenIndicator, // '00'B default value of phase1 (GSM+DCS) - // '00'reserved B (PCS) - // '01'B capability of notation ellipsis - // '10'B for future use - // '11'B for use future - BIT1 ps_Capability, // '0'B or '1'B ignored, received if - BIT1 spare2_1, // '0'B, - BIT1 a5_2, // '0'B encryption algorithm A5/2 available not (0) - // '1'B encryption algorithm A5/available 2 (1) - BIT1 a5_3, // '0'B encryption algorithm A5/3 available not (0) - // '1'B encryption algorithm A5/available 3 (1) - //BIT5 spare3_5, // '00000'B - BIT1 cmsp, - BIT1 solsa, - BIT1 ucs2, - BIT1 lcsva_cap, - BIT1 spare5_7, - BIT1 cm3 // '0'B no additional capability info - // '1'B additional info capability -} with { variant (lengthIndicator) "LENGTHTO (rf_PowerCapability, a5_1, esind, - revisionLevel, spare1_1, fc, vgcs, vbs, - sm_Capability, ss_ScreenIndicator, - ps_Capability, spare2_1, a5_2, a5_3, - //spare3_5, - cmsp,solsa,ucs2,lcsva_cap,spare5_7, - cm3)"}; - - - -//24.008/ 10.5.1.7 -type record MobileStationClassmark3_TLV -{ - OCT1 elementIdentifier, - LIN1 lengthIndicator, - OCTN valuePart -} with { - variant "PRESENCE (elementIdentifier = '20'O)" - variant (lengthIndicator) "LENGTHTO (valuePart)" -}; - - -type record MobileStationClassmark3_LV -{ - LIN1 lengthIndicator, - OCTN valuePart -} with { variant (lengthIndicator) "LENGTHTO (valuePart)"}; -// used in: PDU_ML3_Setup_MSC_MS, PDU_ML3_CallProceeding, -// PDU_ML3_CMServiceRequest - -type record UTRACSGCellsReporting -{ - BIT1 reportingofUTRANCSGCellsSupport -} with { - variant "FIELDORDER(msb)" -} - -type record VAMOSLevel -{ - BIT2 vAMOSSupport -} with { - variant "FIELDORDER(msb)" -} - -//24.008/ 10.5.1.8 Spare half octet ---- not used - -//24.008/ 10.5.1.9 Descriptive group or broadcast call reference -type record DescriptiveGroupOrBroadcastCallReference_V -{ - bitstring binaryCodingOfGroupOrBroadcastCallReference length (27), - BIT1 sF, - BIT1 aF, - BIT3 callPriority, - BIT4 cipheringInformation, - BIT4 spare -} with { variant (binaryCodingOfGroupOrBroadcastCallReference,sF,aF, - callPriority,cipheringInformation,spare) "FIELDORDER(msb)"}; - -//10.5.1.10 Group Cipher Key Number -type record groupCipherKeyNumber_TV -{ - BIT4 valuePart, - BIT4 elementIdentifier -}; - -type BIT4 groupCipherKeyNumber_V; - - -//24.008/10.5.1.10a -type record PdAndSapi -{ - BIT4 protocolDiscriminator, - BIT2 sapi, - BIT2 spare2 -}; - -//10.5.1.11 Priority Level -type record PriorityLevel_ML3 -{ - BIT3 callPriority, // B'...._000 no applied priority - // B'...._001 call priority level 4 - // B'...._010 call priority level 3 - // B'...._011 call priority level 2 - // B'...._100 call priority level 1 - // B'...._101 call priority level 0 - // B'...._110 call priority level B - // B'...._111 call priority level A - BIT1 spare1_1, // B'....0.._ - // modified by ethbaat:OCT1 elementIdentifier for... - BIT4 elementIdentifier // B'1000' type 1 IEI Priority level -}; -//ending "_ML3" added, because ambiguities of (RANAP is also using this name) - - -//10.5.1.12 Core Network System Information -// not implemented yet - -//10.5.1.13 PLMN List -type record PLMNListTLV -{ - BIT7 elementIdentifier, - BIT1 spare1, - LIN1 lengthIndicator, - octetstring digits length(3..45) // collapsed into one octetstring - // instead of digits -} with { variant "PRESENCE (elementIdentifier = '1001010'B)"; - variant (lengthIndicator) "LENGTHTO (digits)"}; - -//10.5.1.15 -type record MS_NetworkFeatureSupportTV -{ - BIT1 extendedPeriodicTimers, - BIT3 spare, - BIT4 elementIdentifier -} - -// GPRS Timer3 - 10.5.7.4a -type record GPRSTimer3TLV -{ - OCT1 elementIdentifier, - LIN1 lengthIndicator, - GPRSTimer3V gprsTimer3V -} with { - variant (lengthIndicator) "LENGTHTO (gprsTimer3V)" -}; - -type record GPRSTimer3V -{ - BIT5 timerValue, - BIT3 unit -}; - -//**************************************************************************** -// Common elements in CC and SS: -//**************************************************************************** - -//24.008/10.5.4.11 Cause -type record Diagnostics -{ - octetstring data // to split into pieces???? -} with { variant "EXTENSION_BIT (yes)"}; - -// This type is added for handling extension bit in octet 3 of Cause IE -type record ML3_Cause_oct3 -{ - BIT4 location, // '0000'user B - // '0001'B private network, local user - // '0010'B public network, user local - // '0011'B transit network - // '0100'B public network, user remote - // '0101'B private network, remote user - // '0111'B network international - // '1010'B Network beyond interworking pt. - BIT1 spare1_1, // '0'B - BIT2 codingStandard, // '00'B coding according Q.931 - // '01'B reserved for standards other - // '10'B National standard - // '11'B standard other (e.g. one defined for GSM PLMNs) - BIT1 ext1, // '0'B or '1'B - //octet3a: - BIT7 recommendation optional, - BIT1 ext2 optional // B'1...... -} with { variant "EXTENSION_BIT (yes)"}; - -type record ML3_Cause_oct4 -{ - BIT7 causeValue, // see 12/FS - BIT1 ext3 // B'1...... -} with { variant "EXTENSION_BIT (yes)"}; - -type record ML3_Cause_LV -{ - LIN1 lengthIndicator, // 2..30 - ML3_Cause_oct3 oct3, - ML3_Cause_oct4 oct4, - Diagnostics diagnostics optional // size: 1..27 -} with { variant (lengthIndicator) "LENGTHTO (oct3, oct4, diagnostics) "}; - -//24.008/10.5.4.11 -type record ML3_Cause_TLV -{ - OCT1 elementIdentifier, - LIN1 lengthIndicator, // 2..30 - ML3_Cause_oct3 oct3, - ML3_Cause_oct4 oct4, - Diagnostics diagnostics optional // size: 1..27 -} with { variant (lengthIndicator) "LENGTHTO (oct3, oct4, diagnostics) "}; - -//10.5.4.15 Facility IE (see also 24.080/3.6) -type record Facility_TLV -{ - OCT1 elementIdentifier, // H'1C - LIN1 lengthIndicator, // 0..? - OCTN facilityInformation optional //see 24.080/3.6 -} with { variant (lengthIndicator) "LENGTHTO (facilityInformation)"}; - -type record Facility_LV -{ - LIN1 lengthIndicator, // 0..? - OCTN facilityInformation optional //see 24.080/3.6 -} with { variant (lengthIndicator) "LENGTHTO (facilityInformation)"}; - -//24.008/10.5.4.24 SS Version Indicator -// used by SS and CC -type record SS_VersionIndicator -{ - OCT1 elementIdentifier, // H'7F - LIN1 lengthIndicator, // 0..? - OCTN ss_VersionIndicatorContents optional //see 24.080 !!! -} with { variant (lengthIndicator) "LENGTHTO (ss_VersionIndicatorContents)"}; - -//10.5.4.32 Supported Codec List -type record codec -{ - OCT1 systemIdentification1, - OCT1 lengthOfBitmap1, - OCT1 codecBitmap1_bits1to8, - OCT1 codecBitmap1_bits9to16 -}; - -type record of codec CodecList_ML3; - -type record SupportedCodecList -{ - OCT1 elementIdentifier, - LIN1 lengthIndicator, // - CodecList_ML3 codecList -} with { - variant "PRESENCE (elementIdentifier = '40'O)"; - variant (lengthIndicator) "LENGTHTO( codecList )" -}; - -// 10.5.7.8 -type record DevicePropertiesTV -{ - BIT1 lowPriority, - BIT3 spare, - BIT4 elementIdentifier -} - -//**************************************************************************** -// Common elements in GMM and MM: -//**************************************************************************** -// 10.5.5.8a - P-TMSI Signature 2 -type record P_TMSISignature2TLV -{ - OCT1 elementIdentifier, - LIN1 lengthIndicator, - OCT3 valueField -} with { - variant "PRESENCE (elementIdentifier = '19'O)"; - variant (lengthIndicator) "LENGTHTO (valueField)" -}; - -// 10.5.5.29 - P-TMSI Type -type record P_TMSI_TypeTV -{ - BIT1 pTMSI_TypeValue, - BIT3 spare, - BIT4 elementIdentifier -} with { variant "PRESENCE (elementIdentifier = '1110'B)" }; - -//10.5.5.15a - Routing Area Identification -type record RoutingAreaIdentification2TLV -{ - OCT1 elementIdentifier, - LIN1 lengthIndicator, - OCT6 routingAreaIdentification2 -} with { - variant "PRESENCE (elementIdentifier = '1B'O)"; - variant (lengthIndicator) "LENGTHTO (routingAreaIdentification2)" -}; - - -//**************************************************************************** -// Common elements in RRM and MM: -//**************************************************************************** - -//10.5.3.14 Additional Update Parameter -type record AdditionalUpdateParameterTV -{ - BIT1 cSMT, - BIT1 cSMO, - BIT1 spare2, - BIT1 spare3, - BIT4 elementIdentifier -} with { - variant "PRESENCE (elementIdentifier = '1100'B)" -} - -}//end of module -with { -extension "version R1B" -encode "RAW" -} - diff --git a/MobileL3_v13.4.0_CNL113832_LATEST/src/MobileL3_GMM_SM_Types.ttcn b/MobileL3_v13.4.0_CNL113832_LATEST/src/MobileL3_GMM_SM_Types.ttcn deleted file mode 100644 index 5148608cb..000000000 --- a/MobileL3_v13.4.0_CNL113832_LATEST/src/MobileL3_GMM_SM_Types.ttcn +++ /dev/null @@ -1,2532 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// // -// 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_GMM_SM_Types.ttcn -// Rev: R1B -// Prodnr: CNL 113 832 -// Contact: http://ttcn.ericsson.se -// Reference: 3GPP TS 24.008 v13.4.0 - -module MobileL3_GMM_SM_Types -{ - -// This module contains the GPRS Mobility Management Messages and -// GPRS Session Management Messages of Mobile Radio Interface Layer 3 protocol -// (DTAP) version 24.008 v13.4.0 with attributes for RAW encoding/decoding. -// -// Protocol discriminators and other general parts are defined in 24.007 v6.5.0 -// Some deviations added in order to make the module compatible with -// V97 version of L3. These changes are indicated by 'V97' in comments - -import from General_Types all; -import from MobileL3_CommonIE_Types all; -import from MobileL3_MM_Types all; - -// ============================================================= -// GPRS Mobilty management information elements (chapter 10.5.5) -// ============================================================= - -// Additional Update Type - 10.5.5.0, TS 24.301 v13.4.0/9.9.3.0B -type record AdditionalUpdateTypeTV -{ - AdditionalUpdateTypeV additionalUpdateType, - BIT4 elementIdentifier -} with { variant "PRESENCE (elementIdentifier = '0111'B)" }; - -type record AdditionalUpdateTypeV -{ - BIT1 aUTV, - BIT3 spare -}; - -// Attach Result - 10.5.5.1 -type record AttachResultV -{ - BIT3 resultOfAttach, - BIT1 fop_l3 -}; - - -// Attach Type - 10.5.5.2 -type record AttachTypeV -{ - BIT3 attachType, - BIT1 for_l3 -}; - - -// Ciphering Algorithm - 10.5.5.3 -type record CipheringAlgorithmTV -{ - CipheringAlgorithmV cipheringAlgorithm, - BIT4 cipheringAlgorithmIEI -}; - - -type record CipheringAlgorithmV -{ - BIT3 valueField, - BIT1 spare -}; - - -// TMSI status - 10.5.5.4 -type record TMSIStatusTV -{ - TMSIStatusV tmsiStatusV, - BIT4 elementIdentifier -} with { variant "PRESENCE (elementIdentifier = '1001'B)" }; - - -type record TMSIStatusV -{ - BIT1 tmsiFlag, - BIT3 spare // '000'B -}; - - -// Detach Type - 10.5.5.5 -type record DetachTypeTV -{ - DetachTypeV detachTypeV, - BIT4 detachTypeIEI -}; - - -type record DetachTypeV -{ - BIT3 detachType, - BIT1 powerOffFlag -}; - - -// DRX Parameter - 10.5.5.6 -type record DRXParameterTV -{ - OCT1 elementIdentifier, - DRXParameterV drxParameter -} with { variant "PRESENCE (elementIdentifier = '27'O)"; }; - - -type record DRXParameterV -{ - OCT1 splitPGCycleCode, - BIT3 nonDRXTimer, - BIT1 splitOnCCCH, - BIT4 cnSpecificDRXCycleLength -}; - - -//Force To Standby - 10.5.5.7 -type record ForceToStandbyTV -{ - ForceToStandbyV valueField, - BIT4 forceToStandbyIEI -}; - - -type record ForceToStandbyV{ - BIT3 forceToStandbyValue, - BIT1 spare // '0'B -}; - - -// P-TMSI Signature - 10.5.5.8 -type record P_TMSISignatureTV -{ - OCT1 elementIdentifier, - OCT3 valueField -} with { variant "PRESENCE (elementIdentifier = '19'O)"; } - - -//P-TMSI Signature 2 - 10.5.5.8a -//moved into MobileL3_CommonIE_Types - - -// Identity Type 2 - 10.5.5.9 -type record IdentityType2TV -{ - IdentityType2V valueField, - BIT4 identityType2IEI -}; - - -type record IdentityType2V -{ - BIT3 valueField, - BIT1 spare -}; - - -// IMEISV request - 10.5.5.10 -type record IMEISVRequestTV -{ - IMEISVRequestV imeisvRequest, - BIT4 imeisvRequestIEI -}; - - -type record IMEISVRequestV -{ - BIT3 valueField, - BIT1 spare //'0'B -}; - - -// Receive N-PDU Numbers list - 10.5.5.11 -type record ReceiveNPDUNumbersListTLV -{ - OCT1 elementIdentifier, - LIN1 lengthIndicator, - ReceiveNPDUNumbersListV numberList -} with { - variant "PRESENCE (elementIdentifier = '26'O)"; - variant (lengthIndicator) "LENGTHTO (numberList)"; - variant (numberList) "PADDING(yes)"// Padding is needed when odd - // number of ReceiveNPDUNumber is used -}; - -type record length(1..11) of ReceiveNPDUNumber ReceiveNPDUNumbersListV; - -type record ReceiveNPDUNumber -{ - BIT4 sapi, - BIT8 numberValue -} with { variant "FIELDORDER(msb)" }; - - -// MS network capability - 10.5.5.12 -type record MSNetworkCapabilityTLV -{ - OCT1 elementIdentifier, - MSNetworkCapabilityLV mSNetworkCapabilityLV -} with { variant "PRESENCE (elementIdentifier = '31'O)"; }; - - -type record MSNetworkCapabilityLV -{ - LIN1 lengthIndicator, - MSNetworkCapabilityV msNetworkCapabilityV -} with { variant (lengthIndicator) "LENGTHTO (msNetworkCapabilityV)"; - variant (msNetworkCapabilityV) "PADDING(yes)" -}; - - -type record MSNetworkCapabilityV //length 3-10 octets -{ - BIT1 gea1bit, - BIT1 smCapabilitiesviaDedicatedChannels, - BIT1 smCapabilitiesviaGPRSChannels, - BIT1 ucs2Support, - BIT2 ssScreeningIndicator, - BIT1 solSACapability optional, //spare in V97 - BIT1 revisionLevelIndicatior optional, //spare in V97 - BIT1 pFCFeatureMode optional, //spare in V97(opt) - BIT6 extendedGEAbits optional, //spare in V97(opt) - BIT1 lcsVAcapability optional, //spare in V97(opt) - BIT1 pSInterRATHOtoUTRANIuModeCapability optional, - BIT1 pSInterRATHOtoEUTRANS1ModeCapability optional, - BIT1 eMMCombinedProceduresCapability optional, - BIT1 iSRSupport optional, - BIT1 sRVCCtoGERANUTRANCapability optional, - BIT1 ePCCapability optional, - BIT1 nFCapability optional, - BIT1 gERANNertworkSharingCapability optional, - octetstring spare_octets length (0..3) optional -} with { variant "FIELDORDER(msb)" }; - - -//MS Radio Access capability - 10.5.5.12a - -// Note: specification allows application of spare bits (even the forming of -// spare octets), The only limitation is that the MS Radio Access capability IE -// has maximum length of 51 octets -type record MSRadioAccessCapabilityLV -{ - LIN1 lengthIndicator, - MSRadioAccessCapabilityV msRadioAccessCapabilityV - // Note that spareBits is automatically handled/calculated as padding - // so that MSRadioAccessCapabilityLV will be octet aligned when encoded - // even if the padding (spareBits) is not visible for the tester. - // lengthIndicator value = MSRadioAccessCapabilityV + (virtual) padding. -} with { - variant "FIELDORDER(msb)"; - variant (lengthIndicator) "LENGTHTO (msRadioAccessCapabilityV )"; - variant "PADDING(yes)" -}; - -type record of MSRACapabilityValuesRecord MSRadioAccessCapabilityV -with { variant "EXTENSION_BIT(reverse)";variant "FIELDORDER(msb)" }; - - -type record MSRACapabilityValuesRecord -{ - MSRACapabilityValues mSRACapabilityValues, - BIT1 presenceBitMSRACap -} with { variant "FIELDORDER(msb)" }; - - -type union MSRACapabilityValues -{ - MSRACapabilityValuesExclude1111 mSRACapabilityValuesExclude1111, - MSRACapabilityValues1111 mSRACapabilityValues1111 -}; - - -type record MSRACapabilityValuesExclude1111 -{ - BIT4 accessTechnType, - AccessCapabilitiesStruct accessCapabilities -} with { - variant "PRESENCE ( - accessTechnType = '0000'B, // GSM P - accessTechnType = '0001'B, // GSM E - accessTechnType = '0010'B, // GSM R - accessTechnType = '0011'B, // GSM 1800 - accessTechnType = '0100'B, // GSM190 - accessTechnType = '0101'B, // GSM 450 - accessTechnType = '0110'B, // GSM480 - accessTechnType = '0111'B, // GSM 480 - accessTechnType = '1000'B, // GSM 700 - accessTechnType = '1001'B, // GSM T 310 - accessTechnType = '1010'B, // GSM T 410 - accessTechnType = '1011'B // GSM T 900 - )" - variant "FIELDORDER(msb)" -}; - - -// Access Capabilities Struct -type record AccessCapabilitiesStruct -{ - integer lengthIndicator, - AccessCapabilities accessCapabilities, - // spare_bits "expands to the indicated length", - // i.e. 24.008 spec puts no restriction on number - // of spare_bits. The only restriction is that the whole - // MS Radio Access Capability IE is less than 52 octets - bitstring spare_bits optional -} with { - variant (lengthIndicator) "FIELDLENGTH(7)"; - variant (lengthIndicator) "LENGTHTO(accessCapabilities,spare_bits)"; - variant (lengthIndicator) "UNIT(bits)"; - variant "FIELDORDER(msb)"; - variant (lengthIndicator) "BYTEORDER(last)"; -} - - -//Access Capabilities -type record AccessCapabilities -{ - BIT3 rfPowerCapability, - BIT1 presenceBitA5, - A5BITS a5bits optional, - BIT1 esind, - BIT1 psbit, - BIT1 vgcs, - BIT1 vbs, - BIT1 presenceBitMultislot, - MultislotCap multislotcap optional, - AccessCapAdditionsAfterRel97 accessCapAdditionsAfterRel97 optional //opt because of V97 - //Note: AccessCapAdditionsAfterRel97 can include: - // Rel99 or - // Rel99 + Rel4 or - // Rel99 + Rel4 + Rel5 or - // Rel99 + Rel4 + Rel5 + Rel6 -} with { - variant "FIELDORDER(msb)"; - variant (a5bits) "PRESENCE(presenceBitA5 = '1'B)"; - variant (multislotcap) "PRESENCE(presenceBitMultislot = '1'B)"; -} - - -type record AccessCapAdditionsAfterRel97 -{ - AccessCapAdditionsRel99 accessCapAdditionsRel99, - AccessCapAdditionsAfterRel99 accessCapAdditionsAfterRel99 optional -} with { - variant "FIELDORDER(msb)"; -} - - -type record AccessCapAdditionsRel99 -{ - BIT1 presenceBitPskpow, - BIT2 pskpowercap optional, - BIT1 compactIntMeasurCap, - BIT1 revisionLevelInd, - BIT1 umtsfddRadAccTechCap, - BIT1 umtstddRadAccTechCap, - BIT1 cdma2kRadAccTechCap -} with { - variant "FIELDORDER(msb)"; - variant (pskpowercap) "PRESENCE(presenceBitPskpow = '1'B)"; -} - - -type record AccessCapAdditionsAfterRel99 -{ - AccessCapAdditionsRel4 accessCapAdditionsRel4, - AccessCapAdditionsAfterRel4 accessCapAdditionsAfterRel4 optional -} with { - variant "FIELDORDER(msb)"; -} - - -type record AccessCapAdditionsRel4 -{ - BIT1 umts128RadAccTechCap, - BIT1 geranFeaturePackage, - BIT1 presenceBitExtendedDTM, - ExtendedDTM extendedDTM optional, - BIT1 modulationBasedMultislotClass -} with { - variant "FIELDORDER(msb)"; - variant (extendedDTM) "PRESENCE(presenceBitExtendedDTM = '1'B)"; -} - - -type record AccessCapAdditionsAfterRel4 -{ - AccessCapAdditionsRel5 accessCapAdditionsRel5, - AccessCapAdditionsAfterRel5 accessCapAdditionsAfterRel5 optional -} with { - variant "FIELDORDER(msb)"; -} - - -type record AccessCapAdditionsRel5 -{ - BIT1 presenceBitHighMultislotCapability, - BIT2 highMultislotCapability optional, - BIT1 presenceBitGeranIuModeCapability, // this field is present to make the module compatible with earlier versions; it always must be set to 0, - BIT2 gMSKMultislotPowerProfile, - BIT2 eightPSKMultislotPowerProfile -} with { - variant "FIELDORDER(msb)"; - variant (highMultislotCapability) - "PRESENCE(presenceBitHighMultislotCapability = '1'B)" -} - - -type record AccessCapAdditionsAfterRel5 -{ - AccessCapAdditionsRel6 accessCapAdditionsRel6, - AccessCapAdditionsAfterRel6 accessCapAdditionsAfterRel6 optional -} with { - variant "FIELDORDER(msb)"; -} - -type record AccessCapAdditionsAfterRel6 -{ - AccessCapAdditionsRel7 accessCapAdditionsRel7, - //AccessCapAdditionsRel8 accessCapAdditionsAfterRel7 optional - AccessCapAdditionsAfterRel7 accessCapAdditionsAfterRel7 optional -} with { - variant "FIELDORDER(msb)"; -} - -type record AccessCapAdditionsRel6 -{ - BIT1 multipleTBFCapability, - BIT2 downlinkAdvancedReceiverPerformance, - BIT1 extendedRLCMACCtrlMsgSegmentationCap, - BIT1 dTMEnhancementsCapability, - BIT1 presenceBitDTMGPRSHighMultiSlotClass, - DTMGPRSHighMultiSlotClass dTMGPRSHighMultiSlotClass optional, - BIT1 pSHandoverCapability -} with { - variant "FIELDORDER(msb)"; - variant (dTMGPRSHighMultiSlotClass) - "PRESENCE(presenceBitDTMGPRSHighMultiSlotClass = '1'B)" -} - - -type record DTMGPRSHighMultiSlotClass -{ - BIT3 dTMGPRSHighMultiSlotClassValue, - BIT1 presenceBitDTMEGPRSHighMultiSlotClass, - BIT3 dTMEGPRSHighMultiSlotClassValue optional -} with { - variant "FIELDORDER(msb)"; - variant (dTMEGPRSHighMultiSlotClassValue) - "PRESENCE(presenceBitDTMEGPRSHighMultiSlotClass = '1'B)" - -} - - -type record AccessCapAdditionsRel7 -{ - BIT1 dTMHandoverCapability, - BIT1 presenceBitDownlinkDualCarrier, - DownlinkDualCarrier downlinkDualCarrier, - BIT1 flexibleTimeslotAssignment, - BIT1 gANPSHandoverCapability, - BIT1 rLCNonPersistentMode, - BIT1 reducedLatencyCapability, - BIT2 uplinkEGPRS2, - BIT2 downlinkEGPRS2 -} with { - variant "FIELDORDER(msb)"; - variant (downlinkDualCarrier) "PRESENCE(presenceBitDownlinkDualCarrier = '1'B)" -} - -type record AccessCapAdditionsAfterRel7 -{ - AccessCapAdditionsRel8 accessCapAdditionsRel8, - AccessCapAdditionsAfterRel8 accessCapAdditionsAfterRel8 -} - - -type record AccessCapAdditionsRel8 -{ - BIT1 eUTRAFDDsupport , - BIT1 eUTRATDDsupport, - BIT2 gERANToEUTRASupportInGERANPacketTransferMode, - BIT1 priorityBasedReselectionSupport -} with { - variant "FIELDORDER(msb)"; -} - -type record AccessCapAdditionsAfterRel8 -{ - AccessCapAdditionsRel9 accessCapAdditionsRel9, - AccessCapAdditionsAfterRel9 accessCapAdditionsAfterRel9 -} - -type record AccessCapAdditionsRel9 -{ - EnhancedFlexTimeslotAssignment enhancedFlexTimeslotAssignment, - BIT1 indicationofUpperLayerPDUStartCapabilityforRLCUM, - BIT1 eMSTCapability, - BIT1 mTTICapability, - BIT1 uTRACSGCellsReporting, - BIT1 eUTRACSGCellsReporting -} with { - variant "FIELDORDER(msb)"; -} - -type record AccessCapAdditionsAfterRel9 -{ - AccessCapAdditionsRel10 accessCapAdditionsRel10, - AccessCapAdditionsAfterRel10 accessCapAdditionsAfterRel10 -} - -type record AccessCapAdditionsRel10 -{ - BIT1 dTRCapability, - BIT1 eMSRCapability, - BIT1 fastDownlinkFrequencySwitchingCapability, - BIT2 tIGHTER_Capability -} - -type record AccessCapAdditionsAfterRel10 -{ - AccessCapAdditionsRel11 accessCapAdditionsRel11, - AccessCapAdditionsAfterRel11 accessCapAdditionsAfterRel11 -} with { - variant "FIELDORDER(msb)"; -} - -type record AccessCapAdditionsRel11 -{ - BIT1 fANRCapability, - BIT1 iPACapability, - BIT1 gERANNetworkSharingSupport, - BIT1 eUTRAWidebandRSRQMeasurementsSupport -} with { - variant "FIELDORDER(msb)"; -} - -type record AccessCapAdditionsAfterRel11 -{ - AccessCapAdditionsRel12 accessCapAdditionsRel12, - AccessCapAdditionsAfterRel12 accessCapAdditionsAfterRel12 -} with { - variant "FIELDORDER(msb)"; -} - -type record AccessCapAdditionsRel12 -{ - BIT1 uTRAMultipleFrequencyBandIndicatorsSupport, - BIT1 eUTRAMultipleFrequencyBandIndicatorsSupport, - BIT1 presenceBitDLMCCapability, - DLMCCapability dLMCCapability optional, - BIT1 extendedTSCSetCapabilitySupport -} with { - variant "FIELDORDER(msb)"; - variant (dLMCCapability) "PRESENCE(presenceBitDLMCCapability = '1'B)" -} - -type record DLMCCapability -{ - BIT1 presenceDLMC, - DLMCBandReception dLMCBandReception optional, - BIT2 dLMCMaxBandwidth, - BIT6 dLMCMaxNumOfDownlinkTimeslots, - BIT3 dLMCMaxNumOfDownlinkCarriers -} with { - variant "FIELDORDER(msb)"; - variant (dLMCBandReception) "PRESENCE(presenceDLMC = '1'B)" -} - -type record DLMCBandReception -{ - BIT2 dLMCNonContiguousIntraBandReception, - BIT1 dLMCInterBandReception -} with { - variant "FIELDORDER(msb)"; -} - -type record AccessCapAdditionsAfterRel12 -{ - AccessCapLateAdditionsRel11 accessCapLateAdditionsRel11, - octetstring accessCapLateAdditionsAfterRel11 -} with { - variant "FIELDORDER(msb)"; -} - -type record AccessCapLateAdditionsRel11 -{ - BIT1 extendedEARFCNValueRange -} - -type record EnhancedFlexTimeslotAssignment -{ - BIT1 presenceBitalternativeEFTAMultislotClass, - BIT4 alternativeEFTAMultislotClass, - BIT3 eFTAMultislotCapabilityReductionforDownlinkDualCarrier -} with { - variant "FIELDORDER(msb)" -}; - - -type record DownlinkDualCarrier -{ - BIT3 multislotCapReductionforDownLinkDualCarrier, - BIT1 downlinkDualCarrierforDTMCapability -} with { variant "FIELDORDER(msb)" }; - - -type record ExtendedDTM -{ - BIT2 ExtendedDTM_GPRSMultislot, - BIT2 ExtendedDTM_EGPRSMultislot -} with { variant "FIELDORDER(msb)" }; - - -//MultislotCap -type record MultislotCap -{ - BIT1 presenceBitHscsd, - BIT5 hscsdmultislotclass optional, - BIT1 presenceBitGprs, - MultislotCap_GPRS gprsmultislot optional, - BIT1 presenceBitSms, - MultislotCap_SMS multislotCap_SMS optional, - MultislotCapAdditionsAfterRel97 multislotCapAdditionsAfterRel97 optional -} with { - variant "FIELDORDER(msb)"; - variant (hscsdmultislotclass) "PRESENCE(presenceBitHscsd = '1'B)"; - variant (gprsmultislot) "PRESENCE(presenceBitGprs = '1'B)"; - variant (multislotCap_SMS) "PRESENCE(presenceBitSms = '1'B)"; - -} - - -type record MultislotCapAdditionsAfterRel97 -{ - BIT1 presenceBitEcsdmulti, - BIT5 ecsdmultislotclass optional, - BIT1 presenceBitEgprsmulti, - MultislotCap_EGPRS multislotCap_EGPRS optional, - BIT1 presenceBitDtmGprsmulti, - MultislotCap_dtmgprsmultislotsubclass multislotCapdtmgprsmultislotsubclass optional -} with { - variant "FIELDORDER(msb)"; - variant (ecsdmultislotclass) "PRESENCE(presenceBitEcsdmulti = '1'B)"; - variant (multislotCap_EGPRS) "PRESENCE(presenceBitEgprsmulti = '1'B)" ; - variant (multislotCapdtmgprsmultislotsubclass) - "PRESENCE(presenceBitDtmGprsmulti = '1'B)" -} - - -type record MultislotCap_GPRS -{ - BIT5 gprsmultislotclass, - BIT1 gprsextendeddynalloccap -} with { variant "FIELDORDER(msb)" }; - - -type record MultislotCap_SMS -{ - BIT4 smsValue, - BIT4 smValue -} with { variant "FIELDORDER(msb)" }; - - -type record MultislotCap_EGPRS -{ - BIT5 egprsmultislotclass, - BIT1 egprsextendeddynalloccap -} with { variant "FIELDORDER(msb)" }; - -type record MultislotCap_dtmgprsmultislotsubclass -{ - BIT2 dtmgprsmultislotsubclass, - BIT1 singleSlotDTM, - BIT1 presenceBitDTM_EGPRSMultiSlot, - BIT2 dTM_EGPRSMultiSlot optional -} with { - variant "FIELDORDER(msb)"; - variant (dTM_EGPRSMultiSlot) "PRESENCE(presenceBitDTM_EGPRSMultiSlot = '1'B)" -}; - - -//A5BITS -type record A5BITS -{ - BIT1 a51 , - BIT1 a52 , - BIT1 a53 , - BIT1 a54 , - BIT1 a55 , - BIT1 a56 , - BIT1 a57 -} with { variant "FIELDORDER(msb)" }; - - -type record MSRACapabilityValues1111 -{ - BIT4 accessTechnType, //1111 - integer lengthIndicator, - BIT1 presenceIndicator_AdditionalAccessTechnologiesRepetition, - AdditionalAccessTechnologiesRepetition // coded '1'B if list is not empty - additionalAccessTechnologiesRepetition optional, - bitstring spare_bits -} with { - variant "PRESENCE (accessTechnType = '1111'B)"; - variant "FIELDORDER(msb)"; - variant (lengthIndicator) "FIELDLENGTH(7)"; - variant (lengthIndicator) "UNIT(bits)"; - variant (lengthIndicator) "BYTEORDER(last)"; - variant (additionalAccessTechnologiesRepetition) - "PRESENCE(presenceIndicator_AdditionalAccessTechnologiesRepetition = '1'B)"; - variant (lengthIndicator) - "LENGTHTO(presenceIndicator_AdditionalAccessTechnologiesRepetition, - additionalAccessTechnologiesRepetition,spare_bits)"; -}; - - -type record of AdditionalAccessTechnologiesRecord -AdditionalAccessTechnologiesRepetition -with { variant "EXTENSION_BIT(reverse)" }; - - -type record AdditionalAccessTechnologiesRecord -{ - AdditionalAccessTechnologies additionalAccessTechnologies, - BIT1 extensionBit -} with { variant "FIELDORDER(msb)" }; - - -type record AdditionalAccessTechnologies -{ - BIT4 accessTechnType, - BIT3 gMSKPowerClass, - BIT2 psk8PowerClass -} with { variant "FIELDORDER(msb)" }; - - -// GMM Cause - 10.5.5.14 -type record GMM_CauseTV -{ - OCT1 elementIdentifier, - GMM_CauseV causeValue -} with { variant "PRESENCE (elementIdentifier = '25'O)"; }; - -type record GMM_CauseV -{ - OCT1 causeValue -}; - - -// Routing Area identification - 10.5.5.15 -type record RoutingAreaIdentificationV -{ - HEX1 mccDigit1, - HEX1 mccDigit2, - HEX1 mccDigit3, - HEX1 mncDigit3, - HEX1 mncDigit1, - HEX1 mncDigit2, - OCT2 lac, - OCT1 rac -}; - -// Routing Area identification - 10.5.5.15a -// moved into MobileL3_CommonIE_Types - -//Update Result - 10.5.5.17 -type record UpdateResultTV -{ - UpdateResultV valueField, - BIT4 elementIdentifier -}; - -type record UpdateResultV -{ - BIT3 valueField, - BIT1 fOP_l3 -}; - - -// Update Type - 10.5.5.18 -type record UpdateTypeTV -{ - UpdateTypeV valueField, - BIT4 elementIdentifier -}; - -type record UpdateTypeV -{ - BIT3 valueField, - BIT1 for_l3 -}; - - -// ACReferenceNumber - 10.5.5.19 -type record ACReferenceNumberTV -{ - ACReferenceNumberV acReferenceNumber, - BIT4 acReferenceNumberIEI -}; - -type record ACReferenceNumberV -{ - BIT4 valueField -}; - - -// Service type - 10.5.5.20 -type record ServiceTypeV -{ - BIT3 serviceType, - BIT1 spare //'0'B -}; - - -// Cell Notification - 10.5.5.21 -type record CellNotificationT -{ - OCT1 elementIdentifier -} with { variant "PRESENCE (elementIdentifier = '8C'O)"; }; - - -// PC_LCSCapability - 10.5.5.22 -type record PC_LCSCapability -{ - OCT1 elementIdentifier, - PC_LCSCapabilityLV pC_LCSCapabilityLV -} with { variant "PRESENCE (elementIdentifier = '33'O)"; }; - - -type record PC_LCSCapabilityLV -{ - LIN1 lengthIndicator, // 3 octets - PC_LCSCapabilityV pC_LCSCapabilityV -} with { variant (lengthIndicator) "LENGTHTO (pC_LCSCapabilityV)"}; - - -type record PC_LCSCapabilityV -{ - BIT1 gPS_C, - BIT1 gPS_B, - BIT1 gPS_A, - BIT1 oTD_B, - BIT1 oTD_A, - BIT1 aPC, - BIT2 spare //'00'B -}; - - -// NetworkFeatureSupportTV - 10.5.5.23 -type record NetworkFeatureSupportTV -{ - NetworkFeatureSupportV networkFeatureSupportV, - BIT4 elementIdentifier -} with { variant "PRESENCE (elementIdentifier = '1011'B)"; }; - - -type record NetworkFeatureSupportV -{ - BIT1 eMCBS, // 24.008 v9.5.0 - BIT1 iMSVoPS, - BIT1 mBMS, - BIT1 lCS_MOLR -}; - -// AdditionalNetworkFeatureSupportTLV - 10.5.5.23A -type record AdditionalNetworkFeatureSupportTLV -{ - OCT1 elementIdentifier, - LIN1 lengthIndicator, - AdditionalNetworkFeatureSupportV additionalNetworkFeatureSupportV -} with { - variant "PRESENCE (elementIdentifier = '66'O)"; - variant (lengthIndicator) "LENGTHTO (additionalNetworkFeatureSupportV)" -}; - - -type record AdditionalNetworkFeatureSupportV -{ - BIT1 gPRS_SMS, - BIT7 spare -}; - -// 10.5.5.24 Inter RAT information container -type record InterRATInformationContainerTLV -{ - OCT1 elementIdentifier, - LIN1 lengthIndicator, - octetstring interRATInformationContainerV length(0..248) -} with { - variant "PRESENCE (elementIdentifier = '27'O)"; - variant (lengthIndicator) "LENGTHTO (interRATInformationContainerV)" -}; - - -// 10.5.5.25 Requested MS information -type record RequestedMSInformationTV -{ - BIT2 spare, //'00'B - BIT1 i_RAT2, - BIT1 i_RAT, - BIT4 elementIdentifier -} with { variant "PRESENCE (elementIdentifier = '1010'B)"; }; - -// 10.5.5.26 UE network capability TS 24.301 v13.4.0 / 9.9.3.34 -type record UENetworkCapabilityTLV -{ - OCT1 elementIdentifier, - UENetworkCapabilityLV uENetworkCapabilityLV -}with { - variant "PRESENCE (elementIdentifier = '58'O)" -} - -type record UENetworkCapabilityLV -{ - LIN1 lengthIndicator, //2..13 - UENetworkCapabilityV uENetworkCapabilityV -} with { - variant (lengthIndicator) "LENGTHTO (uENetworkCapabilityV)" -} - -type record UENetworkCapabilityV -{ - BIT8 eEA, - BIT8 eIA, - BIT8 uEA optional, - BIT7 uIA optional, - BIT1 uCS2 optional,//4. octet - BIT1 nF optional, - BIT1 sRVCC optional, - BIT1 lCS optional, - BIT1 lPP optional, - BIT1 aCC_CSFB optional, - BIT1 h245_ASH optional, - BIT1 proSe optional, - BIT1 proSe_dd optional, - BIT1 proSe_dc optional, - BIT7 spare optional,//6. octet - octetstring spare4 length (0..7) optional -} - -// 10.5.5.27 E-UTRAN inter RAT information container -type record EUTRANinterRATInformationContainerTLV -{ - OCT1 elementIdentifier, - LIN1 lengthIndicator, - octetstring eUTRANinterRATInformationContainerV length(0..255) -} with { - variant "PRESENCE (elementIdentifier = '2B'O)"; - variant (lengthIndicator) "LENGTHTO (eUTRANinterRATInformationContainerV)" -}; - -// 10.5.5.28 Voice Domain Preference and UE's Usage Setting -type record VoiceDomainPreferenceandUEsUsageSettingTLV -{ - OCT1 elementIdentifier, - LIN1 lengthIndicator, - VDPaUEsUS_V informationElement -} with { - variant "PRESENCE (elementIdentifier = '5D'O)" - variant (lengthIndicator) "LENGTHTO (informationElement)" -}; - -type record VDPaUEsUS_V -{ - BIT2 voiceDomainPreferenceforEUTRAN, - BIT1 uEsUsageSetting, - BIT1 spare1, - BIT1 spare2, - BIT1 spare3, - BIT1 spare4, - BIT1 spare5 -}; - -// P_TMSI Type 10.5.5.29 -//moved into MobileL3_CommonIE_Types - -// 10.5.5.30 -type record LocationAreaIdentification2_TLV -{ - OCT1 elementIdentifier, - LIN1 lengthIndicator, - OCT5 locationAreaIdentificationValue -} with { - variant "PRESENCE (elementIdentifier = '14'O)"; - variant (lengthIndicator) "LENGTHTO (locationAreaIdentificationValue)" -}; - -// 10.5.5.31 -type record NetworkResourceIdentifierContainerTLV -{ - OCT1 elementIdentifier, - NetworkResourceIdentifierContainerLV networkResourceIdentifierContainerLV -} with { - variant "PRESENCE (elementIdentifier = '10'O)"; -}; - -type record NetworkResourceIdentifierContainerLV -{ - LIN1 lengthIndicator, - NetworkResourceIdentifierContainerV networkResourceIdentifierContainerV -} with { - variant (lengthIndicator) "LENGTHTO (networkResourceIdentifierContainerV)" -}; - -type record NetworkResourceIdentifierContainerV -{ - BIT10 nRIContainerValue, - BIT6 spare -} with { - variant (nRIContainerValue) "BITORDER (msb)"; - variant (nRIContainerValue,spare) "FIELDORDER (msb)"; -}; - -// 10.5.5.32 -type record ExtendedDRXParametersTLV -{ - OCT1 elementIdentifier, - LIN1 lengthIndicator, - BIT4 eDRXValue, - BIT4 pagingTimeWindow -} with { - variant "PRESENCE (elementIdentifier = '6E'O)"; - variant (lengthIndicator) "LENGTHTO (eDRXValue,pagingTimeWindow)" -}; -// ======================================================== -// Session management information elements (chapter 10.5.6) -// ======================================================== - -// Access Point Name - 10.5.6.1 - -type record AccessPointNameTLV -{ - OCT1 elementIdentifier, - LIN1 lengthIndicator, // 3-102 octets , - AccessPointNameV accessPointNameValue -} with { - variant "PRESENCE (elementIdentifier = '28'O)"; - variant (lengthIndicator) "LENGTHTO (accessPointNameValue)" -}; - -type record AccessPointNameLV -{ - LIN1 lengthIndicator, // 3-102 octets , - AccessPointNameV accessPointNameValue -} with { variant (lengthIndicator) "LENGTHTO (accessPointNameValue)"}; - -type octetstring AccessPointNameV; - - -//NSAPI - 10.5.6.2 -type record NSAPITV -{ - OCT1 elementIdentifier, - NSAPIV valueField -}; - -type record NSAPIV -{ - BIT4 valueField, - BIT4 spare //'0000'B -}; - - -//Protocol Configuration Options - 10.5.6.3 -type record ProtocolConfigOptionsTLV -{ - OCT1 elementIdentifier, - LIN1 lengthIndicator, - ProtocolConfigOptionsV protocolConfigOptionsV -} with { - variant "PRESENCE (elementIdentifier = '27'O)"; - variant (lengthIndicator) "LENGTHTO (protocolConfigOptionsV)" -}; - -type record ProtocolConfigOptionsV -{ - BIT3 configProtocol, - BIT4 spare , //'0000'B - BIT1 extensionField, //'1'B - ProtocolIDs_and_ContainerIDs protocolIDs_and_ContainerIDs optional -}; - -type record of ProtocolID_or_ContainerID ProtocolIDs_and_ContainerIDs; - -type record ProtocolID_or_ContainerID -{ - OCT2 protocolID_or_ContainerID, - LIN1 lengthIndicator, - octetstring protID_orContID_Contents -} with { variant (lengthIndicator) "LENGTHTO (protID_orContID_Contents)"}; - - -// PDP Address - 10.5.6.4 -type record PDPAddressTLV -{ - OCT1 elementIdentifier, - PDPAddressLV pDPAddressLV -} with { variant "PRESENCE (elementIdentifier = '2B'O)"; }; - - -type record PDPAddressLV -{ - LIN1 lengthIndicator, - PDPAddressV pdpAddressV -} with { variant (lengthIndicator) "LENGTHTO (pdpAddressV)"}; - - -type record PDPAddressV -{ - BIT4 pdpTypeOrg, - BIT4 spare, //'0000'B - OCT1 pdpTypeNum, - octetstring addressInfo optional -}; - - -// QoS - 10.5.6.5 -type record QoSTLV -{ - OCT1 elementIdentifier, - QoSLV qoSLV -} with { variant "PRESENCE (elementIdentifier = '30'O)"; }; - - -type record QoSLV -{ - LIN1 lengthIndicator, - QoSV qoSV -} with { variant (lengthIndicator) "LENGTHTO (qoSV)"}; - - -type record QoSV -{ - BIT3 reliabilityClass, - BIT3 delayClass, - BIT2 spare1, // '00'B - BIT3 precedenceClass, - BIT1 spare2, //'0'B - BIT4 peakThroughput, - BIT5 meanThroughput, - BIT3 spare3, //'000'B - BIT3 deliverErroneusSDU optional, //opt because of V97 - BIT2 deliveryOrder optional, //opt because of V97 - BIT3 trafficClass optional, //opt because of V97 - OCT1 maxSDUSize optional, //opt because of V97 - OCT1 maxBitrateUplink optional, //opt because of V97 - OCT1 maxBitrateDownlink optional, //opt because of V97 - BIT4 sduErrorRatio optional, //opt because of V97 - BIT4 residualBER optional, //opt because of V97 - BIT2 trafficHandlingPriority optional, //opt because of V97 - BIT6 transferDelay optional, //opt because of V97 - OCT1 guaranteedBitRateUplink optional, //opt because of V97 - OCT1 guaranteedBitRateDownlink optional, //opt because of V97 - BIT4 sourceStatisticsDescriptor optional, //opt because of V97 - BIT1 signallingIndication optional, //opt because of V97 - BIT3 spare4 optional, //opt because of V97 - // '000'B - OCT1 maxBitrateDownlinkExt optional, //opt because of V97 - OCT1 guaranteedBitRateDownlinkExt optional, //opt because of V97 - OCT1 maxBitrateUplinkExt optional, //opt because of V97 - OCT1 guaranteedBitRateUplinkExt optional, //opt because of V97 - OCT1 maxBitrateDownlinkExt2 optional, //opt because of V97 - OCT1 guaranteedBitRateDownlinkExt2 optional, //opt because of V97 - OCT1 maxBitrateUplinkExt2 optional, //opt because of V97 - OCT1 guaranteedBitRateUplinkExt2 optional //opt because of V97 -}; - -// ReAttemptIndicator - 10.5.6.5a -type record ReAttemptIndicatorTLV -{ - OCT1 elementIdentifier, - ReAttemptIndicatorLV reAttemptIndicatorLV -} with { variant "PRESENCE (elementIdentifier = '6B'O)"; }; - -type record ReAttemptIndicatorLV -{ - LIN1 lengthIndicator, - ReAttemptIndicatorV reAttemptIndicatorV -} with { variant (lengthIndicator) "LENGTHTO (reAttemptIndicatorV)"}; - -type record ReAttemptIndicatorV -{ - BIT1 rATCValue, - BIT1 ePLMNCValue, - BIT6 spare -} - -// SM Cause - 10.5.6.6 -type OCT1 SMCauseV; - -// SM Cause2 - 10.5.6.6a -type record SMCause2TLV -{ - OCT1 elementIdentifier, - SMCause2LV sMCause2LV -} with { variant "PRESENCE (elementIdentifier = '39'O)"; }; - -type record SMCause2LV -{ - LIN1 lengthIndicator, - OCT1 sMCause2V -} with { variant (lengthIndicator) "LENGTHTO (sMCause2V)"}; - -// Linked TI - 10.5.6.7 -type record LinkedTITLV -{ - OCT1 elementIdentifier, - LinkedTILV linkedTILV -} - -type record LinkedTILV -{ - LIN1 lengthIndicator, - LinkedTIV valueField -} with { variant (lengthIndicator) "LENGTHTO (valueField)"}; - - -type record LinkedTIV -{ - BIT4 spare, //'0000'B - BIT3 tio, - BIT1 tiFlag, - TI_Extension tIExtension optional -} with { variant (tIExtension)"PRESENCE(tio = '111'B)"}; - - -type record TI_Extension -{ - BIT7 tI_Value, - BIT1 tI_ExtBit //'1'B -}; - - -// LLC SAPI - 10.5.6.9 -type record LLC_SAPITV -{ - OCT1 elementIdentifier, - LLC_SAPIV valueField -} with { variant "PRESENCE (elementIdentifier = '32'O)"; }; - - -type record LLC_SAPIV -{ - BIT4 valueField, - BIT4 spare //'0000'B -}; - - -// Tear down indicator - 10.5.6.10 -type record TearDownIndicatorTV -{ - TearDownIndicatorV tearDownIndicatorV, - BIT4 elementIdentifier -} with { variant "PRESENCE (elementIdentifier = '1001'B)"; }; - -type record TearDownIndicatorV -{ - BIT1 tdi_flag, - BIT3 spare //'000'B -}; - - -// Packet Flow Identifier - 10.5.6.11 -type record PacketFlowIDTLV -{ - OCT1 elementIdentifier, - LIN1 lengthIndicator, - PacketFlowIDV valueField -} with { - variant "PRESENCE (elementIdentifier = '34'O)"; - variant (lengthIndicator) "LENGTHTO (valueField)" -}; - - -type record PacketFlowIDV -{ - BIT7 valueField, - BIT1 spare // '0'B -}; - - -// Traffic Flow Template - 10.5.6.12 -// when TFT operation is "delete packet filters from existing TFT" -// NOTE: will need to use "TAG" variant if both IEI is present within a PDU -type record TrafficFlowTemplateTLV -{ - OCT1 elementIdentifier, - TrafficFlowTemplateLV trafficFlowTemplateLV -} with { variant "PRESENCE (elementIdentifier = '31'O, - elementIdentifier = '36'O)"; -}; - -type record TrafficFlowTemplateLV -{ - LIN1 lengthIndicator, - TrafficFlowTemplateV valueField -} with { variant (lengthIndicator) "LENGTHTO(valueField)"}; - - -type union TrafficFlowTemplateV -{ - TrafficFlowTemplateV_CreateAddReplaceTFT - trafficFlowTemplateV_CreateAddReplaceTFT, - TrafficFlowTemplateV_DeletePacketFilter - trafficFlowTemplateV_DeletePacketFilter, - TrafficFlowTemplateV_Delete_Existing_TFT_or_No_TFT_Operation - trafficFlowTemplateV_Delete_Existing_TFT_or_No_TFT_Operation -}; - - -type record TrafficFlowTemplateV_CreateAddReplaceTFT -{ - integer numberOfPacketFilters, - BIT1 eBIT, - BIT3 operationCodeTFT, //'001'B or - PacketFilterList_CreateAddReplaceTFT packetFilterList_CreateAddReplaceTFT, - ParametersList parametersList optional -} with { - variant "PRESENCE (operationCodeTFT = '001'B, // Create New TFT - operationCodeTFT = '011'B, // Add packet filters to existing TFT - operationCodeTFT = '100'B // Replace packet filters in existing TFT - )"; - variant(parametersList) "PRESENCE(eBIT = '1'B)"; - variant(numberOfPacketFilters)"FIELDLENGTH(4)"; - variant(numberOfPacketFilters)"LENGTHTO(packetFilterList_CreateAddReplaceTFT)"; - variant(numberOfPacketFilters)"UNIT(elements)"; -}; - - -type record TrafficFlowTemplateV_DeletePacketFilter -{ - integer numberOfPacketFilters, - BIT1 eBIT, - BIT3 operationCodeTFT, - //'101'B or '011'B or '100'B - PacketFilterList_DeletePacketFilter packetFilterList_DeletePacketFilter, - ParametersList parametersList optional -} with { - variant "PRESENCE (operationCodeTFT = '101'B)" // Delete packet filters from existing TFT - variant(parametersList) "PRESENCE(eBIT = '1'B)"; - variant(numberOfPacketFilters)"FIELDLENGTH(4)"; - variant(numberOfPacketFilters)"LENGTHTO(packetFilterList_DeletePacketFilter)"; - variant (numberOfPacketFilters)"UNIT(elements)"; -}; - - -type record TrafficFlowTemplateV_Delete_Existing_TFT_or_No_TFT_Operation -{ - BIT4 numberOfPacketFilters, //'0000'B - // numberOfPacketFilters is meaningless here since there is no PacketFilterList - BIT1 eBIT, - BIT3 operationCodeTFT, // '010'B or '110'B - ParametersList parametersList optional -} with { - variant "PRESENCE (operationCodeTFT = '010'B, // delete existing TFT - operationCodeTFT = '110'B // No TFT Operation - )"; - variant (parametersList) "PRESENCE(eBIT = '1'B)" -}; - - -type record of PacketFilter PacketFilterList_CreateAddReplaceTFT; - - -type record PacketFilter -{ - PacketFilterIdentifier_CreateAddReplaceTFT identifier, - OCT1 evaluationPrecedence, - LIN1 lengthIndicator, - octetstring contents -} with { variant (lengthIndicator) "LENGTHTO (contents)"}; - -type record PacketFilterIdentifier_CreateAddReplaceTFT -{ - BIT4 packetFilterIdentifier, - BIT2 packetFilterDirection, - BIT2 spare -} - -type record of PacketFilterIdentifier PacketFilterList_DeletePacketFilter; - - -type record PacketFilterIdentifier -{ - BIT4 packetFilterIdentifier, - BIT4 spare -} - - -type record of Parameter ParametersList; - - -type record Parameter -{ - OCT1 parameterIdentifier, - LIN1 lengthIndicator, - octetstring contents -} with { variant (lengthIndicator) "LENGTHTO (contents)"}; - - -// Temporary Mobile Group Identity - 10.5.6.13 -type record TemporaryMobileGroupIDLV -{ - LIN1 lengthIndicator, - OCT3 mBMSServiceID, - HEX1 mccDigit1, - HEX1 mccDigit2, - HEX1 mccDigit3, - HEX1 mncDigit3, - HEX1 mncDigit1, - HEX1 mncDigit2 -} with { variant (lengthIndicator) "LENGTHTO - (mBMSServiceID,mccDigit1,mccDigit2,mccDigit3, - mccDigit3,mncDigit1,mncDigit2)"}; - - -// MBMS Bearer Capabilities - 10.5.6.14 -type record MBMSBearerCapabilitiesLV -{ - LIN1 lengthIndicator, - OCT1 maxBitrateDownlink, - OCT1 maxBitrateDownlinkExtended optional -} with { variant (lengthIndicator) "LENGTHTO (maxBitrateDownlink, - maxBitrateDownlinkExtended)"}; - -// MBMS Protocol Configuration Options - 10.5.6.15 -type record MBMSProtocolConfigOptionsTLV -{ - OCT1 elementIdentifier, - LIN1 lengthIndicator, - OCT1 spare, // '00'O - octetstring valueField -} with { - variant "PRESENCE (elementIdentifier = '35'O)"; - variant (lengthIndicator) "LENGTHTO (spare,valueField)" -}; - - -//10.5.6.16 -type record EnhancedNetworkSeviveAccessPointIDV //(V) -{ - OCT1 enhancedNetworkSeviveAccessPointIDValue -} - -// 10.5.6.17 Request type -type record RequestTypeTV { - RequestTypeV requestTypeV, - BIT1 spare, - BIT4 elementIdentifier -} with { variant "PRESENCE (elementIdentifier = '1010'B)" }; - -//001 initial request -//010 Handover -//011 Unused. If received, the network shall interpret this as "initial request". -//100 Emergency -type BIT3 RequestTypeV; - -// 10.5.6.18 Notification Indicator -type record NotificationIndicatorLV -{ - LIN1 lengthIndicator, - OCT1 valueField -} with { - variant (lengthIndicator) "LENGTHTO (valueField)" -}; - -// 10.5.6.19 Connectivity Type -type record ConnectivityTypeTV -{ - BIT4 connectivityTypeValue, - BIT4 elementIdentifier -} with { variant "PRESENCE (elementIdentifier = '1011'B)" }; - -// 10.5.6.20 WLAN Offload Acceptability -type record WLANOffloadAcceptabilityTV -{ - BIT1 eUTRANOffloadAcceptabilityValue, - BIT1 uTRANOffloadAcceptabilityValue, - BIT2 spare, - BIT4 elementIdentifier -} with { variant "PRESENCE (elementIdentifier = '1100'B)" }; - -// 10.5.6.21 NBIFOM container -type record NBIFOM_ContainerTLV -{ - OCT1 elementIdentifier, - LIN1 lengthIndicator, - NBIFOM_ParameterList contents -} with { variant "PRESENCE (elementIdentifier = '33'O)"; - variant (lengthIndicator) "LENGTHTO (contents)" }; - -// 6.1.1 - TS 24.161 v2.0.0 -type record of NBIFOM_Parameter NBIFOM_ParameterList; - -type record NBIFOM_Parameter -{ - OCT1 parameterIdentifier, - LIN1 lengthIndicator, - NBIFOM_ParameterContents parameterContents -} with { variant (lengthIndicator) "LENGTHTO (parameterContents)"; - variant (parameterContents) "CROSSTAG( - nBIFOM_Mode, parameterIdentifier = '01'O; - nBIFOM_DefaultAccess, parameterIdentifier = '02'O; - nBIFOM_Status, parameterIdentifier = '03'O; - nBIFOM_RoutingRules, parameterIdentifier = '04'O; - nBIFOM_IPFlowMapping, parameterIdentifier = '05'O; - nBIFOM_RANRulesHandling, parameterIdentifier = '06'O; - nBIFOM_RANRulesStatus, parameterIdentifier = '07'O; - nBIFOM_AccessUsabilityIndication, parameterIdentifier = '08'O; - unknownParameter, OTHERWISE)"}; - -type union NBIFOM_ParameterContents -{ - OCT1 nBIFOM_Mode, - OCT1 nBIFOM_DefaultAccess, - OCT1 nBIFOM_Status, - NBIFOM_RoutingRules nBIFOM_RoutingRules, - NBIFOM_RoutingRules nBIFOM_IPFlowMapping, - OCT1 nBIFOM_RANRulesHandling, - OCT1 nBIFOM_RANRulesStatus, - NBIFOM_AccessUsabilityIndication nBIFOM_AccessUsabilityIndication, - octetstring unknownParameter -}; - -type record of NBIFOM_RoutingRule NBIFOM_RoutingRules -type record NBIFOM_RoutingRule -{ - LIN1 lengthIndicator, - OCT1 routingRuleIdentifier, - BIT3 operationCode, - BIT3 spare, - BIT2 routingAccess, - OCT1 routingRulePrioroty, - RoutingFilter routingFilter -} with { variant (lengthIndicator) "LENGTHTO (routingRuleIdentifier,operationCode, - spare,routingAccess,routingRulePrioroty,routingFilter)";} - -type record RoutingFilter -{ - BIT1 flagA, - BIT1 flagB, - BIT1 flagC, - BIT1 flagD, - BIT1 flagE, - BIT1 flagF, - BIT1 flagG, - BIT1 flagH, - BIT1 flagI, - BIT1 flagJ, - BIT1 flagK, - BIT1 flagL, - BIT1 flagM, - BIT1 flagN, - bitstring flagsZ length(18), - OCT4 sourceIPv4Address optional, - OCT4 destinationIPv4Address optional, - OCT16 sourceIPv6Address optional, - OCT16 destinationIPv6Address optional, - OCT1 sourceAddressPrefixLength optional, - OCT1 destinationAddressPrefixLength optional, - OCT4 iPSecSecurityParameterIndex optional, - OCT1 protocolTypeNextHeader optional, - OCT4 startSourcePortRange optional, - OCT4 endSourcePortRange optional, - OCT4 startDestinationPortRange optional, - OCT4 endDestinationPortRange optional, - OCT1 typeOfService optional, - OCT4 flowLabel optional -} with { variant (sourceIPv4Address) "PRESENCE(flagA = '1'B)"; - variant (destinationIPv4Address) "PRESENCE(flagB = '1'B)"; - variant (sourceIPv6Address) "PRESENCE(flagC = '1'B)"; - variant (destinationIPv6Address) "PRESENCE(flagD = '1'B)"; - variant (sourceAddressPrefixLength) "PRESENCE(flagE = '1'B)"; - variant (destinationAddressPrefixLength) "PRESENCE(flagF = '1'B)"; - variant (iPSecSecurityParameterIndex) "PRESENCE(flagG = '1'B)"; - variant (protocolTypeNextHeader) "PRESENCE(flagH = '1'B)"; - variant (startSourcePortRange) "PRESENCE(flagI = '1'B)"; - variant (endSourcePortRange) "PRESENCE(flagJ = '1'B)"; - variant (startDestinationPortRange) "PRESENCE(flagK = '1'B)"; - variant (endDestinationPortRange) "PRESENCE(flagL = '1'B)"; - variant (typeOfService) "PRESENCE(flagM = '1'B)"; - variant (flowLabel) "PRESENCE(flagN = '1'B)"; -} - -type record NBIFOM_AccessUsabilityIndication -{ - BIT2 threeGPPAccessUsableValue, - BIT2 wLANAccessUsableValue, - BIT4 spare -} -// ================================================= -// GPRS Common information elements (chapter 10.5.7) -// ================================================= - -//PDPContextStatus - 10.5.7.1 -type record PDPContextStatusTLV -{ - OCT1 elementIdentifier, - LIN1 lengthIndicator, - OCT2 valueField -} with { - variant "PRESENCE (elementIdentifier = '32'O)"; - variant (lengthIndicator) "LENGTHTO (valueField)" -}; - - -// Radio priority - 10.5.7.2 -type record RadioPriorityTV -{ - RadioPriorityV valueField, - BIT4 elementIdentifier -} with { variant "PRESENCE (elementIdentifier = '1000'B)"; }; - - -type record RadioPriorityV -{ - BIT3 priorityLevelValue, - BIT1 spare // '0'B -}; - - -//GPRS Timer - 10.5.7.3 -type record GPRSTimerTV -{ - OCT1 elementIdentifier, - GPRSTimerV gprsTimerV -} with { variant "PRESENCE (elementIdentifier = '17'O)"; }; - - -type record GPRSTimerV -{ - BIT5 timerValue, - BIT3 unit -}; - -// GPRS Timer2 - 10.5.7.4 -type record GPRSTimer2TLV -{ - OCT1 elementIdentifier, //'2A'O or '37'O - LIN1 lengthIndicator, - GPRSTimerV gprsTimer2V // the same as GPRSTimerV -} with { - variant (lengthIndicator) "LENGTHTO (gprsTimer2V)" -}; - -// GPRS Timer3 - 10.5.7.4a -// GPRSTimer3TLV See MobileL3_CommonIE_Types.ttcn - -// Radio priority2 - 10.5.7.5 -type record RadioPriority2TV -{ - RadioPriority2V valueField, - BIT4 elementIdentifier -}; - - -type record RadioPriority2V -{ - BIT3 priorityLevelValue, - BIT1 spare // '0'B -}; - - -// 10.5.7.6 MBMS context status -type record MBMS_ContextStatusTLV -{ - OCT1 elementIdentifier, - LIN1 lengthIndicator, - octetstring mBMSContextStatusInformation length (0..16) -} with { - variant "PRESENCE (elementIdentifier = '35'O)"; - variant (lengthIndicator) "LENGTHTO (mBMSContextStatusInformation)" -}; - - -// 10.5.7.7 -type record UplinkDataStatusTLV -{ - OCT1 elementIdentifier, - LIN1 lengthIndicator, - UplinkDataStatusV valueField -} with { - variant "PRESENCE (elementIdentifier = '36'O)"; - variant (lengthIndicator) "LENGTHTO (valueField)" -}; - -type record UplinkDataStatusV -{ - BIT5 spare, - BIT3 nSAPI_5_to_7, - BIT8 nSAPI_8_to_15 -}; - -// 10.5.7.8 -// DevicePropertiesTV -> See MobileL3_CommonIE_Types.ttcn - - -// ============================================== -// GPRS Mobility Management Messages (chapter 9.4) -// ============================================== - -// GMM Attach Request - 9.4.1 -type record PDU_GMM_AttachRequest -{ - BIT8 messageType, // '00000001'B - MSNetworkCapabilityLV msNetworkCapability, - AttachTypeV attachType, - CipheringKeySequenceNumberV gprsCKSN, - DRXParameterV drxParam, - MobileIdentityLV mobileIdentity, - RoutingAreaIdentificationV oldRoutingAreaID, - MSRadioAccessCapabilityLV msRACap, - P_TMSISignatureTV ptmsiSignature optional, - GPRSTimerTV reqGPRStimer optional, - TMSIStatusTV tmsiStatus optional, - PC_LCSCapability pC_LCSCapability optional, - MobileStationClassmark2_TLV mobileStationClassmark2 optional, - MobileStationClassmark3_TLV mobileStationClassmark3 optional, - SupportedCodecList supportedCodecs optional, - UENetworkCapabilityTLV uENetworkCapability optional, - MobileIdentityTLV additionalMobileIdentity optional, - RoutingAreaIdentification2TLV routingAreaIdentification2 optional, - VoiceDomainPreferenceandUEsUsageSettingTLV voiceDomainandUEsUsageSetting optional, - DevicePropertiesTV deviceProperties optional, - P_TMSI_TypeTV p_TMSI_Type optional, - MS_NetworkFeatureSupportTV mS_NetworkFeatureSupport optional, - LocationAreaIdentification2_TLV oldLocationAreaIdentification optional, - AdditionalUpdateTypeTV additionalUpdateType optional, - NetworkResourceIdentifierContainerTLV tMSIBasedNRIcontainer optional, - GPRSTimer2TLV t3324 optional, - GPRSTimer3TLV t3312_ExtendedValue optional, - ExtendedDRXParametersTLV extendedDRXParameters optional -} with { - variant "PRESENCE (messageType = '00000001'B)"; - variant "TAG - ( - additionalMobileIdentity, elementIdentifier = '0011010'B; - deviceProperties, elementIdentifier = '1101'B; //D - mS_NetworkFeatureSupport, elementIdentifier = '1100'B; //C - t3324, elementIdentifier = '6a'O; - t3312_ExtendedValue, elementIdentifier = '39'O - )" -}; - -// GMM Attach Accept - 9.4.2 -type record PDU_GMM_AttachAccept -{ - BIT8 messageType, - AttachResultV attachResult, - ForceToStandbyV forceToStandby, - GPRSTimerV updateTimer, - RadioPriorityV radioPriority, //SMS - RadioPriority2V radioPriorityTOM8, // TOM8 - RoutingAreaIdentificationV routingAreaIdentification, - P_TMSISignatureTV ptmsiSignature optional, - GPRSTimerTV readyTimer optional, - MobileIdentityTLV allocatedPTMSI optional, - MobileIdentityTLV msIdentity optional, - GMM_CauseTV gmmCause optional, - GPRSTimer2TLV t3302 optional, - CellNotificationT cellNotification optional, - PLMNListTLV equivalentPLMNs optional, - NetworkFeatureSupportTV networkFeatureSupport optional, - EmergencyNumberListTLV emergencyNumberList optional, - RequestedMSInformationTV requestedMSInformation optional, - GPRSTimer2TLV t3319 optional, - GPRSTimer2TLV t3323 optional, - GPRSTimer3TLV t3312_ExtendedValue optional, - AdditionalNetworkFeatureSupportTLV additionalNetworkFeatureSupport optional, - GPRSTimer2TLV t3324 optional, - ExtendedDRXParametersTLV extendedDRXParameters optional -} with { - variant "PRESENCE (messageType = '00000010'B)"; - variant "TAG - ( - allocatedPTMSI, elementIdentifier = '0011000'B; //'18'O 7 bits - msIdentity, elementIdentifier = '0100011'B; //'23'O 7 bits - t3302, elementIdentifier = '2A'O; - t3319, elementIdentifier = '37'O; - t3323, elementIdentifier = '38'O; - t3312_ExtendedValue, elementIdentifier = '39'O; - t3324, elementIdentifier = '6a'O; - )" -}; - - -// GMM Attach Complete - 9.4.3 -type record PDU_GMM_AttachComplete -{ - BIT8 messageType, - InterRATInformationContainerTLV interRATHandoverInformation optional, - EUTRANinterRATInformationContainerTLV eUTRANinterRATHandoverInformation optional -} with { variant "PRESENCE (messageType = '00000011'B)"; }; - - -// GMM Attach Reject - 9.4.4 -type record PDU_GMM_AttachReject -{ - BIT8 messageType, - GMM_CauseV gmmCause, - GPRSTimer2TLV t3302 optional, - GPRSTimer2TLV t3346 optional - -} with { variant "PRESENCE (messageType = '00000100'B)"; - variant "TAG - ( - t3302, elementIdentifier = '2A'O; - t3346, elementIdentifier = '3A'O; - )" -}; - -// GMM Detach Request - 9.4.5 - -// GMM Detach Request (mobile terminated detach) - 9.4.5.1 -type record PDU_GMM_DetachRequest_SGSN_MS -{ - BIT8 messageType, - DetachTypeV detachType, - ForceToStandbyV forceToStandby, - GMM_CauseTV gmmCause optional -} with { variant "PRESENCE (messageType = '00000101'B)"; }; - -// GMM Detach Request (mobile originating detach) - 9.4.5.2 -type record PDU_GMM_DetachRequest_MS_SGSN -{ - BIT8 messageType, - DetachTypeV detachType, - BIT4 spare, - MobileIdentityTLV ptmsi optional, - P_TMSISignature2TLV ptmsiSignature optional -} with { - variant "PRESENCE (messageType = '00000101'B)"; - variant "TAG (ptmsi, elementIdentifier = '0011000'B;)" //'18'O 7 bits -}; - -// GMM Detach Accept - 9.4.6 - -// GMM Detach Accept (mobile terminated detach) 9.4.6.1 -type record PDU_GMM_DetachAccept_MS_SGSN -{ - BIT8 messageType -} with { variant "PRESENCE (messageType = '00000110'B)"; }; - -// GMM Detach Accept (mobile originating detach) 9.4.6.2 -type record PDU_GMM_DetachAccept_SGSN_MS -{ - BIT8 messageType, - ForceToStandbyV forceToStandby, - BIT4 spare -} with { variant "PRESENCE (messageType = '00000110'B)"; }; - -// GMM P-TMSI reallocation command - 9.4.7 -type record PDU_GMM_P_TMSIReallocationCommand -{ - BIT8 messageType, - MobileIdentityLV allocatedPTMSI, - RoutingAreaIdentificationV routingAreaIdentification, - ForceToStandbyV forceToStandby, - BIT4 spare, - P_TMSISignatureTV ptmsiSignature optional -} with { variant "PRESENCE (messageType = '00010000'B)"; }; - -// GMM P-TMSI reallocation complete - 9.4.8 -type record PDU_GMM_P_TMSIReallocationComplete -{ - BIT8 messageType -} with { variant "PRESENCE (messageType = '00010001'B)"; }; - -// GMM Authentication and ciphering request - 9.4.9 -type record PDU_GMM_AuthenticationAndCipheringRequest -{ - BIT8 messageType, - CipheringAlgorithmV cipheringAlgorithm, - IMEISVRequestV imeisvRequest, - ForceToStandbyV forceToStandby, - ACReferenceNumberV acReferenceNumber, - AuthenticationParameterRANDTV authenticationParameterRAND optional, - CipheringKeySequenceNumberTV cipheringKeySequenceNumber optional, - AuthenticationParameterAUTNTLV authenticationParameterAUTN optional -} with { variant "PRESENCE (messageType = '00010010'B)"; - variant "TAG (authenticationParameterAUTN, elementIdentifier = '28'O)"; -}; - -// GMM Authentication and ciphering response - 9.4.10 -type record PDU_GMM_AuthenticationAndCipheringResponse -{ - BIT8 messageType, - ACReferenceNumberV acReferenceNumber, - BIT4 spare, - AuthenticationResponseParameterTV authenticationParResp optional, - MobileIdentityTLV imeisv optional, - AuthenticationResponseParameterUMTSTLV authenticationRespParExt optional -} with { - variant "PRESENCE (messageType = '00010011'B)"; - variant "TAG (imeisv, elementIdentifier = '0100011'B;)" - variant "TAG (authenticationRespParExt, elementIdentifier = '29'O)"; -}; - -// GMM Authentication and Ciphering Failure - 9.4.10a -type record PDU_GMM_AuthenticationAndCipheringFailure -{ - BIT8 messageType, - GMM_CauseV gmmCause, - AuthenticationFailureParametersTLV authenticationFailureParam optional -} with { variant "PRESENCE (messageType = '00011100'B)"; - variant "TAG (authenticationFailureParam, elementIdentifier = '30'O)"; -}; - -// GMM Authentication and ciphering reject - 9.4.11 -type record PDU_GMM_AuthenticationAndCipheringReject -{ - BIT8 messageType -} with { variant "PRESENCE (messageType = '00010100'B)"; }; - -// GMM Identity Request - 9.4.12 -type record PDU_GMM_IdentityRequest -{ - BIT8 messageType, - IdentityType2V identityType, - ForceToStandbyV forceToStandby -} with { variant "PRESENCE (messageType = '00010101'B)"; }; - -// GMM Identity response - 9.4.13 -type record PDU_GMM_IdentityResponse -{ - BIT8 messageType, - MobileIdentityLV mobileIdentity -} with { variant "PRESENCE (messageType = '00010110'B)"; }; - -// GMM Routing area update request - 9.4.14 -type record PDU_GMM_RoutingAreaUpdateRequest -{ - BIT8 messageType, - UpdateTypeV updateType, - CipheringKeySequenceNumberV gprsCKSN, - RoutingAreaIdentificationV oldRoutingAreaId, - MSRadioAccessCapabilityLV msRACap, - P_TMSISignatureTV oldPTMSISignature optional, - GPRSTimerTV readyTimerValue optional, - DRXParameterTV drxParameter optional, - TMSIStatusTV tmsiStatus optional, - MobileIdentityTLV ptmsi optional, - MSNetworkCapabilityTLV mSNetworkCapability optional, - PDPContextStatusTLV pdpContextStatus optional, - PC_LCSCapability pC_LCSCapability optional, - MBMS_ContextStatusTLV mBMS_ContextStatus optional, - UENetworkCapabilityTLV uENetworkCapability optional, - MobileIdentityTLV additionalMobileIdentity optional, - RoutingAreaIdentification2TLV oldRoutingAreaIdentification2 optional, - MobileStationClassmark2_TLV mobileStationClassmark2 optional, - MobileStationClassmark3_TLV mobileStationClassmark3 optional, - SupportedCodecList supportedCodecs optional, - VoiceDomainPreferenceandUEsUsageSettingTLV voiceDomainUEUsageSetting optional, - P_TMSI_TypeTV p_TMSI_Type optional, - DevicePropertiesTV deviceProperties optional, - MS_NetworkFeatureSupportTV mS_NetworkFeatureSupport optional, - LocationAreaIdentification2_TLV oldLocationAreaIdentification optional, - AdditionalUpdateTypeTV additionalUpdateType optional, - NetworkResourceIdentifierContainerTLV tMSIBasedNRIcontainer optional, - GPRSTimer2TLV t3324 optional, - GPRSTimer3TLV t3312_ExtendedValue optional, - ExtendedDRXParametersTLV extendedDRXParameters optional -} with { - variant "PRESENCE (messageType = '00001000'B)"; - variant "TAG ( - ptmsi, elementIdentifier = '0011000'B; //'18'O 7 bits - additionalMobileIdentity, elementIdentifier = '0011010'B; - deviceProperties, elementIdentifier = '1101'B; //D - mS_NetworkFeatureSupport, elementIdentifier = '1100'B; //C - t3324, elementIdentifier = '6a'O; - t3312_ExtendedValue, elementIdentifier = '39'O - )" -}; - -// GMM Routing Area update accept - 9.4.15 -type record PDU_GMM_RoutingAreaUpdateAccept -{ - BIT8 messageType, - ForceToStandbyV forceToStandby, - UpdateResultV updateResult, - GPRSTimerV raUpdateTimer, - RoutingAreaIdentificationV routingAreaId, - P_TMSISignatureTV ptmsiSignature optional, - MobileIdentityTLV allocatedPTMSI optional, - MobileIdentityTLV msIdentity optional, - ReceiveNPDUNumbersListTLV receiveNPDUNumbers optional, - GPRSTimerTV readyTimer optional, - GMM_CauseTV gmmCause optional, - GPRSTimer2TLV t3302 optional, - CellNotificationT cellNotification optional, - PLMNListTLV equivalentPLMNs optional, - PDPContextStatusTLV pdpContextStatus optional, - NetworkFeatureSupportTV networkFeatureSupport optional, - EmergencyNumberListTLV emergencyNumberList optional, - MBMS_ContextStatusTLV mBMS_ContextStatus optional, - RequestedMSInformationTV requestedMSInformation optional, - GPRSTimer2TLV t3319 optional, - GPRSTimer2TLV t3323 optional, - GPRSTimer3TLV t3312_ExtendedValue optional, - AdditionalNetworkFeatureSupportTLV additionalNetworkFeatureSupport optional, - GPRSTimer2TLV t3324 optional, - ExtendedDRXParametersTLV extendedDRXParameters optional -} with { - variant "PRESENCE (messageType = '00001001'B)"; - variant "TAG - ( - allocatedPTMSI, elementIdentifier = '0011000'B; //'18'O 7 bits - msIdentity, elementIdentifier = '0100011'B; //'23'O 7 bits - t3302, elementIdentifier = '2A'O; - t3319, elementIdentifier = '37'O; - t3323, elementIdentifier = '38'O; - t3312_ExtendedValue, elementIdentifier = '39'O; - t3324, elementIdentifier = '6a'O; - )" -}; - -// GMM Routing area update complete - 9.4.16 -type record PDU_GMM_RoutingAreaUpdateComplete -{ - BIT8 messageType, - ReceiveNPDUNumbersListTLV receiveNPDUNumbers optional, - InterRATInformationContainerTLV interRATHandoverInformation optional, - EUTRANinterRATInformationContainerTLV eUTRANinterRATHandoverInformation optional -} with { variant "PRESENCE (messageType = '00001010'B)"; }; - -// GMM Routing area update reject - 9.4.17 -type record PDU_GMM_RoutingAreaUpdateReject -{ - BIT8 messageType, - GMM_CauseV gmmCause, - ForceToStandbyV forceToStandby, - BIT4 spare, - GPRSTimer2TLV t3302 optional, - GPRSTimer2TLV t3346 optional -} with { - variant "PRESENCE (messageType = '00001011'B)"; - variant "TAG - ( - t3302, elementIdentifier = '2A'O; - t3346, elementIdentifier = '3A'O; - )" -}; - -// GMM GMM Status - 9.4.18 -type record PDU_GMM_GMM_Status -{ - BIT8 messageType, - GMM_CauseV gmmCause -} with { variant "PRESENCE (messageType = '00100000'B)"; }; - - -// GMM GMM Information - 9.4.19 -type record PDU_GMM_GMM_Information -{ - BIT8 messageType, - NetworkNameTLV fullNetworkName optional, - NetworkNameTLV shortNetworkName optional, - TimeZoneTV networkTimeZone optional, - TimeZoneAndTimeTV networkTimeAndTimeZone optional, - LSA_IdentifierTLV lsaIdentity optional, - DaylightSavingTimeTLV networkDaylightSavingTime optional -} with { - variant "PRESENCE (messageType = '00100001'B)"; - variant "TAG - ( - fullNetworkName, elementIdentifier = '1000011'B;//'43'O 7 bits - shortNetworkName, elementIdentifier = '1000101'B;//'45'O 7 bits - )" -}; - -// GMM Service Request - 9.4.20 -type record PDU_GMM_ServiceRequest -{ - BIT8 messageType, - CipheringKeySequenceNumberV cipheringKeySeqNum, - ServiceTypeV serviceType, - MobileIdentityLV ptmsi, - PDPContextStatusTLV pdpContextStatus optional, // this IE shall be included by the MS - MBMS_ContextStatusTLV mBMS_ContextStatus optional, - UplinkDataStatusTLV uplinkDataStatus optional, - DevicePropertiesTV deviceProperties optional -} with { variant "PRESENCE (messageType = '00001100'B)"; - variant "TAG (deviceProperties, elementIdentifier = '1101'B; //D - )" -}; - -// GMM Service Accept - 9.4.21 -type record PDU_GMM_ServiceAccept -{ - BIT8 messageType, - PDPContextStatusTLV pdpContextStatus optional, - MBMS_ContextStatusTLV mBMS_ContextStatus optional -} with { variant "PRESENCE (messageType = '00001101'B)"; }; - -// GMM Service Reject - 9.4.22 -type record PDU_GMM_ServiceReject -{ - BIT8 messageType, - GMM_CauseV gmmCause, - GPRSTimer2TLV t3346 optional -} with { variant "PRESENCE (messageType = '00001110'B)"; }; - - -// ============================================== -// GPRS Session Management Messages (chapter 9.5) -// ============================================== - -// SM Activate PDP Context Request - 9.5.1 -type record PDU_SM_ActivatePDPContextRequest -{ - BIT8 messageType, - NSAPIV requestedNSAPI, - LLC_SAPIV requestedLLCSAPI, - QoSLV requestedQoS, - PDPAddressLV requestedPDPaddress, - AccessPointNameTLV accessPointName optional, - ProtocolConfigOptionsTLV protocolConfigOpts optional, - RequestTypeTV requestType optional, - DevicePropertiesTV deviceProperties optional, - NBIFOM_ContainerTLV nBIFOM_Container optional -} with { variant "PRESENCE (messageType = '01000001'B)"; - variant "TAG ( deviceProperties, elementIdentifier = '1100'B; //C - )" -}; - - -// SM Activate PDP Context Accept - 9.5.2 -type record PDU_SM_ActivatePDPContextAccept -{ - BIT8 messageType, - LLC_SAPIV negotiatedLLCSAPI, - QoSLV negotiatedQoS, - RadioPriorityV radioPriority, - BIT4 spare, - PDPAddressTLV pdpAddress optional, - ProtocolConfigOptionsTLV protocolConfigOpts optional, - PacketFlowIDTLV packetFlowID optional, - SMCause2TLV sMCause2 optional, - ConnectivityTypeTV connectivityType optional, - WLANOffloadAcceptabilityTV wLANOffloadIndication optional, - NBIFOM_ContainerTLV nBIFOM_Container optional -} with { variant "PRESENCE (messageType = '01000010'B)"; }; - - -// SM Activate PDP Context Reject - 9.5.3 -type record PDU_SM_ActivatePDPContextReject -{ - BIT8 messageType, - SMCauseV smCause, - ProtocolConfigOptionsTLV protocolConfigOpts optional, - GPRSTimer3TLV backOffTimer optional, - ReAttemptIndicatorTLV reAttemptIndicator optional, - NBIFOM_ContainerTLV nBIFOM_Container optional -} with { variant "PRESENCE (messageType = '01000011'B)"; - variant "TAG (backOffTimer, elementIdentifier = '37'O)" -}; - - -// SM Activate Secondary PDP Context - 9.5.4 -type record PDU_SM_ActivateSecondaryPDPContextRequest -{ - BIT8 messageType, - NSAPIV requestedNSAPI, - LLC_SAPIV requestedLLC_SAPI, - QoSLV requestedQoS, - LinkedTILV linkedTI, - TrafficFlowTemplateTLV tft optional, - ProtocolConfigOptionsTLV protocolConfigOpts optional, - DevicePropertiesTV deviceProperties optional, - NBIFOM_ContainerTLV nBIFOM_Container optional -} with { variant "PRESENCE (messageType = '01001101'B)"; - variant "TAG (deviceProperties, elementIdentifier = '1100'B; //C - )" -}; -// SM Activate Secondary PDP Context Accept - 9.5.5 -type record PDU_SM_ActivateSecondaryPDPContextAccept -{ - BIT8 messageType, - LLC_SAPIV negotiatedLLC_SAPI, - QoSLV negotiatedQoS, - RadioPriorityV radioPriority, - BIT4 spare, - PacketFlowIDTLV packetFlowIdentifier optional, - ProtocolConfigOptionsTLV protocolConfigOpts optional, - WLANOffloadAcceptabilityTV wLANOffloadIndication optional, - NBIFOM_ContainerTLV nBIFOM_Container optional -} with { variant "PRESENCE (messageType = '01001110'B)"; }; - - -// SM Activate Secondary PDP Context Reject - 9.5.6 -type record PDU_SM_ActivateSecondaryPDPContextReject -{ - BIT8 messageType, - SMCauseV smCause, - ProtocolConfigOptionsTLV protocolConfigOpts optional, - GPRSTimer3TLV backOffTimer optional, - ReAttemptIndicatorTLV reAttemptIndicator optional, - NBIFOM_ContainerTLV nBIFOM_Container optional -} with { variant "PRESENCE (messageType = '01001111'B)"; - variant "TAG (backOffTimer, elementIdentifier = '37'O)" -}; - - -// SM Request PDP context activation - 9.5.7 -type record PDU_SM_RequestPDPContextActivation -{ - BIT8 messageType, - PDPAddressLV offeredPDPAdress, - AccessPointNameTLV accessPointName optional, - ProtocolConfigOptionsTLV protocolConfigOpts optional, - NBIFOM_ContainerTLV nBIFOM_Container optional -} with { variant "PRESENCE (messageType = '01000100'B)"; }; - - -// SM Request PDP context activation reject - 9.5.8 -type record PDU_SM_RequestPDPContextActivationReject -{ - BIT8 messageType, - SMCauseV smCause, - ProtocolConfigOptionsTLV protocolConfigOpts optional, - NBIFOM_ContainerTLV nBIFOM_Container optional -} with { variant "PRESENCE (messageType = '01000101'B)"; }; - - -// SM Modify PDP context request (Network to MS direction) - 9.5.9 -type record PDU_SM_ModifyPDPContextRequest_SGSN_MS -{ - BIT8 messageType , - RadioPriorityV radioPriority, - BIT4 spare, - LLC_SAPIV requestedLLC_SAPI, - QoSLV newQoS, - PDPAddressTLV pdpAddress optional, - PacketFlowIDTLV packetFlowIdentifier optional, - ProtocolConfigOptionsTLV protocolConfigOpts optional, - TrafficFlowTemplateTLV tFT optional, - WLANOffloadAcceptabilityTV wLANOffloadIndication optional, - NBIFOM_ContainerTLV nBIFOM_Container optional -} with { variant "PRESENCE (messageType = '01001000'B)"; }; - - -// SM Modify PDP context request (MS to network direction) - 9.5.10 -type record PDU_SM_ModifyPDPContextRequest_MS_SGSN -{ - BIT8 messageType, - LLC_SAPITV requestedLLC_SAPI optional, - QoSTLV requestedNewQoS optional, - TrafficFlowTemplateTLV newTFT optional, - ProtocolConfigOptionsTLV protocolConfigOpts optional, - DevicePropertiesTV deviceProperties optional, - NBIFOM_ContainerTLV nBIFOM_Container optional -} with { variant "PRESENCE (messageType = '01001010'B)"; - variant "TAG (deviceProperties, elementIdentifier = '1100'B; //C - )" -}; - - -// SM Modify PDP context accept (MS to network direction) - 9.5.11 -type record PDU_SM_ModifyPDPContextAccept_MS_SGSN -{ - BIT8 messageType, - ProtocolConfigOptionsTLV protocolConfigOpts optional, - NBIFOM_ContainerTLV nBIFOM_Container optional -} with { variant "PRESENCE (messageType = '01001001'B)"; }; - - -// SM Modify PDP context accept (Network to MS direction) - 9.5.12 -type record PDU_SM_ModifyPDPContextAccept_SGSN_MS -{ - BIT8 messageType, - QoSTLV negotiatedQoS optional, - LLC_SAPITV negotiatedLLC_SAPI optional, - RadioPriorityTV newRadioPriority optional, - PacketFlowIDTLV packetFlowIdentifier optional, - ProtocolConfigOptionsTLV protocolConfigOpts optional, - WLANOffloadAcceptabilityTV wLANOffloadIndication optional, - NBIFOM_ContainerTLV nBIFOM_Container optional -} with { variant "PRESENCE (messageType = '01001011'B)"; }; - - -// SM Modify PDP Context reject - 9.5.13 -type record PDU_SM_ModifyPDPContextReject -{ - BIT8 messageType, - SMCauseV smCause, - ProtocolConfigOptionsTLV protocolConfigOpts optional, - GPRSTimer3TLV backOffTimer optional, - ReAttemptIndicatorTLV reAttemptIndicator optional, - NBIFOM_ContainerTLV nBIFOM_Container optional -} with { variant "PRESENCE (messageType = '01001100'B)"; - variant "TAG (backOffTimer, elementIdentifier = '37'O)" -}; - - -// SM Deactivate PDP Context Request - 9.5.14 -type record PDU_SM_DeactivatePDPContextRequest -{ - BIT8 messageType, - SMCauseV smCause, - TearDownIndicatorTV tearDownIndicator optional, - ProtocolConfigOptionsTLV protocolConfigOpts optional, - MBMSProtocolConfigOptionsTLV mBMSprotocolConfigOptions optional, - GPRSTimer3TLV t3396 optional, - WLANOffloadAcceptabilityTV wLANOffloadIndication optional, - NBIFOM_ContainerTLV nBIFOM_Container optional -} with { variant "PRESENCE (messageType = '01000110'B)"; - variant "TAG (t3396, elementIdentifier = '37'O)" -}; - - -// SM Deactivate PDP Context Accept 3GPP - 9.5.15 -type record PDU_SM_DeactivatePDPContextAccept -{ - BIT8 messageType, - ProtocolConfigOptionsTLV protocolConfigOpts optional, - MBMSProtocolConfigOptionsTLV mBMSprotocolConfigOptions optional, - NBIFOM_ContainerTLV nBIFOM_Container optional -} with { variant "PRESENCE (messageType = '01000111'B)"; }; - - -// Request Secondary PDP Context Activation - 9.5.15a -type record PDU_SM_RequestSecondaryPDPContextActivation -{ - BIT8 messageType, - QoSLV requiredQoS, - LinkedTILV linkedTI, - TrafficFlowTemplateTLV tFT optional, - ProtocolConfigOptionsTLV protocolConfigOpts optional, - WLANOffloadAcceptabilityTV wLANOffloadIndication optional, - NBIFOM_ContainerTLV nBIFOM_Container optional -} with { variant "PRESENCE (messageType = '01011011'B)"; }; - - -// Request Secondary PDP Context Activation Reject - 9.5.15b -type record PDU_SM_RequestSecondaryPDPContextActivationReject -{ - BIT8 messageType, - SMCauseV smCause, - ProtocolConfigOptionsTLV protocolConfigOpts optional, - NBIFOM_ContainerTLV nBIFOM_Container optional -} with { variant "PRESENCE (messageType = '01011100'B)"; }; - -// Notification - 9.5.16a -type record PDU_SM_Notification -{ - BIT8 messageType, - NotificationIndicatorLV notificationIndicator -} with { variant "PRESENCE (messageType = '01011101'B)"; }; - -// SM SM Status - 9.5.21 -type record PDU_SM_SM_Status -{ - BIT8 messageType, - SMCauseV smCause -} with { variant "PRESENCE (messageType = '01010101'B)"; }; - - -// Activate MBMS Context Request - 9.5.22 -type record PDU_SM_ActivateMBMSContextRequest -{ - BIT8 messageType, - EnhancedNetworkSeviveAccessPointIDV requestedMBMS_NSAPI, - LLC_SAPIV requestedLLCSAPI, - MBMSBearerCapabilitiesLV supportdMBMSBearerCapabilities, - PDPAddressLV requestedMulticastAddress, - AccessPointNameLV accessPointName, - MBMSProtocolConfigOptionsTLV mBMSprotocolConfigOptions optional, - DevicePropertiesTV deviceProperties optional -} with { variant "PRESENCE (messageType = '01010110'B)"; - variant "TAG(deviceProperties, elementIdentifier = '1100'B; //C - )" -}; - - -// Activate MBMS Context Accept - 9.5.23 -type record PDU_SM_ActivateMBMSContextAccept -{ - BIT8 messageType, - TemporaryMobileGroupIDLV temporaryMobileGroupIDLV, - LLC_SAPIV negotiatedLLCSAPI, - MBMSProtocolConfigOptionsTLV mBMSprotocolConfigOptions optional -} with { variant "PRESENCE (messageType = '01010111'B)"; }; - - -// Activate MBMS Context Reject - 9.5.24 -type record PDU_SM_ActivateMBMSContextReject -{ - BIT8 messageType, - SMCauseV smCause, - MBMSProtocolConfigOptionsTLV mBMSprotocolConfigOptions optional, - GPRSTimer3TLV backOffTimer optional, - ReAttemptIndicatorTLV reAttemptIndicator optional -} with { variant "PRESENCE (messageType = '01011000'B)"; - variant "TAG (backOffTimer, elementIdentifier = '37'O)" -}; - - -// Request MBMS Context Activation - 9.5.25 -type record PDU_SM_RequestMBMSContextActivation -{ - BIT8 messageType, - NSAPIV linkedNSAPI, - PDPAddressLV offeredMulticastAddress, - AccessPointNameLV accessPointName, - MBMSProtocolConfigOptionsTLV mBMSprotocolConfigOptions optional -} with { variant "PRESENCE (messageType = '01011001'B)"; }; - - -// Request MBMS Context Activation Reject - 9.5.26 -type record PDU_SM_RequestMBMSContextActivationReject -{ - BIT8 messageType, - SMCauseV smCause, - MBMSProtocolConfigOptionsTLV mBMSprotocolConfigOptions optional -} with { variant "PRESENCE (messageType = '01011010'B)"; }; - - -//============================================================================== -//============================================================================== -// GPRS SESSION MANAGEMENT MESSAGES Messages MS TO SGSN -//============================================================================== -//============================================================================== -type union L3_GSM_MS_SGSN -{ - PDU_SM_ActivatePDPContextRequest activatePDPContextRequest, - PDU_SM_ActivateSecondaryPDPContextRequest activateSecondaryPDPContextRequest, - PDU_SM_RequestPDPContextActivationReject requestPDPContextActivationReject, - PDU_SM_ModifyPDPContextRequest_MS_SGSN modifyPDPContextRequest_MS_SGSN, - PDU_SM_ModifyPDPContextAccept_MS_SGSN modifyPDPContextAccept_MS_SGSN, - //SGSN_MS, MS_SGSN - PDU_SM_DeactivatePDPContextRequest deactivatePDPContextRequest, - //SGSN_MS, MS_SGSN - PDU_SM_DeactivatePDPContextAccept deactivatePDPContextAccept, - //SGSN_MS, MS_SGSN - PDU_SM_SM_Status sM_Status, - PDU_SM_ActivateMBMSContextRequest activateMBMSContextRequest, - PDU_SM_RequestMBMSContextActivationReject requestMBMSContextActivationReject, - PDU_SM_RequestSecondaryPDPContextActivationReject requestSecondaryPDPContextActivationReject, - PDU_SM_Notification notification -}; - -//============================================================================== -//============================================================================== -// GPRS SESSION MANAGEMENT MESSAGES Messages SGSN -> MS -//============================================================================== -//============================================================================== -type union L3_GSM_SGSN_MS -{ - PDU_SM_ActivatePDPContextAccept activatePDPContextAccept, - PDU_SM_ActivatePDPContextReject activatePDPContextReject, - PDU_SM_ActivateSecondaryPDPContextAccept activateSecondaryPDPContextAccept, - PDU_SM_ActivateSecondaryPDPContextReject activateSecondaryPDPContextReject, - PDU_SM_RequestPDPContextActivation requestPDPContextActivation, - PDU_SM_ModifyPDPContextRequest_SGSN_MS modifyPDPContextRequest_SGSN_MS, - PDU_SM_ModifyPDPContextAccept_SGSN_MS modifyPDPContextAccept_SGSN_MS, - PDU_SM_ModifyPDPContextReject modifyPDPContextReject, - //SGSN_MS, MS_SGSN - PDU_SM_DeactivatePDPContextRequest deactivatePDPContextRequest, - //SGSN_MS, MS_SGSN - PDU_SM_DeactivatePDPContextAccept deactivatePDPContextAccept, - //SGSN_MS, MS_SGSN - PDU_SM_SM_Status sM_Status, - PDU_SM_ActivateMBMSContextAccept activateMBMSContextAccept, - PDU_SM_ActivateMBMSContextReject activateMBMSContextReject, - PDU_SM_RequestMBMSContextActivation requestMBMSContextActivation, - PDU_SM_RequestSecondaryPDPContextActivation requestSecondaryPDPContextActivation -}; - -//============================================================================== -//============================================================================== -// GPRS Mobility Management Messages MS TO SGSN -//============================================================================== -//============================================================================== -type union L3_GMM_MS_SGSN -{ - PDU_GMM_AttachRequest attachRequest, - PDU_GMM_AttachComplete attachComplete, - PDU_GMM_DetachRequest_MS_SGSN detachRequest_MS_SGSN, - PDU_GMM_DetachAccept_MS_SGSN detachAccept_MS_SGSN, - PDU_GMM_P_TMSIReallocationComplete p_TMSIReallocationComplete, - PDU_GMM_AuthenticationAndCipheringResponse authenticationAndCipheringResponse, - PDU_GMM_AuthenticationAndCipheringFailure authenticationAndCipheringFailure, - PDU_GMM_IdentityResponse identityResponse, - PDU_GMM_RoutingAreaUpdateRequest routingAreaUpdateRequest, - PDU_GMM_RoutingAreaUpdateComplete routingAreaUpdateComplete, - //SGSN_MS, MS_SGSN - PDU_GMM_GMM_Status gMM_Status, - PDU_GMM_ServiceRequest serviceRequest -}; - -//============================================================================== -//============================================================================== -// GPRS Mobility Management Messages SGSN TO MS -//============================================================================== -//============================================================================== -type union L3_GMM_SGSN_MS -{ - PDU_GMM_AttachAccept attachAccept, - PDU_GMM_AttachReject attachReject, - PDU_GMM_DetachRequest_SGSN_MS detachRequest_SGSN_MS, - PDU_GMM_DetachAccept_SGSN_MS detachAccept_SGSN_MS, - PDU_GMM_P_TMSIReallocationCommand p_TMSIReallocationCommand, - PDU_GMM_AuthenticationAndCipheringRequest authenticationAndCipheringRequest, - PDU_GMM_AuthenticationAndCipheringReject authenticationAndCipheringReject, - PDU_GMM_IdentityRequest identityRequest, - PDU_GMM_RoutingAreaUpdateAccept routingAreaUpdateAccept, - PDU_GMM_RoutingAreaUpdateReject routingAreaUpdateReject, - //SGSN_MS, MS_SGSN - PDU_GMM_GMM_Status gMM_Status, - PDU_GMM_GMM_Information gMM_Information, - PDU_GMM_ServiceAccept serviceAccept, - PDU_GMM_ServiceReject serviceReject -}; - -}//end of module -with { -extension "version R1B" -encode "RAW" -} - 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 deleted file mode 100644 index 56f8553b9..000000000 --- a/MobileL3_v13.4.0_CNL113832_LATEST/src/MobileL3_MM_Types.ttcn +++ /dev/null @@ -1,572 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// // -// 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" -} - diff --git a/MobileL3_v13.4.0_CNL113832_LATEST/src/MobileL3_RRM_Types.ttcn b/MobileL3_v13.4.0_CNL113832_LATEST/src/MobileL3_RRM_Types.ttcn deleted file mode 100644 index 93b1b0faa..000000000 --- a/MobileL3_v13.4.0_CNL113832_LATEST/src/MobileL3_RRM_Types.ttcn +++ /dev/null @@ -1,1834 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// // -// 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_RRM_Types.ttcn -// Rev: R1B -// Prodnr: CNL 113 832 -// Contact: http://ttcn.ericsson.se -// Reference: 3GPP TS 44.018 v13.0.0 - - -module MobileL3_RRM_Types -{ - -import from General_Types all; -import from MobileL3_CommonIE_Types all; -import from MobileL3_GMM_SM_Types all; - -// *************************************************************************** -// * Radio Resource Management messages -// *************************************************************************** -// The messages below defined in 44.018 v13.0.0 -// Some IEs used from 24.008 and some IEs are defined in 44.018 - -//============================================================================ -// 44.018//10.5 Radio Resource management (RRM) information elements -//============================================================================ - -//**************************************************************************** -// 10.5.1 Common information elements -//**************************************************************************** -// see DTAP_Common.ttcn - -//**************************************************************************** -// 10.5.2 Radio Resource Management Information Elements -//**************************************************************************** - -//10.5.2.1a BA Range -//**************************************************************************** -type record BARange_TLV -{ - OCT1 elementIdentifier, //'73'O - LIN1 lengthIndicator, - OCT1 numberOfRanges, - OCTN ranges -} with { variant (lengthIndicator) "LENGTHTO ( numberOfRanges,ranges)"}; - - -//10.5.2.1b Cell Channel Description -//**************************************************************************** -type record CellChannelDescription_TV -{ - OCT1 elementIdentifier, //'62'O - OCT16 octet2_17 -}; - -//10.5.2.1c BA List Pref -//**************************************************************************** -type record BAListPref_TLV -{ - OCT1 elementIdentifier, //'75'O - LIN1 lengthIndicator, - OCTN range_bafreq_info -} with { variant (lengthIndicator) "LENGTHTO ( range_bafreq_info )"}; - -//10.5.2.1d UTRAN Frequency List -//**************************************************************************** -type record UTRANFrequencyList_TLV -{ - OCT1 elementIdentifier, //'75'O - LIN1 lengthIndicator, - OCTN fdd_tdd -} with { variant (lengthIndicator) "LENGTHTO ( fdd_tdd )"}; - -//10.5.2.1e -//**************************************************************************** -type record CellSelectionIndicatorAfterReleaseOfAll_TCH_and_SDCCH_IE -{ - OCT1 elementIdentifier, - LIN1 lengthIndicator, - octetstring cellSelectionIndicatorValue -} with { variant (lengthIndicator) "LENGTHTO (cellSelectionIndicatorValue)"}; - -// 10.5.2.2 Cell Description -//**************************************************************************** -type record CellDescription_V -{ - BIT3 bcc, // '001'B - BIT3 ncc, // '010'B - BIT2 BCCHArfcn_HighPart, // '11'B - OCT1 BCCHArfcn_LowPart // '04'O -}; - -// 10.5.2.5 Channel Description -//**************************************************************************** -type record ChannelDescription_V -{ - BIT3 timeslotNumber, // '110'B - BIT5 channelTypeandTDMAOffset, // '00001'B send or '00111'B rcv - OCT1 octet3, // '00'O not structured yet - OCT1 octet4 // '09'O -}; - -type record ChannelDescription_TV -{ - OCT1 elementIdentifier, - BIT3 timeslotNumber, // '110'B - BIT5 channelTypeandTDMAOffset, // '00001'B send or '00111'B rcv - OCT1 octet3, // '00'O not structured yet - OCT1 octet4 // '09'O -}; - -// 10.5.2.5a Channel Description 2 -//**************************************************************************** -type record ChannelDescription2_V -{ - BIT3 timeslotNumber, // '110'B - BIT5 channelTypeandTDMAOffset, // '00001'B send or '00111'B rcv - OCT1 octet3, // '00'O - OCT1 octet4 // '09'O -}; - -type record ChannelDescription2_TV -{ - OCT1 elementIdentifier, - BIT3 timeslotNumber, // '110'B - BIT5 channelTypeandTDMAOffset, // '00001'B send or '00111'B rcv - OCT1 octet3, // '00'O - OCT1 octet4 // '09'O -}; - -// 10.5.2.5c Channel Description 3 -//**************************************************************************** -type record ChannelDescription3_TV -{ - OCT1 elementIdentifier, - OCT1 octet2, - OCT1 octet3 -}; - -// 10.5.2.6 Channel Mode -//**************************************************************************** -type record ChannelMode_TV -{ - OCT1 elementIdentifier, - OCT1 mode -}; - -type record ChannelMode_V -{ - OCT1 mode -}; - -// 10.5.2.7 Channel Mode 2 -//**************************************************************************** -type record ChannelMode2_TV -{ - OCT1 elementIdentifier, - OCT1 mode -}; - -// 10.5.2.7a -//**************************************************************************** -type record UTRAN_Classmark_LV -{ - LIN1 lengthIndicator, - octetstring uTRAN_ClassmarkValue //ASN.1 definition in 25.331 -} with { variant (lengthIndicator) "LENGTHTO (uTRAN_ClassmarkValue)"}; - -// 10.5.2.7c Classmark Enquiry Mask -//**************************************************************************** -type record ClassmarkEnquiryMask_TLV -{ - OCT1 elementIdentifier, - LIN1 lengthIndicator, - OCT1 valuePart -} with { variant (lengthIndicator) "LENGTHTO (valuePart)"}; - -// 10.5.2.7d -//**************************************************************************** -type record GERAN_IU_ModeClassmark_LV -{ - LIN1 lengthIndicator, - OCT1 valuePart -} with { variant (lengthIndicator) "LENGTHTO (valuePart)"}; - -// 10.5.2.8 Channel Needed -//**************************************************************************** -type record ChannelNeeded_TV -{ - BIT2 channel1, - BIT2 channel2, - BIT4 elementIdentifier -}; - -type record ChannelNeeded_V -{ - BIT2 channel1, - BIT2 channel2 -}; - -// 10.5.2.8b Channel Request Description -//**************************************************************************** -type record ChannelRequestDescription2_LV -{ - LIN1 lengthIndicator, - octetstring valuePart -} with { variant (lengthIndicator) "LENGTHTO (valuePart)"}; - -// 10.5.2.9 Cipher Mode Setting -//**************************************************************************** -type record CipherModeSetting_TV -{ - BIT1 sC, - BIT3 algorithmIdentifier, - BIT4 elementIdentifier -}; - -type record CipherModeSetting_V -{ - BIT1 sC, - BIT3 algorithmIdentifier -}; - -// 10.5.2.10 Cipher Mode Response -//**************************************************************************** -type record CipherModeResponse_TV -{ - BIT1 cR, - BIT3 spare, - BIT4 elementIdentifier -}; - -type record CipherModeResponse_V -{ - BIT1 cR, - BIT3 spare -}; - -// 10.5.2.11a -//**************************************************************************** -type record DTM_InformationDetails_LV -{ - LIN1 lengthIndicator, - octetstring valuePart -} with { variant (lengthIndicator) "LENGTHTO (valuePart)"}; - - -// 10.5.2.11b -//**************************************************************************** -type record DynamicARFCN_Mapping_TLV -{ - OCT1 elementIdentifier, - LIN1 lengthIndicator, - octetstring valuePart -} with { variant (lengthIndicator) "LENGTHTO (valuePart)"}; - -// 10.5.2.12 Frequency Channel Sequence before time -//**************************************************************************** -type record FrequencyChannelSequence_TV -{ - OCT1 elementIdentifier, - BIT7 lowestARFCN, - BIT1 spare, - BIT4 incSkipARFCN02, - BIT4 incSkipARFCN01, - BIT4 incSkipARFCN04, - BIT4 incSkipARFCN03, - BIT4 incSkipARFCN06, - BIT4 incSkipARFCN05, - BIT4 incSkipARFCN08, - BIT4 incSkipARFCN07, - BIT4 incSkipARFCN10, - BIT4 incSkipARFCN09, - BIT4 incSkipARFCN12, - BIT4 incSkipARFCN11, - BIT4 incSkipARFCN14, - BIT4 incSkipARFCN13, - BIT4 incSkipARFCN16, - BIT4 incSkipARFCN15 -} - -//10.5.2.13 Frequency List -//**************************************************************************** -type Type4_TLV FrequencyList_TLV; - -//10.5.2.14 Frequency Short List -//**************************************************************************** -type record FrequencyShortList_TV -{ - OCT1 elementIdentifier, - OCT9 frequencyShortListValue -} - -//10.5.2.14b GroupChannel Description -//**************************************************************************** -type record GroupChannelDescription_TLV -{ - OCT1 elementIdentifier, - LIN1 lengthIndicator, - BIT3 tN, - BIT5 channelType_tDMAoffset, - OCTN oct4_13 -} with { variant (lengthIndicator) "LENGTHTO (tN,channelType_tDMAoffset,oct4_13 )"}; - -//10.5.2.14d GPRS Broadcast Information -//**************************************************************************** -type record GPRS_BroadcastInformation_LV -{ - LIN1 lengthIndicator, - octetstring gPRS_BroadcastInformationValue -} with { variant (lengthIndicator) "LENGTHTO (gPRS_BroadcastInformationValue )"}; - -//10.5.2.14e Enhanced DTM CS Release Indication -//**************************************************************************** -type record Enhanced_DTM_CS_Release_Indication -{ - BIT1 iND, - BIT3 spare, - BIT4 elementIdentifier -} - -//10.5.2.14f Group Channel Description 2 -//**************************************************************************** -type record Group_Channel_Description_2_TLV -{ - OCT1 elementIdentifier, - LIN1 lengthIndicator, - BIT3 tN, - BIT5 channelTypeandTDMAOffset, - BIT3 tSC, - BIT1 spare, - BIT6 mAIO, - BIT6 hSN, - OCT8 frequencyShortList -} with { variant (lengthIndicator) "LENGTHTO (tN,channelTypeandTDMAOffset,tSC, - spare,mAIO,hSN,frequencyShortList)" - variant (tSC,spare,mAIO,hSN,frequencyShortList) "FIELDORDER(msb)";}; - -// 10.5.2.15 -//**************************************************************************** -type record HandoverReference_V -{ - OCT1 handoverReferenceValue //'00'O -}; - -// 10.5.2.21 Mobile Allocation -//**************************************************************************** -type Type4_TLV MobileAllocation_TLV; // see DTAP_Types.ttcn - -type Type4_LV MobileAllocation_LV; - -// 10.5.2.21a Mobile Time difference -//**************************************************************************** -type record MobileTimeDifference_TLV -{ - OCT1 elementIdentifier, // '03'O - LIN1 lengthIndicator, - OCT3 mobileTimeDifferenceAndSpare //is the ordering correct???? -} with { variant (lengthIndicator) "LENGTHTO (mobileTimeDifferenceAndSpare)"}; - -// 10.5.2.21aa MultiRate configuration -//**************************************************************************** -type octetstring RRM_OCT1_5 length(1..5); - -type record MultiRateConfiguration_TLV -{ - OCT1 elementIdentifier, // '03'O - LIN1 lengthIndicator, - BIT2 startMode, - BIT1 spare3_1, - BIT1 iCMI, - BIT1 nSCB, - BIT3 multirateSpeechVersion, - RRM_OCT1_5 params -} with { variant (lengthIndicator) "LENGTHTO (startMode,spare3_1, - iCMI,nSCB,multirateSpeechVersion,params)"}; - -// 10.5.2.21b Multislot Allocation -//**************************************************************************** -type record MultislotAllocation_octet3_11 -{ - BIT7 dA1_7, //downlink assignment - BIT1 ext1, //extension bit - BIT7 uA1_7, //uplink assignment - BIT1 ext2, //1 extension bit - OCT1_8 channelset optional -} with { variant "EXTENSION_BIT (yes)"}; - -type record MultislotAllocation_TLV -{ - OCT1 elementIdentifier, - LIN1 lengthIndicator, - MultislotAllocation_octet3_11 octet3_11 -} with { variant (lengthIndicator) "LENGTHTO (octet3_11)"}; - -type record MultislotAllocation_LV -{ - LIN1 lengthIndicator, - MultislotAllocation_octet3_11 octet3_11 -} with { variant (lengthIndicator) "LENGTHTO (octet3_11)"}; - - -// 10.5.2.21ab Mobile Time Difference on Hyperframe level -//**************************************************************************** -type record MobileTimeDifferenceHyperframe_TLV -{ - OCT1 elementIdentifier, - LIN1 lengthIndicator, - OCT5 MTDHValueAndSpare // Mobile Time Difference Hyperframe Value And Spare -} with { variant (lengthIndicator) "LENGTHTO (MTDHValueAndSpare)"}; - - -// 10.5.2.23 P1 Rest Octets -//**************************************************************************** -type octetstring P1RestOctets length(0..17); - -// 10.5.2.24 P2 Rest Octets -//**************************************************************************** -type octetstring P2RestOctets length(1..11); - -// 10.5.2.25 P3 Rest Octets -//**************************************************************************** -type OCT3 P3RestOctets; - -// 10.5.2.25b -//**************************************************************************** -type record DedicatedModeOrTBF_V -{ - BIT3 tMA_dL_tD, - BIT1 spare -} - -// 10.5.2.25c -//**************************************************************************** -type record RR_PacketUplinkAssignment_TLV -{ - OCT1 elementIdentifier, - LIN1 lengthIndicator, - octetstring rR_PacketUplinkAssignment -} with { variant (lengthIndicator) "LENGTHTO (rR_PacketUplinkAssignment)"}; - -// 10.5.2.25d -//**************************************************************************** -type record RR_PacketDownlinkAssignment_TLV -{ - OCT1 elementIdentifier, - LIN1 lengthIndicator, - octetstring rR_PacketDownlinkAssignment -} with { variant (lengthIndicator) "LENGTHTO (rR_PacketDownlinkAssignment)"}; - -// 10.5.2.25e - RR Packet Downlink Assignment Type 2 -//**************************************************************************** -type record RR_DualCarrierPacketDownlinkAssignment_TLV -{ - OCT1 elementIdentifier, - LIN1 lengthIndicator, - octetstring rR_DualCarrierPacketDownlinkAssignment -} with { variant (lengthIndicator) "LENGTHTO (rR_DualCarrierPacketDownlinkAssignment)"}; - -// 10.5.2.26 Page Mode -//**************************************************************************** -type record PageMode_TV -{ - BIT2 pM, - BIT2 spare1_2, - BIT4 elementIdentifier -}; - -type record PageMode_V -{ - BIT2 pM, - BIT2 spare1_2 - }; - -// 10.5.2.28 Power Command -//**************************************************************************** -type record PowerCommand_V -{ - BIT5 powerlevel, // 00000 - BIT1 fPC_EP, // 0 - BIT1 ePC_Mode, // 0 - BIT1 spare_1 // 0 -}; - -// 10.5.2.28a Power Command And Accesstype -//**************************************************************************** -type record PowerCommandAndAccesstype_V -{ - BIT5 powerlevel, // 00000 - BIT1 fPC_EP, // 0 - BIT1 ePC_Mode, // 0 - BIT1 aTC // 0 -}; - -// 10.5.2.30 Request Reference -//**************************************************************************** -type record RequestReference_V -{ - BIT5 t1, - BIT6 t3, - BIT5 t2 -} with { variant (t1,t3,t2) "FIELDORDER(msb)"; }; - -// 10.5.2.31 RR Cause -//**************************************************************************** -type record RR_Cause_TV -{ - OCT1 elementIdentifier, - OCT1 valuePart -}; - -type record RR_Cause_V -{ - OCT1 valuePart -}; - -// 10.5.2.38 Starting Time -//**************************************************************************** -type record StartingTime_TV -{ - OCT1 elementIdentifier, - BIT5 t1, - BIT6 t3, - BIT5 t2 -} with { variant (t1,t3,t2) "FIELDORDER(msb)"; }; - -type record StartingTime_V -{ - BIT5 t1, - BIT6 t3, - BIT5 t2 -} with { variant (t1,t3,t2) "FIELDORDER(msb)"; }; - -// 10.5.2.39 Synchronization Indication -//**************************************************************************** -type record SynchronizationIndication_TV -{ - BIT2 sI, - BIT1 rOT, - BIT1 nCI, - BIT4 elementIdentifier -} - -// 10.5.2.40 Timing Advance -//**************************************************************************** -type record TimingAdvance_TV -{ - OCT1 elementIdentifier, - OCT1 valuePart -}; - -// 10.5.2.41 Real Time Difference -//**************************************************************************** -type Type4_TLV RealTimeDifference_TLV; - -// 10.5.2.42 TMSIP_TMSI -//**************************************************************************** -type record TMSIP_TMSI_TV -{ - OCT1 elementIdentifier, - OCT4 octet2_5 -}; - -type OCT4 TMSIP_TMSI_V; - -// 10.5.2.42a -//**************************************************************************** -type record VGCS_TargetModeIndication_TLV -{ - OCT1 elementIdentifier, //'01'O - LIN1 lengthIndicator, - BIT2 spare3_2, - BIT4 groupCipherKeyNumber, - BIT2 targetMode -} with { variant (lengthIndicator) "LENGTHTO (spare3_2,groupCipherKeyNumber,targetMode)"}; - -// 10.5.2.42b VGCS Ciphering Parameters -//**************************************************************************** -type hexstring HEX9 length(9); - -type record VGCS_Ciphering_Parameters_TLV -{ - OCT1 elementIdentifier, - LIN1 lengthIndicator, - BIT2 cellGlobalCount, - BIT1 b22_Count, - BIT1 cELL_Ind, - BIT1 lAC_Ind, - BIT1 rAND_Ind, - BIT2 spare, - OCT2 cellIdentity optional, - OCT5 lAI optional, - HEX9 vSTK_RAND optional, - BIT4 spare2 optional -} with { variant (lengthIndicator) "LENGTHTO (cellGlobalCount,b22_Count,cELL_Ind,lAC_Ind,rAND_Ind, - spare,cellIdentity,lAI,vSTK_RAND,spare2)" - variant (cellIdentity) "PRESENCE(cELL_Ind = '1'B)"; - variant (lAI) "PRESENCE(lAC_Ind = '1'B)"; - variant (vSTK_RAND) "PRESENCE(rAND_Ind = '1'B)"; - variant (spare2) "PRESENCE(rAND_Ind = '1'B)"; - variant (vSTK_RAND,spare2) "FIELDORDER(msb)";}; - -// 10.5.2.43 DTM Wait Indication -//**************************************************************************** -type record WaitIndication_V -{ - integer t3122_3142TimeoutValue -} - -// 10.5.2.49 APDU Flags -//**************************************************************************** -type record APDU_Flags_V -{ - BIT1 lastSeg, - BIT1 firstSeg, - BIT1 cR, - BIT1 spare -} - -// 10.5.2.50 APDU Data -//**************************************************************************** -type record APDU_Data_LV -{ - LIN1 lengthIndicator, - octetstring aPDU_DataValue -} with { variant (lengthIndicator) "LENGTHTO (aPDU_DataValue)"}; - -// 10.5.2.51 Handover To UTRAN Command -//**************************************************************************** -type record HandoverToUTRANCommand_LV -{ - LIN1 lengthIndicator, - octetstring handoverToUTRANCommandValue // unaligned PER encoded ASN.1 value, 25.331 -} with { variant (lengthIndicator) "LENGTHTO (handoverToUTRANCommandValue)"}; - -// 10.5.2.51 Handover To UTRAN Command -//**************************************************************************** -type record HandoverToCDMA2000Command_LV -{ - LIN1 lengthIndicator, - octetstring handoverToCDMA2000CommandValue - // TIA/EIA/IS-2000-4-A, TIA/EIA/IS-2000-5-A, TIA/EIA/IS-833 -} with { variant (lengthIndicator) "LENGTHTO (handoverToCDMA2000CommandValue)"}; - -// Handover To UTRAN Command -//**************************************************************************** -type record RadioBearerReconfiguration_LV -{ - LIN1 lengthIndicator, - octetstring radioBearerReconfiguration44118 // See 44.118 9.2.28 -} with { variant (lengthIndicator) "LENGTHTO (radioBearerReconfiguration44118)"}; - -// 10.5.2.57 Service Support -//**************************************************************************** -type record ServiceSupport_TV -{ - OCT1 elementIdentifier, - BIT1 mBMS_Broadcast, - BIT1 mBMS_Multicast, - BIT6 spare -} - -type record ServiceSupport_V -{ - BIT1 mBMS_Broadcast, - BIT1 mBMS_Multicast, - BIT6 spare -} - -// 10.5.2.58 MBMS ptm Channel Description -//**************************************************************************** -type record MBMS_ptm_ChannelDescription_TLV -{ - OCT1 elementIdentifier, - LIN1 lengthIndicator, - octetstring mMS_ptm_ChannelDescriptionValue -} with { variant (lengthIndicator) "LENGTHTO (mMS_ptm_ChannelDescriptionValue)"}; - -// 10.5.2.58a MBMS Session Parameter List -//**************************************************************************** -type record MBMS_SessionParameterList_TLV -{ - OCT1 elementIdentifier, - LIN1 lengthIndicator, - octetstring mBMS_SessionParameterListValue -} with { variant (lengthIndicator) "LENGTHTO (mBMS_SessionParameterListValue)"}; - -// 10.5.2.59 Dedicated Service Information -//**************************************************************************** -type record DedicatedServiceInformation_TV -{ - OCT1 elementIdentifier, - BIT1 sIS, - BIT7 spare -} - -// 10.5.2.60 MPRACH Description -//**************************************************************************** -type record MPRACH_Description_TLV -{ - OCT1 elementIdentifier, - LIN1 lengthIndicator, - octetstring mPRACH_DescriptionValue -} with { variant (lengthIndicator) "LENGTHTO (mPRACH_DescriptionValue)"}; - -// 10.5.2.61 Restriction Timer -//**************************************************************************** -type record RestrictionTimer_TV -{ - OCT1 elementIdentifier, - OCT1 restrictionTimerValue -} - - -// 10.5.2.62 MBMS Session Identity -//**************************************************************************** -type record MBMS_SessionIdentity_TV -{ - OCT1 elementIdentifier, - OCT1 mBMS_SessionIdentityValue -} - -// 10.5.2.64 Talker Priority Status -//**************************************************************************** -type record TalkerPriorityStatus_TLV -{ - OCT1 elementIdentifier, - LIN1 lengthIndicator, - BIT3 priority, - BIT1 uAI, - BIT3 spare, - BIT1 eS -} with { variant (lengthIndicator) "LENGTHTO (priority,uAI,spare,eS)"}; - -// 10.5.2.65 Talker Identity -//**************************************************************************** -type record TalkerIdentity_TLV -{ - OCT1 elementIdentifier, - LIN1 lengthIndicator, - BIT3 fillerBits, - BIT5 spare, - OCT17 talkerIdentityField optional -} with { variant (lengthIndicator) "LENGTHTO (fillerBits,spare,talkerIdentityField)"}; - -// 10.5.2.66 Token -//**************************************************************************** -type record Token_TV -{ - OCT1 elementIdentifier, - OCT4 tokenValue -}; - -// 10.5.2.67 -//**************************************************************************** -type record PS_Cause_TV -{ - BIT4 causeValue, - BIT4 elementIdentifier -} - -// 10.5.2.68 -//**************************************************************************** -type record VGCS_AMR_Configuration_TLV -{ - OCT1 elementIdentifier, - LIN1 lengthIndicator, - BIT4 spare, - BIT4 aMR_ConfigurationValue -} with { variant (lengthIndicator) "LENGTHTO (spare,aMR_ConfigurationValue)"}; - -// 10.5.2.69 Carrier Indication -//**************************************************************************** -type record CarrierIndication_TV -{ - BIT1 cI, - BIT3 spare1_3, - BIT4 elementIdentifier -} - -// 10.5.2.74 Uplink Access Indication -//*************************************************************************** -type record UplinkAccessIndication_TV -{ - BIT1 uA_Ind, - BIT3 spare, - BIT4 elementIdentifier -} - -// 10.5.2.75 -//*************************************************************************** -type record Individual_Priorities_TLV -{ - OCT1 elementIdentifier, - LIN1 lengthIndicator, - OCTN individualPrioritiesValue -} with { variant (lengthIndicator) "LENGTHTO (individualPrioritiesValue)"}; - -// 10.5.2.76 -//*************************************************************************** -type record FeatureIndicator_V -{ - BIT1 pS_IR, - BIT1 cs_IR, - BIT1 spare, - BIT1 pEO_BCCH_CHANGE_MARK -} - -// 10.5.2.79 -//*************************************************************************** -type record DL_DCCH_Message_LV -{ - LIN1 lengthIndicator, - octetstring dL_DCCH_MessageValue -} with { variant (lengthIndicator) "LENGTHTO (dL_DCCH_MessageValue)"}; - -// 10.5.2.80 -//*************************************************************************** -type record CNToMSTransparentInformation_TLV -{ - OCT1 elementIdentifier, - LIN1 lengthIndicator, - octetstring cNToMSTransparentInformationValue -} with { variant (lengthIndicator) "LENGTHTO (cNToMSTransparentInformationValue)"}; - -// 10.5.2.81 -//*************************************************************************** -type record PLMNIndex_TV -{ - BIT4 pLMNIndex, - BIT4 elementIdentifier -}; - -// 10.5.2.82 -//*************************************************************************** -type record ExtendedTSCSet_TV -{ - OCT1 elementIdentifier, - BIT2 cSDomainTSCSet, - BIT1 secondPSDomainTSCAssigned, - BIT1 primaryPSDomainTSCSet, - BIT1 secondaryPSDomainTSCSet, - BIT3 secondaryPSDomainTSCValue -}; - -//============================================================================ -// 44.018//9.1 Messages for Radio Resource management (RRM) -//============================================================================ - -// 44.018/9.1.1 Additional assignment (NW->MS) -//**************************************************************************** -type record PDU_RRM_AdditionalAssignment_NW_MS -{ - BIT8 messageType, //'00111011'B, - ChannelDescription_V channelDescription, - MobileAllocation_TLV mobileAllocation optional, - StartingTime_TV startingTime optional, - ExtendedTSCSet_TV extendedTSCSet optional - -} with { variant "TAG ( mobileAllocation, elementIdentifier = '72'O; - startingTime, elementIdentifier = '7C'O; - extendedTSCSet, elementIdentifier = '6D'O;)"}; - -// 44.018/9.1.2 Assignment Command (NW->MS) -//**************************************************************************** -type record PDU_RRM_AssignmentCommand_NW_MS -{ - BIT8 messageType, // '00101110'B; - ChannelDescription2_V descrOf1stChAfterTime, - PowerCommand_V PowerCommand, - FrequencyList_TLV frequencyList_at optional, - CellChannelDescription_TV cellChannelDescr optional, - MultislotAllocation_TLV descrMultislotAllocation optional, - ChannelMode_TV modeOf1stChannel optional, - ChannelMode_TV channelSet2 optional, - ChannelMode_TV channelSet3 optional, - ChannelMode_TV channelSet4 optional, - ChannelMode_TV channelSet5 optional, - ChannelMode_TV channelSet6 optional, - ChannelMode_TV channelSet7 optional, - ChannelMode_TV channelSet8 optional, - ChannelDescription_TV descrOf2ndChAfterTime optional, - ChannelMode2_TV modeOf2ndChannel optional, - MobileAllocation_TLV mobileAllocation_at optional, - StartingTime_TV startingTime optional, - FrequencyList_TLV frequencyList_bt optional, - ChannelDescription2_TV descrOf1stCh_bt optional, - ChannelDescription_TV descrOf2ndCh_bt optional, - FrequencyChannelSequence_TV frequencyChannelSequence optional, - MobileAllocation_TLV mobileAllocation_bt optional, - CipherModeSetting_TV cipherModeSetting optional, - VGCS_TargetModeIndication_TLV vGCS_TargetModeIndication optional, - MultiRateConfiguration_TLV multiRateConfiguration optional, - VGCS_Ciphering_Parameters_TLV vGCS_Ciphering_Parameters optional, - ExtendedTSCSet_TV extendedTSCSet_afterTime optional, - ExtendedTSCSet_TV extendedTSCSet_beforeTime optional -} with { variant "TAG ( frequencyList_at, elementIdentifier = '05'O; - cellChannelDescr, elementIdentifier = '62'O; - descrMultislotAllocation, elementIdentifier = '10'O; - modeOf1stChannel, elementIdentifier = '63'O; - channelSet2, elementIdentifier = '11'O; - channelSet3, elementIdentifier = '13'O; - channelSet4, elementIdentifier = '14'O; - channelSet5, elementIdentifier = '15'O; - channelSet6, elementIdentifier = '16'O; - channelSet7, elementIdentifier = '17'O; - channelSet8, elementIdentifier = '18'O; - descrOf2ndChAfterTime, elementIdentifier = '64'O; - modeOf2ndChannel, elementIdentifier = '66'O; - mobileAllocation_at, elementIdentifier = '72'O; - startingTime, elementIdentifier = '7C'O; - frequencyList_bt, elementIdentifier = '19'O; - descrOf1stCh_bt, elementIdentifier = '1C'O; - descrOf2ndCh_bt, elementIdentifier = '1D'O; - frequencyChannelSequence, elementIdentifier = '1E'O; - mobileAllocation_bt, elementIdentifier = '21'O; - cipherModeSetting, elementIdentifier = '1001'B; - vGCS_TargetModeIndication,elementIdentifier = '01'O; - multiRateConfiguration, elementIdentifier = '03'O; - vGCS_Ciphering_Parameters,elementIdentifier = '04'O; - extendedTSCSet_afterTime, elementIdentifier = '6D'O; - extendedTSCSet_beforeTime,elementIdentifier = '6E'O; - )"}; - -// 44.018/9.1.3 Assignment complete (MS->NW) -//**************************************************************************** -type record PDU_RRM_AssignmentComplete_MS_NW -{ - BIT8 messageType, // '00101001'B; - RR_Cause_V rR_Cause -}; - -// 44.018/9.1.4 Assignment failure (MS->NW) -//**************************************************************************** -type record PDU_RRM_AssignmentFailure_MS_NW -{ - BIT8 messageType, // '00101111'B; - RR_Cause_V rR_Cause -}; - -// 44.018/9.1.5 Channel Mode Modify (NW_MS) -//**************************************************************************** -type record PDU_RRM_ChannelModeModify_NW_MS -{ - BIT8 messageType, // '00010000'B; - ChannelDescription2_V channelDescription, - ChannelMode_V channelMode, - VGCS_TargetModeIndication_TLV vGCS_TargetModeIndication optional, - MultiRateConfiguration_TLV multiRateConfiguration optional, - VGCS_Ciphering_Parameters_TLV vGCS_Ciphering_Parameters optional, - ExtendedTSCSet_TV extendedTSCSet optional -}with {variant "TAG( vGCS_TargetModeIndication, elementIdentifier = '01'O; - multiRateConfiguration, elementIdentifier = '03'O; - vGCS_Ciphering_Parameters,elementIdentifier = '04'O; - extendedTSCSet, elementIdentifier = '6D'O; )" - }; - -// 44.018/9.1.6 Channel Mode Modify Acknowledge(MS_NW) -//**************************************************************************** -type record PDU_RRM_ChannelModeModifyAck_MS_NW -{ - BIT8 messageType, // '00010111'B; - ChannelDescription2_V channelDescription, - ChannelMode_V channelMode, - ExtendedTSCSet_TV extendedTSCSet optional -}with {variant "TAG(extendedTSCSet, elementIdentifier = '6D'O; )"}; - -// 44.018/9.1.7 Channel Release(NW_MS) -//**************************************************************************** -type record PDU_RRM_ChannelRelease_NW_MS -{ - BIT8 messageType, // '00001101'B; - RR_Cause_V rRCause, - BARange_TLV bARange optional, - GroupChannelDescription_TLV groupChannelDescription optional, - Type1_TV groupCipherKeyNumber optional, // 1byte, see DTAP_Types - Type1_TV gPRSResumption optional, - BAListPref_TLV bAListPref optional, - UTRANFrequencyList_TLV uTRANFrequencyList optional, - CellChannelDescription_TV cellChannelDescr optional, - CellSelectionIndicatorAfterReleaseOfAll_TCH_and_SDCCH_IE cellSelectionIndicator optional, - Enhanced_DTM_CS_Release_Indication enhanced_DTM_CS_Release_Indication optional, - VGCS_Ciphering_Parameters_TLV vGCS_Ciphering_Parameters optional, - Group_Channel_Description_2_TLV group_Channel_Description_2 optional, - TalkerIdentity_TLV talkerIdentity optional, - TalkerPriorityStatus_TLV talkerPriorityStatus optional, - VGCS_AMR_Configuration_TLV vGCS_AMR_Configuration optional, - Individual_Priorities_TLV individual_Priorities optional -} with {variant "TAG(bARange, elementIdentifier ='73'O; - groupChannelDescription, elementIdentifier ='74'O; - groupCipherKeyNumber, elementIdentifier ='1000'B; - gPRSResumption, elementIdentifier ='1100'B; - bAListPref, elementIdentifier ='75'O; - uTRANFrequencyList, elementIdentifier ='76'O; - cellChannelDescr, elementIdentifier ='62'O; - cellSelectionIndicator, elementIdentifier ='77'O; - enhanced_DTM_CS_Release_Indication, elementIdentifier ='1010'B; - vGCS_Ciphering_Parameters, elementIdentifier = '04'O; - group_Channel_Description_2, elementIdentifier = '78'O; - talkerIdentity, elementIdentifier = '79'O; - talkerPriorityStatus, elementIdentifier = '7A'O; - vGCS_AMR_Configuration, elementIdentifier = '7B'O; - individual_Priorities, elementIdentifier = '7C'O; - )"}; - -// 44.018/9.1.8 ChannelRequest -//**************************************************************************** -// Not implemented, 1 byte long msg on RACH - - -// 44.018/9.1.9 Ciphering mode command -//**************************************************************************** -type record PDU_RRM_CipheringModeCommand_NW_MS -{ - BIT8 messageType, // '00110101'B; - CipherModeSetting_V cipherModeSetting, - CipherModeResponse_V cipherModeResponse -}; - -// 44.018/9.1.10 Ciphering mode complete -//**************************************************************************** -type record PDU_RRM_CipheringModeComplete_MS_NW -{ - BIT8 messageType, // '00110010'B; - MobileIdentityTLV mobileEquipmentIdentity optional -} with {variant "TAG(mobileEquipmentIdentity, elementIdentifier='0010111'B)"}; //'17'O - -// 44.018/9.1.11 Classmark Change -//**************************************************************************** -type record PDU_RRM_ClassmarkChange_MS_NW -{ - BIT8 messageType, // '00010110'B; - MobileStationClassmark2_LV mobileStationClassmark2, - MobileStationClassmark3_TLV mobileStationClassmark3 optional -} with {variant "TAG(mobileStationClassmark3, elementIdentifier = '20'O)"}; - -// 44.018/9.1.11a UTRAN Classmark Change -//**************************************************************************** -type record PDU_RRM_UTRAN_ClassmarkChange_MS_NW -{ - BIT8 messageType, - UTRAN_Classmark_LV uTRAN_Classmark -} - -// 44.018/9.1.11b -//**************************************************************************** -type record PDU_RRM_CDMA2000_ClassmarkChange_MS_NW -{ - BIT8 messageType, - Type4_LV terminalInformation, - Type4_LV securityStatus, - Type4_LV bandClassInformation, - Type4_LV powerClassInformation, - Type4_LV operatingModeInformation, - Type4_LV serviceOptionInformation, - Type4_LV multiplexOptionInformation, - Type4_LV powerControlInformation, - Type4_LV capabilityInformation, - Type4_LV channelConfigurationCapabilityInformation, - Type4_LV extMultiplexOptionInformation, - Type4_LV bandSubclassInformation, - Type4_LV encryptionCapability -} - -// 44.018/9.1.11d -//**************************************************************************** -type record PDU_RRM_GERAN_IU_ModeClassmarkChange_MS_NW -{ - BIT8 messageType, - GERAN_IU_ModeClassmark_LV gERAN_IU_ModeClassmark -} - -// 44.018/9.1.12 Classmark Enquiry -//**************************************************************************** -type record PDU_RRM_ClassmarkEnquiry_NW_MS -{ - BIT8 messageType, // '00010011'B; - ClassmarkEnquiryMask_TLV classmarkEnquiryMask optional -} with {variant "TAG(classmarkEnquiryMask, elementIdentifier = '10'O)"}; - -// 44.018/9.1.12b Configuration change command (NW->MS) -//**************************************************************************** -type record PDU_RRM_ConfigurationChangeCommand_NW_MS -{ - BIT8 messageType, // '00110000'B; - MultislotAllocation_LV multislotAllocation, - ChannelMode_TV modeOfChannelSet1 optional, - ChannelMode_TV modeOfChannelSet2 optional, - ChannelMode_TV modeOfChannelSet3 optional, - ChannelMode_TV modeOfChannelSet4 optional, - ChannelMode_TV modeOfChannelSet5 optional, - ChannelMode_TV modeOfChannelSet6 optional, - ChannelMode_TV modeOfChannelSet7 optional, - ChannelMode_TV modeOfChannelSet8 optional -} with {variant "TAG( modeOfChannelSet1, elementIdentifier='63'O; - modeOfChannelSet2, elementIdentifier='11'O; - modeOfChannelSet3, elementIdentifier='13'O; - modeOfChannelSet4, elementIdentifier='14'O; - modeOfChannelSet5, elementIdentifier='15'O; - modeOfChannelSet6, elementIdentifier='16'O; - modeOfChannelSet7, elementIdentifier='17'O; - modeOfChannelSet8, elementIdentifier='18'O;)"}; - -// 44.018/9.1.12c Configuration change acknowledge (MS->NW) -//**************************************************************************** -type record PDU_RRM_ConfigurationChangeAck_MS_NW -{ - BIT8 messageType // '00110001'B; -}; - -// 44.018/9.1.12d Configuration change reject (MS->NW) -//**************************************************************************** -type record PDU_RRM_ConfigurationChangeRej_MS_NW -{ - BIT8 messageType, // '00110011'B; - RR_Cause_V rR_Cause -}; - -// 44.018/9.1.12e DTM Assignment Command -//**************************************************************************** -type record PDU_RRM_DTM_AssignmentCommand_NW_MS -{ - BIT8 messageType, - PowerCommand_V cS_PowerCommand, - ChannelDescription_V description_CS_Channel, - GPRS_BroadcastInformation_LV gPRS_BroadcastInformation, - CellChannelDescription_TV cellChannelDescr optional, - ChannelMode_TV channelMode optional, - FrequencyList_TLV frequencyList optional, - MobileAllocation_TLV mobileAllocation optional, - RR_PacketUplinkAssignment_TLV descrUplinkPacketChannelAssignment optional, - RR_PacketDownlinkAssignment_TLV descrDownlinkPacketChannelAssignment optional, - MultiRateConfiguration_TLV multiRateConfiguration optional, - CipherModeSetting_TV cipherModeSetting optional, - MobileAllocation_TLV mobileAllocationC2 optional, - FrequencyList_TLV frequencyListC2 optional, - RR_DualCarrierPacketDownlinkAssignment_TLV descriptionDualCarrierPacketDownlinkAssignment optional, - ChannelDescription3_TV channelDescriptionC2 optional, - ExtendedTSCSet_TV extendedTSCSet optional -} with {variant "TAG(cellChannelDescr, elementIdentifier = '10'O; - channelMode, elementIdentifier = '11'O; - frequencyList, elementIdentifier = '12'O; - mobileAllocation, elementIdentifier = '13'O; - descrUplinkPacketChannelAssignment, elementIdentifier = '15'O; - descrDownlinkPacketChannelAssignment, elementIdentifier = '16'O; - multiRateConfiguration, elementIdentifier = '17'O; - cipherModeSetting, elementIdentifier = '1001'B; - mobileAllocationC2, elementIdentifier = '18'O; - frequencyListC2, elementIdentifier = '19'O; - descriptionDualCarrierPacketDownlinkAssignment, elementIdentifier = '20'O; - channelDescriptionC2, elementIdentifier = '21'O; - extendedTSCSet, elementIdentifier = '6D'O;)"}; - -// 44.018/9.1.12f DTM Assignment Failure -//**************************************************************************** -type record PDU_RRM_DTM_AssignmentFailure_MS_NW -{ - BIT8 messageType, - RR_Cause_V rR_Cause -} - -// 44.018/9.1.12g DTM Information -//**************************************************************************** -type record PDU_RRM_DTM_Information_NW_MS -{ - BIT8 messageType, - RoutingAreaIdentificationV routingAreaIdentification,//24.008 10.5.5.15 - DTM_InformationDetails_LV dTM_InformationDetails -} - -// 44.018/9.1.12h DTM Reject -//**************************************************************************** -type record PDU_RRM_DTM_Reject_NW_MS -{ - BIT8 messageType, - WaitIndication_V waitIndication -} - -// 44.018/9.1.12i DTM Request -//**************************************************************************** -type record PDU_RRM_DTM_Request_MS_NW -{ - BIT8 messageType, - OCT4 tLLI, - ChannelRequestDescription2_LV channelRequestDescription2 -} - -// 44.018/9.1.13 Frequency Redefinition -//**************************************************************************** -type record PDU_RRM_Frequency_Redefinition_NW_MS -{ - BIT8 messageType, - ChannelDescription_V channelDescription, - MobileAllocation_LV mobileAllocation, - StartingTime_V startingTime, - CellChannelDescription_TV cellChannelDescr optional, - CarrierIndication_TV carrierIndication optional, - MobileAllocation_TLV mobileAllocationC2 optional, - ChannelDescription3_TV channelDescriptionC2 optional, - ExtendedTSCSet_TV extendedTSCSet optional -} with {variant "TAG(cellChannelDescr, elementIdentifier = '62'O; - carrierIndication, elementIdentifier = '1001'B; - mobileAllocationC2, elementIdentifier = '11'O; - channelDescriptionC2, elementIdentifier = '12'O; - extendedTSCSet, elementIdentifier = '6D'O;)"}; - -// 44.018/9.1.13b GPRS Suspension Request -//**************************************************************************** -type record PDU_RRM_GPRS_SuspensionRequest_MS_NW -{ - BIT8 messageType, - OCT4 tLLI, - RoutingAreaIdentificationV routingAreaIdentification,//24.008 10.5.5.15 - OCT1 suspensionCause, - ServiceSupport_TV service_Support optional -} with {variant "TAG(service_Support, elementIdentifier = '01'O;)"}; - -// 44.018/9.1.14 Handover Access -//**************************************************************************** -// short=> it doesn't included in PDU_RRM ! -type record PDU_RRM_HandoverAccess_NW_MS -{ - BIT8 handoverReference -}; - -// 44.018/9.1.15 Handover_Command -//**************************************************************************** -type record PDU_RRM_HandoverCommand_NW_MS -{ - BIT8 messageType, //'00101011'B, - CellDescription_V cellDescription, - ChannelDescription2_V channelDescription2, - HandoverReference_V handoverReference, - PowerCommandAndAccesstype_V powerCommandAndAccesstype, - SynchronizationIndication_TV synchronizationIndication optional, - FrequencyShortList_TV frequencyShortListAfterTime optional, - FrequencyList_TLV frequencyListAfterTime optional, - CellChannelDescription_TV cellChannelDescription optional, - MultislotAllocation_TLV multislotAllocation optional, - ChannelMode_TV modeOfChannelSet1 optional, - ChannelMode_TV modeOfChannelSet2 optional, - ChannelMode_TV modeOfChannelSet3 optional, - ChannelMode_TV modeOfChannelSet4 optional, - ChannelMode_TV modeOfChannelSet5 optional, - ChannelMode_TV modeOfChannelSet6 optional, - ChannelMode_TV modeOfChannelSet7 optional, - ChannelMode_TV modeOfChannelSet8 optional, - ChannelDescription_TV descrOf2ndCh_at optional, - ChannelMode2_TV modeOf2ndChannel optional, - FrequencyChannelSequence_TV frequencyChannelSequence_at optional, - MobileAllocation_TLV mobileAllocation_at optional, - StartingTime_TV startingTime optional, - RealTimeDifference_TLV timeDifference optional, - TimingAdvance_TV timingAdvance optional, - FrequencyShortList_TV frequencyShortListBeforeTime optional, - FrequencyList_TLV frequencyListBeforeTime optional, - ChannelDescription2_TV descrOf1stCh_bt optional, - ChannelDescription_TV descrOf2ndCh_bt optional, - FrequencyChannelSequence_TV frequencyChannelSequence_bt optional, - MobileAllocation_TLV mobileAllocation_bt optional, - CipherModeSetting_TV cipherModeSetting optional, - VGCS_TargetModeIndication_TLV vGCS_TargetModeIndication optional, - MultiRateConfiguration_TLV multiRateConfiguration optional, - DynamicARFCN_Mapping_TLV dynamicARFCN_Mapping optional, - VGCS_Ciphering_Parameters_TLV vGCS_Ciphering_Parameters optional, - DedicatedServiceInformation_TV dedicatedServiceInformation optional, - PLMNIndex_TV pLMNIndex optional, - ExtendedTSCSet_TV extendedTSCSet_afterTime optional, - ExtendedTSCSet_TV extendedTSCSet_beforeTime optional -} with {variant "TAG(synchronizationIndication, elementIdentifier = '1101'B; - frequencyShortListAfterTime, elementIdentifier = '02'O; - frequencyListAfterTime, elementIdentifier = '05'O; - cellChannelDescription, elementIdentifier = '62'O; - multislotAllocation, elementIdentifier = '10'O; - modeOfChannelSet1, elementIdentifier = '63'O; - modeOfChannelSet2, elementIdentifier = '11'O; - modeOfChannelSet3, elementIdentifier = '13'O; - modeOfChannelSet4, elementIdentifier = '14'O; - modeOfChannelSet5, elementIdentifier = '15'O; - modeOfChannelSet6, elementIdentifier = '16'O; - modeOfChannelSet7, elementIdentifier = '17'O; - modeOfChannelSet8, elementIdentifier = '18'O; - descrOf2ndCh_at, elementIdentifier = '64'O; - modeOf2ndChannel, elementIdentifier = '66'O; - frequencyChannelSequence_at, elementIdentifier = '69'O; - mobileAllocation_at, elementIdentifier = '72'O; - startingTime, elementIdentifier = '7C'O; - timeDifference, elementIdentifier = '7B'O; - timingAdvance, elementIdentifier = '7D'O; - frequencyShortListBeforeTime, elementIdentifier = '12'O; - frequencyListBeforeTime, elementIdentifier = '19'O; - descrOf2ndCh_bt, elementIdentifier = '1C'O; - descrOf1stCh_bt, elementIdentifier = '1D'O; - frequencyChannelSequence_bt, elementIdentifier = '1E'O; - mobileAllocation_bt, elementIdentifier = '21'O; - cipherModeSetting, elementIdentifier = '1001'B; - vGCS_TargetModeIndication, elementIdentifier = '01'O; - multiRateConfiguration, elementIdentifier = '03'O; - dynamicARFCN_Mapping, elementIdentifier = '76'O; - vGCS_Ciphering_Parameters, elementIdentifier = '04'O; - dedicatedServiceInformation, elementIdentifier = '51'O; - pLMNIndex, elementIdentifier = '1010'B; - extendedTSCSet_afterTime, elementIdentifier = '6D'O; - extendedTSCSet_beforeTime, elementIdentifier = '6E'O;)"}; - -// 44.018/9.1.15a Inter System to UTRAN Handover Command -//**************************************************************************** -type record PDU_RRM_InterSystemToUTRAN_HandoverCommand_NW_MS -{ - BIT8 messageType, - HandoverToUTRANCommand_LV handoverToUTRANCommand, - CNToMSTransparentInformation_TLV cNToMSTransparentInformation optional -} - -// 44.018/9.1.15b Inter System to CDMA 2000 Handover Command -//**************************************************************************** -type record PDU_RRM_InterSystemToCDMA2000HandoverCommand_NW_MS -{ - BIT8 messageType, - HandoverToCDMA2000Command_LV handoverToCDMA2000Command -} - -// 44.018/9.1.15c Handover To GERAN Iu Mode Command -//**************************************************************************** -// Note : Message Type is not defined in section 10.4, this message can not be encoded/decoded -type record PDU_RRM_HandoverToGERAN_IuModeCommand_NW_MS -{ - BIT8 messageType, - RadioBearerReconfiguration_LV radioBearerReconfiguration -} - -// 44.018/9.1.15d Inter System to E-UTRAN Handover Command -//**************************************************************************** -type record PDU_RRM_InterSystemToEUTRAN_HandoverCommand_NW_MS -{ - BIT8 messageType, - DL_DCCH_Message_LV dL_DCCH_Message, - CNToMSTransparentInformation_TLV cNToMSTransparentInformation -} - -// 44.018/9.1.16 Handover Complete -//**************************************************************************** -type record PDU_RRM_HandoverComplete_MS_NW -{ - BIT8 messageType, //'00101100'B; - RR_Cause_V rRCause, - MobileTimeDifference_TLV mobileObsservedTimeDiff optional, - MobileTimeDifferenceHyperframe_TLV mobileTimeDifferenceHyperframe optional -} with {variant "TAG(mobileObsservedTimeDiff, elementIdentifier = '77'O; - mobileTimeDifferenceHyperframe,elementIdentifier = '67'O;)"}; - -// 44.018/9.1.17 Handover Failure -//**************************************************************************** -type record PDU_RRM_HandoverFailure_MS_NW -{ - BIT8 messageType, //'00101000'B; - RR_Cause_V rRCause, - PS_Cause_TV pSCause optional -} with {variant "TAG(pSCause,elementIdentifier = '1001'B )"}; - -// 44.018/9.1.18 Immediate Assignment -//**************************************************************************** -type record PDU_RRM_ImmediateAssignment_NW_MS -{ - // L2 pseudo length is handled automatically by encoder/decoder - BIT8 messageType, - PageMode_V pageMode, - DedicatedModeOrTBF_V dedicatedModeOrTBF, - ChannelDescription_V channelDescription optional, - OCT3 packetChannelDescription optional, - RequestReference_V requestReference, - OCT1 timingAdvance, - MobileAllocation_LV mobileAllocation, - StartingTime_TV startingTime optional, - octetstring iA_RestOctets length (0..11) optional, - ExtendedTSCSet_TV extendedTSCSet optional -} with {variant (channelDescription) "PRESENCE(dedicatedModeOrTBF.tMA_dL_tD = '000'B)"; - variant (packetChannelDescription) "PRESENCE(dedicatedModeOrTBF.tMA_dL_tD = '001'B, - dedicatedModeOrTBF.tMA_dL_tD = '011'B, - dedicatedModeOrTBF.tMA_dL_tD = '101'B, //??? - dedicatedModeOrTBF.tMA_dL_tD = '111'B)"; //??? - variant "TAG(startingTime, elementIdentifier = '7C'O; - extendedTSCSet, elementIdentifier = '6D'O;)";}; - -// 44.018/9.1.18b Immediate Packet Assignment -//**************************************************************************** -type record PDU_RRM_ImmediatePacketAssignment_NW_MS -{ - BIT8 messageType, - PageMode_V pageMode, - FeatureIndicator_V featureIndicator, - octetstring iPA_RestOctets length (19) -}; - -// 44.018/9.1.19 Immediate Assignment Extended -//**************************************************************************** -type record PDU_RRM_ImmediateAssignmentExtended_NW_MS -{ - // L2 pseudo length is handled automatically by encoder/decoder - BIT8 messageType, - PageMode_V pageMode, - FeatureIndicator_V featureIndicator, - ChannelDescription_V channelDescription1, - RequestReference_V requestReference1, - OCT1 timingAdvance1, - ChannelDescription_V channelDescription2, - RequestReference_V requestReference2, - OCT1 timingAdvance2, - MobileAllocation_LV mobileAllocation, - StartingTime_TV startingTime optional, - octetstring iAX_RestOctets length (0..4) optional -} with { variant "TAG(startingTime,elementIdentifier = '7C'O )";} - -// 44.018/9.1.20 Immediate Assignment Reject -//**************************************************************************** -type record PDU_RRM_ImmediateAssignmentReject_NW_MS -{ - // L2 pseudo length is handled automatically by encoder/decoder - BIT8 messageType, - PageMode_V pageMode, - FeatureIndicator_V featureIndicator, - RequestReference_V requestReference1, - WaitIndication_V waitIndication1, - RequestReference_V requestReference2, - WaitIndication_V waitIndication2, - RequestReference_V requestReference3, - WaitIndication_V waitIndication3, - RequestReference_V requestReference4, - WaitIndication_V waitIndication4, - octetstring iAR_RestOctets length (3) -} - -// 44.018/9.1.21 Measurement Report -//**************************************************************************** -// SACCH message, not implemented - -// 44.018/9.1.21a Notification/FACCH -//**************************************************************************** -// No table definition, not implemented - -// 44.018/9.1.21b Notification/NCH -//**************************************************************************** -// NCH message, not implemented - -// 44.018/9.1.21d Notification Response -//**************************************************************************** -type record PDU_RRM_NotificationResponse_MS_NW -{ - BIT8 messageType, - MobileStationClassmark2_LV mobileStationClassmark, - MobileIdentityLV mobileIdentity, - DescriptiveGroupOrBroadcastCallReference_V groupOrBroadcastCallReference -} - -// 44.018/9.1.21f Packet Assignment -//**************************************************************************** -// FACCH message, not implemented - -// 44.018/9.1.21g Packet Notification -//**************************************************************************** -type record PDU_RRM_PacketNotification_NW_MS -{ - BIT8 messageType, - TMSIP_TMSI_TV p_TMSI optional, - MobileIdentityTLV mobileIdentity optional -} with { variant "TAG ( p_TMSI, elementIdentifier = '10'O; - mobileIdentity, elementIdentifier = '0010001'B;)"}; - -// 44.018/9.1.21h VBS/VGCS Reconfigure -//**************************************************************************** -// No table definition, not implemented - -// 44.018/9.1.21i VBS/VGCS Reconfigure2 -//**************************************************************************** -// No table definition, not implemented - -// 44.018/9.1.21j MBMS Announcement -//**************************************************************************** -type record MBMS_Announcement_NW_MS -{ - BIT8 messageType, - TemporaryMobileGroupIDLV tMGI, - MBMS_SessionIdentity_TV mBMS_SessionIdentity optional, - MPRACH_Description_TLV mBMS_CountingChannelDescription optional, - MBMS_ptm_ChannelDescription_TLV mBMS_ptm_ChannelDescription optional, - MBMS_SessionParameterList_TLV mBMS_SessionParameterList optional, - RestrictionTimer_TV restrictionTimer optional -} with { variant "TAG ( mBMS_SessionIdentity, elementIdentifier = '01'O; - mBMS_CountingChannelDescription, elementIdentifier = '02'O; - mBMS_ptm_ChannelDescription, elementIdentifier = '03'O; - mBMS_SessionParameterList, elementIdentifier = '04'O; - restrictionTimer, elementIdentifier = '05'O;)"}; - - // 44.018/9.1.22 Paging Request type 1 -//**************************************************************************** -type record PDU_RRM_PagingReq_Type1_NW_MS -{ - // L2 pseudo length is handled automatically by encoder/decoder - BIT8 messageType, // '00100001'B; - PageMode_V pageMode, - ChannelNeeded_V channelNeeded, - MobileIdentityLV mobileIdentity1, - MobileIdentityTLV mobileIdentity2 optional, - P1RestOctets p1RestOctets -} with { variant "TAG ( mobileIdentity2, elementIdentifier = '0010111'B )" }; //'17'O - -// 44.018/9.1.23 Paging Request type 2 -//**************************************************************************** -type record PDU_RRM_PagingReq_Type2_NW_MS -{ - // L2 pseudo length is handled automatically by encoder/decoder - BIT8 messageType, // '00100010'B - PageMode_V pageMode, - ChannelNeeded_V channelNeeded, - TMSIP_TMSI_V mobileIdentity1, - TMSIP_TMSI_V mobileIdentity2, - MobileIdentityTLV mobileIdentity3 optional, - P2RestOctets p2RestOctets -} with { variant "TAG ( mobileIdentity3, elementIdentifier = '0010111'B )" }; //'17'O - -// 44.018/9.1.24 Paging Request type 3 -//**************************************************************************** -type record PDU_RRM_PagingReq_Type3_NW_MS -{ - // L2 pseudo length is handled automatically by encoder/decoder - BIT8 messageType, // '00100100'B; - PageMode_V pageMode, - ChannelNeeded_V channelNeeded, - TMSIP_TMSI_V mobileIdentity1, - TMSIP_TMSI_V mobileIdentity2, - TMSIP_TMSI_V mobileIdentity3, - TMSIP_TMSI_V mobileIdentity4, - P3RestOctets p3RestOctets -} with { variant " " }; - -// 44.018/9.1.25 Paging Response -//**************************************************************************** -type record PDU_RRM_PagingResponse_MS_NW -{ - BIT8 messageType, // '00100111'B = '27'O Response Paging - CipheringKeySequenceNumberV cipheringKeySequenceNumber, - BIT4 spare1_4, // '0000'B - MobileStationClassmark2_LV mobileStationClassmark, - MobileIdentityLV mobileIdentity, - AdditionalUpdateParameterTV additionalUpdateParameters optional -}; - -// 44.018/9.1.26 Partial Release -//**************************************************************************** -type record PDU_RRM_PartialRelease_NW_MS -{ - BIT8 messageType, //'00001010'B; - ChannelDescription_V channelDescription -}; - -// 44.018/9.1.27 Partial Release Complete -//**************************************************************************** -type record PDU_RRM_PartialReleaseComplete_MS_NW -{ - BIT8 messageType // '00001111'B; -}; - -// 44.018/9.1.28 Physical Information -//**************************************************************************** -type record PDU_RRM_PhysicalInformation_NW_MS -{ - BIT8 messageType, //'00101101'B; - OCT1 timingAdvance -}; - -// 44.018/9.1.29 RR Status -//**************************************************************************** -type record PDU_RRM_RR_Status -{ - BIT8 messageType, // - RR_Cause_V rR_Cause -}; - -// 44.018/9.1.30a Synchronization Channel Information -//**************************************************************************** -// SCH message, not implemented - - -// 44.018/9.1.31 - 9.1.43o System Information messages -//**************************************************************************** -//BCCH and SACCH messages, not implemented - -// 44.018/9.1.44 Talker Indication -//**************************************************************************** -type record PDU_RRM_TalkerIndication_MS_NW -{ - BIT8 messageType, - MobileStationClassmark2_LV mobileStationClassmark, - MobileIdentityLV mobileIdentity, - CipheringKeySequenceNumberTV cipheringKeySequenceNumber optional -} with { variant "TAG (cipheringKeySequenceNumber, elementIdentifier = '1011'B )" }; //B - -// 44.018/9.1.45 Uplink Access -//**************************************************************************** -// No table definition, not implemented - -// 44.018/9.1.46 Uplink Busy -//**************************************************************************** -type record PDU_RRM_UplinkBusy_NW_MS -{ - BIT8 messageType, - TalkerPriorityStatus_TLV talkerPriorityStatus optional, - Token_TV token optional, - TalkerIdentity_TLV talkerIdentity optional, - UplinkAccessIndication_TV uplinkAccessIndication optional -} with { variant "TAG ( talkerPriorityStatus, elementIdentifier = '31'O; - token, elementIdentifier = '32'O; - talkerIdentity, elementIdentifier = '33'O; - uplinkAccessIndication, elementIdentifier = '1000'B;)"}; // '8-'O - -// 44.018/9.1.47 Uplink Free -//**************************************************************************** -// No table definition, not implemented - -// 44.018/9.1.48 Uplink Release -//**************************************************************************** -type record PDU_RRM_UplinkRelease -{ - BIT8 messageType, - RR_Cause_V rR_Cause -} - -// 44.018/9.1.49 VGCS Uplink Grant -//**************************************************************************** -type record PDU_RRM_VGCS_UplinkGrant_NW_MS -{ - BIT8 messageType, - RequestReference_V requestReference, - OCT1 timingAdvance -} - -// 44.018/9.1.49a VGCS Additional Information -//**************************************************************************** -// No table definition, not implemented - -// 44.018/9.1.49b VGCS SMS Information -//**************************************************************************** -// No table definition,SACCH message, not implemented - -// 44.018/9.1.50 System Information -//**************************************************************************** -// No table definition, SACCH message, not implemented - -// 44.018/9.1.51 Extended Measurement Order -//**************************************************************************** -// SACCH message, not implemented - -// 44.018/9.1.52 Extended Measurement Order -//**************************************************************************** -// SACCH message, not implemented - -// 44.018/9.1.53 Application Information -//**************************************************************************** -type record PDU_RRM_ApplicationInformation -{ - BIT8 messageType, - BIT4 aPDU_ID, - APDU_Flags_V aPDU_Flags, - APDU_Data_LV aPDU_Data -} - -// 44.018/9.1.54 Measurement Information -//**************************************************************************** -// No table definition, SACCH message, not implemented - -// 44.018/9.1.55 Enhanced Measurement Report -//**************************************************************************** -// No table definition, SACCH message, not implemented - -// 44.018/9.1.56 -//**************************************************************************** -type record PDU_RRM_ServiceInformationMessage_MS_NW -{ - BIT8 messageType, - OCT4 tLLI, - RoutingAreaIdentificationV routingAreaIdentification,//24.008 10.5.5.15 - ServiceSupport_V serviceSupport -} - -//**************************************************************************** -// 9.1 Messages for Radio Resources management -// Table 9.1.1 Organized by Table 10.4.1 -//**************************************************************************** -type union PDU_RRM_MS_NW -{ - //Ciphering - PDU_RRM_CipheringModeComplete_MS_NW cipheringModeComplete, - //Config change - PDU_RRM_ConfigurationChangeAck_MS_NW configurationChangeAck, - PDU_RRM_ConfigurationChangeRej_MS_NW configurationChangeRej, - //Handover - PDU_RRM_AssignmentComplete_MS_NW assignmentComplete, - PDU_RRM_AssignmentFailure_MS_NW assignmentFailure, - PDU_RRM_HandoverComplete_MS_NW handoverComplete, - PDU_RRM_HandoverFailure_MS_NW handoverFailure, - //rel: - PDU_RRM_PartialReleaseComplete_MS_NW partialReleaseComplete, - //Paging - PDU_RRM_PagingResponse_MS_NW pagingResponse, - PDU_RRM_NotificationResponse_MS_NW notificationResponse, - //Misc - PDU_RRM_RR_Status rR_Status, - PDU_RRM_ChannelModeModifyAck_MS_NW channelModeModifyAck, - PDU_RRM_ClassmarkChange_MS_NW classmarkChange, - PDU_RRM_GPRS_SuspensionRequest_MS_NW gPRS_suspensionRequest, - PDU_RRM_ServiceInformationMessage_MS_NW serviceInformationMessage, - //VGCS - PDU_RRM_UplinkRelease uplinkRelease, - PDU_RRM_TalkerIndication_MS_NW talkerIndication, - //Application - PDU_RRM_ApplicationInformation applicationInformation, - //DTM - PDU_RRM_DTM_AssignmentFailure_MS_NW dTM_AssignmentFailure, - PDU_RRM_DTM_Request_MS_NW dTM_Request, - //Inter RAT - PDU_RRM_UTRAN_ClassmarkChange_MS_NW uTRAN_ClassmarkChange, - PDU_RRM_CDMA2000_ClassmarkChange_MS_NW cDMA2000_ClassmarkChange, - PDU_RRM_GERAN_IU_ModeClassmarkChange_MS_NW gERAN_IU_ModeClassmarkChange -} with { variant "TAG ( - cipheringModeComplete, messageType = '00110010'B; - configurationChangeAck, messageType = '00110001'B; - configurationChangeRej, messageType = '00110011'B; - assignmentComplete, messageType = '00101001'B; - assignmentFailure, messageType = '00101111'B; - handoverComplete, messageType = '00101100'B; - handoverFailure, messageType = '00101000'B; - partialReleaseComplete, messageType = '00001111'B; - pagingResponse, messageType = '00100111'B; - notificationResponse, messageType = '00100110'B; - rR_Status, messageType = '00010010'B; - channelModeModifyAck, messageType = '00010111'B; - classmarkChange, messageType = '00010110'B; - gPRS_suspensionRequest, messageType = '00110100'B; - serviceInformationMessage, messageType = '00110110'B; - uplinkRelease, messageType = '00001110'B; - talkerIndication, messageType = '00010001'B; - applicationInformation, messageType = '00111000'B; - dTM_AssignmentFailure, messageType = '01001000'B; - dTM_Request, messageType = '01001010'B; - uTRAN_ClassmarkChange, messageType = '01100000'B; - cDMA2000_ClassmarkChange, messageType = '01100010'B; - gERAN_IU_ModeClassmarkChange, messageType = '01100101'B;)"}; - -type union PDU_RRM_NW_MS -{ - //Channel establishment - PDU_RRM_AdditionalAssignment_NW_MS additionalAssignment, - PDU_RRM_ImmediatePacketAssignment_NW_MS immediatePacketAssignment, - //Ciphering - PDU_RRM_CipheringModeCommand_NW_MS cipheringModeCommand, - //Config change - PDU_RRM_ConfigurationChangeCommand_NW_MS configurationChangeCommand, - //Handover - PDU_RRM_AssignmentCommand_NW_MS assignmentCommand, - PDU_RRM_HandoverCommand_NW_MS handoverCommand, - PDU_RRM_PhysicalInformation_NW_MS physicalInformation, - //Channel release - PDU_RRM_ChannelRelease_NW_MS channelRelease, - PDU_RRM_PartialRelease_NW_MS partialRelease, - //Paging - PDU_RRM_PagingReq_Type1_NW_MS pagingReq_Type1, - PDU_RRM_PagingReq_Type2_NW_MS pagingReq_Type2, - PDU_RRM_PagingReq_Type3_NW_MS pagingReq_Type3, - //Misc - PDU_RRM_ChannelModeModify_NW_MS channelModeModify, - PDU_RRM_RR_Status rR_Status, - PDU_RRM_Frequency_Redefinition_NW_MS frequency_Redefinition, - PDU_RRM_ClassmarkEnquiry_NW_MS classmarkEnquiry, - MBMS_Announcement_NW_MS mBMS_Announcement, - //VGCS - PDU_RRM_VGCS_UplinkGrant_NW_MS vGCS_UplinkGrant, - PDU_RRM_UplinkRelease uplinkRelease, - PDU_RRM_UplinkBusy_NW_MS uplinkBusy, - //Application - PDU_RRM_ApplicationInformation applicationInformation, - //DTM - PDU_RRM_DTM_AssignmentCommand_NW_MS dTM_AssignmentCommand, - PDU_RRM_DTM_Information_NW_MS dTM_Information, - PDU_RRM_DTM_Reject_NW_MS dTM_Reject, - PDU_RRM_PacketNotification_NW_MS packetNotification, - //Inter RAT - PDU_RRM_InterSystemToUTRAN_HandoverCommand_NW_MS interSystemToUTRAN_HandoverCommand, - PDU_RRM_InterSystemToCDMA2000HandoverCommand_NW_MS interSystemToCDMA2000HandoverCommand, - PDU_RRM_InterSystemToEUTRAN_HandoverCommand_NW_MS interSystemToEUTRAN_HandoverCommand -} with { variant "TAG ( - additionalAssignment, messageType = '00111011'B; - immediatePacketAssignment, messageType = '01101001'B; - cipheringModeCommand, messageType = '00110101'B; - configurationChangeCommand, messageType = '00110000'B; - assignmentCommand, messageType = '00101110'B; - handoverCommand, messageType = '00101011'B; - physicalInformation, messageType = '00101101'B; - channelRelease, messageType = '00001101'B; - partialRelease, messageType = '00001010'B; - pagingReq_Type1, messageType = '00100001'B; - pagingReq_Type2, messageType = '00100010'B; - pagingReq_Type3, messageType = '00100100'B; - channelModeModify, messageType = '00010000'B; - rR_Status, messageType = '00010010'B; - frequency_Redefinition, messageType = '00010100'B; - classmarkEnquiry, messageType = '00010011'B; - mBMS_Announcement, messageType = '00010110'B; - vGCS_UplinkGrant, messageType = '00001001'B; - uplinkRelease, messageType = '00001110'B; - uplinkBusy, messageType = '00101010'B; - applicationInformation, messageType = '00111000'B; - dTM_AssignmentCommand, messageType = '01001100'B; - dTM_Information, messageType = '01001101'B; - dTM_Reject, messageType = '01001001'B; - packetNotification, messageType = '01001110'B; - interSystemToUTRAN_HandoverCommand, messageType = '01100011'B; - interSystemToCDMA2000HandoverCommand, messageType = '01100100'B; - interSystemToUTRAN_HandoverCommand, messageType = '01100110'B; -)"}; - -}//end of module -with { -extension "version R1B" -encode "RAW" -} - diff --git a/MobileL3_v13.4.0_CNL113832_LATEST/src/MobileL3_SMS_Types.ttcn b/MobileL3_v13.4.0_CNL113832_LATEST/src/MobileL3_SMS_Types.ttcn deleted file mode 100644 index 4ecfa5490..000000000 --- a/MobileL3_v13.4.0_CNL113832_LATEST/src/MobileL3_SMS_Types.ttcn +++ /dev/null @@ -1,765 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// // -// 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_SMS_Types.ttcn -// Rev: R1B -// Prodnr: CNL 113 832 -// Contact: http://ttcn.ericsson.se -// Reference: 3GPP TS 24.008 v13.4.0, 24.011 v13.0.0, 23.040 v13.0.0 - -module MobileL3_SMS_Types -{ -// beginning of module - -// This module contains the SMS Messages defined in 24.011 v13.0.0, -// 23.040 v13.0.0 and 23.038 v7.0.0 -// This includes the C-PDUs, R-PDUs and T-PDUs with attributes for -// RAW encoding/decoding. - - -import from General_Types all; - -external function enc_TPDU_RP_DATA_MS_SGSN_fast(in TPDU_RP_DATA_MS_SGSN pdu, out octetstring stream) -with { extension "prototype(fast)" extension "encode(RAW)" } - -external function dec_TPDU_RP_DATA_MS_SGSN_backtrack(in octetstring stream, out TPDU_RP_DATA_MS_SGSN pdu) return integer -with { extension "prototype(backtrack)" extension "decode(RAW)" } - -external function enc_TPDU_RP_DATA_SGSN_MS_fast(in TPDU_RP_DATA_SGSN_MS pdu, out octetstring stream) -with { extension "prototype(fast)" extension "encode(RAW)" } - -external function dec_TPDU_RP_DATA_SGSN_MS_backtrack(in octetstring stream, out TPDU_RP_DATA_SGSN_MS pdu) return integer -with { extension "prototype(backtrack)" extension "decode(RAW)" } - -external function enc_TPDU_RP_ACK_MS_SGSN_fast(in TPDU_RP_ACK_MS_SGSN pdu, out octetstring stream) -with { extension "prototype(fast)" extension "encode(RAW)" } - -external function dec_TPDU_RP_ACK_MS_SGSN_backtrack(in octetstring stream, out TPDU_RP_ACK_MS_SGSN pdu) return integer -with { extension "prototype(backtrack)" extension "decode(RAW)" } - -external function enc_TPDU_RP_ACK_SGSN_MS_fast(in TPDU_RP_ACK_SGSN_MS pdu, out octetstring stream) -with { extension "prototype(fast)" extension "encode(RAW)" } - -external function dec_TPDU_RP_ACK_SGSN_MS_backtrack(in octetstring stream, out TPDU_RP_ACK_SGSN_MS pdu) return integer -with { extension "prototype(backtrack)" extension "decode(RAW)" } - -external function enc_TPDU_RP_ERROR_MS_SGSN_fast(in TPDU_RP_ERROR_MS_SGSN pdu, out octetstring stream) -with { extension "prototype(fast)" extension "encode(RAW)" } - -external function dec_TPDU_RP_ERROR_MS_SGSN_backtrack(in octetstring stream, out TPDU_RP_ERROR_MS_SGSN pdu) return integer -with { extension "prototype(backtrack)" extension "decode(RAW)" } - -external function enc_TPDU_RP_ERROR_SGSN_MS_fast(in TPDU_RP_ERROR_SGSN_MS pdu, out octetstring stream) -with { extension "prototype(fast)" extension "encode(RAW)" } - -external function dec_TPDU_RP_ERROR_SGSN_MS_backtrack(in octetstring stream, out TPDU_RP_ERROR_SGSN_MS pdu) return integer -with { extension "prototype(backtrack)" extension "decode(RAW)" } - -external function enc_RPDU_SGSN_MS_fast(in RPDU_SGSN_MS pdu, out octetstring stream) -with { extension "prototype(fast)" extension "encode(RAW)" } - -external function dec_RPDU_SGSN_MS_backtrack(in octetstring stream, out RPDU_SGSN_MS pdu) return integer -with { extension "prototype(backtrack)" extension "decode(RAW)" } - -external function enc_RPDU_MS_SGSN_fast(in RPDU_MS_SGSN pdu, out octetstring stream) -with { extension "prototype(fast)" extension "encode(RAW)" } - -external function dec_RPDU_MS_SGSN_backtrack(in octetstring stream, out RPDU_MS_SGSN pdu) return integer -with { extension "prototype(backtrack)" extension "decode(RAW)" } -//============================================================================== -// 24.011 7.2 CP-MESSAGES (CP_DATA, CP_ACK, CP_ERROR) -//============================================================================== - -// 7.2 -type union L3_SMS_MS_SGSN -{ - CP_DATA_MS_SGSN cP_DATA, - CP_ACK cP_ACK, - CP_ERROR cP_ERROR -}; - -// 7.2 -type union L3_SMS_SGSN_MS -{ - CP_DATA_SGSN_MS cP_DATA, - CP_ACK cP_ACK, - CP_ERROR cP_ERROR -}; - -// 7.2.1 CP-DATA -type record CP_DATA_MS_SGSN -{ - BIT8 cP_messageType, - CP_User_DataLV_MS_SGSN cP_User_Data -} with { variant "PRESENCE(cP_messageType = '00000001'B)"; }; - -// 7.2.1 CP-DATA -type record CP_DATA_SGSN_MS -{ - BIT8 cP_messageType, - CP_User_DataLV_SGSN_MS cP_User_Data -} with { variant "PRESENCE(cP_messageType = '00000001'B)"; }; - -// 7.2.2 CP-ACK -type record CP_ACK -{ - BIT8 cP_messageType -} with { variant "PRESENCE(cP_messageType = '00000100'B)"; }; - -// 7.2.3 CP-ERROR -type record CP_ERROR -{ - BIT8 cP_messageType, - CP_CauseV cP_Cause -} with { variant "PRESENCE(cP_messageType = '00010000'B)"; }; - -// 7.2.1 CP-DATA -type record CP_User_DataLV_SGSN_MS -{ - LIN1 lengthIndicator, - RPDU_SGSN_MS cP_RPDU -} with { variant (lengthIndicator) "LENGTHTO (cP_RPDU)"}; - -// 7.2.1 CP-DATA -type record CP_User_DataLV_MS_SGSN -{ - LIN1 lengthIndicator, - RPDU_MS_SGSN cP_RPDU -} with { variant (lengthIndicator) "LENGTHTO (cP_RPDU)"}; - -// 7.2.3 CP-ERROR -type record CP_CauseV -{ - OCT1 causeValue -} - - -//============================================================================= -// END OF CP-MESSAGES -//============================================================================= - - -//============================================================================= -// 24.011 7.3 RP-MESSAGES (RP-DATA, RP-SMMA, RP-ACK, RP-ERROR) -//============================================================================= -// 7.3 -type union RPDU_SGSN_MS -{ - RP_DATA_SGSN_MS rP_DATA_SGSN_MS, - RP_ACK_SGSN_MS rP_ACK_SGSN_MS, - RP_ERROR_SGSN_MS rP_ERROR_SGSN_MS, - RP_SMMA rP_SMMA // RP_SMMA included for negative testing in SGSN_MS direction -} with { - variant "TAG - ( - rP_DATA_SGSN_MS, rP_MTI = '001'B; - rP_ACK_SGSN_MS, rP_MTI = '011'B; - rP_ERROR_SGSN_MS, rP_MTI = '101'B; - rP_SMMA, rP_MTI = '110'B; - )" -}; - -// 7.3 -type union RPDU_MS_SGSN -{ - RP_DATA_MS_SGSN rP_DATA_MS_SGSN, - RP_ACK_MS_SGSN rP_ACK_MS_SGSN, - RP_ERROR_MS_SGSN rP_ERROR_MS_SGSN, - RP_SMMA rP_SMMA -} with { - variant "TAG - ( - rP_DATA_MS_SGSN, rP_MTI = '000'B; - rP_ACK_MS_SGSN, rP_MTI = '010'B; - rP_ERROR_MS_SGSN, rP_MTI = '100'B; - rP_SMMA, rP_MTI = '110'B; - )" -}; - -// 7.3.1.2 RP-DATA (Mobile Station to Network) -type record RP_DATA_MS_SGSN -{ - BIT3 rP_MTI, - BIT5 rP_Spare, // '00000'B - OCT1 rP_MessageReference, - RP_OriginatorAddressLV rP_OriginatorAddress, - RP_DestinationAddressLV rP_DestinationAddress, - RP_DATA_User_DataLV_MS_SGSN rP_User_Data -} with { variant "PRESENCE(rP_MTI = '000'B)"; }; - -// 7.3.1.1 RP-DATA (Network to Mobile Station) -type record RP_DATA_SGSN_MS -{ - BIT3 rP_MTI, - BIT5 rP_Spare, // '00000'B - OCT1 rP_MessageReference, - RP_OriginatorAddressLV rP_OriginatorAddress, - RP_DestinationAddressLV rP_DestinationAddress, - RP_DATA_User_DataLV_SGSN_MS rP_User_Data -} with { variant "PRESENCE(rP_MTI = '001'B)"; }; - -// 7.3.2 RP-SMMA -type record RP_SMMA -{ - BIT3 rP_MTI, - BIT5 rP_Spare, // '00000'B - OCT1 rP_MessageReference -} with { variant "PRESENCE(rP_MTI = '110'B)"; }; - -// 7.3.3 RP-ACK -type record RP_ACK_SGSN_MS -{ - BIT3 rP_MTI, - BIT5 rP_Spare, // '00000'B - OCT1 rP_MessageReference, - RP_ACK_User_DataTLV_SGSN_MS rP_User_Data optional -} with { variant "PRESENCE(rP_MTI = '011'B)"; }; - -// 7.3.3 RP-ACK -type record RP_ACK_MS_SGSN -{ - BIT3 rP_MTI, - BIT5 rP_Spare, // '00000'B - OCT1 rP_MessageReference, - RP_ACK_User_DataTLV_MS_SGSN rP_User_Data optional -} with { variant "PRESENCE(rP_MTI = '010'B)"; }; - -// 7.3.4 RP-ERROR -type record RP_ERROR_SGSN_MS -{ - BIT3 rP_MTI, - BIT5 rP_Spare, // '00000'B - OCT1 rP_Message_Reference, - RP_CauseLV rP_CauseLV, - RP_ERROR_User_DataTLV_SGSN_MS rP_User_Data optional -} with { variant "PRESENCE(rP_MTI = '101'B)"; }; - -// 7.3.4 RP-ERROR -type record RP_ERROR_MS_SGSN -{ - BIT3 rP_MTI, - BIT5 rP_Spare, // '00000'B - OCT1 rP_Message_Reference, - RP_CauseLV rP_CauseLV, - RP_ERROR_User_DataTLV_MS_SGSN rP_User_Data optional -} with { variant "PRESENCE(rP_MTI = '100'B)"; }; - -// 8.2.5.1 Originator address element -type record RP_OriginatorAddressLV -{ - LIN1 lengthIndicator, - RP_NumberingPlan_and_NumberDigits rP_OriginatorAddress optional -} with {variant(lengthIndicator)"LENGTHTO (rP_OriginatorAddress)"}; - - -// 8.2.5.2 Destination address element -type record RP_DestinationAddressLV -{ - LIN1 lengthIndicator, - RP_NumberingPlan_and_NumberDigits rP_DestinationAddress optional -} with { variant (lengthIndicator)"LENGTHTO (rP_DestinationAddress)"}; - -// 8.2.5.1 & 8.2.5.2 Originator address element -type record RP_NumberingPlan_and_NumberDigits -{ - BIT4 rP_NumberingPlanIdentification, - BIT3 rP_TypeOfNumber, - BIT1 rP_Ext, - hexstring rP_NumberDigits length (1..20) -} with { variant "PADDING(yes)"; - variant "PADDING_PATTERN('1111'B)"}; - - -// 8.2.5.4 RP-Cause element -type record RP_CauseLV -{ - LIN1 rP_LengthIndicator, - RP_CauseV rP_CauseV, - OCT1 rP_diagnisticField optional -} with { variant (rP_LengthIndicator)"LENGTHTO (rP_CauseV,rP_diagnisticField)"}; - -// 8.2.5.4 RP-Cause -type record RP_CauseV -{ - BIT7 causeValue, - BIT1 ext //'0'B -} - -// 8.2.5.3 RP-User data element -type record RP_DATA_User_DataLV_SGSN_MS -{ - LIN1 rP_LengthIndicator, - TPDU_RP_DATA_SGSN_MS rP_TPDU -} with { variant (rP_LengthIndicator) "LENGTHTO (rP_TPDU)"}; - -// 8.2.5.3 RP-User data element -type record RP_DATA_User_DataLV_MS_SGSN -{ - LIN1 rP_LengthIndicator, - TPDU_RP_DATA_MS_SGSN rP_TPDU -} with { variant (rP_LengthIndicator) "LENGTHTO (rP_TPDU)"}; - -// 8.2.5.3 RP-User data element -type record RP_ACK_User_DataTLV_SGSN_MS -{ - BIT1 rP_Spare, - BIT7 rP_UserDataIEI, - LIN1 rP_LengthIndicator, - TPDU_RP_ACK_SGSN_MS rP_TPDU -} with { variant "PRESENCE(rP_UserDataIEI = '1000001'B)"; - variant (rP_Spare,rP_UserDataIEI) "FIELDORDER(msb)"; - variant (rP_LengthIndicator) "LENGTHTO (rP_TPDU)"}; - -// 8.2.5.3 RP-User data element -type record RP_ACK_User_DataTLV_MS_SGSN -{ - BIT1 rP_Spare, - BIT7 rP_UserDataIEI, - LIN1 rP_LengthIndicator, - TPDU_RP_ACK_MS_SGSN rP_TPDU -} with { variant "PRESENCE(rP_UserDataIEI = '1000001'B)"; - variant (rP_Spare,rP_UserDataIEI) "FIELDORDER(msb)"; - variant (rP_LengthIndicator) "LENGTHTO (rP_TPDU)"}; - -// 8.2.5.3 RP-User data element -type record RP_ERROR_User_DataTLV_SGSN_MS -{ - BIT1 rP_Spare, - BIT7 rP_UserDataIEI, - LIN1 rP_LengthIndicator, - TPDU_RP_ERROR_SGSN_MS rP_TPDU -} with { variant "PRESENCE(rP_UserDataIEI = '1000001'B)"; - variant (rP_Spare,rP_UserDataIEI) "FIELDORDER(msb)"; - variant (rP_LengthIndicator) "LENGTHTO (rP_TPDU)"}; - -// 8.2.5.3 RP-User data element -type record RP_ERROR_User_DataTLV_MS_SGSN -{ - BIT1 rP_Spare, - BIT7 rP_UserDataIEI, - LIN1 rP_LengthIndicator, - TPDU_RP_ERROR_MS_SGSN rP_TPDU -} with { variant "PRESENCE(rP_UserDataIEI = '1000001'B)"; - variant (rP_Spare,rP_UserDataIEI) "FIELDORDER(msb)"; - variant (rP_LengthIndicator) "LENGTHTO (rP_TPDU)"}; - - -type union TPDU_RP_DATA_MS_SGSN -{ - SMS_SUBMIT sMS_SUBMIT, - SMS_COMMAND sMS_COMMAND -} with { - variant "TAG - ( - sMS_SUBMIT, tP_MTI = '01'B; - sMS_COMMAND, tP_MTI = '10'B; - )" -}; - - -type union TPDU_RP_DATA_SGSN_MS -{ - SMS_DELIVER sMS_DELIVER, - SMS_STATUS_REPORT sMS_STATUS_REPORT -} with { - variant "TAG - ( - sMS_DELIVER, tP_MTI = '00'B; - sMS_STATUS_REPORT, tP_MTI = '10'B; - )" -}; - - -type union TPDU_RP_ACK_MS_SGSN -{ - SMS_DELIVER_REPORT_in_RP_ACK sMS_DELIVER_REPORT -} with { - variant "TAG - ( - sMS_DELIVER_REPORT, tP_MTI = '00'B; - )" -}; - - -type union TPDU_RP_ACK_SGSN_MS -{ - SMS_SUBMIT_REPORT_in_RP_ACK sMS_SUBMIT_REPORT -} with { - variant "TAG - ( - sMS_SUBMIT_REPORT, tP_MTI = '01'B; - )" -}; - - -type union TPDU_RP_ERROR_MS_SGSN -{ - SMS_DELIVER_REPORT_in_RP_ERROR sMS_DELIVER_REPORT -} with { - variant "TAG - ( - sMS_DELIVER_REPORT, tP_MTI = '00'B; - )" -}; - - -type union TPDU_RP_ERROR_SGSN_MS -{ - SMS_SUBMIT_REPORT_in_RP_ERROR sMS_SUBMIT_REPORT -} with { - variant "TAG - ( - sMS_SUBMIT_REPORT, tP_MTI = '01'B; - )" -}; - - -//================================================================ -// END OF RP-MESSAGES -//================================================================ - - -//================================================================ -// TPDUs 23.040 9.2.2 -// (SMS_DELIVER, SMS_DELIVER_REPORT, SMS_SUBMIT, SMS_SUBMIT_REPORT, -// SMS_STATUS_REPORT, SMS_COMMAND) -//================================================================ - -// 23.040 9.2.2.1 -type record SMS_DELIVER -{ - BIT2 tP_MTI, - BIT1 tP_MMS, - BIT1 tP_LP, - BIT1 tP_Spare, //00 - BIT1 tP_SRI, - BIT1 tP_UDHI, - BIT1 tP_RP, - - TP_OA tP_OA, - - OCT1 tP_PID, - - TP_DCS tP_DCS, - //See 23.038 Section 4 for encoding tP_DCS - OCT7 tP_SCTS, - - TP_UDL_UD tP_UDL_UD -} with { variant "PRESENCE(tP_MTI = '00'B)"; }; - -// 23.040 9.2.2.1a(i) -type record SMS_DELIVER_REPORT_in_RP_ERROR -{ - BIT2 tP_MTI, - BIT4 tP_Spare1, //'0000'B - BIT1 tP_UDHI, - BIT1 tP_Spare2, //'0'B - - OCT1 tP_FCS, - - BIT1 tP_PresenceBitTP_PID, - BIT1 tP_PresenceBitTP_DCS, - BIT1 tP_PresenceBitTP_UDL, - BIT4 tP_Reserved, - BIT1 tP_ExtensionBit, - // note:current implementation PID is 1 octet ->tP_extensionBit=0 - OCT1 tP_PID optional, - //See 23.038 for encoding tP_DCS - TP_DCS tP_DCS optional, - - TP_UDL_UD tP_UDL_UD optional -} with { variant "PRESENCE(tP_MTI = '00'B)"; - variant (tP_PID) "PRESENCE(tP_PresenceBitTP_PID = '1'B)"; - variant (tP_DCS) "PRESENCE(tP_PresenceBitTP_DCS = '1'B)"; - variant (tP_UDL_UD) "PRESENCE(tP_PresenceBitTP_UDL = '1'B)"}; - -// 23.040 9.2.2.1a(ii) -type record SMS_DELIVER_REPORT_in_RP_ACK -{ - BIT2 tP_MTI, - BIT4 tP_Spare1, //'0000'B - BIT1 tP_UDHI, - BIT1 tP_Spare2, //'0'B - - BIT1 tP_PresenceBitTP_PID, - BIT1 tP_PresenceBitTP_DCS, - BIT1 tP_PresenceBitTP_UDL, - BIT4 tP_Reserved, - BIT1 tP_ExtensionBit, - // note:current implementation PID is 1 octet ->tP_extensionBit=0 - OCT1 tP_PID optional, - //See 23.038 for encoding tP_DCS - TP_DCS tP_DCS optional, - - TP_UDL_UD tP_UDL_UD optional -} with { variant "PRESENCE(tP_MTI = '00'B)"; - variant (tP_PID) "PRESENCE(tP_PresenceBitTP_PID = '1'B)"; - variant (tP_DCS) "PRESENCE(tP_PresenceBitTP_DCS = '1'B)"; - variant (tP_UDL_UD) "PRESENCE(tP_PresenceBitTP_UDL = '1'B)"}; - -// 23.040 9.2.2.2 -type record SMS_SUBMIT -{ - BIT2 tP_MTI, - BIT1 tP_RD, - BIT2 tP_VPF, - BIT1 tP_SRR, - BIT1 tP_UDHI, - BIT1 tP_RP, - OCT1 tP_MR, - - TP_DA tP_DA, - - OCT1 tP_PID, - //See 23.038 for encoding tP_DCS - TP_DCS tP_DCS, - - TP_VP tP_VP optional, // depends on tP_VPF - - TP_UDL_UD tP_UDL_UD -} with { variant "PRESENCE(tP_MTI = '01'B)"; - variant (tP_VP)"CROSSTAG( -// tP_VP_not_present, tP_VPF='00'B; - tP_VP_relative_format, tP_VPF='10'B; - tP_VP_enhanced_format, tP_VPF='01'B; - tP_VP_absolute_format, tP_VPF='11'B - )"; - variant (tP_VP) "PRESENCE(tP_VPF='10'B, tP_VPF='01'B, tP_VPF='11'B)" - }; - -// 23.040 9.2.2.2a (i) -type record SMS_SUBMIT_REPORT_in_RP_ERROR // for RP_Error -{ - BIT2 tP_MTI, - BIT4 tP_Spare1, - BIT1 tP_UDHI, - BIT1 tP_Spare2, - - OCT1 tP_FCS, - - BIT1 tP_PresenceBitTP_PID, - BIT1 tP_PresenceBitTP_DCS, - BIT1 tP_PresenceBitTP_UDL, - BIT4 tP_Reserved, - BIT1 tP_ExtensionBit, - // note:current implementation PID is 1 octet ->tP_extensionBit=0 - - OCT7 tP_SCTS, - - OCT1 tP_PID optional, - //See 23.038 for encoding tP_DCS - TP_DCS tP_DCS optional, - - TP_UDL_UD tP_UDL_UD optional -} with { variant "PRESENCE(tP_MTI = '01'B)"; - variant (tP_PID) "PRESENCE(tP_PresenceBitTP_PID = '1'B)"; - variant (tP_DCS) "PRESENCE(tP_PresenceBitTP_DCS = '1'B)"; - variant (tP_UDL_UD) "PRESENCE(tP_PresenceBitTP_UDL = '1'B)"} - -// 23.040 9.2.2.2a (ii) -type record SMS_SUBMIT_REPORT_in_RP_ACK // for RP_ACK -{ - BIT2 tP_MTI, - BIT4 tP_Spare1, - BIT1 tP_UDHI, - BIT1 tP_Spare2, - - BIT1 tP_PresenceBitTP_PID, - BIT1 tP_PresenceBitTP_DCS, - BIT1 tP_PresenceBitTP_UDL, - BIT4 tP_Reserved, - BIT1 tP_ExtensionBit, - // note:current implementation PID is 1 octet ->tP_extensionBit=0 - OCT7 tP_SCTS, - - OCT1 tP_PID optional, - //See 23.038 for encoding tP_DCS - TP_DCS tP_DCS optional, - - TP_UDL_UD tP_UDL_UD optional -} with { variant "PRESENCE(tP_MTI = '01'B)"; - variant (tP_PID) "PRESENCE(tP_PresenceBitTP_PID = '1'B)"; - variant (tP_DCS) "PRESENCE(tP_PresenceBitTP_DCS = '1'B)"; - variant (tP_UDL_UD) "PRESENCE(tP_PresenceBitTP_UDL = '1'B)"} - -// 23.040 9.2.2.3 -type record SMS_STATUS_REPORT -{ - BIT2 tP_MTI, - BIT1 tP_MMS, - BIT1 tP_LP, - BIT1 tP_Spare1, - BIT1 tP_SRQ, - BIT1 tP_UDHI, - BIT1 tP_Spare2, - - OCT1 tP_MR, - - TP_RA tP_RA, - - OCT7 tP_SCTS, - - OCT7 tP_DT, - - OCT1 tP_ST, - - BIT1 tP_PresenceBitTP_PID optional, - BIT1 tP_PresenceBitTP_DCS optional, - BIT1 tP_PresenceBitTP_UDL optional, - BIT4 tP_Reserved optional, - BIT1 tP_ExtensionBit optional, - // note:current implementation PID is 1 octet ->tP_extensionBit=0 - OCT1 tP_PID optional, - - TP_DCS tP_DCS optional, - //See 23.038 for encoding tP_DCS - TP_UDL_UD tP_UDL_UD optional -} with { variant "PRESENCE(tP_MTI = '10'B)"; - variant (tP_PID) "PRESENCE(tP_PresenceBitTP_PID = '1'B)"; - variant (tP_DCS) "PRESENCE(tP_PresenceBitTP_DCS = '1'B)"; - variant (tP_UDL_UD) "PRESENCE(tP_PresenceBitTP_UDL = '1'B)"} - -// 23.040 9.2.2.4 -type record SMS_COMMAND -{ - BIT2 tP_MTI, - BIT3 tP_Spare1, - BIT1 tP_SRR, - BIT1 tP_UDHI, - BIT1 tP_Spare2, - - OCT1 tP_MR, - - OCT1 tP_PID, - - OCT1 tP_CT, - - OCT1 tP_MN, - - TP_DA tP_DA, - - TP_CDL_CD tP_CDL_CD -} with { variant "PRESENCE(tP_MTI = '10'B)"; }; -//================================================================ -// END OF TPDUs 23.040 9.2.2 -//================================================================ - -//================================================================ -// TPDU Parameters 23.040 9.2.3 -//================================================================ -type record TP_OA -{ - TP_OA_NoPad tP_OA_NoPad -} with { variant "PADDING(yes), PADDING_PATTERN('1111'B)"}; -//Note: Padding is handled automatically here. - -type record TP_OA_NoPad -{ - LIN1 tP_LengthIndicator, //0-20 - BIT4 tP_NumberingPlanID, - BIT3 tP_TypeOfNumber, - BIT1 tp_Spare, - hexstring tP_OAValue length (0..20) - // Note: tP_OAValue does not incude the padding half-octet. - // It includes only useful tP_OAValue digits. - // Padding after tP_OAValue digits is handled - // automatically and the tester does not see it in - // the TTCN templates -} with { variant (tP_LengthIndicator) "LENGTHTO (tP_OAValue)"; - variant (tP_LengthIndicator) "UNIT(4)";}; - -type record TP_CDL_CD -{ - LIN1 tP_CDL, // length is possible - octetstring tP_CD -} with { variant (tP_CDL) "LENGTHTO (tP_CD)"}; - -type record TP_RA -{ - TP_RA_NoPad tP_RA_NoPad -} with { variant "PADDING(yes), PADDING_PATTERN('1111'B)"}; -//Note: Padding is handled automatically here. - -type record TP_RA_NoPad -{ - LIN1 tP_LengthIndicator, //0-20 - BIT4 tP_NumberingPlanID, - BIT3 tP_TypeOfNumber, - BIT1 tp_Spare, - hexstring tP_RAValue length (0..20) - // Note: tP_RAValue does not incude the padding half-octet. - // It includes only useful tP_RAValue digits. - // Padding after tP_RAValue digits is handled - // automatically and the tester does not see it in - // the TTCN templates -} with { variant (tP_LengthIndicator) "LENGTHTO (tP_RAValue)"; - variant (tP_LengthIndicator) "UNIT(4)";}; - -type union TP_VP -{ -// OCT0 tP_VP_not_present, - OCT1 tP_VP_relative_format, - OCT7 tP_VP_enhanced_format, - OCT7 tP_VP_absolute_format -}; - -type record TP_DA -{ - TP_DA_NoPad tP_DA_NoPad -} with { variant "PADDING(yes), PADDING_PATTERN('1111'B)"}; -//Note: Padding is handled automatically here. - -type record TP_DA_NoPad -{ - LIN1 tP_LengthIndicator, //0-20 - BIT4 tP_NumberingPlanID, - BIT3 tP_TypeOfNumber, - BIT1 tp_Spare, - hexstring tP_DAValue length (0..20) - // Note: tP_DAValue does not incude the padding half-octet. - // It includes only useful tP_DAValue digits. - // Padding after tP_DAValue digits is handled - // automatically and the tester does not see it in - // the TTCN templates -} with { variant (tP_LengthIndicator) "LENGTHTO (tP_DAValue)"; - variant (tP_LengthIndicator) "UNIT(4)"; }; - - -// Note that tP_LengthIndicator in TP_UDL_UD gives the data length in septets or -// octets. Septets are used for uncompressed GSM 7 bit default alphabet coding -// Octets are used for all other variations. -// IT IS NOT CALCULATED AUTOMATICALLY BY THE RAW CODER. -// This will not be a problem during decoding. -// For encoding correct messages the tester has to enter manually -// or calculate the correct tP_LengthIndicator with a function. -// Note also that the septet or octet choice depends on the various -// bit combinations in field TP_DCS. See 23.038 Section 4. -type record TP_UDL_UD -{ - integer tP_LengthIndicator, // could be zero length - octetstring tP_UD -} - -// See 23.038 for encoding TP_DCS -// The various bit combinations in TP_DCS determine -// the coding of TP_UDL_UD -type OCT1 TP_DCS; - -//================================================================ -// END of TPDU Parameters 23.040 9.2.3 -//================================================================ - -}//end of module -with { -extension "version R1B" -encode "RAW" -} - diff --git a/MobileL3_v13.4.0_CNL113832_LATEST/src/MobileL3_SS_Types.ttcn b/MobileL3_v13.4.0_CNL113832_LATEST/src/MobileL3_SS_Types.ttcn deleted file mode 100644 index 6e8d34e91..000000000 --- a/MobileL3_v13.4.0_CNL113832_LATEST/src/MobileL3_SS_Types.ttcn +++ /dev/null @@ -1,102 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// // -// 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_SS_Types.ttcn -// Rev: R1B -// Prodnr: CNL 113 832 -// Contact: http://ttcn.ericsson.se -// Reference: 3GPP TS 24.080 v13.0.0 - -module MobileL3_SS_Types -{ - -import from General_Types all; -import from MobileL3_CommonIE_Types all; - -//**************************************************************************** -// 24.080/2.3 Facility -// see also 9.3.9.1 (NW->MS) and 9.3.9.2 (MS->NW) Facility -//**************************************************************************** -type record PDU_ML3_SS_Facility -{ - BIT6 messageType, // '111010'B; facilityIEI - BIT2 nsd, - Facility_LV facility // see 24.008/10.5.4.15 in Mobility_L3_CommonIE_Types and - // see 24.080/3.6 how to extract -} - -//**************************************************************************************** -//24.080/2.4.1 Register (NW->MS) -//**************************************************************************************** -type record PDU_ML3_SS_Register_NW_MS -{ - BIT6 messageType, // '111011'B Register - BIT2 nsd, - Facility_TLV facility -}; - -//**************************************************************************************** -//24.080/2.4.1 Register ( MS->NW) -//**************************************************************************************** -type record PDU_ML3_SS_Register_MS_NW -{ - BIT6 messageType, // '111011'B Register - BIT2 nsd, - Facility_TLV facility, - SS_VersionIndicator ss_version optional -} with { variant "TAG ( - ss_version, elementIdentifier = '7F'O;)"}; - - -//**************************************************************************** -// 2.5 Release Complete -// see also 24.008/9.3.19.1 -//**************************************************************************** -type record PDU_ML3_SS_ReleaseComplete -{ - BIT6 messageType, // '101010'B ReleaseComplete - BIT2 nsd, // sent by the NW: '00'B - ML3_Cause_TLV cause optional, - Facility_TLV facility optional -} with { variant "TAG ( - cause, elementIdentifier = '08'O; - facility, elementIdentifier = '1C'O;)"}; - -/**************************************************************************************** - MobileL3 Supplementary Service Management - TS 24.080 / 2.2 - ****************************************************************************************/ -type union PDU_ML3_SS_MS_NW -{ - PDU_ML3_SS_Facility facility, - PDU_ML3_SS_Register_MS_NW register, - PDU_ML3_SS_ReleaseComplete releaseComplete_MS_NW -} with { variant "TAG ( - facility, messageType ='111010'B; - register, messageType ='111011'B; - releaseComplete_MS_NW, messageType ='101010'B;)"}; - -type union PDU_ML3_SS_NW_MS -{ - PDU_ML3_SS_Facility facility, - PDU_ML3_SS_Register_NW_MS register, - PDU_ML3_SS_ReleaseComplete releaseComplete_NW_MS -} with { variant "TAG ( - facility, messageType ='111010'B; - register, messageType ='111011'B; - releaseComplete_NW_MS, messageType ='101010'B;)"}; - -}//end of module -with { -extension "version R1B" -encode "RAW" -} - diff --git a/MobileL3_v13.4.0_CNL113832_LATEST/src/MobileL3_Types.ttcn b/MobileL3_v13.4.0_CNL113832_LATEST/src/MobileL3_Types.ttcn deleted file mode 100644 index 6e28c0ebc..000000000 --- a/MobileL3_v13.4.0_CNL113832_LATEST/src/MobileL3_Types.ttcn +++ /dev/null @@ -1,403 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// // -// 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_Types.ttcn -// Rev: R1B -// Prodnr: CNL 113 832 -// Contact: http://ttcn.ericsson.se -// Reference: 3GPP TS 24.008 v13.4.0 - -module MobileL3_Types -{ - -import from General_Types all; -import from MobileL3_CommonIE_Types all; -import from MobileL3_GMM_SM_Types all; -import from MobileL3_MM_Types all; -import from MobileL3_CC_Types all; -import from MobileL3_RRM_Types all; -import from MobileL3_SMS_Types all; -//import from MobileL3_SS_Types all; - -external function enc_PDU_L3_MS_SGSN(in PDU_L3_MS_SGSN pdu) return octetstring -with { extension "prototype(convert)" extension "encode(RAW)" } -external function enc_PDU_L3_MS_SGSN_fast(in PDU_L3_MS_SGSN pdu, out octetstring stream) -with { extension "prototype(fast)" extension "encode(RAW)" } - -// new external function for decoding MS -> SGSN -external function dec_PDU_L3_MS_SGSN(in octetstring stream) return PDU_L3_MS_SGSN -with { extension "prototype(convert)" extension "decode(RAW)" } -external function dec_PDU_L3_MS_SGSN_backtrack(in octetstring stream, out PDU_L3_MS_SGSN pdu) return integer -with { extension "prototype(backtrack)" extension "decode(RAW)" } - -// new external function for encoding SGSN -> MS -external function enc_PDU_L3_SGSN_MS(in PDU_L3_SGSN_MS pdu) return octetstring -with { extension "prototype(convert)" extension "encode(RAW)" } -external function enc_PDU_L3_SGSN_MS_fast(in PDU_L3_SGSN_MS pdu, out octetstring stream) -with { extension "prototype(fast)" extension "encode(RAW)" } - -external function dec_PDU_L3_SGSN_MS(in octetstring stream) return PDU_L3_SGSN_MS -with { extension "prototype(convert)" extension "decode(RAW)" } -external function dec_PDU_L3_SGSN_MS_backtrack(in octetstring stream, out PDU_L3_SGSN_MS pdu) return integer -with { extension "prototype(backtrack)" extension "decode(RAW)" } - -external function enc_PDU_ML3_NW_MS(in PDU_ML3_NW_MS pdu) return octetstring -with { extension "prototype(convert)" extension " encode(RAW)" } -external function enc_PDU_ML3_NW_MS_fast(in PDU_ML3_NW_MS pdu, out octetstring stream) -with { extension "prototype(fast)" extension " encode(RAW)" } - -external function dec_PDU_ML3_NW_MS(in octetstring stream) return PDU_ML3_NW_MS -with { extension "prototype(convert)" extension " decode(RAW)" } -external function dec_PDU_ML3_NW_MS_backtrack(in octetstring stream, out PDU_ML3_NW_MS pdu) return integer -with { extension "prototype(backtrack)" extension " decode(RAW)" } - -external function enc_PDU_ML3_MS_NW(in PDU_ML3_MS_NW pdu) return octetstring -with { extension "prototype(convert)" extension " encode(RAW)" } -external function enc_PDU_ML3_MS_NW_fast(in PDU_ML3_MS_NW pdu, out octetstring stream) -with { extension "prototype(fast)" extension " encode(RAW)" } - -external function dec_PDU_ML3_MS_NW(in octetstring stream) return PDU_ML3_MS_NW -with { extension "prototype(convert)" extension " decode(RAW)" } -external function dec_PDU_ML3_MS_NW_backtrack(in octetstring stream, out PDU_ML3_MS_NW pdu) return integer -with { extension "prototype(backtrack)" extension " decode(RAW)" } - -// *************************************************************************** -// * The container types of all L3_PDU -// *************************************************************************** -type record L3_TransactionId -{ - BIT3 tio, - BIT1 tiFlag , - TI_Extension tIExtension optional - // an extension octet (TI) can be used for session management messages - // not yet implemented (see 24.008 clause 10.3.2 for more detail -} with { variant (tIExtension) "PRESENCE(tio = '111'B)" }; - -type record L3_TransactionId_not_extended -{ - BIT3 tio, - BIT1 tiFlag -}; - -type union TiOrSkip_not_extended -{ - BIT4 skipIndicator, - L3_TransactionId_not_extended transactionId -}; - - -type union TiOrSkip -{ - BIT4 skipIndicator, - L3_TransactionId transactionId -}; - -type union L3_Discr_SGSN_MS -{ - octetstring gcc, //group call control - octetstring bcc, // broadcast call control - octetstring cc, // call control; call related SS messages PDU_ypes_CC_MSC_MS - octetstring gttp, // GPRS Transparent Transport Protocol - octetstring mm, // mobility management messages PDU_DTAP_MM - octetstring rrm, // radio resource management messages PDU_DTAP_RRM - L3_GMM_SGSN_MS gprs_mm, // GPRS mobility management messages - octetstring sms, // SMS messages - L3_GSM_SGSN_MS gprs_sm, // GPRS session management messages - octetstring ss, // non call related SS messages - octetstring loc, // Location services - octetstring reserved -}; - - -type record PDU_L3_SGSN_MS_unextended_ti -{ - BIT4 discriminator, - TiOrSkip_not_extended tiOrSkip, - L3_Discr_SGSN_MS msgs -} with { variant (msgs)"CROSSTAG( - gcc, discriminator='0000'B; - bcc, discriminator='0001'B; - cc, discriminator='0011'B; - gttp, discriminator='0100'B; - mm, discriminator='0101'B; - rrm, discriminator='0110'B; - gprs_mm, discriminator='1000'B; - sms, discriminator='1001'B; - gprs_sm, discriminator='1010'B; - ss, discriminator='1011'B; - loc, discriminator='1100'B; - reserved, { discriminator='0010'B, - discriminator='0111'B, - discriminator='1101'B, - discriminator='1110'B, - discriminator='1111'B } - )"; - variant (tiOrSkip)"CROSSTAG( - skipIndicator, { discriminator='0000'B, - discriminator='0001'B, - discriminator='0010'B, - discriminator='0100'B, - discriminator='0101'B, - discriminator='0110'B, - discriminator='0111'B, - discriminator='1000'B, - discriminator='1100'B, - discriminator='1101'B, - discriminator='1110'B, - discriminator='1111'B }; - transactionId, { discriminator='0011'B, - discriminator='1001'B, - discriminator='1011'B, - discriminator='1010'B } - )"; -}; - - -type record PDU_L3_SGSN_MS -{ - BIT4 discriminator, - TiOrSkip tiOrSkip, - L3_Discr_SGSN_MS msgs -} with { variant (msgs)"CROSSTAG( - gcc, discriminator='0000'B; - bcc, discriminator='0001'B; - cc, discriminator='0011'B; - gttp, discriminator='0100'B; - mm, discriminator='0101'B; - rrm, discriminator='0110'B; - gprs_mm, discriminator='1000'B; - sms, discriminator='1001'B; - gprs_sm, discriminator='1010'B; - ss, discriminator='1011'B; - loc, discriminator='1100'B; - reserved, { discriminator='0010'B, - discriminator='0111'B, - discriminator='1101'B, - discriminator='1110'B, - discriminator='1111'B } - )"; - variant (tiOrSkip)"CROSSTAG( - skipIndicator, { discriminator='0000'B, - discriminator='0001'B, - discriminator='0010'B, - discriminator='0100'B, - discriminator='0101'B, - discriminator='0110'B, - discriminator='0111'B, - discriminator='1000'B, - discriminator='1100'B, - discriminator='1101'B, - discriminator='1110'B, - discriminator='1111'B }; - transactionId, { discriminator='0011'B, - discriminator='1011'B, - discriminator='1001'B, - discriminator='1010'B } - )"; -}; - - -type union L3_Discr_MS_SGSN -{ - octetstring gcc, //group call control - octetstring bcc, // broadcast call control - octetstring cc, // call control; call related SS messages PDU_DTAP_CC_MS_MSC - octetstring gttp, // GPRS Transparent Transport Protocol - octetstring mm, // mobility management messages PDU_DTAP_MM - octetstring rrm, // radio resource management messages PDU_DTAP_RRM - L3_GMM_MS_SGSN gprs_mm, // GPRS mobility management messages - octetstring sms, // SMS messages - L3_GSM_MS_SGSN gprs_sm, // GPRS session management messages - octetstring ss, // non call related SS messages - octetstring loc, // Location services - octetstring reserved -}; - - -type record PDU_L3_MS_SGSN -{ - BIT4 discriminator, - TiOrSkip tiOrSkip, - L3_Discr_MS_SGSN msgs -} with { variant (msgs)"CROSSTAG( - gcc, discriminator='0000'B; - bcc, discriminator='0001'B; - cc, discriminator='0011'B; - gttp, discriminator='0100'B; - mm, discriminator='0101'B; - rrm, discriminator='0110'B; - gprs_mm, discriminator='1000'B; - sms, discriminator='1001'B; - gprs_sm, discriminator='1010'B; - ss, discriminator='1011'B; - loc, discriminator='1100'B; - reserved, { discriminator='0010'B, - discriminator='0111'B, - discriminator='1101'B, - discriminator='1110'B, - discriminator='1111'B } - )"; - variant (tiOrSkip)"CROSSTAG( - skipIndicator, { discriminator='0000'B, - discriminator='0001'B, - discriminator='0010'B, - discriminator='0100'B, - discriminator='0101'B, - discriminator='0110'B, - discriminator='0111'B, - discriminator='1000'B, - discriminator='1100'B, - discriminator='1101'B, - discriminator='1110'B, - discriminator='1111'B }; - transactionId, { discriminator='0011'B, - discriminator='1001'B, - discriminator='1011'B, - discriminator='1010'B } - )"; -}; - - -//*************************************************************************** -// 24.007/11.2.3.1.1 and 24.008/10.2 Protocol Discriminator NW->MS -//*************************************************************************** -type union ML3_Discr_NW_MS -{ - octetstring gcc, // group call control <- 24.068 WITHDRAWN - octetstring bcc, // broadcast call control <- 24.069 WITHDRAWN - PDU_ML3_CC_NW_MS cc, // call control; call related SS messages <-24.008, implemented - octetstring gttp, // GPRS Transparent Transport Protocol <- not required in MSC - PDU_ML3_MM mm, // mobility management messages <- 24.008, - PDU_RRM_NW_MS rrm, // radio resource management messages <- 24.008, 24.018 - octetstring gprs_mm, // GPRS mobility management messages <- Not required in MSC - // but implemented as L3_GMM_SGSN_MS in L3_Types (SGSN) - L3_SMS_SGSN_MS sms, // SMS messages - //<-24.011, imported from L3_SMS_Types - octetstring gprs_sm, // GPRS session management messages <- not required in MSC - // but impl. as L3_GMM_MS_SGSN in L3_GSM_SGSN_MS_Types - octetstring ss, // non call related SS messages - //<- 24.080 ASN1 or implemented by ethgbh - octetstring loc, // Location services(LCS) <- 24.030 - octetstring reserved -}; - - -// ref: 24.007/11.2.3.1.1 "Protocol discriminator" and -// Table 11.2 "Protocol dicriminator values" -type record PDU_ML3_NW_MS -{ - BIT4 discriminator, //24.008/10.2 - TiOrSkip tiOrSkip, //24.008/10.3 - ML3_Discr_NW_MS msgs -} with { variant (msgs)"CROSSTAG( - gcc, discriminator='0000'B; - bcc, discriminator='0001'B; - cc, discriminator='0011'B; - gttp, discriminator='0100'B; - mm, discriminator='0101'B; - rrm, discriminator='0110'B; - gprs_mm, discriminator='1000'B; - sms, discriminator='1001'B; - gprs_sm, discriminator='1010'B; - ss, discriminator='1011'B; - loc, discriminator='1100'B; - reserved, { discriminator='0010'B, - discriminator='0111'B, - discriminator='1101'B, - discriminator='1110'B, - discriminator='1111'B } - )"; - variant (tiOrSkip)"CROSSTAG( - skipIndicator, { discriminator='0000'B, - discriminator='0001'B, - discriminator='0010'B, - discriminator='0100'B, - discriminator='0101'B, - discriminator='0110'B, - discriminator='0111'B, - discriminator='1000'B, - discriminator='1100'B, - discriminator='1101'B, - discriminator='1110'B, - discriminator='1111'B }; - transactionId, { discriminator='0011'B, - discriminator='1001'B, - discriminator='1011'B, - discriminator='1010'B } - )"; -}; - - -type union ML3_Discr_MS_NW -{ - octetstring gcc, //group call control - octetstring bcc, // broadcast call control - PDU_ML3_CC_MS_NW cc, // call control; call related SS messages - octetstring gttp, // GPRS Transparent Transport Protocol - PDU_ML3_MM mm, // mobility management messages - PDU_RRM_MS_NW rrm, // radio resource management messages - octetstring gprs_mm, // GPRS mobility management messages - L3_SMS_MS_SGSN sms, // SMS messages - octetstring gprs_sm, // GPRS session management messages - octetstring ss, // non call related SS messages - octetstring loc, // Location services - octetstring reserved -}; - -type record PDU_ML3_MS_NW -{ - BIT4 discriminator, - TiOrSkip tiOrSkip, - ML3_Discr_MS_NW msgs -} with { variant (msgs)"CROSSTAG( - gcc, discriminator='0000'B; - bcc, discriminator='0001'B; - cc, discriminator='0011'B; - gttp, discriminator='0100'B; - mm, discriminator='0101'B; - rrm, discriminator='0110'B; - gprs_mm, discriminator='1000'B; - sms, discriminator='1001'B; - gprs_sm, discriminator='1010'B; - ss, discriminator='1011'B; - loc, discriminator='1100'B; - reserved, { discriminator='0010'B, - discriminator='0111'B, - discriminator='1101'B, - discriminator='1110'B, - discriminator='1111'B } - )"; - variant (tiOrSkip)"CROSSTAG( - skipIndicator, { discriminator='0000'B, - discriminator='0001'B, - discriminator='0010'B, - discriminator='0100'B, - discriminator='0101'B, - discriminator='0110'B, - discriminator='0111'B, - discriminator='1000'B, - discriminator='1100'B, - discriminator='1101'B, - discriminator='1110'B, - discriminator='1111'B }; - transactionId, { discriminator='0011'B, //24.008/10.3.2 - discriminator='1001'B, - discriminator='1011'B, - discriminator='1010'B } //24.008/10.3.2 - )"; -}; - -}//end of module -with { -extension "version R1B" -encode "RAW" -} - diff --git a/MobileL3_v13.4.0_CNL113832_LATEST/src/MobileL3_v13.4.0_ProtocolModule.grp b/MobileL3_v13.4.0_CNL113832_LATEST/src/MobileL3_v13.4.0_ProtocolModule.grp deleted file mode 100644 index 6e2062c59..000000000 --- a/MobileL3_v13.4.0_CNL113832_LATEST/src/MobileL3_v13.4.0_ProtocolModule.grp +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/MobileL3_v13.4.0_CNL113832_LATEST/src/SS_DataTypes.asn b/MobileL3_v13.4.0_CNL113832_LATEST/src/SS_DataTypes.asn deleted file mode 100644 index e05ced255..000000000 --- a/MobileL3_v13.4.0_CNL113832_LATEST/src/SS_DataTypes.asn +++ /dev/null @@ -1,502 +0,0 @@ ---///////////////////////////////////////////////////////////////////////////// --- // --- 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: SS_DataTypes.asn --- Rev: R1B --- Prodnr: CNL 113 832 --- Contact: http://ttcn.ericsson.se --- Reference: 3GPP TS 24.080 v13.0.0 - -SS-DataTypes { - itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Access (2) modules (3) - ss-DataTypes (2) version12 (12)} - -DEFINITIONS - -IMPLICIT TAGS ::= - -BEGIN - --- exports all data types defined in this module - -IMPORTS - -SS-Code -FROM MAP-SS-Code { - itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3) - map-SS-Code (15) version12 (12)} - --- imports MAP-SS-DataTypes -SS-Status, USSD-DataCodingScheme, USSD-String, CCBS-Feature --- USSD-DataCodingScheme, USSD-String were introduced because of CNAP. -FROM MAP-SS-DataTypes { - itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3) - map-SS-DataTypes (14) version12 (12)} - -GSN-Address, -CUG-Index, -NotificationToMSUser -FROM MAP-MS-DataTypes { - itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3) - map-MS-DataTypes (11) version12 (12)} - -maxSignalInfoLength, -ISDN-AddressString, -ISDN-SubaddressString, -AlertingPattern, -LCSClientExternalID, -AddressString, -LCSServiceTypeID, -AgeOfLocationInformation -FROM MAP-CommonDataTypes { - itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3) - map-CommonDataTypes (18) version12 (12)} - -LocationType, -DeferredLocationEventType, -LCSClientName, -LCS-QoS, -Horizontal-Accuracy, -ResponseTime, -Ext-GeographicalInformation, -VelocityEstimate, -SupportedGADShapes, -Add-GeographicalInformation, -LCSRequestorID, -LCS-ReferenceNumber, -LCSCodeword, -AreaEventInfo, -ReportingPLMNList, -PeriodicLDRInfo, -SequenceNumber - -FROM MAP-LCS-DataTypes { - itu-t identified-organization (4) etsi (0) mobileDomain (0) - gsm-Network (1) modules (3) map-LCS-DataTypes (25) version12 (12)} - -; - --- data types definition - -SS-UserData ::= IA5String (SIZE (1.. maxSignalInfoLength)) - -NotifySS-Arg ::= SEQUENCE{ - ss-Code [1] SS-Code OPTIONAL, - ss-Status [4] SS-Status OPTIONAL, - ss-Notification [5] SS-Notification OPTIONAL, - callIsWaiting-Indicator [14] NULL OPTIONAL, - callOnHold-Indicator [15] CallOnHold-Indicator OPTIONAL, - mpty-Indicator [16] NULL OPTIONAL, - cug-Index [17] CUG-Index OPTIONAL, - clirSuppressionRejected [18] NULL OPTIONAL, - ... , - ect-Indicator [19] ECT-Indicator OPTIONAL, - nameIndicator [20] NameIndicator OPTIONAL, - ccbs-Feature [21] CCBS-Feature OPTIONAL, - alertingPattern [22] AlertingPattern OPTIONAL, - multicall-Indicator [23] Multicall-Indicator OPTIONAL} - --- The nameIndicator is defined because of CNAP. - -Multicall-Indicator ::= ENUMERATED { - nbr-SNexceeded (0), - nbr-Userexceeded (1)} - -ForwardChargeAdviceArg ::= SEQUENCE{ - ss-Code [0] SS-Code, - chargingInformation [1] ChargingInformation, - ...} - -SS-Notification ::= OCTET STRING (SIZE (1)) - --- Bit 8 7 6 5 4 00000 (Unused) - --- Bit 3 Call is forwarded indication to A-subscriber --- (calling subscriber) --- 0 No information content --- 1 Outgoing call has been forwarded to C - --- Bit 2 Call is forwarded indication to B-subscriber --- (forwarding subscriber) --- 0 No information content --- 1 Incoming call has been forwarded to C - --- Bit 1 Call is forwarded indication to C-subscriber --- (forwarded-to subscriber) --- 0 No information content --- 1 Incoming call is a forwarded call - -ChargingInformation ::= SEQUENCE{ - e1 [1] E1 OPTIONAL, - e2 [2] E2 OPTIONAL, - e3 [3] E3 OPTIONAL, - e4 [4] E4 OPTIONAL, - e5 [5] E5 OPTIONAL, - e6 [6] E6 OPTIONAL, - e7 [7] E7 OPTIONAL, - ...} - -E1 ::= INTEGER (0..max10TimesUnitsPerTime) -max10TimesUnitsPerTime INTEGER ::= 8191 - -E2 ::= INTEGER (0..max10TimesTimeInterval) -max10TimesTimeInterval INTEGER ::= 8191 - -E3 ::= INTEGER (0..max100TimesScalingFactor) -max100TimesScalingFactor INTEGER ::= 8191 - -E4 ::= INTEGER (0..max10TimesIncrement) -max10TimesIncrement INTEGER ::= 8191 - -E5 ::= INTEGER (0..max10TimesIncrementPerDataInterval) -max10TimesIncrementPerDataInterval INTEGER ::= 8191 - -E6 ::= INTEGER (0..maxNumberOfSegmentsPerDataInterval) -maxNumberOfSegmentsPerDataInterval INTEGER ::= 8191 - -E7 ::= INTEGER (0..max10TimesInitialTime) -max10TimesInitialTime INTEGER ::= 8191 - -CallOnHold-Indicator ::= ENUMERATED { - callRetrieved (0), - callOnHold (1)} - -ForwardCUG-InfoArg ::= SEQUENCE { - cug-Index [0] CUG-Index OPTIONAL, - suppressPrefCUG [1] NULL OPTIONAL, - suppressOA [2] NULL OPTIONAL, - ...} - -ECT-Indicator ::= SEQUENCE { - ect-CallState [0] ECT-CallState, - rdn [1] RDN OPTIONAL, - ...} - -ECT-CallState ::= ENUMERATED { - alerting (0), - active (1)} - - NameIndicator ::= SEQUENCE { - callingName [0] Name OPTIONAL, - ...} - - Name ::= CHOICE { - namePresentationAllowed [0] NameSet, - presentationRestricted [1] NULL, - nameUnavailable [2] NULL, - namePresentationRestricted [3] NameSet} - - NameSet ::= SEQUENCE { - dataCodingScheme [0] USSD-DataCodingScheme, - lengthInCharacters [1] INTEGER, - nameString [2] USSD-String, - ...} - --- NameIndicator, Name and NameSet are defined because of CNAP. --- The USSD-DataCodingScheme shall indicate use of the default alphabet through the --- following encoding: --- bit 7 6 5 4 3 2 1 0 --- | 0 0 0 0 | 1 1 1 1| - -RDN ::= CHOICE { - presentationAllowedAddress [0] RemotePartyNumber, - presentationRestricted [1] NULL, - numberNotAvailableDueToInterworking [2] NULL, - presentationRestrictedAddress [3] RemotePartyNumber} - -RemotePartyNumber ::= SEQUENCE { - partyNumber [0] ISDN-AddressString, - partyNumberSubaddress [1] ISDN-SubaddressString OPTIONAL, - ...} - -AccessRegisterCCEntryArg ::= SEQUENCE { - ...} - -CallDeflectionArg ::= SEQUENCE { - deflectedToNumber [0] AddressString, - deflectedToSubaddress [1] ISDN-SubaddressString OPTIONAL, - ...} - -UserUserServiceArg ::= SEQUENCE { - uUS-Service [0] UUS-Service, - uUS-Required [1] BOOLEAN, - ... } - -UUS-Service ::= ENUMERATED { - uUS1 (1), - uUS2 (2), - uUS3 (3), - ... } - --- exception handling: --- In case of UUS-Service with any other value, indicated as "UUS required", --- but not understood by the MS, the call will be cleared. - -LocationNotificationArg ::= SEQUENCE { - notificationType [0] NotificationToMSUser, - locationType [1] LocationType, - lcsClientExternalID [2] LCSClientExternalID OPTIONAL, - lcsClientName [3] LCSClientName OPTIONAL, - ... , - lcsRequestorID [4] LCSRequestorID OPTIONAL, - lcsCodeword [5] LCSCodeword OPTIONAL, - lcsServiceTypeID [6] LCSServiceTypeID OPTIONAL } - --- The notificationType may only be set to notifyLocationAllowed, --- notifyAndVerify-LocationAllowedIfNoResponse, --- or notifyAndVerify-LocationNotAllowedIfNoResponse. --- The locationEstimateType field of the locationType may only be set to --- currentLocation, currentOrLastKnownLocation, --- notificationVerificationOnly, or activateDeferredLocation. --- The deferredLocationEventType field of the locationType may only be set to --- enteringIntoArea, and/or leavingFromArea, and/or beingInsideArea, --- and/or periodicLDR. --- For LCS location notification of MT-LR for current location, the --- locationEstimateType field of the locationType shall be set to currentLocation. --- For LCS location notification of MT-LR for current or last known location, the --- locationEstimateType field of the locationType shall be set to currentOrLastKnownLocation. --- For the LCS location notification for the LDR of MS available event, --- the locationEstimateType field of the locationType shall be set to currentLocation. --- For LCS location notification for the LDR of change of area event, --- the locationEstimateType field of the locationType shall be set to --- activateDeferredLocation, and the deferredLocationEventType shall be --- set to enteringIntoArea, and/or leavingFromArea, and/or beingInsideArea. --- For the post positioning LCS location notification, the locationEstimateType --- field of the locationType shall be set to notificationVerificationOnly. --- For LCS location notification for the LDR of periodic location event, --- the locationEstimateType field of the locationType shall be set to --- activateDeferredLocation, and the --- deferredLocationEventType shall be set to periodicLDR. - --- exception handling: --- At reception of an unrecognised notificationType value the receiver shall reject the --- operation with a return error cause of unexpected data value. --- At reception of an unrecognised locationType value the receiver shall reject the --- operation with a return error cause of unexpected data value. --- At reception of an unallowed notificationType value the receiver shall either ignore the --- received operation or reject the operation with a return error cause of unexpected --- data value. --- At reception of an unallowed locationType value the receiver shall either ignore the --- received operation or reject the operation with a return error cause of unexpected --- data value. - - - -LocationNotificationRes ::= SEQUENCE { - verificationResponse [0] VerificationResponse OPTIONAL, - ...} - -VerificationResponse::= ENUMERATED { - permissionDenied (0), - permissionGranted (1), - ... } - --- exception handling: --- an unrecognized value shall be treated the same as value 0 (permissionDenied) - -LCS-MOLRArg ::= SEQUENCE { - molr-Type [0] MOLR-Type, - locationMethod [1] LocationMethod OPTIONAL, - lcs-QoS [2] LCS-QoS OPTIONAL, - lcsClientExternalID [3] LCSClientExternalID OPTIONAL, - mlc-Number [4] ISDN-AddressString OPTIONAL, - gpsAssistanceData [5] GPSAssistanceData OPTIONAL, - ..., - supportedGADShapes [6] SupportedGADShapes OPTIONAL, - lcsServiceTypeID [7] LCSServiceTypeID OPTIONAL, - ageOfLocationInfo [8] AgeOfLocationInformation OPTIONAL, - locationType [9] LocationType OPTIONAL, - pseudonymIndicator [10] NULL OPTIONAL, - h-gmlc-address [11] GSN-Address OPTIONAL, - locationEstimate [12] Ext-GeographicalInformation OPTIONAL, - velocityEstimate [13] VelocityEstimate OPTIONAL, - referenceNumber [14] LCS-ReferenceNumber OPTIONAL, - periodicLDRInfo [15] PeriodicLDRInfo OPTIONAL, - locationUpdateRequest [16] NULL OPTIONAL, - sequenceNumber [17] SequenceNumber OPTIONAL, - terminationCause [18] TerminationCause OPTIONAL, - mo-lrShortCircuit [19] NULL OPTIONAL, - ganssAssistanceData [20] GANSSAssistanceData OPTIONAL, - multiplePositioningProtocolPDUs [21] MultiplePositioningProtocolPDUs OPTIONAL } --- The parameter locationMethod shall be included if and only if the molr-Type is set to value --- deCipheringKeys or assistanceData. --- The parameter gpsAssistanceData shall be included if and only if the molr-Type is set to value --- assistanceData and locationMethod is set to value assistedGPS or assistedGPSandGANSS. --- The parameter ganssAssistanceData shall be included if and only if the molr-Type is set to value --- assistanceData and locationMethod is set to value assistedGANSS or assistedGPSandGANSS. --- supportedGADShapes shall not be included for deferred MO-LR initiation or deferred MO-LR or MT-LR --- responses --- multiplePositioningProtocolPDUs may only be included for E-UTRAN access. --- locationMethod shall not be included for E-UTRAN access. --- gpsAssistanceData shall not be included for E-UTRAN access. --- h-gmlc-address shall not be included for E-UTRAN access. --- locationEstimate shall not be included for E-UTRAN access. --- velocityEstimate shall not be included for E-UTRAN access. --- referenceNumber shall not be included for E-UTRAN access. --- periodicLDRInfo shall not be included for E-UTRAN access. --- locationUpdateRequest shall not be included for E-UTRAN access. --- sequenceNumber shall not be included for E-UTRAN access. --- terminationCause shall not be included for E-UTRAN access. --- mo-lrShortCircuit shall not be included for E-UTRAN access. --- ganssAssistanceData shall not be included for E-UTRAN access. - - - -MOLR-Type::= ENUMERATED { - locationEstimate (0), - assistanceData (1), - deCipheringKeys (2), - ... , - deferredMo-lrTTTPInitiation (3), - deferredMo-lrSelfLocationInitiation (4), - deferredMt-lrOrmo-lrTTTPLocationEstimate (5), - deferredMt-lrOrmo-lrCancellation (6)} --- exception handling: --- an unrecognized value shall be rejected by the receiver with a return error cause of --- unexpected data value. --- For E-UTRAN access, only locationEstimate or assistanceData shall be included - -LocationMethod::= ENUMERATED { - msBasedEOTD (0), - msAssistedEOTD (1), - assistedGPS (2), - ..., - msBasedOTDOA (3), - assistedGANSS (4), - assistedGPSandGANSS (5) - } --- exception handling: --- When this parameter is received with value msBasedEOTD or msAssistedEOTD and the MS --- is camped on an UMTS Service Area then the receiver shall reject it --- with a return error cause of unexpected data value. --- When this parameter is received with value msBasedOTDOA and the MS --- is camped on a GSM Cell then the receiver shall reject it with a return error cause of --- unexpected data value. --- an unrecognized value shall be rejected by the receiver with a return error cause of --- unexpected data value. - -GPSAssistanceData::= OCTET STRING (SIZE (1..38)) --- Octets 1 to 38 are coded in the same way as the octets 3 to 7+2n of Requested GPS Data IE --- in 3GPP TS 49.031 [14]. - -GANSSAssistanceData::= OCTET STRING (SIZE (1..40)) --- Octets 1 to 40 are coded in the same way as the octets 3 to 9+2n of Requested GANSS Data IE --- in 3GPP TS 49.031 [14] . - -TerminationCause ::= ENUMERATED { - subscriberTermination (0), - uETermination (1), - ...} - -MultiplePositioningProtocolPDUs ::= SEQUENCE (SIZE (1..maxNumLPPMsg)) OF PositioningProtocolPDU - -PositioningProtocolPDU ::= OCTET STRING --- PositioningProtocolPDU contains a LPP message defined in 3GPP TS 36.355 [17]. - -maxNumLPPMsg INTEGER ::= 3 - - - -LCS-MOLRRes::= SEQUENCE { - locationEstimate [0] Ext-GeographicalInformation OPTIONAL, - decipheringKeys [1] DecipheringKeys OPTIONAL, - ..., - add-LocationEstimate [2] Add-GeographicalInformation OPTIONAL, - velocityEstimate [3] VelocityEstimate OPTIONAL, - referenceNumber [4] LCS-ReferenceNumber OPTIONAL, - h-gmlc-address [5] GSN-Address OPTIONAL, - mo-lrShortCircuit [6] NULL OPTIONAL, - reportingPLMNList [7] ReportingPLMNList OPTIONAL - } --- Parameters locationEstimate or add-LocationEstimate (one but not both) --- shall be included if and only if the --- molr-Type in LocationRequestArg was set to value locationEstimate. --- Parameter add-LocationEstimate shall not be included if the supportedGADShapes --- parameter was not received in the LCS-MOLRArg. --- The locationEstimate and the add-locationEstimate parameters shall not be sent if --- the supportedGADShapes parameter has been received in LCS-MOLRArg --- and the shape encoded in locationEstimate or add-LocationEstimate is not marked --- as supported in supportedGADShapes. In such a case LCS-MOLRArg --- shall be rejected with error FacilityNotSupported with additional indication --- shapeOfLocationEstimateNotSupported. --- Parameter decipheringKeys shall be included if and only if the molr-Type --- in LocationRequestArg was set to value deCipheringKeys. --- Parameter velocityEstimate may only be included if the lcs-QoS in LCS-MOLRarg includes --- velocityRequest --- decipheringKeys shall not be included for E-UTRAN access. --- referenceNumber shall not be included for E-UTRAN access. --- h-gmlc-address shall not be included for E-UTRAN access. --- mo-lrShortCircuit shall not be included for E-UTRAN access. --- reportingPLMNList shall not be included for E-UTRAN access. - - - -DecipheringKeys::= OCTET STRING (SIZE (15)) --- Octets in DecipheringKeys are coded in the same way as the octets 3 to 17 of Deciphering Key IE --- in 3GPP TS 49.031 [14]. I.e. these octets contain Current Deciphering Key, Next Deciphering Key and --- Ciphering Key Flag. -LCS-AreaEventRequestArg ::= SEQUENCE { - referenceNumber [0] LCS-ReferenceNumber, - h-gmlc-address [1] GSN-Address, - deferredLocationEventType [3] DeferredLocationEventType, - areaEventInfo [4] AreaEventInfo, - ... } - --- the msAvailableValue in the DeferredLocationEventType is not applicable for this procedure - -LCS-AreaEventReportArg ::= SEQUENCE { - referenceNumber [0] LCS-ReferenceNumber, - h-gmlc-address [1] GSN-Address, - ... } - -LCS-AreaEventCancellationArg ::= SEQUENCE { - referenceNumber [0] LCS-ReferenceNumber, - h-gmlc-address [1] GSN-Address, - ... } - - -LCS-PeriodicLocationRequestArg ::= SEQUENCE { - referenceNumber [0] LCS-ReferenceNumber, - periodicLDRInfo [1] PeriodicLDRInfo, - lcsClientExternalID [2] LCSClientExternalID, - qoS [3] LCS-QoS OPTIONAL, - h-gmlc-address [4] GSN-Address OPTIONAL, - mo-lrShortCircuit [5] NULL OPTIONAL, - reportingPLMNList [6] ReportingPLMNList OPTIONAL, - ... } - - -LCS-PeriodicLocationRequestRes ::= SEQUENCE { - mo-lrShortCircuit [0] NULL OPTIONAL, - ... } - - -LCS-LocationUpdateArg ::= SEQUENCE { - referenceNumber [0] LCS-ReferenceNumber OPTIONAL, - add-LocationEstimate[1] Add-GeographicalInformation OPTIONAL, - velocityEstimate [2] VelocityEstimate OPTIONAL, - sequenceNumber [3] SequenceNumber OPTIONAL, - ... } --- add-LocationEstimate shall be included if and only if a location estimate was successfully --- transferred towards an External LCS Client or was successfully obtained for UE self location --- velocityEstimate may only be included if add-LocationEstimate is included - -LCS-LocationUpdateRes ::= SEQUENCE { - terminationCause [0] TerminationCause OPTIONAL, - ... } - -LCS-PeriodicLocationCancellationArg ::= SEQUENCE { - referenceNumber [0] LCS-ReferenceNumber, - h-gmlc-address [1] GSN-Address OPTIONAL, - ... } - - -END diff --git a/MobileL3_v13.4.0_CNL113832_LATEST/src/SS_EncDec.cc b/MobileL3_v13.4.0_CNL113832_LATEST/src/SS_EncDec.cc deleted file mode 100644 index ee4867ab9..000000000 --- a/MobileL3_v13.4.0_CNL113832_LATEST/src/SS_EncDec.cc +++ /dev/null @@ -1,438 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// // -// 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: SS_PDU_Defs.asn -// Rev: R1B -// Prodnr: CNL 113 832 -// Contact: http://ttcn.ericsson.se -// Reference: 3GPP TS 24.008 v13.4.0 - -#include "SS_PDU_Defs.hh" -#include "SS_Types.hh" - -namespace SS__Types -{ -using namespace SS__PDU__Defs; -TTCN_Module SS__EncDec("SS_EncDec", __DATE__, __TIME__); - -//Type definitions to transfer data between coding functions -struct SS_Invoke_for_dec -{ - INTEGER invokeId; - OPTIONAL linkedId; - Remote__Operations__Information__Objects::Code opcode; - OPTIONAL stream; -}; - -struct SS_ReturnResult_for_dec -{ - INTEGER invokeId; - OPTIONAL opcode; - OPTIONAL stream; -}; - -struct SS_ReturnError_for_dec -{ - INTEGER invokeId; - Remote__Operations__Information__Objects::Code errorCode; - OPTIONAL stream; -}; - -struct SS_Reject_for_dec -{ - OPTIONAL invokeId; - Remote__Operations__Generic__ROS__PDUs::ProblemType problem; -}; - - -////////////////////////////////// -// Encoding function for SS__Invoke -////////////////////////////////// -OCTETSTRING enc_SS_Invoke(const SS__Invoke& pdu) -{ - TTCN_Buffer buf; - - OCTETSTRING ret_val; - pdu.encode(SS__Invoke_descr_, buf, TTCN_EncDec::CT_BER, BER_ENCODE_DER); - buf.get_string(ret_val); - ret_val[0] = int2oct(161,1); - - return ret_val; -} -////////////////////////////////// -// Encoding function for SS__ReturnResult -////////////////////////////////// -OCTETSTRING enc_SS_ReturnResult(const SS__ReturnResult& pdu) -{ - TTCN_Buffer buf; - - OCTETSTRING ret_val; - pdu.encode(SS__ReturnResult_descr_, buf, TTCN_EncDec::CT_BER, BER_ENCODE_DER); - buf.get_string(ret_val); - ret_val[0] = int2oct(162,1); - - return ret_val; -} -////////////////////////////////// -// Encoding function for SS__ReturnError -////////////////////////////////// -OCTETSTRING enc_SS_ReturnError(const SS__ReturnError& pdu) -{ - TTCN_Buffer buf; - - OCTETSTRING ret_val; - pdu.encode(SS__ReturnError_descr_, buf, TTCN_EncDec::CT_BER, BER_ENCODE_DER); - buf.get_string(ret_val); - ret_val[0] = int2oct(163,1); - - return ret_val; -} -////////////////////////////////// -// Encoding function for SS__Reject -////////////////////////////////// -OCTETSTRING enc_SS_Reject(const SS__Reject& pdu) -{ - TTCN_Buffer buf; - - OCTETSTRING ret_val; - pdu.encode(SS__Reject_descr_, buf, TTCN_EncDec::CT_BER, BER_ENCODE_DER); - buf.get_string(ret_val); - ret_val[0] = int2oct(164,1); - - return ret_val; -} - -////////////////////////////////// -// Decoding function for SS__Invoke -////////////////////////////////// -int dec_SS_Invoke(const SS_Invoke_for_dec& params, SS__Invoke& pdu) -{ - SS__Invoke__help help_pdu; - - if(params.stream.ispresent()) - { - help_pdu.invokeId().present__() = params.invokeId; - if(params.linkedId.ispresent()) - help_pdu.linkedId()().present__().present__() = params.linkedId; - else - help_pdu.linkedId() = OMIT_VALUE; - - help_pdu.opcode() = params.opcode; - - OCTETSTRING oct_stream = params.stream; - help_pdu.argument() = oct_stream; - TTCN_Buffer buf; - help_pdu.encode(SS__Invoke__help_descr_, buf, TTCN_EncDec::CT_BER, BER_ENCODE_DER); - - TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL, TTCN_EncDec::EB_IGNORE); - TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL, TTCN_EncDec::EB_WARNING); - TTCN_EncDec::clear_error(); - - pdu.decode(SS__Invoke_descr_, buf, TTCN_EncDec::CT_BER, BER_ACCEPT_ALL); - - TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL, TTCN_EncDec::EB_DEFAULT); - - if(TTCN_EncDec::get_last_error_type() != 0) return 1; - } - else - { - pdu.invokeId().present__() = params.invokeId; - - if(params.linkedId.ispresent()) - pdu.linkedId()().present__().present__() = params.linkedId; - else - pdu.linkedId() = OMIT_VALUE; - - pdu.opcode() = params.opcode; - - pdu.argument() = OMIT_VALUE; - } - - return 0; -} - -////////////////////////////////// -// Decoding function for SS__ReturnResult -////////////////////////////////// -int dec_SS_ReturnResult(const SS_ReturnResult_for_dec& params, SS__ReturnResult& pdu) -{ - SS__ReturnResult__help help_pdu; - - - if(params.opcode.ispresent() && params.stream.ispresent()) - { - help_pdu.invokeId().present__() = params.invokeId; - help_pdu.result()().opcode() = params.opcode; - OCTETSTRING oct_stream = params.stream; - help_pdu.result()().result() = oct_stream; - TTCN_Buffer buf; - help_pdu.encode(SS__ReturnResult__help_descr_, buf, TTCN_EncDec::CT_BER, BER_ENCODE_DER); - - TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL, TTCN_EncDec::EB_IGNORE); - TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL, TTCN_EncDec::EB_WARNING); - TTCN_EncDec::clear_error(); - - pdu.decode(SS__ReturnResult_descr_, buf, TTCN_EncDec::CT_BER, BER_ACCEPT_ALL); - - TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL, TTCN_EncDec::EB_DEFAULT); - - if(TTCN_EncDec::get_last_error_type() != 0) return 1; - } - else - { - pdu.invokeId().present__() = params.invokeId; - pdu.result() = OMIT_VALUE; - } - - return 0; -} - -////////////////////////////////// -// Decoding function for SS__ReturnError -////////////////////////////////// -int dec_SS_ReturnError(const SS_ReturnError_for_dec& params, SS__ReturnError& pdu) -{ - - SS__ReturnError__help help_pdu; - - if(params.stream.ispresent()) - { - help_pdu.invokeId().present__() = params.invokeId; - help_pdu.errcode() = params.errorCode; - OCTETSTRING oct_stream = params.stream; - help_pdu.parameter()() = oct_stream; - - TTCN_Buffer buf; - - help_pdu.encode(SS__ReturnError__help_descr_, buf, TTCN_EncDec::CT_BER, BER_ENCODE_DER); - - TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL, TTCN_EncDec::EB_IGNORE); - TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL, TTCN_EncDec::EB_WARNING); - TTCN_EncDec::clear_error(); - - pdu.decode(SS__ReturnError_descr_, buf, TTCN_EncDec::CT_BER, BER_ACCEPT_ALL); - - TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL, TTCN_EncDec::EB_DEFAULT); - - if(TTCN_EncDec::get_last_error_type() != 0) return 1; - } - else - { - pdu.invokeId().present__() = params.invokeId; - pdu.errcode() = params.errorCode; - pdu.parameter() = OMIT_VALUE; - } - - return 0; -} - -////////////////////////////////// -// Decoding function for SS__Reject -////////////////////////////////// -int dec_SS_Reject(const SS_Reject_for_dec& params, SS__Reject& pdu) -{ - if(params.invokeId.ispresent()) - pdu.invokeId().present__() = params.invokeId; - else - pdu.invokeId().absent() = ASN_NULL_VALUE; - - pdu.problem() = params.problem; - - return 0; -} - -//////////////////////////////////////////////////////////////////// -// Decoding function for internal SS_TCAP_ComponentPortion -//////////////////////////////////////////////////////////////////// -int dec__SS__TCAP__ComponentPortion(const OCTETSTRING& stream, SS__TCAP__ComponentPortion& pdu) -{ - if (TTCN_Logger::log_this_event(TTCN_Logger::DEBUG_ENCDEC)) - { - TTCN_Logger::begin_event(TTCN_Logger::DEBUG_ENCDEC); - TTCN_Logger::log_event_str("dec_SS_TCAP_ComponentPortion(): Stream before decoding: "); - stream.log(); - TTCN_Logger::end_event(); - } - - TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL, TTCN_EncDec::EB_IGNORE); - TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL, TTCN_EncDec::EB_WARNING); - TTCN_EncDec::clear_error(); - - TTCN_Buffer ttcn_buffer(stream); - SS__TCAP__Component ret_sub_val; - int i = 0; - - if(!ttcn_buffer.contains_complete_TLV()) { - if (TTCN_Logger::log_this_event(TTCN_Logger::TTCN_WARNING)) - { - TTCN_Logger::begin_event(TTCN_Logger::TTCN_WARNING); - TTCN_Logger::log_event_str("dec_SS_TCAP_ComponentPortion(): there is no complete TLV in the incoming stream!"); - TTCN_Logger::end_event(); - } - return 1; - } - - while(ttcn_buffer.contains_complete_TLV()) - { - ret_sub_val.decode(SS__TCAP__Component_descr_, ttcn_buffer, TTCN_EncDec::CT_BER, BER_ACCEPT_ALL); - pdu[i] = ret_sub_val; - i++; - ttcn_buffer.cut(); - } - - TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL, TTCN_EncDec::EB_DEFAULT); - - if (TTCN_Logger::log_this_event(TTCN_Logger::DEBUG_ENCDEC)) - { - TTCN_Logger::begin_event(TTCN_Logger::DEBUG_ENCDEC); - TTCN_Logger::log_event_str("dec_SS_TCAP_ComponentPortion(): Decoded @SS_Types.SS_TCAP_ComponentPortion: "); - pdu.log(); - TTCN_Logger::end_event(); - } - - return TTCN_EncDec::get_last_error_type() == TTCN_EncDec::ET_NONE ? 0 : 1; -} - - -////////////////////////////////////////////////////////////////////////////////////////////////////// -// Main encoding function for SS_FacilityInformation. This is called from TTCN-3 -////////////////////////////////////////////////////////////////////////////////////////////////////// -OCTETSTRING enc__SS__FacilityInformation(const SS__FacilityInformation& pdu) -{ - if (TTCN_Logger::log_this_event(TTCN_Logger::DEBUG_ENCDEC)) - { - TTCN_Logger::begin_event(TTCN_Logger::DEBUG_ENCDEC); - TTCN_Logger::log_event_str("enc_SS_FacilityInformation(): SS_FacilityInformation before encoding: "); - pdu.log(); - TTCN_Logger::end_event(); - } - SS__TCAP__ComponentPortion temp_val; - OCTETSTRING ret_val(0,NULL); - - for (int i = 0; i < pdu.size_of(); i++) - { - if (pdu[i].get_selection() == SS__Component::ALT_invoke) - { - ret_val = ret_val + enc_SS_Invoke(pdu[i].invoke()); - } - else if (pdu[i].get_selection() == SS__Component::ALT_returnResult) - { - ret_val = ret_val + enc_SS_ReturnResult(pdu[i].returnResult()); - } - else if (pdu[i].get_selection() == SS__Component::ALT_returnError) - { - ret_val = ret_val + enc_SS_ReturnError(pdu[i].returnError()); - } - else if (pdu[i].get_selection() == SS__Component::ALT_reject) - { - ret_val = ret_val + enc_SS_Reject(pdu[i].reject()); - } - } - if (TTCN_Logger::log_this_event(TTCN_Logger::DEBUG_ENCDEC)) - { - TTCN_Logger::begin_event(TTCN_Logger::DEBUG_ENCDEC); - TTCN_Logger::log_event_str("enc_SS_FacilityInformation(): stream after encoding: "); - ret_val.log(); - TTCN_Logger::end_event(); - } - return ret_val; -} - -////////////////////////////////////////////////////////////////////////////////////////////////////// -// Main decoding function for SS_FacilityInformation. This is called from TTCN-3 -////////////////////////////////////////////////////////////////////////////////////////////////////// -INTEGER dec__SS__FacilityInformation__backtrack(const OCTETSTRING& stream, SS__FacilityInformation& pdu) -{ - if (TTCN_Logger::log_this_event(TTCN_Logger::DEBUG_ENCDEC)) - { - TTCN_Logger::begin_event(TTCN_Logger::DEBUG_ENCDEC); - TTCN_Logger::log_event_str("dec_SS_FacilityInformation__backtrack(): Stream before decoding: "); - stream.log(); - TTCN_Logger::end_event(); - } - - SS__TCAP__ComponentPortion temp_val; - int decode = dec__SS__TCAP__ComponentPortion(stream, temp_val); - - if(decode == 0) { - - for (int i = 0; i < temp_val.size_of() && decode == 0; i++) - { - if (temp_val[i].get_selection() == SS__TCAP__Component::ALT_invoke) - { - SS_Invoke_for_dec par_val; - par_val.invokeId = temp_val[i].invoke().invokeID(); - par_val.linkedId = temp_val[i].invoke().linkedID(); - par_val.opcode = temp_val[i].invoke().operationCode(); - par_val.stream = temp_val[i].invoke().parameter(); - decode = dec_SS_Invoke(par_val, pdu[i].invoke()); - } - else if (temp_val[i].get_selection() == SS__TCAP__Component::ALT_returnResult) - { - SS_ReturnResult_for_dec par_val; - par_val.invokeId = temp_val[i].returnResult().invokeID(); - - if(temp_val[i].returnResult().result().ispresent()) - { - SS__TCAP__ReturnResult__Result temp_res = temp_val[i].returnResult().result(); - par_val.opcode = temp_res.operationCode(); - par_val.stream = temp_res.parameter(); - } - else - { - par_val.opcode = OMIT_VALUE; - par_val.stream = OMIT_VALUE; - } - decode = dec_SS_ReturnResult(par_val, pdu[i].returnResult()); - } - else if (temp_val[i].get_selection() == SS__TCAP__Component::ALT_returnError) - { - SS_ReturnError_for_dec par_val; - par_val.invokeId = temp_val[i].returnError().invokeID(); - par_val.errorCode = temp_val[i].returnError().errorCode(); - par_val.stream = temp_val[i].returnError().parameter(); - - decode = dec_SS_ReturnError(par_val, pdu[i].returnError()); - } - else if (temp_val[i].get_selection() == SS__TCAP__Component::ALT_reject) - { - SS_Reject_for_dec par_val; - if( temp_val[i].reject().invokeID().get_selection() == SS__TCAP__Reject_invokeID::ALT_derivable) - par_val.invokeId = temp_val[i].reject().invokeID().derivable(); - else - par_val.invokeId = OMIT_VALUE; - par_val.problem = temp_val[i].reject().problem(); - - decode = dec_SS_Reject(par_val, pdu[i].reject()); - } - } - } - - if (TTCN_Logger::log_this_event(TTCN_Logger::DEBUG_ENCDEC)) - { - TTCN_Logger::begin_event(TTCN_Logger::DEBUG_ENCDEC); - TTCN_Logger::log_event_str("dec_SS_FacilityInformation__backtrack(): Decoded @SS_Types.SS_FacilityInformation: "); - pdu.log(); - TTCN_Logger::end_event(); - } - - return decode; -} - -SS__FacilityInformation dec__SS__FacilityInformation(const OCTETSTRING& stream) -{ - SS__FacilityInformation ret; - dec__SS__FacilityInformation__backtrack(stream, ret); - return ret; -} - -}//namespace - diff --git a/MobileL3_v13.4.0_CNL113832_LATEST/src/SS_Errors.asn b/MobileL3_v13.4.0_CNL113832_LATEST/src/SS_Errors.asn deleted file mode 100644 index 85b52d3ef..000000000 --- a/MobileL3_v13.4.0_CNL113832_LATEST/src/SS_Errors.asn +++ /dev/null @@ -1,57 +0,0 @@ ---///////////////////////////////////////////////////////////////////////////// --- // --- 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: SS_Errors.asn --- Rev: R1B --- Prodnr: CNL 113 832 --- Contact: http://ttcn.ericsson.se --- Reference: 3GPP TS 24.080 v13.0.0 - -SS-Errors { - itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Access (2) modules (3) - ss-Errors (1) version12 (12)} - -DEFINITIONS ::= - -BEGIN - -IMPORTS - -ERROR FROM -Remote-Operations-Information-Objects {joint-iso-itu-t remote-operations(4) - informationObjects(5) version1(0)}; - --- The MAP errors --- unknownSubscriber, bearerServiceNotProvisioned, teleserviceNotProvisioned, --- illegalSS-Operation, ss-ErrorStatus, ss-NotAvailable, ss-SubscriptionViolation, --- ss-Incompatibility, systemFailure, dataMissing, unexpectedDataValue, facilityNotSupported, --- pw-RegistrationFailure, negativePW-Check, callBarred, numberOfPW-AttemptsViolation, --- absentSubscriber, illegalSubscriber, illegalEquipment, ussd-Busy, unknownAlphabet, --- forwardingViolation, forwardingFailed --- are imported from MAP-Errors in SS-Protocol module. - --- errors definition -resourcesNotAvailable ERROR ::= { - CODE local:127 } -maxNumberOfMPTY-ParticipantsExceeded ERROR ::= { - CODE local:126 } -invalidDeflectedToNumber ERROR ::= { - CODE local:125 } -specialServiceCode ERROR ::= { - CODE local:124 } -deflectionToServedSubscriber ERROR ::= { - CODE local:123 } -rejectedByNetwork ERROR ::= { - CODE local:122 } -rejectedByUser ERROR ::= { - CODE local:121 } - -END diff --git a/MobileL3_v13.4.0_CNL113832_LATEST/src/SS_Operations.asn b/MobileL3_v13.4.0_CNL113832_LATEST/src/SS_Operations.asn deleted file mode 100644 index cdfe1e00e..000000000 --- a/MobileL3_v13.4.0_CNL113832_LATEST/src/SS_Operations.asn +++ /dev/null @@ -1,313 +0,0 @@ ---///////////////////////////////////////////////////////////////////////////// --- // --- 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: SS_Operations.asn --- Rev: R1B --- Prodnr: CNL 113 832 --- Contact: http://ttcn.ericsson.se --- Reference: 3GPP TS 24.080 v13.0.0 - -SS-Operations { - itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Access (2) modules (3) - ss-Operations (0) version12 (12)} - -DEFINITIONS ::= - -BEGIN - -EXPORTS - --- exports operations - --- operations defined in this specification -processUnstructuredSS-Data, notifySS, forwardChargeAdvice, forwardCUG-Info, buildMPTY, holdMPTY, retrieveMPTY, splitMPTY, explicitCT, accessRegisterCCEntry, callDeflection, userUserService, -lcs-LocationNotification, lcs-MOLR, lcs-AreaEventRequest, lcs-AreaEventReport, lcs-AreaEventCancellation, lcs-PeriodicLocationRequest, lcs-LocationUpdate, lcs-PeriodicLocationCancellation; - -IMPORTS - -OPERATION FROM -Remote-Operations-Information-Objects { - joint-iso-itu-t remote-operations(4) - informationObjects(5) version1(0)} - --- The MAP operations: --- registerSS, eraseSS, activateSS, deactivateSS, interrogateSS, registerPassword, --- getPassword, processUnstructuredSS-Request, unstructuredSS-Request, unstructuredSS-Notify --- forwardCheckSS-Indication --- are imported from MAP-Operations in SS-Protocol module. - --- imports SS-data types -NotifySS-Arg, -ForwardChargeAdviceArg, -ForwardCUG-InfoArg, -SS-UserData, -AccessRegisterCCEntryArg, -CallDeflectionArg, -UserUserServiceArg, -LocationNotificationArg, -LocationNotificationRes, -LCS-MOLRArg, -LCS-MOLRRes, -LCS-AreaEventRequestArg, -LCS-AreaEventReportArg, -LCS-AreaEventCancellationArg, -LCS-PeriodicLocationRequestArg, -LCS-PeriodicLocationRequestRes, -LCS-LocationUpdateArg, -LCS-LocationUpdateRes, -LCS-PeriodicLocationCancellationArg - - -FROM SS-DataTypes { - itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Access (2) modules (3) - ss-DataTypes (2) version12 (12)} - --- imports MAP-SS-data types -RegisterCC-EntryRes -FROM MAP-SS-DataTypes { - itu-t identified-organization (4) etsi (0) mobileDomain (0) - gsm-Network (1) modules (3) map-SS-DataTypes (14) version12 (12)} - --- imports MAP-errors -illegalSS-Operation, ss-ErrorStatus, ss-NotAvailable, ss-SubscriptionViolation, -ss-Incompatibility, systemFailure, facilityNotSupported, callBarred, unexpectedDataValue, shortTermDenial, longTermDenial, dataMissing, forwardingViolation, forwardingFailed, positionMethodFailure -FROM MAP-Errors { - itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3) - map-Errors (10) version12 (12)} - --- imports SS-Errors -resourcesNotAvailable, maxNumberOfMPTY-ParticipantsExceeded, deflectionToServedSubscriber, invalidDeflectedToNumber, specialServiceCode, rejectedByUser, rejectedByNetwork -FROM SS-Errors { - itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Access (2) modules (3) - ss-Errors (1) version12 (12)} -; - --- operations definition - -processUnstructuredSS-Data OPERATION ::= { -- Timer T(PUSSD)= 15s to 30s - ARGUMENT SS-UserData - RESULT SS-UserData - -- optional - ERRORS { - systemFailure | - unexpectedDataValue} - CODE local:19 } - -notifySS OPERATION ::= { - ARGUMENT NotifySS-Arg - CODE local:16 } - -forwardChargeAdvice OPERATION ::= { -- Timer T(AoC)= 1s to 40s - ARGUMENT ForwardChargeAdviceArg - RETURN RESULT TRUE - CODE local:125 } - -forwardCUG-Info OPERATION ::= { - ARGUMENT ForwardCUG-InfoArg - CODE local:120 } - -buildMPTY OPERATION ::= { -- Timer T(BuildMPTY)= 5s to 30s - RETURN RESULT TRUE - ERRORS { - illegalSS-Operation | - ss-ErrorStatus | - ss-NotAvailable | - ss-Incompatibility | - systemFailure | - resourcesNotAvailable | - maxNumberOfMPTY-ParticipantsExceeded} - CODE local:124 } - -holdMPTY OPERATION ::= { -- Timer T(HoldMPTY)= 5s to 30s - RETURN RESULT TRUE - ERRORS { - illegalSS-Operation | - ss-ErrorStatus | - ss-Incompatibility | - facilityNotSupported | - systemFailure} - CODE local:123 } - -retrieveMPTY OPERATION ::= { -- Timer T(RetrieveMPTY)= 5s to 30s - RETURN RESULT TRUE - ERRORS { - illegalSS-Operation | - ss-ErrorStatus | - ss-Incompatibility | - facilityNotSupported | - systemFailure} - CODE local:122 } - -splitMPTY OPERATION ::= { -- Timer T(SplitMPTY)= 5s to 30s - RETURN RESULT TRUE - ERRORS { - illegalSS-Operation | - ss-ErrorStatus | - ss-Incompatibility | - facilityNotSupported | - systemFailure} - CODE local:121 } - -explicitCT OPERATION ::= { -- Timer T(ECT)= 5s to 15s - RETURN RESULT TRUE - ERRORS { - illegalSS-Operation | - ss-ErrorStatus | - ss-NotAvailable | - ss-Incompatibility | - facilityNotSupported | - systemFailure | - resourcesNotAvailable | - callBarred} - CODE local:126 } - -accessRegisterCCEntry OPERATION ::= { -- Timer T(AccRegCCEntry)= 30s - ARGUMENT AccessRegisterCCEntryArg - RESULT RegisterCC-EntryRes - ERRORS { - systemFailure | - dataMissing | - unexpectedDataValue | - callBarred | - illegalSS-Operation | - ss-ErrorStatus | - ss-Incompatibility | - shortTermDenial | - longTermDenial | - facilityNotSupported} - CODE local:119 } - --- the timer value is defined by T308, see also in TS 24.008 for definition of timer T308 - -callDeflection OPERATION ::= { -- Timer T(CD)= 30s - ARGUMENT CallDeflectionArg - RETURN RESULT TRUE - ERRORS { - illegalSS-Operation | - ss-ErrorStatus | - ss-NotAvailable | - ss-Incompatibility | - facilityNotSupported | - systemFailure | - resourcesNotAvailable | - forwardingViolation | - callBarred | - deflectionToServedSubscriber | - invalidDeflectedToNumber | - specialServiceCode | - forwardingFailed} - CODE local:117 } - --- the timer value is defined by T305, see also in TS 24.008 for definition of timer T305 --- extensionContainer shall not be used with this operation - -userUserService OPERATION ::= { -- Timer T(UUS3)= 10s - ARGUMENT UserUserServiceArg - RETURN RESULT TRUE - ERRORS { - illegalSS-Operation | - ss-ErrorStatus | - ss-NotAvailable | - ss-Incompatibility | - facilityNotSupported | - systemFailure | - resourcesNotAvailable | - rejectedByNetwork | - rejectedByUser} - CODE local:118 } - --- The timer value for UUS3 is 10s; it is applicable only if UUS3 is activated by FACILITY --- message. If UUS service (UUS1, UUS2 or UUS3) is activated by SETUP message, no timers are --- needed. In those cases Return Result or Return Error must be received within certain call --- control messages, see 3GPP TS 24.087. --- extensionContainer shall not be used with this operation. - - -lcs-LocationNotification OPERATION ::= { -- Timer T(LCSN)= 10s to 20s - ARGUMENT LocationNotificationArg - RESULT LocationNotificationRes - ERRORS { - systemFailure | - unexpectedDataValue} - CODE local:116 } - - -lcs-MOLR OPERATION ::= { -- Timer T(LCSL)= 10s to 300s - ARGUMENT LCS-MOLRArg - RESULT LCS-MOLRRes - ERRORS { - systemFailure | - unexpectedDataValue | - dataMissing | - facilityNotSupported | - ss-SubscriptionViolation | - positionMethodFailure} - CODE local:115 } - - -lcs-AreaEventRequest OPERATION ::= { -- Timer T(LCSN)= 10s to 20s - ARGUMENT LCS-AreaEventRequestArg - RETURN RESULT TRUE - ERRORS { - systemFailure | - facilityNotSupported | - unexpectedDataValue} - CODE local:114 } - - -lcs-AreaEventReport OPERATION ::= { -- Timer T(LCSL)= 10s to 300s - ARGUMENT LCS-AreaEventReportArg - RETURN RESULT TRUE - ERRORS { - systemFailure | - unexpectedDataValue | - facilityNotSupported} - CODE local:113 } - - -lcs-AreaEventCancellation OPERATION ::= { -- Timer T(LCSN)= 10s to 20s - ARGUMENT LCS-AreaEventCancellationArg - RETURN RESULT TRUE - ERRORS { - systemFailure | - facilityNotSupported | - unexpectedDataValue} - CODE local:112 } - -lcs-PeriodicLocationRequest OPERATION ::= { -- Timer T(LCSN)= 10s to 20s - ARGUMENT LCS-PeriodicLocationRequestArg - RESULT LCS-PeriodicLocationRequestRes - ERRORS { - systemFailure | - facilityNotSupported | - unexpectedDataValue | - dataMissing } - CODE local: 111 } - -lcs-LocationUpdate OPERATION ::= { -- Timer T(LCSN)= 10s to 20s - ARGUMENT LCS-LocationUpdateArg - RESULT LCS-LocationUpdateRes - ERRORS { - systemFailure | - unexpectedDataValue} - CODE local: 110 } - -lcs-PeriodicLocationCancellation OPERATION ::= { -- Timer T(LCSN)= 10s to 20s - ARGUMENT LCS-PeriodicLocationCancellationArg - RETURN RESULT TRUE - ERRORS { - systemFailure | - unexpectedDataValue} - CODE local: 109 } - - - -END diff --git a/MobileL3_v13.4.0_CNL113832_LATEST/src/SS_PDU_Defs.asn b/MobileL3_v13.4.0_CNL113832_LATEST/src/SS_PDU_Defs.asn deleted file mode 100644 index 795f471e3..000000000 --- a/MobileL3_v13.4.0_CNL113832_LATEST/src/SS_PDU_Defs.asn +++ /dev/null @@ -1,136 +0,0 @@ ---///////////////////////////////////////////////////////////////////////////// --- // --- 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: SS_PDU_Defs.asn --- Rev: R1B --- Prodnr: CNL 113 832 --- Contact: http://ttcn.ericsson.se --- Reference: 3GPP TS 24.080 v13.0.0 - -SS-PDU-Defs - -DEFINITIONS IMPLICIT TAGS ::= - -BEGIN - -IMPORTS - - Supported-SS-Operations - FROM - SS-Protocol - - OPERATION, ERROR, Code - FROM Remote-Operations-Information-Objects {joint-iso-itu-t - remote-operations(4) informationObjects(5) version1(0)} - - Invoke{}, ReturnResult{}, ReturnError{}, Reject{}, - Invoke-help{}, ReturnResult-help{}, ReturnError-help{}, - Errors{}, PresentInvokeId, ProblemType - FROM Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t - remote-operations(4) generic-ROS-PDUs(6) version1(0)}; - - --- SS-Invoke, SS-ReturnResult, SS-ReturnError, SS-Reject --- SS-Invoke-help SS-ReturnResult-help SS-ReturnError-help types --- (these are accessible from TTCN-3) -SS-Invoke ::= Invoke{{PresentInvokeId}, {Supported-SS-Operations}} - -SS-ReturnResult ::= ReturnResult{{Supported-SS-Operations}} - -SS-ReturnError ::= ReturnError{{Errors {{Supported-SS-Operations}}}} - -SS-Reject ::= Reject --{{Errors {{Supported-SS-Operations}}}} - -SS-Invoke-help ::= Invoke-help{{PresentInvokeId}, {Supported-SS-Operations}} - -SS-ReturnResult-help ::= ReturnResult-help{{Supported-SS-Operations}} - -SS-ReturnError-help ::= ReturnError-help{{Errors {{Supported-SS-Operations}}}} - - --- Component Portion fields - --- COMPONENT PORTION. This part is copied from TCAP_PDU_Defs.asn file --- with TCAP -> SS-TCAP renaming --- This is needed for internal coding: DON'T USE FROM TTCN !!! -SS-TCAP-ComponentPortion ::= [UNIVERSAL 28] IMPLICIT SEQUENCE (SIZE(1..MAX)) OF - SS-TCAP-Component - - --- COMPONENT TYPE. Recommendation X.229 defines four Application Protocol Data --- Units (APDUs). - -SS-TCAP-Component ::= CHOICE - { - invoke [1] IMPLICIT SS-TCAP-Invoke, - returnResult [2] IMPLICIT SS-TCAP-ReturnResult, - returnError [3] IMPLICIT SS-TCAP-ReturnError, - reject [4] IMPLICIT SS-TCAP-Reject - } - --- The Components are sequences of data elements. -SS-TCAP-Invoke ::= SEQUENCE - { - invokeID SS-TCAP-InvokeIdType, - linkedID [0] IMPLICIT SS-TCAP-InvokeIdType OPTIONAL, - operationCode Code, - parameter ANY DEFINED BY operationCode OPTIONAL - } - -- ethgry(11/July/02): ANY and ANY DEFINED BY handled in a special, - -- transparent way at encoding/decoding: - -- its value notation shall be a simple octet string, which will be - -- directly copied (i.e without an additional tag and length fields) - -- into the encoded stream and will be fetched from the received - -- stream and passed to the abstract level as an octet string. - - --- ANY is filled by the single ASN.1 data type following the keyword PARAMETER --- or the keyword ARGUMENT in the type definition of a particular operation. - -SS-TCAP-ReturnResult ::= SEQUENCE - { - invokeID SS-TCAP-InvokeIdType, - result SS-TCAP-ReturnResult-Result OPTIONAL - } - -SS-TCAP-ReturnResult-Result ::= SEQUENCE - { - operationCode Code, - parameter ANY DEFINED BY operationCode OPTIONAL - -- ethgry: See comment to Invoke on the use of ANY - } - --- ANY is filled by the single ASN.1 data type following the keyword RESULT in --- the type definition of a particular operation. - -SS-TCAP-ReturnError ::= SEQUENCE - { - invokeID SS-TCAP-InvokeIdType, - errorCode Code, - parameter ANY DEFINED BY errorCode OPTIONAL - -- ethgry: See comment to Invoke on the use of ANY - } - --- ANY is filled by the single ASN.1 data type following the keyword PARAMETER --- in the type definition of a particular error. -SS-TCAP-Reject ::= SEQUENCE - { - invokeID CHOICE - { - derivable SS-TCAP-InvokeIdType, - not-derivable NULL - }, - problem ProblemType - } - -SS-TCAP-InvokeIdType ::= INTEGER (-128..127) - -END diff --git a/MobileL3_v13.4.0_CNL113832_LATEST/src/SS_Protocol.asn b/MobileL3_v13.4.0_CNL113832_LATEST/src/SS_Protocol.asn deleted file mode 100644 index bf37a1fd7..000000000 --- a/MobileL3_v13.4.0_CNL113832_LATEST/src/SS_Protocol.asn +++ /dev/null @@ -1,67 +0,0 @@ ---///////////////////////////////////////////////////////////////////////////// --- // --- 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: SS_Protocol.asn --- Rev: R1B --- Prodnr: CNL 113 832 --- Contact: http://ttcn.ericsson.se --- Reference: 3GPP TS 24.080 v13.0.0 - - -SS-Protocol { - itu-t identified-organization (4) etsi (0) mobileDomain (0) - gsm-Access (2) modules (3) ss-Protocol (3) version12 (12)} - -DEFINITIONS ::= - -BEGIN - -IMPORTS - -OPERATION -FROM Remote-Operations-Information-Objects { -joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0)} - --- imports operations - --- imports operation from MAP-MobileServiceOperations -forwardCheckSS-Indication -FROM MAP-MobileServiceOperations { - itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3) - map-MobileServiceOperations (5) version12 (12)} - --- imports operations from MAP-SupplementaryServiceOperations -registerSS, eraseSS, activateSS, deactivateSS, interrogateSS, registerPassword, getPassword, -processUnstructuredSS-Request, unstructuredSS-Request, unstructuredSS-Notify, eraseCC-Entry -FROM MAP-SupplementaryServiceOperations { - itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3) - map-SupplementaryServiceOperations (8) version12 (12)} - --- imports operations from SS-Operations -processUnstructuredSS-Data, notifySS, forwardChargeAdvice, buildMPTY, holdMPTY, retrieveMPTY, -splitMPTY, explicitCT, forwardCUG-Info, accessRegisterCCEntry, callDeflection, userUserService, -lcs-LocationNotification, lcs-MOLR, lcs-AreaEventRequest, lcs-AreaEventReport, lcs-AreaEventCancellation, lcs-PeriodicLocationRequest, lcs-LocationUpdate, lcs-PeriodicLocationCancellation -FROM SS-Operations { - itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Access (2) modules (3) - ss-Operations (0) version12 (12)} - -; - -Supported-SS-Operations OPERATION ::= {forwardCheckSS-Indication | registerSS | eraseSS | - activateSS | deactivateSS | interrogateSS | registerPassword | getPassword | - processUnstructuredSS-Request | unstructuredSS-Request | unstructuredSS-Notify | eraseCC-Entry | - processUnstructuredSS-Data | notifySS | forwardChargeAdvice | buildMPTY | holdMPTY | - retrieveMPTY | splitMPTY | explicitCT | forwardCUG-Info | accessRegisterCCEntry | - callDeflection | userUserService | lcs-LocationNotification | lcs-MOLR | lcs-AreaEventRequest | lcs-AreaEventReport | lcs-AreaEventCancellation | lcs-PeriodicLocationRequest | lcs-LocationUpdate | lcs-PeriodicLocationCancellation } - - - -END diff --git a/MobileL3_v13.4.0_CNL113832_LATEST/src/SS_Types.ttcn b/MobileL3_v13.4.0_CNL113832_LATEST/src/SS_Types.ttcn deleted file mode 100644 index 6dedf5f90..000000000 --- a/MobileL3_v13.4.0_CNL113832_LATEST/src/SS_Types.ttcn +++ /dev/null @@ -1,40 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// // -// 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: SS_Types.ttcn -// Rev: R1B -// Prodnr: CNL 113 832 -// Contact: http://ttcn.ericsson.se -// Reference: 3GPP TS 24.080 v13.0.0 - -module SS_Types -{ - -import from SS_PDU_Defs all; - -//Coding functions -external function enc_SS_FacilityInformation (in SS_FacilityInformation pdu) return octetstring; -external function dec_SS_FacilityInformation (in octetstring stream) return SS_FacilityInformation; -external function dec_SS_FacilityInformation_backtrack (in octetstring stream, out SS_FacilityInformation pdu) return integer; - -//Type for extracted facilityInformation in Facility IE -type record of SS_Component SS_FacilityInformation; - -//24.080 3.6.1 -type union SS_Component -{ - SS_Invoke invoke, - SS_ReturnResult returnResult, - SS_ReturnError returnError, - SS_Reject reject -} - -} diff --git a/NS_v7.3.0_CNL113578_LATEST/doc/NS_v7.3.0_CNL113578_FS.pdf b/NS_v7.3.0_CNL113578_LATEST/doc/NS_v7.3.0_CNL113578_FS.pdf deleted file mode 100644 index d9e43422a..000000000 Binary files a/NS_v7.3.0_CNL113578_LATEST/doc/NS_v7.3.0_CNL113578_FS.pdf and /dev/null differ diff --git a/NS_v7.3.0_CNL113578_LATEST/doc/NS_v7.3.0_CNL113578_PRI.pdf b/NS_v7.3.0_CNL113578_LATEST/doc/NS_v7.3.0_CNL113578_PRI.pdf deleted file mode 100644 index efcde4ceb..000000000 Binary files a/NS_v7.3.0_CNL113578_LATEST/doc/NS_v7.3.0_CNL113578_PRI.pdf and /dev/null differ diff --git a/NS_v7.3.0_CNL113578_LATEST/doc/NS_v7.3.0_CNL113578_UG.pdf b/NS_v7.3.0_CNL113578_LATEST/doc/NS_v7.3.0_CNL113578_UG.pdf deleted file mode 100644 index 3ebd9a52f..000000000 Binary files a/NS_v7.3.0_CNL113578_LATEST/doc/NS_v7.3.0_CNL113578_UG.pdf and /dev/null differ diff --git a/NS_v7.3.0_CNL113578_LATEST/src/NS_Types.ttcn b/NS_v7.3.0_CNL113578_LATEST/src/NS_Types.ttcn deleted file mode 100644 index f80bae8cf..000000000 --- a/NS_v7.3.0_CNL113578_LATEST/src/NS_Types.ttcn +++ /dev/null @@ -1,465 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// // -// Copyright Test Competence Center (TCC) ETH 2008 // -// // -// 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: NS_Types.ttcn -// Rev: R1A01 -// Prodnr: CNL 113 578 -// Updated: 2008-01-22 -// Contact: http://ttcn.ericsson.se -// Reference: 3GPP TS 48.016 7.3.0 - -module NS_Types -{ // beginning of module - -// This module contains the Base Station System (BSS) Serving GPRS Support -// Node (SGSN) interface Network Sevice protocol -// 48.016 v7.3.0 with attributes for RAW encoding/decoding. -// - -// History: -// ******** - -import from General_Types all; - -external function enc_PDU_NS(in PDU_NS pdu) return octetstring -with { extension "prototype(convert)" - extension "encode(RAW)" - } - -external function dec_PDU_NS(in octetstring stream) return PDU_NS -with { extension "prototype(convert)" - extension "decode(RAW)" - } - -type record CauseNS -{ -OCT1 iEI, -BIT1 ext, -LIN1_2 lengthIndicator, -OCT1 cause -} with { - variant (lengthIndicator) "LENGTHTO (cause)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; - } - -type record NS_VCI -{ -OCT1 iEI, -BIT1 ext, -LIN1_2 lengthIndicator, -OCT2 nS_VCI -} with { - variant (lengthIndicator) "LENGTHTO (nS_VCI)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; - } - -type record NS_PDU -{ -OCT1 iEI, -BIT1 ext, -LIN1_2 lengthIndicator, -octetstring ns_PDU -} with { - variant (lengthIndicator) "LENGTHTO (ns_PDU)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; - } - -type record BVCI_NS -{ -OCT1 iEI, -BIT1 ext, -LIN1_2 lengthIndicator, -OCT2 bVCI -} with { - variant (lengthIndicator) "LENGTHTO (bVCI)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; - } - -type record ListofIP4Elements -{ -OCT1 iEI, -BIT1 ext, -LIN1_2 lengthIndicator, -IP4_Elements iP4_Elements -} with { - variant (lengthIndicator) "LENGTHTO (iP4_Elements)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; - } - -type record IP4_Element -{ -OCT4 ipAddress, -OCT2 uDP_Port, -OCT1 signallingWeight, -OCT1 dataWeight -} - -type record of IP4_Element IP4_Elements; - -type record ListofIP6Elements -{ -OCT1 iEI, -BIT1 ext, -LIN1_2 lengthIndicator, -IP6_Elements iP6_Elements -} with { - variant (lengthIndicator) "LENGTHTO (iP6_Elements)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; - } - -type record IP6_Element -{ -OCT16 ipAddress, -OCT2 uDP_Port, -OCT1 signallingWeight, -OCT1 dataWeight -} - -type record of IP6_Element IP6_Elements; - -type record IP_Address_NS -{ -OCT1 iEI, -OCT1 addressType, -IPAddress ipAddress -}with { - variant (ipAddress) "CROSSTAG - ( - ip4Address, addressType = '01'O; - ip6Address, addressType = '02'O; - )" -}; - -type union IPAddress -{ -OCT4 ip4Address, -OCT16 ip6Address -} - -type record EndFlag -{ -BIT1 eBIT, -BIT7 spare -} - -type record ResetFlag -{ -OCT1 iEI, -BIT1 resetBIT, -BIT7 spare -} - -type record MaxNumberOfNSVCs -{ -OCT1 iEI, -OCT2 maxNumberOfNSVCs -} - -type record NumberOfIP_Endpoints -{ -OCT1 iEI, -OCT2 numberOfIP_Endpoints -} - - -type record NSEI_NS -{ -OCT1 iEI, -BIT1 ext, -LIN1_2 lengthIndicator, -OCT2 nSEI -} with { - variant (lengthIndicator) "LENGTHTO (nSEI)"; - variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B; - length2, ext = '0'B;)"; - variant (ext,lengthIndicator) "FIELDORDER(msb)"; - } - -type record NS_SDU_ControlBits -{ -BIT1 rBit, -BIT1 cBit, -BIT6 spare -} - -//same type def as LIN2_2a in BSSGP but named differently -type union LIN1_2 -{ -integer length1, -integer length2 -} with { - variant (length1) "FIELDLENGTH(7)"; - variant (length2) "FIELDLENGTH(15)"; - variant (length2) "BYTEORDER(last)"; - variant (length1,length2) "FIELDORDER(msb)" - } - - -// PDUs ************************************************************ - - -type record PDU_NS_Alive -{ -OCT1 nsPduType -} - -type record PDU_NS_Alive_Ack -{ -OCT1 nsPduType -} - -type record PDU_NS_Block -{ -OCT1 nsPduType, -CauseNS causeNS, //TLV -NS_VCI nS_VCI //TLV -} - -type record PDU_NS_Block_Ack -{ -OCT1 nsPduType, -NS_VCI nS_VCI //TLV -} - -type record PDU_NS_Reset -{ -OCT1 nsPduType, -CauseNS causeNS, //TLV -NS_VCI nS_VCI, //TLV -NSEI_NS nSEI_NS //TLV -} - -type record PDU_NS_Reset_Ack -{ -OCT1 nsPduType, -NS_VCI nS_VCI, //TLV -NSEI_NS nSEI_NS //TLV -} - -type record PDU_NS_Status -{ -OCT1 nsPduType, -CauseNS causeNS, //TLV -NS_VCI nS_VCI optional, //TLV -NS_PDU nS_PDU optional, //TLV -BVCI_NS bVCI_NS optional, //TLV -ListofIP4Elements listofIP4Elements optional, //TLV -ListofIP6Elements listofIP6Elements optional //TLV -} with { - variant "TAG ( - nS_VCI, iEI = '01'O; - nS_PDU, iEI = '02'O; - bVCI_NS, iEI = '03'O; - listofIP4Elements, iEI = '05'O; - listofIP6Elements, iEI = '06'O - )" -} - -type record PDU_NS_Unblock -{ -OCT1 nsPduType -} - -type record PDU_NS_Unblock_Ack -{ -OCT1 nsPduType -} - -type record PDU_NS_Unitdata -{ -OCT1 nsPduType, -NS_SDU_ControlBits nS_SDU_ControlBits, //V -OCT2 bVCI, //V -octetstring nS_SDU //V -// decoder interprets all octets after the -// first 4 octets as NS SDU -} - -type record PDU_SNS_Ack -{ -OCT1 nsPduType, -NSEI_NS nSEI_NS, //TLV -integer transactionID, //V -CauseNS causeNS optional, //TLV -IP_Address_NS iP_Address_NS optional, //TV -ListofIP4Elements listofIP4Elements optional, //TLV -ListofIP6Elements listofIP6Elements optional //TLV -} with { - variant (transactionID) "FIELDLENGTH(8)"; - variant "TAG ( - causeNS, iEI = '00'O; - iP_Address_NS, iEI = '0B'O; - listofIP4Elements, iEI = '05'O; - listofIP6Elements, iEI = '06'O - )" -} - -type record PDU_SNS_Add -{ -OCT1 nsPduType, -NSEI_NS nSEI_NS, //TLV -integer transactionID, //V -ListofIP4Elements listofIP4Elements optional, //TLV -ListofIP6Elements listofIP6Elements optional //TLV -} with { - variant (transactionID) "FIELDLENGTH(8)"; - variant "TAG ( - listofIP4Elements, iEI = '05'O; - listofIP6Elements, iEI = '06'O - )" -} - -type record PDU_SNS_ChangeWeight -{ -OCT1 nsPduType, -NSEI_NS nSEI_NS, //TLV -integer transactionID, //V -ListofIP4Elements listofIP4Elements optional, //TLV -ListofIP6Elements listofIP6Elements optional //TLV -} with { - variant (transactionID) "FIELDLENGTH(8)"; - variant "TAG ( - listofIP4Elements, iEI = '05'O; - listofIP6Elements, iEI = '06'O - )" -} - -type record PDU_SNS_Config -{ -OCT1 nsPduType, -EndFlag endFlag, //V -NSEI_NS nSEI_NS, //TLV -ListofIP4Elements listofIP4Elements optional, //TLV -ListofIP6Elements listofIP6Elements optional //TLV -} with { - variant "TAG ( - listofIP4Elements, iEI = '05'O; - listofIP6Elements, iEI = '06'O - )" -} - - - -type record PDU_SNS_Config_Ack -{ -OCT1 nsPduType, -NSEI_NS nSEI_NS, //TLV -CauseNS causeNS optional //TLV -} with { - variant "TAG (causeNS, iEI = '00'O;)" -} - - - -type record PDU_SNS_Delete -{ -OCT1 nsPduType, -NSEI_NS nSEI_NS, //TLV -integer transactionID, //V -IP_Address_NS iP_Address_NS optional, //TV -ListofIP4Elements listofIP4Elements optional, //TLV -ListofIP6Elements listofIP6Elements optional //TLV -} with { - variant (transactionID) "FIELDLENGTH(8)"; - variant "TAG ( - iP_Address_NS, iEI = '0B'O; - listofIP4Elements, iEI = '05'O; - listofIP6Elements, iEI = '06'O - )" -} - -type record PDU_SNS_Size -{ -OCT1 nsPduType, -NSEI_NS nSEI_NS, //TLV -ResetFlag resetFlag, //TV -MaxNumberOfNSVCs maxNumberOfNSVCs, //TV -NumberOfIP_Endpoints numberOfIP4_Endpoints optional, //TV -NumberOfIP_Endpoints numberOfIP6_Endpoints optional //TV -} with { - variant "TAG ( - numberOfIP4_Endpoints, iEI = '08'O; - numberOfIP6_Endpoints, iEI = '09'O; - )" -} - - -type record PDU_SNS_Size_Ack -{ -OCT1 nsPduType, -NSEI_NS nSEI_NS, -CauseNS causeNS optional //TLV -} with { - variant "TAG (causeNS, iEI = '00'O;)" -} - - - -type union PDU_NS -{ - -PDU_NS_Alive pDU_NS_Alive, -PDU_NS_Alive_Ack pDU_NS_Alive_Ack, -PDU_NS_Block pDU_NS_Block, -PDU_NS_Block_Ack pDU_NS_Block_Ack, -PDU_NS_Reset pDU_NS_Reset, -PDU_NS_Reset_Ack pDU_NS_Reset_Ack, -PDU_NS_Status pDU_NS_Status, -PDU_NS_Unblock pDU_NS_Unblock, -PDU_NS_Unblock_Ack pDU_NS_Unblock_Ack, -PDU_NS_Unitdata pDU_NS_Unitdata, -PDU_SNS_Ack pDU_SNS_Ack, -PDU_SNS_Add pDU_SNS_Add, -PDU_SNS_ChangeWeight pDU_SNS_ChangeWeight, -PDU_SNS_Config pDU_SNS_Config, -PDU_SNS_Config_Ack pDU_SNS_Config_Ack, -PDU_SNS_Delete pDU_SNS_Delete, -PDU_SNS_Size pDU_SNS_Size, -PDU_SNS_Size_Ack pDU_SNS_Size_Ack - -} with { variant "TAG ( - - pDU_NS_Alive, nsPduType ='0A'O; - pDU_NS_Alive_Ack, nsPduType ='0B'O; - pDU_NS_Block, nsPduType ='04'O; - pDU_NS_Block_Ack, nsPduType ='05'O; - pDU_NS_Reset, nsPduType ='02'O; - pDU_NS_Reset_Ack, nsPduType ='03'O; - pDU_NS_Status, nsPduType ='08'O; - pDU_NS_Unblock, nsPduType ='06'O; - pDU_NS_Unblock_Ack, nsPduType ='07'O; - pDU_NS_Unitdata, nsPduType ='00'O; - pDU_SNS_Ack, nsPduType ='0C'O; - pDU_SNS_Add, nsPduType ='0D'O; - pDU_SNS_ChangeWeight, nsPduType ='0E'O; - pDU_SNS_Config, nsPduType ='0F'O; - pDU_SNS_Config_Ack, nsPduType ='10'O; - pDU_SNS_Delete, nsPduType ='11'O; - pDU_SNS_Size, nsPduType ='12'O; - pDU_SNS_Size_Ack, nsPduType ='13'O - - )" -} - - -}with{ encode "RAW"} // end of module diff --git a/SNDCP_v7.0.0_CNL113576_LATEST/doc/SNDCP_v7.0.0_CNL113576_FS.pdf b/SNDCP_v7.0.0_CNL113576_LATEST/doc/SNDCP_v7.0.0_CNL113576_FS.pdf deleted file mode 100644 index 5c4a49cb4..000000000 Binary files a/SNDCP_v7.0.0_CNL113576_LATEST/doc/SNDCP_v7.0.0_CNL113576_FS.pdf and /dev/null differ diff --git a/SNDCP_v7.0.0_CNL113576_LATEST/doc/SNDCP_v7.0.0_CNL113576_PRI.pdf b/SNDCP_v7.0.0_CNL113576_LATEST/doc/SNDCP_v7.0.0_CNL113576_PRI.pdf deleted file mode 100644 index 677e45176..000000000 Binary files a/SNDCP_v7.0.0_CNL113576_LATEST/doc/SNDCP_v7.0.0_CNL113576_PRI.pdf and /dev/null differ diff --git a/SNDCP_v7.0.0_CNL113576_LATEST/doc/SNDCP_v7.0.0_CNL113576_UG.pdf b/SNDCP_v7.0.0_CNL113576_LATEST/doc/SNDCP_v7.0.0_CNL113576_UG.pdf deleted file mode 100644 index 4b94413e8..000000000 Binary files a/SNDCP_v7.0.0_CNL113576_LATEST/doc/SNDCP_v7.0.0_CNL113576_UG.pdf and /dev/null differ diff --git a/SNDCP_v7.0.0_CNL113576_LATEST/src/SNDCP_Types.ttcn b/SNDCP_v7.0.0_CNL113576_LATEST/src/SNDCP_Types.ttcn deleted file mode 100644 index e2cebf306..000000000 --- a/SNDCP_v7.0.0_CNL113576_LATEST/src/SNDCP_Types.ttcn +++ /dev/null @@ -1,96 +0,0 @@ -/* -/////////////////////////////////////////////////////////////////////////////// -// // -// Copyright Test Competence Center (TCC) ETH 2008 // -// // -// 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: SNDCP_Types.ttcn -// Rev: R1A01 -// Prodnr: CNL 113 576 -// Updated: 2008-01-21 -// Contact: http://ttcn.ericsson.se -// Reference: 3GPP TS 44.065 7.0.0 -*/ -module SNDCP_Types -{ - -// This module contains the Subnetwork Dependent Convergence Protocol -// 44.065 v7.0.0 with attributes for RAW encoding/decoding. - -// According to 3GPP 04.64 - the maximum(!) length of the PDU_SN_UNITDATA and PDU_SN_DATA -// is minimum 140 and maximum 520 octets. -// The actual length of the PDU_SN_UNITDATA and PDU_SN_DATA is given in LLC ASPs or set to a parameter value. -// The possible maximum length of dataSegmentSnUnitdataPdu or dataSegmentSnDataPdu is therefore variable and -// will depend on this setting. -// The RAW decoder should have no problem decoding these fields when they are simply defined as octetstrings -// and stand at the end of the SNDPC PDUs. -// - -// - -import from General_Types all; - -external function enc_PDU_SN(in PDU_SN pdu ) return octetstring -with { extension "prototype(convert)" - extension "encode(RAW)" - } - -external function dec_PDU_SN(in octetstring stream) return PDU_SN -with { extension "prototype(convert)" - extension "decode(RAW)" - } - -type union PDU_SN -{ -PDU_SN_UNITDATA pDU_SN_UNITDATA, -PDU_SN_DATA pDU_SN_DATA -} with { variant "TAG ( - pDU_SN_UNITDATA, snPduType ='1'B; - pDU_SN_DATA, snPduType ='0'B - )" -}; - - -type record PDU_SN_UNITDATA -{ - BIT4 nsapi, - BIT1 moreBit, - BIT1 snPduType, - BIT1 firstSegmentIndicator, - BIT1 spareBit, // set to '0'B - BIT4 pcomp optional, - BIT4 dcomp optional, - BIT4 npduNumber, - BIT4 segmentNumber, - OCT1 npduNumberContinued, - octetstring dataSegmentSnUnitdataPdu -} with { variant (pcomp) "PRESENCE(firstSegmentIndicator = '1'B)"; - variant (dcomp) "PRESENCE(firstSegmentIndicator = '1'B)" - }; - - -type record PDU_SN_DATA -{ - BIT4 nsapi, - BIT1 moreBit, - BIT1 snPduType, - BIT1 firstSegmentIndicator, - BIT1 spareBit, // set to '0'B - BIT4 pcomp optional, - BIT4 dcomp optional, - OCT1 npduNumberAck optional, - octetstring dataSegmentSnDataPdu - -} with { variant (pcomp) "PRESENCE(firstSegmentIndicator = '1'B)"; - variant (dcomp) "PRESENCE(firstSegmentIndicator = '1'B)"; - variant (npduNumberAck) "PRESENCE(firstSegmentIndicator = '1'B)" - }; - - -}with{ encode "RAW"} // end of module diff --git a/ggsn_tests/gen_links.sh b/ggsn_tests/gen_links.sh index 1297938b8..ee8d7b069 100755 --- a/ggsn_tests/gen_links.sh +++ b/ggsn_tests/gen_links.sh @@ -39,7 +39,7 @@ DIR=$BASEDIR/titan.ProtocolModules.UDP/src FILES="UDP_EncDec.cc UDP_Types.ttcn" gen_links $DIR $FILES -DIR=../GTP_v13.5.0_CNL113843_LATEST/src +DIR=$BASEDIR/titan.ProtocolModules.GTP_v13.5.0/src FILES="GTPC_EncDec.cc GTPC_Types.ttcn GTPU_EncDec.cc GTPU_Types.ttcn" gen_links $DIR $FILES diff --git a/gprs_gb/gen_links.sh b/gprs_gb/gen_links.sh index bdfb24101..f2433d59c 100755 --- a/gprs_gb/gen_links.sh +++ b/gprs_gb/gen_links.sh @@ -27,7 +27,7 @@ DIR=$BASEDIR/titan.TestPorts.IPL4asp/src FILES="IPL4asp_Functions.ttcn IPL4asp_PT.cc IPL4asp_PT.hh IPL4asp_PortType.ttcn IPL4asp_Types.ttcn IPL4asp_discovery.cc IPL4asp_protocol_L234.hh" gen_links $DIR $FILES -DIR=../MobileL3_v13.4.0_CNL113832_LATEST/src +DIR=$BASEDIR/titan.ProtocolModules.MobileL3_v13.4.0/src FILES="MobileL3_CC_Types.ttcn MobileL3_CommonIE_Types.ttcn MobileL3_GMM_SM_Types.ttcn MobileL3_MM_Types.ttcn MobileL3_RRM_Types.ttcn MobileL3_SMS_Types.ttcn MobileL3_SS_Types.ttcn MobileL3_Types.ttcn SS_DataTypes.asn SS_EncDec.cc SS_Errors.asn SS_Operations.asn SS_PDU_Defs.asn SS_Protocol.asn SS_Types.ttcn" gen_links $DIR $FILES