RDMessage.asn 86.5 KB
Newer Older
1
RDMessage {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) retainedData(3) rdHeader(0) version23(23)}
2 3 4 5 6 7

DEFINITIONS IMPLICIT TAGS ::=

BEGIN

-- =============================
8
-- Object Identifier definitions
9 10
-- =============================

11
-- RetainedData DomainId
12 13
retainedDataDomainId OBJECT IDENTIFIER ::= {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) retainedData(3)}

14
-- rdHeader
15
rdHeaderId OBJECT IDENTIFIER ::= {retainedDataDomainId rdHeader(0) version23(23)}
16 17 18 19 20 21 22

-- ======================================
-- Top level definitions for RDHI wrapper
-- ======================================

RetainedDataMessage ::= SEQUENCE
{
23
	rdHeaderId				[0] OBJECT IDENTIFIER,
24
	retainedDataHeader		[1] RetainedDataHeader,
25
	retainedDataPayload		[2] RetainedDataPayload,
26
	retainedDataDigest		[3] OCTET STRING OPTIONAL,
27 28
		-- The digitally signed hash of the combined fields above (retainedDataHeader and
		-- retainedDataPayload)
29 30
	...
}
31

32 33 34 35 36 37 38 39 40 41
-- ==========================================================================
-- 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,
42
	... ,
43 44 45 46
	requestType		[5] RequestType OPTIONAL,
	requestFlag		[6] RequestFlag OPTIONAL
		-- Optional parameter specifying additional information associated with the request.

47 48 49 50 51
}

CSPID ::= UTF8String
	-- Unique identifier for the CSP that issued the request

52 53 54
RequestType ::= UTF8String
-- Description or reference of the type of Retained Data request

55 56 57
RequestFlag ::= UTF8String
	-- Configuration information associated with the request

58 59
RequestID ::= SEQUENCE
{
60 61
	countryCode					[1] CountryCode,
	authorisedOrganisationID	[2] AuthorisedOrganisationID,
62 63 64
	requestNumber				[3] RequestNumber OPTIONAL,
		-- all messages except GetStatusMessage and StatusMessage have a request number
		-- (see clause 6.1.2)
65 66 67
	...,
	externalIdentifier			[4]	ExternalIdentifier OPTIONAL
		-- Optional identifier for the request, for correlation with warrant management systems.
68 69 70 71 72 73 74 75 76 77 78
}

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

79 80
ExternalIdentifier ::= UTF8String

81 82 83 84 85 86 87
-- =================================================
-- Definitions for Retained Data payload information
-- =================================================

RetainedDataPayload ::= CHOICE
	-- Payload can be a request, response, error or acknowledgement
{
88 89 90 91 92 93 94 95 96 97
	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,
98 99 100
	...,
	supplementaryRequest		[11] SupplementaryRequest,
	supplementaryResponse		[12] SupplementaryResponse
101 102 103 104 105 106 107 108
}

-- ==================================================
-- Definitions of Request message and acknowledgement
-- ==================================================

RequestMessage ::= SEQUENCE
{
109 110 111
	requestPriority				[1] RequestPriority OPTIONAL,
	requestParameters			[2] RequestConstraints OPTIONAL,
		-- Optional only in case a warrant is transmitted independently of a request
112 113 114 115 116
	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
117
		-- In case of maxHit a responseFailed message is sent and no data is sent
118
		-- This parameter shall not be used simultaneously with the numberOfRecordsLimit parameter.
119
		-- (see clause 6.3.3.2)
120
	nationalRequestParameters	[5] NationalRequestParameters OPTIONAL,
121
		-- To be defined on a national basis
122
		-- Only to be used in case the present document cannot fulfil the national requirements
123
		-- or to transmit a warrant.
124
	...,
125
	maxRecordsPerBatch			[6] INTEGER OPTIONAL,
126 127
		-- Indicates that multi-part delivery shall be used and each ResponseMessage shall not
		-- contain more records than specified. (see clause 6.3.3.3)
128
	requestedData				[7] SEQUENCE OF UTF8String OPTIONAL,
129 130
		-- only to use in case of selective requests, it contains
		-- the path to the selected parameter in XPATH notation
131 132 133 134
	numberOfRecordsLimit		[8] INTEGER OPTIONAL
		-- Indicates the upper limit on the number of records to be provided by the CSP.
		-- This parameter shall not be used simultaneously with the maxHits parameter.
		-- (see clause 6.3.3.4)
135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164
}

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
{
165
	suggestedCompletionTime		[1] GeneralizedTime OPTIONAL,
166 167
		-- Indicative time that results will be ready
		-- Purely informational, not binding for either party
168 169 170 171 172 173 174
	...
}

-- ===================================================
-- Definitions of Response message and acknowledgement
-- ===================================================

175
ResponseMessage ::= SEQUENCE
176 177 178 179
{
	responseStatus				[1] ResponseStatus,
	responsePayload				[2] SEQUENCE OF ResponseRecord OPTIONAL,
		-- Clause 6 explains use of this field
180
		-- A responseUnavailable message shall not have a responsePayload (see clause 5.3.1)
181 182 183 184
		-- 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
185
		-- only to be used in case the present document cannot fulfil the national requirements
186
	...,
187
	responseNumber				[4] INTEGER OPTIONAL,
188
		-- number to identify partial results within parallel multi-part delivery
189 190 191 192
	numberOfRecordsFound			[5] INTEGER OPTIONAL
		-- Indicates the total number of records found by the CSP when the value set in the 
		-- numberOfRecordsLimit has been reached or exceeded.
		-- (see clause 6.3.3.4)
193 194 195 196
}

ResponseStatus	::= CHOICE
{
197
	responseComplete		[1] NULL,
198
		-- No further results to come
199
	responseIncomplete		[2] NULL,
200
		-- There will be at least one further response message to come
201
	responseUnavailable		[3] NULL,
202
		-- See clause 5.3.1
203
	responseFailed			[4] FurtherInformation,
204
		-- See clauses 6.2.2.2 and 6.3.3.2
205 206 207 208 209 210 211 212
	...
}

ResponseRecord	::= SEQUENCE
{
	recordNumber				[1] INTEGER,
	recordPayload				[2] RetainedDataRecord,
	additionalInformation		[3] AdditionalInformation OPTIONAL,
213
		-- see clause 6.2.4
214
	nationalRecordPayload		[4] NationalRecordPayload OPTIONAL,
215
		-- To be defined on a national basis
216
		-- Only to be used in case the present document cannot fulfil the national requirements
217 218 219 220 221 222 223 224 225 226 227 228 229 230
	...
}

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,
231
		-- Details are defined in Annex B
