RDMessage {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) retainedData(3) rdHeader(0) version11(11)} DEFINITIONS IMPLICIT TAGS ::= BEGIN -- ============================= -- Object Identifier definitions -- ============================= -- RetainedData DomainId retainedDataDomainId OBJECT IDENTIFIER ::= {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) retainedData(3)} -- rdHeader rdHeaderId OBJECT IDENTIFIER ::= {retainedDataDomainId rdHeader(0) version11(11)} -- ====================================== -- Top level definitions for RDHI wrapper -- ====================================== RetainedDataMessage ::= SEQUENCE { rdHeaderId [0] OBJECT IDENTIFIER, retainedDataHeader [1] RetainedDataHeader, retainedDataPayload [2] RetainedDataPayload, retainedDataDigest [3] OCTET STRING OPTIONAL, -- The digitally signed hash of the combined fields above (retainedDataHeader and -- retainedDataPayload) ... } -- ========================================================================== -- Definitions for Retained Data header information, present in every message -- ========================================================================== RetainedDataHeader ::= SEQUENCE { requestID [1] RequestID, cSPID [2] CSPID, timeStamp [3] GeneralizedTime, thirdPartyCSPID [4] CSPID OPTIONAL, ... } CSPID ::= UTF8String -- Unique identifier for the CSP that issued the request RequestID ::= SEQUENCE { countryCode [1] CountryCode, authorisedOrganisationID [2] AuthorisedOrganisationID, requestNumber [3] RequestNumber OPTIONAL, -- all messages except GetStatusMessage and StatusMessage have a request number -- (see clause 6.1.2) ... } CountryCode ::= UTF8String (SIZE(2)) -- A country code as per ISO 3166-1 [4] AuthorisedOrganisationID::= UTF8String -- A unique identifier for an Authorized Organization issuing a Retained Data request RequestNumber ::= UTF8String -- Unique within a given country and Authorized Organization -- ================================================= -- Definitions for Retained Data payload information -- ================================================= RetainedDataPayload ::= CHOICE -- Payload can be a request, response, error or acknowledgement { requestMessage [1] RequestMessage, requestAcknowledgement [2] RequestAcknowledgement, responseMessage [3] ResponseMessage, responseAcknowledgement [4] ResponseAcknowledgement, errorMessage [5] FurtherInformation, cancelMessage [6] CancelMessage, cancelAcknowledgement [7] CancelAcknowledgement, getstatusMessage [8] GetStatusMessage, statusMessage [9] StatusMessage, getResultsMessage [10] GetResultsMessage, ..., supplementaryRequest [11] SupplementaryRequest, supplementaryResponse [12] SupplementaryResponse } -- ================================================== -- Definitions of Request message and acknowledgement -- ================================================== RequestMessage ::= SEQUENCE { requestPriority [1] RequestPriority OPTIONAL, requestParameters [2] RequestConstraints OPTIONAL, -- Optional only in case a warrant is transmitted independently of a request deliveryPointHIB [3] DeliveryPointHIB OPTIONAL, -- pre-arranged set of delivery address(es) of that specific Authorized Organization maxHits [4] INTEGER OPTIONAL, -- Maximum number of records to be returned. -- On a national basis maximum numbers could be considered -- In case of maxHit a responseFailed message is sent and no data is sent -- (see clause 6.3.3.2) nationalRequestParameters [5] NationalRequestParameters OPTIONAL, -- To be defined on a national basis -- Only to be used in case the present document cannot fulfil the national requirements -- or to transmit a warrant. ... } DeliveryPointHIB ::= UTF8String RequestConstraints ::= SEQUENCE { equals [1] RetainedDataRecord OPTIONAL, notEqualTo [2] RetainedDataRecord OPTIONAL, lessThan [3] RetainedDataRecord OPTIONAL, -- For numerical values lessThanOrEqualTo [4] RetainedDataRecord OPTIONAL, -- For numerical values greaterThan [5] RetainedDataRecord OPTIONAL, -- For numerical values greaterThanOrEqualTo [6] RetainedDataRecord OPTIONAL, -- For numerical values startsWith [7] RetainedDataRecord OPTIONAL, -- For strings endsWith [8] RetainedDataRecord OPTIONAL, -- For strings isAMemberOf [9] SEQUENCE OF RetainedDataRecord OPTIONAL, ... } RequestPriority ::= OCTET STRING -- Priority considerations are a matter for national implementation -- This standard makes no statement regarding how such priorities are represented or used RequestAcknowledgement ::= SEQUENCE { suggestedCompletionTime [1] GeneralizedTime OPTIONAL, -- Indicative time that results will be ready -- Purely informational, not binding for either party ... } -- =================================================== -- Definitions of Response message and acknowledgement -- =================================================== ResponseMessage ::= SEQUENCE { responseStatus [1] ResponseStatus, responsePayload [2] SEQUENCE OF ResponseRecord OPTIONAL, -- Clause 6 explains use of this field -- A responseUnavailable message shall not have a responsePayload (see clause 5.3.1) -- The responseComplete and responseIncomplete message shall have a responsePayload -- If there are no responses, the responsePayload is present but has zero entries nationalResponsePayload [3] NationalResponsePayload OPTIONAL, -- to be defined on a national basis -- only to be used in case the present document cannot fulfil the national requirements ..., responseNumber [4] INTEGER OPTIONAL -- number to identify partial results within parallel multi-part delivery } ResponseStatus ::= CHOICE { responseComplete [1] NULL, -- No further results to come responseIncomplete [2] NULL, -- There will be at least one further response message to come responseUnavailable [3] NULL, -- See clause 5.3.1 responseFailed [4] FurtherInformation, -- See clauses 6.2.2.2 and 6.3.3.2 ... } ResponseRecord ::= SEQUENCE { recordNumber [1] INTEGER, recordPayload [2] RetainedDataRecord, additionalInformation [3] AdditionalInformation OPTIONAL, -- see clause 6.2.4 nationalRecordPayload [4] NationalRecordPayload OPTIONAL, -- To be defined on a national basis -- Only to be used in case the present document cannot fulfil the national requirements ... } AdditionalInformation ::= SEQUENCE { contactInformation [1] UTF8String OPTIONAL, -- Name or address of operator or person who may have further information otherInformation [2] UTF8String OPTIONAL, ... } RetainedDataRecord ::= CHOICE { telephonyRecord [1] TelephonyRecord, -- Details are defined in Annex B messageRecord [2] MessageRecord, -- Details are defined in Annex C networkAccess [3] NetworkAccessRecord, -- Details are defined in Annex E ..., multimediaRecord [4] MultimediaRecord -- Details are defined in Annex D -- Other services will be included (as they are implemented) } ResponseAcknowledgement ::= CHOICE { -- Acknowledges a response has been sent acknowledgeCompleteResults [1] NULL, acknowledgePartialResults [2] NULL, ..., acknowledgePartialResultsNumber [3] INTEGER -- number to acknowledge a specific resultMessage within parallel multi-part delivery } -- ================================================== -- Definitions of an error message and acknowledgment -- ================================================== FurtherInformation ::= SEQUENCE { information [1] UTF8String, contactInformation [2] UTF8String OPTIONAL, ... } -- =================================================== -- Definitions of a cancel message and acknowledgement -- =================================================== CancelMessage ::= NULL -- Cancels an active request CancelAcknowledgement ::= NULL -- Acknowledges the receipt of a cancel message (no other information required) -- =================================================== -- Definitions of status request and response messages -- =================================================== GetStatusMessage ::= SEQUENCE { requestNumbers [1] SEQUENCE OF RequestNumber, ... } StatusMessage ::= SEQUENCE { statusResponse [1] SEQUENCE OF StatusResponse, ... } StatusResponse ::= SEQUENCE { requestNumber [1] RequestNumber, requestStatus [2] RequestStatus, ... } RequestStatus ::= CHOICE { ready [1] NULL, incompleteResultsReady [2] NULL, failureResponseReady [3] NULL, notReady [4] NULL, error [5] FurtherInformation, inDelivery [6] NULL, invalidRequestID [7] NULL, ... } -- ========================================== -- Definitions of status get results messages -- ========================================== GetResultsMessage ::= NULL -- No further information required (the RequestID is given in the header) -- =================== -- National parameters -- =================== NationalRequestParameters ::= SEQUENCE { countryCode [1] UTF8String (SIZE (2)), -- Country Code according to ISO 3166-1 [4], -- the country to which the parameters inserted after the extension marker apply. ... -- In case a given country wants to use additional national parameters according to its law, -- these national parameters should be defined using the ASN.1 syntax and added after the -- extension marker (...). -- It is recommended that an version indicator is included in the national parameters -- definition. } NationalResponsePayload ::= SEQUENCE { countryCode [1] UTF8String (SIZE (2)), -- see comment in NationalRequestParameters ... } NationalRecordPayload ::= SEQUENCE { countryCode [1] UTF8String (SIZE (2)), -- see comment in NationalRequestParameters ... } SupplementaryRequest ::= CHOICE { nationalSupplementaryRequest [1] NationalSupplementaryRequest, ... } SupplementaryResponse ::= CHOICE { nationalSupplementaryResponse [1] NationalSupplementaryResponse, ... } NationalSupplementaryRequest ::= SEQUENCE { countryCode [1] UTF8String (SIZE (2)), -- Country Code according to ISO 3166-1 [4], -- the country to which the parameters inserted after the extension marker apply. ... -- In case a given country wants to use additional national parameters according to its law, -- these national parameters should be defined using the ASN.1 syntax and added after the -- extension marker (...). -- It is recommended that a version indicator is included. } NationalSupplementaryResponse ::= SEQUENCE { countryCode [1] UTF8String (SIZE (2)), -- Country Code according to ISO 3166-1 [4], -- the country to which the parameters inserted after the extension marker apply. ... -- In case a given country wants to use additional national parameters according to its law, -- these national parameters should be defined using the ASN.1 syntax and added after the -- extension marker (...). -- It is recommended that a version indicator is included. } TimeSpan ::= SEQUENCE { startTime [1] GeneralizedTime OPTIONAL, endTime [2] GeneralizedTime OPTIONAL, ..., durationTime [3] INTEGER OPTIONAL -- duration in seconds } -- ============================================== -- Definitions for Generic Subscriber Information -- ============================================== GenericSubscriberInfo ::= SEQUENCE { organizationInfo [1] OrganizationInfo OPTIONAL, individualInfo [2] IndividualInfo OPTIONAL, ... } OrganizationInfo ::= SEQUENCE { name [1] UTF8String OPTIONAL, -- name of the organization contactDetails [2] ContactDetails OPTIONAL, -- address, and name/phone number of a point of contact nationalRegistrationID [3] UTF8String OPTIONAL, -- e.g. social security number ... } IndividualInfo ::= SEQUENCE { name [1] PersonName OPTIONAL, contactAddress [2] ContactDetails OPTIONAL, dateOfBirth [3] GeneralizedTime OPTIONAL, gender [4] ENUMERATED { male(0), female(1), ... } OPTIONAL, identificationNumber [5] UTF8String OPTIONAL, authenticationInfo [6] AuthenticationInfo OPTIONAL, ..., profession [7] UTF8String OPTIONAL } PersonName ::= SEQUENCE { salutation [1] UTF8String OPTIONAL, surname [2] UTF8String OPTIONAL, -- the non-chosen or inherited name of an individual, e.g. "Arend" surnamePrefix [3] UTF8String OPTIONAL, -- any prefix before the surname, e.g. "von", "van der" surnameSuffix [4] UTF8String OPTIONAL, -- any suffix after the surname, e.g. "Jr", "III" middleNames [5] UTF8String OPTIONAL, -- that part of the name excluding forename, separable and preceding the surname firstname [6] UTF8String OPTIONAL, -- the first name or initials, e.g. "Peter" ..., secondsurname [7] UTF8String OPTIONAL, -- a second surname is used in several countries secondsurnamePrefix [8] UTF8String OPTIONAL, secondsurnameSuffix [9] UTF8String OPTIONAL } ContactDetails ::= SEQUENCE { address [1] AddressInformation OPTIONAL, emailAddress [2] UTF8String OPTIONAL, contactNumber [3] SEQUENCE OF PartyNumber OPTIONAL, -- several numbers (work, home, mobile) may be given for a single subscriber ..., additionalEmailAddresses [4] SEQUENCE OF UTF8String OPTIONAL -- several email addresses may be given for a single subscriber } AddressInformation ::= SEQUENCE { flatNumber [1] UTF8String OPTIONAL, buildingName [2] UTF8String OPTIONAL, buildingNumber [3] UTF8String OPTIONAL, streetName [4] UTF8String OPTIONAL, poBox [5] UTF8String OPTIONAL, -- PO box or Response number postalCode [6] UTF8String OPTIONAL, -- Postal code. Example: 2289AC region [7] UTF8String OPTIONAL, province [8] UTF8String OPTIONAL, language [9] UTF8String OPTIONAL, city [10] UTF8String OPTIONAL, country [11] CountryCode OPTIONAL, -- Country code as defined in ISO 3166-1 [4] validity [12] TimeSpan OPTIONAL, -- time from which the address was registered ... } AuthenticationInfo ::= SEQUENCE { authenticationType [1] UTF8String OPTIONAL, -- the type of document used to authenticate, e.g. passport, driver's license authenticationNumber [2] UTF8String OPTIONAL, -- the number of the document used to authenticate ... } PaymentDetails ::= SEQUENCE { billingMethod [1] BillingMethod OPTIONAL, bankAccount [2] BankAccount OPTIONAL, billingAddress [3] ContactDetails OPTIONAL, ... } BankAccount ::= SEQUENCE { iBAN [1] IBAN OPTIONAL, bIC [2] BIC OPTIONAL, accountHolder [3] UTF8String OPTIONAL, nationalAccountNumber [4] UTF8String OPTIONAL, -- To be used in case that the account holding bank has no IBAN nationalBankNumber [5] UTF8String OPTIONAL, -- To be used in case that the account holding bank has neither IBAN nor BIC bankName [6] UTF8String OPTIONAL, ... } IBAN ::= UTF8String -- International Banking Account Number -- format as per ISO 13616-1:2007 [28] BIC ::= UTF8String -- Business Identifier Code -- format as per ISO 9362:2009 [29] BillingMethod ::= ENUMERATED { debit(0), transfer(1), prepaid(2), ... } TelephonyRecord ::= CHOICE { telephonySubscriber [1] TelephonySubscriber, telephonyBillingDetails [2] TelephonyBillingDetails, telephonyServiceUsage [3] TelephonyServiceUsage, telephonyDevice [4] TelephonyDevice, telephonyNetworkElement [5] TelephonyNetworkElement, ... } -- ============================== -- Definitions of Subscriber Data -- ============================== TelephonySubscriber ::= SEQUENCE { subscriberID [1] TelephonySubscriberId OPTIONAL, -- unique identifier for this subscriber, e.g. account number genericSubscriberInfo [2] GenericSubscriberInfo OPTIONAL, -- generic personal information about this subscriber telephonySubscriberInfo [3] TelephonySubscriberInfo OPTIONAL, -- service-specific information about this subscriber subscribedTelephonyServices [4] SEQUENCE OF SubscribedTelephonyServices OPTIONAL, -- a subscriber (or account) may have more than one service listed against them ..., nationalTelephonySubscriberInfo [5] NationalTelephonySubscriberInfo OPTIONAL -- To be defined on a national basis -- Only to be used in case the present document cannot fulfil the national requirements } NationalTelephonySubscriberInfo ::= SEQUENCE { countryCode [1] UTF8String (SIZE (2)), -- see comment in NationalRequestParameters ... } TelephonySubscriberId ::= UTF8String -- unique identifier for this subscriber, e.g. account number TelephonySubscriberInfo ::= NULL -- Reserved SubscribedTelephonyServices ::= SEQUENCE { serviceID [1] UTF8String OPTIONAL, -- Unique identifier for this service within the operator providerID [2] UTF8String OPTIONAL, -- Unique identifier for the service provider timeSpan [3] TimeSpan OPTIONAL, -- Start and end data, if applicable, of the subscription registeredNumbers [4] SEQUENCE OF PartyNumber OPTIONAL, -- The set of telephone numbers registered for this service registeredICCID [5] UTF8String OPTIONAL, serviceType [6] TelephonyServiceType OPTIONAL, installationAddress [7] AddressInformation OPTIONAL, -- installation address, if different from the registered address connectionDate [8] GeneralizedTime OPTIONAL, -- Date the subscriber was actually connected -- (May differ from the start of subscription) iMSI [9] IMSI OPTIONAL, carrierPreselect [10] BOOLEAN OPTIONAL, lineStatus [11] UTF8String OPTIONAL, -- CSP-specific description of current line status, e.g. "Active", "Ceased", etc. ..., allocatedDeviceIDs [12] SEQUENCE OF TelephonyDeviceID OPTIONAL, pUKCode [13] UTF8String OPTIONAL, pUK2Code [14] UTF8String OPTIONAL, iMEI [15] SEQUENCE OF IMEI OPTIONAL, nationalTelephonySubscriptionInfo [16] NationalTelephonySubscriptionInfo OPTIONAL, -- To be defined on a national basis -- Only to be used in case the present document cannot fulfil the national requirements paymentDetails [17] PaymentDetails OPTIONAL } NationalTelephonySubscriptionInfo ::= SEQUENCE { countryCode [1] UTF8String (SIZE (2)), -- see comment in NationalRequestParameters ... } TelephonyBillingDetails ::= SEQUENCE { subscriberID [1] TelephonySubscriberId OPTIONAL, serviceID [2] UTF8String OPTIONAL, billingAddress [3] ContactDetails OPTIONAL, billingIdentifier [4] BillingIdentifier OPTIONAL, billingRecords [5] SEQUENCE OF BillingRecords OPTIONAL, ..., nationalTelephonyBillingDetails [6] NationalTelephonyBillingDetails OPTIONAL -- To be defined on a national basis -- Only to be used in case the present document cannot fulfil the national requirements } NationalTelephonyBillingDetails ::= SEQUENCE { countryCode [1] UTF8String (SIZE (2)), -- see comment in NationalRequestParameters ... } BillingIdentifier ::= OCTET STRING -- Used to correlate billing information -- useful if the bill-payer is not the subscriber, e.g. company mobiles BillingRecords ::= 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. ..., nationalTelephonyBillingRecords [6] NationalTelephonyBillingRecords OPTIONAL, -- To be defined on a national basis -- Only to be used in case the present document cannot fulfil the national requirements transactionID [7] UTF8String OPTIONAL, -- Unique reference for this transaction/billing record -- Details to be defined on a national basis transactionStatus [8] UTF8String OPTIONAL -- Status of the transaction (i.e. “declined”, “succeeded” etc.) -- Details to be defined on a national bases } NationalTelephonyBillingRecords ::= SEQUENCE { countryCode [1] UTF8String (SIZE (2)), -- see comment in NationalRequestParameters ... } TelephonyServiceType ::= ENUMERATED { private(0), privatePABX(1), publicPayphone(2), ... } -- ================================= -- Definitions of Service Usage Data -- ================================= TelephonyServiceUsage ::= SEQUENCE { partyInformation [1] SEQUENCE OF TelephonyPartyInformation OPTIONAL, -- This parameter provides the concerned party (Originating, Terminating or -- forwarded party), the identity(ies) of the party and all the information -- provided by the party communicationTime [2] TimeSpan OPTIONAL, -- Time and duration of the communication eventInformation [3] SEQUENCE OF TelephonyEventInformation OPTIONAL, -- A list of events that occurred during this service usage endReason [4] INTEGER OPTIONAL, -- Q.850 cause code for call termination communicationType [5] TelephonyCommunicationType OPTIONAL, bearerService [6] TelephonyBearerService OPTIONAL, smsInformation [7] SmsInformation OPTIONAL, ringDuration [8] INTEGER OPTIONAL, ..., mmsInformation [9] MmsInformation OPTIONAL, nationalTelephonyServiceUsage [10] NationalTelephonyServiceUsage OPTIONAL -- To be defined on a national basis -- Only to be used in case the present document cannot fulfil the national requirements } NationalTelephonyServiceUsage ::= SEQUENCE { countryCode [1] UTF8String (SIZE (2)), -- see comment in NationalRequestParameters ... } TelephonyPartyInformation ::= SEQUENCE { partyRole [1] TelephonyPartyRole OPTIONAL, partyNumber [2] PartyNumber OPTIONAL, subscriberID [3] TelephonySubscriberId OPTIONAL, deviceID [4] TelephonyDeviceID OPTIONAL, locations [5] SEQUENCE OF TelephonyLocation OPTIONAL, -- List of cell locations used by this party during the service usage communicationTime [6] TimeSpan OPTIONAL, -- Time and duration of the communication iMSI [8] IMSI OPTIONAL, natureOfAddress [9] UTF8String OPTIONAL, -- Nature of address indicator, e.g. "National", "International" forwardedTransferredNumber [10] PartyNumber OPTIONAL, terminatingTransferredNumber [11] PartyNumber OPTIONAL, ..., emailAddress [12] UTF8String OPTIONAL, -- used for MMS that supports also the use of E-Mail addresses (RFC 5322 [24]) iMEI [13] IMEI OPTIONAL, detailedLocation [14] TelephonyNetworkElement OPTIONAL, -- In the case detailed location information per call and party is available -- (e.g. the geoCoordinates for this partyNumber) nationalTelephonyPartyInformation [15] NationalTelephonyPartyInformation OPTIONAL, -- To be defined on a national basis -- Only to be used in case the present document cannot fulfil the national requirements partyType [16] TelephonyPartyType OPTIONAL, dialledDigits [17] UTF8String OPTIONAL } NationalTelephonyPartyInformation ::= SEQUENCE { countryCode [1] UTF8String (SIZE (2)), -- see comment in NationalRequestParameters ... } TelephonyPartyType ::= CHOICE { voicemail [1] NULL, smsServer [2] NULL, other [3] UTF8String, ... } TelephonyCommunicationType ::= ENUMERATED { telephonyFixedCS(0), telephonyWirelessCS(1), sMS(2), ..., mMS(3) } TelephonyBearerService ::= ENUMERATED { speech(0), data(1), fax(2), ... } SmsInformation ::= SEQUENCE { smsEvent [1] ENUMERATED { shortMessage(1), shortPartMessage(2), compositeMessage(3), notificationMessage(4), ... } OPTIONAL, smsType [2] ENUMERATED { deliverSCtoMS(1), deliverReportMStoSC(2), statusReportSCtoMS(3), commandMStoSC(4), submitMStoSC(5), submitReportSCtoMS(6), reservedMTIValue(7), ... } OPTIONAL, smsStatus [3] ENUMERATED { delivered(0), expired(1), deleted(2), replaced(3), submitted(4), incomplete-submission(5), incomplete-delivery(6), undeliverable(7), passed-on(8), ... } OPTIONAL, smsCmRefNr [4] OCTET STRING (SIZE(1..2)) OPTIONAL, -- format as per 3GPP TS 23.040 [16] smsNumOfSM [5] INTEGER (0..65535) OPTIONAL, smsNotifyInd [6] BOOLEAN OPTIONAL, smsProtocolId [7] OCTET STRING (SIZE(1)) OPTIONAL, -- format as per 3GPP TS 23.040 [16] ... } MmsInformation ::= SEQUENCE { mmsEvent [1] ENUMERATED { message(1), notificationMessage(2), deliveryReportMessage(3), readReplyMessage(4), ... } OPTIONAL, -- type of message exchanged mmsStatus [2] ENUMERATED { delivered(0), expired(1), deleted(2), replaced(3), submitted(4), undeliverable(5), passed-on(6), delivery-rejection(7), delivery-forward(8), delivery-copy(9), submission-rejection(10), submission-failure(11), ..., delivered-application(12) -- optional flag indicating MMS was retrieved using -- something other than mobile deivce e.g. web browser } OPTIONAL, mmsNotifInd [3] BOOLEAN OPTIONAL, -- indication that a delivery notification has been generated mmsMsgMod [4] ENUMERATED { none(1), modified(2), stripped(3), ... } OPTIONAL, -- message modification indication for MMS ... } TelephonyEventInformation ::= SEQUENCE { time [1] GeneralizedTime OPTIONAL, -- time when the event occurred type [2] TelephonyEventType OPTIONAL, -- type of event party [3] TelephonyPartyRole OPTIONAL, -- party to which the event is related location [4] TelephonyLocation OPTIONAL, ... } TelephonyEventType ::= CHOICE { basicEventType [1] BasicEventType, callConferenceEventType [2] CallConferenceEventType, callForwardingEventType [3] CallForwardingEventType, messagingEventType [4] MessagingEventType, prepayServiceEventType [5] PrepayServiceEventType, ..., nationalTelephonyEventType [6] NationalTelephonyEventType -- To be defined on a national basis -- Only to be used in case the present document cannot fulfil the national requirements } NationalTelephonyEventType ::= SEQUENCE { countryCode [1] UTF8String (SIZE (2)), -- see comment in NationalRequestParameters ... } BasicEventType ::= ENUMERATED { handover(1), hold(2), retrieve(3), suspend(4), resume(5), ect(6), mpty(7), mptyHold(8), mptyRetrieve(9), mptySplit(10), uus1(11), uus2(12), uus3(13), serviceSpeech(14), serviceFax(15), tpyInvoke(16), tpyPrivateComm(17), serviceActivation(18), transit(19), mSOriginating(20), callForwarding(21), mSTerminating(22), ..., callAttempt(23), callStart(24), callEnd(25), cliWithheld(26) } CallForwardingEventType ::= ENUMERATED { cfuActivation(1), cfuModification(2), cfuDe-activation(3), cfcNoReplyActivation(4), cfcNoReplyModification(5), cfcNoReplyDe-activation(6), cfcBusyActivation(7), cfcBusyModification(8), cfcBusyDe-activation(9), cfcOutOfRangeActivation(10), cfcOutOfRangeModification(11), cfcOutOfRangeDe-activation(12), cfcUnavailableActivation(13), cfcUnavailableModification(14), cfcUnavailableDe-activation(15), cfuFaxActivation(16), cfuFaxModification(17), cfuFaxDe-activation(18), ... } CallConferenceEventType ::= ENUMERATED { confBeginSeizure(1), confAdd(2), confSplit(3), confIsolate(4), confReattach(5), confDrop(6), confBeginActive(7), ... } MessagingEventType ::= ENUMERATED { mSOriginatingSMSinMSC(1), mSTerminatingSMSinMSC(2), shortMessageDelivery(3), mMMessage(4), mMNotification(5), mMDeliveryReport(6), mMReadReply(7), ... } PrepayServiceEventType ::= ENUMERATED { serviceActivation(1), ... } TelephonyLocation ::= SEQUENCE { telephonyNetworkID [1] TelephonyNetworkID OPTIONAL, -- ID of the network element location (e.g. Cell ID) timeSpan [2] TimeSpan OPTIONAL, -- Time span that this location was valid for ..., nationalTelephonyLocation [3] NationalTelephonyLocation OPTIONAL -- To be defined on a national basis -- Only to be used in case the present document cannot fulfil the national requirements } NationalTelephonyLocation ::= SEQUENCE { countryCode [1] UTF8String (SIZE (2)), -- see comment in NationalRequestParameters ... } TelephonyPartyRole ::= ENUMERATED { originating-Party(0), terminating-Party(1), forwarded-to-Party(2), originalCalled(3), redirecting(4), connected(5), userProvidedCalling(6), roaming(7), translated(8), singlePersonalNumber(9), smsOriginator(10), smsRecipient(11), smsOriginatorTrn(12), smsRecipientTrn(13), ..., mmsOriginator(14), mmsRecipient(15), mmsOriginatorTrn(16), mmsRecipientTrn(17) } -- ======================= -- Device Data definitions -- ======================= TelephonyDevice ::= SEQUENCE { deviceIDType [1] ENUMERATED -- Type of identifier for telephony device { unknown(0), imei(1), macAddress(2), ... } OPTIONAL, telephonyDeviceID [2] TelephonyDeviceID OPTIONAL, -- Unique identifier for this telephony device according to type of identifier ..., subscriberID [3] TelephonySubscriberId OPTIONAL, -- Identifier for a known user of this equipment. -- Usage of this parameter is subject to national legislation. nationalTelephonyDevice [4] NationalTelephonyDevice OPTIONAL -- To be defined on a national basis -- Only to be used in case the present document cannot fulfil the national requirements } NationalTelephonyDevice ::= SEQUENCE { countryCode [1] UTF8String (SIZE (2)), -- see comment in NationalRequestParameters ... } TelephonyDeviceID ::= OCTET STRING -- A unique identifier for the telephony device. For example, the IMEI number -- of a mobile handset -- ======================== -- Network Data definitions -- ======================== TelephonyNetworkElement ::= SEQUENCE { telephonyNetworkID [1] TelephonyNetworkID OPTIONAL, cellInformation [2] Location OPTIONAL, -- The Location information id validity [3] TimeSpan OPTIONAL, ..., nationalTelephonyNetworkElement [4] NationalTelephonyNetworkElement OPTIONAL, -- To be defined on a national basis -- Only to be used in case the present document cannot fulfil the national requirements transmitterDetails [5] TransmitterDetails OPTIONAL } NationalTelephonyNetworkElement ::= SEQUENCE { countryCode [1] UTF8String (SIZE (2)), -- see comment in NationalRequestParameters ... } TelephonyNetworkID ::= OCTET STRING -- Unique identifier for this network element: e.g. a Cell ID TransmitterDetails ::= SEQUENCE { alternativeID [1] UTF8String OPTIONAL, -- For use by CSPs with an alternative naming scheme for cells beamWidth [2] INTEGER OPTIONAL, -- beam width in degrees -- note that the beam bearing is given in the gsmLocation Azimuth field radiatedPower [3] INTEGER OPTIONAL, -- Effective radiated power in watts. antennaHeight [4] INTEGER OPTIONAL, -- Height of antenna from ground in metres range [5] INTEGER OPTIONAL, -- Indication of range or radius of cell or sector coverage, in metres -- Precise definition is to be decided on a national basis (e.g. distance -- at which some fixed percentage of calls are connected) frequency [6] INTEGER OPTIONAL, -- transmitter frequency in kHz technology [7] TransmitterTechnology OPTIONAL, nationalTransmitterDetails [8] NationalTransmitterDetails OPTIONAL, ... } TransmitterTechnology ::= ENUMERATED { gen2G(0), gen3G(1), ... } NationalTransmitterDetails ::= SEQUENCE { countryCode [1] UTF8String (SIZE (2)), -- see comment in NationalRequestParameters ... } -- ==================== -- Location information -- ==================== Location ::= SEQUENCE { e164-Number [1] OCTET STRING (SIZE (1..25)) OPTIONAL, -- Coded in the same format as the ISUP location number (parameter -- field) of the ISUP (see EN 300 356 [7]) globalCellID [2] OCTET STRING (SIZE (5..7)) OPTIONAL, -- See MAP format (see 3GPP TS 09.02 [8]) rAI [3] OCTET STRING (SIZE (6)) OPTIONAL, -- The Routeing Area Identifier (RAI) in the current SGSN is coded in accordance with -- 3GPP TS 24.008 [9] without the Routing Area Identification IEI (only the -- last 6 octets are used) gsmLocation [4] GSMLocation OPTIONAL, umtsLocation [5] UMTSLocation OPTIONAL, sAI [6] OCTET STRING (SIZE (7)) OPTIONAL, -- format: PLMN-ID 3 octets (no. 1-3) -- LAC 2 octets (no. 4-5) -- SAC 2 octets (no. 6-7) -- (according to 3GPP TS 25.413 [31]) oldRAI [7] OCTET STRING (SIZE (6)) OPTIONAL, -- the "Routeing Area Identifier" in the old SGSN is coded in accordance with -- 3GPP TS 24.008 [9] without the Routing Area Identification IEI -- (only the last 6 octets are used) -- This parameter is duplicated from 3GPP TS 33.108 [11] ..., postalLocation [8] AddressInformation OPTIONAL, extendedLocation [9] ExtendedLocation OPTIONAL, userLocationInformation [10] OCTET STRING (SIZE(1..35)) OPTIONAL -- coded according to 3GPP TS 29.274 [32]; the type IE is not included } GSMLocation ::= CHOICE { geoCoordinates [1] SEQUENCE { latitude [1] UTF8String (SIZE(7..10)) OPTIONAL, -- format: XDDMMSS.SS longitude [2] UTF8String (SIZE(8..11)) OPTIONAL, -- format: XDDDMMSS.SS mapDatum [3] MapDatum OPTIONAL, azimuth [4] INTEGER (0..359) OPTIONAL, -- The azimuth is the bearing, relative to true north ... }, -- format: XDDMMSS.SS (on latitudes) or XDDDMMSS.SS (on longitudes) -- X : N(orth), S(outh), E(ast), W(est) -- DD or DDD : degrees (numeric characters) -- MM : minutes (numeric characters) -- SS.SS : seconds, the second part (.SS) is optional -- Example: -- latitude (short form) N502312 -- longitude (long form) E1122312.18 utmCoordinates [2] SEQUENCE { utm-Zone [1] UTF8String (SIZE(3)) OPTIONAL, utm-East [2] UTF8String (SIZE(6)) OPTIONAL, utm-North [3] UTF8String (SIZE(7)) OPTIONAL, -- Universal Transverse Mercator -- example utm-Zone 32U -- utm-East 439955 -- utm-North 5540736 mapDatum [4] MapDatum OPTIONAL, azimuth [5] INTEGER (0..359) OPTIONAL, -- The azimuth is the bearing, relative to true north ... }, utmRefCoordinates [3] SEQUENCE { utm-GridZone [1] UTF8String (SIZE(2)) OPTIONAL, -- numerals from 1 to 60 utm-GridBand [2] UTF8String (SIZE(1)) OPTIONAL, -- character between C and X squareID [3] UTF8String (SIZE(2)) OPTIONAL, -- characters from A to Z numericalLocationEasting [4] UTF8String (SIZE(5)) OPTIONAL, numericalLocationNorthing [5] UTF8String (SIZE(5)) OPTIONAL, -- Universal Transverse Mercator Reference = Military Grid Reference System (MGRS) -- example utm-GridZone 32 -- utm-GridBand U -- squareID PU -- numericalLocationEasting 9129 -- mumericalLocationNorthing 4045 -- In both panels, utm-GridBand and squareID the 'I' and 'O' characters are not used -- because of their similarity to the digits one and zero. mapDatum [6] MapDatum OPTIONAL, azimuth [7] INTEGER (0..359) OPTIONAL, -- The azimuth is the bearing, relative to true north ... }, wGS84Coordinates [4] OCTET STRING, -- format is as defined in 3GPP TS 03.32 [12] ..., geoCoordinatesDec [5] SEQUENCE { latitudeDec [1] UTF8String (SIZE(3..12)) OPTIONAL, -- format: XDD.nnnnnnnn longitudeDec [2] UTF8String (SIZE(4..13)) OPTIONAL, -- format: XDDD.nnnnnnnn mapDatum [3] MapDatum OPTIONAL, azimuth [4] INTEGER (0..359) OPTIONAL, -- The azimuth is the bearing, relative to true north ... } -- format: XDD.nnnnnnnn (on latitudes) or XDDD.nnnnnnnn (on longitudes) -- X : N(orth), S(outh), E(ast), W(est) -- DD or DDD : degrees (numeric characters) -- nnnnnnnn : post decimal positions (numeric characters) -- Example: -- latitude N50.38666667 -- longitude E112.38671670 } MapDatum ::= ENUMERATED { wGS84(1), -- World Geodetic System 1984 wGS72(2), eD50(3), -- European Datum 50 rD(4), -- Rijks Driehoek (Netherlands) potsdamDatum(5), datumAustria(6), eTRS89(7), -- European Terrestrial Reference System 1989 nAD27(8), -- North American Datum 1927 oSGB36(9), -- Ordnance Survey of Great Britain oSNI52(10), -- Ordnance Survey of Northern Ireland tM65(11), iTM(12), -- Irish Transverse Mercator ..., cH1903(13) -- Swiss reference system } UMTSLocation ::= CHOICE { point [1] GA-Point, pointWithUnCertainty [2] GA-PointWithUnCertainty, polygon [3] GA-Polygon, ... } GeographicalCoordinates ::= SEQUENCE { latitudeSign [1] ENUMERATED { north(0), south(1) } OPTIONAL, latitude [2] INTEGER (0..8388607) OPTIONAL, longitude [3] INTEGER (-8388608..8388607) OPTIONAL, ..., mapDatum [4] MapDatum OPTIONAL, azimuth [5] INTEGER (0..359) OPTIONAL -- The azimuth is the bearing, relative to true north } GA-Point ::= SEQUENCE { geographicalCoordinates [1] GeographicalCoordinates, ... } GA-PointWithUnCertainty ::=SEQUENCE { geographicalCoordinates [1] GeographicalCoordinates, uncertaintyCode [2] INTEGER (0..127) } maxNrOfPoints INTEGER ::= 15 GA-Polygon ::= SEQUENCE (SIZE (1..maxNrOfPoints)) OF GA-Polygon-Elements GA-Polygon-Elements ::= SEQUENCE { geographicalCoordinates [1] GeographicalCoordinates, ... } ExtendedLocation ::= CHOICE { spot [1] Spot, circle [2] Circle, region [3] Region, route [4] Route, ... } Spot ::= CHOICE { gsmLocation [1] GSMLocation, postalLocation [2] AddressInformation, ... } Circle ::= SEQUENCE { centre [1] Spot, radius [2] HorizontalExtent, ... } Region ::= SEQUENCE { cornerMarks [1] SEQUENCE OF Spot, ... } Route ::= SEQUENCE { routeMarks [1] SEQUENCE OF Spot, width [2] HorizontalExtent OPTIONAL, ... } HorizontalExtent ::= INTEGER -- metres -- =================== -- General definitions -- =================== PartyNumber ::= UTF8String -- E.164 address of the party in international format MessageRecord ::= CHOICE { msgSubscriber [1] MsgSubscriber, msgServiceUsage [2] MsgServiceUsage, ..., msgBillingDetails [3] MsgBillingDetails } -- ====================================== -- Definitions of Message Subscriber Data -- ====================================== MsgSubscriber ::= SEQUENCE -- Generic information on a service subscriber, supplemented with information specific to -- asynchronous message services { validity [1] TimeSpan OPTIONAL, subscriberID [2] MsgSubscriberID OPTIONAL, msgStores [3] SEQUENCE OF MsgStore OPTIONAL, -- message stores allocated to this subscriber subscriber [4] GenericSubscriberInfo OPTIONAL, ..., paymentDetails [5] PaymentDetails OPTIONAL } MsgSubscriberID ::= OCTET STRING -- Unique identifier for this subscriber, e.g. account number MsgStore ::= SEQUENCE -- Location into which messages are temporarily stored. All asynchronous message services by -- definition require some message store. E.g. in the case of e-mail this will be a mailbox { validity [1] TimeSpan OPTIONAL, msgStoreID [2] MsgStoreID OPTIONAL, aliases [3] SEQUENCE OF MsgAddress OPTIONAL, -- The complete list of all addresses that get delivered into this message store. providerID [4] MsgProviderID OPTIONAL, ... } MsgStoreID ::= OCTET STRING -- Unique identifier of the message store. Since not all IDs will necessarily be human -- readable, a generic byte string is used MsgAddress ::= UTF8String -- Messaging address, an address to which messages can be sent. In the case of Internet e-mail -- this will be an RFC822-style address -- NOTE – as of v1.2.1, this field has changed from OCTET STRING to UTF8String MsgProviderID ::= UTF8String -- Unique identifier for a service provider, e.g. company name -- NOTE – as of v1.2.1, this field has changed from OCTET STRING to UTF8String -- ==================================== -- Definitions of Message Service Usage -- ==================================== MsgServiceUsage ::= CHOICE -- Choice of different types of activities -- Manipulation of stored address books is outside the scope { msgTransmission [1] MsgTransmission, msgStoreOperation [2] MsgStoreOperation, ... } MsgTransmission ::= SEQUENCE -- Sending of an outgoing message, or reception of an incoming message { dateTime [1] GeneralizedTime OPTIONAL, subscriberID [2] MsgSubscriberID OPTIONAL, senderAddress [3] MsgAddress OPTIONAL, recipients [4] SEQUENCE OF MsgAddress OPTIONAL, msgStores [5] SEQUENCE OF MsgStoreID OPTIONAL, -- List of all local msgStores that received a copy of the message -- For transit messages this field is not used deliveryStatus [6] ENUMERATED { unknown(0), succeeded(1), -- Delivery might still fail at a subsequent mail server failed(2), -- E.g. when mailbox quota exceeded (mailbox full) retried(3), -- Deferred and retried at a later time ... } OPTIONAL, protocol [7] ENUMERATED { smtp(0), x400(1), ... } OPTIONAL, clientID [8] IPAddress OPTIONAL, serverID [9] IPAddress OPTIONAL, ..., messageID [10] MessageID OPTIONAL, sourceServerName [11] UTF8String OPTIONAL, destinationServerName [12] UTF8String OPTIONAL } MsgStoreOperation ::= SEQUENCE -- Manipulation of a message store. { dateTime [1] GeneralizedTime OPTIONAL, subscriberID [2] MsgSubscriberID OPTIONAL, msgStore [3] MsgStoreID OPTIONAL, operation [4] ENUMERATED { connect(0), -- Successful authorization for access to msgStore disconnect(1), retrieveMsg(2), -- Viewing msg using a webmail client is also considered retrieval partialretrieveMsg(3), -- E.g. the TOP command in POP3 deleteMsg(4), addMsg(5), -- E.g. the APPEND command in IMAP ..., editMsg(6) } OPTIONAL, senderAddress [5] MsgAddress OPTIONAL, -- For Internet email, use the From address in the mail headers recipients [6] SEQUENCE OF MsgAddress OPTIONAL, -- For Internet email, use the To, CC, and BCC addresses in the mail headers protocol [7] ENUMERATED { pop(0), imap(1), ..., webmail(2) } OPTIONAL, clientID [8] IPAddress OPTIONAL, serverID [9] IPAddress OPTIONAL, ..., messageID [10] MessageID OPTIONAL } MessageID ::= UTF8String -- Unique identifier for this message, e.g RFC 822 header -- ============================== -- Definitions of Billing Data -- ============================== MsgBillingDetails ::= SEQUENCE { subscriberID [1] MsgSubscriberID OPTIONAL, serviceID [2] UTF8String OPTIONAL, billingAddress [3] ContactDetails OPTIONAL, billingIdentifier [4] MsgBillingIdentifier OPTIONAL, billingRecords [5] SEQUENCE OF MsgBillingRecords OPTIONAL, nationalMsgBillingDetails [6] NationalMsgBillingDetails OPTIONAL, -- To be defined on a national basis -- Only to be used in case the present document cannot fulfil the national requirements ... } NationalMsgBillingDetails ::= SEQUENCE { countryCode [1] UTF8String (SIZE (2)), -- see comment in NationalRequestParameters ... } MsgBillingIdentifier ::= OCTET STRING -- Used to correlate billing information -- useful if the bill-payer is not the subscriber, e.g. company mobiles MsgBillingRecords ::= 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. nationalMsgBillingRecords [6] NationalMsgBillingRecords OPTIONAL, -- To be defined on a national basis -- Only to be used in case the present document cannot fulfil the national requirements ..., msgTransactionID [7] UTF8String OPTIONAL, -- Unique reference for this transaction/billing record -- Details to be defined on a national basis mgsTransactionStatus [8] UTF8String OPTIONAL -- Status of the transaction (i.e. “declined”, “succeeded” etc.) -- Details to be defined on a national bases } NationalMsgBillingRecords ::= SEQUENCE { countryCode [1] UTF8String (SIZE (2)), -- see comment in NationalRequestParameters ... } MultimediaRecord ::= CHOICE { multimediaSubscriber [1] MultimediaSubscriber, multimediaBillingDetails [2] MultimediaBillingDetails, multimediaServiceUsage [3] MultimediaServiceUsage, ... } -- ============================== -- Definitions of Subscriber Data -- ============================== MultimediaSubscriber ::= SEQUENCE { subscriberID [1] MultimediaSubscriberID OPTIONAL, -- unique identifier for this subscriber, e.g. account number genericSubscriberInfo [2] GenericSubscriberInfo OPTIONAL, -- generic personal information about this subscriber multimediaSubscriberInfo [3] MultimediaSubscriberInfo OPTIONAL, -- service-specific information about this subscriber subscribedMultimediaServices [4] SEQUENCE OF SubscribedMultimediaServices OPTIONAL, -- a subscriber (or account) may have more than one service listed against them ... } MultimediaSubscriberInfo ::= SEQUENCE { nationalMultimediaSubscriberInfo [1] NationalMultimediaSubscriberInfo OPTIONAL, ... } MultimediaSubscriberID ::= UTF8String -- unique identifier for this subscriber, e.g. account number SubscribedMultimediaServices ::= SEQUENCE { serviceID [1] UTF8String OPTIONAL, -- Unique identifier for this service within the operator providerID [2] UTF8String OPTIONAL, -- Unique identifier for the service provider timeSpan [3] TimeSpan OPTIONAL, -- Start and end data, if applicable, of the subscription registeredIdentifiers [4] SEQUENCE OF PartyIdentity OPTIONAL, -- The set of identifiers registered for this service registeredICCID [5] UTF8String OPTIONAL, serviceType [6] MultimediaServiceType OPTIONAL, installationAddress [7] AddressInformation OPTIONAL, -- installation address, if different from the registered address connectionDate [8] GeneralizedTime OPTIONAL, -- Date the subscriber was actually connected -- (May differ from the start of subscription) iMSI [9] IMSI OPTIONAL, carrierPreselect [10] BOOLEAN OPTIONAL, lineStatus [11] UTF8String OPTIONAL, -- CSP-specific description of current line status, -- e.g. "Active", "Ceased", etc. nationalMultimediaServices [12] NationalMultimediaServices OPTIONAL, -- national extension ..., paymentDetails [13] PaymentDetails OPTIONAL } MultimediaServiceType ::= ENUMERATED { private(0), privatePABX(1), publicPayphone(2), geographicalfixed(3), geographicalindependent(4), ... } -- ================================= -- Definitions of Service Usage Data -- ================================= MultimediaServiceUsage ::= SEQUENCE { partyInformation [1] SEQUENCE OF MultimediaPartyInformation OPTIONAL, -- This parameter provides the concerned party (Originating, Terminating or -- forwarded party), the identity(ies) of the party and all the information -- provided by the party communicationTime [2] TimeSpan OPTIONAL, -- Time and duration of the communication reasonCause [3] INTEGER OPTIONAL, -- cause code for call termination e.g. SIP Reason code communicationType [4] MultimediaCommunicationType OPTIONAL, bearerService [5] MultimediaBearerService OPTIONAL, qualityOfService [6] QualityOfService OPTIONAL, ringDuration [7] INTEGER OPTIONAL, callID [8] MultimediaCallID OPTIONAL, originalCallID [9] MultimediaCallID OPTIONAL, callState [10] ENUMERATED { bNotReached(1), bAlert(2), bAnswered(3), ... } OPTIONAL, answerTime [11] GeneralizedTime OPTIONAL, contentType [12] SEQUENCE OF UTF8String OPTIONAL, mediaComponents [13] SEQUENCE OF MediaComponent OPTIONAL, imsInformation [14] ImsInformation OPTIONAL, nationalMultimediaServiceUsage [15] NationalMultimediaServiceUsage OPTIONAL, serviceID [16] UTF8String OPTIONAL, providerID [17] UTF8String OPTIONAL, ... } MultimediaPartyInformation ::= SEQUENCE { partyRole [1] MultimediaPartyRole OPTIONAL, partyIdentity [2] PartyIdentity OPTIONAL, subscriberID [3] MultimediaSubscriberID OPTIONAL, communicationTime [4] TimeSpan OPTIONAL, -- Time and duration of the communication iMSI [6] IMSI OPTIONAL, natureOfAddress [7] UTF8String OPTIONAL, -- Nature of address indicator, e.g. "National", "International" uRI [8] UTF8String OPTIONAL, partyNumber [9] PartyNumber OPTIONAL, naAssignedAddress [10] NAAssignedAddress OPTIONAL, forwardedTransferredIdentifier [11] PartyIdentity OPTIONAL, terminatingTransferredIdentifier [12] PartyIdentity OPTIONAL, nationalMultimediaPartyInformation [13] NationalMultimediaPartyInformation OPTIONAL, ..., userAgent [14] UTF8String OPTIONAL, -- e.g. SIP User-Agent field (see RFC 3261 [26]) octetsUploaded [15] INTEGER OPTIONAL, octetsDownloaded [16] INTEGER OPTIONAL } MultimediaCallID ::= UTF8String MultimediaCommunicationType ::= ENUMERATED { multimediaFixed(0), multimediaWireless(1), multimediaNetworkIndependent(2), ... } MultimediaPartyRole ::= ENUMERATED { calling(0), called(1), calledAssertedIdentity(2), calledApplicationServer(3), originalCalled(4), redirecting(5), multimediaNetworkIndependent(6), directory(7), broadcastReceiver(8), broadcastSender(9), ... } 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, ... } ImsServiceInfo ::= SEQUENCE { serviceData [1] OCTET STRING OPTIONAL, -- service data serviceType [2] INTEGER OPTIONAL, -- service type ... } MediaComponent ::= SEQUENCE { 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, ... } -- ============================== -- 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 ... } 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 QualityOfService ::= UTF8String -- Free text description of the invoked quality of service NationalMultimediaSubscriberInfo ::= SEQUENCE { countryCode [1] UTF8String (SIZE (2)), -- see comment in NationalRequestParameters ... } NationalMultimediaServices ::= SEQUENCE { 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 ... } NetworkAccessRecord::= CHOICE { naSubscriber [1] NASubscriber, naServiceUsage [2] NAServiceUsage, naDevice [3] NADevice, naNetworkElement [4] NANwElement, naBillingDetails [5] NABillingDetails, ... } -- ============================================= -- 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 ... } NAServiceSubscription ::= SEQUENCE -- 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 } NationalNASubscription ::= SEQUENCE -- 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 } NAEndReason ::= ENUMERATED { 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), ... } NwAccessType ::= ENUMERATED { 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. ... } DialUpInformation ::= SEQUENCE { 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 ... } GprsInformation ::= SEQUENCE { 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. } GPRSEvent ::= ENUMERATED { pDPContextActivation(1), pDPContextDeactivation(4), gPRSAttach(5), gPRSDetach(6), locationInfoUpdate(10), -- sMS ommited from 3GPP TS 33.108 [11], pDPContextModification(11), servingSystem(12), ... } EPSInformation ::= SEQUENCE { 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 3GPP TS 29.274 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), -- RAT Type coding according to 3GPP TS 29.274 clause 8.17 ePSEvent [15] EPSEvent 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 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' DynamicAddressFlag ::= BOOLEAN -- TRUE if the PDP/PDN address is dynamic. -- FALSE if IPv4 address is static when PDN type is IPv6 or IPv4v6 DynamicAddressFlagExt ::= BOOLEAN -- 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. EPSEvent ::= ENUMERATED -- The list of “EPSEvent” below is partly taken from 3GPP TS 33.108 -- EpsHI2Operations from the “EPSEvent ::=ENUMERATED” module { e-UTRANAttach (16), e-UTRANDetach (17), bearerActivation (18), bearerModification (20), bearerDeactivation (21), trackingAreaUpdate (25), servingEvolvedPacketSystem (26), ... } -- ==================================== -- Definitions of Network Access Device -- ==================================== NADeviceId ::= UTF8String NADevice ::= SEQUENCE { naDeviceId [1] NADeviceId OPTIONAL, -- Identifier of this device. description [2] UTF8String OPTIONAL, -- Human readable description of device location [3] Location OPTIONAL, macAddress [4] OCTET STRING (SIZE (6)) OPTIONAL, -- MAC or ethernet address dslID [5] UTF8String OPTIONAL, imei [6] IMEI OPTIONAL, ..., subscriberID [7] NaSubscriberID OPTIONAL } IMEI ::= OCTET STRING (SIZE(8)) -- format as per 3GPP TS 09.02 [8] -- NOTE: When comparing IMEIs, an IMEI can be considered “equal to” the requested IMEI even -- if the checksum or software version digits are different or not present. IMSI ::= OCTET STRING (SIZE(3..8)) -- format as per 3GPP TS 09.02 [8] -- ====================================== -- Definitions of Message Network element -- ====================================== NANwElementID ::= UTF8String NANwElement ::= SEQUENCE -- In this context, the network element is more commonly referred to as NAS { validity [1] TimeSpan OPTIONAL, -- Period for which this interval is valid naNwElementID [2] NANwElementID OPTIONAL, -- Unique ID of this NAS (Network Access Server) naProviderID [3] NAProviderID OPTIONAL, -- Unique identifier of the provider managing this NAS. supportedAccessTypes [4] SEQUENCE OF NwAccessType OPTIONAL, location [5] Location OPTIONAL, ... } IPAddress ::= CHOICE { iPv4BinaryAddress [1] OCTET STRING (SIZE(4)), iPv6BinaryAddress [2] OCTET STRING (SIZE(16)), iPTextAddress [3] IA5String (SIZE(7..45)), ... } NAAssignedAddress ::= SEQUENCE { addressSetOrRangeOrMask [1] IPAddressSetOrRangeOrMask OPTIONAL, portNumber [2] INTEGER OPTIONAL, -- populated with the outbound port number addressType [3] ENUMERATED { unknown(0), internal(1), external(2), ... } OPTIONAL, assignedTime [4] TimeSpan OPTIONAL, ..., destinationAddress [5] IPAddress OPTIONAL, -- used in cases where a single external IP/port pair is translated to multiple internal -- IP/port pairs, with the destination IP/port used to multiplex them destinationPort [6] INTEGER OPTIONAL -- used in cases where a single external IP/port pair is translated to multiple internal -- IP/port pairs, with the destination IP/port used to multiplex them } IPAddressSetOrRangeOrMask ::= CHOICE { set [0] SEQUENCE OF IPAddress, range [1] IPRange, mask [2] IPMask } IPRange ::= SEQUENCE -- Things like 172.16.10.0/26 { prefix [0] IPAddress, subnetlength [1] INTEGER (1..128) } IPMask ::= SEQUENCE -- Things like 172.16.10.0/255.255.255.240 { base [0] IPAddress, mask [1] IPAddress } NABillingDetails ::= SEQUENCE { subscriberID [1] NaSubscriberID OPTIONAL, serviceID [2] UTF8String OPTIONAL, billingAddress [3] ContactDetails OPTIONAL, billingIdentifier [4] BillingIdentifier OPTIONAL, billingRecords [5] SEQUENCE OF BillingRecords OPTIONAL, ..., naTransactionID [6] UTF8String OPTIONAL, -- Unique reference for this transaction/billing record -- Details to be defined on a national basis naTransactionStatus [7] UTF8String OPTIONAL -- Status of the transaction (i.e. “declined”, “succeeded” etc.) -- Details to be defined on a national basis } END -- end of RDMessage