diff options
author | Anders Broman <anders.broman@ericsson.com> | 2013-12-01 20:34:21 +0000 |
---|---|---|
committer | Anders Broman <anders.broman@ericsson.com> | 2013-12-01 20:34:21 +0000 |
commit | 9baa93519c2aa5e591b39d83cb8849309bdb7569 (patch) | |
tree | 28c93caa3ec8bb218b16f737095e1a3ec347ccff | |
parent | eb8b50625ae8be06b453da09b0928c0d5faaba99 (diff) |
Update to V11.7.1 (2013-09)
svn path=/trunk/; revision=53700
-rw-r--r-- | asn1/gprscdr/GPRSChargingDataTypesV1171.asn | 980 | ||||
-rw-r--r-- | asn1/gprscdr/GenericChargingDataTypesV1171.asn | 673 | ||||
-rw-r--r-- | asn1/gprscdr/Makefile.common | 4 | ||||
-rw-r--r-- | asn1/gprscdr/gprscdr.cnf | 1 | ||||
-rw-r--r-- | epan/dissectors/packet-gprscdr.c | 713 | ||||
-rw-r--r-- | epan/dissectors/packet-gprscdr.h | 2 |
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 */ |