232
	messageRecord		[2] MessageRecord,
233
		-- Details are defined in Annex C
234
	networkAccess		[3] NetworkAccessRecord,
235
		-- Details are defined in Annex E
236 237
	...,
	multimediaRecord	[4] MultimediaRecord
238
		-- Details are defined in Annex D
239
		-- Other services will be included (as they are implemented)
240 241 242 243
}

ResponseAcknowledgement ::= CHOICE
{
244
	-- Acknowledges a response has been sent
245 246
	acknowledgeCompleteResults			[1] NULL,
	acknowledgePartialResults			[2] NULL,
247
	...,
248 249
	acknowledgePartialResultsNumber		[3] INTEGER
		-- number to acknowledge a specific resultMessage within parallel multi-part delivery
250 251 252 253 254 255 256 257
}

-- ==================================================
-- Definitions of an error message and acknowledgment
-- ==================================================

FurtherInformation ::= SEQUENCE
{
258 259
	information					[1] UTF8String,
	contactInformation			[2] UTF8String OPTIONAL,
260 261 262 263 264 265 266 267
	...,
	categorisedErrorDescription [3] CategorisedErrorDescription OPTIONAL -- see 6.4
}

CategorisedErrorDescription ::= SEQUENCE
{
	value				[1] INTEGER,
	description			[2] UTF8String OPTIONAL,
268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298
	...
}

-- ===================================================
-- 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
{
299 300
	requestNumber		[1] RequestNumber,
	requestStatus		[2] RequestStatus,
301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335
	...
}

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 (...).
336
		-- It is recommended that an version indicator is included in the national parameters
337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352
		-- definition.
}

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

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

354 355
SupplementaryRequest ::= CHOICE
{
356
	nationalSupplementaryRequest		[1] NationalSupplementaryRequest,
357 358 359 360 361
	...
}

SupplementaryResponse ::= CHOICE
{
362
	nationalSupplementaryResponse		[1] NationalSupplementaryResponse,
363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388
	...
}

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.
}
389

390 391 392 393
TimeSpan ::= SEQUENCE
{
	startTime		[1] GeneralizedTime OPTIONAL,
	endTime			[2] GeneralizedTime OPTIONAL,
394 395 396
	...,
	durationTime	[3] INTEGER OPTIONAL
		-- duration in seconds
397 398
}

399 400 401 402 403 404 405 406 407 408
File ::= SEQUENCE
{
	mediaType	[1] UTF8String,
		-- Media type of the file, e.g. image/jpeg, application/pdf
		-- Media types (formerly known as MIME types) are assigned and listed by the IANA
	content		[2] OCTET STRING,
		-- Content of the file
	...
}

409 410 411 412 413 414 415 416
-- ==============================================
-- Definitions for Generic Subscriber Information
-- ==============================================

GenericSubscriberInfo ::= SEQUENCE
{
	organizationInfo	[1] OrganizationInfo OPTIONAL,
	individualInfo		[2] IndividualInfo OPTIONAL,
417 418
	...,
	contracts					[3]	SEQUENCE OF ContractInformation OPTIONAL
419 420 421 422 423 424 425 426 427 428
}

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
429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448
	...,
	registeredAddress		[4] AddressInformation OPTIONAL,
	tradingAddress			[5] AddressInformation OPTIONAL,
	otherAddresses			[6] SEQUENCE OF OtherAddress OPTIONAL,
	groupID					[7] UTF8String OPTIONAL,
		-- identity of organization group
	groupAdministrator		[8] UTF8String OPTIONAL,
		-- identity of organization administrator
	companyType				[9] UTF8String OPTIONAL,
		-- type of company
	vatEnabled				[10] BOOLEAN OPTIONAL,
		-- VAT enabled or not
	vatNumber				[11] UTF8String OPTIONAL,
		-- VAT number
	createIP				[12] IPAddress OPTIONAL,
		-- IP used to create the subscriber account
	createTime				[13] GeneralizedTime OPTIONAL,
		-- time that subscriber account was created
	modifiedDate			[14] GeneralizedTime OPTIONAL
		-- date that subscriber account was modified
449 450 451 452 453 454 455 456 457 458 459 460 461 462
}

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,
463 464
	authenticationInfo		[6] AuthenticationInfo OPTIONAL,
	...,
465 466 467 468
	profession				[7] UTF8String OPTIONAL,
	otherAddresses			[8] SEQUENCE OF OtherAddress OPTIONAL,
	createTime				[9] GeneralizedTime OPTIONAL
		-- time that subscriber account was created
469 470
}

471 472 473 474 475 476 477 478 479 480
ContractInformation ::= SEQUENCE
{
	contractDesignation		[1] UTF8String OPTIONAL,
	contractNumber			[2] UTF8String OPTIONAL,
	otherInformation		[3] UTF8String OPTIONAL,
	timeSpan				[4] TimeSpan OPTIONAL,
	contractDocuments		[5] SEQUENCE OF File OPTIONAL,
	...
}

481
PersonName ::= SEQUENCE
482
{
483 484 485 486 487 488 489 490
	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,
491
		-- that part of the name excluding forename, separable and preceding the surname
492 493 494 495 496 497 498
	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
499 500
}

501
ContactDetails ::= SEQUENCE
502
{
503 504 505
	address						[1] AddressInformation OPTIONAL,
	emailAddress				[2] UTF8String OPTIONAL,
	contactNumber				[3] SEQUENCE OF PartyNumber OPTIONAL,
506
		-- several numbers (work, home, mobile) may be given for a single subscriber
507 508 509
	...,
	additionalEmailAddresses	[4] SEQUENCE OF UTF8String OPTIONAL
		-- several email addresses may be given for a single subscriber
510 511
}

512
AddressInformation ::= SEQUENCE
513
{
514 515 516 517 518
	flatNumber				[1] UTF8String OPTIONAL,
	buildingName			[2] UTF8String OPTIONAL,
	buildingNumber			[3] UTF8String OPTIONAL,
	streetName				[4] UTF8String OPTIONAL,
	poBox					[5] UTF8String OPTIONAL,
519
		-- PO box or Response number
520
	postalCode				[6] UTF8String OPTIONAL,
521
		-- Postal code. Example: 2289AC
522 523 524 525 526
	region					[7] UTF8String OPTIONAL,
	province				[8] UTF8String OPTIONAL,
	language				[9] UTF8String OPTIONAL,
	city					[10] UTF8String OPTIONAL,
	country					[11] CountryCode OPTIONAL,
527
		-- Country code as defined in ISO 3166-1 [4]
528
	validity				[12] TimeSpan OPTIONAL,
529
		-- time from which the address was registered
530 531 532 533 534
	...,
	relatedOrganizationInfo	[13] OrganizationInfo OPTIONAL,
	relatedPersonName		[14] PersonName OPTIONAL,
	otherInformation		[15] UTF8String OPTIONAL
		-- additional information in cases of divergent addresses
535 536
}

537 538 539 540 541 542 543 544 545 546
OtherAddress ::= SEQUENCE
{
	address			[1] AddressInformation OPTIONAL,
	addressType		[2] UTF8String OPTIONAL,
		-- Description of the type of address that has been given in the address field
	addressComments	[3] UTF8String OPTIONAL,
		-- Any extra information to aid the understanding of the address given
	...
}

547 548
AuthenticationInfo ::= SEQUENCE
{
549 550 551 552
	authenticationType	[1] UTF8String OPTIONAL,

	authenticationNumber	[2] UTF8String OPTIONAL,

553
	...,
554 555 556 557 558
	issuingCountry		[3] UTF8String (SIZE (2)) OPTIONAL,
	issuingOrganization	[4] UTF8String OPTIONAL,
	nationality		[5] UTF8String OPTIONAL,
	authenticationDocument	[6]	SEQUENCE OF File OPTIONAL

559
}
560

561

562 563
PaymentDetails ::= SEQUENCE
{
564 565 566 567 568
	billingMethod			[1] BillingMethod OPTIONAL,
	bankAccount			[2] BankAccount OPTIONAL,
	billingAddress			[3] ContactDetails OPTIONAL,
	...,
	billingIdentifier		[4] BillingIdentifier OPTIONAL
569 570 571 572 573 574 575 576 577 578 579 580
}

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,
581 582 583
	...,
	sepaRefNumber						[7] UTF8String OPTIONAL
		-- To be used for referenceNumber of a SEPA direct debit mandate
584 585
}

586
IBAN ::= UTF8String
587 588 589
	-- International Banking Account Number
	-- format as per ISO 13616-1:2007 [28]

590
BIC ::= UTF8String
591 592 593 594 595 596 597 598 599 600
	-- Business Identifier Code
	-- format as per ISO 9362:2009 [29]

BillingMethod ::= ENUMERATED
{
	debit(0),
	transfer(1),
	prepaid(2),
	...
}
601

602 603
TelephonyRecord ::= CHOICE
{
604
	telephonySubscriber		[1] TelephonySubscriber,
605 606
	telephonyBillingDetails		[2] TelephonyBillingDetails,
	telephonyServiceUsage		[3] TelephonyServiceUsage,
607
	telephonyDevice			[4] TelephonyDevice,
608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625
	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
626 627
	...,
	nationalTelephonySubscriberInfo	[5] NationalTelephonySubscriberInfo OPTIONAL
628
		-- To be defined on a national basis
629 630 631 632 633 634 635
		-- 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
636 637 638 639 640 641 642 643 644
	...
}

TelephonySubscriberId ::= UTF8String
	-- unique identifier for this subscriber, e.g. account number

TelephonySubscriberInfo ::= NULL
	-- Reserved

645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660
PartyNumberInfo ::= SEQUENCE
{
	partyNumber							[1] PartyNumber OPTIONAL,
		-- referenced partyNumber for the additional information in this type
	timeSpan							[2] TimeSpan OPTIONAL,
		-- start and end date if applicable in which the number was active
	disableReason						[3] UTF8String OPTIONAL,
		-- reason of temporarily disable procedure - if applicable
	...
}

ICCIDInfo ::= SEQUENCE
{
	iCCID								[1] UTF8String OPTIONAL,
	timeSpan							[2] TimeSpan OPTIONAL,
		-- activation- and deactivation-date if applicable in which the ICCID was active
661 662 663 664 665
	...,
	pUK								[3] UTF8String OPTIONAL,
		-- PUK code associated with the ICCID
	pUK2								[4] UTF8String OPTIONAL,
		-- PUK2 code associated with the ICCID
666 667 668
	iMSI								[5] IMSI OPTIONAL,
	sUPI								[6] SUPI OPTIONAL,
	gPSI								[7] GPSI OPTIONAL
669 670
}

671

672 673 674 675 676 677 678 679 680 681 682 683 684 685 686
LoginInfo ::= SEQUENCE
{
	login								[1] UTF8String OPTIONAL,
		-- login used for authentication, usually a username or email address
	password							[2] UTF8String OPTIONAL,
	serviceName							[3] UTF8String OPTIONAL,
		-- short description of the kind of service the login / password is used for
	needsAdditionalAuthentication		[4] BOOLEAN OPTIONAL,
		-- true if additional authentication methods are required, like security questions or
		-- e-tokens
	timeSpan							[5] TimeSpan OPTIONAL,
		-- timespan when the login / password was valid
	...
}

687 688
SubscribedTelephonyServices ::= SEQUENCE
{
689
	serviceID							[1] UTF8String OPTIONAL,
690
		-- Unique identifier for this service within the operator
691
	providerID							[2] UTF8String OPTIONAL,
692
		-- Unique identifier for the service provider
693
	timeSpan							[3] TimeSpan OPTIONAL,
694
		-- Start and end data, if applicable, of the subscription
695
	registeredNumbers						[4] SEQUENCE OF PartyNumber OPTIONAL,
696
		-- The set of telephone numbers registered for this service
697
	registeredICCID							[5] UTF8String OPTIONAL,
698
	serviceType							[6] TelephonyServiceType OPTIONAL,
699
	installationAddress						[7] AddressInformation OPTIONAL,
700
		-- installation address, if different from the registered address
701
	connectionDate							[8] GeneralizedTime OPTIONAL,
702
		-- Date the subscriber was actually connected
703
		-- (May differ from the start of subscription)
704
	iMSI								[9] IMSI OPTIONAL,
705
	carrierPreselect						[10] BOOLEAN OPTIONAL,
706
	lineStatus							[11] UTF8String OPTIONAL,
707
		-- CSP-specific description of current line status, e.g. "Active", "Ceased", etc.
708
	...,
709
	allocatedDeviceIDs						[12] SEQUENCE OF TelephonyDeviceID OPTIONAL,
710 711 712
	pUKCode								[13] UTF8String OPTIONAL,
	pUK2Code							[14] UTF8String OPTIONAL,
	iMEI								[15] SEQUENCE OF IMEI OPTIONAL,
713
	nationalTelephonySubscriptionInfo				[16] NationalTelephonySubscriptionInfo OPTIONAL,
714
		-- To be defined on a national basis
715
		-- Only to be used in case the present document cannot fulfil the national requirements
716 717
	paymentDetails							[17] PaymentDetails OPTIONAL,
	subscriptionType						[18] SubscriptionType OPTIONAL,
718
		-- Describes the nature of the subscription
719 720 721 722
	deliveryAddress							[19] AddressInformation OPTIONAL,
	resellerAddress							[20] AddressInformation OPTIONAL,
	otherAddresses							[21] SEQUENCE OF OtherAddress OPTIONAL,
	registeredNumbersInfo						[22] SEQUENCE OF PartyNumberInfo OPTIONAL,
723
		-- information about timespan of the active number and deactivation events
724
	registeredICCIDs						[23] SEQUENCE OF ICCIDInfo OPTIONAL,
725
		-- in cases of MultiSIM card contracts
726
	loginInfos							[24] SEQUENCE OF LoginInfo OPTIONAL,
727
		-- e.g. login information according a VMS/UMS account
728
	paymentTransactions						[25] SEQUENCE OF BillingRecords OPTIONAL
729
}
730

