5.2.1 Generic ASN.1 definitions

32.2983GPPCharging Data Record (CDR) parameter descriptionCharging managementRelease 18Telecommunication managementTS

This subclause contains generic CDR syntax definitions, where the term "generic" implies that these constructs are applicable for more than one domain/service/subsystem. Examples of this are syntax definitions that are imported from non-charging 3GPP TSs, e.g. TS 29.002 [214].

.$GenericChargingDataTypes {itu-t (0) identified-organization (4) etsi(0) mobileDomain (0) charging (5) genericChargingDataTypes (0) asn1Module (0) version2 (1)}

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) version18 (18) }

— 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) version18 (18)}

— from TS 29.002 [214]

ObjectInstance

FROM CMIP-1 {joint-iso-itu-t ms (9) cmip (1) modules (0) protocol (3)}

— from Rec. X.711 [304]

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) };

— Note that the syntax of AE-title to be used is from

— ITU-T Rec. X.227[306) / ISO 8650 corrigendum and not "ANY"

— Generic Data Types

— B

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.

— C

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

CallingNumber ::= BCDDirectoryNumber

CellId ::= OCTET STRING (SIZE(2))

— Coded according to TS 24.008 [208]

ChargeIndicator ::= INTEGER

{

noCharge (0),

charge (1)

}

CauseForRecClosing ::= INTEGER

— Cause codes 0 to 15 are defined ‘CauseForTerm’ (cause for termination)

— There is no direct correlation between these two types.

— LCS related causes belong to the MAP error causes acc. TS 29.002 [214]

— In PGW-CDR and SGW-CDR the value servingNodeChange is used for partial record

— generation due to Serving Node Address list Overflow

— In SGSN servingNodeChange indicates the SGSN change

— sWGChange value is used in both the S-GW, TWAG and ePDG for inter serving node change

{

normalRelease (0),

partialRecord (1),

abnormalRelease (4),

cAMELInitCallRelease (5),

volumeLimit (16),

timeLimit (17),

servingNodeChange (18),

maxChangeCond (19),

managementIntervention (20),

intraSGSNIntersystemChange (21),

rATChange (22),

mSTimeZoneChange (23),

sGSNPLMNIDChange (24),

sGWChange (25),

aPNAMBRChange (26),

mOExceptionDataCounterReceipt (27),

unauthorizedRequestingNetwork (52),

unauthorizedLCSClient (53),

positionMethodFailure (54),

unknownOrUnreachableLCSClient (58),

listofDownstreamNodeChange (59)

}

CauseForTerm ::= INTEGER

— Cause codes from 16 up to 31 are defined as ‘CauseForRecClosing’

— (cause for record closing).

— There is no direct correlation between these two types.

— LCS related causes belong to the MAP error causes acc. TS 29.002 [214].

{

normalRelease (0),

partialRecord (1),

partialRecordCallReestablishment (2),

unsuccessfulCallAttempt (3),

abnormalRelease (4),

cAMELInitCallRelease (5),

unauthorizedRequestingNetwork (52),

unauthorizedLCSClient (53),

positionMethodFailure (54),

unknownOrUnreachableLCSClient (58)

}

ChargingID ::= INTEGER (0..4294967295)

— Generated in P-GW, part of IP-CAN bearer

— 0..4294967295 is equivalent to 0..2**32-1

CivicAddressInformation ::= OCTET STRING

— as defined in subclause 3.1 of IETF RFC 4776 [409] excluding the first 3 octets.

CNIPMulticastDistribution ::= ENUMERATED

{

nO-IP-MULTICAST (0),

iP-MULTICAST (1)

}

— D

DataVolumeOctets ::= INTEGER

— The volume of data transferred in octets.

DynamicAddressFlag ::= BOOLEAN

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

— May be used for CHF generated diagnostics

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], TS 29.128 [244]

— May be used for Nchf received diagnostics

}

DiameterIdentity ::= OCTET STRING

— E

Ecgi ::= SEQUENCE

{

plmnId [0] PLMN-Id,

eutraCellId [1] EutraCellId,

nid [2] Nid OPTIONAL

}

EnhancedDiagnostics ::= SEQUENCE

{

rANNASCause [0] SEQUENCE OF RANNASCause

}

EutraCellId ::= UTF8String

— See 3GPP TS 29.571 [249] for details

— G

GSNAddress ::= IPAddress

— I

InvolvedParty ::= CHOICE

{

sIP-URI [0] GraphicString, — refer to rfc3261 [401]

tEL-URI [1] GraphicString, — refer to rfc3966 [402]

uRN [2] GraphicString, — refer to rfc5031 [407]

iSDN-E164 [3] GraphicString, — refer to ITU-T Recommendation E.164[308]

externalId [4] UTF8String — refer to clause 19.7.2 TS 23.003 [200]

}

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

{ —

— IPv4 address are formatted in the "dotted decimal" notation according to IETF RFC 1166 [411].

— IPv6 address are formatted according to clause 4 of IETF RFC 5952 [412]. The mixed IPv4 IPv6

— notation according to clause 5 of IETF RFC 5952 [412] is not used.

— IPv6 address prefix are formatted in the "/" notation and according to clause 4 of

— IETF RFC 5952 [412].

iPTextV4Address [2] IA5String (SIZE(7..15)),

iPTextV6Address [3] IA5String (SIZE(15..45))

}

— L

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]

— M

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,

mBMSDataTransferStart [12] MBMSTime OPTIONAL,

mBMSDataTransferStop [13] MBMSTime 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]

MBMSTime ::= OCTET STRING (SIZE (8))

— This value indicates the time in seconds relative to 00:00:00 on 1 January 1900 (calculated as

— continuous time without leap seconds and traceable to a common time reference) where binary

