Update to V12.5.0

Bug: 10782

Change-Id: I5fd4ec14279411682d8a23f5e0f503180113f093
Reviewed-on: https://code.wireshark.org/review/5790
Reviewed-by: Anders Broman <a.broman58@gmail.com>
This commit is contained in:
AndersBroman 2014-12-16 23:46:59 +01:00 committed by Anders Broman
parent df639f509e
commit d99fe210af
9 changed files with 2348 additions and 44 deletions

View File

@ -31,9 +31,9 @@ set( EXT_ASN_FILE_LIST
)
set( ASN_FILE_LIST
GenericChargingDataTypesV1171.asn
GenericChargingDataTypesV1250.asn
GPRSChargingDataTypesV641.asn
GPRSChargingDataTypesV1171.asn
GPRSChargingDataTypesV1250.asn
)
set( EXTRA_DIST

File diff suppressed because it is too large Load Diff

View File

@ -503,19 +503,19 @@ ChangeOfCharConditionV651 ::= SEQUENCE
changeCondition [5] ChangeConditionV651,
changeTime [6] TimeStamp
}
ChangeOfMBMSCondition ::= SEQUENCE
{
--ChangeOfMBMSCondition ::= SEQUENCE
--{
--
-- Used in MBMS record
--
qosRequested [1] QoSInformation OPTIONAL,
qosNegotiated [2] QoSInformation OPTIONAL,
dataVolumeMBMSUplink [3] DataVolumeMBMS OPTIONAL,
dataVolumeMBMSDownlink [4] DataVolumeMBMS,
changeCondition [5] ChangeConditionV651,
changeTime [6] TimeStamp,
failureHandlingContinue [7] FailureHandlingContinue OPTIONAL
}
-- qosRequested [1] QoSInformation OPTIONAL,
-- qosNegotiated [2] QoSInformation OPTIONAL,
-- dataVolumeMBMSUplink [3] DataVolumeMBMS OPTIONAL,
-- dataVolumeMBMSDownlink [4] DataVolumeMBMS,
-- changeCondition [5] ChangeConditionV651,
-- changeTime [6] TimeStamp,
-- failureHandlingContinue [7] FailureHandlingContinue OPTIONAL
--}
ChangeOfServiceConditionV651 ::= SEQUENCE
{
--

View File

@ -0,0 +1,668 @@
-- 3GPP TS 32.298
GenericChargingDataTypes {itu-t (0) identified-organization (4) etsi(0) mobileDomain (0) charging (5) genericChargingDataTypes (0) asn1Module (0) version1 (0)}
DEFINITIONS IMPLICIT TAGS ::=
BEGIN
-- EXPORTS everything
IMPORTS
AddressString,
ISDN-AddressString,
LCSClientExternalID,
LCSClientInternalID
FROM MAP-CommonDataTypes { itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3) map-CommonDataTypes (18) version13 (13) }
-- from TS 29.002 [214]
PositionMethodFailure-Diagnostic,
UnauthorizedLCSClient-Diagnostic
FROM MAP-ER-DataTypes { itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3) map-ER-DataTypes (17) version13 (13)}
-- from TS 29.002 [214]
ObjectInstance
FROM CMIP-1 {joint-iso-itu-t ms (9) cmip (1) modules (0) protocol (3)}
-- from Rec. X.2ab[304]
-- WS localy defined
--ManagementExtension
--FROM Attribute-ASN1Module {joint-iso-itu-t ms (9) smi (3) part2 (2) asn1Module (2) 1}
-- from Rec. X.721 [305]
--AE-title
--FROM ACSE-1 {joint-iso-itu-t association-control (2) modules (0) apdus (0) version1 (1) };
-- From Rec. X.2cd[306]. Note that the syntax of AE-title to be used is from
-- ITU-T Rec. X.227 / ISO 8650 corrigendum and not "ANY"
;
--
-- Generic Data Types
--
BCDDirectoryNumber ::= OCTET STRING
--
-- This type contains the binary coded decimal representation of
-- a directory number e.g. calling/called/connected/translated number.
-- The encoding of the octet string is in accordance with the
-- the elements "Calling party BCD number", "Called party BCD number"
-- and "Connected number" defined in TS 24.008 [208].
-- This encoding includes type of number and number plan information
-- together with a BCD encoded digit string.
-- It may also contain both a presentation and screening indicator
-- (octet 3a).
-- For the avoidance of doubt, this field does not include
-- octets 1 and 2, the element name and length, as this would be
-- redundant.
--
CallDuration ::= INTEGER
--
-- The call duration is counted in seconds.
-- For successful calls /sessions / PDP contexts, this is the chargeable duration.
-- For call attempts this is the call holding time.
--
CalledNumber ::= BCDDirectoryNumber
-- WS extension to cater for older version(6)
CallEventRecordType ::= INTEGER
{
-- Record values 0..17 are CS specific.
-- The contents are defined in TS 32.250 [10]
moCallRecord (0),
mtCallRecord (1),
roamingRecord (2),
incGatewayRecord (3),
outGatewayRecord (4),
transitCallRecord (5),
moSMSRecord (6),
mtSMSRecord (7),
moSMSIWRecord (8),
mtSMSGWRecord (9),
ssActionRecord (10),
hlrIntRecord (11),
locUpdateHLRRecord (12),
locUpdateVLRRecord (13),
commonEquipRecord (14),
moTraceRecord (15), --- used in earlier releases
mtTraceRecord (16), --- used in earlier releases
termCAMELRecord (17),
--
-- Record values 18..22 are GPRS specific.
-- The contents are defined in TS 32.251 [11]
--
sgsnPDPRecord (18),
ggsnPDPRecord (19),
sgsnMMRecord (20),
sgsnSMORecord (21),
sgsnSMTRecord (22),
--
-- Record values 23..25 are CS-LCS specific.
-- The contents are defined in TS 32.250 [10]
--
mtLCSRecord (23),
moLCSRecord (24),
niLCSRecord (25),
--
-- Record values 26..28 are GPRS-LCS specific.
-- The contents are defined in TS 32.251 [11]
--
sgsnMtLCSRecord (26),
sgsnMoLCSRecord (27),
sgsnNiLCSRecord (28),
--
-- Record values 29..62 are MMS specific.
-- The contents are defined in TS 32.270 [30]
--
mmO1SRecord (29),
mmO4FRqRecord (30),
mmO4FRsRecord (31),
mmO4DRecord (32),
mmO1DRecord (33),
mmO4RRecord (34),
mmO1RRecord (35),
mmOMDRecord (36),
mmR4FRecord (37),
mmR1NRqRecord (38),
mmR1NRsRecord (39),
mmR1RtRecord (40),
mmR1AFRecord (42),
mmR4DRqRecord (43),
mmR4DRsRecord (44),
mmR1RRRecord (45),
mmR4RRqRecord (46),
mmR4RRsRecord (47),
mmRMDRecord (48),
mmFRecord (49),
mmBx1SRecord (50),
mmBx1VRecord (51),
mmBx1URecord (52),
mmBx1DRecord (53),
mM7SRecord (54),
mM7DRqRecord (55),
mM7DRsRecord (56),
mM7CRecord (57),
mM7RRecord (58),
mM7DRRqRecord (59),
mM7DRRsRecord (60),
mM7RRqRecord (61),
mM7RRsRecord (62),
--
-- Record values 63..69 are IMS specific.
-- The contents are defined in TS 32.260 [20]
--
s-CSCFRecord (63),
p-CSCFRecord (64),
i-CSCFRecord (65),
mRFCRecord (66),
mGCFRecord (67),
bGCFRecord (68),
aSRecord (69),
--
-- Record values 70 is for Flow based Charging
-- The contents are defined in TS 32.251 [11]
--
egsnPDPRecord (70),
--
-- Record values 71..75 are LCS specific.
-- The contents are defined in TS 32.271 [31]
--
lCSGMORecord (71),
lCSRGMTRecord (72),
lCSHGMTRecord (73),
lCSVGMTRecord (74),
lCSGNIRecord (75),
--
-- Record values 76..79 are MBMS specific.
-- The contents are defined in TS 32.251 [11]
-- Record values 76 and 77 are MBMS bearer context specific
--
sgsnMBMSRecord (76),
ggsnMBMSRecord (77),
-- And TS 32.273 [33]
-- Record values 78 and 79 are MBMS service specific
-- and defined in TS 32.273 [33]
subBMSCRecord (78),
contentBMSCRecord (79),
--
-- Record Values 80..81 are PoC specific.
-- The contents are defined in TS 32.272 [14]
--
pPFRecord (80),
cPFRecord (81)
}
-- End WS
CallingNumber ::= BCDDirectoryNumber
CellId ::= OCTET STRING (SIZE(2))
--
-- Coded according to TS 24.008 [208]
--
ChargeIndicator ::= INTEGER
{
noCharge (0),
charge (1)
}
CNIPMulticastDistribution ::= ENUMERATED
{
nO-IP-MULTICAST (0),
iP-MULTICAST (1)
}
Diagnostics ::= CHOICE
{
gsm0408Cause [0] INTEGER,
-- See TS 24.008 [208]
gsm0902MapErrorValue [1] INTEGER,
--
-- Note: The value to be stored here corresponds to the local values defined in the MAP-Errors
-- and MAP-DialogueInformation modules, for full details see TS 29.002 [214].
--
itu-tQ767Cause [2] INTEGER,
-- See Q.767 [309]
networkSpecificCause [3] ManagementExtension,
-- To be defined by network operator
manufacturerSpecificCause [4] ManagementExtension,
-- To be defined by manufacturer
positionMethodFailureCause [5] PositionMethodFailure-Diagnostic,
-- see TS 29.002 [214]
unauthorizedLCSClientCause [6] UnauthorizedLCSClient-Diagnostic,
-- see TS 29.002 [214]
diameterResultCodeAndExperimentalResult [7] INTEGER
-- See TS 29.338 [230], TS 29.337 [231]
}
DiameterIdentity ::= OCTET STRING
GSNAddress ::= IPAddress
IPAddress ::= CHOICE
{
iPBinaryAddress IPBinaryAddress,
iPTextRepresentedAddress IPTextRepresentedAddress
}
IPBinaryAddress ::= CHOICE
{
iPBinV4Address [0] IPBinV4Address,
iPBinV6Address IPBinV6AddressWithOrWithoutPrefixLength
}
IPBinV4Address ::= OCTET STRING (SIZE(4))
IPBinV6Address ::= OCTET STRING (SIZE(16))
IPBinV6AddressWithOrWithoutPrefixLength ::= CHOICE
{
iPBinV6Address [1] IPBinV6Address,
iPBinV6AddressWithPrefix [4] IPBinV6AddressWithPrefixLength
}
IPBinV6AddressWithPrefixLength ::= SEQUENCE
{
iPBinV6Address IPBinV6Address,
pDPAddressPrefixLength PDPAddressPrefixLength DEFAULT 64
}
IPTextRepresentedAddress ::= CHOICE
{ --
-- IP address in the familiar "dot" notation
--
iPTextV4Address [2] IA5String (SIZE(7..15)),
iPTextV6Address [3] IA5String (SIZE(15..45))
}
LCSCause ::= OCTET STRING (SIZE(1))
--
-- See LCS Cause Value, TS 49.031 [227]
--
LCSClientIdentity ::= SEQUENCE
{
lcsClientExternalID [0] LCSClientExternalID OPTIONAL,
lcsClientDialedByMS [1] AddressString OPTIONAL,
lcsClientInternalID [2] LCSClientInternalID OPTIONAL
}
LCSQoSInfo ::= OCTET STRING (SIZE(4))
--
-- See LCS QoS IE, TS 49.031 [227]
--
LevelOfCAMELService ::= BIT STRING
{
basic (0),
callDurationSupervision (1),
onlineCharging (2)
}
LocalSequenceNumber ::= INTEGER (0..4294967295)
--
-- Sequence number of the record in this node
-- 0.. 4294967295 is equivalent to 0..2**32-1, unsigned integer in four octets
--
LocationAreaAndCell ::= SEQUENCE
{
locationAreaCode [0] LocationAreaCode,
cellId [1] CellId,
mCC-MNC [2] MCC-MNC OPTIONAL
}
LocationAreaCode ::= OCTET STRING (SIZE(2))
--
-- See TS 24.008 [208]
--
ManagementExtensions ::= SET OF ManagementExtension
MBMS2G3GIndicator ::= ENUMERATED
{
twoG (0), -- For GERAN access only
threeG (1), -- For UTRAN access only
twoG-AND-threeG (2) -- For both UTRAN and GERAN access
}
MBMSInformation ::= SET
{
tMGI [1] TMGI OPTIONAL,
mBMSSessionIdentity [2] MBMSSessionIdentity OPTIONAL,
mBMSServiceType [3] MBMSServiceType OPTIONAL,
mBMSUserServiceType [4] MBMSUserServiceType OPTIONAL, -- only supported in the BM-SC
mBMS2G3GIndicator [5] MBMS2G3GIndicator OPTIONAL,
fileRepairSupported [6] BOOLEAN OPTIONAL, -- only supported in the BM-SC
rAI [7] RoutingAreaCode OPTIONAL, -- only supported in the BM-SC
mBMSServiceArea [8] MBMSServiceArea OPTIONAL,
requiredMBMSBearerCaps [9] RequiredMBMSBearerCapabilities OPTIONAL,
mBMSGWAddress [10] GSNAddress OPTIONAL,
cNIPMulticastDistribution [11] CNIPMulticastDistribution OPTIONAL
}
MBMSServiceArea ::= OCTET STRING
MBMSServiceType ::= ENUMERATED
{
mULTICAST (0),
bROADCAST (1)
}
MBMSSessionIdentity ::= OCTET STRING (SIZE (1))
--
-- This octet string is a 1:1 copy of the contents of the MBMS-Session-Identity
-- AVP specified in TS 29.061 [82]
--
MBMSUserServiceType ::= ENUMERATED
{
dOWNLOAD (0),
sTREAMING (1)
}
MCC-MNC ::= OCTET STRING (SIZE(3))
--
-- See TS 24.008 [208]
--
MessageReference ::= OCTET STRING
MscNo ::= ISDN-AddressString
--
-- See TS 23.003 [200]
--
MSISDN ::= ISDN-AddressString
--
-- See TS 23.003 [200]
--
MSTimeZone ::= OCTET STRING (SIZE (2))
--
-- 1.Octet: Time Zone and 2. Octet: Daylight saving time, see TS 29.060 [215]
--
NodeAddress ::= CHOICE
{
iPAddress [0] IPAddress,
domainName [1] GraphicString
}
PDPAddressPrefixLength ::=INTEGER (1..64)
--
-- This is an interger indicating the leght of the PDP/PDN IPv6 address prefix
-- and the default value is 64 bits.
--
PositioningData ::= OCTET STRING (SIZE(1..33))
--
-- See Positioning Data IE (octet 3..n), TS 49.031 [227]
--
RecordingEntity ::= AddressString
RecordType ::= INTEGER
--
-- Record values 0..17 and 87,89 are CS specific. The contents are defined in TS 32.250 [10]
--
{
moCallRecord (0),
mtCallRecord (1),
roamingRecord (2),
incGatewayRecord (3),
outGatewayRecord (4),
transitCallRecord (5),
moSMSRecord (6),
mtSMSRecord (7),
moSMSIWRecord (8),
mtSMSGWRecord (9),
ssActionRecord (10),
hlrIntRecord (11),
locUpdateHLRRecord (12),
locUpdateVLRRecord (13),
commonEquipRecord (14),
moTraceRecord (15), -- used in earlier releases
mtTraceRecord (16), -- used in earlier releases
termCAMELRecord (17),
--
-- Record values 18..22 are GPRS specific. The contents are defined in TS 32.251 [11]
--
sgsnPDPRecord (18),
sgsnMMRecord (20),
sgsnSMORecord (21), -- also MME UE originated SMS record
sgsnSMTRecord (22), -- also MME UE terminated SMS record
--
-- Record values 23..25 are CS-LCS specific. The contents are defined in TS 32.250 [10]
--
mtLCSRecord (23),
moLCSRecord (24),
niLCSRecord (25),
--
-- Record values 26..28 are GPRS-LCS specific. The contents are defined in TS 32.251 [11]
--
sgsnMTLCSRecord (26),
sgsnMOLCSRecord (27),
sgsnNILCSRecord (28),
--
-- Record values 30..62 are MMS specific. The contents are defined in TS 32.270 [30]
--
mMO1SRecord (30),
mMO4FRqRecord (31),
mMO4FRsRecord (32),
mMO4DRecord (33),
mMO1DRecord (34),
mMO4RRecord (35),
mMO1RRecord (36),
mMOMDRecord (37),
mMR4FRecord (38),
mMR1NRqRecord (39),
mMR1NRsRecord (40),
mMR1RtRecord (41),
mMR1AFRecord (42),
mMR4DRqRecord (43),
mMR4DRsRecord (44),
mMR1RRRecord (45),
mMR4RRqRecord (46),
mMR4RRsRecord (47),
mMRMDRecord (48),
mMFRecord (49),
mMBx1SRecord (50),
mMBx1VRecord (51),
mMBx1URecord (52),
mMBx1DRecord (53),
mM7SRecord (54),
mM7DRqRecord (55),
mM7DRsRecord (56),
mM7CRecord (57),
mM7RRecord (58),
mM7DRRqRecord (59),
mM7DRRsRecord (60),
mM7RRqRecord (61),
mM7RRsRecord (62),
--
-- Record values 63..70, 82, 89..91 are IMS specific.
-- The contents are defined in TS 32.260 [20]
--
sCSCFRecord (63),
pCSCFRecord (64),
iCSCFRecord (65),
mRFCRecord (66),
mGCFRecord (67),
bGCFRecord (68),
aSRecord (69),
eCSCFRecord (70),
iBCFRecord (82),
tRFRecord (89),
tFRecord (90),
aTCFRecord (91),
--
-- Record values 71..75 are LCS specific. The contents are defined in TS 32.271 [31]
--
lCSGMORecord (71),
lCSRGMTRecord (72),
lCSHGMTRecord (73),
lCSVGMTRecord (74),
lCSGNIRecord (75),
--
-- Record values 76..79,86 are MBMS specific.
-- The contents are defined in TS 32.251 [11] and TS 32.273 [33]
--
-- Record values 76,77 and 86 are MBMS bearer context specific
--
sgsnMBMSRecord (76),
ggsnMBMSRecord (77),
gwMBMSRecord (86),
--
-- Record values 78 and 79 are MBMS service specific and defined in TS 32.273 [33]
--
sUBBMSCRecord (78),
cONTENTBMSCRecord (79),
--
-- Record Values 80..81 are PoC specific. The contents are defined in TS 32.272 [32]
--
pPFRecord (80),
cPFRecord (81),
--
-- Record values 84,85 and 92,95,96 are EPC specific.
-- The contents are defined in TS 32.251 [11]
--
sGWRecord (84),
pGWRecord (85),
tDFRecord (92),
iPERecord (95),
ePDGRecord (96),
--
-- Record Value 83 is MMTel specific. The contents are defined in TS 32.275 [35]
--
mMTelRecord (83),
--
-- Record value 87,88 and 89 are CS specific. The contents are defined in TS 32.250 [10]
--
mSCsRVCCRecord (87),
mMTRFRecord (88),
iCSRegisterRecord (99),
--
-- Record values 93 and 94 are SMS specific. The contents are defined in TS 32.274 [34]
--
sCSMORecord (93),
sCSMTRecord (94)
}
RequiredMBMSBearerCapabilities ::= OCTET STRING (SIZE (3..14))
--
-- This octet string is a 1:1 copy of the contents (i.e. starting with octet 5) of the
-- "Quality of service Profile" information element specified in TS 29.060 [75].
--
RoutingAreaCode ::= OCTET STRING (SIZE(1))
--
-- See TS 24.008 [208]
--
ServiceContextID ::= UTF8String
ServiceSpecificInfo ::= SEQUENCE
{
serviceSpecificData [0] GraphicString OPTIONAL,
serviceSpecificType [1] INTEGER OPTIONAL
}
SMSResult ::= Diagnostics
SmsTpDestinationNumber ::= OCTET STRING
--
-- This type contains the binary coded decimal representation of
-- the SMS address field the encoding of the octet string is in
-- accordance with the definition of address fields in TS 23.040 [201].
-- This encoding includes type of number and numbering plan indication
-- together with the address value range.
--
SubscriberEquipmentNumber ::= SET
{
subscriberEquipmentNumberType [0] SubscriberEquipmentType,
subscriberEquipmentNumberData [1] OCTET STRING
}
SubscriberEquipmentType ::= ENUMERATED
{
iMEISV (0),
mAC (1),
eUI64 (2),
modifiedEUI64 (3)
}
SubscriptionID ::= SET
{
subscriptionIDType [0] SubscriptionIDType,
subscriptionIDData [1] UTF8String
}
SubscriptionIDType ::= ENUMERATED
{
eND-USER-E164 (0),
eND-USER-IMSI (1),
eND-USER-SIP-URI (2),
eND-USER-NAI (3),
eND-USER-PRIVATE (4)
}
SystemType ::= ENUMERATED
--
-- "unknown" is not to be used in PS domain.
--
{
unknown (0),
iuUTRAN (1),
gERAN (2)
}
TimeStamp ::= OCTET STRING (SIZE(9))
--
-- The contents of this field are a compact form of the UTCTime format
-- containing local time plus an offset to universal time. Binary coded
-- decimal encoding is employed for the digits to reduce the storage and
-- transmission overhead
-- e.g. YYMMDDhhmmssShhmm
-- where
-- YY = Year 00 to 99 BCD encoded
-- MM = Month 01 to 12 BCD encoded
-- DD = Day 01 to 31 BCD encoded
-- hh = hour 00 to 23 BCD encoded
-- mm = minute 00 to 59 BCD encoded
-- ss = second 00 to 59 BCD encoded
-- S = Sign 0 = "+", "-" ASCII encoded
-- hh = hour 00 to 23 BCD encoded
-- mm = minute 00 to 59 BCD encoded
--
TMGI ::= OCTET STRING
--
-- This octet string is a 1:1 copy of the contents (i.e. starting with octet 4)
-- of the "TMGI" information element specified in TS 29.060 [75].
--
-- Local WS modification Import ManagementExtension here
-- as2wrs fault fix:
DMI-EXTENSION::= CLASS {&id OBJECT IDENTIFIER UNIQUE,
&Value
}WITH SYNTAX {TYPE &Value
ID &id
}
ManagementExtension ::= SEQUENCE {
identifier DMI-EXTENSION.&id({ManagementExtensionSet}),
significance [1] BOOLEAN DEFAULT FALSE,
information
[2] DMI-EXTENSION.&Value({ManagementExtensionSet}{@.identifier})
}
ManagementExtensionSet DMI-EXTENSION ::=
{...}
END

