summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndersBroman <a.broman@bredband.net>2014-12-16 23:46:59 +0100
committerAnders Broman <a.broman58@gmail.com>2014-12-17 12:25:53 +0000
commitd99fe210afb55e798627291f5276c9466ef4a5fc (patch)
tree8edd9a5a95906bd5bca2906820ae9e699f9d74aa
parentdf639f509e812fff3c5eb4bdf4f77988c6ec122b (diff)
downloadwireshark-d99fe210afb55e798627291f5276c9466ef4a5fc.tar.gz
Update to V12.5.0
Bug: 10782 Change-Id: I5fd4ec14279411682d8a23f5e0f503180113f093 Reviewed-on: https://code.wireshark.org/review/5790 Reviewed-by: Anders Broman <a.broman58@gmail.com>
-rw-r--r--asn1/gprscdr/CMakeLists.txt4
-rw-r--r--asn1/gprscdr/GPRSChargingDataTypesV1250.asn1187
-rw-r--r--asn1/gprscdr/GPRSChargingDataTypesV641.asn20
-rw-r--r--asn1/gprscdr/GenericChargingDataTypesV1250.asn668
-rw-r--r--asn1/gprscdr/Makefile.common5
-rw-r--r--asn1/gprscdr/gprscdr.cnf2
-rw-r--r--epan/dissectors/packet-gprscdr.c502
-rw-r--r--epan/dissectors/packet-gprscdr.h2
-rw-r--r--epan/dissectors/packet-gtp.c2
9 files changed, 2348 insertions, 44 deletions
diff --git a/asn1/gprscdr/CMakeLists.txt b/asn1/gprscdr/CMakeLists.txt
index b83b64d0c2..bdbbb29553 100644
--- a/asn1/gprscdr/CMakeLists.txt
+++ b/asn1/gprscdr/CMakeLists.txt
@@ -31,9 +31,9 @@ set( EXT_ASN_FILE_LIST
)
set( ASN_FILE_LIST
- GenericChargingDataTypesV1171.asn
+ GenericChargingDataTypesV1250.asn
GPRSChargingDataTypesV641.asn
- GPRSChargingDataTypesV1171.asn
+ GPRSChargingDataTypesV1250.asn
)
set( EXTRA_DIST
diff --git a/asn1/gprscdr/GPRSChargingDataTypesV1250.asn b/asn1/gprscdr/GPRSChargingDataTypesV1250.asn
new file mode 100644
index 0000000000..2964577ada
--- /dev/null
+++ b/asn1/gprscdr/GPRSChargingDataTypesV1250.asn
@@ -0,0 +1,1187 @@
+GPRSChargingDataTypesV1250 {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) version6 (6)}
+-- 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) version13 (13)}
+-- 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) version13 (13)}
+-- 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) version13 (13) }
+-- 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) version13 (13)}
+-- 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,
+ sgsnMMRecord [22] SGSNMMRecord,
+ sgsnSMORecord [23] SGSNSMORecord,
+ sgsnSMTRecord [24] SGSNSMTRecord,
+-- sgsnMTLCSRecord [25] SGSNMTLCSRecord,
+-- sgsnMOLCSRecord [26] SGSNMOLCSRecord,
+-- sgsnNILCSRecord [27] SGSNNILCSRecord,
+
+-- sgsnMBMSRecord [76] SGSNMBMSRecord,
+-- ggsnMBMSRecord [77] GGSNMBMSRecord,
+ sGWRecord [78] SGWRecord,
+ pGWRecord [79] PGWRecord,
+
+-- gwMBMSRecord [86] GWMBMSRecord,
+
+ tDFRecord [92] TDFRecord,
+
+ iPERecord [95] IPERecord,
+ ePDGRecord [96] EPDGRecord
+}
+
+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
+}
+
+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
+}
+
+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,
+ 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
+}
+
+
+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
+--
+
+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]
+--
+
+AFChargingIdentifier ::= OCTET STRING
+--
+-- see AF-Charging-Identifier AVP as defined in TS 29.214[221]
+--
+AFRecordInformation ::= SEQUENCE
+{
+ aFChargingIdentifier [1] AFChargingIdentifier,
+ flows [2] Flows OPTIONAL
+}
+
+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
+--
+-- 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),
+ 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"
+}
+
+ChangeOfCharCondition ::= SEQUENCE
+--
+-- qosRequested and qosNegotiated are used in S-CDR only
+-- ePCQoSInformation used in SGW-CDR ,PGW-CDR, IPE-CDR and ePDG 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
+--
+{
+ 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
+}
+
+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
+}
+
+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
+--
+
+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)
+}
+
+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]
+--
+
+-- GSNAddress ::= IPAddress
+
+MSNetworkCapability ::= OCTET STRING (SIZE(1..8))
+--
+-- see TS 24.008 [208]
+--
+
+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.
+--
+
+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].
+--
+
+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].
+--
+
+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"
+}
+--
+-- 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)
+}
+
+SGSNChange ::= BOOLEAN
+--
+-- present if first record after inter SGSN routing area update in new SGSN
+--
+
+SGWChange ::= BOOLEAN
+--
+-- present if first record after inter S-GW change
+--
+
+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]
+}
+
+UserCSGInformation ::= SEQUENCE
+{
+ cSGId [0] CSGId,
+ cSGAccessMode [1] CSGAccessMode,
+ cSGMembershipIndication [2] NULL OPTIONAL
+}
+
+END
diff --git a/asn1/gprscdr/GPRSChargingDataTypesV641.asn b/asn1/gprscdr/GPRSChargingDataTypesV641.asn
index a94ae40f48..0f449f8499 100644
--- a/asn1/gprscdr/GPRSChargingDataTypesV641.asn
+++ b/asn1/gprscdr/GPRSChargingDataTypesV641.asn
@@ -503,19 +503,19 @@ ChangeOfCharConditionV651 ::= SEQUENCE
changeCondition [5] ChangeConditionV651,
changeTime [6] TimeStamp
}
-ChangeOfMBMSCondition ::= SEQUENCE
-{
+--ChangeOfMBMSCondition ::= SEQUENCE
+--{
--
-- Used in MBMS record
--
- qosRequested [1] QoSInformation OPTIONAL,
- qosNegotiated [2] QoSInformation OPTIONAL,
- dataVolumeMBMSUplink [3] DataVolumeMBMS OPTIONAL,
- dataVolumeMBMSDownlink [4] DataVolumeMBMS,
- changeCondition [5] ChangeConditionV651,
- changeTime [6] TimeStamp,
- failureHandlingContinue [7] FailureHandlingContinue OPTIONAL
-}
+-- qosRequested [1] QoSInformation OPTIONAL,
+-- qosNegotiated [2] QoSInformation OPTIONAL,
+-- dataVolumeMBMSUplink [3] DataVolumeMBMS OPTIONAL,
+-- dataVolumeMBMSDownlink [4] DataVolumeMBMS,
+-- changeCondition [5] ChangeConditionV651,
+-- changeTime [6] TimeStamp,
+-- failureHandlingContinue [7] FailureHandlingContinue OPTIONAL
+--}
ChangeOfServiceConditionV651 ::= SEQUENCE
{
--
diff --git a/asn1/gprscdr/GenericChargingDataTypesV1250.asn b/asn1/gprscdr/GenericChargingDataTypesV1250.asn
new file mode 100644
index 0000000000..e0bfa90ba4
--- /dev/null
+++ b/asn1/gprscdr/GenericChargingDataTypesV1250.asn
@@ -0,0 +1,668 @@
+-- 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) version13 (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) version13 (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
+
+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
+}
+
+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]
+--
+
+MBMSUserServiceType ::= ENUMERATED
+{
+ dOWNLOAD (0),
+ sTREAMING (1)
+}
+
+MCC-MNC ::= OCTET STRING (SIZE(3))
+--
+-- See TS 24.008 [208]
+--
+
+MessageReference ::= OCTET STRING
+
+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),
+--
+-- 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)
+}
+
+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
+{
+ 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/asn1/gprscdr/Makefile.common b/asn1/gprscdr/Makefile.common
index eb975b87cd..22ed06da75 100644
--- a/asn1/gprscdr/Makefile.common
+++ b/asn1/gprscdr/Makefile.common
@@ -23,15 +23,16 @@ EXPORT_FILES = \
$(PROTOCOL_NAME)-exp.cnf
ASN_FILE_LIST = \
- GenericChargingDataTypesV1171.asn \
+ GenericChargingDataTypesV1250.asn \
GPRSChargingDataTypesV641.asn \
- GPRSChargingDataTypesV1171.asn
+ GPRSChargingDataTypesV1250.asn
INCLUDED_ASN_FILE_LIST = \
3GPPGenericChargingDataTypes.asn \
GPRSChargingDataTypes.asn \
GPRSChargingDataTypesV8e0.asn \
GPRSChargingDataTypesV9f0.asn \
+ GPRSChargingDataTypesV1171.asn \
GenericChargingDataTypes.asn \
GenericChargingDataTypesV641.asn \
GenericChargingDataTypesV8e0.asn \
diff --git a/asn1/gprscdr/gprscdr.cnf b/asn1/gprscdr/gprscdr.cnf
index 32b67772f7..b6cdd3f1ec 100644
--- a/asn1/gprscdr/gprscdr.cnf
+++ b/asn1/gprscdr/gprscdr.cnf
@@ -24,6 +24,8 @@ ServiceContextID
ChangeLocationV651
CTEID
DataVolumeMBMS
+SubscriberEquipmentNumber
+SubscriberEquipmentType
# 6.4 If these are needed MBMS asn1 should be added.
SGSNMBMSRecord
GGSNMBMSRecord
diff --git a/epan/dissectors/packet-gprscdr.c b/epan/dissectors/packet-gprscdr.c
index 6c7d73eb6d..10d9f3b8ea 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 */
-/* ../../tools/asn2wrs.py -b -p gprscdr -c ./gprscdr.cnf -s ./packet-gprscdr-template -D . -O ../../epan/dissectors GenericChargingDataTypesV1171.asn GPRSChargingDataTypesV641.asn GPRSChargingDataTypesV1171.asn */
+/* ../../tools/asn2wrs.py -b -p gprscdr -c ./gprscdr.cnf -s ./packet-gprscdr-template -D . -O ../../epan/dissectors GenericChargingDataTypesV1250.asn GPRSChargingDataTypesV641.asn GPRSChargingDataTypesV1250.asn */
/* Input file: packet-gprscdr-template.c */
@@ -178,6 +178,9 @@ static int hf_gprscdr_sgsnSMORecord_01 = -1; /* SGSNSMORecord */
static int hf_gprscdr_sgsnSMTRecord_01 = -1; /* SGSNSMTRecord */
static int hf_gprscdr_sGWRecord = -1; /* SGWRecord */
static int hf_gprscdr_pGWRecord = -1; /* PGWRecord */
+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_recordType_01 = -1; /* RecordType */
static int hf_gprscdr_s_GWAddress = -1; /* GSNAddress */
static int hf_gprscdr_servingNodeAddress = -1; /* SEQUENCE_OF_GSNAddress */
@@ -205,14 +208,34 @@ static int hf_gprscdr_s_GWiPv6Address = -1; /* GSNAddress */
static int hf_gprscdr_servingNodeiPv6Address = -1; /* SEQUENCE_OF_GSNAddress */
static int hf_gprscdr_servingNodeiPv6Address_item = -1; /* GSNAddress */
static int hf_gprscdr_p_GWiPv6AddressUsed = -1; /* GSNAddress */
+static int hf_gprscdr_retransmission = -1; /* NULL */
+static int hf_gprscdr_userLocationInfoTime = -1; /* TimeStamp */
+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_p_GWAddress = -1; /* GSNAddress */
-static int hf_gprscdr_servinggNodePLMNIdentifier = -1; /* PLMN_Id */
static int hf_gprscdr_listOfServiceData_01 = -1; /* SEQUENCE_OF_ChangeOfServiceCondition */
static int hf_gprscdr_listOfServiceData_item_01 = -1; /* ChangeOfServiceCondition */
static int hf_gprscdr_servedMNNAI = -1; /* SubscriptionID */
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_tDFAddress = -1; /* GSNAddress */
+static int hf_gprscdr_tDFiPv6AddressUsed = -1; /* GSNAddress */
+static int hf_gprscdr_tDFPLMNIdentifier = -1; /* PLMN_Id */
+static int hf_gprscdr_servedFixedSubsID = -1; /* FixedSubsID */
+static int hf_gprscdr_accessLineIdentifier = -1; /* AccessLineIdentifier */
+static int hf_gprscdr_fixedUserLocationInformation = -1; /* FixedUserLocationInformation */
+static int hf_gprscdr_iPEdgeAddress = -1; /* GSNAddress */
+static int hf_gprscdr_iPCANsessionType = -1; /* PDPType */
+static int hf_gprscdr_servedIPCANsessionAddress = -1; /* PDPAddress */
+static int hf_gprscdr_iPEdgeOperatorIdentifier = -1; /* PLMN_Id */
+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_changeLocation = -1; /* SEQUENCE_OF_ChangeLocation */
static int hf_gprscdr_changeLocation_item = -1; /* ChangeLocation */
static int hf_gprscdr_cAMELInformationMM = -1; /* CAMELInformationMM */
@@ -223,6 +246,8 @@ 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_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_sCFAddress = -1; /* SCFAddress */
@@ -240,7 +265,7 @@ static int hf_gprscdr_cAMELDestinationSubscriberNumber = -1; /* SmsTpDestinatio
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_ePCQoSInformation = -1; /* EPCQoSInformation */
+static int hf_gprscdr_presenceReportingAreaStatus = -1; /* PresenceReportingAreaStatus */
static int hf_gprscdr_serviceConditionChange_01 = -1; /* ServiceConditionChange */
static int hf_gprscdr_qoSInformationNeg_01 = -1; /* EPCQoSInformation */
static int hf_gprscdr_aFRecordInformation = -1; /* SEQUENCE_OF_AFRecordInformation */
@@ -251,6 +276,7 @@ static int hf_gprscdr_serviceSpecificInfo = -1; /* SEQUENCE_OF_ServiceSpecific
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_routingAreaCode = -1; /* RoutingAreaCode */
static int hf_gprscdr_cellId = -1; /* CellId */
static int hf_gprscdr_mCC_MNC = -1; /* PLMN_Id */
@@ -265,16 +291,17 @@ static int hf_gprscdr_aPNAggregateMaxBitrateDL = -1; /* INTEGER */
static int hf_gprscdr_numberOfEvents = -1; /* INTEGER */
static int hf_gprscdr_eventTimeStamps = -1; /* SEQUENCE_OF_TimeStamp */
static int hf_gprscdr_eventTimeStamps_item = -1; /* TimeStamp */
+static int hf_gprscdr_sSID = -1; /* OCTET_STRING */
+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_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_timeQuotaType = -1; /* TimeQuotaType */
static int hf_gprscdr_baseTimeInterval = -1; /* INTEGER */
-static int hf_gprscdr_sSID = -1; /* OCTET_STRING */
-static int hf_gprscdr_bSSID = -1; /* OCTET_STRING */
static int hf_gprscdr_cSGId = -1; /* CSGId */
static int hf_gprscdr_cSGAccessMode = -1; /* CSGAccessMode */
static int hf_gprscdr_cSGMembershipIndication = -1; /* NULL */
@@ -375,11 +402,15 @@ static gint ett_gprscdr_SEQUENCE_OF_ChangeOfCharCondition = -1;
static gint ett_gprscdr_SEQUENCE_OF_ServingNodeType = -1;
static gint ett_gprscdr_PGWRecord = -1;
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_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_AccessLineIdentifier = -1;
static gint ett_gprscdr_AFRecordInformation = -1;
static gint ett_gprscdr_CAMELInformationMM = -1;
static gint ett_gprscdr_CAMELInformationPDP = -1;
@@ -392,9 +423,11 @@ static gint ett_gprscdr_ChangeLocation = -1;
static gint ett_gprscdr_EPCQoSInformation = -1;
static gint ett_gprscdr_EventBasedChargingInformation = -1;
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_PDPAddress = -1;
+static gint ett_gprscdr_PresenceReportingAreaInfo = -1;
static gint ett_gprscdr_PSFurnishChargingInformation = -1;
static gint ett_gprscdr_ServiceConditionChange = -1;
static gint ett_gprscdr_TimeQuotaMechanism = -1;
@@ -586,7 +619,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 67 "../../asn1/gprscdr/gprscdr.cnf"
+#line 69 "../../asn1/gprscdr/gprscdr.cnf"
proto_tree *ext_tree;
ext_tree = proto_tree_add_subtree(tree, tvb, offset, -1, ett_gprscdr_managementextension_information, NULL, "Information");
@@ -909,7 +942,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 116 "../../asn1/gprscdr/gprscdr.cnf"
+#line 118 "../../asn1/gprscdr/gprscdr.cnf"
/*
*
* 1.Octet: Time Zone and 2. Octet: Daylight saving time, see TS 29.060 [75]
@@ -1041,9 +1074,15 @@ static const value_string gprscdr_RecordType_vals[] = {
{ 81, "cPFRecord" },
{ 84, "sGWRecord" },
{ 85, "pGWRecord" },
+ { 92, "tDFRecord" },
+ { 95, "iPERecord" },
+ { 96, "ePDGRecord" },
{ 83, "mMTelRecord" },
{ 87, "mSCsRVCCRecord" },
{ 88, "mMTRFRecord" },
+ { 99, "iCSRegisterRecord" },
+ { 93, "sCSMORecord" },
+ { 94, "sCSMTRecord" },
{ 0, NULL }
};
@@ -1150,7 +1189,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 77 "../../asn1/gprscdr/gprscdr.cnf"
+#line 79 "../../asn1/gprscdr/gprscdr.cnf"
/*
*
* The contents of this field are a compact form of the UTCTime format
@@ -1523,6 +1562,7 @@ static const value_string gprscdr_ChChSelectionMode_vals[] = {
{ 3, "homeDefault" },
{ 4, "roamingDefault" },
{ 5, "visitingDefault" },
+ { 6, "fixedDefault" },
{ 0, NULL }
};
@@ -1626,7 +1666,7 @@ dissect_gprscdr_OCTET_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int o
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 143 "../../asn1/gprscdr/gprscdr.cnf"
+#line 145 "../../asn1/gprscdr/gprscdr.cnf"
tvbuff_t *parameter_tvb;
proto_tree *subtree;
@@ -1734,6 +1774,8 @@ static const value_string gprscdr_CauseForRecClosing_vals[] = {
{ 22, "rATChange" },
{ 23, "mSTimeZoneChange" },
{ 24, "sGSNPLMNIDChange" },
+ { 25, "sGWChange" },
+ { 26, "aPNAMBRChange" },
{ 52, "unauthorizedRequestingNetwork" },
{ 53, "unauthorizedLCSClient" },
{ 54, "positionMethodFailure" },
@@ -1772,6 +1814,22 @@ dissect_gprscdr_CAMELInformationMM(gboolean implicit_tag _U_, tvbuff_t *tvb _U_,
}
+static const value_string gprscdr_CNOperatorSelectionEntity_vals[] = {
+ { 0, "servCNSelectedbyUE" },
+ { 1, "servCNSelectedbyNtw" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_gprscdr_CNOperatorSelectionEntity(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 SGSNMMRecord_set[] = {
{ &hf_gprscdr_recordType_01, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gprscdr_RecordType },
{ &hf_gprscdr_servedIMSI , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
@@ -1797,6 +1855,8 @@ static const ber_sequence_t SGSNMMRecord_set[] = {
{ &hf_gprscdr_rATType , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_RATType },
{ &hf_gprscdr_chChSelectionMode, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ChChSelectionMode },
{ &hf_gprscdr_cellPLMNId , BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PLMN_Id },
+ { &hf_gprscdr_servingNodePLMNIdentifier, BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PLMN_Id },
+ { &hf_gprscdr_cNOperatorSelectionEnt, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_CNOperatorSelectionEntity },
{ NULL, 0, 0, 0, NULL }
};
@@ -2160,6 +2220,22 @@ dissect_gprscdr_EPCQoSInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_,
}
+static const value_string gprscdr_PresenceReportingAreaStatus_vals[] = {
+ { 0, "insideArea" },
+ { 1, "outsideArea" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_gprscdr_PresenceReportingAreaStatus(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 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 },
@@ -2169,6 +2245,8 @@ static const ber_sequence_t ChangeOfCharCondition_sequence[] = {
{ &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_ePCQoSInformation, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_EPCQoSInformation },
+ { &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 },
{ NULL, 0, 0, 0, NULL }
};
@@ -2274,6 +2352,8 @@ static const ber_sequence_t SGSNPDPRecord_set[] = {
{ &hf_gprscdr_userCSGInformation, BER_CLASS_CON, 35, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_UserCSGInformation },
{ &hf_gprscdr_servedPDPPDNAddressExt, BER_CLASS_CON, 36, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_PDPAddress },
{ &hf_gprscdr_lowPriorityIndicator, BER_CLASS_CON, 37, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NULL },
+ { &hf_gprscdr_servingNodePLMNIdentifier, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PLMN_Id },
+ { &hf_gprscdr_cNOperatorSelectionEnt, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_CNOperatorSelectionEntity },
{ NULL, 0, 0, 0, NULL }
};
@@ -2335,6 +2415,10 @@ static const ber_sequence_t SGSNSMORecord_set[] = {
{ &hf_gprscdr_mMEName , BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_DiameterIdentity },
{ &hf_gprscdr_mMERealm , BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_DiameterIdentity },
{ &hf_gprscdr_userLocationInformation, BER_CLASS_CON, 26, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING },
+ { &hf_gprscdr_retransmission, BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NULL },
+ { &hf_gprscdr_servingNodePLMNIdentifier, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PLMN_Id },
+ { &hf_gprscdr_userLocationInfoTime, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_TimeStamp },
+ { &hf_gprscdr_cNOperatorSelectionEnt, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_CNOperatorSelectionEntity },
{ NULL, 0, 0, 0, NULL }
};
@@ -2374,6 +2458,10 @@ static const ber_sequence_t SGSNSMTRecord_set[] = {
{ &hf_gprscdr_mMEName , BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_DiameterIdentity },
{ &hf_gprscdr_mMERealm , BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_DiameterIdentity },
{ &hf_gprscdr_userLocationInformation, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING },
+ { &hf_gprscdr_retransmission, BER_CLASS_CON, 26, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NULL },
+ { &hf_gprscdr_servingNodePLMNIdentifier, BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PLMN_Id },
+ { &hf_gprscdr_userLocationInfoTime, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_TimeStamp },
+ { &hf_gprscdr_cNOperatorSelectionEnt, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_CNOperatorSelectionEntity },
{ NULL, 0, 0, 0, NULL }
};
@@ -2408,6 +2496,21 @@ dissect_gprscdr_SEQUENCE_OF_ServingNodeType(gboolean implicit_tag _U_, tvbuff_t
}
+static const ber_sequence_t PresenceReportingAreaInfo_sequence[] = {
+ { &hf_gprscdr_presenceReportingAreaIdentifier, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING },
+ { &hf_gprscdr_presenceReportingAreaStatus, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PresenceReportingAreaStatus },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_gprscdr_PresenceReportingAreaInfo(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,
+ PresenceReportingAreaInfo_sequence, hf_index, ett_gprscdr_PresenceReportingAreaInfo);
+
+ 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 },
@@ -2433,7 +2536,7 @@ static const ber_sequence_t SGWRecord_set[] = {
{ &hf_gprscdr_chChSelectionMode, BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ChChSelectionMode },
{ &hf_gprscdr_iMSsignalingContext, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NULL },
{ &hf_gprscdr_servingNodePLMNIdentifier, BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PLMN_Id },
- { &hf_gprscdr_servedIMEISV, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMEI },
+ { &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_mSTimeZone , BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_MSTimeZone },
{ &hf_gprscdr_userLocationInformation, BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING },
@@ -2452,6 +2555,12 @@ static const ber_sequence_t SGWRecord_set[] = {
{ &hf_gprscdr_s_GWiPv6Address, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_GSNAddress },
{ &hf_gprscdr_servingNodeiPv6Address, BER_CLASS_CON, 49, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_SEQUENCE_OF_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_userLocationInfoTime, BER_CLASS_CON, 52, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_TimeStamp },
+ { &hf_gprscdr_cNOperatorSelectionEnt, BER_CLASS_CON, 53, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_CNOperatorSelectionEntity },
+ { &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 },
{ NULL, 0, 0, 0, NULL }
};
@@ -2648,6 +2757,17 @@ dissect_gprscdr_SEQUENCE_OF_ServiceSpecificInfo(gboolean implicit_tag _U_, tvbuf
}
+
+static int
+dissect_gprscdr_ADCRuleBaseName(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_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
+ actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ 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 },
@@ -2673,6 +2793,8 @@ static const ber_sequence_t ChangeOfServiceCondition_sequence[] = {
{ &hf_gprscdr_threeGPP2UserLocationInformation, BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING },
{ &hf_gprscdr_sponsorIdentity, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING },
{ &hf_gprscdr_applicationServiceProviderIdentity, BER_CLASS_CON, 26, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING },
+ { &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 },
{ NULL, 0, 0, 0, NULL }
};
@@ -2723,6 +2845,7 @@ static const ber_sequence_t PGWRecord_set[] = {
{ &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 },
@@ -2736,10 +2859,9 @@ static const ber_sequence_t PGWRecord_set[] = {
{ &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_iMSsignalingContext, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NULL },
- { &hf_gprscdr_externalChargingID, BER_CLASS_CON, 26, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING },
- { &hf_gprscdr_servinggNodePLMNIdentifier, BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PLMN_Id },
+ { &hf_gprscdr_servingNodePLMNIdentifier, BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PLMN_Id },
{ &hf_gprscdr_pSFurnishChargingInformation, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PSFurnishChargingInformation },
- { &hf_gprscdr_servedIMEISV, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMEI },
+ { &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_mSTimeZone , BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_MSTimeZone },
{ &hf_gprscdr_userLocationInformation, BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING },
@@ -2761,6 +2883,13 @@ static const ber_sequence_t PGWRecord_set[] = {
{ &hf_gprscdr_servingNodeiPv6Address, BER_CLASS_CON, 49, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_SEQUENCE_OF_GSNAddress },
{ &hf_gprscdr_p_GWiPv6AddressUsed, BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_GSNAddress },
{ &hf_gprscdr_tWANUserLocationInformation, BER_CLASS_CON, 51, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_TWANUserLocationInfo },
+ { &hf_gprscdr_retransmission, BER_CLASS_CON, 52, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NULL },
+ { &hf_gprscdr_userLocationInfoTime, BER_CLASS_CON, 53, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_TimeStamp },
+ { &hf_gprscdr_cNOperatorSelectionEnt, BER_CLASS_CON, 54, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_CNOperatorSelectionEntity },
+ { &hf_gprscdr_ePCQoSInformation, BER_CLASS_CON, 55, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_EPCQoSInformation },
+ { &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 },
{ NULL, 0, 0, 0, NULL }
};
@@ -2773,6 +2902,203 @@ dissect_gprscdr_PGWRecord(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offs
}
+
+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);
+
+ return offset;
+}
+
+
+static const ber_sequence_t AccessLineIdentifier_sequence[] = {
+ { &hf_gprscdr_physicalAccessID, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_UTF8String },
+ { &hf_gprscdr_logicalAccessID, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_gprscdr_AccessLineIdentifier(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,
+ AccessLineIdentifier_sequence, hf_index, ett_gprscdr_AccessLineIdentifier);
+
+ return offset;
+}
+
+
+static const ber_sequence_t FixedUserLocationInformation_sequence[] = {
+ { &hf_gprscdr_sSID , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING },
+ { &hf_gprscdr_bSSID , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING },
+ { &hf_gprscdr_accessLineIdentifier, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_AccessLineIdentifier },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_gprscdr_FixedUserLocationInformation(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,
+ FixedUserLocationInformation_sequence, hf_index, ett_gprscdr_FixedUserLocationInformation);
+
+ return offset;
+}
+
+
+static const ber_sequence_t TDFRecord_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_p_GWAddress , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_GSNAddress },
+ { &hf_gprscdr_servingNodeAddress, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_gprscdr_SEQUENCE_OF_GSNAddress },
+ { &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_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_servingNodePLMNIdentifier, BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PLMN_Id },
+ { &hf_gprscdr_pSFurnishChargingInformation, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PSFurnishChargingInformation },
+ { &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_mSTimeZone , BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_MSTimeZone },
+ { &hf_gprscdr_userLocationInformation, BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING },
+ { &hf_gprscdr_listOfServiceData_01, BER_CLASS_CON, 34, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_SEQUENCE_OF_ChangeOfServiceCondition },
+ { &hf_gprscdr_servingNodeType, BER_CLASS_CON, 35, BER_FLAGS_IMPLTAG, dissect_gprscdr_SEQUENCE_OF_ServingNodeType },
+ { &hf_gprscdr_servedMNNAI , BER_CLASS_CON, 36, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_SubscriptionID },
+ { &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_served3gpp2MEID, BER_CLASS_CON, 40, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING },
+ { &hf_gprscdr_pDNConnectionChargingID, BER_CLASS_CON, 41, BER_FLAGS_IMPLTAG, dissect_gprscdr_ChargingID },
+ { &hf_gprscdr_userCSGInformation, BER_CLASS_CON, 43, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_UserCSGInformation },
+ { &hf_gprscdr_threeGPP2UserLocationInformation, BER_CLASS_CON, 44, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING },
+ { &hf_gprscdr_servedPDPPDNAddressExt, BER_CLASS_CON, 45, 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_servingNodeiPv6Address, BER_CLASS_CON, 49, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_SEQUENCE_OF_GSNAddress },
+ { &hf_gprscdr_p_GWiPv6AddressUsed, BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_GSNAddress },
+ { &hf_gprscdr_tWANUserLocationInformation, BER_CLASS_CON, 51, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_TWANUserLocationInfo },
+ { &hf_gprscdr_retransmission, BER_CLASS_CON, 52, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NULL },
+ { &hf_gprscdr_tDFAddress , BER_CLASS_CON, 53, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_GSNAddress },
+ { &hf_gprscdr_tDFiPv6AddressUsed, BER_CLASS_CON, 54, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_GSNAddress },
+ { &hf_gprscdr_tDFPLMNIdentifier, BER_CLASS_CON, 55, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PLMN_Id },
+ { &hf_gprscdr_servedFixedSubsID, BER_CLASS_CON, 56, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_FixedSubsID },
+ { &hf_gprscdr_accessLineIdentifier, BER_CLASS_CON, 57, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_AccessLineIdentifier },
+ { &hf_gprscdr_presenceReportingAreaInfo, BER_CLASS_CON, 58, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PresenceReportingAreaInfo },
+ { &hf_gprscdr_fixedUserLocationInformation, BER_CLASS_CON, 59, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_FixedUserLocationInformation },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_gprscdr_TDFRecord(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,
+ TDFRecord_set, hf_index, ett_gprscdr_TDFRecord);
+
+ return offset;
+}
+
+
+static const ber_sequence_t IPERecord_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_iPEdgeAddress, 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_iPCANsessionType, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PDPType },
+ { &hf_gprscdr_servedIPCANsessionAddress, 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_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_pSFurnishChargingInformation, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PSFurnishChargingInformation },
+ { &hf_gprscdr_servedIMEI , BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMEI },
+ { &hf_gprscdr_listOfServiceData_01, BER_CLASS_CON, 34, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_SEQUENCE_OF_ChangeOfServiceCondition },
+ { &hf_gprscdr_servedMNNAI , BER_CLASS_CON, 36, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_SubscriptionID },
+ { &hf_gprscdr_iPEdgeOperatorIdentifier, 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_servedIPCANsessionAddressExt, BER_CLASS_CON, 45, 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_iPEdgeiPv6AddressUsed, BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_GSNAddress },
+ { &hf_gprscdr_retransmission, BER_CLASS_CON, 52, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NULL },
+ { &hf_gprscdr_servedFixedSubsID, BER_CLASS_CON, 55, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_FixedSubsID },
+ { &hf_gprscdr_accessLineIdentifier, BER_CLASS_CON, 56, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_AccessLineIdentifier },
+ { &hf_gprscdr_fixedUserLocationInformation, BER_CLASS_CON, 57, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_FixedUserLocationInformation },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_gprscdr_IPERecord(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,
+ IPERecord_set, hf_index, ett_gprscdr_IPERecord);
+
+ return offset;
+}
+
+
+static const ber_sequence_t EPDGRecord_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_ePDGAddressUsed, 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_iMSsignalingContext, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NULL },
+ { &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_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_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 },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_gprscdr_EPDGRecord(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,
+ EPDGRecord_set, hf_index, ett_gprscdr_EPDGRecord);
+
+ return offset;
+}
+
+
const value_string gprscdr_GPRSRecord_vals[] = {
{ 20, "sgsnPDPRecord" },
{ 22, "sgsnMMRecord" },
@@ -2780,6 +3106,9 @@ const value_string gprscdr_GPRSRecord_vals[] = {
{ 24, "sgsnSMTRecord" },
{ 78, "sGWRecord" },
{ 79, "pGWRecord" },
+ { 92, "tDFRecord" },
+ { 95, "iPERecord" },
+ { 96, "ePDGRecord" },
{ 0, NULL }
};
@@ -2790,6 +3119,9 @@ static const ber_choice_t GPRSRecord_choice[] = {
{ 24, &hf_gprscdr_sgsnSMTRecord_01, BER_CLASS_CON, 24, BER_FLAGS_IMPLTAG, dissect_gprscdr_SGSNSMTRecord },
{ 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 },
+ { 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 },
{ 0, NULL, 0, 0, 0, NULL }
};
@@ -3334,6 +3666,18 @@ proto_register_gprscdr(void)
{ "pGWRecord", "gprscdr.pGWRecord_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_gprscdr_tDFRecord,
+ { "tDFRecord", "gprscdr.tDFRecord_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_gprscdr_iPERecord,
+ { "iPERecord", "gprscdr.iPERecord_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_gprscdr_ePDGRecord,
+ { "ePDGRecord", "gprscdr.ePDGRecord_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_gprscdr_recordType_01,
{ "recordType", "gprscdr.recordType",
FT_INT32, BASE_DEC, VALS(gprscdr_RecordType_vals), 0,
@@ -3442,14 +3786,34 @@ proto_register_gprscdr(void)
{ "p-GWiPv6AddressUsed", "gprscdr.p_GWiPv6AddressUsed",
FT_UINT32, BASE_DEC, VALS(gprscdr_IPAddress_vals), 0,
"GSNAddress", HFILL }},
+ { &hf_gprscdr_retransmission,
+ { "retransmission", "gprscdr.retransmission_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_gprscdr_userLocationInfoTime,
+ { "userLocationInfoTime", "gprscdr.userLocationInfoTime",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "TimeStamp", HFILL }},
+ { &hf_gprscdr_cNOperatorSelectionEnt,
+ { "cNOperatorSelectionEnt", "gprscdr.cNOperatorSelectionEnt",
+ FT_UINT32, BASE_DEC, VALS(gprscdr_CNOperatorSelectionEntity_vals), 0,
+ "CNOperatorSelectionEntity", HFILL }},
+ { &hf_gprscdr_presenceReportingAreaInfo,
+ { "presenceReportingAreaInfo", "gprscdr.presenceReportingAreaInfo_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_gprscdr_lastUserLocationInformation,
+ { "lastUserLocationInformation", "gprscdr.lastUserLocationInformation",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "OCTET_STRING", HFILL }},
+ { &hf_gprscdr_lastMSTimeZone,
+ { "lastMSTimeZone", "gprscdr.lastMSTimeZone",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "MSTimeZone", HFILL }},
{ &hf_gprscdr_p_GWAddress,
{ "p-GWAddress", "gprscdr.p_GWAddress",
FT_UINT32, BASE_DEC, VALS(gprscdr_IPAddress_vals), 0,
"GSNAddress", HFILL }},
- { &hf_gprscdr_servinggNodePLMNIdentifier,
- { "servinggNodePLMNIdentifier", "gprscdr.servinggNodePLMNIdentifier",
- FT_BYTES, BASE_NONE, NULL, 0,
- "PLMN_Id", HFILL }},
{ &hf_gprscdr_listOfServiceData_01,
{ "listOfServiceData", "gprscdr.listOfServiceData",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -3474,6 +3838,66 @@ proto_register_gprscdr(void)
{ "tWANUserLocationInformation", "gprscdr.tWANUserLocationInformation_element",
FT_NONE, BASE_NONE, NULL, 0,
"TWANUserLocationInfo", HFILL }},
+ { &hf_gprscdr_ePCQoSInformation,
+ { "ePCQoSInformation", "gprscdr.ePCQoSInformation_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_gprscdr_tDFAddress,
+ { "tDFAddress", "gprscdr.tDFAddress",
+ FT_UINT32, BASE_DEC, VALS(gprscdr_IPAddress_vals), 0,
+ "GSNAddress", HFILL }},
+ { &hf_gprscdr_tDFiPv6AddressUsed,
+ { "tDFiPv6AddressUsed", "gprscdr.tDFiPv6AddressUsed",
+ FT_UINT32, BASE_DEC, VALS(gprscdr_IPAddress_vals), 0,
+ "GSNAddress", HFILL }},
+ { &hf_gprscdr_tDFPLMNIdentifier,
+ { "tDFPLMNIdentifier", "gprscdr.tDFPLMNIdentifier",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "PLMN_Id", HFILL }},
+ { &hf_gprscdr_servedFixedSubsID,
+ { "servedFixedSubsID", "gprscdr.servedFixedSubsID",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "FixedSubsID", HFILL }},
+ { &hf_gprscdr_accessLineIdentifier,
+ { "accessLineIdentifier", "gprscdr.accessLineIdentifier_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_gprscdr_fixedUserLocationInformation,
+ { "fixedUserLocationInformation", "gprscdr.fixedUserLocationInformation_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_gprscdr_iPEdgeAddress,
+ { "iPEdgeAddress", "gprscdr.iPEdgeAddress",
+ FT_UINT32, BASE_DEC, VALS(gprscdr_IPAddress_vals), 0,
+ "GSNAddress", HFILL }},
+ { &hf_gprscdr_iPCANsessionType,
+ { "iPCANsessionType", "gprscdr.iPCANsessionType",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "PDPType", HFILL }},
+ { &hf_gprscdr_servedIPCANsessionAddress,
+ { "servedIPCANsessionAddress", "gprscdr.servedIPCANsessionAddress",
+ FT_UINT32, BASE_DEC, VALS(gprscdr_PDPAddress_vals), 0,
+ "PDPAddress", HFILL }},
+ { &hf_gprscdr_iPEdgeOperatorIdentifier,
+ { "iPEdgeOperatorIdentifier", "gprscdr.iPEdgeOperatorIdentifier",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "PLMN_Id", HFILL }},
+ { &hf_gprscdr_servedIPCANsessionAddressExt,
+ { "servedIPCANsessionAddressExt", "gprscdr.servedIPCANsessionAddressExt",
+ FT_UINT32, BASE_DEC, VALS(gprscdr_PDPAddress_vals), 0,
+ "PDPAddress", HFILL }},
+ { &hf_gprscdr_iPEdgeiPv6AddressUsed,
+ { "iPEdgeiPv6AddressUsed", "gprscdr.iPEdgeiPv6AddressUsed",
+ FT_UINT32, BASE_DEC, VALS(gprscdr_IPAddress_vals), 0,
+ "GSNAddress", HFILL }},
+ { &hf_gprscdr_ePDGAddressUsed,
+ { "ePDGAddressUsed", "gprscdr.ePDGAddressUsed",
+ FT_UINT32, BASE_DEC, VALS(gprscdr_IPAddress_vals), 0,
+ "GSNAddress", HFILL }},
+ { &hf_gprscdr_ePDGiPv6AddressUsed,
+ { "ePDGiPv6AddressUsed", "gprscdr.ePDGiPv6AddressUsed",
+ FT_UINT32, BASE_DEC, VALS(gprscdr_IPAddress_vals), 0,
+ "GSNAddress", HFILL }},
{ &hf_gprscdr_changeLocation,
{ "changeLocation", "gprscdr.changeLocation",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -3514,6 +3938,14 @@ proto_register_gprscdr(void)
{ "originatingAddress", "gprscdr.originatingAddress",
FT_BYTES, BASE_NONE, NULL, 0,
"AddressString", HFILL }},
+ { &hf_gprscdr_physicalAccessID,
+ { "physicalAccessID", "gprscdr.physicalAccessID",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "UTF8String", HFILL }},
+ { &hf_gprscdr_logicalAccessID,
+ { "logicalAccessID", "gprscdr.logicalAccessID",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "OCTET_STRING", HFILL }},
{ &hf_gprscdr_aFChargingIdentifier,
{ "aFChargingIdentifier", "gprscdr.aFChargingIdentifier",
FT_BYTES, BASE_NONE, NULL, 0,
@@ -3582,9 +4014,9 @@ proto_register_gprscdr(void)
{ "changeCondition", "gprscdr.changeCondition",
FT_UINT32, BASE_DEC, VALS(gprscdr_ChangeCondition_vals), 0,
NULL, HFILL }},
- { &hf_gprscdr_ePCQoSInformation,
- { "ePCQoSInformation", "gprscdr.ePCQoSInformation_element",
- FT_NONE, BASE_NONE, NULL, 0,
+ { &hf_gprscdr_presenceReportingAreaStatus,
+ { "presenceReportingAreaStatus", "gprscdr.presenceReportingAreaStatus",
+ FT_UINT32, BASE_DEC, VALS(gprscdr_PresenceReportingAreaStatus_vals), 0,
NULL, HFILL }},
{ &hf_gprscdr_serviceConditionChange_01,
{ "serviceConditionChange", "gprscdr.serviceConditionChange",
@@ -3626,6 +4058,10 @@ proto_register_gprscdr(void)
{ "applicationServiceProviderIdentity", "gprscdr.applicationServiceProviderIdentity",
FT_BYTES, BASE_NONE, NULL, 0,
"OCTET_STRING", HFILL }},
+ { &hf_gprscdr_aDCRuleBaseName,
+ { "aDCRuleBaseName", "gprscdr.aDCRuleBaseName",
+ FT_STRING, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_gprscdr_routingAreaCode,
{ "routingAreaCode", "gprscdr.routingAreaCode",
FT_BYTES, BASE_NONE, NULL, 0,
@@ -3682,6 +4118,14 @@ proto_register_gprscdr(void)
{ "TimeStamp", "gprscdr.TimeStamp",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_gprscdr_sSID,
+ { "sSID", "gprscdr.sSID",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "OCTET_STRING", HFILL }},
+ { &hf_gprscdr_bSSID,
+ { "bSSID", "gprscdr.bSSID",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "OCTET_STRING", HFILL }},
{ &hf_gprscdr_mediaComponentNumber,
{ "mediaComponentNumber", "gprscdr.mediaComponentNumber",
FT_INT32, BASE_DEC, NULL, 0,
@@ -3698,6 +4142,10 @@ proto_register_gprscdr(void)
{ "iPAddress", "gprscdr.iPAddress",
FT_UINT32, BASE_DEC, VALS(gprscdr_IPAddress_vals), 0,
NULL, HFILL }},
+ { &hf_gprscdr_presenceReportingAreaIdentifier,
+ { "presenceReportingAreaIdentifier", "gprscdr.presenceReportingAreaIdentifier",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "OCTET_STRING", HFILL }},
{ &hf_gprscdr_pSFreeFormatData,
{ "pSFreeFormatData", "gprscdr.pSFreeFormatData",
FT_BYTES, BASE_NONE, NULL, 0,
@@ -3714,14 +4162,6 @@ proto_register_gprscdr(void)
{ "baseTimeInterval", "gprscdr.baseTimeInterval",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER", HFILL }},
- { &hf_gprscdr_sSID,
- { "sSID", "gprscdr.sSID",
- FT_BYTES, BASE_NONE, NULL, 0,
- "OCTET_STRING", HFILL }},
- { &hf_gprscdr_bSSID,
- { "bSSID", "gprscdr.bSSID",
- FT_BYTES, BASE_NONE, NULL, 0,
- "OCTET_STRING", HFILL }},
{ &hf_gprscdr_cSGId,
{ "cSGId", "gprscdr.cSGId",
FT_BYTES, BASE_NONE, NULL, 0,
@@ -3998,11 +4438,15 @@ proto_register_gprscdr(void)
&ett_gprscdr_SEQUENCE_OF_ServingNodeType,
&ett_gprscdr_PGWRecord,
&ett_gprscdr_SEQUENCE_OF_ChangeOfServiceCondition,
+ &ett_gprscdr_TDFRecord,
+ &ett_gprscdr_IPERecord,
+ &ett_gprscdr_EPDGRecord,
&ett_gprscdr_SGSNMMRecord,
&ett_gprscdr_SEQUENCE_OF_ChangeLocation,
&ett_gprscdr_SGSNPDPRecord,
&ett_gprscdr_SGSNSMORecord,
&ett_gprscdr_SGSNSMTRecord,
+ &ett_gprscdr_AccessLineIdentifier,
&ett_gprscdr_AFRecordInformation,
&ett_gprscdr_CAMELInformationMM,
&ett_gprscdr_CAMELInformationPDP,
@@ -4015,9 +4459,11 @@ proto_register_gprscdr(void)
&ett_gprscdr_EPCQoSInformation,
&ett_gprscdr_EventBasedChargingInformation,
&ett_gprscdr_SEQUENCE_OF_TimeStamp,
+ &ett_gprscdr_FixedUserLocationInformation,
&ett_gprscdr_Flows,
&ett_gprscdr_T_flowNumber,
&ett_gprscdr_PDPAddress,
+ &ett_gprscdr_PresenceReportingAreaInfo,
&ett_gprscdr_PSFurnishChargingInformation,
&ett_gprscdr_ServiceConditionChange,
&ett_gprscdr_TimeQuotaMechanism,
diff --git a/epan/dissectors/packet-gprscdr.h b/epan/dissectors/packet-gprscdr.h
index 90b68db49a..53bfd390dc 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 */
-/* ../../tools/asn2wrs.py -b -p gprscdr -c ./gprscdr.cnf -s ./packet-gprscdr-template -D . -O ../../epan/dissectors GenericChargingDataTypesV1171.asn GPRSChargingDataTypesV641.asn GPRSChargingDataTypesV1171.asn */
+/* ../../tools/asn2wrs.py -b -p gprscdr -c ./gprscdr.cnf -s ./packet-gprscdr-template -D . -O ../../epan/dissectors GenericChargingDataTypesV1250.asn GPRSChargingDataTypesV641.asn GPRSChargingDataTypesV1250.asn */
/* Input file: packet-gprscdr-template.h */
diff --git a/epan/dissectors/packet-gtp.c b/epan/dissectors/packet-gtp.c
index d587346739..6ef34c6658 100644
--- a/epan/dissectors/packet-gtp.c
+++ b/epan/dissectors/packet-gtp.c
@@ -7737,7 +7737,7 @@ decode_gtp_data_req(tvbuff_t * tvb, int offset, packet_info * pinfo, proto_tree
if(format==1) {
if(rel_id == 6){
dissect_gprscdr_GPRSCallEventRecord_PDU(next_tvb, pinfo, cdr_dr_tree, NULL);
- }else if((rel_id == 8)||(rel_id == 9)){
+ }else if(rel_id >6){
dissect_gprscdr_GPRSRecord_PDU(next_tvb, pinfo, cdr_dr_tree, NULL);
}
} else {