1 /* Do not modify this file. Changes will be overwritten. */
2 /* Generated automatically by the ASN.1 to Wireshark dissector compiler */
4 /* asn2wrs.py -b -q -L -p gprscdr -c ./gprscdr.cnf -s ./packet-gprscdr-template -D . -O ../.. GenericChargingDataTypes.asn GPRSChargingDataTypesV641.asn GPRSChargingDataTypes.asn */
6 /* packet-gprscdr-template.c
7 * Copyright 2011 , Anders Broman <anders.broman [AT] ericsson.com>
9 * Updates and corrections:
10 * Copyright 2018-2022, Joakim Karlsson <oakimk@gmail.com>
12 * Wireshark - Network traffic analyzer
13 * By Gerald Combs <gerald@wireshark.org>
14 * Copyright 1998 Gerald Combs
16 * SPDX-License-Identifier: GPL-2.0-or-later
17 * References: 3GPP TS 32.298 V17.4.0
22 #include <epan/packet.h>
23 #include <epan/expert.h>
24 #include <epan/asn1.h>
25 #include <wsutil/array.h>
27 #include "packet-ber.h"
28 #include "packet-gsm_map.h"
29 #include "packet-gsm_a_common.h"
30 #include "packet-e212.h"
31 #include "packet-gprscdr.h"
32 #include "packet-gtp.h"
33 #include "packet-gtpv2.h"
35 #define PNAME "GPRS CDR"
36 #define PSNAME "GPRSCDR"
37 #define PFNAME "gprscdr"
39 void proto_register_gprscdr(void);
41 /* Define the GPRS CDR proto */
42 static int proto_gprscdr
;
44 static int hf_gprscdr_gprscdr_GPRSCallEventRecord_PDU
; /* GPRSCallEventRecord */
45 static int hf_gprscdr_gprscdr_GPRSRecord_PDU
; /* GPRSRecord */
46 static int hf_gprscdr_gprscdr_CAMELInformationPDP_PDU
; /* CAMELInformationPDP */
47 static int hf_gprscdr_gsm0408Cause
; /* INTEGER */
48 static int hf_gprscdr_gsm0902MapErrorValue
; /* INTEGER */
49 static int hf_gprscdr_itu_tQ767Cause
; /* INTEGER */
50 static int hf_gprscdr_networkSpecificCause
; /* ManagementExtension */
51 static int hf_gprscdr_manufacturerSpecificCause
; /* ManagementExtension */
52 static int hf_gprscdr_positionMethodFailureCause
; /* PositionMethodFailure_Diagnostic */
53 static int hf_gprscdr_unauthorizedLCSClientCause
; /* UnauthorizedLCSClient_Diagnostic */
54 static int hf_gprscdr_diameterResultCodeAndExperimentalResult
; /* INTEGER */
55 static int hf_gprscdr_plmnId
; /* PLMN_Id */
56 static int hf_gprscdr_eutraCellId
; /* EutraCellId */
57 static int hf_gprscdr_nid
; /* Nid */
58 static int hf_gprscdr_rANNASCause
; /* SEQUENCE_OF_RANNASCause */
59 static int hf_gprscdr_rANNASCause_item
; /* RANNASCause */
60 static int hf_gprscdr_sIP_URI
; /* GraphicString */
61 static int hf_gprscdr_tEL_URI
; /* GraphicString */
62 static int hf_gprscdr_uRN
; /* GraphicString */
63 static int hf_gprscdr_iSDN_E164
; /* GraphicString */
64 static int hf_gprscdr_externalId
; /* UTF8String */
65 static int hf_gprscdr_iPBinaryAddress
; /* IPBinaryAddress */
66 static int hf_gprscdr_iPTextRepresentedAddress
; /* IPTextRepresentedAddress */
67 static int hf_gprscdr_iPBinV4Address
; /* IPBinV4Address */
68 static int hf_gprscdr_iPBinV6Address_choice
; /* IPBinV6AddressWithOrWithoutPrefixLength */
69 static int hf_gprscdr_iPBinV6Address
; /* IPBinV6Address */
70 static int hf_gprscdr_iPBinV6AddressWithPrefix
; /* IPBinV6AddressWithPrefixLength */
71 static int hf_gprscdr_pDPAddressPrefixLength
; /* PDPAddressPrefixLength */
72 static int hf_gprscdr_iPTextV4Address
; /* IA5String_SIZE_7_15 */
73 static int hf_gprscdr_iPTextV6Address
; /* IA5String_SIZE_15_45 */
74 static int hf_gprscdr_lcsClientExternalID
; /* LCSClientExternalID */
75 static int hf_gprscdr_lcsClientDialedByMS
; /* AddressString */
76 static int hf_gprscdr_lcsClientInternalID
; /* LCSClientInternalID */
77 static int hf_gprscdr_locationAreaCode
; /* LocationAreaCode */
78 static int hf_gprscdr_cellId
; /* CellId */
79 static int hf_gprscdr_mCC_MNC
; /* MCC_MNC */
80 static int hf_gprscdr_ManagementExtensions_item
; /* ManagementExtension */
81 static int hf_gprscdr_tMGI
; /* TMGI */
82 static int hf_gprscdr_mBMSSessionIdentity
; /* MBMSSessionIdentity */
83 static int hf_gprscdr_mBMSServiceType
; /* MBMSServiceType */
84 static int hf_gprscdr_mBMSUserServiceType
; /* MBMSUserServiceType */
85 static int hf_gprscdr_mBMS2G3GIndicator
; /* MBMS2G3GIndicator */
86 static int hf_gprscdr_fileRepairSupported
; /* BOOLEAN */
87 static int hf_gprscdr_rAI
; /* RoutingAreaCode */
88 static int hf_gprscdr_mBMSServiceArea
; /* MBMSServiceArea */
89 static int hf_gprscdr_requiredMBMSBearerCaps
; /* RequiredMBMSBearerCapabilities */
90 static int hf_gprscdr_mBMSGWAddress
; /* GSNAddress */
91 static int hf_gprscdr_cNIPMulticastDistribution
; /* CNIPMulticastDistribution */
92 static int hf_gprscdr_mBMSDataTransferStart
; /* MBMSTime */
93 static int hf_gprscdr_mBMSDataTransferStop
; /* MBMSTime */
94 static int hf_gprscdr_nrCellId
; /* NrCellId */
95 static int hf_gprscdr_iPAddress
; /* IPAddress */
96 static int hf_gprscdr_nRcgi
; /* Ncgi */
97 static int hf_gprscdr_ecgi
; /* Ecgi */
98 static int hf_gprscdr_sCSAddress
; /* IPAddress */
99 static int hf_gprscdr_sCSRealm
; /* DiameterIdentity */
100 static int hf_gprscdr_serviceSpecificData
; /* GraphicString */
101 static int hf_gprscdr_serviceSpecificType
; /* INTEGER */
102 static int hf_gprscdr_subscriptionIDType
; /* SubscriptionIDType */
103 static int hf_gprscdr_subscriptionIDData
; /* UTF8String */
104 static int hf_gprscdr_identifier
; /* T_identifier */
105 static int hf_gprscdr_significance
; /* BOOLEAN */
106 static int hf_gprscdr_information
; /* T_information */
107 static int hf_gprscdr_sgsnPDPRecord
; /* SGSNPDPRecordV651 */
108 static int hf_gprscdr_ggsnPDPRecord
; /* GGSNPDPRecord */
109 static int hf_gprscdr_sgsnMMRecord
; /* SGSNMMRecord */
110 static int hf_gprscdr_sgsnSMORecord
; /* SGSNSMORecordV651 */
111 static int hf_gprscdr_sgsnSMTRecord
; /* SGSNSMTRecordV651 */
112 static int hf_gprscdr_egsnPDPRecord
; /* EGSNPDPRecord */
113 static int hf_gprscdr_recordType
; /* CallEventRecordType */
114 static int hf_gprscdr_networkInitiation
; /* NetworkInitiatedPDPContext */
115 static int hf_gprscdr_servedIMSI
; /* IMSI */
116 static int hf_gprscdr_ggsnAddress
; /* GSNAddress */
117 static int hf_gprscdr_chargingID
; /* ChargingID */
118 static int hf_gprscdr_sgsnAddress
; /* SEQUENCE_OF_GSNAddress */
119 static int hf_gprscdr_sgsnAddress_item
; /* GSNAddress */
120 static int hf_gprscdr_accessPointNameNI
; /* AccessPointNameNI */
121 static int hf_gprscdr_pdpType
; /* PDPType */
122 static int hf_gprscdr_servedPDPAddress
; /* PDPAddress */
123 static int hf_gprscdr_dynamicAddressFlag
; /* DynamicAddressFlag */
124 static int hf_gprscdr_listOfTrafficVolumes
; /* SEQUENCE_OF_ChangeOfCharConditionV651 */
125 static int hf_gprscdr_listOfTrafficVolumes_item
; /* ChangeOfCharConditionV651 */
126 static int hf_gprscdr_recordOpeningTime
; /* TimeStamp */
127 static int hf_gprscdr_duration
; /* CallDuration */
128 static int hf_gprscdr_causeForRecClosing
; /* CauseForRecClosingV651 */
129 static int hf_gprscdr_diagnostics
; /* Diagnostics */
130 static int hf_gprscdr_recordSequenceNumber
; /* INTEGER */
131 static int hf_gprscdr_nodeID
; /* NodeID */
132 static int hf_gprscdr_recordExtensions
; /* ManagementExtensions */
133 static int hf_gprscdr_localSequenceNumber
; /* LocalSequenceNumber */
134 static int hf_gprscdr_apnSelectionMode
; /* APNSelectionMode */
135 static int hf_gprscdr_servedMSISDN
; /* MSISDN */
136 static int hf_gprscdr_chargingCharacteristics
; /* ChargingCharacteristics */
137 static int hf_gprscdr_chChSelectionMode
; /* ChChSelectionMode */
138 static int hf_gprscdr_iMSsignalingContext
; /* NULL */
139 static int hf_gprscdr_externalChargingID
; /* OCTET_STRING */
140 static int hf_gprscdr_sgsnPLMNIdentifier
; /* PLMN_Id */
141 static int hf_gprscdr_servedIMEISV
; /* IMEI */
142 static int hf_gprscdr_rATType
; /* RATType */
143 static int hf_gprscdr_mSTimeZone
; /* MSTimeZone */
144 static int hf_gprscdr_userLocationInformation
; /* T_userLocationInformation */
145 static int hf_gprscdr_cAMELChargingInformation
; /* OCTET_STRING */
146 static int hf_gprscdr_recordType_01
; /* RecordType */
147 static int hf_gprscdr_causeForRecClosing_01
; /* CauseForRecClosing */
148 static int hf_gprscdr_userLocationInformation_01
; /* T_userLocationInformation_01 */
149 static int hf_gprscdr_pSFurnishChargingInformation
; /* PSFurnishChargingInformation */
150 static int hf_gprscdr_userLocationInformation_02
; /* T_userLocationInformation_02 */
151 static int hf_gprscdr_listOfServiceData
; /* SEQUENCE_OF_ChangeOfServiceConditionV651 */
152 static int hf_gprscdr_listOfServiceData_item
; /* ChangeOfServiceConditionV651 */
153 static int hf_gprscdr_userLocationInformation_03
; /* T_userLocationInformation_03 */
154 static int hf_gprscdr_listOfServiceData_01
; /* SEQUENCE_OF_ChangeOfServiceConditionV750 */
155 static int hf_gprscdr_listOfServiceData_item_01
; /* ChangeOfServiceConditionV750 */
156 static int hf_gprscdr_servedIMEI
; /* IMEI */
157 static int hf_gprscdr_sgsnAddress_01
; /* GSNAddress */
158 static int hf_gprscdr_msNetworkCapability
; /* MSNetworkCapability */
159 static int hf_gprscdr_routingArea
; /* RoutingAreaCode */
160 static int hf_gprscdr_cellIdentifier
; /* CellId */
161 static int hf_gprscdr_ggsnAddressUsed
; /* GSNAddress */
162 static int hf_gprscdr_sgsnChange
; /* SGSNChange */
163 static int hf_gprscdr_accessPointNameOI
; /* AccessPointNameOI */
164 static int hf_gprscdr_cAMELInformationPDP
; /* CAMELInformationPDP */
165 static int hf_gprscdr_rNCUnsentDownlinkVolume
; /* DataVolumeGPRS */
166 static int hf_gprscdr_serviceCentre
; /* AddressString */
167 static int hf_gprscdr_recordingEntity
; /* RecordingEntity */
168 static int hf_gprscdr_locationArea
; /* LocationAreaCode */
169 static int hf_gprscdr_messageReference
; /* MessageReference */
170 static int hf_gprscdr_eventTimeStamp
; /* TimeStamp */
171 static int hf_gprscdr_smsResult
; /* SMSResult */
172 static int hf_gprscdr_destinationNumber
; /* SmsTpDestinationNumber */
173 static int hf_gprscdr_cAMELInformationSMS
; /* CAMELInformationSMS */
174 static int hf_gprscdr_qosRequested
; /* QoSInformation */
175 static int hf_gprscdr_qosNegotiated
; /* QoSInformation */
176 static int hf_gprscdr_dataVolumeGPRSUplink
; /* DataVolumeGPRS */
177 static int hf_gprscdr_dataVolumeGPRSDownlink
; /* DataVolumeGPRS */
178 static int hf_gprscdr_changeCondition
; /* ChangeConditionV651 */
179 static int hf_gprscdr_changeTime
; /* TimeStamp */
180 static int hf_gprscdr_failureHandlingContinue
; /* FailureHandlingContinue */
181 static int hf_gprscdr_userLocationInformation_04
; /* T_userLocationInformation_04 */
182 static int hf_gprscdr_ratingGroup
; /* RatingGroupId */
183 static int hf_gprscdr_chargingRuleBaseName
; /* ChargingRuleBaseName */
184 static int hf_gprscdr_resultCode
; /* ResultCode */
185 static int hf_gprscdr_timeOfFirstUsage
; /* TimeStamp */
186 static int hf_gprscdr_timeOfLastUsage
; /* TimeStamp */
187 static int hf_gprscdr_timeUsage
; /* CallDuration */
188 static int hf_gprscdr_serviceConditionChange
; /* ServiceConditionChangeV651 */
189 static int hf_gprscdr_qoSInformationNeg
; /* QoSInformation */
190 static int hf_gprscdr_sgsn_Address
; /* GSNAddress */
191 static int hf_gprscdr_sGSNPLMNIdentifier
; /* PLMN_Id */
192 static int hf_gprscdr_datavolumeFBCUplink
; /* DataVolumeGPRS */
193 static int hf_gprscdr_datavolumeFBCDownlink
; /* DataVolumeGPRS */
194 static int hf_gprscdr_timeOfReport
; /* TimeStamp */
195 static int hf_gprscdr_serviceIdentifier
; /* ServiceIdentifier */
196 static int hf_gprscdr_serviceConditionChangeV750
; /* ServiceConditionChangeV750 */
197 static int hf_gprscdr_aFRecordInformation
; /* SEQUENCE_OF_AFRecordInformation */
198 static int hf_gprscdr_aFRecordInformation_item
; /* AFRecordInformation */
199 static int hf_gprscdr_userLocationInformation_05
; /* T_userLocationInformation_05 */
200 static int hf_gprscdr_eventBasedChargingInformation
; /* EventBasedChargingInformation */
201 static int hf_gprscdr_timeQuotaMechanism
; /* TimeQuotaMechanism */
202 static int hf_gprscdr_sgsnPDPRecord_01
; /* SGSNPDPRecord */
203 static int hf_gprscdr_ggsnPDPRecord_01
; /* GGSNPDPRecordV750 */
204 static int hf_gprscdr_sgsnSMORecord_01
; /* SGSNSMORecord */
205 static int hf_gprscdr_sgsnSMTRecord_01
; /* SGSNSMTRecord */
206 static int hf_gprscdr_sgsnMTLCSRecord
; /* SGSNMTLCSRecord */
207 static int hf_gprscdr_sgsnMOLCSRecord
; /* SGSNMOLCSRecord */
208 static int hf_gprscdr_sgsnNILCSRecord
; /* SGSNNILCSRecord */
209 static int hf_gprscdr_egsnPDPRecord_01
; /* EGSNPDPRecordV750 */
210 static int hf_gprscdr_sgsnMBMSRecord
; /* SGSNMBMSRecord */
211 static int hf_gprscdr_ggsnMBMSRecord
; /* GGSNMBMSRecord */
212 static int hf_gprscdr_sGWRecord
; /* SGWRecord */
213 static int hf_gprscdr_pGWRecord
; /* PGWRecord */
214 static int hf_gprscdr_gwMBMSRecord
; /* GWMBMSRecord */
215 static int hf_gprscdr_tDFRecord
; /* TDFRecord */
216 static int hf_gprscdr_iPERecord
; /* IPERecord */
217 static int hf_gprscdr_ePDGRecord
; /* EPDGRecord */
218 static int hf_gprscdr_tWAGRecord
; /* TWAGRecord */
219 static int hf_gprscdr_s_GWAddress
; /* GSNAddress */
220 static int hf_gprscdr_servingNodeAddress
; /* SEQUENCE_OF_GSNAddress */
221 static int hf_gprscdr_servingNodeAddress_item
; /* GSNAddress */
222 static int hf_gprscdr_pdpPDNType
; /* PDPType */
223 static int hf_gprscdr_servedPDPPDNAddress
; /* PDPAddress */
224 static int hf_gprscdr_listOfTrafficVolumes_01
; /* SEQUENCE_OF_ChangeOfCharCondition */
225 static int hf_gprscdr_listOfTrafficVolumes_item_01
; /* ChangeOfCharCondition */
226 static int hf_gprscdr_servingNodePLMNIdentifier
; /* PLMN_Id */
227 static int hf_gprscdr_userLocationInformation_06
; /* T_userLocationInformation_06 */
228 static int hf_gprscdr_sGWChange
; /* SGWChange */
229 static int hf_gprscdr_servingNodeType
; /* SEQUENCE_OF_ServingNodeType */
230 static int hf_gprscdr_servingNodeType_item
; /* ServingNodeType */
231 static int hf_gprscdr_p_GWAddressUsed
; /* GSNAddress */
232 static int hf_gprscdr_p_GWPLMNIdentifier
; /* PLMN_Id */
233 static int hf_gprscdr_startTime
; /* TimeStamp */
234 static int hf_gprscdr_stopTime
; /* TimeStamp */
235 static int hf_gprscdr_pDNConnectionChargingID
; /* ChargingID */
236 static int hf_gprscdr_iMSIunauthenticatedFlag
; /* NULL */
237 static int hf_gprscdr_userCSGInformation
; /* UserCSGInformation */
238 static int hf_gprscdr_servedPDPPDNAddressExt
; /* PDPAddress */
239 static int hf_gprscdr_lowPriorityIndicator
; /* NULL */
240 static int hf_gprscdr_dynamicAddressFlagExt
; /* DynamicAddressFlag */
241 static int hf_gprscdr_s_GWiPv6Address
; /* GSNAddress */
242 static int hf_gprscdr_servingNodeiPv6Address
; /* SEQUENCE_OF_GSNAddress */
243 static int hf_gprscdr_servingNodeiPv6Address_item
; /* GSNAddress */
244 static int hf_gprscdr_p_GWiPv6AddressUsed
; /* GSNAddress */
245 static int hf_gprscdr_retransmission
; /* NULL */
246 static int hf_gprscdr_userLocationInfoTime
; /* TimeStamp */
247 static int hf_gprscdr_cNOperatorSelectionEnt
; /* CNOperatorSelectionEntity */
248 static int hf_gprscdr_presenceReportingAreaInfo
; /* PresenceReportingAreaInfo */
249 static int hf_gprscdr_lastUserLocationInformation
; /* T_lastUserLocationInformation */
250 static int hf_gprscdr_lastMSTimeZone
; /* MSTimeZone */
251 static int hf_gprscdr_enhancedDiagnostics
; /* EnhancedDiagnostics */
252 static int hf_gprscdr_cPCIoTEPSOptimisationIndicator
; /* CPCIoTEPSOptimisationIndicator */
253 static int hf_gprscdr_uNIPDUCPOnlyFlag
; /* UNIPDUCPOnlyFlag */
254 static int hf_gprscdr_servingPLMNRateControl
; /* ServingPLMNRateControl */
255 static int hf_gprscdr_pDPPDNTypeExtension
; /* PDPPDNTypeExtension */
256 static int hf_gprscdr_mOExceptionDataCounter
; /* MOExceptionDataCounter */
257 static int hf_gprscdr_listOfRANSecondaryRATUsageReports
; /* SEQUENCE_OF_RANSecondaryRATUsageReport */
258 static int hf_gprscdr_listOfRANSecondaryRATUsageReports_item
; /* RANSecondaryRATUsageReport */
259 static int hf_gprscdr_pSCellInformation
; /* PSCellInformation */
260 static int hf_gprscdr_p_GWAddress
; /* GSNAddress */
261 static int hf_gprscdr_userLocationInformation_07
; /* T_userLocationInformation_07 */
262 static int hf_gprscdr_listOfServiceData_02
; /* SEQUENCE_OF_ChangeOfServiceCondition */
263 static int hf_gprscdr_listOfServiceData_item_02
; /* ChangeOfServiceCondition */
264 static int hf_gprscdr_servedMNNAI
; /* SubscriptionID */
265 static int hf_gprscdr_served3gpp2MEID
; /* OCTET_STRING */
266 static int hf_gprscdr_threeGPP2UserLocationInformation
; /* OCTET_STRING */
267 static int hf_gprscdr_tWANUserLocationInformation
; /* TWANUserLocationInfo */
268 static int hf_gprscdr_ePCQoSInformation
; /* EPCQoSInformation */
269 static int hf_gprscdr_lastUserLocationInformation_01
; /* T_lastUserLocationInformation_01 */
270 static int hf_gprscdr_nBIFOMMode
; /* NBIFOMMode */
271 static int hf_gprscdr_nBIFOMSupport
; /* NBIFOMSupport */
272 static int hf_gprscdr_uWANUserLocationInformation
; /* UWANUserLocationInfo */
273 static int hf_gprscdr_sGiPtPTunnellingMethod
; /* SGiPtPTunnellingMethod */
274 static int hf_gprscdr_aPNRateControl
; /* APNRateControl */
275 static int hf_gprscdr_chargingPerIPCANSessionIndicator
; /* ChargingPerIPCANSessionIndicator */
276 static int hf_gprscdr_threeGPPPSDataOffStatus
; /* ThreeGPPPSDataOffStatus */
277 static int hf_gprscdr_sCSASAddress
; /* SCSASAddress */
278 static int hf_gprscdr_userLocationInformation_08
; /* OCTET_STRING */
279 static int hf_gprscdr_tDFAddress
; /* GSNAddress */
280 static int hf_gprscdr_tDFiPv6AddressUsed
; /* GSNAddress */
281 static int hf_gprscdr_tDFPLMNIdentifier
; /* PLMN_Id */
282 static int hf_gprscdr_servedFixedSubsID
; /* FixedSubsID */
283 static int hf_gprscdr_accessLineIdentifier
; /* AccessLineIdentifier */
284 static int hf_gprscdr_fixedUserLocationInformation
; /* FixedUserLocationInformation */
285 static int hf_gprscdr_iPEdgeAddress
; /* GSNAddress */
286 static int hf_gprscdr_iPCANsessionType
; /* PDPType */
287 static int hf_gprscdr_servedIPCANsessionAddress
; /* PDPAddress */
288 static int hf_gprscdr_iPEdgeOperatorIdentifier
; /* PLMN_Id */
289 static int hf_gprscdr_servedIPCANsessionAddressExt
; /* PDPAddress */
290 static int hf_gprscdr_iPEdgeiPv6AddressUsed
; /* GSNAddress */
291 static int hf_gprscdr_ePDGAddressUsed
; /* GSNAddress */
292 static int hf_gprscdr_ePDGiPv6AddressUsed
; /* GSNAddress */
293 static int hf_gprscdr_tWAGAddressUsed
; /* GSNAddress */
294 static int hf_gprscdr_tWAGiPv6AddressUsed
; /* GSNAddress */
295 static int hf_gprscdr_changeLocation
; /* SEQUENCE_OF_ChangeLocation */
296 static int hf_gprscdr_changeLocation_item
; /* ChangeLocation */
297 static int hf_gprscdr_cAMELInformationMM
; /* CAMELInformationMM */
298 static int hf_gprscdr_cellPLMNId
; /* PLMN_Id */
299 static int hf_gprscdr_servingNodeType_01
; /* ServingNodeType */
300 static int hf_gprscdr_servingNodeAddress_01
; /* GSNAddress */
301 static int hf_gprscdr_servingNodeiPv6Address_01
; /* GSNAddress */
302 static int hf_gprscdr_mMEName
; /* DiameterIdentity */
303 static int hf_gprscdr_mMERealm
; /* DiameterIdentity */
304 static int hf_gprscdr_originatingAddress
; /* AddressString */
305 static int hf_gprscdr_lcsClientType
; /* LCSClientType */
306 static int hf_gprscdr_lcsClientIdentity
; /* LCSClientIdentity */
307 static int hf_gprscdr_locationType
; /* LocationType */
308 static int hf_gprscdr_lcsQos
; /* LCSQoSInfo */
309 static int hf_gprscdr_lcsPriority
; /* LCS_Priority */
310 static int hf_gprscdr_mlcNumber
; /* ISDN_AddressString */
311 static int hf_gprscdr_measurementDuration
; /* CallDuration */
312 static int hf_gprscdr_notificationToMSUser
; /* NotificationToMSUser */
313 static int hf_gprscdr_privacyOverride
; /* NULL */
314 static int hf_gprscdr_location
; /* LocationAreaAndCell */
315 static int hf_gprscdr_locationEstimate
; /* Ext_GeographicalInformation */
316 static int hf_gprscdr_positioningData
; /* PositioningData */
317 static int hf_gprscdr_lcsCause
; /* LCSCause */
318 static int hf_gprscdr_locationMethod
; /* LocationMethod */
319 static int hf_gprscdr_listofRAs
; /* SEQUENCE_OF_RAIdentity */
320 static int hf_gprscdr_listofRAs_item
; /* RAIdentity */
321 static int hf_gprscdr_listOfTrafficVolumes_02
; /* SEQUENCE_OF_ChangeOfMBMSCondition */
322 static int hf_gprscdr_listOfTrafficVolumes_item_02
; /* ChangeOfMBMSCondition */
323 static int hf_gprscdr_numberofReceivingUE
; /* INTEGER */
324 static int hf_gprscdr_mbmsInformation
; /* MBMSInformation */
325 static int hf_gprscdr_listofDownstreamNodes
; /* SEQUENCE_OF_GSNAddress */
326 static int hf_gprscdr_listofDownstreamNodes_item
; /* GSNAddress */
327 static int hf_gprscdr_mbmsGWAddress
; /* GSNAddress */
328 static int hf_gprscdr_commonTeid
; /* CTEID */
329 static int hf_gprscdr_iPMulticastSourceAddress
; /* PDPAddress */
330 static int hf_gprscdr_physicalAccessID
; /* UTF8String */
331 static int hf_gprscdr_logicalAccessID
; /* OCTET_STRING */
332 static int hf_gprscdr_aFChargingIdentifier
; /* AFChargingIdentifier */
333 static int hf_gprscdr_flows
; /* Flows */
334 static int hf_gprscdr_aPNRateControlUplink
; /* APNRateControlParameters */
335 static int hf_gprscdr_aPNRateControlDownlink
; /* APNRateControlParameters */
336 static int hf_gprscdr_additionalExceptionReports
; /* AdditionalExceptionReports */
337 static int hf_gprscdr_rateControlTimeUnit
; /* RateControlTimeUnit */
338 static int hf_gprscdr_rateControlMaxRate
; /* INTEGER */
339 static int hf_gprscdr_rateControlMaxMessageSize
; /* DataVolumeGPRS */
340 static int hf_gprscdr_called_Party_Address
; /* InvolvedParty */
341 static int hf_gprscdr_requested_Party_Address
; /* InvolvedParty */
342 static int hf_gprscdr_list_Of_Called_Asserted_Identity
; /* SEQUENCE_OF_InvolvedParty */
343 static int hf_gprscdr_list_Of_Called_Asserted_Identity_item
; /* InvolvedParty */
344 static int hf_gprscdr_sCFAddress
; /* SCFAddress */
345 static int hf_gprscdr_serviceKey
; /* ServiceKey */
346 static int hf_gprscdr_defaultTransactionHandling
; /* DefaultGPRS_Handling */
347 static int hf_gprscdr_numberOfDPEncountered
; /* NumberOfDPEncountered */
348 static int hf_gprscdr_levelOfCAMELService
; /* LevelOfCAMELService */
349 static int hf_gprscdr_freeFormatData
; /* FreeFormatData */
350 static int hf_gprscdr_fFDAppendIndicator
; /* FFDAppendIndicator */
351 static int hf_gprscdr_cAMELAccessPointNameNI
; /* CAMELAccessPointNameNI */
352 static int hf_gprscdr_cAMELAccessPointNameOI
; /* CAMELAccessPointNameOI */
353 static int hf_gprscdr_defaultSMSHandling
; /* DefaultSMS_Handling */
354 static int hf_gprscdr_cAMELCallingPartyNumber
; /* CallingNumber */
355 static int hf_gprscdr_cAMELDestinationSubscriberNumber
; /* SmsTpDestinationNumber */
356 static int hf_gprscdr_cAMELSMSCAddress
; /* AddressString */
357 static int hf_gprscdr_smsReferenceNumber
; /* CallReferenceNumber */
358 static int hf_gprscdr_changeCondition_01
; /* ChangeCondition */
359 static int hf_gprscdr_userLocationInformation_09
; /* T_userLocationInformation_08 */
360 static int hf_gprscdr_presenceReportingAreaStatus
; /* PresenceReportingAreaStatus */
361 static int hf_gprscdr_accessAvailabilityChangeReason
; /* AccessAvailabilityChangeReason */
362 static int hf_gprscdr_relatedChangeOfCharCondition
; /* RelatedChangeOfCharCondition */
363 static int hf_gprscdr_listOfPresenceReportingAreaInformation
; /* SEQUENCE_OF_PresenceReportingAreaInfo */
364 static int hf_gprscdr_listOfPresenceReportingAreaInformation_item
; /* PresenceReportingAreaInfo */
365 static int hf_gprscdr_dataVolumeMBMSUplink
; /* DataVolumeMBMS */
366 static int hf_gprscdr_dataVolumeMBMSDownlink
; /* DataVolumeMBMS */
367 static int hf_gprscdr_serviceConditionChange_01
; /* ServiceConditionChange */
368 static int hf_gprscdr_qoSInformationNeg_01
; /* EPCQoSInformation */
369 static int hf_gprscdr_userLocationInformation_10
; /* T_userLocationInformation_09 */
370 static int hf_gprscdr_serviceSpecificInfo
; /* SEQUENCE_OF_ServiceSpecificInfo */
371 static int hf_gprscdr_serviceSpecificInfo_item
; /* ServiceSpecificInfo */
372 static int hf_gprscdr_sponsorIdentity
; /* OCTET_STRING */
373 static int hf_gprscdr_applicationServiceProviderIdentity
; /* OCTET_STRING */
374 static int hf_gprscdr_aDCRuleBaseName
; /* ADCRuleBaseName */
375 static int hf_gprscdr_relatedChangeOfServiceCondition
; /* RelatedChangeOfServiceCondition */
376 static int hf_gprscdr_trafficSteeringPolicyIDDownlink
; /* TrafficSteeringPolicyIDDownlink */
377 static int hf_gprscdr_trafficSteeringPolicyIDUplink
; /* TrafficSteeringPolicyIDUplink */
378 static int hf_gprscdr_voLTEInformation
; /* VoLTEInformation */
379 static int hf_gprscdr_routingAreaCode
; /* RoutingAreaCode */
380 static int hf_gprscdr_mCC_MNC_01
; /* PLMN_Id */
381 static int hf_gprscdr_qCI
; /* INTEGER */
382 static int hf_gprscdr_maxRequestedBandwithUL
; /* INTEGER */
383 static int hf_gprscdr_maxRequestedBandwithDL
; /* INTEGER */
384 static int hf_gprscdr_guaranteedBitrateUL
; /* INTEGER */
385 static int hf_gprscdr_guaranteedBitrateDL
; /* INTEGER */
386 static int hf_gprscdr_aRP
; /* T_aRP */
387 static int hf_gprscdr_aPNAggregateMaxBitrateUL
; /* INTEGER */
388 static int hf_gprscdr_aPNAggregateMaxBitrateDL
; /* INTEGER */
389 static int hf_gprscdr_extendedMaxRequestedBWUL
; /* INTEGER */
390 static int hf_gprscdr_extendedMaxRequestedBWDL
; /* INTEGER */
391 static int hf_gprscdr_extendedGBRUL
; /* INTEGER */
392 static int hf_gprscdr_extendedGBRDL
; /* INTEGER */
393 static int hf_gprscdr_extendedAPNAMBRUL
; /* INTEGER */
394 static int hf_gprscdr_extendedAPNAMBRDL
; /* INTEGER */
395 static int hf_gprscdr_numberOfEvents
; /* INTEGER */
396 static int hf_gprscdr_eventTimeStamps
; /* SEQUENCE_OF_TimeStamp */
397 static int hf_gprscdr_eventTimeStamps_item
; /* TimeStamp */
398 static int hf_gprscdr_sSID
; /* OCTET_STRING */
399 static int hf_gprscdr_bSSID
; /* OCTET_STRING */
400 static int hf_gprscdr_mediaComponentNumber
; /* INTEGER */
401 static int hf_gprscdr_flowNumber
; /* T_flowNumber */
402 static int hf_gprscdr_flowNumber_item
; /* INTEGER */
403 static int hf_gprscdr_counterValue
; /* INTEGER */
404 static int hf_gprscdr_counterTimestamp
; /* TimeStamp */
405 static int hf_gprscdr_presenceReportingAreaIdentifier
; /* OCTET_STRING */
406 static int hf_gprscdr_presenceReportingAreaElementsList
; /* PresenceReportingAreaElementsList */
407 static int hf_gprscdr_presenceReportingAreaNode
; /* PresenceReportingAreaNode */
408 static int hf_gprscdr_pSFreeFormatData
; /* FreeFormatData */
409 static int hf_gprscdr_pSFFDAppendIndicator
; /* FFDAppendIndicator */
410 static int hf_gprscdr_dataVolumeUplink
; /* DataVolumeGPRS */
411 static int hf_gprscdr_dataVolumeDownlink
; /* DataVolumeGPRS */
412 static int hf_gprscdr_rANStartTime
; /* TimeStamp */
413 static int hf_gprscdr_rANEndTime
; /* TimeStamp */
414 static int hf_gprscdr_secondaryRATType
; /* SecondaryRATType */
415 static int hf_gprscdr_userLocationInformation_11
; /* T_userLocationInformation_10 */
416 static int hf_gprscdr_userLocationInformation_12
; /* T_userLocationInformation_11 */
417 static int hf_gprscdr_relatedServiceConditionChange
; /* ServiceConditionChange */
418 static int hf_gprscdr_sPLMNDLRateControlValue
; /* INTEGER */
419 static int hf_gprscdr_sPLMNULRateControlValue
; /* INTEGER */
420 static int hf_gprscdr_timeQuotaType
; /* TimeQuotaType */
421 static int hf_gprscdr_baseTimeInterval
; /* INTEGER */
422 static int hf_gprscdr_civicAddressInformation
; /* CivicAddressInformation */
423 static int hf_gprscdr_wLANOperatorId
; /* WLANOperatorId */
424 static int hf_gprscdr_cSGId
; /* CSGId */
425 static int hf_gprscdr_cSGAccessMode
; /* CSGAccessMode */
426 static int hf_gprscdr_cSGMembershipIndication
; /* NULL */
427 static int hf_gprscdr_uELocalIPAddress
; /* IPAddress */
428 static int hf_gprscdr_uDPSourcePort
; /* OCTET_STRING_SIZE_2 */
429 static int hf_gprscdr_tCPSourcePort
; /* OCTET_STRING_SIZE_2 */
430 static int hf_gprscdr_callerInformation
; /* SEQUENCE_OF_InvolvedParty */
431 static int hf_gprscdr_callerInformation_item
; /* InvolvedParty */
432 static int hf_gprscdr_calleeInformation
; /* CalleePartyInformation */
433 static int hf_gprscdr_wLANOperatorName
; /* OCTET_STRING */
434 static int hf_gprscdr_wLANPLMNId
; /* PLMN_Id */
436 static int hf_gprscdr_LevelOfCAMELService_basic
;
437 static int hf_gprscdr_LevelOfCAMELService_callDurationSupervision
;
438 static int hf_gprscdr_LevelOfCAMELService_onlineCharging
;
439 static int hf_gprscdr_ServiceConditionChangeV651_qoSChange
;
440 static int hf_gprscdr_ServiceConditionChangeV651_sGSNChange
;
441 static int hf_gprscdr_ServiceConditionChangeV651_sGSNPLMNIDChange
;
442 static int hf_gprscdr_ServiceConditionChangeV651_tariffTimeSwitch
;
443 static int hf_gprscdr_ServiceConditionChangeV651_pDPContextRelease
;
444 static int hf_gprscdr_ServiceConditionChangeV651_rATChange
;
445 static int hf_gprscdr_ServiceConditionChangeV651_serviceIdledOut
;
446 static int hf_gprscdr_ServiceConditionChangeV651_qCTExpiry
;
447 static int hf_gprscdr_ServiceConditionChangeV651_configurationChange
;
448 static int hf_gprscdr_ServiceConditionChangeV651_serviceStop
;
449 static int hf_gprscdr_ServiceConditionChangeV651_timeThresholdReached
;
450 static int hf_gprscdr_ServiceConditionChangeV651_volumeThresholdReached
;
451 static int hf_gprscdr_ServiceConditionChangeV651_spare_bit12
;
452 static int hf_gprscdr_ServiceConditionChangeV651_timeExhausted
;
453 static int hf_gprscdr_ServiceConditionChangeV651_volumeExhausted
;
454 static int hf_gprscdr_ServiceConditionChangeV651_timeout
;
455 static int hf_gprscdr_ServiceConditionChangeV651_returnRequested
;
456 static int hf_gprscdr_ServiceConditionChangeV651_reauthorisationRequest
;
457 static int hf_gprscdr_ServiceConditionChangeV651_continueOngoingSession
;
458 static int hf_gprscdr_ServiceConditionChangeV651_retryAndTerminateOngoingSession
;
459 static int hf_gprscdr_ServiceConditionChangeV651_terminateOngoingSession
;
460 static int hf_gprscdr_ServiceConditionChangeV750_qoSChange
;
461 static int hf_gprscdr_ServiceConditionChangeV750_sGSNChange
;
462 static int hf_gprscdr_ServiceConditionChangeV750_sGSNPLMNIDChange
;
463 static int hf_gprscdr_ServiceConditionChangeV750_tariffTimeSwitch
;
464 static int hf_gprscdr_ServiceConditionChangeV750_pDPContextRelease
;
465 static int hf_gprscdr_ServiceConditionChangeV750_rATChange
;
466 static int hf_gprscdr_ServiceConditionChangeV750_serviceIdledOut
;
467 static int hf_gprscdr_ServiceConditionChangeV750_reserved
;
468 static int hf_gprscdr_ServiceConditionChangeV750_configurationChange
;
469 static int hf_gprscdr_ServiceConditionChangeV750_serviceStop
;
470 static int hf_gprscdr_ServiceConditionChangeV750_dCCATimeThresholdReached
;
471 static int hf_gprscdr_ServiceConditionChangeV750_dCCAVolumeThresholdReached
;
472 static int hf_gprscdr_ServiceConditionChangeV750_dCCAServiceSpecificUnitThresholdReached
;
473 static int hf_gprscdr_ServiceConditionChangeV750_dCCATimeExhausted
;
474 static int hf_gprscdr_ServiceConditionChangeV750_dCCAVolumeExhausted
;
475 static int hf_gprscdr_ServiceConditionChangeV750_dCCAValidityTimeout
;
476 static int hf_gprscdr_ServiceConditionChangeV750_reserved2
;
477 static int hf_gprscdr_ServiceConditionChangeV750_dCCAReauthorisationRequest
;
478 static int hf_gprscdr_ServiceConditionChangeV750_dCCAContinueOngoingSession
;
479 static int hf_gprscdr_ServiceConditionChangeV750_dCCARetryAndTerminateOngoingSession
;
480 static int hf_gprscdr_ServiceConditionChangeV750_dCCATerminateOngoingSession
;
481 static int hf_gprscdr_ServiceConditionChangeV750_cGI_SAIChange
;
482 static int hf_gprscdr_ServiceConditionChangeV750_rAIChange
;
483 static int hf_gprscdr_ServiceConditionChangeV750_dCCAServiceSpecificUnitExhausted
;
484 static int hf_gprscdr_ServiceConditionChangeV750_recordClosure
;
485 static int hf_gprscdr_ServiceConditionChangeV750_timeLimit
;
486 static int hf_gprscdr_ServiceConditionChangeV750_volumeLimit
;
487 static int hf_gprscdr_ServiceConditionChangeV750_serviceSpecificUnitLimit
;
488 static int hf_gprscdr_ServiceConditionChangeV750_envelopeClosure
;
489 static int hf_gprscdr_PresenceReportingAreaNode_oCS
;
490 static int hf_gprscdr_PresenceReportingAreaNode_pCRF
;
491 static int hf_gprscdr_ServiceConditionChange_qoSChange
;
492 static int hf_gprscdr_ServiceConditionChange_sGSNChange
;
493 static int hf_gprscdr_ServiceConditionChange_sGSNPLMNIDChange
;
494 static int hf_gprscdr_ServiceConditionChange_tariffTimeSwitch
;
495 static int hf_gprscdr_ServiceConditionChange_pDPContextRelease
;
496 static int hf_gprscdr_ServiceConditionChange_rATChange
;
497 static int hf_gprscdr_ServiceConditionChange_serviceIdledOut
;
498 static int hf_gprscdr_ServiceConditionChange_reserved
;
499 static int hf_gprscdr_ServiceConditionChange_configurationChange
;
500 static int hf_gprscdr_ServiceConditionChange_serviceStop
;
501 static int hf_gprscdr_ServiceConditionChange_dCCATimeThresholdReached
;
502 static int hf_gprscdr_ServiceConditionChange_dCCAVolumeThresholdReached
;
503 static int hf_gprscdr_ServiceConditionChange_dCCAServiceSpecificUnitThresholdReached
;
504 static int hf_gprscdr_ServiceConditionChange_dCCATimeExhausted
;
505 static int hf_gprscdr_ServiceConditionChange_dCCAVolumeExhausted
;
506 static int hf_gprscdr_ServiceConditionChange_dCCAValidityTimeout
;
507 static int hf_gprscdr_ServiceConditionChange_reserved1
;
508 static int hf_gprscdr_ServiceConditionChange_dCCAReauthorisationRequest
;
509 static int hf_gprscdr_ServiceConditionChange_dCCAContinueOngoingSession
;
510 static int hf_gprscdr_ServiceConditionChange_dCCARetryAndTerminateOngoingSession
;
511 static int hf_gprscdr_ServiceConditionChange_dCCATerminateOngoingSession
;
512 static int hf_gprscdr_ServiceConditionChange_cGI_SAIChange
;
513 static int hf_gprscdr_ServiceConditionChange_rAIChange
;
514 static int hf_gprscdr_ServiceConditionChange_dCCAServiceSpecificUnitExhausted
;
515 static int hf_gprscdr_ServiceConditionChange_recordClosure
;
516 static int hf_gprscdr_ServiceConditionChange_timeLimit
;
517 static int hf_gprscdr_ServiceConditionChange_volumeLimit
;
518 static int hf_gprscdr_ServiceConditionChange_serviceSpecificUnitLimit
;
519 static int hf_gprscdr_ServiceConditionChange_envelopeClosure
;
520 static int hf_gprscdr_ServiceConditionChange_eCGIChange
;
521 static int hf_gprscdr_ServiceConditionChange_tAIChange
;
522 static int hf_gprscdr_ServiceConditionChange_userLocationChange
;
523 static int hf_gprscdr_ServiceConditionChange_userCSGInformationChange
;
524 static int hf_gprscdr_ServiceConditionChange_presenceInPRAChange
;
525 static int hf_gprscdr_ServiceConditionChange_accessChangeOfSDF
;
526 static int hf_gprscdr_ServiceConditionChange_indirectServiceConditionChange
;
527 static int hf_gprscdr_ServiceConditionChange_servingPLMNRateControlChange
;
528 static int hf_gprscdr_ServiceConditionChange_aPNRateControlChange
;
530 static int ett_gprscdr
;
531 static int ett_gprscdr_timestamp
;
532 static int ett_gprscdr_plmn_id
;
533 static int ett_gprscdr_pdp_pdn_type
;
534 static int ett_gprscdr_eps_qos_arp
;
535 static int ett_gprscdr_managementextension_information
;
536 static int ett_gprscdr_userlocationinformation
;
537 static int ett_gprscdr_Diagnostics
;
538 static int ett_gprscdr_Ecgi
;
539 static int ett_gprscdr_EnhancedDiagnostics
;
540 static int ett_gprscdr_SEQUENCE_OF_RANNASCause
;
541 static int ett_gprscdr_InvolvedParty
;
542 static int ett_gprscdr_IPAddress
;
543 static int ett_gprscdr_IPBinaryAddress
;
544 static int ett_gprscdr_IPBinV6AddressWithOrWithoutPrefixLength
;
545 static int ett_gprscdr_IPBinV6AddressWithPrefixLength
;
546 static int ett_gprscdr_IPTextRepresentedAddress
;
547 static int ett_gprscdr_LCSClientIdentity
;
548 static int ett_gprscdr_LevelOfCAMELService
;
549 static int ett_gprscdr_LocationAreaAndCell
;
550 static int ett_gprscdr_ManagementExtensions
;
551 static int ett_gprscdr_MBMSInformation
;
552 static int ett_gprscdr_Ncgi
;
553 static int ett_gprscdr_PDPAddress
;
554 static int ett_gprscdr_PSCellInformation
;
555 static int ett_gprscdr_SCSASAddress
;
556 static int ett_gprscdr_ServiceSpecificInfo
;
557 static int ett_gprscdr_SubscriptionID
;
558 static int ett_gprscdr_ManagementExtension
;
559 static int ett_gprscdr_GPRSCallEventRecord
;
560 static int ett_gprscdr_GGSNPDPRecord
;
561 static int ett_gprscdr_SEQUENCE_OF_GSNAddress
;
562 static int ett_gprscdr_SEQUENCE_OF_ChangeOfCharConditionV651
;
563 static int ett_gprscdr_GGSNPDPRecordV750
;
564 static int ett_gprscdr_EGSNPDPRecord
;
565 static int ett_gprscdr_SEQUENCE_OF_ChangeOfServiceConditionV651
;
566 static int ett_gprscdr_EGSNPDPRecordV750
;
567 static int ett_gprscdr_SEQUENCE_OF_ChangeOfServiceConditionV750
;
568 static int ett_gprscdr_SGSNPDPRecordV651
;
569 static int ett_gprscdr_SGSNSMORecordV651
;
570 static int ett_gprscdr_SGSNSMTRecordV651
;
571 static int ett_gprscdr_ChangeOfCharConditionV651
;
572 static int ett_gprscdr_ChangeOfServiceConditionV651
;
573 static int ett_gprscdr_ChangeOfServiceConditionV750
;
574 static int ett_gprscdr_SEQUENCE_OF_AFRecordInformation
;
575 static int ett_gprscdr_ServiceConditionChangeV651
;
576 static int ett_gprscdr_ServiceConditionChangeV750
;
577 static int ett_gprscdr_GPRSRecord
;
578 static int ett_gprscdr_SGWRecord
;
579 static int ett_gprscdr_SEQUENCE_OF_ChangeOfCharCondition
;
580 static int ett_gprscdr_SEQUENCE_OF_ServingNodeType
;
581 static int ett_gprscdr_SEQUENCE_OF_RANSecondaryRATUsageReport
;
582 static int ett_gprscdr_PGWRecord
;
583 static int ett_gprscdr_SEQUENCE_OF_ChangeOfServiceCondition
;
584 static int ett_gprscdr_TDFRecord
;
585 static int ett_gprscdr_IPERecord
;
586 static int ett_gprscdr_EPDGRecord
;
587 static int ett_gprscdr_TWAGRecord
;
588 static int ett_gprscdr_SGSNMMRecord
;
589 static int ett_gprscdr_SEQUENCE_OF_ChangeLocation
;
590 static int ett_gprscdr_SGSNPDPRecord
;
591 static int ett_gprscdr_SGSNSMORecord
;
592 static int ett_gprscdr_SGSNSMTRecord
;
593 static int ett_gprscdr_SGSNMTLCSRecord
;
594 static int ett_gprscdr_SGSNMOLCSRecord
;
595 static int ett_gprscdr_SGSNNILCSRecord
;
596 static int ett_gprscdr_SGSNMBMSRecord
;
597 static int ett_gprscdr_SEQUENCE_OF_RAIdentity
;
598 static int ett_gprscdr_SEQUENCE_OF_ChangeOfMBMSCondition
;
599 static int ett_gprscdr_GGSNMBMSRecord
;
600 static int ett_gprscdr_GWMBMSRecord
;
601 static int ett_gprscdr_AccessLineIdentifier
;
602 static int ett_gprscdr_AFRecordInformation
;
603 static int ett_gprscdr_APNRateControl
;
604 static int ett_gprscdr_APNRateControlParameters
;
605 static int ett_gprscdr_CalleePartyInformation
;
606 static int ett_gprscdr_SEQUENCE_OF_InvolvedParty
;
607 static int ett_gprscdr_CAMELInformationMM
;
608 static int ett_gprscdr_CAMELInformationPDP
;
609 static int ett_gprscdr_CAMELInformationSMS
;
610 static int ett_gprscdr_ChangeOfCharCondition
;
611 static int ett_gprscdr_SEQUENCE_OF_PresenceReportingAreaInfo
;
612 static int ett_gprscdr_ChangeOfMBMSCondition
;
613 static int ett_gprscdr_ChangeOfServiceCondition
;
614 static int ett_gprscdr_SEQUENCE_OF_ServiceSpecificInfo
;
615 static int ett_gprscdr_ChangeLocation
;
616 static int ett_gprscdr_EPCQoSInformation
;
617 static int ett_gprscdr_EventBasedChargingInformation
;
618 static int ett_gprscdr_SEQUENCE_OF_TimeStamp
;
619 static int ett_gprscdr_FixedUserLocationInformation
;
620 static int ett_gprscdr_Flows
;
621 static int ett_gprscdr_T_flowNumber
;
622 static int ett_gprscdr_MOExceptionDataCounter
;
623 static int ett_gprscdr_PresenceReportingAreaInfo
;
624 static int ett_gprscdr_PresenceReportingAreaNode
;
625 static int ett_gprscdr_PSFurnishChargingInformation
;
626 static int ett_gprscdr_RANSecondaryRATUsageReport
;
627 static int ett_gprscdr_RelatedChangeOfCharCondition
;
628 static int ett_gprscdr_RelatedChangeOfServiceCondition
;
629 static int ett_gprscdr_ServiceConditionChange
;
630 static int ett_gprscdr_ServingPLMNRateControl
;
631 static int ett_gprscdr_TimeQuotaMechanism
;
632 static int ett_gprscdr_TWANUserLocationInfo
;
633 static int ett_gprscdr_UserCSGInformation
;
634 static int ett_gprscdr_UWANUserLocationInfo
;
635 static int ett_gprscdr_VoLTEInformation
;
636 static int ett_gprscdr_WLANOperatorId
;
638 static expert_field ei_gprscdr_not_dissected
;
639 static expert_field ei_gprscdr_choice_not_found
;
641 /* Global variables */
642 static const char *obj_id
;
644 static const value_string gprscdr_daylight_saving_time_vals
[] = {
645 {0, "No adjustment"},
646 {1, "+1 hour adjustment for Daylight Saving Time"},
647 {2, "+2 hours adjustment for Daylight Saving Time"},
655 static const value_string gprscdr_rat_type_vals
[] = {
661 {5, "HSPA Evolution"},
664 {8, "EUTRAN-NB-IoT"},
667 /* 11-100 Spare for future use TS 29.061 */
668 {101, "IEEE 802.16e"},
669 {102, "3GPP2 eHRPD"},
671 /* 104-255 Spare for future use TS 29.061 */
676 dissect_gprscdr_uli(tvbuff_t
*tvb _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int type
) {
677 proto_tree
*ext_tree_uli
;
680 length
= tvb_reported_length(tvb
);
681 ext_tree_uli
= proto_tree_add_subtree(tree
, tvb
, 0, length
, ett_gprscdr_userlocationinformation
, NULL
, "UserLocationInformation");
685 /* For GGSN/EGGSN-CDR,
686 * this octet string is a 1:1 copy of the contents (i.e. starting with octet 4) of the
687 * User Location Information (ULI) information element specified in 29.060, ch7.7.51.
689 dissect_gtp_uli(tvb
, 0, actx
->pinfo
, ext_tree_uli
, NULL
);
693 * this octet string is a 1:1 copy of the contents (i.e. starting with octet 5) of the
694 * User Location Information (ULI) information element specified in 29.274, ch8.21.
696 dissect_gtpv2_uli(tvb
, actx
->pinfo
, ext_tree_uli
, NULL
, length
, 0, 0, NULL
);
699 proto_tree_add_expert(ext_tree_uli
, actx
->pinfo
, &ei_gprscdr_not_dissected
, tvb
, 0, length
);
709 dissect_gprscdr_BCDDirectoryNumber(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
710 offset
= dissect_ber_octet_string(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
719 dissect_gprscdr_CallDuration(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
720 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
727 static const value_string gprscdr_CallEventRecordType_vals
[] = {
728 { 0, "moCallRecord" },
729 { 1, "mtCallRecord" },
730 { 2, "roamingRecord" },
731 { 3, "incGatewayRecord" },
732 { 4, "outGatewayRecord" },
733 { 5, "transitCallRecord" },
734 { 6, "moSMSRecord" },
735 { 7, "mtSMSRecord" },
736 { 8, "moSMSIWRecord" },
737 { 9, "mtSMSGWRecord" },
738 { 10, "ssActionRecord" },
739 { 11, "hlrIntRecord" },
740 { 12, "locUpdateHLRRecord" },
741 { 13, "locUpdateVLRRecord" },
742 { 14, "commonEquipRecord" },
743 { 15, "moTraceRecord" },
744 { 16, "mtTraceRecord" },
745 { 17, "termCAMELRecord" },
746 { 18, "sgsnPDPRecord" },
747 { 19, "ggsnPDPRecord" },
748 { 20, "sgsnMMRecord" },
749 { 21, "sgsnSMORecord" },
750 { 22, "sgsnSMTRecord" },
751 { 23, "mtLCSRecord" },
752 { 24, "moLCSRecord" },
753 { 25, "niLCSRecord" },
754 { 26, "sgsnMtLCSRecord" },
755 { 27, "sgsnMoLCSRecord" },
756 { 28, "sgsnNiLCSRecord" },
757 { 29, "mmO1SRecord" },
758 { 30, "mmO4FRqRecord" },
759 { 31, "mmO4FRsRecord" },
760 { 32, "mmO4DRecord" },
761 { 33, "mmO1DRecord" },
762 { 34, "mmO4RRecord" },
763 { 35, "mmO1RRecord" },
764 { 36, "mmOMDRecord" },
765 { 37, "mmR4FRecord" },
766 { 38, "mmR1NRqRecord" },
767 { 39, "mmR1NRsRecord" },
768 { 40, "mmR1RtRecord" },
769 { 42, "mmR1AFRecord" },
770 { 43, "mmR4DRqRecord" },
771 { 44, "mmR4DRsRecord" },
772 { 45, "mmR1RRRecord" },
773 { 46, "mmR4RRqRecord" },
774 { 47, "mmR4RRsRecord" },
775 { 48, "mmRMDRecord" },
777 { 50, "mmBx1SRecord" },
778 { 51, "mmBx1VRecord" },
779 { 52, "mmBx1URecord" },
780 { 53, "mmBx1DRecord" },
781 { 54, "mM7SRecord" },
782 { 55, "mM7DRqRecord" },
783 { 56, "mM7DRsRecord" },
784 { 57, "mM7CRecord" },
785 { 58, "mM7RRecord" },
786 { 59, "mM7DRRqRecord" },
787 { 60, "mM7DRRsRecord" },
788 { 61, "mM7RRqRecord" },
789 { 62, "mM7RRsRecord" },
790 { 63, "s-CSCFRecord" },
791 { 64, "p-CSCFRecord" },
792 { 65, "i-CSCFRecord" },
793 { 66, "mRFCRecord" },
794 { 67, "mGCFRecord" },
795 { 68, "bGCFRecord" },
797 { 70, "egsnPDPRecord" },
798 { 71, "lCSGMORecord" },
799 { 72, "lCSRGMTRecord" },
800 { 73, "lCSHGMTRecord" },
801 { 74, "lCSVGMTRecord" },
802 { 75, "lCSGNIRecord" },
803 { 76, "sgsnMBMSRecord" },
804 { 77, "ggsnMBMSRecord" },
805 { 78, "subBMSCRecord" },
806 { 79, "contentBMSCRecord" },
814 dissect_gprscdr_CallEventRecordType(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
815 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
824 dissect_gprscdr_CallingNumber(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
825 offset
= dissect_gprscdr_BCDDirectoryNumber(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
833 dissect_gprscdr_CellId(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
834 offset
= dissect_ber_octet_string(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
841 static const value_string gprscdr_CauseForRecClosing_vals
[] = {
842 { 0, "normalRelease" },
843 { 1, "partialRecord" },
844 { 4, "abnormalRelease" },
845 { 5, "cAMELInitCallRelease" },
846 { 16, "volumeLimit" },
848 { 18, "servingNodeChange" },
849 { 19, "maxChangeCond" },
850 { 20, "managementIntervention" },
851 { 21, "intraSGSNIntersystemChange" },
853 { 23, "mSTimeZoneChange" },
854 { 24, "sGSNPLMNIDChange" },
856 { 26, "aPNAMBRChange" },
857 { 27, "mOExceptionDataCounterReceipt" },
858 { 52, "unauthorizedRequestingNetwork" },
859 { 53, "unauthorizedLCSClient" },
860 { 54, "positionMethodFailure" },
861 { 58, "unknownOrUnreachableLCSClient" },
862 { 59, "listofDownstreamNodeChange" },
868 dissect_gprscdr_CauseForRecClosing(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
869 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
878 dissect_gprscdr_ChargingID(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
879 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
888 dissect_gprscdr_CivicAddressInformation(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
889 offset
= dissect_ber_octet_string(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
896 static const value_string gprscdr_CNIPMulticastDistribution_vals
[] = {
897 { 0, "nO-IP-MULTICAST" },
898 { 1, "iP-MULTICAST" },
904 dissect_gprscdr_CNIPMulticastDistribution(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
905 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
914 dissect_gprscdr_DynamicAddressFlag(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
915 offset
= dissect_ber_boolean(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
, NULL
);
923 dissect_gprscdr_INTEGER(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
924 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
933 dissect_gprscdr_T_identifier(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
934 offset
= dissect_ber_object_identifier_str(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
, &obj_id
);
942 dissect_gprscdr_BOOLEAN(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
943 offset
= dissect_ber_boolean(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
, NULL
);
951 dissect_gprscdr_T_information(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
953 proto_tree
*ext_tree
;
954 ext_tree
= proto_tree_add_subtree(tree
, tvb
, offset
, -1, ett_gprscdr_managementextension_information
, NULL
, "Information");
956 offset
=call_ber_oid_callback(obj_id
, tvb
, offset
, actx
->pinfo
, ext_tree
, NULL
);
958 proto_tree_add_expert(ext_tree
, actx
->pinfo
, &ei_gprscdr_not_dissected
, tvb
, offset
, -1);
966 static const ber_sequence_t ManagementExtension_sequence
[] = {
967 { &hf_gprscdr_identifier
, BER_CLASS_UNI
, BER_UNI_TAG_OID
, BER_FLAGS_NOOWNTAG
, dissect_gprscdr_T_identifier
},
968 { &hf_gprscdr_significance
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_BOOLEAN
},
969 { &hf_gprscdr_information
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_gprscdr_T_information
},
970 { NULL
, 0, 0, 0, NULL
}
974 dissect_gprscdr_ManagementExtension(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
975 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
976 ManagementExtension_sequence
, hf_index
, ett_gprscdr_ManagementExtension
);
982 static const value_string gprscdr_Diagnostics_vals
[] = {
983 { 0, "gsm0408Cause" },
984 { 1, "gsm0902MapErrorValue" },
985 { 2, "itu-tQ767Cause" },
986 { 3, "networkSpecificCause" },
987 { 4, "manufacturerSpecificCause" },
988 { 5, "positionMethodFailureCause" },
989 { 6, "unauthorizedLCSClientCause" },
990 { 7, "diameterResultCodeAndExperimentalResult" },
994 static const ber_choice_t Diagnostics_choice
[] = {
995 { 0, &hf_gprscdr_gsm0408Cause
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_gprscdr_INTEGER
},
996 { 1, &hf_gprscdr_gsm0902MapErrorValue
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_gprscdr_INTEGER
},
997 { 2, &hf_gprscdr_itu_tQ767Cause
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_gprscdr_INTEGER
},
998 { 3, &hf_gprscdr_networkSpecificCause
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_gprscdr_ManagementExtension
},
999 { 4, &hf_gprscdr_manufacturerSpecificCause
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
, dissect_gprscdr_ManagementExtension
},
1000 { 5, &hf_gprscdr_positionMethodFailureCause
, BER_CLASS_CON
, 5, BER_FLAGS_IMPLTAG
, dissect_gsm_map_er_PositionMethodFailure_Diagnostic
},
1001 { 6, &hf_gprscdr_unauthorizedLCSClientCause
, BER_CLASS_CON
, 6, BER_FLAGS_IMPLTAG
, dissect_gsm_map_er_UnauthorizedLCSClient_Diagnostic
},
1002 { 7, &hf_gprscdr_diameterResultCodeAndExperimentalResult
, BER_CLASS_CON
, 7, BER_FLAGS_IMPLTAG
, dissect_gprscdr_INTEGER
},
1003 { 0, NULL
, 0, 0, 0, NULL
}
1007 dissect_gprscdr_Diagnostics(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1008 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
1009 Diagnostics_choice
, hf_index
, ett_gprscdr_Diagnostics
,
1018 dissect_gprscdr_DiameterIdentity(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1019 offset
= dissect_ber_octet_string(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1028 dissect_gprscdr_PLMN_Id(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1029 tvbuff_t
*parameter_tvb
;
1030 proto_tree
*subtree
;
1032 offset
= dissect_ber_octet_string(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1039 subtree
= proto_item_add_subtree(actx
->created_item
, ett_gprscdr_plmn_id
);
1040 dissect_e212_mcc_mnc(parameter_tvb
, actx
->pinfo
, subtree
, 0, E212_NONE
, true);
1049 dissect_gprscdr_EutraCellId(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1050 offset
= dissect_ber_restricted_string(implicit_tag
, BER_UNI_TAG_UTF8String
,
1051 actx
, tree
, tvb
, offset
, hf_index
,
1060 dissect_gprscdr_Nid(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1061 offset
= dissect_ber_restricted_string(implicit_tag
, BER_UNI_TAG_UTF8String
,
1062 actx
, tree
, tvb
, offset
, hf_index
,
1069 static const ber_sequence_t Ecgi_sequence
[] = {
1070 { &hf_gprscdr_plmnId
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_gprscdr_PLMN_Id
},
1071 { &hf_gprscdr_eutraCellId
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_gprscdr_EutraCellId
},
1072 { &hf_gprscdr_nid
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_Nid
},
1073 { NULL
, 0, 0, 0, NULL
}
1077 dissect_gprscdr_Ecgi(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1078 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1079 Ecgi_sequence
, hf_index
, ett_gprscdr_Ecgi
);
1087 dissect_gprscdr_RANNASCause(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1088 offset
= dissect_ber_octet_string(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1095 static const ber_sequence_t SEQUENCE_OF_RANNASCause_sequence_of
[1] = {
1096 { &hf_gprscdr_rANNASCause_item
, BER_CLASS_UNI
, BER_UNI_TAG_OCTETSTRING
, BER_FLAGS_NOOWNTAG
, dissect_gprscdr_RANNASCause
},
1100 dissect_gprscdr_SEQUENCE_OF_RANNASCause(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1101 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
1102 SEQUENCE_OF_RANNASCause_sequence_of
, hf_index
, ett_gprscdr_SEQUENCE_OF_RANNASCause
);
1108 static const ber_sequence_t EnhancedDiagnostics_sequence
[] = {
1109 { &hf_gprscdr_rANNASCause
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_gprscdr_SEQUENCE_OF_RANNASCause
},
1110 { NULL
, 0, 0, 0, NULL
}
1114 dissect_gprscdr_EnhancedDiagnostics(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1115 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1116 EnhancedDiagnostics_sequence
, hf_index
, ett_gprscdr_EnhancedDiagnostics
);
1124 dissect_gprscdr_IPBinV4Address(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1125 offset
= dissect_ber_octet_string(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1134 dissect_gprscdr_IPBinV6Address(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1135 offset
= dissect_ber_octet_string(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1144 dissect_gprscdr_PDPAddressPrefixLength(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1145 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1152 static const ber_sequence_t IPBinV6AddressWithPrefixLength_sequence
[] = {
1153 { &hf_gprscdr_iPBinV6Address
, BER_CLASS_UNI
, BER_UNI_TAG_OCTETSTRING
, BER_FLAGS_NOOWNTAG
, dissect_gprscdr_IPBinV6Address
},
1154 { &hf_gprscdr_pDPAddressPrefixLength
, BER_CLASS_UNI
, BER_UNI_TAG_INTEGER
, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_gprscdr_PDPAddressPrefixLength
},
1155 { NULL
, 0, 0, 0, NULL
}
1159 dissect_gprscdr_IPBinV6AddressWithPrefixLength(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1160 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1161 IPBinV6AddressWithPrefixLength_sequence
, hf_index
, ett_gprscdr_IPBinV6AddressWithPrefixLength
);
1167 static const value_string gprscdr_IPBinV6AddressWithOrWithoutPrefixLength_vals
[] = {
1168 { 1, "iPBinV6Address" },
1169 { 4, "iPBinV6AddressWithPrefix" },
1173 static const ber_choice_t IPBinV6AddressWithOrWithoutPrefixLength_choice
[] = {
1174 { 1, &hf_gprscdr_iPBinV6Address
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_gprscdr_IPBinV6Address
},
1175 { 4, &hf_gprscdr_iPBinV6AddressWithPrefix
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
, dissect_gprscdr_IPBinV6AddressWithPrefixLength
},
1176 { 0, NULL
, 0, 0, 0, NULL
}
1180 dissect_gprscdr_IPBinV6AddressWithOrWithoutPrefixLength(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1181 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
1182 IPBinV6AddressWithOrWithoutPrefixLength_choice
, hf_index
, ett_gprscdr_IPBinV6AddressWithOrWithoutPrefixLength
,
1189 static const value_string gprscdr_IPBinaryAddress_vals
[] = {
1190 { 0, "iPBinV4Address" },
1191 { 1, "iPBinV6Address" },
1195 static const ber_choice_t IPBinaryAddress_choice
[] = {
1196 { 0, &hf_gprscdr_iPBinV4Address
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_gprscdr_IPBinV4Address
},
1197 { 1, &hf_gprscdr_iPBinV6Address_choice
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
, dissect_gprscdr_IPBinV6AddressWithOrWithoutPrefixLength
},
1198 { 0, NULL
, 0, 0, 0, NULL
}
1202 dissect_gprscdr_IPBinaryAddress(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1203 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
1204 IPBinaryAddress_choice
, hf_index
, ett_gprscdr_IPBinaryAddress
,
1213 dissect_gprscdr_IA5String_SIZE_7_15(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1214 offset
= dissect_ber_restricted_string(implicit_tag
, BER_UNI_TAG_IA5String
,
1215 actx
, tree
, tvb
, offset
, hf_index
,
1224 dissect_gprscdr_IA5String_SIZE_15_45(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1225 offset
= dissect_ber_restricted_string(implicit_tag
, BER_UNI_TAG_IA5String
,
1226 actx
, tree
, tvb
, offset
, hf_index
,
1233 static const value_string gprscdr_IPTextRepresentedAddress_vals
[] = {
1234 { 2, "iPTextV4Address" },
1235 { 3, "iPTextV6Address" },
1239 static const ber_choice_t IPTextRepresentedAddress_choice
[] = {
1240 { 2, &hf_gprscdr_iPTextV4Address
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_gprscdr_IA5String_SIZE_7_15
},
1241 { 3, &hf_gprscdr_iPTextV6Address
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_gprscdr_IA5String_SIZE_15_45
},
1242 { 0, NULL
, 0, 0, 0, NULL
}
1246 dissect_gprscdr_IPTextRepresentedAddress(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1247 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
1248 IPTextRepresentedAddress_choice
, hf_index
, ett_gprscdr_IPTextRepresentedAddress
,
1255 static const value_string gprscdr_IPAddress_vals
[] = {
1256 { 0, "iPBinaryAddress" },
1257 { 1, "iPTextRepresentedAddress" },
1261 static const ber_choice_t IPAddress_choice
[] = {
1262 { 0, &hf_gprscdr_iPBinaryAddress
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
, dissect_gprscdr_IPBinaryAddress
},
1263 { 1, &hf_gprscdr_iPTextRepresentedAddress
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
, dissect_gprscdr_IPTextRepresentedAddress
},
1264 { 0, NULL
, 0, 0, 0, NULL
}
1268 dissect_gprscdr_IPAddress(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1269 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
1270 IPAddress_choice
, hf_index
, ett_gprscdr_IPAddress
,
1279 dissect_gprscdr_GSNAddress(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1280 offset
= dissect_gprscdr_IPAddress(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
1288 dissect_gprscdr_GraphicString(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1289 offset
= dissect_ber_restricted_string(implicit_tag
, BER_UNI_TAG_GraphicString
,
1290 actx
, tree
, tvb
, offset
, hf_index
,
1299 dissect_gprscdr_UTF8String(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1300 offset
= dissect_ber_restricted_string(implicit_tag
, BER_UNI_TAG_UTF8String
,
1301 actx
, tree
, tvb
, offset
, hf_index
,
1308 static const value_string gprscdr_InvolvedParty_vals
[] = {
1313 { 4, "externalId" },
1317 static const ber_choice_t InvolvedParty_choice
[] = {
1318 { 0, &hf_gprscdr_sIP_URI
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_gprscdr_GraphicString
},
1319 { 1, &hf_gprscdr_tEL_URI
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_gprscdr_GraphicString
},
1320 { 2, &hf_gprscdr_uRN
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_gprscdr_GraphicString
},
1321 { 3, &hf_gprscdr_iSDN_E164
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_gprscdr_GraphicString
},
1322 { 4, &hf_gprscdr_externalId
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
, dissect_gprscdr_UTF8String
},
1323 { 0, NULL
, 0, 0, 0, NULL
}
1327 dissect_gprscdr_InvolvedParty(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1328 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
1329 InvolvedParty_choice
, hf_index
, ett_gprscdr_InvolvedParty
,
1338 dissect_gprscdr_LCSCause(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1339 offset
= dissect_ber_octet_string(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1346 static const ber_sequence_t LCSClientIdentity_sequence
[] = {
1347 { &hf_gprscdr_lcsClientExternalID
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gsm_map_LCSClientExternalID
},
1348 { &hf_gprscdr_lcsClientDialedByMS
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gsm_map_AddressString
},
1349 { &hf_gprscdr_lcsClientInternalID
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gsm_map_LCSClientInternalID
},
1350 { NULL
, 0, 0, 0, NULL
}
1354 dissect_gprscdr_LCSClientIdentity(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1355 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1356 LCSClientIdentity_sequence
, hf_index
, ett_gprscdr_LCSClientIdentity
);
1364 dissect_gprscdr_LCSQoSInfo(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1365 offset
= dissect_ber_octet_string(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1372 static int * const LevelOfCAMELService_bits
[] = {
1373 &hf_gprscdr_LevelOfCAMELService_basic
,
1374 &hf_gprscdr_LevelOfCAMELService_callDurationSupervision
,
1375 &hf_gprscdr_LevelOfCAMELService_onlineCharging
,
1380 dissect_gprscdr_LevelOfCAMELService(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1381 offset
= dissect_ber_bitstring(implicit_tag
, actx
, tree
, tvb
, offset
,
1382 LevelOfCAMELService_bits
, 3, hf_index
, ett_gprscdr_LevelOfCAMELService
,
1391 dissect_gprscdr_LocalSequenceNumber(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1392 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1401 dissect_gprscdr_LocationAreaCode(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1402 offset
= dissect_ber_octet_string(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1411 dissect_gprscdr_MCC_MNC(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1412 offset
= dissect_ber_octet_string(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1419 static const ber_sequence_t LocationAreaAndCell_sequence
[] = {
1420 { &hf_gprscdr_locationAreaCode
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_gprscdr_LocationAreaCode
},
1421 { &hf_gprscdr_cellId
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_gprscdr_CellId
},
1422 { &hf_gprscdr_mCC_MNC
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_MCC_MNC
},
1423 { NULL
, 0, 0, 0, NULL
}
1427 dissect_gprscdr_LocationAreaAndCell(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1428 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1429 LocationAreaAndCell_sequence
, hf_index
, ett_gprscdr_LocationAreaAndCell
);
1435 static const ber_sequence_t ManagementExtensions_set_of
[1] = {
1436 { &hf_gprscdr_ManagementExtensions_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_gprscdr_ManagementExtension
},
1440 dissect_gprscdr_ManagementExtensions(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1441 offset
= dissect_ber_set_of(implicit_tag
, actx
, tree
, tvb
, offset
,
1442 ManagementExtensions_set_of
, hf_index
, ett_gprscdr_ManagementExtensions
);
1448 static const value_string gprscdr_MBMS2G3GIndicator_vals
[] = {
1451 { 2, "twoG-AND-threeG" },
1457 dissect_gprscdr_MBMS2G3GIndicator(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1458 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1467 dissect_gprscdr_TMGI(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1468 offset
= dissect_ber_octet_string(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1477 dissect_gprscdr_MBMSSessionIdentity(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1478 offset
= dissect_ber_octet_string(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1485 static const value_string gprscdr_MBMSServiceType_vals
[] = {
1493 dissect_gprscdr_MBMSServiceType(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1494 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1501 static const value_string gprscdr_MBMSUserServiceType_vals
[] = {
1509 dissect_gprscdr_MBMSUserServiceType(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1510 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1519 dissect_gprscdr_RoutingAreaCode(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1520 offset
= dissect_ber_octet_string(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1529 dissect_gprscdr_MBMSServiceArea(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1530 offset
= dissect_ber_octet_string(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1539 dissect_gprscdr_RequiredMBMSBearerCapabilities(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1540 offset
= dissect_ber_octet_string(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1549 dissect_gprscdr_MBMSTime(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1550 offset
= dissect_ber_octet_string(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1557 static const ber_sequence_t MBMSInformation_set
[] = {
1558 { &hf_gprscdr_tMGI
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_TMGI
},
1559 { &hf_gprscdr_mBMSSessionIdentity
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_MBMSSessionIdentity
},
1560 { &hf_gprscdr_mBMSServiceType
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_MBMSServiceType
},
1561 { &hf_gprscdr_mBMSUserServiceType
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_MBMSUserServiceType
},
1562 { &hf_gprscdr_mBMS2G3GIndicator
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_MBMS2G3GIndicator
},
1563 { &hf_gprscdr_fileRepairSupported
, BER_CLASS_CON
, 6, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_BOOLEAN
},
1564 { &hf_gprscdr_rAI
, BER_CLASS_CON
, 7, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_RoutingAreaCode
},
1565 { &hf_gprscdr_mBMSServiceArea
, BER_CLASS_CON
, 8, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_MBMSServiceArea
},
1566 { &hf_gprscdr_requiredMBMSBearerCaps
, BER_CLASS_CON
, 9, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_RequiredMBMSBearerCapabilities
},
1567 { &hf_gprscdr_mBMSGWAddress
, BER_CLASS_CON
, 10, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_GSNAddress
},
1568 { &hf_gprscdr_cNIPMulticastDistribution
, BER_CLASS_CON
, 11, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_CNIPMulticastDistribution
},
1569 { &hf_gprscdr_mBMSDataTransferStart
, BER_CLASS_CON
, 12, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_MBMSTime
},
1570 { &hf_gprscdr_mBMSDataTransferStop
, BER_CLASS_CON
, 13, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_MBMSTime
},
1571 { NULL
, 0, 0, 0, NULL
}
1575 dissect_gprscdr_MBMSInformation(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1576 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
1577 MBMSInformation_set
, hf_index
, ett_gprscdr_MBMSInformation
);
1585 dissect_gprscdr_MessageReference(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1586 offset
= dissect_ber_octet_string(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1595 dissect_gprscdr_MSISDN(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1596 offset
= dissect_gsm_map_ISDN_AddressString(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
1604 dissect_gprscdr_MSTimeZone(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1607 * 1.Octet: Time Zone and 2. Octet: Daylight saving time, see TS 29.060 [75]
1609 tvbuff_t
*parameter_tvb
;
1610 uint8_t data
, data2
;
1613 offset
= dissect_ber_octet_string(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1620 data
= tvb_get_uint8(parameter_tvb
, 0);
1621 sign
= (data
& 0x08) ? '-' : '+';
1622 data
= (data
>> 4) + (data
& 0x07) * 10;
1624 data2
= tvb_get_uint8(tvb
, 1) & 0x3;
1626 proto_item_append_text(actx
->created_item
, " (GMT %c %d hours %d minutes %s)",
1630 val_to_str_const(data2
, gprscdr_daylight_saving_time_vals
, "Unknown")
1640 dissect_gprscdr_NrCellId(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1641 offset
= dissect_ber_restricted_string(implicit_tag
, BER_UNI_TAG_UTF8String
,
1642 actx
, tree
, tvb
, offset
, hf_index
,
1649 static const ber_sequence_t Ncgi_sequence
[] = {
1650 { &hf_gprscdr_plmnId
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_gprscdr_PLMN_Id
},
1651 { &hf_gprscdr_nrCellId
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_gprscdr_NrCellId
},
1652 { &hf_gprscdr_nid
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_Nid
},
1653 { NULL
, 0, 0, 0, NULL
}
1657 dissect_gprscdr_Ncgi(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1658 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1659 Ncgi_sequence
, hf_index
, ett_gprscdr_Ncgi
);
1667 dissect_gprscdr_NodeID(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1668 offset
= dissect_ber_restricted_string(implicit_tag
, BER_UNI_TAG_IA5String
,
1669 actx
, tree
, tvb
, offset
, hf_index
,
1676 static const value_string gprscdr_PDPAddress_vals
[] = {
1681 static const ber_choice_t PDPAddress_choice
[] = {
1682 { 0, &hf_gprscdr_iPAddress
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_gprscdr_IPAddress
},
1683 { 0, NULL
, 0, 0, 0, NULL
}
1687 dissect_gprscdr_PDPAddress(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1688 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
1689 PDPAddress_choice
, hf_index
, ett_gprscdr_PDPAddress
,
1698 dissect_gprscdr_PositioningData(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1699 offset
= dissect_ber_octet_string(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1706 static const ber_sequence_t PSCellInformation_sequence
[] = {
1707 { &hf_gprscdr_nRcgi
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_Ncgi
},
1708 { &hf_gprscdr_ecgi
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_Ecgi
},
1709 { NULL
, 0, 0, 0, NULL
}
1713 dissect_gprscdr_PSCellInformation(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1714 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1715 PSCellInformation_sequence
, hf_index
, ett_gprscdr_PSCellInformation
);
1723 dissect_gprscdr_RATType(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1724 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1733 dissect_gprscdr_RecordingEntity(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1734 offset
= dissect_gsm_map_AddressString(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
1740 static const value_string gprscdr_RecordType_vals
[] = {
1741 { 0, "moCallRecord" },
1742 { 1, "mtCallRecord" },
1743 { 2, "roamingRecord" },
1744 { 3, "incGatewayRecord" },
1745 { 4, "outGatewayRecord" },
1746 { 5, "transitCallRecord" },
1747 { 6, "moSMSRecord" },
1748 { 7, "mtSMSRecord" },
1749 { 8, "moSMSIWRecord" },
1750 { 9, "mtSMSGWRecord" },
1751 { 10, "ssActionRecord" },
1752 { 11, "hlrIntRecord" },
1753 { 12, "locUpdateHLRRecord" },
1754 { 13, "locUpdateVLRRecord" },
1755 { 14, "commonEquipRecord" },
1756 { 15, "moTraceRecord" },
1757 { 16, "mtTraceRecord" },
1758 { 17, "termCAMELRecord" },
1759 { 18, "sgsnPDPRecord" },
1760 { 20, "sgsnMMRecord" },
1761 { 21, "sgsnSMORecord" },
1762 { 22, "sgsnSMTRecord" },
1763 { 23, "mtLCSRecord" },
1764 { 24, "moLCSRecord" },
1765 { 25, "niLCSRecord" },
1766 { 26, "sgsnMTLCSRecord" },
1767 { 27, "sgsnMOLCSRecord" },
1768 { 28, "sgsnNILCSRecord" },
1769 { 30, "mMO1SRecord" },
1770 { 31, "mMO4FRqRecord" },
1771 { 32, "mMO4FRsRecord" },
1772 { 33, "mMO4DRecord" },
1773 { 34, "mMO1DRecord" },
1774 { 35, "mMO4RRecord" },
1775 { 36, "mMO1RRecord" },
1776 { 37, "mMOMDRecord" },
1777 { 38, "mMR4FRecord" },
1778 { 39, "mMR1NRqRecord" },
1779 { 40, "mMR1NRsRecord" },
1780 { 41, "mMR1RtRecord" },
1781 { 42, "mMR1AFRecord" },
1782 { 43, "mMR4DRqRecord" },
1783 { 44, "mMR4DRsRecord" },
1784 { 45, "mMR1RRRecord" },
1785 { 46, "mMR4RRqRecord" },
1786 { 47, "mMR4RRsRecord" },
1787 { 48, "mMRMDRecord" },
1788 { 49, "mMFRecord" },
1789 { 50, "mMBx1SRecord" },
1790 { 51, "mMBx1VRecord" },
1791 { 52, "mMBx1URecord" },
1792 { 53, "mMBx1DRecord" },
1793 { 54, "mM7SRecord" },
1794 { 55, "mM7DRqRecord" },
1795 { 56, "mM7DRsRecord" },
1796 { 57, "mM7CRecord" },
1797 { 58, "mM7RRecord" },
1798 { 59, "mM7DRRqRecord" },
1799 { 60, "mM7DRRsRecord" },
1800 { 61, "mM7RRqRecord" },
1801 { 62, "mM7RRsRecord" },
1802 { 63, "sCSCFRecord" },
1803 { 64, "pCSCFRecord" },
1804 { 65, "iCSCFRecord" },
1805 { 66, "mRFCRecord" },
1806 { 67, "mGCFRecord" },
1807 { 68, "bGCFRecord" },
1809 { 70, "eCSCFRecord" },
1810 { 82, "iBCFRecord" },
1811 { 89, "tRFRecord" },
1813 { 91, "aTCFRecord" },
1814 { 71, "lCSGMORecord" },
1815 { 72, "lCSRGMTRecord" },
1816 { 73, "lCSHGMTRecord" },
1817 { 74, "lCSVGMTRecord" },
1818 { 75, "lCSGNIRecord" },
1819 { 76, "sgsnMBMSRecord" },
1820 { 77, "ggsnMBMSRecord" },
1821 { 86, "gwMBMSRecord" },
1822 { 78, "sUBBMSCRecord" },
1823 { 79, "cONTENTBMSCRecord" },
1824 { 80, "pPFRecord" },
1825 { 81, "cPFRecord" },
1826 { 84, "sGWRecord" },
1827 { 85, "pGWRecord" },
1828 { 92, "tDFRecord" },
1829 { 95, "iPERecord" },
1830 { 96, "ePDGRecord" },
1831 { 97, "tWAGRecord" },
1832 { 83, "mMTelRecord" },
1833 { 87, "mSCsRVCCRecord" },
1834 { 88, "mMTRFRecord" },
1835 { 99, "iCSRegisterRecord" },
1836 { 93, "sCSMORecord" },
1837 { 94, "sCSMTRecord" },
1838 { 100, "pFDDRecord" },
1839 { 101, "pFEDRecord" },
1840 { 102, "pFDCRecord" },
1841 { 103, "mECORecord" },
1842 { 104, "mERERecord" },
1843 { 105, "cPDTSCERecord" },
1844 { 106, "cPDTSNNRecord" },
1845 { 110, "sCDVTT4Record" },
1846 { 111, "sCSMOT4Record" },
1847 { 112, "iSMSMORecord" },
1848 { 113, "iSMSMTRecord" },
1849 { 120, "eASCERecord" },
1850 { 200, "chargingFunctionRecord" },
1856 dissect_gprscdr_RecordType(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1857 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1864 static const ber_sequence_t SCSASAddress_set
[] = {
1865 { &hf_gprscdr_sCSAddress
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_IPAddress
},
1866 { &hf_gprscdr_sCSRealm
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_gprscdr_DiameterIdentity
},
1867 { NULL
, 0, 0, 0, NULL
}
1871 dissect_gprscdr_SCSASAddress(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1872 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
1873 SCSASAddress_set
, hf_index
, ett_gprscdr_SCSASAddress
);
1879 static const ber_sequence_t ServiceSpecificInfo_sequence
[] = {
1880 { &hf_gprscdr_serviceSpecificData
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_GraphicString
},
1881 { &hf_gprscdr_serviceSpecificType
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_INTEGER
},
1882 { NULL
, 0, 0, 0, NULL
}
1886 dissect_gprscdr_ServiceSpecificInfo(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1887 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1888 ServiceSpecificInfo_sequence
, hf_index
, ett_gprscdr_ServiceSpecificInfo
);
1896 dissect_gprscdr_SMSResult(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1897 offset
= dissect_gprscdr_Diagnostics(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
1905 dissect_gprscdr_SmsTpDestinationNumber(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1906 offset
= dissect_ber_octet_string(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1913 static const value_string gprscdr_SubscriptionIDType_vals
[] = {
1914 { 0, "eND-USER-E164" },
1915 { 1, "eND-USER-IMSI" },
1916 { 2, "eND-USER-SIP-URI" },
1917 { 3, "eND-USER-NAI" },
1918 { 4, "eND-USER-PRIVATE" },
1924 dissect_gprscdr_SubscriptionIDType(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1925 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1932 static const ber_sequence_t SubscriptionID_set
[] = {
1933 { &hf_gprscdr_subscriptionIDType
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_gprscdr_SubscriptionIDType
},
1934 { &hf_gprscdr_subscriptionIDData
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_gprscdr_UTF8String
},
1935 { NULL
, 0, 0, 0, NULL
}
1939 dissect_gprscdr_SubscriptionID(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1940 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
1941 SubscriptionID_set
, hf_index
, ett_gprscdr_SubscriptionID
);
1947 static const value_string gprscdr_ThreeGPPPSDataOffStatus_vals
[] = {
1955 dissect_gprscdr_ThreeGPPPSDataOffStatus(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1956 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1965 dissect_gprscdr_TimeStamp(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1968 * The contents of this field are a compact form of the UTCTime format
1969 * containing local time plus an offset to universal time. Binary coded
1970 * decimal encoding is employed for the digits to reduce the storage and
1971 * transmission overhead
1972 * e.g. YYMMDDhhmmssShhmm
1974 * YY = Year 00 to 99 BCD encoded
1975 * MM = Month 01 to 12 BCD encoded
1976 * DD = Day 01 to 31 BCD encoded
1977 * hh = hour 00 to 23 BCD encoded
1978 * mm = minute 00 to 59 BCD encoded
1979 * ss = second 00 to 59 BCD encoded
1980 * S = Sign 0 = "+", "-" ASCII encoded
1981 * hh = hour 00 to 23 BCD encoded
1982 * mm = minute 00 to 59 BCD encoded
1985 tvbuff_t
*parameter_tvb
;
1987 offset
= dissect_ber_octet_string(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1994 proto_item_append_text(actx
->created_item
, " (UTC %x-%x-%x %x:%x:%x %s%x:%x)",
1995 tvb_get_uint8(parameter_tvb
,0), /* Year */
1996 tvb_get_uint8(parameter_tvb
,1), /* Month */
1997 tvb_get_uint8(parameter_tvb
,2), /* Day */
1998 tvb_get_uint8(parameter_tvb
,3), /* Hour */
1999 tvb_get_uint8(parameter_tvb
,4), /* Minute */
2000 tvb_get_uint8(parameter_tvb
,5), /* Second */
2001 tvb_get_string_enc(actx
->pinfo
->pool
, parameter_tvb
,6,1,ENC_ASCII
|ENC_NA
), /* Sign */
2002 tvb_get_uint8(parameter_tvb
,7), /* Hour */
2003 tvb_get_uint8(parameter_tvb
,8) /* Minute */
2013 dissect_gprscdr_NetworkInitiatedPDPContext(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2014 offset
= dissect_ber_boolean(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
, NULL
);
2022 dissect_gprscdr_MSNetworkCapability(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2023 offset
= dissect_ber_octet_string(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
2032 dissect_gprscdr_AccessPointNameNI(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2033 offset
= dissect_ber_restricted_string(implicit_tag
, BER_UNI_TAG_IA5String
,
2034 actx
, tree
, tvb
, offset
, hf_index
,
2043 dissect_gprscdr_PDPType(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2044 proto_tree
*ext_tree_pdp_pdn_type
;
2047 length
= tvb_reported_length(tvb
);
2055 ext_tree_pdp_pdn_type
= proto_tree_add_subtree(tree
, tvb
, 0, length
, ett_gprscdr_pdp_pdn_type
, NULL
, "pDNType");
2056 dissect_gtpv2_pdn_type(tvb
, actx
->pinfo
, ext_tree_pdp_pdn_type
, NULL
, length
, 0, 0, NULL
);
2062 * 7.7.27 End User Address
2065 ext_tree_pdp_pdn_type
= proto_tree_add_subtree(tree
, tvb
, 0, length
, ett_gprscdr_pdp_pdn_type
, NULL
, "pDPType");
2066 offset
= de_sm_pdp_addr(tvb
, ext_tree_pdp_pdn_type
, actx
->pinfo
, 0, length
, NULL
, 0);
2077 dissect_gprscdr_QoSInformation(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2079 /* This octet string is a 1:1 copy of the contents (i.e. starting with octet 4) of the
2080 * Quality of Service (QoS) Profile information element specified in 29.060, ch7.7.34.
2084 header_field_info
*hfi
;
2085 hfi
= proto_registrar_get_nth(hf_index
);
2087 offset
= decode_qos_umts(tvb
, 0, actx
->pinfo
, tree
, hfi
->name
, 0);
2096 dissect_gprscdr_DataVolumeGPRS(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2097 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
2104 static const value_string gprscdr_ChangeConditionV651_vals
[] = {
2106 { 1, "tariffTime" },
2107 { 2, "recordClosure" },
2108 { 3, "failureHandlingContinueOngoing" },
2109 { 4, "failureHandlingRetryandTerminateOngoing" },
2110 { 5, "failureHandlingTerminateOngoing" },
2111 { 6, "cGI-SAICHange" },
2113 { 8, "dT-Establishment" },
2114 { 9, "dT-Removal" },
2120 dissect_gprscdr_ChangeConditionV651(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2121 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
2130 dissect_gprscdr_FailureHandlingContinue(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2131 offset
= dissect_ber_boolean(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
, NULL
);
2139 dissect_gprscdr_T_userLocationInformation_04(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2141 offset
= dissect_gprscdr_uli(tvb
, actx
, tree
, 1);
2148 static const ber_sequence_t ChangeOfCharConditionV651_sequence
[] = {
2149 { &hf_gprscdr_qosRequested
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_QoSInformation
},
2150 { &hf_gprscdr_qosNegotiated
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_QoSInformation
},
2151 { &hf_gprscdr_dataVolumeGPRSUplink
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_gprscdr_DataVolumeGPRS
},
2152 { &hf_gprscdr_dataVolumeGPRSDownlink
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
, dissect_gprscdr_DataVolumeGPRS
},
2153 { &hf_gprscdr_changeCondition
, BER_CLASS_CON
, 5, BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChangeConditionV651
},
2154 { &hf_gprscdr_changeTime
, BER_CLASS_CON
, 6, BER_FLAGS_IMPLTAG
, dissect_gprscdr_TimeStamp
},
2155 { &hf_gprscdr_failureHandlingContinue
, BER_CLASS_CON
, 7, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_FailureHandlingContinue
},
2156 { &hf_gprscdr_userLocationInformation_04
, BER_CLASS_CON
, 8, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_T_userLocationInformation_04
},
2157 { NULL
, 0, 0, 0, NULL
}
2161 dissect_gprscdr_ChangeOfCharConditionV651(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2162 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
2163 ChangeOfCharConditionV651_sequence
, hf_index
, ett_gprscdr_ChangeOfCharConditionV651
);
2169 static const ber_sequence_t SEQUENCE_OF_ChangeOfCharConditionV651_sequence_of
[1] = {
2170 { &hf_gprscdr_listOfTrafficVolumes_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_gprscdr_ChangeOfCharConditionV651
},
2174 dissect_gprscdr_SEQUENCE_OF_ChangeOfCharConditionV651(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2175 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
2176 SEQUENCE_OF_ChangeOfCharConditionV651_sequence_of
, hf_index
, ett_gprscdr_SEQUENCE_OF_ChangeOfCharConditionV651
);
2184 dissect_gprscdr_SGSNChange(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2185 offset
= dissect_ber_boolean(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
, NULL
);
2191 static const value_string gprscdr_CauseForRecClosingV651_vals
[] = {
2192 { 0, "normalRelease" },
2193 { 4, "abnormalRelease" },
2194 { 5, "cAMELInitCallRelease" },
2195 { 16, "volumeLimit" },
2196 { 17, "timeLimit" },
2197 { 18, "sGSNChange" },
2198 { 19, "maxChangeCond" },
2199 { 20, "managementIntervention" },
2200 { 21, "intraSGSNIntersystemChange" },
2201 { 22, "rATChange" },
2202 { 23, "mSTimeZoneChange" },
2203 { 24, "sGSNPLMNIDChange" },
2204 { 52, "unauthorizedRequestingNetwork" },
2205 { 53, "unauthorizedLCSClient" },
2206 { 54, "positionMethodFailure" },
2207 { 58, "unknownOrUnreachableLCSClient" },
2208 { 59, "listofDownstreamNodeChange" },
2214 dissect_gprscdr_CauseForRecClosingV651(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2215 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
2222 static const value_string gprscdr_APNSelectionMode_vals
[] = {
2223 { 0, "mSorNetworkProvidedSubscriptionVerified" },
2224 { 1, "mSProvidedSubscriptionNotVerified" },
2225 { 2, "networkProvidedSubscriptionNotVerified" },
2231 dissect_gprscdr_APNSelectionMode(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2232 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
2241 dissect_gprscdr_AccessPointNameOI(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2242 offset
= dissect_ber_restricted_string(implicit_tag
, BER_UNI_TAG_IA5String
,
2243 actx
, tree
, tvb
, offset
, hf_index
,
2252 dissect_gprscdr_ChargingCharacteristics(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2253 offset
= dissect_ber_octet_string(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
2262 dissect_gprscdr_SCFAddress(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2263 offset
= dissect_gsm_map_AddressString(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
2271 dissect_gprscdr_CAMELAccessPointNameNI(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2272 offset
= dissect_gprscdr_AccessPointNameNI(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
2280 dissect_gprscdr_CAMELAccessPointNameOI(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2281 offset
= dissect_gprscdr_AccessPointNameOI(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
2289 dissect_gprscdr_NumberOfDPEncountered(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2290 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
2299 dissect_gprscdr_FreeFormatData(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2300 offset
= dissect_ber_octet_string(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
2309 dissect_gprscdr_FFDAppendIndicator(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2310 offset
= dissect_ber_boolean(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
, NULL
);
2316 static const ber_sequence_t CAMELInformationPDP_set
[] = {
2317 { &hf_gprscdr_sCFAddress
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_SCFAddress
},
2318 { &hf_gprscdr_serviceKey
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gsm_map_ms_ServiceKey
},
2319 { &hf_gprscdr_defaultTransactionHandling
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gsm_map_ms_DefaultGPRS_Handling
},
2320 { &hf_gprscdr_cAMELAccessPointNameNI
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_CAMELAccessPointNameNI
},
2321 { &hf_gprscdr_cAMELAccessPointNameOI
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_CAMELAccessPointNameOI
},
2322 { &hf_gprscdr_numberOfDPEncountered
, BER_CLASS_CON
, 6, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_NumberOfDPEncountered
},
2323 { &hf_gprscdr_levelOfCAMELService
, BER_CLASS_CON
, 7, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_LevelOfCAMELService
},
2324 { &hf_gprscdr_freeFormatData
, BER_CLASS_CON
, 8, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_FreeFormatData
},
2325 { &hf_gprscdr_fFDAppendIndicator
, BER_CLASS_CON
, 9, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_FFDAppendIndicator
},
2326 { NULL
, 0, 0, 0, NULL
}
2330 dissect_gprscdr_CAMELInformationPDP(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2331 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
2332 CAMELInformationPDP_set
, hf_index
, ett_gprscdr_CAMELInformationPDP
);
2338 static const value_string gprscdr_ChChSelectionMode_vals
[] = {
2339 { 0, "servingNodeSupplied" },
2340 { 1, "subscriptionSpecific" },
2341 { 2, "aPNSpecific" },
2342 { 3, "homeDefault" },
2343 { 4, "roamingDefault" },
2344 { 5, "visitingDefault" },
2345 { 6, "fixedDefault" },
2351 dissect_gprscdr_ChChSelectionMode(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2352 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
2359 static const ber_sequence_t SGSNPDPRecordV651_set
[] = {
2360 { &hf_gprscdr_recordType
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_gprscdr_CallEventRecordType
},
2361 { &hf_gprscdr_networkInitiation
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_NetworkInitiatedPDPContext
},
2362 { &hf_gprscdr_servedIMSI
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_gsm_map_IMSI
},
2363 { &hf_gprscdr_servedIMEI
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gsm_map_IMEI
},
2364 { &hf_gprscdr_sgsnAddress_01
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_GSNAddress
},
2365 { &hf_gprscdr_msNetworkCapability
, BER_CLASS_CON
, 6, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_MSNetworkCapability
},
2366 { &hf_gprscdr_routingArea
, BER_CLASS_CON
, 7, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_RoutingAreaCode
},
2367 { &hf_gprscdr_locationAreaCode
, BER_CLASS_CON
, 8, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_LocationAreaCode
},
2368 { &hf_gprscdr_cellIdentifier
, BER_CLASS_CON
, 9, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_CellId
},
2369 { &hf_gprscdr_chargingID
, BER_CLASS_CON
, 10, BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChargingID
},
2370 { &hf_gprscdr_ggsnAddressUsed
, BER_CLASS_CON
, 11, BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_GSNAddress
},
2371 { &hf_gprscdr_accessPointNameNI
, BER_CLASS_CON
, 12, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_AccessPointNameNI
},
2372 { &hf_gprscdr_pdpType
, BER_CLASS_CON
, 13, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PDPType
},
2373 { &hf_gprscdr_servedPDPAddress
, BER_CLASS_CON
, 14, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_PDPAddress
},
2374 { &hf_gprscdr_listOfTrafficVolumes
, BER_CLASS_CON
, 15, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_SEQUENCE_OF_ChangeOfCharConditionV651
},
2375 { &hf_gprscdr_recordOpeningTime
, BER_CLASS_CON
, 16, BER_FLAGS_IMPLTAG
, dissect_gprscdr_TimeStamp
},
2376 { &hf_gprscdr_duration
, BER_CLASS_CON
, 17, BER_FLAGS_IMPLTAG
, dissect_gprscdr_CallDuration
},
2377 { &hf_gprscdr_sgsnChange
, BER_CLASS_CON
, 18, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_SGSNChange
},
2378 { &hf_gprscdr_causeForRecClosing
, BER_CLASS_CON
, 19, BER_FLAGS_IMPLTAG
, dissect_gprscdr_CauseForRecClosingV651
},
2379 { &hf_gprscdr_diagnostics
, BER_CLASS_CON
, 20, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_Diagnostics
},
2380 { &hf_gprscdr_recordSequenceNumber
, BER_CLASS_CON
, 21, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_INTEGER
},
2381 { &hf_gprscdr_nodeID
, BER_CLASS_CON
, 22, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_NodeID
},
2382 { &hf_gprscdr_recordExtensions
, BER_CLASS_CON
, 23, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ManagementExtensions
},
2383 { &hf_gprscdr_localSequenceNumber
, BER_CLASS_CON
, 24, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_LocalSequenceNumber
},
2384 { &hf_gprscdr_apnSelectionMode
, BER_CLASS_CON
, 25, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_APNSelectionMode
},
2385 { &hf_gprscdr_accessPointNameOI
, BER_CLASS_CON
, 26, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_AccessPointNameOI
},
2386 { &hf_gprscdr_servedMSISDN
, BER_CLASS_CON
, 27, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_MSISDN
},
2387 { &hf_gprscdr_chargingCharacteristics
, BER_CLASS_CON
, 28, BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChargingCharacteristics
},
2388 { &hf_gprscdr_rATType
, BER_CLASS_CON
, 29, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_RATType
},
2389 { &hf_gprscdr_cAMELInformationPDP
, BER_CLASS_CON
, 30, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_CAMELInformationPDP
},
2390 { &hf_gprscdr_rNCUnsentDownlinkVolume
, BER_CLASS_CON
, 31, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_DataVolumeGPRS
},
2391 { &hf_gprscdr_chChSelectionMode
, BER_CLASS_CON
, 32, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChChSelectionMode
},
2392 { &hf_gprscdr_dynamicAddressFlag
, BER_CLASS_CON
, 33, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_DynamicAddressFlag
},
2393 { NULL
, 0, 0, 0, NULL
}
2397 dissect_gprscdr_SGSNPDPRecordV651(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2398 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
2399 SGSNPDPRecordV651_set
, hf_index
, ett_gprscdr_SGSNPDPRecordV651
);
2405 static const ber_sequence_t SEQUENCE_OF_GSNAddress_sequence_of
[1] = {
2406 { &hf_gprscdr_sgsnAddress_item
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_GSNAddress
},
2410 dissect_gprscdr_SEQUENCE_OF_GSNAddress(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2411 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
2412 SEQUENCE_OF_GSNAddress_sequence_of
, hf_index
, ett_gprscdr_SEQUENCE_OF_GSNAddress
);
2420 dissect_gprscdr_NULL(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2421 offset
= dissect_ber_null(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
);
2429 dissect_gprscdr_OCTET_STRING(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2430 offset
= dissect_ber_octet_string(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
2439 dissect_gprscdr_T_userLocationInformation(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2441 offset
= dissect_gprscdr_uli(tvb
, actx
, tree
, 1);
2448 static const ber_sequence_t GGSNPDPRecord_set
[] = {
2449 { &hf_gprscdr_recordType
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_gprscdr_CallEventRecordType
},
2450 { &hf_gprscdr_networkInitiation
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_NetworkInitiatedPDPContext
},
2451 { &hf_gprscdr_servedIMSI
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_gsm_map_IMSI
},
2452 { &hf_gprscdr_ggsnAddress
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_GSNAddress
},
2453 { &hf_gprscdr_chargingID
, BER_CLASS_CON
, 5, BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChargingID
},
2454 { &hf_gprscdr_sgsnAddress
, BER_CLASS_CON
, 6, BER_FLAGS_IMPLTAG
, dissect_gprscdr_SEQUENCE_OF_GSNAddress
},
2455 { &hf_gprscdr_accessPointNameNI
, BER_CLASS_CON
, 7, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_AccessPointNameNI
},
2456 { &hf_gprscdr_pdpType
, BER_CLASS_CON
, 8, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PDPType
},
2457 { &hf_gprscdr_servedPDPAddress
, BER_CLASS_CON
, 9, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_PDPAddress
},
2458 { &hf_gprscdr_dynamicAddressFlag
, BER_CLASS_CON
, 11, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_DynamicAddressFlag
},
2459 { &hf_gprscdr_listOfTrafficVolumes
, BER_CLASS_CON
, 12, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_SEQUENCE_OF_ChangeOfCharConditionV651
},
2460 { &hf_gprscdr_recordOpeningTime
, BER_CLASS_CON
, 13, BER_FLAGS_IMPLTAG
, dissect_gprscdr_TimeStamp
},
2461 { &hf_gprscdr_duration
, BER_CLASS_CON
, 14, BER_FLAGS_IMPLTAG
, dissect_gprscdr_CallDuration
},
2462 { &hf_gprscdr_causeForRecClosing
, BER_CLASS_CON
, 15, BER_FLAGS_IMPLTAG
, dissect_gprscdr_CauseForRecClosingV651
},
2463 { &hf_gprscdr_diagnostics
, BER_CLASS_CON
, 16, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_Diagnostics
},
2464 { &hf_gprscdr_recordSequenceNumber
, BER_CLASS_CON
, 17, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_INTEGER
},
2465 { &hf_gprscdr_nodeID
, BER_CLASS_CON
, 18, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_NodeID
},
2466 { &hf_gprscdr_recordExtensions
, BER_CLASS_CON
, 19, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ManagementExtensions
},
2467 { &hf_gprscdr_localSequenceNumber
, BER_CLASS_CON
, 20, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_LocalSequenceNumber
},
2468 { &hf_gprscdr_apnSelectionMode
, BER_CLASS_CON
, 21, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_APNSelectionMode
},
2469 { &hf_gprscdr_servedMSISDN
, BER_CLASS_CON
, 22, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_MSISDN
},
2470 { &hf_gprscdr_chargingCharacteristics
, BER_CLASS_CON
, 23, BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChargingCharacteristics
},
2471 { &hf_gprscdr_chChSelectionMode
, BER_CLASS_CON
, 24, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChChSelectionMode
},
2472 { &hf_gprscdr_iMSsignalingContext
, BER_CLASS_CON
, 25, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_NULL
},
2473 { &hf_gprscdr_externalChargingID
, BER_CLASS_CON
, 26, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_OCTET_STRING
},
2474 { &hf_gprscdr_sgsnPLMNIdentifier
, BER_CLASS_CON
, 27, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PLMN_Id
},
2475 { &hf_gprscdr_servedIMEISV
, BER_CLASS_CON
, 29, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gsm_map_IMEI
},
2476 { &hf_gprscdr_rATType
, BER_CLASS_CON
, 30, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_RATType
},
2477 { &hf_gprscdr_mSTimeZone
, BER_CLASS_CON
, 31, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_MSTimeZone
},
2478 { &hf_gprscdr_userLocationInformation
, BER_CLASS_CON
, 32, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_T_userLocationInformation
},
2479 { &hf_gprscdr_cAMELChargingInformation
, BER_CLASS_CON
, 33, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_OCTET_STRING
},
2480 { NULL
, 0, 0, 0, NULL
}
2484 dissect_gprscdr_GGSNPDPRecord(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2485 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
2486 GGSNPDPRecord_set
, hf_index
, ett_gprscdr_GGSNPDPRecord
);
2492 static const ber_sequence_t ChangeLocation_sequence
[] = {
2493 { &hf_gprscdr_locationAreaCode
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_gprscdr_LocationAreaCode
},
2494 { &hf_gprscdr_routingAreaCode
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_gprscdr_RoutingAreaCode
},
2495 { &hf_gprscdr_cellId
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_CellId
},
2496 { &hf_gprscdr_changeTime
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_gprscdr_TimeStamp
},
2497 { &hf_gprscdr_mCC_MNC_01
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PLMN_Id
},
2498 { NULL
, 0, 0, 0, NULL
}
2502 dissect_gprscdr_ChangeLocation(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2503 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
2504 ChangeLocation_sequence
, hf_index
, ett_gprscdr_ChangeLocation
);
2510 static const ber_sequence_t SEQUENCE_OF_ChangeLocation_sequence_of
[1] = {
2511 { &hf_gprscdr_changeLocation_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_gprscdr_ChangeLocation
},
2515 dissect_gprscdr_SEQUENCE_OF_ChangeLocation(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2516 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
2517 SEQUENCE_OF_ChangeLocation_sequence_of
, hf_index
, ett_gprscdr_SEQUENCE_OF_ChangeLocation
);
2523 static const ber_sequence_t CAMELInformationMM_set
[] = {
2524 { &hf_gprscdr_sCFAddress
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_SCFAddress
},
2525 { &hf_gprscdr_serviceKey
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gsm_map_ms_ServiceKey
},
2526 { &hf_gprscdr_defaultTransactionHandling
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gsm_map_ms_DefaultGPRS_Handling
},
2527 { &hf_gprscdr_numberOfDPEncountered
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_NumberOfDPEncountered
},
2528 { &hf_gprscdr_levelOfCAMELService
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_LevelOfCAMELService
},
2529 { &hf_gprscdr_freeFormatData
, BER_CLASS_CON
, 6, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_FreeFormatData
},
2530 { &hf_gprscdr_fFDAppendIndicator
, BER_CLASS_CON
, 7, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_FFDAppendIndicator
},
2531 { NULL
, 0, 0, 0, NULL
}
2535 dissect_gprscdr_CAMELInformationMM(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2536 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
2537 CAMELInformationMM_set
, hf_index
, ett_gprscdr_CAMELInformationMM
);
2543 static const value_string gprscdr_CNOperatorSelectionEntity_vals
[] = {
2544 { 0, "servCNSelectedbyUE" },
2545 { 1, "servCNSelectedbyNtw" },
2551 dissect_gprscdr_CNOperatorSelectionEntity(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2552 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
2559 static const ber_sequence_t SGSNMMRecord_set
[] = {
2560 { &hf_gprscdr_recordType_01
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_gprscdr_RecordType
},
2561 { &hf_gprscdr_servedIMSI
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_gsm_map_IMSI
},
2562 { &hf_gprscdr_servedIMEI
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gsm_map_IMEI
},
2563 { &hf_gprscdr_sgsnAddress_01
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_GSNAddress
},
2564 { &hf_gprscdr_msNetworkCapability
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_MSNetworkCapability
},
2565 { &hf_gprscdr_routingArea
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_RoutingAreaCode
},
2566 { &hf_gprscdr_locationAreaCode
, BER_CLASS_CON
, 6, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_LocationAreaCode
},
2567 { &hf_gprscdr_cellIdentifier
, BER_CLASS_CON
, 7, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_CellId
},
2568 { &hf_gprscdr_changeLocation
, BER_CLASS_CON
, 8, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_SEQUENCE_OF_ChangeLocation
},
2569 { &hf_gprscdr_recordOpeningTime
, BER_CLASS_CON
, 9, BER_FLAGS_IMPLTAG
, dissect_gprscdr_TimeStamp
},
2570 { &hf_gprscdr_duration
, BER_CLASS_CON
, 10, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_CallDuration
},
2571 { &hf_gprscdr_sgsnChange
, BER_CLASS_CON
, 11, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_SGSNChange
},
2572 { &hf_gprscdr_causeForRecClosing_01
, BER_CLASS_CON
, 12, BER_FLAGS_IMPLTAG
, dissect_gprscdr_CauseForRecClosing
},
2573 { &hf_gprscdr_diagnostics
, BER_CLASS_CON
, 13, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_Diagnostics
},
2574 { &hf_gprscdr_recordSequenceNumber
, BER_CLASS_CON
, 14, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_INTEGER
},
2575 { &hf_gprscdr_nodeID
, BER_CLASS_CON
, 15, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_NodeID
},
2576 { &hf_gprscdr_recordExtensions
, BER_CLASS_CON
, 16, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ManagementExtensions
},
2577 { &hf_gprscdr_localSequenceNumber
, BER_CLASS_CON
, 17, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_LocalSequenceNumber
},
2578 { &hf_gprscdr_servedMSISDN
, BER_CLASS_CON
, 18, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_MSISDN
},
2579 { &hf_gprscdr_chargingCharacteristics
, BER_CLASS_CON
, 19, BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChargingCharacteristics
},
2580 { &hf_gprscdr_cAMELInformationMM
, BER_CLASS_CON
, 20, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_CAMELInformationMM
},
2581 { &hf_gprscdr_rATType
, BER_CLASS_CON
, 21, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_RATType
},
2582 { &hf_gprscdr_chChSelectionMode
, BER_CLASS_CON
, 22, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChChSelectionMode
},
2583 { &hf_gprscdr_cellPLMNId
, BER_CLASS_CON
, 23, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PLMN_Id
},
2584 { &hf_gprscdr_servingNodePLMNIdentifier
, BER_CLASS_CON
, 24, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PLMN_Id
},
2585 { &hf_gprscdr_cNOperatorSelectionEnt
, BER_CLASS_CON
, 25, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_CNOperatorSelectionEntity
},
2586 { NULL
, 0, 0, 0, NULL
}
2590 dissect_gprscdr_SGSNMMRecord(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2591 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
2592 SGSNMMRecord_set
, hf_index
, ett_gprscdr_SGSNMMRecord
);
2598 static const ber_sequence_t CAMELInformationSMS_set
[] = {
2599 { &hf_gprscdr_sCFAddress
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_SCFAddress
},
2600 { &hf_gprscdr_serviceKey
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gsm_map_ms_ServiceKey
},
2601 { &hf_gprscdr_defaultSMSHandling
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gsm_map_ms_DefaultSMS_Handling
},
2602 { &hf_gprscdr_cAMELCallingPartyNumber
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_CallingNumber
},
2603 { &hf_gprscdr_cAMELDestinationSubscriberNumber
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_SmsTpDestinationNumber
},
2604 { &hf_gprscdr_cAMELSMSCAddress
, BER_CLASS_CON
, 6, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gsm_map_AddressString
},
2605 { &hf_gprscdr_freeFormatData
, BER_CLASS_CON
, 7, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_FreeFormatData
},
2606 { &hf_gprscdr_smsReferenceNumber
, BER_CLASS_CON
, 8, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gsm_map_ch_CallReferenceNumber
},
2607 { NULL
, 0, 0, 0, NULL
}
2611 dissect_gprscdr_CAMELInformationSMS(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2612 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
2613 CAMELInformationSMS_set
, hf_index
, ett_gprscdr_CAMELInformationSMS
);
2619 static const ber_sequence_t SGSNSMORecordV651_set
[] = {
2620 { &hf_gprscdr_recordType
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_gprscdr_CallEventRecordType
},
2621 { &hf_gprscdr_servedIMSI
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_gsm_map_IMSI
},
2622 { &hf_gprscdr_servedIMEI
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gsm_map_IMEI
},
2623 { &hf_gprscdr_servedMSISDN
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_MSISDN
},
2624 { &hf_gprscdr_msNetworkCapability
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_MSNetworkCapability
},
2625 { &hf_gprscdr_serviceCentre
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gsm_map_AddressString
},
2626 { &hf_gprscdr_recordingEntity
, BER_CLASS_CON
, 6, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_RecordingEntity
},
2627 { &hf_gprscdr_locationArea
, BER_CLASS_CON
, 7, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_LocationAreaCode
},
2628 { &hf_gprscdr_routingArea
, BER_CLASS_CON
, 8, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_RoutingAreaCode
},
2629 { &hf_gprscdr_cellIdentifier
, BER_CLASS_CON
, 9, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_CellId
},
2630 { &hf_gprscdr_messageReference
, BER_CLASS_CON
, 10, BER_FLAGS_IMPLTAG
, dissect_gprscdr_MessageReference
},
2631 { &hf_gprscdr_eventTimeStamp
, BER_CLASS_CON
, 11, BER_FLAGS_IMPLTAG
, dissect_gprscdr_TimeStamp
},
2632 { &hf_gprscdr_smsResult
, BER_CLASS_CON
, 12, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_SMSResult
},
2633 { &hf_gprscdr_recordExtensions
, BER_CLASS_CON
, 13, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ManagementExtensions
},
2634 { &hf_gprscdr_nodeID
, BER_CLASS_CON
, 14, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_NodeID
},
2635 { &hf_gprscdr_localSequenceNumber
, BER_CLASS_CON
, 15, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_LocalSequenceNumber
},
2636 { &hf_gprscdr_chargingCharacteristics
, BER_CLASS_CON
, 16, BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChargingCharacteristics
},
2637 { &hf_gprscdr_rATType
, BER_CLASS_CON
, 17, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_RATType
},
2638 { &hf_gprscdr_destinationNumber
, BER_CLASS_CON
, 18, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_SmsTpDestinationNumber
},
2639 { &hf_gprscdr_cAMELInformationSMS
, BER_CLASS_CON
, 19, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_CAMELInformationSMS
},
2640 { &hf_gprscdr_chChSelectionMode
, BER_CLASS_CON
, 20, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChChSelectionMode
},
2641 { NULL
, 0, 0, 0, NULL
}
2645 dissect_gprscdr_SGSNSMORecordV651(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2646 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
2647 SGSNSMORecordV651_set
, hf_index
, ett_gprscdr_SGSNSMORecordV651
);
2653 static const ber_sequence_t SGSNSMTRecordV651_set
[] = {
2654 { &hf_gprscdr_recordType
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_gprscdr_CallEventRecordType
},
2655 { &hf_gprscdr_servedIMSI
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_gsm_map_IMSI
},
2656 { &hf_gprscdr_servedIMEI
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gsm_map_IMEI
},
2657 { &hf_gprscdr_servedMSISDN
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_MSISDN
},
2658 { &hf_gprscdr_msNetworkCapability
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_MSNetworkCapability
},
2659 { &hf_gprscdr_serviceCentre
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gsm_map_AddressString
},
2660 { &hf_gprscdr_recordingEntity
, BER_CLASS_CON
, 6, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_RecordingEntity
},
2661 { &hf_gprscdr_locationArea
, BER_CLASS_CON
, 7, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_LocationAreaCode
},
2662 { &hf_gprscdr_routingArea
, BER_CLASS_CON
, 8, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_RoutingAreaCode
},
2663 { &hf_gprscdr_cellIdentifier
, BER_CLASS_CON
, 9, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_CellId
},
2664 { &hf_gprscdr_eventTimeStamp
, BER_CLASS_CON
, 10, BER_FLAGS_IMPLTAG
, dissect_gprscdr_TimeStamp
},
2665 { &hf_gprscdr_smsResult
, BER_CLASS_CON
, 11, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_SMSResult
},
2666 { &hf_gprscdr_recordExtensions
, BER_CLASS_CON
, 12, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ManagementExtensions
},
2667 { &hf_gprscdr_nodeID
, BER_CLASS_CON
, 13, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_NodeID
},
2668 { &hf_gprscdr_localSequenceNumber
, BER_CLASS_CON
, 14, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_LocalSequenceNumber
},
2669 { &hf_gprscdr_chargingCharacteristics
, BER_CLASS_CON
, 15, BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChargingCharacteristics
},
2670 { &hf_gprscdr_rATType
, BER_CLASS_CON
, 16, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_RATType
},
2671 { &hf_gprscdr_chChSelectionMode
, BER_CLASS_CON
, 17, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChChSelectionMode
},
2672 { &hf_gprscdr_cAMELInformationSMS
, BER_CLASS_CON
, 18, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_CAMELInformationSMS
},
2673 { NULL
, 0, 0, 0, NULL
}
2677 dissect_gprscdr_SGSNSMTRecordV651(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2678 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
2679 SGSNSMTRecordV651_set
, hf_index
, ett_gprscdr_SGSNSMTRecordV651
);
2685 static const ber_sequence_t PSFurnishChargingInformation_sequence
[] = {
2686 { &hf_gprscdr_pSFreeFormatData
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_gprscdr_FreeFormatData
},
2687 { &hf_gprscdr_pSFFDAppendIndicator
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_FFDAppendIndicator
},
2688 { NULL
, 0, 0, 0, NULL
}
2692 dissect_gprscdr_PSFurnishChargingInformation(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2693 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
2694 PSFurnishChargingInformation_sequence
, hf_index
, ett_gprscdr_PSFurnishChargingInformation
);
2702 dissect_gprscdr_T_userLocationInformation_02(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2704 offset
= dissect_gprscdr_uli(tvb
, actx
, tree
, 1);
2713 dissect_gprscdr_RatingGroupId(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2714 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
2723 dissect_gprscdr_ChargingRuleBaseName(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2724 offset
= dissect_ber_restricted_string(implicit_tag
, BER_UNI_TAG_IA5String
,
2725 actx
, tree
, tvb
, offset
, hf_index
,
2734 dissect_gprscdr_ResultCode(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2735 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
2742 static int * const ServiceConditionChangeV651_bits
[] = {
2743 &hf_gprscdr_ServiceConditionChangeV651_qoSChange
,
2744 &hf_gprscdr_ServiceConditionChangeV651_sGSNChange
,
2745 &hf_gprscdr_ServiceConditionChangeV651_sGSNPLMNIDChange
,
2746 &hf_gprscdr_ServiceConditionChangeV651_tariffTimeSwitch
,
2747 &hf_gprscdr_ServiceConditionChangeV651_pDPContextRelease
,
2748 &hf_gprscdr_ServiceConditionChangeV651_rATChange
,
2749 &hf_gprscdr_ServiceConditionChangeV651_serviceIdledOut
,
2750 &hf_gprscdr_ServiceConditionChangeV651_qCTExpiry
,
2751 &hf_gprscdr_ServiceConditionChangeV651_configurationChange
,
2752 &hf_gprscdr_ServiceConditionChangeV651_serviceStop
,
2753 &hf_gprscdr_ServiceConditionChangeV651_timeThresholdReached
,
2754 &hf_gprscdr_ServiceConditionChangeV651_volumeThresholdReached
,
2755 &hf_gprscdr_ServiceConditionChangeV651_spare_bit12
,
2756 &hf_gprscdr_ServiceConditionChangeV651_timeExhausted
,
2757 &hf_gprscdr_ServiceConditionChangeV651_volumeExhausted
,
2758 &hf_gprscdr_ServiceConditionChangeV651_timeout
,
2759 &hf_gprscdr_ServiceConditionChangeV651_returnRequested
,
2760 &hf_gprscdr_ServiceConditionChangeV651_reauthorisationRequest
,
2761 &hf_gprscdr_ServiceConditionChangeV651_continueOngoingSession
,
2762 &hf_gprscdr_ServiceConditionChangeV651_retryAndTerminateOngoingSession
,
2763 &hf_gprscdr_ServiceConditionChangeV651_terminateOngoingSession
,
2768 dissect_gprscdr_ServiceConditionChangeV651(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2769 offset
= dissect_ber_bitstring(implicit_tag
, actx
, tree
, tvb
, offset
,
2770 ServiceConditionChangeV651_bits
, 21, hf_index
, ett_gprscdr_ServiceConditionChangeV651
,
2779 dissect_gprscdr_ServiceIdentifier(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2780 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
2787 static const ber_sequence_t ChangeOfServiceConditionV651_sequence
[] = {
2788 { &hf_gprscdr_ratingGroup
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_gprscdr_RatingGroupId
},
2789 { &hf_gprscdr_chargingRuleBaseName
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChargingRuleBaseName
},
2790 { &hf_gprscdr_resultCode
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ResultCode
},
2791 { &hf_gprscdr_localSequenceNumber
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_LocalSequenceNumber
},
2792 { &hf_gprscdr_timeOfFirstUsage
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_TimeStamp
},
2793 { &hf_gprscdr_timeOfLastUsage
, BER_CLASS_CON
, 6, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_TimeStamp
},
2794 { &hf_gprscdr_timeUsage
, BER_CLASS_CON
, 7, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_CallDuration
},
2795 { &hf_gprscdr_serviceConditionChange
, BER_CLASS_CON
, 8, BER_FLAGS_IMPLTAG
, dissect_gprscdr_ServiceConditionChangeV651
},
2796 { &hf_gprscdr_qoSInformationNeg
, BER_CLASS_CON
, 9, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_QoSInformation
},
2797 { &hf_gprscdr_sgsn_Address
, BER_CLASS_CON
, 10, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_GSNAddress
},
2798 { &hf_gprscdr_sGSNPLMNIdentifier
, BER_CLASS_CON
, 11, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PLMN_Id
},
2799 { &hf_gprscdr_datavolumeFBCUplink
, BER_CLASS_CON
, 12, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_DataVolumeGPRS
},
2800 { &hf_gprscdr_datavolumeFBCDownlink
, BER_CLASS_CON
, 13, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_DataVolumeGPRS
},
2801 { &hf_gprscdr_timeOfReport
, BER_CLASS_CON
, 14, BER_FLAGS_IMPLTAG
, dissect_gprscdr_TimeStamp
},
2802 { &hf_gprscdr_rATType
, BER_CLASS_CON
, 15, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_RATType
},
2803 { &hf_gprscdr_failureHandlingContinue
, BER_CLASS_CON
, 16, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_FailureHandlingContinue
},
2804 { &hf_gprscdr_serviceIdentifier
, BER_CLASS_CON
, 17, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ServiceIdentifier
},
2805 { &hf_gprscdr_pSFurnishChargingInformation
, BER_CLASS_CON
, 18, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PSFurnishChargingInformation
},
2806 { NULL
, 0, 0, 0, NULL
}
2810 dissect_gprscdr_ChangeOfServiceConditionV651(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2811 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
2812 ChangeOfServiceConditionV651_sequence
, hf_index
, ett_gprscdr_ChangeOfServiceConditionV651
);
2818 static const ber_sequence_t SEQUENCE_OF_ChangeOfServiceConditionV651_sequence_of
[1] = {
2819 { &hf_gprscdr_listOfServiceData_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_gprscdr_ChangeOfServiceConditionV651
},
2823 dissect_gprscdr_SEQUENCE_OF_ChangeOfServiceConditionV651(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2824 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
2825 SEQUENCE_OF_ChangeOfServiceConditionV651_sequence_of
, hf_index
, ett_gprscdr_SEQUENCE_OF_ChangeOfServiceConditionV651
);
2831 static const ber_sequence_t EGSNPDPRecord_set
[] = {
2832 { &hf_gprscdr_recordType
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_gprscdr_CallEventRecordType
},
2833 { &hf_gprscdr_networkInitiation
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_NetworkInitiatedPDPContext
},
2834 { &hf_gprscdr_servedIMSI
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_gsm_map_IMSI
},
2835 { &hf_gprscdr_ggsnAddress
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_GSNAddress
},
2836 { &hf_gprscdr_chargingID
, BER_CLASS_CON
, 5, BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChargingID
},
2837 { &hf_gprscdr_sgsnAddress
, BER_CLASS_CON
, 6, BER_FLAGS_IMPLTAG
, dissect_gprscdr_SEQUENCE_OF_GSNAddress
},
2838 { &hf_gprscdr_accessPointNameNI
, BER_CLASS_CON
, 7, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_AccessPointNameNI
},
2839 { &hf_gprscdr_pdpType
, BER_CLASS_CON
, 8, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PDPType
},
2840 { &hf_gprscdr_servedPDPAddress
, BER_CLASS_CON
, 9, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_PDPAddress
},
2841 { &hf_gprscdr_dynamicAddressFlag
, BER_CLASS_CON
, 11, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_DynamicAddressFlag
},
2842 { &hf_gprscdr_listOfTrafficVolumes
, BER_CLASS_CON
, 12, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_SEQUENCE_OF_ChangeOfCharConditionV651
},
2843 { &hf_gprscdr_recordOpeningTime
, BER_CLASS_CON
, 13, BER_FLAGS_IMPLTAG
, dissect_gprscdr_TimeStamp
},
2844 { &hf_gprscdr_duration
, BER_CLASS_CON
, 14, BER_FLAGS_IMPLTAG
, dissect_gprscdr_CallDuration
},
2845 { &hf_gprscdr_causeForRecClosing
, BER_CLASS_CON
, 15, BER_FLAGS_IMPLTAG
, dissect_gprscdr_CauseForRecClosingV651
},
2846 { &hf_gprscdr_diagnostics
, BER_CLASS_CON
, 16, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_Diagnostics
},
2847 { &hf_gprscdr_recordSequenceNumber
, BER_CLASS_CON
, 17, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_INTEGER
},
2848 { &hf_gprscdr_nodeID
, BER_CLASS_CON
, 18, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_NodeID
},
2849 { &hf_gprscdr_recordExtensions
, BER_CLASS_CON
, 19, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ManagementExtensions
},
2850 { &hf_gprscdr_localSequenceNumber
, BER_CLASS_CON
, 20, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_LocalSequenceNumber
},
2851 { &hf_gprscdr_apnSelectionMode
, BER_CLASS_CON
, 21, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_APNSelectionMode
},
2852 { &hf_gprscdr_servedMSISDN
, BER_CLASS_CON
, 22, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_MSISDN
},
2853 { &hf_gprscdr_chargingCharacteristics
, BER_CLASS_CON
, 23, BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChargingCharacteristics
},
2854 { &hf_gprscdr_chChSelectionMode
, BER_CLASS_CON
, 24, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChChSelectionMode
},
2855 { &hf_gprscdr_iMSsignalingContext
, BER_CLASS_CON
, 25, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_NULL
},
2856 { &hf_gprscdr_externalChargingID
, BER_CLASS_CON
, 26, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_OCTET_STRING
},
2857 { &hf_gprscdr_sgsnPLMNIdentifier
, BER_CLASS_CON
, 27, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PLMN_Id
},
2858 { &hf_gprscdr_pSFurnishChargingInformation
, BER_CLASS_CON
, 28, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PSFurnishChargingInformation
},
2859 { &hf_gprscdr_servedIMEISV
, BER_CLASS_CON
, 29, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gsm_map_IMEI
},
2860 { &hf_gprscdr_rATType
, BER_CLASS_CON
, 30, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_RATType
},
2861 { &hf_gprscdr_mSTimeZone
, BER_CLASS_CON
, 31, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_MSTimeZone
},
2862 { &hf_gprscdr_userLocationInformation_02
, BER_CLASS_CON
, 32, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_T_userLocationInformation_02
},
2863 { &hf_gprscdr_cAMELChargingInformation
, BER_CLASS_CON
, 33, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_OCTET_STRING
},
2864 { &hf_gprscdr_listOfServiceData
, BER_CLASS_CON
, 34, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_SEQUENCE_OF_ChangeOfServiceConditionV651
},
2865 { NULL
, 0, 0, 0, NULL
}
2869 dissect_gprscdr_EGSNPDPRecord(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2870 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
2871 EGSNPDPRecord_set
, hf_index
, ett_gprscdr_EGSNPDPRecord
);
2877 const value_string gprscdr_GPRSCallEventRecord_vals
[] = {
2878 { 20, "sgsnPDPRecord" },
2879 { 21, "ggsnPDPRecord" },
2880 { 22, "sgsnMMRecord" },
2881 { 23, "sgsnSMORecord" },
2882 { 24, "sgsnSMTRecord" },
2883 { 28, "egsnPDPRecord" },
2887 static const ber_choice_t GPRSCallEventRecord_choice
[] = {
2888 { 20, &hf_gprscdr_sgsnPDPRecord
, BER_CLASS_CON
, 20, BER_FLAGS_IMPLTAG
, dissect_gprscdr_SGSNPDPRecordV651
},
2889 { 21, &hf_gprscdr_ggsnPDPRecord
, BER_CLASS_CON
, 21, BER_FLAGS_IMPLTAG
, dissect_gprscdr_GGSNPDPRecord
},
2890 { 22, &hf_gprscdr_sgsnMMRecord
, BER_CLASS_CON
, 22, BER_FLAGS_IMPLTAG
, dissect_gprscdr_SGSNMMRecord
},
2891 { 23, &hf_gprscdr_sgsnSMORecord
, BER_CLASS_CON
, 23, BER_FLAGS_IMPLTAG
, dissect_gprscdr_SGSNSMORecordV651
},
2892 { 24, &hf_gprscdr_sgsnSMTRecord
, BER_CLASS_CON
, 24, BER_FLAGS_IMPLTAG
, dissect_gprscdr_SGSNSMTRecordV651
},
2893 { 28, &hf_gprscdr_egsnPDPRecord
, BER_CLASS_CON
, 28, BER_FLAGS_IMPLTAG
, dissect_gprscdr_EGSNPDPRecord
},
2894 { 0, NULL
, 0, 0, 0, NULL
}
2898 dissect_gprscdr_GPRSCallEventRecord(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2899 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
2900 GPRSCallEventRecord_choice
, hf_index
, ett_gprscdr_GPRSCallEventRecord
,
2909 dissect_gprscdr_T_userLocationInformation_01(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2911 offset
= dissect_gprscdr_uli(tvb
, actx
, tree
, 1);
2918 static const ber_sequence_t GGSNPDPRecordV750_set
[] = {
2919 { &hf_gprscdr_recordType_01
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_gprscdr_RecordType
},
2920 { &hf_gprscdr_networkInitiation
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_NetworkInitiatedPDPContext
},
2921 { &hf_gprscdr_servedIMSI
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_gsm_map_IMSI
},
2922 { &hf_gprscdr_ggsnAddress
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_GSNAddress
},
2923 { &hf_gprscdr_chargingID
, BER_CLASS_CON
, 5, BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChargingID
},
2924 { &hf_gprscdr_sgsnAddress
, BER_CLASS_CON
, 6, BER_FLAGS_IMPLTAG
, dissect_gprscdr_SEQUENCE_OF_GSNAddress
},
2925 { &hf_gprscdr_accessPointNameNI
, BER_CLASS_CON
, 7, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_AccessPointNameNI
},
2926 { &hf_gprscdr_pdpType
, BER_CLASS_CON
, 8, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PDPType
},
2927 { &hf_gprscdr_servedPDPAddress
, BER_CLASS_CON
, 9, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_PDPAddress
},
2928 { &hf_gprscdr_dynamicAddressFlag
, BER_CLASS_CON
, 11, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_DynamicAddressFlag
},
2929 { &hf_gprscdr_listOfTrafficVolumes
, BER_CLASS_CON
, 12, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_SEQUENCE_OF_ChangeOfCharConditionV651
},
2930 { &hf_gprscdr_recordOpeningTime
, BER_CLASS_CON
, 13, BER_FLAGS_IMPLTAG
, dissect_gprscdr_TimeStamp
},
2931 { &hf_gprscdr_duration
, BER_CLASS_CON
, 14, BER_FLAGS_IMPLTAG
, dissect_gprscdr_CallDuration
},
2932 { &hf_gprscdr_causeForRecClosing_01
, BER_CLASS_CON
, 15, BER_FLAGS_IMPLTAG
, dissect_gprscdr_CauseForRecClosing
},
2933 { &hf_gprscdr_diagnostics
, BER_CLASS_CON
, 16, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_Diagnostics
},
2934 { &hf_gprscdr_recordSequenceNumber
, BER_CLASS_CON
, 17, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_INTEGER
},
2935 { &hf_gprscdr_nodeID
, BER_CLASS_CON
, 18, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_NodeID
},
2936 { &hf_gprscdr_recordExtensions
, BER_CLASS_CON
, 19, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ManagementExtensions
},
2937 { &hf_gprscdr_localSequenceNumber
, BER_CLASS_CON
, 20, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_LocalSequenceNumber
},
2938 { &hf_gprscdr_apnSelectionMode
, BER_CLASS_CON
, 21, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_APNSelectionMode
},
2939 { &hf_gprscdr_servedMSISDN
, BER_CLASS_CON
, 22, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_MSISDN
},
2940 { &hf_gprscdr_chargingCharacteristics
, BER_CLASS_CON
, 23, BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChargingCharacteristics
},
2941 { &hf_gprscdr_chChSelectionMode
, BER_CLASS_CON
, 24, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChChSelectionMode
},
2942 { &hf_gprscdr_iMSsignalingContext
, BER_CLASS_CON
, 25, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_NULL
},
2943 { &hf_gprscdr_externalChargingID
, BER_CLASS_CON
, 26, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_OCTET_STRING
},
2944 { &hf_gprscdr_sgsnPLMNIdentifier
, BER_CLASS_CON
, 27, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PLMN_Id
},
2945 { &hf_gprscdr_servedIMEISV
, BER_CLASS_CON
, 29, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gsm_map_IMEI
},
2946 { &hf_gprscdr_rATType
, BER_CLASS_CON
, 30, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_RATType
},
2947 { &hf_gprscdr_mSTimeZone
, BER_CLASS_CON
, 31, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_MSTimeZone
},
2948 { &hf_gprscdr_userLocationInformation_01
, BER_CLASS_CON
, 32, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_T_userLocationInformation_01
},
2949 { &hf_gprscdr_cAMELChargingInformation
, BER_CLASS_CON
, 33, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_OCTET_STRING
},
2950 { NULL
, 0, 0, 0, NULL
}
2954 dissect_gprscdr_GGSNPDPRecordV750(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2955 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
2956 GGSNPDPRecordV750_set
, hf_index
, ett_gprscdr_GGSNPDPRecordV750
);
2964 dissect_gprscdr_T_userLocationInformation_03(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2966 offset
= dissect_gprscdr_uli(tvb
, actx
, tree
, 1);
2973 static int * const ServiceConditionChangeV750_bits
[] = {
2974 &hf_gprscdr_ServiceConditionChangeV750_qoSChange
,
2975 &hf_gprscdr_ServiceConditionChangeV750_sGSNChange
,
2976 &hf_gprscdr_ServiceConditionChangeV750_sGSNPLMNIDChange
,
2977 &hf_gprscdr_ServiceConditionChangeV750_tariffTimeSwitch
,
2978 &hf_gprscdr_ServiceConditionChangeV750_pDPContextRelease
,
2979 &hf_gprscdr_ServiceConditionChangeV750_rATChange
,
2980 &hf_gprscdr_ServiceConditionChangeV750_serviceIdledOut
,
2981 &hf_gprscdr_ServiceConditionChangeV750_reserved
,
2982 &hf_gprscdr_ServiceConditionChangeV750_configurationChange
,
2983 &hf_gprscdr_ServiceConditionChangeV750_serviceStop
,
2984 &hf_gprscdr_ServiceConditionChangeV750_dCCATimeThresholdReached
,
2985 &hf_gprscdr_ServiceConditionChangeV750_dCCAVolumeThresholdReached
,
2986 &hf_gprscdr_ServiceConditionChangeV750_dCCAServiceSpecificUnitThresholdReached
,
2987 &hf_gprscdr_ServiceConditionChangeV750_dCCATimeExhausted
,
2988 &hf_gprscdr_ServiceConditionChangeV750_dCCAVolumeExhausted
,
2989 &hf_gprscdr_ServiceConditionChangeV750_dCCAValidityTimeout
,
2990 &hf_gprscdr_ServiceConditionChangeV750_reserved2
,
2991 &hf_gprscdr_ServiceConditionChangeV750_dCCAReauthorisationRequest
,
2992 &hf_gprscdr_ServiceConditionChangeV750_dCCAContinueOngoingSession
,
2993 &hf_gprscdr_ServiceConditionChangeV750_dCCARetryAndTerminateOngoingSession
,
2994 &hf_gprscdr_ServiceConditionChangeV750_dCCATerminateOngoingSession
,
2995 &hf_gprscdr_ServiceConditionChangeV750_cGI_SAIChange
,
2996 &hf_gprscdr_ServiceConditionChangeV750_rAIChange
,
2997 &hf_gprscdr_ServiceConditionChangeV750_dCCAServiceSpecificUnitExhausted
,
2998 &hf_gprscdr_ServiceConditionChangeV750_recordClosure
,
2999 &hf_gprscdr_ServiceConditionChangeV750_timeLimit
,
3000 &hf_gprscdr_ServiceConditionChangeV750_volumeLimit
,
3001 &hf_gprscdr_ServiceConditionChangeV750_serviceSpecificUnitLimit
,
3002 &hf_gprscdr_ServiceConditionChangeV750_envelopeClosure
,
3007 dissect_gprscdr_ServiceConditionChangeV750(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3008 offset
= dissect_ber_bitstring(implicit_tag
, actx
, tree
, tvb
, offset
,
3009 ServiceConditionChangeV750_bits
, 29, hf_index
, ett_gprscdr_ServiceConditionChangeV750
,
3018 dissect_gprscdr_AFChargingIdentifier(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3019 offset
= dissect_ber_octet_string(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
3026 static const ber_sequence_t T_flowNumber_sequence_of
[1] = {
3027 { &hf_gprscdr_flowNumber_item
, BER_CLASS_UNI
, BER_UNI_TAG_INTEGER
, BER_FLAGS_NOOWNTAG
, dissect_gprscdr_INTEGER
},
3031 dissect_gprscdr_T_flowNumber(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3032 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
3033 T_flowNumber_sequence_of
, hf_index
, ett_gprscdr_T_flowNumber
);
3039 static const ber_sequence_t Flows_sequence
[] = {
3040 { &hf_gprscdr_mediaComponentNumber
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_gprscdr_INTEGER
},
3041 { &hf_gprscdr_flowNumber
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_T_flowNumber
},
3042 { NULL
, 0, 0, 0, NULL
}
3046 dissect_gprscdr_Flows(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3047 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3048 Flows_sequence
, hf_index
, ett_gprscdr_Flows
);
3054 static const ber_sequence_t AFRecordInformation_sequence
[] = {
3055 { &hf_gprscdr_aFChargingIdentifier
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_gprscdr_AFChargingIdentifier
},
3056 { &hf_gprscdr_flows
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_Flows
},
3057 { NULL
, 0, 0, 0, NULL
}
3061 dissect_gprscdr_AFRecordInformation(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3062 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3063 AFRecordInformation_sequence
, hf_index
, ett_gprscdr_AFRecordInformation
);
3069 static const ber_sequence_t SEQUENCE_OF_AFRecordInformation_sequence_of
[1] = {
3070 { &hf_gprscdr_aFRecordInformation_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_gprscdr_AFRecordInformation
},
3074 dissect_gprscdr_SEQUENCE_OF_AFRecordInformation(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3075 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
3076 SEQUENCE_OF_AFRecordInformation_sequence_of
, hf_index
, ett_gprscdr_SEQUENCE_OF_AFRecordInformation
);
3084 dissect_gprscdr_T_userLocationInformation_05(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3086 offset
= dissect_gprscdr_uli(tvb
, actx
, tree
, 1);
3093 static const ber_sequence_t SEQUENCE_OF_TimeStamp_sequence_of
[1] = {
3094 { &hf_gprscdr_eventTimeStamps_item
, BER_CLASS_UNI
, BER_UNI_TAG_OCTETSTRING
, BER_FLAGS_NOOWNTAG
, dissect_gprscdr_TimeStamp
},
3098 dissect_gprscdr_SEQUENCE_OF_TimeStamp(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3099 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
3100 SEQUENCE_OF_TimeStamp_sequence_of
, hf_index
, ett_gprscdr_SEQUENCE_OF_TimeStamp
);
3106 static const ber_sequence_t EventBasedChargingInformation_sequence
[] = {
3107 { &hf_gprscdr_numberOfEvents
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_gprscdr_INTEGER
},
3108 { &hf_gprscdr_eventTimeStamps
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_SEQUENCE_OF_TimeStamp
},
3109 { NULL
, 0, 0, 0, NULL
}
3113 dissect_gprscdr_EventBasedChargingInformation(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3114 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3115 EventBasedChargingInformation_sequence
, hf_index
, ett_gprscdr_EventBasedChargingInformation
);
3121 static const value_string gprscdr_TimeQuotaType_vals
[] = {
3122 { 0, "dISCRETETIMEPERIOD" },
3123 { 1, "cONTINUOUSTIMEPERIOD" },
3129 dissect_gprscdr_TimeQuotaType(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3130 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
3137 static const ber_sequence_t TimeQuotaMechanism_sequence
[] = {
3138 { &hf_gprscdr_timeQuotaType
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_gprscdr_TimeQuotaType
},
3139 { &hf_gprscdr_baseTimeInterval
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_gprscdr_INTEGER
},
3140 { NULL
, 0, 0, 0, NULL
}
3144 dissect_gprscdr_TimeQuotaMechanism(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3145 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3146 TimeQuotaMechanism_sequence
, hf_index
, ett_gprscdr_TimeQuotaMechanism
);
3152 static const ber_sequence_t ChangeOfServiceConditionV750_sequence
[] = {
3153 { &hf_gprscdr_ratingGroup
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_gprscdr_RatingGroupId
},
3154 { &hf_gprscdr_chargingRuleBaseName
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChargingRuleBaseName
},
3155 { &hf_gprscdr_resultCode
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ResultCode
},
3156 { &hf_gprscdr_localSequenceNumber
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_LocalSequenceNumber
},
3157 { &hf_gprscdr_timeOfFirstUsage
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_TimeStamp
},
3158 { &hf_gprscdr_timeOfLastUsage
, BER_CLASS_CON
, 6, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_TimeStamp
},
3159 { &hf_gprscdr_timeUsage
, BER_CLASS_CON
, 7, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_CallDuration
},
3160 { &hf_gprscdr_serviceConditionChangeV750
, BER_CLASS_CON
, 8, BER_FLAGS_IMPLTAG
, dissect_gprscdr_ServiceConditionChangeV750
},
3161 { &hf_gprscdr_qoSInformationNeg
, BER_CLASS_CON
, 9, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_QoSInformation
},
3162 { &hf_gprscdr_sgsn_Address
, BER_CLASS_CON
, 10, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_GSNAddress
},
3163 { &hf_gprscdr_sGSNPLMNIdentifier
, BER_CLASS_CON
, 11, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PLMN_Id
},
3164 { &hf_gprscdr_datavolumeFBCUplink
, BER_CLASS_CON
, 12, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_DataVolumeGPRS
},
3165 { &hf_gprscdr_datavolumeFBCDownlink
, BER_CLASS_CON
, 13, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_DataVolumeGPRS
},
3166 { &hf_gprscdr_timeOfReport
, BER_CLASS_CON
, 14, BER_FLAGS_IMPLTAG
, dissect_gprscdr_TimeStamp
},
3167 { &hf_gprscdr_rATType
, BER_CLASS_CON
, 15, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_RATType
},
3168 { &hf_gprscdr_failureHandlingContinue
, BER_CLASS_CON
, 16, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_FailureHandlingContinue
},
3169 { &hf_gprscdr_serviceIdentifier
, BER_CLASS_CON
, 17, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ServiceIdentifier
},
3170 { &hf_gprscdr_pSFurnishChargingInformation
, BER_CLASS_CON
, 18, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PSFurnishChargingInformation
},
3171 { &hf_gprscdr_aFRecordInformation
, BER_CLASS_CON
, 19, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_SEQUENCE_OF_AFRecordInformation
},
3172 { &hf_gprscdr_userLocationInformation_05
, BER_CLASS_CON
, 20, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_T_userLocationInformation_05
},
3173 { &hf_gprscdr_eventBasedChargingInformation
, BER_CLASS_CON
, 21, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_EventBasedChargingInformation
},
3174 { &hf_gprscdr_timeQuotaMechanism
, BER_CLASS_CON
, 22, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_TimeQuotaMechanism
},
3175 { NULL
, 0, 0, 0, NULL
}
3179 dissect_gprscdr_ChangeOfServiceConditionV750(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3180 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3181 ChangeOfServiceConditionV750_sequence
, hf_index
, ett_gprscdr_ChangeOfServiceConditionV750
);
3187 static const ber_sequence_t SEQUENCE_OF_ChangeOfServiceConditionV750_sequence_of
[1] = {
3188 { &hf_gprscdr_listOfServiceData_item_01
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_gprscdr_ChangeOfServiceConditionV750
},
3192 dissect_gprscdr_SEQUENCE_OF_ChangeOfServiceConditionV750(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3193 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
3194 SEQUENCE_OF_ChangeOfServiceConditionV750_sequence_of
, hf_index
, ett_gprscdr_SEQUENCE_OF_ChangeOfServiceConditionV750
);
3200 static const ber_sequence_t EGSNPDPRecordV750_set
[] = {
3201 { &hf_gprscdr_recordType
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_gprscdr_CallEventRecordType
},
3202 { &hf_gprscdr_networkInitiation
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_NetworkInitiatedPDPContext
},
3203 { &hf_gprscdr_servedIMSI
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_gsm_map_IMSI
},
3204 { &hf_gprscdr_ggsnAddress
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_GSNAddress
},
3205 { &hf_gprscdr_chargingID
, BER_CLASS_CON
, 5, BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChargingID
},
3206 { &hf_gprscdr_sgsnAddress
, BER_CLASS_CON
, 6, BER_FLAGS_IMPLTAG
, dissect_gprscdr_SEQUENCE_OF_GSNAddress
},
3207 { &hf_gprscdr_accessPointNameNI
, BER_CLASS_CON
, 7, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_AccessPointNameNI
},
3208 { &hf_gprscdr_pdpType
, BER_CLASS_CON
, 8, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PDPType
},
3209 { &hf_gprscdr_servedPDPAddress
, BER_CLASS_CON
, 9, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_PDPAddress
},
3210 { &hf_gprscdr_dynamicAddressFlag
, BER_CLASS_CON
, 11, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_DynamicAddressFlag
},
3211 { &hf_gprscdr_listOfTrafficVolumes
, BER_CLASS_CON
, 12, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_SEQUENCE_OF_ChangeOfCharConditionV651
},
3212 { &hf_gprscdr_recordOpeningTime
, BER_CLASS_CON
, 13, BER_FLAGS_IMPLTAG
, dissect_gprscdr_TimeStamp
},
3213 { &hf_gprscdr_duration
, BER_CLASS_CON
, 14, BER_FLAGS_IMPLTAG
, dissect_gprscdr_CallDuration
},
3214 { &hf_gprscdr_causeForRecClosing
, BER_CLASS_CON
, 15, BER_FLAGS_IMPLTAG
, dissect_gprscdr_CauseForRecClosingV651
},
3215 { &hf_gprscdr_diagnostics
, BER_CLASS_CON
, 16, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_Diagnostics
},
3216 { &hf_gprscdr_recordSequenceNumber
, BER_CLASS_CON
, 17, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_INTEGER
},
3217 { &hf_gprscdr_nodeID
, BER_CLASS_CON
, 18, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_NodeID
},
3218 { &hf_gprscdr_recordExtensions
, BER_CLASS_CON
, 19, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ManagementExtensions
},
3219 { &hf_gprscdr_localSequenceNumber
, BER_CLASS_CON
, 20, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_LocalSequenceNumber
},
3220 { &hf_gprscdr_apnSelectionMode
, BER_CLASS_CON
, 21, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_APNSelectionMode
},
3221 { &hf_gprscdr_servedMSISDN
, BER_CLASS_CON
, 22, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_MSISDN
},
3222 { &hf_gprscdr_chargingCharacteristics
, BER_CLASS_CON
, 23, BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChargingCharacteristics
},
3223 { &hf_gprscdr_chChSelectionMode
, BER_CLASS_CON
, 24, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChChSelectionMode
},
3224 { &hf_gprscdr_iMSsignalingContext
, BER_CLASS_CON
, 25, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_NULL
},
3225 { &hf_gprscdr_externalChargingID
, BER_CLASS_CON
, 26, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_OCTET_STRING
},
3226 { &hf_gprscdr_sgsnPLMNIdentifier
, BER_CLASS_CON
, 27, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PLMN_Id
},
3227 { &hf_gprscdr_pSFurnishChargingInformation
, BER_CLASS_CON
, 28, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PSFurnishChargingInformation
},
3228 { &hf_gprscdr_servedIMEISV
, BER_CLASS_CON
, 29, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gsm_map_IMEI
},
3229 { &hf_gprscdr_rATType
, BER_CLASS_CON
, 30, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_RATType
},
3230 { &hf_gprscdr_mSTimeZone
, BER_CLASS_CON
, 31, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_MSTimeZone
},
3231 { &hf_gprscdr_userLocationInformation_03
, BER_CLASS_CON
, 32, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_T_userLocationInformation_03
},
3232 { &hf_gprscdr_cAMELChargingInformation
, BER_CLASS_CON
, 33, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_OCTET_STRING
},
3233 { &hf_gprscdr_listOfServiceData_01
, BER_CLASS_CON
, 34, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_SEQUENCE_OF_ChangeOfServiceConditionV750
},
3234 { NULL
, 0, 0, 0, NULL
}
3238 dissect_gprscdr_EGSNPDPRecordV750(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3239 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
3240 EGSNPDPRecordV750_set
, hf_index
, ett_gprscdr_EGSNPDPRecordV750
);
3246 static const value_string gprscdr_ChangeCondition_vals
[] = {
3248 { 1, "tariffTime" },
3249 { 2, "recordClosure" },
3250 { 3, "failureHandlingContinueOngoing" },
3251 { 4, "failureHandlingRetryandTerminateOngoing" },
3252 { 5, "failureHandlingTerminateOngoing" },
3253 { 6, "cGI-SAICHange" },
3255 { 8, "dT-Establishment" },
3256 { 9, "dT-Removal" },
3257 { 10, "eCGIChange" },
3258 { 11, "tAIChange" },
3259 { 12, "userLocationChange" },
3260 { 13, "userCSGInformationChange" },
3261 { 14, "presenceInPRAChange" },
3262 { 15, "removalOfAccess" },
3263 { 16, "unusabilityOfAccess" },
3264 { 17, "indirectChangeCondition" },
3265 { 18, "userPlaneToUEChange" },
3266 { 19, "servingPLMNRateControlChange" },
3267 { 20, "threeGPPPSDataOffStatusChange" },
3268 { 21, "aPNRateControlChange" },
3274 dissect_gprscdr_ChangeCondition(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3275 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
3284 dissect_gprscdr_T_userLocationInformation_08(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3286 offset
= dissect_gprscdr_uli(tvb
, actx
, tree
, 2);
3295 dissect_gprscdr_T_aRP(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3296 proto_tree
*ext_tree_arp
;
3300 * 8.86 Allocation/Retention Priority (ARP)
3304 length
= tvb_reported_length(tvb
);
3305 ext_tree_arp
= proto_tree_add_subtree(tree
, tvb
, 0, length
, ett_gprscdr_eps_qos_arp
, NULL
, "aRP");
3307 dissect_gtpv2_arp(tvb
, actx
->pinfo
, ext_tree_arp
, NULL
, length
, 0, 0, NULL
);
3317 static const ber_sequence_t EPCQoSInformation_sequence
[] = {
3318 { &hf_gprscdr_qCI
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_gprscdr_INTEGER
},
3319 { &hf_gprscdr_maxRequestedBandwithUL
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_INTEGER
},
3320 { &hf_gprscdr_maxRequestedBandwithDL
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_INTEGER
},
3321 { &hf_gprscdr_guaranteedBitrateUL
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_INTEGER
},
3322 { &hf_gprscdr_guaranteedBitrateDL
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_INTEGER
},
3323 { &hf_gprscdr_aRP
, BER_CLASS_CON
, 6, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_T_aRP
},
3324 { &hf_gprscdr_aPNAggregateMaxBitrateUL
, BER_CLASS_CON
, 7, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_INTEGER
},
3325 { &hf_gprscdr_aPNAggregateMaxBitrateDL
, BER_CLASS_CON
, 8, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_INTEGER
},
3326 { &hf_gprscdr_extendedMaxRequestedBWUL
, BER_CLASS_CON
, 9, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_INTEGER
},
3327 { &hf_gprscdr_extendedMaxRequestedBWDL
, BER_CLASS_CON
, 10, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_INTEGER
},
3328 { &hf_gprscdr_extendedGBRUL
, BER_CLASS_CON
, 11, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_INTEGER
},
3329 { &hf_gprscdr_extendedGBRDL
, BER_CLASS_CON
, 12, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_INTEGER
},
3330 { &hf_gprscdr_extendedAPNAMBRUL
, BER_CLASS_CON
, 13, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_INTEGER
},
3331 { &hf_gprscdr_extendedAPNAMBRDL
, BER_CLASS_CON
, 14, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_INTEGER
},
3332 { NULL
, 0, 0, 0, NULL
}
3336 dissect_gprscdr_EPCQoSInformation(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3337 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3338 EPCQoSInformation_sequence
, hf_index
, ett_gprscdr_EPCQoSInformation
);
3344 static const value_string gprscdr_PresenceReportingAreaStatus_vals
[] = {
3345 { 0, "insideArea" },
3346 { 1, "outsideArea" },
3354 dissect_gprscdr_PresenceReportingAreaStatus(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3355 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
3364 dissect_gprscdr_CSGId(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3365 offset
= dissect_ber_octet_string(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
3372 static const value_string gprscdr_CSGAccessMode_vals
[] = {
3373 { 0, "closedMode" },
3374 { 1, "hybridMode" },
3380 dissect_gprscdr_CSGAccessMode(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3381 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
3388 static const ber_sequence_t UserCSGInformation_sequence
[] = {
3389 { &hf_gprscdr_cSGId
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_gprscdr_CSGId
},
3390 { &hf_gprscdr_cSGAccessMode
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_gprscdr_CSGAccessMode
},
3391 { &hf_gprscdr_cSGMembershipIndication
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_NULL
},
3392 { NULL
, 0, 0, 0, NULL
}
3396 dissect_gprscdr_UserCSGInformation(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3397 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3398 UserCSGInformation_sequence
, hf_index
, ett_gprscdr_UserCSGInformation
);
3406 dissect_gprscdr_AccessAvailabilityChangeReason(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3407 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
3416 dissect_gprscdr_OCTET_STRING_SIZE_2(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3417 offset
= dissect_ber_octet_string(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
3424 static const ber_sequence_t WLANOperatorId_sequence
[] = {
3425 { &hf_gprscdr_wLANOperatorName
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_gprscdr_OCTET_STRING
},
3426 { &hf_gprscdr_wLANPLMNId
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_gprscdr_PLMN_Id
},
3427 { NULL
, 0, 0, 0, NULL
}
3431 dissect_gprscdr_WLANOperatorId(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3432 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3433 WLANOperatorId_sequence
, hf_index
, ett_gprscdr_WLANOperatorId
);
3439 static const ber_sequence_t UWANUserLocationInfo_sequence
[] = {
3440 { &hf_gprscdr_uELocalIPAddress
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_IPAddress
},
3441 { &hf_gprscdr_uDPSourcePort
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_OCTET_STRING_SIZE_2
},
3442 { &hf_gprscdr_sSID
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_OCTET_STRING
},
3443 { &hf_gprscdr_bSSID
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_OCTET_STRING
},
3444 { &hf_gprscdr_tCPSourcePort
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_OCTET_STRING_SIZE_2
},
3445 { &hf_gprscdr_civicAddressInformation
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_CivicAddressInformation
},
3446 { &hf_gprscdr_wLANOperatorId
, BER_CLASS_CON
, 6, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_WLANOperatorId
},
3447 { &hf_gprscdr_logicalAccessID
, BER_CLASS_CON
, 7, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_OCTET_STRING
},
3448 { NULL
, 0, 0, 0, NULL
}
3452 dissect_gprscdr_UWANUserLocationInfo(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3453 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3454 UWANUserLocationInfo_sequence
, hf_index
, ett_gprscdr_UWANUserLocationInfo
);
3462 dissect_gprscdr_T_userLocationInformation_10(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3464 offset
= dissect_gprscdr_uli(tvb
, actx
, tree
, 2);
3471 static const ber_sequence_t RelatedChangeOfCharCondition_sequence
[] = {
3472 { &hf_gprscdr_changeCondition_01
, BER_CLASS_CON
, 5, BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChangeCondition
},
3473 { &hf_gprscdr_changeTime
, BER_CLASS_CON
, 6, BER_FLAGS_IMPLTAG
, dissect_gprscdr_TimeStamp
},
3474 { &hf_gprscdr_userLocationInformation_11
, BER_CLASS_CON
, 8, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_T_userLocationInformation_10
},
3475 { &hf_gprscdr_presenceReportingAreaStatus
, BER_CLASS_CON
, 11, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PresenceReportingAreaStatus
},
3476 { &hf_gprscdr_userCSGInformation
, BER_CLASS_CON
, 12, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_UserCSGInformation
},
3477 { &hf_gprscdr_rATType
, BER_CLASS_CON
, 15, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_RATType
},
3478 { &hf_gprscdr_uWANUserLocationInformation
, BER_CLASS_CON
, 17, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_UWANUserLocationInfo
},
3479 { NULL
, 0, 0, 0, NULL
}
3483 dissect_gprscdr_RelatedChangeOfCharCondition(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3484 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3485 RelatedChangeOfCharCondition_sequence
, hf_index
, ett_gprscdr_RelatedChangeOfCharCondition
);
3493 dissect_gprscdr_CPCIoTEPSOptimisationIndicator(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3494 offset
= dissect_ber_boolean(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
, NULL
);
3500 static const ber_sequence_t ServingPLMNRateControl_sequence
[] = {
3501 { &hf_gprscdr_sPLMNDLRateControlValue
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_gprscdr_INTEGER
},
3502 { &hf_gprscdr_sPLMNULRateControlValue
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_gprscdr_INTEGER
},
3503 { NULL
, 0, 0, 0, NULL
}
3507 dissect_gprscdr_ServingPLMNRateControl(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3508 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3509 ServingPLMNRateControl_sequence
, hf_index
, ett_gprscdr_ServingPLMNRateControl
);
3517 dissect_gprscdr_PresenceReportingAreaElementsList(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3518 offset
= dissect_ber_octet_string(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
3525 static int * const PresenceReportingAreaNode_bits
[] = {
3526 &hf_gprscdr_PresenceReportingAreaNode_oCS
,
3527 &hf_gprscdr_PresenceReportingAreaNode_pCRF
,
3532 dissect_gprscdr_PresenceReportingAreaNode(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3533 offset
= dissect_ber_bitstring(implicit_tag
, actx
, tree
, tvb
, offset
,
3534 PresenceReportingAreaNode_bits
, 2, hf_index
, ett_gprscdr_PresenceReportingAreaNode
,
3541 static const ber_sequence_t PresenceReportingAreaInfo_sequence
[] = {
3542 { &hf_gprscdr_presenceReportingAreaIdentifier
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_gprscdr_OCTET_STRING
},
3543 { &hf_gprscdr_presenceReportingAreaStatus
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PresenceReportingAreaStatus
},
3544 { &hf_gprscdr_presenceReportingAreaElementsList
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PresenceReportingAreaElementsList
},
3545 { &hf_gprscdr_presenceReportingAreaNode
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PresenceReportingAreaNode
},
3546 { NULL
, 0, 0, 0, NULL
}
3550 dissect_gprscdr_PresenceReportingAreaInfo(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3551 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3552 PresenceReportingAreaInfo_sequence
, hf_index
, ett_gprscdr_PresenceReportingAreaInfo
);
3558 static const ber_sequence_t SEQUENCE_OF_PresenceReportingAreaInfo_sequence_of
[1] = {
3559 { &hf_gprscdr_listOfPresenceReportingAreaInformation_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_gprscdr_PresenceReportingAreaInfo
},
3563 dissect_gprscdr_SEQUENCE_OF_PresenceReportingAreaInfo(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3564 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
3565 SEQUENCE_OF_PresenceReportingAreaInfo_sequence_of
, hf_index
, ett_gprscdr_SEQUENCE_OF_PresenceReportingAreaInfo
);
3571 static const value_string gprscdr_AdditionalExceptionReports_vals
[] = {
3572 { 0, "notAllowed" },
3579 dissect_gprscdr_AdditionalExceptionReports(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3580 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
3587 static const value_string gprscdr_RateControlTimeUnit_vals
[] = {
3588 { 0, "unrestricted" },
3598 dissect_gprscdr_RateControlTimeUnit(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3599 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
3606 static const ber_sequence_t APNRateControlParameters_sequence
[] = {
3607 { &hf_gprscdr_additionalExceptionReports
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_AdditionalExceptionReports
},
3608 { &hf_gprscdr_rateControlTimeUnit
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_RateControlTimeUnit
},
3609 { &hf_gprscdr_rateControlMaxRate
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_INTEGER
},
3610 { &hf_gprscdr_rateControlMaxMessageSize
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_DataVolumeGPRS
},
3611 { NULL
, 0, 0, 0, NULL
}
3615 dissect_gprscdr_APNRateControlParameters(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3616 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3617 APNRateControlParameters_sequence
, hf_index
, ett_gprscdr_APNRateControlParameters
);
3623 static const ber_sequence_t APNRateControl_sequence
[] = {
3624 { &hf_gprscdr_aPNRateControlUplink
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_APNRateControlParameters
},
3625 { &hf_gprscdr_aPNRateControlDownlink
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_APNRateControlParameters
},
3626 { NULL
, 0, 0, 0, NULL
}
3630 dissect_gprscdr_APNRateControl(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3631 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3632 APNRateControl_sequence
, hf_index
, ett_gprscdr_APNRateControl
);
3638 static const ber_sequence_t ChangeOfCharCondition_sequence
[] = {
3639 { &hf_gprscdr_qosRequested
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_QoSInformation
},
3640 { &hf_gprscdr_qosNegotiated
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_QoSInformation
},
3641 { &hf_gprscdr_dataVolumeGPRSUplink
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_DataVolumeGPRS
},
3642 { &hf_gprscdr_dataVolumeGPRSDownlink
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_DataVolumeGPRS
},
3643 { &hf_gprscdr_changeCondition_01
, BER_CLASS_CON
, 5, BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChangeCondition
},
3644 { &hf_gprscdr_changeTime
, BER_CLASS_CON
, 6, BER_FLAGS_IMPLTAG
, dissect_gprscdr_TimeStamp
},
3645 { &hf_gprscdr_userLocationInformation_09
, BER_CLASS_CON
, 8, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_T_userLocationInformation_08
},
3646 { &hf_gprscdr_ePCQoSInformation
, BER_CLASS_CON
, 9, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_EPCQoSInformation
},
3647 { &hf_gprscdr_chargingID
, BER_CLASS_CON
, 10, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChargingID
},
3648 { &hf_gprscdr_presenceReportingAreaStatus
, BER_CLASS_CON
, 11, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PresenceReportingAreaStatus
},
3649 { &hf_gprscdr_userCSGInformation
, BER_CLASS_CON
, 12, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_UserCSGInformation
},
3650 { &hf_gprscdr_diagnostics
, BER_CLASS_CON
, 13, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_Diagnostics
},
3651 { &hf_gprscdr_enhancedDiagnostics
, BER_CLASS_CON
, 14, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_EnhancedDiagnostics
},
3652 { &hf_gprscdr_rATType
, BER_CLASS_CON
, 15, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_RATType
},
3653 { &hf_gprscdr_accessAvailabilityChangeReason
, BER_CLASS_CON
, 16, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_AccessAvailabilityChangeReason
},
3654 { &hf_gprscdr_uWANUserLocationInformation
, BER_CLASS_CON
, 17, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_UWANUserLocationInfo
},
3655 { &hf_gprscdr_relatedChangeOfCharCondition
, BER_CLASS_CON
, 18, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_RelatedChangeOfCharCondition
},
3656 { &hf_gprscdr_cPCIoTEPSOptimisationIndicator
, BER_CLASS_CON
, 19, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_CPCIoTEPSOptimisationIndicator
},
3657 { &hf_gprscdr_servingPLMNRateControl
, BER_CLASS_CON
, 20, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ServingPLMNRateControl
},
3658 { &hf_gprscdr_threeGPPPSDataOffStatus
, BER_CLASS_CON
, 21, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ThreeGPPPSDataOffStatus
},
3659 { &hf_gprscdr_listOfPresenceReportingAreaInformation
, BER_CLASS_CON
, 22, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_SEQUENCE_OF_PresenceReportingAreaInfo
},
3660 { &hf_gprscdr_aPNRateControl
, BER_CLASS_CON
, 23, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_APNRateControl
},
3661 { NULL
, 0, 0, 0, NULL
}
3665 dissect_gprscdr_ChangeOfCharCondition(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3666 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3667 ChangeOfCharCondition_sequence
, hf_index
, ett_gprscdr_ChangeOfCharCondition
);
3673 static const ber_sequence_t SEQUENCE_OF_ChangeOfCharCondition_sequence_of
[1] = {
3674 { &hf_gprscdr_listOfTrafficVolumes_item_01
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_gprscdr_ChangeOfCharCondition
},
3678 dissect_gprscdr_SEQUENCE_OF_ChangeOfCharCondition(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3679 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
3680 SEQUENCE_OF_ChangeOfCharCondition_sequence_of
, hf_index
, ett_gprscdr_SEQUENCE_OF_ChangeOfCharCondition
);
3686 static const ber_sequence_t SGSNPDPRecord_set
[] = {
3687 { &hf_gprscdr_recordType_01
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_gprscdr_RecordType
},
3688 { &hf_gprscdr_networkInitiation
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_NetworkInitiatedPDPContext
},
3689 { &hf_gprscdr_servedIMSI
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gsm_map_IMSI
},
3690 { &hf_gprscdr_servedIMEI
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gsm_map_IMEI
},
3691 { &hf_gprscdr_sgsnAddress_01
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_GSNAddress
},
3692 { &hf_gprscdr_msNetworkCapability
, BER_CLASS_CON
, 6, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_MSNetworkCapability
},
3693 { &hf_gprscdr_routingArea
, BER_CLASS_CON
, 7, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_RoutingAreaCode
},
3694 { &hf_gprscdr_locationAreaCode
, BER_CLASS_CON
, 8, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_LocationAreaCode
},
3695 { &hf_gprscdr_cellIdentifier
, BER_CLASS_CON
, 9, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_CellId
},
3696 { &hf_gprscdr_chargingID
, BER_CLASS_CON
, 10, BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChargingID
},
3697 { &hf_gprscdr_ggsnAddressUsed
, BER_CLASS_CON
, 11, BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_GSNAddress
},
3698 { &hf_gprscdr_accessPointNameNI
, BER_CLASS_CON
, 12, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_AccessPointNameNI
},
3699 { &hf_gprscdr_pdpType
, BER_CLASS_CON
, 13, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PDPType
},
3700 { &hf_gprscdr_servedPDPAddress
, BER_CLASS_CON
, 14, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_PDPAddress
},
3701 { &hf_gprscdr_listOfTrafficVolumes_01
, BER_CLASS_CON
, 15, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_SEQUENCE_OF_ChangeOfCharCondition
},
3702 { &hf_gprscdr_recordOpeningTime
, BER_CLASS_CON
, 16, BER_FLAGS_IMPLTAG
, dissect_gprscdr_TimeStamp
},
3703 { &hf_gprscdr_duration
, BER_CLASS_CON
, 17, BER_FLAGS_IMPLTAG
, dissect_gprscdr_CallDuration
},
3704 { &hf_gprscdr_sgsnChange
, BER_CLASS_CON
, 18, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_SGSNChange
},
3705 { &hf_gprscdr_causeForRecClosing_01
, BER_CLASS_CON
, 19, BER_FLAGS_IMPLTAG
, dissect_gprscdr_CauseForRecClosing
},
3706 { &hf_gprscdr_diagnostics
, BER_CLASS_CON
, 20, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_Diagnostics
},
3707 { &hf_gprscdr_recordSequenceNumber
, BER_CLASS_CON
, 21, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_INTEGER
},
3708 { &hf_gprscdr_nodeID
, BER_CLASS_CON
, 22, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_NodeID
},
3709 { &hf_gprscdr_recordExtensions
, BER_CLASS_CON
, 23, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ManagementExtensions
},
3710 { &hf_gprscdr_localSequenceNumber
, BER_CLASS_CON
, 24, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_LocalSequenceNumber
},
3711 { &hf_gprscdr_apnSelectionMode
, BER_CLASS_CON
, 25, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_APNSelectionMode
},
3712 { &hf_gprscdr_accessPointNameOI
, BER_CLASS_CON
, 26, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_AccessPointNameOI
},
3713 { &hf_gprscdr_servedMSISDN
, BER_CLASS_CON
, 27, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_MSISDN
},
3714 { &hf_gprscdr_chargingCharacteristics
, BER_CLASS_CON
, 28, BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChargingCharacteristics
},
3715 { &hf_gprscdr_rATType
, BER_CLASS_CON
, 29, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_RATType
},
3716 { &hf_gprscdr_cAMELInformationPDP
, BER_CLASS_CON
, 30, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_CAMELInformationPDP
},
3717 { &hf_gprscdr_rNCUnsentDownlinkVolume
, BER_CLASS_CON
, 31, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_DataVolumeGPRS
},
3718 { &hf_gprscdr_chChSelectionMode
, BER_CLASS_CON
, 32, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChChSelectionMode
},
3719 { &hf_gprscdr_dynamicAddressFlag
, BER_CLASS_CON
, 33, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_DynamicAddressFlag
},
3720 { &hf_gprscdr_iMSIunauthenticatedFlag
, BER_CLASS_CON
, 34, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_NULL
},
3721 { &hf_gprscdr_userCSGInformation
, BER_CLASS_CON
, 35, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_UserCSGInformation
},
3722 { &hf_gprscdr_servedPDPPDNAddressExt
, BER_CLASS_CON
, 36, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_PDPAddress
},
3723 { &hf_gprscdr_lowPriorityIndicator
, BER_CLASS_CON
, 37, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_NULL
},
3724 { &hf_gprscdr_servingNodePLMNIdentifier
, BER_CLASS_CON
, 38, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PLMN_Id
},
3725 { &hf_gprscdr_cNOperatorSelectionEnt
, BER_CLASS_CON
, 39, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_CNOperatorSelectionEntity
},
3726 { NULL
, 0, 0, 0, NULL
}
3730 dissect_gprscdr_SGSNPDPRecord(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3731 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
3732 SGSNPDPRecord_set
, hf_index
, ett_gprscdr_SGSNPDPRecord
);
3738 static const value_string gprscdr_ServingNodeType_vals
[] = {
3751 dissect_gprscdr_ServingNodeType(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3752 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
3759 static const ber_sequence_t SGSNSMORecord_set
[] = {
3760 { &hf_gprscdr_recordType_01
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_gprscdr_RecordType
},
3761 { &hf_gprscdr_servedIMSI
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_gsm_map_IMSI
},
3762 { &hf_gprscdr_servedIMEI
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gsm_map_IMEI
},
3763 { &hf_gprscdr_servedMSISDN
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_MSISDN
},
3764 { &hf_gprscdr_msNetworkCapability
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_MSNetworkCapability
},
3765 { &hf_gprscdr_serviceCentre
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gsm_map_AddressString
},
3766 { &hf_gprscdr_recordingEntity
, BER_CLASS_CON
, 6, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_RecordingEntity
},
3767 { &hf_gprscdr_locationArea
, BER_CLASS_CON
, 7, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_LocationAreaCode
},
3768 { &hf_gprscdr_routingArea
, BER_CLASS_CON
, 8, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_RoutingAreaCode
},
3769 { &hf_gprscdr_cellIdentifier
, BER_CLASS_CON
, 9, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_CellId
},
3770 { &hf_gprscdr_messageReference
, BER_CLASS_CON
, 10, BER_FLAGS_IMPLTAG
, dissect_gprscdr_MessageReference
},
3771 { &hf_gprscdr_eventTimeStamp
, BER_CLASS_CON
, 11, BER_FLAGS_IMPLTAG
, dissect_gprscdr_TimeStamp
},
3772 { &hf_gprscdr_smsResult
, BER_CLASS_CON
, 12, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_SMSResult
},
3773 { &hf_gprscdr_recordExtensions
, BER_CLASS_CON
, 13, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ManagementExtensions
},
3774 { &hf_gprscdr_nodeID
, BER_CLASS_CON
, 14, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_NodeID
},
3775 { &hf_gprscdr_localSequenceNumber
, BER_CLASS_CON
, 15, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_LocalSequenceNumber
},
3776 { &hf_gprscdr_chargingCharacteristics
, BER_CLASS_CON
, 16, BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChargingCharacteristics
},
3777 { &hf_gprscdr_rATType
, BER_CLASS_CON
, 17, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_RATType
},
3778 { &hf_gprscdr_destinationNumber
, BER_CLASS_CON
, 18, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_SmsTpDestinationNumber
},
3779 { &hf_gprscdr_cAMELInformationSMS
, BER_CLASS_CON
, 19, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_CAMELInformationSMS
},
3780 { &hf_gprscdr_chChSelectionMode
, BER_CLASS_CON
, 20, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChChSelectionMode
},
3781 { &hf_gprscdr_servingNodeType_01
, BER_CLASS_CON
, 21, BER_FLAGS_IMPLTAG
, dissect_gprscdr_ServingNodeType
},
3782 { &hf_gprscdr_servingNodeAddress_01
, BER_CLASS_CON
, 22, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_GSNAddress
},
3783 { &hf_gprscdr_servingNodeiPv6Address_01
, BER_CLASS_CON
, 23, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_GSNAddress
},
3784 { &hf_gprscdr_mMEName
, BER_CLASS_CON
, 24, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_DiameterIdentity
},
3785 { &hf_gprscdr_mMERealm
, BER_CLASS_CON
, 25, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_DiameterIdentity
},
3786 { &hf_gprscdr_userLocationInformation_08
, BER_CLASS_CON
, 26, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_OCTET_STRING
},
3787 { &hf_gprscdr_retransmission
, BER_CLASS_CON
, 27, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_NULL
},
3788 { &hf_gprscdr_servingNodePLMNIdentifier
, BER_CLASS_CON
, 28, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PLMN_Id
},
3789 { &hf_gprscdr_userLocationInfoTime
, BER_CLASS_CON
, 29, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_TimeStamp
},
3790 { &hf_gprscdr_cNOperatorSelectionEnt
, BER_CLASS_CON
, 30, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_CNOperatorSelectionEntity
},
3791 { NULL
, 0, 0, 0, NULL
}
3795 dissect_gprscdr_SGSNSMORecord(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3796 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
3797 SGSNSMORecord_set
, hf_index
, ett_gprscdr_SGSNSMORecord
);
3803 static const ber_sequence_t SGSNSMTRecord_set
[] = {
3804 { &hf_gprscdr_recordType_01
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_gprscdr_RecordType
},
3805 { &hf_gprscdr_servedIMSI
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_gsm_map_IMSI
},
3806 { &hf_gprscdr_servedIMEI
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gsm_map_IMEI
},
3807 { &hf_gprscdr_servedMSISDN
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_MSISDN
},
3808 { &hf_gprscdr_msNetworkCapability
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_MSNetworkCapability
},
3809 { &hf_gprscdr_serviceCentre
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gsm_map_AddressString
},
3810 { &hf_gprscdr_recordingEntity
, BER_CLASS_CON
, 6, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_RecordingEntity
},
3811 { &hf_gprscdr_locationArea
, BER_CLASS_CON
, 7, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_LocationAreaCode
},
3812 { &hf_gprscdr_routingArea
, BER_CLASS_CON
, 8, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_RoutingAreaCode
},
3813 { &hf_gprscdr_cellIdentifier
, BER_CLASS_CON
, 9, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_CellId
},
3814 { &hf_gprscdr_eventTimeStamp
, BER_CLASS_CON
, 10, BER_FLAGS_IMPLTAG
, dissect_gprscdr_TimeStamp
},
3815 { &hf_gprscdr_smsResult
, BER_CLASS_CON
, 11, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_SMSResult
},
3816 { &hf_gprscdr_recordExtensions
, BER_CLASS_CON
, 12, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ManagementExtensions
},
3817 { &hf_gprscdr_nodeID
, BER_CLASS_CON
, 13, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_NodeID
},
3818 { &hf_gprscdr_localSequenceNumber
, BER_CLASS_CON
, 14, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_LocalSequenceNumber
},
3819 { &hf_gprscdr_chargingCharacteristics
, BER_CLASS_CON
, 15, BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChargingCharacteristics
},
3820 { &hf_gprscdr_rATType
, BER_CLASS_CON
, 16, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_RATType
},
3821 { &hf_gprscdr_chChSelectionMode
, BER_CLASS_CON
, 17, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChChSelectionMode
},
3822 { &hf_gprscdr_cAMELInformationSMS
, BER_CLASS_CON
, 18, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_CAMELInformationSMS
},
3823 { &hf_gprscdr_originatingAddress
, BER_CLASS_CON
, 19, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gsm_map_AddressString
},
3824 { &hf_gprscdr_servingNodeType_01
, BER_CLASS_CON
, 20, BER_FLAGS_IMPLTAG
, dissect_gprscdr_ServingNodeType
},
3825 { &hf_gprscdr_servingNodeAddress_01
, BER_CLASS_CON
, 21, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_GSNAddress
},
3826 { &hf_gprscdr_servingNodeiPv6Address_01
, BER_CLASS_CON
, 22, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_GSNAddress
},
3827 { &hf_gprscdr_mMEName
, BER_CLASS_CON
, 23, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_DiameterIdentity
},
3828 { &hf_gprscdr_mMERealm
, BER_CLASS_CON
, 24, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_DiameterIdentity
},
3829 { &hf_gprscdr_userLocationInformation_08
, BER_CLASS_CON
, 25, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_OCTET_STRING
},
3830 { &hf_gprscdr_retransmission
, BER_CLASS_CON
, 26, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_NULL
},
3831 { &hf_gprscdr_servingNodePLMNIdentifier
, BER_CLASS_CON
, 27, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PLMN_Id
},
3832 { &hf_gprscdr_userLocationInfoTime
, BER_CLASS_CON
, 28, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_TimeStamp
},
3833 { &hf_gprscdr_cNOperatorSelectionEnt
, BER_CLASS_CON
, 29, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_CNOperatorSelectionEntity
},
3834 { NULL
, 0, 0, 0, NULL
}
3838 dissect_gprscdr_SGSNSMTRecord(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3839 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
3840 SGSNSMTRecord_set
, hf_index
, ett_gprscdr_SGSNSMTRecord
);
3846 static const ber_sequence_t SGSNMTLCSRecord_set
[] = {
3847 { &hf_gprscdr_recordType_01
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_gprscdr_RecordType
},
3848 { &hf_gprscdr_recordingEntity
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_gprscdr_RecordingEntity
},
3849 { &hf_gprscdr_lcsClientType
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_gsm_map_lcs_LCSClientType
},
3850 { &hf_gprscdr_lcsClientIdentity
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_gprscdr_LCSClientIdentity
},
3851 { &hf_gprscdr_servedIMSI
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
, dissect_gsm_map_IMSI
},
3852 { &hf_gprscdr_servedMSISDN
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_MSISDN
},
3853 { &hf_gprscdr_sgsnAddress_01
, BER_CLASS_CON
, 6, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_GSNAddress
},
3854 { &hf_gprscdr_locationType
, BER_CLASS_CON
, 7, BER_FLAGS_IMPLTAG
, dissect_gsm_map_lcs_LocationType
},
3855 { &hf_gprscdr_lcsQos
, BER_CLASS_CON
, 8, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_LCSQoSInfo
},
3856 { &hf_gprscdr_lcsPriority
, BER_CLASS_CON
, 9, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gsm_map_lcs_LCS_Priority
},
3857 { &hf_gprscdr_mlcNumber
, BER_CLASS_CON
, 10, BER_FLAGS_IMPLTAG
, dissect_gsm_map_ISDN_AddressString
},
3858 { &hf_gprscdr_eventTimeStamp
, BER_CLASS_CON
, 11, BER_FLAGS_IMPLTAG
, dissect_gprscdr_TimeStamp
},
3859 { &hf_gprscdr_measurementDuration
, BER_CLASS_CON
, 12, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_CallDuration
},
3860 { &hf_gprscdr_notificationToMSUser
, BER_CLASS_CON
, 13, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gsm_map_ms_NotificationToMSUser
},
3861 { &hf_gprscdr_privacyOverride
, BER_CLASS_CON
, 14, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_NULL
},
3862 { &hf_gprscdr_location
, BER_CLASS_CON
, 15, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_LocationAreaAndCell
},
3863 { &hf_gprscdr_routingArea
, BER_CLASS_CON
, 16, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_RoutingAreaCode
},
3864 { &hf_gprscdr_locationEstimate
, BER_CLASS_CON
, 17, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gsm_map_lcs_Ext_GeographicalInformation
},
3865 { &hf_gprscdr_positioningData
, BER_CLASS_CON
, 18, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PositioningData
},
3866 { &hf_gprscdr_lcsCause
, BER_CLASS_CON
, 19, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_LCSCause
},
3867 { &hf_gprscdr_diagnostics
, BER_CLASS_CON
, 20, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_Diagnostics
},
3868 { &hf_gprscdr_nodeID
, BER_CLASS_CON
, 21, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_NodeID
},
3869 { &hf_gprscdr_localSequenceNumber
, BER_CLASS_CON
, 22, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_LocalSequenceNumber
},
3870 { &hf_gprscdr_chargingCharacteristics
, BER_CLASS_CON
, 23, BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChargingCharacteristics
},
3871 { &hf_gprscdr_chChSelectionMode
, BER_CLASS_CON
, 24, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChChSelectionMode
},
3872 { &hf_gprscdr_rATType
, BER_CLASS_CON
, 25, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_RATType
},
3873 { &hf_gprscdr_recordExtensions
, BER_CLASS_CON
, 26, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ManagementExtensions
},
3874 { &hf_gprscdr_causeForRecClosing_01
, BER_CLASS_CON
, 27, BER_FLAGS_IMPLTAG
, dissect_gprscdr_CauseForRecClosing
},
3875 { &hf_gprscdr_servingNodePLMNIdentifier
, BER_CLASS_CON
, 28, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PLMN_Id
},
3876 { &hf_gprscdr_cNOperatorSelectionEnt
, BER_CLASS_CON
, 29, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_CNOperatorSelectionEntity
},
3877 { NULL
, 0, 0, 0, NULL
}
3881 dissect_gprscdr_SGSNMTLCSRecord(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3882 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
3883 SGSNMTLCSRecord_set
, hf_index
, ett_gprscdr_SGSNMTLCSRecord
);
3889 static const ber_sequence_t SGSNMOLCSRecord_set
[] = {
3890 { &hf_gprscdr_recordType_01
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_gprscdr_RecordType
},
3891 { &hf_gprscdr_recordingEntity
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_gprscdr_RecordingEntity
},
3892 { &hf_gprscdr_lcsClientType
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gsm_map_lcs_LCSClientType
},
3893 { &hf_gprscdr_lcsClientIdentity
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_LCSClientIdentity
},
3894 { &hf_gprscdr_servedIMSI
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
, dissect_gsm_map_IMSI
},
3895 { &hf_gprscdr_servedMSISDN
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_MSISDN
},
3896 { &hf_gprscdr_sgsnAddress_01
, BER_CLASS_CON
, 6, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_GSNAddress
},
3897 { &hf_gprscdr_locationMethod
, BER_CLASS_CON
, 7, BER_FLAGS_IMPLTAG
, dissect_gsm_ss_LocationMethod
},
3898 { &hf_gprscdr_lcsQos
, BER_CLASS_CON
, 8, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_LCSQoSInfo
},
3899 { &hf_gprscdr_lcsPriority
, BER_CLASS_CON
, 9, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gsm_map_lcs_LCS_Priority
},
3900 { &hf_gprscdr_mlcNumber
, BER_CLASS_CON
, 10, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gsm_map_ISDN_AddressString
},
3901 { &hf_gprscdr_eventTimeStamp
, BER_CLASS_CON
, 11, BER_FLAGS_IMPLTAG
, dissect_gprscdr_TimeStamp
},
3902 { &hf_gprscdr_measurementDuration
, BER_CLASS_CON
, 12, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_CallDuration
},
3903 { &hf_gprscdr_location
, BER_CLASS_CON
, 13, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_LocationAreaAndCell
},
3904 { &hf_gprscdr_routingArea
, BER_CLASS_CON
, 14, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_RoutingAreaCode
},
3905 { &hf_gprscdr_locationEstimate
, BER_CLASS_CON
, 15, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gsm_map_lcs_Ext_GeographicalInformation
},
3906 { &hf_gprscdr_positioningData
, BER_CLASS_CON
, 16, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PositioningData
},
3907 { &hf_gprscdr_lcsCause
, BER_CLASS_CON
, 17, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_LCSCause
},
3908 { &hf_gprscdr_diagnostics
, BER_CLASS_CON
, 18, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_Diagnostics
},
3909 { &hf_gprscdr_nodeID
, BER_CLASS_CON
, 19, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_NodeID
},
3910 { &hf_gprscdr_localSequenceNumber
, BER_CLASS_CON
, 20, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_LocalSequenceNumber
},
3911 { &hf_gprscdr_chargingCharacteristics
, BER_CLASS_CON
, 21, BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChargingCharacteristics
},
3912 { &hf_gprscdr_chChSelectionMode
, BER_CLASS_CON
, 22, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChChSelectionMode
},
3913 { &hf_gprscdr_rATType
, BER_CLASS_CON
, 23, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_RATType
},
3914 { &hf_gprscdr_recordExtensions
, BER_CLASS_CON
, 24, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ManagementExtensions
},
3915 { &hf_gprscdr_causeForRecClosing_01
, BER_CLASS_CON
, 25, BER_FLAGS_IMPLTAG
, dissect_gprscdr_CauseForRecClosing
},
3916 { &hf_gprscdr_servingNodePLMNIdentifier
, BER_CLASS_CON
, 26, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PLMN_Id
},
3917 { &hf_gprscdr_cNOperatorSelectionEnt
, BER_CLASS_CON
, 27, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_CNOperatorSelectionEntity
},
3918 { NULL
, 0, 0, 0, NULL
}
3922 dissect_gprscdr_SGSNMOLCSRecord(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3923 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
3924 SGSNMOLCSRecord_set
, hf_index
, ett_gprscdr_SGSNMOLCSRecord
);
3930 static const ber_sequence_t SGSNNILCSRecord_set
[] = {
3931 { &hf_gprscdr_recordType_01
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_gprscdr_RecordType
},
3932 { &hf_gprscdr_recordingEntity
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_gprscdr_RecordingEntity
},
3933 { &hf_gprscdr_lcsClientType
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gsm_map_lcs_LCSClientType
},
3934 { &hf_gprscdr_lcsClientIdentity
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_LCSClientIdentity
},
3935 { &hf_gprscdr_servedIMSI
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gsm_map_IMSI
},
3936 { &hf_gprscdr_servedMSISDN
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_MSISDN
},
3937 { &hf_gprscdr_sgsnAddress_01
, BER_CLASS_CON
, 6, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_GSNAddress
},
3938 { &hf_gprscdr_servedIMEI
, BER_CLASS_CON
, 7, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gsm_map_IMEI
},
3939 { &hf_gprscdr_lcsQos
, BER_CLASS_CON
, 8, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_LCSQoSInfo
},
3940 { &hf_gprscdr_lcsPriority
, BER_CLASS_CON
, 9, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gsm_map_lcs_LCS_Priority
},
3941 { &hf_gprscdr_mlcNumber
, BER_CLASS_CON
, 10, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gsm_map_ISDN_AddressString
},
3942 { &hf_gprscdr_eventTimeStamp
, BER_CLASS_CON
, 11, BER_FLAGS_IMPLTAG
, dissect_gprscdr_TimeStamp
},
3943 { &hf_gprscdr_measurementDuration
, BER_CLASS_CON
, 12, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_CallDuration
},
3944 { &hf_gprscdr_location
, BER_CLASS_CON
, 13, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_LocationAreaAndCell
},
3945 { &hf_gprscdr_routingArea
, BER_CLASS_CON
, 14, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_RoutingAreaCode
},
3946 { &hf_gprscdr_locationEstimate
, BER_CLASS_CON
, 15, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gsm_map_lcs_Ext_GeographicalInformation
},
3947 { &hf_gprscdr_positioningData
, BER_CLASS_CON
, 16, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PositioningData
},
3948 { &hf_gprscdr_lcsCause
, BER_CLASS_CON
, 17, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_LCSCause
},
3949 { &hf_gprscdr_diagnostics
, BER_CLASS_CON
, 18, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_Diagnostics
},
3950 { &hf_gprscdr_nodeID
, BER_CLASS_CON
, 19, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_NodeID
},
3951 { &hf_gprscdr_localSequenceNumber
, BER_CLASS_CON
, 20, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_LocalSequenceNumber
},
3952 { &hf_gprscdr_chargingCharacteristics
, BER_CLASS_CON
, 21, BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChargingCharacteristics
},
3953 { &hf_gprscdr_chChSelectionMode
, BER_CLASS_CON
, 22, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChChSelectionMode
},
3954 { &hf_gprscdr_rATType
, BER_CLASS_CON
, 23, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_RATType
},
3955 { &hf_gprscdr_recordExtensions
, BER_CLASS_CON
, 24, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ManagementExtensions
},
3956 { &hf_gprscdr_causeForRecClosing_01
, BER_CLASS_CON
, 25, BER_FLAGS_IMPLTAG
, dissect_gprscdr_CauseForRecClosing
},
3957 { &hf_gprscdr_servingNodePLMNIdentifier
, BER_CLASS_CON
, 26, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PLMN_Id
},
3958 { &hf_gprscdr_cNOperatorSelectionEnt
, BER_CLASS_CON
, 27, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_CNOperatorSelectionEntity
},
3959 { NULL
, 0, 0, 0, NULL
}
3963 dissect_gprscdr_SGSNNILCSRecord(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3964 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
3965 SGSNNILCSRecord_set
, hf_index
, ett_gprscdr_SGSNNILCSRecord
);
3971 static const ber_sequence_t SEQUENCE_OF_RAIdentity_sequence_of
[1] = {
3972 { &hf_gprscdr_listofRAs_item
, BER_CLASS_UNI
, BER_UNI_TAG_OCTETSTRING
, BER_FLAGS_NOOWNTAG
, dissect_gsm_map_RAIdentity
},
3976 dissect_gprscdr_SEQUENCE_OF_RAIdentity(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3977 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
3978 SEQUENCE_OF_RAIdentity_sequence_of
, hf_index
, ett_gprscdr_SEQUENCE_OF_RAIdentity
);
3986 dissect_gprscdr_DataVolumeMBMS(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3987 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
3994 static const ber_sequence_t ChangeOfMBMSCondition_sequence
[] = {
3995 { &hf_gprscdr_qosRequested
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_QoSInformation
},
3996 { &hf_gprscdr_qosNegotiated
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_QoSInformation
},
3997 { &hf_gprscdr_dataVolumeMBMSUplink
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_DataVolumeMBMS
},
3998 { &hf_gprscdr_dataVolumeMBMSDownlink
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
, dissect_gprscdr_DataVolumeMBMS
},
3999 { &hf_gprscdr_changeCondition_01
, BER_CLASS_CON
, 5, BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChangeCondition
},
4000 { &hf_gprscdr_changeTime
, BER_CLASS_CON
, 6, BER_FLAGS_IMPLTAG
, dissect_gprscdr_TimeStamp
},
4001 { &hf_gprscdr_failureHandlingContinue
, BER_CLASS_CON
, 7, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_FailureHandlingContinue
},
4002 { NULL
, 0, 0, 0, NULL
}
4006 dissect_gprscdr_ChangeOfMBMSCondition(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4007 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
4008 ChangeOfMBMSCondition_sequence
, hf_index
, ett_gprscdr_ChangeOfMBMSCondition
);
4014 static const ber_sequence_t SEQUENCE_OF_ChangeOfMBMSCondition_sequence_of
[1] = {
4015 { &hf_gprscdr_listOfTrafficVolumes_item_02
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_gprscdr_ChangeOfMBMSCondition
},
4019 dissect_gprscdr_SEQUENCE_OF_ChangeOfMBMSCondition(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4020 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
4021 SEQUENCE_OF_ChangeOfMBMSCondition_sequence_of
, hf_index
, ett_gprscdr_SEQUENCE_OF_ChangeOfMBMSCondition
);
4027 static const ber_sequence_t SGSNMBMSRecord_set
[] = {
4028 { &hf_gprscdr_recordType_01
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_gprscdr_RecordType
},
4029 { &hf_gprscdr_ggsnAddress
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_GSNAddress
},
4030 { &hf_gprscdr_chargingID
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChargingID
},
4031 { &hf_gprscdr_listofRAs
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_SEQUENCE_OF_RAIdentity
},
4032 { &hf_gprscdr_accessPointNameNI
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_AccessPointNameNI
},
4033 { &hf_gprscdr_servedPDPAddress
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_PDPAddress
},
4034 { &hf_gprscdr_listOfTrafficVolumes_02
, BER_CLASS_CON
, 6, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_SEQUENCE_OF_ChangeOfMBMSCondition
},
4035 { &hf_gprscdr_recordOpeningTime
, BER_CLASS_CON
, 7, BER_FLAGS_IMPLTAG
, dissect_gprscdr_TimeStamp
},
4036 { &hf_gprscdr_duration
, BER_CLASS_CON
, 8, BER_FLAGS_IMPLTAG
, dissect_gprscdr_CallDuration
},
4037 { &hf_gprscdr_causeForRecClosing_01
, BER_CLASS_CON
, 9, BER_FLAGS_IMPLTAG
, dissect_gprscdr_CauseForRecClosing
},
4038 { &hf_gprscdr_diagnostics
, BER_CLASS_CON
, 10, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_Diagnostics
},
4039 { &hf_gprscdr_recordSequenceNumber
, BER_CLASS_CON
, 11, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_INTEGER
},
4040 { &hf_gprscdr_nodeID
, BER_CLASS_CON
, 12, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_NodeID
},
4041 { &hf_gprscdr_recordExtensions
, BER_CLASS_CON
, 13, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ManagementExtensions
},
4042 { &hf_gprscdr_localSequenceNumber
, BER_CLASS_CON
, 14, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_LocalSequenceNumber
},
4043 { &hf_gprscdr_sgsnPLMNIdentifier
, BER_CLASS_CON
, 15, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PLMN_Id
},
4044 { &hf_gprscdr_numberofReceivingUE
, BER_CLASS_CON
, 16, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_INTEGER
},
4045 { &hf_gprscdr_mbmsInformation
, BER_CLASS_CON
, 17, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_MBMSInformation
},
4046 { NULL
, 0, 0, 0, NULL
}
4050 dissect_gprscdr_SGSNMBMSRecord(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4051 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
4052 SGSNMBMSRecord_set
, hf_index
, ett_gprscdr_SGSNMBMSRecord
);
4058 static const ber_sequence_t GGSNMBMSRecord_set
[] = {
4059 { &hf_gprscdr_recordType_01
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_gprscdr_RecordType
},
4060 { &hf_gprscdr_ggsnAddress
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_GSNAddress
},
4061 { &hf_gprscdr_chargingID
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChargingID
},
4062 { &hf_gprscdr_listofDownstreamNodes
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_gprscdr_SEQUENCE_OF_GSNAddress
},
4063 { &hf_gprscdr_accessPointNameNI
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_AccessPointNameNI
},
4064 { &hf_gprscdr_servedPDPAddress
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_PDPAddress
},
4065 { &hf_gprscdr_listOfTrafficVolumes_02
, BER_CLASS_CON
, 6, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_SEQUENCE_OF_ChangeOfMBMSCondition
},
4066 { &hf_gprscdr_recordOpeningTime
, BER_CLASS_CON
, 7, BER_FLAGS_IMPLTAG
, dissect_gprscdr_TimeStamp
},
4067 { &hf_gprscdr_duration
, BER_CLASS_CON
, 8, BER_FLAGS_IMPLTAG
, dissect_gprscdr_CallDuration
},
4068 { &hf_gprscdr_causeForRecClosing_01
, BER_CLASS_CON
, 9, BER_FLAGS_IMPLTAG
, dissect_gprscdr_CauseForRecClosing
},
4069 { &hf_gprscdr_diagnostics
, BER_CLASS_CON
, 10, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_Diagnostics
},
4070 { &hf_gprscdr_recordSequenceNumber
, BER_CLASS_CON
, 11, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_INTEGER
},
4071 { &hf_gprscdr_nodeID
, BER_CLASS_CON
, 12, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_NodeID
},
4072 { &hf_gprscdr_recordExtensions
, BER_CLASS_CON
, 13, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ManagementExtensions
},
4073 { &hf_gprscdr_localSequenceNumber
, BER_CLASS_CON
, 14, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_LocalSequenceNumber
},
4074 { &hf_gprscdr_mbmsInformation
, BER_CLASS_CON
, 15, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_MBMSInformation
},
4075 { NULL
, 0, 0, 0, NULL
}
4079 dissect_gprscdr_GGSNMBMSRecord(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4080 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
4081 GGSNMBMSRecord_set
, hf_index
, ett_gprscdr_GGSNMBMSRecord
);
4089 dissect_gprscdr_T_userLocationInformation_06(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4091 offset
= dissect_gprscdr_uli(tvb
, actx
, tree
, 2);
4100 dissect_gprscdr_SGWChange(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4101 offset
= dissect_ber_boolean(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
, NULL
);
4107 static const ber_sequence_t SEQUENCE_OF_ServingNodeType_sequence_of
[1] = {
4108 { &hf_gprscdr_servingNodeType_item
, BER_CLASS_UNI
, BER_UNI_TAG_ENUMERATED
, BER_FLAGS_NOOWNTAG
, dissect_gprscdr_ServingNodeType
},
4112 dissect_gprscdr_SEQUENCE_OF_ServingNodeType(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4113 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
4114 SEQUENCE_OF_ServingNodeType_sequence_of
, hf_index
, ett_gprscdr_SEQUENCE_OF_ServingNodeType
);
4122 dissect_gprscdr_T_lastUserLocationInformation(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4124 offset
= dissect_gprscdr_uli(tvb
, actx
, tree
, 2);
4133 dissect_gprscdr_UNIPDUCPOnlyFlag(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4134 offset
= dissect_ber_boolean(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
, NULL
);
4142 dissect_gprscdr_PDPPDNTypeExtension(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4143 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
4150 static const ber_sequence_t MOExceptionDataCounter_sequence
[] = {
4151 { &hf_gprscdr_counterValue
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_gprscdr_INTEGER
},
4152 { &hf_gprscdr_counterTimestamp
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_gprscdr_TimeStamp
},
4153 { NULL
, 0, 0, 0, NULL
}
4157 dissect_gprscdr_MOExceptionDataCounter(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4158 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
4159 MOExceptionDataCounter_sequence
, hf_index
, ett_gprscdr_MOExceptionDataCounter
);
4165 static const value_string gprscdr_SecondaryRATType_vals
[] = {
4172 dissect_gprscdr_SecondaryRATType(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4173 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
4180 static const ber_sequence_t RANSecondaryRATUsageReport_sequence
[] = {
4181 { &hf_gprscdr_dataVolumeUplink
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_gprscdr_DataVolumeGPRS
},
4182 { &hf_gprscdr_dataVolumeDownlink
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_gprscdr_DataVolumeGPRS
},
4183 { &hf_gprscdr_rANStartTime
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_gprscdr_TimeStamp
},
4184 { &hf_gprscdr_rANEndTime
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
, dissect_gprscdr_TimeStamp
},
4185 { &hf_gprscdr_secondaryRATType
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_SecondaryRATType
},
4186 { &hf_gprscdr_chargingID
, BER_CLASS_CON
, 6, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChargingID
},
4187 { NULL
, 0, 0, 0, NULL
}
4191 dissect_gprscdr_RANSecondaryRATUsageReport(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4192 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
4193 RANSecondaryRATUsageReport_sequence
, hf_index
, ett_gprscdr_RANSecondaryRATUsageReport
);
4199 static const ber_sequence_t SEQUENCE_OF_RANSecondaryRATUsageReport_sequence_of
[1] = {
4200 { &hf_gprscdr_listOfRANSecondaryRATUsageReports_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_gprscdr_RANSecondaryRATUsageReport
},
4204 dissect_gprscdr_SEQUENCE_OF_RANSecondaryRATUsageReport(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4205 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
4206 SEQUENCE_OF_RANSecondaryRATUsageReport_sequence_of
, hf_index
, ett_gprscdr_SEQUENCE_OF_RANSecondaryRATUsageReport
);
4212 static const ber_sequence_t SGWRecord_set
[] = {
4213 { &hf_gprscdr_recordType_01
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_gprscdr_RecordType
},
4214 { &hf_gprscdr_servedIMSI
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gsm_map_IMSI
},
4215 { &hf_gprscdr_s_GWAddress
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_GSNAddress
},
4216 { &hf_gprscdr_chargingID
, BER_CLASS_CON
, 5, BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChargingID
},
4217 { &hf_gprscdr_servingNodeAddress
, BER_CLASS_CON
, 6, BER_FLAGS_IMPLTAG
, dissect_gprscdr_SEQUENCE_OF_GSNAddress
},
4218 { &hf_gprscdr_accessPointNameNI
, BER_CLASS_CON
, 7, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_AccessPointNameNI
},
4219 { &hf_gprscdr_pdpPDNType
, BER_CLASS_CON
, 8, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PDPType
},
4220 { &hf_gprscdr_servedPDPPDNAddress
, BER_CLASS_CON
, 9, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_PDPAddress
},
4221 { &hf_gprscdr_dynamicAddressFlag
, BER_CLASS_CON
, 11, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_DynamicAddressFlag
},
4222 { &hf_gprscdr_listOfTrafficVolumes_01
, BER_CLASS_CON
, 12, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_SEQUENCE_OF_ChangeOfCharCondition
},
4223 { &hf_gprscdr_recordOpeningTime
, BER_CLASS_CON
, 13, BER_FLAGS_IMPLTAG
, dissect_gprscdr_TimeStamp
},
4224 { &hf_gprscdr_duration
, BER_CLASS_CON
, 14, BER_FLAGS_IMPLTAG
, dissect_gprscdr_CallDuration
},
4225 { &hf_gprscdr_causeForRecClosing_01
, BER_CLASS_CON
, 15, BER_FLAGS_IMPLTAG
, dissect_gprscdr_CauseForRecClosing
},
4226 { &hf_gprscdr_diagnostics
, BER_CLASS_CON
, 16, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_Diagnostics
},
4227 { &hf_gprscdr_recordSequenceNumber
, BER_CLASS_CON
, 17, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_INTEGER
},
4228 { &hf_gprscdr_nodeID
, BER_CLASS_CON
, 18, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_NodeID
},
4229 { &hf_gprscdr_recordExtensions
, BER_CLASS_CON
, 19, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ManagementExtensions
},
4230 { &hf_gprscdr_localSequenceNumber
, BER_CLASS_CON
, 20, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_LocalSequenceNumber
},
4231 { &hf_gprscdr_apnSelectionMode
, BER_CLASS_CON
, 21, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_APNSelectionMode
},
4232 { &hf_gprscdr_servedMSISDN
, BER_CLASS_CON
, 22, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_MSISDN
},
4233 { &hf_gprscdr_chargingCharacteristics
, BER_CLASS_CON
, 23, BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChargingCharacteristics
},
4234 { &hf_gprscdr_chChSelectionMode
, BER_CLASS_CON
, 24, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChChSelectionMode
},
4235 { &hf_gprscdr_iMSsignalingContext
, BER_CLASS_CON
, 25, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_NULL
},
4236 { &hf_gprscdr_servingNodePLMNIdentifier
, BER_CLASS_CON
, 27, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PLMN_Id
},
4237 { &hf_gprscdr_servedIMEI
, BER_CLASS_CON
, 29, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gsm_map_IMEI
},
4238 { &hf_gprscdr_rATType
, BER_CLASS_CON
, 30, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_RATType
},
4239 { &hf_gprscdr_mSTimeZone
, BER_CLASS_CON
, 31, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_MSTimeZone
},
4240 { &hf_gprscdr_userLocationInformation_06
, BER_CLASS_CON
, 32, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_T_userLocationInformation_06
},
4241 { &hf_gprscdr_sGWChange
, BER_CLASS_CON
, 34, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_SGWChange
},
4242 { &hf_gprscdr_servingNodeType
, BER_CLASS_CON
, 35, BER_FLAGS_IMPLTAG
, dissect_gprscdr_SEQUENCE_OF_ServingNodeType
},
4243 { &hf_gprscdr_p_GWAddressUsed
, BER_CLASS_CON
, 36, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_GSNAddress
},
4244 { &hf_gprscdr_p_GWPLMNIdentifier
, BER_CLASS_CON
, 37, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PLMN_Id
},
4245 { &hf_gprscdr_startTime
, BER_CLASS_CON
, 38, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_TimeStamp
},
4246 { &hf_gprscdr_stopTime
, BER_CLASS_CON
, 39, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_TimeStamp
},
4247 { &hf_gprscdr_pDNConnectionChargingID
, BER_CLASS_CON
, 40, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChargingID
},
4248 { &hf_gprscdr_iMSIunauthenticatedFlag
, BER_CLASS_CON
, 41, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_NULL
},
4249 { &hf_gprscdr_userCSGInformation
, BER_CLASS_CON
, 42, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_UserCSGInformation
},
4250 { &hf_gprscdr_servedPDPPDNAddressExt
, BER_CLASS_CON
, 43, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_PDPAddress
},
4251 { &hf_gprscdr_lowPriorityIndicator
, BER_CLASS_CON
, 44, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_NULL
},
4252 { &hf_gprscdr_dynamicAddressFlagExt
, BER_CLASS_CON
, 47, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_DynamicAddressFlag
},
4253 { &hf_gprscdr_s_GWiPv6Address
, BER_CLASS_CON
, 48, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_GSNAddress
},
4254 { &hf_gprscdr_servingNodeiPv6Address
, BER_CLASS_CON
, 49, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_SEQUENCE_OF_GSNAddress
},
4255 { &hf_gprscdr_p_GWiPv6AddressUsed
, BER_CLASS_CON
, 50, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_GSNAddress
},
4256 { &hf_gprscdr_retransmission
, BER_CLASS_CON
, 51, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_NULL
},
4257 { &hf_gprscdr_userLocationInfoTime
, BER_CLASS_CON
, 52, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_TimeStamp
},
4258 { &hf_gprscdr_cNOperatorSelectionEnt
, BER_CLASS_CON
, 53, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_CNOperatorSelectionEntity
},
4259 { &hf_gprscdr_presenceReportingAreaInfo
, BER_CLASS_CON
, 54, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PresenceReportingAreaInfo
},
4260 { &hf_gprscdr_lastUserLocationInformation
, BER_CLASS_CON
, 55, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_T_lastUserLocationInformation
},
4261 { &hf_gprscdr_lastMSTimeZone
, BER_CLASS_CON
, 56, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_MSTimeZone
},
4262 { &hf_gprscdr_enhancedDiagnostics
, BER_CLASS_CON
, 57, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_EnhancedDiagnostics
},
4263 { &hf_gprscdr_cPCIoTEPSOptimisationIndicator
, BER_CLASS_CON
, 59, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_CPCIoTEPSOptimisationIndicator
},
4264 { &hf_gprscdr_uNIPDUCPOnlyFlag
, BER_CLASS_CON
, 60, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_UNIPDUCPOnlyFlag
},
4265 { &hf_gprscdr_servingPLMNRateControl
, BER_CLASS_CON
, 61, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ServingPLMNRateControl
},
4266 { &hf_gprscdr_pDPPDNTypeExtension
, BER_CLASS_CON
, 62, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PDPPDNTypeExtension
},
4267 { &hf_gprscdr_mOExceptionDataCounter
, BER_CLASS_CON
, 63, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_MOExceptionDataCounter
},
4268 { &hf_gprscdr_listOfRANSecondaryRATUsageReports
, BER_CLASS_CON
, 64, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_SEQUENCE_OF_RANSecondaryRATUsageReport
},
4269 { &hf_gprscdr_pSCellInformation
, BER_CLASS_CON
, 65, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PSCellInformation
},
4270 { NULL
, 0, 0, 0, NULL
}
4274 dissect_gprscdr_SGWRecord(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4275 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
4276 SGWRecord_set
, hf_index
, ett_gprscdr_SGWRecord
);
4284 dissect_gprscdr_T_userLocationInformation_07(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4286 offset
= dissect_gprscdr_uli(tvb
, actx
, tree
, 2);
4293 static int * const ServiceConditionChange_bits
[] = {
4294 &hf_gprscdr_ServiceConditionChange_qoSChange
,
4295 &hf_gprscdr_ServiceConditionChange_sGSNChange
,
4296 &hf_gprscdr_ServiceConditionChange_sGSNPLMNIDChange
,
4297 &hf_gprscdr_ServiceConditionChange_tariffTimeSwitch
,
4298 &hf_gprscdr_ServiceConditionChange_pDPContextRelease
,
4299 &hf_gprscdr_ServiceConditionChange_rATChange
,
4300 &hf_gprscdr_ServiceConditionChange_serviceIdledOut
,
4301 &hf_gprscdr_ServiceConditionChange_reserved
,
4302 &hf_gprscdr_ServiceConditionChange_configurationChange
,
4303 &hf_gprscdr_ServiceConditionChange_serviceStop
,
4304 &hf_gprscdr_ServiceConditionChange_dCCATimeThresholdReached
,
4305 &hf_gprscdr_ServiceConditionChange_dCCAVolumeThresholdReached
,
4306 &hf_gprscdr_ServiceConditionChange_dCCAServiceSpecificUnitThresholdReached
,
4307 &hf_gprscdr_ServiceConditionChange_dCCATimeExhausted
,
4308 &hf_gprscdr_ServiceConditionChange_dCCAVolumeExhausted
,
4309 &hf_gprscdr_ServiceConditionChange_dCCAValidityTimeout
,
4310 &hf_gprscdr_ServiceConditionChange_reserved1
,
4311 &hf_gprscdr_ServiceConditionChange_dCCAReauthorisationRequest
,
4312 &hf_gprscdr_ServiceConditionChange_dCCAContinueOngoingSession
,
4313 &hf_gprscdr_ServiceConditionChange_dCCARetryAndTerminateOngoingSession
,
4314 &hf_gprscdr_ServiceConditionChange_dCCATerminateOngoingSession
,
4315 &hf_gprscdr_ServiceConditionChange_cGI_SAIChange
,
4316 &hf_gprscdr_ServiceConditionChange_rAIChange
,
4317 &hf_gprscdr_ServiceConditionChange_dCCAServiceSpecificUnitExhausted
,
4318 &hf_gprscdr_ServiceConditionChange_recordClosure
,
4319 &hf_gprscdr_ServiceConditionChange_timeLimit
,
4320 &hf_gprscdr_ServiceConditionChange_volumeLimit
,
4321 &hf_gprscdr_ServiceConditionChange_serviceSpecificUnitLimit
,
4322 &hf_gprscdr_ServiceConditionChange_envelopeClosure
,
4323 &hf_gprscdr_ServiceConditionChange_eCGIChange
,
4324 &hf_gprscdr_ServiceConditionChange_tAIChange
,
4325 &hf_gprscdr_ServiceConditionChange_userLocationChange
,
4326 &hf_gprscdr_ServiceConditionChange_userCSGInformationChange
,
4327 &hf_gprscdr_ServiceConditionChange_presenceInPRAChange
,
4328 &hf_gprscdr_ServiceConditionChange_accessChangeOfSDF
,
4329 &hf_gprscdr_ServiceConditionChange_indirectServiceConditionChange
,
4330 &hf_gprscdr_ServiceConditionChange_servingPLMNRateControlChange
,
4331 &hf_gprscdr_ServiceConditionChange_aPNRateControlChange
,
4336 dissect_gprscdr_ServiceConditionChange(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4337 offset
= dissect_ber_bitstring(implicit_tag
, actx
, tree
, tvb
, offset
,
4338 ServiceConditionChange_bits
, 38, hf_index
, ett_gprscdr_ServiceConditionChange
,
4347 dissect_gprscdr_T_userLocationInformation_09(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4349 offset
= dissect_gprscdr_uli(tvb
, actx
, tree
, 2);
4356 static const ber_sequence_t SEQUENCE_OF_ServiceSpecificInfo_sequence_of
[1] = {
4357 { &hf_gprscdr_serviceSpecificInfo_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_gprscdr_ServiceSpecificInfo
},
4361 dissect_gprscdr_SEQUENCE_OF_ServiceSpecificInfo(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4362 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
4363 SEQUENCE_OF_ServiceSpecificInfo_sequence_of
, hf_index
, ett_gprscdr_SEQUENCE_OF_ServiceSpecificInfo
);
4371 dissect_gprscdr_ADCRuleBaseName(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4372 offset
= dissect_ber_restricted_string(implicit_tag
, BER_UNI_TAG_IA5String
,
4373 actx
, tree
, tvb
, offset
, hf_index
,
4382 dissect_gprscdr_T_userLocationInformation_11(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4384 offset
= dissect_gprscdr_uli(tvb
, actx
, tree
, 2);
4391 static const ber_sequence_t RelatedChangeOfServiceCondition_sequence
[] = {
4392 { &hf_gprscdr_userLocationInformation_12
, BER_CLASS_CON
, 20, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_T_userLocationInformation_11
},
4393 { &hf_gprscdr_threeGPP2UserLocationInformation
, BER_CLASS_CON
, 24, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_OCTET_STRING
},
4394 { &hf_gprscdr_presenceReportingAreaStatus
, BER_CLASS_CON
, 28, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PresenceReportingAreaStatus
},
4395 { &hf_gprscdr_userCSGInformation
, BER_CLASS_CON
, 29, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_UserCSGInformation
},
4396 { &hf_gprscdr_rATType
, BER_CLASS_CON
, 30, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_RATType
},
4397 { &hf_gprscdr_uWANUserLocationInformation
, BER_CLASS_CON
, 32, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_UWANUserLocationInfo
},
4398 { &hf_gprscdr_relatedServiceConditionChange
, BER_CLASS_CON
, 33, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ServiceConditionChange
},
4399 { NULL
, 0, 0, 0, NULL
}
4403 dissect_gprscdr_RelatedChangeOfServiceCondition(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4404 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
4405 RelatedChangeOfServiceCondition_sequence
, hf_index
, ett_gprscdr_RelatedChangeOfServiceCondition
);
4413 dissect_gprscdr_TrafficSteeringPolicyIDDownlink(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4414 offset
= dissect_ber_octet_string(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
4423 dissect_gprscdr_TrafficSteeringPolicyIDUplink(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4424 offset
= dissect_ber_octet_string(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
4431 static const ber_sequence_t TWANUserLocationInfo_sequence
[] = {
4432 { &hf_gprscdr_sSID
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_gprscdr_OCTET_STRING
},
4433 { &hf_gprscdr_bSSID
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_OCTET_STRING
},
4434 { &hf_gprscdr_civicAddressInformation
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_CivicAddressInformation
},
4435 { &hf_gprscdr_wLANOperatorId
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_WLANOperatorId
},
4436 { &hf_gprscdr_logicalAccessID
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_OCTET_STRING
},
4437 { NULL
, 0, 0, 0, NULL
}
4441 dissect_gprscdr_TWANUserLocationInfo(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4442 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
4443 TWANUserLocationInfo_sequence
, hf_index
, ett_gprscdr_TWANUserLocationInfo
);
4449 static const ber_sequence_t SEQUENCE_OF_InvolvedParty_sequence_of
[1] = {
4450 { &hf_gprscdr_list_Of_Called_Asserted_Identity_item
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_InvolvedParty
},
4454 dissect_gprscdr_SEQUENCE_OF_InvolvedParty(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4455 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
4456 SEQUENCE_OF_InvolvedParty_sequence_of
, hf_index
, ett_gprscdr_SEQUENCE_OF_InvolvedParty
);
4462 static const ber_sequence_t CalleePartyInformation_sequence
[] = {
4463 { &hf_gprscdr_called_Party_Address
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_InvolvedParty
},
4464 { &hf_gprscdr_requested_Party_Address
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_InvolvedParty
},
4465 { &hf_gprscdr_list_Of_Called_Asserted_Identity
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_SEQUENCE_OF_InvolvedParty
},
4466 { NULL
, 0, 0, 0, NULL
}
4470 dissect_gprscdr_CalleePartyInformation(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4471 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
4472 CalleePartyInformation_sequence
, hf_index
, ett_gprscdr_CalleePartyInformation
);
4478 static const ber_sequence_t VoLTEInformation_sequence
[] = {
4479 { &hf_gprscdr_callerInformation
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_SEQUENCE_OF_InvolvedParty
},
4480 { &hf_gprscdr_calleeInformation
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_CalleePartyInformation
},
4481 { NULL
, 0, 0, 0, NULL
}
4485 dissect_gprscdr_VoLTEInformation(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4486 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
4487 VoLTEInformation_sequence
, hf_index
, ett_gprscdr_VoLTEInformation
);
4493 static const ber_sequence_t ChangeOfServiceCondition_sequence
[] = {
4494 { &hf_gprscdr_ratingGroup
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_gprscdr_RatingGroupId
},
4495 { &hf_gprscdr_chargingRuleBaseName
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChargingRuleBaseName
},
4496 { &hf_gprscdr_resultCode
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ResultCode
},
4497 { &hf_gprscdr_localSequenceNumber
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_LocalSequenceNumber
},
4498 { &hf_gprscdr_timeOfFirstUsage
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_TimeStamp
},
4499 { &hf_gprscdr_timeOfLastUsage
, BER_CLASS_CON
, 6, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_TimeStamp
},
4500 { &hf_gprscdr_timeUsage
, BER_CLASS_CON
, 7, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_CallDuration
},
4501 { &hf_gprscdr_serviceConditionChange_01
, BER_CLASS_CON
, 8, BER_FLAGS_IMPLTAG
, dissect_gprscdr_ServiceConditionChange
},
4502 { &hf_gprscdr_qoSInformationNeg_01
, BER_CLASS_CON
, 9, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_EPCQoSInformation
},
4503 { &hf_gprscdr_servingNodeAddress_01
, BER_CLASS_CON
, 10, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_GSNAddress
},
4504 { &hf_gprscdr_datavolumeFBCUplink
, BER_CLASS_CON
, 12, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_DataVolumeGPRS
},
4505 { &hf_gprscdr_datavolumeFBCDownlink
, BER_CLASS_CON
, 13, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_DataVolumeGPRS
},
4506 { &hf_gprscdr_timeOfReport
, BER_CLASS_CON
, 14, BER_FLAGS_IMPLTAG
, dissect_gprscdr_TimeStamp
},
4507 { &hf_gprscdr_failureHandlingContinue
, BER_CLASS_CON
, 16, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_FailureHandlingContinue
},
4508 { &hf_gprscdr_serviceIdentifier
, BER_CLASS_CON
, 17, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ServiceIdentifier
},
4509 { &hf_gprscdr_pSFurnishChargingInformation
, BER_CLASS_CON
, 18, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PSFurnishChargingInformation
},
4510 { &hf_gprscdr_aFRecordInformation
, BER_CLASS_CON
, 19, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_SEQUENCE_OF_AFRecordInformation
},
4511 { &hf_gprscdr_userLocationInformation_10
, BER_CLASS_CON
, 20, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_T_userLocationInformation_09
},
4512 { &hf_gprscdr_eventBasedChargingInformation
, BER_CLASS_CON
, 21, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_EventBasedChargingInformation
},
4513 { &hf_gprscdr_timeQuotaMechanism
, BER_CLASS_CON
, 22, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_TimeQuotaMechanism
},
4514 { &hf_gprscdr_serviceSpecificInfo
, BER_CLASS_CON
, 23, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_SEQUENCE_OF_ServiceSpecificInfo
},
4515 { &hf_gprscdr_threeGPP2UserLocationInformation
, BER_CLASS_CON
, 24, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_OCTET_STRING
},
4516 { &hf_gprscdr_sponsorIdentity
, BER_CLASS_CON
, 25, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_OCTET_STRING
},
4517 { &hf_gprscdr_applicationServiceProviderIdentity
, BER_CLASS_CON
, 26, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_OCTET_STRING
},
4518 { &hf_gprscdr_aDCRuleBaseName
, BER_CLASS_CON
, 27, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ADCRuleBaseName
},
4519 { &hf_gprscdr_presenceReportingAreaStatus
, BER_CLASS_CON
, 28, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PresenceReportingAreaStatus
},
4520 { &hf_gprscdr_userCSGInformation
, BER_CLASS_CON
, 29, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_UserCSGInformation
},
4521 { &hf_gprscdr_rATType
, BER_CLASS_CON
, 30, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_RATType
},
4522 { &hf_gprscdr_uWANUserLocationInformation
, BER_CLASS_CON
, 32, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_UWANUserLocationInfo
},
4523 { &hf_gprscdr_relatedChangeOfServiceCondition
, BER_CLASS_CON
, 33, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_RelatedChangeOfServiceCondition
},
4524 { &hf_gprscdr_servingPLMNRateControl
, BER_CLASS_CON
, 35, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ServingPLMNRateControl
},
4525 { &hf_gprscdr_aPNRateControl
, BER_CLASS_CON
, 36, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_APNRateControl
},
4526 { &hf_gprscdr_threeGPPPSDataOffStatus
, BER_CLASS_CON
, 37, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ThreeGPPPSDataOffStatus
},
4527 { &hf_gprscdr_trafficSteeringPolicyIDDownlink
, BER_CLASS_CON
, 38, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_TrafficSteeringPolicyIDDownlink
},
4528 { &hf_gprscdr_trafficSteeringPolicyIDUplink
, BER_CLASS_CON
, 39, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_TrafficSteeringPolicyIDUplink
},
4529 { &hf_gprscdr_tWANUserLocationInformation
, BER_CLASS_CON
, 40, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_TWANUserLocationInfo
},
4530 { &hf_gprscdr_listOfPresenceReportingAreaInformation
, BER_CLASS_CON
, 41, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_SEQUENCE_OF_PresenceReportingAreaInfo
},
4531 { &hf_gprscdr_voLTEInformation
, BER_CLASS_CON
, 42, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_VoLTEInformation
},
4532 { NULL
, 0, 0, 0, NULL
}
4536 dissect_gprscdr_ChangeOfServiceCondition(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4537 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
4538 ChangeOfServiceCondition_sequence
, hf_index
, ett_gprscdr_ChangeOfServiceCondition
);
4544 static const ber_sequence_t SEQUENCE_OF_ChangeOfServiceCondition_sequence_of
[1] = {
4545 { &hf_gprscdr_listOfServiceData_item_02
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_gprscdr_ChangeOfServiceCondition
},
4549 dissect_gprscdr_SEQUENCE_OF_ChangeOfServiceCondition(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4550 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
4551 SEQUENCE_OF_ChangeOfServiceCondition_sequence_of
, hf_index
, ett_gprscdr_SEQUENCE_OF_ChangeOfServiceCondition
);
4559 dissect_gprscdr_T_lastUserLocationInformation_01(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4561 offset
= dissect_gprscdr_uli(tvb
, actx
, tree
, 2);
4568 static const value_string gprscdr_NBIFOMMode_vals
[] = {
4569 { 0, "uEINITIATED" },
4570 { 1, "nETWORKINITIATED" },
4576 dissect_gprscdr_NBIFOMMode(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4577 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
4584 static const value_string gprscdr_NBIFOMSupport_vals
[] = {
4585 { 0, "nBIFOMNotSupported" },
4586 { 1, "nBIFOMSupported" },
4592 dissect_gprscdr_NBIFOMSupport(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4593 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
4600 static const value_string gprscdr_SGiPtPTunnellingMethod_vals
[] = {
4601 { 0, "uDPIPbased" },
4608 dissect_gprscdr_SGiPtPTunnellingMethod(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4609 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
4616 static const value_string gprscdr_ChargingPerIPCANSessionIndicator_vals
[] = {
4624 dissect_gprscdr_ChargingPerIPCANSessionIndicator(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4625 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
4632 static const ber_sequence_t PGWRecord_set
[] = {
4633 { &hf_gprscdr_recordType_01
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_gprscdr_RecordType
},
4634 { &hf_gprscdr_servedIMSI
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gsm_map_IMSI
},
4635 { &hf_gprscdr_p_GWAddress
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_GSNAddress
},
4636 { &hf_gprscdr_chargingID
, BER_CLASS_CON
, 5, BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChargingID
},
4637 { &hf_gprscdr_servingNodeAddress
, BER_CLASS_CON
, 6, BER_FLAGS_IMPLTAG
, dissect_gprscdr_SEQUENCE_OF_GSNAddress
},
4638 { &hf_gprscdr_accessPointNameNI
, BER_CLASS_CON
, 7, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_AccessPointNameNI
},
4639 { &hf_gprscdr_pdpPDNType
, BER_CLASS_CON
, 8, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PDPType
},
4640 { &hf_gprscdr_servedPDPPDNAddress
, BER_CLASS_CON
, 9, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_PDPAddress
},
4641 { &hf_gprscdr_dynamicAddressFlag
, BER_CLASS_CON
, 11, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_DynamicAddressFlag
},
4642 { &hf_gprscdr_listOfTrafficVolumes_01
, BER_CLASS_CON
, 12, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_SEQUENCE_OF_ChangeOfCharCondition
},
4643 { &hf_gprscdr_recordOpeningTime
, BER_CLASS_CON
, 13, BER_FLAGS_IMPLTAG
, dissect_gprscdr_TimeStamp
},
4644 { &hf_gprscdr_duration
, BER_CLASS_CON
, 14, BER_FLAGS_IMPLTAG
, dissect_gprscdr_CallDuration
},
4645 { &hf_gprscdr_causeForRecClosing_01
, BER_CLASS_CON
, 15, BER_FLAGS_IMPLTAG
, dissect_gprscdr_CauseForRecClosing
},
4646 { &hf_gprscdr_diagnostics
, BER_CLASS_CON
, 16, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_Diagnostics
},
4647 { &hf_gprscdr_recordSequenceNumber
, BER_CLASS_CON
, 17, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_INTEGER
},
4648 { &hf_gprscdr_nodeID
, BER_CLASS_CON
, 18, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_NodeID
},
4649 { &hf_gprscdr_recordExtensions
, BER_CLASS_CON
, 19, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ManagementExtensions
},
4650 { &hf_gprscdr_localSequenceNumber
, BER_CLASS_CON
, 20, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_LocalSequenceNumber
},
4651 { &hf_gprscdr_apnSelectionMode
, BER_CLASS_CON
, 21, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_APNSelectionMode
},
4652 { &hf_gprscdr_servedMSISDN
, BER_CLASS_CON
, 22, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_MSISDN
},
4653 { &hf_gprscdr_chargingCharacteristics
, BER_CLASS_CON
, 23, BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChargingCharacteristics
},
4654 { &hf_gprscdr_chChSelectionMode
, BER_CLASS_CON
, 24, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChChSelectionMode
},
4655 { &hf_gprscdr_iMSsignalingContext
, BER_CLASS_CON
, 25, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_NULL
},
4656 { &hf_gprscdr_servingNodePLMNIdentifier
, BER_CLASS_CON
, 27, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PLMN_Id
},
4657 { &hf_gprscdr_pSFurnishChargingInformation
, BER_CLASS_CON
, 28, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PSFurnishChargingInformation
},
4658 { &hf_gprscdr_servedIMEI
, BER_CLASS_CON
, 29, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gsm_map_IMEI
},
4659 { &hf_gprscdr_rATType
, BER_CLASS_CON
, 30, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_RATType
},
4660 { &hf_gprscdr_mSTimeZone
, BER_CLASS_CON
, 31, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_MSTimeZone
},
4661 { &hf_gprscdr_userLocationInformation_07
, BER_CLASS_CON
, 32, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_T_userLocationInformation_07
},
4662 { &hf_gprscdr_cAMELChargingInformation
, BER_CLASS_CON
, 33, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_OCTET_STRING
},
4663 { &hf_gprscdr_listOfServiceData_02
, BER_CLASS_CON
, 34, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_SEQUENCE_OF_ChangeOfServiceCondition
},
4664 { &hf_gprscdr_servingNodeType
, BER_CLASS_CON
, 35, BER_FLAGS_IMPLTAG
, dissect_gprscdr_SEQUENCE_OF_ServingNodeType
},
4665 { &hf_gprscdr_servedMNNAI
, BER_CLASS_CON
, 36, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_SubscriptionID
},
4666 { &hf_gprscdr_p_GWPLMNIdentifier
, BER_CLASS_CON
, 37, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PLMN_Id
},
4667 { &hf_gprscdr_startTime
, BER_CLASS_CON
, 38, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_TimeStamp
},
4668 { &hf_gprscdr_stopTime
, BER_CLASS_CON
, 39, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_TimeStamp
},
4669 { &hf_gprscdr_served3gpp2MEID
, BER_CLASS_CON
, 40, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_OCTET_STRING
},
4670 { &hf_gprscdr_pDNConnectionChargingID
, BER_CLASS_CON
, 41, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChargingID
},
4671 { &hf_gprscdr_iMSIunauthenticatedFlag
, BER_CLASS_CON
, 42, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_NULL
},
4672 { &hf_gprscdr_userCSGInformation
, BER_CLASS_CON
, 43, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_UserCSGInformation
},
4673 { &hf_gprscdr_threeGPP2UserLocationInformation
, BER_CLASS_CON
, 44, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_OCTET_STRING
},
4674 { &hf_gprscdr_servedPDPPDNAddressExt
, BER_CLASS_CON
, 45, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_PDPAddress
},
4675 { &hf_gprscdr_lowPriorityIndicator
, BER_CLASS_CON
, 46, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_NULL
},
4676 { &hf_gprscdr_dynamicAddressFlagExt
, BER_CLASS_CON
, 47, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_DynamicAddressFlag
},
4677 { &hf_gprscdr_servingNodeiPv6Address
, BER_CLASS_CON
, 49, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_SEQUENCE_OF_GSNAddress
},
4678 { &hf_gprscdr_p_GWiPv6AddressUsed
, BER_CLASS_CON
, 50, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_GSNAddress
},
4679 { &hf_gprscdr_tWANUserLocationInformation
, BER_CLASS_CON
, 51, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_TWANUserLocationInfo
},
4680 { &hf_gprscdr_retransmission
, BER_CLASS_CON
, 52, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_NULL
},
4681 { &hf_gprscdr_userLocationInfoTime
, BER_CLASS_CON
, 53, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_TimeStamp
},
4682 { &hf_gprscdr_cNOperatorSelectionEnt
, BER_CLASS_CON
, 54, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_CNOperatorSelectionEntity
},
4683 { &hf_gprscdr_ePCQoSInformation
, BER_CLASS_CON
, 55, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_EPCQoSInformation
},
4684 { &hf_gprscdr_presenceReportingAreaInfo
, BER_CLASS_CON
, 56, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PresenceReportingAreaInfo
},
4685 { &hf_gprscdr_lastUserLocationInformation_01
, BER_CLASS_CON
, 57, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_T_lastUserLocationInformation_01
},
4686 { &hf_gprscdr_lastMSTimeZone
, BER_CLASS_CON
, 58, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_MSTimeZone
},
4687 { &hf_gprscdr_enhancedDiagnostics
, BER_CLASS_CON
, 59, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_EnhancedDiagnostics
},
4688 { &hf_gprscdr_nBIFOMMode
, BER_CLASS_CON
, 60, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_NBIFOMMode
},
4689 { &hf_gprscdr_nBIFOMSupport
, BER_CLASS_CON
, 61, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_NBIFOMSupport
},
4690 { &hf_gprscdr_uWANUserLocationInformation
, BER_CLASS_CON
, 62, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_UWANUserLocationInfo
},
4691 { &hf_gprscdr_sGiPtPTunnellingMethod
, BER_CLASS_CON
, 64, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_SGiPtPTunnellingMethod
},
4692 { &hf_gprscdr_uNIPDUCPOnlyFlag
, BER_CLASS_CON
, 65, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_UNIPDUCPOnlyFlag
},
4693 { &hf_gprscdr_servingPLMNRateControl
, BER_CLASS_CON
, 66, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ServingPLMNRateControl
},
4694 { &hf_gprscdr_aPNRateControl
, BER_CLASS_CON
, 67, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_APNRateControl
},
4695 { &hf_gprscdr_pDPPDNTypeExtension
, BER_CLASS_CON
, 68, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PDPPDNTypeExtension
},
4696 { &hf_gprscdr_mOExceptionDataCounter
, BER_CLASS_CON
, 69, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_MOExceptionDataCounter
},
4697 { &hf_gprscdr_chargingPerIPCANSessionIndicator
, BER_CLASS_CON
, 70, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChargingPerIPCANSessionIndicator
},
4698 { &hf_gprscdr_threeGPPPSDataOffStatus
, BER_CLASS_CON
, 71, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ThreeGPPPSDataOffStatus
},
4699 { &hf_gprscdr_sCSASAddress
, BER_CLASS_CON
, 72, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_SCSASAddress
},
4700 { &hf_gprscdr_listOfRANSecondaryRATUsageReports
, BER_CLASS_CON
, 73, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_SEQUENCE_OF_RANSecondaryRATUsageReport
},
4701 { NULL
, 0, 0, 0, NULL
}
4705 dissect_gprscdr_PGWRecord(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4706 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
4707 PGWRecord_set
, hf_index
, ett_gprscdr_PGWRecord
);
4715 dissect_gprscdr_CTEID(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4716 offset
= dissect_ber_octet_string(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
4723 static const ber_sequence_t GWMBMSRecord_set
[] = {
4724 { &hf_gprscdr_recordType_01
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_gprscdr_RecordType
},
4725 { &hf_gprscdr_mbmsGWAddress
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_GSNAddress
},
4726 { &hf_gprscdr_chargingID
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChargingID
},
4727 { &hf_gprscdr_listofDownstreamNodes
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_gprscdr_SEQUENCE_OF_GSNAddress
},
4728 { &hf_gprscdr_accessPointNameNI
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_AccessPointNameNI
},
4729 { &hf_gprscdr_pdpPDNType
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PDPType
},
4730 { &hf_gprscdr_servedPDPPDNAddress
, BER_CLASS_CON
, 6, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_PDPAddress
},
4731 { &hf_gprscdr_listOfTrafficVolumes_02
, BER_CLASS_CON
, 7, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_SEQUENCE_OF_ChangeOfMBMSCondition
},
4732 { &hf_gprscdr_recordOpeningTime
, BER_CLASS_CON
, 8, BER_FLAGS_IMPLTAG
, dissect_gprscdr_TimeStamp
},
4733 { &hf_gprscdr_duration
, BER_CLASS_CON
, 9, BER_FLAGS_IMPLTAG
, dissect_gprscdr_CallDuration
},
4734 { &hf_gprscdr_causeForRecClosing_01
, BER_CLASS_CON
, 10, BER_FLAGS_IMPLTAG
, dissect_gprscdr_CauseForRecClosing
},
4735 { &hf_gprscdr_diagnostics
, BER_CLASS_CON
, 11, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_Diagnostics
},
4736 { &hf_gprscdr_recordSequenceNumber
, BER_CLASS_CON
, 12, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_INTEGER
},
4737 { &hf_gprscdr_nodeID
, BER_CLASS_CON
, 13, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_NodeID
},
4738 { &hf_gprscdr_recordExtensions
, BER_CLASS_CON
, 14, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ManagementExtensions
},
4739 { &hf_gprscdr_localSequenceNumber
, BER_CLASS_CON
, 15, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_LocalSequenceNumber
},
4740 { &hf_gprscdr_mbmsInformation
, BER_CLASS_CON
, 16, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_MBMSInformation
},
4741 { &hf_gprscdr_commonTeid
, BER_CLASS_CON
, 17, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_CTEID
},
4742 { &hf_gprscdr_iPMulticastSourceAddress
, BER_CLASS_CON
, 18, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_PDPAddress
},
4743 { NULL
, 0, 0, 0, NULL
}
4747 dissect_gprscdr_GWMBMSRecord(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4748 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
4749 GWMBMSRecord_set
, hf_index
, ett_gprscdr_GWMBMSRecord
);
4757 dissect_gprscdr_FixedSubsID(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4758 offset
= dissect_ber_octet_string(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
4765 static const ber_sequence_t AccessLineIdentifier_sequence
[] = {
4766 { &hf_gprscdr_physicalAccessID
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_UTF8String
},
4767 { &hf_gprscdr_logicalAccessID
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_OCTET_STRING
},
4768 { NULL
, 0, 0, 0, NULL
}
4772 dissect_gprscdr_AccessLineIdentifier(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4773 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
4774 AccessLineIdentifier_sequence
, hf_index
, ett_gprscdr_AccessLineIdentifier
);
4780 static const ber_sequence_t FixedUserLocationInformation_sequence
[] = {
4781 { &hf_gprscdr_sSID
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_OCTET_STRING
},
4782 { &hf_gprscdr_bSSID
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_OCTET_STRING
},
4783 { &hf_gprscdr_accessLineIdentifier
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_AccessLineIdentifier
},
4784 { NULL
, 0, 0, 0, NULL
}
4788 dissect_gprscdr_FixedUserLocationInformation(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4789 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
4790 FixedUserLocationInformation_sequence
, hf_index
, ett_gprscdr_FixedUserLocationInformation
);
4796 static const ber_sequence_t TDFRecord_set
[] = {
4797 { &hf_gprscdr_recordType_01
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_gprscdr_RecordType
},
4798 { &hf_gprscdr_servedIMSI
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gsm_map_IMSI
},
4799 { &hf_gprscdr_p_GWAddress
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_GSNAddress
},
4800 { &hf_gprscdr_servingNodeAddress
, BER_CLASS_CON
, 6, BER_FLAGS_IMPLTAG
, dissect_gprscdr_SEQUENCE_OF_GSNAddress
},
4801 { &hf_gprscdr_accessPointNameNI
, BER_CLASS_CON
, 7, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_AccessPointNameNI
},
4802 { &hf_gprscdr_pdpPDNType
, BER_CLASS_CON
, 8, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PDPType
},
4803 { &hf_gprscdr_servedPDPPDNAddress
, BER_CLASS_CON
, 9, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_PDPAddress
},
4804 { &hf_gprscdr_dynamicAddressFlag
, BER_CLASS_CON
, 11, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_DynamicAddressFlag
},
4805 { &hf_gprscdr_recordOpeningTime
, BER_CLASS_CON
, 13, BER_FLAGS_IMPLTAG
, dissect_gprscdr_TimeStamp
},
4806 { &hf_gprscdr_duration
, BER_CLASS_CON
, 14, BER_FLAGS_IMPLTAG
, dissect_gprscdr_CallDuration
},
4807 { &hf_gprscdr_causeForRecClosing_01
, BER_CLASS_CON
, 15, BER_FLAGS_IMPLTAG
, dissect_gprscdr_CauseForRecClosing
},
4808 { &hf_gprscdr_diagnostics
, BER_CLASS_CON
, 16, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_Diagnostics
},
4809 { &hf_gprscdr_recordSequenceNumber
, BER_CLASS_CON
, 17, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_INTEGER
},
4810 { &hf_gprscdr_nodeID
, BER_CLASS_CON
, 18, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_NodeID
},
4811 { &hf_gprscdr_recordExtensions
, BER_CLASS_CON
, 19, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ManagementExtensions
},
4812 { &hf_gprscdr_localSequenceNumber
, BER_CLASS_CON
, 20, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_LocalSequenceNumber
},
4813 { &hf_gprscdr_apnSelectionMode
, BER_CLASS_CON
, 21, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_APNSelectionMode
},
4814 { &hf_gprscdr_servedMSISDN
, BER_CLASS_CON
, 22, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_MSISDN
},
4815 { &hf_gprscdr_chargingCharacteristics
, BER_CLASS_CON
, 23, BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChargingCharacteristics
},
4816 { &hf_gprscdr_chChSelectionMode
, BER_CLASS_CON
, 24, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChChSelectionMode
},
4817 { &hf_gprscdr_servingNodePLMNIdentifier
, BER_CLASS_CON
, 27, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PLMN_Id
},
4818 { &hf_gprscdr_pSFurnishChargingInformation
, BER_CLASS_CON
, 28, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PSFurnishChargingInformation
},
4819 { &hf_gprscdr_servedIMEI
, BER_CLASS_CON
, 29, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gsm_map_IMEI
},
4820 { &hf_gprscdr_rATType
, BER_CLASS_CON
, 30, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_RATType
},
4821 { &hf_gprscdr_mSTimeZone
, BER_CLASS_CON
, 31, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_MSTimeZone
},
4822 { &hf_gprscdr_userLocationInformation_08
, BER_CLASS_CON
, 32, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_OCTET_STRING
},
4823 { &hf_gprscdr_listOfServiceData_02
, BER_CLASS_CON
, 34, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_SEQUENCE_OF_ChangeOfServiceCondition
},
4824 { &hf_gprscdr_servingNodeType
, BER_CLASS_CON
, 35, BER_FLAGS_IMPLTAG
, dissect_gprscdr_SEQUENCE_OF_ServingNodeType
},
4825 { &hf_gprscdr_servedMNNAI
, BER_CLASS_CON
, 36, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_SubscriptionID
},
4826 { &hf_gprscdr_p_GWPLMNIdentifier
, BER_CLASS_CON
, 37, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PLMN_Id
},
4827 { &hf_gprscdr_startTime
, BER_CLASS_CON
, 38, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_TimeStamp
},
4828 { &hf_gprscdr_stopTime
, BER_CLASS_CON
, 39, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_TimeStamp
},
4829 { &hf_gprscdr_served3gpp2MEID
, BER_CLASS_CON
, 40, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_OCTET_STRING
},
4830 { &hf_gprscdr_pDNConnectionChargingID
, BER_CLASS_CON
, 41, BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChargingID
},
4831 { &hf_gprscdr_userCSGInformation
, BER_CLASS_CON
, 43, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_UserCSGInformation
},
4832 { &hf_gprscdr_threeGPP2UserLocationInformation
, BER_CLASS_CON
, 44, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_OCTET_STRING
},
4833 { &hf_gprscdr_servedPDPPDNAddressExt
, BER_CLASS_CON
, 45, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_PDPAddress
},
4834 { &hf_gprscdr_dynamicAddressFlagExt
, BER_CLASS_CON
, 47, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_DynamicAddressFlag
},
4835 { &hf_gprscdr_servingNodeiPv6Address
, BER_CLASS_CON
, 49, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_SEQUENCE_OF_GSNAddress
},
4836 { &hf_gprscdr_p_GWiPv6AddressUsed
, BER_CLASS_CON
, 50, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_GSNAddress
},
4837 { &hf_gprscdr_tWANUserLocationInformation
, BER_CLASS_CON
, 51, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_TWANUserLocationInfo
},
4838 { &hf_gprscdr_retransmission
, BER_CLASS_CON
, 52, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_NULL
},
4839 { &hf_gprscdr_tDFAddress
, BER_CLASS_CON
, 53, BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_GSNAddress
},
4840 { &hf_gprscdr_tDFiPv6AddressUsed
, BER_CLASS_CON
, 54, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_GSNAddress
},
4841 { &hf_gprscdr_tDFPLMNIdentifier
, BER_CLASS_CON
, 55, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PLMN_Id
},
4842 { &hf_gprscdr_servedFixedSubsID
, BER_CLASS_CON
, 56, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_FixedSubsID
},
4843 { &hf_gprscdr_accessLineIdentifier
, BER_CLASS_CON
, 57, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_AccessLineIdentifier
},
4844 { &hf_gprscdr_fixedUserLocationInformation
, BER_CLASS_CON
, 59, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_FixedUserLocationInformation
},
4845 { NULL
, 0, 0, 0, NULL
}
4849 dissect_gprscdr_TDFRecord(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4850 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
4851 TDFRecord_set
, hf_index
, ett_gprscdr_TDFRecord
);
4857 static const ber_sequence_t IPERecord_set
[] = {
4858 { &hf_gprscdr_recordType_01
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_gprscdr_RecordType
},
4859 { &hf_gprscdr_servedIMSI
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gsm_map_IMSI
},
4860 { &hf_gprscdr_iPEdgeAddress
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_GSNAddress
},
4861 { &hf_gprscdr_chargingID
, BER_CLASS_CON
, 5, BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChargingID
},
4862 { &hf_gprscdr_accessPointNameNI
, BER_CLASS_CON
, 7, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_AccessPointNameNI
},
4863 { &hf_gprscdr_iPCANsessionType
, BER_CLASS_CON
, 8, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PDPType
},
4864 { &hf_gprscdr_servedIPCANsessionAddress
, BER_CLASS_CON
, 9, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_PDPAddress
},
4865 { &hf_gprscdr_dynamicAddressFlag
, BER_CLASS_CON
, 11, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_DynamicAddressFlag
},
4866 { &hf_gprscdr_listOfTrafficVolumes_01
, BER_CLASS_CON
, 12, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_SEQUENCE_OF_ChangeOfCharCondition
},
4867 { &hf_gprscdr_recordOpeningTime
, BER_CLASS_CON
, 13, BER_FLAGS_IMPLTAG
, dissect_gprscdr_TimeStamp
},
4868 { &hf_gprscdr_duration
, BER_CLASS_CON
, 14, BER_FLAGS_IMPLTAG
, dissect_gprscdr_CallDuration
},
4869 { &hf_gprscdr_causeForRecClosing_01
, BER_CLASS_CON
, 15, BER_FLAGS_IMPLTAG
, dissect_gprscdr_CauseForRecClosing
},
4870 { &hf_gprscdr_diagnostics
, BER_CLASS_CON
, 16, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_Diagnostics
},
4871 { &hf_gprscdr_recordSequenceNumber
, BER_CLASS_CON
, 17, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_INTEGER
},
4872 { &hf_gprscdr_nodeID
, BER_CLASS_CON
, 18, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_NodeID
},
4873 { &hf_gprscdr_recordExtensions
, BER_CLASS_CON
, 19, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ManagementExtensions
},
4874 { &hf_gprscdr_localSequenceNumber
, BER_CLASS_CON
, 20, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_LocalSequenceNumber
},
4875 { &hf_gprscdr_servedMSISDN
, BER_CLASS_CON
, 22, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_MSISDN
},
4876 { &hf_gprscdr_chargingCharacteristics
, BER_CLASS_CON
, 23, BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChargingCharacteristics
},
4877 { &hf_gprscdr_chChSelectionMode
, BER_CLASS_CON
, 24, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChChSelectionMode
},
4878 { &hf_gprscdr_pSFurnishChargingInformation
, BER_CLASS_CON
, 28, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PSFurnishChargingInformation
},
4879 { &hf_gprscdr_servedIMEI
, BER_CLASS_CON
, 29, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gsm_map_IMEI
},
4880 { &hf_gprscdr_listOfServiceData_02
, BER_CLASS_CON
, 34, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_SEQUENCE_OF_ChangeOfServiceCondition
},
4881 { &hf_gprscdr_servedMNNAI
, BER_CLASS_CON
, 36, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_SubscriptionID
},
4882 { &hf_gprscdr_iPEdgeOperatorIdentifier
, BER_CLASS_CON
, 37, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PLMN_Id
},
4883 { &hf_gprscdr_startTime
, BER_CLASS_CON
, 38, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_TimeStamp
},
4884 { &hf_gprscdr_stopTime
, BER_CLASS_CON
, 39, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_TimeStamp
},
4885 { &hf_gprscdr_servedIPCANsessionAddressExt
, BER_CLASS_CON
, 45, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_PDPAddress
},
4886 { &hf_gprscdr_dynamicAddressFlagExt
, BER_CLASS_CON
, 47, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_DynamicAddressFlag
},
4887 { &hf_gprscdr_iPEdgeiPv6AddressUsed
, BER_CLASS_CON
, 50, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_GSNAddress
},
4888 { &hf_gprscdr_retransmission
, BER_CLASS_CON
, 52, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_NULL
},
4889 { &hf_gprscdr_servedFixedSubsID
, BER_CLASS_CON
, 55, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_FixedSubsID
},
4890 { &hf_gprscdr_accessLineIdentifier
, BER_CLASS_CON
, 56, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_AccessLineIdentifier
},
4891 { &hf_gprscdr_fixedUserLocationInformation
, BER_CLASS_CON
, 57, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_FixedUserLocationInformation
},
4892 { NULL
, 0, 0, 0, NULL
}
4896 dissect_gprscdr_IPERecord(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4897 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
4898 IPERecord_set
, hf_index
, ett_gprscdr_IPERecord
);
4904 static const ber_sequence_t EPDGRecord_set
[] = {
4905 { &hf_gprscdr_recordType_01
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_gprscdr_RecordType
},
4906 { &hf_gprscdr_servedIMSI
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gsm_map_IMSI
},
4907 { &hf_gprscdr_ePDGAddressUsed
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_GSNAddress
},
4908 { &hf_gprscdr_chargingID
, BER_CLASS_CON
, 5, BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChargingID
},
4909 { &hf_gprscdr_accessPointNameNI
, BER_CLASS_CON
, 7, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_AccessPointNameNI
},
4910 { &hf_gprscdr_pdpPDNType
, BER_CLASS_CON
, 8, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PDPType
},
4911 { &hf_gprscdr_servedPDPPDNAddress
, BER_CLASS_CON
, 9, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_PDPAddress
},
4912 { &hf_gprscdr_dynamicAddressFlag
, BER_CLASS_CON
, 11, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_DynamicAddressFlag
},
4913 { &hf_gprscdr_listOfTrafficVolumes_01
, BER_CLASS_CON
, 12, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_SEQUENCE_OF_ChangeOfCharCondition
},
4914 { &hf_gprscdr_recordOpeningTime
, BER_CLASS_CON
, 13, BER_FLAGS_IMPLTAG
, dissect_gprscdr_TimeStamp
},
4915 { &hf_gprscdr_duration
, BER_CLASS_CON
, 14, BER_FLAGS_IMPLTAG
, dissect_gprscdr_CallDuration
},
4916 { &hf_gprscdr_causeForRecClosing_01
, BER_CLASS_CON
, 15, BER_FLAGS_IMPLTAG
, dissect_gprscdr_CauseForRecClosing
},
4917 { &hf_gprscdr_diagnostics
, BER_CLASS_CON
, 16, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_Diagnostics
},
4918 { &hf_gprscdr_recordSequenceNumber
, BER_CLASS_CON
, 17, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_INTEGER
},
4919 { &hf_gprscdr_nodeID
, BER_CLASS_CON
, 18, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_NodeID
},
4920 { &hf_gprscdr_recordExtensions
, BER_CLASS_CON
, 19, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ManagementExtensions
},
4921 { &hf_gprscdr_localSequenceNumber
, BER_CLASS_CON
, 20, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_LocalSequenceNumber
},
4922 { &hf_gprscdr_apnSelectionMode
, BER_CLASS_CON
, 21, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_APNSelectionMode
},
4923 { &hf_gprscdr_servedMSISDN
, BER_CLASS_CON
, 22, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_MSISDN
},
4924 { &hf_gprscdr_chargingCharacteristics
, BER_CLASS_CON
, 23, BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChargingCharacteristics
},
4925 { &hf_gprscdr_chChSelectionMode
, BER_CLASS_CON
, 24, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChChSelectionMode
},
4926 { &hf_gprscdr_iMSsignalingContext
, BER_CLASS_CON
, 25, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_NULL
},
4927 { &hf_gprscdr_servedIMEI
, BER_CLASS_CON
, 29, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gsm_map_IMEI
},
4928 { &hf_gprscdr_rATType
, BER_CLASS_CON
, 30, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_RATType
},
4929 { &hf_gprscdr_sGWChange
, BER_CLASS_CON
, 34, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_SGWChange
},
4930 { &hf_gprscdr_p_GWAddressUsed
, BER_CLASS_CON
, 36, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_GSNAddress
},
4931 { &hf_gprscdr_p_GWPLMNIdentifier
, BER_CLASS_CON
, 37, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PLMN_Id
},
4932 { &hf_gprscdr_startTime
, BER_CLASS_CON
, 38, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_TimeStamp
},
4933 { &hf_gprscdr_stopTime
, BER_CLASS_CON
, 39, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_TimeStamp
},
4934 { &hf_gprscdr_pDNConnectionChargingID
, BER_CLASS_CON
, 40, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChargingID
},
4935 { &hf_gprscdr_servedPDPPDNAddressExt
, BER_CLASS_CON
, 43, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_PDPAddress
},
4936 { &hf_gprscdr_dynamicAddressFlagExt
, BER_CLASS_CON
, 47, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_DynamicAddressFlag
},
4937 { &hf_gprscdr_ePDGiPv6AddressUsed
, BER_CLASS_CON
, 48, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_GSNAddress
},
4938 { &hf_gprscdr_p_GWiPv6AddressUsed
, BER_CLASS_CON
, 50, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_GSNAddress
},
4939 { &hf_gprscdr_retransmission
, BER_CLASS_CON
, 51, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_NULL
},
4940 { &hf_gprscdr_enhancedDiagnostics
, BER_CLASS_CON
, 52, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_EnhancedDiagnostics
},
4941 { &hf_gprscdr_uWANUserLocationInformation
, BER_CLASS_CON
, 53, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_UWANUserLocationInfo
},
4942 { &hf_gprscdr_userLocationInfoTime
, BER_CLASS_CON
, 54, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_TimeStamp
},
4943 { &hf_gprscdr_iMSIunauthenticatedFlag
, BER_CLASS_CON
, 55, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_NULL
},
4944 { NULL
, 0, 0, 0, NULL
}
4948 dissect_gprscdr_EPDGRecord(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4949 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
4950 EPDGRecord_set
, hf_index
, ett_gprscdr_EPDGRecord
);
4956 static const ber_sequence_t TWAGRecord_set
[] = {
4957 { &hf_gprscdr_recordType_01
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_gprscdr_RecordType
},
4958 { &hf_gprscdr_servedIMSI
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gsm_map_IMSI
},
4959 { &hf_gprscdr_tWAGAddressUsed
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_GSNAddress
},
4960 { &hf_gprscdr_chargingID
, BER_CLASS_CON
, 5, BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChargingID
},
4961 { &hf_gprscdr_accessPointNameNI
, BER_CLASS_CON
, 7, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_AccessPointNameNI
},
4962 { &hf_gprscdr_pdpPDNType
, BER_CLASS_CON
, 8, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PDPType
},
4963 { &hf_gprscdr_servedPDPPDNAddress
, BER_CLASS_CON
, 9, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_PDPAddress
},
4964 { &hf_gprscdr_dynamicAddressFlag
, BER_CLASS_CON
, 11, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_DynamicAddressFlag
},
4965 { &hf_gprscdr_listOfTrafficVolumes_01
, BER_CLASS_CON
, 12, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_SEQUENCE_OF_ChangeOfCharCondition
},
4966 { &hf_gprscdr_recordOpeningTime
, BER_CLASS_CON
, 13, BER_FLAGS_IMPLTAG
, dissect_gprscdr_TimeStamp
},
4967 { &hf_gprscdr_duration
, BER_CLASS_CON
, 14, BER_FLAGS_IMPLTAG
, dissect_gprscdr_CallDuration
},
4968 { &hf_gprscdr_causeForRecClosing_01
, BER_CLASS_CON
, 15, BER_FLAGS_IMPLTAG
, dissect_gprscdr_CauseForRecClosing
},
4969 { &hf_gprscdr_diagnostics
, BER_CLASS_CON
, 16, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_Diagnostics
},
4970 { &hf_gprscdr_recordSequenceNumber
, BER_CLASS_CON
, 17, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_INTEGER
},
4971 { &hf_gprscdr_nodeID
, BER_CLASS_CON
, 18, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_NodeID
},
4972 { &hf_gprscdr_recordExtensions
, BER_CLASS_CON
, 19, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ManagementExtensions
},
4973 { &hf_gprscdr_localSequenceNumber
, BER_CLASS_CON
, 20, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_LocalSequenceNumber
},
4974 { &hf_gprscdr_apnSelectionMode
, BER_CLASS_CON
, 21, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_APNSelectionMode
},
4975 { &hf_gprscdr_servedMSISDN
, BER_CLASS_CON
, 22, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_MSISDN
},
4976 { &hf_gprscdr_chargingCharacteristics
, BER_CLASS_CON
, 23, BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChargingCharacteristics
},
4977 { &hf_gprscdr_chChSelectionMode
, BER_CLASS_CON
, 24, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChChSelectionMode
},
4978 { &hf_gprscdr_servedIMEI
, BER_CLASS_CON
, 29, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gsm_map_IMEI
},
4979 { &hf_gprscdr_rATType
, BER_CLASS_CON
, 30, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_RATType
},
4980 { &hf_gprscdr_sGWChange
, BER_CLASS_CON
, 34, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_SGWChange
},
4981 { &hf_gprscdr_p_GWAddressUsed
, BER_CLASS_CON
, 36, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_GSNAddress
},
4982 { &hf_gprscdr_p_GWPLMNIdentifier
, BER_CLASS_CON
, 37, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_PLMN_Id
},
4983 { &hf_gprscdr_startTime
, BER_CLASS_CON
, 38, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_TimeStamp
},
4984 { &hf_gprscdr_stopTime
, BER_CLASS_CON
, 39, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_TimeStamp
},
4985 { &hf_gprscdr_pDNConnectionChargingID
, BER_CLASS_CON
, 40, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_ChargingID
},
4986 { &hf_gprscdr_servedPDPPDNAddressExt
, BER_CLASS_CON
, 43, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_PDPAddress
},
4987 { &hf_gprscdr_dynamicAddressFlagExt
, BER_CLASS_CON
, 47, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_DynamicAddressFlag
},
4988 { &hf_gprscdr_tWAGiPv6AddressUsed
, BER_CLASS_CON
, 48, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_GSNAddress
},
4989 { &hf_gprscdr_p_GWiPv6AddressUsed
, BER_CLASS_CON
, 50, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_gprscdr_GSNAddress
},
4990 { &hf_gprscdr_retransmission
, BER_CLASS_CON
, 51, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_NULL
},
4991 { &hf_gprscdr_enhancedDiagnostics
, BER_CLASS_CON
, 52, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_EnhancedDiagnostics
},
4992 { &hf_gprscdr_tWANUserLocationInformation
, BER_CLASS_CON
, 53, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_TWANUserLocationInfo
},
4993 { &hf_gprscdr_iMSIunauthenticatedFlag
, BER_CLASS_CON
, 54, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_gprscdr_NULL
},
4994 { NULL
, 0, 0, 0, NULL
}
4998 dissect_gprscdr_TWAGRecord(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4999 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
5000 TWAGRecord_set
, hf_index
, ett_gprscdr_TWAGRecord
);
5006 const value_string gprscdr_GPRSRecord_vals
[] = {
5007 { 20, "sgsnPDPRecord" },
5008 { 21, "ggsnPDPRecord" },
5009 { 22, "sgsnMMRecord" },
5010 { 23, "sgsnSMORecord" },
5011 { 24, "sgsnSMTRecord" },
5012 { 25, "sgsnMTLCSRecord" },
5013 { 26, "sgsnMOLCSRecord" },
5014 { 27, "sgsnNILCSRecord" },
5015 { 70, "egsnPDPRecord" },
5016 { 76, "sgsnMBMSRecord" },
5017 { 77, "ggsnMBMSRecord" },
5018 { 78, "sGWRecord" },
5019 { 79, "pGWRecord" },
5020 { 86, "gwMBMSRecord" },
5021 { 92, "tDFRecord" },
5022 { 95, "iPERecord" },
5023 { 96, "ePDGRecord" },
5024 { 97, "tWAGRecord" },
5028 static const ber_choice_t GPRSRecord_choice
[] = {
5029 { 20, &hf_gprscdr_sgsnPDPRecord_01
, BER_CLASS_CON
, 20, BER_FLAGS_IMPLTAG
, dissect_gprscdr_SGSNPDPRecord
},
5030 { 21, &hf_gprscdr_ggsnPDPRecord_01
, BER_CLASS_CON
, 21, BER_FLAGS_IMPLTAG
, dissect_gprscdr_GGSNPDPRecordV750
},
5031 { 22, &hf_gprscdr_sgsnMMRecord
, BER_CLASS_CON
, 22, BER_FLAGS_IMPLTAG
, dissect_gprscdr_SGSNMMRecord
},
5032 { 23, &hf_gprscdr_sgsnSMORecord_01
, BER_CLASS_CON
, 23, BER_FLAGS_IMPLTAG
, dissect_gprscdr_SGSNSMORecord
},
5033 { 24, &hf_gprscdr_sgsnSMTRecord_01
, BER_CLASS_CON
, 24, BER_FLAGS_IMPLTAG
, dissect_gprscdr_SGSNSMTRecord
},
5034 { 25, &hf_gprscdr_sgsnMTLCSRecord
, BER_CLASS_CON
, 25, BER_FLAGS_IMPLTAG
, dissect_gprscdr_SGSNMTLCSRecord
},
5035 { 26, &hf_gprscdr_sgsnMOLCSRecord
, BER_CLASS_CON
, 26, BER_FLAGS_IMPLTAG
, dissect_gprscdr_SGSNMOLCSRecord
},
5036 { 27, &hf_gprscdr_sgsnNILCSRecord
, BER_CLASS_CON
, 27, BER_FLAGS_IMPLTAG
, dissect_gprscdr_SGSNNILCSRecord
},
5037 { 70, &hf_gprscdr_egsnPDPRecord_01
, BER_CLASS_CON
, 70, BER_FLAGS_IMPLTAG
, dissect_gprscdr_EGSNPDPRecordV750
},
5038 { 76, &hf_gprscdr_sgsnMBMSRecord
, BER_CLASS_CON
, 76, BER_FLAGS_IMPLTAG
, dissect_gprscdr_SGSNMBMSRecord
},
5039 { 77, &hf_gprscdr_ggsnMBMSRecord
, BER_CLASS_CON
, 77, BER_FLAGS_IMPLTAG
, dissect_gprscdr_GGSNMBMSRecord
},
5040 { 78, &hf_gprscdr_sGWRecord
, BER_CLASS_CON
, 78, BER_FLAGS_IMPLTAG
, dissect_gprscdr_SGWRecord
},
5041 { 79, &hf_gprscdr_pGWRecord
, BER_CLASS_CON
, 79, BER_FLAGS_IMPLTAG
, dissect_gprscdr_PGWRecord
},
5042 { 86, &hf_gprscdr_gwMBMSRecord
, BER_CLASS_CON
, 86, BER_FLAGS_IMPLTAG
, dissect_gprscdr_GWMBMSRecord
},
5043 { 92, &hf_gprscdr_tDFRecord
, BER_CLASS_CON
, 92, BER_FLAGS_IMPLTAG
, dissect_gprscdr_TDFRecord
},
5044 { 95, &hf_gprscdr_iPERecord
, BER_CLASS_CON
, 95, BER_FLAGS_IMPLTAG
, dissect_gprscdr_IPERecord
},
5045 { 96, &hf_gprscdr_ePDGRecord
, BER_CLASS_CON
, 96, BER_FLAGS_IMPLTAG
, dissect_gprscdr_EPDGRecord
},
5046 { 97, &hf_gprscdr_tWAGRecord
, BER_CLASS_CON
, 97, BER_FLAGS_IMPLTAG
, dissect_gprscdr_TWAGRecord
},
5047 { 0, NULL
, 0, 0, 0, NULL
}
5051 dissect_gprscdr_GPRSRecord(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5053 int branch_taken
, t_offset
= offset
;
5056 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
5057 GPRSRecord_choice
, hf_index
, ett_gprscdr_GPRSRecord
,
5061 if(branch_taken
== -1){
5062 get_ber_identifier(tvb
, t_offset
, NULL
, NULL
, &tag
);
5063 item
= proto_tree_add_uint(tree
, hf_index
, tvb
, t_offset
, 1, tag
);
5064 dissect_ber_identifier(actx
->pinfo
, tree
, tvb
, t_offset
, NULL
, NULL
, &tag
);
5065 expert_add_info_format(actx
->pinfo
, item
, &ei_gprscdr_choice_not_found
,
5066 "Record type(BER choice) not found: %u", tag
);
5074 int dissect_gprscdr_GPRSCallEventRecord_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
5076 asn1_ctx_t asn1_ctx
;
5077 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
5078 offset
= dissect_gprscdr_GPRSCallEventRecord(false, tvb
, offset
, &asn1_ctx
, tree
, hf_gprscdr_gprscdr_GPRSCallEventRecord_PDU
);
5081 int dissect_gprscdr_GPRSRecord_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
5083 asn1_ctx_t asn1_ctx
;
5084 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
5085 offset
= dissect_gprscdr_GPRSRecord(false, tvb
, offset
, &asn1_ctx
, tree
, hf_gprscdr_gprscdr_GPRSRecord_PDU
);
5088 int dissect_gprscdr_CAMELInformationPDP_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
5090 asn1_ctx_t asn1_ctx
;
5091 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
5092 offset
= dissect_gprscdr_CAMELInformationPDP(false, tvb
, offset
, &asn1_ctx
, tree
, hf_gprscdr_gprscdr_CAMELInformationPDP_PDU
);
5099 /* Register all the bits needed with the filtering engine */
5101 proto_register_gprscdr(void)
5103 /* List of fields */
5104 static hf_register_info hf
[] = {
5105 { &hf_gprscdr_gprscdr_GPRSCallEventRecord_PDU
,
5106 { "GPRSCallEventRecord", "gprscdr.GPRSCallEventRecord",
5107 FT_UINT32
, BASE_DEC
, VALS(gprscdr_GPRSCallEventRecord_vals
), 0,
5109 { &hf_gprscdr_gprscdr_GPRSRecord_PDU
,
5110 { "GPRSRecord", "gprscdr.GPRSRecord",
5111 FT_UINT32
, BASE_DEC
, VALS(gprscdr_GPRSRecord_vals
), 0,
5113 { &hf_gprscdr_gprscdr_CAMELInformationPDP_PDU
,
5114 { "CAMELInformationPDP", "gprscdr.CAMELInformationPDP_element",
5115 FT_NONE
, BASE_NONE
, NULL
, 0,
5117 { &hf_gprscdr_gsm0408Cause
,
5118 { "gsm0408Cause", "gprscdr.gsm0408Cause",
5119 FT_INT32
, BASE_DEC
, NULL
, 0,
5120 "INTEGER", HFILL
}},
5121 { &hf_gprscdr_gsm0902MapErrorValue
,
5122 { "gsm0902MapErrorValue", "gprscdr.gsm0902MapErrorValue",
5123 FT_INT32
, BASE_DEC
, NULL
, 0,
5124 "INTEGER", HFILL
}},
5125 { &hf_gprscdr_itu_tQ767Cause
,
5126 { "itu-tQ767Cause", "gprscdr.itu_tQ767Cause",
5127 FT_INT32
, BASE_DEC
, NULL
, 0,
5128 "INTEGER", HFILL
}},
5129 { &hf_gprscdr_networkSpecificCause
,
5130 { "networkSpecificCause", "gprscdr.networkSpecificCause_element",
5131 FT_NONE
, BASE_NONE
, NULL
, 0,
5132 "ManagementExtension", HFILL
}},
5133 { &hf_gprscdr_manufacturerSpecificCause
,
5134 { "manufacturerSpecificCause", "gprscdr.manufacturerSpecificCause_element",
5135 FT_NONE
, BASE_NONE
, NULL
, 0,
5136 "ManagementExtension", HFILL
}},
5137 { &hf_gprscdr_positionMethodFailureCause
,
5138 { "positionMethodFailureCause", "gprscdr.positionMethodFailureCause",
5139 FT_UINT32
, BASE_DEC
, VALS(gsm_map_er_PositionMethodFailure_Diagnostic_vals
), 0,
5140 "PositionMethodFailure_Diagnostic", HFILL
}},
5141 { &hf_gprscdr_unauthorizedLCSClientCause
,
5142 { "unauthorizedLCSClientCause", "gprscdr.unauthorizedLCSClientCause",
5143 FT_UINT32
, BASE_DEC
, VALS(gsm_map_er_UnauthorizedLCSClient_Diagnostic_vals
), 0,
5144 "UnauthorizedLCSClient_Diagnostic", HFILL
}},
5145 { &hf_gprscdr_diameterResultCodeAndExperimentalResult
,
5146 { "diameterResultCodeAndExperimentalResult", "gprscdr.diameterResultCodeAndExperimentalResult",
5147 FT_INT32
, BASE_DEC
, NULL
, 0,
5148 "INTEGER", HFILL
}},
5149 { &hf_gprscdr_plmnId
,
5150 { "plmnId", "gprscdr.plmnId",
5151 FT_BYTES
, BASE_NONE
, NULL
, 0,
5152 "PLMN_Id", HFILL
}},
5153 { &hf_gprscdr_eutraCellId
,
5154 { "eutraCellId", "gprscdr.eutraCellId",
5155 FT_STRING
, BASE_NONE
, NULL
, 0,
5158 { "nid", "gprscdr.nid",
5159 FT_STRING
, BASE_NONE
, NULL
, 0,
5161 { &hf_gprscdr_rANNASCause
,
5162 { "rANNASCause", "gprscdr.rANNASCause",
5163 FT_UINT32
, BASE_DEC
, NULL
, 0,
5164 "SEQUENCE_OF_RANNASCause", HFILL
}},
5165 { &hf_gprscdr_rANNASCause_item
,
5166 { "RANNASCause", "gprscdr.RANNASCause",
5167 FT_BYTES
, BASE_NONE
, NULL
, 0,
5169 { &hf_gprscdr_sIP_URI
,
5170 { "sIP-URI", "gprscdr.sIP_URI",
5171 FT_STRING
, BASE_NONE
, NULL
, 0,
5172 "GraphicString", HFILL
}},
5173 { &hf_gprscdr_tEL_URI
,
5174 { "tEL-URI", "gprscdr.tEL_URI",
5175 FT_STRING
, BASE_NONE
, NULL
, 0,
5176 "GraphicString", HFILL
}},
5178 { "uRN", "gprscdr.uRN",
5179 FT_STRING
, BASE_NONE
, NULL
, 0,
5180 "GraphicString", HFILL
}},
5181 { &hf_gprscdr_iSDN_E164
,
5182 { "iSDN-E164", "gprscdr.iSDN_E164",
5183 FT_STRING
, BASE_NONE
, NULL
, 0,
5184 "GraphicString", HFILL
}},
5185 { &hf_gprscdr_externalId
,
5186 { "externalId", "gprscdr.externalId",
5187 FT_STRING
, BASE_NONE
, NULL
, 0,
5188 "UTF8String", HFILL
}},
5189 { &hf_gprscdr_iPBinaryAddress
,
5190 { "iPBinaryAddress", "gprscdr.iPBinaryAddress",
5191 FT_UINT32
, BASE_DEC
, VALS(gprscdr_IPBinaryAddress_vals
), 0,
5193 { &hf_gprscdr_iPTextRepresentedAddress
,
5194 { "iPTextRepresentedAddress", "gprscdr.iPTextRepresentedAddress",
5195 FT_UINT32
, BASE_DEC
, VALS(gprscdr_IPTextRepresentedAddress_vals
), 0,
5197 { &hf_gprscdr_iPBinV4Address
,
5198 { "iPBinV4Address", "gprscdr.iPBinV4Address",
5199 FT_IPv4
, BASE_NONE
, NULL
, 0,
5201 { &hf_gprscdr_iPBinV6Address_choice
,
5202 { "iPBinV6Address", "gprscdr.iPBinV6Address_choice",
5203 FT_UINT32
, BASE_DEC
, VALS(gprscdr_IPBinV6AddressWithOrWithoutPrefixLength_vals
), 0,
5204 "IPBinV6AddressWithOrWithoutPrefixLength", HFILL
}},
5205 { &hf_gprscdr_iPBinV6Address
,
5206 { "iPBinV6Address", "gprscdr.iPBinV6Address",
5207 FT_IPv6
, BASE_NONE
, NULL
, 0,
5209 { &hf_gprscdr_iPBinV6AddressWithPrefix
,
5210 { "iPBinV6AddressWithPrefix", "gprscdr.iPBinV6AddressWithPrefix_element",
5211 FT_NONE
, BASE_NONE
, NULL
, 0,
5212 "IPBinV6AddressWithPrefixLength", HFILL
}},
5213 { &hf_gprscdr_pDPAddressPrefixLength
,
5214 { "pDPAddressPrefixLength", "gprscdr.pDPAddressPrefixLength",
5215 FT_UINT32
, BASE_DEC
, NULL
, 0,
5217 { &hf_gprscdr_iPTextV4Address
,
5218 { "iPTextV4Address", "gprscdr.iPTextV4Address",
5219 FT_STRING
, BASE_NONE
, NULL
, 0,
5220 "IA5String_SIZE_7_15", HFILL
}},
5221 { &hf_gprscdr_iPTextV6Address
,
5222 { "iPTextV6Address", "gprscdr.iPTextV6Address",
5223 FT_STRING
, BASE_NONE
, NULL
, 0,
5224 "IA5String_SIZE_15_45", HFILL
}},
5225 { &hf_gprscdr_lcsClientExternalID
,
5226 { "lcsClientExternalID", "gprscdr.lcsClientExternalID_element",
5227 FT_NONE
, BASE_NONE
, NULL
, 0,
5229 { &hf_gprscdr_lcsClientDialedByMS
,
5230 { "lcsClientDialedByMS", "gprscdr.lcsClientDialedByMS",
5231 FT_BYTES
, BASE_NONE
, NULL
, 0,
5232 "AddressString", HFILL
}},
5233 { &hf_gprscdr_lcsClientInternalID
,
5234 { "lcsClientInternalID", "gprscdr.lcsClientInternalID",
5235 FT_UINT32
, BASE_DEC
, VALS(gsm_map_LCSClientInternalID_vals
), 0,
5237 { &hf_gprscdr_locationAreaCode
,
5238 { "locationAreaCode", "gprscdr.locationAreaCode",
5239 FT_BYTES
, BASE_NONE
, NULL
, 0,
5241 { &hf_gprscdr_cellId
,
5242 { "cellId", "gprscdr.cellId",
5243 FT_BYTES
, BASE_NONE
, NULL
, 0,
5245 { &hf_gprscdr_mCC_MNC
,
5246 { "mCC-MNC", "gprscdr.mCC_MNC",
5247 FT_BYTES
, BASE_NONE
, NULL
, 0,
5249 { &hf_gprscdr_ManagementExtensions_item
,
5250 { "ManagementExtension", "gprscdr.ManagementExtension_element",
5251 FT_NONE
, BASE_NONE
, NULL
, 0,
5254 { "tMGI", "gprscdr.tMGI",
5255 FT_BYTES
, BASE_NONE
, NULL
, 0,
5257 { &hf_gprscdr_mBMSSessionIdentity
,
5258 { "mBMSSessionIdentity", "gprscdr.mBMSSessionIdentity",
5259 FT_BYTES
, BASE_NONE
, NULL
, 0,
5261 { &hf_gprscdr_mBMSServiceType
,
5262 { "mBMSServiceType", "gprscdr.mBMSServiceType",
5263 FT_UINT32
, BASE_DEC
, VALS(gprscdr_MBMSServiceType_vals
), 0,
5265 { &hf_gprscdr_mBMSUserServiceType
,
5266 { "mBMSUserServiceType", "gprscdr.mBMSUserServiceType",
5267 FT_UINT32
, BASE_DEC
, VALS(gprscdr_MBMSUserServiceType_vals
), 0,
5269 { &hf_gprscdr_mBMS2G3GIndicator
,
5270 { "mBMS2G3GIndicator", "gprscdr.mBMS2G3GIndicator",
5271 FT_UINT32
, BASE_DEC
, VALS(gprscdr_MBMS2G3GIndicator_vals
), 0,
5273 { &hf_gprscdr_fileRepairSupported
,
5274 { "fileRepairSupported", "gprscdr.fileRepairSupported",
5275 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
5276 "BOOLEAN", HFILL
}},
5278 { "rAI", "gprscdr.rAI",
5279 FT_BYTES
, BASE_NONE
, NULL
, 0,
5280 "RoutingAreaCode", HFILL
}},
5281 { &hf_gprscdr_mBMSServiceArea
,
5282 { "mBMSServiceArea", "gprscdr.mBMSServiceArea",
5283 FT_BYTES
, BASE_NONE
, NULL
, 0,
5285 { &hf_gprscdr_requiredMBMSBearerCaps
,
5286 { "requiredMBMSBearerCaps", "gprscdr.requiredMBMSBearerCaps",
5287 FT_BYTES
, BASE_NONE
, NULL
, 0,
5288 "RequiredMBMSBearerCapabilities", HFILL
}},
5289 { &hf_gprscdr_mBMSGWAddress
,
5290 { "mBMSGWAddress", "gprscdr.mBMSGWAddress",
5291 FT_UINT32
, BASE_DEC
, VALS(gprscdr_IPAddress_vals
), 0,
5292 "GSNAddress", HFILL
}},
5293 { &hf_gprscdr_cNIPMulticastDistribution
,
5294 { "cNIPMulticastDistribution", "gprscdr.cNIPMulticastDistribution",
5295 FT_UINT32
, BASE_DEC
, VALS(gprscdr_CNIPMulticastDistribution_vals
), 0,
5297 { &hf_gprscdr_mBMSDataTransferStart
,
5298 { "mBMSDataTransferStart", "gprscdr.mBMSDataTransferStart",
5299 FT_BYTES
, BASE_NONE
, NULL
, 0,
5300 "MBMSTime", HFILL
}},
5301 { &hf_gprscdr_mBMSDataTransferStop
,
5302 { "mBMSDataTransferStop", "gprscdr.mBMSDataTransferStop",
5303 FT_BYTES
, BASE_NONE
, NULL
, 0,
5304 "MBMSTime", HFILL
}},
5305 { &hf_gprscdr_nrCellId
,
5306 { "nrCellId", "gprscdr.nrCellId",
5307 FT_STRING
, BASE_NONE
, NULL
, 0,
5309 { &hf_gprscdr_iPAddress
,
5310 { "iPAddress", "gprscdr.iPAddress",
5311 FT_UINT32
, BASE_DEC
, VALS(gprscdr_IPAddress_vals
), 0,
5313 { &hf_gprscdr_nRcgi
,
5314 { "nRcgi", "gprscdr.nRcgi_element",
5315 FT_NONE
, BASE_NONE
, NULL
, 0,
5318 { "ecgi", "gprscdr.ecgi_element",
5319 FT_NONE
, BASE_NONE
, NULL
, 0,
5321 { &hf_gprscdr_sCSAddress
,
5322 { "sCSAddress", "gprscdr.sCSAddress",
5323 FT_UINT32
, BASE_DEC
, VALS(gprscdr_IPAddress_vals
), 0,
5324 "IPAddress", HFILL
}},
5325 { &hf_gprscdr_sCSRealm
,
5326 { "sCSRealm", "gprscdr.sCSRealm",
5327 FT_BYTES
, BASE_NONE
, NULL
, 0,
5328 "DiameterIdentity", HFILL
}},
5329 { &hf_gprscdr_serviceSpecificData
,
5330 { "serviceSpecificData", "gprscdr.serviceSpecificData",
5331 FT_STRING
, BASE_NONE
, NULL
, 0,
5332 "GraphicString", HFILL
}},
5333 { &hf_gprscdr_serviceSpecificType
,
5334 { "serviceSpecificType", "gprscdr.serviceSpecificType",
5335 FT_INT32
, BASE_DEC
, NULL
, 0,
5336 "INTEGER", HFILL
}},
5337 { &hf_gprscdr_subscriptionIDType
,
5338 { "subscriptionIDType", "gprscdr.subscriptionIDType",
5339 FT_UINT32
, BASE_DEC
, VALS(gprscdr_SubscriptionIDType_vals
), 0,
5341 { &hf_gprscdr_subscriptionIDData
,
5342 { "subscriptionIDData", "gprscdr.subscriptionIDData",
5343 FT_STRING
, BASE_NONE
, NULL
, 0,
5344 "UTF8String", HFILL
}},
5345 { &hf_gprscdr_identifier
,
5346 { "identifier", "gprscdr.identifier",
5347 FT_OID
, BASE_NONE
, NULL
, 0,
5349 { &hf_gprscdr_significance
,
5350 { "significance", "gprscdr.significance",
5351 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
5352 "BOOLEAN", HFILL
}},
5353 { &hf_gprscdr_information
,
5354 { "information", "gprscdr.information_element",
5355 FT_NONE
, BASE_NONE
, NULL
, 0,
5357 { &hf_gprscdr_sgsnPDPRecord
,
5358 { "sgsnPDPRecord", "gprscdr.sgsnPDPRecord_element",
5359 FT_NONE
, BASE_NONE
, NULL
, 0,
5360 "SGSNPDPRecordV651", HFILL
}},
5361 { &hf_gprscdr_ggsnPDPRecord
,
5362 { "ggsnPDPRecord", "gprscdr.ggsnPDPRecord_element",
5363 FT_NONE
, BASE_NONE
, NULL
, 0,
5365 { &hf_gprscdr_sgsnMMRecord
,
5366 { "sgsnMMRecord", "gprscdr.sgsnMMRecord_element",
5367 FT_NONE
, BASE_NONE
, NULL
, 0,
5369 { &hf_gprscdr_sgsnSMORecord
,
5370 { "sgsnSMORecord", "gprscdr.sgsnSMORecord_element",
5371 FT_NONE
, BASE_NONE
, NULL
, 0,
5372 "SGSNSMORecordV651", HFILL
}},
5373 { &hf_gprscdr_sgsnSMTRecord
,
5374 { "sgsnSMTRecord", "gprscdr.sgsnSMTRecord_element",
5375 FT_NONE
, BASE_NONE
, NULL
, 0,
5376 "SGSNSMTRecordV651", HFILL
}},
5377 { &hf_gprscdr_egsnPDPRecord
,
5378 { "egsnPDPRecord", "gprscdr.egsnPDPRecord_element",
5379 FT_NONE
, BASE_NONE
, NULL
, 0,
5381 { &hf_gprscdr_recordType
,
5382 { "recordType", "gprscdr.recordType",
5383 FT_INT32
, BASE_DEC
, VALS(gprscdr_CallEventRecordType_vals
), 0,
5384 "CallEventRecordType", HFILL
}},
5385 { &hf_gprscdr_networkInitiation
,
5386 { "networkInitiation", "gprscdr.networkInitiation",
5387 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
5388 "NetworkInitiatedPDPContext", HFILL
}},
5389 { &hf_gprscdr_servedIMSI
,
5390 { "servedIMSI", "gprscdr.servedIMSI",
5391 FT_BYTES
, BASE_NONE
, NULL
, 0,
5393 { &hf_gprscdr_ggsnAddress
,
5394 { "ggsnAddress", "gprscdr.ggsnAddress",
5395 FT_UINT32
, BASE_DEC
, VALS(gprscdr_IPAddress_vals
), 0,
5396 "GSNAddress", HFILL
}},
5397 { &hf_gprscdr_chargingID
,
5398 { "chargingID", "gprscdr.chargingID",
5399 FT_UINT32
, BASE_DEC
, NULL
, 0,
5401 { &hf_gprscdr_sgsnAddress
,
5402 { "sgsnAddress", "gprscdr.sgsnAddress",
5403 FT_UINT32
, BASE_DEC
, NULL
, 0,
5404 "SEQUENCE_OF_GSNAddress", HFILL
}},
5405 { &hf_gprscdr_sgsnAddress_item
,
5406 { "GSNAddress", "gprscdr.GSNAddress",
5407 FT_UINT32
, BASE_DEC
, VALS(gprscdr_IPAddress_vals
), 0,
5409 { &hf_gprscdr_accessPointNameNI
,
5410 { "accessPointNameNI", "gprscdr.accessPointNameNI",
5411 FT_STRING
, BASE_NONE
, NULL
, 0,
5413 { &hf_gprscdr_pdpType
,
5414 { "pdpType", "gprscdr.pdpType",
5415 FT_BYTES
, BASE_NONE
, NULL
, 0,
5417 { &hf_gprscdr_servedPDPAddress
,
5418 { "servedPDPAddress", "gprscdr.servedPDPAddress",
5419 FT_UINT32
, BASE_DEC
, VALS(gprscdr_PDPAddress_vals
), 0,
5420 "PDPAddress", HFILL
}},
5421 { &hf_gprscdr_dynamicAddressFlag
,
5422 { "dynamicAddressFlag", "gprscdr.dynamicAddressFlag",
5423 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
5425 { &hf_gprscdr_listOfTrafficVolumes
,
5426 { "listOfTrafficVolumes", "gprscdr.listOfTrafficVolumes",
5427 FT_UINT32
, BASE_DEC
, NULL
, 0,
5428 "SEQUENCE_OF_ChangeOfCharConditionV651", HFILL
}},
5429 { &hf_gprscdr_listOfTrafficVolumes_item
,
5430 { "ChangeOfCharConditionV651", "gprscdr.ChangeOfCharConditionV651_element",
5431 FT_NONE
, BASE_NONE
, NULL
, 0,
5433 { &hf_gprscdr_recordOpeningTime
,
5434 { "recordOpeningTime", "gprscdr.recordOpeningTime",
5435 FT_BYTES
, BASE_NONE
, NULL
, 0,
5436 "TimeStamp", HFILL
}},
5437 { &hf_gprscdr_duration
,
5438 { "duration", "gprscdr.duration",
5439 FT_INT32
, BASE_DEC
, NULL
, 0,
5440 "CallDuration", HFILL
}},
5441 { &hf_gprscdr_causeForRecClosing
,
5442 { "causeForRecClosing", "gprscdr.causeForRecClosing",
5443 FT_INT32
, BASE_DEC
, VALS(gprscdr_CauseForRecClosingV651_vals
), 0,
5444 "CauseForRecClosingV651", HFILL
}},
5445 { &hf_gprscdr_diagnostics
,
5446 { "diagnostics", "gprscdr.diagnostics",
5447 FT_UINT32
, BASE_DEC
, VALS(gprscdr_Diagnostics_vals
), 0,
5449 { &hf_gprscdr_recordSequenceNumber
,
5450 { "recordSequenceNumber", "gprscdr.recordSequenceNumber",
5451 FT_INT32
, BASE_DEC
, NULL
, 0,
5452 "INTEGER", HFILL
}},
5453 { &hf_gprscdr_nodeID
,
5454 { "nodeID", "gprscdr.nodeID",
5455 FT_STRING
, BASE_NONE
, NULL
, 0,
5457 { &hf_gprscdr_recordExtensions
,
5458 { "recordExtensions", "gprscdr.recordExtensions",
5459 FT_UINT32
, BASE_DEC
, NULL
, 0,
5460 "ManagementExtensions", HFILL
}},
5461 { &hf_gprscdr_localSequenceNumber
,
5462 { "localSequenceNumber", "gprscdr.localSequenceNumber",
5463 FT_UINT32
, BASE_DEC
, NULL
, 0,
5465 { &hf_gprscdr_apnSelectionMode
,
5466 { "apnSelectionMode", "gprscdr.apnSelectionMode",
5467 FT_UINT32
, BASE_DEC
, VALS(gprscdr_APNSelectionMode_vals
), 0,
5469 { &hf_gprscdr_servedMSISDN
,
5470 { "servedMSISDN", "gprscdr.servedMSISDN",
5471 FT_BYTES
, BASE_NONE
, NULL
, 0,
5473 { &hf_gprscdr_chargingCharacteristics
,
5474 { "chargingCharacteristics", "gprscdr.chargingCharacteristics",
5475 FT_BYTES
, BASE_NONE
, NULL
, 0,
5477 { &hf_gprscdr_chChSelectionMode
,
5478 { "chChSelectionMode", "gprscdr.chChSelectionMode",
5479 FT_UINT32
, BASE_DEC
, VALS(gprscdr_ChChSelectionMode_vals
), 0,
5481 { &hf_gprscdr_iMSsignalingContext
,
5482 { "iMSsignalingContext", "gprscdr.iMSsignalingContext_element",
5483 FT_NONE
, BASE_NONE
, NULL
, 0,
5485 { &hf_gprscdr_externalChargingID
,
5486 { "externalChargingID", "gprscdr.externalChargingID",
5487 FT_BYTES
, BASE_NONE
, NULL
, 0,
5488 "OCTET_STRING", HFILL
}},
5489 { &hf_gprscdr_sgsnPLMNIdentifier
,
5490 { "sgsnPLMNIdentifier", "gprscdr.sgsnPLMNIdentifier",
5491 FT_BYTES
, BASE_NONE
, NULL
, 0,
5492 "PLMN_Id", HFILL
}},
5493 { &hf_gprscdr_servedIMEISV
,
5494 { "servedIMEISV", "gprscdr.servedIMEISV",
5495 FT_BYTES
, BASE_NONE
, NULL
, 0,
5497 { &hf_gprscdr_rATType
,
5498 { "rATType", "gprscdr.rATType",
5499 FT_UINT32
, BASE_DEC
, VALS(gprscdr_rat_type_vals
), 0,
5501 { &hf_gprscdr_mSTimeZone
,
5502 { "mSTimeZone", "gprscdr.mSTimeZone",
5503 FT_BYTES
, BASE_NONE
, NULL
, 0,
5505 { &hf_gprscdr_userLocationInformation
,
5506 { "userLocationInformation", "gprscdr.userLocationInformation",
5507 FT_BYTES
, BASE_NONE
, NULL
, 0,
5509 { &hf_gprscdr_cAMELChargingInformation
,
5510 { "cAMELChargingInformation", "gprscdr.cAMELChargingInformation",
5511 FT_BYTES
, BASE_NONE
, NULL
, 0,
5512 "OCTET_STRING", HFILL
}},
5513 { &hf_gprscdr_recordType_01
,
5514 { "recordType", "gprscdr.recordType",
5515 FT_INT32
, BASE_DEC
, VALS(gprscdr_RecordType_vals
), 0,
5517 { &hf_gprscdr_causeForRecClosing_01
,
5518 { "causeForRecClosing", "gprscdr.causeForRecClosing",
5519 FT_INT32
, BASE_DEC
, VALS(gprscdr_CauseForRecClosing_vals
), 0,
5521 { &hf_gprscdr_userLocationInformation_01
,
5522 { "userLocationInformation", "gprscdr.userLocationInformation",
5523 FT_BYTES
, BASE_NONE
, NULL
, 0,
5524 "T_userLocationInformation_01", HFILL
}},
5525 { &hf_gprscdr_pSFurnishChargingInformation
,
5526 { "pSFurnishChargingInformation", "gprscdr.pSFurnishChargingInformation_element",
5527 FT_NONE
, BASE_NONE
, NULL
, 0,
5529 { &hf_gprscdr_userLocationInformation_02
,
5530 { "userLocationInformation", "gprscdr.userLocationInformation",
5531 FT_BYTES
, BASE_NONE
, NULL
, 0,
5532 "T_userLocationInformation_02", HFILL
}},
5533 { &hf_gprscdr_listOfServiceData
,
5534 { "listOfServiceData", "gprscdr.listOfServiceData",
5535 FT_UINT32
, BASE_DEC
, NULL
, 0,
5536 "SEQUENCE_OF_ChangeOfServiceConditionV651", HFILL
}},
5537 { &hf_gprscdr_listOfServiceData_item
,
5538 { "ChangeOfServiceConditionV651", "gprscdr.ChangeOfServiceConditionV651_element",
5539 FT_NONE
, BASE_NONE
, NULL
, 0,
5541 { &hf_gprscdr_userLocationInformation_03
,
5542 { "userLocationInformation", "gprscdr.userLocationInformation",
5543 FT_BYTES
, BASE_NONE
, NULL
, 0,
5544 "T_userLocationInformation_03", HFILL
}},
5545 { &hf_gprscdr_listOfServiceData_01
,
5546 { "listOfServiceData", "gprscdr.listOfServiceData",
5547 FT_UINT32
, BASE_DEC
, NULL
, 0,
5548 "SEQUENCE_OF_ChangeOfServiceConditionV750", HFILL
}},
5549 { &hf_gprscdr_listOfServiceData_item_01
,
5550 { "ChangeOfServiceConditionV750", "gprscdr.ChangeOfServiceConditionV750_element",
5551 FT_NONE
, BASE_NONE
, NULL
, 0,
5553 { &hf_gprscdr_servedIMEI
,
5554 { "servedIMEI", "gprscdr.servedIMEI",
5555 FT_BYTES
, BASE_NONE
, NULL
, 0,
5557 { &hf_gprscdr_sgsnAddress_01
,
5558 { "sgsnAddress", "gprscdr.sgsnAddress",
5559 FT_UINT32
, BASE_DEC
, VALS(gprscdr_IPAddress_vals
), 0,
5560 "GSNAddress", HFILL
}},
5561 { &hf_gprscdr_msNetworkCapability
,
5562 { "msNetworkCapability", "gprscdr.msNetworkCapability",
5563 FT_BYTES
, BASE_NONE
, NULL
, 0,
5565 { &hf_gprscdr_routingArea
,
5566 { "routingArea", "gprscdr.routingArea",
5567 FT_BYTES
, BASE_NONE
, NULL
, 0,
5568 "RoutingAreaCode", HFILL
}},
5569 { &hf_gprscdr_cellIdentifier
,
5570 { "cellIdentifier", "gprscdr.cellIdentifier",
5571 FT_BYTES
, BASE_NONE
, NULL
, 0,
5573 { &hf_gprscdr_ggsnAddressUsed
,
5574 { "ggsnAddressUsed", "gprscdr.ggsnAddressUsed",
5575 FT_UINT32
, BASE_DEC
, VALS(gprscdr_IPAddress_vals
), 0,
5576 "GSNAddress", HFILL
}},
5577 { &hf_gprscdr_sgsnChange
,
5578 { "sgsnChange", "gprscdr.sgsnChange",
5579 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
5581 { &hf_gprscdr_accessPointNameOI
,
5582 { "accessPointNameOI", "gprscdr.accessPointNameOI",
5583 FT_STRING
, BASE_NONE
, NULL
, 0,
5585 { &hf_gprscdr_cAMELInformationPDP
,
5586 { "cAMELInformationPDP", "gprscdr.cAMELInformationPDP_element",
5587 FT_NONE
, BASE_NONE
, NULL
, 0,
5589 { &hf_gprscdr_rNCUnsentDownlinkVolume
,
5590 { "rNCUnsentDownlinkVolume", "gprscdr.rNCUnsentDownlinkVolume",
5591 FT_INT32
, BASE_DEC
, NULL
, 0,
5592 "DataVolumeGPRS", HFILL
}},
5593 { &hf_gprscdr_serviceCentre
,
5594 { "serviceCentre", "gprscdr.serviceCentre",
5595 FT_BYTES
, BASE_NONE
, NULL
, 0,
5596 "AddressString", HFILL
}},
5597 { &hf_gprscdr_recordingEntity
,
5598 { "recordingEntity", "gprscdr.recordingEntity",
5599 FT_BYTES
, BASE_NONE
, NULL
, 0,
5601 { &hf_gprscdr_locationArea
,
5602 { "locationArea", "gprscdr.locationArea",
5603 FT_BYTES
, BASE_NONE
, NULL
, 0,
5604 "LocationAreaCode", HFILL
}},
5605 { &hf_gprscdr_messageReference
,
5606 { "messageReference", "gprscdr.messageReference",
5607 FT_BYTES
, BASE_NONE
, NULL
, 0,
5609 { &hf_gprscdr_eventTimeStamp
,
5610 { "eventTimeStamp", "gprscdr.eventTimeStamp",
5611 FT_BYTES
, BASE_NONE
, NULL
, 0,
5612 "TimeStamp", HFILL
}},
5613 { &hf_gprscdr_smsResult
,
5614 { "smsResult", "gprscdr.smsResult",
5615 FT_UINT32
, BASE_DEC
, VALS(gprscdr_Diagnostics_vals
), 0,
5617 { &hf_gprscdr_destinationNumber
,
5618 { "destinationNumber", "gprscdr.destinationNumber",
5619 FT_BYTES
, BASE_NONE
, NULL
, 0,
5620 "SmsTpDestinationNumber", HFILL
}},
5621 { &hf_gprscdr_cAMELInformationSMS
,
5622 { "cAMELInformationSMS", "gprscdr.cAMELInformationSMS_element",
5623 FT_NONE
, BASE_NONE
, NULL
, 0,
5625 { &hf_gprscdr_qosRequested
,
5626 { "qosRequested", "gprscdr.qosRequested",
5627 FT_BYTES
, BASE_NONE
, NULL
, 0,
5628 "QoSInformation", HFILL
}},
5629 { &hf_gprscdr_qosNegotiated
,
5630 { "qosNegotiated", "gprscdr.qosNegotiated",
5631 FT_BYTES
, BASE_NONE
, NULL
, 0,
5632 "QoSInformation", HFILL
}},
5633 { &hf_gprscdr_dataVolumeGPRSUplink
,
5634 { "dataVolumeGPRSUplink", "gprscdr.dataVolumeGPRSUplink",
5635 FT_INT32
, BASE_DEC
, NULL
, 0,
5636 "DataVolumeGPRS", HFILL
}},
5637 { &hf_gprscdr_dataVolumeGPRSDownlink
,
5638 { "dataVolumeGPRSDownlink", "gprscdr.dataVolumeGPRSDownlink",
5639 FT_INT32
, BASE_DEC
, NULL
, 0,
5640 "DataVolumeGPRS", HFILL
}},
5641 { &hf_gprscdr_changeCondition
,
5642 { "changeCondition", "gprscdr.changeCondition",
5643 FT_UINT32
, BASE_DEC
, VALS(gprscdr_ChangeConditionV651_vals
), 0,
5644 "ChangeConditionV651", HFILL
}},
5645 { &hf_gprscdr_changeTime
,
5646 { "changeTime", "gprscdr.changeTime",
5647 FT_BYTES
, BASE_NONE
, NULL
, 0,
5648 "TimeStamp", HFILL
}},
5649 { &hf_gprscdr_failureHandlingContinue
,
5650 { "failureHandlingContinue", "gprscdr.failureHandlingContinue",
5651 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
5653 { &hf_gprscdr_userLocationInformation_04
,
5654 { "userLocationInformation", "gprscdr.userLocationInformation",
5655 FT_BYTES
, BASE_NONE
, NULL
, 0,
5656 "T_userLocationInformation_04", HFILL
}},
5657 { &hf_gprscdr_ratingGroup
,
5658 { "ratingGroup", "gprscdr.ratingGroup",
5659 FT_UINT32
, BASE_DEC
, NULL
, 0,
5660 "RatingGroupId", HFILL
}},
5661 { &hf_gprscdr_chargingRuleBaseName
,
5662 { "chargingRuleBaseName", "gprscdr.chargingRuleBaseName",
5663 FT_STRING
, BASE_NONE
, NULL
, 0,
5665 { &hf_gprscdr_resultCode
,
5666 { "resultCode", "gprscdr.resultCode",
5667 FT_INT32
, BASE_DEC
, NULL
, 0,
5669 { &hf_gprscdr_timeOfFirstUsage
,
5670 { "timeOfFirstUsage", "gprscdr.timeOfFirstUsage",
5671 FT_BYTES
, BASE_NONE
, NULL
, 0,
5672 "TimeStamp", HFILL
}},
5673 { &hf_gprscdr_timeOfLastUsage
,
5674 { "timeOfLastUsage", "gprscdr.timeOfLastUsage",
5675 FT_BYTES
, BASE_NONE
, NULL
, 0,
5676 "TimeStamp", HFILL
}},
5677 { &hf_gprscdr_timeUsage
,
5678 { "timeUsage", "gprscdr.timeUsage",
5679 FT_INT32
, BASE_DEC
, NULL
, 0,
5680 "CallDuration", HFILL
}},
5681 { &hf_gprscdr_serviceConditionChange
,
5682 { "serviceConditionChange", "gprscdr.serviceConditionChange",
5683 FT_BYTES
, BASE_NONE
, NULL
, 0,
5684 "ServiceConditionChangeV651", HFILL
}},
5685 { &hf_gprscdr_qoSInformationNeg
,
5686 { "qoSInformationNeg", "gprscdr.qoSInformationNeg",
5687 FT_BYTES
, BASE_NONE
, NULL
, 0,
5688 "QoSInformation", HFILL
}},
5689 { &hf_gprscdr_sgsn_Address
,
5690 { "sgsn-Address", "gprscdr.sgsn_Address",
5691 FT_UINT32
, BASE_DEC
, VALS(gprscdr_IPAddress_vals
), 0,
5692 "GSNAddress", HFILL
}},
5693 { &hf_gprscdr_sGSNPLMNIdentifier
,
5694 { "sGSNPLMNIdentifier", "gprscdr.sGSNPLMNIdentifier",
5695 FT_BYTES
, BASE_NONE
, NULL
, 0,
5696 "PLMN_Id", HFILL
}},
5697 { &hf_gprscdr_datavolumeFBCUplink
,
5698 { "datavolumeFBCUplink", "gprscdr.datavolumeFBCUplink",
5699 FT_INT32
, BASE_DEC
, NULL
, 0,
5700 "DataVolumeGPRS", HFILL
}},
5701 { &hf_gprscdr_datavolumeFBCDownlink
,
5702 { "datavolumeFBCDownlink", "gprscdr.datavolumeFBCDownlink",
5703 FT_INT32
, BASE_DEC
, NULL
, 0,
5704 "DataVolumeGPRS", HFILL
}},
5705 { &hf_gprscdr_timeOfReport
,
5706 { "timeOfReport", "gprscdr.timeOfReport",
5707 FT_BYTES
, BASE_NONE
, NULL
, 0,
5708 "TimeStamp", HFILL
}},
5709 { &hf_gprscdr_serviceIdentifier
,
5710 { "serviceIdentifier", "gprscdr.serviceIdentifier",
5711 FT_UINT32
, BASE_DEC
, NULL
, 0,
5713 { &hf_gprscdr_serviceConditionChangeV750
,
5714 { "serviceConditionChangeV750", "gprscdr.serviceConditionChangeV750",
5715 FT_BYTES
, BASE_NONE
, NULL
, 0,
5717 { &hf_gprscdr_aFRecordInformation
,
5718 { "aFRecordInformation", "gprscdr.aFRecordInformation",
5719 FT_UINT32
, BASE_DEC
, NULL
, 0,
5720 "SEQUENCE_OF_AFRecordInformation", HFILL
}},
5721 { &hf_gprscdr_aFRecordInformation_item
,
5722 { "AFRecordInformation", "gprscdr.AFRecordInformation_element",
5723 FT_NONE
, BASE_NONE
, NULL
, 0,
5725 { &hf_gprscdr_userLocationInformation_05
,
5726 { "userLocationInformation", "gprscdr.userLocationInformation",
5727 FT_BYTES
, BASE_NONE
, NULL
, 0,
5728 "T_userLocationInformation_05", HFILL
}},
5729 { &hf_gprscdr_eventBasedChargingInformation
,
5730 { "eventBasedChargingInformation", "gprscdr.eventBasedChargingInformation_element",
5731 FT_NONE
, BASE_NONE
, NULL
, 0,
5733 { &hf_gprscdr_timeQuotaMechanism
,
5734 { "timeQuotaMechanism", "gprscdr.timeQuotaMechanism_element",
5735 FT_NONE
, BASE_NONE
, NULL
, 0,
5737 { &hf_gprscdr_sgsnPDPRecord_01
,
5738 { "sgsnPDPRecord", "gprscdr.sgsnPDPRecord_element",
5739 FT_NONE
, BASE_NONE
, NULL
, 0,
5741 { &hf_gprscdr_ggsnPDPRecord_01
,
5742 { "ggsnPDPRecord", "gprscdr.ggsnPDPRecord_element",
5743 FT_NONE
, BASE_NONE
, NULL
, 0,
5744 "GGSNPDPRecordV750", HFILL
}},
5745 { &hf_gprscdr_sgsnSMORecord_01
,
5746 { "sgsnSMORecord", "gprscdr.sgsnSMORecord_element",
5747 FT_NONE
, BASE_NONE
, NULL
, 0,
5749 { &hf_gprscdr_sgsnSMTRecord_01
,
5750 { "sgsnSMTRecord", "gprscdr.sgsnSMTRecord_element",
5751 FT_NONE
, BASE_NONE
, NULL
, 0,
5753 { &hf_gprscdr_sgsnMTLCSRecord
,
5754 { "sgsnMTLCSRecord", "gprscdr.sgsnMTLCSRecord_element",
5755 FT_NONE
, BASE_NONE
, NULL
, 0,
5757 { &hf_gprscdr_sgsnMOLCSRecord
,
5758 { "sgsnMOLCSRecord", "gprscdr.sgsnMOLCSRecord_element",
5759 FT_NONE
, BASE_NONE
, NULL
, 0,
5761 { &hf_gprscdr_sgsnNILCSRecord
,
5762 { "sgsnNILCSRecord", "gprscdr.sgsnNILCSRecord_element",
5763 FT_NONE
, BASE_NONE
, NULL
, 0,
5765 { &hf_gprscdr_egsnPDPRecord_01
,
5766 { "egsnPDPRecord", "gprscdr.egsnPDPRecord_element",
5767 FT_NONE
, BASE_NONE
, NULL
, 0,
5768 "EGSNPDPRecordV750", HFILL
}},
5769 { &hf_gprscdr_sgsnMBMSRecord
,
5770 { "sgsnMBMSRecord", "gprscdr.sgsnMBMSRecord_element",
5771 FT_NONE
, BASE_NONE
, NULL
, 0,
5773 { &hf_gprscdr_ggsnMBMSRecord
,
5774 { "ggsnMBMSRecord", "gprscdr.ggsnMBMSRecord_element",
5775 FT_NONE
, BASE_NONE
, NULL
, 0,
5777 { &hf_gprscdr_sGWRecord
,
5778 { "sGWRecord", "gprscdr.sGWRecord_element",
5779 FT_NONE
, BASE_NONE
, NULL
, 0,
5781 { &hf_gprscdr_pGWRecord
,
5782 { "pGWRecord", "gprscdr.pGWRecord_element",
5783 FT_NONE
, BASE_NONE
, NULL
, 0,
5785 { &hf_gprscdr_gwMBMSRecord
,
5786 { "gwMBMSRecord", "gprscdr.gwMBMSRecord_element",
5787 FT_NONE
, BASE_NONE
, NULL
, 0,
5789 { &hf_gprscdr_tDFRecord
,
5790 { "tDFRecord", "gprscdr.tDFRecord_element",
5791 FT_NONE
, BASE_NONE
, NULL
, 0,
5793 { &hf_gprscdr_iPERecord
,
5794 { "iPERecord", "gprscdr.iPERecord_element",
5795 FT_NONE
, BASE_NONE
, NULL
, 0,
5797 { &hf_gprscdr_ePDGRecord
,
5798 { "ePDGRecord", "gprscdr.ePDGRecord_element",
5799 FT_NONE
, BASE_NONE
, NULL
, 0,
5801 { &hf_gprscdr_tWAGRecord
,
5802 { "tWAGRecord", "gprscdr.tWAGRecord_element",
5803 FT_NONE
, BASE_NONE
, NULL
, 0,
5805 { &hf_gprscdr_s_GWAddress
,
5806 { "s-GWAddress", "gprscdr.s_GWAddress",
5807 FT_UINT32
, BASE_DEC
, VALS(gprscdr_IPAddress_vals
), 0,
5808 "GSNAddress", HFILL
}},
5809 { &hf_gprscdr_servingNodeAddress
,
5810 { "servingNodeAddress", "gprscdr.servingNodeAddress",
5811 FT_UINT32
, BASE_DEC
, NULL
, 0,
5812 "SEQUENCE_OF_GSNAddress", HFILL
}},
5813 { &hf_gprscdr_servingNodeAddress_item
,
5814 { "GSNAddress", "gprscdr.GSNAddress",
5815 FT_UINT32
, BASE_DEC
, VALS(gprscdr_IPAddress_vals
), 0,
5817 { &hf_gprscdr_pdpPDNType
,
5818 { "pdpPDNType", "gprscdr.pdpPDNType",
5819 FT_BYTES
, BASE_NONE
, NULL
, 0,
5820 "PDPType", HFILL
}},
5821 { &hf_gprscdr_servedPDPPDNAddress
,
5822 { "servedPDPPDNAddress", "gprscdr.servedPDPPDNAddress",
5823 FT_UINT32
, BASE_DEC
, VALS(gprscdr_PDPAddress_vals
), 0,
5824 "PDPAddress", HFILL
}},
5825 { &hf_gprscdr_listOfTrafficVolumes_01
,
5826 { "listOfTrafficVolumes", "gprscdr.listOfTrafficVolumes",
5827 FT_UINT32
, BASE_DEC
, NULL
, 0,
5828 "SEQUENCE_OF_ChangeOfCharCondition", HFILL
}},
5829 { &hf_gprscdr_listOfTrafficVolumes_item_01
,
5830 { "ChangeOfCharCondition", "gprscdr.ChangeOfCharCondition_element",
5831 FT_NONE
, BASE_NONE
, NULL
, 0,
5833 { &hf_gprscdr_servingNodePLMNIdentifier
,
5834 { "servingNodePLMNIdentifier", "gprscdr.servingNodePLMNIdentifier",
5835 FT_BYTES
, BASE_NONE
, NULL
, 0,
5836 "PLMN_Id", HFILL
}},
5837 { &hf_gprscdr_userLocationInformation_06
,
5838 { "userLocationInformation", "gprscdr.userLocationInformation",
5839 FT_BYTES
, BASE_NONE
, NULL
, 0,
5840 "T_userLocationInformation_06", HFILL
}},
5841 { &hf_gprscdr_sGWChange
,
5842 { "sGWChange", "gprscdr.sGWChange",
5843 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
5845 { &hf_gprscdr_servingNodeType
,
5846 { "servingNodeType", "gprscdr.servingNodeType",
5847 FT_UINT32
, BASE_DEC
, NULL
, 0,
5848 "SEQUENCE_OF_ServingNodeType", HFILL
}},
5849 { &hf_gprscdr_servingNodeType_item
,
5850 { "ServingNodeType", "gprscdr.ServingNodeType",
5851 FT_UINT32
, BASE_DEC
, VALS(gprscdr_ServingNodeType_vals
), 0,
5853 { &hf_gprscdr_p_GWAddressUsed
,
5854 { "p-GWAddressUsed", "gprscdr.p_GWAddressUsed",
5855 FT_UINT32
, BASE_DEC
, VALS(gprscdr_IPAddress_vals
), 0,
5856 "GSNAddress", HFILL
}},
5857 { &hf_gprscdr_p_GWPLMNIdentifier
,
5858 { "p-GWPLMNIdentifier", "gprscdr.p_GWPLMNIdentifier",
5859 FT_BYTES
, BASE_NONE
, NULL
, 0,
5860 "PLMN_Id", HFILL
}},
5861 { &hf_gprscdr_startTime
,
5862 { "startTime", "gprscdr.startTime",
5863 FT_BYTES
, BASE_NONE
, NULL
, 0,
5864 "TimeStamp", HFILL
}},
5865 { &hf_gprscdr_stopTime
,
5866 { "stopTime", "gprscdr.stopTime",
5867 FT_BYTES
, BASE_NONE
, NULL
, 0,
5868 "TimeStamp", HFILL
}},
5869 { &hf_gprscdr_pDNConnectionChargingID
,
5870 { "pDNConnectionChargingID", "gprscdr.pDNConnectionChargingID",
5871 FT_UINT32
, BASE_DEC
, NULL
, 0,
5872 "ChargingID", HFILL
}},
5873 { &hf_gprscdr_iMSIunauthenticatedFlag
,
5874 { "iMSIunauthenticatedFlag", "gprscdr.iMSIunauthenticatedFlag_element",
5875 FT_NONE
, BASE_NONE
, NULL
, 0,
5877 { &hf_gprscdr_userCSGInformation
,
5878 { "userCSGInformation", "gprscdr.userCSGInformation_element",
5879 FT_NONE
, BASE_NONE
, NULL
, 0,
5881 { &hf_gprscdr_servedPDPPDNAddressExt
,
5882 { "servedPDPPDNAddressExt", "gprscdr.servedPDPPDNAddressExt",
5883 FT_UINT32
, BASE_DEC
, VALS(gprscdr_PDPAddress_vals
), 0,
5884 "PDPAddress", HFILL
}},
5885 { &hf_gprscdr_lowPriorityIndicator
,
5886 { "lowPriorityIndicator", "gprscdr.lowPriorityIndicator_element",
5887 FT_NONE
, BASE_NONE
, NULL
, 0,
5889 { &hf_gprscdr_dynamicAddressFlagExt
,
5890 { "dynamicAddressFlagExt", "gprscdr.dynamicAddressFlagExt",
5891 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
5892 "DynamicAddressFlag", HFILL
}},
5893 { &hf_gprscdr_s_GWiPv6Address
,
5894 { "s-GWiPv6Address", "gprscdr.s_GWiPv6Address",
5895 FT_UINT32
, BASE_DEC
, VALS(gprscdr_IPAddress_vals
), 0,
5896 "GSNAddress", HFILL
}},
5897 { &hf_gprscdr_servingNodeiPv6Address
,
5898 { "servingNodeiPv6Address", "gprscdr.servingNodeiPv6Address",
5899 FT_UINT32
, BASE_DEC
, NULL
, 0,
5900 "SEQUENCE_OF_GSNAddress", HFILL
}},
5901 { &hf_gprscdr_servingNodeiPv6Address_item
,
5902 { "GSNAddress", "gprscdr.GSNAddress",
5903 FT_UINT32
, BASE_DEC
, VALS(gprscdr_IPAddress_vals
), 0,
5905 { &hf_gprscdr_p_GWiPv6AddressUsed
,
5906 { "p-GWiPv6AddressUsed", "gprscdr.p_GWiPv6AddressUsed",
5907 FT_UINT32
, BASE_DEC
, VALS(gprscdr_IPAddress_vals
), 0,
5908 "GSNAddress", HFILL
}},
5909 { &hf_gprscdr_retransmission
,
5910 { "retransmission", "gprscdr.retransmission_element",
5911 FT_NONE
, BASE_NONE
, NULL
, 0,
5913 { &hf_gprscdr_userLocationInfoTime
,
5914 { "userLocationInfoTime", "gprscdr.userLocationInfoTime",
5915 FT_BYTES
, BASE_NONE
, NULL
, 0,
5916 "TimeStamp", HFILL
}},
5917 { &hf_gprscdr_cNOperatorSelectionEnt
,
5918 { "cNOperatorSelectionEnt", "gprscdr.cNOperatorSelectionEnt",
5919 FT_UINT32
, BASE_DEC
, VALS(gprscdr_CNOperatorSelectionEntity_vals
), 0,
5920 "CNOperatorSelectionEntity", HFILL
}},
5921 { &hf_gprscdr_presenceReportingAreaInfo
,
5922 { "presenceReportingAreaInfo", "gprscdr.presenceReportingAreaInfo_element",
5923 FT_NONE
, BASE_NONE
, NULL
, 0,
5925 { &hf_gprscdr_lastUserLocationInformation
,
5926 { "lastUserLocationInformation", "gprscdr.lastUserLocationInformation",
5927 FT_BYTES
, BASE_NONE
, NULL
, 0,
5929 { &hf_gprscdr_lastMSTimeZone
,
5930 { "lastMSTimeZone", "gprscdr.lastMSTimeZone",
5931 FT_BYTES
, BASE_NONE
, NULL
, 0,
5932 "MSTimeZone", HFILL
}},
5933 { &hf_gprscdr_enhancedDiagnostics
,
5934 { "enhancedDiagnostics", "gprscdr.enhancedDiagnostics_element",
5935 FT_NONE
, BASE_NONE
, NULL
, 0,
5937 { &hf_gprscdr_cPCIoTEPSOptimisationIndicator
,
5938 { "cPCIoTEPSOptimisationIndicator", "gprscdr.cPCIoTEPSOptimisationIndicator",
5939 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
5941 { &hf_gprscdr_uNIPDUCPOnlyFlag
,
5942 { "uNIPDUCPOnlyFlag", "gprscdr.uNIPDUCPOnlyFlag",
5943 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
5945 { &hf_gprscdr_servingPLMNRateControl
,
5946 { "servingPLMNRateControl", "gprscdr.servingPLMNRateControl_element",
5947 FT_NONE
, BASE_NONE
, NULL
, 0,
5949 { &hf_gprscdr_pDPPDNTypeExtension
,
5950 { "pDPPDNTypeExtension", "gprscdr.pDPPDNTypeExtension",
5951 FT_INT32
, BASE_DEC
, NULL
, 0,
5953 { &hf_gprscdr_mOExceptionDataCounter
,
5954 { "mOExceptionDataCounter", "gprscdr.mOExceptionDataCounter_element",
5955 FT_NONE
, BASE_NONE
, NULL
, 0,
5957 { &hf_gprscdr_listOfRANSecondaryRATUsageReports
,
5958 { "listOfRANSecondaryRATUsageReports", "gprscdr.listOfRANSecondaryRATUsageReports",
5959 FT_UINT32
, BASE_DEC
, NULL
, 0,
5960 "SEQUENCE_OF_RANSecondaryRATUsageReport", HFILL
}},
5961 { &hf_gprscdr_listOfRANSecondaryRATUsageReports_item
,
5962 { "RANSecondaryRATUsageReport", "gprscdr.RANSecondaryRATUsageReport_element",
5963 FT_NONE
, BASE_NONE
, NULL
, 0,
5965 { &hf_gprscdr_pSCellInformation
,
5966 { "pSCellInformation", "gprscdr.pSCellInformation_element",
5967 FT_NONE
, BASE_NONE
, NULL
, 0,
5969 { &hf_gprscdr_p_GWAddress
,
5970 { "p-GWAddress", "gprscdr.p_GWAddress",
5971 FT_UINT32
, BASE_DEC
, VALS(gprscdr_IPAddress_vals
), 0,
5972 "GSNAddress", HFILL
}},
5973 { &hf_gprscdr_userLocationInformation_07
,
5974 { "userLocationInformation", "gprscdr.userLocationInformation",
5975 FT_BYTES
, BASE_NONE
, NULL
, 0,
5976 "T_userLocationInformation_07", HFILL
}},
5977 { &hf_gprscdr_listOfServiceData_02
,
5978 { "listOfServiceData", "gprscdr.listOfServiceData",
5979 FT_UINT32
, BASE_DEC
, NULL
, 0,
5980 "SEQUENCE_OF_ChangeOfServiceCondition", HFILL
}},
5981 { &hf_gprscdr_listOfServiceData_item_02
,
5982 { "ChangeOfServiceCondition", "gprscdr.ChangeOfServiceCondition_element",
5983 FT_NONE
, BASE_NONE
, NULL
, 0,
5985 { &hf_gprscdr_servedMNNAI
,
5986 { "servedMNNAI", "gprscdr.servedMNNAI_element",
5987 FT_NONE
, BASE_NONE
, NULL
, 0,
5988 "SubscriptionID", HFILL
}},
5989 { &hf_gprscdr_served3gpp2MEID
,
5990 { "served3gpp2MEID", "gprscdr.served3gpp2MEID",
5991 FT_BYTES
, BASE_NONE
, NULL
, 0,
5992 "OCTET_STRING", HFILL
}},
5993 { &hf_gprscdr_threeGPP2UserLocationInformation
,
5994 { "threeGPP2UserLocationInformation", "gprscdr.threeGPP2UserLocationInformation",
5995 FT_BYTES
, BASE_NONE
, NULL
, 0,
5996 "OCTET_STRING", HFILL
}},
5997 { &hf_gprscdr_tWANUserLocationInformation
,
5998 { "tWANUserLocationInformation", "gprscdr.tWANUserLocationInformation_element",
5999 FT_NONE
, BASE_NONE
, NULL
, 0,
6000 "TWANUserLocationInfo", HFILL
}},
6001 { &hf_gprscdr_ePCQoSInformation
,
6002 { "ePCQoSInformation", "gprscdr.ePCQoSInformation_element",
6003 FT_NONE
, BASE_NONE
, NULL
, 0,
6005 { &hf_gprscdr_lastUserLocationInformation_01
,
6006 { "lastUserLocationInformation", "gprscdr.lastUserLocationInformation",
6007 FT_BYTES
, BASE_NONE
, NULL
, 0,
6008 "T_lastUserLocationInformation_01", HFILL
}},
6009 { &hf_gprscdr_nBIFOMMode
,
6010 { "nBIFOMMode", "gprscdr.nBIFOMMode",
6011 FT_UINT32
, BASE_DEC
, VALS(gprscdr_NBIFOMMode_vals
), 0,
6013 { &hf_gprscdr_nBIFOMSupport
,
6014 { "nBIFOMSupport", "gprscdr.nBIFOMSupport",
6015 FT_UINT32
, BASE_DEC
, VALS(gprscdr_NBIFOMSupport_vals
), 0,
6017 { &hf_gprscdr_uWANUserLocationInformation
,
6018 { "uWANUserLocationInformation", "gprscdr.uWANUserLocationInformation_element",
6019 FT_NONE
, BASE_NONE
, NULL
, 0,
6020 "UWANUserLocationInfo", HFILL
}},
6021 { &hf_gprscdr_sGiPtPTunnellingMethod
,
6022 { "sGiPtPTunnellingMethod", "gprscdr.sGiPtPTunnellingMethod",
6023 FT_UINT32
, BASE_DEC
, VALS(gprscdr_SGiPtPTunnellingMethod_vals
), 0,
6025 { &hf_gprscdr_aPNRateControl
,
6026 { "aPNRateControl", "gprscdr.aPNRateControl_element",
6027 FT_NONE
, BASE_NONE
, NULL
, 0,
6029 { &hf_gprscdr_chargingPerIPCANSessionIndicator
,
6030 { "chargingPerIPCANSessionIndicator", "gprscdr.chargingPerIPCANSessionIndicator",
6031 FT_UINT32
, BASE_DEC
, VALS(gprscdr_ChargingPerIPCANSessionIndicator_vals
), 0,
6033 { &hf_gprscdr_threeGPPPSDataOffStatus
,
6034 { "threeGPPPSDataOffStatus", "gprscdr.threeGPPPSDataOffStatus",
6035 FT_UINT32
, BASE_DEC
, VALS(gprscdr_ThreeGPPPSDataOffStatus_vals
), 0,
6037 { &hf_gprscdr_sCSASAddress
,
6038 { "sCSASAddress", "gprscdr.sCSASAddress_element",
6039 FT_NONE
, BASE_NONE
, NULL
, 0,
6041 { &hf_gprscdr_userLocationInformation_08
,
6042 { "userLocationInformation", "gprscdr.userLocationInformation",
6043 FT_BYTES
, BASE_NONE
, NULL
, 0,
6044 "OCTET_STRING", HFILL
}},
6045 { &hf_gprscdr_tDFAddress
,
6046 { "tDFAddress", "gprscdr.tDFAddress",
6047 FT_UINT32
, BASE_DEC
, VALS(gprscdr_IPAddress_vals
), 0,
6048 "GSNAddress", HFILL
}},
6049 { &hf_gprscdr_tDFiPv6AddressUsed
,
6050 { "tDFiPv6AddressUsed", "gprscdr.tDFiPv6AddressUsed",
6051 FT_UINT32
, BASE_DEC
, VALS(gprscdr_IPAddress_vals
), 0,
6052 "GSNAddress", HFILL
}},
6053 { &hf_gprscdr_tDFPLMNIdentifier
,
6054 { "tDFPLMNIdentifier", "gprscdr.tDFPLMNIdentifier",
6055 FT_BYTES
, BASE_NONE
, NULL
, 0,
6056 "PLMN_Id", HFILL
}},
6057 { &hf_gprscdr_servedFixedSubsID
,
6058 { "servedFixedSubsID", "gprscdr.servedFixedSubsID",
6059 FT_BYTES
, BASE_NONE
, NULL
, 0,
6060 "FixedSubsID", HFILL
}},
6061 { &hf_gprscdr_accessLineIdentifier
,
6062 { "accessLineIdentifier", "gprscdr.accessLineIdentifier_element",
6063 FT_NONE
, BASE_NONE
, NULL
, 0,
6065 { &hf_gprscdr_fixedUserLocationInformation
,
6066 { "fixedUserLocationInformation", "gprscdr.fixedUserLocationInformation_element",
6067 FT_NONE
, BASE_NONE
, NULL
, 0,
6069 { &hf_gprscdr_iPEdgeAddress
,
6070 { "iPEdgeAddress", "gprscdr.iPEdgeAddress",
6071 FT_UINT32
, BASE_DEC
, VALS(gprscdr_IPAddress_vals
), 0,
6072 "GSNAddress", HFILL
}},
6073 { &hf_gprscdr_iPCANsessionType
,
6074 { "iPCANsessionType", "gprscdr.iPCANsessionType",
6075 FT_BYTES
, BASE_NONE
, NULL
, 0,
6076 "PDPType", HFILL
}},
6077 { &hf_gprscdr_servedIPCANsessionAddress
,
6078 { "servedIPCANsessionAddress", "gprscdr.servedIPCANsessionAddress",
6079 FT_UINT32
, BASE_DEC
, VALS(gprscdr_PDPAddress_vals
), 0,
6080 "PDPAddress", HFILL
}},
6081 { &hf_gprscdr_iPEdgeOperatorIdentifier
,
6082 { "iPEdgeOperatorIdentifier", "gprscdr.iPEdgeOperatorIdentifier",
6083 FT_BYTES
, BASE_NONE
, NULL
, 0,
6084 "PLMN_Id", HFILL
}},
6085 { &hf_gprscdr_servedIPCANsessionAddressExt
,
6086 { "servedIPCANsessionAddressExt", "gprscdr.servedIPCANsessionAddressExt",
6087 FT_UINT32
, BASE_DEC
, VALS(gprscdr_PDPAddress_vals
), 0,
6088 "PDPAddress", HFILL
}},
6089 { &hf_gprscdr_iPEdgeiPv6AddressUsed
,
6090 { "iPEdgeiPv6AddressUsed", "gprscdr.iPEdgeiPv6AddressUsed",
6091 FT_UINT32
, BASE_DEC
, VALS(gprscdr_IPAddress_vals
), 0,
6092 "GSNAddress", HFILL
}},
6093 { &hf_gprscdr_ePDGAddressUsed
,
6094 { "ePDGAddressUsed", "gprscdr.ePDGAddressUsed",
6095 FT_UINT32
, BASE_DEC
, VALS(gprscdr_IPAddress_vals
), 0,
6096 "GSNAddress", HFILL
}},
6097 { &hf_gprscdr_ePDGiPv6AddressUsed
,
6098 { "ePDGiPv6AddressUsed", "gprscdr.ePDGiPv6AddressUsed",
6099 FT_UINT32
, BASE_DEC
, VALS(gprscdr_IPAddress_vals
), 0,
6100 "GSNAddress", HFILL
}},
6101 { &hf_gprscdr_tWAGAddressUsed
,
6102 { "tWAGAddressUsed", "gprscdr.tWAGAddressUsed",
6103 FT_UINT32
, BASE_DEC
, VALS(gprscdr_IPAddress_vals
), 0,
6104 "GSNAddress", HFILL
}},
6105 { &hf_gprscdr_tWAGiPv6AddressUsed
,
6106 { "tWAGiPv6AddressUsed", "gprscdr.tWAGiPv6AddressUsed",
6107 FT_UINT32
, BASE_DEC
, VALS(gprscdr_IPAddress_vals
), 0,
6108 "GSNAddress", HFILL
}},
6109 { &hf_gprscdr_changeLocation
,
6110 { "changeLocation", "gprscdr.changeLocation",
6111 FT_UINT32
, BASE_DEC
, NULL
, 0,
6112 "SEQUENCE_OF_ChangeLocation", HFILL
}},
6113 { &hf_gprscdr_changeLocation_item
,
6114 { "ChangeLocation", "gprscdr.ChangeLocation_element",
6115 FT_NONE
, BASE_NONE
, NULL
, 0,
6117 { &hf_gprscdr_cAMELInformationMM
,
6118 { "cAMELInformationMM", "gprscdr.cAMELInformationMM_element",
6119 FT_NONE
, BASE_NONE
, NULL
, 0,
6121 { &hf_gprscdr_cellPLMNId
,
6122 { "cellPLMNId", "gprscdr.cellPLMNId",
6123 FT_BYTES
, BASE_NONE
, NULL
, 0,
6124 "PLMN_Id", HFILL
}},
6125 { &hf_gprscdr_servingNodeType_01
,
6126 { "servingNodeType", "gprscdr.servingNodeType",
6127 FT_UINT32
, BASE_DEC
, VALS(gprscdr_ServingNodeType_vals
), 0,
6129 { &hf_gprscdr_servingNodeAddress_01
,
6130 { "servingNodeAddress", "gprscdr.servingNodeAddress",
6131 FT_UINT32
, BASE_DEC
, VALS(gprscdr_IPAddress_vals
), 0,
6132 "GSNAddress", HFILL
}},
6133 { &hf_gprscdr_servingNodeiPv6Address_01
,
6134 { "servingNodeiPv6Address", "gprscdr.servingNodeiPv6Address",
6135 FT_UINT32
, BASE_DEC
, VALS(gprscdr_IPAddress_vals
), 0,
6136 "GSNAddress", HFILL
}},
6137 { &hf_gprscdr_mMEName
,
6138 { "mMEName", "gprscdr.mMEName",
6139 FT_BYTES
, BASE_NONE
, NULL
, 0,
6140 "DiameterIdentity", HFILL
}},
6141 { &hf_gprscdr_mMERealm
,
6142 { "mMERealm", "gprscdr.mMERealm",
6143 FT_BYTES
, BASE_NONE
, NULL
, 0,
6144 "DiameterIdentity", HFILL
}},
6145 { &hf_gprscdr_originatingAddress
,
6146 { "originatingAddress", "gprscdr.originatingAddress",
6147 FT_BYTES
, BASE_NONE
, NULL
, 0,
6148 "AddressString", HFILL
}},
6149 { &hf_gprscdr_lcsClientType
,
6150 { "lcsClientType", "gprscdr.lcsClientType",
6151 FT_UINT32
, BASE_DEC
, VALS(gsm_map_lcs_LCSClientType_vals
), 0,
6153 { &hf_gprscdr_lcsClientIdentity
,
6154 { "lcsClientIdentity", "gprscdr.lcsClientIdentity_element",
6155 FT_NONE
, BASE_NONE
, NULL
, 0,
6157 { &hf_gprscdr_locationType
,
6158 { "locationType", "gprscdr.locationType_element",
6159 FT_NONE
, BASE_NONE
, NULL
, 0,
6161 { &hf_gprscdr_lcsQos
,
6162 { "lcsQos", "gprscdr.lcsQos",
6163 FT_BYTES
, BASE_NONE
, NULL
, 0,
6164 "LCSQoSInfo", HFILL
}},
6165 { &hf_gprscdr_lcsPriority
,
6166 { "lcsPriority", "gprscdr.lcsPriority",
6167 FT_BYTES
, BASE_NONE
, NULL
, 0,
6168 "LCS_Priority", HFILL
}},
6169 { &hf_gprscdr_mlcNumber
,
6170 { "mlcNumber", "gprscdr.mlcNumber",
6171 FT_BYTES
, BASE_NONE
, NULL
, 0,
6172 "ISDN_AddressString", HFILL
}},
6173 { &hf_gprscdr_measurementDuration
,
6174 { "measurementDuration", "gprscdr.measurementDuration",
6175 FT_INT32
, BASE_DEC
, NULL
, 0,
6176 "CallDuration", HFILL
}},
6177 { &hf_gprscdr_notificationToMSUser
,
6178 { "notificationToMSUser", "gprscdr.notificationToMSUser",
6179 FT_UINT32
, BASE_DEC
, VALS(gsm_map_ms_NotificationToMSUser_vals
), 0,
6181 { &hf_gprscdr_privacyOverride
,
6182 { "privacyOverride", "gprscdr.privacyOverride_element",
6183 FT_NONE
, BASE_NONE
, NULL
, 0,
6185 { &hf_gprscdr_location
,
6186 { "location", "gprscdr.location_element",
6187 FT_NONE
, BASE_NONE
, NULL
, 0,
6188 "LocationAreaAndCell", HFILL
}},
6189 { &hf_gprscdr_locationEstimate
,
6190 { "locationEstimate", "gprscdr.locationEstimate",
6191 FT_BYTES
, BASE_NONE
, NULL
, 0,
6192 "Ext_GeographicalInformation", HFILL
}},
6193 { &hf_gprscdr_positioningData
,
6194 { "positioningData", "gprscdr.positioningData",
6195 FT_BYTES
, BASE_NONE
, NULL
, 0,
6197 { &hf_gprscdr_lcsCause
,
6198 { "lcsCause", "gprscdr.lcsCause",
6199 FT_BYTES
, BASE_NONE
, NULL
, 0,
6201 { &hf_gprscdr_locationMethod
,
6202 { "locationMethod", "gprscdr.locationMethod",
6203 FT_UINT32
, BASE_DEC
, VALS(gsm_ss_LocationMethod_vals
), 0,
6205 { &hf_gprscdr_listofRAs
,
6206 { "listofRAs", "gprscdr.listofRAs",
6207 FT_UINT32
, BASE_DEC
, NULL
, 0,
6208 "SEQUENCE_OF_RAIdentity", HFILL
}},
6209 { &hf_gprscdr_listofRAs_item
,
6210 { "RAIdentity", "gprscdr.RAIdentity",
6211 FT_BYTES
, BASE_NONE
, NULL
, 0,
6213 { &hf_gprscdr_listOfTrafficVolumes_02
,
6214 { "listOfTrafficVolumes", "gprscdr.listOfTrafficVolumes",
6215 FT_UINT32
, BASE_DEC
, NULL
, 0,
6216 "SEQUENCE_OF_ChangeOfMBMSCondition", HFILL
}},
6217 { &hf_gprscdr_listOfTrafficVolumes_item_02
,
6218 { "ChangeOfMBMSCondition", "gprscdr.ChangeOfMBMSCondition_element",
6219 FT_NONE
, BASE_NONE
, NULL
, 0,
6221 { &hf_gprscdr_numberofReceivingUE
,
6222 { "numberofReceivingUE", "gprscdr.numberofReceivingUE",
6223 FT_INT32
, BASE_DEC
, NULL
, 0,
6224 "INTEGER", HFILL
}},
6225 { &hf_gprscdr_mbmsInformation
,
6226 { "mbmsInformation", "gprscdr.mbmsInformation_element",
6227 FT_NONE
, BASE_NONE
, NULL
, 0,
6229 { &hf_gprscdr_listofDownstreamNodes
,
6230 { "listofDownstreamNodes", "gprscdr.listofDownstreamNodes",
6231 FT_UINT32
, BASE_DEC
, NULL
, 0,
6232 "SEQUENCE_OF_GSNAddress", HFILL
}},
6233 { &hf_gprscdr_listofDownstreamNodes_item
,
6234 { "GSNAddress", "gprscdr.GSNAddress",
6235 FT_UINT32
, BASE_DEC
, VALS(gprscdr_IPAddress_vals
), 0,
6237 { &hf_gprscdr_mbmsGWAddress
,
6238 { "mbmsGWAddress", "gprscdr.mbmsGWAddress",
6239 FT_UINT32
, BASE_DEC
, VALS(gprscdr_IPAddress_vals
), 0,
6240 "GSNAddress", HFILL
}},
6241 { &hf_gprscdr_commonTeid
,
6242 { "commonTeid", "gprscdr.commonTeid",
6243 FT_BYTES
, BASE_NONE
, NULL
, 0,
6245 { &hf_gprscdr_iPMulticastSourceAddress
,
6246 { "iPMulticastSourceAddress", "gprscdr.iPMulticastSourceAddress",
6247 FT_UINT32
, BASE_DEC
, VALS(gprscdr_PDPAddress_vals
), 0,
6248 "PDPAddress", HFILL
}},
6249 { &hf_gprscdr_physicalAccessID
,
6250 { "physicalAccessID", "gprscdr.physicalAccessID",
6251 FT_STRING
, BASE_NONE
, NULL
, 0,
6252 "UTF8String", HFILL
}},
6253 { &hf_gprscdr_logicalAccessID
,
6254 { "logicalAccessID", "gprscdr.logicalAccessID",
6255 FT_BYTES
, BASE_NONE
, NULL
, 0,
6256 "OCTET_STRING", HFILL
}},
6257 { &hf_gprscdr_aFChargingIdentifier
,
6258 { "aFChargingIdentifier", "gprscdr.aFChargingIdentifier",
6259 FT_BYTES
, BASE_NONE
, NULL
, 0,
6261 { &hf_gprscdr_flows
,
6262 { "flows", "gprscdr.flows_element",
6263 FT_NONE
, BASE_NONE
, NULL
, 0,
6265 { &hf_gprscdr_aPNRateControlUplink
,
6266 { "aPNRateControlUplink", "gprscdr.aPNRateControlUplink_element",
6267 FT_NONE
, BASE_NONE
, NULL
, 0,
6268 "APNRateControlParameters", HFILL
}},
6269 { &hf_gprscdr_aPNRateControlDownlink
,
6270 { "aPNRateControlDownlink", "gprscdr.aPNRateControlDownlink_element",
6271 FT_NONE
, BASE_NONE
, NULL
, 0,
6272 "APNRateControlParameters", HFILL
}},
6273 { &hf_gprscdr_additionalExceptionReports
,
6274 { "additionalExceptionReports", "gprscdr.additionalExceptionReports",
6275 FT_UINT32
, BASE_DEC
, VALS(gprscdr_AdditionalExceptionReports_vals
), 0,
6277 { &hf_gprscdr_rateControlTimeUnit
,
6278 { "rateControlTimeUnit", "gprscdr.rateControlTimeUnit",
6279 FT_INT32
, BASE_DEC
, VALS(gprscdr_RateControlTimeUnit_vals
), 0,
6281 { &hf_gprscdr_rateControlMaxRate
,
6282 { "rateControlMaxRate", "gprscdr.rateControlMaxRate",
6283 FT_INT32
, BASE_DEC
, NULL
, 0,
6284 "INTEGER", HFILL
}},
6285 { &hf_gprscdr_rateControlMaxMessageSize
,
6286 { "rateControlMaxMessageSize", "gprscdr.rateControlMaxMessageSize",
6287 FT_INT32
, BASE_DEC
, NULL
, 0,
6288 "DataVolumeGPRS", HFILL
}},
6289 { &hf_gprscdr_called_Party_Address
,
6290 { "called-Party-Address", "gprscdr.called_Party_Address",
6291 FT_UINT32
, BASE_DEC
, VALS(gprscdr_InvolvedParty_vals
), 0,
6292 "InvolvedParty", HFILL
}},
6293 { &hf_gprscdr_requested_Party_Address
,
6294 { "requested-Party-Address", "gprscdr.requested_Party_Address",
6295 FT_UINT32
, BASE_DEC
, VALS(gprscdr_InvolvedParty_vals
), 0,
6296 "InvolvedParty", HFILL
}},
6297 { &hf_gprscdr_list_Of_Called_Asserted_Identity
,
6298 { "list-Of-Called-Asserted-Identity", "gprscdr.list_Of_Called_Asserted_Identity",
6299 FT_UINT32
, BASE_DEC
, NULL
, 0,
6300 "SEQUENCE_OF_InvolvedParty", HFILL
}},
6301 { &hf_gprscdr_list_Of_Called_Asserted_Identity_item
,
6302 { "InvolvedParty", "gprscdr.InvolvedParty",
6303 FT_UINT32
, BASE_DEC
, VALS(gprscdr_InvolvedParty_vals
), 0,
6305 { &hf_gprscdr_sCFAddress
,
6306 { "sCFAddress", "gprscdr.sCFAddress",
6307 FT_BYTES
, BASE_NONE
, NULL
, 0,
6309 { &hf_gprscdr_serviceKey
,
6310 { "serviceKey", "gprscdr.serviceKey",
6311 FT_UINT32
, BASE_DEC
, NULL
, 0,
6313 { &hf_gprscdr_defaultTransactionHandling
,
6314 { "defaultTransactionHandling", "gprscdr.defaultTransactionHandling",
6315 FT_UINT32
, BASE_DEC
, VALS(gsm_map_ms_DefaultGPRS_Handling_vals
), 0,
6316 "DefaultGPRS_Handling", HFILL
}},
6317 { &hf_gprscdr_numberOfDPEncountered
,
6318 { "numberOfDPEncountered", "gprscdr.numberOfDPEncountered",
6319 FT_INT32
, BASE_DEC
, NULL
, 0,
6321 { &hf_gprscdr_levelOfCAMELService
,
6322 { "levelOfCAMELService", "gprscdr.levelOfCAMELService",
6323 FT_BYTES
, BASE_NONE
, NULL
, 0,
6325 { &hf_gprscdr_freeFormatData
,
6326 { "freeFormatData", "gprscdr.freeFormatData",
6327 FT_BYTES
, BASE_NONE
, NULL
, 0,
6329 { &hf_gprscdr_fFDAppendIndicator
,
6330 { "fFDAppendIndicator", "gprscdr.fFDAppendIndicator",
6331 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
6333 { &hf_gprscdr_cAMELAccessPointNameNI
,
6334 { "cAMELAccessPointNameNI", "gprscdr.cAMELAccessPointNameNI",
6335 FT_STRING
, BASE_NONE
, NULL
, 0,
6337 { &hf_gprscdr_cAMELAccessPointNameOI
,
6338 { "cAMELAccessPointNameOI", "gprscdr.cAMELAccessPointNameOI",
6339 FT_STRING
, BASE_NONE
, NULL
, 0,
6341 { &hf_gprscdr_defaultSMSHandling
,
6342 { "defaultSMSHandling", "gprscdr.defaultSMSHandling",
6343 FT_UINT32
, BASE_DEC
, VALS(gsm_map_ms_DefaultSMS_Handling_vals
), 0,
6344 "DefaultSMS_Handling", HFILL
}},
6345 { &hf_gprscdr_cAMELCallingPartyNumber
,
6346 { "cAMELCallingPartyNumber", "gprscdr.cAMELCallingPartyNumber",
6347 FT_BYTES
, BASE_NONE
, NULL
, 0,
6348 "CallingNumber", HFILL
}},
6349 { &hf_gprscdr_cAMELDestinationSubscriberNumber
,
6350 { "cAMELDestinationSubscriberNumber", "gprscdr.cAMELDestinationSubscriberNumber",
6351 FT_BYTES
, BASE_NONE
, NULL
, 0,
6352 "SmsTpDestinationNumber", HFILL
}},
6353 { &hf_gprscdr_cAMELSMSCAddress
,
6354 { "cAMELSMSCAddress", "gprscdr.cAMELSMSCAddress",
6355 FT_BYTES
, BASE_NONE
, NULL
, 0,
6356 "AddressString", HFILL
}},
6357 { &hf_gprscdr_smsReferenceNumber
,
6358 { "smsReferenceNumber", "gprscdr.smsReferenceNumber",
6359 FT_BYTES
, BASE_NONE
, NULL
, 0,
6360 "CallReferenceNumber", HFILL
}},
6361 { &hf_gprscdr_changeCondition_01
,
6362 { "changeCondition", "gprscdr.changeCondition",
6363 FT_UINT32
, BASE_DEC
, VALS(gprscdr_ChangeCondition_vals
), 0,
6365 { &hf_gprscdr_userLocationInformation_09
,
6366 { "userLocationInformation", "gprscdr.userLocationInformation",
6367 FT_BYTES
, BASE_NONE
, NULL
, 0,
6368 "T_userLocationInformation_08", HFILL
}},
6369 { &hf_gprscdr_presenceReportingAreaStatus
,
6370 { "presenceReportingAreaStatus", "gprscdr.presenceReportingAreaStatus",
6371 FT_UINT32
, BASE_DEC
, VALS(gprscdr_PresenceReportingAreaStatus_vals
), 0,
6373 { &hf_gprscdr_accessAvailabilityChangeReason
,
6374 { "accessAvailabilityChangeReason", "gprscdr.accessAvailabilityChangeReason",
6375 FT_UINT32
, BASE_DEC
, NULL
, 0,
6377 { &hf_gprscdr_relatedChangeOfCharCondition
,
6378 { "relatedChangeOfCharCondition", "gprscdr.relatedChangeOfCharCondition_element",
6379 FT_NONE
, BASE_NONE
, NULL
, 0,
6381 { &hf_gprscdr_listOfPresenceReportingAreaInformation
,
6382 { "listOfPresenceReportingAreaInformation", "gprscdr.listOfPresenceReportingAreaInformation",
6383 FT_UINT32
, BASE_DEC
, NULL
, 0,
6384 "SEQUENCE_OF_PresenceReportingAreaInfo", HFILL
}},
6385 { &hf_gprscdr_listOfPresenceReportingAreaInformation_item
,
6386 { "PresenceReportingAreaInfo", "gprscdr.PresenceReportingAreaInfo_element",
6387 FT_NONE
, BASE_NONE
, NULL
, 0,
6389 { &hf_gprscdr_dataVolumeMBMSUplink
,
6390 { "dataVolumeMBMSUplink", "gprscdr.dataVolumeMBMSUplink",
6391 FT_INT32
, BASE_DEC
, NULL
, 0,
6392 "DataVolumeMBMS", HFILL
}},
6393 { &hf_gprscdr_dataVolumeMBMSDownlink
,
6394 { "dataVolumeMBMSDownlink", "gprscdr.dataVolumeMBMSDownlink",
6395 FT_INT32
, BASE_DEC
, NULL
, 0,
6396 "DataVolumeMBMS", HFILL
}},
6397 { &hf_gprscdr_serviceConditionChange_01
,
6398 { "serviceConditionChange", "gprscdr.serviceConditionChange",
6399 FT_BYTES
, BASE_NONE
, NULL
, 0,
6401 { &hf_gprscdr_qoSInformationNeg_01
,
6402 { "qoSInformationNeg", "gprscdr.qoSInformationNeg_element",
6403 FT_NONE
, BASE_NONE
, NULL
, 0,
6404 "EPCQoSInformation", HFILL
}},
6405 { &hf_gprscdr_userLocationInformation_10
,
6406 { "userLocationInformation", "gprscdr.userLocationInformation",
6407 FT_BYTES
, BASE_NONE
, NULL
, 0,
6408 "T_userLocationInformation_09", HFILL
}},
6409 { &hf_gprscdr_serviceSpecificInfo
,
6410 { "serviceSpecificInfo", "gprscdr.serviceSpecificInfo",
6411 FT_UINT32
, BASE_DEC
, NULL
, 0,
6412 "SEQUENCE_OF_ServiceSpecificInfo", HFILL
}},
6413 { &hf_gprscdr_serviceSpecificInfo_item
,
6414 { "ServiceSpecificInfo", "gprscdr.ServiceSpecificInfo_element",
6415 FT_NONE
, BASE_NONE
, NULL
, 0,
6417 { &hf_gprscdr_sponsorIdentity
,
6418 { "sponsorIdentity", "gprscdr.sponsorIdentity",
6419 FT_BYTES
, BASE_NONE
, NULL
, 0,
6420 "OCTET_STRING", HFILL
}},
6421 { &hf_gprscdr_applicationServiceProviderIdentity
,
6422 { "applicationServiceProviderIdentity", "gprscdr.applicationServiceProviderIdentity",
6423 FT_BYTES
, BASE_NONE
, NULL
, 0,
6424 "OCTET_STRING", HFILL
}},
6425 { &hf_gprscdr_aDCRuleBaseName
,
6426 { "aDCRuleBaseName", "gprscdr.aDCRuleBaseName",
6427 FT_STRING
, BASE_NONE
, NULL
, 0,
6429 { &hf_gprscdr_relatedChangeOfServiceCondition
,
6430 { "relatedChangeOfServiceCondition", "gprscdr.relatedChangeOfServiceCondition_element",
6431 FT_NONE
, BASE_NONE
, NULL
, 0,
6433 { &hf_gprscdr_trafficSteeringPolicyIDDownlink
,
6434 { "trafficSteeringPolicyIDDownlink", "gprscdr.trafficSteeringPolicyIDDownlink",
6435 FT_BYTES
, BASE_NONE
, NULL
, 0,
6437 { &hf_gprscdr_trafficSteeringPolicyIDUplink
,
6438 { "trafficSteeringPolicyIDUplink", "gprscdr.trafficSteeringPolicyIDUplink",
6439 FT_BYTES
, BASE_NONE
, NULL
, 0,
6441 { &hf_gprscdr_voLTEInformation
,
6442 { "voLTEInformation", "gprscdr.voLTEInformation_element",
6443 FT_NONE
, BASE_NONE
, NULL
, 0,
6445 { &hf_gprscdr_routingAreaCode
,
6446 { "routingAreaCode", "gprscdr.routingAreaCode",
6447 FT_BYTES
, BASE_NONE
, NULL
, 0,
6449 { &hf_gprscdr_mCC_MNC_01
,
6450 { "mCC-MNC", "gprscdr.mCC_MNC",
6451 FT_BYTES
, BASE_NONE
, NULL
, 0,
6452 "PLMN_Id", HFILL
}},
6454 { "qCI", "gprscdr.qCI",
6455 FT_INT32
, BASE_DEC
, NULL
, 0,
6456 "INTEGER", HFILL
}},
6457 { &hf_gprscdr_maxRequestedBandwithUL
,
6458 { "maxRequestedBandwithUL", "gprscdr.maxRequestedBandwithUL",
6459 FT_UINT32
, BASE_DEC
, NULL
, 0,
6460 "INTEGER", HFILL
}},
6461 { &hf_gprscdr_maxRequestedBandwithDL
,
6462 { "maxRequestedBandwithDL", "gprscdr.maxRequestedBandwithDL",
6463 FT_UINT32
, BASE_DEC
, NULL
, 0,
6464 "INTEGER", HFILL
}},
6465 { &hf_gprscdr_guaranteedBitrateUL
,
6466 { "guaranteedBitrateUL", "gprscdr.guaranteedBitrateUL",
6467 FT_UINT32
, BASE_DEC
, NULL
, 0,
6468 "INTEGER", HFILL
}},
6469 { &hf_gprscdr_guaranteedBitrateDL
,
6470 { "guaranteedBitrateDL", "gprscdr.guaranteedBitrateDL",
6471 FT_UINT32
, BASE_DEC
, NULL
, 0,
6472 "INTEGER", HFILL
}},
6474 { "aRP", "gprscdr.aRP",
6475 FT_INT32
, BASE_DEC
, NULL
, 0,
6477 { &hf_gprscdr_aPNAggregateMaxBitrateUL
,
6478 { "aPNAggregateMaxBitrateUL", "gprscdr.aPNAggregateMaxBitrateUL",
6479 FT_UINT32
, BASE_DEC
, NULL
, 0,
6480 "INTEGER", HFILL
}},
6481 { &hf_gprscdr_aPNAggregateMaxBitrateDL
,
6482 { "aPNAggregateMaxBitrateDL", "gprscdr.aPNAggregateMaxBitrateDL",
6483 FT_UINT32
, BASE_DEC
, NULL
, 0,
6484 "INTEGER", HFILL
}},
6485 { &hf_gprscdr_extendedMaxRequestedBWUL
,
6486 { "extendedMaxRequestedBWUL", "gprscdr.extendedMaxRequestedBWUL",
6487 FT_UINT32
, BASE_DEC
, NULL
, 0,
6488 "INTEGER", HFILL
}},
6489 { &hf_gprscdr_extendedMaxRequestedBWDL
,
6490 { "extendedMaxRequestedBWDL", "gprscdr.extendedMaxRequestedBWDL",
6491 FT_UINT32
, BASE_DEC
, NULL
, 0,
6492 "INTEGER", HFILL
}},
6493 { &hf_gprscdr_extendedGBRUL
,
6494 { "extendedGBRUL", "gprscdr.extendedGBRUL",
6495 FT_UINT32
, BASE_DEC
, NULL
, 0,
6496 "INTEGER", HFILL
}},
6497 { &hf_gprscdr_extendedGBRDL
,
6498 { "extendedGBRDL", "gprscdr.extendedGBRDL",
6499 FT_UINT32
, BASE_DEC
, NULL
, 0,
6500 "INTEGER", HFILL
}},
6501 { &hf_gprscdr_extendedAPNAMBRUL
,
6502 { "extendedAPNAMBRUL", "gprscdr.extendedAPNAMBRUL",
6503 FT_UINT32
, BASE_DEC
, NULL
, 0,
6504 "INTEGER", HFILL
}},
6505 { &hf_gprscdr_extendedAPNAMBRDL
,
6506 { "extendedAPNAMBRDL", "gprscdr.extendedAPNAMBRDL",
6507 FT_UINT32
, BASE_DEC
, NULL
, 0,
6508 "INTEGER", HFILL
}},
6509 { &hf_gprscdr_numberOfEvents
,
6510 { "numberOfEvents", "gprscdr.numberOfEvents",
6511 FT_INT32
, BASE_DEC
, NULL
, 0,
6512 "INTEGER", HFILL
}},
6513 { &hf_gprscdr_eventTimeStamps
,
6514 { "eventTimeStamps", "gprscdr.eventTimeStamps",
6515 FT_UINT32
, BASE_DEC
, NULL
, 0,
6516 "SEQUENCE_OF_TimeStamp", HFILL
}},
6517 { &hf_gprscdr_eventTimeStamps_item
,
6518 { "TimeStamp", "gprscdr.TimeStamp",
6519 FT_BYTES
, BASE_NONE
, NULL
, 0,
6522 { "sSID", "gprscdr.sSID",
6523 FT_BYTES
, BASE_NONE
, NULL
, 0,
6524 "OCTET_STRING", HFILL
}},
6525 { &hf_gprscdr_bSSID
,
6526 { "bSSID", "gprscdr.bSSID",
6527 FT_BYTES
, BASE_NONE
, NULL
, 0,
6528 "OCTET_STRING", HFILL
}},
6529 { &hf_gprscdr_mediaComponentNumber
,
6530 { "mediaComponentNumber", "gprscdr.mediaComponentNumber",
6531 FT_INT32
, BASE_DEC
, NULL
, 0,
6532 "INTEGER", HFILL
}},
6533 { &hf_gprscdr_flowNumber
,
6534 { "flowNumber", "gprscdr.flowNumber",
6535 FT_UINT32
, BASE_DEC
, NULL
, 0,
6537 { &hf_gprscdr_flowNumber_item
,
6538 { "flowNumber item", "gprscdr.flowNumber_item",
6539 FT_INT32
, BASE_DEC
, NULL
, 0,
6540 "INTEGER", HFILL
}},
6541 { &hf_gprscdr_counterValue
,
6542 { "counterValue", "gprscdr.counterValue",
6543 FT_INT32
, BASE_DEC
, NULL
, 0,
6544 "INTEGER", HFILL
}},
6545 { &hf_gprscdr_counterTimestamp
,
6546 { "counterTimestamp", "gprscdr.counterTimestamp",
6547 FT_BYTES
, BASE_NONE
, NULL
, 0,
6548 "TimeStamp", HFILL
}},
6549 { &hf_gprscdr_presenceReportingAreaIdentifier
,
6550 { "presenceReportingAreaIdentifier", "gprscdr.presenceReportingAreaIdentifier",
6551 FT_BYTES
, BASE_NONE
, NULL
, 0,
6552 "OCTET_STRING", HFILL
}},
6553 { &hf_gprscdr_presenceReportingAreaElementsList
,
6554 { "presenceReportingAreaElementsList", "gprscdr.presenceReportingAreaElementsList",
6555 FT_BYTES
, BASE_NONE
, NULL
, 0,
6557 { &hf_gprscdr_presenceReportingAreaNode
,
6558 { "presenceReportingAreaNode", "gprscdr.presenceReportingAreaNode",
6559 FT_BYTES
, BASE_NONE
, NULL
, 0,
6561 { &hf_gprscdr_pSFreeFormatData
,
6562 { "pSFreeFormatData", "gprscdr.pSFreeFormatData",
6563 FT_BYTES
, BASE_NONE
, NULL
, 0,
6564 "FreeFormatData", HFILL
}},
6565 { &hf_gprscdr_pSFFDAppendIndicator
,
6566 { "pSFFDAppendIndicator", "gprscdr.pSFFDAppendIndicator",
6567 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
6568 "FFDAppendIndicator", HFILL
}},
6569 { &hf_gprscdr_dataVolumeUplink
,
6570 { "dataVolumeUplink", "gprscdr.dataVolumeUplink",
6571 FT_INT32
, BASE_DEC
, NULL
, 0,
6572 "DataVolumeGPRS", HFILL
}},
6573 { &hf_gprscdr_dataVolumeDownlink
,
6574 { "dataVolumeDownlink", "gprscdr.dataVolumeDownlink",
6575 FT_INT32
, BASE_DEC
, NULL
, 0,
6576 "DataVolumeGPRS", HFILL
}},
6577 { &hf_gprscdr_rANStartTime
,
6578 { "rANStartTime", "gprscdr.rANStartTime",
6579 FT_BYTES
, BASE_NONE
, NULL
, 0,
6580 "TimeStamp", HFILL
}},
6581 { &hf_gprscdr_rANEndTime
,
6582 { "rANEndTime", "gprscdr.rANEndTime",
6583 FT_BYTES
, BASE_NONE
, NULL
, 0,
6584 "TimeStamp", HFILL
}},
6585 { &hf_gprscdr_secondaryRATType
,
6586 { "secondaryRATType", "gprscdr.secondaryRATType",
6587 FT_INT32
, BASE_DEC
, VALS(gprscdr_SecondaryRATType_vals
), 0,
6589 { &hf_gprscdr_userLocationInformation_11
,
6590 { "userLocationInformation", "gprscdr.userLocationInformation",
6591 FT_BYTES
, BASE_NONE
, NULL
, 0,
6592 "T_userLocationInformation_10", HFILL
}},
6593 { &hf_gprscdr_userLocationInformation_12
,
6594 { "userLocationInformation", "gprscdr.userLocationInformation",
6595 FT_BYTES
, BASE_NONE
, NULL
, 0,
6596 "T_userLocationInformation_11", HFILL
}},
6597 { &hf_gprscdr_relatedServiceConditionChange
,
6598 { "relatedServiceConditionChange", "gprscdr.relatedServiceConditionChange",
6599 FT_BYTES
, BASE_NONE
, NULL
, 0,
6600 "ServiceConditionChange", HFILL
}},
6601 { &hf_gprscdr_sPLMNDLRateControlValue
,
6602 { "sPLMNDLRateControlValue", "gprscdr.sPLMNDLRateControlValue",
6603 FT_INT32
, BASE_DEC
, NULL
, 0,
6604 "INTEGER", HFILL
}},
6605 { &hf_gprscdr_sPLMNULRateControlValue
,
6606 { "sPLMNULRateControlValue", "gprscdr.sPLMNULRateControlValue",
6607 FT_INT32
, BASE_DEC
, NULL
, 0,
6608 "INTEGER", HFILL
}},
6609 { &hf_gprscdr_timeQuotaType
,
6610 { "timeQuotaType", "gprscdr.timeQuotaType",
6611 FT_UINT32
, BASE_DEC
, VALS(gprscdr_TimeQuotaType_vals
), 0,
6613 { &hf_gprscdr_baseTimeInterval
,
6614 { "baseTimeInterval", "gprscdr.baseTimeInterval",
6615 FT_INT32
, BASE_DEC
, NULL
, 0,
6616 "INTEGER", HFILL
}},
6617 { &hf_gprscdr_civicAddressInformation
,
6618 { "civicAddressInformation", "gprscdr.civicAddressInformation",
6619 FT_BYTES
, BASE_NONE
, NULL
, 0,
6621 { &hf_gprscdr_wLANOperatorId
,
6622 { "wLANOperatorId", "gprscdr.wLANOperatorId_element",
6623 FT_NONE
, BASE_NONE
, NULL
, 0,
6625 { &hf_gprscdr_cSGId
,
6626 { "cSGId", "gprscdr.cSGId",
6627 FT_UINT32
, BASE_DEC
, NULL
, 0,
6629 { &hf_gprscdr_cSGAccessMode
,
6630 { "cSGAccessMode", "gprscdr.cSGAccessMode",
6631 FT_UINT32
, BASE_DEC
, VALS(gprscdr_CSGAccessMode_vals
), 0,
6633 { &hf_gprscdr_cSGMembershipIndication
,
6634 { "cSGMembershipIndication", "gprscdr.cSGMembershipIndication_element",
6635 FT_NONE
, BASE_NONE
, NULL
, 0,
6637 { &hf_gprscdr_uELocalIPAddress
,
6638 { "uELocalIPAddress", "gprscdr.uELocalIPAddress",
6639 FT_UINT32
, BASE_DEC
, VALS(gprscdr_IPAddress_vals
), 0,
6640 "IPAddress", HFILL
}},
6641 { &hf_gprscdr_uDPSourcePort
,
6642 { "uDPSourcePort", "gprscdr.uDPSourcePort",
6643 FT_BYTES
, BASE_NONE
, NULL
, 0,
6644 "OCTET_STRING_SIZE_2", HFILL
}},
6645 { &hf_gprscdr_tCPSourcePort
,
6646 { "tCPSourcePort", "gprscdr.tCPSourcePort",
6647 FT_BYTES
, BASE_NONE
, NULL
, 0,
6648 "OCTET_STRING_SIZE_2", HFILL
}},
6649 { &hf_gprscdr_callerInformation
,
6650 { "callerInformation", "gprscdr.callerInformation",
6651 FT_UINT32
, BASE_DEC
, NULL
, 0,
6652 "SEQUENCE_OF_InvolvedParty", HFILL
}},
6653 { &hf_gprscdr_callerInformation_item
,
6654 { "InvolvedParty", "gprscdr.InvolvedParty",
6655 FT_UINT32
, BASE_DEC
, VALS(gprscdr_InvolvedParty_vals
), 0,
6657 { &hf_gprscdr_calleeInformation
,
6658 { "calleeInformation", "gprscdr.calleeInformation_element",
6659 FT_NONE
, BASE_NONE
, NULL
, 0,
6660 "CalleePartyInformation", HFILL
}},
6661 { &hf_gprscdr_wLANOperatorName
,
6662 { "wLANOperatorName", "gprscdr.wLANOperatorName",
6663 FT_BYTES
, BASE_NONE
, NULL
, 0,
6664 "OCTET_STRING", HFILL
}},
6665 { &hf_gprscdr_wLANPLMNId
,
6666 { "wLANPLMNId", "gprscdr.wLANPLMNId",
6667 FT_BYTES
, BASE_NONE
, NULL
, 0,
6668 "PLMN_Id", HFILL
}},
6669 { &hf_gprscdr_LevelOfCAMELService_basic
,
6670 { "basic", "gprscdr.LevelOfCAMELService.basic",
6671 FT_BOOLEAN
, 8, NULL
, 0x80,
6673 { &hf_gprscdr_LevelOfCAMELService_callDurationSupervision
,
6674 { "callDurationSupervision", "gprscdr.LevelOfCAMELService.callDurationSupervision",
6675 FT_BOOLEAN
, 8, NULL
, 0x40,
6677 { &hf_gprscdr_LevelOfCAMELService_onlineCharging
,
6678 { "onlineCharging", "gprscdr.LevelOfCAMELService.onlineCharging",
6679 FT_BOOLEAN
, 8, NULL
, 0x20,
6681 { &hf_gprscdr_ServiceConditionChangeV651_qoSChange
,
6682 { "qoSChange", "gprscdr.ServiceConditionChangeV651.qoSChange",
6683 FT_BOOLEAN
, 8, NULL
, 0x80,
6685 { &hf_gprscdr_ServiceConditionChangeV651_sGSNChange
,
6686 { "sGSNChange", "gprscdr.ServiceConditionChangeV651.sGSNChange",
6687 FT_BOOLEAN
, 8, NULL
, 0x40,
6689 { &hf_gprscdr_ServiceConditionChangeV651_sGSNPLMNIDChange
,
6690 { "sGSNPLMNIDChange", "gprscdr.ServiceConditionChangeV651.sGSNPLMNIDChange",
6691 FT_BOOLEAN
, 8, NULL
, 0x20,
6693 { &hf_gprscdr_ServiceConditionChangeV651_tariffTimeSwitch
,
6694 { "tariffTimeSwitch", "gprscdr.ServiceConditionChangeV651.tariffTimeSwitch",
6695 FT_BOOLEAN
, 8, NULL
, 0x10,
6697 { &hf_gprscdr_ServiceConditionChangeV651_pDPContextRelease
,
6698 { "pDPContextRelease", "gprscdr.ServiceConditionChangeV651.pDPContextRelease",
6699 FT_BOOLEAN
, 8, NULL
, 0x08,
6701 { &hf_gprscdr_ServiceConditionChangeV651_rATChange
,
6702 { "rATChange", "gprscdr.ServiceConditionChangeV651.rATChange",
6703 FT_BOOLEAN
, 8, NULL
, 0x04,
6705 { &hf_gprscdr_ServiceConditionChangeV651_serviceIdledOut
,
6706 { "serviceIdledOut", "gprscdr.ServiceConditionChangeV651.serviceIdledOut",
6707 FT_BOOLEAN
, 8, NULL
, 0x02,
6709 { &hf_gprscdr_ServiceConditionChangeV651_qCTExpiry
,
6710 { "qCTExpiry", "gprscdr.ServiceConditionChangeV651.qCTExpiry",
6711 FT_BOOLEAN
, 8, NULL
, 0x01,
6713 { &hf_gprscdr_ServiceConditionChangeV651_configurationChange
,
6714 { "configurationChange", "gprscdr.ServiceConditionChangeV651.configurationChange",
6715 FT_BOOLEAN
, 8, NULL
, 0x80,
6717 { &hf_gprscdr_ServiceConditionChangeV651_serviceStop
,
6718 { "serviceStop", "gprscdr.ServiceConditionChangeV651.serviceStop",
6719 FT_BOOLEAN
, 8, NULL
, 0x40,
6721 { &hf_gprscdr_ServiceConditionChangeV651_timeThresholdReached
,
6722 { "timeThresholdReached", "gprscdr.ServiceConditionChangeV651.timeThresholdReached",
6723 FT_BOOLEAN
, 8, NULL
, 0x20,
6725 { &hf_gprscdr_ServiceConditionChangeV651_volumeThresholdReached
,
6726 { "volumeThresholdReached", "gprscdr.ServiceConditionChangeV651.volumeThresholdReached",
6727 FT_BOOLEAN
, 8, NULL
, 0x10,
6729 { &hf_gprscdr_ServiceConditionChangeV651_spare_bit12
,
6730 { "spare_bit12", "gprscdr.ServiceConditionChangeV651.spare.bit12",
6731 FT_BOOLEAN
, 8, NULL
, 0x08,
6733 { &hf_gprscdr_ServiceConditionChangeV651_timeExhausted
,
6734 { "timeExhausted", "gprscdr.ServiceConditionChangeV651.timeExhausted",
6735 FT_BOOLEAN
, 8, NULL
, 0x04,
6737 { &hf_gprscdr_ServiceConditionChangeV651_volumeExhausted
,
6738 { "volumeExhausted", "gprscdr.ServiceConditionChangeV651.volumeExhausted",
6739 FT_BOOLEAN
, 8, NULL
, 0x02,
6741 { &hf_gprscdr_ServiceConditionChangeV651_timeout
,
6742 { "timeout", "gprscdr.ServiceConditionChangeV651.timeout",
6743 FT_BOOLEAN
, 8, NULL
, 0x01,
6745 { &hf_gprscdr_ServiceConditionChangeV651_returnRequested
,
6746 { "returnRequested", "gprscdr.ServiceConditionChangeV651.returnRequested",
6747 FT_BOOLEAN
, 8, NULL
, 0x80,
6749 { &hf_gprscdr_ServiceConditionChangeV651_reauthorisationRequest
,
6750 { "reauthorisationRequest", "gprscdr.ServiceConditionChangeV651.reauthorisationRequest",
6751 FT_BOOLEAN
, 8, NULL
, 0x40,
6753 { &hf_gprscdr_ServiceConditionChangeV651_continueOngoingSession
,
6754 { "continueOngoingSession", "gprscdr.ServiceConditionChangeV651.continueOngoingSession",
6755 FT_BOOLEAN
, 8, NULL
, 0x20,
6757 { &hf_gprscdr_ServiceConditionChangeV651_retryAndTerminateOngoingSession
,
6758 { "retryAndTerminateOngoingSession", "gprscdr.ServiceConditionChangeV651.retryAndTerminateOngoingSession",
6759 FT_BOOLEAN
, 8, NULL
, 0x10,
6761 { &hf_gprscdr_ServiceConditionChangeV651_terminateOngoingSession
,
6762 { "terminateOngoingSession", "gprscdr.ServiceConditionChangeV651.terminateOngoingSession",
6763 FT_BOOLEAN
, 8, NULL
, 0x08,
6765 { &hf_gprscdr_ServiceConditionChangeV750_qoSChange
,
6766 { "qoSChange", "gprscdr.ServiceConditionChangeV750.qoSChange",
6767 FT_BOOLEAN
, 8, NULL
, 0x80,
6769 { &hf_gprscdr_ServiceConditionChangeV750_sGSNChange
,
6770 { "sGSNChange", "gprscdr.ServiceConditionChangeV750.sGSNChange",
6771 FT_BOOLEAN
, 8, NULL
, 0x40,
6773 { &hf_gprscdr_ServiceConditionChangeV750_sGSNPLMNIDChange
,
6774 { "sGSNPLMNIDChange", "gprscdr.ServiceConditionChangeV750.sGSNPLMNIDChange",
6775 FT_BOOLEAN
, 8, NULL
, 0x20,
6777 { &hf_gprscdr_ServiceConditionChangeV750_tariffTimeSwitch
,
6778 { "tariffTimeSwitch", "gprscdr.ServiceConditionChangeV750.tariffTimeSwitch",
6779 FT_BOOLEAN
, 8, NULL
, 0x10,
6781 { &hf_gprscdr_ServiceConditionChangeV750_pDPContextRelease
,
6782 { "pDPContextRelease", "gprscdr.ServiceConditionChangeV750.pDPContextRelease",
6783 FT_BOOLEAN
, 8, NULL
, 0x08,
6785 { &hf_gprscdr_ServiceConditionChangeV750_rATChange
,
6786 { "rATChange", "gprscdr.ServiceConditionChangeV750.rATChange",
6787 FT_BOOLEAN
, 8, NULL
, 0x04,
6789 { &hf_gprscdr_ServiceConditionChangeV750_serviceIdledOut
,
6790 { "serviceIdledOut", "gprscdr.ServiceConditionChangeV750.serviceIdledOut",
6791 FT_BOOLEAN
, 8, NULL
, 0x02,
6793 { &hf_gprscdr_ServiceConditionChangeV750_reserved
,
6794 { "reserved", "gprscdr.ServiceConditionChangeV750.reserved",
6795 FT_BOOLEAN
, 8, NULL
, 0x01,
6797 { &hf_gprscdr_ServiceConditionChangeV750_configurationChange
,
6798 { "configurationChange", "gprscdr.ServiceConditionChangeV750.configurationChange",
6799 FT_BOOLEAN
, 8, NULL
, 0x80,
6801 { &hf_gprscdr_ServiceConditionChangeV750_serviceStop
,
6802 { "serviceStop", "gprscdr.ServiceConditionChangeV750.serviceStop",
6803 FT_BOOLEAN
, 8, NULL
, 0x40,
6805 { &hf_gprscdr_ServiceConditionChangeV750_dCCATimeThresholdReached
,
6806 { "dCCATimeThresholdReached", "gprscdr.ServiceConditionChangeV750.dCCATimeThresholdReached",
6807 FT_BOOLEAN
, 8, NULL
, 0x20,
6809 { &hf_gprscdr_ServiceConditionChangeV750_dCCAVolumeThresholdReached
,
6810 { "dCCAVolumeThresholdReached", "gprscdr.ServiceConditionChangeV750.dCCAVolumeThresholdReached",
6811 FT_BOOLEAN
, 8, NULL
, 0x10,
6813 { &hf_gprscdr_ServiceConditionChangeV750_dCCAServiceSpecificUnitThresholdReached
,
6814 { "dCCAServiceSpecificUnitThresholdReached", "gprscdr.ServiceConditionChangeV750.dCCAServiceSpecificUnitThresholdReached",
6815 FT_BOOLEAN
, 8, NULL
, 0x08,
6817 { &hf_gprscdr_ServiceConditionChangeV750_dCCATimeExhausted
,
6818 { "dCCATimeExhausted", "gprscdr.ServiceConditionChangeV750.dCCATimeExhausted",
6819 FT_BOOLEAN
, 8, NULL
, 0x04,
6821 { &hf_gprscdr_ServiceConditionChangeV750_dCCAVolumeExhausted
,
6822 { "dCCAVolumeExhausted", "gprscdr.ServiceConditionChangeV750.dCCAVolumeExhausted",
6823 FT_BOOLEAN
, 8, NULL
, 0x02,
6825 { &hf_gprscdr_ServiceConditionChangeV750_dCCAValidityTimeout
,
6826 { "dCCAValidityTimeout", "gprscdr.ServiceConditionChangeV750.dCCAValidityTimeout",
6827 FT_BOOLEAN
, 8, NULL
, 0x01,
6829 { &hf_gprscdr_ServiceConditionChangeV750_reserved2
,
6830 { "reserved2", "gprscdr.ServiceConditionChangeV750.reserved2",
6831 FT_BOOLEAN
, 8, NULL
, 0x80,
6833 { &hf_gprscdr_ServiceConditionChangeV750_dCCAReauthorisationRequest
,
6834 { "dCCAReauthorisationRequest", "gprscdr.ServiceConditionChangeV750.dCCAReauthorisationRequest",
6835 FT_BOOLEAN
, 8, NULL
, 0x40,
6837 { &hf_gprscdr_ServiceConditionChangeV750_dCCAContinueOngoingSession
,
6838 { "dCCAContinueOngoingSession", "gprscdr.ServiceConditionChangeV750.dCCAContinueOngoingSession",
6839 FT_BOOLEAN
, 8, NULL
, 0x20,
6841 { &hf_gprscdr_ServiceConditionChangeV750_dCCARetryAndTerminateOngoingSession
,
6842 { "dCCARetryAndTerminateOngoingSession", "gprscdr.ServiceConditionChangeV750.dCCARetryAndTerminateOngoingSession",
6843 FT_BOOLEAN
, 8, NULL
, 0x10,
6845 { &hf_gprscdr_ServiceConditionChangeV750_dCCATerminateOngoingSession
,
6846 { "dCCATerminateOngoingSession", "gprscdr.ServiceConditionChangeV750.dCCATerminateOngoingSession",
6847 FT_BOOLEAN
, 8, NULL
, 0x08,
6849 { &hf_gprscdr_ServiceConditionChangeV750_cGI_SAIChange
,
6850 { "cGI-SAIChange", "gprscdr.ServiceConditionChangeV750.cGI.SAIChange",
6851 FT_BOOLEAN
, 8, NULL
, 0x04,
6853 { &hf_gprscdr_ServiceConditionChangeV750_rAIChange
,
6854 { "rAIChange", "gprscdr.ServiceConditionChangeV750.rAIChange",
6855 FT_BOOLEAN
, 8, NULL
, 0x02,
6857 { &hf_gprscdr_ServiceConditionChangeV750_dCCAServiceSpecificUnitExhausted
,
6858 { "dCCAServiceSpecificUnitExhausted", "gprscdr.ServiceConditionChangeV750.dCCAServiceSpecificUnitExhausted",
6859 FT_BOOLEAN
, 8, NULL
, 0x01,
6861 { &hf_gprscdr_ServiceConditionChangeV750_recordClosure
,
6862 { "recordClosure", "gprscdr.ServiceConditionChangeV750.recordClosure",
6863 FT_BOOLEAN
, 8, NULL
, 0x80,
6865 { &hf_gprscdr_ServiceConditionChangeV750_timeLimit
,
6866 { "timeLimit", "gprscdr.ServiceConditionChangeV750.timeLimit",
6867 FT_BOOLEAN
, 8, NULL
, 0x40,
6869 { &hf_gprscdr_ServiceConditionChangeV750_volumeLimit
,
6870 { "volumeLimit", "gprscdr.ServiceConditionChangeV750.volumeLimit",
6871 FT_BOOLEAN
, 8, NULL
, 0x20,
6873 { &hf_gprscdr_ServiceConditionChangeV750_serviceSpecificUnitLimit
,
6874 { "serviceSpecificUnitLimit", "gprscdr.ServiceConditionChangeV750.serviceSpecificUnitLimit",
6875 FT_BOOLEAN
, 8, NULL
, 0x10,
6877 { &hf_gprscdr_ServiceConditionChangeV750_envelopeClosure
,
6878 { "envelopeClosure", "gprscdr.ServiceConditionChangeV750.envelopeClosure",
6879 FT_BOOLEAN
, 8, NULL
, 0x08,
6881 { &hf_gprscdr_PresenceReportingAreaNode_oCS
,
6882 { "oCS", "gprscdr.PresenceReportingAreaNode.oCS",
6883 FT_BOOLEAN
, 8, NULL
, 0x80,
6885 { &hf_gprscdr_PresenceReportingAreaNode_pCRF
,
6886 { "pCRF", "gprscdr.PresenceReportingAreaNode.pCRF",
6887 FT_BOOLEAN
, 8, NULL
, 0x40,
6889 { &hf_gprscdr_ServiceConditionChange_qoSChange
,
6890 { "qoSChange", "gprscdr.ServiceConditionChange.qoSChange",
6891 FT_BOOLEAN
, 8, NULL
, 0x80,
6893 { &hf_gprscdr_ServiceConditionChange_sGSNChange
,
6894 { "sGSNChange", "gprscdr.ServiceConditionChange.sGSNChange",
6895 FT_BOOLEAN
, 8, NULL
, 0x40,
6897 { &hf_gprscdr_ServiceConditionChange_sGSNPLMNIDChange
,
6898 { "sGSNPLMNIDChange", "gprscdr.ServiceConditionChange.sGSNPLMNIDChange",
6899 FT_BOOLEAN
, 8, NULL
, 0x20,
6901 { &hf_gprscdr_ServiceConditionChange_tariffTimeSwitch
,
6902 { "tariffTimeSwitch", "gprscdr.ServiceConditionChange.tariffTimeSwitch",
6903 FT_BOOLEAN
, 8, NULL
, 0x10,
6905 { &hf_gprscdr_ServiceConditionChange_pDPContextRelease
,
6906 { "pDPContextRelease", "gprscdr.ServiceConditionChange.pDPContextRelease",
6907 FT_BOOLEAN
, 8, NULL
, 0x08,
6909 { &hf_gprscdr_ServiceConditionChange_rATChange
,
6910 { "rATChange", "gprscdr.ServiceConditionChange.rATChange",
6911 FT_BOOLEAN
, 8, NULL
, 0x04,
6913 { &hf_gprscdr_ServiceConditionChange_serviceIdledOut
,
6914 { "serviceIdledOut", "gprscdr.ServiceConditionChange.serviceIdledOut",
6915 FT_BOOLEAN
, 8, NULL
, 0x02,
6917 { &hf_gprscdr_ServiceConditionChange_reserved
,
6918 { "reserved", "gprscdr.ServiceConditionChange.reserved",
6919 FT_BOOLEAN
, 8, NULL
, 0x01,
6921 { &hf_gprscdr_ServiceConditionChange_configurationChange
,
6922 { "configurationChange", "gprscdr.ServiceConditionChange.configurationChange",
6923 FT_BOOLEAN
, 8, NULL
, 0x80,
6925 { &hf_gprscdr_ServiceConditionChange_serviceStop
,
6926 { "serviceStop", "gprscdr.ServiceConditionChange.serviceStop",
6927 FT_BOOLEAN
, 8, NULL
, 0x40,
6929 { &hf_gprscdr_ServiceConditionChange_dCCATimeThresholdReached
,
6930 { "dCCATimeThresholdReached", "gprscdr.ServiceConditionChange.dCCATimeThresholdReached",
6931 FT_BOOLEAN
, 8, NULL
, 0x20,
6933 { &hf_gprscdr_ServiceConditionChange_dCCAVolumeThresholdReached
,
6934 { "dCCAVolumeThresholdReached", "gprscdr.ServiceConditionChange.dCCAVolumeThresholdReached",
6935 FT_BOOLEAN
, 8, NULL
, 0x10,
6937 { &hf_gprscdr_ServiceConditionChange_dCCAServiceSpecificUnitThresholdReached
,
6938 { "dCCAServiceSpecificUnitThresholdReached", "gprscdr.ServiceConditionChange.dCCAServiceSpecificUnitThresholdReached",
6939 FT_BOOLEAN
, 8, NULL
, 0x08,
6941 { &hf_gprscdr_ServiceConditionChange_dCCATimeExhausted
,
6942 { "dCCATimeExhausted", "gprscdr.ServiceConditionChange.dCCATimeExhausted",
6943 FT_BOOLEAN
, 8, NULL
, 0x04,
6945 { &hf_gprscdr_ServiceConditionChange_dCCAVolumeExhausted
,
6946 { "dCCAVolumeExhausted", "gprscdr.ServiceConditionChange.dCCAVolumeExhausted",
6947 FT_BOOLEAN
, 8, NULL
, 0x02,
6949 { &hf_gprscdr_ServiceConditionChange_dCCAValidityTimeout
,
6950 { "dCCAValidityTimeout", "gprscdr.ServiceConditionChange.dCCAValidityTimeout",
6951 FT_BOOLEAN
, 8, NULL
, 0x01,
6953 { &hf_gprscdr_ServiceConditionChange_reserved1
,
6954 { "reserved1", "gprscdr.ServiceConditionChange.reserved1",
6955 FT_BOOLEAN
, 8, NULL
, 0x80,
6957 { &hf_gprscdr_ServiceConditionChange_dCCAReauthorisationRequest
,
6958 { "dCCAReauthorisationRequest", "gprscdr.ServiceConditionChange.dCCAReauthorisationRequest",
6959 FT_BOOLEAN
, 8, NULL
, 0x40,
6961 { &hf_gprscdr_ServiceConditionChange_dCCAContinueOngoingSession
,
6962 { "dCCAContinueOngoingSession", "gprscdr.ServiceConditionChange.dCCAContinueOngoingSession",
6963 FT_BOOLEAN
, 8, NULL
, 0x20,
6965 { &hf_gprscdr_ServiceConditionChange_dCCARetryAndTerminateOngoingSession
,
6966 { "dCCARetryAndTerminateOngoingSession", "gprscdr.ServiceConditionChange.dCCARetryAndTerminateOngoingSession",
6967 FT_BOOLEAN
, 8, NULL
, 0x10,
6969 { &hf_gprscdr_ServiceConditionChange_dCCATerminateOngoingSession
,
6970 { "dCCATerminateOngoingSession", "gprscdr.ServiceConditionChange.dCCATerminateOngoingSession",
6971 FT_BOOLEAN
, 8, NULL
, 0x08,
6973 { &hf_gprscdr_ServiceConditionChange_cGI_SAIChange
,
6974 { "cGI-SAIChange", "gprscdr.ServiceConditionChange.cGI.SAIChange",
6975 FT_BOOLEAN
, 8, NULL
, 0x04,
6977 { &hf_gprscdr_ServiceConditionChange_rAIChange
,
6978 { "rAIChange", "gprscdr.ServiceConditionChange.rAIChange",
6979 FT_BOOLEAN
, 8, NULL
, 0x02,
6981 { &hf_gprscdr_ServiceConditionChange_dCCAServiceSpecificUnitExhausted
,
6982 { "dCCAServiceSpecificUnitExhausted", "gprscdr.ServiceConditionChange.dCCAServiceSpecificUnitExhausted",
6983 FT_BOOLEAN
, 8, NULL
, 0x01,
6985 { &hf_gprscdr_ServiceConditionChange_recordClosure
,
6986 { "recordClosure", "gprscdr.ServiceConditionChange.recordClosure",
6987 FT_BOOLEAN
, 8, NULL
, 0x80,
6989 { &hf_gprscdr_ServiceConditionChange_timeLimit
,
6990 { "timeLimit", "gprscdr.ServiceConditionChange.timeLimit",
6991 FT_BOOLEAN
, 8, NULL
, 0x40,
6993 { &hf_gprscdr_ServiceConditionChange_volumeLimit
,
6994 { "volumeLimit", "gprscdr.ServiceConditionChange.volumeLimit",
6995 FT_BOOLEAN
, 8, NULL
, 0x20,
6997 { &hf_gprscdr_ServiceConditionChange_serviceSpecificUnitLimit
,
6998 { "serviceSpecificUnitLimit", "gprscdr.ServiceConditionChange.serviceSpecificUnitLimit",
6999 FT_BOOLEAN
, 8, NULL
, 0x10,
7001 { &hf_gprscdr_ServiceConditionChange_envelopeClosure
,
7002 { "envelopeClosure", "gprscdr.ServiceConditionChange.envelopeClosure",
7003 FT_BOOLEAN
, 8, NULL
, 0x08,
7005 { &hf_gprscdr_ServiceConditionChange_eCGIChange
,
7006 { "eCGIChange", "gprscdr.ServiceConditionChange.eCGIChange",
7007 FT_BOOLEAN
, 8, NULL
, 0x04,
7009 { &hf_gprscdr_ServiceConditionChange_tAIChange
,
7010 { "tAIChange", "gprscdr.ServiceConditionChange.tAIChange",
7011 FT_BOOLEAN
, 8, NULL
, 0x02,
7013 { &hf_gprscdr_ServiceConditionChange_userLocationChange
,
7014 { "userLocationChange", "gprscdr.ServiceConditionChange.userLocationChange",
7015 FT_BOOLEAN
, 8, NULL
, 0x01,
7017 { &hf_gprscdr_ServiceConditionChange_userCSGInformationChange
,
7018 { "userCSGInformationChange", "gprscdr.ServiceConditionChange.userCSGInformationChange",
7019 FT_BOOLEAN
, 8, NULL
, 0x80,
7021 { &hf_gprscdr_ServiceConditionChange_presenceInPRAChange
,
7022 { "presenceInPRAChange", "gprscdr.ServiceConditionChange.presenceInPRAChange",
7023 FT_BOOLEAN
, 8, NULL
, 0x40,
7025 { &hf_gprscdr_ServiceConditionChange_accessChangeOfSDF
,
7026 { "accessChangeOfSDF", "gprscdr.ServiceConditionChange.accessChangeOfSDF",
7027 FT_BOOLEAN
, 8, NULL
, 0x20,
7029 { &hf_gprscdr_ServiceConditionChange_indirectServiceConditionChange
,
7030 { "indirectServiceConditionChange", "gprscdr.ServiceConditionChange.indirectServiceConditionChange",
7031 FT_BOOLEAN
, 8, NULL
, 0x10,
7033 { &hf_gprscdr_ServiceConditionChange_servingPLMNRateControlChange
,
7034 { "servingPLMNRateControlChange", "gprscdr.ServiceConditionChange.servingPLMNRateControlChange",
7035 FT_BOOLEAN
, 8, NULL
, 0x08,
7037 { &hf_gprscdr_ServiceConditionChange_aPNRateControlChange
,
7038 { "aPNRateControlChange", "gprscdr.ServiceConditionChange.aPNRateControlChange",
7039 FT_BOOLEAN
, 8, NULL
, 0x04,
7043 /* List of subtrees */
7044 static int *ett
[] = {
7046 &ett_gprscdr_timestamp
,
7047 &ett_gprscdr_plmn_id
,
7048 &ett_gprscdr_pdp_pdn_type
,
7049 &ett_gprscdr_eps_qos_arp
,
7050 &ett_gprscdr_managementextension_information
,
7051 &ett_gprscdr_userlocationinformation
,
7052 &ett_gprscdr_Diagnostics
,
7054 &ett_gprscdr_EnhancedDiagnostics
,
7055 &ett_gprscdr_SEQUENCE_OF_RANNASCause
,
7056 &ett_gprscdr_InvolvedParty
,
7057 &ett_gprscdr_IPAddress
,
7058 &ett_gprscdr_IPBinaryAddress
,
7059 &ett_gprscdr_IPBinV6AddressWithOrWithoutPrefixLength
,
7060 &ett_gprscdr_IPBinV6AddressWithPrefixLength
,
7061 &ett_gprscdr_IPTextRepresentedAddress
,
7062 &ett_gprscdr_LCSClientIdentity
,
7063 &ett_gprscdr_LevelOfCAMELService
,
7064 &ett_gprscdr_LocationAreaAndCell
,
7065 &ett_gprscdr_ManagementExtensions
,
7066 &ett_gprscdr_MBMSInformation
,
7068 &ett_gprscdr_PDPAddress
,
7069 &ett_gprscdr_PSCellInformation
,
7070 &ett_gprscdr_SCSASAddress
,
7071 &ett_gprscdr_ServiceSpecificInfo
,
7072 &ett_gprscdr_SubscriptionID
,
7073 &ett_gprscdr_ManagementExtension
,
7074 &ett_gprscdr_GPRSCallEventRecord
,
7075 &ett_gprscdr_GGSNPDPRecord
,
7076 &ett_gprscdr_SEQUENCE_OF_GSNAddress
,
7077 &ett_gprscdr_SEQUENCE_OF_ChangeOfCharConditionV651
,
7078 &ett_gprscdr_GGSNPDPRecordV750
,
7079 &ett_gprscdr_EGSNPDPRecord
,
7080 &ett_gprscdr_SEQUENCE_OF_ChangeOfServiceConditionV651
,
7081 &ett_gprscdr_EGSNPDPRecordV750
,
7082 &ett_gprscdr_SEQUENCE_OF_ChangeOfServiceConditionV750
,
7083 &ett_gprscdr_SGSNPDPRecordV651
,
7084 &ett_gprscdr_SGSNSMORecordV651
,
7085 &ett_gprscdr_SGSNSMTRecordV651
,
7086 &ett_gprscdr_ChangeOfCharConditionV651
,
7087 &ett_gprscdr_ChangeOfServiceConditionV651
,
7088 &ett_gprscdr_ChangeOfServiceConditionV750
,
7089 &ett_gprscdr_SEQUENCE_OF_AFRecordInformation
,
7090 &ett_gprscdr_ServiceConditionChangeV651
,
7091 &ett_gprscdr_ServiceConditionChangeV750
,
7092 &ett_gprscdr_GPRSRecord
,
7093 &ett_gprscdr_SGWRecord
,
7094 &ett_gprscdr_SEQUENCE_OF_ChangeOfCharCondition
,
7095 &ett_gprscdr_SEQUENCE_OF_ServingNodeType
,
7096 &ett_gprscdr_SEQUENCE_OF_RANSecondaryRATUsageReport
,
7097 &ett_gprscdr_PGWRecord
,
7098 &ett_gprscdr_SEQUENCE_OF_ChangeOfServiceCondition
,
7099 &ett_gprscdr_TDFRecord
,
7100 &ett_gprscdr_IPERecord
,
7101 &ett_gprscdr_EPDGRecord
,
7102 &ett_gprscdr_TWAGRecord
,
7103 &ett_gprscdr_SGSNMMRecord
,
7104 &ett_gprscdr_SEQUENCE_OF_ChangeLocation
,
7105 &ett_gprscdr_SGSNPDPRecord
,
7106 &ett_gprscdr_SGSNSMORecord
,
7107 &ett_gprscdr_SGSNSMTRecord
,
7108 &ett_gprscdr_SGSNMTLCSRecord
,
7109 &ett_gprscdr_SGSNMOLCSRecord
,
7110 &ett_gprscdr_SGSNNILCSRecord
,
7111 &ett_gprscdr_SGSNMBMSRecord
,
7112 &ett_gprscdr_SEQUENCE_OF_RAIdentity
,
7113 &ett_gprscdr_SEQUENCE_OF_ChangeOfMBMSCondition
,
7114 &ett_gprscdr_GGSNMBMSRecord
,
7115 &ett_gprscdr_GWMBMSRecord
,
7116 &ett_gprscdr_AccessLineIdentifier
,
7117 &ett_gprscdr_AFRecordInformation
,
7118 &ett_gprscdr_APNRateControl
,
7119 &ett_gprscdr_APNRateControlParameters
,
7120 &ett_gprscdr_CalleePartyInformation
,
7121 &ett_gprscdr_SEQUENCE_OF_InvolvedParty
,
7122 &ett_gprscdr_CAMELInformationMM
,
7123 &ett_gprscdr_CAMELInformationPDP
,
7124 &ett_gprscdr_CAMELInformationSMS
,
7125 &ett_gprscdr_ChangeOfCharCondition
,
7126 &ett_gprscdr_SEQUENCE_OF_PresenceReportingAreaInfo
,
7127 &ett_gprscdr_ChangeOfMBMSCondition
,
7128 &ett_gprscdr_ChangeOfServiceCondition
,
7129 &ett_gprscdr_SEQUENCE_OF_ServiceSpecificInfo
,
7130 &ett_gprscdr_ChangeLocation
,
7131 &ett_gprscdr_EPCQoSInformation
,
7132 &ett_gprscdr_EventBasedChargingInformation
,
7133 &ett_gprscdr_SEQUENCE_OF_TimeStamp
,
7134 &ett_gprscdr_FixedUserLocationInformation
,
7136 &ett_gprscdr_T_flowNumber
,
7137 &ett_gprscdr_MOExceptionDataCounter
,
7138 &ett_gprscdr_PresenceReportingAreaInfo
,
7139 &ett_gprscdr_PresenceReportingAreaNode
,
7140 &ett_gprscdr_PSFurnishChargingInformation
,
7141 &ett_gprscdr_RANSecondaryRATUsageReport
,
7142 &ett_gprscdr_RelatedChangeOfCharCondition
,
7143 &ett_gprscdr_RelatedChangeOfServiceCondition
,
7144 &ett_gprscdr_ServiceConditionChange
,
7145 &ett_gprscdr_ServingPLMNRateControl
,
7146 &ett_gprscdr_TimeQuotaMechanism
,
7147 &ett_gprscdr_TWANUserLocationInfo
,
7148 &ett_gprscdr_UserCSGInformation
,
7149 &ett_gprscdr_UWANUserLocationInfo
,
7150 &ett_gprscdr_VoLTEInformation
,
7151 &ett_gprscdr_WLANOperatorId
,
7154 static ei_register_info ei
[] = {
7155 { &ei_gprscdr_not_dissected
, { "gprscdr.not_dissected", PI_UNDECODED
, PI_WARN
, "Not dissected", EXPFILL
}},
7156 { &ei_gprscdr_choice_not_found
, { "gprscdr.error.choice_not_found", PI_MALFORMED
, PI_WARN
, "GPRS CDR Error: This choice field(Record type) was not found", EXPFILL
}},
7159 expert_module_t
* expert_gprscdr
;
7161 proto_gprscdr
= proto_register_protocol(PNAME
, PSNAME
, PFNAME
);
7163 proto_register_field_array(proto_gprscdr
, hf
, array_length(hf
));
7164 proto_register_subtree_array(ett
, array_length(ett
));
7165 expert_gprscdr
= expert_register_protocol(proto_gprscdr
);
7166 expert_register_field_array(expert_gprscdr
, ei
, array_length(ei
));
7169 /* The registration hand-off routine */
7177 * indent-tabs-mode: nil
7180 * ex: set shiftwidth=2 tabstop=8 expandtab:
7181 * :indentSize=2:tabSize=8:noTabs=true: