diff options
author | etxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7> | 2011-02-02 17:00:19 +0000 |
---|---|---|
committer | etxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7> | 2011-02-02 17:00:19 +0000 |
commit | 7f8bb4e20b434a53c30dc5e11b818853a41d21ab (patch) | |
tree | f82db994adaa0c5882bd102db4b8e8ee03ec2d9a /asn1 | |
parent | ab0ec5600db6b555a401dee739107887b704345c (diff) |
Routines to dissect GPRS CDR's tranported in GTP'
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@35756 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'asn1')
-rw-r--r-- | asn1/gprscdr/3GPPGenericChargingDataTypes.asn | 432 | ||||
-rw-r--r-- | asn1/gprscdr/GenericChargingDataTypes.asn | 455 | ||||
-rw-r--r-- | asn1/gprscdr/Makefile.am | 26 | ||||
-rw-r--r-- | asn1/gprscdr/Makefile.common | 56 | ||||
-rw-r--r-- | asn1/gprscdr/Makefile.nmake | 29 | ||||
-rw-r--r-- | asn1/gprscdr/gprscdr.cnf | 32 | ||||
-rw-r--r-- | asn1/gprscdr/packet-gprscdr-template.c | 78 | ||||
-rw-r--r-- | asn1/gprscdr/packet-gprscdr-template.h | 34 |
8 files changed, 1142 insertions, 0 deletions
diff --git a/asn1/gprscdr/3GPPGenericChargingDataTypes.asn b/asn1/gprscdr/3GPPGenericChargingDataTypes.asn new file mode 100644 index 0000000000..a58cd54f94 --- /dev/null +++ b/asn1/gprscdr/3GPPGenericChargingDataTypes.asn @@ -0,0 +1,432 @@ +-- $Id$ +-- 3GPP TS 32.298 V6.1.0 (2005-09) +TGPPGenericChargingDataTypes {itu-t identified-organization (4) etsi(0) mobileDomain (0) gsmUmtsNetwork (5) charging (0) asn1Module (0) genericChargingDataTypes (0) version1 (1)} +-- Editor’s Note: what is the correct structure of the OID? + + +DEFINITIONS IMPLICIT TAGS ::= + +BEGIN + +-- EXPORTS everything + +IMPORTS + +CallReferenceNumber, NumberOfForwarding +FROM MAP-CH-DataTypes { itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3) map-CH-DataTypes (13) version6 (6) } + +-- from TS 29.002 [60] + +AddressString, BasicServiceCode, IMSI, IMEI, ISDN-AddressString, LCSClientExternalID, LCSClientInternalID +FROM MAP-CommonDataTypes { itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3) map-CommonDataTypes (18) version6 (6) } + +-- from TS 29.002 [60] + +DestinationRoutingAddress +FROM CAP-DataTypes { itu-t identified-organization (4) etsi (0) mobileDomain (0) +gsm-Network (1) modules (3) cap-datatypes (52) version1 (0) } + +DefaultCallHandling, DefaultSMS-Handling, NotificationToMSUser, ServiceKey +FROM MAP-MS-DataTypes { itu-t identified-organization (4) etsi (0) mobileDomain (0) +gsm-Network (1) modules (3) map-MS-DataTypes (11) version6 (6) } + +-- from TS 29.002 [60] + +MOLR-Type +FROM SS-DataTypes { itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Access (2) modules (3) ss-DataTypes (2) version7 (7)} + +-- from TS 24.080 [61] (editor’s note: correct reference?) + +BearerServiceCode +FROM MAP-BS-Code { itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3) map-BS-Code (20) version6 (6) } + +-- from TS 29.002 [60] + +-- Editor’s note: clarify if this should be moved to the CS module + +TeleserviceCode +FROM MAP-TS-Code { itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3) map-TS-Code (19) version2 (2) } + +-- from TS 29.002 [60] + +-- Editor’s note: clarify if this should be moved to the CS module + +SS-Code +FROM MAP-SS-Code { itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3) map-SS-Code (15) version6 (6) } + +-- from TS 29.002 [60] + +-- Editor’s note: clarify if this should be moved to the CS module + +Ext-GeographicalInformation, LCSClientType, LCS-Priority, LocationType +FROM MAP-LCS-DataTypes { itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3) map-LCS-DataTypes (25) version7 (7)} + +-- from TS 29.002 [60] + +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) version7 (7)} + +-- from TS 29.002 [60] + +-- Editor’s note: “UnauthorizedLCSClient-Diagnostic” was missing in 32.205 + +BasicService +FROM Basic-Service-Elements { itu-t identified-organization (4) etsi (0) +196 basic-service-elements (8) } +-- +-- from "Digital Subscriber Signalling System No. one (DSS1) protocol" +-- ETS 300 196 [62] +-- + +ObjectInstance +FROM CMIP-1 {joint-iso-itu-t ms (9) cmip (1) version1 (1) protocol (3)} + +-- from ITU-T Rec. X.2ab [105] Editor’s note: clarify if this definition is still needed. It appears that it ends in Nirwana. + +-- WS localy defined +--ManagementExtension +--FROM Attribute-ASN1Module {joint-iso-itu-t ms (9) smi (3) part2 (2) asn1Module (2) 1} + +-- from ITU-T Rec. X.721 [106] Editor’s note: clarify if this definition is still needed. +AE-title +FROM ACSE-1 {joint-iso-itu-t association-control (2) abstract-syntax (1) apdus (0) version (1) }; +-- +-- From ITU-T Rec. X.2cd [107]. Note that the syntax of AE-title to be used is from +-- ITU-T Rec. X.227 / ISO 8650 corrigendum and not "ANY" Editor’s note: clarify if this definition is still needed. It appears that it ends in Nirwana. +-- ; +------------------------------------------------------------------------------ +-- +-- 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. + -- 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. + -- + +-- Editor’s note: the explanation above should be removed as proper definitions are required in the individual CDR parameter descriptions in [10] – [31] + +CalledNumber ::= BCDDirectoryNumber + +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) +} + +CallingNumber ::= BCDDirectoryNumber + +CallReference ::= INTEGER + +CellId ::= OCTET STRING (SIZE(2)) + -- + -- Coded according to TS 24.008 + -- + +ChargeIndicator ::= INTEGER +{ + noCharge (0), + charge (1) +} + +Diagnostics ::= CHOICE +{ + gsm0408Cause [0] INTEGER, + -- See TS 24.008 + 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. + itu-tQ767Cause [2] INTEGER, + -- See ITU-T Q.767 + 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 + unauthorizedLCSClientCause [6] UnauthorizedLCSClient-Diagnostic + -- see TS 29.002 +} + +IPAddress ::= CHOICE +{ + iPBinaryAddress IPBinaryAddress, + iPTextRepresentedAddress IPTextRepresentedAddress +} + +IPBinaryAddress ::= CHOICE +{ + iPBinV4Address [0] OCTET STRING (SIZE(4)), + iPBinV6Address [1] OCTET STRING (SIZE(16)) +} + +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, 3GPP TS 49.031 + -- + +LCSClientIdentity ::= SEQUENCE +{ + lcsClientExternalID [0] LCSClientExternalID OPTIONAL, + lcsClientDialedByMS [1] AddressString OPTIONAL, + lcsClientInternalID [2] LCSClientInternalID OPTIONAL +} + +LCSQoSInfo ::= OCTET STRING (SIZE(4)) + -- + -- See LCS QoS IE, 3GPP TS 49.031 + -- + +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 +} + +LocationAreaCode ::= OCTET STRING (SIZE(2)) + -- + -- See TS 24.008 + -- + +ManagementExtensions ::= SET OF ManagementExtension + +MessageReference ::= OCTET STRING + +MscNo ::= ISDN-AddressString + -- + -- See TS 23.003 + -- + +MSISDN ::= ISDN-AddressString + -- + -- See TS 23.003 + -- + +MSTimeZone ::= OCTET STRING (SIZE (2)) + -- + -- 1.Octet: Time Zone and 2. Octet: Daylight saving time, see TS 29.060 [75] + -- +PositioningData ::= OCTET STRING (SIZE(1..33)) + -- + -- See Positioning Data IE (octet 3..n), 3GPP TS 49.031 + -- + +RecordingEntity ::= AddressString + +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. + -- This encoding includes type of number and numbering plan indication + -- together with the address value range. + -- + +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 + -- + +-- Local WS modification Import ManagementExtension here +-- as2wrs fault fix: +DMI-EXTENSION::= CLASS {&id OBJECT IDENTIFIER UNIQUE, + &Value +}WITH SYNTAX {TYPE &Value + ID &id +} + +ManagementExtension ::= SEQUENCE { + identifier DMI-EXTENSION.&id({ManagementExtensionSet}), + significance [1] BOOLEAN DEFAULT FALSE, + information + [2] DMI-EXTENSION.&Value({ManagementExtensionSet}{@.identifier}) +} + +ManagementExtensionSet DMI-EXTENSION ::= + {...} + + +END diff --git a/asn1/gprscdr/GenericChargingDataTypes.asn b/asn1/gprscdr/GenericChargingDataTypes.asn new file mode 100644 index 0000000000..20339c369a --- /dev/null +++ b/asn1/gprscdr/GenericChargingDataTypes.asn @@ -0,0 +1,455 @@ +-- $Id$ +-- 3GPP TS 32.298 V9.6.0 (2010-12) +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 + +CallReferenceNumber, NumberOfForwarding +FROM MAP-CH-DataTypes { itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3) map-CH-DataTypes (13) version6 (6) } +-- from TS 29.002 [214] + +AddressString, BasicServiceCode, IMSI, IMEI, ISDN-AddressString, LCSClientExternalID, LCSClientInternalID +FROM MAP-CommonDataTypes { itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3) map-CommonDataTypes (18) version6 (6) } +-- from TS 29.002 [214] + +DestinationRoutingAddress +FROM CAP-DataTypes { itu-t identified-organization (4) etsi (0) mobileDomain (0) +gsm-Network (1) modules (3) cap-datatypes (52) version1 (0) } +-- from TS 29.078 [217] + +DefaultCallHandling, DefaultSMS-Handling, NotificationToMSUser, ServiceKey +FROM MAP-MS-DataTypes { itu-t identified-organization (4) etsi (0) mobileDomain (0) +gsm-Network (1) modules (3) map-MS-DataTypes (11) version6 (6) } +-- from TS 29.002 [214] + +Ext-GeographicalInformation, LCSClientType, LCS-Priority, LocationType +FROM MAP-LCS-DataTypes { itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3) map-LCS-DataTypes (25) version7 (7)} +-- 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) version7 (7)} +-- +-- from TS 29.002 [214] +-- + +BasicService +FROM Basic-Service-Elements { itu-t identified-organization (4) etsi (0) +196 basic-service-elements (8) } +-- +-- from "Digital Subscriber Signalling System No. one (DSS1) protocol" ETS 300 196 [310] +-- + +ObjectInstance +FROM CMIP-1 {joint-iso-itu-t ms (9) cmip (1) version1 (1) protocol (3)} +-- +-- from Rec. X.2ab[304] Editor’s note: clarify if this definition is still needed. It appears that it ends in Nirvana. + +-- WS imports localy +--ManagementExtension +--FROM Attribute-ASN1Module {joint-iso-itu-t ms (9) smi (3) part2 (2) asn1Module (2) 1} +-- +-- from Rec. X.721 [305] Editor’s note: clarify if this definition is still needed. +-- + +AE-title +FROM ACSE-1 {joint-iso-itu-t association-control (2) abstract-syntax (1) apdus (0) version (1) }; +-- +-- From Rec. X.2cd[306]. Note that the syntax of AE-title to be used is from +-- ITU-T Rec. X.227 / ISO 8650 corrigendum and not "ANY" +-- Editor’s note: clarify if this definition is still needed. It appears that it ends in Nirvana. +-- ; +------------------------------------------------------------------------------ +-- +-- 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. +-- + +-- Editor’s note: the explanation above should be removed as proper definitions are required in the individual CDR parameter descriptions in TS 32.250[10] – TS 32.275 [35] + +CalledNumber ::= BCDDirectoryNumber + +RecordType ::= 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), + 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 30..62 are MMS specific. +-- The contents are defined in TS 32.270 [30] +-- + mMO1SRecord (30), + mMO4FRqRecord (31), + mMO4FRsRecord (32), + mMO4DRecord (33), + mMO1DRecord (34), + mMO4RRecord (35), + mMO1RRecord (36), + mMOMDRecord (37), + mMR4FRecord (38), + mMR1NRqRecord (39), + mMR1NRsRecord (40), + mMR1RtRecord (41), + mMR1AFRecord (42), + mMR4DRqRecord (43), + mMR4DRsRecord (44), + mMR1RRRecord (45), + mMR4RRqRecord (46), + mMR4RRsRecord (47), + mMRMDRecord (48), + mMFRecord (49), + mMBx1SRecord (50), + mMBx1VRecord (51), + mMBx1URecord (52), + mMBx1DRecord (53), + mM7SRecord (54), + mM7DRqRecord (55), + mM7DRsRecord (56), + mM7CRecord (57), + mM7RRecord (58), + mM7DRRqRecord (59), + mM7DRRsRecord (60), + mM7RRqRecord (61), + mM7RRsRecord (62), +-- +-- Record values 63..69, 70, 82 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), +-- +-- Record values 71..75 are LCS specific. +-- The contents are defined in TS 32.271 [31] +-- + lCSGMORecord (71), + lCSRGMTRecord (72), + lCSHGMTRecord (73), + lCSVGMTRecord (74), + lCSGNIRecord (75), +-- +-- Record values 76..79,86 are MBMS specific. +-- The contents are defined in TS 32.251 [11] +-- Record values 76,77 and 86 are MBMS bearer context specific +-- + sgsnMBMSRecord (76), + ggsnMBMSRecord (77), + gwMBMSRecord (86), + +-- +-- And TS 32.273 [33] +-- Record values 78 and 79 are MBMS service specific +-- and defined in TS 32.273 [33] +-- + sUBBMSCRecord (78), + cONTENTBMSCRecord (79), +-- +-- Record Values 80..81 are PoC specific. +-- The contents are defined in TS 32.272 [32] +-- + pPFRecord (80), + cPFRecord (81), + +-- Record values 84..85 are EPC specific. +-- The contents are defined in TS 32.251 [11] +-- + sGWRecord (84), + pGWRecord (85), +-- +-- Record Value 83 is MMTel specific. +-- The contents are defined in TS 32.275 [35] +-- + mMTelRecord (83) +} + +CallingNumber ::= BCDDirectoryNumber + +CallReference ::= INTEGER + +CellId ::= OCTET STRING (SIZE(2)) +-- +-- Coded according to TS 24.008 [208] +-- + +ChargeIndicator ::= INTEGER +{ + noCharge (0), + charge (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] +} + +IPAddress ::= CHOICE +{ + iPBinaryAddress IPBinaryAddress, + iPTextRepresentedAddress IPTextRepresentedAddress +} + +IPBinaryAddress ::= CHOICE +{ + iPBinV4Address [0] OCTET STRING (SIZE(4)), + iPBinV6Address [1] OCTET STRING (SIZE(16)) +} + +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] +-- + +MCC-MNC ::= OCTET STRING (SIZE(3)) +-- +-- See TS 24.008 [208] +-- + +ManagementExtensions ::= SET OF ManagementExtension + +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 +} + +PositioningData ::= OCTET STRING (SIZE(1..33)) +-- +-- See Positioning Data IE (octet 3..n), TS 49.031 [227] +-- + +RecordingEntity ::= AddressString + +ServiceContextID ::= UTF8String + +ServiceSpecificInfo ::= SEQUENCE +{ + serviceSpecificData [0] GraphicString OPTIONAL, + serviceSpecificType [1] INTEGER OPTIONAL +} + +SMSResult ::= Diagnostics + +SmsTpDestinationNumber ::= OCTET STRING +-- +-- This type contains the binary coded decimal representation of +-- the SMS address field the encoding of the octet string is in +-- accordance with the definition of address fields in TS 23.040 [201]. +-- This encoding includes type of number and numbering plan indication +-- together with the address value range. +-- + +SubscriptionID ::= SET +{ + subscriptionIDType [0] SubscriptionIDType, + subscriptionIDData [1] UTF8String +} + +SubscriptionIDType ::= ENUMERATED +{ + eND-USER-E164 (0), + eND-USER-IMSI (1), + eND-USER-SIP-URI (2), + eND-USER-NAI (3), + eND-USER-PRIVATE (4) +} + +SystemType ::= ENUMERATED +{ -- + -- "unknown" is not to be used in PS domain. + -- + unknown (0), + iuUTRAN (1), + gERAN (2) +} + +TimeStamp ::= OCTET STRING (SIZE(9)) +-- +-- The contents of this field are a compact form of the UTCTime format +-- containing local time plus an offset to universal time. Binary coded +-- decimal encoding is employed for the digits to reduce the storage and +-- transmission overhead +-- e.g. YYMMDDhhmmssShhmm +-- where +-- YY = Year 00 to 99 BCD encoded +-- MM = Month 01 to 12 BCD encoded +-- DD = Day 01 to 31 BCD encoded +-- hh = hour 00 to 23 BCD encoded +-- mm = minute 00 to 59 BCD encoded +-- ss = second 00 to 59 BCD encoded +-- S = Sign 0 = "+", "-" ASCII encoded +-- hh = hour 00 to 23 BCD encoded +-- mm = minute 00 to 59 BCD encoded +-- + + +-- Local WS modification Import ManagementExtension here +-- as2wrs fault fix: +DMI-EXTENSION::= CLASS {&id OBJECT IDENTIFIER UNIQUE, + &Value +}WITH SYNTAX {TYPE &Value + ID &id +} + +ManagementExtension ::= SEQUENCE { + identifier DMI-EXTENSION.&id({ManagementExtensionSet}), + significance [1] BOOLEAN DEFAULT FALSE, + information + [2] DMI-EXTENSION.&Value({ManagementExtensionSet}{@.identifier}) +} + +ManagementExtensionSet DMI-EXTENSION ::= + {...} + +END diff --git a/asn1/gprscdr/Makefile.am b/asn1/gprscdr/Makefile.am new file mode 100644 index 0000000000..462af31e88 --- /dev/null +++ b/asn1/gprscdr/Makefile.am @@ -0,0 +1,26 @@ +# $Id$ +# +# +# Wireshark - Network traffic analyzer +# By Gerald Combs <gerald@wireshark.org> +# Copyright 1998 Gerald Combs +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +include ../Makefile.preinc +include Makefile.common +include ../Makefile.inc + diff --git a/asn1/gprscdr/Makefile.common b/asn1/gprscdr/Makefile.common new file mode 100644 index 0000000000..02a2b57ae0 --- /dev/null +++ b/asn1/gprscdr/Makefile.common @@ -0,0 +1,56 @@ +# $Id$ +# +# +# Wireshark - Network traffic analyzer +# By Gerald Combs <gerald@wireshark.org> +# Copyright 1998 Gerald Combs +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +PROTOCOL_NAME=gprscdr + +DISSECTOR_FILES=packet-$(PROTOCOL_NAME).c \ + packet-$(PROTOCOL_NAME).h + +EXPORT_FILES = \ + $(PROTOCOL_NAME)-exp.cnf + +ASN_FILE_LIST = \ + 3GPPGenericChargingDataTypes.asn \ + GPRSChargingDataTypes.asn + +# The packet-$(PROTOCOL_NAME)-template.h and $(PROTOCOL_NAME).asn +# files do not exist for all protocols: Please add/remove as required. +EXTRA_DIST = \ + Makefile.nmake \ + $(ASN_FILE_LIST) \ + packet-$(PROTOCOL_NAME)-template.c \ + packet-$(PROTOCOL_NAME)-template.h \ + $(PROTOCOL_NAME).cnf + +SRC_FILES = \ + $(EXT_ASN_FILE_LIST) \ + $(EXTRA_DIST) + +A2W_FLAGS= -b -e + +EXTRA_CNF=../gsm_map/gsm_map-exp.cnf + +../gsm_map/gsm_map-exp.cnf: + (cd ../gsm_map && $(MAKE_CNF_EXPORT)) + + + diff --git a/asn1/gprscdr/Makefile.nmake b/asn1/gprscdr/Makefile.nmake new file mode 100644 index 0000000000..5a32997c60 --- /dev/null +++ b/asn1/gprscdr/Makefile.nmake @@ -0,0 +1,29 @@ +## Use: $(MAKE) /$(MAKEFLAGS) -f makefile.nmake +# +# $Id$ +# +# +# Wireshark - Network traffic analyzer +# By Gerald Combs <gerald@wireshark.org> +# Copyright 1998 Gerald Combs +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +include ../../config.nmake +include ../Makefile.preinc.nmake +include Makefile.common +include ../Makefile.inc.nmake + diff --git a/asn1/gprscdr/gprscdr.cnf b/asn1/gprscdr/gprscdr.cnf new file mode 100644 index 0000000000..89546a261d --- /dev/null +++ b/asn1/gprscdr/gprscdr.cnf @@ -0,0 +1,32 @@ +# gprscdr.cnf +# Anders Broman 2011 +# $Id$ + +#.IMPORT ../gsm_map/gsm_map-exp.cnf + +#.MODULE + +#.EXPORTS +GPRSCallEventRecord +GPRSCallEventRecord_PDU + +#.CLASS ATTRIBUTE +&id ObjectIdentifierType +&Value + +#.CLASS CONTEXT +&id ObjectIdentifierType +&Value + +#.PDU_NEW +GPRSCallEventRecord + + +#.FN_BODY ManagementExtension/information + + proto_tree_add_text(tree, tvb, offset, -1, "Not dissected"); + +#.TYPE_ATTR +IPBinaryAddress/iPBinV4Address TYPE = FT_IPv4 DISPLAY = BASE_NONE +IPBinaryAddress/iPBinV6Address TYPE = FT_IPv6 DISPLAY = BASE_NONE +#.END diff --git a/asn1/gprscdr/packet-gprscdr-template.c b/asn1/gprscdr/packet-gprscdr-template.c new file mode 100644 index 0000000000..7ddecc5d4d --- /dev/null +++ b/asn1/gprscdr/packet-gprscdr-template.c @@ -0,0 +1,78 @@ +/* packet-gprscdr-template.c + * Copyright 2011 , Anders Broman <anders.broman [AT] ericsson.com> + * + * $Id$ + * + * Wireshark - Network traffic analyzer + * By Gerald Combs <gerald@wireshark.org> + * Copyright 1998 Gerald Combs + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * References: 3GPP TS 32.298 + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include <glib.h> +#include <epan/packet.h> +#include <epan/asn1.h> + +#include "packet-ber.h" +#include "packet-gsm_map.h" +#include "packet-gprscdr.h" + +#define PNAME "GPRS CDR" +#define PSNAME "GPRSCDR" +#define PFNAME "gprscdr" + +/* Define the GPRS CDR proto */ +static int proto_gprscdr = -1; + +#include "packet-gprscdr-hf.c" + +static int ett_gprscdr = -1; +#include "packet-gprscdr-ett.c" + +static dissector_handle_t gprscdr_handle; + +#include "packet-gprscdr-fn.c" + + + +/* Register all the bits needed with the filtering engine */ +void +proto_register_gprscdr(void) +{ + /* List of fields */ + static hf_register_info hf[] = { +#include "packet-gprscdr-hfarr.c" + }; + + /* List of subtrees */ + static gint *ett[] = { + &ett_gprscdr, +#include "packet-gprscdr-ettarr.c" + }; + + proto_gprscdr = proto_register_protocol(PNAME, PSNAME, PFNAME); + + proto_register_field_array(proto_gprscdr, hf, array_length(hf)); + proto_register_subtree_array(ett, array_length(ett)); +} + +/* The registration hand-off routine */ + diff --git a/asn1/gprscdr/packet-gprscdr-template.h b/asn1/gprscdr/packet-gprscdr-template.h new file mode 100644 index 0000000000..946581d1d9 --- /dev/null +++ b/asn1/gprscdr/packet-gprscdr-template.h @@ -0,0 +1,34 @@ +/* packet-gprscdr.h + * Routines for gprscdr packet dissection + * Copyright 2011, Anders Broman <anders.broman@ericsson.com> + * + * $Id$ + * + * Wireshark - Network traffic analyzer + * By Gerald Combs <gerald@wireshark.org> + * Copyright 1998 Gerald Combs + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#ifndef PACKET_GPRSCDR_H +#define PACKET_GPRSCDR_H + + +#include "packet-gprscdr-exp.h" + +#endif /* PACKET_GPRSCDR_H */ + + |