Commit 4114e287 authored by canterburym's avatar canterburym
Browse files

TS 102 657 v1.1.2 (2008-12-17) agreed at LI#19 (Prague, 2008-09-30)

parent 1dd8bf43
Pipeline #3935 passed with stage
in 5 seconds
RDMessage {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) retainedData(3) rdHeader(0) version1(1)}
DEFINITIONS IMPLICIT TAGS ::=
BEGIN
-- =============================
-- Object Identifier Definitions
-- =============================
retainedDataDomainId OBJECT IDENTIFIER ::= {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) retainedData(3)}
rdHeaderId OBJECT IDENTIFIER ::= {retainedDataDomainId rdHeader(0) version1(1)}
-- ======================================
-- 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,
...
}
-- ==================================================
-- Definitions of Request message and acknowledgement
-- ==================================================
RequestMessage ::= SEQUENCE
{
requestPriority [1] RequestPriority,
requestParameters [2] RequestConstraints,
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 6.3.3.2)
nationalRequestParameters [5] NationalRequestParameters OPTIONAL,
-- to be defined on a national basis
-- only to be used in case the present document can not fulfil the national requirements
...
}
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.3)
-- 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 can not fulfil the national requirements
...
}
ResponseStatus ::= CHOICE
{
responseComplete [1] NULL,
-- No further results to come
responseIncomplete [2] NULL,
-- There may be further results to come
responseUnavailable [3] NULL,
-- See clause 6.3.3
responseFailed [4] FurtherInformation,
-- See clause 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,
...
}
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,
messageRecord [2] MessageRecord,
networkAccess [3] NetworkAccessRecord,
-- other services will be included (like multimedia) as they are implemented
...
}
ResponseAcknowledgement ::= CHOICE
{
-- acknowledges a response has been sent
acknowledgeCompleteResults [1] NULL,
acknowledgePartialResults [2] NULL,
...
}
-- ==================================================
-- 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
...
}
TimeSpan ::= SEQUENCE
{
startTime [1] GeneralizedTime OPTIONAL,
endTime [2] GeneralizedTime OPTIONAL,
...
}
-- ==============================================
-- 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,
...
}
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”
...
}
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
...
}
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
...
}
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
...
}
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 subsription
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.
...
}
TelephonyBillingDetails ::= SEQUENCE
{
subscriberID [1] TelephonySubscriberId OPTIONAL,
serviceID [2] UTF8String OPTIONAL,
billingAddress [3] ContactDetails OPTIONAL,
billingIdentifier [4] BillingIdentifier OPTIONAL,
billingRecords [5] SEQUENCE OF BillingRecords OPTIONAL,
...
}
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.
...
}
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,
...
}
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
iCCID [7] UTF8String OPTIONAL,
-- Integrated Circuit Card ID (ICCID) number of the party, in ASCII format
iMSI [8] IMSI OPTIONAL,
natureOfAddress [9] UTF8String OPTIONAL,
-- Nature of address indicator, e.g. “National”, “International”
forwardedTransferredNumber [10] PartyNumber OPTIONAL,
terminatingTransferredNumber [11] PartyNumber OPTIONAL,
...
}
TelephonyCommunicationType ::= ENUMERATED
{
telephonyFixedCS(0),
telephonyWirelessCS(1),
sMS(2),
...
}
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 23.040 [16]
smsNumOfSM [5] INTEGER (0..65535) OPTIONAL,
smsNotifyInd [6] BOOLEAN OPTIONAL,
smsProtocolId [7] OCTET STRING (SIZE(1)) OPTIONAL,
-- format as per 3GPP 23.040 [16]
...
}
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,
...
}
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),
...
}
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),