View File

@ -23,15 +23,16 @@ EXPORT_FILES = \
$(PROTOCOL_NAME)-exp.cnf
ASN_FILE_LIST = \
GenericChargingDataTypesV1171.asn \
GenericChargingDataTypesV1250.asn \
GPRSChargingDataTypesV641.asn \
GPRSChargingDataTypesV1171.asn
GPRSChargingDataTypesV1250.asn
INCLUDED_ASN_FILE_LIST = \
3GPPGenericChargingDataTypes.asn \
GPRSChargingDataTypes.asn \
GPRSChargingDataTypesV8e0.asn \
GPRSChargingDataTypesV9f0.asn \
GPRSChargingDataTypesV1171.asn \
GenericChargingDataTypes.asn \
GenericChargingDataTypesV641.asn \
GenericChargingDataTypesV8e0.asn \

View File

@ -24,6 +24,8 @@ ServiceContextID
ChangeLocationV651
CTEID
DataVolumeMBMS
SubscriberEquipmentNumber
SubscriberEquipmentType
# 6.4 If these are needed MBMS asn1 should be added.
SGSNMBMSRecord
GGSNMBMSRecord

View File

@ -1,7 +1,7 @@
/* Do not modify this file. Changes will be overwritten. */
/* Generated automatically by the ASN.1 to Wireshark dissector compiler */
/* packet-gprscdr.c */
/* ../../tools/asn2wrs.py -b -p gprscdr -c ./gprscdr.cnf -s ./packet-gprscdr-template -D . -O ../../epan/dissectors GenericChargingDataTypesV1171.asn GPRSChargingDataTypesV641.asn GPRSChargingDataTypesV1171.asn */
/* ../../tools/asn2wrs.py -b -p gprscdr -c ./gprscdr.cnf -s ./packet-gprscdr-template -D . -O ../../epan/dissectors GenericChargingDataTypesV1250.asn GPRSChargingDataTypesV641.asn GPRSChargingDataTypesV1250.asn */
/* Input file: packet-gprscdr-template.c */
@ -178,6 +178,9 @@ static int hf_gprscdr_sgsnSMORecord_01 = -1; /* SGSNSMORecord */
static int hf_gprscdr_sgsnSMTRecord_01 = -1; /* SGSNSMTRecord */
static int hf_gprscdr_sGWRecord = -1; /* SGWRecord */
static int hf_gprscdr_pGWRecord = -1; /* PGWRecord */
static int hf_gprscdr_tDFRecord = -1; /* TDFRecord */
static int hf_gprscdr_iPERecord = -1; /* IPERecord */
static int hf_gprscdr_ePDGRecord = -1; /* EPDGRecord */
static int hf_gprscdr_recordType_01 = -1; /* RecordType */
static int hf_gprscdr_s_GWAddress = -1; /* GSNAddress */
static int hf_gprscdr_servingNodeAddress = -1; /* SEQUENCE_OF_GSNAddress */
@ -205,14 +208,34 @@ static int hf_gprscdr_s_GWiPv6Address = -1; /* GSNAddress */
static int hf_gprscdr_servingNodeiPv6Address = -1; /* SEQUENCE_OF_GSNAddress */
static int hf_gprscdr_servingNodeiPv6Address_item = -1; /* GSNAddress */
static int hf_gprscdr_p_GWiPv6AddressUsed = -1; /* GSNAddress */
static int hf_gprscdr_retransmission = -1; /* NULL */
static int hf_gprscdr_userLocationInfoTime = -1; /* TimeStamp */
static int hf_gprscdr_cNOperatorSelectionEnt = -1; /* CNOperatorSelectionEntity */
static int hf_gprscdr_presenceReportingAreaInfo = -1; /* PresenceReportingAreaInfo */
static int hf_gprscdr_lastUserLocationInformation = -1; /* OCTET_STRING */
static int hf_gprscdr_lastMSTimeZone = -1; /* MSTimeZone */
static int hf_gprscdr_p_GWAddress = -1; /* GSNAddress */
static int hf_gprscdr_servinggNodePLMNIdentifier = -1; /* PLMN_Id */
static int hf_gprscdr_listOfServiceData_01 = -1; /* SEQUENCE_OF_ChangeOfServiceCondition */
static int hf_gprscdr_listOfServiceData_item_01 = -1; /* ChangeOfServiceCondition */
static int hf_gprscdr_servedMNNAI = -1; /* SubscriptionID */
static int hf_gprscdr_served3gpp2MEID = -1; /* OCTET_STRING */
static int hf_gprscdr_threeGPP2UserLocationInformation = -1; /* OCTET_STRING */
static int hf_gprscdr_tWANUserLocationInformation = -1; /* TWANUserLocationInfo */
static int hf_gprscdr_ePCQoSInformation = -1; /* EPCQoSInformation */
static int hf_gprscdr_tDFAddress = -1; /* GSNAddress */
static int hf_gprscdr_tDFiPv6AddressUsed = -1; /* GSNAddress */
static int hf_gprscdr_tDFPLMNIdentifier = -1; /* PLMN_Id */
static int hf_gprscdr_servedFixedSubsID = -1; /* FixedSubsID */
static int hf_gprscdr_accessLineIdentifier = -1; /* AccessLineIdentifier */
static int hf_gprscdr_fixedUserLocationInformation = -1; /* FixedUserLocationInformation */
static int hf_gprscdr_iPEdgeAddress = -1; /* GSNAddress */
static int hf_gprscdr_iPCANsessionType = -1; /* PDPType */
static int hf_gprscdr_servedIPCANsessionAddress = -1; /* PDPAddress */
static int hf_gprscdr_iPEdgeOperatorIdentifier = -1; /* PLMN_Id */
static int hf_gprscdr_servedIPCANsessionAddressExt = -1; /* PDPAddress */
static int hf_gprscdr_iPEdgeiPv6AddressUsed = -1; /* GSNAddress */
static int hf_gprscdr_ePDGAddressUsed = -1; /* GSNAddress */
static int hf_gprscdr_ePDGiPv6AddressUsed = -1; /* GSNAddress */
static int hf_gprscdr_changeLocation = -1; /* SEQUENCE_OF_ChangeLocation */
static int hf_gprscdr_changeLocation_item = -1; /* ChangeLocation */
static int hf_gprscdr_cAMELInformationMM = -1; /* CAMELInformationMM */
@ -223,6 +246,8 @@ static int hf_gprscdr_servingNodeiPv6Address_01 = -1; /* GSNAddress */
static int hf_gprscdr_mMEName = -1; /* DiameterIdentity */
static int hf_gprscdr_mMERealm = -1; /* DiameterIdentity */
static int hf_gprscdr_originatingAddress = -1; /* AddressString */
static int hf_gprscdr_physicalAccessID = -1; /* UTF8String */
static int hf_gprscdr_logicalAccessID = -1; /* OCTET_STRING */
static int hf_gprscdr_aFChargingIdentifier = -1; /* AFChargingIdentifier */
static int hf_gprscdr_flows = -1; /* Flows */
static int hf_gprscdr_sCFAddress = -1; /* SCFAddress */
@ -240,7 +265,7 @@ static int hf_gprscdr_cAMELDestinationSubscriberNumber = -1; /* SmsTpDestinatio
static int hf_gprscdr_cAMELSMSCAddress = -1; /* AddressString */
static int hf_gprscdr_smsReferenceNumber = -1; /* CallReferenceNumber */
static int hf_gprscdr_changeCondition_01 = -1; /* ChangeCondition */
static int hf_gprscdr_ePCQoSInformation = -1; /* EPCQoSInformation */
static int hf_gprscdr_presenceReportingAreaStatus = -1; /* PresenceReportingAreaStatus */
static int hf_gprscdr_serviceConditionChange_01 = -1; /* ServiceConditionChange */
static int hf_gprscdr_qoSInformationNeg_01 = -1; /* EPCQoSInformation */
static int hf_gprscdr_aFRecordInformation = -1; /* SEQUENCE_OF_AFRecordInformation */
@ -251,6 +276,7 @@ static int hf_gprscdr_serviceSpecificInfo = -1; /* SEQUENCE_OF_ServiceSpecific
static int hf_gprscdr_serviceSpecificInfo_item = -1; /* ServiceSpecificInfo */
static int hf_gprscdr_sponsorIdentity = -1; /* OCTET_STRING */
static int hf_gprscdr_applicationServiceProviderIdentity = -1; /* OCTET_STRING */
static int hf_gprscdr_aDCRuleBaseName = -1; /* ADCRuleBaseName */
static int hf_gprscdr_routingAreaCode = -1; /* RoutingAreaCode */
static int hf_gprscdr_cellId = -1; /* CellId */
static int hf_gprscdr_mCC_MNC = -1; /* PLMN_Id */
@ -265,16 +291,17 @@ static int hf_gprscdr_aPNAggregateMaxBitrateDL = -1; /* INTEGER */
static int hf_gprscdr_numberOfEvents = -1; /* INTEGER */
static int hf_gprscdr_eventTimeStamps = -1; /* SEQUENCE_OF_TimeStamp */
static int hf_gprscdr_eventTimeStamps_item = -1; /* TimeStamp */
static int hf_gprscdr_sSID = -1; /* OCTET_STRING */
static int hf_gprscdr_bSSID = -1; /* OCTET_STRING */
static int hf_gprscdr_mediaComponentNumber = -1; /* INTEGER */
static int hf_gprscdr_flowNumber = -1; /* T_flowNumber */
static int hf_gprscdr_flowNumber_item = -1; /* INTEGER */
static int hf_gprscdr_iPAddress = -1; /* IPAddress */
static int hf_gprscdr_presenceReportingAreaIdentifier = -1; /* OCTET_STRING */
static int hf_gprscdr_pSFreeFormatData = -1; /* FreeFormatData */
static int hf_gprscdr_pSFFDAppendIndicator = -1; /* FFDAppendIndicator */
static int hf_gprscdr_timeQuotaType = -1; /* TimeQuotaType */
static int hf_gprscdr_baseTimeInterval = -1; /* INTEGER */
static int hf_gprscdr_sSID = -1; /* OCTET_STRING */
static int hf_gprscdr_bSSID = -1; /* OCTET_STRING */
static int hf_gprscdr_cSGId = -1; /* CSGId */
static int hf_gprscdr_cSGAccessMode = -1; /* CSGAccessMode */
static int hf_gprscdr_cSGMembershipIndication = -1; /* NULL */
@ -375,11 +402,15 @@ static gint ett_gprscdr_SEQUENCE_OF_ChangeOfCharCondition = -1;
static gint ett_gprscdr_SEQUENCE_OF_ServingNodeType = -1;
static gint ett_gprscdr_PGWRecord = -1;
static gint ett_gprscdr_SEQUENCE_OF_ChangeOfServiceCondition = -1;
static gint ett_gprscdr_TDFRecord = -1;
static gint ett_gprscdr_IPERecord = -1;
static gint ett_gprscdr_EPDGRecord = -1;
static gint ett_gprscdr_SGSNMMRecord = -1;
static gint ett_gprscdr_SEQUENCE_OF_ChangeLocation = -1;
static gint ett_gprscdr_SGSNPDPRecord = -1;
static gint ett_gprscdr_SGSNSMORecord = -1;
static gint ett_gprscdr_SGSNSMTRecord = -1;
static gint ett_gprscdr_AccessLineIdentifier = -1;
static gint ett_gprscdr_AFRecordInformation = -1;
static gint ett_gprscdr_CAMELInformationMM = -1;
static gint ett_gprscdr_CAMELInformationPDP = -1;
@ -392,9 +423,11 @@ static gint ett_gprscdr_ChangeLocation = -1;
static gint ett_gprscdr_EPCQoSInformation = -1;
static gint ett_gprscdr_EventBasedChargingInformation = -1;
static gint ett_gprscdr_SEQUENCE_OF_TimeStamp = -1;
static gint ett_gprscdr_FixedUserLocationInformation = -1;
static gint ett_gprscdr_Flows = -1;
static gint ett_gprscdr_T_flowNumber = -1;
static gint ett_gprscdr_PDPAddress = -1;
static gint ett_gprscdr_PresenceReportingAreaInfo = -1;
static gint ett_gprscdr_PSFurnishChargingInformation = -1;
static gint ett_gprscdr_ServiceConditionChange = -1;
static gint ett_gprscdr_TimeQuotaMechanism = -1;
@ -586,7 +619,7 @@ dissect_gprscdr_BOOLEAN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset
static int
dissect_gprscdr_T_information(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 67 "../../asn1/gprscdr/gprscdr.cnf"
#line 69 "../../asn1/gprscdr/gprscdr.cnf"
proto_tree *ext_tree;
ext_tree = proto_tree_add_subtree(tree, tvb, offset, -1, ett_gprscdr_managementextension_information, NULL, "Information");
@ -909,7 +942,7 @@ dissect_gprscdr_MSISDN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset
static int
dissect_gprscdr_MSTimeZone(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 116 "../../asn1/gprscdr/gprscdr.cnf"
#line 118 "../../asn1/gprscdr/gprscdr.cnf"
/*
*
* 1.Octet: Time Zone and 2. Octet: Daylight saving time, see TS 29.060 [75]
@ -1041,9 +1074,15 @@ static const value_string gprscdr_RecordType_vals[] = {
{ 81, "cPFRecord" },
{ 84, "sGWRecord" },
{ 85, "pGWRecord" },
{ 92, "tDFRecord" },
{ 95, "iPERecord" },
{ 96, "ePDGRecord" },
{ 83, "mMTelRecord" },
{ 87, "mSCsRVCCRecord" },
{ 88, "mMTRFRecord" },
{ 99, "iCSRegisterRecord" },
{ 93, "sCSMORecord" },
{ 94, "sCSMTRecord" },
{ 0, NULL }
};
@ -1150,7 +1189,7 @@ dissect_gprscdr_SubscriptionID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
static int
dissect_gprscdr_TimeStamp(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 77 "../../asn1/gprscdr/gprscdr.cnf"
#line 79 "../../asn1/gprscdr/gprscdr.cnf"
/*
*
* The contents of this field are a compact form of the UTCTime format
@ -1523,6 +1562,7 @@ static const value_string gprscdr_ChChSelectionMode_vals[] = {
{ 3, "homeDefault" },
{ 4, "roamingDefault" },
{ 5, "visitingDefault" },
{ 6, "fixedDefault" },
{ 0, NULL }
};
@ -1626,7 +1666,7 @@ dissect_gprscdr_OCTET_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int o
static int
dissect_gprscdr_PLMN_Id(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 143 "../../asn1/gprscdr/gprscdr.cnf"
#line 145 "../../asn1/gprscdr/gprscdr.cnf"
tvbuff_t *parameter_tvb;
proto_tree *subtree;
@ -1734,6 +1774,8 @@ static const value_string gprscdr_CauseForRecClosing_vals[] = {
{ 22, "rATChange" },
{ 23, "mSTimeZoneChange" },
{ 24, "sGSNPLMNIDChange" },
{ 25, "sGWChange" },
{ 26, "aPNAMBRChange" },
{ 52, "unauthorizedRequestingNetwork" },
{ 53, "unauthorizedLCSClient" },
{ 54, "positionMethodFailure" },
@ -1772,6 +1814,22 @@ dissect_gprscdr_CAMELInformationMM(gboolean implicit_tag _U_, tvbuff_t *tvb _U_,
}
static const value_string gprscdr_CNOperatorSelectionEntity_vals[] = {
{ 0, "servCNSelectedbyUE" },
{ 1, "servCNSelectedbyNtw" },
{ 0, NULL }
};
static int
dissect_gprscdr_CNOperatorSelectionEntity(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
NULL);
return offset;
}
static const ber_sequence_t SGSNMMRecord_set[] = {
{ &hf_gprscdr_recordType_01, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gprscdr_RecordType },
{ &hf_gprscdr_servedIMSI , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
@ -1797,6 +1855,8 @@ static const ber_sequence_t SGSNMMRecord_set[] = {
{ &hf_gprscdr_rATType , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_RATType },
{ &hf_gprscdr_chChSelectionMode, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ChChSelectionMode },
{ &hf_gprscdr_cellPLMNId , BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PLMN_Id },
{ &hf_gprscdr_servingNodePLMNIdentifier, BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PLMN_Id },
{ &hf_gprscdr_cNOperatorSelectionEnt, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_CNOperatorSelectionEntity },
{ NULL, 0, 0, 0, NULL }
};
@ -2160,6 +2220,22 @@ dissect_gprscdr_EPCQoSInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_,
}
static const value_string gprscdr_PresenceReportingAreaStatus_vals[] = {
{ 0, "insideArea" },
{ 1, "outsideArea" },
{ 0, NULL }
};
static int
dissect_gprscdr_PresenceReportingAreaStatus(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
NULL);
return offset;
}
static const ber_sequence_t ChangeOfCharCondition_sequence[] = {
{ &hf_gprscdr_qosRequested, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_QoSInformation },
{ &hf_gprscdr_qosNegotiated, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_QoSInformation },
@ -2169,6 +2245,8 @@ static const ber_sequence_t ChangeOfCharCondition_sequence[] = {
{ &hf_gprscdr_changeTime , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_gprscdr_TimeStamp },
{ &hf_gprscdr_userLocationInformation, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING },
{ &hf_gprscdr_ePCQoSInformation, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_EPCQoSInformation },
{ &hf_gprscdr_chargingID , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ChargingID },
{ &hf_gprscdr_presenceReportingAreaStatus, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PresenceReportingAreaStatus },
{ NULL, 0, 0, 0, NULL }
};
@ -2274,6 +2352,8 @@ static const ber_sequence_t SGSNPDPRecord_set[] = {
{ &hf_gprscdr_userCSGInformation, BER_CLASS_CON, 35, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_UserCSGInformation },
{ &hf_gprscdr_servedPDPPDNAddressExt, BER_CLASS_CON, 36, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_PDPAddress },
{ &hf_gprscdr_lowPriorityIndicator, BER_CLASS_CON, 37, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NULL },
{ &hf_gprscdr_servingNodePLMNIdentifier, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PLMN_Id },
{ &hf_gprscdr_cNOperatorSelectionEnt, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_CNOperatorSelectionEntity },
{ NULL, 0, 0, 0, NULL }
};
@ -2335,6 +2415,10 @@ static const ber_sequence_t SGSNSMORecord_set[] = {
{ &hf_gprscdr_mMEName , BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_DiameterIdentity },
{ &hf_gprscdr_mMERealm , BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_DiameterIdentity },
{ &hf_gprscdr_userLocationInformation, BER_CLASS_CON, 26, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING },
{ &hf_gprscdr_retransmission, BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NULL },
{ &hf_gprscdr_servingNodePLMNIdentifier, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PLMN_Id },
{ &hf_gprscdr_userLocationInfoTime, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_TimeStamp },
{ &hf_gprscdr_cNOperatorSelectionEnt, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_CNOperatorSelectionEntity },
{ NULL, 0, 0, 0, NULL }
};
@ -2374,6 +2458,10 @@ static const ber_sequence_t SGSNSMTRecord_set[] = {
{ &hf_gprscdr_mMEName , BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_DiameterIdentity },
{ &hf_gprscdr_mMERealm , BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_DiameterIdentity },
{ &hf_gprscdr_userLocationInformation, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING },
{ &hf_gprscdr_retransmission, BER_CLASS_CON, 26, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NULL },
{ &hf_gprscdr_servingNodePLMNIdentifier, BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PLMN_Id },
{ &hf_gprscdr_userLocationInfoTime, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_TimeStamp },
{ &hf_gprscdr_cNOperatorSelectionEnt, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_CNOperatorSelectionEntity },
{ NULL, 0, 0, 0, NULL }
};
@ -2408,6 +2496,21 @@ dissect_gprscdr_SEQUENCE_OF_ServingNodeType(gboolean implicit_tag _U_, tvbuff_t
}
static const ber_sequence_t PresenceReportingAreaInfo_sequence[] = {
{ &hf_gprscdr_presenceReportingAreaIdentifier, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING },
{ &hf_gprscdr_presenceReportingAreaStatus, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PresenceReportingAreaStatus },
{ NULL, 0, 0, 0, NULL }
};
static int
dissect_gprscdr_PresenceReportingAreaInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
PresenceReportingAreaInfo_sequence, hf_index, ett_gprscdr_PresenceReportingAreaInfo);
return offset;
}
static const ber_sequence_t SGWRecord_set[] = {
{ &hf_gprscdr_recordType_01, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gprscdr_RecordType },
{ &hf_gprscdr_servedIMSI , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
@ -2433,7 +2536,7 @@ static const ber_sequence_t SGWRecord_set[] = {
{ &hf_gprscdr_chChSelectionMode, BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ChChSelectionMode },
{ &hf_gprscdr_iMSsignalingContext, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NULL },
{ &hf_gprscdr_servingNodePLMNIdentifier, BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PLMN_Id },
{ &hf_gprscdr_servedIMEISV, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMEI },
{ &hf_gprscdr_servedIMEI , BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMEI },
{ &hf_gprscdr_rATType , BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_RATType },
{ &hf_gprscdr_mSTimeZone , BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_MSTimeZone },
{ &hf_gprscdr_userLocationInformation, BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING },
@ -2452,6 +2555,12 @@ static const ber_sequence_t SGWRecord_set[] = {
{ &hf_gprscdr_s_GWiPv6Address, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_GSNAddress },
{ &hf_gprscdr_servingNodeiPv6Address, BER_CLASS_CON, 49, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_SEQUENCE_OF_GSNAddress },
{ &hf_gprscdr_p_GWiPv6AddressUsed, BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_GSNAddress },
{ &hf_gprscdr_retransmission, BER_CLASS_CON, 51, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NULL },
{ &hf_gprscdr_userLocationInfoTime, BER_CLASS_CON, 52, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_TimeStamp },
{ &hf_gprscdr_cNOperatorSelectionEnt, BER_CLASS_CON, 53, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_CNOperatorSelectionEntity },
{ &hf_gprscdr_presenceReportingAreaInfo, BER_CLASS_CON, 54, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PresenceReportingAreaInfo },
{ &hf_gprscdr_lastUserLocationInformation, BER_CLASS_CON, 55, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING },
{ &hf_gprscdr_lastMSTimeZone, BER_CLASS_CON, 56, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_MSTimeZone },
{ NULL, 0, 0, 0, NULL }
};
@ -2648,6 +2757,17 @@ dissect_gprscdr_SEQUENCE_OF_ServiceSpecificInfo(gboolean implicit_tag _U_, tvbuf
}
static int
dissect_gprscdr_ADCRuleBaseName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
actx, tree, tvb, offset, hf_index,
NULL);
return offset;
}
static const ber_sequence_t ChangeOfServiceCondition_sequence[] = {
{ &hf_gprscdr_ratingGroup , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gprscdr_RatingGroupId },
{ &hf_gprscdr_chargingRuleBaseName, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ChargingRuleBaseName },
@ -2673,6 +2793,8 @@ static const ber_sequence_t ChangeOfServiceCondition_sequence[] = {
{ &hf_gprscdr_threeGPP2UserLocationInformation, BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING },
{ &hf_gprscdr_sponsorIdentity, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING },
{ &hf_gprscdr_applicationServiceProviderIdentity, BER_CLASS_CON, 26, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING },
{ &hf_gprscdr_aDCRuleBaseName, BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ADCRuleBaseName },
{ &hf_gprscdr_presenceReportingAreaStatus, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PresenceReportingAreaStatus },
{ NULL, 0, 0, 0, NULL }
};
@ -2723,6 +2845,7 @@ static const ber_sequence_t PGWRecord_set[] = {
{ &hf_gprscdr_pdpPDNType , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PDPType },
{ &hf_gprscdr_servedPDPPDNAddress, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_PDPAddress },
{ &hf_gprscdr_dynamicAddressFlag, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_DynamicAddressFlag },
{ &hf_gprscdr_listOfTrafficVolumes_01, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_SEQUENCE_OF_ChangeOfCharCondition },
{ &hf_gprscdr_recordOpeningTime, BER_CLASS_CON, 13, BER_FLAGS_IMPLTAG, dissect_gprscdr_TimeStamp },
{ &hf_gprscdr_duration , BER_CLASS_CON, 14, BER_FLAGS_IMPLTAG, dissect_gprscdr_CallDuration },
{ &hf_gprscdr_causeForRecClosing_01, BER_CLASS_CON, 15, BER_FLAGS_IMPLTAG, dissect_gprscdr_CauseForRecClosing },
@ -2736,10 +2859,9 @@ static const ber_sequence_t PGWRecord_set[] = {
{ &hf_gprscdr_chargingCharacteristics, BER_CLASS_CON, 23, BER_FLAGS_IMPLTAG, dissect_gprscdr_ChargingCharacteristics },
{ &hf_gprscdr_chChSelectionMode, BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ChChSelectionMode },
{ &hf_gprscdr_iMSsignalingContext, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NULL },
{ &hf_gprscdr_externalChargingID, BER_CLASS_CON, 26, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING },
{ &hf_gprscdr_servinggNodePLMNIdentifier, BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PLMN_Id },
{ &hf_gprscdr_servingNodePLMNIdentifier, BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PLMN_Id },
{ &hf_gprscdr_pSFurnishChargingInformation, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PSFurnishChargingInformation },
{ &hf_gprscdr_servedIMEISV, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMEI },
{ &hf_gprscdr_servedIMEI , BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMEI },
{ &hf_gprscdr_rATType , BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_RATType },
{ &hf_gprscdr_mSTimeZone , BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_MSTimeZone },
{ &hf_gprscdr_userLocationInformation, BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING },
@ -2761,6 +2883,13 @@ static const ber_sequence_t PGWRecord_set[] = {
{ &hf_gprscdr_servingNodeiPv6Address, BER_CLASS_CON, 49, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_SEQUENCE_OF_GSNAddress },
{ &hf_gprscdr_p_GWiPv6AddressUsed, BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_GSNAddress },
{ &hf_gprscdr_tWANUserLocationInformation, BER_CLASS_CON, 51, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_TWANUserLocationInfo },
{ &hf_gprscdr_retransmission, BER_CLASS_CON, 52, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NULL },
{ &hf_gprscdr_userLocationInfoTime, BER_CLASS_CON, 53, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_TimeStamp },
{ &hf_gprscdr_cNOperatorSelectionEnt, BER_CLASS_CON, 54, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_CNOperatorSelectionEntity },
{ &hf_gprscdr_ePCQoSInformation, BER_CLASS_CON, 55, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_EPCQoSInformation },
{ &hf_gprscdr_presenceReportingAreaInfo, BER_CLASS_CON, 56, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PresenceReportingAreaInfo },
{ &hf_gprscdr_lastUserLocationInformation, BER_CLASS_CON, 57, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING },
{ &hf_gprscdr_lastMSTimeZone, BER_CLASS_CON, 58, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_MSTimeZone },
{ NULL, 0, 0, 0, NULL }
};
@ -2773,6 +2902,203 @@ dissect_gprscdr_PGWRecord(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offs
}
static int
dissect_gprscdr_FixedSubsID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
NULL);
return offset;
}
static const ber_sequence_t AccessLineIdentifier_sequence[] = {
{ &hf_gprscdr_physicalAccessID, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_UTF8String },
{ &hf_gprscdr_logicalAccessID, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING },
{ NULL, 0, 0, 0, NULL }
};
static int
dissect_gprscdr_AccessLineIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
AccessLineIdentifier_sequence, hf_index, ett_gprscdr_AccessLineIdentifier);
return offset;
}
static const ber_sequence_t FixedUserLocationInformation_sequence[] = {
{ &hf_gprscdr_sSID , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING },
{ &hf_gprscdr_bSSID , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING },
{ &hf_gprscdr_accessLineIdentifier, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_AccessLineIdentifier },
{ NULL, 0, 0, 0, NULL }
};
static int
dissect_gprscdr_FixedUserLocationInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
FixedUserLocationInformation_sequence, hf_index, ett_gprscdr_FixedUserLocationInformation);
return offset;
}
static const ber_sequence_t TDFRecord_set[] = {
{ &hf_gprscdr_recordType_01, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gprscdr_RecordType },
{ &hf_gprscdr_servedIMSI , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
{ &hf_gprscdr_p_GWAddress , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_GSNAddress },
{ &hf_gprscdr_servingNodeAddress, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_gprscdr_SEQUENCE_OF_GSNAddress },
{ &hf_gprscdr_accessPointNameNI, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_AccessPointNameNI },
{ &hf_gprscdr_pdpPDNType , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PDPType },
{ &hf_gprscdr_servedPDPPDNAddress, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_PDPAddress },
{ &hf_gprscdr_dynamicAddressFlag, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_DynamicAddressFlag },
{ &hf_gprscdr_recordOpeningTime, BER_CLASS_CON, 13, BER_FLAGS_IMPLTAG, dissect_gprscdr_TimeStamp },
{ &hf_gprscdr_duration , BER_CLASS_CON, 14, BER_FLAGS_IMPLTAG, dissect_gprscdr_CallDuration },
{ &hf_gprscdr_causeForRecClosing_01, BER_CLASS_CON, 15, BER_FLAGS_IMPLTAG, dissect_gprscdr_CauseForRecClosing },
{ &hf_gprscdr_diagnostics , BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_Diagnostics },
{ &hf_gprscdr_recordSequenceNumber, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_INTEGER },
{ &hf_gprscdr_nodeID , BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NodeID },
{ &hf_gprscdr_recordExtensions, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ManagementExtensions },
{ &hf_gprscdr_localSequenceNumber, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_LocalSequenceNumber },
{ &hf_gprscdr_apnSelectionMode, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_APNSelectionMode },
{ &hf_gprscdr_servedMSISDN, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_MSISDN },
{ &hf_gprscdr_chargingCharacteristics, BER_CLASS_CON, 23, BER_FLAGS_IMPLTAG, dissect_gprscdr_ChargingCharacteristics },
{ &hf_gprscdr_chChSelectionMode, BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ChChSelectionMode },
{ &hf_gprscdr_servingNodePLMNIdentifier, BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PLMN_Id },
{ &hf_gprscdr_pSFurnishChargingInformation, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PSFurnishChargingInformation },
{ &hf_gprscdr_servedIMEI , BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMEI },
{ &hf_gprscdr_rATType , BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_RATType },
{ &hf_gprscdr_mSTimeZone , BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_MSTimeZone },
{ &hf_gprscdr_userLocationInformation, BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING },
{ &hf_gprscdr_listOfServiceData_01, BER_CLASS_CON, 34, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_SEQUENCE_OF_ChangeOfServiceCondition },
{ &hf_gprscdr_servingNodeType, BER_CLASS_CON, 35, BER_FLAGS_IMPLTAG, dissect_gprscdr_SEQUENCE_OF_ServingNodeType },
{ &hf_gprscdr_servedMNNAI , BER_CLASS_CON, 36, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_SubscriptionID },
{ &hf_gprscdr_p_GWPLMNIdentifier, BER_CLASS_CON, 37, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PLMN_Id },
{ &hf_gprscdr_startTime , BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_TimeStamp },
{ &hf_gprscdr_stopTime , BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_TimeStamp },
{ &hf_gprscdr_served3gpp2MEID, BER_CLASS_CON, 40, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING },
{ &hf_gprscdr_pDNConnectionChargingID, BER_CLASS_CON, 41, BER_FLAGS_IMPLTAG, dissect_gprscdr_ChargingID },
{ &hf_gprscdr_userCSGInformation, BER_CLASS_CON, 43, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_UserCSGInformation },
{ &hf_gprscdr_threeGPP2UserLocationInformation, BER_CLASS_CON, 44, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING },
{ &hf_gprscdr_servedPDPPDNAddressExt, BER_CLASS_CON, 45, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_PDPAddress },
{ &hf_gprscdr_dynamicAddressFlagExt, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_DynamicAddressFlag },
{ &hf_gprscdr_servingNodeiPv6Address, BER_CLASS_CON, 49, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_SEQUENCE_OF_GSNAddress },
{ &hf_gprscdr_p_GWiPv6AddressUsed, BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_GSNAddress },
{ &hf_gprscdr_tWANUserLocationInformation, BER_CLASS_CON, 51, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_TWANUserLocationInfo },
{ &hf_gprscdr_retransmission, BER_CLASS_CON, 52, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NULL },
{ &hf_gprscdr_tDFAddress , BER_CLASS_CON, 53, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_GSNAddress },
{ &hf_gprscdr_tDFiPv6AddressUsed, BER_CLASS_CON, 54, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_GSNAddress },
{ &hf_gprscdr_tDFPLMNIdentifier, BER_CLASS_CON, 55, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PLMN_Id },
{ &hf_gprscdr_servedFixedSubsID, BER_CLASS_CON, 56, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_FixedSubsID },
{ &hf_gprscdr_accessLineIdentifier, BER_CLASS_CON, 57, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_AccessLineIdentifier },
{ &hf_gprscdr_presenceReportingAreaInfo, BER_CLASS_CON, 58, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PresenceReportingAreaInfo },
{ &hf_gprscdr_fixedUserLocationInformation, BER_CLASS_CON, 59, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_FixedUserLocationInformation },
{ NULL, 0, 0, 0, NULL }
};
static int
dissect_gprscdr_TDFRecord(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
TDFRecord_set, hf_index, ett_gprscdr_TDFRecord);
return offset;
}
static const ber_sequence_t IPERecord_set[] = {
{ &hf_gprscdr_recordType_01, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gprscdr_RecordType },
{ &hf_gprscdr_servedIMSI , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
{ &hf_gprscdr_iPEdgeAddress, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_GSNAddress },
{ &hf_gprscdr_chargingID , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_gprscdr_ChargingID },
{ &hf_gprscdr_accessPointNameNI, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_AccessPointNameNI },
{ &hf_gprscdr_iPCANsessionType, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PDPType },
{ &hf_gprscdr_servedIPCANsessionAddress, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_PDPAddress },
{ &hf_gprscdr_dynamicAddressFlag, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_DynamicAddressFlag },
{ &hf_gprscdr_listOfTrafficVolumes_01, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_SEQUENCE_OF_ChangeOfCharCondition },
{ &hf_gprscdr_recordOpeningTime, BER_CLASS_CON, 13, BER_FLAGS_IMPLTAG, dissect_gprscdr_TimeStamp },
{ &hf_gprscdr_duration , BER_CLASS_CON, 14, BER_FLAGS_IMPLTAG, dissect_gprscdr_CallDuration },
{ &hf_gprscdr_causeForRecClosing_01, BER_CLASS_CON, 15, BER_FLAGS_IMPLTAG, dissect_gprscdr_CauseForRecClosing },
{ &hf_gprscdr_diagnostics , BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_Diagnostics },
{ &hf_gprscdr_recordSequenceNumber, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_INTEGER },
{ &hf_gprscdr_nodeID , BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NodeID },
{ &hf_gprscdr_recordExtensions, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ManagementExtensions },
{ &hf_gprscdr_localSequenceNumber, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_LocalSequenceNumber },
{ &hf_gprscdr_servedMSISDN, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_MSISDN },
{ &hf_gprscdr_chargingCharacteristics, BER_CLASS_CON, 23, BER_FLAGS_IMPLTAG, dissect_gprscdr_ChargingCharacteristics },
{ &hf_gprscdr_chChSelectionMode, BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ChChSelectionMode },
{ &hf_gprscdr_pSFurnishChargingInformation, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PSFurnishChargingInformation },
{ &hf_gprscdr_servedIMEI , BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMEI },
{ &hf_gprscdr_listOfServiceData_01, BER_CLASS_CON, 34, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_SEQUENCE_OF_ChangeOfServiceCondition },
{ &hf_gprscdr_servedMNNAI , BER_CLASS_CON, 36, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_SubscriptionID },
{ &hf_gprscdr_iPEdgeOperatorIdentifier, BER_CLASS_CON, 37, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PLMN_Id },
{ &hf_gprscdr_startTime , BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_TimeStamp },
{ &hf_gprscdr_stopTime , BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_TimeStamp },
{ &hf_gprscdr_servedIPCANsessionAddressExt, BER_CLASS_CON, 45, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_PDPAddress },
{ &hf_gprscdr_dynamicAddressFlagExt, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_DynamicAddressFlag },
{ &hf_gprscdr_iPEdgeiPv6AddressUsed, BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_GSNAddress },
{ &hf_gprscdr_retransmission, BER_CLASS_CON, 52, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NULL },
{ &hf_gprscdr_servedFixedSubsID, BER_CLASS_CON, 55, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_FixedSubsID },
{ &hf_gprscdr_accessLineIdentifier, BER_CLASS_CON, 56, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_AccessLineIdentifier },
{ &hf_gprscdr_fixedUserLocationInformation, BER_CLASS_CON, 57, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_FixedUserLocationInformation },
{ NULL, 0, 0, 0, NULL }
};
static int
dissect_gprscdr_IPERecord(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
IPERecord_set, hf_index, ett_gprscdr_IPERecord);
return offset;
}
static const ber_sequence_t EPDGRecord_set[] = {
{ &hf_gprscdr_recordType_01, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gprscdr_RecordType },
{ &hf_gprscdr_servedIMSI , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
{ &hf_gprscdr_ePDGAddressUsed, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_GSNAddress },
{ &hf_gprscdr_chargingID , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_gprscdr_ChargingID },
{ &hf_gprscdr_accessPointNameNI, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_AccessPointNameNI },
{ &hf_gprscdr_pdpPDNType , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PDPType },
{ &hf_gprscdr_servedPDPPDNAddress, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_PDPAddress },
{ &hf_gprscdr_dynamicAddressFlag, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_DynamicAddressFlag },
{ &hf_gprscdr_listOfTrafficVolumes_01, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_SEQUENCE_OF_ChangeOfCharCondition },
{ &hf_gprscdr_recordOpeningTime, BER_CLASS_CON, 13, BER_FLAGS_IMPLTAG, dissect_gprscdr_TimeStamp },
{ &hf_gprscdr_duration , BER_CLASS_CON, 14, BER_FLAGS_IMPLTAG, dissect_gprscdr_CallDuration },
{ &hf_gprscdr_causeForRecClosing_01, BER_CLASS_CON, 15, BER_FLAGS_IMPLTAG, dissect_gprscdr_CauseForRecClosing },
{ &hf_gprscdr_diagnostics , BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_Diagnostics },
{ &hf_gprscdr_recordSequenceNumber, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_INTEGER },
{ &hf_gprscdr_nodeID , BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NodeID },
{ &hf_gprscdr_recordExtensions, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ManagementExtensions },
{ &hf_gprscdr_localSequenceNumber, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_LocalSequenceNumber },
{ &hf_gprscdr_apnSelectionMode, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_APNSelectionMode },
{ &hf_gprscdr_servedMSISDN, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_MSISDN },
{ &hf_gprscdr_chargingCharacteristics, BER_CLASS_CON, 23, BER_FLAGS_IMPLTAG, dissect_gprscdr_ChargingCharacteristics },
{ &hf_gprscdr_chChSelectionMode, BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ChChSelectionMode },
{ &hf_gprscdr_iMSsignalingContext, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NULL },
{ &hf_gprscdr_servedIMEI , BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMEI },
{ &hf_gprscdr_rATType , BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_RATType },
{ &hf_gprscdr_p_GWAddressUsed, BER_CLASS_CON, 36, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_GSNAddress },
{ &hf_gprscdr_p_GWPLMNIdentifier, BER_CLASS_CON, 37, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PLMN_Id },
{ &hf_gprscdr_startTime , BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_TimeStamp },
{ &hf_gprscdr_stopTime , BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_TimeStamp },
{ &hf_gprscdr_pDNConnectionChargingID, BER_CLASS_CON, 40, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ChargingID },
{ &hf_gprscdr_servedPDPPDNAddressExt, BER_CLASS_CON, 43, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_PDPAddress },
{ &hf_gprscdr_dynamicAddressFlagExt, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_DynamicAddressFlag },
{ &hf_gprscdr_ePDGiPv6AddressUsed, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_GSNAddress },
{ &hf_gprscdr_p_GWiPv6AddressUsed, BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_GSNAddress },
{ &hf_gprscdr_retransmission, BER_CLASS_CON, 51, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NULL },
{ NULL, 0, 0, 0, NULL }
};
static int
dissect_gprscdr_EPDGRecord(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
EPDGRecord_set, hf_index, ett_gprscdr_EPDGRecord);
return offset;
}
const value_string gprscdr_GPRSRecord_vals[] = {
{ 20, "sgsnPDPRecord" },
{ 22, "sgsnMMRecord" },
@ -2780,6 +3106,9 @@ const value_string gprscdr_GPRSRecord_vals[] = {
{ 24, "sgsnSMTRecord" },
{ 78, "sGWRecord" },
{ 79, "pGWRecord" },
{ 92, "tDFRecord" },
{ 95, "iPERecord" },
{ 96, "ePDGRecord" },
{ 0, NULL }
};
@ -2790,6 +3119,9 @@ static const ber_choice_t GPRSRecord_choice[] = {
{ 24, &hf_gprscdr_sgsnSMTRecord_01, BER_CLASS_CON, 24, BER_FLAGS_IMPLTAG, dissect_gprscdr_SGSNSMTRecord },
{ 78, &hf_gprscdr_sGWRecord , BER_CLASS_CON, 78, BER_FLAGS_IMPLTAG, dissect_gprscdr_SGWRecord },
{ 79, &hf_gprscdr_pGWRecord , BER_CLASS_CON, 79, BER_FLAGS_IMPLTAG, dissect_gprscdr_PGWRecord },
{ 92, &hf_gprscdr_tDFRecord , BER_CLASS_CON, 92, BER_FLAGS_IMPLTAG, dissect_gprscdr_TDFRecord },
{ 95, &hf_gprscdr_iPERecord , BER_CLASS_CON, 95, BER_FLAGS_IMPLTAG, dissect_gprscdr_IPERecord },
{ 96, &hf_gprscdr_ePDGRecord , BER_CLASS_CON, 96, BER_FLAGS_IMPLTAG, dissect_gprscdr_EPDGRecord },
{ 0, NULL, 0, 0, 0, NULL }
};
@ -3334,6 +3666,18 @@ proto_register_gprscdr(void)
{ "pGWRecord", "gprscdr.pGWRecord_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_gprscdr_tDFRecord,
{ "tDFRecord", "gprscdr.tDFRecord_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_gprscdr_iPERecord,
{ "iPERecord", "gprscdr.iPERecord_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_gprscdr_ePDGRecord,
{ "ePDGRecord", "gprscdr.ePDGRecord_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_gprscdr_recordType_01,
{ "recordType", "gprscdr.recordType",
FT_INT32, BASE_DEC, VALS(gprscdr_RecordType_vals), 0,
@ -3442,14 +3786,34 @@ proto_register_gprscdr(void)
{ "p-GWiPv6AddressUsed", "gprscdr.p_GWiPv6AddressUsed",
FT_UINT32, BASE_DEC, VALS(gprscdr_IPAddress_vals), 0,
"GSNAddress", HFILL }},
{ &hf_gprscdr_retransmission,
{ "retransmission", "gprscdr.retransmission_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_gprscdr_userLocationInfoTime,
{ "userLocationInfoTime", "gprscdr.userLocationInfoTime",
FT_BYTES, BASE_NONE, NULL, 0,
"TimeStamp", HFILL }},
{ &hf_gprscdr_cNOperatorSelectionEnt,
{ "cNOperatorSelectionEnt", "gprscdr.cNOperatorSelectionEnt",
FT_UINT32, BASE_DEC, VALS(gprscdr_CNOperatorSelectionEntity_vals), 0,
"CNOperatorSelectionEntity", HFILL }},
{ &hf_gprscdr_presenceReportingAreaInfo,
{ "presenceReportingAreaInfo", "gprscdr.presenceReportingAreaInfo_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_gprscdr_lastUserLocationInformation,
{ "lastUserLocationInformation", "gprscdr.lastUserLocationInformation",
FT_BYTES, BASE_NONE, NULL, 0,
"OCTET_STRING", HFILL }},
{ &hf_gprscdr_lastMSTimeZone,
{ "lastMSTimeZone", "gprscdr.lastMSTimeZone",
FT_BYTES, BASE_NONE, NULL, 0,
"MSTimeZone", HFILL }},
{ &hf_gprscdr_p_GWAddress,
{ "p-GWAddress", "gprscdr.p_GWAddress",
FT_UINT32, BASE_DEC, VALS(gprscdr_IPAddress_vals), 0,
"GSNAddress", HFILL }},
{ &hf_gprscdr_servinggNodePLMNIdentifier,
{ "servinggNodePLMNIdentifier", "gprscdr.servinggNodePLMNIdentifier",
FT_BYTES, BASE_NONE, NULL, 0,
"PLMN_Id", HFILL }},
{ &hf_gprscdr_listOfServiceData_01,
{ "listOfServiceData", "gprscdr.listOfServiceData",
FT_UINT32, BASE_DEC, NULL, 0,
@ -3474,6 +3838,66 @@ proto_register_gprscdr(void)
{ "tWANUserLocationInformation", "gprscdr.tWANUserLocationInformation_element",
FT_NONE, BASE_NONE, NULL, 0,
"TWANUserLocationInfo", HFILL }},
{ &hf_gprscdr_ePCQoSInformation,
{ "ePCQoSInformation", "gprscdr.ePCQoSInformation_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_gprscdr_tDFAddress,
{ "tDFAddress", "gprscdr.tDFAddress",
FT_UINT32, BASE_DEC, VALS(gprscdr_IPAddress_vals), 0,
"GSNAddress", HFILL }},
{ &hf_gprscdr_tDFiPv6AddressUsed,
{ "tDFiPv6AddressUsed", "gprscdr.tDFiPv6AddressUsed",
FT_UINT32, BASE_DEC, VALS(gprscdr_IPAddress_vals), 0,
"GSNAddress", HFILL }},
{ &hf_gprscdr_tDFPLMNIdentifier,
{ "tDFPLMNIdentifier", "gprscdr.tDFPLMNIdentifier",
FT_BYTES, BASE_NONE, NULL, 0,
"PLMN_Id", HFILL }},
{ &hf_gprscdr_servedFixedSubsID,
{ "servedFixedSubsID", "gprscdr.servedFixedSubsID",
FT_BYTES, BASE_NONE, NULL, 0,
"FixedSubsID", HFILL }},
{ &hf_gprscdr_accessLineIdentifier,
{ "accessLineIdentifier", "gprscdr.accessLineIdentifier_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_gprscdr_fixedUserLocationInformation,
{ "fixedUserLocationInformation", "gprscdr.fixedUserLocationInformation_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_gprscdr_iPEdgeAddress,
{ "iPEdgeAddress", "gprscdr.iPEdgeAddress",
FT_UINT32, BASE_DEC, VALS(gprscdr_IPAddress_vals), 0,
"GSNAddress", HFILL }},
{ &hf_gprscdr_iPCANsessionType,
{ "iPCANsessionType", "gprscdr.iPCANsessionType",
FT_BYTES, BASE_NONE, NULL, 0,
"PDPType", HFILL }},
{ &hf_gprscdr_servedIPCANsessionAddress,
{ "servedIPCANsessionAddress", "gprscdr.servedIPCANsessionAddress",
FT_UINT32, BASE_DEC, VALS(gprscdr_PDPAddress_vals), 0,
"PDPAddress", HFILL }},
{ &hf_gprscdr_iPEdgeOperatorIdentifier,
{ "iPEdgeOperatorIdentifier", "gprscdr.iPEdgeOperatorIdentifier",
FT_BYTES, BASE_NONE, NULL, 0,
"PLMN_Id", HFILL }},
{ &hf_gprscdr_servedIPCANsessionAddressExt,
{ "servedIPCANsessionAddressExt", "gprscdr.servedIPCANsessionAddressExt",
FT_UINT32, BASE_DEC, VALS(gprscdr_PDPAddress_vals), 0,
"PDPAddress", HFILL }},
{ &hf_gprscdr_iPEdgeiPv6AddressUsed,
{ "iPEdgeiPv6AddressUsed", "gprscdr.iPEdgeiPv6AddressUsed",
FT_UINT32, BASE_DEC, VALS(gprscdr_IPAddress_vals), 0,
"GSNAddress", HFILL }},
{ &hf_gprscdr_ePDGAddressUsed,
{ "ePDGAddressUsed", "gprscdr.ePDGAddressUsed",
FT_UINT32, BASE_DEC, VALS(gprscdr_IPAddress_vals), 0,
"GSNAddress", HFILL }},
{ &hf_gprscdr_ePDGiPv6AddressUsed,
{ "ePDGiPv6AddressUsed", "gprscdr.ePDGiPv6AddressUsed",
FT_UINT32, BASE_DEC, VALS(gprscdr_IPAddress_vals), 0,
"GSNAddress", HFILL }},
{ &hf_gprscdr_changeLocation,
{ "changeLocation", "gprscdr.changeLocation",
FT_UINT32, BASE_DEC, NULL, 0,
@ -3514,6 +3938,14 @@ proto_register_gprscdr(void)
{ "originatingAddress", "gprscdr.originatingAddress",
FT_BYTES, BASE_NONE, NULL, 0,
"AddressString", HFILL }},
{ &hf_gprscdr_physicalAccessID,
{ "physicalAccessID", "gprscdr.physicalAccessID",
FT_STRING, BASE_NONE, NULL, 0,
"UTF8String", HFILL }},
{ &hf_gprscdr_logicalAccessID,
{ "logicalAccessID", "gprscdr.logicalAccessID",
FT_BYTES, BASE_NONE, NULL, 0,
"OCTET_STRING", HFILL }},
{ &hf_gprscdr_aFChargingIdentifier,
{ "aFChargingIdentifier", "gprscdr.aFChargingIdentifier",
FT_BYTES, BASE_NONE, NULL, 0,
@ -3582,9 +4014,9 @@ proto_register_gprscdr(void)
{ "changeCondition", "gprscdr.changeCondition",
FT_UINT32, BASE_DEC, VALS(gprscdr_ChangeCondition_vals), 0,
NULL, HFILL }},
{ &hf_gprscdr_ePCQoSInformation,
{ "ePCQoSInformation", "gprscdr.ePCQoSInformation_element",
FT_NONE, BASE_NONE, NULL, 0,
{ &hf_gprscdr_presenceReportingAreaStatus,
{ "presenceReportingAreaStatus", "gprscdr.presenceReportingAreaStatus",
FT_UINT32, BASE_DEC, VALS(gprscdr_PresenceReportingAreaStatus_vals), 0,
NULL, HFILL }},
{ &hf_gprscdr_serviceConditionChange_01,
{ "serviceConditionChange", "gprscdr.serviceConditionChange",
@ -3626,6 +4058,10 @@ proto_register_gprscdr(void)
{ "applicationServiceProviderIdentity", "gprscdr.applicationServiceProviderIdentity",
FT_BYTES, BASE_NONE, NULL, 0,
"OCTET_STRING", HFILL }},
{ &hf_gprscdr_aDCRuleBaseName,
{ "aDCRuleBaseName", "gprscdr.aDCRuleBaseName",
FT_STRING, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_gprscdr_routingAreaCode,
{ "routingAreaCode", "gprscdr.routingAreaCode",
FT_BYTES, BASE_NONE, NULL, 0,
@ -3682,6 +4118,14 @@ proto_register_gprscdr(void)
{ "TimeStamp", "gprscdr.TimeStamp",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_gprscdr_sSID,
{ "sSID", "gprscdr.sSID",
FT_BYTES, BASE_NONE, NULL, 0,
"OCTET_STRING", HFILL }},
{ &hf_gprscdr_bSSID,
{ "bSSID", "gprscdr.bSSID",
FT_BYTES, BASE_NONE, NULL, 0,
"OCTET_STRING", HFILL }},
{ &hf_gprscdr_mediaComponentNumber,
{ "mediaComponentNumber", "gprscdr.mediaComponentNumber",
FT_INT32, BASE_DEC, NULL, 0,
@ -3698,6 +4142,10 @@ proto_register_gprscdr(void)
{ "iPAddress", "gprscdr.iPAddress",
FT_UINT32, BASE_DEC, VALS(gprscdr_IPAddress_vals), 0,
NULL, HFILL }},
{ &hf_gprscdr_presenceReportingAreaIdentifier,
{ "presenceReportingAreaIdentifier", "gprscdr.presenceReportingAreaIdentifier",
FT_BYTES, BASE_NONE, NULL, 0,
"OCTET_STRING", HFILL }},
{ &hf_gprscdr_pSFreeFormatData,
{ "pSFreeFormatData", "gprscdr.pSFreeFormatData",
FT_BYTES, BASE_NONE, NULL, 0,
@ -3714,14 +4162,6 @@ proto_register_gprscdr(void)
{ "baseTimeInterval", "gprscdr.baseTimeInterval",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER", HFILL }},
{ &hf_gprscdr_sSID,
{ "sSID", "gprscdr.sSID",
FT_BYTES, BASE_NONE, NULL, 0,
"OCTET_STRING", HFILL }},
{ &hf_gprscdr_bSSID,
{ "bSSID", "gprscdr.bSSID",
FT_BYTES, BASE_NONE, NULL, 0,
"OCTET_STRING", HFILL }},
{ &hf_gprscdr_cSGId,
{ "cSGId", "gprscdr.cSGId",
FT_BYTES, BASE_NONE, NULL, 0,
@ -3998,11 +4438,15 @@ proto_register_gprscdr(void)
&ett_gprscdr_SEQUENCE_OF_ServingNodeType,
&ett_gprscdr_PGWRecord,
&ett_gprscdr_SEQUENCE_OF_ChangeOfServiceCondition,
&ett_gprscdr_TDFRecord,
&ett_gprscdr_IPERecord,
&ett_gprscdr_EPDGRecord,
&ett_gprscdr_SGSNMMRecord,
&ett_gprscdr_SEQUENCE_OF_ChangeLocation,
&ett_gprscdr_SGSNPDPRecord,
&ett_gprscdr_SGSNSMORecord,
&ett_gprscdr_SGSNSMTRecord,
&ett_gprscdr_AccessLineIdentifier,
&ett_gprscdr_AFRecordInformation,
&ett_gprscdr_CAMELInformationMM,
&ett_gprscdr_CAMELInformationPDP,
@ -4015,9 +4459,11 @@ proto_register_gprscdr(void)
&ett_gprscdr_EPCQoSInformation,
&ett_gprscdr_EventBasedChargingInformation,
&ett_gprscdr_SEQUENCE_OF_TimeStamp,
&ett_gprscdr_FixedUserLocationInformation,
&ett_gprscdr_Flows,
&ett_gprscdr_T_flowNumber,
&ett_gprscdr_PDPAddress,
&ett_gprscdr_PresenceReportingAreaInfo,
&ett_gprscdr_PSFurnishChargingInformation,
&ett_gprscdr_ServiceConditionChange,
&ett_gprscdr_TimeQuotaMechanism,

View File

@ -1,7 +1,7 @@
/* Do not modify this file. Changes will be overwritten. */
/* Generated automatically by the ASN.1 to Wireshark dissector compiler */
/* packet-gprscdr.h */
/* ../../tools/asn2wrs.py -b -p gprscdr -c ./gprscdr.cnf -s ./packet-gprscdr-template -D . -O ../../epan/dissectors GenericChargingDataTypesV1171.asn GPRSChargingDataTypesV641.asn GPRSChargingDataTypesV1171.asn */
/* ../../tools/asn2wrs.py -b -p gprscdr -c ./gprscdr.cnf -s ./packet-gprscdr-template -D . -O ../../epan/dissectors GenericChargingDataTypesV1250.asn GPRSChargingDataTypesV641.asn GPRSChargingDataTypesV1250.asn */
/* Input file: packet-gprscdr-template.h */

View File

@ -7737,7 +7737,7 @@ decode_gtp_data_req(tvbuff_t * tvb, int offset, packet_info * pinfo, proto_tree
if(format==1) {
if(rel_id == 6){
dissect_gprscdr_GPRSCallEventRecord_PDU(next_tvb, pinfo, cdr_dr_tree, NULL);
}else if((rel_id == 8)||(rel_id == 9)){
}else if(rel_id >6){
dissect_gprscdr_GPRSRecord_PDU(next_tvb, pinfo, cdr_dr_tree, NULL);
}
} else {