731

732 733 734 735 736 737 738
SubscriptionType  ::= ENUMERATED
{
	unknown(0),
	postpay(1),
	prepay(2),
	other(3),
	...
739
}
740
	-- Describes the nature of the subscription
741 742 743 744 745

NationalTelephonySubscriptionInfo ::= SEQUENCE
{
	countryCode		[1] UTF8String (SIZE (2)),
		-- see comment in NationalRequestParameters
746 747 748 749 750
	...
}

TelephonyBillingDetails ::= SEQUENCE
{
751 752 753 754 755
	subscriberID						[1] TelephonySubscriberId OPTIONAL,
	serviceID							[2] UTF8String OPTIONAL,
	billingAddress						[3] ContactDetails OPTIONAL,
	billingIdentifier					[4] BillingIdentifier OPTIONAL,
	billingRecords						[5] SEQUENCE OF BillingRecords OPTIONAL,
756
	...,
757
	nationalTelephonyBillingDetails		[6] NationalTelephonyBillingDetails OPTIONAL
758
		-- To be defined on a national basis
759 760 761 762 763 764 765
		-- 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
766 767 768 769 770 771 772 773 774
	...
}

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

BillingRecords ::= SEQUENCE
{
775 776 777 778
	time								[1] GeneralizedTime OPTIONAL,
	place								[2] UTF8String OPTIONAL,
	amount								[3] REAL OPTIONAL,
	currency							[4] UTF8String (SIZE(3)) OPTIONAL,
779
		-- as per ISO 4217 [5]
780
	method								[5] UTF8String OPTIONAL,
781
		-- i.e. credit card, etc.
782
	...,
783
	nationalTelephonyBillingRecords					[6] NationalTelephonyBillingRecords OPTIONAL,
784
		-- To be defined on a national basis
785
		-- Only to be used in case the present document cannot fulfil the national requirements
786
	transactionID							[7] UTF8String OPTIONAL,
787 788
		-- Unique reference for this transaction/billing record
		-- Details to be defined on a national basis
789
	transactionStatus						[8] UTF8String OPTIONAL,
790
		-- Status of the transaction (i.e. "declined", "succeeded", etc.)
791
		-- Details to be defined on a national bases
792
	copyOfBill							[9] SEQUENCE OF File OPTIONAL
793 794
}

795

796 797 798 799
NationalTelephonyBillingRecords ::= SEQUENCE
{
	countryCode		[1] UTF8String (SIZE (2)),
		-- see comment in NationalRequestParameters
800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816
	...
}

TelephonyServiceType ::= ENUMERATED
{
	private(0),
	privatePABX(1),
	publicPayphone(2),
	...
}

-- =================================
-- Definitions of Service Usage Data
-- =================================

TelephonyServiceUsage ::= SEQUENCE
{
817
	partyInformation				[1] SEQUENCE OF TelephonyPartyInformation OPTIONAL,
818
		-- This parameter provides the concerned party (Originating, Terminating or
819 820
		-- forwarded party), the identity(ies) of the party and all the information
		-- provided by the party
821
	communicationTime				[2] TimeSpan OPTIONAL,
822
		-- Time and duration of the communication
823
	eventInformation				[3] SEQUENCE OF TelephonyEventInformation OPTIONAL,
824
		-- A list of events that occurred during this service usage
825
	endReason						[4] INTEGER OPTIONAL,
826
		-- Q.850 cause code for call termination
827 828 829 830 831 832
	communicationType				[5] TelephonyCommunicationType OPTIONAL,
	bearerService					[6] TelephonyBearerService OPTIONAL,
	smsInformation					[7] SmsInformation OPTIONAL,
	ringDuration					[8] INTEGER OPTIONAL,
	...,
	mmsInformation					[9] MmsInformation OPTIONAL,
833 834
	nationalTelephonyServiceUsage	[10] NationalTelephonyServiceUsage OPTIONAL,
		-- To be defined on a national basis
835
		-- Only to be used in case the present document cannot fulfil the national requirements
836 837 838
	operatorSpecificCallDetails		[11] UTF8String OPTIONAL
		-- CSP specific value which indicates the nature of a call
		-- (e.g. "CallIndicator: GPR, CallActionCode: 2")
839 840 841 842 843 844
}

NationalTelephonyServiceUsage ::= SEQUENCE
{
	countryCode		[1] UTF8String (SIZE (2)),
		-- see comment in NationalRequestParameters
845 846 847 848 849
	...
}

