Initial commit
diff --git a/doc/BSSAPP_v7.3.0_CNL113580_FS.pdf b/doc/BSSAPP_v7.3.0_CNL113580_FS.pdf
new file mode 100644
index 0000000..7aa4856
--- /dev/null
+++ b/doc/BSSAPP_v7.3.0_CNL113580_FS.pdf
Binary files differ
diff --git a/doc/BSSAPP_v7.3.0_CNL113580_UG.pdf b/doc/BSSAPP_v7.3.0_CNL113580_UG.pdf
new file mode 100644
index 0000000..e5d658d
--- /dev/null
+++ b/doc/BSSAPP_v7.3.0_CNL113580_UG.pdf
Binary files differ
diff --git a/doc/BSSAPP_v7.3_PRI.pdf b/doc/BSSAPP_v7.3_PRI.pdf
new file mode 100644
index 0000000..80974a8
--- /dev/null
+++ b/doc/BSSAPP_v7.3_PRI.pdf
Binary files differ
diff --git a/src/BSSAPp_Types.ttcn b/src/BSSAPp_Types.ttcn
new file mode 100644
index 0000000..f66be1b
--- /dev/null
+++ b/src/BSSAPp_Types.ttcn
@@ -0,0 +1,921 @@
+///////////////////////////////////////////////////////////////////////////////
+//
+// Copyright (c) 2000-2017 Ericsson Telecom AB
+//
+// All rights reserved. This program and the accompanying materials
+// are made available under the terms of the Eclipse Public License v1.0
+// which accompanies this distribution, and is available at
+// http://www.eclipse.org/legal/epl-v10.html
+///////////////////////////////////////////////////////////////////////////////
+//
+// File: BSSAPp_Types.ttcn
+// Rev: R2A
+// 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