aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2013-12-01 20:34:21 +0000
committerAnders Broman <anders.broman@ericsson.com>2013-12-01 20:34:21 +0000
commit9baa93519c2aa5e591b39d83cb8849309bdb7569 (patch)
tree28c93caa3ec8bb218b16f737095e1a3ec347ccff
parenteb8b50625ae8be06b453da09b0928c0d5faaba99 (diff)
Update to V11.7.1 (2013-09)
svn path=/trunk/; revision=53700
-rw-r--r--asn1/gprscdr/GPRSChargingDataTypesV1171.asn980
-rw-r--r--asn1/gprscdr/GenericChargingDataTypesV1171.asn673
-rw-r--r--asn1/gprscdr/Makefile.common4
-rw-r--r--asn1/gprscdr/gprscdr.cnf1
-rw-r--r--epan/dissectors/packet-gprscdr.c713
-rw-r--r--epan/dissectors/packet-gprscdr.h2
6 files changed, 2195 insertions, 178 deletions
diff --git a/asn1/gprscdr/GPRSChargingDataTypesV1171.asn b/asn1/gprscdr/GPRSChargingDataTypesV1171.asn
new file mode 100644
index 0000000000..ad2dd2ea77
--- /dev/null
+++ b/asn1/gprscdr/GPRSChargingDataTypesV1171.asn
@@ -0,0 +1,980 @@
+-- $Id$
+-- 3GPP TS 32.298 V11.7.1 (2013-09)
+--
+
+GPRSChargingDataTypesV1171 {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,
+MessageReference, MSISDN,
+PositioningData,
+RecordingEntity,
+RecordType,
+RoutingAreaCode,
+ServiceSpecificInfo,
+SMSResult,
+SmsTpDestinationNumber,
+SubscriptionID,
+TimeStamp,
+MBMSInformation,
+MSTimeZone
+
+
+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 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,
+-- gwMBMSRecord [86] GWMBMSRecord,
+ sGWRecord [78] SGWRecord,
+ pGWRecord [79] PGWRecord
+}
+
+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,
+ servedIMEISV [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
+}
+
+PGWRecord ::= SET
+{
+ 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,
+ 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,
+ externalChargingID [26] OCTET STRING OPTIONAL,
+ servinggNodePLMNIdentifier [27] PLMN-Id OPTIONAL,
+ pSFurnishChargingInformation [28] PSFurnishChargingInformation OPTIONAL,
+ servedIMEISV [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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+--
+--
+
+
+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.
+--
+
+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),
+ 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 only
+--
+{
+ qosRequested [1] QoSInformation OPTIONAL,
+ qosNegotiated [2] QoSInformation OPTIONAL,
+ dataVolumeGPRSUplink [3] DataVolumeGPRS OPTIONAL,
+ dataVolumeGPRSDownlink [4] DataVolumeGPRS OPTIONAL,
+ changeCondition [5] ChangeCondition,
+ changeTime [6] TimeStamp,
+ userLocationInformation [8] OCTET STRING OPTIONAL,
+ ePCQoSInformation [9] EPCQoSInformation OPTIONAL
+}
+
+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 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
+
+}
+
+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 and P-GW
+ roamingDefault (4), -- For SGSN, S-GW and P-GW
+ visitingDefault (5) -- For SGSN, S-GW and P-GW
+}
+
+CSGAccessMode ::= ENUMERATED
+{
+ closedMode (0),
+ hybridMode (1)
+}
+
+CSGId ::= OCTET STRING (SIZE(4))
+ --
+ -- Defined in 23.003[200]. Coded according to TS 29.060[215] for GTP, and in TS 29.274 [223]
+ -- for eGTP.
+ -- 24.008 [208]
+ --
+
+CTEID ::= OCTET STRING (SIZE(4))
+
+ --
+ -- Defined in 32.251[11] for MBMS-GW-CDR. Common Tunnel Endpoint Identifier of MBMS GW for user --
+ -- plane, defined in TS23.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
+
+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 a 1:1 copy from the Routing Area Identity (RAI) IE specified in TS 29.060 [215]
+-- as follows:
+-- OCTET 1 of PLMN-Id = OCTET 2 of RAI
+-- OCTET 2 of PLMN-Id = OCTET 3 of RAI
+-- OCTET 3 of PLMN-Id = OCTET 4 of RAI
+--
+
+
+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
+ 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
+ volumeLimit (26), -- intermediate recording.From "Service Data
+ 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 [409]
+ bSSID [1] OCTET STRING OPTIONAL -- see format in IEEE Std 802.11-2012 [409]
+}
+
+UserCSGInformation ::= SEQUENCE
+{
+ cSGId [0] CSGId,
+ cSGAccessMode [1] CSGAccessMode,
+ cSGMembershipIndication [2] NULL OPTIONAL
+}
+
+END
diff --git a/asn1/gprscdr/GenericChargingDataTypesV1171.asn b/asn1/gprscdr/GenericChargingDataTypesV1171.asn
new file mode 100644
index 0000000000..9f359b1d08
--- /dev/null
+++ b/asn1/gprscdr/GenericChargingDataTypesV1171.asn
@@ -0,0 +1,673 @@
+-- $Id: GenericChargingDataTypes.asn 52132 2013-09-18 02:48:29Z cmaynard $
+-- 3GPP TS 32.298 V11.7.1 (2013-09)
+
+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) abstract-syntax (1) apdus (0) version (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]
+
+
+}
+
+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,88 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..69, 70, 82, 89, 90, 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]
+-- Record values 76,77 and 86 are MBMS bearer context specific
+--
+ sgsnMBMSRecord (76),
+ ggsnMBMSRecord (77),
+ gwMBMSRecord (86),
+--
+-- 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 [32]
+--
+ pPFRecord (80),
+ cPFRecord (81),
+
+-- Record values 84..85 are EPC specific.
+-- The contents are defined in TS 32.251 [11]
+--
+ sGWRecord (84),
+ pGWRecord (85),
+--
+-- Record Value 83 is MMTel specific.
+-- The contents are defined in TS 32.275 [35]
+--
+ mMTelRecord (83),
+--
+-- Record value 87 and 88 are CS specific.
+-- The contents are defined in TS 32.250 [10]
+--
+ mSCsRVCCRecord (87) ,
+ mMTRFRecord (88)
+
+}
+
+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.
+--
+
+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 8825b77708..ee76a2d492 100644
--- a/asn1/gprscdr/Makefile.common
+++ b/asn1/gprscdr/Makefile.common
@@ -26,9 +26,9 @@ EXPORT_FILES = \
$(PROTOCOL_NAME)-exp.cnf
ASN_FILE_LIST = \
- GenericChargingDataTypesV9f0.asn \
+ GenericChargingDataTypesV1171.asn \
GPRSChargingDataTypesV641.asn \
- GPRSChargingDataTypesV9f0.asn
+ GPRSChargingDataTypesV1171.asn
# The packet-$(PROTOCOL_NAME)-template.h and $(PROTOCOL_NAME).asn
# files do not exist for all protocols: Please add/remove as required.
diff --git a/asn1/gprscdr/gprscdr.cnf b/asn1/gprscdr/gprscdr.cnf
index 317ec67584..f07d2d982e 100644
--- a/asn1/gprscdr/gprscdr.cnf
+++ b/asn1/gprscdr/gprscdr.cnf
@@ -8,7 +8,6 @@
#.OMIT_ASSIGNMENT
CalledNumber
-CallReference
ChargeIndicator
MscNo
SystemType
diff --git a/epan/dissectors/packet-gprscdr.c b/epan/dissectors/packet-gprscdr.c
index cb53639504..b3283c95ba 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 GenericChargingDataTypesV9f0.asn GPRSChargingDataTypesV641.asn GPRSChargingDataTypesV9f0.asn */
+/* ../../tools/asn2wrs.py -b -p gprscdr -c ./gprscdr.cnf -s ./packet-gprscdr-template -D . -O ../../epan/dissectors 3GPPGenericChargingDataTypesV1171.asn GPRSChargingDataTypesV641.asn GPRSChargingDataTypesV1171.asn */
/* Input file: packet-gprscdr-template.c */
@@ -63,13 +63,28 @@ static int hf_gprscdr_networkSpecificCause = -1; /* ManagementExtension */
static int hf_gprscdr_manufacturerSpecificCause = -1; /* ManagementExtension */
static int hf_gprscdr_positionMethodFailureCause = -1; /* PositionMethodFailure_Diagnostic */
static int hf_gprscdr_unauthorizedLCSClientCause = -1; /* UnauthorizedLCSClient_Diagnostic */
+static int hf_gprscdr_diameterResultCodeAndExperimentalResult = -1; /* INTEGER */
static int hf_gprscdr_iPBinaryAddress = -1; /* IPBinaryAddress */
static int hf_gprscdr_iPTextRepresentedAddress = -1; /* IPTextRepresentedAddress */
-static int hf_gprscdr_iPBinV4Address = -1; /* OCTET_STRING_SIZE_4 */
-static int hf_gprscdr_iPBinV6Address = -1; /* OCTET_STRING_SIZE_16 */
+static int hf_gprscdr_iPBinV4Address = -1; /* IPBinV4Address */
+static int hf_gprscdr_iPBinV6Address = -1; /* IPBinV6AddressWithOrWithoutPrefixLength */
+static int hf_gprscdr_iPBinV6Address_01 = -1; /* IPBinV6Address */
+static int hf_gprscdr_iPBinV6AddressWithPrefix = -1; /* IPBinV6AddressWithPrefixLength */
+static int hf_gprscdr_pDPAddressPrefixLength = -1; /* PDPAddressPrefixLength */
static int hf_gprscdr_iPTextV4Address = -1; /* IA5String_SIZE_7_15 */
static int hf_gprscdr_iPTextV6Address = -1; /* IA5String_SIZE_15_45 */
static int hf_gprscdr_ManagementExtensions_item = -1; /* ManagementExtension */
+static int hf_gprscdr_tMGI = -1; /* TMGI */
+static int hf_gprscdr_mBMSSessionIdentity = -1; /* MBMSSessionIdentity */
+static int hf_gprscdr_mBMSServiceType = -1; /* MBMSServiceType */
+static int hf_gprscdr_mBMSUserServiceType = -1; /* MBMSUserServiceType */
+static int hf_gprscdr_mBMS2G3GIndicator = -1; /* MBMS2G3GIndicator */
+static int hf_gprscdr_fileRepairSupported = -1; /* BOOLEAN */
+static int hf_gprscdr_rAI = -1; /* RoutingAreaCode */
+static int hf_gprscdr_mBMSServiceArea = -1; /* MBMSServiceArea */
+static int hf_gprscdr_requiredMBMSBearerCaps = -1; /* RequiredMBMSBearerCapabilities */
+static int hf_gprscdr_mBMSGWAddress = -1; /* GSNAddress */
+static int hf_gprscdr_cNIPMulticastDistribution = -1; /* CNIPMulticastDistribution */
static int hf_gprscdr_iPAddress = -1; /* IPAddress */
static int hf_gprscdr_domainName = -1; /* GraphicString */
static int hf_gprscdr_serviceSpecificData = -1; /* GraphicString */
@@ -189,6 +204,7 @@ static int hf_gprscdr_pDNConnectionChargingID = -1; /* ChargingID */
static int hf_gprscdr_iMSIunauthenticatedFlag = -1; /* NULL */
static int hf_gprscdr_userCSGInformation = -1; /* UserCSGInformation */
static int hf_gprscdr_servedPDPPDNAddressExt = -1; /* PDPAddress */
+static int hf_gprscdr_lowPriorityIndicator = -1; /* NULL */
static int hf_gprscdr_dynamicAddressFlagExt = -1; /* DynamicAddressFlag */
static int hf_gprscdr_s_GWiPv6Address = -1; /* GSNAddress */
static int hf_gprscdr_servingNodeiPv6Address = -1; /* SEQUENCE_OF_GSNAddress */
@@ -201,10 +217,17 @@ static int hf_gprscdr_listOfServiceData_item_01 = -1; /* ChangeOfServiceConditi
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_changeLocation = -1; /* SEQUENCE_OF_ChangeLocation */
static int hf_gprscdr_changeLocation_item = -1; /* ChangeLocation */
static int hf_gprscdr_cAMELInformationMM = -1; /* CAMELInformationMM */
static int hf_gprscdr_cellPLMNId = -1; /* PLMN_Id */
+static int hf_gprscdr_servingNodeType_01 = -1; /* ServingNodeType */
+static int hf_gprscdr_servingNodeAddress_01 = -1; /* GSNAddress */
+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_aFChargingIdentifier = -1; /* AFChargingIdentifier */
static int hf_gprscdr_flows = -1; /* Flows */
static int hf_gprscdr_sCFAddress = -1; /* SCFAddress */
@@ -225,13 +248,14 @@ static int hf_gprscdr_changeCondition_01 = -1; /* ChangeCondition */
static int hf_gprscdr_ePCQoSInformation = -1; /* EPCQoSInformation */
static int hf_gprscdr_serviceConditionChange_01 = -1; /* ServiceConditionChange */
static int hf_gprscdr_qoSInformationNeg_01 = -1; /* EPCQoSInformation */
-static int hf_gprscdr_servingNodeAddress_01 = -1; /* GSNAddress */
static int hf_gprscdr_aFRecordInformation = -1; /* SEQUENCE_OF_AFRecordInformation */
static int hf_gprscdr_aFRecordInformation_item = -1; /* AFRecordInformation */
static int hf_gprscdr_eventBasedChargingInformation = -1; /* EventBasedChargingInformation */
static int hf_gprscdr_timeQuotaMechanism = -1; /* TimeQuotaMechanism */
static int hf_gprscdr_serviceSpecificInfo = -1; /* SEQUENCE_OF_ServiceSpecificInfo */
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_mCC_MNC = -1; /* PLMN_Id */
static int hf_gprscdr_qCI = -1; /* INTEGER */
static int hf_gprscdr_maxRequestedBandwithUL = -1; /* INTEGER */
@@ -251,6 +275,8 @@ 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 */
@@ -323,9 +349,12 @@ static int ett_gprscdr_plmn_id = -1;
static gint ett_gprscdr_Diagnostics = -1;
static gint ett_gprscdr_IPAddress = -1;
static gint ett_gprscdr_IPBinaryAddress = -1;
+static gint ett_gprscdr_IPBinV6AddressWithOrWithoutPrefixLength = -1;
+static gint ett_gprscdr_IPBinV6AddressWithPrefixLength = -1;
static gint ett_gprscdr_IPTextRepresentedAddress = -1;
static gint ett_gprscdr_LevelOfCAMELService = -1;
static gint ett_gprscdr_ManagementExtensions = -1;
+static gint ett_gprscdr_MBMSInformation = -1;
static gint ett_gprscdr_NodeAddress = -1;
static gint ett_gprscdr_ServiceSpecificInfo = -1;
static gint ett_gprscdr_SubscriptionID = -1;
@@ -372,6 +401,7 @@ static gint ett_gprscdr_PDPAddress = -1;
static gint ett_gprscdr_PSFurnishChargingInformation = -1;
static gint ett_gprscdr_ServiceConditionChange = -1;
static gint ett_gprscdr_TimeQuotaMechanism = -1;
+static gint ett_gprscdr_TWANUserLocationInfo = -1;
static gint ett_gprscdr_UserCSGInformation = -1;
/*--- End of included file: packet-gprscdr-ett.c ---*/
@@ -504,101 +534,10 @@ dissect_gprscdr_CallEventRecordType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_
}
-static const value_string gprscdr_RecordType_vals[] = {
- { 0, "moCallRecord" },
- { 1, "mtCallRecord" },
- { 2, "roamingRecord" },
- { 3, "incGatewayRecord" },
- { 4, "outGatewayRecord" },
- { 5, "transitCallRecord" },
- { 6, "moSMSRecord" },
- { 7, "mtSMSRecord" },
- { 8, "moSMSIWRecord" },
- { 9, "mtSMSGWRecord" },
- { 10, "ssActionRecord" },
- { 11, "hlrIntRecord" },
- { 12, "locUpdateHLRRecord" },
- { 13, "locUpdateVLRRecord" },
- { 14, "commonEquipRecord" },
- { 15, "moTraceRecord" },
- { 16, "mtTraceRecord" },
- { 17, "termCAMELRecord" },
- { 18, "sgsnPDPRecord" },
- { 20, "sgsnMMRecord" },
- { 21, "sgsnSMORecord" },
- { 22, "sgsnSMTRecord" },
- { 23, "mtLCSRecord" },
- { 24, "moLCSRecord" },
- { 25, "niLCSRecord" },
- { 26, "sgsnMTLCSRecord" },
- { 27, "sgsnMOLCSRecord" },
- { 28, "sgsnNILCSRecord" },
- { 30, "mMO1SRecord" },
- { 31, "mMO4FRqRecord" },
- { 32, "mMO4FRsRecord" },
- { 33, "mMO4DRecord" },
- { 34, "mMO1DRecord" },
- { 35, "mMO4RRecord" },
- { 36, "mMO1RRecord" },
- { 37, "mMOMDRecord" },
- { 38, "mMR4FRecord" },
- { 39, "mMR1NRqRecord" },
- { 40, "mMR1NRsRecord" },
- { 41, "mMR1RtRecord" },
- { 42, "mMR1AFRecord" },
- { 43, "mMR4DRqRecord" },
- { 44, "mMR4DRsRecord" },
- { 45, "mMR1RRRecord" },
- { 46, "mMR4RRqRecord" },
- { 47, "mMR4RRsRecord" },
- { 48, "mMRMDRecord" },
- { 49, "mMFRecord" },
- { 50, "mMBx1SRecord" },
- { 51, "mMBx1VRecord" },
- { 52, "mMBx1URecord" },
- { 53, "mMBx1DRecord" },
- { 54, "mM7SRecord" },
- { 55, "mM7DRqRecord" },
- { 56, "mM7DRsRecord" },
- { 57, "mM7CRecord" },
- { 58, "mM7RRecord" },
- { 59, "mM7DRRqRecord" },
- { 60, "mM7DRRsRecord" },
- { 61, "mM7RRqRecord" },
- { 62, "mM7RRsRecord" },
- { 63, "sCSCFRecord" },
- { 64, "pCSCFRecord" },
- { 65, "iCSCFRecord" },
- { 66, "mRFCRecord" },
- { 67, "mGCFRecord" },
- { 68, "bGCFRecord" },
- { 69, "aSRecord" },
- { 70, "eCSCFRecord" },
- { 82, "iBCFRecord" },
- { 71, "lCSGMORecord" },
- { 72, "lCSRGMTRecord" },
- { 73, "lCSHGMTRecord" },
- { 74, "lCSVGMTRecord" },
- { 75, "lCSGNIRecord" },
- { 76, "sgsnMBMSRecord" },
- { 77, "ggsnMBMSRecord" },
- { 86, "gwMBMSRecord" },
- { 78, "sUBBMSCRecord" },
- { 79, "cONTENTBMSCRecord" },
- { 80, "pPFRecord" },
- { 81, "cPFRecord" },
- { 84, "sGWRecord" },
- { 85, "pGWRecord" },
- { 83, "mMTelRecord" },
- { 87, "mSCsRVCCRecord" },
- { 0, NULL }
-};
-
static int
-dissect_gprscdr_RecordType(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);
+dissect_gprscdr_CallingNumber(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_gprscdr_BCDDirectoryNumber(implicit_tag, tvb, offset, actx, tree, hf_index);
return offset;
}
@@ -606,18 +545,25 @@ dissect_gprscdr_RecordType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int off
static int
-dissect_gprscdr_CallingNumber(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_gprscdr_BCDDirectoryNumber(implicit_tag, tvb, offset, actx, tree, hf_index);
+dissect_gprscdr_CellId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
return offset;
}
+static const value_string gprscdr_CNIPMulticastDistribution_vals[] = {
+ { 0, "nO-IP-MULTICAST" },
+ { 1, "iP-MULTICAST" },
+ { 0, NULL }
+};
+
static int
-dissect_gprscdr_CellId(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);
+dissect_gprscdr_CNIPMulticastDistribution(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
return offset;
}
@@ -654,7 +600,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 49 "../../asn1/gprscdr/gprscdr.cnf"
+#line 48 "../../asn1/gprscdr/gprscdr.cnf"
proto_tree_add_text(tree, tvb, offset, -1, "Not dissected");
@@ -688,6 +634,7 @@ static const value_string gprscdr_Diagnostics_vals[] = {
{ 4, "manufacturerSpecificCause" },
{ 5, "positionMethodFailureCause" },
{ 6, "unauthorizedLCSClientCause" },
+ { 7, "diameterResultCodeAndExperimentalResult" },
{ 0, NULL }
};
@@ -699,6 +646,7 @@ static const ber_choice_t Diagnostics_choice[] = {
{ 4, &hf_gprscdr_manufacturerSpecificCause, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_gprscdr_ManagementExtension },
{ 5, &hf_gprscdr_positionMethodFailureCause, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_gsm_map_er_PositionMethodFailure_Diagnostic },
{ 6, &hf_gprscdr_unauthorizedLCSClientCause, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_gsm_map_er_UnauthorizedLCSClient_Diagnostic },
+ { 7, &hf_gprscdr_diameterResultCodeAndExperimentalResult, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_gprscdr_INTEGER },
{ 0, NULL, 0, 0, 0, NULL }
};
@@ -714,7 +662,7 @@ dissect_gprscdr_Diagnostics(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of
static int
-dissect_gprscdr_OCTET_STRING_SIZE_4(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_gprscdr_DiameterIdentity(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);
@@ -724,7 +672,7 @@ dissect_gprscdr_OCTET_STRING_SIZE_4(gboolean implicit_tag _U_, tvbuff_t *tvb _U_
static int
-dissect_gprscdr_OCTET_STRING_SIZE_16(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_gprscdr_IPBinV4Address(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
NULL);
@@ -732,6 +680,63 @@ dissect_gprscdr_OCTET_STRING_SIZE_16(gboolean implicit_tag _U_, tvbuff_t *tvb _U
}
+
+static int
+dissect_gprscdr_IPBinV6Address(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_gprscdr_PDPAddressPrefixLength(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 IPBinV6AddressWithPrefixLength_sequence[] = {
+ { &hf_gprscdr_iPBinV6Address_01, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gprscdr_IPBinV6Address },
+ { &hf_gprscdr_pDPAddressPrefixLength, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gprscdr_PDPAddressPrefixLength },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_gprscdr_IPBinV6AddressWithPrefixLength(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,
+ IPBinV6AddressWithPrefixLength_sequence, hf_index, ett_gprscdr_IPBinV6AddressWithPrefixLength);
+
+ return offset;
+}
+
+
+static const value_string gprscdr_IPBinV6AddressWithOrWithoutPrefixLength_vals[] = {
+ { 1, "iPBinV6Address" },
+ { 4, "iPBinV6AddressWithPrefix" },
+ { 0, NULL }
+};
+
+static const ber_choice_t IPBinV6AddressWithOrWithoutPrefixLength_choice[] = {
+ { 1, &hf_gprscdr_iPBinV6Address_01, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gprscdr_IPBinV6Address },
+ { 4, &hf_gprscdr_iPBinV6AddressWithPrefix, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_gprscdr_IPBinV6AddressWithPrefixLength },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_gprscdr_IPBinV6AddressWithOrWithoutPrefixLength(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_choice(actx, tree, tvb, offset,
+ IPBinV6AddressWithOrWithoutPrefixLength_choice, hf_index, ett_gprscdr_IPBinV6AddressWithOrWithoutPrefixLength,
+ NULL);
+
+ return offset;
+}
+
+
static const value_string gprscdr_IPBinaryAddress_vals[] = {
{ 0, "iPBinV4Address" },
{ 1, "iPBinV6Address" },
@@ -739,8 +744,8 @@ static const value_string gprscdr_IPBinaryAddress_vals[] = {
};
static const ber_choice_t IPBinaryAddress_choice[] = {
- { 0, &hf_gprscdr_iPBinV4Address, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING_SIZE_4 },
- { 1, &hf_gprscdr_iPBinV6Address, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING_SIZE_16 },
+ { 0, &hf_gprscdr_iPBinV4Address, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gprscdr_IPBinV4Address },
+ { 1, &hf_gprscdr_iPBinV6Address, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_gprscdr_IPBinV6AddressWithOrWithoutPrefixLength },
{ 0, NULL, 0, 0, 0, NULL }
};
@@ -820,6 +825,15 @@ dissect_gprscdr_IPAddress(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offs
}
+
+static int
+dissect_gprscdr_GSNAddress(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_gprscdr_IPAddress(implicit_tag, tvb, offset, actx, tree, hf_index);
+
+ return offset;
+}
+
+
static const asn_namedbit LevelOfCAMELService_bits[] = {
{ 0, &hf_gprscdr_LevelOfCAMELService_basic, -1, -1, "basic", NULL },
{ 1, &hf_gprscdr_LevelOfCAMELService_callDurationSupervision, -1, -1, "callDurationSupervision", NULL },
@@ -857,9 +871,39 @@ dissect_gprscdr_LocationAreaCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, i
}
+static const ber_sequence_t ManagementExtensions_set_of[1] = {
+ { &hf_gprscdr_ManagementExtensions_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gprscdr_ManagementExtension },
+};
static int
-dissect_gprscdr_MCC_MNC(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_gprscdr_ManagementExtensions(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_of(implicit_tag, actx, tree, tvb, offset,
+ ManagementExtensions_set_of, hf_index, ett_gprscdr_ManagementExtensions);
+
+ return offset;
+}
+
+
+static const value_string gprscdr_MBMS2G3GIndicator_vals[] = {
+ { 0, "twoG" },
+ { 1, "threeG" },
+ { 2, "twoG-AND-threeG" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_gprscdr_MBMS2G3GIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_gprscdr_TMGI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
NULL);
@@ -867,14 +911,107 @@ dissect_gprscdr_MCC_MNC(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset
}
-static const ber_sequence_t ManagementExtensions_set_of[1] = {
- { &hf_gprscdr_ManagementExtensions_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gprscdr_ManagementExtension },
+
+static int
+dissect_gprscdr_MBMSSessionIdentity(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string gprscdr_MBMSServiceType_vals[] = {
+ { 0, "mULTICAST" },
+ { 1, "bROADCAST" },
+ { 0, NULL }
};
+
static int
-dissect_gprscdr_ManagementExtensions(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_of(implicit_tag, actx, tree, tvb, offset,
- ManagementExtensions_set_of, hf_index, ett_gprscdr_ManagementExtensions);
+dissect_gprscdr_MBMSServiceType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string gprscdr_MBMSUserServiceType_vals[] = {
+ { 0, "dOWNLOAD" },
+ { 1, "sTREAMING" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_gprscdr_MBMSUserServiceType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_gprscdr_RoutingAreaCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_gprscdr_MBMSServiceArea(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_gprscdr_RequiredMBMSBearerCapabilities(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t MBMSInformation_set[] = {
+ { &hf_gprscdr_tMGI , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_TMGI },
+ { &hf_gprscdr_mBMSSessionIdentity, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_MBMSSessionIdentity },
+ { &hf_gprscdr_mBMSServiceType, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_MBMSServiceType },
+ { &hf_gprscdr_mBMSUserServiceType, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_MBMSUserServiceType },
+ { &hf_gprscdr_mBMS2G3GIndicator, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_MBMS2G3GIndicator },
+ { &hf_gprscdr_fileRepairSupported, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_BOOLEAN },
+ { &hf_gprscdr_rAI , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_RoutingAreaCode },
+ { &hf_gprscdr_mBMSServiceArea, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_MBMSServiceArea },
+ { &hf_gprscdr_requiredMBMSBearerCaps, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_RequiredMBMSBearerCapabilities },
+ { &hf_gprscdr_mBMSGWAddress, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_GSNAddress },
+ { &hf_gprscdr_cNIPMulticastDistribution, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_CNIPMulticastDistribution },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_gprscdr_MBMSInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
+ MBMSInformation_set, hf_index, ett_gprscdr_MBMSInformation);
+
+ return offset;
+}
+
+
+
+static int
+dissect_gprscdr_MCC_MNC(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
return offset;
}
@@ -902,7 +1039,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 92 "../../asn1/gprscdr/gprscdr.cnf"
+#line 91 "../../asn1/gprscdr/gprscdr.cnf"
/*
*
* 1.Octet: Time Zone and 2. Octet: Daylight saving time, see TS 29.060 [75]
@@ -979,6 +1116,110 @@ dissect_gprscdr_RecordingEntity(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, in
}
+static const value_string gprscdr_RecordType_vals[] = {
+ { 0, "moCallRecord" },
+ { 1, "mtCallRecord" },
+ { 2, "roamingRecord" },
+ { 3, "incGatewayRecord" },
+ { 4, "outGatewayRecord" },
+ { 5, "transitCallRecord" },
+ { 6, "moSMSRecord" },
+ { 7, "mtSMSRecord" },
+ { 8, "moSMSIWRecord" },
+ { 9, "mtSMSGWRecord" },
+ { 10, "ssActionRecord" },
+ { 11, "hlrIntRecord" },
+ { 12, "locUpdateHLRRecord" },
+ { 13, "locUpdateVLRRecord" },
+ { 14, "commonEquipRecord" },
+ { 15, "moTraceRecord" },
+ { 16, "mtTraceRecord" },
+ { 17, "termCAMELRecord" },
+ { 18, "sgsnPDPRecord" },
+ { 20, "sgsnMMRecord" },
+ { 21, "sgsnSMORecord" },
+ { 22, "sgsnSMTRecord" },
+ { 23, "mtLCSRecord" },
+ { 24, "moLCSRecord" },
+ { 25, "niLCSRecord" },
+ { 26, "sgsnMTLCSRecord" },
+ { 27, "sgsnMOLCSRecord" },
+ { 28, "sgsnNILCSRecord" },
+ { 30, "mMO1SRecord" },
+ { 31, "mMO4FRqRecord" },
+ { 32, "mMO4FRsRecord" },
+ { 33, "mMO4DRecord" },
+ { 34, "mMO1DRecord" },
+ { 35, "mMO4RRecord" },
+ { 36, "mMO1RRecord" },
+ { 37, "mMOMDRecord" },
+ { 38, "mMR4FRecord" },
+ { 39, "mMR1NRqRecord" },
+ { 40, "mMR1NRsRecord" },
+ { 41, "mMR1RtRecord" },
+ { 42, "mMR1AFRecord" },
+ { 43, "mMR4DRqRecord" },
+ { 44, "mMR4DRsRecord" },
+ { 45, "mMR1RRRecord" },
+ { 46, "mMR4RRqRecord" },
+ { 47, "mMR4RRsRecord" },
+ { 48, "mMRMDRecord" },
+ { 49, "mMFRecord" },
+ { 50, "mMBx1SRecord" },
+ { 51, "mMBx1VRecord" },
+ { 52, "mMBx1URecord" },
+ { 53, "mMBx1DRecord" },
+ { 54, "mM7SRecord" },
+ { 55, "mM7DRqRecord" },
+ { 56, "mM7DRsRecord" },
+ { 57, "mM7CRecord" },
+ { 58, "mM7RRecord" },
+ { 59, "mM7DRRqRecord" },
+ { 60, "mM7DRRsRecord" },
+ { 61, "mM7RRqRecord" },
+ { 62, "mM7RRsRecord" },
+ { 63, "sCSCFRecord" },
+ { 64, "pCSCFRecord" },
+ { 65, "iCSCFRecord" },
+ { 66, "mRFCRecord" },
+ { 67, "mGCFRecord" },
+ { 68, "bGCFRecord" },
+ { 69, "aSRecord" },
+ { 70, "eCSCFRecord" },
+ { 82, "iBCFRecord" },
+ { 89, "tRFRecord" },
+ { 90, "tFRecord" },
+ { 91, "aTCFRecord" },
+ { 71, "lCSGMORecord" },
+ { 72, "lCSRGMTRecord" },
+ { 73, "lCSHGMTRecord" },
+ { 74, "lCSVGMTRecord" },
+ { 75, "lCSGNIRecord" },
+ { 76, "sgsnMBMSRecord" },
+ { 77, "ggsnMBMSRecord" },
+ { 86, "gwMBMSRecord" },
+ { 78, "sUBBMSCRecord" },
+ { 79, "cONTENTBMSCRecord" },
+ { 80, "pPFRecord" },
+ { 81, "cPFRecord" },
+ { 84, "sGWRecord" },
+ { 85, "pGWRecord" },
+ { 83, "mMTelRecord" },
+ { 87, "mSCsRVCCRecord" },
+ { 88, "mMTRFRecord" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_gprscdr_RecordType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
static int
dissect_gprscdr_ServiceContextID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@@ -1072,7 +1313,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 53 "../../asn1/gprscdr/gprscdr.cnf"
+#line 52 "../../asn1/gprscdr/gprscdr.cnf"
/*
*
* The contents of this field are a compact form of the UTCTime format
@@ -1130,15 +1371,6 @@ dissect_gprscdr_NetworkInitiatedPDPContext(gboolean implicit_tag _U_, tvbuff_t *
static int
-dissect_gprscdr_GSNAddress(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_gprscdr_IPAddress(implicit_tag, tvb, offset, actx, tree, hf_index);
-
- return offset;
-}
-
-
-
-static int
dissect_gprscdr_MSNetworkCapability(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);
@@ -1149,16 +1381,6 @@ dissect_gprscdr_MSNetworkCapability(gboolean implicit_tag _U_, tvbuff_t *tvb _U_
static int
-dissect_gprscdr_RoutingAreaCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
- NULL);
-
- return offset;
-}
-
-
-
-static int
dissect_gprscdr_ChargingID(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);
@@ -1369,16 +1591,6 @@ dissect_gprscdr_ChargingCharacteristics(gboolean implicit_tag _U_, tvbuff_t *tvb
}
-static const value_string gprscdr_RATType_vals[] = {
- { 0, "reserved" },
- { 1, "utran" },
- { 2, "geran" },
- { 3, "wlan" },
- { 4, "gan" },
- { 5, "hspa-evolution" },
- { 0, NULL }
-};
-
static int
dissect_gprscdr_RATType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@@ -1577,7 +1789,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 119 "../../asn1/gprscdr/gprscdr.cnf"
+#line 118 "../../asn1/gprscdr/gprscdr.cnf"
tvbuff_t *parameter_tvb;
proto_tree *subtree;
@@ -2241,6 +2453,7 @@ static const ber_sequence_t SGSNPDPRecord_set[] = {
{ &hf_gprscdr_iMSIunauthenticatedFlag, BER_CLASS_CON, 34, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NULL },
{ &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 },
{ NULL, 0, 0, 0, NULL }
};
@@ -2253,6 +2466,27 @@ dissect_gprscdr_SGSNPDPRecord(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
}
+static const value_string gprscdr_ServingNodeType_vals[] = {
+ { 0, "sGSN" },
+ { 1, "pMIPSGW" },
+ { 2, "gTPSGW" },
+ { 3, "ePDG" },
+ { 4, "hSGW" },
+ { 5, "mME" },
+ { 6, "tWAN" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_gprscdr_ServingNodeType(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 SGSNSMORecord_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 },
@@ -2275,6 +2509,12 @@ static const ber_sequence_t SGSNSMORecord_set[] = {
{ &hf_gprscdr_destinationNumber, BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_SmsTpDestinationNumber },
{ &hf_gprscdr_cAMELInformationSMS, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_CAMELInformationSMS },
{ &hf_gprscdr_chChSelectionMode, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ChChSelectionMode },
+ { &hf_gprscdr_servingNodeType_01, BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_gprscdr_ServingNodeType },
+ { &hf_gprscdr_servingNodeAddress_01, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_GSNAddress },
+ { &hf_gprscdr_servingNodeiPv6Address_01, BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_GSNAddress },
+ { &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 },
{ NULL, 0, 0, 0, NULL }
};
@@ -2307,6 +2547,13 @@ static const ber_sequence_t SGSNSMTRecord_set[] = {
{ &hf_gprscdr_rATType , BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_RATType },
{ &hf_gprscdr_chChSelectionMode, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ChChSelectionMode },
{ &hf_gprscdr_cAMELInformationSMS, BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_CAMELInformationSMS },
+ { &hf_gprscdr_originatingAddress, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AddressString },
+ { &hf_gprscdr_servingNodeType_01, BER_CLASS_CON, 20, BER_FLAGS_IMPLTAG, dissect_gprscdr_ServingNodeType },
+ { &hf_gprscdr_servingNodeAddress_01, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_GSNAddress },
+ { &hf_gprscdr_servingNodeiPv6Address_01, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_GSNAddress },
+ { &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 },
{ NULL, 0, 0, 0, NULL }
};
@@ -2328,26 +2575,6 @@ dissect_gprscdr_SGWChange(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offs
}
-static const value_string gprscdr_ServingNodeType_vals[] = {
- { 0, "sGSN" },
- { 1, "pMIPSGW" },
- { 2, "gTPSGW" },
- { 3, "ePDG" },
- { 4, "hSGW" },
- { 5, "mME" },
- { 0, NULL }
-};
-
-
-static int
-dissect_gprscdr_ServingNodeType(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 SEQUENCE_OF_ServingNodeType_sequence_of[1] = {
{ &hf_gprscdr_servingNodeType_item, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gprscdr_ServingNodeType },
};
@@ -2400,6 +2627,7 @@ static const ber_sequence_t SGWRecord_set[] = {
{ &hf_gprscdr_iMSIunauthenticatedFlag, BER_CLASS_CON, 41, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NULL },
{ &hf_gprscdr_userCSGInformation, BER_CLASS_CON, 42, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_UserCSGInformation },
{ &hf_gprscdr_servedPDPPDNAddressExt, BER_CLASS_CON, 43, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_PDPAddress },
+ { &hf_gprscdr_lowPriorityIndicator, BER_CLASS_CON, 44, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NULL },
{ &hf_gprscdr_dynamicAddressFlagExt, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_DynamicAddressFlag },
{ &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 },
@@ -2623,6 +2851,8 @@ static const ber_sequence_t ChangeOfServiceCondition_sequence[] = {
{ &hf_gprscdr_timeQuotaMechanism, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_TimeQuotaMechanism },
{ &hf_gprscdr_serviceSpecificInfo, BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_SEQUENCE_OF_ServiceSpecificInfo },
{ &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 },
{ NULL, 0, 0, 0, NULL }
};
@@ -2648,6 +2878,21 @@ dissect_gprscdr_SEQUENCE_OF_ChangeOfServiceCondition(gboolean implicit_tag _U_,
}
+static const ber_sequence_t TWANUserLocationInfo_sequence[] = {
+ { &hf_gprscdr_sSID , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING },
+ { &hf_gprscdr_bSSID , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_gprscdr_TWANUserLocationInfo(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,
+ TWANUserLocationInfo_sequence, hf_index, ett_gprscdr_TWANUserLocationInfo);
+
+ return offset;
+}
+
+
static const ber_sequence_t PGWRecord_set[] = {
{ &hf_gprscdr_recordType_01, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gprscdr_RecordType },
{ &hf_gprscdr_servedIMSI , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
@@ -2691,9 +2936,11 @@ static const ber_sequence_t PGWRecord_set[] = {
{ &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_lowPriorityIndicator, BER_CLASS_CON, 46, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NULL },
{ &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 },
{ NULL, 0, 0, 0, NULL }
};
@@ -2745,6 +2992,16 @@ dissect_gprscdr_CTEID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _
return offset;
}
+
+
+static int
+dissect_gprscdr_DataVolumeMBMS(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
/*--- PDUs ---*/
int dissect_gprscdr_GPRSCallEventRecord_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
@@ -2813,6 +3070,10 @@ proto_register_gprscdr(void)
{ "unauthorizedLCSClientCause", "gprscdr.unauthorizedLCSClientCause",
FT_UINT32, BASE_DEC, VALS(gsm_map_er_UnauthorizedLCSClient_Diagnostic_vals), 0,
"UnauthorizedLCSClient_Diagnostic", HFILL }},
+ { &hf_gprscdr_diameterResultCodeAndExperimentalResult,
+ { "diameterResultCodeAndExperimentalResult", "gprscdr.diameterResultCodeAndExperimentalResult",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "INTEGER", HFILL }},
{ &hf_gprscdr_iPBinaryAddress,
{ "iPBinaryAddress", "gprscdr.iPBinaryAddress",
FT_UINT32, BASE_DEC, VALS(gprscdr_IPBinaryAddress_vals), 0,
@@ -2823,12 +3084,24 @@ proto_register_gprscdr(void)
NULL, HFILL }},
{ &hf_gprscdr_iPBinV4Address,
{ "iPBinV4Address", "gprscdr.iPBinV4Address",
- FT_IPv4, BASE_NONE, NULL, 0,
- "OCTET_STRING_SIZE_4", HFILL }},
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_gprscdr_iPBinV6Address,
{ "iPBinV6Address", "gprscdr.iPBinV6Address",
- FT_IPv6, BASE_NONE, NULL, 0,
- "OCTET_STRING_SIZE_16", HFILL }},
+ FT_UINT32, BASE_DEC, VALS(gprscdr_IPBinV6AddressWithOrWithoutPrefixLength_vals), 0,
+ "IPBinV6AddressWithOrWithoutPrefixLength", HFILL }},
+ { &hf_gprscdr_iPBinV6Address_01,
+ { "iPBinV6Address", "gprscdr.iPBinV6Address",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_gprscdr_iPBinV6AddressWithPrefix,
+ { "iPBinV6AddressWithPrefix", "gprscdr.iPBinV6AddressWithPrefix_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "IPBinV6AddressWithPrefixLength", HFILL }},
+ { &hf_gprscdr_pDPAddressPrefixLength,
+ { "pDPAddressPrefixLength", "gprscdr.pDPAddressPrefixLength",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
{ &hf_gprscdr_iPTextV4Address,
{ "iPTextV4Address", "gprscdr.iPTextV4Address",
FT_STRING, BASE_NONE, NULL, 0,
@@ -2841,6 +3114,50 @@ proto_register_gprscdr(void)
{ "ManagementExtension", "gprscdr.ManagementExtension_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_gprscdr_tMGI,
+ { "tMGI", "gprscdr.tMGI",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_gprscdr_mBMSSessionIdentity,
+ { "mBMSSessionIdentity", "gprscdr.mBMSSessionIdentity",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_gprscdr_mBMSServiceType,
+ { "mBMSServiceType", "gprscdr.mBMSServiceType",
+ FT_UINT32, BASE_DEC, VALS(gprscdr_MBMSServiceType_vals), 0,
+ NULL, HFILL }},
+ { &hf_gprscdr_mBMSUserServiceType,
+ { "mBMSUserServiceType", "gprscdr.mBMSUserServiceType",
+ FT_UINT32, BASE_DEC, VALS(gprscdr_MBMSUserServiceType_vals), 0,
+ NULL, HFILL }},
+ { &hf_gprscdr_mBMS2G3GIndicator,
+ { "mBMS2G3GIndicator", "gprscdr.mBMS2G3GIndicator",
+ FT_UINT32, BASE_DEC, VALS(gprscdr_MBMS2G3GIndicator_vals), 0,
+ NULL, HFILL }},
+ { &hf_gprscdr_fileRepairSupported,
+ { "fileRepairSupported", "gprscdr.fileRepairSupported",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ "BOOLEAN", HFILL }},
+ { &hf_gprscdr_rAI,
+ { "rAI", "gprscdr.rAI",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "RoutingAreaCode", HFILL }},
+ { &hf_gprscdr_mBMSServiceArea,
+ { "mBMSServiceArea", "gprscdr.mBMSServiceArea",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_gprscdr_requiredMBMSBearerCaps,
+ { "requiredMBMSBearerCaps", "gprscdr.requiredMBMSBearerCaps",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "RequiredMBMSBearerCapabilities", HFILL }},
+ { &hf_gprscdr_mBMSGWAddress,
+ { "mBMSGWAddress", "gprscdr.mBMSGWAddress",
+ FT_UINT32, BASE_DEC, VALS(gprscdr_IPAddress_vals), 0,
+ "GSNAddress", HFILL }},
+ { &hf_gprscdr_cNIPMulticastDistribution,
+ { "cNIPMulticastDistribution", "gprscdr.cNIPMulticastDistribution",
+ FT_UINT32, BASE_DEC, VALS(gprscdr_CNIPMulticastDistribution_vals), 0,
+ NULL, HFILL }},
{ &hf_gprscdr_iPAddress,
{ "iPAddress", "gprscdr.iPAddress",
FT_UINT32, BASE_DEC, VALS(gprscdr_IPAddress_vals), 0,
@@ -3019,7 +3336,7 @@ proto_register_gprscdr(void)
"IMEI", HFILL }},
{ &hf_gprscdr_rATType,
{ "rATType", "gprscdr.rATType",
- FT_UINT32, BASE_DEC, VALS(gprscdr_RATType_vals), 0,
+ FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_gprscdr_mSTimeZone,
{ "mSTimeZone", "gprscdr.mSTimeZone",
@@ -3317,6 +3634,10 @@ proto_register_gprscdr(void)
{ "servedPDPPDNAddressExt", "gprscdr.servedPDPPDNAddressExt",
FT_UINT32, BASE_DEC, VALS(gprscdr_PDPAddress_vals), 0,
"PDPAddress", HFILL }},
+ { &hf_gprscdr_lowPriorityIndicator,
+ { "lowPriorityIndicator", "gprscdr.lowPriorityIndicator_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_gprscdr_dynamicAddressFlagExt,
{ "dynamicAddressFlagExt", "gprscdr.dynamicAddressFlagExt",
FT_BOOLEAN, BASE_NONE, NULL, 0,
@@ -3365,6 +3686,10 @@ proto_register_gprscdr(void)
{ "threeGPP2UserLocationInformation", "gprscdr.threeGPP2UserLocationInformation",
FT_BYTES, BASE_NONE, NULL, 0,
"OCTET_STRING", HFILL }},
+ { &hf_gprscdr_tWANUserLocationInformation,
+ { "tWANUserLocationInformation", "gprscdr.tWANUserLocationInformation_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "TWANUserLocationInfo", HFILL }},
{ &hf_gprscdr_changeLocation,
{ "changeLocation", "gprscdr.changeLocation",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -3381,6 +3706,30 @@ proto_register_gprscdr(void)
{ "cellPLMNId", "gprscdr.cellPLMNId",
FT_BYTES, BASE_NONE, NULL, 0,
"PLMN_Id", HFILL }},
+ { &hf_gprscdr_servingNodeType_01,
+ { "servingNodeType", "gprscdr.servingNodeType",
+ FT_UINT32, BASE_DEC, VALS(gprscdr_ServingNodeType_vals), 0,
+ NULL, HFILL }},
+ { &hf_gprscdr_servingNodeAddress_01,
+ { "servingNodeAddress", "gprscdr.servingNodeAddress",
+ FT_UINT32, BASE_DEC, VALS(gprscdr_IPAddress_vals), 0,
+ "GSNAddress", HFILL }},
+ { &hf_gprscdr_servingNodeiPv6Address_01,
+ { "servingNodeiPv6Address", "gprscdr.servingNodeiPv6Address",
+ FT_UINT32, BASE_DEC, VALS(gprscdr_IPAddress_vals), 0,
+ "GSNAddress", HFILL }},
+ { &hf_gprscdr_mMEName,
+ { "mMEName", "gprscdr.mMEName",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "DiameterIdentity", HFILL }},
+ { &hf_gprscdr_mMERealm,
+ { "mMERealm", "gprscdr.mMERealm",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "DiameterIdentity", HFILL }},
+ { &hf_gprscdr_originatingAddress,
+ { "originatingAddress", "gprscdr.originatingAddress",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "AddressString", HFILL }},
{ &hf_gprscdr_aFChargingIdentifier,
{ "aFChargingIdentifier", "gprscdr.aFChargingIdentifier",
FT_BYTES, BASE_NONE, NULL, 0,
@@ -3461,10 +3810,6 @@ proto_register_gprscdr(void)
{ "qoSInformationNeg", "gprscdr.qoSInformationNeg_element",
FT_NONE, BASE_NONE, NULL, 0,
"EPCQoSInformation", HFILL }},
- { &hf_gprscdr_servingNodeAddress_01,
- { "servingNodeAddress", "gprscdr.servingNodeAddress",
- FT_UINT32, BASE_DEC, VALS(gprscdr_IPAddress_vals), 0,
- "GSNAddress", HFILL }},
{ &hf_gprscdr_aFRecordInformation,
{ "aFRecordInformation", "gprscdr.aFRecordInformation",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -3489,6 +3834,14 @@ proto_register_gprscdr(void)
{ "ServiceSpecificInfo", "gprscdr.ServiceSpecificInfo_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_gprscdr_sponsorIdentity,
+ { "sponsorIdentity", "gprscdr.sponsorIdentity",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "OCTET_STRING", HFILL }},
+ { &hf_gprscdr_applicationServiceProviderIdentity,
+ { "applicationServiceProviderIdentity", "gprscdr.applicationServiceProviderIdentity",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "OCTET_STRING", HFILL }},
{ &hf_gprscdr_mCC_MNC,
{ "mCC-MNC", "gprscdr.mCC_MNC",
FT_BYTES, BASE_NONE, NULL, 0,
@@ -3565,6 +3918,14 @@ 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,
@@ -3813,9 +4174,12 @@ proto_register_gprscdr(void)
&ett_gprscdr_Diagnostics,
&ett_gprscdr_IPAddress,
&ett_gprscdr_IPBinaryAddress,
+ &ett_gprscdr_IPBinV6AddressWithOrWithoutPrefixLength,
+ &ett_gprscdr_IPBinV6AddressWithPrefixLength,
&ett_gprscdr_IPTextRepresentedAddress,
&ett_gprscdr_LevelOfCAMELService,
&ett_gprscdr_ManagementExtensions,
+ &ett_gprscdr_MBMSInformation,
&ett_gprscdr_NodeAddress,
&ett_gprscdr_ServiceSpecificInfo,
&ett_gprscdr_SubscriptionID,
@@ -3862,6 +4226,7 @@ proto_register_gprscdr(void)
&ett_gprscdr_PSFurnishChargingInformation,
&ett_gprscdr_ServiceConditionChange,
&ett_gprscdr_TimeQuotaMechanism,
+ &ett_gprscdr_TWANUserLocationInfo,
&ett_gprscdr_UserCSGInformation,
/*--- End of included file: packet-gprscdr-ettarr.c ---*/
diff --git a/epan/dissectors/packet-gprscdr.h b/epan/dissectors/packet-gprscdr.h
index 4d319282b0..269d406b4a 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 GenericChargingDataTypesV9f0.asn GPRSChargingDataTypesV641.asn GPRSChargingDataTypesV9f0.asn */
+/* ../../tools/asn2wrs.py -b -p gprscdr -c ./gprscdr.cnf -s ./packet-gprscdr-template -D . -O ../../epan/dissectors 3GPPGenericChargingDataTypesV1171.asn GPRSChargingDataTypesV641.asn GPRSChargingDataTypesV1171.asn */
/* Input file: packet-gprscdr-template.h */