TelephonyPartyInformation ::= SEQUENCE
{
850
	partyRole							[1] TelephonyPartyRole OPTIONAL,
851 852 853 854
	partyNumber							[2] PartyNumber OPTIONAL,
	subscriberID						[3] TelephonySubscriberId OPTIONAL,
	deviceID							[4] TelephonyDeviceID OPTIONAL,
	locations							[5] SEQUENCE OF TelephonyLocation OPTIONAL,
855
		-- List of cell locations used by this party during the service usage
856
	communicationTime					[6] TimeSpan OPTIONAL,
857
		-- Time and duration of the communication
858 859
	iMSI								[8] IMSI OPTIONAL,
	natureOfAddress						[9] UTF8String OPTIONAL,
860
		-- Nature of address indicator, e.g. "National", "International"
861
	forwardedTransferredNumber			[10] PartyNumber OPTIONAL,
862
	terminatingTransferredNumber		[11] PartyNumber OPTIONAL,
863 864
	...,
	emailAddress						[12] UTF8String  OPTIONAL,
865
		-- used for MMS that supports also the use of E-Mail addresses (RFC 5322 [24])
866 867
	iMEI								[13] IMEI OPTIONAL,
	detailedLocation					[14] TelephonyNetworkElement OPTIONAL,
868
		-- In the case detailed location information per call and party is available
869
		-- (e.g. the geoCoordinates for this partyNumber)
870
	nationalTelephonyPartyInformation	[15] NationalTelephonyPartyInformation OPTIONAL,
871
		-- To be defined on a national basis
872
		-- Only to be used in case the present document cannot fulfil the national requirements
873 874
	partyType							[16] TelephonyPartyType OPTIONAL,
	dialledDigits						[17] UTF8String OPTIONAL
875 876 877 878 879 880
}

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

884 885 886 887 888 889 890 891
TelephonyPartyType ::= CHOICE
{
	voicemail		[1] NULL,
	smsServer		[2] NULL,
	other			[3] UTF8String,
	...
}

892
TelephonyCommunicationType ::= ENUMERATED
893 894 895 896
{
	telephonyFixedCS(0),
	telephonyWirelessCS(1),
	sMS(2),
897 898
	...,
	mMS(3)
899 900
}

901
TelephonyBearerService ::= ENUMERATED
902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943
{
	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,
944
		-- format as per 3GPP TS 23.040 [16]
945 946 947
	smsNumOfSM		[5] INTEGER (0..65535) OPTIONAL,
	smsNotifyInd	[6] BOOLEAN OPTIONAL,
	smsProtocolId	[7] OCTET STRING (SIZE(1)) OPTIONAL,
948
		-- format as per 3GPP TS 23.040 [16]
949 950 951
	...
}

952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976
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),
977 978 979 980
		...,
		delivered-application(12)
		-- optional flag indicating MMS was retrieved using
		-- something other than mobile deivce e.g. web browser
981 982 983 984 985 986 987 988 989 990 991 992 993 994
	} 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
	...
}

995 996
TelephonyEventInformation ::= SEQUENCE
{
997
	time		[1] GeneralizedTime OPTIONAL,
998
		-- time when the event occurred
999
	type		[2] TelephonyEventType OPTIONAL,
1000
		-- type of event
1001
	party		[3] TelephonyPartyRole OPTIONAL,
1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013
		-- 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,
1014 1015
	...,
	nationalTelephonyEventType	[6] NationalTelephonyEventType
1016
		-- To be defined on a national basis
1017 1018 1019 1020 1021 1022 1023
		-- 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
1024 1025 1026 1027 1028 1029 1030 1031 1032
	...
}

BasicEventType ::= ENUMERATED
{
	handover(1),
	hold(2),
	retrieve(3),
	suspend(4),
1033
	resume(5),
1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046
	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),
1047
	transit(19),
1048
	mSOriginating(20),
1049
	callForwarding(21),
1050
	mSTerminating(22),
1051 1052 1053 1054 1055
	...,
	callAttempt(23),
	callStart(24),
	callEnd(25),
	cliWithheld(26)
1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094
}

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
{
1095 1096
	mSOriginatingSMSinMSC(1),
	mSTerminatingSMSinMSC(2),
1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112
	shortMessageDelivery(3),
	mMMessage(4),
	mMNotification(5),
	mMDeliveryReport(6),
	mMReadReply(7),
	...
}

PrepayServiceEventType ::= ENUMERATED
{
	serviceActivation(1),
	...
}

TelephonyLocation ::= SEQUENCE
{
1113
	telephonyNetworkID			[1] TelephonyNetworkID OPTIONAL,
1114
		-- ID of the network element location (e.g. Cell ID)
1115
	timeSpan					[2] TimeSpan OPTIONAL,
1116
		-- Time span that this location was valid for
1117
	...,
1118
	nationalTelephonyLocation	[3] NationalTelephonyLocation OPTIONAL,
1119
		-- To be defined on a national basis
1120
		-- Only to be used in case the present document cannot fulfil the national requirements
1121
	detailedLocation			[4] TelephonyNetworkElement OPTIONAL
1122
		-- The extended information for this network element as it was at the time of the
1123
		-- communication
1124 1125 1126 1127 1128 1129
}

NationalTelephonyLocation ::= SEQUENCE
{
	countryCode		[1] UTF8String (SIZE (2)),
		-- see comment in NationalRequestParameters
1130 1131 1132 1133 1134 1135 1136 1137
	...
}

TelephonyPartyRole ::= ENUMERATED
{
	originating-Party(0),
	terminating-Party(1),
	forwarded-to-Party(2),
1138
	originalCalled(3),
1139 1140 1141 1142 1143 1144 1145 1146 1147 1148
	redirecting(4),
	connected(5),
	userProvidedCalling(6),
	roaming(7),
	translated(8),
	singlePersonalNumber(9),
	smsOriginator(10),
	smsRecipient(11),
	smsOriginatorTrn(12),
	smsRecipientTrn(13),
1149 1150 1151 1152 1153
	...,
	mmsOriginator(14),
	mmsRecipient(15),
	mmsOriginatorTrn(16),
	mmsRecipientTrn(17)
1154 1155 1156 1157 1158 1159 1160 1161
}

-- =======================
-- Device Data definitions
-- =======================

TelephonyDevice ::= SEQUENCE
{
1162
	deviceIDType				[1] ENUMERATED
1163 1164 1165 1166 1167 1168 1169
		-- Type of identifier for telephony device
	{
		unknown(0),
		imei(1),
		macAddress(2),
		...
	} OPTIONAL,
1170
	telephonyDeviceID			[2] TelephonyDeviceID OPTIONAL,
1171
		-- Unique identifier for this telephony device according to type of identifier
1172
	...,
1173
	subscriberID				[3] TelephonySubscriberId OPTIONAL,
1174
		-- Identifier for a known user of this equipment.
1175
		-- Usage of this parameter is subject to national legislation.
1176
	nationalTelephonyDevice		[4] NationalTelephonyDevice OPTIONAL
1177
		-- To be defined on a national basis
1178 1179 1180 1181 1182 1183 1184 1185
		-- 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
	...
1186 1187 1188
}

TelephonyDeviceID ::= OCTET STRING
1189
	-- A unique identifier for the telephony device. For example, the IMEI number
1190 1191 1192 1193 1194 1195 1196 1197
	-- of a mobile handset

