aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Spevak <jan.spevak@nokia.com>2016-10-28 15:58:17 +0200
committerAnders Broman <a.broman58@gmail.com>2016-10-31 18:07:18 +0000
commita3f5f3e461bcf1a5a596ae70513be9ffb270c25b (patch)
treef47dc430443d78427348d1ea9f14a9c38d56d802
parentd7e874c5d05b353cece337c72fddafde466a321e (diff)
GPRS_CDR: update record definitions
Records defined according to 3GPP TS release 14 in new .asn files. Updated Makefiles and dissector files generated via asn2ws Change-Id: I6da2782c58178550962f63dbd526b827e0d8394b Reviewed-on: https://code.wireshark.org/review/18552 Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com> Reviewed-by: Anders Broman <a.broman58@gmail.com>
-rw-r--r--epan/dissectors/asn1/gprscdr/CMakeLists.txt4
-rw-r--r--epan/dissectors/asn1/gprscdr/GPRSChargingDataTypesV1400.asn1418
-rw-r--r--epan/dissectors/asn1/gprscdr/GPRSChargingDataTypesV641.asn260
-rw-r--r--epan/dissectors/asn1/gprscdr/GenericChargingDataTypesV1400.asn706
-rw-r--r--epan/dissectors/asn1/gprscdr/Makefile.am8
-rw-r--r--epan/dissectors/asn1/gprscdr/gprscdr.cnf27
-rw-r--r--epan/dissectors/packet-gprscdr.c1412
-rw-r--r--epan/dissectors/packet-gprscdr.h2
8 files changed, 3630 insertions, 207 deletions
diff --git a/epan/dissectors/asn1/gprscdr/CMakeLists.txt b/epan/dissectors/asn1/gprscdr/CMakeLists.txt
index 92bd0e38d0..27f68536aa 100644
--- a/epan/dissectors/asn1/gprscdr/CMakeLists.txt
+++ b/epan/dissectors/asn1/gprscdr/CMakeLists.txt
@@ -31,9 +31,9 @@ set( EXT_ASN_FILE_LIST
)
set( ASN_FILE_LIST
- GenericChargingDataTypesV1250.asn
+ GenericChargingDataTypesV1400.asn
GPRSChargingDataTypesV641.asn
- GPRSChargingDataTypesV1260.asn
+ GPRSChargingDataTypesV1400.asn
)
set( EXTRA_DIST
diff --git a/epan/dissectors/asn1/gprscdr/GPRSChargingDataTypesV1400.asn b/epan/dissectors/asn1/gprscdr/GPRSChargingDataTypesV1400.asn
new file mode 100644
index 0000000000..1a9ad3cfee
--- /dev/null
+++ b/epan/dissectors/asn1/gprscdr/GPRSChargingDataTypesV1400.asn
@@ -0,0 +1,1418 @@
+--
+-- 3GPP TS 32.298 v14.0.0 (2016-09)
+--
+GPRSChargingDataTypesV1400 {itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) charging (5) gprsChargingDataTypes (2) asn1Module (0) version1 (0)}
+DEFINITIONS IMPLICIT TAGS ::=
+
+BEGIN
+
+-- EXPORTS everything
+
+IMPORTS
+
+-- AddressString,
+CallDuration,
+CallingNumber,
+CellId,
+Diagnostics,
+DiameterIdentity,
+-- GSNAddress,
+IPAddress,
+LCSCause,
+LCSClientIdentity,
+LCSQoSInfo,
+LevelOfCAMELService,
+LocalSequenceNumber,
+LocationAreaAndCell,
+LocationAreaCode,
+ManagementExtensions,
+MBMSInformation,
+MessageReference,
+MSISDN,
+MSTimeZone,
+PositioningData,
+RecordingEntity,
+RecordType,
+RoutingAreaCode,
+ServiceSpecificInfo,
+SMSResult,
+SmsTpDestinationNumber,
+SubscriptionID,
+TimeStamp
+FROM GenericChargingDataTypes {itu-t (0) identified-organization (4) etsi(0) mobileDomain (0) charging (5) genericChargingDataTypes (0) asn1Module (0) version1 (0)}
+
+DefaultGPRS-Handling,
+DefaultSMS-Handling,
+NotificationToMSUser,
+ServiceKey
+FROM MAP-MS-DataTypes {itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3) map-MS-DataTypes (11) version15 (15)}
+-- from TS 29.002 [214]
+
+IMEI,
+IMSI,
+ISDN-AddressString,
+RAIdentity
+FROM MAP-CommonDataTypes {itu-t identified-organization (4) etsi (0) mobileDomain (0)gsm-Network (1) modules (3) map-CommonDataTypes (18) version15 (15)}
+-- from TS 29.002 [214]
+
+CallReferenceNumber
+FROM MAP-CH-DataTypes {itu-t identified-organization (4) etsi (0) mobileDomain (0)gsm-Network (1) modules (3) map-CH-DataTypes (13) version15 (15)}
+-- from TS 29.002 [214]
+
+Ext-GeographicalInformation,
+LCSClientType,
+LCS-Priority,
+LocationType
+FROM MAP-LCS-DataTypes {itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3) map-LCS-DataTypes (25) version15 (15) }
+-- from TS 29.002 [214]
+
+LocationMethod
+FROM SS-DataTypes {itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Access (2) modules (3) ss-DataTypes (2) version15 (15)}
+-- from TS 24.080 [209]
+
+;
+
+--
+-- GPRS RECORDS
+--
+
+GPRSRecord ::= CHOICE
+--
+-- Record values 20, 22..27 are specific
+-- Record values 76, 77, 86 are MBMS specific
+-- Record values 78,79 and 92, 95, 96 are EPC specific
+--
+{
+ sgsnPDPRecord [20] SGSNPDPRecord,
+-- WS backward compabillity addition
+ ggsnPDPRecord [21] GGSNPDPRecordV750,
+-- WS mod END
+ sgsnMMRecord [22] SGSNMMRecord,
+ sgsnSMORecord [23] SGSNSMORecord,
+ sgsnSMTRecord [24] SGSNSMTRecord,
+ sgsnMTLCSRecord [25] SGSNMTLCSRecord,
+ sgsnMOLCSRecord [26] SGSNMOLCSRecord,
+ sgsnNILCSRecord [27] SGSNNILCSRecord,
+-- WS backward compabillity addition
+ egsnPDPRecord [70] EGSNPDPRecordV750,
+-- WS mod END
+ sgsnMBMSRecord [76] SGSNMBMSRecord,
+ ggsnMBMSRecord [77] GGSNMBMSRecord,
+ sGWRecord [78] SGWRecord,
+ pGWRecord [79] PGWRecord,
+
+ gwMBMSRecord [86] GWMBMSRecord,
+
+ tDFRecord [92] TDFRecord,
+
+ iPERecord [95] IPERecord,
+ ePDGRecord [96] EPDGRecord,
+ tWAGRecord [97] TWAGRecord
+}
+
+SGWRecord ::= SET
+{
+ recordType [0] RecordType,
+ servedIMSI [3] IMSI OPTIONAL,
+ s-GWAddress [4] GSNAddress,
+ chargingID [5] ChargingID,
+ servingNodeAddress [6] SEQUENCE OF GSNAddress,
+ accessPointNameNI [7] AccessPointNameNI OPTIONAL,
+ pdpPDNType [8] PDPType OPTIONAL,
+ servedPDPPDNAddress [9] PDPAddress OPTIONAL,
+ dynamicAddressFlag [11] DynamicAddressFlag OPTIONAL,
+ listOfTrafficVolumes [12] SEQUENCE OF ChangeOfCharCondition OPTIONAL,
+ recordOpeningTime [13] TimeStamp,
+ duration [14] CallDuration,
+ causeForRecClosing [15] CauseForRecClosing,
+ diagnostics [16] Diagnostics OPTIONAL,
+ recordSequenceNumber [17] INTEGER OPTIONAL,
+ nodeID [18] NodeID OPTIONAL,
+ recordExtensions [19] ManagementExtensions OPTIONAL,
+ localSequenceNumber [20] LocalSequenceNumber OPTIONAL,
+ apnSelectionMode [21] APNSelectionMode OPTIONAL,
+ servedMSISDN [22] MSISDN OPTIONAL,
+ chargingCharacteristics [23] ChargingCharacteristics,
+ chChSelectionMode [24] ChChSelectionMode OPTIONAL,
+ iMSsignalingContext [25] NULL OPTIONAL,
+ servingNodePLMNIdentifier [27] PLMN-Id OPTIONAL,
+ servedIMEI [29] IMEI OPTIONAL,
+ rATType [30] RATType OPTIONAL,
+ mSTimeZone [31] MSTimeZone OPTIONAL,
+ userLocationInformation [32] OCTET STRING OPTIONAL,
+ sGWChange [34] SGWChange OPTIONAL,
+ servingNodeType [35] SEQUENCE OF ServingNodeType,
+ p-GWAddressUsed [36] GSNAddress OPTIONAL,
+ p-GWPLMNIdentifier [37] PLMN-Id OPTIONAL,
+ startTime [38] TimeStamp OPTIONAL,
+ stopTime [39] TimeStamp OPTIONAL,
+ pDNConnectionChargingID [40] ChargingID OPTIONAL,
+ iMSIunauthenticatedFlag [41] NULL OPTIONAL,
+ userCSGInformation [42] UserCSGInformation OPTIONAL,
+ servedPDPPDNAddressExt [43] PDPAddress OPTIONAL,
+ lowPriorityIndicator [44] NULL OPTIONAL,
+ dynamicAddressFlagExt [47] DynamicAddressFlag OPTIONAL,
+ s-GWiPv6Address [48] GSNAddress OPTIONAL,
+ servingNodeiPv6Address [49] SEQUENCE OF GSNAddress OPTIONAL,
+ p-GWiPv6AddressUsed [50] GSNAddress OPTIONAL,
+ retransmission [51] NULL OPTIONAL,
+ userLocationInfoTime [52] TimeStamp OPTIONAL,
+ cNOperatorSelectionEnt [53] CNOperatorSelectionEntity OPTIONAL,
+ presenceReportingAreaInfo [54] PresenceReportingAreaInfo OPTIONAL,
+ lastUserLocationInformation [55] OCTET STRING OPTIONAL,
+ lastMSTimeZone [56] MSTimeZone OPTIONAL,
+ enhancedDiagnostics [57] EnhancedDiagnostics OPTIONAL,
+ cPCIoTEPSOptimisationIndicator [59] CPCIoTEPSOptimisationIndicator OPTIONAL,
+ uNIPDUCPOnlyFlag [60] UNIPDUCPOnlyFlag OPTIONAL,
+ servingPLMNRateControl [61] ServingPLMNRateControl OPTIONAL,
+ pDPPDNTypeExtension [62] PDPPDNTypeExtension OPTIONAL,
+ mOExceptionDataCounter [63] MOExceptionDataCounter OPTIONAL
+}
+
+PGWRecord ::= SET
+--
+-- List of traffic volumes is only applicable when Charging per IP-CAN session is active and
+-- IP-CAN bearer charging is being performed for the session.
+--
+-- EPC QoS Information is only applicable when Charging per IP-CAN session is active.
+--
+{
+ recordType [0] RecordType,
+ servedIMSI [3] IMSI OPTIONAL,
+ p-GWAddress [4] GSNAddress,
+ chargingID [5] ChargingID,
+ servingNodeAddress [6] SEQUENCE OF GSNAddress,
+ accessPointNameNI [7] AccessPointNameNI OPTIONAL,
+ pdpPDNType [8] PDPType OPTIONAL,
+ servedPDPPDNAddress [9] PDPAddress OPTIONAL,
+ dynamicAddressFlag [11] DynamicAddressFlag OPTIONAL,
+ listOfTrafficVolumes [12] SEQUENCE OF ChangeOfCharCondition OPTIONAL,
+ recordOpeningTime [13] TimeStamp,
+ duration [14] CallDuration,
+ causeForRecClosing [15] CauseForRecClosing,
+ diagnostics [16] Diagnostics OPTIONAL,
+ recordSequenceNumber [17] INTEGER OPTIONAL,
+ nodeID [18] NodeID OPTIONAL,
+ recordExtensions [19] ManagementExtensions OPTIONAL,
+ localSequenceNumber [20] LocalSequenceNumber OPTIONAL,
+ apnSelectionMode [21] APNSelectionMode OPTIONAL,
+ servedMSISDN [22] MSISDN OPTIONAL,
+ chargingCharacteristics [23] ChargingCharacteristics,
+ chChSelectionMode [24] ChChSelectionMode OPTIONAL,
+ iMSsignalingContext [25] NULL OPTIONAL,
+ servingNodePLMNIdentifier [27] PLMN-Id OPTIONAL,
+ pSFurnishChargingInformation [28] PSFurnishChargingInformation OPTIONAL,
+ servedIMEI [29] IMEI OPTIONAL,
+ rATType [30] RATType OPTIONAL,
+ mSTimeZone [31] MSTimeZone OPTIONAL,
+ userLocationInformation [32] OCTET STRING OPTIONAL,
+ cAMELChargingInformation [33] OCTET STRING OPTIONAL,
+ listOfServiceData [34] SEQUENCE OF ChangeOfServiceCondition OPTIONAL,
+ servingNodeType [35] SEQUENCE OF ServingNodeType,
+ servedMNNAI [36] SubscriptionID OPTIONAL,
+ p-GWPLMNIdentifier [37] PLMN-Id OPTIONAL,
+ startTime [38] TimeStamp OPTIONAL,
+ stopTime [39] TimeStamp OPTIONAL,
+ served3gpp2MEID [40] OCTET STRING OPTIONAL,
+ pDNConnectionChargingID [41] ChargingID OPTIONAL,
+ iMSIunauthenticatedFlag [42] NULL OPTIONAL,
+ userCSGInformation [43] UserCSGInformation OPTIONAL,
+ threeGPP2UserLocationInformation [44] OCTET STRING OPTIONAL,
+ servedPDPPDNAddressExt [45] PDPAddress OPTIONAL,
+ lowPriorityIndicator [46] NULL OPTIONAL,
+ dynamicAddressFlagExt [47] DynamicAddressFlag OPTIONAL,
+ servingNodeiPv6Address [49] SEQUENCE OF GSNAddress OPTIONAL,
+ p-GWiPv6AddressUsed [50] GSNAddress OPTIONAL,
+ tWANUserLocationInformation [51] TWANUserLocationInfo OPTIONAL,
+ retransmission [52] NULL OPTIONAL,
+ userLocationInfoTime [53] TimeStamp OPTIONAL,
+ cNOperatorSelectionEnt [54] CNOperatorSelectionEntity OPTIONAL,
+ ePCQoSInformation [55] EPCQoSInformation OPTIONAL,
+ presenceReportingAreaInfo [56] PresenceReportingAreaInfo OPTIONAL,
+ lastUserLocationInformation [57] OCTET STRING OPTIONAL,
+ lastMSTimeZone [58] MSTimeZone OPTIONAL,
+ enhancedDiagnostics [59] EnhancedDiagnostics OPTIONAL,
+ nBIFOMMode [60] NBIFOMMode OPTIONAL,
+ nBIFOMSupport [61] NBIFOMSupport OPTIONAL,
+ uWANUserLocationInformation [62] UWANUserLocationInfo OPTIONAL,
+ sGiPtPTunnellingMethod [64] SGiPtPTunnellingMethod OPTIONAL,
+ uNIPDUCPOnlyFlag [65] UNIPDUCPOnlyFlag OPTIONAL,
+ servingPLMNRateControl [66] ServingPLMNRateControl OPTIONAL,
+ aPNRateControl [67] APNRateControl OPTIONAL,
+ chargingPerIPCANSessionIndicator [68] ChargingPerIPCANSessionIndicator OPTIONAL,
+ pDPPDNTypeExtension [68] PDPPDNTypeExtension OPTIONAL,
+ mOExceptionDataCounter [69] MOExceptionDataCounter OPTIONAL
+}
+
+TDFRecord ::= SET
+{
+ recordType [0] RecordType,
+ servedIMSI [3] IMSI OPTIONAL,
+ p-GWAddress [4] GSNAddress,
+ servingNodeAddress [6] SEQUENCE OF GSNAddress,
+ accessPointNameNI [7] AccessPointNameNI OPTIONAL,
+ pdpPDNType [8] PDPType OPTIONAL,
+ servedPDPPDNAddress [9] PDPAddress OPTIONAL,
+ dynamicAddressFlag [11] DynamicAddressFlag OPTIONAL,
+ recordOpeningTime [13] TimeStamp,
+ duration [14] CallDuration,
+ causeForRecClosing [15] CauseForRecClosing,
+ diagnostics [16] Diagnostics OPTIONAL,
+ recordSequenceNumber [17] INTEGER OPTIONAL,
+ nodeID [18] NodeID OPTIONAL,
+ recordExtensions [19] ManagementExtensions OPTIONAL,
+ localSequenceNumber [20] LocalSequenceNumber OPTIONAL,
+ apnSelectionMode [21] APNSelectionMode OPTIONAL,
+ servedMSISDN [22] MSISDN OPTIONAL,
+ chargingCharacteristics [23] ChargingCharacteristics,
+ chChSelectionMode [24] ChChSelectionMode OPTIONAL,
+ servingNodePLMNIdentifier [27] PLMN-Id OPTIONAL,
+ pSFurnishChargingInformation [28] PSFurnishChargingInformation OPTIONAL,
+ servedIMEI [29] IMEI OPTIONAL,
+ rATType [30] RATType OPTIONAL,
+ mSTimeZone [31] MSTimeZone OPTIONAL,
+ userLocationInformation [32] OCTET STRING OPTIONAL,
+ listOfServiceData [34] SEQUENCE OF ChangeOfServiceCondition OPTIONAL,
+ servingNodeType [35] SEQUENCE OF ServingNodeType,
+ servedMNNAI [36] SubscriptionID OPTIONAL,
+ p-GWPLMNIdentifier [37] PLMN-Id OPTIONAL,
+ startTime [38] TimeStamp OPTIONAL,
+ stopTime [39] TimeStamp OPTIONAL,
+ served3gpp2MEID [40] OCTET STRING OPTIONAL,
+ pDNConnectionChargingID [41] ChargingID,
+ userCSGInformation [43] UserCSGInformation OPTIONAL,
+ threeGPP2UserLocationInformation [44] OCTET STRING OPTIONAL,
+ servedPDPPDNAddressExt [45] PDPAddress OPTIONAL,
+ dynamicAddressFlagExt [47] DynamicAddressFlag OPTIONAL,
+ servingNodeiPv6Address [49] SEQUENCE OF GSNAddress OPTIONAL,
+ p-GWiPv6AddressUsed [50] GSNAddress OPTIONAL,
+ tWANUserLocationInformation [51] TWANUserLocationInfo OPTIONAL,
+ retransmission [52] NULL OPTIONAL,
+ tDFAddress [53] GSNAddress,
+ tDFiPv6AddressUsed [54] GSNAddress OPTIONAL,
+ tDFPLMNIdentifier [55] PLMN-Id OPTIONAL,
+ servedFixedSubsID [56] FixedSubsID OPTIONAL,
+ accessLineIdentifier [57] AccessLineIdentifier OPTIONAL,
+ presenceReportingAreaInfo [58] PresenceReportingAreaInfo OPTIONAL,
+ fixedUserLocationInformation [59] FixedUserLocationInformation OPTIONAL
+
+}
+
+IPERecord ::= SET
+{
+ recordType [0] RecordType,
+ servedIMSI [3] IMSI OPTIONAL,
+ iPEdgeAddress [4] GSNAddress,
+ chargingID [5] ChargingID,
+ accessPointNameNI [7] AccessPointNameNI OPTIONAL,
+ iPCANsessionType [8] PDPType OPTIONAL,
+ servedIPCANsessionAddress [9] PDPAddress OPTIONAL,
+ dynamicAddressFlag [11] DynamicAddressFlag OPTIONAL,
+ listOfTrafficVolumes [12] SEQUENCE OF ChangeOfCharCondition OPTIONAL,
+ recordOpeningTime [13] TimeStamp,
+ duration [14] CallDuration,
+ causeForRecClosing [15] CauseForRecClosing,
+ diagnostics [16] Diagnostics OPTIONAL,
+ recordSequenceNumber [17] INTEGER OPTIONAL,
+ nodeID [18] NodeID OPTIONAL,
+ recordExtensions [19] ManagementExtensions OPTIONAL,
+ localSequenceNumber [20] LocalSequenceNumber OPTIONAL,
+ servedMSISDN [22] MSISDN OPTIONAL,
+ chargingCharacteristics [23] ChargingCharacteristics,
+ chChSelectionMode [24] ChChSelectionMode OPTIONAL,
+ pSFurnishChargingInformation [28] PSFurnishChargingInformation OPTIONAL,
+ servedIMEI [29] IMEI OPTIONAL,
+ listOfServiceData [34] SEQUENCE OF ChangeOfServiceCondition OPTIONAL,
+ servedMNNAI [36] SubscriptionID OPTIONAL,
+ iPEdgeOperatorIdentifier [37] PLMN-Id OPTIONAL,
+ startTime [38] TimeStamp OPTIONAL,
+ stopTime [39] TimeStamp OPTIONAL,
+ servedIPCANsessionAddressExt [45] PDPAddress OPTIONAL,
+ dynamicAddressFlagExt [47] DynamicAddressFlag OPTIONAL,
+ iPEdgeiPv6AddressUsed [50] GSNAddress OPTIONAL,
+ retransmission [52] NULL OPTIONAL,
+ servedFixedSubsID [55] FixedSubsID OPTIONAL,
+ accessLineIdentifier [56] AccessLineIdentifier OPTIONAL,
+ fixedUserLocationInformation [57] FixedUserLocationInformation OPTIONAL
+}
+
+EPDGRecord ::= SET
+{
+ recordType [0] RecordType,
+ servedIMSI [3] IMSI OPTIONAL,
+ ePDGAddressUsed [4] GSNAddress,
+ chargingID [5] ChargingID,
+ accessPointNameNI [7] AccessPointNameNI OPTIONAL,
+ pdpPDNType [8] PDPType OPTIONAL,
+ servedPDPPDNAddress [9] PDPAddress OPTIONAL,
+ dynamicAddressFlag [11] DynamicAddressFlag OPTIONAL,
+ listOfTrafficVolumes [12] SEQUENCE OF ChangeOfCharCondition OPTIONAL,
+ recordOpeningTime [13] TimeStamp,
+ duration [14] CallDuration,
+ causeForRecClosing [15] CauseForRecClosing,
+ diagnostics [16] Diagnostics OPTIONAL,
+ recordSequenceNumber [17] INTEGER OPTIONAL,
+ nodeID [18] NodeID OPTIONAL,
+ recordExtensions [19] ManagementExtensions OPTIONAL,
+ localSequenceNumber [20] LocalSequenceNumber OPTIONAL,
+ apnSelectionMode [21] APNSelectionMode OPTIONAL,
+ servedMSISDN [22] MSISDN OPTIONAL,
+ chargingCharacteristics [23] ChargingCharacteristics,
+ chChSelectionMode [24] ChChSelectionMode OPTIONAL,
+ iMSsignalingContext [25] NULL OPTIONAL,
+ servedIMEI [29] IMEI OPTIONAL,
+ rATType [30] RATType OPTIONAL,
+ sGWChange [34] SGWChange OPTIONAL,
+ p-GWAddressUsed [36] GSNAddress OPTIONAL,
+ p-GWPLMNIdentifier [37] PLMN-Id OPTIONAL,
+ startTime [38] TimeStamp OPTIONAL,
+ stopTime [39] TimeStamp OPTIONAL,
+ pDNConnectionChargingID [40] ChargingID OPTIONAL,
+ servedPDPPDNAddressExt [43] PDPAddress OPTIONAL,
+ dynamicAddressFlagExt [47] DynamicAddressFlag OPTIONAL,
+ ePDGiPv6AddressUsed [48] GSNAddress OPTIONAL,
+ p-GWiPv6AddressUsed [50] GSNAddress OPTIONAL,
+ retransmission [51] NULL OPTIONAL,
+ enhancedDiagnostics [52] EnhancedDiagnostics OPTIONAL,
+ uWANUserLocationInformation [53] UWANUserLocationInfo OPTIONAL,
+ userLocationInfoTime [54] TimeStamp OPTIONAL
+}
+
+TWAGRecord ::= SET
+{
+ recordType [0] RecordType,
+ servedIMSI [3] IMSI OPTIONAL,
+ tWAGAddressUsed [4] GSNAddress,
+ chargingID [5] ChargingID,
+ accessPointNameNI [7] AccessPointNameNI OPTIONAL,
+ pdpPDNType [8] PDPType OPTIONAL,
+ servedPDPPDNAddress [9] PDPAddress OPTIONAL,
+ dynamicAddressFlag [11] DynamicAddressFlag OPTIONAL,
+ listOfTrafficVolumes [12] SEQUENCE OF ChangeOfCharCondition OPTIONAL,
+ recordOpeningTime [13] TimeStamp,
+ duration [14] CallDuration,
+ causeForRecClosing [15] CauseForRecClosing,
+ diagnostics [16] Diagnostics OPTIONAL,
+ recordSequenceNumber [17] INTEGER OPTIONAL,
+ nodeID [18] NodeID OPTIONAL,
+ recordExtensions [19] ManagementExtensions OPTIONAL,
+ localSequenceNumber [20] LocalSequenceNumber OPTIONAL,
+ apnSelectionMode [21] APNSelectionMode OPTIONAL,
+ servedMSISDN [22] MSISDN OPTIONAL,
+ chargingCharacteristics [23] ChargingCharacteristics,
+ chChSelectionMode [24] ChChSelectionMode OPTIONAL,
+ servedIMEI [29] IMEI OPTIONAL,
+ rATType [30] RATType OPTIONAL,
+ sGWChange [34] SGWChange OPTIONAL,
+ p-GWAddressUsed [36] GSNAddress OPTIONAL,
+ p-GWPLMNIdentifier [37] PLMN-Id OPTIONAL,
+ startTime [38] TimeStamp OPTIONAL,
+ stopTime [39] TimeStamp OPTIONAL,
+ pDNConnectionChargingID [40] ChargingID OPTIONAL,
+ servedPDPPDNAddressExt [43] PDPAddress OPTIONAL,
+ dynamicAddressFlagExt [47] DynamicAddressFlag OPTIONAL,
+ tWAGiPv6AddressUsed [48] GSNAddress OPTIONAL,
+ p-GWiPv6AddressUsed [50] GSNAddress OPTIONAL,
+ retransmission [51] NULL OPTIONAL,
+ enhancedDiagnostics [52] EnhancedDiagnostics OPTIONAL,
+ tWANUserLocationInformation [53] TWANUserLocationInfo OPTIONAL
+}
+SGSNMMRecord ::= SET
+{
+ recordType [0] RecordType,
+ servedIMSI [1] IMSI,
+ servedIMEI [2] IMEI OPTIONAL,
+ sgsnAddress [3] GSNAddress OPTIONAL,
+ msNetworkCapability [4] MSNetworkCapability OPTIONAL,
+ routingArea [5] RoutingAreaCode OPTIONAL,
+ locationAreaCode [6] LocationAreaCode OPTIONAL,
+ cellIdentifier [7] CellId OPTIONAL,
+ changeLocation [8] SEQUENCE OF ChangeLocation OPTIONAL,
+ recordOpeningTime [9] TimeStamp,
+ duration [10] CallDuration OPTIONAL,
+ sgsnChange [11] SGSNChange OPTIONAL,
+ causeForRecClosing [12] CauseForRecClosing,
+ diagnostics [13] Diagnostics OPTIONAL,
+ recordSequenceNumber [14] INTEGER OPTIONAL,
+ nodeID [15] NodeID OPTIONAL,
+ recordExtensions [16] ManagementExtensions OPTIONAL,
+ localSequenceNumber [17] LocalSequenceNumber OPTIONAL,
+ servedMSISDN [18] MSISDN OPTIONAL,
+ chargingCharacteristics [19] ChargingCharacteristics,
+ cAMELInformationMM [20] CAMELInformationMM OPTIONAL,
+ rATType [21] RATType OPTIONAL,
+ chChSelectionMode [22] ChChSelectionMode OPTIONAL,
+ cellPLMNId [23] PLMN-Id OPTIONAL,
+ servingNodePLMNIdentifier [24] PLMN-Id OPTIONAL,
+ cNOperatorSelectionEnt [25] CNOperatorSelectionEntity OPTIONAL
+}
+
+SGSNPDPRecord ::= SET
+{
+ recordType [0] RecordType,
+ networkInitiation [1] NetworkInitiatedPDPContext OPTIONAL,
+ servedIMSI [3] IMSI OPTIONAL,
+ servedIMEI [4] IMEI OPTIONAL,
+ sgsnAddress [5] GSNAddress OPTIONAL,
+ msNetworkCapability [6] MSNetworkCapability OPTIONAL,
+ routingArea [7] RoutingAreaCode OPTIONAL,
+ locationAreaCode [8] LocationAreaCode OPTIONAL,
+ cellIdentifier [9] CellId OPTIONAL,
+ chargingID [10] ChargingID,
+ ggsnAddressUsed [11] GSNAddress,
+ accessPointNameNI [12] AccessPointNameNI OPTIONAL,
+ pdpType [13] PDPType OPTIONAL,
+ servedPDPAddress [14] PDPAddress OPTIONAL,
+ listOfTrafficVolumes [15] SEQUENCE OF ChangeOfCharCondition OPTIONAL,
+ recordOpeningTime [16] TimeStamp,
+ duration [17] CallDuration,
+ sgsnChange [18] SGSNChange OPTIONAL,
+ causeForRecClosing [19] CauseForRecClosing,
+ diagnostics [20] Diagnostics OPTIONAL,
+ recordSequenceNumber [21] INTEGER OPTIONAL,
+ nodeID [22] NodeID OPTIONAL,
+ recordExtensions [23] ManagementExtensions OPTIONAL,
+ localSequenceNumber [24] LocalSequenceNumber OPTIONAL,
+ apnSelectionMode [25] APNSelectionMode OPTIONAL,
+ accessPointNameOI [26] AccessPointNameOI OPTIONAL,
+ servedMSISDN [27] MSISDN OPTIONAL,
+ chargingCharacteristics [28] ChargingCharacteristics,
+ rATType [29] RATType OPTIONAL,
+ cAMELInformationPDP [30] CAMELInformationPDP OPTIONAL,
+ rNCUnsentDownlinkVolume [31] DataVolumeGPRS OPTIONAL,
+ chChSelectionMode [32] ChChSelectionMode OPTIONAL,
+ dynamicAddressFlag [33] DynamicAddressFlag OPTIONAL,
+ iMSIunauthenticatedFlag [34] NULL OPTIONAL,
+ userCSGInformation [35] UserCSGInformation OPTIONAL,
+ servedPDPPDNAddressExt [36] PDPAddress OPTIONAL,
+ lowPriorityIndicator [37] NULL OPTIONAL,
+ servingNodePLMNIdentifier [38] PLMN-Id OPTIONAL,
+ cNOperatorSelectionEnt [39] CNOperatorSelectionEntity OPTIONAL
+}
+
+SGSNSMORecord ::= SET
+--
+-- also for MME UE originated SMS record
+--
+{
+ recordType [0] RecordType,
+ servedIMSI [1] IMSI,
+ servedIMEI [2] IMEI OPTIONAL,
+ servedMSISDN [3] MSISDN OPTIONAL,
+ msNetworkCapability [4] MSNetworkCapability OPTIONAL,
+ serviceCentre [5] AddressString OPTIONAL,
+ recordingEntity [6] RecordingEntity OPTIONAL,
+ locationArea [7] LocationAreaCode OPTIONAL,
+ routingArea [8] RoutingAreaCode OPTIONAL,
+ cellIdentifier [9] CellId OPTIONAL,
+ messageReference [10] MessageReference,
+ eventTimeStamp [11] TimeStamp,
+ smsResult [12] SMSResult OPTIONAL,
+ recordExtensions [13] ManagementExtensions OPTIONAL,
+ nodeID [14] NodeID OPTIONAL,
+ localSequenceNumber [15] LocalSequenceNumber OPTIONAL,
+ chargingCharacteristics [16] ChargingCharacteristics,
+ rATType [17] RATType OPTIONAL,
+ destinationNumber [18] SmsTpDestinationNumber OPTIONAL,
+ cAMELInformationSMS [19] CAMELInformationSMS OPTIONAL,
+ chChSelectionMode [20] ChChSelectionMode OPTIONAL,
+ servingNodeType [21] ServingNodeType,
+ servingNodeAddress [22] GSNAddress OPTIONAL,
+ servingNodeiPv6Address [23] GSNAddress OPTIONAL,
+ mMEName [24] DiameterIdentity OPTIONAL,
+ mMERealm [25] DiameterIdentity OPTIONAL,
+ userLocationInformation [26] OCTET STRING OPTIONAL,
+ retransmission [27] NULL OPTIONAL,
+ servingNodePLMNIdentifier [28] PLMN-Id OPTIONAL,
+ userLocationInfoTime [29] TimeStamp OPTIONAL,
+ cNOperatorSelectionEnt [30] CNOperatorSelectionEntity OPTIONAL
+}
+
+SGSNSMTRecord ::= SET
+--
+-- also for MME UE terminated SMS record
+--
+{
+ recordType [0] RecordType,
+ servedIMSI [1] IMSI,
+ servedIMEI [2] IMEI OPTIONAL,
+ servedMSISDN [3] MSISDN OPTIONAL,
+ msNetworkCapability [4] MSNetworkCapability OPTIONAL,
+ serviceCentre [5] AddressString OPTIONAL,
+ recordingEntity [6] RecordingEntity OPTIONAL,
+ locationArea [7] LocationAreaCode OPTIONAL,
+ routingArea [8] RoutingAreaCode OPTIONAL,
+ cellIdentifier [9] CellId OPTIONAL,
+ eventTimeStamp [10] TimeStamp,
+ smsResult [11] SMSResult OPTIONAL,
+ recordExtensions [12] ManagementExtensions OPTIONAL,
+ nodeID [13] NodeID OPTIONAL,
+ localSequenceNumber [14] LocalSequenceNumber OPTIONAL,
+ chargingCharacteristics [15] ChargingCharacteristics,
+ rATType [16] RATType OPTIONAL,
+ chChSelectionMode [17] ChChSelectionMode OPTIONAL,
+ cAMELInformationSMS [18] CAMELInformationSMS OPTIONAL,
+ originatingAddress [19] AddressString OPTIONAL,
+ servingNodeType [20] ServingNodeType,
+ servingNodeAddress [21] GSNAddress OPTIONAL,
+ servingNodeiPv6Address [22] GSNAddress OPTIONAL,
+ mMEName [23] DiameterIdentity OPTIONAL,
+ mMERealm [24] DiameterIdentity OPTIONAL,
+ userLocationInformation [25] OCTET STRING OPTIONAL,
+ retransmission [26] NULL OPTIONAL,
+ servingNodePLMNIdentifier [27] PLMN-Id OPTIONAL,
+ userLocationInfoTime [28] TimeStamp OPTIONAL,
+ cNOperatorSelectionEnt [29] CNOperatorSelectionEntity OPTIONAL
+}
+
+SGSNMTLCSRecord ::= SET
+{
+ recordType [0] RecordType,
+ recordingEntity [1] RecordingEntity,
+ lcsClientType [2] LCSClientType,
+ lcsClientIdentity [3] LCSClientIdentity,
+ servedIMSI [4] IMSI,
+ servedMSISDN [5] MSISDN OPTIONAL,
+ sgsnAddress [6] GSNAddress OPTIONAL,
+ locationType [7] LocationType,
+ lcsQos [8] LCSQoSInfo OPTIONAL,
+ lcsPriority [9] LCS-Priority OPTIONAL,
+ mlcNumber [10] ISDN-AddressString,
+ eventTimeStamp [11] TimeStamp,
+ measurementDuration [12] CallDuration OPTIONAL,
+ notificationToMSUser [13] NotificationToMSUser OPTIONAL,
+ privacyOverride [14] NULL OPTIONAL,
+ location [15] LocationAreaAndCell OPTIONAL,
+ routingArea [16] RoutingAreaCode OPTIONAL,
+ locationEstimate [17] Ext-GeographicalInformation OPTIONAL,
+ positioningData [18] PositioningData OPTIONAL,
+ lcsCause [19] LCSCause OPTIONAL,
+ diagnostics [20] Diagnostics OPTIONAL,
+ nodeID [21] NodeID OPTIONAL,
+ localSequenceNumber [22] LocalSequenceNumber OPTIONAL,
+ chargingCharacteristics [23] ChargingCharacteristics,
+ chChSelectionMode [24] ChChSelectionMode OPTIONAL,
+ rATType [25] RATType OPTIONAL,
+ recordExtensions [26] ManagementExtensions OPTIONAL,
+ causeForRecClosing [27] CauseForRecClosing,
+ servingNodePLMNIdentifier [28] PLMN-Id OPTIONAL,
+ cNOperatorSelectionEnt [29] CNOperatorSelectionEntity OPTIONAL
+}
+
+SGSNMOLCSRecord ::= SET
+{
+ recordType [0] RecordType,
+ recordingEntity [1] RecordingEntity,
+ lcsClientType [2] LCSClientType OPTIONAL,
+ lcsClientIdentity [3] LCSClientIdentity OPTIONAL,
+ servedIMSI [4] IMSI,
+ servedMSISDN [5] MSISDN OPTIONAL,
+ sgsnAddress [6] GSNAddress OPTIONAL,
+ locationMethod [7] LocationMethod,
+ lcsQos [8] LCSQoSInfo OPTIONAL,
+ lcsPriority [9] LCS-Priority OPTIONAL,
+ mlcNumber [10] ISDN-AddressString OPTIONAL,
+ eventTimeStamp [11] TimeStamp,
+ measurementDuration [12] CallDuration OPTIONAL,
+ location [13] LocationAreaAndCell OPTIONAL,
+ routingArea [14] RoutingAreaCode OPTIONAL,
+ locationEstimate [15] Ext-GeographicalInformation OPTIONAL,
+ positioningData [16] PositioningData OPTIONAL,
+ lcsCause [17] LCSCause OPTIONAL,
+ diagnostics [18] Diagnostics OPTIONAL,
+ nodeID [19] NodeID OPTIONAL,
+ localSequenceNumber [20] LocalSequenceNumber OPTIONAL,
+ chargingCharacteristics [21] ChargingCharacteristics,
+ chChSelectionMode [22] ChChSelectionMode OPTIONAL,
+ rATType [23] RATType OPTIONAL,
+ recordExtensions [24] ManagementExtensions OPTIONAL,
+ causeForRecClosing [25] CauseForRecClosing,
+ servingNodePLMNIdentifier [26] PLMN-Id OPTIONAL,
+ cNOperatorSelectionEnt [27] CNOperatorSelectionEntity OPTIONAL
+}
+
+SGSNNILCSRecord ::= SET
+{
+ recordType [0] RecordType,
+ recordingEntity [1] RecordingEntity,
+ lcsClientType [2] LCSClientType OPTIONAL,
+ lcsClientIdentity [3] LCSClientIdentity OPTIONAL,
+ servedIMSI [4] IMSI OPTIONAL,
+ servedMSISDN [5] MSISDN OPTIONAL,
+ sgsnAddress [6] GSNAddress OPTIONAL,
+ servedIMEI [7] IMEI OPTIONAL,
+ lcsQos [8] LCSQoSInfo OPTIONAL,
+ lcsPriority [9] LCS-Priority OPTIONAL,
+ mlcNumber [10] ISDN-AddressString OPTIONAL,
+ eventTimeStamp [11] TimeStamp,
+ measurementDuration [12] CallDuration OPTIONAL,
+ location [13] LocationAreaAndCell OPTIONAL,
+ routingArea [14] RoutingAreaCode OPTIONAL,
+ locationEstimate [15] Ext-GeographicalInformation OPTIONAL,
+ positioningData [16] PositioningData OPTIONAL,
+ lcsCause [17] LCSCause OPTIONAL,
+ diagnostics [18] Diagnostics OPTIONAL,
+ nodeID [19] NodeID OPTIONAL,
+ localSequenceNumber [20] LocalSequenceNumber OPTIONAL,
+ chargingCharacteristics [21] ChargingCharacteristics,
+ chChSelectionMode [22] ChChSelectionMode OPTIONAL,
+ rATType [23] RATType OPTIONAL,
+ recordExtensions [24] ManagementExtensions OPTIONAL,
+ causeForRecClosing [25] CauseForRecClosing,
+ servingNodePLMNIdentifier [26] PLMN-Id OPTIONAL,
+ cNOperatorSelectionEnt [27] CNOperatorSelectionEntity OPTIONAL
+}
+
+SGSNMBMSRecord ::= SET
+{
+ recordType [0] RecordType,
+ ggsnAddress [1] GSNAddress,
+ chargingID [2] ChargingID,
+ listofRAs [3] SEQUENCE OF RAIdentity OPTIONAL,
+ accessPointNameNI [4] AccessPointNameNI OPTIONAL,
+ servedPDPAddress [5] PDPAddress OPTIONAL,
+ listOfTrafficVolumes [6] SEQUENCE OF ChangeOfMBMSCondition OPTIONAL,
+ recordOpeningTime [7] TimeStamp,
+ duration [8] CallDuration,
+ causeForRecClosing [9] CauseForRecClosing,
+ diagnostics [10] Diagnostics OPTIONAL,
+ recordSequenceNumber [11] INTEGER OPTIONAL,
+ nodeID [12] NodeID OPTIONAL,
+ recordExtensions [13] ManagementExtensions OPTIONAL,
+ localSequenceNumber [14] LocalSequenceNumber OPTIONAL,
+ sgsnPLMNIdentifier [15] PLMN-Id OPTIONAL,
+ numberofReceivingUE [16] INTEGER OPTIONAL,
+ mbmsInformation [17] MBMSInformation OPTIONAL
+}
+
+GGSNMBMSRecord ::= SET
+{
+ recordType [0] RecordType,
+ ggsnAddress [1] GSNAddress,
+ chargingID [2] ChargingID,
+ listofDownstreamNodes [3] SEQUENCE OF GSNAddress,
+ accessPointNameNI [4] AccessPointNameNI OPTIONAL,
+ servedPDPAddress [5] PDPAddress OPTIONAL,
+ listOfTrafficVolumes [6] SEQUENCE OF ChangeOfMBMSCondition OPTIONAL,
+ recordOpeningTime [7] TimeStamp,
+ duration [8] CallDuration,
+ causeForRecClosing [9] CauseForRecClosing,
+ diagnostics [10] Diagnostics OPTIONAL,
+ recordSequenceNumber [11] INTEGER OPTIONAL,
+ nodeID [12] NodeID OPTIONAL,
+ recordExtensions [13] ManagementExtensions OPTIONAL,
+ localSequenceNumber [14] LocalSequenceNumber OPTIONAL,
+ mbmsInformation [15] MBMSInformation OPTIONAL
+}
+
+GWMBMSRecord ::= SET
+{
+ recordType [0] RecordType,
+ mbmsGWAddress [1] GSNAddress,
+ chargingID [2] ChargingID,
+ listofDownstreamNodes [3] SEQUENCE OF GSNAddress,
+ accessPointNameNI [4] AccessPointNameNI OPTIONAL,
+ pdpPDNType [5] PDPType OPTIONAL,
+ servedPDPPDNAddress [6] PDPAddress OPTIONAL,
+ listOfTrafficVolumes [7] SEQUENCE OF ChangeOfMBMSCondition OPTIONAL,
+ recordOpeningTime [8] TimeStamp,
+ duration [9] CallDuration,
+ causeForRecClosing [10] CauseForRecClosing,
+ diagnostics [11] Diagnostics OPTIONAL,
+ recordSequenceNumber [12] INTEGER OPTIONAL,
+ nodeID [13] NodeID OPTIONAL,
+ recordExtensions [14] ManagementExtensions OPTIONAL,
+ localSequenceNumber [15] LocalSequenceNumber OPTIONAL,
+ mbmsInformation [16] MBMSInformation OPTIONAL,
+ commonTeid [17] CTEID OPTIONAL,
+ iPMulticastSourceAddress [18] PDPAddress OPTIONAL
+}
+
+--
+-- PS DATA TYPES
+--
+
+AccessAvailabilityChangeReason ::= INTEGER (0..4294967295)
+--
+-- 0 (RAN rule indication) : This value shall be used to indicate that the availability
+-- of an access is changed due to the RAN rule indiacation.
+-- 1 (Access usable/unusable) : This value shall be used to indiacte that the availability
+-- of an access is changed due to the access is unusable or usable
+-- again.
+
+AccessLineIdentifier ::= SEQUENCE
+--
+-- "Physical Access Id" includes a port identifier and the identity of the access node where the
+-- port resides. "logical Access Id" contains a Circuit ID. Both are defined ETSI TS 283 034 [314]
+--
+{
+ physicalAccessID [0] UTF8String OPTIONAL,
+ logicalAccessID [1] OCTET STRING OPTIONAL
+}
+
+AccessPointNameNI ::= IA5String (SIZE(1..63))
+--
+-- Network Identifier part of APN in dot representation.
+-- For example, if the complete APN is 'apn1a.apn1b.apn1c.mnc022.mcc111.gprs'
+-- NI is 'apn1a.apn1b.apn1c' and is presented in this form in the CDR.
+--
+
+AccessPointNameOI ::= IA5String (SIZE(1..37))
+--
+-- Operator Identifier part of APN in dot representation.
+-- In the 'apn1a.apn1b.apn1c.mnc022.mcc111.gprs' example, the OI portion is 'mnc022.mcc111.gprs'
+-- and is presented in this form in the CDR.
+--
+
+ADCRuleBaseName ::= IA5String
+--
+-- identifier for the group of charging rules
+-- see ADC-Rule-Base-Name AVP as desined in TS 29.212 [220]
+--
+
+AdditionalExceptionReports ::= ENUMERATED
+{
+ notAllowed (0),
+ allowed (1)
+}
+
+AFChargingIdentifier ::= OCTET STRING
+--
+-- see AF-Charging-Identifier AVP as defined in TS 29.214[221]
+--
+AFRecordInformation ::= SEQUENCE
+{
+ aFChargingIdentifier [1] AFChargingIdentifier,
+ flows [2] Flows OPTIONAL
+}
+
+APNRateControl ::= SEQUENCE
+--
+-- See TS 24.008 [208] for more information
+--
+{
+ aPNRateControlUplink [0] APNRateControlParameters OPTIONAL,
+ aPNRateControlDownlink [1] APNRateControlParameters OPTIONAL
+}
+
+APNRateControlParameters ::= SEQUENCE
+{
+ additionalExceptionReports [0] AdditionalExceptionReports OPTIONAL,
+ rateControlTimeUnit [1] RateControlTimeUnit OPTIONAL,
+ rateControlMaxRate [2] INTEGER OPTIONAL,
+ rateControlMaxMessageSize [3] DataVolume OPTIONAL
+}
+
+-- WS fix to make it compile
+DataVolume ::= INTEGER
+--
+-- The volume of data transfered in octets.
+--
+-- End WS fix
+
+APNSelectionMode ::= ENUMERATED
+--
+-- See Information Elements TS 29.060 [215], TS 29.274 [223] or TS 29.275 [224]
+--
+{
+ mSorNetworkProvidedSubscriptionVerified (0),
+ mSProvidedSubscriptionNotVerified (1),
+ networkProvidedSubscriptionNotVerified (2)
+}
+
+CAMELAccessPointNameNI ::= AccessPointNameNI
+
+CAMELAccessPointNameOI ::= AccessPointNameOI
+
+CAMELInformationMM ::= SET
+{
+ sCFAddress [1] SCFAddress OPTIONAL,
+ serviceKey [2] ServiceKey OPTIONAL,
+ defaultTransactionHandling [3] DefaultGPRS-Handling OPTIONAL,
+ numberOfDPEncountered [4] NumberOfDPEncountered OPTIONAL,
+ levelOfCAMELService [5] LevelOfCAMELService OPTIONAL,
+ freeFormatData [6] FreeFormatData OPTIONAL,
+ fFDAppendIndicator [7] FFDAppendIndicator OPTIONAL
+}
+
+CAMELInformationPDP ::= SET
+{
+ sCFAddress [1] SCFAddress OPTIONAL,
+ serviceKey [2] ServiceKey OPTIONAL,
+ defaultTransactionHandling [3] DefaultGPRS-Handling OPTIONAL,
+ cAMELAccessPointNameNI [4] CAMELAccessPointNameNI OPTIONAL,
+ cAMELAccessPointNameOI [5] CAMELAccessPointNameOI OPTIONAL,
+ numberOfDPEncountered [6] NumberOfDPEncountered OPTIONAL,
+ levelOfCAMELService [7] LevelOfCAMELService OPTIONAL,
+ freeFormatData [8] FreeFormatData OPTIONAL,
+ fFDAppendIndicator [9] FFDAppendIndicator OPTIONAL
+}
+
+CAMELInformationSMS ::= SET
+{
+ sCFAddress [1] SCFAddress OPTIONAL,
+ serviceKey [2] ServiceKey OPTIONAL,
+ defaultSMSHandling [3] DefaultSMS-Handling OPTIONAL,
+ cAMELCallingPartyNumber [4] CallingNumber OPTIONAL,
+ cAMELDestinationSubscriberNumber [5] SmsTpDestinationNumber OPTIONAL,
+ cAMELSMSCAddress [6] AddressString OPTIONAL,
+ freeFormatData [7] FreeFormatData OPTIONAL,
+ smsReferenceNumber [8] CallReferenceNumber OPTIONAL
+}
+
+CauseForRecClosing ::= INTEGER
+--
+-- In PGW-CDR and SGW-CDR the value servingNodeChange is used for partial record
+-- generation due to Serving Node Address list Overflow
+-- In SGSN servingNodeChange indicates the SGSN change
+--
+-- sWGChange value is used in both the S-GW and ePDG for inter serving node change
+--
+-- LCS related causes belong to the MAP error causes acc. TS 29.002 [214]
+--
+-- cause codes 0 to 15 are defined 'CauseForTerm' (cause for termination)
+--
+{
+ normalRelease (0),
+ abnormalRelease (4),
+ cAMELInitCallRelease (5),
+ volumeLimit (16),
+ timeLimit (17),
+ servingNodeChange (18),
+ maxChangeCond (19),
+ managementIntervention (20),
+ intraSGSNIntersystemChange (21),
+ rATChange (22),
+ mSTimeZoneChange (23),
+ sGSNPLMNIDChange (24),
+ sGWChange (25),
+ aPNAMBRChange (26),
+ mOExceptionDataCounterReceipt (27),
+ unauthorizedRequestingNetwork (52),
+ unauthorizedLCSClient (53),
+ positionMethodFailure (54),
+ unknownOrUnreachableLCSClient (58),
+ listofDownstreamNodeChange (59)
+}
+
+ChangeCondition ::= ENUMERATED
+{
+ qoSChange (0),
+ tariffTime (1),
+ recordClosure (2),
+ cGI-SAICHange (6), -- bearer modification. "CGI-SAI Change"
+ rAIChange (7), -- bearer modification. "RAI Change"
+ dT-Establishment (8),
+ dT-Removal (9),
+ eCGIChange (10), -- bearer modification. "ECGI Change"
+ tAIChange (11), -- bearer modification. "TAI Change"
+ userLocationChange (12), -- bearer modification. "User Location Change"
+ userCSGInformationChange (13), -- bearer modification. "User CSG info Change"
+ presenceInPRAChange (14), -- bearer modification. "Change of UE Presence
+ -- in Presence Reporting Area"
+ removalOfAccess (15), -- NBIFOM "Removal of Access"
+ unusabilityOfAccess (16), -- NBIFOM "Unusability of Access"
+ indirectChangeCondition (17), -- NBIFOM "Indirect Change Condition"
+ userPlaneToUEChange (18), -- bearer modification. "Change of user plane to UE"
+ servingPLMNRateControlChange (19) -- bearer modification. "Serving PLMN Rate Control Change"
+}
+
+ChangeOfCharCondition ::= SEQUENCE
+--
+-- qosRequested and qosNegotiated are used in S-CDR only
+-- ePCQoSInformation used in SGW-CDR ,PGW-CDR, IPE-CDR, TWAG-CDR and ePDG-CDR only
+-- userLocationInformation is used only in S-CDR, SGW-CDR and PGW-CDR
+-- chargingID used in PGW-CDR only when Charging per IP-CAN session is active
+-- accessAvailabilityChangeReason and relatedChangeOfCharCondition applicable only in PGW-CDR
+-- cPCIoTOptimisationIndicator is used in SGW-CDR only
+--
+{
+ qosRequested [1] QoSInformation OPTIONAL,
+ qosNegotiated [2] QoSInformation OPTIONAL,
+ dataVolumeGPRSUplink [3] DataVolumeGPRS OPTIONAL,
+ dataVolumeGPRSDownlink [4] DataVolumeGPRS OPTIONAL,
+ changeCondition [5] ChangeCondition,
+ changeTime [6] TimeStamp,
+ userLocationInformation [8] OCTET STRING OPTIONAL,
+ ePCQoSInformation [9] EPCQoSInformation OPTIONAL,
+ chargingID [10] ChargingID OPTIONAL,
+ presenceReportingAreaStatus [11] PresenceReportingAreaStatus OPTIONAL,
+ userCSGInformation [12] UserCSGInformation OPTIONAL,
+ diagnostics [13] Diagnostics OPTIONAL,
+ enhancedDiagnostics [14] EnhancedDiagnostics OPTIONAL,
+ rATType [15] RATType OPTIONAL,
+ accessAvailabilityChangeReason [16] AccessAvailabilityChangeReason OPTIONAL,
+ uWANUserLocationInformation [17] UWANUserLocationInfo OPTIONAL,
+ relatedChangeOfCharCondition [18] RelatedChangeOfCharCondition OPTIONAL,
+ cPCIoTEPSOptimisationIndicator [19] CPCIoTEPSOptimisationIndicator OPTIONAL,
+ servingPLMNRateControl [20] ServingPLMNRateControl
+}
+
+ChangeOfMBMSCondition ::= SEQUENCE
+--
+-- Used in MBMS record
+--
+{
+ qosRequested [1] QoSInformation OPTIONAL,
+ qosNegotiated [2] QoSInformation OPTIONAL,
+ dataVolumeMBMSUplink [3] DataVolumeMBMS OPTIONAL,
+ dataVolumeMBMSDownlink [4] DataVolumeMBMS,
+ changeCondition [5] ChangeCondition,
+ changeTime [6] TimeStamp,
+ failureHandlingContinue [7] FailureHandlingContinue OPTIONAL
+}
+
+ChangeOfServiceCondition ::= SEQUENCE
+--
+-- Used for Flow based Charging and Application based Charging service data container
+--
+{
+ ratingGroup [1] RatingGroupId,
+ chargingRuleBaseName [2] ChargingRuleBaseName OPTIONAL,
+ resultCode [3] ResultCode OPTIONAL,
+ localSequenceNumber [4] LocalSequenceNumber OPTIONAL,
+ timeOfFirstUsage [5] TimeStamp OPTIONAL,
+ timeOfLastUsage [6] TimeStamp OPTIONAL,
+ timeUsage [7] CallDuration OPTIONAL,
+ serviceConditionChange [8] ServiceConditionChange,
+ qoSInformationNeg [9] EPCQoSInformation OPTIONAL,
+ servingNodeAddress [10] GSNAddress OPTIONAL,
+ datavolumeFBCUplink [12] DataVolumeGPRS OPTIONAL,
+ datavolumeFBCDownlink [13] DataVolumeGPRS OPTIONAL,
+ timeOfReport [14] TimeStamp,
+ failureHandlingContinue [16] FailureHandlingContinue OPTIONAL,
+ serviceIdentifier [17] ServiceIdentifier OPTIONAL,
+ pSFurnishChargingInformation [18] PSFurnishChargingInformation OPTIONAL,
+ aFRecordInformation [19] SEQUENCE OF AFRecordInformation OPTIONAL,
+ userLocationInformation [20] OCTET STRING OPTIONAL,
+ eventBasedChargingInformation [21] EventBasedChargingInformation OPTIONAL,
+ timeQuotaMechanism [22] TimeQuotaMechanism OPTIONAL,
+ serviceSpecificInfo [23] SEQUENCE OF ServiceSpecificInfo OPTIONAL,
+ threeGPP2UserLocationInformation[24] OCTET STRING OPTIONAL,
+ sponsorIdentity [25] OCTET STRING OPTIONAL,
+ applicationServiceProviderIdentity [26] OCTET STRING OPTIONAL,
+ aDCRuleBaseName [27] ADCRuleBaseName OPTIONAL,
+ presenceReportingAreaStatus [28] PresenceReportingAreaStatus OPTIONAL,
+ userCSGInformation [29] UserCSGInformation OPTIONAL,
+ rATType [30] RATType OPTIONAL,
+ uWANUserLocationInformation [32] UWANUserLocationInfo OPTIONAL,
+ relatedChangeOfServiceCondition [33] RelatedChangeOfServiceCondition OPTIONAL,
+ servingPLMNRateControl [35] ServingPLMNRateControl OPTIONAL,
+ aPNRateControl [36] APNRateControl OPTIONAL
+}
+
+ChangeLocation ::= SEQUENCE
+--
+-- used in SGSNMMRecord only
+--
+{
+ locationAreaCode [0] LocationAreaCode,
+ routingAreaCode [1] RoutingAreaCode,
+ cellId [2] CellId OPTIONAL,
+ changeTime [3] TimeStamp,
+ mCC-MNC [4] PLMN-Id OPTIONAL
+}
+
+ChargingCharacteristics ::= OCTET STRING (SIZE(2))
+
+ChargingID ::= INTEGER (0..4294967295)
+--
+-- Generated in P-GW, part of IP-CAN bearer
+-- 0..4294967295 is equivalent to 0..2**32-1
+--
+
+ChargingPerIPCANSessionIndicator ::= ENUMERATED
+{
+ inactive (0),
+ active (1)
+}
+
+ChargingRuleBaseName ::= IA5String
+--
+-- identifier for the group of charging rules
+-- see Charging-Rule-Base-Name AVP as desined in TS 29.212 [220]
+--
+
+ChChSelectionMode ::= ENUMERATED
+{
+ servingNodeSupplied (0), -- For S-GW/P-GW
+ subscriptionSpecific (1), -- For SGSN only
+ aPNSpecific (2), -- For SGSN only
+ homeDefault (3), -- For SGSN, S-GW, P-GW, TDF and IP-Edge
+ roamingDefault (4), -- For SGSN, S-GW, P-GW, TDF and IP-Edge
+ visitingDefault (5), -- For SGSN, S-GW, P-GW, TDF and IP-Edge
+ fixedDefault (6) -- For TDF and IP-Edge
+}
+
+CNOperatorSelectionEntity ::= ENUMERATED
+{
+ servCNSelectedbyUE (0),
+ servCNSelectedbyNtw (1)
+}
+
+CPCIoTEPSOptimisationIndicator ::= BOOLEAN
+
+CSGAccessMode ::= ENUMERATED
+{
+ closedMode (0),
+ hybridMode (1)
+}
+
+CSGId ::= OCTET STRING (SIZE(4))
+--
+-- Defined in TS 23.003 [200]. Coded according to TS 29.060 [215] for GTP, and
+-- in TS 29.274 [223] for eGTP.
+--
+
+CTEID ::= OCTET STRING (SIZE(4))
+--
+-- Defined in TS 32.251[11] for MBMS-GW-CDR. Common Tunnel Endpoint Identifier
+-- of MBMS GW for user plane, defined in TS 23.246 [207].
+--
+
+DataVolumeGPRS ::= INTEGER
+--
+-- The volume of data transferred in octets.
+--
+
+DataVolumeMBMS ::= INTEGER
+--
+-- The volume of data transferred in octets.
+--
+
+DynamicAddressFlag ::= BOOLEAN
+
+EPCQoSInformation ::= SEQUENCE
+--
+-- See TS 29.212 [220] for more information
+--
+{
+ qCI [1] INTEGER,
+ maxRequestedBandwithUL [2] INTEGER OPTIONAL,
+ maxRequestedBandwithDL [3] INTEGER OPTIONAL,
+ guaranteedBitrateUL [4] INTEGER OPTIONAL,
+ guaranteedBitrateDL [5] INTEGER OPTIONAL,
+ aRP [6] INTEGER OPTIONAL,
+ aPNAggregateMaxBitrateUL [7] INTEGER OPTIONAL,
+ aPNAggregateMaxBitrateDL [8] INTEGER OPTIONAL
+}
+
+EventBasedChargingInformation ::= SEQUENCE
+{
+ numberOfEvents [1] INTEGER,
+ eventTimeStamps [2] SEQUENCE OF TimeStamp OPTIONAL
+}
+
+FailureHandlingContinue ::= BOOLEAN
+--
+-- This parameter is included when the failure handling procedure has been executed and new
+-- containers are opened. This parameter shall be included in the first and subsequent
+-- containers opened after the failure handling execution.
+--
+
+FFDAppendIndicator ::= BOOLEAN
+
+
+FixedSubsID ::= OCTET STRING
+--
+-- The fixed subscriber Id identifier is defined in Broadband Forum TR 134 [601].
+--
+
+
+FixedUserLocationInformation ::= SEQUENCE
+--
+-- See format in IEEE Std 802.11-2012 [408] for "SSID" and "BSSID".
+--
+{
+ sSID [0] OCTET STRING OPTIONAL ,
+ bSSID [1] OCTET STRING OPTIONAL,
+ accessLineIdentifier [2] AccessLineIdentifier OPTIONAL
+}
+
+Flows ::= SEQUENCE
+--
+-- See Flows AVP as defined in TS 29.214 [221]
+--
+{
+ mediaComponentNumber [1] INTEGER,
+ flowNumber [2] SEQUENCE OF INTEGER OPTIONAL
+}
+
+FreeFormatData ::= OCTET STRING (SIZE(1..160))
+--
+-- Free formatted data as sent in the FurnishChargingInformationGPRS
+-- see TS 29.078 [217]
+--
+
+MOExceptionDataCounter ::= SEQUENCE
+--
+-- See TS 29.128 [244] for more information
+--
+{
+ counterValue [0] INTEGER,
+ counterTimestamp [1] TimeStamp
+}
+
+MSNetworkCapability ::= OCTET STRING (SIZE(1..8))
+--
+-- see TS 24.008 [208]
+--
+
+NBIFOMMode ::= ENUMERATED
+{
+ uEINITIATED (0),
+ nETWORKINITIATED (1)
+}
+
+NBIFOMSupport ::= ENUMERATED
+{
+ nBIFOMNotSupported (0),
+ nBIFOMSupported (1)
+}
+
+NetworkInitiatedPDPContext ::= BOOLEAN
+--
+-- Set to true if PDP context was initiated from network side
+--
+
+NodeID ::= IA5String (SIZE(1..20))
+
+NumberOfDPEncountered ::= INTEGER
+
+PDPAddress ::= CHOICE
+{
+ iPAddress [0] IPAddress
+-- eTSIAddress [1] ETSIAddress
+-- has only been used in earlier releases for X.121 format
+}
+
+PDPType ::= OCTET STRING (SIZE(2))
+--
+-- OCTET 1: PDP Type Organization
+-- OCTET 2: PDP/PDN Type Number
+-- See TS 29.060 [215] for encoding details.
+--
+
+PDPPDNTypeExtension ::= INTEGER
+--
+-- This integer is 1:1 copy of the PDP type value as defined in TS 29.061 [215].
+--
+
+PLMN-Id ::= OCTET STRING (SIZE (3))
+--
+-- This is in the same format as octets 2,3,and 4 of the Routing Area Identity (RAI) IE specified
+-- in TS 29.060 [215]
+--
+
+PresenceReportingAreaInfo ::= SEQUENCE
+{
+ presenceReportingAreaIdentifier [0] OCTET STRING,
+ presenceReportingAreaStatus [1] PresenceReportingAreaStatus OPTIONAL
+}
+
+PresenceReportingAreaStatus ::= ENUMERATED
+{
+ insideArea (0),
+ outsideArea (1)
+}
+
+PSFurnishChargingInformation ::= SEQUENCE
+{
+ pSFreeFormatData [1] FreeFormatData,
+ pSFFDAppendIndicator [2] FFDAppendIndicator OPTIONAL
+}
+
+QoSInformation ::= OCTET STRING (SIZE (4..255))
+--
+-- This octet string
+-- is a 1:1 copy of the contents (i.e. starting with octet 5) of the "Bearer Quality of
+-- Service" information element specified in TS 29.274 [223].
+--
+
+RateControlTimeUnit ::= INTEGER
+{
+ unrestricted (0),
+ minute (1),
+ hour (2),
+ day (3),
+ week (4)
+}
+
+RatingGroupId ::= INTEGER
+--
+-- IP service flow identity (DCCA), range of 4 byte (0... 4294967295)
+-- see Rating-Group AVP as used in TS 32.299 [50]
+--
+
+RATType ::= INTEGER (0..255)
+--
+-- Ihis integer is 1:1 copy of the RAT type value as defined in TS 29.061 [215].
+--
+
+RelatedChangeOfCharCondition ::= SEQUENCE
+{
+ changeCondition [5] ChangeCondition,
+ changeTime [6] TimeStamp,
+ userLocationInformation [8] OCTET STRING OPTIONAL,
+ presenceReportingAreaStatus [11] PresenceReportingAreaStatus OPTIONAL,
+ userCSGInformation [12] UserCSGInformation OPTIONAL,
+ rATType [15] RATType OPTIONAL,
+ uWANUserLocationInformation [17] UWANUserLocationInfo
+}
+
+RelatedChangeOfServiceCondition ::= SEQUENCE
+{
+ userLocationInformation [20] OCTET STRING OPTIONAL,
+ threeGPP2UserLocationInformation [24] OCTET STRING OPTIONAL,
+ presenceReportingAreaStatus [28] PresenceReportingAreaStatus OPTIONAL,
+ userCSGInformation [29] UserCSGInformation OPTIONAL,
+ rATType [30] RATType OPTIONAL,
+ uWANUserLocationInformation [32] UWANUserLocationInfo OPTIONAL,
+ relatedChangeOfServiceCondition [33] RelatedChangeOfServiceCondition OPTIONAL
+}
+
+ResultCode ::= INTEGER
+--
+-- charging protocol return value, range of 4 byte (0... 4294967295)
+-- see Result-Code AVP as used in 32.299 [40]
+--
+
+ServiceConditionChange ::= BIT STRING
+{
+ qoSChange (0), -- bearer modification
+ sGSNChange (1), -- bearer modification:
+ -- apply to Gn-SGSN /SGW Change
+ sGSNPLMNIDChange (2), -- bearer modification
+ tariffTimeSwitch (3), -- tariff time change
+ pDPContextRelease (4), -- bearer release
+ rATChange (5), -- bearer modification
+ serviceIdledOut (6), -- IP flow idle out, DCCA QHT expiry
+ reserved (7), -- old: QCTexpiry is no report event
+ configurationChange (8), -- configuration change
+ serviceStop (9), -- IP flow termination.From "Service Stop" in
+ -- Change-Condition AVP
+ dCCATimeThresholdReached (10), -- DCCA quota reauthorization
+ dCCAVolumeThresholdReached (11), -- DCCA quota reauthorization
+ dCCAServiceSpecificUnitThresholdReached (12), -- DCCA quota reauthorization
+ dCCATimeExhausted (13), -- DCCA quota reauthorization
+ dCCAVolumeExhausted (14), -- DCCA quota reauthorization
+ dCCAValidityTimeout (15), -- DCCA quota validity time (QVT expiry)
+ reserved1 (16), -- reserved due to no use case,
+ -- old: return Requested is covered by (17),(18)
+ dCCAReauthorisationRequest (17), -- DCCA quota reauthorization request by OCS
+ dCCAContinueOngoingSession (18), -- DCCA failure handling (CCFH),
+ -- continue IP flow
+ dCCARetryAndTerminateOngoingSession (19), -- DCCA failure handling (CCFH),
+ -- terminate IP flow after DCCA retry
+ dCCATerminateOngoingSession (20), -- DCCA failure handling,
+ -- terminate IP flow
+ cGI-SAIChange (21), -- bearer modification. "CGI-SAI Change"
+ rAIChange (22), -- bearer modification. "RAI Change"
+ dCCAServiceSpecificUnitExhausted (23), -- DCCA quota reauthorization
+ recordClosure (24), -- PGW-CDR closure
+ timeLimit (25), -- intermediate recording. From "Service Data
+ --Time Limit" Change-Condition AVP value
+ volumeLimit (26), -- intermediate recording.From "Service Data
+ --Volume Limit" Change-Condition AVP value
+ serviceSpecificUnitLimit (27), -- intermediate recording
+ envelopeClosure (28),
+ eCGIChange (29), -- bearer modification. "ECGI Change"
+ tAIChange (30), -- bearer modification. "TAI Change"
+ userLocationChange (31), -- bearer modification. "User Location Change"
+ userCSGInformationChange (32), -- bearer modification. "User CSG info Change"
+ presenceInPRAChange (33), -- bearer modification. "Change of UE in Presence Reporting Area"
+ accessChangeOfSDF (34), -- "access change of service data flow"
+ indirectServiceConditionChange (35), -- NBIFOM: "indirect service condition change"
+ servingPLMNRateControlChange (36), -- bearer modification. "Serving PLMN Rate Control Change"
+ aPNRateControlChange (37) -- bearer modification. "APN Rate Control Change"
+}
+--
+-- Trigger and cause values for IP flow level recording are defined for support of independent
+-- online and offline charging and also for tight interworking between online and offline charging.
+-- Unused bits will always be zero.
+-- Some of the values are non-exclusive (e.g. bearer modification reasons).
+--
+
+SCFAddress ::= AddressString
+--
+-- See TS 29.002 [214]
+--
+
+ServiceIdentifier ::= INTEGER (0..4294967295)
+--
+-- The service identifier is used to identify the service or the service component
+-- the service data flow relates to. See Service-Identifier AVP as defined in TS 29.212 [220]
+--
+
+ServingNodeType ::= ENUMERATED
+{
+ sGSN (0),
+ pMIPSGW (1),
+ gTPSGW (2),
+ ePDG (3),
+ hSGW (4),
+ mME (5),
+ tWAN (6)
+}
+
+ServingPLMNRateControl ::= SEQUENCE
+--
+-- See TS 29.128 [244] for more information
+--
+{
+ sPLMNDLRateControlValue [0] INTEGER,
+ sPLMNULRateControlValue [1] INTEGER
+}
+
+SGiPtPTunnellingMethod ::= ENUMERATED
+{
+ uDPIPbased (0),
+ others (1)
+}
+
+SGSNChange ::= BOOLEAN
+--
+-- present if first record after inter SGSN routing area update in new SGSN
+--
+
+SGWChange ::= BOOLEAN
+--
+-- present if first record after inter serving node change (SGW, ePDG, HSGW)
+--
+
+TimeQuotaMechanism ::= SEQUENCE
+{
+ timeQuotaType [1] TimeQuotaType,
+ baseTimeInterval [2] INTEGER
+}
+
+TimeQuotaType ::= ENUMERATED
+{
+ dISCRETETIMEPERIOD (0),
+ cONTINUOUSTIMEPERIOD (1)
+}
+
+TWANUserLocationInfo ::= SEQUENCE
+{
+ sSID [0] OCTET STRING, -- see format in IEEE Std 802.11-2012 [408]
+ bSSID [1] OCTET STRING OPTIONAL -- see format in IEEE Std 802.11-2012 [408]
+}
+
+UNIPDUCPOnlyFlag ::= BOOLEAN
+
+UserCSGInformation ::= SEQUENCE
+{
+ cSGId [0] CSGId,
+ cSGAccessMode [1] CSGAccessMode,
+ cSGMembershipIndication [2] NULL OPTIONAL
+}
+
+UWANUserLocationInfo ::= SEQUENCE
+{
+ uELocalIPAddress [0] IPAddress,
+ uDPSourcePort [1] OCTET STRING (SIZE(2)) OPTIONAL,
+ sSID [2] OCTET STRING OPTIONAL, -- see format in IEEE Std 802.11-2012 [408]
+ bSSID [3] OCTET STRING OPTIONAL -- see format in IEEE Std 802.11-2012 [408]
+}
+
+END
diff --git a/epan/dissectors/asn1/gprscdr/GPRSChargingDataTypesV641.asn b/epan/dissectors/asn1/gprscdr/GPRSChargingDataTypesV641.asn
index 760ca18011..23c83f0d4c 100644
--- a/epan/dissectors/asn1/gprscdr/GPRSChargingDataTypesV641.asn
+++ b/epan/dissectors/asn1/gprscdr/GPRSChargingDataTypesV641.asn
@@ -316,140 +316,140 @@ SGSNSMTRecordV651 ::= SET
cAMELInformationSMS [18] CAMELInformationSMS OPTIONAL
}
-SGSNMTLCSRecord ::= SET
-{
- recordType [0] CallEventRecordType,
- recordingEntity [1] RecordingEntity,
- lcsClientType [2] LCSClientType,
- lcsClientIdentity [3] LCSClientIdentity,
- servedIMSI [4] IMSI,
- servedMSISDN [5] MSISDN OPTIONAL,
- sgsnAddress [6] GSNAddress OPTIONAL,
- locationType [7] LocationType,
- lcsQos [8] LCSQoSInfo OPTIONAL,
- lcsPriority [9] LCS-Priority OPTIONAL,
- mlcNumber [10] ISDN-AddressString,
- eventTimeStamp [11] TimeStamp,
- measurementDuration [12] CallDuration OPTIONAL,
- notificationToMSUser [13] NotificationToMSUser OPTIONAL,
- privacyOverride [14] NULL OPTIONAL,
- location [15] LocationAreaAndCell OPTIONAL,
- routingArea [16] RoutingAreaCode OPTIONAL,
- locationEstimate [17] Ext-GeographicalInformation OPTIONAL,
- positioningData [18] PositioningData OPTIONAL,
- lcsCause [19] LCSCause OPTIONAL,
- diagnostics [20] Diagnostics OPTIONAL,
- nodeID [21] NodeID OPTIONAL,
- localSequenceNumber [22] LocalSequenceNumber OPTIONAL,
- chargingCharacteristics [23] ChargingCharacteristics,
- chChSelectionMode [24] ChChSelectionMode OPTIONAL,
- rATType [25] RATType OPTIONAL,
- recordExtensions [26] ManagementExtensions OPTIONAL,
- causeForRecClosing [27] CauseForRecClosingV651
-}
-
-SGSNMOLCSRecord ::= SET
-{
- recordType [0] CallEventRecordType,
- recordingEntity [1] RecordingEntity,
- lcsClientType [2] LCSClientType OPTIONAL,
- lcsClientIdentity [3] LCSClientIdentity OPTIONAL,
- servedIMSI [4] IMSI,
- servedMSISDN [5] MSISDN OPTIONAL,
- sgsnAddress [6] GSNAddress OPTIONAL,
- locationMethod [7] LocationMethod,
- lcsQos [8] LCSQoSInfo OPTIONAL,
- lcsPriority [9] LCS-Priority OPTIONAL,
- mlcNumber [10] ISDN-AddressString OPTIONAL,
- eventTimeStamp [11] TimeStamp,
- measurementDuration [12] CallDuration OPTIONAL,
- location [13] LocationAreaAndCell OPTIONAL,
- routingArea [14] RoutingAreaCode OPTIONAL,
- locationEstimate [15] Ext-GeographicalInformation OPTIONAL,
- positioningData [16] PositioningData OPTIONAL,
- lcsCause [17] LCSCause OPTIONAL,
- diagnostics [18] Diagnostics OPTIONAL,
- nodeID [19] NodeID OPTIONAL,
- localSequenceNumber [20] LocalSequenceNumber OPTIONAL,
- chargingCharacteristics [21] ChargingCharacteristics,
- chChSelectionMode [22] ChChSelectionMode OPTIONAL,
- rATType [23] RATType OPTIONAL,
- recordExtensions [24] ManagementExtensions OPTIONAL,
- causeForRecClosing [25] CauseForRecClosingV651
-}
+--SGSNMTLCSRecord ::= SET
+--{
+-- recordType [0] CallEventRecordType,
+-- recordingEntity [1] RecordingEntity,
+-- lcsClientType [2] LCSClientType,
+-- lcsClientIdentity [3] LCSClientIdentity,
+-- servedIMSI [4] IMSI,
+-- servedMSISDN [5] MSISDN OPTIONAL,
+-- sgsnAddress [6] GSNAddress OPTIONAL,
+-- locationType [7] LocationType,
+-- lcsQos [8] LCSQoSInfo OPTIONAL,
+-- lcsPriority [9] LCS-Priority OPTIONAL,
+-- mlcNumber [10] ISDN-AddressString,
+-- eventTimeStamp [11] TimeStamp,
+-- measurementDuration [12] CallDuration OPTIONAL,
+-- notificationToMSUser [13] NotificationToMSUser OPTIONAL,
+-- privacyOverride [14] NULL OPTIONAL,
+-- location [15] LocationAreaAndCell OPTIONAL,
+-- routingArea [16] RoutingAreaCode OPTIONAL,
+-- locationEstimate [17] Ext-GeographicalInformation OPTIONAL,
+-- positioningData [18] PositioningData OPTIONAL,
+-- lcsCause [19] LCSCause OPTIONAL,
+-- diagnostics [20] Diagnostics OPTIONAL,
+-- nodeID [21] NodeID OPTIONAL,
+-- localSequenceNumber [22] LocalSequenceNumber OPTIONAL,
+-- chargingCharacteristics [23] ChargingCharacteristics,
+-- chChSelectionMode [24] ChChSelectionMode OPTIONAL,
+-- rATType [25] RATType OPTIONAL,
+-- recordExtensions [26] ManagementExtensions OPTIONAL,
+-- causeForRecClosing [27] CauseForRecClosingV651
+--}
-SGSNNILCSRecord ::= SET
-{
- recordType [0] CallEventRecordType,
- recordingEntity [1] RecordingEntity,
- lcsClientType [2] LCSClientType OPTIONAL,
- lcsClientIdentity [3] LCSClientIdentity OPTIONAL,
- servedIMSI [4] IMSI OPTIONAL,
- servedMSISDN [5] MSISDN OPTIONAL,
- sgsnAddress [6] GSNAddress OPTIONAL,
- servedIMEI [7] IMEI OPTIONAL,
- lcsQos [8] LCSQoSInfo OPTIONAL,
- lcsPriority [9] LCS-Priority OPTIONAL,
- mlcNumber [10] ISDN-AddressString OPTIONAL,
- eventTimeStamp [11] TimeStamp,
- measurementDuration [12] CallDuration OPTIONAL,
- location [13] LocationAreaAndCell OPTIONAL,
- routingArea [14] RoutingAreaCode OPTIONAL,
- locationEstimate [15] Ext-GeographicalInformation OPTIONAL,
- positioningData [16] PositioningData OPTIONAL,
- lcsCause [17] LCSCause OPTIONAL,
- diagnostics [18] Diagnostics OPTIONAL,
- nodeID [19] NodeID OPTIONAL,
- localSequenceNumber [20] LocalSequenceNumber OPTIONAL,
- chargingCharacteristics [21] ChargingCharacteristics,
- chChSelectionMode [22] ChChSelectionMode OPTIONAL,
- rATType [23] RATType OPTIONAL,
- recordExtensions [24] ManagementExtensions OPTIONAL,
- causeForRecClosing [25] CauseForRecClosingV651
-}
+--SGSNMOLCSRecord ::= SET
+--{
+-- recordType [0] CallEventRecordType,
+-- recordingEntity [1] RecordingEntity,
+-- lcsClientType [2] LCSClientType OPTIONAL,
+-- lcsClientIdentity [3] LCSClientIdentity OPTIONAL,
+-- servedIMSI [4] IMSI,
+-- servedMSISDN [5] MSISDN OPTIONAL,
+-- sgsnAddress [6] GSNAddress OPTIONAL,
+-- locationMethod [7] LocationMethod,
+-- lcsQos [8] LCSQoSInfo OPTIONAL,
+-- lcsPriority [9] LCS-Priority OPTIONAL,
+-- mlcNumber [10] ISDN-AddressString OPTIONAL,
+-- eventTimeStamp [11] TimeStamp,
+-- measurementDuration [12] CallDuration OPTIONAL,
+-- location [13] LocationAreaAndCell OPTIONAL,
+-- routingArea [14] RoutingAreaCode OPTIONAL,
+-- locationEstimate [15] Ext-GeographicalInformation OPTIONAL,
+-- positioningData [16] PositioningData OPTIONAL,
+-- lcsCause [17] LCSCause OPTIONAL,
+-- diagnostics [18] Diagnostics OPTIONAL,
+-- nodeID [19] NodeID OPTIONAL,
+-- localSequenceNumber [20] LocalSequenceNumber OPTIONAL,
+-- chargingCharacteristics [21] ChargingCharacteristics,
+-- chChSelectionMode [22] ChChSelectionMode OPTIONAL,
+-- rATType [23] RATType OPTIONAL,
+-- recordExtensions [24] ManagementExtensions OPTIONAL,
+-- causeForRecClosing [25] CauseForRecClosingV651
+--}
-SGSNMBMSRecord ::= SET
-{
- recordType [0] CallEventRecordType,
- ggsnAddress [1] GSNAddress,
- chargingID [2] ChargingID,
- listofRAs [3] SEQUENCE OF RAIdentity OPTIONAL,
- accessPointNameNI [4] AccessPointNameNI OPTIONAL,
- servedPDPAddress [5] PDPAddress OPTIONAL,
- listOfTrafficVolumes [6] SEQUENCE OF ChangeOfMBMSCondition OPTIONAL,
- recordOpeningTime [7] TimeStamp,
- duration [8] CallDuration,
- causeForRecClosing [9] CauseForRecClosingV651,
- diagnostics [10] Diagnostics OPTIONAL,
- recordSequenceNumber [11] INTEGER OPTIONAL,
- nodeID [12] NodeID OPTIONAL,
- recordExtensions [13] ManagementExtensions OPTIONAL,
- localSequenceNumber [14] LocalSequenceNumber OPTIONAL,
- sgsnPLMNIdentifier [15] PLMN-Id OPTIONAL,
- numberofReceivingUE [16] Integer OPTIONAL,
- mbmsInformation [17] MBMSInformation OPTIONAL
+--SGSNNILCSRecord ::= SET
+--{
+-- recordType [0] CallEventRecordType,
+-- recordingEntity [1] RecordingEntity,
+-- lcsClientType [2] LCSClientType OPTIONAL,
+-- lcsClientIdentity [3] LCSClientIdentity OPTIONAL,
+-- servedIMSI [4] IMSI OPTIONAL,
+-- servedMSISDN [5] MSISDN OPTIONAL,
+-- sgsnAddress [6] GSNAddress OPTIONAL,
+-- servedIMEI [7] IMEI OPTIONAL,
+-- lcsQos [8] LCSQoSInfo OPTIONAL,
+-- lcsPriority [9] LCS-Priority OPTIONAL,
+-- mlcNumber [10] ISDN-AddressString OPTIONAL,
+-- eventTimeStamp [11] TimeStamp,
+-- measurementDuration [12] CallDuration OPTIONAL,
+-- location [13] LocationAreaAndCell OPTIONAL,
+-- routingArea [14] RoutingAreaCode OPTIONAL,
+-- locationEstimate [15] Ext-GeographicalInformation OPTIONAL,
+-- positioningData [16] PositioningData OPTIONAL,
+-- lcsCause [17] LCSCause OPTIONAL,
+-- diagnostics [18] Diagnostics OPTIONAL,
+-- nodeID [19] NodeID OPTIONAL,
+-- localSequenceNumber [20] LocalSequenceNumber OPTIONAL,
+-- chargingCharacteristics [21] ChargingCharacteristics,
+-- chChSelectionMode [22] ChChSelectionMode OPTIONAL,
+-- rATType [23] RATType OPTIONAL,
+-- recordExtensions [24] ManagementExtensions OPTIONAL,
+-- causeForRecClosing [25] CauseForRecClosingV651
+--}
-}
+--SGSNMBMSRecord ::= SET
+--{
+-- recordType [0] CallEventRecordType,
+-- ggsnAddress [1] GSNAddress,
+-- chargingID [2] ChargingID,
+-- listofRAs [3] SEQUENCE OF RAIdentity OPTIONAL,
+-- accessPointNameNI [4] AccessPointNameNI OPTIONAL,
+-- servedPDPAddress [5] PDPAddress OPTIONAL,
+-- listOfTrafficVolumes [6] SEQUENCE OF ChangeOfMBMSCondition OPTIONAL,
+-- recordOpeningTime [7] TimeStamp,
+-- duration [8] CallDuration,
+-- causeForRecClosing [9] CauseForRecClosingV651,
+-- diagnostics [10] Diagnostics OPTIONAL,
+-- recordSequenceNumber [11] INTEGER OPTIONAL,
+-- nodeID [12] NodeID OPTIONAL,
+-- recordExtensions [13] ManagementExtensions OPTIONAL,
+-- localSequenceNumber [14] LocalSequenceNumber OPTIONAL,
+-- sgsnPLMNIdentifier [15] PLMN-Id OPTIONAL,
+-- numberofReceivingUE [16] Integer OPTIONAL,
+-- mbmsInformation [17] MBMSInformation OPTIONAL
+--
+--}
-GGSNMBMSRecord ::= SET
-{
- recordType [0] CallEventRecordType,
- ggsnAddress [1] GSNAddress,
- chargingID [2] ChargingID,
- listofDownstreamNodes [3] SEQUENCE OF GSNAddress,
- accessPointNameNI [4] AccessPointNameNI OPTIONAL,
- servedPDPAddress [5] PDPAddress OPTIONAL,
- listOfTrafficVolumes [6] SEQUENCE OF ChangeOfMBMSCondition OPTIONAL,
- recordOpeningTime [7] TimeStamp,
- duration [8] CallDuration,
- causeForRecClosing [9] CauseForRecClosingV651,
- diagnostics [10] Diagnostics OPTIONAL,
- recordSequenceNumber [11] INTEGER OPTIONAL,
- nodeID [12] NodeID OPTIONAL,
- recordExtensions [13] ManagementExtensions OPTIONAL,
- localSequenceNumber [14] LocalSequenceNumber OPTIONAL,
- mbmsInformation [15] MBMSInformation OPTIONAL
-}
+--GGSNMBMSRecord ::= SET
+--{
+-- recordType [0] CallEventRecordType,
+-- ggsnAddress [1] GSNAddress,
+-- chargingID [2] ChargingID,
+-- listofDownstreamNodes [3] SEQUENCE OF GSNAddress,
+-- accessPointNameNI [4] AccessPointNameNI OPTIONAL,
+-- servedPDPAddress [5] PDPAddress OPTIONAL,
+-- listOfTrafficVolumes [6] SEQUENCE OF ChangeOfMBMSCondition OPTIONAL,
+-- recordOpeningTime [7] TimeStamp,
+-- duration [8] CallDuration,
+-- causeForRecClosing [9] CauseForRecClosingV651,
+-- diagnostics [10] Diagnostics OPTIONAL,
+-- recordSequenceNumber [11] INTEGER OPTIONAL,
+-- nodeID [12] NodeID OPTIONAL,
+-- recordExtensions [13] ManagementExtensions OPTIONAL,
+-- localSequenceNumber [14] LocalSequenceNumber OPTIONAL,
+-- mbmsInformation [15] MBMSInformation OPTIONAL
+--}
------------------------------------------------------------------------------
--
diff --git a/epan/dissectors/asn1/gprscdr/GenericChargingDataTypesV1400.asn b/epan/dissectors/asn1/gprscdr/GenericChargingDataTypesV1400.asn
new file mode 100644
index 0000000000..22e6a9e828
--- /dev/null
+++ b/epan/dissectors/asn1/gprscdr/GenericChargingDataTypesV1400.asn
@@ -0,0 +1,706 @@
+-- 3GPP TS 32.298
+GenericChargingDataTypes {itu-t (0) identified-organization (4) etsi(0) mobileDomain (0) charging (5) genericChargingDataTypes (0) asn1Module (0) version1 (0)}
+
+DEFINITIONS IMPLICIT TAGS ::=
+
+BEGIN
+
+-- EXPORTS everything
+
+IMPORTS
+
+AddressString,
+ISDN-AddressString,
+LCSClientExternalID,
+LCSClientInternalID
+FROM MAP-CommonDataTypes { itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3) map-CommonDataTypes (18) version15 (13) }
+-- from TS 29.002 [214]
+
+PositionMethodFailure-Diagnostic,
+UnauthorizedLCSClient-Diagnostic
+FROM MAP-ER-DataTypes { itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3) map-ER-DataTypes (17) version15 (13)}
+-- from TS 29.002 [214]
+
+ObjectInstance
+FROM CMIP-1 {joint-iso-itu-t ms (9) cmip (1) modules (0) protocol (3)}
+-- from Rec. X.2ab[304]
+
+-- WS localy defined
+--ManagementExtension
+--FROM Attribute-ASN1Module {joint-iso-itu-t ms (9) smi (3) part2 (2) asn1Module (2) 1}
+-- from Rec. X.721 [305]
+
+AE-title
+FROM ACSE-1 {joint-iso-itu-t association-control (2) modules (0) apdus (0) version1 (1) };
+-- From Rec. X.2cd[306]. Note that the syntax of AE-title to be used is from
+-- ITU-T Rec. X.227 / ISO 8650 corrigendum and not "ANY"
+--
+-- Generic Data Types
+--
+
+BCDDirectoryNumber ::= OCTET STRING
+--
+-- This type contains the binary coded decimal representation of
+-- a directory number e.g. calling/called/connected/translated number.
+-- The encoding of the octet string is in accordance with the
+-- the elements "Calling party BCD number", "Called party BCD number"
+-- and "Connected number" defined in TS 24.008 [208].
+-- This encoding includes type of number and number plan information
+-- together with a BCD encoded digit string.
+-- It may also contain both a presentation and screening indicator
+-- (octet 3a).
+-- For the avoidance of doubt, this field does not include
+ -- octets 1 and 2, the element name and length, as this would be
+-- redundant.
+--
+
+CallDuration ::= INTEGER
+--
+-- The call duration is counted in seconds.
+-- For successful calls /sessions / PDP contexts, this is the chargeable duration.
+-- For call attempts this is the call holding time.
+--
+
+CalledNumber ::= BCDDirectoryNumber
+
+-- WS extension to cater for older version(6)
+CallEventRecordType ::= INTEGER
+{
+
+-- Record values 0..17 are CS specific.
+-- The contents are defined in TS 32.250 [10]
+
+ moCallRecord (0),
+ mtCallRecord (1),
+ roamingRecord (2),
+ incGatewayRecord (3),
+ outGatewayRecord (4),
+ transitCallRecord (5),
+ moSMSRecord (6),
+ mtSMSRecord (7),
+ moSMSIWRecord (8),
+ mtSMSGWRecord (9),
+ ssActionRecord (10),
+ hlrIntRecord (11),
+ locUpdateHLRRecord (12),
+ locUpdateVLRRecord (13),
+ commonEquipRecord (14),
+ moTraceRecord (15), --- used in earlier releases
+ mtTraceRecord (16), --- used in earlier releases
+ termCAMELRecord (17),
+--
+-- Record values 18..22 are GPRS specific.
+-- The contents are defined in TS 32.251 [11]
+--
+ sgsnPDPRecord (18),
+ ggsnPDPRecord (19),
+ sgsnMMRecord (20),
+ sgsnSMORecord (21),
+ sgsnSMTRecord (22),
+--
+-- Record values 23..25 are CS-LCS specific.
+-- The contents are defined in TS 32.250 [10]
+--
+ mtLCSRecord (23),
+ moLCSRecord (24),
+ niLCSRecord (25),
+--
+-- Record values 26..28 are GPRS-LCS specific.
+-- The contents are defined in TS 32.251 [11]
+--
+ sgsnMtLCSRecord (26),
+ sgsnMoLCSRecord (27),
+ sgsnNiLCSRecord (28),
+--
+-- Record values 29..62 are MMS specific.
+-- The contents are defined in TS 32.270 [30]
+--
+ mmO1SRecord (29),
+ mmO4FRqRecord (30),
+ mmO4FRsRecord (31),
+ mmO4DRecord (32),
+ mmO1DRecord (33),
+ mmO4RRecord (34),
+ mmO1RRecord (35),
+ mmOMDRecord (36),
+ mmR4FRecord (37),
+ mmR1NRqRecord (38),
+ mmR1NRsRecord (39),
+ mmR1RtRecord (40),
+ mmR1AFRecord (42),
+ mmR4DRqRecord (43),
+ mmR4DRsRecord (44),
+ mmR1RRRecord (45),
+ mmR4RRqRecord (46),
+ mmR4RRsRecord (47),
+ mmRMDRecord (48),
+ mmFRecord (49),
+ mmBx1SRecord (50),
+ mmBx1VRecord (51),
+ mmBx1URecord (52),
+ mmBx1DRecord (53),
+ mM7SRecord (54),
+ mM7DRqRecord (55),
+ mM7DRsRecord (56),
+ mM7CRecord (57),
+ mM7RRecord (58),
+ mM7DRRqRecord (59),
+ mM7DRRsRecord (60),
+ mM7RRqRecord (61),
+ mM7RRsRecord (62),
+--
+-- Record values 63..69 are IMS specific.
+-- The contents are defined in TS 32.260 [20]
+--
+ s-CSCFRecord (63),
+ p-CSCFRecord (64),
+ i-CSCFRecord (65),
+ mRFCRecord (66),
+ mGCFRecord (67),
+ bGCFRecord (68),
+ aSRecord (69),
+--
+-- Record values 70 is for Flow based Charging
+-- The contents are defined in TS 32.251 [11]
+--
+ egsnPDPRecord (70),
+--
+-- Record values 71..75 are LCS specific.
+-- The contents are defined in TS 32.271 [31]
+--
+ lCSGMORecord (71),
+ lCSRGMTRecord (72),
+ lCSHGMTRecord (73),
+ lCSVGMTRecord (74),
+ lCSGNIRecord (75),
+--
+-- Record values 76..79 are MBMS specific.
+-- The contents are defined in TS 32.251 [11]
+-- Record values 76 and 77 are MBMS bearer context specific
+--
+ sgsnMBMSRecord (76),
+ ggsnMBMSRecord (77),
+-- And TS 32.273 [33]
+-- Record values 78 and 79 are MBMS service specific
+-- and defined in TS 32.273 [33]
+ subBMSCRecord (78),
+ contentBMSCRecord (79),
+--
+-- Record Values 80..81 are PoC specific.
+-- The contents are defined in TS 32.272 [14]
+--
+ pPFRecord (80),
+ cPFRecord (81)
+}
+-- End WS
+
+
+CallingNumber ::= BCDDirectoryNumber
+
+CellId ::= OCTET STRING (SIZE(2))
+--
+-- Coded according to TS 24.008 [208]
+--
+
+ChargeIndicator ::= INTEGER
+{
+ noCharge (0),
+ charge (1)
+}
+
+CNIPMulticastDistribution ::= ENUMERATED
+{
+ nO-IP-MULTICAST (0),
+ iP-MULTICAST (1)
+}
+
+Diagnostics ::= CHOICE
+{
+ gsm0408Cause [0] INTEGER,
+ -- See TS 24.008 [208]
+ gsm0902MapErrorValue [1] INTEGER,
+ --
+ -- Note: The value to be stored here corresponds to the local values defined in the MAP-Errors
+ -- and MAP-DialogueInformation modules, for full details see TS 29.002 [214].
+ --
+ itu-tQ767Cause [2] INTEGER,
+ -- See Q.767 [309]
+ networkSpecificCause [3] ManagementExtension,
+ -- To be defined by network operator
+ manufacturerSpecificCause [4] ManagementExtension,
+ -- To be defined by manufacturer
+ positionMethodFailureCause [5] PositionMethodFailure-Diagnostic,
+ -- see TS 29.002 [214]
+ unauthorizedLCSClientCause [6] UnauthorizedLCSClient-Diagnostic,
+ -- see TS 29.002 [214]
+ diameterResultCodeAndExperimentalResult [7] INTEGER
+ -- See TS 29.338 [230], TS 29.337 [231]
+}
+
+DiameterIdentity ::= OCTET STRING
+
+EnhancedDiagnostics ::= SEQUENCE
+{
+ rANNASCause [0] OCTET STRING
+ -- TS 29.274 [223]
+}
+
+GSNAddress ::= IPAddress
+
+IPAddress ::= CHOICE
+{
+ iPBinaryAddress IPBinaryAddress,
+ iPTextRepresentedAddress IPTextRepresentedAddress
+}
+
+IPBinaryAddress ::= CHOICE
+{
+ iPBinV4Address [0] IPBinV4Address,
+ iPBinV6Address IPBinV6AddressWithOrWithoutPrefixLength
+}
+
+IPBinV4Address ::= OCTET STRING (SIZE(4))
+
+IPBinV6Address ::= OCTET STRING (SIZE(16))
+
+IPBinV6AddressWithOrWithoutPrefixLength ::= CHOICE
+{
+ iPBinV6Address [1] IPBinV6Address,
+ iPBinV6AddressWithPrefix [4] IPBinV6AddressWithPrefixLength
+}
+
+IPBinV6AddressWithPrefixLength ::= SEQUENCE
+{
+ iPBinV6Address IPBinV6Address,
+ pDPAddressPrefixLength PDPAddressPrefixLength DEFAULT 64
+}
+
+IPTextRepresentedAddress ::= CHOICE
+{ --
+ -- IP address in the familiar "dot" notation
+ --
+ iPTextV4Address [2] IA5String (SIZE(7..15)),
+ iPTextV6Address [3] IA5String (SIZE(15..45))
+}
+
+LCSCause ::= OCTET STRING (SIZE(1))
+--
+-- See LCS Cause Value, TS 49.031 [227]
+--
+
+LCSClientIdentity ::= SEQUENCE
+{
+ lcsClientExternalID [0] LCSClientExternalID OPTIONAL,
+ lcsClientDialedByMS [1] AddressString OPTIONAL,
+ lcsClientInternalID [2] LCSClientInternalID OPTIONAL
+}
+
+LCSQoSInfo ::= OCTET STRING (SIZE(4))
+--
+-- See LCS QoS IE, TS 49.031 [227]
+--
+
+LevelOfCAMELService ::= BIT STRING
+{
+ basic (0),
+ callDurationSupervision (1),
+ onlineCharging (2)
+}
+
+LocalSequenceNumber ::= INTEGER (0..4294967295)
+--
+-- Sequence number of the record in this node
+-- 0.. 4294967295 is equivalent to 0..2**32-1, unsigned integer in four octets
+--
+
+LocationAreaAndCell ::= SEQUENCE
+{
+ locationAreaCode [0] LocationAreaCode,
+ cellId [1] CellId,
+ mCC-MNC [2] MCC-MNC OPTIONAL
+}
+
+LocationAreaCode ::= OCTET STRING (SIZE(2))
+--
+-- See TS 24.008 [208]
+--
+
+ManagementExtensions ::= SET OF ManagementExtension
+
+MBMS2G3GIndicator ::= ENUMERATED
+{
+ twoG (0), -- For GERAN access only
+ threeG (1), -- For UTRAN access only
+ twoG-AND-threeG (2) -- For both UTRAN and GERAN access
+}
+
+MBMSInformation ::= SET
+{
+ tMGI [1] TMGI OPTIONAL,
+ mBMSSessionIdentity [2] MBMSSessionIdentity OPTIONAL,
+ mBMSServiceType [3] MBMSServiceType OPTIONAL,
+ mBMSUserServiceType [4] MBMSUserServiceType OPTIONAL, -- only supported in the BM-SC
+ mBMS2G3GIndicator [5] MBMS2G3GIndicator OPTIONAL,
+ fileRepairSupported [6] BOOLEAN OPTIONAL, -- only supported in the BM-SC
+ rAI [7] RoutingAreaCode OPTIONAL, -- only supported in the BM-SC
+ mBMSServiceArea [8] MBMSServiceArea OPTIONAL,
+ requiredMBMSBearerCaps [9] RequiredMBMSBearerCapabilities OPTIONAL,
+ mBMSGWAddress [10] GSNAddress OPTIONAL,
+ cNIPMulticastDistribution [11] CNIPMulticastDistribution OPTIONAL,
+ mBMSDataTransferStart [12] MBMSTime OPTIONAL,
+ mBMSDataTransferStop [13] MBMSTime OPTIONAL
+}
+
+MBMSServiceArea ::= OCTET STRING
+
+MBMSServiceType ::= ENUMERATED
+{
+ mULTICAST (0),
+ bROADCAST (1)
+}
+
+MBMSSessionIdentity ::= OCTET STRING (SIZE (1))
+--
+-- This octet string is a 1:1 copy of the contents of the MBMS-Session-Identity
+-- AVP specified in TS 29.061 [82]
+--
+
+MBMSTime ::= OCTET STRING (SIZE(1))
+--
+-- This value indicates the time in seconds relative to 00:00:00 on 1 January 1900 (calculated as
+-- continous time without leap seconds and tracable to a common time reference) where binary
+-- encoding of the integer part is in the first 32 bits and binary encoding of the fraction part in
+-- the last 32 bits. The fraction part is expressed with a granularity of 1 /2**32 second as
+-- specified in TS 29.061 [82].
+--
+
+MBMSUserServiceType ::= ENUMERATED
+{
+ dOWNLOAD (0),
+ sTREAMING (1)
+}
+
+MCC-MNC ::= OCTET STRING (SIZE(3))
+--
+-- See TS 24.008 [208]
+--
+
+MessageReference ::= OCTET STRING
+
+MSCAddress ::= AddressString
+
+MscNo ::= ISDN-AddressString
+--
+-- See TS 23.003 [200]
+--
+
+MSISDN ::= ISDN-AddressString
+--
+-- See TS 23.003 [200]
+--
+
+MSTimeZone ::= OCTET STRING (SIZE (2))
+--
+-- 1.Octet: Time Zone and 2. Octet: Daylight saving time, see TS 29.060 [215]
+--
+
+NodeAddress ::= CHOICE
+{
+ iPAddress [0] IPAddress,
+ domainName [1] GraphicString
+}
+
+PDPAddressPrefixLength ::=INTEGER (1..64)
+--
+-- This is an interger indicating the leght of the PDP/PDN IPv6 address prefix
+-- and the default value is 64 bits.
+--
+
+PositioningData ::= OCTET STRING (SIZE(1..33))
+--
+-- See Positioning Data IE (octet 3..n), TS 49.031 [227]
+--
+
+RecordingEntity ::= AddressString
+
+RecordType ::= INTEGER
+--
+-- Record values 0..17 and 87,89 are CS specific. The contents are defined in TS 32.250 [10]
+--
+{
+ moCallRecord (0),
+ mtCallRecord (1),
+ roamingRecord (2),
+ incGatewayRecord (3),
+ outGatewayRecord (4),
+ transitCallRecord (5),
+ moSMSRecord (6),
+ mtSMSRecord (7),
+ moSMSIWRecord (8),
+ mtSMSGWRecord (9),
+ ssActionRecord (10),
+ hlrIntRecord (11),
+ locUpdateHLRRecord (12),
+ locUpdateVLRRecord (13),
+ commonEquipRecord (14),
+ moTraceRecord (15), -- used in earlier releases
+ mtTraceRecord (16), -- used in earlier releases
+ termCAMELRecord (17),
+--
+-- Record values 18..22 are GPRS specific. The contents are defined in TS 32.251 [11]
+--
+ sgsnPDPRecord (18),
+ sgsnMMRecord (20),
+ sgsnSMORecord (21), -- also MME UE originated SMS record
+ sgsnSMTRecord (22), -- also MME UE terminated SMS record
+--
+-- Record values 23..25 are CS-LCS specific. The contents are defined in TS 32.250 [10]
+--
+ mtLCSRecord (23),
+ moLCSRecord (24),
+ niLCSRecord (25),
+--
+-- Record values 26..28 are GPRS-LCS specific. The contents are defined in TS 32.251 [11]
+--
+ sgsnMTLCSRecord (26),
+ sgsnMOLCSRecord (27),
+ sgsnNILCSRecord (28),
+--
+-- Record values 30..62 are MMS specific. The contents are defined in TS 32.270 [30]
+--
+ mMO1SRecord (30),
+ mMO4FRqRecord (31),
+ mMO4FRsRecord (32),
+ mMO4DRecord (33),
+ mMO1DRecord (34),
+ mMO4RRecord (35),
+ mMO1RRecord (36),
+ mMOMDRecord (37),
+ mMR4FRecord (38),
+ mMR1NRqRecord (39),
+ mMR1NRsRecord (40),
+ mMR1RtRecord (41),
+ mMR1AFRecord (42),
+ mMR4DRqRecord (43),
+ mMR4DRsRecord (44),
+ mMR1RRRecord (45),
+ mMR4RRqRecord (46),
+ mMR4RRsRecord (47),
+ mMRMDRecord (48),
+ mMFRecord (49),
+ mMBx1SRecord (50),
+ mMBx1VRecord (51),
+ mMBx1URecord (52),
+ mMBx1DRecord (53),
+ mM7SRecord (54),
+ mM7DRqRecord (55),
+ mM7DRsRecord (56),
+ mM7CRecord (57),
+ mM7RRecord (58),
+ mM7DRRqRecord (59),
+ mM7DRRsRecord (60),
+ mM7RRqRecord (61),
+ mM7RRsRecord (62),
+--
+-- Record values 63..70, 82, 89..91 are IMS specific.
+-- The contents are defined in TS 32.260 [20]
+--
+ sCSCFRecord (63),
+ pCSCFRecord (64),
+ iCSCFRecord (65),
+ mRFCRecord (66),
+ mGCFRecord (67),
+ bGCFRecord (68),
+ aSRecord (69),
+ eCSCFRecord (70),
+ iBCFRecord (82),
+ tRFRecord (89),
+ tFRecord (90),
+ aTCFRecord (91),
+--
+-- Record values 71..75 are LCS specific. The contents are defined in TS 32.271 [31]
+--
+ lCSGMORecord (71),
+ lCSRGMTRecord (72),
+ lCSHGMTRecord (73),
+ lCSVGMTRecord (74),
+ lCSGNIRecord (75),
+--
+-- Record values 76..79,86 are MBMS specific.
+-- The contents are defined in TS 32.251 [11] and TS 32.273 [33]
+--
+-- Record values 76,77 and 86 are MBMS bearer context specific
+--
+ sgsnMBMSRecord (76),
+ ggsnMBMSRecord (77),
+ gwMBMSRecord (86),
+--
+-- Record values 78 and 79 are MBMS service specific and defined in TS 32.273 [33]
+--
+ sUBBMSCRecord (78),
+ cONTENTBMSCRecord (79),
+--
+-- Record Values 80..81 are PoC specific. The contents are defined in TS 32.272 [32]
+--
+ pPFRecord (80),
+ cPFRecord (81),
+--
+-- Record values 84,85 and 92,95,96 are EPC specific.
+-- The contents are defined in TS 32.251 [11]
+--
+ sGWRecord (84),
+ pGWRecord (85),
+ tDFRecord (92),
+ iPERecord (95),
+ ePDGRecord (96),
+ tWAGRecord (97),
+--
+-- Record Value 83 is MMTel specific. The contents are defined in TS 32.275 [35]
+--
+ mMTelRecord (83),
+--
+-- Record value 87,88 and 89 are CS specific. The contents are defined in TS 32.250 [10]
+--
+ mSCsRVCCRecord (87),
+ mMTRFRecord (88),
+ iCSRegisterRecord (99),
+--
+-- Record values 93 and 94 are SMS specific. The contents are defined in TS 32.274 [34]
+--
+ sCSMORecord (93),
+ sCSMTRecord (94),
+--
+-- Record values 100, 101 and 102 are ProSe specific. The contents are defined in TS 32.277 [36]
+--
+ pFDDRecord (100),
+ pFEDRecord (101),
+ pFDCRecord (102),
+--
+-- Record values 103 and 104 are Monitoring Event specific. The contents are defined in TS 32.278 [38]
+--
+ mECORecord (103),
+ mERERecord (104),
+--
+-- Record values 105 and 106 are CP data transfer specific. The contents are defined in TS 32.253 [13]
+--
+ cPDTSCERecord (105),
+ cPDTSNNRecord (106)
+}
+
+RequiredMBMSBearerCapabilities ::= OCTET STRING (SIZE (3..14))
+--
+-- This octet string is a 1:1 copy of the contents (i.e. starting with octet 5) of the
+-- "Quality of service Profile" information element specified in TS 29.060 [75].
+--
+
+RoutingAreaCode ::= OCTET STRING (SIZE(1))
+--
+-- See TS 24.008 [208]
+--
+
+ServiceContextID ::= UTF8String
+
+ServiceSpecificInfo ::= SEQUENCE
+{
+ serviceSpecificData [0] GraphicString OPTIONAL,
+ serviceSpecificType [1] INTEGER OPTIONAL
+}
+
+SMSResult ::= Diagnostics
+
+SmsTpDestinationNumber ::= OCTET STRING
+--
+-- This type contains the binary coded decimal representation of
+-- the SMS address field the encoding of the octet string is in
+-- accordance with the definition of address fields in TS 23.040 [201].
+-- This encoding includes type of number and numbering plan indication
+-- together with the address value range.
+--
+
+SubscriberEquipmentNumber ::= SET
+{
+ subscriberEquipmentNumberType [0] SubscriberEquipmentType,
+ subscriberEquipmentNumberData [1] OCTET STRING
+}
+
+SubscriberEquipmentType ::= ENUMERATED
+{
+ iMEISV (0),
+ mAC (1),
+ eUI64 (2),
+ modifiedEUI64 (3)
+}
+
+SubscriptionID ::= SET
+--
+-- used for ExternalIdentifier with SubscriptionIdType = END-User-NAI. See TS 23.003 [200]
+--
+{
+ subscriptionIDType [0] SubscriptionIDType,
+ subscriptionIDData [1] UTF8String
+}
+
+SubscriptionIDType ::= ENUMERATED
+{
+ eND-USER-E164 (0),
+ eND-USER-IMSI (1),
+ eND-USER-SIP-URI (2),
+ eND-USER-NAI (3),
+ eND-USER-PRIVATE (4)
+}
+
+SystemType ::= ENUMERATED
+ --
+ -- "unknown" is not to be used in PS domain.
+ --
+{
+ unknown (0),
+ iuUTRAN (1),
+ gERAN (2)
+}
+
+TimeStamp ::= OCTET STRING (SIZE(9))
+--
+-- The contents of this field are a compact form of the UTCTime format
+-- containing local time plus an offset to universal time. Binary coded
+-- decimal encoding is employed for the digits to reduce the storage and
+-- transmission overhead
+-- e.g. YYMMDDhhmmssShhmm
+-- where
+-- YY = Year 00 to 99 BCD encoded
+-- MM = Month 01 to 12 BCD encoded
+-- DD = Day 01 to 31 BCD encoded
+-- hh = hour 00 to 23 BCD encoded
+-- mm = minute 00 to 59 BCD encoded
+-- ss = second 00 to 59 BCD encoded
+-- S = Sign 0 = "+", "-" ASCII encoded
+-- hh = hour 00 to 23 BCD encoded
+-- mm = minute 00 to 59 BCD encoded
+--
+
+TMGI ::= OCTET STRING
+--
+-- This octet string is a 1:1 copy of the contents (i.e. starting with octet 4)
+-- of the "TMGI" information element specified in TS 29.060 [75].
+--
+
+-- Local WS modification Import ManagementExtension here
+-- as2wrs fault fix:
+DMI-EXTENSION::= CLASS {&id OBJECT IDENTIFIER UNIQUE,
+ &Value
+}WITH SYNTAX {TYPE &Value
+ ID &id
+}
+
+ManagementExtension ::= SEQUENCE {
+ identifier DMI-EXTENSION.&id({ManagementExtensionSet}),
+ significance [1] BOOLEAN DEFAULT FALSE,
+ information
+ [2] DMI-EXTENSION.&Value({ManagementExtensionSet}{@.identifier})
+}
+
+ManagementExtensionSet DMI-EXTENSION ::=
+ {...}
+
+
+END
diff --git a/epan/dissectors/asn1/gprscdr/Makefile.am b/epan/dissectors/asn1/gprscdr/Makefile.am
index 9ac1353f26..2d79d25237 100644
--- a/epan/dissectors/asn1/gprscdr/Makefile.am
+++ b/epan/dissectors/asn1/gprscdr/Makefile.am
@@ -24,9 +24,9 @@ EXPORT_FILES = \
$(PROTOCOL_NAME)-exp.cnf
ASN_FILE_LIST = \
- GenericChargingDataTypesV1250.asn \
+ GenericChargingDataTypesV1400.asn \
GPRSChargingDataTypesV641.asn \
- GPRSChargingDataTypesV1260.asn
+ GPRSChargingDataTypesV1400.asn
INCLUDED_ASN_FILE_LIST = \
3GPPGenericChargingDataTypes.asn \
@@ -34,10 +34,12 @@ INCLUDED_ASN_FILE_LIST = \
GPRSChargingDataTypesV8e0.asn \
GPRSChargingDataTypesV9f0.asn \
GPRSChargingDataTypesV1171.asn \
+ GPRSChargingDataTypesV1260.asn \
GenericChargingDataTypes.asn \
GenericChargingDataTypesV641.asn \
GenericChargingDataTypesV8e0.asn \
- GenericChargingDataTypesV9f0.asn
+ GenericChargingDataTypesV9f0.asn \
+ GenericChargingDataTypesV1250.asn
# The packet-$(PROTOCOL_NAME)-template.h and $(PROTOCOL_NAME).asn
# files do not exist for all protocols: Please add/remove as required.
diff --git a/epan/dissectors/asn1/gprscdr/gprscdr.cnf b/epan/dissectors/asn1/gprscdr/gprscdr.cnf
index 95ee6a7194..b57e0c1306 100644
--- a/epan/dissectors/asn1/gprscdr/gprscdr.cnf
+++ b/epan/dissectors/asn1/gprscdr/gprscdr.cnf
@@ -10,38 +10,13 @@ CalledNumber
ChargeIndicator
MscNo
SystemType
-SGSNMTLCSRecord
-SGSNMOLCSRecord
-SGSNNILCSRecord
-LCSCause
-LCSClientIdentity
-LCSQoSInfo
-LocationAreaAndCell
-PositioningData
-MCC-MNC
NodeAddress
ServiceContextID
ChangeLocationV651
-CTEID
-DataVolumeMBMS
SubscriberEquipmentNumber
SubscriberEquipmentType
# 6.4 If these are needed MBMS asn1 should be added.
-SGSNMBMSRecord
-GGSNMBMSRecord
-GWMBMSRecord
-ChangeOfMBMSCondition
-CNIPMulticastDistribution
-MBMS2G3GIndicator
-TMGI
-MBMSSessionIdentity
-MBMSServiceType
-MBMSUserServiceType
-MBMSServiceArea
-RequiredMBMSBearerCapabilities
-
-#.NO_EMIT
-MBMSInformation
+MSCAddress
#.EXPORTS
GPRSCallEventRecord
diff --git a/epan/dissectors/packet-gprscdr.c b/epan/dissectors/packet-gprscdr.c
index 07ba4888ce..d585766f7a 100644
--- a/epan/dissectors/packet-gprscdr.c
+++ b/epan/dissectors/packet-gprscdr.c
@@ -1,7 +1,7 @@
/* Do not modify this file. Changes will be overwritten. */
/* Generated automatically by the ASN.1 to Wireshark dissector compiler */
/* packet-gprscdr.c */
-/* asn2wrs.py -b -p gprscdr -c ./gprscdr.cnf -s ./packet-gprscdr-template -D . -O ../.. GenericChargingDataTypesV1250.asn GPRSChargingDataTypesV641.asn GPRSChargingDataTypesV1260.asn */
+/* asn2wrs.py -b -p gprscdr -c ./gprscdr.cnf -s ./packet-gprscdr-template -D . -O ../.. GenericChargingDataTypesV1400.asn GPRSChargingDataTypesV641.asn GPRSChargingDataTypesV1400.asn */
/* Input file: packet-gprscdr-template.c */
@@ -62,6 +62,7 @@ static int hf_gprscdr_manufacturerSpecificCause = -1; /* ManagementExtension */
static int hf_gprscdr_positionMethodFailureCause = -1; /* PositionMethodFailure_Diagnostic */
static int hf_gprscdr_unauthorizedLCSClientCause = -1; /* UnauthorizedLCSClient_Diagnostic */
static int hf_gprscdr_diameterResultCodeAndExperimentalResult = -1; /* INTEGER */
+static int hf_gprscdr_rANNASCause = -1; /* OCTET_STRING */
static int hf_gprscdr_iPBinaryAddress = -1; /* IPBinaryAddress */
static int hf_gprscdr_iPTextRepresentedAddress = -1; /* IPTextRepresentedAddress */
static int hf_gprscdr_iPBinV4Address = -1; /* IPBinV4Address */
@@ -71,6 +72,12 @@ static int hf_gprscdr_iPBinV6AddressWithPrefix = -1; /* IPBinV6AddressWithPrefi
static int hf_gprscdr_pDPAddressPrefixLength = -1; /* PDPAddressPrefixLength */
static int hf_gprscdr_iPTextV4Address = -1; /* IA5String_SIZE_7_15 */
static int hf_gprscdr_iPTextV6Address = -1; /* IA5String_SIZE_15_45 */
+static int hf_gprscdr_lcsClientExternalID = -1; /* LCSClientExternalID */
+static int hf_gprscdr_lcsClientDialedByMS = -1; /* AddressString */
+static int hf_gprscdr_lcsClientInternalID = -1; /* LCSClientInternalID */
+static int hf_gprscdr_locationAreaCode = -1; /* LocationAreaCode */
+static int hf_gprscdr_cellId = -1; /* CellId */
+static int hf_gprscdr_mCC_MNC = -1; /* MCC_MNC */
static int hf_gprscdr_ManagementExtensions_item = -1; /* ManagementExtension */
static int hf_gprscdr_tMGI = -1; /* TMGI */
static int hf_gprscdr_mBMSSessionIdentity = -1; /* MBMSSessionIdentity */
@@ -83,6 +90,8 @@ static int hf_gprscdr_mBMSServiceArea = -1; /* MBMSServiceArea */
static int hf_gprscdr_requiredMBMSBearerCaps = -1; /* RequiredMBMSBearerCapabilities */
static int hf_gprscdr_mBMSGWAddress = -1; /* GSNAddress */
static int hf_gprscdr_cNIPMulticastDistribution = -1; /* CNIPMulticastDistribution */
+static int hf_gprscdr_mBMSDataTransferStart = -1; /* MBMSTime */
+static int hf_gprscdr_mBMSDataTransferStop = -1; /* MBMSTime */
static int hf_gprscdr_serviceSpecificData = -1; /* GraphicString */
static int hf_gprscdr_serviceSpecificType = -1; /* INTEGER */
static int hf_gprscdr_subscriptionIDType = -1; /* SubscriptionIDType */
@@ -140,7 +149,6 @@ static int hf_gprscdr_servedIMEI = -1; /* IMEI */
static int hf_gprscdr_sgsnAddress_01 = -1; /* GSNAddress */
static int hf_gprscdr_msNetworkCapability = -1; /* MSNetworkCapability */
static int hf_gprscdr_routingArea = -1; /* RoutingAreaCode */
-static int hf_gprscdr_locationAreaCode = -1; /* LocationAreaCode */
static int hf_gprscdr_cellIdentifier = -1; /* CellId */
static int hf_gprscdr_ggsnAddressUsed = -1; /* GSNAddress */
static int hf_gprscdr_sgsnChange = -1; /* SGSNChange */
@@ -185,12 +193,19 @@ static int hf_gprscdr_sgsnPDPRecord_01 = -1; /* SGSNPDPRecord */
static int hf_gprscdr_ggsnPDPRecord_01 = -1; /* GGSNPDPRecordV750 */
static int hf_gprscdr_sgsnSMORecord_01 = -1; /* SGSNSMORecord */
static int hf_gprscdr_sgsnSMTRecord_01 = -1; /* SGSNSMTRecord */
+static int hf_gprscdr_sgsnMTLCSRecord = -1; /* SGSNMTLCSRecord */
+static int hf_gprscdr_sgsnMOLCSRecord = -1; /* SGSNMOLCSRecord */
+static int hf_gprscdr_sgsnNILCSRecord = -1; /* SGSNNILCSRecord */
static int hf_gprscdr_egsnPDPRecord_01 = -1; /* EGSNPDPRecordV750 */
+static int hf_gprscdr_sgsnMBMSRecord = -1; /* SGSNMBMSRecord */
+static int hf_gprscdr_ggsnMBMSRecord = -1; /* GGSNMBMSRecord */
static int hf_gprscdr_sGWRecord = -1; /* SGWRecord */
static int hf_gprscdr_pGWRecord = -1; /* PGWRecord */
+static int hf_gprscdr_gwMBMSRecord = -1; /* GWMBMSRecord */
static int hf_gprscdr_tDFRecord = -1; /* TDFRecord */
static int hf_gprscdr_iPERecord = -1; /* IPERecord */
static int hf_gprscdr_ePDGRecord = -1; /* EPDGRecord */
+static int hf_gprscdr_tWAGRecord = -1; /* TWAGRecord */
static int hf_gprscdr_s_GWAddress = -1; /* GSNAddress */
static int hf_gprscdr_servingNodeAddress = -1; /* SEQUENCE_OF_GSNAddress */
static int hf_gprscdr_servingNodeAddress_item = -1; /* GSNAddress */
@@ -222,6 +237,12 @@ static int hf_gprscdr_cNOperatorSelectionEnt = -1; /* CNOperatorSelectionEntity
static int hf_gprscdr_presenceReportingAreaInfo = -1; /* PresenceReportingAreaInfo */
static int hf_gprscdr_lastUserLocationInformation = -1; /* OCTET_STRING */
static int hf_gprscdr_lastMSTimeZone = -1; /* MSTimeZone */
+static int hf_gprscdr_enhancedDiagnostics = -1; /* EnhancedDiagnostics */
+static int hf_gprscdr_cPCIoTEPSOptimisationIndicator = -1; /* CPCIoTEPSOptimisationIndicator */
+static int hf_gprscdr_uNIPDUCPOnlyFlag = -1; /* UNIPDUCPOnlyFlag */
+static int hf_gprscdr_servingPLMNRateControl = -1; /* ServingPLMNRateControl */
+static int hf_gprscdr_pDPPDNTypeExtension = -1; /* PDPPDNTypeExtension */
+static int hf_gprscdr_mOExceptionDataCounter = -1; /* MOExceptionDataCounter */
static int hf_gprscdr_p_GWAddress = -1; /* GSNAddress */
static int hf_gprscdr_listOfServiceData_02 = -1; /* SEQUENCE_OF_ChangeOfServiceCondition */
static int hf_gprscdr_listOfServiceData_item_02 = -1; /* ChangeOfServiceCondition */
@@ -230,6 +251,12 @@ static int hf_gprscdr_served3gpp2MEID = -1; /* OCTET_STRING */
static int hf_gprscdr_threeGPP2UserLocationInformation = -1; /* OCTET_STRING */
static int hf_gprscdr_tWANUserLocationInformation = -1; /* TWANUserLocationInfo */
static int hf_gprscdr_ePCQoSInformation = -1; /* EPCQoSInformation */
+static int hf_gprscdr_nBIFOMMode = -1; /* NBIFOMMode */
+static int hf_gprscdr_nBIFOMSupport = -1; /* NBIFOMSupport */
+static int hf_gprscdr_uWANUserLocationInformation = -1; /* UWANUserLocationInfo */
+static int hf_gprscdr_sGiPtPTunnellingMethod = -1; /* SGiPtPTunnellingMethod */
+static int hf_gprscdr_aPNRateControl = -1; /* APNRateControl */
+static int hf_gprscdr_chargingPerIPCANSessionIndicator = -1; /* ChargingPerIPCANSessionIndicator */
static int hf_gprscdr_tDFAddress = -1; /* GSNAddress */
static int hf_gprscdr_tDFiPv6AddressUsed = -1; /* GSNAddress */
static int hf_gprscdr_tDFPLMNIdentifier = -1; /* PLMN_Id */
@@ -244,6 +271,8 @@ static int hf_gprscdr_servedIPCANsessionAddressExt = -1; /* PDPAddress */
static int hf_gprscdr_iPEdgeiPv6AddressUsed = -1; /* GSNAddress */
static int hf_gprscdr_ePDGAddressUsed = -1; /* GSNAddress */
static int hf_gprscdr_ePDGiPv6AddressUsed = -1; /* GSNAddress */
+static int hf_gprscdr_tWAGAddressUsed = -1; /* GSNAddress */
+static int hf_gprscdr_tWAGiPv6AddressUsed = -1; /* GSNAddress */
static int hf_gprscdr_changeLocation = -1; /* SEQUENCE_OF_ChangeLocation */
static int hf_gprscdr_changeLocation_item = -1; /* ChangeLocation */
static int hf_gprscdr_cAMELInformationMM = -1; /* CAMELInformationMM */
@@ -254,10 +283,41 @@ static int hf_gprscdr_servingNodeiPv6Address_01 = -1; /* GSNAddress */
static int hf_gprscdr_mMEName = -1; /* DiameterIdentity */
static int hf_gprscdr_mMERealm = -1; /* DiameterIdentity */
static int hf_gprscdr_originatingAddress = -1; /* AddressString */
+static int hf_gprscdr_lcsClientType = -1; /* LCSClientType */
+static int hf_gprscdr_lcsClientIdentity = -1; /* LCSClientIdentity */
+static int hf_gprscdr_locationType = -1; /* LocationType */
+static int hf_gprscdr_lcsQos = -1; /* LCSQoSInfo */
+static int hf_gprscdr_lcsPriority = -1; /* LCS_Priority */
+static int hf_gprscdr_mlcNumber = -1; /* ISDN_AddressString */
+static int hf_gprscdr_measurementDuration = -1; /* CallDuration */
+static int hf_gprscdr_notificationToMSUser = -1; /* NotificationToMSUser */
+static int hf_gprscdr_privacyOverride = -1; /* NULL */
+static int hf_gprscdr_location = -1; /* LocationAreaAndCell */
+static int hf_gprscdr_locationEstimate = -1; /* Ext_GeographicalInformation */
+static int hf_gprscdr_positioningData = -1; /* PositioningData */
+static int hf_gprscdr_lcsCause = -1; /* LCSCause */
+static int hf_gprscdr_locationMethod = -1; /* LocationMethod */
+static int hf_gprscdr_listofRAs = -1; /* SEQUENCE_OF_RAIdentity */
+static int hf_gprscdr_listofRAs_item = -1; /* RAIdentity */
+static int hf_gprscdr_listOfTrafficVolumes_02 = -1; /* SEQUENCE_OF_ChangeOfMBMSCondition */
+static int hf_gprscdr_listOfTrafficVolumes_item_02 = -1; /* ChangeOfMBMSCondition */
+static int hf_gprscdr_numberofReceivingUE = -1; /* INTEGER */
+static int hf_gprscdr_mbmsInformation = -1; /* MBMSInformation */
+static int hf_gprscdr_listofDownstreamNodes = -1; /* SEQUENCE_OF_GSNAddress */
+static int hf_gprscdr_listofDownstreamNodes_item = -1; /* GSNAddress */
+static int hf_gprscdr_mbmsGWAddress = -1; /* GSNAddress */
+static int hf_gprscdr_commonTeid = -1; /* CTEID */
+static int hf_gprscdr_iPMulticastSourceAddress = -1; /* PDPAddress */
static int hf_gprscdr_physicalAccessID = -1; /* UTF8String */
static int hf_gprscdr_logicalAccessID = -1; /* OCTET_STRING */
static int hf_gprscdr_aFChargingIdentifier = -1; /* AFChargingIdentifier */
static int hf_gprscdr_flows = -1; /* Flows */
+static int hf_gprscdr_aPNRateControlUplink = -1; /* APNRateControlParameters */
+static int hf_gprscdr_aPNRateControlDownlink = -1; /* APNRateControlParameters */
+static int hf_gprscdr_additionalExceptionReports = -1; /* AdditionalExceptionReports */
+static int hf_gprscdr_rateControlTimeUnit = -1; /* RateControlTimeUnit */
+static int hf_gprscdr_rateControlMaxRate = -1; /* INTEGER */
+static int hf_gprscdr_rateControlMaxMessageSize = -1; /* DataVolume */
static int hf_gprscdr_sCFAddress = -1; /* SCFAddress */
static int hf_gprscdr_serviceKey = -1; /* ServiceKey */
static int hf_gprscdr_defaultTransactionHandling = -1; /* DefaultGPRS_Handling */
@@ -274,6 +334,10 @@ static int hf_gprscdr_cAMELSMSCAddress = -1; /* AddressString */
static int hf_gprscdr_smsReferenceNumber = -1; /* CallReferenceNumber */
static int hf_gprscdr_changeCondition_01 = -1; /* ChangeCondition */
static int hf_gprscdr_presenceReportingAreaStatus = -1; /* PresenceReportingAreaStatus */
+static int hf_gprscdr_accessAvailabilityChangeReason = -1; /* AccessAvailabilityChangeReason */
+static int hf_gprscdr_relatedChangeOfCharCondition = -1; /* RelatedChangeOfCharCondition */
+static int hf_gprscdr_dataVolumeMBMSUplink = -1; /* DataVolumeMBMS */
+static int hf_gprscdr_dataVolumeMBMSDownlink = -1; /* DataVolumeMBMS */
static int hf_gprscdr_serviceConditionChange_01 = -1; /* ServiceConditionChange */
static int hf_gprscdr_qoSInformationNeg_01 = -1; /* EPCQoSInformation */
static int hf_gprscdr_serviceSpecificInfo = -1; /* SEQUENCE_OF_ServiceSpecificInfo */
@@ -281,9 +345,9 @@ static int hf_gprscdr_serviceSpecificInfo_item = -1; /* ServiceSpecificInfo */
static int hf_gprscdr_sponsorIdentity = -1; /* OCTET_STRING */
static int hf_gprscdr_applicationServiceProviderIdentity = -1; /* OCTET_STRING */
static int hf_gprscdr_aDCRuleBaseName = -1; /* ADCRuleBaseName */
+static int hf_gprscdr_relatedChangeOfServiceCondition = -1; /* RelatedChangeOfServiceCondition */
static int hf_gprscdr_routingAreaCode = -1; /* RoutingAreaCode */
-static int hf_gprscdr_cellId = -1; /* CellId */
-static int hf_gprscdr_mCC_MNC = -1; /* PLMN_Id */
+static int hf_gprscdr_mCC_MNC_01 = -1; /* PLMN_Id */
static int hf_gprscdr_qCI = -1; /* INTEGER */
static int hf_gprscdr_maxRequestedBandwithUL = -1; /* INTEGER */
static int hf_gprscdr_maxRequestedBandwithDL = -1; /* INTEGER */
@@ -300,15 +364,21 @@ static int hf_gprscdr_bSSID = -1; /* OCTET_STRING */
static int hf_gprscdr_mediaComponentNumber = -1; /* INTEGER */
static int hf_gprscdr_flowNumber = -1; /* T_flowNumber */
static int hf_gprscdr_flowNumber_item = -1; /* INTEGER */
+static int hf_gprscdr_counterValue = -1; /* INTEGER */
+static int hf_gprscdr_counterTimestamp = -1; /* TimeStamp */
static int hf_gprscdr_iPAddress = -1; /* IPAddress */
static int hf_gprscdr_presenceReportingAreaIdentifier = -1; /* OCTET_STRING */
static int hf_gprscdr_pSFreeFormatData = -1; /* FreeFormatData */
static int hf_gprscdr_pSFFDAppendIndicator = -1; /* FFDAppendIndicator */
+static int hf_gprscdr_sPLMNDLRateControlValue = -1; /* INTEGER */
+static int hf_gprscdr_sPLMNULRateControlValue = -1; /* INTEGER */
static int hf_gprscdr_timeQuotaType = -1; /* TimeQuotaType */
static int hf_gprscdr_baseTimeInterval = -1; /* INTEGER */
static int hf_gprscdr_cSGId = -1; /* CSGId */
static int hf_gprscdr_cSGAccessMode = -1; /* CSGAccessMode */
static int hf_gprscdr_cSGMembershipIndication = -1; /* NULL */
+static int hf_gprscdr_uELocalIPAddress = -1; /* IPAddress */
+static int hf_gprscdr_uDPSourcePort = -1; /* OCTET_STRING_SIZE_2 */
/* named bits */
static int hf_gprscdr_LevelOfCAMELService_basic = -1;
static int hf_gprscdr_LevelOfCAMELService_callDurationSupervision = -1;
@@ -395,6 +465,11 @@ static int hf_gprscdr_ServiceConditionChange_eCGIChange = -1;
static int hf_gprscdr_ServiceConditionChange_tAIChange = -1;
static int hf_gprscdr_ServiceConditionChange_userLocationChange = -1;
static int hf_gprscdr_ServiceConditionChange_userCSGInformationChange = -1;
+static int hf_gprscdr_ServiceConditionChange_presenceInPRAChange = -1;
+static int hf_gprscdr_ServiceConditionChange_accessChangeOfSDF = -1;
+static int hf_gprscdr_ServiceConditionChange_indirectServiceConditionChange = -1;
+static int hf_gprscdr_ServiceConditionChange_servingPLMNRateControlChange = -1;
+static int hf_gprscdr_ServiceConditionChange_aPNRateControlChange = -1;
/*--- End of included file: packet-gprscdr-hf.c ---*/
#line 45 "./asn1/gprscdr/packet-gprscdr-template.c"
@@ -407,12 +482,15 @@ static int ett_gprscdr_managementextension_information = -1;
/*--- Included file: packet-gprscdr-ett.c ---*/
#line 1 "./asn1/gprscdr/packet-gprscdr-ett.c"
static gint ett_gprscdr_Diagnostics = -1;
+static gint ett_gprscdr_EnhancedDiagnostics = -1;
static gint ett_gprscdr_IPAddress = -1;
static gint ett_gprscdr_IPBinaryAddress = -1;
static gint ett_gprscdr_IPBinV6AddressWithOrWithoutPrefixLength = -1;
static gint ett_gprscdr_IPBinV6AddressWithPrefixLength = -1;
static gint ett_gprscdr_IPTextRepresentedAddress = -1;
+static gint ett_gprscdr_LCSClientIdentity = -1;
static gint ett_gprscdr_LevelOfCAMELService = -1;
+static gint ett_gprscdr_LocationAreaAndCell = -1;
static gint ett_gprscdr_ManagementExtensions = -1;
static gint ett_gprscdr_MBMSInformation = -1;
static gint ett_gprscdr_ServiceSpecificInfo = -1;
@@ -445,17 +523,29 @@ static gint ett_gprscdr_SEQUENCE_OF_ChangeOfServiceCondition = -1;
static gint ett_gprscdr_TDFRecord = -1;
static gint ett_gprscdr_IPERecord = -1;
static gint ett_gprscdr_EPDGRecord = -1;
+static gint ett_gprscdr_TWAGRecord = -1;
static gint ett_gprscdr_SGSNMMRecord = -1;
static gint ett_gprscdr_SEQUENCE_OF_ChangeLocation = -1;
static gint ett_gprscdr_SGSNPDPRecord = -1;
static gint ett_gprscdr_SGSNSMORecord = -1;
static gint ett_gprscdr_SGSNSMTRecord = -1;
+static gint ett_gprscdr_SGSNMTLCSRecord = -1;
+static gint ett_gprscdr_SGSNMOLCSRecord = -1;
+static gint ett_gprscdr_SGSNNILCSRecord = -1;
+static gint ett_gprscdr_SGSNMBMSRecord = -1;
+static gint ett_gprscdr_SEQUENCE_OF_RAIdentity = -1;
+static gint ett_gprscdr_SEQUENCE_OF_ChangeOfMBMSCondition = -1;
+static gint ett_gprscdr_GGSNMBMSRecord = -1;
+static gint ett_gprscdr_GWMBMSRecord = -1;
static gint ett_gprscdr_AccessLineIdentifier = -1;
static gint ett_gprscdr_AFRecordInformation = -1;
+static gint ett_gprscdr_APNRateControl = -1;
+static gint ett_gprscdr_APNRateControlParameters = -1;
static gint ett_gprscdr_CAMELInformationMM = -1;
static gint ett_gprscdr_CAMELInformationPDP = -1;
static gint ett_gprscdr_CAMELInformationSMS = -1;
static gint ett_gprscdr_ChangeOfCharCondition = -1;
+static gint ett_gprscdr_ChangeOfMBMSCondition = -1;
static gint ett_gprscdr_ChangeOfServiceCondition = -1;
static gint ett_gprscdr_SEQUENCE_OF_ServiceSpecificInfo = -1;
static gint ett_gprscdr_ChangeLocation = -1;
@@ -465,13 +555,18 @@ static gint ett_gprscdr_SEQUENCE_OF_TimeStamp = -1;
static gint ett_gprscdr_FixedUserLocationInformation = -1;
static gint ett_gprscdr_Flows = -1;
static gint ett_gprscdr_T_flowNumber = -1;
+static gint ett_gprscdr_MOExceptionDataCounter = -1;
static gint ett_gprscdr_PDPAddress = -1;
static gint ett_gprscdr_PresenceReportingAreaInfo = -1;
static gint ett_gprscdr_PSFurnishChargingInformation = -1;
+static gint ett_gprscdr_RelatedChangeOfCharCondition = -1;
+static gint ett_gprscdr_RelatedChangeOfServiceCondition = -1;
static gint ett_gprscdr_ServiceConditionChange = -1;
+static gint ett_gprscdr_ServingPLMNRateControl = -1;
static gint ett_gprscdr_TimeQuotaMechanism = -1;
static gint ett_gprscdr_TWANUserLocationInfo = -1;
static gint ett_gprscdr_UserCSGInformation = -1;
+static gint ett_gprscdr_UWANUserLocationInfo = -1;
/*--- End of included file: packet-gprscdr-ett.c ---*/
#line 51 "./asn1/gprscdr/packet-gprscdr-template.c"
@@ -493,6 +588,12 @@ static const value_string gprscdr_daylight_saving_time_vals[] = {
/*--- Included file: packet-gprscdr-fn.c ---*/
#line 1 "./asn1/gprscdr/packet-gprscdr-fn.c"
+/*--- Cyclic dependencies ---*/
+
+/* RelatedChangeOfServiceCondition -> RelatedChangeOfServiceCondition */
+static int dissect_gprscdr_RelatedChangeOfServiceCondition(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+
+
static int
@@ -628,6 +729,22 @@ dissect_gprscdr_CellId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset
}
+static const value_string gprscdr_CNIPMulticastDistribution_vals[] = {
+ { 0, "nO-IP-MULTICAST" },
+ { 1, "iP-MULTICAST" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_gprscdr_CNIPMulticastDistribution(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
static int
dissect_gprscdr_INTEGER(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@@ -659,7 +776,7 @@ dissect_gprscdr_BOOLEAN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset
static int
dissect_gprscdr_T_information(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 69 "./asn1/gprscdr/gprscdr.cnf"
+#line 44 "./asn1/gprscdr/gprscdr.cnf"
proto_tree *ext_tree;
ext_tree = proto_tree_add_subtree(tree, tvb, offset, -1, ett_gprscdr_managementextension_information, NULL, "Information");
@@ -737,6 +854,30 @@ dissect_gprscdr_DiameterIdentity(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, i
static int
+dissect_gprscdr_OCTET_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t EnhancedDiagnostics_sequence[] = {
+ { &hf_gprscdr_rANNASCause , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_gprscdr_EnhancedDiagnostics(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ EnhancedDiagnostics_sequence, hf_index, ett_gprscdr_EnhancedDiagnostics);
+
+ return offset;
+}
+
+
+
+static int
dissect_gprscdr_IPBinV4Address(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
NULL);
@@ -899,6 +1040,42 @@ dissect_gprscdr_GSNAddress(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int off
}
+
+static int
+dissect_gprscdr_LCSCause(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t LCSClientIdentity_sequence[] = {
+ { &hf_gprscdr_lcsClientExternalID, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_LCSClientExternalID },
+ { &hf_gprscdr_lcsClientDialedByMS, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AddressString },
+ { &hf_gprscdr_lcsClientInternalID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_LCSClientInternalID },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_gprscdr_LCSClientIdentity(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ LCSClientIdentity_sequence, hf_index, ett_gprscdr_LCSClientIdentity);
+
+ return offset;
+}
+
+
+
+static int
+dissect_gprscdr_LCSQoSInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
static const asn_namedbit LevelOfCAMELService_bits[] = {
{ 0, &hf_gprscdr_LevelOfCAMELService_basic, -1, -1, "basic", NULL },
{ 1, &hf_gprscdr_LevelOfCAMELService_callDurationSupervision, -1, -1, "callDurationSupervision", NULL },
@@ -936,6 +1113,32 @@ dissect_gprscdr_LocationAreaCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, i
}
+
+static int
+dissect_gprscdr_MCC_MNC(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t LocationAreaAndCell_sequence[] = {
+ { &hf_gprscdr_locationAreaCode, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gprscdr_LocationAreaCode },
+ { &hf_gprscdr_cellId , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gprscdr_CellId },
+ { &hf_gprscdr_mCC_MNC , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_MCC_MNC },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_gprscdr_LocationAreaAndCell(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ LocationAreaAndCell_sequence, hf_index, ett_gprscdr_LocationAreaAndCell);
+
+ return offset;
+}
+
+
static const ber_sequence_t ManagementExtensions_set_of[1] = {
{ &hf_gprscdr_ManagementExtensions_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gprscdr_ManagementExtension },
};
@@ -949,6 +1152,75 @@ dissect_gprscdr_ManagementExtensions(gboolean implicit_tag _U_, tvbuff_t *tvb _U
}
+static const value_string gprscdr_MBMS2G3GIndicator_vals[] = {
+ { 0, "twoG" },
+ { 1, "threeG" },
+ { 2, "twoG-AND-threeG" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_gprscdr_MBMS2G3GIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_gprscdr_TMGI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_gprscdr_MBMSSessionIdentity(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string gprscdr_MBMSServiceType_vals[] = {
+ { 0, "mULTICAST" },
+ { 1, "bROADCAST" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_gprscdr_MBMSServiceType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string gprscdr_MBMSUserServiceType_vals[] = {
+ { 0, "dOWNLOAD" },
+ { 1, "sTREAMING" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_gprscdr_MBMSUserServiceType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
static int
dissect_gprscdr_RoutingAreaCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@@ -960,6 +1232,61 @@ dissect_gprscdr_RoutingAreaCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, in
+static int
+dissect_gprscdr_MBMSServiceArea(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_gprscdr_RequiredMBMSBearerCapabilities(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_gprscdr_MBMSTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t MBMSInformation_set[] = {
+ { &hf_gprscdr_tMGI , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_TMGI },
+ { &hf_gprscdr_mBMSSessionIdentity, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_MBMSSessionIdentity },
+ { &hf_gprscdr_mBMSServiceType, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_MBMSServiceType },
+ { &hf_gprscdr_mBMSUserServiceType, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_MBMSUserServiceType },
+ { &hf_gprscdr_mBMS2G3GIndicator, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_MBMS2G3GIndicator },
+ { &hf_gprscdr_fileRepairSupported, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_BOOLEAN },
+ { &hf_gprscdr_rAI , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_RoutingAreaCode },
+ { &hf_gprscdr_mBMSServiceArea, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_MBMSServiceArea },
+ { &hf_gprscdr_requiredMBMSBearerCaps, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_RequiredMBMSBearerCapabilities },
+ { &hf_gprscdr_mBMSGWAddress, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_GSNAddress },
+ { &hf_gprscdr_cNIPMulticastDistribution, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_CNIPMulticastDistribution },
+ { &hf_gprscdr_mBMSDataTransferStart, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_MBMSTime },
+ { &hf_gprscdr_mBMSDataTransferStop, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_MBMSTime },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_gprscdr_MBMSInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
+ MBMSInformation_set, hf_index, ett_gprscdr_MBMSInformation);
+
+ return offset;
+}
+
+
static int
dissect_gprscdr_MessageReference(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@@ -982,7 +1309,7 @@ dissect_gprscdr_MSISDN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset
static int
dissect_gprscdr_MSTimeZone(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 118 "./asn1/gprscdr/gprscdr.cnf"
+#line 93 "./asn1/gprscdr/gprscdr.cnf"
/*
*
* 1.Octet: Time Zone and 2. Octet: Daylight saving time, see TS 29.060 [75]
@@ -1019,6 +1346,16 @@ dissect_gprscdr_MSTimeZone(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int off
static int
+dissect_gprscdr_PositioningData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
dissect_gprscdr_RecordingEntity(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_gsm_map_AddressString(implicit_tag, tvb, offset, actx, tree, hf_index);
@@ -1117,12 +1454,20 @@ static const value_string gprscdr_RecordType_vals[] = {
{ 92, "tDFRecord" },
{ 95, "iPERecord" },
{ 96, "ePDGRecord" },
+ { 97, "tWAGRecord" },
{ 83, "mMTelRecord" },
{ 87, "mSCsRVCCRecord" },
{ 88, "mMTRFRecord" },
{ 99, "iCSRegisterRecord" },
{ 93, "sCSMORecord" },
{ 94, "sCSMTRecord" },
+ { 100, "pFDDRecord" },
+ { 101, "pFEDRecord" },
+ { 102, "pFDCRecord" },
+ { 103, "mECORecord" },
+ { 104, "mERERecord" },
+ { 105, "cPDTSCERecord" },
+ { 106, "cPDTSNNRecord" },
{ 0, NULL }
};
@@ -1229,7 +1574,7 @@ dissect_gprscdr_SubscriptionID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
static int
dissect_gprscdr_TimeStamp(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 79 "./asn1/gprscdr/gprscdr.cnf"
+#line 54 "./asn1/gprscdr/gprscdr.cnf"
/*
*
* The contents of this field are a compact form of the UTCTime format
@@ -1399,16 +1744,6 @@ dissect_gprscdr_FailureHandlingContinue(gboolean implicit_tag _U_, tvbuff_t *tvb
}
-
-static int
-dissect_gprscdr_OCTET_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
- NULL);
-
- return offset;
-}
-
-
static const ber_sequence_t ChangeOfCharConditionV651_sequence[] = {
{ &hf_gprscdr_qosRequested, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_QoSInformation },
{ &hf_gprscdr_qosNegotiated, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_QoSInformation },
@@ -1721,7 +2056,7 @@ dissect_gprscdr_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U
static int
dissect_gprscdr_PLMN_Id(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 145 "./asn1/gprscdr/gprscdr.cnf"
+#line 120 "./asn1/gprscdr/gprscdr.cnf"
tvbuff_t *parameter_tvb;
proto_tree *subtree;
@@ -1790,7 +2125,7 @@ static const ber_sequence_t ChangeLocation_sequence[] = {
{ &hf_gprscdr_routingAreaCode, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gprscdr_RoutingAreaCode },
{ &hf_gprscdr_cellId , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_CellId },
{ &hf_gprscdr_changeTime , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gprscdr_TimeStamp },
- { &hf_gprscdr_mCC_MNC , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PLMN_Id },
+ { &hf_gprscdr_mCC_MNC_01 , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PLMN_Id },
{ NULL, 0, 0, 0, NULL }
};
@@ -1831,6 +2166,7 @@ static const value_string gprscdr_CauseForRecClosing_vals[] = {
{ 24, "sGSNPLMNIDChange" },
{ 25, "sGWChange" },
{ 26, "aPNAMBRChange" },
+ { 27, "mOExceptionDataCounterReceipt" },
{ 52, "unauthorizedRequestingNetwork" },
{ 53, "unauthorizedLCSClient" },
{ 54, "positionMethodFailure" },
@@ -2539,6 +2875,12 @@ static const value_string gprscdr_ChangeCondition_vals[] = {
{ 11, "tAIChange" },
{ 12, "userLocationChange" },
{ 13, "userCSGInformationChange" },
+ { 14, "presenceInPRAChange" },
+ { 15, "removalOfAccess" },
+ { 16, "unusabilityOfAccess" },
+ { 17, "indirectChangeCondition" },
+ { 18, "userPlaneToUEChange" },
+ { 19, "servingPLMNRateControlChange" },
{ 0, NULL }
};
@@ -2631,6 +2973,87 @@ dissect_gprscdr_UserCSGInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_,
}
+
+static int
+dissect_gprscdr_AccessAvailabilityChangeReason(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_gprscdr_OCTET_STRING_SIZE_2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t UWANUserLocationInfo_sequence[] = {
+ { &hf_gprscdr_uELocalIPAddress, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_IPAddress },
+ { &hf_gprscdr_uDPSourcePort, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING_SIZE_2 },
+ { &hf_gprscdr_sSID , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING },
+ { &hf_gprscdr_bSSID , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_gprscdr_UWANUserLocationInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ UWANUserLocationInfo_sequence, hf_index, ett_gprscdr_UWANUserLocationInfo);
+
+ return offset;
+}
+
+
+static const ber_sequence_t RelatedChangeOfCharCondition_sequence[] = {
+ { &hf_gprscdr_changeCondition_01, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_gprscdr_ChangeCondition },
+ { &hf_gprscdr_changeTime , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_gprscdr_TimeStamp },
+ { &hf_gprscdr_userLocationInformation, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING },
+ { &hf_gprscdr_presenceReportingAreaStatus, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PresenceReportingAreaStatus },
+ { &hf_gprscdr_userCSGInformation, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_UserCSGInformation },
+ { &hf_gprscdr_rATType , BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_RATType },
+ { &hf_gprscdr_uWANUserLocationInformation, BER_CLASS_CON, 17, BER_FLAGS_IMPLTAG, dissect_gprscdr_UWANUserLocationInfo },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_gprscdr_RelatedChangeOfCharCondition(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ RelatedChangeOfCharCondition_sequence, hf_index, ett_gprscdr_RelatedChangeOfCharCondition);
+
+ return offset;
+}
+
+
+
+static int
+dissect_gprscdr_CPCIoTEPSOptimisationIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t ServingPLMNRateControl_sequence[] = {
+ { &hf_gprscdr_sPLMNDLRateControlValue, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gprscdr_INTEGER },
+ { &hf_gprscdr_sPLMNULRateControlValue, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gprscdr_INTEGER },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_gprscdr_ServingPLMNRateControl(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ ServingPLMNRateControl_sequence, hf_index, ett_gprscdr_ServingPLMNRateControl);
+
+ return offset;
+}
+
+
static const ber_sequence_t ChangeOfCharCondition_sequence[] = {
{ &hf_gprscdr_qosRequested, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_QoSInformation },
{ &hf_gprscdr_qosNegotiated, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_QoSInformation },
@@ -2643,6 +3066,14 @@ static const ber_sequence_t ChangeOfCharCondition_sequence[] = {
{ &hf_gprscdr_chargingID , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ChargingID },
{ &hf_gprscdr_presenceReportingAreaStatus, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PresenceReportingAreaStatus },
{ &hf_gprscdr_userCSGInformation, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_UserCSGInformation },
+ { &hf_gprscdr_diagnostics , BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_Diagnostics },
+ { &hf_gprscdr_enhancedDiagnostics, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_EnhancedDiagnostics },
+ { &hf_gprscdr_rATType , BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_RATType },
+ { &hf_gprscdr_accessAvailabilityChangeReason, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_AccessAvailabilityChangeReason },
+ { &hf_gprscdr_uWANUserLocationInformation, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_UWANUserLocationInfo },
+ { &hf_gprscdr_relatedChangeOfCharCondition, BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_RelatedChangeOfCharCondition },
+ { &hf_gprscdr_cPCIoTEPSOptimisationIndicator, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_CPCIoTEPSOptimisationIndicator },
+ { &hf_gprscdr_servingPLMNRateControl, BER_CLASS_CON, 20, BER_FLAGS_IMPLTAG, dissect_gprscdr_ServingPLMNRateControl },
{ NULL, 0, 0, 0, NULL }
};
@@ -2828,6 +3259,247 @@ dissect_gprscdr_SGSNSMTRecord(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
}
+static const ber_sequence_t SGSNMTLCSRecord_set[] = {
+ { &hf_gprscdr_recordType_01, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gprscdr_RecordType },
+ { &hf_gprscdr_recordingEntity, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gprscdr_RecordingEntity },
+ { &hf_gprscdr_lcsClientType, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCSClientType },
+ { &hf_gprscdr_lcsClientIdentity, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gprscdr_LCSClientIdentity },
+ { &hf_gprscdr_servedIMSI , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
+ { &hf_gprscdr_servedMSISDN, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_MSISDN },
+ { &hf_gprscdr_sgsnAddress_01, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_GSNAddress },
+ { &hf_gprscdr_locationType, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LocationType },
+ { &hf_gprscdr_lcsQos , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_LCSQoSInfo },
+ { &hf_gprscdr_lcsPriority , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_Priority },
+ { &hf_gprscdr_mlcNumber , BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
+ { &hf_gprscdr_eventTimeStamp, BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_gprscdr_TimeStamp },
+ { &hf_gprscdr_measurementDuration, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_CallDuration },
+ { &hf_gprscdr_notificationToMSUser, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NotificationToMSUser },
+ { &hf_gprscdr_privacyOverride, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NULL },
+ { &hf_gprscdr_location , BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_LocationAreaAndCell },
+ { &hf_gprscdr_routingArea , BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_RoutingAreaCode },
+ { &hf_gprscdr_locationEstimate, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_Ext_GeographicalInformation },
+ { &hf_gprscdr_positioningData, BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PositioningData },
+ { &hf_gprscdr_lcsCause , BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_LCSCause },
+ { &hf_gprscdr_diagnostics , BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_Diagnostics },
+ { &hf_gprscdr_nodeID , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NodeID },
+ { &hf_gprscdr_localSequenceNumber, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_LocalSequenceNumber },
+ { &hf_gprscdr_chargingCharacteristics, BER_CLASS_CON, 23, BER_FLAGS_IMPLTAG, dissect_gprscdr_ChargingCharacteristics },
+ { &hf_gprscdr_chChSelectionMode, BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ChChSelectionMode },
+ { &hf_gprscdr_rATType , BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_RATType },
+ { &hf_gprscdr_recordExtensions, BER_CLASS_CON, 26, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ManagementExtensions },
+ { &hf_gprscdr_causeForRecClosing_01, BER_CLASS_CON, 27, BER_FLAGS_IMPLTAG, dissect_gprscdr_CauseForRecClosing },
+ { &hf_gprscdr_servingNodePLMNIdentifier, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PLMN_Id },
+ { &hf_gprscdr_cNOperatorSelectionEnt, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_CNOperatorSelectionEntity },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_gprscdr_SGSNMTLCSRecord(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
+ SGSNMTLCSRecord_set, hf_index, ett_gprscdr_SGSNMTLCSRecord);
+
+ return offset;
+}
+
+
+static const ber_sequence_t SGSNMOLCSRecord_set[] = {
+ { &hf_gprscdr_recordType_01, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gprscdr_RecordType },
+ { &hf_gprscdr_recordingEntity, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gprscdr_RecordingEntity },
+ { &hf_gprscdr_lcsClientType, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCSClientType },
+ { &hf_gprscdr_lcsClientIdentity, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_LCSClientIdentity },
+ { &hf_gprscdr_servedIMSI , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
+ { &hf_gprscdr_servedMSISDN, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_MSISDN },
+ { &hf_gprscdr_sgsnAddress_01, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_GSNAddress },
+ { &hf_gprscdr_locationMethod, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_gsm_ss_LocationMethod },
+ { &hf_gprscdr_lcsQos , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_LCSQoSInfo },
+ { &hf_gprscdr_lcsPriority , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_Priority },
+ { &hf_gprscdr_mlcNumber , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
+ { &hf_gprscdr_eventTimeStamp, BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_gprscdr_TimeStamp },
+ { &hf_gprscdr_measurementDuration, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_CallDuration },
+ { &hf_gprscdr_location , BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_LocationAreaAndCell },
+ { &hf_gprscdr_routingArea , BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_RoutingAreaCode },
+ { &hf_gprscdr_locationEstimate, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_Ext_GeographicalInformation },
+ { &hf_gprscdr_positioningData, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PositioningData },
+ { &hf_gprscdr_lcsCause , BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_LCSCause },
+ { &hf_gprscdr_diagnostics , BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_Diagnostics },
+ { &hf_gprscdr_nodeID , BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NodeID },
+ { &hf_gprscdr_localSequenceNumber, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_LocalSequenceNumber },
+ { &hf_gprscdr_chargingCharacteristics, BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_gprscdr_ChargingCharacteristics },
+ { &hf_gprscdr_chChSelectionMode, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ChChSelectionMode },
+ { &hf_gprscdr_rATType , BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_RATType },
+ { &hf_gprscdr_recordExtensions, BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ManagementExtensions },
+ { &hf_gprscdr_causeForRecClosing_01, BER_CLASS_CON, 25, BER_FLAGS_IMPLTAG, dissect_gprscdr_CauseForRecClosing },
+ { &hf_gprscdr_servingNodePLMNIdentifier, BER_CLASS_CON, 26, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PLMN_Id },
+ { &hf_gprscdr_cNOperatorSelectionEnt, BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_CNOperatorSelectionEntity },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_gprscdr_SGSNMOLCSRecord(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
+ SGSNMOLCSRecord_set, hf_index, ett_gprscdr_SGSNMOLCSRecord);
+
+ return offset;
+}
+
+
+static const ber_sequence_t SGSNNILCSRecord_set[] = {
+ { &hf_gprscdr_recordType_01, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gprscdr_RecordType },
+ { &hf_gprscdr_recordingEntity, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gprscdr_RecordingEntity },
+ { &hf_gprscdr_lcsClientType, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCSClientType },
+ { &hf_gprscdr_lcsClientIdentity, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_LCSClientIdentity },
+ { &hf_gprscdr_servedIMSI , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
+ { &hf_gprscdr_servedMSISDN, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_MSISDN },
+ { &hf_gprscdr_sgsnAddress_01, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_GSNAddress },
+ { &hf_gprscdr_servedIMEI , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMEI },
+ { &hf_gprscdr_lcsQos , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_LCSQoSInfo },
+ { &hf_gprscdr_lcsPriority , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_Priority },
+ { &hf_gprscdr_mlcNumber , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
+ { &hf_gprscdr_eventTimeStamp, BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_gprscdr_TimeStamp },
+ { &hf_gprscdr_measurementDuration, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_CallDuration },
+ { &hf_gprscdr_location , BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_LocationAreaAndCell },
+ { &hf_gprscdr_routingArea , BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_RoutingAreaCode },
+ { &hf_gprscdr_locationEstimate, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_Ext_GeographicalInformation },
+ { &hf_gprscdr_positioningData, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PositioningData },
+ { &hf_gprscdr_lcsCause , BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_LCSCause },
+ { &hf_gprscdr_diagnostics , BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_Diagnostics },
+ { &hf_gprscdr_nodeID , BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NodeID },
+ { &hf_gprscdr_localSequenceNumber, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_LocalSequenceNumber },
+ { &hf_gprscdr_chargingCharacteristics, BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_gprscdr_ChargingCharacteristics },
+ { &hf_gprscdr_chChSelectionMode, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ChChSelectionMode },
+ { &hf_gprscdr_rATType , BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_RATType },
+ { &hf_gprscdr_recordExtensions, BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ManagementExtensions },
+ { &hf_gprscdr_causeForRecClosing_01, BER_CLASS_CON, 25, BER_FLAGS_IMPLTAG, dissect_gprscdr_CauseForRecClosing },
+ { &hf_gprscdr_servingNodePLMNIdentifier, BER_CLASS_CON, 26, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PLMN_Id },
+ { &hf_gprscdr_cNOperatorSelectionEnt, BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_CNOperatorSelectionEntity },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_gprscdr_SGSNNILCSRecord(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
+ SGSNNILCSRecord_set, hf_index, ett_gprscdr_SGSNNILCSRecord);
+
+ return offset;
+}
+
+
+static const ber_sequence_t SEQUENCE_OF_RAIdentity_sequence_of[1] = {
+ { &hf_gprscdr_listofRAs_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_RAIdentity },
+};
+
+static int
+dissect_gprscdr_SEQUENCE_OF_RAIdentity(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
+ SEQUENCE_OF_RAIdentity_sequence_of, hf_index, ett_gprscdr_SEQUENCE_OF_RAIdentity);
+
+ return offset;
+}
+
+
+
+static int
+dissect_gprscdr_DataVolumeMBMS(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t ChangeOfMBMSCondition_sequence[] = {
+ { &hf_gprscdr_qosRequested, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_QoSInformation },
+ { &hf_gprscdr_qosNegotiated, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_QoSInformation },
+ { &hf_gprscdr_dataVolumeMBMSUplink, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_DataVolumeMBMS },
+ { &hf_gprscdr_dataVolumeMBMSDownlink, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_gprscdr_DataVolumeMBMS },
+ { &hf_gprscdr_changeCondition_01, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_gprscdr_ChangeCondition },
+ { &hf_gprscdr_changeTime , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_gprscdr_TimeStamp },
+ { &hf_gprscdr_failureHandlingContinue, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_FailureHandlingContinue },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_gprscdr_ChangeOfMBMSCondition(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ ChangeOfMBMSCondition_sequence, hf_index, ett_gprscdr_ChangeOfMBMSCondition);
+
+ return offset;
+}
+
+
+static const ber_sequence_t SEQUENCE_OF_ChangeOfMBMSCondition_sequence_of[1] = {
+ { &hf_gprscdr_listOfTrafficVolumes_item_02, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gprscdr_ChangeOfMBMSCondition },
+};
+
+static int
+dissect_gprscdr_SEQUENCE_OF_ChangeOfMBMSCondition(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
+ SEQUENCE_OF_ChangeOfMBMSCondition_sequence_of, hf_index, ett_gprscdr_SEQUENCE_OF_ChangeOfMBMSCondition);
+
+ return offset;
+}
+
+
+static const ber_sequence_t SGSNMBMSRecord_set[] = {
+ { &hf_gprscdr_recordType_01, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gprscdr_RecordType },
+ { &hf_gprscdr_ggsnAddress , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_GSNAddress },
+ { &hf_gprscdr_chargingID , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gprscdr_ChargingID },
+ { &hf_gprscdr_listofRAs , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_SEQUENCE_OF_RAIdentity },
+ { &hf_gprscdr_accessPointNameNI, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_AccessPointNameNI },
+ { &hf_gprscdr_servedPDPAddress, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_PDPAddress },
+ { &hf_gprscdr_listOfTrafficVolumes_02, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_SEQUENCE_OF_ChangeOfMBMSCondition },
+ { &hf_gprscdr_recordOpeningTime, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_gprscdr_TimeStamp },
+ { &hf_gprscdr_duration , BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_gprscdr_CallDuration },
+ { &hf_gprscdr_causeForRecClosing_01, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_gprscdr_CauseForRecClosing },
+ { &hf_gprscdr_diagnostics , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_Diagnostics },
+ { &hf_gprscdr_recordSequenceNumber, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_INTEGER },
+ { &hf_gprscdr_nodeID , BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NodeID },
+ { &hf_gprscdr_recordExtensions, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ManagementExtensions },
+ { &hf_gprscdr_localSequenceNumber, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_LocalSequenceNumber },
+ { &hf_gprscdr_sgsnPLMNIdentifier, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PLMN_Id },
+ { &hf_gprscdr_numberofReceivingUE, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_INTEGER },
+ { &hf_gprscdr_mbmsInformation, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_MBMSInformation },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_gprscdr_SGSNMBMSRecord(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
+ SGSNMBMSRecord_set, hf_index, ett_gprscdr_SGSNMBMSRecord);
+
+ return offset;
+}
+
+
+static const ber_sequence_t GGSNMBMSRecord_set[] = {
+ { &hf_gprscdr_recordType_01, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gprscdr_RecordType },
+ { &hf_gprscdr_ggsnAddress , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_GSNAddress },
+ { &hf_gprscdr_chargingID , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gprscdr_ChargingID },
+ { &hf_gprscdr_listofDownstreamNodes, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gprscdr_SEQUENCE_OF_GSNAddress },
+ { &hf_gprscdr_accessPointNameNI, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_AccessPointNameNI },
+ { &hf_gprscdr_servedPDPAddress, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_PDPAddress },
+ { &hf_gprscdr_listOfTrafficVolumes_02, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_SEQUENCE_OF_ChangeOfMBMSCondition },
+ { &hf_gprscdr_recordOpeningTime, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_gprscdr_TimeStamp },
+ { &hf_gprscdr_duration , BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_gprscdr_CallDuration },
+ { &hf_gprscdr_causeForRecClosing_01, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_gprscdr_CauseForRecClosing },
+ { &hf_gprscdr_diagnostics , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_Diagnostics },
+ { &hf_gprscdr_recordSequenceNumber, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_INTEGER },
+ { &hf_gprscdr_nodeID , BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NodeID },
+ { &hf_gprscdr_recordExtensions, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ManagementExtensions },
+ { &hf_gprscdr_localSequenceNumber, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_LocalSequenceNumber },
+ { &hf_gprscdr_mbmsInformation, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_MBMSInformation },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_gprscdr_GGSNMBMSRecord(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
+ GGSNMBMSRecord_set, hf_index, ett_gprscdr_GGSNMBMSRecord);
+
+ return offset;
+}
+
+
static int
dissect_gprscdr_SGWChange(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@@ -2865,6 +3537,40 @@ dissect_gprscdr_PresenceReportingAreaInfo(gboolean implicit_tag _U_, tvbuff_t *t
}
+
+static int
+dissect_gprscdr_UNIPDUCPOnlyFlag(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_gprscdr_PDPPDNTypeExtension(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t MOExceptionDataCounter_sequence[] = {
+ { &hf_gprscdr_counterValue, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gprscdr_INTEGER },
+ { &hf_gprscdr_counterTimestamp, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gprscdr_TimeStamp },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_gprscdr_MOExceptionDataCounter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ MOExceptionDataCounter_sequence, hf_index, ett_gprscdr_MOExceptionDataCounter);
+
+ return offset;
+}
+
+
static const ber_sequence_t SGWRecord_set[] = {
{ &hf_gprscdr_recordType_01, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gprscdr_RecordType },
{ &hf_gprscdr_servedIMSI , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
@@ -2915,6 +3621,12 @@ static const ber_sequence_t SGWRecord_set[] = {
{ &hf_gprscdr_presenceReportingAreaInfo, BER_CLASS_CON, 54, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PresenceReportingAreaInfo },
{ &hf_gprscdr_lastUserLocationInformation, BER_CLASS_CON, 55, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING },
{ &hf_gprscdr_lastMSTimeZone, BER_CLASS_CON, 56, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_MSTimeZone },
+ { &hf_gprscdr_enhancedDiagnostics, BER_CLASS_CON, 57, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_EnhancedDiagnostics },
+ { &hf_gprscdr_cPCIoTEPSOptimisationIndicator, BER_CLASS_CON, 59, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_CPCIoTEPSOptimisationIndicator },
+ { &hf_gprscdr_uNIPDUCPOnlyFlag, BER_CLASS_CON, 60, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_UNIPDUCPOnlyFlag },
+ { &hf_gprscdr_servingPLMNRateControl, BER_CLASS_CON, 61, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ServingPLMNRateControl },
+ { &hf_gprscdr_pDPPDNTypeExtension, BER_CLASS_CON, 62, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PDPPDNTypeExtension },
+ { &hf_gprscdr_mOExceptionDataCounter, BER_CLASS_CON, 63, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_MOExceptionDataCounter },
{ NULL, 0, 0, 0, NULL }
};
@@ -2961,6 +3673,11 @@ static const asn_namedbit ServiceConditionChange_bits[] = {
{ 30, &hf_gprscdr_ServiceConditionChange_tAIChange, -1, -1, "tAIChange", NULL },
{ 31, &hf_gprscdr_ServiceConditionChange_userLocationChange, -1, -1, "userLocationChange", NULL },
{ 32, &hf_gprscdr_ServiceConditionChange_userCSGInformationChange, -1, -1, "userCSGInformationChange", NULL },
+ { 33, &hf_gprscdr_ServiceConditionChange_presenceInPRAChange, -1, -1, "presenceInPRAChange", NULL },
+ { 34, &hf_gprscdr_ServiceConditionChange_accessChangeOfSDF, -1, -1, "accessChangeOfSDF", NULL },
+ { 35, &hf_gprscdr_ServiceConditionChange_indirectServiceConditionChange, -1, -1, "indirectServiceConditionChange", NULL },
+ { 36, &hf_gprscdr_ServiceConditionChange_servingPLMNRateControlChange, -1, -1, "servingPLMNRateControlChange", NULL },
+ { 37, &hf_gprscdr_ServiceConditionChange_aPNRateControlChange, -1, -1, "aPNRateControlChange", NULL },
{ 0, NULL, 0, 0, NULL, NULL }
};
@@ -2998,6 +3715,103 @@ dissect_gprscdr_ADCRuleBaseName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, in
}
+static const ber_sequence_t RelatedChangeOfServiceCondition_sequence[] = {
+ { &hf_gprscdr_userLocationInformation, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING },
+ { &hf_gprscdr_threeGPP2UserLocationInformation, BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING },
+ { &hf_gprscdr_presenceReportingAreaStatus, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PresenceReportingAreaStatus },
+ { &hf_gprscdr_userCSGInformation, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_UserCSGInformation },
+ { &hf_gprscdr_rATType , BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_RATType },
+ { &hf_gprscdr_uWANUserLocationInformation, BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_UWANUserLocationInfo },
+ { &hf_gprscdr_relatedChangeOfServiceCondition, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_RelatedChangeOfServiceCondition },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_gprscdr_RelatedChangeOfServiceCondition(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ RelatedChangeOfServiceCondition_sequence, hf_index, ett_gprscdr_RelatedChangeOfServiceCondition);
+
+ return offset;
+}
+
+
+static const value_string gprscdr_AdditionalExceptionReports_vals[] = {
+ { 0, "notAllowed" },
+ { 1, "allowed" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_gprscdr_AdditionalExceptionReports(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string gprscdr_RateControlTimeUnit_vals[] = {
+ { 0, "unrestricted" },
+ { 1, "minute" },
+ { 2, "hour" },
+ { 3, "day" },
+ { 4, "week" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_gprscdr_RateControlTimeUnit(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_gprscdr_DataVolume(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t APNRateControlParameters_sequence[] = {
+ { &hf_gprscdr_additionalExceptionReports, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_AdditionalExceptionReports },
+ { &hf_gprscdr_rateControlTimeUnit, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_RateControlTimeUnit },
+ { &hf_gprscdr_rateControlMaxRate, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_INTEGER },
+ { &hf_gprscdr_rateControlMaxMessageSize, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_DataVolume },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_gprscdr_APNRateControlParameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ APNRateControlParameters_sequence, hf_index, ett_gprscdr_APNRateControlParameters);
+
+ return offset;
+}
+
+
+static const ber_sequence_t APNRateControl_sequence[] = {
+ { &hf_gprscdr_aPNRateControlUplink, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_APNRateControlParameters },
+ { &hf_gprscdr_aPNRateControlDownlink, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_APNRateControlParameters },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_gprscdr_APNRateControl(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ APNRateControl_sequence, hf_index, ett_gprscdr_APNRateControl);
+
+ return offset;
+}
+
+
static const ber_sequence_t ChangeOfServiceCondition_sequence[] = {
{ &hf_gprscdr_ratingGroup , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gprscdr_RatingGroupId },
{ &hf_gprscdr_chargingRuleBaseName, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ChargingRuleBaseName },
@@ -3026,6 +3840,11 @@ static const ber_sequence_t ChangeOfServiceCondition_sequence[] = {
{ &hf_gprscdr_aDCRuleBaseName, BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ADCRuleBaseName },
{ &hf_gprscdr_presenceReportingAreaStatus, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PresenceReportingAreaStatus },
{ &hf_gprscdr_userCSGInformation, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_UserCSGInformation },
+ { &hf_gprscdr_rATType , BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_RATType },
+ { &hf_gprscdr_uWANUserLocationInformation, BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_UWANUserLocationInfo },
+ { &hf_gprscdr_relatedChangeOfServiceCondition, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_RelatedChangeOfServiceCondition },
+ { &hf_gprscdr_servingPLMNRateControl, BER_CLASS_CON, 35, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ServingPLMNRateControl },
+ { &hf_gprscdr_aPNRateControl, BER_CLASS_CON, 36, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_APNRateControl },
{ NULL, 0, 0, 0, NULL }
};
@@ -3066,6 +3885,70 @@ dissect_gprscdr_TWANUserLocationInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U
}
+static const value_string gprscdr_NBIFOMMode_vals[] = {
+ { 0, "uEINITIATED" },
+ { 1, "nETWORKINITIATED" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_gprscdr_NBIFOMMode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string gprscdr_NBIFOMSupport_vals[] = {
+ { 0, "nBIFOMNotSupported" },
+ { 1, "nBIFOMSupported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_gprscdr_NBIFOMSupport(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string gprscdr_SGiPtPTunnellingMethod_vals[] = {
+ { 0, "uDPIPbased" },
+ { 1, "others" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_gprscdr_SGiPtPTunnellingMethod(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string gprscdr_ChargingPerIPCANSessionIndicator_vals[] = {
+ { 0, "inactive" },
+ { 1, "active" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_gprscdr_ChargingPerIPCANSessionIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
static const ber_sequence_t PGWRecord_set[] = {
{ &hf_gprscdr_recordType_01, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gprscdr_RecordType },
{ &hf_gprscdr_servedIMSI , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
@@ -3121,6 +4004,17 @@ static const ber_sequence_t PGWRecord_set[] = {
{ &hf_gprscdr_presenceReportingAreaInfo, BER_CLASS_CON, 56, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PresenceReportingAreaInfo },
{ &hf_gprscdr_lastUserLocationInformation, BER_CLASS_CON, 57, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING },
{ &hf_gprscdr_lastMSTimeZone, BER_CLASS_CON, 58, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_MSTimeZone },
+ { &hf_gprscdr_enhancedDiagnostics, BER_CLASS_CON, 59, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_EnhancedDiagnostics },
+ { &hf_gprscdr_nBIFOMMode , BER_CLASS_CON, 60, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NBIFOMMode },
+ { &hf_gprscdr_nBIFOMSupport, BER_CLASS_CON, 61, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NBIFOMSupport },
+ { &hf_gprscdr_uWANUserLocationInformation, BER_CLASS_CON, 62, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_UWANUserLocationInfo },
+ { &hf_gprscdr_sGiPtPTunnellingMethod, BER_CLASS_CON, 64, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_SGiPtPTunnellingMethod },
+ { &hf_gprscdr_uNIPDUCPOnlyFlag, BER_CLASS_CON, 65, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_UNIPDUCPOnlyFlag },
+ { &hf_gprscdr_servingPLMNRateControl, BER_CLASS_CON, 66, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ServingPLMNRateControl },
+ { &hf_gprscdr_aPNRateControl, BER_CLASS_CON, 67, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_APNRateControl },
+ { &hf_gprscdr_chargingPerIPCANSessionIndicator, BER_CLASS_CON, 68, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ChargingPerIPCANSessionIndicator },
+ { &hf_gprscdr_pDPPDNTypeExtension, BER_CLASS_CON, 68, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PDPPDNTypeExtension },
+ { &hf_gprscdr_mOExceptionDataCounter, BER_CLASS_CON, 69, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_MOExceptionDataCounter },
{ NULL, 0, 0, 0, NULL }
};
@@ -3135,6 +4029,48 @@ dissect_gprscdr_PGWRecord(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offs
static int
+dissect_gprscdr_CTEID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t GWMBMSRecord_set[] = {
+ { &hf_gprscdr_recordType_01, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gprscdr_RecordType },
+ { &hf_gprscdr_mbmsGWAddress, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_GSNAddress },
+ { &hf_gprscdr_chargingID , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gprscdr_ChargingID },
+ { &hf_gprscdr_listofDownstreamNodes, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gprscdr_SEQUENCE_OF_GSNAddress },
+ { &hf_gprscdr_accessPointNameNI, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_AccessPointNameNI },
+ { &hf_gprscdr_pdpPDNType , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PDPType },
+ { &hf_gprscdr_servedPDPPDNAddress, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_PDPAddress },
+ { &hf_gprscdr_listOfTrafficVolumes_02, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_SEQUENCE_OF_ChangeOfMBMSCondition },
+ { &hf_gprscdr_recordOpeningTime, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_gprscdr_TimeStamp },
+ { &hf_gprscdr_duration , BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_gprscdr_CallDuration },
+ { &hf_gprscdr_causeForRecClosing_01, BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_gprscdr_CauseForRecClosing },
+ { &hf_gprscdr_diagnostics , BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_Diagnostics },
+ { &hf_gprscdr_recordSequenceNumber, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_INTEGER },
+ { &hf_gprscdr_nodeID , BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NodeID },
+ { &hf_gprscdr_recordExtensions, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ManagementExtensions },
+ { &hf_gprscdr_localSequenceNumber, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_LocalSequenceNumber },
+ { &hf_gprscdr_mbmsInformation, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_MBMSInformation },
+ { &hf_gprscdr_commonTeid , BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_CTEID },
+ { &hf_gprscdr_iPMulticastSourceAddress, BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_PDPAddress },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_gprscdr_GWMBMSRecord(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
+ GWMBMSRecord_set, hf_index, ett_gprscdr_GWMBMSRecord);
+
+ return offset;
+}
+
+
+
+static int
dissect_gprscdr_FixedSubsID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
NULL);
@@ -3319,6 +4255,9 @@ static const ber_sequence_t EPDGRecord_set[] = {
{ &hf_gprscdr_ePDGiPv6AddressUsed, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_GSNAddress },
{ &hf_gprscdr_p_GWiPv6AddressUsed, BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_GSNAddress },
{ &hf_gprscdr_retransmission, BER_CLASS_CON, 51, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NULL },
+ { &hf_gprscdr_enhancedDiagnostics, BER_CLASS_CON, 52, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_EnhancedDiagnostics },
+ { &hf_gprscdr_uWANUserLocationInformation, BER_CLASS_CON, 53, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_UWANUserLocationInfo },
+ { &hf_gprscdr_userLocationInfoTime, BER_CLASS_CON, 54, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_TimeStamp },
{ NULL, 0, 0, 0, NULL }
};
@@ -3331,18 +4270,74 @@ dissect_gprscdr_EPDGRecord(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int off
}
+static const ber_sequence_t TWAGRecord_set[] = {
+ { &hf_gprscdr_recordType_01, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gprscdr_RecordType },
+ { &hf_gprscdr_servedIMSI , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
+ { &hf_gprscdr_tWAGAddressUsed, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_GSNAddress },
+ { &hf_gprscdr_chargingID , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_gprscdr_ChargingID },
+ { &hf_gprscdr_accessPointNameNI, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_AccessPointNameNI },
+ { &hf_gprscdr_pdpPDNType , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PDPType },
+ { &hf_gprscdr_servedPDPPDNAddress, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_PDPAddress },
+ { &hf_gprscdr_dynamicAddressFlag, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_DynamicAddressFlag },
+ { &hf_gprscdr_listOfTrafficVolumes_01, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_SEQUENCE_OF_ChangeOfCharCondition },
+ { &hf_gprscdr_recordOpeningTime, BER_CLASS_CON, 13, BER_FLAGS_IMPLTAG, dissect_gprscdr_TimeStamp },
+ { &hf_gprscdr_duration , BER_CLASS_CON, 14, BER_FLAGS_IMPLTAG, dissect_gprscdr_CallDuration },
+ { &hf_gprscdr_causeForRecClosing_01, BER_CLASS_CON, 15, BER_FLAGS_IMPLTAG, dissect_gprscdr_CauseForRecClosing },
+ { &hf_gprscdr_diagnostics , BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_Diagnostics },
+ { &hf_gprscdr_recordSequenceNumber, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_INTEGER },
+ { &hf_gprscdr_nodeID , BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NodeID },
+ { &hf_gprscdr_recordExtensions, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ManagementExtensions },
+ { &hf_gprscdr_localSequenceNumber, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_LocalSequenceNumber },
+ { &hf_gprscdr_apnSelectionMode, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_APNSelectionMode },
+ { &hf_gprscdr_servedMSISDN, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_MSISDN },
+ { &hf_gprscdr_chargingCharacteristics, BER_CLASS_CON, 23, BER_FLAGS_IMPLTAG, dissect_gprscdr_ChargingCharacteristics },
+ { &hf_gprscdr_chChSelectionMode, BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ChChSelectionMode },
+ { &hf_gprscdr_servedIMEI , BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMEI },
+ { &hf_gprscdr_rATType , BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_RATType },
+ { &hf_gprscdr_sGWChange , BER_CLASS_CON, 34, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_SGWChange },
+ { &hf_gprscdr_p_GWAddressUsed, BER_CLASS_CON, 36, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_GSNAddress },
+ { &hf_gprscdr_p_GWPLMNIdentifier, BER_CLASS_CON, 37, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PLMN_Id },
+ { &hf_gprscdr_startTime , BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_TimeStamp },
+ { &hf_gprscdr_stopTime , BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_TimeStamp },
+ { &hf_gprscdr_pDNConnectionChargingID, BER_CLASS_CON, 40, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ChargingID },
+ { &hf_gprscdr_servedPDPPDNAddressExt, BER_CLASS_CON, 43, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_PDPAddress },
+ { &hf_gprscdr_dynamicAddressFlagExt, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_DynamicAddressFlag },
+ { &hf_gprscdr_tWAGiPv6AddressUsed, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_GSNAddress },
+ { &hf_gprscdr_p_GWiPv6AddressUsed, BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_GSNAddress },
+ { &hf_gprscdr_retransmission, BER_CLASS_CON, 51, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NULL },
+ { &hf_gprscdr_enhancedDiagnostics, BER_CLASS_CON, 52, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_EnhancedDiagnostics },
+ { &hf_gprscdr_tWANUserLocationInformation, BER_CLASS_CON, 53, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_TWANUserLocationInfo },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_gprscdr_TWAGRecord(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
+ TWAGRecord_set, hf_index, ett_gprscdr_TWAGRecord);
+
+ return offset;
+}
+
+
const value_string gprscdr_GPRSRecord_vals[] = {
{ 20, "sgsnPDPRecord" },
{ 21, "ggsnPDPRecord" },
{ 22, "sgsnMMRecord" },
{ 23, "sgsnSMORecord" },
{ 24, "sgsnSMTRecord" },
+ { 25, "sgsnMTLCSRecord" },
+ { 26, "sgsnMOLCSRecord" },
+ { 27, "sgsnNILCSRecord" },
{ 70, "egsnPDPRecord" },
+ { 76, "sgsnMBMSRecord" },
+ { 77, "ggsnMBMSRecord" },
{ 78, "sGWRecord" },
{ 79, "pGWRecord" },
+ { 86, "gwMBMSRecord" },
{ 92, "tDFRecord" },
{ 95, "iPERecord" },
{ 96, "ePDGRecord" },
+ { 97, "tWAGRecord" },
{ 0, NULL }
};
@@ -3352,18 +4347,25 @@ static const ber_choice_t GPRSRecord_choice[] = {
{ 22, &hf_gprscdr_sgsnMMRecord, BER_CLASS_CON, 22, BER_FLAGS_IMPLTAG, dissect_gprscdr_SGSNMMRecord },
{ 23, &hf_gprscdr_sgsnSMORecord_01, BER_CLASS_CON, 23, BER_FLAGS_IMPLTAG, dissect_gprscdr_SGSNSMORecord },
{ 24, &hf_gprscdr_sgsnSMTRecord_01, BER_CLASS_CON, 24, BER_FLAGS_IMPLTAG, dissect_gprscdr_SGSNSMTRecord },
+ { 25, &hf_gprscdr_sgsnMTLCSRecord, BER_CLASS_CON, 25, BER_FLAGS_IMPLTAG, dissect_gprscdr_SGSNMTLCSRecord },
+ { 26, &hf_gprscdr_sgsnMOLCSRecord, BER_CLASS_CON, 26, BER_FLAGS_IMPLTAG, dissect_gprscdr_SGSNMOLCSRecord },
+ { 27, &hf_gprscdr_sgsnNILCSRecord, BER_CLASS_CON, 27, BER_FLAGS_IMPLTAG, dissect_gprscdr_SGSNNILCSRecord },
{ 70, &hf_gprscdr_egsnPDPRecord_01, BER_CLASS_CON, 70, BER_FLAGS_IMPLTAG, dissect_gprscdr_EGSNPDPRecordV750 },
+ { 76, &hf_gprscdr_sgsnMBMSRecord, BER_CLASS_CON, 76, BER_FLAGS_IMPLTAG, dissect_gprscdr_SGSNMBMSRecord },
+ { 77, &hf_gprscdr_ggsnMBMSRecord, BER_CLASS_CON, 77, BER_FLAGS_IMPLTAG, dissect_gprscdr_GGSNMBMSRecord },
{ 78, &hf_gprscdr_sGWRecord , BER_CLASS_CON, 78, BER_FLAGS_IMPLTAG, dissect_gprscdr_SGWRecord },
{ 79, &hf_gprscdr_pGWRecord , BER_CLASS_CON, 79, BER_FLAGS_IMPLTAG, dissect_gprscdr_PGWRecord },
+ { 86, &hf_gprscdr_gwMBMSRecord, BER_CLASS_CON, 86, BER_FLAGS_IMPLTAG, dissect_gprscdr_GWMBMSRecord },
{ 92, &hf_gprscdr_tDFRecord , BER_CLASS_CON, 92, BER_FLAGS_IMPLTAG, dissect_gprscdr_TDFRecord },
{ 95, &hf_gprscdr_iPERecord , BER_CLASS_CON, 95, BER_FLAGS_IMPLTAG, dissect_gprscdr_IPERecord },
{ 96, &hf_gprscdr_ePDGRecord , BER_CLASS_CON, 96, BER_FLAGS_IMPLTAG, dissect_gprscdr_EPDGRecord },
+ { 97, &hf_gprscdr_tWAGRecord , BER_CLASS_CON, 97, BER_FLAGS_IMPLTAG, dissect_gprscdr_TWAGRecord },
{ 0, NULL, 0, 0, 0, NULL }
};
int
dissect_gprscdr_GPRSRecord(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 157 "./asn1/gprscdr/gprscdr.cnf"
+#line 132 "./asn1/gprscdr/gprscdr.cnf"
proto_item *item;
gint branch_taken, t_offset = offset;
gint32 tag;
@@ -3457,6 +4459,10 @@ proto_register_gprscdr(void)
{ "diameterResultCodeAndExperimentalResult", "gprscdr.diameterResultCodeAndExperimentalResult",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER", HFILL }},
+ { &hf_gprscdr_rANNASCause,
+ { "rANNASCause", "gprscdr.rANNASCause",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "OCTET_STRING", HFILL }},
{ &hf_gprscdr_iPBinaryAddress,
{ "iPBinaryAddress", "gprscdr.iPBinaryAddress",
FT_UINT32, BASE_DEC, VALS(gprscdr_IPBinaryAddress_vals), 0,
@@ -3493,29 +4499,53 @@ proto_register_gprscdr(void)
{ "iPTextV6Address", "gprscdr.iPTextV6Address",
FT_STRING, BASE_NONE, NULL, 0,
"IA5String_SIZE_15_45", HFILL }},
+ { &hf_gprscdr_lcsClientExternalID,
+ { "lcsClientExternalID", "gprscdr.lcsClientExternalID_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_gprscdr_lcsClientDialedByMS,
+ { "lcsClientDialedByMS", "gprscdr.lcsClientDialedByMS",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "AddressString", HFILL }},
+ { &hf_gprscdr_lcsClientInternalID,
+ { "lcsClientInternalID", "gprscdr.lcsClientInternalID",
+ FT_UINT32, BASE_DEC, VALS(gsm_map_LCSClientInternalID_vals), 0,
+ NULL, HFILL }},
+ { &hf_gprscdr_locationAreaCode,
+ { "locationAreaCode", "gprscdr.locationAreaCode",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_gprscdr_cellId,
+ { "cellId", "gprscdr.cellId",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_gprscdr_mCC_MNC,
+ { "mCC-MNC", "gprscdr.mCC_MNC",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_gprscdr_ManagementExtensions_item,
{ "ManagementExtension", "gprscdr.ManagementExtension_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_gprscdr_tMGI,
- { "tMGI", "gprscdr.tMGI_element",
- FT_NONE, BASE_NONE, NULL, 0,
+ { "tMGI", "gprscdr.tMGI",
+ FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_gprscdr_mBMSSessionIdentity,
- { "mBMSSessionIdentity", "gprscdr.mBMSSessionIdentity_element",
- FT_NONE, BASE_NONE, NULL, 0,
+ { "mBMSSessionIdentity", "gprscdr.mBMSSessionIdentity",
+ FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_gprscdr_mBMSServiceType,
- { "mBMSServiceType", "gprscdr.mBMSServiceType_element",
- FT_NONE, BASE_NONE, NULL, 0,
+ { "mBMSServiceType", "gprscdr.mBMSServiceType",
+ FT_UINT32, BASE_DEC, VALS(gprscdr_MBMSServiceType_vals), 0,
NULL, HFILL }},
{ &hf_gprscdr_mBMSUserServiceType,
- { "mBMSUserServiceType", "gprscdr.mBMSUserServiceType_element",
- FT_NONE, BASE_NONE, NULL, 0,
+ { "mBMSUserServiceType", "gprscdr.mBMSUserServiceType",
+ FT_UINT32, BASE_DEC, VALS(gprscdr_MBMSUserServiceType_vals), 0,
NULL, HFILL }},
{ &hf_gprscdr_mBMS2G3GIndicator,
- { "mBMS2G3GIndicator", "gprscdr.mBMS2G3GIndicator_element",
- FT_NONE, BASE_NONE, NULL, 0,
+ { "mBMS2G3GIndicator", "gprscdr.mBMS2G3GIndicator",
+ FT_UINT32, BASE_DEC, VALS(gprscdr_MBMS2G3GIndicator_vals), 0,
NULL, HFILL }},
{ &hf_gprscdr_fileRepairSupported,
{ "fileRepairSupported", "gprscdr.fileRepairSupported",
@@ -3526,21 +4556,29 @@ proto_register_gprscdr(void)
FT_BYTES, BASE_NONE, NULL, 0,
"RoutingAreaCode", HFILL }},
{ &hf_gprscdr_mBMSServiceArea,
- { "mBMSServiceArea", "gprscdr.mBMSServiceArea_element",
- FT_NONE, BASE_NONE, NULL, 0,
+ { "mBMSServiceArea", "gprscdr.mBMSServiceArea",
+ FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_gprscdr_requiredMBMSBearerCaps,
- { "requiredMBMSBearerCaps", "gprscdr.requiredMBMSBearerCaps_element",
- FT_NONE, BASE_NONE, NULL, 0,
+ { "requiredMBMSBearerCaps", "gprscdr.requiredMBMSBearerCaps",
+ FT_BYTES, BASE_NONE, NULL, 0,
"RequiredMBMSBearerCapabilities", HFILL }},
{ &hf_gprscdr_mBMSGWAddress,
{ "mBMSGWAddress", "gprscdr.mBMSGWAddress",
FT_UINT32, BASE_DEC, VALS(gprscdr_IPAddress_vals), 0,
"GSNAddress", HFILL }},
{ &hf_gprscdr_cNIPMulticastDistribution,
- { "cNIPMulticastDistribution", "gprscdr.cNIPMulticastDistribution_element",
- FT_NONE, BASE_NONE, NULL, 0,
+ { "cNIPMulticastDistribution", "gprscdr.cNIPMulticastDistribution",
+ FT_UINT32, BASE_DEC, VALS(gprscdr_CNIPMulticastDistribution_vals), 0,
NULL, HFILL }},
+ { &hf_gprscdr_mBMSDataTransferStart,
+ { "mBMSDataTransferStart", "gprscdr.mBMSDataTransferStart",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "MBMSTime", HFILL }},
+ { &hf_gprscdr_mBMSDataTransferStop,
+ { "mBMSDataTransferStop", "gprscdr.mBMSDataTransferStop",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "MBMSTime", HFILL }},
{ &hf_gprscdr_serviceSpecificData,
{ "serviceSpecificData", "gprscdr.serviceSpecificData",
FT_STRING, BASE_NONE, NULL, 0,
@@ -3769,10 +4807,6 @@ proto_register_gprscdr(void)
{ "routingArea", "gprscdr.routingArea",
FT_BYTES, BASE_NONE, NULL, 0,
"RoutingAreaCode", HFILL }},
- { &hf_gprscdr_locationAreaCode,
- { "locationAreaCode", "gprscdr.locationAreaCode",
- FT_BYTES, BASE_NONE, NULL, 0,
- NULL, HFILL }},
{ &hf_gprscdr_cellIdentifier,
{ "cellIdentifier", "gprscdr.cellIdentifier",
FT_BYTES, BASE_NONE, NULL, 0,
@@ -3949,10 +4983,30 @@ proto_register_gprscdr(void)
{ "sgsnSMTRecord", "gprscdr.sgsnSMTRecord_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_gprscdr_sgsnMTLCSRecord,
+ { "sgsnMTLCSRecord", "gprscdr.sgsnMTLCSRecord_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_gprscdr_sgsnMOLCSRecord,
+ { "sgsnMOLCSRecord", "gprscdr.sgsnMOLCSRecord_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_gprscdr_sgsnNILCSRecord,
+ { "sgsnNILCSRecord", "gprscdr.sgsnNILCSRecord_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_gprscdr_egsnPDPRecord_01,
{ "egsnPDPRecord", "gprscdr.egsnPDPRecord_element",
FT_NONE, BASE_NONE, NULL, 0,
"EGSNPDPRecordV750", HFILL }},
+ { &hf_gprscdr_sgsnMBMSRecord,
+ { "sgsnMBMSRecord", "gprscdr.sgsnMBMSRecord_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_gprscdr_ggsnMBMSRecord,
+ { "ggsnMBMSRecord", "gprscdr.ggsnMBMSRecord_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_gprscdr_sGWRecord,
{ "sGWRecord", "gprscdr.sGWRecord_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -3961,6 +5015,10 @@ proto_register_gprscdr(void)
{ "pGWRecord", "gprscdr.pGWRecord_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_gprscdr_gwMBMSRecord,
+ { "gwMBMSRecord", "gprscdr.gwMBMSRecord_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_gprscdr_tDFRecord,
{ "tDFRecord", "gprscdr.tDFRecord_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -3973,6 +5031,10 @@ proto_register_gprscdr(void)
{ "ePDGRecord", "gprscdr.ePDGRecord_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_gprscdr_tWAGRecord,
+ { "tWAGRecord", "gprscdr.tWAGRecord_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_gprscdr_s_GWAddress,
{ "s-GWAddress", "gprscdr.s_GWAddress",
FT_UINT32, BASE_DEC, VALS(gprscdr_IPAddress_vals), 0,
@@ -4097,6 +5159,30 @@ proto_register_gprscdr(void)
{ "lastMSTimeZone", "gprscdr.lastMSTimeZone",
FT_BYTES, BASE_NONE, NULL, 0,
"MSTimeZone", HFILL }},
+ { &hf_gprscdr_enhancedDiagnostics,
+ { "enhancedDiagnostics", "gprscdr.enhancedDiagnostics_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_gprscdr_cPCIoTEPSOptimisationIndicator,
+ { "cPCIoTEPSOptimisationIndicator", "gprscdr.cPCIoTEPSOptimisationIndicator",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_gprscdr_uNIPDUCPOnlyFlag,
+ { "uNIPDUCPOnlyFlag", "gprscdr.uNIPDUCPOnlyFlag",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_gprscdr_servingPLMNRateControl,
+ { "servingPLMNRateControl", "gprscdr.servingPLMNRateControl_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_gprscdr_pDPPDNTypeExtension,
+ { "pDPPDNTypeExtension", "gprscdr.pDPPDNTypeExtension",
+ FT_INT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_gprscdr_mOExceptionDataCounter,
+ { "mOExceptionDataCounter", "gprscdr.mOExceptionDataCounter_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_gprscdr_p_GWAddress,
{ "p-GWAddress", "gprscdr.p_GWAddress",
FT_UINT32, BASE_DEC, VALS(gprscdr_IPAddress_vals), 0,
@@ -4129,6 +5215,30 @@ proto_register_gprscdr(void)
{ "ePCQoSInformation", "gprscdr.ePCQoSInformation_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_gprscdr_nBIFOMMode,
+ { "nBIFOMMode", "gprscdr.nBIFOMMode",
+ FT_UINT32, BASE_DEC, VALS(gprscdr_NBIFOMMode_vals), 0,
+ NULL, HFILL }},
+ { &hf_gprscdr_nBIFOMSupport,
+ { "nBIFOMSupport", "gprscdr.nBIFOMSupport",
+ FT_UINT32, BASE_DEC, VALS(gprscdr_NBIFOMSupport_vals), 0,
+ NULL, HFILL }},
+ { &hf_gprscdr_uWANUserLocationInformation,
+ { "uWANUserLocationInformation", "gprscdr.uWANUserLocationInformation_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "UWANUserLocationInfo", HFILL }},
+ { &hf_gprscdr_sGiPtPTunnellingMethod,
+ { "sGiPtPTunnellingMethod", "gprscdr.sGiPtPTunnellingMethod",
+ FT_UINT32, BASE_DEC, VALS(gprscdr_SGiPtPTunnellingMethod_vals), 0,
+ NULL, HFILL }},
+ { &hf_gprscdr_aPNRateControl,
+ { "aPNRateControl", "gprscdr.aPNRateControl_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_gprscdr_chargingPerIPCANSessionIndicator,
+ { "chargingPerIPCANSessionIndicator", "gprscdr.chargingPerIPCANSessionIndicator",
+ FT_UINT32, BASE_DEC, VALS(gprscdr_ChargingPerIPCANSessionIndicator_vals), 0,
+ NULL, HFILL }},
{ &hf_gprscdr_tDFAddress,
{ "tDFAddress", "gprscdr.tDFAddress",
FT_UINT32, BASE_DEC, VALS(gprscdr_IPAddress_vals), 0,
@@ -4185,6 +5295,14 @@ proto_register_gprscdr(void)
{ "ePDGiPv6AddressUsed", "gprscdr.ePDGiPv6AddressUsed",
FT_UINT32, BASE_DEC, VALS(gprscdr_IPAddress_vals), 0,
"GSNAddress", HFILL }},
+ { &hf_gprscdr_tWAGAddressUsed,
+ { "tWAGAddressUsed", "gprscdr.tWAGAddressUsed",
+ FT_UINT32, BASE_DEC, VALS(gprscdr_IPAddress_vals), 0,
+ "GSNAddress", HFILL }},
+ { &hf_gprscdr_tWAGiPv6AddressUsed,
+ { "tWAGiPv6AddressUsed", "gprscdr.tWAGiPv6AddressUsed",
+ FT_UINT32, BASE_DEC, VALS(gprscdr_IPAddress_vals), 0,
+ "GSNAddress", HFILL }},
{ &hf_gprscdr_changeLocation,
{ "changeLocation", "gprscdr.changeLocation",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -4225,6 +5343,106 @@ proto_register_gprscdr(void)
{ "originatingAddress", "gprscdr.originatingAddress",
FT_BYTES, BASE_NONE, NULL, 0,
"AddressString", HFILL }},
+ { &hf_gprscdr_lcsClientType,
+ { "lcsClientType", "gprscdr.lcsClientType",
+ FT_UINT32, BASE_DEC, VALS(gsm_map_lcs_LCSClientType_vals), 0,
+ NULL, HFILL }},
+ { &hf_gprscdr_lcsClientIdentity,
+ { "lcsClientIdentity", "gprscdr.lcsClientIdentity_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_gprscdr_locationType,
+ { "locationType", "gprscdr.locationType_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_gprscdr_lcsQos,
+ { "lcsQos", "gprscdr.lcsQos",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "LCSQoSInfo", HFILL }},
+ { &hf_gprscdr_lcsPriority,
+ { "lcsPriority", "gprscdr.lcsPriority",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "LCS_Priority", HFILL }},
+ { &hf_gprscdr_mlcNumber,
+ { "mlcNumber", "gprscdr.mlcNumber",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "ISDN_AddressString", HFILL }},
+ { &hf_gprscdr_measurementDuration,
+ { "measurementDuration", "gprscdr.measurementDuration",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "CallDuration", HFILL }},
+ { &hf_gprscdr_notificationToMSUser,
+ { "notificationToMSUser", "gprscdr.notificationToMSUser",
+ FT_UINT32, BASE_DEC, VALS(gsm_map_ms_NotificationToMSUser_vals), 0,
+ NULL, HFILL }},
+ { &hf_gprscdr_privacyOverride,
+ { "privacyOverride", "gprscdr.privacyOverride_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_gprscdr_location,
+ { "location", "gprscdr.location_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "LocationAreaAndCell", HFILL }},
+ { &hf_gprscdr_locationEstimate,
+ { "locationEstimate", "gprscdr.locationEstimate",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "Ext_GeographicalInformation", HFILL }},
+ { &hf_gprscdr_positioningData,
+ { "positioningData", "gprscdr.positioningData",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_gprscdr_lcsCause,
+ { "lcsCause", "gprscdr.lcsCause",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_gprscdr_locationMethod,
+ { "locationMethod", "gprscdr.locationMethod",
+ FT_UINT32, BASE_DEC, VALS(gsm_ss_LocationMethod_vals), 0,
+ NULL, HFILL }},
+ { &hf_gprscdr_listofRAs,
+ { "listofRAs", "gprscdr.listofRAs",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_OF_RAIdentity", HFILL }},
+ { &hf_gprscdr_listofRAs_item,
+ { "RAIdentity", "gprscdr.RAIdentity",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_gprscdr_listOfTrafficVolumes_02,
+ { "listOfTrafficVolumes", "gprscdr.listOfTrafficVolumes",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_OF_ChangeOfMBMSCondition", HFILL }},
+ { &hf_gprscdr_listOfTrafficVolumes_item_02,
+ { "ChangeOfMBMSCondition", "gprscdr.ChangeOfMBMSCondition_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_gprscdr_numberofReceivingUE,
+ { "numberofReceivingUE", "gprscdr.numberofReceivingUE",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "INTEGER", HFILL }},
+ { &hf_gprscdr_mbmsInformation,
+ { "mbmsInformation", "gprscdr.mbmsInformation_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_gprscdr_listofDownstreamNodes,
+ { "listofDownstreamNodes", "gprscdr.listofDownstreamNodes",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_OF_GSNAddress", HFILL }},
+ { &hf_gprscdr_listofDownstreamNodes_item,
+ { "GSNAddress", "gprscdr.GSNAddress",
+ FT_UINT32, BASE_DEC, VALS(gprscdr_IPAddress_vals), 0,
+ NULL, HFILL }},
+ { &hf_gprscdr_mbmsGWAddress,
+ { "mbmsGWAddress", "gprscdr.mbmsGWAddress",
+ FT_UINT32, BASE_DEC, VALS(gprscdr_IPAddress_vals), 0,
+ "GSNAddress", HFILL }},
+ { &hf_gprscdr_commonTeid,
+ { "commonTeid", "gprscdr.commonTeid",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "CTEID", HFILL }},
+ { &hf_gprscdr_iPMulticastSourceAddress,
+ { "iPMulticastSourceAddress", "gprscdr.iPMulticastSourceAddress",
+ FT_UINT32, BASE_DEC, VALS(gprscdr_PDPAddress_vals), 0,
+ "PDPAddress", HFILL }},
{ &hf_gprscdr_physicalAccessID,
{ "physicalAccessID", "gprscdr.physicalAccessID",
FT_STRING, BASE_NONE, NULL, 0,
@@ -4241,6 +5459,30 @@ proto_register_gprscdr(void)
{ "flows", "gprscdr.flows_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_gprscdr_aPNRateControlUplink,
+ { "aPNRateControlUplink", "gprscdr.aPNRateControlUplink_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "APNRateControlParameters", HFILL }},
+ { &hf_gprscdr_aPNRateControlDownlink,
+ { "aPNRateControlDownlink", "gprscdr.aPNRateControlDownlink_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "APNRateControlParameters", HFILL }},
+ { &hf_gprscdr_additionalExceptionReports,
+ { "additionalExceptionReports", "gprscdr.additionalExceptionReports",
+ FT_UINT32, BASE_DEC, VALS(gprscdr_AdditionalExceptionReports_vals), 0,
+ NULL, HFILL }},
+ { &hf_gprscdr_rateControlTimeUnit,
+ { "rateControlTimeUnit", "gprscdr.rateControlTimeUnit",
+ FT_INT32, BASE_DEC, VALS(gprscdr_RateControlTimeUnit_vals), 0,
+ NULL, HFILL }},
+ { &hf_gprscdr_rateControlMaxRate,
+ { "rateControlMaxRate", "gprscdr.rateControlMaxRate",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "INTEGER", HFILL }},
+ { &hf_gprscdr_rateControlMaxMessageSize,
+ { "rateControlMaxMessageSize", "gprscdr.rateControlMaxMessageSize",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "DataVolume", HFILL }},
{ &hf_gprscdr_sCFAddress,
{ "sCFAddress", "gprscdr.sCFAddress",
FT_BYTES, BASE_NONE, NULL, 0,
@@ -4305,6 +5547,22 @@ proto_register_gprscdr(void)
{ "presenceReportingAreaStatus", "gprscdr.presenceReportingAreaStatus",
FT_UINT32, BASE_DEC, VALS(gprscdr_PresenceReportingAreaStatus_vals), 0,
NULL, HFILL }},
+ { &hf_gprscdr_accessAvailabilityChangeReason,
+ { "accessAvailabilityChangeReason", "gprscdr.accessAvailabilityChangeReason",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_gprscdr_relatedChangeOfCharCondition,
+ { "relatedChangeOfCharCondition", "gprscdr.relatedChangeOfCharCondition_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_gprscdr_dataVolumeMBMSUplink,
+ { "dataVolumeMBMSUplink", "gprscdr.dataVolumeMBMSUplink",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "DataVolumeMBMS", HFILL }},
+ { &hf_gprscdr_dataVolumeMBMSDownlink,
+ { "dataVolumeMBMSDownlink", "gprscdr.dataVolumeMBMSDownlink",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "DataVolumeMBMS", HFILL }},
{ &hf_gprscdr_serviceConditionChange_01,
{ "serviceConditionChange", "gprscdr.serviceConditionChange",
FT_BYTES, BASE_NONE, NULL, 0,
@@ -4333,15 +5591,15 @@ proto_register_gprscdr(void)
{ "aDCRuleBaseName", "gprscdr.aDCRuleBaseName",
FT_STRING, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_gprscdr_relatedChangeOfServiceCondition,
+ { "relatedChangeOfServiceCondition", "gprscdr.relatedChangeOfServiceCondition_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_gprscdr_routingAreaCode,
{ "routingAreaCode", "gprscdr.routingAreaCode",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_gprscdr_cellId,
- { "cellId", "gprscdr.cellId",
- FT_BYTES, BASE_NONE, NULL, 0,
- NULL, HFILL }},
- { &hf_gprscdr_mCC_MNC,
+ { &hf_gprscdr_mCC_MNC_01,
{ "mCC-MNC", "gprscdr.mCC_MNC",
FT_BYTES, BASE_NONE, NULL, 0,
"PLMN_Id", HFILL }},
@@ -4409,6 +5667,14 @@ proto_register_gprscdr(void)
{ "flowNumber item", "gprscdr.flowNumber_item",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER", HFILL }},
+ { &hf_gprscdr_counterValue,
+ { "counterValue", "gprscdr.counterValue",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "INTEGER", HFILL }},
+ { &hf_gprscdr_counterTimestamp,
+ { "counterTimestamp", "gprscdr.counterTimestamp",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "TimeStamp", HFILL }},
{ &hf_gprscdr_iPAddress,
{ "iPAddress", "gprscdr.iPAddress",
FT_UINT32, BASE_DEC, VALS(gprscdr_IPAddress_vals), 0,
@@ -4425,6 +5691,14 @@ proto_register_gprscdr(void)
{ "pSFFDAppendIndicator", "gprscdr.pSFFDAppendIndicator",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"FFDAppendIndicator", HFILL }},
+ { &hf_gprscdr_sPLMNDLRateControlValue,
+ { "sPLMNDLRateControlValue", "gprscdr.sPLMNDLRateControlValue",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "INTEGER", HFILL }},
+ { &hf_gprscdr_sPLMNULRateControlValue,
+ { "sPLMNULRateControlValue", "gprscdr.sPLMNULRateControlValue",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "INTEGER", HFILL }},
{ &hf_gprscdr_timeQuotaType,
{ "timeQuotaType", "gprscdr.timeQuotaType",
FT_UINT32, BASE_DEC, VALS(gprscdr_TimeQuotaType_vals), 0,
@@ -4445,6 +5719,14 @@ proto_register_gprscdr(void)
{ "cSGMembershipIndication", "gprscdr.cSGMembershipIndication_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_gprscdr_uELocalIPAddress,
+ { "uELocalIPAddress", "gprscdr.uELocalIPAddress",
+ FT_UINT32, BASE_DEC, VALS(gprscdr_IPAddress_vals), 0,
+ "IPAddress", HFILL }},
+ { &hf_gprscdr_uDPSourcePort,
+ { "uDPSourcePort", "gprscdr.uDPSourcePort",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "OCTET_STRING_SIZE_2", HFILL }},
{ &hf_gprscdr_LevelOfCAMELService_basic,
{ "basic", "gprscdr.basic",
FT_BOOLEAN, 8, NULL, 0x80,
@@ -4785,6 +6067,26 @@ proto_register_gprscdr(void)
{ "userCSGInformationChange", "gprscdr.userCSGInformationChange",
FT_BOOLEAN, 8, NULL, 0x80,
NULL, HFILL }},
+ { &hf_gprscdr_ServiceConditionChange_presenceInPRAChange,
+ { "presenceInPRAChange", "gprscdr.presenceInPRAChange",
+ FT_BOOLEAN, 8, NULL, 0x40,
+ NULL, HFILL }},
+ { &hf_gprscdr_ServiceConditionChange_accessChangeOfSDF,
+ { "accessChangeOfSDF", "gprscdr.accessChangeOfSDF",
+ FT_BOOLEAN, 8, NULL, 0x20,
+ NULL, HFILL }},
+ { &hf_gprscdr_ServiceConditionChange_indirectServiceConditionChange,
+ { "indirectServiceConditionChange", "gprscdr.indirectServiceConditionChange",
+ FT_BOOLEAN, 8, NULL, 0x10,
+ NULL, HFILL }},
+ { &hf_gprscdr_ServiceConditionChange_servingPLMNRateControlChange,
+ { "servingPLMNRateControlChange", "gprscdr.servingPLMNRateControlChange",
+ FT_BOOLEAN, 8, NULL, 0x08,
+ NULL, HFILL }},
+ { &hf_gprscdr_ServiceConditionChange_aPNRateControlChange,
+ { "aPNRateControlChange", "gprscdr.aPNRateControlChange",
+ FT_BOOLEAN, 8, NULL, 0x04,
+ NULL, HFILL }},
/*--- End of included file: packet-gprscdr-hfarr.c ---*/
#line 77 "./asn1/gprscdr/packet-gprscdr-template.c"
@@ -4800,12 +6102,15 @@ proto_register_gprscdr(void)
/*--- Included file: packet-gprscdr-ettarr.c ---*/
#line 1 "./asn1/gprscdr/packet-gprscdr-ettarr.c"
&ett_gprscdr_Diagnostics,
+ &ett_gprscdr_EnhancedDiagnostics,
&ett_gprscdr_IPAddress,
&ett_gprscdr_IPBinaryAddress,
&ett_gprscdr_IPBinV6AddressWithOrWithoutPrefixLength,
&ett_gprscdr_IPBinV6AddressWithPrefixLength,
&ett_gprscdr_IPTextRepresentedAddress,
+ &ett_gprscdr_LCSClientIdentity,
&ett_gprscdr_LevelOfCAMELService,
+ &ett_gprscdr_LocationAreaAndCell,
&ett_gprscdr_ManagementExtensions,
&ett_gprscdr_MBMSInformation,
&ett_gprscdr_ServiceSpecificInfo,
@@ -4838,17 +6143,29 @@ proto_register_gprscdr(void)
&ett_gprscdr_TDFRecord,
&ett_gprscdr_IPERecord,
&ett_gprscdr_EPDGRecord,
+ &ett_gprscdr_TWAGRecord,
&ett_gprscdr_SGSNMMRecord,
&ett_gprscdr_SEQUENCE_OF_ChangeLocation,
&ett_gprscdr_SGSNPDPRecord,
&ett_gprscdr_SGSNSMORecord,
&ett_gprscdr_SGSNSMTRecord,
+ &ett_gprscdr_SGSNMTLCSRecord,
+ &ett_gprscdr_SGSNMOLCSRecord,
+ &ett_gprscdr_SGSNNILCSRecord,
+ &ett_gprscdr_SGSNMBMSRecord,
+ &ett_gprscdr_SEQUENCE_OF_RAIdentity,
+ &ett_gprscdr_SEQUENCE_OF_ChangeOfMBMSCondition,
+ &ett_gprscdr_GGSNMBMSRecord,
+ &ett_gprscdr_GWMBMSRecord,
&ett_gprscdr_AccessLineIdentifier,
&ett_gprscdr_AFRecordInformation,
+ &ett_gprscdr_APNRateControl,
+ &ett_gprscdr_APNRateControlParameters,
&ett_gprscdr_CAMELInformationMM,
&ett_gprscdr_CAMELInformationPDP,
&ett_gprscdr_CAMELInformationSMS,
&ett_gprscdr_ChangeOfCharCondition,
+ &ett_gprscdr_ChangeOfMBMSCondition,
&ett_gprscdr_ChangeOfServiceCondition,
&ett_gprscdr_SEQUENCE_OF_ServiceSpecificInfo,
&ett_gprscdr_ChangeLocation,
@@ -4858,13 +6175,18 @@ proto_register_gprscdr(void)
&ett_gprscdr_FixedUserLocationInformation,
&ett_gprscdr_Flows,
&ett_gprscdr_T_flowNumber,
+ &ett_gprscdr_MOExceptionDataCounter,
&ett_gprscdr_PDPAddress,
&ett_gprscdr_PresenceReportingAreaInfo,
&ett_gprscdr_PSFurnishChargingInformation,
+ &ett_gprscdr_RelatedChangeOfCharCondition,
+ &ett_gprscdr_RelatedChangeOfServiceCondition,
&ett_gprscdr_ServiceConditionChange,
+ &ett_gprscdr_ServingPLMNRateControl,
&ett_gprscdr_TimeQuotaMechanism,
&ett_gprscdr_TWANUserLocationInfo,
&ett_gprscdr_UserCSGInformation,
+ &ett_gprscdr_UWANUserLocationInfo,
/*--- End of included file: packet-gprscdr-ettarr.c ---*/
#line 86 "./asn1/gprscdr/packet-gprscdr-template.c"
diff --git a/epan/dissectors/packet-gprscdr.h b/epan/dissectors/packet-gprscdr.h
index 5f2a513727..3bf81a7a4b 100644
--- a/epan/dissectors/packet-gprscdr.h
+++ b/epan/dissectors/packet-gprscdr.h
@@ -1,7 +1,7 @@
/* Do not modify this file. Changes will be overwritten. */
/* Generated automatically by the ASN.1 to Wireshark dissector compiler */
/* packet-gprscdr.h */
-/* asn2wrs.py -b -p gprscdr -c ./gprscdr.cnf -s ./packet-gprscdr-template -D . -O ../.. GenericChargingDataTypesV1250.asn GPRSChargingDataTypesV641.asn GPRSChargingDataTypesV1260.asn */
+/* asn2wrs.py -b -p gprscdr -c ./gprscdr.cnf -s ./packet-gprscdr-template -D . -O ../.. GenericChargingDataTypesV1400.asn GPRSChargingDataTypesV641.asn GPRSChargingDataTypesV1400.asn */
/* Input file: packet-gprscdr-template.h */