— encoding of the integer part is in the first 32 bits and binary encoding of the fraction part in

— the last 32 bits. The fraction part is expressed with a granularity of 1 /2**32 second as

— specified in TS 29.061 [82].

MBMSUserServiceType ::= ENUMERATED

{

dOWNLOAD (0),

sTREAMING (1)

}

MCC-MNC ::= OCTET STRING (SIZE(3))

— See TS 24.008 [208]

MessageClass ::= ENUMERATED

{

personal (0),

advertisement (1),

information-service (2),

auto (3)

}

MessageReference ::= OCTET STRING

— The default value shall be one octet set to 0

MSCAddress ::= AddressString

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]

— N

Ncgi ::= SEQUENCE

{

plmnId [0] PLMN-Id,

nrCellId [1] NrCellId,

nid [2] Nid OPTIONAL

}

Nid ::= UTF8String–

— See 3GPP TS 29.571 [249] for details.

NodeID ::= IA5String (SIZE(1..20))

NodeAddress ::= CHOICE

{

iPAddress [0] IPAddress,

domainName [1] GraphicString

}

NrCellId ::= UTF8String

— See 3GPP TS 29.571 [249] for details.

— P

PDPAddressPrefixLength ::=INTEGER (1..64)

— This is an integer indicating the length of the PDP/PDN IPv6 address prefix

— and the default value is 64 bits.

PDPAddress ::= CHOICE

{

iPAddress [0] IPAddress

— eTSIAddress [1] ETSIAddress

— has only been used in earlier releases for X.121 format

}

PLMN-Id ::= OCTET STRING (SIZE (3))

— This is in the same format as octets 2, 3 and 4 of the Routing Area Identity (RAI) IE specified

— in TS 29.060 [215]

PositioningData ::= OCTET STRING (SIZE(1..33))

— See Positioning Data IE (octet 3..n), TS 49.031 [227]

PriorityType ::= ENUMERATED

{

low (0),

normal (1),

high (2)

}

PSCellInformation ::= SEQUENCE

{

nRcgi [0] Ncgi OPTIONAL,

ecgi [1] Ecgi OPTIONAL

}

— R

RANNASCause ::= OCTET STRING

— This octet string is a 1:1 copy of the contents (i.e. starting with octet 5)

— of the "RAN/NAS Cause" information element specified in TS 29.274 [223].

RATType ::= INTEGER (0..255)

–This integer is 1:1 copy of the RAT type value as defined in TS 29.061 [215].

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, 97 are EPC specific.

— The contents are defined in TS 32.251 [11]

sGWRecord (84),

pGWRecord (85),

tDFRecord (92),

iPERecord (95),

ePDGRecord (96),

tWAGRecord (97),

— 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),

— Record values 100, 101 and 102 are ProSe specific. The contents are defined in TS 32.277 [36]

pFDDRecord (100),

pFEDRecord (101),

pFDCRecord (102),

— Record values103 and 104 are Monitoring Event specific. The contents are defined in TS

— 32.278 [38]

mECORecord (103),

mERERecord (104),

— Record values 105 to 106 are CP data transfer specific. The contents are defined in TS

— 32.253 [13]

cPDTSCERecord (105),

cPDTSNNRecord (106), —

— Record values 110 to 113 are SMS specific. The contents are defined in TS

— 32.274 [34]

sCDVTT4Record (110),

sCSMOT4Record (111),

iSMSMORecord (112),

iSMSMTRecord (113),

— Record values 120 are Exposure Function API specific. The contents are defined in TS

— 32.254 [14]

eASCERecord (120),

— Record values from 200 are specific to Charging Function domain

chargingFunctionRecord (200)

}

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]

— S

SCSASAddress ::= SET

{

sCSAddress [1] IPAddress,

sCSRealm [2] DiameterIdentity

}

Session-Id ::= GraphicString

— rfc3261 [401]: example for SIP CALL-ID: f81d4fae-7dec-11d0-a765-00a0c91e6bf6@foo.bar.com

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

— If SubscriberEquipmentType is set to IMEISV and IMEI is received, the number of digits is 15.

{

subscriberEquipmentNumberType [0] SubscriberEquipmentType,

subscriberEquipmentNumberData [1] OCTET STRING

}

SubscriberEquipmentType ::= ENUMERATED

— It should be noted that depending on the services, not all equipment types are applicable.

— For IMS equipment types 0 and 3 are applicable.

— In 5GS, for PEI defined as:

— – IMEI or IMEISV, iMEISV type is used and the data is per TS 23.003 [200] format.

— – MAC address, mAC type is used, and the data is converted from JSON format of the PEI

— described in TS 29.571 [249].

— – EUI-64, uEI64 type is used, and the data is converted from JSON format of the PEI

— described in TS 29.571 [249].

{

iMEISV (0),

mAC (1),

eUI64 (2),

modifiedEUI64 (3)

}

SubscriptionID ::= SET

— See TS 23.003 [200] and TS 29.571 [249]

{

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)

— eND-USER-NAI can be used for externalIdentifier.

— eND-USER-IMSI can be used for 5G BRG or 5G CRG.

— eND-USER-NAI can be used for GLI or GCI for wireline access network scenarios

— NAI format for GCI and GLI is specified in 28.15.5 and 28.15.6 of TS 23.003 [200].

}

SystemType ::= ENUMERATED

— "unknown" is not to be used in PS domain.

{

unknown (0),

iuUTRAN (1),

gERAN (2)

}

— T

ThreeGPPPSDataOffStatus ::= ENUMERATED

{

active (0),

inactive (1)

}

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].

.#END