-- ========================
-- Network Data definitions
-- ========================

TelephonyNetworkElement ::= SEQUENCE
{
1198 1199
	telephonyNetworkID					[1] TelephonyNetworkID OPTIONAL,
	cellInformation						[2] Location OPTIONAL,
1200 1201
		-- The Location information id
	validity							[3] TimeSpan OPTIONAL,
1202
	...,
1203
	nationalTelephonyNetworkElement		[4] NationalTelephonyNetworkElement OPTIONAL,
1204
		-- To be defined on a national basis
1205
		-- Only to be used in case the present document cannot fulfil the national requirements
1206
	transmitterDetails					[5] TransmitterDetails OPTIONAL
1207 1208 1209 1210 1211 1212
}

NationalTelephonyNetworkElement ::= SEQUENCE
{
	countryCode		[1] UTF8String (SIZE (2)),
		-- see comment in NationalRequestParameters
1213 1214 1215 1216 1217 1218
	...
}

TelephonyNetworkID ::= OCTET STRING
	-- Unique identifier for this network element: e.g. a Cell ID

1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242
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
{
1243 1244
	gen2G(0),		-- This corresponds to GERAN in ETSI TS 129 274 [32]
	gen3G(1),		-- This corresponds to UTRAN in ETSI TS 129 274 [32]
1245 1246 1247 1248 1249
	...,
	eUTRAN(2),
	wLAN(3),
	hSPAEvolution(4),
	gAN(5),
1250 1251 1252 1253 1254 1255
	vIRTUAL(6),
	eUTRANNBIoT(7),
	lTEM(8),
	nR(9)
		-- Note that the labels are taken from ETSI TS 129 274 [32] v15.9.0 clause 8.17, though the
		-- enumeration values (0 to 9) are not.
1256 1257
}

1258

1259 1260 1261 1262 1263 1264 1265
NationalTransmitterDetails	::= SEQUENCE
{
	countryCode		[1] UTF8String (SIZE (2)),
		-- see comment in NationalRequestParameters
	...
}

1266 1267 1268 1269 1270 1271
-- ====================
-- Location information
-- ====================

Location ::= SEQUENCE
{
1272
	e164-Number					[1] OCTET STRING (SIZE (1..25)) OPTIONAL,
1273
		-- Coded in the same format as the ISUP location number (parameter field)
1274 1275 1276
		-- of the ISUP (see ETSI EN 300 356 [7])
	globalCellID					[2] OCTET STRING (SIZE (5..7)) OPTIONAL,
		-- See MAP format (see ETSI TS 100 974 [8])
1277
	rAI						[3] OCTET STRING (SIZE (6)) OPTIONAL,
1278
		-- The Routeing Area Identifier (RAI) in the current SGSN is coded in accordance with
1279
		-- ETSI TS 124 008 [9] without the Routing Area Identification IEI (only the
1280
		-- last 6 octets are used)
1281 1282
	gsmLocation					[4] GSMLocation OPTIONAL,
	umtsLocation					[5] UMTSLocation OPTIONAL,
1283
	sAI						[6] OCTET STRING (SIZE (7)) OPTIONAL,
1284
		-- format:	PLMN-ID	3 octets (no. 1-3)
1285 1286
		--			LAC		2 octets (no. 4-5)
		--			SAC		2 octets (no. 6-7)
1287 1288
		--			(according to ETSI TS 125 413 [31])
	oldRAI						[7] OCTET STRING (SIZE (6)) OPTIONAL,
1289
		-- the "Routeing Area Identifier" in the old SGSN is coded in accordance with
1290
		-- ETSI TS 124 008 [9] without the Routing Area Identification IEI
1291
		-- (only the last 6 octets are used)
1292
		-- This parameter is duplicated from ETSI TS 133 108 [11]
1293
	...,
1294 1295 1296 1297
	postalLocation					[8] AddressInformation OPTIONAL,
	extendedLocation				[9] ExtendedLocation OPTIONAL,
	userLocationInformation				[10] OCTET STRING (SIZE(1..35)) OPTIONAL,
		-- coded according to ETSI TS 129 274 [32]; the type IE is not included
1298
	tAI						[11] OCTET STRING (SIZE (6)) OPTIONAL,
1299 1300 1301
	eCGI						[12] OCTET STRING (SIZE (8)) OPTIONAL,
	maritimeTransport				[13] MaritimeTransport OPTIONAL,
		-- Information about the mobile cells embarked on ships using 
1302
		-- satellite transponder backhaul
1303
	airTransport					[14] AirTransport OPTIONAL,
1304
		-- Information about the mobile cells embarked on aircraft using 
1305
		-- satellite transponder backhaul
1306
	bSSID						[15] OCTET STRING (SIZE (6)) OPTIONAL,
1307
		-- 48-bit (6 octet) MAC address of the WLAN access point derived from the BSSID
1308 1309 1310
	nCGI						[16] NCGI OPTIONAL,
		-- format as specified in 3GPP TS 38.413 [42].
	n3gaLocation					[17] OCTET STRING (SIZE (4)) OPTIONAL,
1311 1312 1313 1314
		-- The use of this parameter is not recommended, as it is not aligned
		-- with the format specified in ETSI TS 129 571 [43]
		-- The parameter n3gppaLocation should be used instead.
	trackingAreaIdentifier			[18] OCTET STRING (SIZE (5..6)) OPTIONAL,
1315 1316
		-- where: MCC+MNC = 3 octets, TAC (4G)   = 2 octets or
		-- TAC (5G) = 3 octets and without length indicator
1317
	locationInformationSource	[19] UTF8String OPTIONAL,
1318 1319 1320
	n3gppaLocation				[20] N3gppaLocation OPTIONAL,
		-- format as specified in ETSI TS 129 571 [43] 
	transmitterDetails			[21] TransmitterDetails OPTIONAL
1321 1322 1323 1324 1325 1326
}

NCGI ::= SEQUENCE
{
    pLMNID                      [1] PLMNID,
    nRCellID                    [2] NRCellID
1327 1328
}

1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340
N3gppaLocation  ::= SEQUENCE
{
	n3gppTai	[1]		OCTET STRING (SIZE (5..6))	OPTIONAL,
	n3IwfId		[2]		OCTET STRING (SIZE (5))		OPTIONAL,
		-- Composed of the PLMN-ID (3 octets) and the N3IWF ID (2 
		-- octets) according to ETSI TS 138 413 clause 9.3.1.57.
	ueIpv4Addr 	[3]		IPAddress					OPTIONAL,
	ueIpv6Addr 	[4]		IPAddress					OPTIONAL,
	portNumber	[5]		INTEGER						OPTIONAL,
	...
}

