diff --git a/asn1/gprscdr/CMakeLists.txt b/asn1/gprscdr/CMakeLists.txt index b83b64d0c2..bdbbb29553 100644 --- a/asn1/gprscdr/CMakeLists.txt +++ b/asn1/gprscdr/CMakeLists.txt @@ -31,9 +31,9 @@ set( EXT_ASN_FILE_LIST ) set( ASN_FILE_LIST - GenericChargingDataTypesV1171.asn + GenericChargingDataTypesV1250.asn GPRSChargingDataTypesV641.asn - GPRSChargingDataTypesV1171.asn + GPRSChargingDataTypesV1250.asn ) set( EXTRA_DIST diff --git a/asn1/gprscdr/GPRSChargingDataTypesV1250.asn b/asn1/gprscdr/GPRSChargingDataTypesV1250.asn new file mode 100644 index 0000000000..2964577ada --- /dev/null +++ b/asn1/gprscdr/GPRSChargingDataTypesV1250.asn @@ -0,0 +1,1187 @@ +GPRSChargingDataTypesV1250 {itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) charging (5) gprsChargingDataTypes (2) asn1Module (0) version1 (0)} +DEFINITIONS IMPLICIT TAGS ::= + +BEGIN + +-- EXPORTS everything + +IMPORTS + +-- AddressString, +CallDuration, +CallingNumber, +CellId, +Diagnostics, +DiameterIdentity, +--GSNAddress, +IPAddress, +LCSCause, +LCSClientIdentity, +LCSQoSInfo, +LevelOfCAMELService, +LocalSequenceNumber, +LocationAreaAndCell, +LocationAreaCode, +ManagementExtensions, +MBMSInformation, +MessageReference, +MSISDN, +MSTimeZone, +PositioningData, +RecordingEntity, +RecordType, +RoutingAreaCode, +ServiceSpecificInfo, +SMSResult, +SmsTpDestinationNumber, +SubscriptionID, +TimeStamp +FROM GenericChargingDataTypes {itu-t (0) identified-organization (4) etsi(0) mobileDomain (0) charging (5) genericChargingDataTypes (0) asn1Module (0) version1 (0)} + +DefaultGPRS-Handling, +DefaultSMS-Handling, +NotificationToMSUser, +ServiceKey +FROM MAP-MS-DataTypes {itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3) map-MS-DataTypes (11) version6 (6)} +-- from TS 29.002 [214] + +IMEI, +IMSI, +ISDN-AddressString, +RAIdentity +FROM MAP-CommonDataTypes {itu-t identified-organization (4) etsi (0) mobileDomain (0)gsm-Network (1) modules (3) map-CommonDataTypes (18) version13 (13)} +-- from TS 29.002 [214] + +CallReferenceNumber +FROM MAP-CH-DataTypes {itu-t identified-organization (4) etsi (0) mobileDomain (0)gsm-Network (1) modules (3) map-CH-DataTypes (13) version13 (13)} +-- from TS 29.002 [214] + +Ext-GeographicalInformation, +LCSClientType, +LCS-Priority, +LocationType +FROM MAP-LCS-DataTypes {itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3) map-LCS-DataTypes (25) version13 (13) } +-- from TS 29.002 [214] + +LocationMethod +FROM SS-DataTypes {itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Access (2) modules (3) ss-DataTypes (2) version13 (13)} +-- from TS 24.080 [209] + +; + +-- +-- GPRS RECORDS +-- + +GPRSRecord ::= CHOICE +-- +-- Record values 20, 22..27 are specific +-- Record values 76, 77, 86 are MBMS specific +-- Record values 78,79 and 92, 95, 96 are EPC specific +-- +{ + sgsnPDPRecord [20] SGSNPDPRecord, + sgsnMMRecord [22] SGSNMMRecord, + sgsnSMORecord [23] SGSNSMORecord, + sgsnSMTRecord [24] SGSNSMTRecord, +-- sgsnMTLCSRecord [25] SGSNMTLCSRecord, +-- sgsnMOLCSRecord [26] SGSNMOLCSRecord, +-- sgsnNILCSRecord [27] SGSNNILCSRecord, + +-- sgsnMBMSRecord [76] SGSNMBMSRecord, +-- ggsnMBMSRecord [77] GGSNMBMSRecord, + sGWRecord [78] SGWRecord, + pGWRecord [79] PGWRecord, + +-- gwMBMSRecord [86] GWMBMSRecord, + + tDFRecord [92] TDFRecord, + + iPERecord [95] IPERecord, + ePDGRecord [96] EPDGRecord +} + +SGWRecord ::= SET +{ + recordType [0] RecordType, + servedIMSI [3] IMSI OPTIONAL, + s-GWAddress [4] GSNAddress, + chargingID [5] ChargingID, + servingNodeAddress [6] SEQUENCE OF GSNAddress, + accessPointNameNI [7] AccessPointNameNI OPTIONAL, + pdpPDNType [8] PDPType OPTIONAL, + servedPDPPDNAddress [9] PDPAddress OPTIONAL, + dynamicAddressFlag [11] DynamicAddressFlag OPTIONAL, + listOfTrafficVolumes [12] SEQUENCE OF ChangeOfCharCondition OPTIONAL, + recordOpeningTime [13] TimeStamp, + duration [14] CallDuration, + causeForRecClosing [15] CauseForRecClosing, + diagnostics [16] Diagnostics OPTIONAL, + recordSequenceNumber [17] INTEGER OPTIONAL, + nodeID [18] NodeID OPTIONAL, + recordExtensions [19] ManagementExtensions OPTIONAL, + localSequenceNumber [20] LocalSequenceNumber OPTIONAL, + apnSelectionMode [21] APNSelectionMode OPTIONAL, + servedMSISDN [22] MSISDN OPTIONAL, + chargingCharacteristics [23] ChargingCharacteristics, + chChSelectionMode [24] ChChSelectionMode OPTIONAL, + iMSsignalingContext [25] NULL OPTIONAL, + servingNodePLMNIdentifier [27] PLMN-Id OPTIONAL, + servedIMEI [29] IMEI OPTIONAL, + rATType [30] RATType OPTIONAL, + mSTimeZone [31] MSTimeZone OPTIONAL, + userLocationInformation [32] OCTET STRING OPTIONAL, + sGWChange [34] SGWChange OPTIONAL, + servingNodeType [35] SEQUENCE OF ServingNodeType, + p-GWAddressUsed [36] GSNAddress OPTIONAL, + p-GWPLMNIdentifier [37] PLMN-Id OPTIONAL, + startTime [38] TimeStamp OPTIONAL, + stopTime [39] TimeStamp OPTIONAL, + pDNConnectionChargingID [40] ChargingID OPTIONAL, + iMSIunauthenticatedFlag [41] NULL OPTIONAL, + userCSGInformation [42] UserCSGInformation OPTIONAL, + servedPDPPDNAddressExt [43] PDPAddress OPTIONAL, + lowPriorityIndicator [44] NULL OPTIONAL, + dynamicAddressFlagExt [47] DynamicAddressFlag OPTIONAL, + s-GWiPv6Address [48] GSNAddress OPTIONAL, + servingNodeiPv6Address [49] SEQUENCE OF GSNAddress OPTIONAL, + p-GWiPv6AddressUsed [50] GSNAddress OPTIONAL, + retransmission [51] NULL OPTIONAL, + userLocationInfoTime [52] TimeStamp OPTIONAL, + cNOperatorSelectionEnt [53] CNOperatorSelectionEntity OPTIONAL, + presenceReportingAreaInfo [54] PresenceReportingAreaInfo OPTIONAL, + lastUserLocationInformation [55] OCTET STRING OPTIONAL, + lastMSTimeZone [56] MSTimeZone OPTIONAL +} + +PGWRecord ::= SET +-- +-- List of traffic volumes is only applicable when Charging per IP-CAN session is active and +-- IP-CAN bearer charging is being performed for the session. +-- +-- EPC QoS Information is only applicable when Charging per IP-CAN session is active. +-- +{ + recordType [0] RecordType, + servedIMSI [3] IMSI OPTIONAL, + p-GWAddress [4] GSNAddress, + chargingID [5] ChargingID, + servingNodeAddress [6] SEQUENCE OF GSNAddress, + accessPointNameNI [7] AccessPointNameNI OPTIONAL, + pdpPDNType [8] PDPType OPTIONAL, + servedPDPPDNAddress [9] PDPAddress OPTIONAL, + dynamicAddressFlag [11] DynamicAddressFlag OPTIONAL, + listOfTrafficVolumes [12] SEQUENCE OF ChangeOfCharCondition OPTIONAL, + recordOpeningTime [13] TimeStamp, + duration [14] CallDuration, + causeForRecClosing [15] CauseForRecClosing, + diagnostics [16] Diagnostics OPTIONAL, + recordSequenceNumber [17] INTEGER OPTIONAL, + nodeID [18] NodeID OPTIONAL, + recordExtensions [19] ManagementExtensions OPTIONAL, + localSequenceNumber [20] LocalSequenceNumber OPTIONAL, + apnSelectionMode [21] APNSelectionMode OPTIONAL, + servedMSISDN [22] MSISDN OPTIONAL, + chargingCharacteristics [23] ChargingCharacteristics, + chChSelectionMode [24] ChChSelectionMode OPTIONAL, + iMSsignalingContext [25] NULL OPTIONAL, + servingNodePLMNIdentifier [27] PLMN-Id OPTIONAL, + pSFurnishChargingInformation [28] PSFurnishChargingInformation OPTIONAL, + servedIMEI [29] IMEI OPTIONAL, + rATType [30] RATType OPTIONAL, + mSTimeZone [31] MSTimeZone OPTIONAL, + userLocationInformation [32] OCTET STRING OPTIONAL, + cAMELChargingInformation [33] OCTET STRING OPTIONAL, + listOfServiceData [34] SEQUENCE OF ChangeOfServiceCondition OPTIONAL, + servingNodeType [35] SEQUENCE OF ServingNodeType, + servedMNNAI [36] SubscriptionID OPTIONAL, + p-GWPLMNIdentifier [37] PLMN-Id OPTIONAL, + startTime [38] TimeStamp OPTIONAL, + stopTime [39] TimeStamp OPTIONAL, + served3gpp2MEID [40] OCTET STRING OPTIONAL, + pDNConnectionChargingID [41] ChargingID OPTIONAL, + iMSIunauthenticatedFlag [42] NULL OPTIONAL, + userCSGInformation [43] UserCSGInformation OPTIONAL, + threeGPP2UserLocationInformation [44] OCTET STRING OPTIONAL, + servedPDPPDNAddressExt [45] PDPAddress OPTIONAL, + lowPriorityIndicator [46] NULL OPTIONAL, + dynamicAddressFlagExt [47] DynamicAddressFlag OPTIONAL, + servingNodeiPv6Address [49] SEQUENCE OF GSNAddress OPTIONAL, + p-GWiPv6AddressUsed [50] GSNAddress OPTIONAL, + tWANUserLocationInformation [51] TWANUserLocationInfo OPTIONAL, + retransmission [52] NULL OPTIONAL, + userLocationInfoTime [53] TimeStamp OPTIONAL, + cNOperatorSelectionEnt [54] CNOperatorSelectionEntity OPTIONAL, + ePCQoSInformation [55] EPCQoSInformation OPTIONAL, + presenceReportingAreaInfo [56] PresenceReportingAreaInfo OPTIONAL, + lastUserLocationInformation [57] OCTET STRING OPTIONAL, + lastMSTimeZone [58] MSTimeZone OPTIONAL +} + +TDFRecord ::= SET +{ + recordType [0] RecordType, + servedIMSI [3] IMSI OPTIONAL, + p-GWAddress [4] GSNAddress, + servingNodeAddress [6] SEQUENCE OF GSNAddress, + accessPointNameNI [7] AccessPointNameNI OPTIONAL, + pdpPDNType [8] PDPType OPTIONAL, + servedPDPPDNAddress [9] PDPAddress OPTIONAL, + dynamicAddressFlag [11] DynamicAddressFlag OPTIONAL, + recordOpeningTime [13] TimeStamp, + duration [14] CallDuration, + causeForRecClosing [15] CauseForRecClosing, + diagnostics [16] Diagnostics OPTIONAL, + recordSequenceNumber [17] INTEGER OPTIONAL, + nodeID [18] NodeID OPTIONAL, + recordExtensions [19] ManagementExtensions OPTIONAL, + localSequenceNumber [20] LocalSequenceNumber OPTIONAL, + apnSelectionMode [21] APNSelectionMode OPTIONAL, + servedMSISDN [22] MSISDN OPTIONAL, + chargingCharacteristics [23] ChargingCharacteristics, + chChSelectionMode [24] ChChSelectionMode OPTIONAL, + servingNodePLMNIdentifier [27] PLMN-Id OPTIONAL, + pSFurnishChargingInformation [28] PSFurnishChargingInformation OPTIONAL, + servedIMEI [29] IMEI OPTIONAL, + rATType [30] RATType OPTIONAL, + mSTimeZone [31] MSTimeZone OPTIONAL, + userLocationInformation [32] OCTET STRING OPTIONAL, + listOfServiceData [34] SEQUENCE OF ChangeOfServiceCondition OPTIONAL, + servingNodeType [35] SEQUENCE OF ServingNodeType, + servedMNNAI [36] SubscriptionID OPTIONAL, + p-GWPLMNIdentifier [37] PLMN-Id OPTIONAL, + startTime [38] TimeStamp OPTIONAL, + stopTime [39] TimeStamp OPTIONAL, + served3gpp2MEID [40] OCTET STRING OPTIONAL, + pDNConnectionChargingID [41] ChargingID, + userCSGInformation [43] UserCSGInformation OPTIONAL, + threeGPP2UserLocationInformation [44] OCTET STRING OPTIONAL, + servedPDPPDNAddressExt [45] PDPAddress OPTIONAL, + dynamicAddressFlagExt [47] DynamicAddressFlag OPTIONAL, + servingNodeiPv6Address [49] SEQUENCE OF GSNAddress OPTIONAL, + p-GWiPv6AddressUsed [50] GSNAddress OPTIONAL, + tWANUserLocationInformation [51] TWANUserLocationInfo OPTIONAL, + retransmission [52] NULL OPTIONAL, + tDFAddress [53] GSNAddress, + tDFiPv6AddressUsed [54] GSNAddress OPTIONAL, + tDFPLMNIdentifier [55] PLMN-Id OPTIONAL, + servedFixedSubsID [56] FixedSubsID OPTIONAL, + accessLineIdentifier [57] AccessLineIdentifier OPTIONAL, + presenceReportingAreaInfo [58] PresenceReportingAreaInfo OPTIONAL, fixedUserLocationInformation [59] FixedUserLocationInformation OPTIONAL + +} + +IPERecord ::= SET +{ + recordType [0] RecordType, + servedIMSI [3] IMSI OPTIONAL, + iPEdgeAddress [4] GSNAddress, + chargingID [5] ChargingID, + accessPointNameNI [7] AccessPointNameNI OPTIONAL, + iPCANsessionType [8] PDPType OPTIONAL, + servedIPCANsessionAddress [9] PDPAddress OPTIONAL, + dynamicAddressFlag [11] DynamicAddressFlag OPTIONAL, + listOfTrafficVolumes [12] SEQUENCE OF ChangeOfCharCondition OPTIONAL, + recordOpeningTime [13] TimeStamp, + duration [14] CallDuration, + causeForRecClosing [15] CauseForRecClosing, + diagnostics [16] Diagnostics OPTIONAL, + recordSequenceNumber [17] INTEGER OPTIONAL, + nodeID [18] NodeID OPTIONAL, + recordExtensions [19] ManagementExtensions OPTIONAL, + localSequenceNumber [20] LocalSequenceNumber OPTIONAL, + servedMSISDN [22] MSISDN OPTIONAL, + chargingCharacteristics [23] ChargingCharacteristics, + chChSelectionMode [24] ChChSelectionMode OPTIONAL, + pSFurnishChargingInformation [28] PSFurnishChargingInformation OPTIONAL, + servedIMEI [29] IMEI OPTIONAL, + listOfServiceData [34] SEQUENCE OF ChangeOfServiceCondition OPTIONAL, + servedMNNAI [36] SubscriptionID OPTIONAL, + iPEdgeOperatorIdentifier [37] PLMN-Id OPTIONAL, + startTime [38] TimeStamp OPTIONAL, + stopTime [39] TimeStamp OPTIONAL, + servedIPCANsessionAddressExt [45] PDPAddress OPTIONAL, + dynamicAddressFlagExt [47] DynamicAddressFlag OPTIONAL, + iPEdgeiPv6AddressUsed [50] GSNAddress OPTIONAL, + retransmission [52] NULL OPTIONAL, + servedFixedSubsID [55] FixedSubsID OPTIONAL, + accessLineIdentifier [56] AccessLineIdentifier OPTIONAL, + fixedUserLocationInformation [57] FixedUserLocationInformation OPTIONAL +} + +EPDGRecord ::= SET +{ + recordType [0] RecordType, + servedIMSI [3] IMSI OPTIONAL, + ePDGAddressUsed [4] GSNAddress, + chargingID [5] ChargingID, + accessPointNameNI [7] AccessPointNameNI OPTIONAL, + pdpPDNType [8] PDPType OPTIONAL, + servedPDPPDNAddress [9] PDPAddress OPTIONAL, + dynamicAddressFlag [11] DynamicAddressFlag OPTIONAL, + listOfTrafficVolumes [12] SEQUENCE OF ChangeOfCharCondition OPTIONAL, + recordOpeningTime [13] TimeStamp, + duration [14] CallDuration, + causeForRecClosing [15] CauseForRecClosing, + diagnostics [16] Diagnostics OPTIONAL, + recordSequenceNumber [17] INTEGER OPTIONAL, + nodeID [18] NodeID OPTIONAL, + recordExtensions [19] ManagementExtensions OPTIONAL, + localSequenceNumber [20] LocalSequenceNumber OPTIONAL, + apnSelectionMode [21] APNSelectionMode OPTIONAL, + servedMSISDN [22] MSISDN OPTIONAL, + chargingCharacteristics [23] ChargingCharacteristics, + chChSelectionMode [24] ChChSelectionMode OPTIONAL, + iMSsignalingContext [25] NULL OPTIONAL, + servedIMEI [29] IMEI OPTIONAL, + rATType [30] RATType OPTIONAL, + p-GWAddressUsed [36] GSNAddress OPTIONAL, + p-GWPLMNIdentifier [37] PLMN-Id OPTIONAL, + startTime [38] TimeStamp OPTIONAL, + stopTime [39] TimeStamp OPTIONAL, + pDNConnectionChargingID [40] ChargingID OPTIONAL, + servedPDPPDNAddressExt [43] PDPAddress OPTIONAL, + dynamicAddressFlagExt [47] DynamicAddressFlag OPTIONAL, + ePDGiPv6AddressUsed [48] GSNAddress OPTIONAL, + p-GWiPv6AddressUsed [50] GSNAddress OPTIONAL, + retransmission [51] NULL OPTIONAL +} + + +SGSNMMRecord ::= SET +{ + recordType [0] RecordType, + servedIMSI [1] IMSI, + servedIMEI [2] IMEI OPTIONAL, + sgsnAddress [3] GSNAddress OPTIONAL, + msNetworkCapability [4] MSNetworkCapability OPTIONAL, + routingArea [5] RoutingAreaCode OPTIONAL, + locationAreaCode [6] LocationAreaCode OPTIONAL, + cellIdentifier [7] CellId OPTIONAL, + changeLocation [8] SEQUENCE OF ChangeLocation OPTIONAL, + recordOpeningTime [9] TimeStamp, + duration [10] CallDuration OPTIONAL, + sgsnChange [11] SGSNChange OPTIONAL, + causeForRecClosing [12] CauseForRecClosing, + diagnostics [13] Diagnostics OPTIONAL, + recordSequenceNumber [14] INTEGER OPTIONAL, + nodeID [15] NodeID OPTIONAL, + recordExtensions [16] ManagementExtensions OPTIONAL, + localSequenceNumber [17] LocalSequenceNumber OPTIONAL, + servedMSISDN [18] MSISDN OPTIONAL, + chargingCharacteristics [19] ChargingCharacteristics, + cAMELInformationMM [20] CAMELInformationMM OPTIONAL, + rATType [21] RATType OPTIONAL, + chChSelectionMode [22] ChChSelectionMode OPTIONAL, + cellPLMNId [23] PLMN-Id OPTIONAL, + servingNodePLMNIdentifier [24] PLMN-Id OPTIONAL, + cNOperatorSelectionEnt [25] CNOperatorSelectionEntity OPTIONAL +} + +SGSNPDPRecord ::= SET +{ + recordType [0] RecordType, + networkInitiation [1] NetworkInitiatedPDPContext OPTIONAL, + servedIMSI [3] IMSI OPTIONAL, + servedIMEI [4] IMEI OPTIONAL, + sgsnAddress [5] GSNAddress OPTIONAL, + msNetworkCapability [6] MSNetworkCapability OPTIONAL, + routingArea [7] RoutingAreaCode OPTIONAL, + locationAreaCode [8] LocationAreaCode OPTIONAL, + cellIdentifier [9] CellId OPTIONAL, + chargingID [10] ChargingID, + ggsnAddressUsed [11] GSNAddress, + accessPointNameNI [12] AccessPointNameNI OPTIONAL, + pdpType [13] PDPType OPTIONAL, + servedPDPAddress [14] PDPAddress OPTIONAL, + listOfTrafficVolumes [15] SEQUENCE OF ChangeOfCharCondition OPTIONAL, + recordOpeningTime [16] TimeStamp, + duration [17] CallDuration, + sgsnChange [18] SGSNChange OPTIONAL, + causeForRecClosing [19] CauseForRecClosing, + diagnostics [20] Diagnostics OPTIONAL, + recordSequenceNumber [21] INTEGER OPTIONAL, + nodeID [22] NodeID OPTIONAL, + recordExtensions [23] ManagementExtensions OPTIONAL, + localSequenceNumber [24] LocalSequenceNumber OPTIONAL, + apnSelectionMode [25] APNSelectionMode OPTIONAL, + accessPointNameOI [26] AccessPointNameOI OPTIONAL, + servedMSISDN [27] MSISDN OPTIONAL, + chargingCharacteristics [28] ChargingCharacteristics, + rATType [29] RATType OPTIONAL, + cAMELInformationPDP [30] CAMELInformationPDP OPTIONAL, + rNCUnsentDownlinkVolume [31] DataVolumeGPRS OPTIONAL, + chChSelectionMode [32] ChChSelectionMode OPTIONAL, + dynamicAddressFlag [33] DynamicAddressFlag OPTIONAL, + iMSIunauthenticatedFlag [34] NULL OPTIONAL, + userCSGInformation [35] UserCSGInformation OPTIONAL, + servedPDPPDNAddressExt [36] PDPAddress OPTIONAL, + lowPriorityIndicator [37] NULL OPTIONAL, + servingNodePLMNIdentifier [38] PLMN-Id OPTIONAL, + cNOperatorSelectionEnt [39] CNOperatorSelectionEntity OPTIONAL +} + +SGSNSMORecord ::= SET +-- +-- also for MME UE originated SMS record +-- +{ + recordType [0] RecordType, + servedIMSI [1] IMSI, + servedIMEI [2] IMEI OPTIONAL, + servedMSISDN [3] MSISDN OPTIONAL, + msNetworkCapability [4] MSNetworkCapability OPTIONAL, + serviceCentre [5] AddressString OPTIONAL, + recordingEntity [6] RecordingEntity OPTIONAL, + locationArea [7] LocationAreaCode OPTIONAL, + routingArea [8] RoutingAreaCode OPTIONAL, + cellIdentifier [9] CellId OPTIONAL, + messageReference [10] MessageReference, + eventTimeStamp [11] TimeStamp, + smsResult [12] SMSResult OPTIONAL, + recordExtensions [13] ManagementExtensions OPTIONAL, + nodeID [14] NodeID OPTIONAL, + localSequenceNumber [15] LocalSequenceNumber OPTIONAL, + chargingCharacteristics [16] ChargingCharacteristics, + rATType [17] RATType OPTIONAL, + destinationNumber [18] SmsTpDestinationNumber OPTIONAL, + cAMELInformationSMS [19] CAMELInformationSMS OPTIONAL, + chChSelectionMode [20] ChChSelectionMode OPTIONAL, + servingNodeType [21] ServingNodeType, + servingNodeAddress [22] GSNAddress OPTIONAL, + servingNodeiPv6Address [23] GSNAddress OPTIONAL, + mMEName [24] DiameterIdentity OPTIONAL, + mMERealm [25] DiameterIdentity OPTIONAL, + userLocationInformation [26] OCTET STRING OPTIONAL, + retransmission [27] NULL OPTIONAL, + servingNodePLMNIdentifier [28] PLMN-Id OPTIONAL, + userLocationInfoTime [29] TimeStamp OPTIONAL, + cNOperatorSelectionEnt [30] CNOperatorSelectionEntity OPTIONAL +} + +SGSNSMTRecord ::= SET +-- +-- also for MME UE terminated SMS record +-- +{ + recordType [0] RecordType, + servedIMSI [1] IMSI, + servedIMEI [2] IMEI OPTIONAL, + servedMSISDN [3] MSISDN OPTIONAL, + msNetworkCapability [4] MSNetworkCapability OPTIONAL, + serviceCentre [5] AddressString OPTIONAL, + recordingEntity [6] RecordingEntity OPTIONAL, + locationArea [7] LocationAreaCode OPTIONAL, + routingArea [8] RoutingAreaCode OPTIONAL, + cellIdentifier [9] CellId OPTIONAL, + eventTimeStamp [10] TimeStamp, + smsResult [11] SMSResult OPTIONAL, + recordExtensions [12] ManagementExtensions OPTIONAL, + nodeID [13] NodeID OPTIONAL, + localSequenceNumber [14] LocalSequenceNumber OPTIONAL, + chargingCharacteristics [15] ChargingCharacteristics, + rATType [16] RATType OPTIONAL, + chChSelectionMode [17] ChChSelectionMode OPTIONAL, + cAMELInformationSMS [18] CAMELInformationSMS OPTIONAL, + originatingAddress [19] AddressString OPTIONAL, + servingNodeType [20] ServingNodeType, + servingNodeAddress [21] GSNAddress OPTIONAL, + servingNodeiPv6Address [22] GSNAddress OPTIONAL, + mMEName [23] DiameterIdentity OPTIONAL, + mMERealm [24] DiameterIdentity OPTIONAL, + userLocationInformation [25] OCTET STRING OPTIONAL, + retransmission [26] NULL OPTIONAL, + servingNodePLMNIdentifier [27] PLMN-Id OPTIONAL, + userLocationInfoTime [28] TimeStamp OPTIONAL, + cNOperatorSelectionEnt [29] CNOperatorSelectionEntity OPTIONAL +} + +SGSNMTLCSRecord ::= SET +{ + recordType [0] RecordType, + recordingEntity [1] RecordingEntity, + lcsClientType [2] LCSClientType, + lcsClientIdentity [3] LCSClientIdentity, + servedIMSI [4] IMSI, + servedMSISDN [5] MSISDN OPTIONAL, + sgsnAddress [6] GSNAddress OPTIONAL, + locationType [7] LocationType, + lcsQos [8] LCSQoSInfo OPTIONAL, + lcsPriority [9] LCS-Priority OPTIONAL, + mlcNumber [10] ISDN-AddressString, + eventTimeStamp [11] TimeStamp, + measurementDuration [12] CallDuration OPTIONAL, + notificationToMSUser [13] NotificationToMSUser OPTIONAL, + privacyOverride [14] NULL OPTIONAL, + location [15] LocationAreaAndCell OPTIONAL, + routingArea [16] RoutingAreaCode OPTIONAL, + locationEstimate [17] Ext-GeographicalInformation OPTIONAL, + positioningData [18] PositioningData OPTIONAL, + lcsCause [19] LCSCause OPTIONAL, + diagnostics [20] Diagnostics OPTIONAL, + nodeID [21] NodeID OPTIONAL, + localSequenceNumber [22] LocalSequenceNumber OPTIONAL, + chargingCharacteristics [23] ChargingCharacteristics, + chChSelectionMode [24] ChChSelectionMode OPTIONAL, + rATType [25] RATType OPTIONAL, + recordExtensions [26] ManagementExtensions OPTIONAL, + causeForRecClosing [27] CauseForRecClosing, + servingNodePLMNIdentifier [28] PLMN-Id OPTIONAL, + cNOperatorSelectionEnt [29] CNOperatorSelectionEntity OPTIONAL +} + +SGSNMOLCSRecord ::= SET +{ + recordType [0] RecordType, + recordingEntity [1] RecordingEntity, + lcsClientType [2] LCSClientType OPTIONAL, + lcsClientIdentity [3] LCSClientIdentity OPTIONAL, + servedIMSI [4] IMSI, + servedMSISDN [5] MSISDN OPTIONAL, + sgsnAddress [6] GSNAddress OPTIONAL, + locationMethod [7] LocationMethod, + lcsQos [8] LCSQoSInfo OPTIONAL, + lcsPriority [9] LCS-Priority OPTIONAL, + mlcNumber [10] ISDN-AddressString OPTIONAL, + eventTimeStamp [11] TimeStamp, + measurementDuration [12] CallDuration OPTIONAL, + location [13] LocationAreaAndCell OPTIONAL, + routingArea [14] RoutingAreaCode OPTIONAL, + locationEstimate [15] Ext-GeographicalInformation OPTIONAL, + positioningData [16] PositioningData OPTIONAL, + lcsCause [17] LCSCause OPTIONAL, + diagnostics [18] Diagnostics OPTIONAL, + nodeID [19] NodeID OPTIONAL, + localSequenceNumber [20] LocalSequenceNumber OPTIONAL, + chargingCharacteristics [21] ChargingCharacteristics, + chChSelectionMode [22] ChChSelectionMode OPTIONAL, + rATType [23] RATType OPTIONAL, + recordExtensions [24] ManagementExtensions OPTIONAL, + causeForRecClosing [25] CauseForRecClosing, + servingNodePLMNIdentifier [26] PLMN-Id OPTIONAL, + cNOperatorSelectionEnt [27] CNOperatorSelectionEntity OPTIONAL +} + +SGSNNILCSRecord ::= SET +{ + recordType [0] RecordType, + recordingEntity [1] RecordingEntity, + lcsClientType [2] LCSClientType OPTIONAL, + lcsClientIdentity [3] LCSClientIdentity OPTIONAL, + servedIMSI [4] IMSI OPTIONAL, + servedMSISDN [5] MSISDN OPTIONAL, + sgsnAddress [6] GSNAddress OPTIONAL, + servedIMEI [7] IMEI OPTIONAL, + lcsQos [8] LCSQoSInfo OPTIONAL, + lcsPriority [9] LCS-Priority OPTIONAL, + mlcNumber [10] ISDN-AddressString OPTIONAL, + eventTimeStamp [11] TimeStamp, + measurementDuration [12] CallDuration OPTIONAL, + location [13] LocationAreaAndCell OPTIONAL, + routingArea [14] RoutingAreaCode OPTIONAL, + locationEstimate [15] Ext-GeographicalInformation OPTIONAL, + positioningData [16] PositioningData OPTIONAL, + lcsCause [17] LCSCause OPTIONAL, + diagnostics [18] Diagnostics OPTIONAL, + nodeID [19] NodeID OPTIONAL, + localSequenceNumber [20] LocalSequenceNumber OPTIONAL, + chargingCharacteristics [21] ChargingCharacteristics, + chChSelectionMode [22] ChChSelectionMode OPTIONAL, + rATType [23] RATType OPTIONAL, + recordExtensions [24] ManagementExtensions OPTIONAL, + causeForRecClosing [25] CauseForRecClosing, + servingNodePLMNIdentifier [26] PLMN-Id OPTIONAL, + cNOperatorSelectionEnt [27] CNOperatorSelectionEntity OPTIONAL +} + +SGSNMBMSRecord ::= SET +{ + recordType [0] RecordType, + ggsnAddress [1] GSNAddress, + chargingID [2] ChargingID, + listofRAs [3] SEQUENCE OF RAIdentity OPTIONAL, + accessPointNameNI [4] AccessPointNameNI OPTIONAL, + servedPDPAddress [5] PDPAddress OPTIONAL, + listOfTrafficVolumes [6] SEQUENCE OF ChangeOfMBMSCondition OPTIONAL, + recordOpeningTime [7] TimeStamp, + duration [8] CallDuration, + causeForRecClosing [9] CauseForRecClosing, + diagnostics [10] Diagnostics OPTIONAL, + recordSequenceNumber [11] INTEGER OPTIONAL, + nodeID [12] NodeID OPTIONAL, + recordExtensions [13] ManagementExtensions OPTIONAL, + localSequenceNumber [14] LocalSequenceNumber OPTIONAL, + sgsnPLMNIdentifier [15] PLMN-Id OPTIONAL, + numberofReceivingUE [16] INTEGER OPTIONAL, + mbmsInformation [17] MBMSInformation OPTIONAL +} + +GGSNMBMSRecord ::= SET +{ + recordType [0] RecordType, + ggsnAddress [1] GSNAddress, + chargingID [2] ChargingID, + listofDownstreamNodes [3] SEQUENCE OF GSNAddress, + accessPointNameNI [4] AccessPointNameNI OPTIONAL, + servedPDPAddress [5] PDPAddress OPTIONAL, + listOfTrafficVolumes [6] SEQUENCE OF ChangeOfMBMSCondition OPTIONAL, + recordOpeningTime [7] TimeStamp, + duration [8] CallDuration, + causeForRecClosing [9] CauseForRecClosing, + diagnostics [10] Diagnostics OPTIONAL, + recordSequenceNumber [11] INTEGER OPTIONAL, + nodeID [12] NodeID OPTIONAL, + recordExtensions [13] ManagementExtensions OPTIONAL, + localSequenceNumber [14] LocalSequenceNumber OPTIONAL, + mbmsInformation [15] MBMSInformation OPTIONAL +} + +GWMBMSRecord ::= SET +{ + recordType [0] RecordType, + mbmsGWAddress [1] GSNAddress, + chargingID [2] ChargingID, + listofDownstreamNodes [3] SEQUENCE OF GSNAddress, + accessPointNameNI [4] AccessPointNameNI OPTIONAL, + pdpPDNType [5] PDPType OPTIONAL, + servedPDPPDNAddress [6] PDPAddress OPTIONAL, + listOfTrafficVolumes [7] SEQUENCE OF ChangeOfMBMSCondition OPTIONAL, + recordOpeningTime [8] TimeStamp, + duration [9] CallDuration, + causeForRecClosing [10] CauseForRecClosing, + diagnostics [11] Diagnostics OPTIONAL, + recordSequenceNumber [12] INTEGER OPTIONAL, + nodeID [13] NodeID OPTIONAL, + recordExtensions [14] ManagementExtensions OPTIONAL, + localSequenceNumber [15] LocalSequenceNumber OPTIONAL, + mbmsInformation [16] MBMSInformation OPTIONAL, + commonTeid [17] CTEID OPTIONAL, + iPMulticastSourceAddress [18] PDPAddress OPTIONAL +} + +-- +-- PS DATA TYPES +-- + +AccessLineIdentifier ::= SEQUENCE +-- +-- "Physical Access Id" includes a port identifier and the identity of the access node where the +-- port resides. "logical Access Id" contains a Circuit ID. Both are defined ETSI TS 283 034 [314] +-- +{ + physicalAccessID [0] UTF8String OPTIONAL, + logicalAccessID [1] OCTET STRING OPTIONAL +} + +AccessPointNameNI ::= IA5String (SIZE(1..63)) +-- +-- Network Identifier part of APN in dot representation. +-- For example, if the complete APN is 'apn1a.apn1b.apn1c.mnc022.mcc111.gprs' +-- NI is 'apn1a.apn1b.apn1c' and is presented in this form in the CDR. +-- + +AccessPointNameOI ::= IA5String (SIZE(1..37)) +-- +-- Operator Identifier part of APN in dot representation. +-- In the 'apn1a.apn1b.apn1c.mnc022.mcc111.gprs' example, the OI portion is 'mnc022.mcc111.gprs' +-- and is presented in this form in the CDR. +-- + +ADCRuleBaseName ::= IA5String +-- +-- identifier for the group of charging rules +-- see ADC-Rule-Base-Name AVP as desined in TS 29.212 [220] +-- + +AFChargingIdentifier ::= OCTET STRING +-- +-- see AF-Charging-Identifier AVP as defined in TS 29.214[221] +-- +AFRecordInformation ::= SEQUENCE +{ + aFChargingIdentifier [1] AFChargingIdentifier, + flows [2] Flows OPTIONAL +} + +APNSelectionMode ::= ENUMERATED +-- +-- See Information Elements TS 29.060 [215], TS 29.274 [223] or TS 29.275 [224] +-- +{ + mSorNetworkProvidedSubscriptionVerified (0), + mSProvidedSubscriptionNotVerified (1), + networkProvidedSubscriptionNotVerified (2) +} + +CAMELAccessPointNameNI ::= AccessPointNameNI + +CAMELAccessPointNameOI ::= AccessPointNameOI + +CAMELInformationMM ::= SET +{ + sCFAddress [1] SCFAddress OPTIONAL, + serviceKey [2] ServiceKey OPTIONAL, + defaultTransactionHandling [3] DefaultGPRS-Handling OPTIONAL, + numberOfDPEncountered [4] NumberOfDPEncountered OPTIONAL, + levelOfCAMELService [5] LevelOfCAMELService OPTIONAL, + freeFormatData [6] FreeFormatData OPTIONAL, + fFDAppendIndicator [7] FFDAppendIndicator OPTIONAL +} + +CAMELInformationPDP ::= SET +{ + sCFAddress [1] SCFAddress OPTIONAL, + serviceKey [2] ServiceKey OPTIONAL, + defaultTransactionHandling [3] DefaultGPRS-Handling OPTIONAL, + cAMELAccessPointNameNI [4] CAMELAccessPointNameNI OPTIONAL, + cAMELAccessPointNameOI [5] CAMELAccessPointNameOI OPTIONAL, + numberOfDPEncountered [6] NumberOfDPEncountered OPTIONAL, + levelOfCAMELService [7] LevelOfCAMELService OPTIONAL, + freeFormatData [8] FreeFormatData OPTIONAL, + fFDAppendIndicator [9] FFDAppendIndicator OPTIONAL +} + +CAMELInformationSMS ::= SET +{ + sCFAddress [1] SCFAddress OPTIONAL, + serviceKey [2] ServiceKey OPTIONAL, + defaultSMSHandling [3] DefaultSMS-Handling OPTIONAL, + cAMELCallingPartyNumber [4] CallingNumber OPTIONAL, + cAMELDestinationSubscriberNumber [5] SmsTpDestinationNumber OPTIONAL, + cAMELSMSCAddress [6] AddressString OPTIONAL, + freeFormatData [7] FreeFormatData OPTIONAL, + smsReferenceNumber [8] CallReferenceNumber OPTIONAL +} + +CauseForRecClosing ::= INTEGER +-- +-- In PGW-CDR and SGW-CDR the value servingNodeChange is used for partial record +-- generation due to Serving Node Address list Overflow +-- In SGSN servingNodeChange indicates the SGSN change +-- +-- LCS related causes belong to the MAP error causes acc. TS 29.002 [214] +-- +-- cause codes 0 to 15 are defined 'CauseForTerm' (cause for termination) +-- +{ + normalRelease (0), + abnormalRelease (4), + cAMELInitCallRelease (5), + volumeLimit (16), + timeLimit (17), + servingNodeChange (18), + maxChangeCond (19), + managementIntervention (20), + intraSGSNIntersystemChange (21), + rATChange (22), + mSTimeZoneChange (23), + sGSNPLMNIDChange (24), + sGWChange (25), + aPNAMBRChange (26), + unauthorizedRequestingNetwork (52), + unauthorizedLCSClient (53), + positionMethodFailure (54), + unknownOrUnreachableLCSClient (58), + listofDownstreamNodeChange (59) +} + +ChangeCondition ::= ENUMERATED +{ + qoSChange (0), + tariffTime (1), + recordClosure (2), + cGI-SAICHange (6), -- bearer modification. "CGI-SAI Change" + rAIChange (7), -- bearer modification. "RAI Change" + dT-Establishment (8), + dT-Removal (9), + eCGIChange (10), -- bearer modification. "ECGI Change" + tAIChange (11), -- bearer modification. "TAI Change" + userLocationChange (12) -- bearer modification. "User Location Change" +} + +ChangeOfCharCondition ::= SEQUENCE +-- +-- qosRequested and qosNegotiated are used in S-CDR only +-- ePCQoSInformation used in SGW-CDR ,PGW-CDR, IPE-CDR and ePDG only +-- userLocationInformation is used only in S-CDR, SGW-CDR and PGW-CDR +-- chargingID used in PGW-CDR only when Charging per IP-CAN session is active +-- +{ + qosRequested [1] QoSInformation OPTIONAL, + qosNegotiated [2] QoSInformation OPTIONAL, + dataVolumeGPRSUplink [3] DataVolumeGPRS OPTIONAL, + dataVolumeGPRSDownlink [4] DataVolumeGPRS OPTIONAL, + changeCondition [5] ChangeCondition, + changeTime [6] TimeStamp, + userLocationInformation [8] OCTET STRING OPTIONAL, + ePCQoSInformation [9] EPCQoSInformation OPTIONAL, + chargingID [10] ChargingID OPTIONAL, + presenceReportingAreaStatus [11] PresenceReportingAreaStatus OPTIONAL +} + +ChangeOfMBMSCondition ::= SEQUENCE +-- +-- Used in MBMS record +-- +{ + qosRequested [1] QoSInformation OPTIONAL, + qosNegotiated [2] QoSInformation OPTIONAL, + dataVolumeMBMSUplink [3] DataVolumeMBMS OPTIONAL, + dataVolumeMBMSDownlink [4] DataVolumeMBMS, + changeCondition [5] ChangeCondition, + changeTime [6] TimeStamp, + failureHandlingContinue [7] FailureHandlingContinue OPTIONAL +} + +ChangeOfServiceCondition ::= SEQUENCE +-- +-- Used for Flow based Charging and Application based Charging service data container +-- +{ + ratingGroup [1] RatingGroupId, + chargingRuleBaseName [2] ChargingRuleBaseName OPTIONAL, + resultCode [3] ResultCode OPTIONAL, + localSequenceNumber [4] LocalSequenceNumber OPTIONAL, + timeOfFirstUsage [5] TimeStamp OPTIONAL, + timeOfLastUsage [6] TimeStamp OPTIONAL, + timeUsage [7] CallDuration OPTIONAL, + serviceConditionChange [8] ServiceConditionChange, + qoSInformationNeg [9] EPCQoSInformation OPTIONAL, + servingNodeAddress [10] GSNAddress OPTIONAL, + datavolumeFBCUplink [12] DataVolumeGPRS OPTIONAL, + datavolumeFBCDownlink [13] DataVolumeGPRS OPTIONAL, + timeOfReport [14] TimeStamp, + failureHandlingContinue [16] FailureHandlingContinue OPTIONAL, + serviceIdentifier [17] ServiceIdentifier OPTIONAL, + pSFurnishChargingInformation [18] PSFurnishChargingInformation OPTIONAL, + aFRecordInformation [19] SEQUENCE OF AFRecordInformation OPTIONAL, + userLocationInformation [20] OCTET STRING OPTIONAL, + eventBasedChargingInformation [21] EventBasedChargingInformation OPTIONAL, + timeQuotaMechanism [22] TimeQuotaMechanism OPTIONAL, + serviceSpecificInfo [23] SEQUENCE OF ServiceSpecificInfo OPTIONAL, + threeGPP2UserLocationInformation [24] OCTET STRING OPTIONAL, + sponsorIdentity [25] OCTET STRING OPTIONAL, + applicationServiceProviderIdentity [26] OCTET STRING OPTIONAL, + aDCRuleBaseName [27] ADCRuleBaseName OPTIONAL, + presenceReportingAreaStatus [28] PresenceReportingAreaStatus OPTIONAL +} + +ChangeLocation ::= SEQUENCE +-- +-- used in SGSNMMRecord only +-- +{ + locationAreaCode [0] LocationAreaCode, + routingAreaCode [1] RoutingAreaCode, + cellId [2] CellId OPTIONAL, + changeTime [3] TimeStamp, + mCC-MNC [4] PLMN-Id OPTIONAL +} + +ChargingCharacteristics ::= OCTET STRING (SIZE(2)) + +ChargingID ::= INTEGER (0..4294967295) +-- +-- Generated in P-GW, part of IP-CAN bearer +-- 0..4294967295 is equivalent to 0..2**32-1 +-- + +ChargingRuleBaseName ::= IA5String +-- +-- identifier for the group of charging rules +-- see Charging-Rule-Base-Name AVP as desined in TS 29.212 [220] +-- + +ChChSelectionMode ::= ENUMERATED +{ + servingNodeSupplied (0), -- For S-GW/P-GW + subscriptionSpecific (1), -- For SGSN only + aPNSpecific (2), -- For SGSN only + homeDefault (3), -- For SGSN, S-GW, P-GW, TDF and IP-Edge + roamingDefault (4), -- For SGSN, S-GW, P-GW, TDF and IP-Edge + visitingDefault (5) , -- For SGSN, S-GW, P-GW, TDF and IP-Edge + fixedDefault (6) -- For TDF and IP-Edge +} + +CNOperatorSelectionEntity ::= ENUMERATED +{ + servCNSelectedbyUE (0), + servCNSelectedbyNtw (1) +} + +CSGAccessMode ::= ENUMERATED +{ + closedMode (0), + hybridMode (1) +} + +CSGId ::= OCTET STRING (SIZE(4)) +-- +-- Defined in TS 23.003 [200]. Coded according to TS 29.060 [215] for GTP, and +-- in TS 29.274 [223] for eGTP. +-- + +CTEID ::= OCTET STRING (SIZE(4)) +-- +-- Defined in TS 32.251[11] for MBMS-GW-CDR. Common Tunnel Endpoint Identifier +-- of MBMS GW for user plane, defined in TS 23.246 [207]. +-- + +DataVolumeGPRS ::= INTEGER +-- +-- The volume of data transferred in octets. +-- + +DataVolumeMBMS ::= INTEGER +-- +-- The volume of data transferred in octets. +-- + +DynamicAddressFlag ::= BOOLEAN + +EPCQoSInformation ::= SEQUENCE +-- +-- See TS 29.212 [220] for more information +-- +{ + qCI [1] INTEGER, + maxRequestedBandwithUL [2] INTEGER OPTIONAL, + maxRequestedBandwithDL [3] INTEGER OPTIONAL, + guaranteedBitrateUL [4] INTEGER OPTIONAL, + guaranteedBitrateDL [5] INTEGER OPTIONAL, + aRP [6] INTEGER OPTIONAL, + aPNAggregateMaxBitrateUL [7] INTEGER OPTIONAL, + aPNAggregateMaxBitrateDL [8] INTEGER OPTIONAL +} + +EventBasedChargingInformation ::= SEQUENCE +{ + numberOfEvents [1] INTEGER, + eventTimeStamps [2] SEQUENCE OF TimeStamp OPTIONAL +} + +FailureHandlingContinue ::= BOOLEAN +-- +-- This parameter is included when the failure handling procedure has been executed and new +-- containers are opened. This parameter shall be included in the first and subsequent +-- containers opened after the failure handling execution. +-- + +FFDAppendIndicator ::= BOOLEAN + + +FixedSubsID ::= OCTET STRING +-- +-- The fixed subscriber Id identifier is defined in Broadband Forum TR 134 [601]. +-- + + +FixedUserLocationInformation ::= SEQUENCE +-- +-- See format in IEEE Std 802.11-2012 [408] for "SSID" and "BSSID". +-- +{ + sSID [0] OCTET STRING OPTIONAL , + bSSID [1] OCTET STRING OPTIONAL, + accessLineIdentifier [2] AccessLineIdentifier OPTIONAL +} + +Flows ::= SEQUENCE +-- +-- See Flows AVP as defined in TS 29.214 [221] +-- +{ + mediaComponentNumber [1] INTEGER, + flowNumber [2] SEQUENCE OF INTEGER OPTIONAL +} + +FreeFormatData ::= OCTET STRING (SIZE(1..160)) +-- +-- Free formatted data as sent in the FurnishChargingInformationGPRS +-- see TS 29.078 [217] +-- + +-- GSNAddress ::= IPAddress + +MSNetworkCapability ::= OCTET STRING (SIZE(1..8)) +-- +-- see TS 24.008 [208] +-- + +NetworkInitiatedPDPContext ::= BOOLEAN +-- +-- Set to true if PDP context was initiated from network side +-- + +NodeID ::= IA5String (SIZE(1..20)) + +NumberOfDPEncountered ::= INTEGER + +PDPAddress ::= CHOICE +{ + iPAddress [0] IPAddress +-- eTSIAddress [1] ETSIAddress +-- has only been used in earlier releases for X.121 format +} + +PDPType ::= OCTET STRING (SIZE(2)) +-- +-- OCTET 1: PDP Type Organization +-- OCTET 2: PDP/PDN Type Number +-- See TS 29.060 [215] for encoding details. +-- + +PLMN-Id ::= OCTET STRING (SIZE (3)) +-- +-- This is in the same format as octets 2,3,and 4 of the Routing Area Identity (RAI) IE specified +-- in TS 29.060 [215] +-- + +PresenceReportingAreaInfo ::= SEQUENCE +{ + presenceReportingAreaIdentifier [0] OCTET STRING, + presenceReportingAreaStatus [1] PresenceReportingAreaStatus OPTIONAL +} + +PresenceReportingAreaStatus ::= ENUMERATED +{ + insideArea (0), + outsideArea (1) +} + +PSFurnishChargingInformation ::= SEQUENCE +{ + pSFreeFormatData [1] FreeFormatData, + pSFFDAppendIndicator [2] FFDAppendIndicator OPTIONAL +} + +QoSInformation ::= OCTET STRING (SIZE (4..255)) +-- +-- This octet string +-- is a 1:1 copy of the contents (i.e. starting with octet 5) of the "Bearer Quality of +-- Service" information element specified in TS 29.274 [223]. +-- + +RatingGroupId ::= INTEGER +-- +-- IP service flow identity (DCCA), range of 4 byte (0... 4294967295) +-- see Rating-Group AVP as used in TS 32.299 [50] +-- + +RATType ::= INTEGER (0..255) +-- +-- Ihis integer is 1:1 copy of the RAT type value as defined in TS 29.061 [215]. +-- + +ResultCode ::= INTEGER +-- +-- charging protocol return value, range of 4 byte (0... 4294967295) +-- see Result-Code AVP as used in 32.299 [40] +-- + +ServiceConditionChange ::= BIT STRING +{ + qoSChange (0), -- bearer modification + sGSNChange (1), -- bearer modification: + -- apply to Gn-SGSN /SGW Change + sGSNPLMNIDChange (2), -- bearer modification + tariffTimeSwitch (3), -- tariff time change + pDPContextRelease (4), -- bearer release + rATChange (5), -- bearer modification + serviceIdledOut (6), -- IP flow idle out, DCCA QHT expiry + reserved (7), -- old: QCTexpiry is no report event + configurationChange (8), -- configuration change + serviceStop (9), -- IP flow termination.From "Service Stop" in + -- Change-Condition AVP + dCCATimeThresholdReached (10), -- DCCA quota reauthorization + dCCAVolumeThresholdReached (11), -- DCCA quota reauthorization + dCCAServiceSpecificUnitThresholdReached (12), -- DCCA quota reauthorization + dCCATimeExhausted (13), -- DCCA quota reauthorization + dCCAVolumeExhausted (14), -- DCCA quota reauthorization + dCCAValidityTimeout (15), -- DCCA quota validity time (QVT expiry) + reserved1 (16), -- reserved due to no use case, + -- old: return Requested is covered by (17),(18) + dCCAReauthorisationRequest (17), -- DCCA quota reauthorization request by OCS + dCCAContinueOngoingSession (18), -- DCCA failure handling (CCFH), + -- continue IP flow + dCCARetryAndTerminateOngoingSession (19), -- DCCA failure handling (CCFH), + -- terminate IP flow after DCCA retry + dCCATerminateOngoingSession (20), -- DCCA failure handling, + -- terminate IP flow + cGI-SAIChange (21), -- bearer modification. "CGI-SAI Change" + rAIChange (22), -- bearer modification. "RAI Change" + dCCAServiceSpecificUnitExhausted (23), -- DCCA quota reauthorization + recordClosure (24), -- PGW-CDR closure + timeLimit (25), -- intermediate recording. From "Service Data - - Time Limit" Change-Condition AVP value + volumeLimit (26), -- intermediate recording.From "Service Data - - Volume Limit" Change-Condition AVP value + serviceSpecificUnitLimit (27), -- intermediate recording + envelopeClosure (28), + eCGIChange (29), -- bearer modification. "ECGI Change" + tAIChange (30), -- bearer modification. "TAI Change" + userLocationChange (31) -- bearer modification. "User Location Change" +} +-- +-- Trigger and cause values for IP flow level recording are defined for support of independent +-- online and offline charging and also for tight interworking between online and offline charging. +-- Unused bits will always be zero. +-- Some of the values are non-exclusive (e.g. bearer modification reasons). +-- + +SCFAddress ::= AddressString +-- +-- See TS 29.002 [214] +-- + +ServiceIdentifier ::= INTEGER (0..4294967295) +-- +-- The service identifier is used to identify the service or the service component +-- the service data flow relates to. See Service-Identifier AVP as defined in TS 29.212 [220] +-- + +ServingNodeType ::= ENUMERATED +{ + sGSN (0), + pMIPSGW (1), + gTPSGW (2), + ePDG (3), + hSGW (4), + mME (5), + tWAN (6) +} + +SGSNChange ::= BOOLEAN +-- +-- present if first record after inter SGSN routing area update in new SGSN +-- + +SGWChange ::= BOOLEAN +-- +-- present if first record after inter S-GW change +-- + +TimeQuotaMechanism ::= SEQUENCE +{ + timeQuotaType [1] TimeQuotaType, + baseTimeInterval [2] INTEGER +} + +TimeQuotaType ::= ENUMERATED +{ + dISCRETETIMEPERIOD (0), + cONTINUOUSTIMEPERIOD (1) +} + +TWANUserLocationInfo ::= SEQUENCE +{ + sSID [0] OCTET STRING, -- see format in IEEE Std 802.11-2012 [408] + bSSID [1] OCTET STRING OPTIONAL -- see format in IEEE Std 802.11-2012 [408] +} + +UserCSGInformation ::= SEQUENCE +{ + cSGId [0] CSGId, + cSGAccessMode [1] CSGAccessMode, + cSGMembershipIndication [2] NULL OPTIONAL +} + +END diff --git a/asn1/gprscdr/GPRSChargingDataTypesV641.asn b/asn1/gprscdr/GPRSChargingDataTypesV641.asn index a94ae40f48..0f449f8499 100644 --- a/asn1/gprscdr/GPRSChargingDataTypesV641.asn +++ b/asn1/gprscdr/GPRSChargingDataTypesV641.asn @@ -503,19 +503,19 @@ ChangeOfCharConditionV651 ::= SEQUENCE changeCondition [5] ChangeConditionV651, changeTime [6] TimeStamp } -ChangeOfMBMSCondition ::= SEQUENCE -{ +--ChangeOfMBMSCondition ::= SEQUENCE +--{ -- -- Used in MBMS record -- - qosRequested [1] QoSInformation OPTIONAL, - qosNegotiated [2] QoSInformation OPTIONAL, - dataVolumeMBMSUplink [3] DataVolumeMBMS OPTIONAL, - dataVolumeMBMSDownlink [4] DataVolumeMBMS, - changeCondition [5] ChangeConditionV651, - changeTime [6] TimeStamp, - failureHandlingContinue [7] FailureHandlingContinue OPTIONAL -} +-- qosRequested [1] QoSInformation OPTIONAL, +-- qosNegotiated [2] QoSInformation OPTIONAL, +-- dataVolumeMBMSUplink [3] DataVolumeMBMS OPTIONAL, +-- dataVolumeMBMSDownlink [4] DataVolumeMBMS, +-- changeCondition [5] ChangeConditionV651, +-- changeTime [6] TimeStamp, +-- failureHandlingContinue [7] FailureHandlingContinue OPTIONAL +--} ChangeOfServiceConditionV651 ::= SEQUENCE { -- diff --git a/asn1/gprscdr/GenericChargingDataTypesV1250.asn b/asn1/gprscdr/GenericChargingDataTypesV1250.asn new file mode 100644 index 0000000000..e0bfa90ba4 --- /dev/null +++ b/asn1/gprscdr/GenericChargingDataTypesV1250.asn @@ -0,0 +1,668 @@ +-- 3GPP TS 32.298 +GenericChargingDataTypes {itu-t (0) identified-organization (4) etsi(0) mobileDomain (0) charging (5) genericChargingDataTypes (0) asn1Module (0) version1 (0)} + +DEFINITIONS IMPLICIT TAGS ::= + +BEGIN + +-- EXPORTS everything + +IMPORTS + +AddressString, +ISDN-AddressString, +LCSClientExternalID, +LCSClientInternalID +FROM MAP-CommonDataTypes { itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3) map-CommonDataTypes (18) version13 (13) } +-- from TS 29.002 [214] + +PositionMethodFailure-Diagnostic, +UnauthorizedLCSClient-Diagnostic +FROM MAP-ER-DataTypes { itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3) map-ER-DataTypes (17) version13 (13)} +-- from TS 29.002 [214] + +ObjectInstance +FROM CMIP-1 {joint-iso-itu-t ms (9) cmip (1) modules (0) protocol (3)} +-- from Rec. X.2ab[304] + +-- WS localy defined +--ManagementExtension +--FROM Attribute-ASN1Module {joint-iso-itu-t ms (9) smi (3) part2 (2) asn1Module (2) 1} +-- from Rec. X.721 [305] + +--AE-title +--FROM ACSE-1 {joint-iso-itu-t association-control (2) modules (0) apdus (0) version1 (1) }; +-- From Rec. X.2cd[306]. Note that the syntax of AE-title to be used is from +-- ITU-T Rec. X.227 / ISO 8650 corrigendum and not "ANY" +; +-- +-- Generic Data Types +-- + +BCDDirectoryNumber ::= OCTET STRING +-- +-- This type contains the binary coded decimal representation of +-- a directory number e.g. calling/called/connected/translated number. +-- The encoding of the octet string is in accordance with the +-- the elements "Calling party BCD number", "Called party BCD number" +-- and "Connected number" defined in TS 24.008 [208]. +-- This encoding includes type of number and number plan information +-- together with a BCD encoded digit string. +-- It may also contain both a presentation and screening indicator +-- (octet 3a). +-- For the avoidance of doubt, this field does not include + -- octets 1 and 2, the element name and length, as this would be +-- redundant. +-- + +CallDuration ::= INTEGER +-- +-- The call duration is counted in seconds. +-- For successful calls /sessions / PDP contexts, this is the chargeable duration. +-- For call attempts this is the call holding time. +-- + +CalledNumber ::= BCDDirectoryNumber + +-- WS extension to cater for older version(6) +CallEventRecordType ::= INTEGER +{ + +-- Record values 0..17 are CS specific. +-- The contents are defined in TS 32.250 [10] + + moCallRecord (0), + mtCallRecord (1), + roamingRecord (2), + incGatewayRecord (3), + outGatewayRecord (4), + transitCallRecord (5), + moSMSRecord (6), + mtSMSRecord (7), + moSMSIWRecord (8), + mtSMSGWRecord (9), + ssActionRecord (10), + hlrIntRecord (11), + locUpdateHLRRecord (12), + locUpdateVLRRecord (13), + commonEquipRecord (14), + moTraceRecord (15), --- used in earlier releases + mtTraceRecord (16), --- used in earlier releases + termCAMELRecord (17), +-- +-- Record values 18..22 are GPRS specific. +-- The contents are defined in TS 32.251 [11] +-- + sgsnPDPRecord (18), + ggsnPDPRecord (19), + sgsnMMRecord (20), + sgsnSMORecord (21), + sgsnSMTRecord (22), +-- +-- Record values 23..25 are CS-LCS specific. +-- The contents are defined in TS 32.250 [10] +-- + mtLCSRecord (23), + moLCSRecord (24), + niLCSRecord (25), +-- +-- Record values 26..28 are GPRS-LCS specific. +-- The contents are defined in TS 32.251 [11] +-- + sgsnMtLCSRecord (26), + sgsnMoLCSRecord (27), + sgsnNiLCSRecord (28), +-- +-- Record values 29..62 are MMS specific. +-- The contents are defined in TS 32.270 [30] +-- + mmO1SRecord (29), + mmO4FRqRecord (30), + mmO4FRsRecord (31), + mmO4DRecord (32), + mmO1DRecord (33), + mmO4RRecord (34), + mmO1RRecord (35), + mmOMDRecord (36), + mmR4FRecord (37), + mmR1NRqRecord (38), + mmR1NRsRecord (39), + mmR1RtRecord (40), + mmR1AFRecord (42), + mmR4DRqRecord (43), + mmR4DRsRecord (44), + mmR1RRRecord (45), + mmR4RRqRecord (46), + mmR4RRsRecord (47), + mmRMDRecord (48), + mmFRecord (49), + mmBx1SRecord (50), + mmBx1VRecord (51), + mmBx1URecord (52), + mmBx1DRecord (53), + mM7SRecord (54), + mM7DRqRecord (55), + mM7DRsRecord (56), + mM7CRecord (57), + mM7RRecord (58), + mM7DRRqRecord (59), + mM7DRRsRecord (60), + mM7RRqRecord (61), + mM7RRsRecord (62), +-- +-- Record values 63..69 are IMS specific. +-- The contents are defined in TS 32.260 [20] +-- + s-CSCFRecord (63), + p-CSCFRecord (64), + i-CSCFRecord (65), + mRFCRecord (66), + mGCFRecord (67), + bGCFRecord (68), + aSRecord (69), +-- +-- Record values 70 is for Flow based Charging +-- The contents are defined in TS 32.251 [11] +-- + egsnPDPRecord (70), +-- +-- Record values 71..75 are LCS specific. +-- The contents are defined in TS 32.271 [31] +-- + lCSGMORecord (71), + lCSRGMTRecord (72), + lCSHGMTRecord (73), + lCSVGMTRecord (74), + lCSGNIRecord (75), +-- +-- Record values 76..79 are MBMS specific. +-- The contents are defined in TS 32.251 [11] +-- Record values 76 and 77 are MBMS bearer context specific +-- + sgsnMBMSRecord (76), + ggsnMBMSRecord (77), +-- And TS 32.273 [33] +-- Record values 78 and 79 are MBMS service specific +-- and defined in TS 32.273 [33] + subBMSCRecord (78), + contentBMSCRecord (79), +-- +-- Record Values 80..81 are PoC specific. +-- The contents are defined in TS 32.272 [14] +-- + pPFRecord (80), + cPFRecord (81) +} +-- End WS + + +CallingNumber ::= BCDDirectoryNumber + +CellId ::= OCTET STRING (SIZE(2)) +-- +-- Coded according to TS 24.008 [208] +-- + +ChargeIndicator ::= INTEGER +{ + noCharge (0), + charge (1) +} + +CNIPMulticastDistribution ::= ENUMERATED +{ + nO-IP-MULTICAST (0), + iP-MULTICAST (1) +} + +Diagnostics ::= CHOICE +{ + gsm0408Cause [0] INTEGER, + -- See TS 24.008 [208] + gsm0902MapErrorValue [1] INTEGER, + -- + -- Note: The value to be stored here corresponds to the local values defined in the MAP-Errors + -- and MAP-DialogueInformation modules, for full details see TS 29.002 [214]. + -- + itu-tQ767Cause [2] INTEGER, + -- See Q.767 [309] + networkSpecificCause [3] ManagementExtension, + -- To be defined by network operator + manufacturerSpecificCause [4] ManagementExtension, + -- To be defined by manufacturer + positionMethodFailureCause [5] PositionMethodFailure-Diagnostic, + -- see TS 29.002 [214] + unauthorizedLCSClientCause [6] UnauthorizedLCSClient-Diagnostic, + -- see TS 29.002 [214] + diameterResultCodeAndExperimentalResult [7] INTEGER + -- See TS 29.338 [230], TS 29.337 [231] +} + +DiameterIdentity ::= OCTET STRING + +GSNAddress ::= IPAddress + +IPAddress ::= CHOICE +{ + iPBinaryAddress IPBinaryAddress, + iPTextRepresentedAddress IPTextRepresentedAddress +} + +IPBinaryAddress ::= CHOICE +{ + iPBinV4Address [0] IPBinV4Address, + iPBinV6Address IPBinV6AddressWithOrWithoutPrefixLength +} + +IPBinV4Address ::= OCTET STRING (SIZE(4)) + +IPBinV6Address ::= OCTET STRING (SIZE(16)) + +IPBinV6AddressWithOrWithoutPrefixLength ::= CHOICE +{ + iPBinV6Address [1] IPBinV6Address, + iPBinV6AddressWithPrefix [4] IPBinV6AddressWithPrefixLength +} + +IPBinV6AddressWithPrefixLength ::= SEQUENCE +{ + iPBinV6Address IPBinV6Address, + pDPAddressPrefixLength PDPAddressPrefixLength DEFAULT 64 +} + +IPTextRepresentedAddress ::= CHOICE +{ -- + -- IP address in the familiar "dot" notation + -- + iPTextV4Address [2] IA5String (SIZE(7..15)), + iPTextV6Address [3] IA5String (SIZE(15..45)) +} + +LCSCause ::= OCTET STRING (SIZE(1)) +-- +-- See LCS Cause Value, TS 49.031 [227] +-- + +LCSClientIdentity ::= SEQUENCE +{ + lcsClientExternalID [0] LCSClientExternalID OPTIONAL, + lcsClientDialedByMS [1] AddressString OPTIONAL, + lcsClientInternalID [2] LCSClientInternalID OPTIONAL +} + +LCSQoSInfo ::= OCTET STRING (SIZE(4)) +-- +-- See LCS QoS IE, TS 49.031 [227] +-- + +LevelOfCAMELService ::= BIT STRING +{ + basic (0), + callDurationSupervision (1), + onlineCharging (2) +} + +LocalSequenceNumber ::= INTEGER (0..4294967295) +-- +-- Sequence number of the record in this node +-- 0.. 4294967295 is equivalent to 0..2**32-1, unsigned integer in four octets +-- + +LocationAreaAndCell ::= SEQUENCE +{ + locationAreaCode [0] LocationAreaCode, + cellId [1] CellId, + mCC-MNC [2] MCC-MNC OPTIONAL +} + +LocationAreaCode ::= OCTET STRING (SIZE(2)) +-- +-- See TS 24.008 [208] +-- + +ManagementExtensions ::= SET OF ManagementExtension + +MBMS2G3GIndicator ::= ENUMERATED +{ + twoG (0), -- For GERAN access only + threeG (1), -- For UTRAN access only + twoG-AND-threeG (2) -- For both UTRAN and GERAN access +} + +MBMSInformation ::= SET +{ + tMGI [1] TMGI OPTIONAL, + mBMSSessionIdentity [2] MBMSSessionIdentity OPTIONAL, + mBMSServiceType [3] MBMSServiceType OPTIONAL, + mBMSUserServiceType [4] MBMSUserServiceType OPTIONAL, -- only supported in the BM-SC + mBMS2G3GIndicator [5] MBMS2G3GIndicator OPTIONAL, + fileRepairSupported [6] BOOLEAN OPTIONAL, -- only supported in the BM-SC + rAI [7] RoutingAreaCode OPTIONAL, -- only supported in the BM-SC + mBMSServiceArea [8] MBMSServiceArea OPTIONAL, + requiredMBMSBearerCaps [9] RequiredMBMSBearerCapabilities OPTIONAL, + mBMSGWAddress [10] GSNAddress OPTIONAL, + cNIPMulticastDistribution [11] CNIPMulticastDistribution OPTIONAL +} + +MBMSServiceArea ::= OCTET STRING + +MBMSServiceType ::= ENUMERATED +{ + mULTICAST (0), + bROADCAST (1) +} + +MBMSSessionIdentity ::= OCTET STRING (SIZE (1)) +-- +-- This octet string is a 1:1 copy of the contents of the MBMS-Session-Identity +-- AVP specified in TS 29.061 [82] +-- + +MBMSUserServiceType ::= ENUMERATED +{ + dOWNLOAD (0), + sTREAMING (1) +} + +MCC-MNC ::= OCTET STRING (SIZE(3)) +-- +-- See TS 24.008 [208] +-- + +MessageReference ::= OCTET STRING + +MscNo ::= ISDN-AddressString +-- +-- See TS 23.003 [200] +-- + +MSISDN ::= ISDN-AddressString +-- +-- See TS 23.003 [200] +-- + +MSTimeZone ::= OCTET STRING (SIZE (2)) +-- +-- 1.Octet: Time Zone and 2. Octet: Daylight saving time, see TS 29.060 [215] +-- + +NodeAddress ::= CHOICE +{ + iPAddress [0] IPAddress, + domainName [1] GraphicString +} + +PDPAddressPrefixLength ::=INTEGER (1..64) +-- +-- This is an interger indicating the leght of the PDP/PDN IPv6 address prefix +-- and the default value is 64 bits. +-- + +PositioningData ::= OCTET STRING (SIZE(1..33)) +-- +-- See Positioning Data IE (octet 3..n), TS 49.031 [227] +-- + +RecordingEntity ::= AddressString + +RecordType ::= INTEGER +-- +-- Record values 0..17 and 87,89 are CS specific. The contents are defined in TS 32.250 [10] +-- +{ + moCallRecord (0), + mtCallRecord (1), + roamingRecord (2), + incGatewayRecord (3), + outGatewayRecord (4), + transitCallRecord (5), + moSMSRecord (6), + mtSMSRecord (7), + moSMSIWRecord (8), + mtSMSGWRecord (9), + ssActionRecord (10), + hlrIntRecord (11), + locUpdateHLRRecord (12), + locUpdateVLRRecord (13), + commonEquipRecord (14), + moTraceRecord (15), -- used in earlier releases + mtTraceRecord (16), -- used in earlier releases + termCAMELRecord (17), +-- +-- Record values 18..22 are GPRS specific. The contents are defined in TS 32.251 [11] +-- + sgsnPDPRecord (18), + sgsnMMRecord (20), + sgsnSMORecord (21), -- also MME UE originated SMS record + sgsnSMTRecord (22), -- also MME UE terminated SMS record +-- +-- Record values 23..25 are CS-LCS specific. The contents are defined in TS 32.250 [10] +-- + mtLCSRecord (23), + moLCSRecord (24), + niLCSRecord (25), +-- +-- Record values 26..28 are GPRS-LCS specific. The contents are defined in TS 32.251 [11] +-- + sgsnMTLCSRecord (26), + sgsnMOLCSRecord (27), + sgsnNILCSRecord (28), +-- +-- Record values 30..62 are MMS specific. The contents are defined in TS 32.270 [30] +-- + mMO1SRecord (30), + mMO4FRqRecord (31), + mMO4FRsRecord (32), + mMO4DRecord (33), + mMO1DRecord (34), + mMO4RRecord (35), + mMO1RRecord (36), + mMOMDRecord (37), + mMR4FRecord (38), + mMR1NRqRecord (39), + mMR1NRsRecord (40), + mMR1RtRecord (41), + mMR1AFRecord (42), + mMR4DRqRecord (43), + mMR4DRsRecord (44), + mMR1RRRecord (45), + mMR4RRqRecord (46), + mMR4RRsRecord (47), + mMRMDRecord (48), + mMFRecord (49), + mMBx1SRecord (50), + mMBx1VRecord (51), + mMBx1URecord (52), + mMBx1DRecord (53), + mM7SRecord (54), + mM7DRqRecord (55), + mM7DRsRecord (56), + mM7CRecord (57), + mM7RRecord (58), + mM7DRRqRecord (59), + mM7DRRsRecord (60), + mM7RRqRecord (61), + mM7RRsRecord (62), +-- +-- Record values 63..70, 82, 89..91 are IMS specific. +-- The contents are defined in TS 32.260 [20] +-- + sCSCFRecord (63), + pCSCFRecord (64), + iCSCFRecord (65), + mRFCRecord (66), + mGCFRecord (67), + bGCFRecord (68), + aSRecord (69), + eCSCFRecord (70), + iBCFRecord (82), + tRFRecord (89), + tFRecord (90), +aTCFRecord (91), +-- +-- Record values 71..75 are LCS specific. The contents are defined in TS 32.271 [31] +-- + lCSGMORecord (71), + lCSRGMTRecord (72), + lCSHGMTRecord (73), + lCSVGMTRecord (74), + lCSGNIRecord (75), +-- +-- Record values 76..79,86 are MBMS specific. +-- The contents are defined in TS 32.251 [11] and TS 32.273 [33] +-- +-- Record values 76,77 and 86 are MBMS bearer context specific +-- + sgsnMBMSRecord (76), + ggsnMBMSRecord (77), + gwMBMSRecord (86), +-- +-- Record values 78 and 79 are MBMS service specific and defined in TS 32.273 [33] +-- + sUBBMSCRecord (78), + cONTENTBMSCRecord (79), +-- +-- Record Values 80..81 are PoC specific. The contents are defined in TS 32.272 [32] +-- + pPFRecord (80), + cPFRecord (81), +-- +-- Record values 84,85 and 92,95,96 are EPC specific. +-- The contents are defined in TS 32.251 [11] +-- + sGWRecord (84), + pGWRecord (85), + tDFRecord (92), + iPERecord (95), + ePDGRecord (96), +-- +-- Record Value 83 is MMTel specific. The contents are defined in TS 32.275 [35] +-- + mMTelRecord (83), +-- +-- Record value 87,88 and 89 are CS specific. The contents are defined in TS 32.250 [10] +-- + mSCsRVCCRecord (87), + mMTRFRecord (88), + iCSRegisterRecord (99), +-- +-- Record values 93 and 94 are SMS specific. The contents are defined in TS 32.274 [34] +-- + sCSMORecord (93), + sCSMTRecord (94) +} + +RequiredMBMSBearerCapabilities ::= OCTET STRING (SIZE (3..14)) +-- +-- This octet string is a 1:1 copy of the contents (i.e. starting with octet 5) of the +-- "Quality of service Profile" information element specified in TS 29.060 [75]. +-- + +RoutingAreaCode ::= OCTET STRING (SIZE(1)) +-- +-- See TS 24.008 [208] +-- + +ServiceContextID ::= UTF8String + +ServiceSpecificInfo ::= SEQUENCE +{ + serviceSpecificData [0] GraphicString OPTIONAL, + serviceSpecificType [1] INTEGER OPTIONAL +} + +SMSResult ::= Diagnostics + +SmsTpDestinationNumber ::= OCTET STRING +-- +-- This type contains the binary coded decimal representation of +-- the SMS address field the encoding of the octet string is in +-- accordance with the definition of address fields in TS 23.040 [201]. +-- This encoding includes type of number and numbering plan indication +-- together with the address value range. +-- + +SubscriberEquipmentNumber ::= SET +{ + subscriberEquipmentNumberType [0] SubscriberEquipmentType, + subscriberEquipmentNumberData [1] OCTET STRING +} + +SubscriberEquipmentType ::= ENUMERATED +{ + iMEISV (0), + mAC (1), + eUI64 (2), + modifiedEUI64 (3) +} + +SubscriptionID ::= SET +{ + subscriptionIDType [0] SubscriptionIDType, + subscriptionIDData [1] UTF8String +} + +SubscriptionIDType ::= ENUMERATED +{ + eND-USER-E164 (0), + eND-USER-IMSI (1), + eND-USER-SIP-URI (2), + eND-USER-NAI (3), + eND-USER-PRIVATE (4) +} + +SystemType ::= ENUMERATED + -- + -- "unknown" is not to be used in PS domain. + -- +{ + unknown (0), + iuUTRAN (1), + gERAN (2) +} + +TimeStamp ::= OCTET STRING (SIZE(9)) +-- +-- The contents of this field are a compact form of the UTCTime format +-- containing local time plus an offset to universal time. Binary coded +-- decimal encoding is employed for the digits to reduce the storage and +-- transmission overhead +-- e.g. YYMMDDhhmmssShhmm +-- where +-- YY = Year 00 to 99 BCD encoded +-- MM = Month 01 to 12 BCD encoded +-- DD = Day 01 to 31 BCD encoded +-- hh = hour 00 to 23 BCD encoded +-- mm = minute 00 to 59 BCD encoded +-- ss = second 00 to 59 BCD encoded +-- S = Sign 0 = "+", "-" ASCII encoded +-- hh = hour 00 to 23 BCD encoded +-- mm = minute 00 to 59 BCD encoded +-- + +TMGI ::= OCTET STRING +-- +-- This octet string is a 1:1 copy of the contents (i.e. starting with octet 4) +-- of the "TMGI" information element specified in TS 29.060 [75]. +-- + +-- Local WS modification Import ManagementExtension here +-- as2wrs fault fix: +DMI-EXTENSION::= CLASS {&id OBJECT IDENTIFIER UNIQUE, + &Value +}WITH SYNTAX {TYPE &Value + ID &id +} + +ManagementExtension ::= SEQUENCE { + identifier DMI-EXTENSION.&id({ManagementExtensionSet}), + significance [1] BOOLEAN DEFAULT FALSE, + information + [2] DMI-EXTENSION.&Value({ManagementExtensionSet}{@.identifier}) +} + +ManagementExtensionSet DMI-EXTENSION ::= + {...} + + +END diff --git a/asn1/gprscdr/Makefile.common b/asn1/gprscdr/Makefile.common index eb975b87cd..22ed06da75 100644 --- a/asn1/gprscdr/Makefile.common +++ b/asn1/gprscdr/Makefile.common @@ -23,15 +23,16 @@ EXPORT_FILES = \ $(PROTOCOL_NAME)-exp.cnf ASN_FILE_LIST = \ - GenericChargingDataTypesV1171.asn \ + GenericChargingDataTypesV1250.asn \ GPRSChargingDataTypesV641.asn \ - GPRSChargingDataTypesV1171.asn + GPRSChargingDataTypesV1250.asn INCLUDED_ASN_FILE_LIST = \ 3GPPGenericChargingDataTypes.asn \ GPRSChargingDataTypes.asn \ GPRSChargingDataTypesV8e0.asn \ GPRSChargingDataTypesV9f0.asn \ + GPRSChargingDataTypesV1171.asn \ GenericChargingDataTypes.asn \ GenericChargingDataTypesV641.asn \ GenericChargingDataTypesV8e0.asn \ diff --git a/asn1/gprscdr/gprscdr.cnf b/asn1/gprscdr/gprscdr.cnf index 32b67772f7..b6cdd3f1ec 100644 --- a/asn1/gprscdr/gprscdr.cnf +++ b/asn1/gprscdr/gprscdr.cnf @@ -24,6 +24,8 @@ ServiceContextID ChangeLocationV651 CTEID DataVolumeMBMS +SubscriberEquipmentNumber +SubscriberEquipmentType # 6.4 If these are needed MBMS asn1 should be added. SGSNMBMSRecord GGSNMBMSRecord diff --git a/epan/dissectors/packet-gprscdr.c b/epan/dissectors/packet-gprscdr.c index 6c7d73eb6d..10d9f3b8ea 100644 --- a/epan/dissectors/packet-gprscdr.c +++ b/epan/dissectors/packet-gprscdr.c @@ -1,7 +1,7 @@ /* Do not modify this file. Changes will be overwritten. */ /* Generated automatically by the ASN.1 to Wireshark dissector compiler */ /* packet-gprscdr.c */ -/* ../../tools/asn2wrs.py -b -p gprscdr -c ./gprscdr.cnf -s ./packet-gprscdr-template -D . -O ../../epan/dissectors GenericChargingDataTypesV1171.asn GPRSChargingDataTypesV641.asn GPRSChargingDataTypesV1171.asn */ +/* ../../tools/asn2wrs.py -b -p gprscdr -c ./gprscdr.cnf -s ./packet-gprscdr-template -D . -O ../../epan/dissectors GenericChargingDataTypesV1250.asn GPRSChargingDataTypesV641.asn GPRSChargingDataTypesV1250.asn */ /* Input file: packet-gprscdr-template.c */ @@ -178,6 +178,9 @@ static int hf_gprscdr_sgsnSMORecord_01 = -1; /* SGSNSMORecord */ static int hf_gprscdr_sgsnSMTRecord_01 = -1; /* SGSNSMTRecord */ static int hf_gprscdr_sGWRecord = -1; /* SGWRecord */ static int hf_gprscdr_pGWRecord = -1; /* PGWRecord */ +static int hf_gprscdr_tDFRecord = -1; /* TDFRecord */ +static int hf_gprscdr_iPERecord = -1; /* IPERecord */ +static int hf_gprscdr_ePDGRecord = -1; /* EPDGRecord */ static int hf_gprscdr_recordType_01 = -1; /* RecordType */ static int hf_gprscdr_s_GWAddress = -1; /* GSNAddress */ static int hf_gprscdr_servingNodeAddress = -1; /* SEQUENCE_OF_GSNAddress */ @@ -205,14 +208,34 @@ static int hf_gprscdr_s_GWiPv6Address = -1; /* GSNAddress */ static int hf_gprscdr_servingNodeiPv6Address = -1; /* SEQUENCE_OF_GSNAddress */ static int hf_gprscdr_servingNodeiPv6Address_item = -1; /* GSNAddress */ static int hf_gprscdr_p_GWiPv6AddressUsed = -1; /* GSNAddress */ +static int hf_gprscdr_retransmission = -1; /* NULL */ +static int hf_gprscdr_userLocationInfoTime = -1; /* TimeStamp */ +static int hf_gprscdr_cNOperatorSelectionEnt = -1; /* CNOperatorSelectionEntity */ +static int hf_gprscdr_presenceReportingAreaInfo = -1; /* PresenceReportingAreaInfo */ +static int hf_gprscdr_lastUserLocationInformation = -1; /* OCTET_STRING */ +static int hf_gprscdr_lastMSTimeZone = -1; /* MSTimeZone */ static int hf_gprscdr_p_GWAddress = -1; /* GSNAddress */ -static int hf_gprscdr_servinggNodePLMNIdentifier = -1; /* PLMN_Id */ static int hf_gprscdr_listOfServiceData_01 = -1; /* SEQUENCE_OF_ChangeOfServiceCondition */ static int hf_gprscdr_listOfServiceData_item_01 = -1; /* ChangeOfServiceCondition */ static int hf_gprscdr_servedMNNAI = -1; /* SubscriptionID */ static int hf_gprscdr_served3gpp2MEID = -1; /* OCTET_STRING */ static int hf_gprscdr_threeGPP2UserLocationInformation = -1; /* OCTET_STRING */ static int hf_gprscdr_tWANUserLocationInformation = -1; /* TWANUserLocationInfo */ +static int hf_gprscdr_ePCQoSInformation = -1; /* EPCQoSInformation */ +static int hf_gprscdr_tDFAddress = -1; /* GSNAddress */ +static int hf_gprscdr_tDFiPv6AddressUsed = -1; /* GSNAddress */ +static int hf_gprscdr_tDFPLMNIdentifier = -1; /* PLMN_Id */ +static int hf_gprscdr_servedFixedSubsID = -1; /* FixedSubsID */ +static int hf_gprscdr_accessLineIdentifier = -1; /* AccessLineIdentifier */ +static int hf_gprscdr_fixedUserLocationInformation = -1; /* FixedUserLocationInformation */ +static int hf_gprscdr_iPEdgeAddress = -1; /* GSNAddress */ +static int hf_gprscdr_iPCANsessionType = -1; /* PDPType */ +static int hf_gprscdr_servedIPCANsessionAddress = -1; /* PDPAddress */ +static int hf_gprscdr_iPEdgeOperatorIdentifier = -1; /* PLMN_Id */ +static int hf_gprscdr_servedIPCANsessionAddressExt = -1; /* PDPAddress */ +static int hf_gprscdr_iPEdgeiPv6AddressUsed = -1; /* GSNAddress */ +static int hf_gprscdr_ePDGAddressUsed = -1; /* GSNAddress */ +static int hf_gprscdr_ePDGiPv6AddressUsed = -1; /* GSNAddress */ static int hf_gprscdr_changeLocation = -1; /* SEQUENCE_OF_ChangeLocation */ static int hf_gprscdr_changeLocation_item = -1; /* ChangeLocation */ static int hf_gprscdr_cAMELInformationMM = -1; /* CAMELInformationMM */ @@ -223,6 +246,8 @@ static int hf_gprscdr_servingNodeiPv6Address_01 = -1; /* GSNAddress */ static int hf_gprscdr_mMEName = -1; /* DiameterIdentity */ static int hf_gprscdr_mMERealm = -1; /* DiameterIdentity */ static int hf_gprscdr_originatingAddress = -1; /* AddressString */ +static int hf_gprscdr_physicalAccessID = -1; /* UTF8String */ +static int hf_gprscdr_logicalAccessID = -1; /* OCTET_STRING */ static int hf_gprscdr_aFChargingIdentifier = -1; /* AFChargingIdentifier */ static int hf_gprscdr_flows = -1; /* Flows */ static int hf_gprscdr_sCFAddress = -1; /* SCFAddress */ @@ -240,7 +265,7 @@ static int hf_gprscdr_cAMELDestinationSubscriberNumber = -1; /* SmsTpDestinatio static int hf_gprscdr_cAMELSMSCAddress = -1; /* AddressString */ static int hf_gprscdr_smsReferenceNumber = -1; /* CallReferenceNumber */ static int hf_gprscdr_changeCondition_01 = -1; /* ChangeCondition */ -static int hf_gprscdr_ePCQoSInformation = -1; /* EPCQoSInformation */ +static int hf_gprscdr_presenceReportingAreaStatus = -1; /* PresenceReportingAreaStatus */ static int hf_gprscdr_serviceConditionChange_01 = -1; /* ServiceConditionChange */ static int hf_gprscdr_qoSInformationNeg_01 = -1; /* EPCQoSInformation */ static int hf_gprscdr_aFRecordInformation = -1; /* SEQUENCE_OF_AFRecordInformation */ @@ -251,6 +276,7 @@ static int hf_gprscdr_serviceSpecificInfo = -1; /* SEQUENCE_OF_ServiceSpecific static int hf_gprscdr_serviceSpecificInfo_item = -1; /* ServiceSpecificInfo */ static int hf_gprscdr_sponsorIdentity = -1; /* OCTET_STRING */ static int hf_gprscdr_applicationServiceProviderIdentity = -1; /* OCTET_STRING */ +static int hf_gprscdr_aDCRuleBaseName = -1; /* ADCRuleBaseName */ static int hf_gprscdr_routingAreaCode = -1; /* RoutingAreaCode */ static int hf_gprscdr_cellId = -1; /* CellId */ static int hf_gprscdr_mCC_MNC = -1; /* PLMN_Id */ @@ -265,16 +291,17 @@ static int hf_gprscdr_aPNAggregateMaxBitrateDL = -1; /* INTEGER */ static int hf_gprscdr_numberOfEvents = -1; /* INTEGER */ static int hf_gprscdr_eventTimeStamps = -1; /* SEQUENCE_OF_TimeStamp */ static int hf_gprscdr_eventTimeStamps_item = -1; /* TimeStamp */ +static int hf_gprscdr_sSID = -1; /* OCTET_STRING */ +static int hf_gprscdr_bSSID = -1; /* OCTET_STRING */ static int hf_gprscdr_mediaComponentNumber = -1; /* INTEGER */ static int hf_gprscdr_flowNumber = -1; /* T_flowNumber */ static int hf_gprscdr_flowNumber_item = -1; /* INTEGER */ static int hf_gprscdr_iPAddress = -1; /* IPAddress */ +static int hf_gprscdr_presenceReportingAreaIdentifier = -1; /* OCTET_STRING */ static int hf_gprscdr_pSFreeFormatData = -1; /* FreeFormatData */ static int hf_gprscdr_pSFFDAppendIndicator = -1; /* FFDAppendIndicator */ static int hf_gprscdr_timeQuotaType = -1; /* TimeQuotaType */ static int hf_gprscdr_baseTimeInterval = -1; /* INTEGER */ -static int hf_gprscdr_sSID = -1; /* OCTET_STRING */ -static int hf_gprscdr_bSSID = -1; /* OCTET_STRING */ static int hf_gprscdr_cSGId = -1; /* CSGId */ static int hf_gprscdr_cSGAccessMode = -1; /* CSGAccessMode */ static int hf_gprscdr_cSGMembershipIndication = -1; /* NULL */ @@ -375,11 +402,15 @@ static gint ett_gprscdr_SEQUENCE_OF_ChangeOfCharCondition = -1; static gint ett_gprscdr_SEQUENCE_OF_ServingNodeType = -1; static gint ett_gprscdr_PGWRecord = -1; static gint ett_gprscdr_SEQUENCE_OF_ChangeOfServiceCondition = -1; +static gint ett_gprscdr_TDFRecord = -1; +static gint ett_gprscdr_IPERecord = -1; +static gint ett_gprscdr_EPDGRecord = -1; static gint ett_gprscdr_SGSNMMRecord = -1; static gint ett_gprscdr_SEQUENCE_OF_ChangeLocation = -1; static gint ett_gprscdr_SGSNPDPRecord = -1; static gint ett_gprscdr_SGSNSMORecord = -1; static gint ett_gprscdr_SGSNSMTRecord = -1; +static gint ett_gprscdr_AccessLineIdentifier = -1; static gint ett_gprscdr_AFRecordInformation = -1; static gint ett_gprscdr_CAMELInformationMM = -1; static gint ett_gprscdr_CAMELInformationPDP = -1; @@ -392,9 +423,11 @@ static gint ett_gprscdr_ChangeLocation = -1; static gint ett_gprscdr_EPCQoSInformation = -1; static gint ett_gprscdr_EventBasedChargingInformation = -1; static gint ett_gprscdr_SEQUENCE_OF_TimeStamp = -1; +static gint ett_gprscdr_FixedUserLocationInformation = -1; static gint ett_gprscdr_Flows = -1; static gint ett_gprscdr_T_flowNumber = -1; static gint ett_gprscdr_PDPAddress = -1; +static gint ett_gprscdr_PresenceReportingAreaInfo = -1; static gint ett_gprscdr_PSFurnishChargingInformation = -1; static gint ett_gprscdr_ServiceConditionChange = -1; static gint ett_gprscdr_TimeQuotaMechanism = -1; @@ -586,7 +619,7 @@ dissect_gprscdr_BOOLEAN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset static int dissect_gprscdr_T_information(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 67 "../../asn1/gprscdr/gprscdr.cnf" +#line 69 "../../asn1/gprscdr/gprscdr.cnf" proto_tree *ext_tree; ext_tree = proto_tree_add_subtree(tree, tvb, offset, -1, ett_gprscdr_managementextension_information, NULL, "Information"); @@ -909,7 +942,7 @@ dissect_gprscdr_MSISDN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset static int dissect_gprscdr_MSTimeZone(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 116 "../../asn1/gprscdr/gprscdr.cnf" +#line 118 "../../asn1/gprscdr/gprscdr.cnf" /* * * 1.Octet: Time Zone and 2. Octet: Daylight saving time, see TS 29.060 [75] @@ -1041,9 +1074,15 @@ static const value_string gprscdr_RecordType_vals[] = { { 81, "cPFRecord" }, { 84, "sGWRecord" }, { 85, "pGWRecord" }, + { 92, "tDFRecord" }, + { 95, "iPERecord" }, + { 96, "ePDGRecord" }, { 83, "mMTelRecord" }, { 87, "mSCsRVCCRecord" }, { 88, "mMTRFRecord" }, + { 99, "iCSRegisterRecord" }, + { 93, "sCSMORecord" }, + { 94, "sCSMTRecord" }, { 0, NULL } }; @@ -1150,7 +1189,7 @@ dissect_gprscdr_SubscriptionID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int static int dissect_gprscdr_TimeStamp(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 77 "../../asn1/gprscdr/gprscdr.cnf" +#line 79 "../../asn1/gprscdr/gprscdr.cnf" /* * * The contents of this field are a compact form of the UTCTime format @@ -1523,6 +1562,7 @@ static const value_string gprscdr_ChChSelectionMode_vals[] = { { 3, "homeDefault" }, { 4, "roamingDefault" }, { 5, "visitingDefault" }, + { 6, "fixedDefault" }, { 0, NULL } }; @@ -1626,7 +1666,7 @@ dissect_gprscdr_OCTET_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int o static int dissect_gprscdr_PLMN_Id(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 143 "../../asn1/gprscdr/gprscdr.cnf" +#line 145 "../../asn1/gprscdr/gprscdr.cnf" tvbuff_t *parameter_tvb; proto_tree *subtree; @@ -1734,6 +1774,8 @@ static const value_string gprscdr_CauseForRecClosing_vals[] = { { 22, "rATChange" }, { 23, "mSTimeZoneChange" }, { 24, "sGSNPLMNIDChange" }, + { 25, "sGWChange" }, + { 26, "aPNAMBRChange" }, { 52, "unauthorizedRequestingNetwork" }, { 53, "unauthorizedLCSClient" }, { 54, "positionMethodFailure" }, @@ -1772,6 +1814,22 @@ dissect_gprscdr_CAMELInformationMM(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, } +static const value_string gprscdr_CNOperatorSelectionEntity_vals[] = { + { 0, "servCNSelectedbyUE" }, + { 1, "servCNSelectedbyNtw" }, + { 0, NULL } +}; + + +static int +dissect_gprscdr_CNOperatorSelectionEntity(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + static const ber_sequence_t SGSNMMRecord_set[] = { { &hf_gprscdr_recordType_01, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gprscdr_RecordType }, { &hf_gprscdr_servedIMSI , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI }, @@ -1797,6 +1855,8 @@ static const ber_sequence_t SGSNMMRecord_set[] = { { &hf_gprscdr_rATType , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_RATType }, { &hf_gprscdr_chChSelectionMode, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ChChSelectionMode }, { &hf_gprscdr_cellPLMNId , BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PLMN_Id }, + { &hf_gprscdr_servingNodePLMNIdentifier, BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PLMN_Id }, + { &hf_gprscdr_cNOperatorSelectionEnt, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_CNOperatorSelectionEntity }, { NULL, 0, 0, 0, NULL } }; @@ -2160,6 +2220,22 @@ dissect_gprscdr_EPCQoSInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, } +static const value_string gprscdr_PresenceReportingAreaStatus_vals[] = { + { 0, "insideArea" }, + { 1, "outsideArea" }, + { 0, NULL } +}; + + +static int +dissect_gprscdr_PresenceReportingAreaStatus(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + static const ber_sequence_t ChangeOfCharCondition_sequence[] = { { &hf_gprscdr_qosRequested, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_QoSInformation }, { &hf_gprscdr_qosNegotiated, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_QoSInformation }, @@ -2169,6 +2245,8 @@ static const ber_sequence_t ChangeOfCharCondition_sequence[] = { { &hf_gprscdr_changeTime , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_gprscdr_TimeStamp }, { &hf_gprscdr_userLocationInformation, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING }, { &hf_gprscdr_ePCQoSInformation, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_EPCQoSInformation }, + { &hf_gprscdr_chargingID , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ChargingID }, + { &hf_gprscdr_presenceReportingAreaStatus, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PresenceReportingAreaStatus }, { NULL, 0, 0, 0, NULL } }; @@ -2274,6 +2352,8 @@ static const ber_sequence_t SGSNPDPRecord_set[] = { { &hf_gprscdr_userCSGInformation, BER_CLASS_CON, 35, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_UserCSGInformation }, { &hf_gprscdr_servedPDPPDNAddressExt, BER_CLASS_CON, 36, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_PDPAddress }, { &hf_gprscdr_lowPriorityIndicator, BER_CLASS_CON, 37, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NULL }, + { &hf_gprscdr_servingNodePLMNIdentifier, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PLMN_Id }, + { &hf_gprscdr_cNOperatorSelectionEnt, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_CNOperatorSelectionEntity }, { NULL, 0, 0, 0, NULL } }; @@ -2335,6 +2415,10 @@ static const ber_sequence_t SGSNSMORecord_set[] = { { &hf_gprscdr_mMEName , BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_DiameterIdentity }, { &hf_gprscdr_mMERealm , BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_DiameterIdentity }, { &hf_gprscdr_userLocationInformation, BER_CLASS_CON, 26, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING }, + { &hf_gprscdr_retransmission, BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NULL }, + { &hf_gprscdr_servingNodePLMNIdentifier, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PLMN_Id }, + { &hf_gprscdr_userLocationInfoTime, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_TimeStamp }, + { &hf_gprscdr_cNOperatorSelectionEnt, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_CNOperatorSelectionEntity }, { NULL, 0, 0, 0, NULL } }; @@ -2374,6 +2458,10 @@ static const ber_sequence_t SGSNSMTRecord_set[] = { { &hf_gprscdr_mMEName , BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_DiameterIdentity }, { &hf_gprscdr_mMERealm , BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_DiameterIdentity }, { &hf_gprscdr_userLocationInformation, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING }, + { &hf_gprscdr_retransmission, BER_CLASS_CON, 26, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NULL }, + { &hf_gprscdr_servingNodePLMNIdentifier, BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PLMN_Id }, + { &hf_gprscdr_userLocationInfoTime, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_TimeStamp }, + { &hf_gprscdr_cNOperatorSelectionEnt, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_CNOperatorSelectionEntity }, { NULL, 0, 0, 0, NULL } }; @@ -2408,6 +2496,21 @@ dissect_gprscdr_SEQUENCE_OF_ServingNodeType(gboolean implicit_tag _U_, tvbuff_t } +static const ber_sequence_t PresenceReportingAreaInfo_sequence[] = { + { &hf_gprscdr_presenceReportingAreaIdentifier, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING }, + { &hf_gprscdr_presenceReportingAreaStatus, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PresenceReportingAreaStatus }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_gprscdr_PresenceReportingAreaInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + PresenceReportingAreaInfo_sequence, hf_index, ett_gprscdr_PresenceReportingAreaInfo); + + return offset; +} + + static const ber_sequence_t SGWRecord_set[] = { { &hf_gprscdr_recordType_01, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gprscdr_RecordType }, { &hf_gprscdr_servedIMSI , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI }, @@ -2433,7 +2536,7 @@ static const ber_sequence_t SGWRecord_set[] = { { &hf_gprscdr_chChSelectionMode, BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ChChSelectionMode }, { &hf_gprscdr_iMSsignalingContext, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NULL }, { &hf_gprscdr_servingNodePLMNIdentifier, BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PLMN_Id }, - { &hf_gprscdr_servedIMEISV, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMEI }, + { &hf_gprscdr_servedIMEI , BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMEI }, { &hf_gprscdr_rATType , BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_RATType }, { &hf_gprscdr_mSTimeZone , BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_MSTimeZone }, { &hf_gprscdr_userLocationInformation, BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING }, @@ -2452,6 +2555,12 @@ static const ber_sequence_t SGWRecord_set[] = { { &hf_gprscdr_s_GWiPv6Address, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_GSNAddress }, { &hf_gprscdr_servingNodeiPv6Address, BER_CLASS_CON, 49, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_SEQUENCE_OF_GSNAddress }, { &hf_gprscdr_p_GWiPv6AddressUsed, BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_GSNAddress }, + { &hf_gprscdr_retransmission, BER_CLASS_CON, 51, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NULL }, + { &hf_gprscdr_userLocationInfoTime, BER_CLASS_CON, 52, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_TimeStamp }, + { &hf_gprscdr_cNOperatorSelectionEnt, BER_CLASS_CON, 53, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_CNOperatorSelectionEntity }, + { &hf_gprscdr_presenceReportingAreaInfo, BER_CLASS_CON, 54, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PresenceReportingAreaInfo }, + { &hf_gprscdr_lastUserLocationInformation, BER_CLASS_CON, 55, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING }, + { &hf_gprscdr_lastMSTimeZone, BER_CLASS_CON, 56, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_MSTimeZone }, { NULL, 0, 0, 0, NULL } }; @@ -2648,6 +2757,17 @@ dissect_gprscdr_SEQUENCE_OF_ServiceSpecificInfo(gboolean implicit_tag _U_, tvbuf } + +static int +dissect_gprscdr_ADCRuleBaseName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_IA5String, + actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + static const ber_sequence_t ChangeOfServiceCondition_sequence[] = { { &hf_gprscdr_ratingGroup , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gprscdr_RatingGroupId }, { &hf_gprscdr_chargingRuleBaseName, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ChargingRuleBaseName }, @@ -2673,6 +2793,8 @@ static const ber_sequence_t ChangeOfServiceCondition_sequence[] = { { &hf_gprscdr_threeGPP2UserLocationInformation, BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING }, { &hf_gprscdr_sponsorIdentity, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING }, { &hf_gprscdr_applicationServiceProviderIdentity, BER_CLASS_CON, 26, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING }, + { &hf_gprscdr_aDCRuleBaseName, BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ADCRuleBaseName }, + { &hf_gprscdr_presenceReportingAreaStatus, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PresenceReportingAreaStatus }, { NULL, 0, 0, 0, NULL } }; @@ -2723,6 +2845,7 @@ static const ber_sequence_t PGWRecord_set[] = { { &hf_gprscdr_pdpPDNType , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PDPType }, { &hf_gprscdr_servedPDPPDNAddress, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_PDPAddress }, { &hf_gprscdr_dynamicAddressFlag, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_DynamicAddressFlag }, + { &hf_gprscdr_listOfTrafficVolumes_01, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_SEQUENCE_OF_ChangeOfCharCondition }, { &hf_gprscdr_recordOpeningTime, BER_CLASS_CON, 13, BER_FLAGS_IMPLTAG, dissect_gprscdr_TimeStamp }, { &hf_gprscdr_duration , BER_CLASS_CON, 14, BER_FLAGS_IMPLTAG, dissect_gprscdr_CallDuration }, { &hf_gprscdr_causeForRecClosing_01, BER_CLASS_CON, 15, BER_FLAGS_IMPLTAG, dissect_gprscdr_CauseForRecClosing }, @@ -2736,10 +2859,9 @@ static const ber_sequence_t PGWRecord_set[] = { { &hf_gprscdr_chargingCharacteristics, BER_CLASS_CON, 23, BER_FLAGS_IMPLTAG, dissect_gprscdr_ChargingCharacteristics }, { &hf_gprscdr_chChSelectionMode, BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ChChSelectionMode }, { &hf_gprscdr_iMSsignalingContext, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NULL }, - { &hf_gprscdr_externalChargingID, BER_CLASS_CON, 26, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING }, - { &hf_gprscdr_servinggNodePLMNIdentifier, BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PLMN_Id }, + { &hf_gprscdr_servingNodePLMNIdentifier, BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PLMN_Id }, { &hf_gprscdr_pSFurnishChargingInformation, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PSFurnishChargingInformation }, - { &hf_gprscdr_servedIMEISV, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMEI }, + { &hf_gprscdr_servedIMEI , BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMEI }, { &hf_gprscdr_rATType , BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_RATType }, { &hf_gprscdr_mSTimeZone , BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_MSTimeZone }, { &hf_gprscdr_userLocationInformation, BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING }, @@ -2761,6 +2883,13 @@ static const ber_sequence_t PGWRecord_set[] = { { &hf_gprscdr_servingNodeiPv6Address, BER_CLASS_CON, 49, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_SEQUENCE_OF_GSNAddress }, { &hf_gprscdr_p_GWiPv6AddressUsed, BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_GSNAddress }, { &hf_gprscdr_tWANUserLocationInformation, BER_CLASS_CON, 51, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_TWANUserLocationInfo }, + { &hf_gprscdr_retransmission, BER_CLASS_CON, 52, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NULL }, + { &hf_gprscdr_userLocationInfoTime, BER_CLASS_CON, 53, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_TimeStamp }, + { &hf_gprscdr_cNOperatorSelectionEnt, BER_CLASS_CON, 54, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_CNOperatorSelectionEntity }, + { &hf_gprscdr_ePCQoSInformation, BER_CLASS_CON, 55, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_EPCQoSInformation }, + { &hf_gprscdr_presenceReportingAreaInfo, BER_CLASS_CON, 56, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PresenceReportingAreaInfo }, + { &hf_gprscdr_lastUserLocationInformation, BER_CLASS_CON, 57, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING }, + { &hf_gprscdr_lastMSTimeZone, BER_CLASS_CON, 58, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_MSTimeZone }, { NULL, 0, 0, 0, NULL } }; @@ -2773,6 +2902,203 @@ dissect_gprscdr_PGWRecord(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offs } + +static int +dissect_gprscdr_FixedSubsID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const ber_sequence_t AccessLineIdentifier_sequence[] = { + { &hf_gprscdr_physicalAccessID, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_UTF8String }, + { &hf_gprscdr_logicalAccessID, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_gprscdr_AccessLineIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + AccessLineIdentifier_sequence, hf_index, ett_gprscdr_AccessLineIdentifier); + + return offset; +} + + +static const ber_sequence_t FixedUserLocationInformation_sequence[] = { + { &hf_gprscdr_sSID , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING }, + { &hf_gprscdr_bSSID , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING }, + { &hf_gprscdr_accessLineIdentifier, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_AccessLineIdentifier }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_gprscdr_FixedUserLocationInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + FixedUserLocationInformation_sequence, hf_index, ett_gprscdr_FixedUserLocationInformation); + + return offset; +} + + +static const ber_sequence_t TDFRecord_set[] = { + { &hf_gprscdr_recordType_01, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gprscdr_RecordType }, + { &hf_gprscdr_servedIMSI , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI }, + { &hf_gprscdr_p_GWAddress , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_GSNAddress }, + { &hf_gprscdr_servingNodeAddress, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_gprscdr_SEQUENCE_OF_GSNAddress }, + { &hf_gprscdr_accessPointNameNI, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_AccessPointNameNI }, + { &hf_gprscdr_pdpPDNType , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PDPType }, + { &hf_gprscdr_servedPDPPDNAddress, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_PDPAddress }, + { &hf_gprscdr_dynamicAddressFlag, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_DynamicAddressFlag }, + { &hf_gprscdr_recordOpeningTime, BER_CLASS_CON, 13, BER_FLAGS_IMPLTAG, dissect_gprscdr_TimeStamp }, + { &hf_gprscdr_duration , BER_CLASS_CON, 14, BER_FLAGS_IMPLTAG, dissect_gprscdr_CallDuration }, + { &hf_gprscdr_causeForRecClosing_01, BER_CLASS_CON, 15, BER_FLAGS_IMPLTAG, dissect_gprscdr_CauseForRecClosing }, + { &hf_gprscdr_diagnostics , BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_Diagnostics }, + { &hf_gprscdr_recordSequenceNumber, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_INTEGER }, + { &hf_gprscdr_nodeID , BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NodeID }, + { &hf_gprscdr_recordExtensions, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ManagementExtensions }, + { &hf_gprscdr_localSequenceNumber, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_LocalSequenceNumber }, + { &hf_gprscdr_apnSelectionMode, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_APNSelectionMode }, + { &hf_gprscdr_servedMSISDN, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_MSISDN }, + { &hf_gprscdr_chargingCharacteristics, BER_CLASS_CON, 23, BER_FLAGS_IMPLTAG, dissect_gprscdr_ChargingCharacteristics }, + { &hf_gprscdr_chChSelectionMode, BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ChChSelectionMode }, + { &hf_gprscdr_servingNodePLMNIdentifier, BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PLMN_Id }, + { &hf_gprscdr_pSFurnishChargingInformation, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PSFurnishChargingInformation }, + { &hf_gprscdr_servedIMEI , BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMEI }, + { &hf_gprscdr_rATType , BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_RATType }, + { &hf_gprscdr_mSTimeZone , BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_MSTimeZone }, + { &hf_gprscdr_userLocationInformation, BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING }, + { &hf_gprscdr_listOfServiceData_01, BER_CLASS_CON, 34, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_SEQUENCE_OF_ChangeOfServiceCondition }, + { &hf_gprscdr_servingNodeType, BER_CLASS_CON, 35, BER_FLAGS_IMPLTAG, dissect_gprscdr_SEQUENCE_OF_ServingNodeType }, + { &hf_gprscdr_servedMNNAI , BER_CLASS_CON, 36, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_SubscriptionID }, + { &hf_gprscdr_p_GWPLMNIdentifier, BER_CLASS_CON, 37, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PLMN_Id }, + { &hf_gprscdr_startTime , BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_TimeStamp }, + { &hf_gprscdr_stopTime , BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_TimeStamp }, + { &hf_gprscdr_served3gpp2MEID, BER_CLASS_CON, 40, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING }, + { &hf_gprscdr_pDNConnectionChargingID, BER_CLASS_CON, 41, BER_FLAGS_IMPLTAG, dissect_gprscdr_ChargingID }, + { &hf_gprscdr_userCSGInformation, BER_CLASS_CON, 43, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_UserCSGInformation }, + { &hf_gprscdr_threeGPP2UserLocationInformation, BER_CLASS_CON, 44, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING }, + { &hf_gprscdr_servedPDPPDNAddressExt, BER_CLASS_CON, 45, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_PDPAddress }, + { &hf_gprscdr_dynamicAddressFlagExt, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_DynamicAddressFlag }, + { &hf_gprscdr_servingNodeiPv6Address, BER_CLASS_CON, 49, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_SEQUENCE_OF_GSNAddress }, + { &hf_gprscdr_p_GWiPv6AddressUsed, BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_GSNAddress }, + { &hf_gprscdr_tWANUserLocationInformation, BER_CLASS_CON, 51, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_TWANUserLocationInfo }, + { &hf_gprscdr_retransmission, BER_CLASS_CON, 52, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NULL }, + { &hf_gprscdr_tDFAddress , BER_CLASS_CON, 53, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_GSNAddress }, + { &hf_gprscdr_tDFiPv6AddressUsed, BER_CLASS_CON, 54, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_GSNAddress }, + { &hf_gprscdr_tDFPLMNIdentifier, BER_CLASS_CON, 55, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PLMN_Id }, + { &hf_gprscdr_servedFixedSubsID, BER_CLASS_CON, 56, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_FixedSubsID }, + { &hf_gprscdr_accessLineIdentifier, BER_CLASS_CON, 57, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_AccessLineIdentifier }, + { &hf_gprscdr_presenceReportingAreaInfo, BER_CLASS_CON, 58, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PresenceReportingAreaInfo }, + { &hf_gprscdr_fixedUserLocationInformation, BER_CLASS_CON, 59, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_FixedUserLocationInformation }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_gprscdr_TDFRecord(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset, + TDFRecord_set, hf_index, ett_gprscdr_TDFRecord); + + return offset; +} + + +static const ber_sequence_t IPERecord_set[] = { + { &hf_gprscdr_recordType_01, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gprscdr_RecordType }, + { &hf_gprscdr_servedIMSI , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI }, + { &hf_gprscdr_iPEdgeAddress, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_GSNAddress }, + { &hf_gprscdr_chargingID , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_gprscdr_ChargingID }, + { &hf_gprscdr_accessPointNameNI, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_AccessPointNameNI }, + { &hf_gprscdr_iPCANsessionType, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PDPType }, + { &hf_gprscdr_servedIPCANsessionAddress, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_PDPAddress }, + { &hf_gprscdr_dynamicAddressFlag, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_DynamicAddressFlag }, + { &hf_gprscdr_listOfTrafficVolumes_01, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_SEQUENCE_OF_ChangeOfCharCondition }, + { &hf_gprscdr_recordOpeningTime, BER_CLASS_CON, 13, BER_FLAGS_IMPLTAG, dissect_gprscdr_TimeStamp }, + { &hf_gprscdr_duration , BER_CLASS_CON, 14, BER_FLAGS_IMPLTAG, dissect_gprscdr_CallDuration }, + { &hf_gprscdr_causeForRecClosing_01, BER_CLASS_CON, 15, BER_FLAGS_IMPLTAG, dissect_gprscdr_CauseForRecClosing }, + { &hf_gprscdr_diagnostics , BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_Diagnostics }, + { &hf_gprscdr_recordSequenceNumber, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_INTEGER }, + { &hf_gprscdr_nodeID , BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NodeID }, + { &hf_gprscdr_recordExtensions, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ManagementExtensions }, + { &hf_gprscdr_localSequenceNumber, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_LocalSequenceNumber }, + { &hf_gprscdr_servedMSISDN, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_MSISDN }, + { &hf_gprscdr_chargingCharacteristics, BER_CLASS_CON, 23, BER_FLAGS_IMPLTAG, dissect_gprscdr_ChargingCharacteristics }, + { &hf_gprscdr_chChSelectionMode, BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ChChSelectionMode }, + { &hf_gprscdr_pSFurnishChargingInformation, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PSFurnishChargingInformation }, + { &hf_gprscdr_servedIMEI , BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMEI }, + { &hf_gprscdr_listOfServiceData_01, BER_CLASS_CON, 34, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_SEQUENCE_OF_ChangeOfServiceCondition }, + { &hf_gprscdr_servedMNNAI , BER_CLASS_CON, 36, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_SubscriptionID }, + { &hf_gprscdr_iPEdgeOperatorIdentifier, BER_CLASS_CON, 37, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PLMN_Id }, + { &hf_gprscdr_startTime , BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_TimeStamp }, + { &hf_gprscdr_stopTime , BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_TimeStamp }, + { &hf_gprscdr_servedIPCANsessionAddressExt, BER_CLASS_CON, 45, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_PDPAddress }, + { &hf_gprscdr_dynamicAddressFlagExt, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_DynamicAddressFlag }, + { &hf_gprscdr_iPEdgeiPv6AddressUsed, BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_GSNAddress }, + { &hf_gprscdr_retransmission, BER_CLASS_CON, 52, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NULL }, + { &hf_gprscdr_servedFixedSubsID, BER_CLASS_CON, 55, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_FixedSubsID }, + { &hf_gprscdr_accessLineIdentifier, BER_CLASS_CON, 56, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_AccessLineIdentifier }, + { &hf_gprscdr_fixedUserLocationInformation, BER_CLASS_CON, 57, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_FixedUserLocationInformation }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_gprscdr_IPERecord(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset, + IPERecord_set, hf_index, ett_gprscdr_IPERecord); + + return offset; +} + + +static const ber_sequence_t EPDGRecord_set[] = { + { &hf_gprscdr_recordType_01, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gprscdr_RecordType }, + { &hf_gprscdr_servedIMSI , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI }, + { &hf_gprscdr_ePDGAddressUsed, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_GSNAddress }, + { &hf_gprscdr_chargingID , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_gprscdr_ChargingID }, + { &hf_gprscdr_accessPointNameNI, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_AccessPointNameNI }, + { &hf_gprscdr_pdpPDNType , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PDPType }, + { &hf_gprscdr_servedPDPPDNAddress, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_PDPAddress }, + { &hf_gprscdr_dynamicAddressFlag, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_DynamicAddressFlag }, + { &hf_gprscdr_listOfTrafficVolumes_01, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_SEQUENCE_OF_ChangeOfCharCondition }, + { &hf_gprscdr_recordOpeningTime, BER_CLASS_CON, 13, BER_FLAGS_IMPLTAG, dissect_gprscdr_TimeStamp }, + { &hf_gprscdr_duration , BER_CLASS_CON, 14, BER_FLAGS_IMPLTAG, dissect_gprscdr_CallDuration }, + { &hf_gprscdr_causeForRecClosing_01, BER_CLASS_CON, 15, BER_FLAGS_IMPLTAG, dissect_gprscdr_CauseForRecClosing }, + { &hf_gprscdr_diagnostics , BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_Diagnostics }, + { &hf_gprscdr_recordSequenceNumber, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_INTEGER }, + { &hf_gprscdr_nodeID , BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NodeID }, + { &hf_gprscdr_recordExtensions, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ManagementExtensions }, + { &hf_gprscdr_localSequenceNumber, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_LocalSequenceNumber }, + { &hf_gprscdr_apnSelectionMode, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_APNSelectionMode }, + { &hf_gprscdr_servedMSISDN, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_MSISDN }, + { &hf_gprscdr_chargingCharacteristics, BER_CLASS_CON, 23, BER_FLAGS_IMPLTAG, dissect_gprscdr_ChargingCharacteristics }, + { &hf_gprscdr_chChSelectionMode, BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ChChSelectionMode }, + { &hf_gprscdr_iMSsignalingContext, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NULL }, + { &hf_gprscdr_servedIMEI , BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMEI }, + { &hf_gprscdr_rATType , BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_RATType }, + { &hf_gprscdr_p_GWAddressUsed, BER_CLASS_CON, 36, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_GSNAddress }, + { &hf_gprscdr_p_GWPLMNIdentifier, BER_CLASS_CON, 37, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PLMN_Id }, + { &hf_gprscdr_startTime , BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_TimeStamp }, + { &hf_gprscdr_stopTime , BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_TimeStamp }, + { &hf_gprscdr_pDNConnectionChargingID, BER_CLASS_CON, 40, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ChargingID }, + { &hf_gprscdr_servedPDPPDNAddressExt, BER_CLASS_CON, 43, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_PDPAddress }, + { &hf_gprscdr_dynamicAddressFlagExt, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_DynamicAddressFlag }, + { &hf_gprscdr_ePDGiPv6AddressUsed, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_GSNAddress }, + { &hf_gprscdr_p_GWiPv6AddressUsed, BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_GSNAddress }, + { &hf_gprscdr_retransmission, BER_CLASS_CON, 51, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NULL }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_gprscdr_EPDGRecord(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset, + EPDGRecord_set, hf_index, ett_gprscdr_EPDGRecord); + + return offset; +} + + const value_string gprscdr_GPRSRecord_vals[] = { { 20, "sgsnPDPRecord" }, { 22, "sgsnMMRecord" }, @@ -2780,6 +3106,9 @@ const value_string gprscdr_GPRSRecord_vals[] = { { 24, "sgsnSMTRecord" }, { 78, "sGWRecord" }, { 79, "pGWRecord" }, + { 92, "tDFRecord" }, + { 95, "iPERecord" }, + { 96, "ePDGRecord" }, { 0, NULL } }; @@ -2790,6 +3119,9 @@ static const ber_choice_t GPRSRecord_choice[] = { { 24, &hf_gprscdr_sgsnSMTRecord_01, BER_CLASS_CON, 24, BER_FLAGS_IMPLTAG, dissect_gprscdr_SGSNSMTRecord }, { 78, &hf_gprscdr_sGWRecord , BER_CLASS_CON, 78, BER_FLAGS_IMPLTAG, dissect_gprscdr_SGWRecord }, { 79, &hf_gprscdr_pGWRecord , BER_CLASS_CON, 79, BER_FLAGS_IMPLTAG, dissect_gprscdr_PGWRecord }, + { 92, &hf_gprscdr_tDFRecord , BER_CLASS_CON, 92, BER_FLAGS_IMPLTAG, dissect_gprscdr_TDFRecord }, + { 95, &hf_gprscdr_iPERecord , BER_CLASS_CON, 95, BER_FLAGS_IMPLTAG, dissect_gprscdr_IPERecord }, + { 96, &hf_gprscdr_ePDGRecord , BER_CLASS_CON, 96, BER_FLAGS_IMPLTAG, dissect_gprscdr_EPDGRecord }, { 0, NULL, 0, 0, 0, NULL } }; @@ -3334,6 +3666,18 @@ proto_register_gprscdr(void) { "pGWRecord", "gprscdr.pGWRecord_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_gprscdr_tDFRecord, + { "tDFRecord", "gprscdr.tDFRecord_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_gprscdr_iPERecord, + { "iPERecord", "gprscdr.iPERecord_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_gprscdr_ePDGRecord, + { "ePDGRecord", "gprscdr.ePDGRecord_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_gprscdr_recordType_01, { "recordType", "gprscdr.recordType", FT_INT32, BASE_DEC, VALS(gprscdr_RecordType_vals), 0, @@ -3442,14 +3786,34 @@ proto_register_gprscdr(void) { "p-GWiPv6AddressUsed", "gprscdr.p_GWiPv6AddressUsed", FT_UINT32, BASE_DEC, VALS(gprscdr_IPAddress_vals), 0, "GSNAddress", HFILL }}, + { &hf_gprscdr_retransmission, + { "retransmission", "gprscdr.retransmission_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_gprscdr_userLocationInfoTime, + { "userLocationInfoTime", "gprscdr.userLocationInfoTime", + FT_BYTES, BASE_NONE, NULL, 0, + "TimeStamp", HFILL }}, + { &hf_gprscdr_cNOperatorSelectionEnt, + { "cNOperatorSelectionEnt", "gprscdr.cNOperatorSelectionEnt", + FT_UINT32, BASE_DEC, VALS(gprscdr_CNOperatorSelectionEntity_vals), 0, + "CNOperatorSelectionEntity", HFILL }}, + { &hf_gprscdr_presenceReportingAreaInfo, + { "presenceReportingAreaInfo", "gprscdr.presenceReportingAreaInfo_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_gprscdr_lastUserLocationInformation, + { "lastUserLocationInformation", "gprscdr.lastUserLocationInformation", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING", HFILL }}, + { &hf_gprscdr_lastMSTimeZone, + { "lastMSTimeZone", "gprscdr.lastMSTimeZone", + FT_BYTES, BASE_NONE, NULL, 0, + "MSTimeZone", HFILL }}, { &hf_gprscdr_p_GWAddress, { "p-GWAddress", "gprscdr.p_GWAddress", FT_UINT32, BASE_DEC, VALS(gprscdr_IPAddress_vals), 0, "GSNAddress", HFILL }}, - { &hf_gprscdr_servinggNodePLMNIdentifier, - { "servinggNodePLMNIdentifier", "gprscdr.servinggNodePLMNIdentifier", - FT_BYTES, BASE_NONE, NULL, 0, - "PLMN_Id", HFILL }}, { &hf_gprscdr_listOfServiceData_01, { "listOfServiceData", "gprscdr.listOfServiceData", FT_UINT32, BASE_DEC, NULL, 0, @@ -3474,6 +3838,66 @@ proto_register_gprscdr(void) { "tWANUserLocationInformation", "gprscdr.tWANUserLocationInformation_element", FT_NONE, BASE_NONE, NULL, 0, "TWANUserLocationInfo", HFILL }}, + { &hf_gprscdr_ePCQoSInformation, + { "ePCQoSInformation", "gprscdr.ePCQoSInformation_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_gprscdr_tDFAddress, + { "tDFAddress", "gprscdr.tDFAddress", + FT_UINT32, BASE_DEC, VALS(gprscdr_IPAddress_vals), 0, + "GSNAddress", HFILL }}, + { &hf_gprscdr_tDFiPv6AddressUsed, + { "tDFiPv6AddressUsed", "gprscdr.tDFiPv6AddressUsed", + FT_UINT32, BASE_DEC, VALS(gprscdr_IPAddress_vals), 0, + "GSNAddress", HFILL }}, + { &hf_gprscdr_tDFPLMNIdentifier, + { "tDFPLMNIdentifier", "gprscdr.tDFPLMNIdentifier", + FT_BYTES, BASE_NONE, NULL, 0, + "PLMN_Id", HFILL }}, + { &hf_gprscdr_servedFixedSubsID, + { "servedFixedSubsID", "gprscdr.servedFixedSubsID", + FT_BYTES, BASE_NONE, NULL, 0, + "FixedSubsID", HFILL }}, + { &hf_gprscdr_accessLineIdentifier, + { "accessLineIdentifier", "gprscdr.accessLineIdentifier_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_gprscdr_fixedUserLocationInformation, + { "fixedUserLocationInformation", "gprscdr.fixedUserLocationInformation_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_gprscdr_iPEdgeAddress, + { "iPEdgeAddress", "gprscdr.iPEdgeAddress", + FT_UINT32, BASE_DEC, VALS(gprscdr_IPAddress_vals), 0, + "GSNAddress", HFILL }}, + { &hf_gprscdr_iPCANsessionType, + { "iPCANsessionType", "gprscdr.iPCANsessionType", + FT_BYTES, BASE_NONE, NULL, 0, + "PDPType", HFILL }}, + { &hf_gprscdr_servedIPCANsessionAddress, + { "servedIPCANsessionAddress", "gprscdr.servedIPCANsessionAddress", + FT_UINT32, BASE_DEC, VALS(gprscdr_PDPAddress_vals), 0, + "PDPAddress", HFILL }}, + { &hf_gprscdr_iPEdgeOperatorIdentifier, + { "iPEdgeOperatorIdentifier", "gprscdr.iPEdgeOperatorIdentifier", + FT_BYTES, BASE_NONE, NULL, 0, + "PLMN_Id", HFILL }}, + { &hf_gprscdr_servedIPCANsessionAddressExt, + { "servedIPCANsessionAddressExt", "gprscdr.servedIPCANsessionAddressExt", + FT_UINT32, BASE_DEC, VALS(gprscdr_PDPAddress_vals), 0, + "PDPAddress", HFILL }}, + { &hf_gprscdr_iPEdgeiPv6AddressUsed, + { "iPEdgeiPv6AddressUsed", "gprscdr.iPEdgeiPv6AddressUsed", + FT_UINT32, BASE_DEC, VALS(gprscdr_IPAddress_vals), 0, + "GSNAddress", HFILL }}, + { &hf_gprscdr_ePDGAddressUsed, + { "ePDGAddressUsed", "gprscdr.ePDGAddressUsed", + FT_UINT32, BASE_DEC, VALS(gprscdr_IPAddress_vals), 0, + "GSNAddress", HFILL }}, + { &hf_gprscdr_ePDGiPv6AddressUsed, + { "ePDGiPv6AddressUsed", "gprscdr.ePDGiPv6AddressUsed", + FT_UINT32, BASE_DEC, VALS(gprscdr_IPAddress_vals), 0, + "GSNAddress", HFILL }}, { &hf_gprscdr_changeLocation, { "changeLocation", "gprscdr.changeLocation", FT_UINT32, BASE_DEC, NULL, 0, @@ -3514,6 +3938,14 @@ proto_register_gprscdr(void) { "originatingAddress", "gprscdr.originatingAddress", FT_BYTES, BASE_NONE, NULL, 0, "AddressString", HFILL }}, + { &hf_gprscdr_physicalAccessID, + { "physicalAccessID", "gprscdr.physicalAccessID", + FT_STRING, BASE_NONE, NULL, 0, + "UTF8String", HFILL }}, + { &hf_gprscdr_logicalAccessID, + { "logicalAccessID", "gprscdr.logicalAccessID", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING", HFILL }}, { &hf_gprscdr_aFChargingIdentifier, { "aFChargingIdentifier", "gprscdr.aFChargingIdentifier", FT_BYTES, BASE_NONE, NULL, 0, @@ -3582,9 +4014,9 @@ proto_register_gprscdr(void) { "changeCondition", "gprscdr.changeCondition", FT_UINT32, BASE_DEC, VALS(gprscdr_ChangeCondition_vals), 0, NULL, HFILL }}, - { &hf_gprscdr_ePCQoSInformation, - { "ePCQoSInformation", "gprscdr.ePCQoSInformation_element", - FT_NONE, BASE_NONE, NULL, 0, + { &hf_gprscdr_presenceReportingAreaStatus, + { "presenceReportingAreaStatus", "gprscdr.presenceReportingAreaStatus", + FT_UINT32, BASE_DEC, VALS(gprscdr_PresenceReportingAreaStatus_vals), 0, NULL, HFILL }}, { &hf_gprscdr_serviceConditionChange_01, { "serviceConditionChange", "gprscdr.serviceConditionChange", @@ -3626,6 +4058,10 @@ proto_register_gprscdr(void) { "applicationServiceProviderIdentity", "gprscdr.applicationServiceProviderIdentity", FT_BYTES, BASE_NONE, NULL, 0, "OCTET_STRING", HFILL }}, + { &hf_gprscdr_aDCRuleBaseName, + { "aDCRuleBaseName", "gprscdr.aDCRuleBaseName", + FT_STRING, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_gprscdr_routingAreaCode, { "routingAreaCode", "gprscdr.routingAreaCode", FT_BYTES, BASE_NONE, NULL, 0, @@ -3682,6 +4118,14 @@ proto_register_gprscdr(void) { "TimeStamp", "gprscdr.TimeStamp", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_gprscdr_sSID, + { "sSID", "gprscdr.sSID", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING", HFILL }}, + { &hf_gprscdr_bSSID, + { "bSSID", "gprscdr.bSSID", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING", HFILL }}, { &hf_gprscdr_mediaComponentNumber, { "mediaComponentNumber", "gprscdr.mediaComponentNumber", FT_INT32, BASE_DEC, NULL, 0, @@ -3698,6 +4142,10 @@ proto_register_gprscdr(void) { "iPAddress", "gprscdr.iPAddress", FT_UINT32, BASE_DEC, VALS(gprscdr_IPAddress_vals), 0, NULL, HFILL }}, + { &hf_gprscdr_presenceReportingAreaIdentifier, + { "presenceReportingAreaIdentifier", "gprscdr.presenceReportingAreaIdentifier", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING", HFILL }}, { &hf_gprscdr_pSFreeFormatData, { "pSFreeFormatData", "gprscdr.pSFreeFormatData", FT_BYTES, BASE_NONE, NULL, 0, @@ -3714,14 +4162,6 @@ proto_register_gprscdr(void) { "baseTimeInterval", "gprscdr.baseTimeInterval", FT_INT32, BASE_DEC, NULL, 0, "INTEGER", HFILL }}, - { &hf_gprscdr_sSID, - { "sSID", "gprscdr.sSID", - FT_BYTES, BASE_NONE, NULL, 0, - "OCTET_STRING", HFILL }}, - { &hf_gprscdr_bSSID, - { "bSSID", "gprscdr.bSSID", - FT_BYTES, BASE_NONE, NULL, 0, - "OCTET_STRING", HFILL }}, { &hf_gprscdr_cSGId, { "cSGId", "gprscdr.cSGId", FT_BYTES, BASE_NONE, NULL, 0, @@ -3998,11 +4438,15 @@ proto_register_gprscdr(void) &ett_gprscdr_SEQUENCE_OF_ServingNodeType, &ett_gprscdr_PGWRecord, &ett_gprscdr_SEQUENCE_OF_ChangeOfServiceCondition, + &ett_gprscdr_TDFRecord, + &ett_gprscdr_IPERecord, + &ett_gprscdr_EPDGRecord, &ett_gprscdr_SGSNMMRecord, &ett_gprscdr_SEQUENCE_OF_ChangeLocation, &ett_gprscdr_SGSNPDPRecord, &ett_gprscdr_SGSNSMORecord, &ett_gprscdr_SGSNSMTRecord, + &ett_gprscdr_AccessLineIdentifier, &ett_gprscdr_AFRecordInformation, &ett_gprscdr_CAMELInformationMM, &ett_gprscdr_CAMELInformationPDP, @@ -4015,9 +4459,11 @@ proto_register_gprscdr(void) &ett_gprscdr_EPCQoSInformation, &ett_gprscdr_EventBasedChargingInformation, &ett_gprscdr_SEQUENCE_OF_TimeStamp, + &ett_gprscdr_FixedUserLocationInformation, &ett_gprscdr_Flows, &ett_gprscdr_T_flowNumber, &ett_gprscdr_PDPAddress, + &ett_gprscdr_PresenceReportingAreaInfo, &ett_gprscdr_PSFurnishChargingInformation, &ett_gprscdr_ServiceConditionChange, &ett_gprscdr_TimeQuotaMechanism, diff --git a/epan/dissectors/packet-gprscdr.h b/epan/dissectors/packet-gprscdr.h index 90b68db49a..53bfd390dc 100644 --- a/epan/dissectors/packet-gprscdr.h +++ b/epan/dissectors/packet-gprscdr.h @@ -1,7 +1,7 @@ /* Do not modify this file. Changes will be overwritten. */ /* Generated automatically by the ASN.1 to Wireshark dissector compiler */ /* packet-gprscdr.h */ -/* ../../tools/asn2wrs.py -b -p gprscdr -c ./gprscdr.cnf -s ./packet-gprscdr-template -D . -O ../../epan/dissectors GenericChargingDataTypesV1171.asn GPRSChargingDataTypesV641.asn GPRSChargingDataTypesV1171.asn */ +/* ../../tools/asn2wrs.py -b -p gprscdr -c ./gprscdr.cnf -s ./packet-gprscdr-template -D . -O ../../epan/dissectors GenericChargingDataTypesV1250.asn GPRSChargingDataTypesV641.asn GPRSChargingDataTypesV1250.asn */ /* Input file: packet-gprscdr-template.h */ diff --git a/epan/dissectors/packet-gtp.c b/epan/dissectors/packet-gtp.c index d587346739..6ef34c6658 100644 --- a/epan/dissectors/packet-gtp.c +++ b/epan/dissectors/packet-gtp.c @@ -7737,7 +7737,7 @@ decode_gtp_data_req(tvbuff_t * tvb, int offset, packet_info * pinfo, proto_tree if(format==1) { if(rel_id == 6){ dissect_gprscdr_GPRSCallEventRecord_PDU(next_tvb, pinfo, cdr_dr_tree, NULL); - }else if((rel_id == 8)||(rel_id == 9)){ + }else if(rel_id >6){ dissect_gprscdr_GPRSRecord_PDU(next_tvb, pinfo, cdr_dr_tree, NULL); } } else {