Skip to content
RDMessage.asn 115 KiB
Newer Older
    telephonyFixed(3),
    telephonyWireless(4),
    sMS(5),
    mMS(6)
}

MultimediaPartyRole ::= ENUMERATED
{
    calling(0),
    called(1),
    calledAssertedIdentity(2),
    calledApplicationServer(3),
    originalCalled(4),
    redirecting(5),
    multimediaNetworkIndependent(6),
    directory(7),
    broadcastReceiver(8),
    broadcastSender(9),
    ...,
    originalCalling(10),
    forwarded-to-Party(11),
    connected(12),
    userProvidedCalling(13),
    roaming(14),
    translated(15),
    singlePersonalNumber(16),
    smsOriginator(17),
    smsRecipient(18),
    smsOriginatorTrn(19),
    smsRecipientTrn(20),
    mmsOriginator(21),
    mmsRecipient(22),
    mmsOriginatorTrn(23),
    mmsRecipientTrn(24)
}

MultimediaBearerService ::= ENUMERATED
{
    speech(0),
    data(1),
    fax(2),
    video(3),
    emergencyCall(4),
    ...
}

ImsInformation  ::= SEQUENCE
{
    service             [1] ENUMERATED
    {
        session(1),
        message(2),
        refer(3),
        ...
    } OPTIONAL,
    roleOfNode          [2] ENUMERATED
    {
        originating(1),
        terminating(2),
        proxy(3),
        b2bua(4),
        ...
    } OPTIONAL,
    serviceInfo         [4] SEQUENCE OF ImsServiceInfo OPTIONAL,
    ...
    serviceData     [1] OCTET STRING OPTIONAL,
        -- service data
    serviceType     [2] INTEGER OPTIONAL,
        -- service type
    ...
    time                                [1] GeneralizedTime OPTIONAL,
    mediaName                           [2] UTF8String OPTIONAL,
    mediaDescription                    [3] UTF8String OPTIONAL,
    mediaInitiator                      [4] PartyIdentity OPTIONAL,
    accessCorrelationID                 [5] OCTET STRING OPTIONAL,
    nationalMultimediaMediaComponent    [6] NationalMultimediaMediaComponent OPTIONAL,
    ...
    paniHeaderInfo      [1] PaniHeaderInfo,
    ...
PaniHeaderInfo  ::= SEQUENCE
    accessType          [1] OCTET STRING OPTIONAL,
    -- ASCII string '3GPP-E-UTRAN-TDD', ' IEEE-802.11'... : see ETSI TS 124 229 [xx] clause 7.2A.4
    accessClass         [2] OCTET STRING OPTIONAL,
    -- ASCII string '3GPP-UTRAN', '3GPP-E-UTRAN',... : see ETSI TS 124 229 [xx] clause 7.2A.4
    networkProvided     [3] NULL OPTIONAL,
    paniLocation        [4] Location OPTIONAL,
    -- Cell-ID and location information if available
    paniTime            [5] GeneralizedTime OPTIONAL,
    -- indicates the time when the location was reported at the start of the session,
    -- or during or at the end of the session if the location is retained for the event
    paniHeaderContent   [6] OCTET STRING OPTIONAL
        -- Complete content of the P-Access-Network-Info header field
-- ==============================
-- Definitions of Billing Data
-- ==============================

MultimediaBillingDetails ::= SEQUENCE
{
    subscriberID                        [1] MultimediaSubscriberID OPTIONAL,
    serviceID                           [2] UTF8String OPTIONAL,
    billingAddress                      [3] ContactDetails OPTIONAL,
    billingIdentifier                   [4] MultimediaBillingIdentifier OPTIONAL,
    billingRecords                      [5] SEQUENCE OF MultimediaBillingRecords OPTIONAL,
    nationalMultimediaBillingDetails    [6] NationalMultimediaBillingDetails OPTIONAL,
        -- To be defined on a national basis
        -- Only to be used in case the present document cannot fulfil the national requirements
    ...,
    multimediaBillingAddress            [7] MultimediaBillingAddress OPTIONAL,
    copyOfBill                          [8] SEQUENCE OF File OPTIONAL
MultimediaBillingAddress ::= SEQUENCE
{
    addressSuppliedTime         [1] GeneralizedTime OPTIONAL,
    name                        [2] PersonName OPTIONAL,
    address                     [3] AddressInformation  OPTIONAL,
    ...
}

NationalMultimediaBillingDetails ::= SEQUENCE
{
    countryCode     [1] UTF8String (SIZE (2)),
        -- see comment in NationalRequestParameters
    ...
}

MultimediaBillingIdentifier ::= OCTET STRING
    -- Used to correlate billing information
    -- useful if the bill-payer is not the subscriber, e.g. company mobiles

MultimediaBillingRecords ::= SEQUENCE
{
    time                                [1] GeneralizedTime OPTIONAL,
    place                               [2] UTF8String OPTIONAL,
    amount                              [3] REAL OPTIONAL,
    currency                            [4] UTF8String (SIZE(3)) OPTIONAL,
        -- as per ISO 4217 [5]
    method                              [5] UTF8String OPTIONAL,
        -- i.e. credit card etc.
    nationalMultimediaBillingRecords    [6] NationalMultimediaBillingRecords OPTIONAL,
        -- To be defined on a national basis
        -- Only to be used in case the present document cannot fulfil the national requirements
    ...,
    multimediaTransactionID             [7] UTF8String OPTIONAL,
        -- Unique reference for this transaction/billing record
        -- Details to be defined on a national basis
    multimediaTransactionStatus         [8] UTF8String OPTIONAL
        -- Status of the transaction (i.e. "declined", "succeeded", etc.)
        -- Details to be defined on a national bases
}

NationalMultimediaBillingRecords ::= SEQUENCE
{
    countryCode     [1] UTF8String (SIZE (2)),
        -- see comment in NationalRequestParameters
    ...
}

-- ===================
-- General definitions
-- ===================

PartyIdentity ::= UTF8String
    -- E.164 address of the party in international format, or
    -- SIP URI or TEL URI representing E.164
    -- Free text description of the invoked quality of service

NationalMultimediaSubscriberInfo ::= SEQUENCE
{
    countryCode     [1] UTF8String (SIZE (2)),
        -- see comment in NationalRequestParameters
    ...
    countryCode     [1] UTF8String (SIZE (2)),
        -- see comment in NationalRequestParameters
    ...
}

NationalMultimediaServiceUsage ::= SEQUENCE
{
    countryCode     [1] UTF8String (SIZE (2)),
        -- see comment in NationalRequestParameters
    ...
}

NationalMultimediaPartyInformation ::= SEQUENCE
{
    countryCode     [1] UTF8String (SIZE (2)),
        -- see comment in NationalRequestParameters
    ...
}

NationalMultimediaMediaComponent ::= SEQUENCE
{
    countryCode     [1] UTF8String (SIZE (2)),
        -- see comment in NationalRequestParameters
    ...
-- =======================
-- Device Data definitions
-- =======================

MultimediaDevice ::= SEQUENCE
{
    deviceIDType                    [1] ENUMERATED
        -- Type of identifier for telephony device
    {
        unknown(0),
        imei(1),
        macAddress(2),
        ...
    } OPTIONAL,
    multimediaDeviceID              [2] MultimediaDeviceID OPTIONAL,
        -- Unique identifier for this device according to type of identifier
    subscriberID                    [3] MultimediaSubscriberID OPTIONAL,
        -- Identifier for a known user of this equipment.
        -- Usage of this parameter is subject to national legislation.
    nationalMultimediaDevice        [4] NationalMultimediaDevice OPTIONAL,
        -- To be defined on a national basis
        -- Only to be used in case the present document cannot fulfil the national requirements
    ...
    countryCode     [1] UTF8String (SIZE (2)),
        -- see comment in NationalRequestParameters
    ...
    -- A unique identifier for the multimedia device. For example, the IMEI number
    -- of a mobile handset
    naSubscriber        [1] NASubscriber,
    naServiceUsage      [2] NAServiceUsage,
    naDevice            [3] NADevice,
    naNetworkElement    [4] NANwElement,
    naBillingDetails    [5] NABillingDetails,
    ...
    edgeComputingSubscriber                     [1] EdgeComputingSubscriber,
    edgeComputingApplicationBillingDetails      [2] EdgeComputingApplicationBillingDetails,
    edgeComputingApplicationUsage               [3] EdgeComputingApplicationUsage,
}

-- ==============================
-- Definitions of Edge Computing Subscriber Data
-- ==============================

EdgeComputingSubscriber ::= SEQUENCE
{
    subscriberID                           [1] EdgeComputingSubscriberID OPTIONAL,
        -- unique identifier for this subscriber, i.e., EECID
    genericSubscriberInfo                  [2] GenericSubscriberInfo OPTIONAL,
        -- generic personal information about this subscriber
    edgeComputingSubscriberInfo            [3] UTF8String OPTIONAL,
    subscribedEdgeComputingApplications    [4] SEQUENCE OF SubscribedEdgeComputingApplications OPTIONAL,
        -- a subscriber may have more than one edge computing applications listed against them
}

EdgeComputingSubscriberID ::= UTF8String
    -- unique identifier for this subscriber, i.e., EECID

SubscribedEdgeComputingApplications ::= SEQUENCE
{
    edgeComputingApplicationID    [1] UTF8String OPTIONAL,
        -- Unique identifier for this application within the edge ASP
    providerID                    [2] UTF8String OPTIONAL,
        -- Unique identifier for the edge ASP
    timespan                      [3] TimeSpan OPTIONAL,
        -- Start and end data, if applicable, of the subscription
    registeredIdentifiers         [4] SEQUENCE OF UTF8String OPTIONAL,
        -- The set of identifiers registered for this application
    edgeComputingApplicationType  [5] UTF8String OPTIONAL,
    installationAddress           [6] AddressInformation OPTIONAL,
        -- installation address, if different from the registered address
    connectionDate                [7] GeneralizedTime OPTIONAL,
        -- Date the subscriber was actually connected
        -- (May differ from the start of subscription)
    iMSI                          [8] IMSI OPTIONAL,
    sUPI                          [9] SUPI OPTIONAL,
    gPSI                          [10] GPSI OPTIONAL,
    lineStatus                    [11] UTF8String OPTIONAL,
        -- Edge ASP-specific description of current line status,
        -- e.g. "Active", "Ceased", etc.
    paymentDetails                [12] PaymentDetails OPTIONAL,
    subscriptionType              [13] SubscriptionType OPTIONAL,
        -- Describes the nature of the subscription
    deliveryAddress               [14] AddressInformation OPTIONAL,
    resellerAddress               [15] AddressInformation OPTIONAL,
    otherAddresses                [16] SEQUENCE OF OtherAddress OPTIONAL,
    orderTime                     [17] GeneralizedTime OPTIONAL,
        -- Time when the subscribed edge computing application was ordered by the user
    allocatedDeviceIDs            [18] SEQUENCE OF EdgeComputingDeviceID OPTIONAL,
    paymentTransactions           [19] SEQUENCE OF EdgeComputingApplicationBillingRecords OPTIONAL,
    ...
}

-- =================================
-- Definitions of Edge Computing Application Usage Data
-- =================================

EdgeComputingApplicationUsage ::= SEQUENCE
{
    subscriberID                        [1] EdgeComputingSubscriberID OPTIONAL,
    communicationTime                   [2] TimeSpan OPTIONAL,
        -- Time and duration of the edge computing application session.
    octetsSent                          [3] INTEGER OPTIONAL,
    octetsReceived                      [4] INTEGER OPTIONAL,
    reasonCause                         [5] UTF8String OPTIONAL,
        -- cause for application session termination
    qualityOfService                    [6] QualityOfService OPTIONAL,
    edgeComputingApplicationID          [7] UTF8String OPTIONAL,
    providerID                          [8] UTF8String OPTIONAL,
    cdrNumber                           [9] UTF8String OPTIONAL, -- as per ASP defined format
    clientIP                            [10] IPAddress OPTIONAL,
    edgeApplicationServersInfo          [11] SEQUENCE OF EdgeApplicationServerInfo,
    ...
    edgeApplicationServerID                 [1] UTF8String OPTIONAL,
    edgeApplicationServerIP                 [2] IPAddress OPTIONAL,
    edgeApplicationServerLocation           [3] Location OPTIONAL,
    edgeApplicationServerVirtualResources   [4] EdgeApplicationServerVirtualResources OPTIONAL,
}

EdgeApplicationServerVirtualResources ::= SEQUENCE
{
    meanVirtualCPUUsage         [1] REAL OPTIONAL,
    meanVirtualMemoryUsage      [2] REAL OPTIONAL,
    meanVirtualDiskUsage        [3] REAL OPTIONAL,
    durationStartTime           [4] GeneralizedTime OPTIONAL,
}

-- ==============================
-- Definitions of Edge Computing Billing Data
-- ==============================

EdgeComputingApplicationBillingDetails ::= SEQUENCE
{
    subscriberID                        [1] EdgeComputingSubscriberID OPTIONAL,
    edgeComputingApplicationID          [2] UTF8String OPTIONAL,
    billingAddress                      [3] ContactDetails OPTIONAL,
    billingIdentifier                   [4] EdgeComputingBillingIdentifier OPTIONAL,
    billingRecords                      [5] SEQUENCE OF EdgeComputingApplicationBillingRecords OPTIONAL,
    edgeComputingBillingAddress         [6] EdgeComputingBillingAddress OPTIONAL,
}

EdgeComputingBillingAddress ::= SEQUENCE
{
    addressSuppliedTime         [1] GeneralizedTime OPTIONAL,
    name                        [2] PersonName OPTIONAL,
}

EdgeComputingBillingIdentifier ::= OCTET STRING
    -- Used to correlate billing information
    -- useful if the bill-payer is not the subscriber, e.g. company mobiles

EdgeComputingApplicationBillingRecords ::= SEQUENCE
{
    time                                [1] GeneralizedTime OPTIONAL,
    place                               [2] UTF8String OPTIONAL,
    amount                              [3] REAL OPTIONAL,
    currency                            [4] UTF8String (SIZE(3)) OPTIONAL,
        -- as per ISO 4217 [5]
    method                              [5] UTF8String OPTIONAL,
        -- i.e. credit card etc.
    edgeComputingTransactionID          [6] UTF8String OPTIONAL,
        -- Unique reference for this transaction/billing record
        -- Details to be defined on a national basis
    edgeComputingTransactionStatus      [7] UTF8String OPTIONAL,
        -- Status of the transaction (i.e. "declined", "succeeded", etc.)
        -- Details to be defined on a national bases
    cryptocurrency                      [8] DigitalTokenIdentifier OPTIONAL,
    ...
}

DigitalTokenIdentifier ::= SEQUENCE
{
    baseRecord                  [1] BaseRecord,
    forkRecord                  [2] ForkRecord,
    informativeDataElements     [3] InformativeDataElements,
    ...
}

BaseRecord ::= OCTET STRING

ForkRecord ::= OCTET STRING

InformativeDataElements ::= SEQUENCE
{
    digitalTokenName                        [1] DigitalTokenName,
    tokenIdentifierType                     [2] TokenIdentifierType,
    dTIRegistrationAuthorityIdentifier      [3] DTIRegistrationAuthorityIdentifier,
    otherDataElements                       [4] OtherDataElements,
    ...
}

DigitalTokenName::= SEQUENCE
{
    digitalTokenLongName            [1] DigitalTokenLongName,
    digitalTokenShortName           [2] DigitalTokenShortName,
    ...
}

DigitalTokenLongName::= SEQUENCE
{
    digitalTokenLongName                    [1] UTF8String OPTIONAL,
    originalLanguageDigitalTokenLongName    [2] UTF8String OPTIONAL,
canterburym's avatar
canterburym committed
        -- based on ISO/IEC 10646 [58]
    ...
}

DigitalTokenShortName ::= SEQUENCE
{
    digitalTokenShortName                   [1] UTF8String OPTIONAL,
canterburym's avatar
canterburym committed
    originalLanguageDigitalTokenShortName    [2] UTF8String OPTIONAL,
        -- based on ISO/IEC 10646 [58]
    ...
}

TokenIdentifierType ::= SEQUENCE
{
    digitalTokenIdentifierType      [1] DigitalTokenIdentifierType,
    digitalLedgerTechnologyType     [2] DigitalLedgerTechnologyType,
    ...
}

DigitalTokenIdentifierType::= ENUMERATED
canterburym's avatar
canterburym committed
    -- Type defined by clause a of 5.3 of ISO 24165-2 [57]
{
    auxiliaryDigitalToken(0),
    nativeDigitalToken(1),
    distributedLedgerWithoutANativeDigitalToken(2),
    functionallyFungibleGroupOfDigitalTokens(3),
    ...
}

DigitalLedgerTechnologyType::= ENUMERATED
canterburym's avatar
canterburym committed
    -- Type defined by clause b of 5.3 of ISO 24165-2 [57]
{
    blockchain(0),
    other(1),
    ...
}

DTIRegistrationAuthorityIdentifier ::= UTF8String

OtherDataElements ::= SEQUENCE
{
    underlyingAssetExternalIdentifiersType  [1] UTF8String OPTIONAL,
    underlyingAssetExternalIdentifiersValue [2] UTF8String OPTIONAL,
    digitalTokenExternalIdentifiersType     [3] UTF8String OPTIONAL,
    digitalTokenExternalIdentifiersValue    [4] UTF8String OPTIONAL,
    digitalTokenReferenceImplementationURL  [5] UTF8String OPTIONAL,
    digitalTokenUnitMultiplier              [6] UTF8String OPTIONAL,
    auxiliaryDigitalToken                   [7] UTF8String OPTIONAL,
    publicDistributedLedgerIndicator        [8] PublicDistributedLedgerIndicator OPTIONAL,
    ...
}

PublicDistributedLedgerIndicator ::= ENUMERATED
{
    public(0),
    private(1),
    ...
}

-- =======================
-- Definitions of Edge Computing Device Data
-- =======================

EdgeComputingDevice ::= SEQUENCE
{
    deviceIDType                [1] ENUMERATED
        -- Type of identifier for telephony device
    {
        unknown(0),
        imei(1),
        macAddress(2),
        ...
    } OPTIONAL,
    edgeComputingDeviceID       [2] EdgeComputingDeviceID OPTIONAL,
        -- Unique identifier for this device according to type of identifier
    subscriberID                [3] EdgeComputingSubscriberID OPTIONAL,
        -- Identifier for a known user of this equipment.
        -- Usage of this parameter is subject to national legislation.
}

EdgeComputingDeviceID ::= OCTET STRING
    -- A unique identifier for the edge computing device. For example, the IMEI number
    -- of a mobile handset
-- =============================================
-- Definitions of Network Access Subscriber Data
-- =============================================

NAProviderID ::= UTF8String

NAAuthID ::= UTF8String

NaSubscriberID ::= UTF8String

NASubscriber ::= SEQUENCE
    -- Generic information on a service subscriber, supplemented with information specific to
    -- network access services.
{
    validity            [1] TimeSpan OPTIONAL,
    subscriberID        [2] NaSubscriberID OPTIONAL,
        -- Unique identifier for this subscriber, e.g. account number
    naSubscriptions     [3] SEQUENCE OF NAServiceSubscription OPTIONAL,
        -- List of all known services subscribed to by this user
    allocatedDeviceIDs  [4] SEQUENCE OF NADeviceId OPTIONAL,
        -- List of all known devices allocated to this user.
    subscriber          [5] GenericSubscriberInfo OPTIONAL,
        -- Name, address and other generic subscriber information
    ...,
    allocatedDevices    [6] SEQUENCE OF NADevice OPTIONAL
        -- If present, contains device details for all elements from allocatedDeviceIDs
    -- Description of the subscription to a Network Access service
{
    validity                    [1] TimeSpan OPTIONAL,
    naServiceID                 [2] UTF8String OPTIONAL,
        -- Identifier for the service, e.g. account plan name.
    naProviderID                [3] NAProviderID OPTIONAL,
        -- Unique identifier for the provider of the service, e.g. company name
    naAuthID                    [4] NAAuthID OPTIONAL,
        -- Unique identifier for this subscription, e.g. logon name
    options                     [5] UTF8String OPTIONAL,
        -- Human readable text with restrictions or options to the subscription
    installationAddress         [6] AddressInformation OPTIONAL,
    fixIpAddress                [7] IPAddress OPTIONAL,
        -- fix assigned IP address
    imsi                        [8] IMSI OPTIONAL,
    ...,
    allocatedDeviceIDs          [9] SEQUENCE OF NADeviceId OPTIONAL,
    naServiceStatus             [10] UTF8String OPTIONAL,
        -- CSP-specific description of current service status, e.g. "Active", "Ceased", etc.
    registeredICCID             [11] UTF8String OPTIONAL,
    nationalNASubscription      [12] NationalNASubscription OPTIONAL,
    paymentDetails              [13] PaymentDetails OPTIONAL,
    additionalIPAddresses       [14] SEQUENCE OF IPAddressSetOrRangeOrMask OPTIONAL,
    subscriptionType            [15] SubscriptionType OPTIONAL,
        -- Describes the nature of the subscription
    deliveryAddress             [16] AddressInformation OPTIONAL,
    resellerAddress             [17] AddressInformation OPTIONAL,
    otherAddresses              [18] SEQUENCE OF OtherAddress OPTIONAL,
    allocatedDevices            [19] SEQUENCE OF NADevice OPTIONAL,
        -- If present, contains device details for all elements from allocatedDeviceIDs
    mSISDNs                     [20] SEQUENCE OF PartyNumber OPTIONAL,
    registeredICCIDs            [21] SEQUENCE OF ICCIDInfo OPTIONAL,
    paymentTransactions         [22] SEQUENCE OF BillingRecords OPTIONAL,
    sUPI                        [23] SUPI OPTIONAL,
    gPSI                        [24] GPSI OPTIONAL,
    timedIPAddresses            [25] SEQUENCE OF TimedIPAddress OPTIONAL
    -- Description of the subscription to a Network Access service
    countryCode             [1] UTF8String (SIZE(2)),
        -- see comment in NationalRequestParameters
    ...
}

-- ===========================================
-- Definitions of Network Access Service Usage
-- ===========================================

NAServiceUsage ::= SEQUENCE
{
    naAccessTime                [1] GeneralizedTime OPTIONAL,
        -- Time of connection to the NAS
    naAuthID                    [2] NAAuthID OPTIONAL,
        -- Username used to obtain network access
    nwAccessType                [3] NwAccessType OPTIONAL,
        -- Type of network access attempted. If not undefined(0), this should be one of the types
        -- supported by the NAS (identified below by naNwElementID)
    naStatus                    [4] ENUMERATED
    {
        unknown(0),
        succeeded(1),
            -- Authentication OK and access granted
        failed(2),
            -- Authentication failure (wrong credentials or time out)
        rejected(3),
            -- Rejected by the CSP (e.g. usage limits exceeded)
        ...
    } OPTIONAL,
    interval                    [5] TimeSpan OPTIONAL,
        -- Start time and end time (duration) of network access.
    naDeviceId                  [6] NADeviceId OPTIONAL,
        -- Device used to access the service
    naNwElementID               [7] NANwElementID OPTIONAL,
        -- Network element (NAS) onto which the naDevice is connected
    naAssignedAddress           [8] SEQUENCE OF NAAssignedAddress OPTIONAL,
        -- IP address assigned by the network access service. May be fixed or dynamic
    location                    [9] Location OPTIONAL,
        -- Location of the access (for e.g. GPRS handsets)
    dialUpInformation           [10] DialUpInformation OPTIONAL,
    gprsInformation             [11] GprsInformation OPTIONAL,
    ...,
    octetsDownloaded            [12] INTEGER OPTIONAL,
    octetsUploaded              [13] INTEGER OPTIONAL,
    endReason                   [14] NAEndReason OPTIONAL,
    subscriberID                [15] NaSubscriberID OPTIONAL,
        -- Identifier for a known user of this network access
    ePSInformation              [16] EPSInformation OPTIONAL,
    wifiInformation             [17] WifiInformation OPTIONAL,
    addressTranslationRecords   [18] SEQUENCE OF AddressTranslationRecord OPTIONAL,
        -- contains extended information about the NAT or PAT operations carried out within this
        -- service usage session
    naDevice                    [19] NADevice OPTIONAL,
        -- If present, contains the device details for the device referenced in naDeviceID
    additionalLocations         [20] SEQUENCE OF TimedLocation OPTIONAL,
        -- List of additional locations and optional access time during the network access service
        -- usage
    sNSSAI                      [21] OCTET STRING (SIZE(4)) OPTIONAL,
    notifyUri                   [22] OCTET STRING (SIZE(3..8)) OPTIONAL,
    fiveGSInformation           [23] FIVEGSInformation OPTIONAL
}


TimedLocation   ::= SEQUENCE
{
    location            [1] Location,
    naAccessTime        [2] GeneralizedTime OPTIONAL,
    ...
    bSSID                               [1] OCTET STRING (SIZE (6)) OPTIONAL,
        -- The Basic Service Set Identification for the connection.
        -- This is also the MAC address of the access point (the present document assumes
        -- that records are for infrastructure mode, not ad-hoc mode).
        -- The MAC address of the user is given in the naDeviceID in the structure (one level up)
    sSID                                [2] UTF8String OPTIONAL,
        -- The human-readable Service Set Identifier
        -- It should be noted that this is typically only available on the air interface and so
        -- is not likely to be logged by CSPs (though may be recorded at a more local level).
        -- Therefore requesting organizations should not expect this to be populated typically.
        -- It is not guaranteed to be unique.
    username                            [3] UTF8String OPTIONAL,
    locationOfAccessPoint               [4] Location OPTIONAL,
    -- Location of the Access Point as lat/long, grid reference or postal address.
    -- Requesting organizations should be aware that Access Points can be moved, sometimes
    -- without the knowledge of the CSP
    authenticationType                  [5] AuthenticationType OPTIONAL,
    additionalAuthenticationInformation [6] AdditionalAuthenticationInformation OPTIONAL,
    ...,
    accessPointIPAddress                [7] IPAddress  OPTIONAL,
    accessPointAdditionalDescriptions   [8] SEQUENCE OF UTF8String OPTIONAL,
            -- Informal description of location, category or type of access point,
            -- or a name of the network to which the access point belongs.
    accessPointAdditionalProviders      [9] SEQUENCE OF UTF8String OPTIONAL,
            -- For WiFi, there may be other parties involved in hosting or owning the
            -- Access Points, e.g. access point provider or partner providers
    cSPDefinedName                      [10] UTF8String OPTIONAL
        -- CSP-defined label or name assigned to the access point.
        -- The access points of a CSP within a venue or geographical location
        -- typically share this name.
    authenticationBySMS(1),
        -- Used if authentication arranged through a code sent to mobile
        -- additionalAuthenticationInformation shall contain the phone number
    authenticationByCookie(2),
        -- If authentication was granted on the basis of a cookie left from a previous visit to a
        -- site.
        -- No other mandatory addtionalAuthenticationInformation
    authenticationByMACAddress(3),
        -- If authentication was granted because the MAC address of the UE was recognised due
        -- to a previous visit.
        -- additionalAuthenticationInformation shall contain the MAC Address unless it is already
        -- populated as NADeviceID in this record.
    authenticationByEAPSIM(4),
        -- If authenticated by EAP SIM see TS 33.234 [36]
        -- additionalAuthenticationInformation shall contain the IMSI
        -- Other varieties of EAP could be added here later, together with any extra information
        -- they could provide.
    authenticationByUsernameAndPassword(5),
        -- additionalAuthenticationInformation should contain username and password if appropriate
    authenticationByPaymentOrVoucher(6),
        -- additionalAuthenticationInformation should contain Voucher or Payment details
        -- if appropriate.
    ...
}

AdditionalAuthenticationInformation ::= SEQUENCE
{
    phoneNumber         [1] PartyNumber OPTIONAL,
        -- e.g. number to which an SMS was sent
    mACAddress          [2] OCTET STRING (SIZE (6)) OPTIONAL,
    iMSI                [3] IMSI OPTIONAL,
    username            [4] UTF8String OPTIONAL,
            -- Names supplied are unlikely to be verified
    password            [5] UTF8String OPTIONAL,
            -- Only to be populated if it is both appropriate and available
    paymentReference    [6] UTF8String OPTIONAL,
        -- For example, the number of a voucher that was used in authentication
    ...
    validity                            [1] TimeSpan OPTIONAL,
        -- time at which the address translation started and/or ended
    privateIPAddress                    [2] IPAddress OPTIONAL,
        -- the private IP of the host
    privatePort                         [3] INTEGER OPTIONAL,
        -- the private port of the host
    publicIPAddress                     [4] IPAddress OPTIONAL,
        -- the translated IP of the host, i.e. the address known by the remote host
    publicPort                          [5] AddressTranslationPortAssignment OPTIONAL,
        -- the translated port(s) of the host, i.e. the port(s) known by the remote host, if
        -- applicable
    destinationIPAddress                [6] IPAddress OPTIONAL,
        -- the IP address of the remote host
    destinationPort                     [7] INTEGER OPTIONAL,
        -- the port of the remote host
    connectionType                      [8] ENUMERATED
    {
        udp(0),
        tcp(1),
        sctp(2),
        other(3),
        ...
    } OPTIONAL,
    ...
}

AddressTranslationPortAssignment ::= CHOICE
{
    singlePort                      [1] INTEGER,
        -- only one port is assigned to the host, that port number is specified here
    portRange                       [2] SEQUENCE OF PortRange,
        -- if a range of translated ports is assigned to the host, specify it here
    ...
    -- The range given is inclusive of both ends
    lowerBound      [1] INTEGER OPTIONAL,
    upperBound      [2] INTEGER OPTIONAL,
    ...
    unknownReason(0),
    timeout(1),
    userDisconnect(2),
        -- e.g. user logs off
    networkDisconnect(3),
        -- e.g. user's time/credits have been used up
    networkError(4),
    ...
    undefined(0),
    dialUp(1),
        -- DialUp access
    xDSL(2),
        -- DSL access
    cableModem(3),
        -- Cable access
    lAN(4),
        -- LAN access
    wirelessLAN(5),
        -- Wireless LAN access (e.g. hotspot)
    wimax(6),
    mobilePacketData(7),
        -- Network access over GSM/3GPP GPRS, UMTS, etc.
    ...,
    gPON(8)
        -- Gigabit capable Passive Optical Network access, based on Optical Line Terminal,
        -- see ITU-T G.984-1 [54]
    diallingNumber      [1] PartyNumber OPTIONAL,
        -- Telephone number used for dial-up access
    dialledNumber       [2] PartyNumber OPTIONAL,
    callback            [3] PartyNumber OPTIONAL,
        -- Call back number used for dial-up access
    ...
    iMSI                    [1] IMSI OPTIONAL,
    mSISDN                  [2] PartyNumber OPTIONAL,
    sgsnAddress             [3] SEQUENCE OF IPAddress OPTIONAL,
    ggsnAddress             [4] IPAddress OPTIONAL,
    pDP-address-allocated   [5] IPAddress OPTIONAL,
    aPN                     [6] UTF8String OPTIONAL,
    pDP-type                [7] OCTET STRING (SIZE(2)) OPTIONAL,
        -- format as per TS 101 671 [6]
    ...,
    gPRSEvent               [8] GPRSEvent OPTIONAL
        -- format as per 3GPP TS 33.108 [11]
    -- Tag [9] was used in the past and shall not be reused.
    pDPContextActivation(1),
    pDPContextDeactivation(4),
    gPRSAttach(5),
    gPRSDetach(6),
    locationInfoUpdate(10),
        -- sMS ommited from 3GPP TS 33.108 [11]
    pDPContextModification(11),
    servingSystem(12),
    ...
    iMSI                        [1] IMSI OPTIONAL,
    iMSIUnauthenticatedFlag     [2] IMSIUnauthenticatedFlag OPTIONAL,
    mSISDN                      [3] PartyNumber OPTIONAL,
    iMEISV                      [4] IMEI OPTIONAL,
    s-GWAddress                 [5] IPAddress OPTIONAL,
    p-GWAddress                 [6] IPAddress OPTIONAL,
    p-GWPLMNIdentifier          [7] P-GWPLMN-ID OPTIONAL,
    aPNNetworkID                [8] AccessPointNameNI OPTIONAL,
    pDP-PDNType                 [9] OCTET STRING (SIZE (1))OPTIONAL,
        -- PDN/PDP Type number as defined in ETSI TS 129 274 [32] clause 8.34
    pDP-PDNAddress              [10] IPAddress OPTIONAL,
        -- IP address allocated to the PDP context / PDN connection
        -- i.e. IPv4 address when PDP/PDN Type is IPv4 or IPv6 prefix
        -- when PDP/PDN Type is IPv6 or IPv4v6.
    pDP-PDNAddressExtension     [11] IPAddress OPTIONAL,
        -- IPv4 address of the served IMSI when PDP/PDN type is IPv4v6
    dynamicAddressFlag          [12] DynamicAddressFlag OPTIONAL,
    dynamicAddressFlagExt       [13] DynamicAddressFlagExt OPTIONAL,
    rATType                     [14] INTEGER (0..255) OPTIONAL,
        -- RAT Type coding according to ETSI TS 129 274 [32] clause 8.17
        -- NOTE - as of v1.23.1 of the present document, this field has changed to optional
    ePSEvent                    [15] EPSEvent OPTIONAL,
    ...,
    uERadioCapID                [16] UERadioCapID OPTIONAL
IMSIUnauthenticatedFlag ::= BOOLEAN
    -- TRUE if unauthenticated IMSI vs. FALSE for authenticated IMSI

P-GWPLMN-ID ::= OCTET STRING (SIZE (3))
    -- This is a copy from the Tracking Area Identity (TAI) IE
    -- specified in TS 29.274 [32] clause 8.21.4:
    --  Bits   8  7  6  5  4  3  2  1
    --      1st OCTET MCC digit 2   MCC digit 1
    --      2nd OCTET MNC digit 3   MCC digit 3
    --      3rd OCTET MNC digit 2   MNC digit 1

AccessPointNameNI ::= IA5String (SIZE(1..63))
    -- Network Identifier part of APN in dot representation.
    -- For example, if the complete APN is "apn1a.apn1b.apn1c.mnc022.mcc111.gprs"
    -- NI is "apn1a.apn1b.apn1c"
    -- TRUE if the PDP/PDN address is dynamic.
    -- FALSE if IPv4 address is static when PDN type is IPv6 or IPv4v6
    -- TRUE if IPv4 PDP/PDN address is dynamic, which is allocated during IP CAN bearer activation,
    -- initial attach and UE requested PDN connectivity with PDP/PDN type IPv4v6.
    -- FALSE if IPv4 address is static.
    -- The list of "EPSEvent" below is partly taken from 3GPP TS 33.108 [11] EpsHI2Operations
    -- from the "EPSEvent ::=ENUMERATED" module
{
    e-UTRANAttach(16),
    e-UTRANDetach(17),
    bearerActivation(18),
    bearerModification(20),
    bearerDeactivation(21),
    trackingAreaUpdate(25),
    servingEvolvedPacketSystem(26),
    ...
    sUPI                                    [1] SUPI OPTIONAL,
    dNN                                     [2] UTF8String OPTIONAL,
    gPSI                                    [3] GPSI OPTIONAL,
    pEI                                     [4] PEI OPTIONAL,
    pDUSessionID                            [6] INTEGER (0..255) OPTIONAL,
    sNSSAI                                  [7] OCTET STRING (SIZE(4)) OPTIONAL,
    pDUIpv4Address                          [8] IPAddress OPTIONAL,
    pDUIpv6Address                          [9] IPAddress OPTIONAL,
    pDUAddressPrefixLength                  [10] INTEGER (0..128) OPTIONAL,
    rFSPIndex                               [11] INTEGER (1..255) OPTIONAL,
    applicationId                           [12] UTF8String OPTIONAL,
    applicationServiceProviderIdentity      [13] UTF8String OPTIONAL,
    serviceId                               [14] INTEGER OPTIONAL,
    chargingId                              [15] UTF8String OPTIONAL,
    pDUType                                 [16] PDUSessionType OPTIONAL,
    sSCMode                                 [17] SSCMode OPTIONAL,
    vPLMNId                                 [18] PLMNID OPTIONAL,
    hPLMNId                                 [19] PLMNID OPTIONAL,
    chargingCharacteristics                 [20] UTF8String OPTIONAL,
    chargingCharacteristicsSelectionMode    [21] UTF8String OPTIONAL,
    pDUSessionStartTime                     [22] GeneralizedTime OPTIONAL,
    pDUSessionStopTime                      [23] GeneralizedTime OPTIONAL,
    lowPriorityIndicator                    [24] BOOLEAN OPTIONAL,
    dataOffStatus                           [25] BOOLEAN OPTIONAL,
    diagnostics                             [26] INTEGER OPTIONAL,
    uETimeZone                              [27] UTF8String OPTIONAL,
    uPFAddress                              [28] IPAddress OPTIONAL,
    aMFAddress                              [29] IPAddress OPTIONAL,
    uDMAddress                              [30] IPAddress OPTIONAL,
    sMFAddress                              [31] IPAddress OPTIONAL,
    uPFId                                   [32] UUID OPTIONAL,
    aMFIdentifier                           [33] AMFID OPTIONAL,
    uDMIdentifier                           [34] UUID OPTIONAL,
    sMFIdentifier                           [35] UUID OPTIONAL,
    uPFPDNAddress                           [36] IPAddress OPTIONAL,
    uPFPDNAddressExtension                  [37] IPAddress OPTIONAL,
    dynamicAddressFlag                      [38] BOOLEAN OPTIONAL,
    dynamicAddressFlagExt                   [39] BOOLEAN OPTIONAL,
    rAT5Type                                [40] RAT5Type OPTIONAL,
    flowQosInfo                             [41] OCTET STRING OPTIONAL,
    serviceID                               [42] INTEGER OPTIONAL,
    ...,
    uERadioCapID                            [43] UERadioCapID OPTIONAL,
    rANSecondaryRATType                     [44] RAT5Type OPTIONAL
PDUSessionType ::= ENUMERATED
{
    iPv4(1),
    iPv6(2),
    iPv4v6(3),