1341 1342 1343
NRCellID ::= BIT STRING (SIZE(36))
-- TS 38.413 [23], clause 9.3.1.7

1344 1345
GSMLocation ::= CHOICE
{
1346
	geoCoordinates		[1] SEQUENCE
1347 1348 1349 1350 1351 1352 1353 1354 1355 1356
	{
		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
		...
	},
1357
		-- format: XDDMMSS.SS (on latitudes) or XDDDMMSS.SS (on longitudes)
1358 1359 1360 1361
		--		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
1362
		-- Example:
1363 1364
		--		latitude (short form)		N502312
		--		longitude (long form)		E1122312.18
1365 1366 1367
	utmCoordinates		[2] SEQUENCE
	{
		utm-Zone	[1] UTF8String (SIZE(3)) OPTIONAL,
1368 1369
		utm-East	[2] UTF8String (SIZE(6)) OPTIONAL,
		utm-North	[3] UTF8String (SIZE(7)) OPTIONAL,
1370 1371
			-- Universal Transverse Mercator
			-- example	utm-Zone	32U
1372 1373
			--			utm-East	439955
			--			utm-North	5540736
1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394
		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
1395
			-- In both panels, utm-GridBand and squareID the 'I' and 'O' characters are not used
1396
			-- because of their similarity to the digits one and zero.
1397 1398
		mapDatum					[6] MapDatum OPTIONAL,
		azimuth						[7] INTEGER (0..359) OPTIONAL,
1399 1400 1401
			-- The azimuth is the bearing, relative to true north
		...
	},
1402
	wGS84Coordinates	[4] OCTET STRING,
1403
		-- format is as defined in 3GPP TS 03.32 [12]
1404
	...,
1405
	geoCoordinatesDec	[5] SEQUENCE
1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416
	{
		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)
1417 1418 1419
		--		X			: N(orth), S(outh), E(ast), W(est)
		--		DD or DDD	: degrees (numeric characters)
		--		nnnnnnnn	: post decimal positions (numeric characters)
1420
		-- Example:
1421 1422
		--		latitude		N50.38666667
		--		longitude		E112.38671670
1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446
}

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
1447
	...,
1448
	cH1903(13),
1449
		-- Swiss reference system
1450 1451
	cH1903Plus(14)
		-- New Swiss reference system
1452 1453
}

1454

1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466
UMTSLocation ::= CHOICE
{
	point					[1] GA-Point,
	pointWithUnCertainty	[2] GA-PointWithUnCertainty,
	polygon					[3] GA-Polygon,
	...
}

GeographicalCoordinates ::= SEQUENCE
{
	latitudeSign	[1] ENUMERATED
	{
1467 1468
		north(0),
		south(1)
1469 1470 1471
	} OPTIONAL,
	latitude		[2] INTEGER (0..8388607) OPTIONAL,
	longitude		[3] INTEGER (-8388608..8388607) OPTIONAL,
1472 1473 1474 1475
	...,
	mapDatum		[4] MapDatum OPTIONAL,
	azimuth			[5] INTEGER (0..359) OPTIONAL
		-- The azimuth is the bearing, relative to true north
1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499
}

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,
	...
}

1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535
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,
	...
}

1536
HorizontalExtent ::= INTEGER
1537 1538
	-- metres

1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567
MaritimeTransport ::= SEQUENCE
{
	shipName			[1] UTF8String OPTIONAL,
		-- Registered ship name
	imoNumber			[2] IA5String (SIZE(10)) OPTIONAL,
		-- International Maritime Organization (IMO) ship number:
		-- IMO prefix with 7-digit number, e.g. IMO7812345
	...
}

AirTransport ::= SEQUENCE
{
	iATAAirlineCode			[1] IA5String (SIZE(2)) OPTIONAL,
		-- Two-character designation code assigned to the airline
		-- by the International Air Transport Association (IATA)
	iCAOOperatorCode		[2] IA5String (SIZE(3)) OPTIONAL,
		-- Three-letter designation code assigned to the aircraft operator agency
		-- by the International Civil Aviation Organization (ICAO).
		-- The iCAOOperatorCode should be used only when the aircraft operator does not have
		-- an assigned IATA airline code.
	aircraftRegistration	[3] UTF8String OPTIONAL,
		-- Aircraft identification as in the aircraft's certificate of registration
		-- e.g. G-IABC, N99999, F-OAAA
	flightNumber			[4] IA5String OPTIONAL,
		-- Flight number assigned by the airline operating the aircraft
	...
}


1568 1569 1570 1571 1572
-- ===================
-- General definitions
-- ===================

PartyNumber ::= UTF8String
1573
	-- E.164 address of the party in international format
1574

1575 1576
MessageRecord ::= CHOICE
{
1577 1578
	msgSubscriber			[1] MsgSubscriber,
	msgServiceUsage			[2] MsgServiceUsage,
1579 1580
	...,
	msgBillingDetails		[3] MsgBillingDetails
1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591
}

-- ======================================
-- 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,
1592
	subscriberID		[2] MsgSubscriberID OPTIONAL,
1593 1594 1595
	msgStores		[3] SEQUENCE OF MsgStore OPTIONAL,
		-- message stores allocated to this subscriber
	subscriber		[4] GenericSubscriberInfo OPTIONAL,
1596
	...,
1597
	paymentDetails		[5] PaymentDetails OPTIONAL
1598 1599
}

1600
MsgSubscriberID ::= OCTET STRING
1601 1602 1603 1604 1605 1606
	-- 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
{
1607 1608 1609
	validity			[1] TimeSpan OPTIONAL,
	msgStoreID			[2] MsgStoreID OPTIONAL,
	aliases				[3] SEQUENCE OF MsgAddress OPTIONAL,
1610
		-- The complete list of all addresses that get delivered into this message store.
1611 1612 1613 1614
	providerID			[4] MsgProviderID OPTIONAL,
	...,
	msgForwardingAddresses		[5] SEQUENCE OF MsgAddress OPTIONAL,
	msgStoreSubscriberRelatedIDs	[6] SEQUENCE OF ContactDetails OPTIONAL
1615 1616
}

1617
MsgStoreID ::= OCTET STRING
1618 1619
	-- Unique identifier of the message store. Since not all IDs will necessarily be human
	-- readable, a generic byte string is used
1620

1621
MsgAddress ::= UTF8String
1622 1623 1624
	-- 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
1625

1626
MsgProviderID ::= UTF8String
1627
	-- Unique identifier for a service provider, e.g. company name
1628
	-- NOTE - as of v1.2.1, this field has changed from OCTET STRING to UTF8String
1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645

-- ====================================
-- 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
{
1646 1647 1648 1649 1650
	dateTime				[1] GeneralizedTime OPTIONAL,
	subscriberID			[2] MsgSubscriberID OPTIONAL,
	senderAddress			[3] MsgAddress OPTIONAL,
	recipients				[4] SEQUENCE OF MsgAddress OPTIONAL,
	msgStores				[5] SEQUENCE OF MsgStoreID OPTIONAL,
1651 1652
		-- List of all local msgStores that received a copy of the message
		-- For transit messages this field is not used
1653
	deliveryStatus			[6] ENUMERATED
1654 1655 1656 1657 1658 1659 1660 1661 1662 1663
	{
		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,
1664
	protocol				[7] ENUMERATED
1665 1666 1667 1668 1669
	{
		smtp(0),
		x400(1),
		...
	} OPTIONAL,
1670 1671 1672 1673 1674 1675
	clientID				[8] IPAddress OPTIONAL,
	serverID				[9] IPAddress OPTIONAL,
	...,
	messageID				[10] MessageID OPTIONAL,
	sourceServerName		[11] UTF8String OPTIONAL,
	destinationServerName	[12] UTF8String OPTIONAL
1676 1677 1678 1679 1680 1681
}

MsgStoreOperation ::= SEQUENCE
	-- Manipulation of a message store.
{
	dateTime		[1] GeneralizedTime OPTIONAL,
1682 1683
	subscriberID	[2] MsgSubscriberID OPTIONAL,
	msgStore		[3] MsgStoreID OPTIONAL,
1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695
	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
1696 1697
		...,
		editMsg(6)
1698 1699 1700 1701 1702 1703 1704 1705 1706
	} 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),
1707 1708
		...,
		webmail(2)
1709 1710 1711
	} OPTIONAL,
	clientID		[8] IPAddress OPTIONAL,
	serverID		[9] IPAddress OPTIONAL,
1712 1713
	...,
	messageID		[10] MessageID OPTIONAL
1714 1715
}

1716 1717 1718
MessageID ::= UTF8String
	-- Unique identifier for this message, e.g RFC 822 header

1719 1720 1721 1722 1723 1724 1725
-- ==============================
-- Definitions of Billing Data
-- ==============================

MsgBillingDetails ::= SEQUENCE
{
	subscriberID				[1] MsgSubscriberID OPTIONAL,
1726
	serviceID				[2] UTF8String OPTIONAL,
1727 1728 1729
	billingAddress				[3] ContactDetails OPTIONAL,
	billingIdentifier			[4] MsgBillingIdentifier OPTIONAL,
	billingRecords				[5] SEQUENCE OF MsgBillingRecords OPTIONAL,
1730
	nationalMsgBillingDetails		[6] NationalMsgBillingDetails OPTIONAL,
1731
		-- To be defined on a national basis
1732
		-- Only to be used in case the present document cannot fulfil the national requirements
1733 1734
	...,
	copyOfBill				[7] SEQUENCE OF File OPTIONAL
1735 1736
}

1737

1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756
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,
1757
		-- i.e. credit card etc.
1758
	nationalMsgBillingRecords	[6] NationalMsgBillingRecords OPTIONAL,
1759
		-- To be defined on a national basis
1760
		-- Only to be used in case the present document cannot fulfil the national requirements
1761 1762 1763 1764 1765
	...,
	msgTransactionID			[7] UTF8String OPTIONAL,
		-- Unique reference for this transaction/billing record
		-- Details to be defined on a national basis
	mgsTransactionStatus		[8] UTF8String OPTIONAL
1766
		-- Status of the transaction (i.e. "declined", "succeeded" etc.)
1767
		-- Details to be defined on a national bases
1768 1769 1770 1771 1772 1773 1774 1775
}

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

1777 1778 1779 1780 1781
MultimediaRecord ::= CHOICE
{
	multimediaSubscriber		[1] MultimediaSubscriber,
	multimediaBillingDetails	[2] MultimediaBillingDetails,
	multimediaServiceUsage		[3] MultimediaServiceUsage,
1782 1783
	...,
	multimediaDevice		[4] MultimediaDevice
1784 1785 1786 1787 1788 1789 1790 1791
}

-- ==============================
-- Definitions of Subscriber Data
-- ==============================

MultimediaSubscriber ::= SEQUENCE
{
1792
	subscriberID						[1] MultimediaSubscriberID OPTIONAL,
1793
		-- unique identifier for this subscriber, e.g. account number
1794
	genericSubscriberInfo				[2] GenericSubscriberInfo OPTIONAL,
1795
		-- generic personal information about this subscriber
1796
	multimediaSubscriberInfo			[3] MultimediaSubscriberInfo OPTIONAL,
1797
		-- service-specific information about this subscriber
1798
	subscribedMultimediaServices		[4] SEQUENCE OF SubscribedMultimediaServices OPTIONAL,
1799
		-- a subscriber (or account) may have more than one service listed against them
1800
	...,
1801
	multimediaServiceRegistrationInfo	[5] MultimediaServiceRegistrationInfo OPTIONAL
1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812
}

MultimediaSubscriberInfo ::= SEQUENCE
{
	nationalMultimediaSubscriberInfo	[1] NationalMultimediaSubscriberInfo OPTIONAL,
	...
}

MultimediaSubscriberID ::= UTF8String
	-- unique identifier for this subscriber, e.g. account number

1813 1814
MultimediaServiceRegistrationInfo ::= SEQUENCE
{
1815
	emailAddress				[1] UTF8String OPTIONAL,
1816
	-- subscriber email address in RFC2822 format
1817
	languageAtRegistration		[2] UTF8String OPTIONAL,
1818 1819 1820
	-- subscriber language as in ISO 639
	accountCreationTime			[3] GeneralizedTime OPTIONAL, -- start time of account
	accountCreationIP			[4] IPAddress OPTIONAL, -- subscriber IP at creation
1821
	accountCreationCountry		[5] UTF8String (SIZE (2)) OPTIONAL,
1822
	-- subscriber country as specified in ISO 3166-1
1823 1824 1825 1826 1827
	clientPlatformType			[6] UTF8String OPTIONAL, -- subscriber platform
	clientVersion				[7] UTF8String OPTIONAL, -- subscriber platform version
	...
}