1 package FS::cdr::gsm_tap3_12;
2 use base qw( FS::cdr );
10 'name' => 'GSM TAP3 release 12',
13 'import_fields' => [],
15 'spec' => _asn_spec(),
16 'macro' => 'TransferBatch', #XXX & skip the Notification ones?
17 'arrayref' => sub { shift->{'callEventDetails'}; },
19 'startdate' => sub { my $callinfo = shift->{mobileOriginatedCall}{basicCallInformation};
20 my $timestamp = $callinfo->{callEventStartTimeStamp};
21 my $localTimeStamp = $timestamp->{localTimeStamp};
22 my $utcTimeOffsetCode = $timestamp->{utcTimeOffsetCode}; #XXX not handled, utcTimeOffsetInfo in header
23 $localTimeStamp =~ /^(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})$/ or die "unparsable timestamp: $localTimeStamp\n"; #. Dumper($callinfo);
24 my($year, $mon, $day, $hour, $min, $sec) = ($1, $2, $3, $4, $5, $6);
25 timelocal($sec, $min, $hour, $day, $mon-1, $year);
27 'duration' => sub { shift->{mobileOriginatedCall}{basicCallInformation}{totalCallEventDuration} },
28 'billsec' => sub { shift->{mobileOriginatedCall}{basicCallInformation}{totalCallEventDuration} }, #same..
29 'src' => sub { shift->{mobileOriginatedCall}{basicCallInformation}{chargeableSubscriber}{simChargeableSubscriber}{msisdn} },
30 'charged_party_imsi' => sub { shift->{mobileOriginatedCall}{basicCallInformation}{chargeableSubscriber}{simChargeableSubscriber}{imsi} },
31 'dst' => sub { shift->{mobileOriginatedCall}{basicCallInformation}{destination}{calledNumber} }, #dialledDigits?
32 'carrierid' => sub { shift->{mobileOriginatedCall}{locationInformation}{networkLocation}{recEntityCode} },
33 'userfield' => sub { shift->{mobileOriginatedCall}{operatorSpecInformation}[0] },
34 'servicecode' => sub { shift->{mobileOriginatedCall}{basicServiceUsedList}[0]{basicService}{serviceCode}{teleServiceCode} },
35 'upstream_price' => sub { sprintf('%.5f', shift->{mobileOriginatedCall}{basicServiceUsedList}[0]{chargeInformationList}[0]{chargeDetailList}[0]{charge} / 100000 ) }, #XXX numberOfDecimalPlaces in header
36 'calltypenum' => sub { shift->{mobileOriginatedCall}{basicServiceUsedList}[0]{chargeInformationList}[0]{callTypeGroup}{callTypelevel1} },
37 'quantity' => sub { shift->{mobileOriginatedCall}{basicServiceUsedList}[0]{chargeInformationList}[0]{chargedUnits} },
38 'quantity_able' => sub { shift->{mobileOriginatedCall}{basicServiceUsedList}[0]{chargeInformationList}[0]{chargeableUnits} },
43 #accepts qsearch parameters as a hash or list of name/value pairs, but not
44 #old-style qsearch('cdr', { field=>'value' })
49 if ( ref($_[0]) eq 'HASH' ) {
50 %qsearch = %{ $_[0] };
55 #if these get huge we might need to get a count and do a paged search
56 my @cdrs = qsearch({ 'table'=>'cdr', %qsearch, 'order_by'=>'calldate ASC' });
58 eval "use Convert::ASN1";
61 my $asn = Convert::ASN1->new;
62 $asn->prepare( _asn_spec() ) or die $asn->error;
64 my $TransferBatch = $asn->find('TransferBatch') or die $asn->error;
66 my %hash = _TransferBatch(); #static information etc.
68 my $utcTimeOffset = '+0300'; #XXX local timezone at least
80 $hash{batchControlInfo}->{fileCreationTimeStamp} = { 'localTimeStamp' => time2str('%Y%m%d%H%M%S', $now),
81 'utcTimeOffset' => $utcTimeOffset,
83 #XXX what do these do? do they need to be different from fileCreationTimeStamp?
84 $hash{batchControlInfo}->{transferCutOffTimeStamp} = { 'localTimeStamp' => time2str('%Y%m%d%H%M%S', $now),
85 'utcTimeOffset' => $utcTimeOffset,
88 $hash{batchControlInfo}->{fileAvailableTimeStamp} = { 'localTimeStamp' => time2str('%Y%m%d%H%M%S', $now),
89 'utcTimeOffset' => $utcTimeOffset,
93 $hash{batchControlInfo}->{sender} = 'MDGTM';
94 $hash{batchControlInfo}->{recipient} = 'GNQHT';
95 $hash{batchControlInfo}->{fileSequenceNumber} = '00178'; #XXX global? per recipient?
101 $hash{networkInfo}->{utcTimeOffsetInfo}[0]{utcTimeOffset} = $utcTimeOffset;
103 #XXX receiver entity IDs? why two?
104 #$hash->{networkInfo}->{recEntityInfo}[0]{recEntityId} = '340010100';
105 #$hash->{networkInfo}->{recEntityInfo}[1]{recEntityId} = '240556000000';
111 $hash{auditControlInfo}->{callEventDetailsCount} = scalar(@cdrs);
112 $hash{auditControlInfo}->{earliestCallTimeStamp} = { 'localTimeStamp' => time2str('%Y%m%d%H%M%S', $cdrs[0]->calldate_unix),
113 'utcTimeOffset' => $utcTimeOffset,
115 $hash{auditControlInfo}->{latestCallTimeStamp} = { 'localTimeStamp' => time2str('%Y%m%d%H%M%S', $cdrs[-1]->calldate_unix),
116 'utcTimeOffset' => $utcTimeOffset,
120 $totalCharge += $_->rated_price foreach @cdrs;
121 $hash{totalCharge} = sprintf('%.5f', $totalCharge);
127 $hash{callEventDetails} = [
130 'mobileOriginatedCall' => {
131 'locationInformation' => {
132 'networkLocation' => {
133 'recEntityCode' => $_->carrierid, #XXX 1
136 'operatorSpecInformation' => [
137 $_->userfield, ##'|Seq: 178 Loc: 1|'
139 'basicServiceUsedList' => [
143 'teleServiceCode' => $_->servicecode, #'11'
146 'chargeInformationList' => [
149 'callTypeLevel1' => $_->calltypenum,
150 'callTypeLevel3' => 0,
151 'callTypeLevel2' => 0
153 'chargeDetailList' => [
155 'charge' => $_->rated_price * 100000, #XXX numberOfDecimalPlaces
156 'chargeType' => '00',
157 'chargeableUnits' => $_->quantity_able,
158 'chargedUnits' => $_->quantity,
161 'chargedItem' => 'D', #XXX or E? what's this do?
162 'exchangeRateCode' => 1
167 'basicCallInformation' => {
168 'totalCallEventDuration' => $_->duration,
170 'calledNumber' => $_->dst,
171 #XXX 'dialledDigits' => '322221350'
173 'callEventStartTimeStamp' => {
174 'localTimeStamp' => time2str('%Y%m%d%H%M%S', $_->startdate),
175 'utcTimeOffsetCode' => 1
177 'chargeableSubscriber' => {
178 'simChargeableSubscriber' => {
179 'msisdn' => $_->charged_pary, #src
180 'imsi' => $_->charged_party_imsi,
194 my $pdu = $TransferBatch->encode( \%hash );
201 'accountingInfo' => {
202 'currencyConversionInfo' => [
204 'numberOfDecimalPlaces' => 5,
205 'exchangeRate' => 152549, #???
206 'exchangeRateCode' => 1
209 'tapDecimalPlaces' => 5,
210 'localCurrency' => 'USD'
212 'batchControlInfo' => {
213 'specificationVersionNumber' => 3,
214 'releaseVersionNumber' => 12, #11?
215 #'transferCutOffTimeStamp' => {
216 # 'localTimeStamp' => '20121230050222',
217 # 'utcTimeOffset' => '+0300'
219 'operatorSpecInformation' => [
220 '', # XXX '|File proc MTH LUXMA: 1285348027|'
222 #'recipient' => 'GNQHT',
223 #'fileCreationTimeStamp' => {
224 # 'localTimeStamp' => '20121230050222',
225 # 'utcTimeOffset' => '+0300'
227 #'sender' => 'MDGTM',
228 #'fileSequenceNumber' => '00178',
229 #'fileAvailableTimeStamp' => {
230 # 'localTimeStamp' => '20121230035052',
231 # 'utcTimeOffset' => '+0100'
237 'recEntityType' => 1,
238 #'recEntityId' => '340010100',
242 'recEntityType' => 2,
243 #'recEntityId' => '240556000000',
247 'utcTimeOffsetInfo' => [
249 'utcTimeOffset' => '+0300',
250 'utcTimeOffsetCode' => 1
254 'auditControlInfo' => {
255 #'callEventDetailsCount' => 4,
256 'totalTaxValue' => 0,
257 #'earliestCallTimeStamp' => {
258 # 'localTimeStamp' => '20121229102501',
259 # 'utcTimeOffset' => '+0300'
261 'totalDiscountValue' => 0,
262 #'totalCharge' => 50474,
263 #'latestCallTimeStamp' => {
264 # 'localTimeStamp' => '20121229102807',
265 # 'utcTimeOffset' => '+0300'
274 -- The following ASN.1 specification defines the abstract syntax for
276 -- Data Record Format Version 03
279 -- The specification is structured as follows:
280 -- (1) structure of the Tap batch
281 -- (2) definition of the individual Tap ‘records’
282 -- (3) Tap data items and groups of data items used within (2)
283 -- (4) Common, non-Tap data types
284 -- (5) Tap data items for content charging
286 -- It is mainly a translation from the logical structure
287 -- diagrams. Where appropriate, names used within the
288 -- logical structure diagrams have been shortened.
289 -- For repeating data items the name as used within the logical
290 -- structure have been extended by adding ‘list’ or ‘table’
291 -- (in some instances).
295 -- TAP-0312 DEFINITIONS IMPLICIT TAGS ::=
300 -- Structure of a Tap batch
303 DataInterChange ::= CHOICE
305 transferBatch TransferBatch,
306 notification Notification,
310 -- Batch Control Information must always, both logically and physically,
311 -- be the first group/item within Transfer Batch – this ensures that the
312 -- TAP release version can be readily identified. Any new groups/items
313 -- required may be inserted at any point after Batch Control Information
315 TransferBatch ::= [APPLICATION 1] SEQUENCE
317 batchControlInfo BatchControlInfo OPTIONAL, -- *m.m.
318 accountingInfo AccountingInfo OPTIONAL,
319 networkInfo NetworkInfo OPTIONAL, -- *m.m.
320 messageDescriptionInfo MessageDescriptionInfoList OPTIONAL,
321 callEventDetails CallEventDetailList OPTIONAL, -- *m.m.
322 auditControlInfo AuditControlInfo OPTIONAL, -- *m.m.
326 Notification ::= [APPLICATION 2] SEQUENCE
328 sender Sender OPTIONAL, -- *m.m.
329 recipient Recipient OPTIONAL, -- *m.m.
330 fileSequenceNumber FileSequenceNumber OPTIONAL, -- *m.m.
331 rapFileSequenceNumber RapFileSequenceNumber OPTIONAL,
332 fileCreationTimeStamp FileCreationTimeStamp OPTIONAL,
333 fileAvailableTimeStamp FileAvailableTimeStamp OPTIONAL, -- *m.m.
334 transferCutOffTimeStamp TransferCutOffTimeStamp OPTIONAL, -- *m.m.
335 specificationVersionNumber SpecificationVersionNumber OPTIONAL, -- *m.m.
336 releaseVersionNumber ReleaseVersionNumber OPTIONAL, -- *m.m.
337 fileTypeIndicator FileTypeIndicator OPTIONAL,
338 operatorSpecInformation OperatorSpecInfoList OPTIONAL,
342 CallEventDetailList ::= [APPLICATION 3] SEQUENCE OF CallEventDetail
344 CallEventDetail ::= CHOICE
346 mobileOriginatedCall MobileOriginatedCall,
347 mobileTerminatedCall MobileTerminatedCall,
348 supplServiceEvent SupplServiceEvent,
349 serviceCentreUsage ServiceCentreUsage,
351 contentTransaction ContentTransaction,
352 locationService LocationService,
353 messagingEvent MessagingEvent,
354 mobileSession MobileSession,
359 -- Structure of the individual Tap records
362 BatchControlInfo ::= [APPLICATION 4] SEQUENCE
364 sender Sender OPTIONAL, -- *m.m.
365 recipient Recipient OPTIONAL, -- *m.m.
366 fileSequenceNumber FileSequenceNumber OPTIONAL, -- *m.m.
367 fileCreationTimeStamp FileCreationTimeStamp OPTIONAL,
368 transferCutOffTimeStamp TransferCutOffTimeStamp OPTIONAL, -- *m.m.
369 fileAvailableTimeStamp FileAvailableTimeStamp OPTIONAL, -- *m.m.
370 specificationVersionNumber SpecificationVersionNumber OPTIONAL, -- *m.m.
371 releaseVersionNumber ReleaseVersionNumber OPTIONAL, -- *m.m.
372 fileTypeIndicator FileTypeIndicator OPTIONAL,
373 rapFileSequenceNumber RapFileSequenceNumber OPTIONAL,
374 operatorSpecInformation OperatorSpecInfoList OPTIONAL,
378 AccountingInfo ::= [APPLICATION 5] SEQUENCE
380 taxation TaxationList OPTIONAL,
381 discounting DiscountingList OPTIONAL,
382 localCurrency LocalCurrency OPTIONAL, -- *m.m.
383 tapCurrency TapCurrency OPTIONAL,
384 currencyConversionInfo CurrencyConversionList OPTIONAL,
385 tapDecimalPlaces TapDecimalPlaces OPTIONAL, -- *m.m.
389 NetworkInfo ::= [APPLICATION 6] SEQUENCE
391 utcTimeOffsetInfo UtcTimeOffsetInfoList OPTIONAL, -- *m.m.
392 recEntityInfo RecEntityInfoList OPTIONAL,
396 MessageDescriptionInfoList ::= [APPLICATION 8] SEQUENCE OF MessageDescriptionInformation
398 MobileOriginatedCall ::= [APPLICATION 9] SEQUENCE
400 basicCallInformation MoBasicCallInformation OPTIONAL, -- *m.m.
401 locationInformation LocationInformation OPTIONAL, -- *m.m.
402 equipmentIdentifier ImeiOrEsn OPTIONAL,
403 basicServiceUsedList BasicServiceUsedList OPTIONAL, -- *m.m.
404 supplServiceCode SupplServiceCode OPTIONAL,
405 thirdPartyInformation ThirdPartyInformation OPTIONAL,
406 camelServiceUsed CamelServiceUsed OPTIONAL,
407 operatorSpecInformation OperatorSpecInfoList OPTIONAL,
411 MobileTerminatedCall ::= [APPLICATION 10] SEQUENCE
413 basicCallInformation MtBasicCallInformation OPTIONAL, -- *m.m.
414 locationInformation LocationInformation OPTIONAL, -- *m.m.
415 equipmentIdentifier ImeiOrEsn OPTIONAL,
416 basicServiceUsedList BasicServiceUsedList OPTIONAL, -- *m.m.
417 camelServiceUsed CamelServiceUsed OPTIONAL,
418 operatorSpecInformation OperatorSpecInfoList OPTIONAL,
423 SupplServiceEvent ::= [APPLICATION 11] SEQUENCE
425 chargeableSubscriber ChargeableSubscriber OPTIONAL, -- *m.m.
426 rapFileSequenceNumber RapFileSequenceNumber OPTIONAL,
427 locationInformation LocationInformation OPTIONAL, -- *m.m.
428 equipmentIdentifier ImeiOrEsn OPTIONAL,
429 supplServiceUsed SupplServiceUsed OPTIONAL, -- *m.m.
430 operatorSpecInformation OperatorSpecInfoList OPTIONAL,
435 ServiceCentreUsage ::= [APPLICATION 12] SEQUENCE
437 basicInformation ScuBasicInformation OPTIONAL, -- *m.m.
438 rapFileSequenceNumber RapFileSequenceNumber OPTIONAL,
439 servingNetwork ServingNetwork OPTIONAL,
440 recEntityCode RecEntityCode OPTIONAL, -- *m.m.
441 chargeInformation ChargeInformation OPTIONAL, -- *m.m.
442 scuChargeType ScuChargeType OPTIONAL, -- *m.m.
443 scuTimeStamps ScuTimeStamps OPTIONAL, -- *m.m.
444 operatorSpecInformation OperatorSpecInfoList OPTIONAL,
448 GprsCall ::= [APPLICATION 14] SEQUENCE
450 gprsBasicCallInformation GprsBasicCallInformation OPTIONAL, -- *m.m.
451 gprsLocationInformation GprsLocationInformation OPTIONAL, -- *m.m.
452 equipmentIdentifier ImeiOrEsn OPTIONAL,
453 gprsServiceUsed GprsServiceUsed OPTIONAL, -- *m.m.
454 camelServiceUsed CamelServiceUsed OPTIONAL,
455 operatorSpecInformation OperatorSpecInfoList OPTIONAL,
459 ContentTransaction ::= [APPLICATION 17] SEQUENCE
461 contentTransactionBasicInfo ContentTransactionBasicInfo OPTIONAL, -- *m.m.
462 chargedPartyInformation ChargedPartyInformation OPTIONAL, -- *m.m.
463 servingPartiesInformation ServingPartiesInformation OPTIONAL, -- *m.m.
464 contentServiceUsed ContentServiceUsedList OPTIONAL, -- *m.m.
465 operatorSpecInformation OperatorSpecInfoList OPTIONAL,
469 LocationService ::= [APPLICATION 297] SEQUENCE
471 rapFileSequenceNumber RapFileSequenceNumber OPTIONAL,
472 recEntityCode RecEntityCode OPTIONAL, -- *m.m.
473 callReference CallReference OPTIONAL,
474 trackingCustomerInformation TrackingCustomerInformation OPTIONAL,
475 lCSSPInformation LCSSPInformation OPTIONAL,
476 trackedCustomerInformation TrackedCustomerInformation OPTIONAL,
477 locationServiceUsage LocationServiceUsage OPTIONAL, -- *m.m.
478 operatorSpecInformation OperatorSpecInfoList OPTIONAL,
482 MessagingEvent ::= [APPLICATION 433] SEQUENCE
484 messagingEventService MessagingEventService OPTIONAL, -- *m.m.
485 chargedParty ChargedParty OPTIONAL, -- *m.m.
486 rapFileSequenceNumber RapFileSequenceNumber OPTIONAL,
487 simToolkitIndicator SimToolkitIndicator OPTIONAL,
488 geographicalLocation GeographicalLocation OPTIONAL,
489 eventReference EventReference OPTIONAL, -- *m.m.
491 recEntityCodeList RecEntityCodeList OPTIONAL, -- *m.m.
492 networkElementList NetworkElementList OPTIONAL,
493 locationArea LocationArea OPTIONAL,
494 cellId CellId OPTIONAL,
495 serviceStartTimestamp ServiceStartTimestamp OPTIONAL, -- *m.m.
496 nonChargedParty NonChargedParty OPTIONAL,
497 exchangeRateCode ExchangeRateCode OPTIONAL,
498 callTypeGroup CallTypeGroup OPTIONAL, -- *m.m.
499 charge Charge OPTIONAL, -- *m.m.
500 taxInformationList TaxInformationList OPTIONAL,
501 operatorSpecInformation OperatorSpecInfoList OPTIONAL,
505 MobileSession ::= [APPLICATION 434] SEQUENCE
507 mobileSessionService MobileSessionService OPTIONAL, -- *m.m.
508 chargedParty ChargedParty OPTIONAL, -- *m.m.
509 rapFileSequenceNumber RapFileSequenceNumber OPTIONAL,
510 simToolkitIndicator SimToolkitIndicator OPTIONAL,
511 geographicalLocation GeographicalLocation OPTIONAL,
512 locationArea LocationArea OPTIONAL,
513 cellId CellId OPTIONAL,
514 eventReference EventReference OPTIONAL, -- *m.m.
516 recEntityCodeList RecEntityCodeList OPTIONAL, -- *m.m.
517 serviceStartTimestamp ServiceStartTimestamp OPTIONAL, -- *m.m.
518 causeForTerm CauseForTerm OPTIONAL,
519 totalCallEventDuration TotalCallEventDuration OPTIONAL, -- *m.m.
520 nonChargedParty NonChargedParty OPTIONAL,
521 sessionChargeInfoList SessionChargeInfoList OPTIONAL, -- *m.m.
522 operatorSpecInformation OperatorSpecInfoList OPTIONAL,
526 AuditControlInfo ::= [APPLICATION 15] SEQUENCE
528 earliestCallTimeStamp EarliestCallTimeStamp OPTIONAL,
529 latestCallTimeStamp LatestCallTimeStamp OPTIONAL,
530 totalCharge TotalCharge OPTIONAL, -- *m.m.
531 totalChargeRefund TotalChargeRefund OPTIONAL,
532 totalTaxRefund TotalTaxRefund OPTIONAL,
533 totalTaxValue TotalTaxValue OPTIONAL, -- *m.m.
534 totalDiscountValue TotalDiscountValue OPTIONAL, -- *m.m.
535 totalDiscountRefund TotalDiscountRefund OPTIONAL,
536 totalAdvisedChargeValueList TotalAdvisedChargeValueList OPTIONAL,
537 callEventDetailsCount CallEventDetailsCount OPTIONAL, -- *m.m.
538 operatorSpecInformation OperatorSpecInfoList OPTIONAL,
544 -- Tap data items and groups of data items
547 AccessPointNameNI ::= [APPLICATION 261] AsciiString --(SIZE(1..63))
549 AccessPointNameOI ::= [APPLICATION 262] AsciiString --(SIZE(1..37))
551 ActualDeliveryTimeStamp ::= [APPLICATION 302] DateTime
553 AddressStringDigits ::= BCDString
555 AdvisedCharge ::= [APPLICATION 349] Charge
557 AdvisedChargeCurrency ::= [APPLICATION 348] Currency
559 AdvisedChargeInformation ::= [APPLICATION 351] SEQUENCE
561 paidIndicator PaidIndicator OPTIONAL,
562 paymentMethod PaymentMethod OPTIONAL,
563 advisedChargeCurrency AdvisedChargeCurrency OPTIONAL,
564 advisedCharge AdvisedCharge OPTIONAL, -- *m.m.
565 commission Commission OPTIONAL,
569 AgeOfLocation ::= [APPLICATION 396] INTEGER
571 BasicService ::= [APPLICATION 36] SEQUENCE
573 serviceCode BasicServiceCode OPTIONAL, -- *m.m.
574 transparencyIndicator TransparencyIndicator OPTIONAL,
576 userProtocolIndicator UserProtocolIndicator OPTIONAL,
577 guaranteedBitRate GuaranteedBitRate OPTIONAL,
578 maximumBitRate MaximumBitRate OPTIONAL,
582 BasicServiceCode ::= [APPLICATION 426] CHOICE
584 teleServiceCode TeleServiceCode,
585 bearerServiceCode BearerServiceCode,
589 BasicServiceCodeList ::= [APPLICATION 37] SEQUENCE OF BasicServiceCode
591 BasicServiceUsed ::= [APPLICATION 39] SEQUENCE
593 basicService BasicService OPTIONAL, -- *m.m.
594 chargingTimeStamp ChargingTimeStamp OPTIONAL,
595 chargeInformationList ChargeInformationList OPTIONAL, -- *m.m.
596 hSCSDIndicator HSCSDIndicator OPTIONAL,
600 BasicServiceUsedList ::= [APPLICATION 38] SEQUENCE OF BasicServiceUsed
602 BearerServiceCode ::= [APPLICATION 40] HexString --(SIZE(2))
604 EventReference ::= [APPLICATION 435] AsciiString
607 CalledNumber ::= [APPLICATION 407] AddressStringDigits
609 CalledPlace ::= [APPLICATION 42] AsciiString
611 CalledRegion ::= [APPLICATION 46] AsciiString
613 CallEventDetailsCount ::= [APPLICATION 43] INTEGER
615 CallEventStartTimeStamp ::= [APPLICATION 44] DateTime
617 CallingNumber ::= [APPLICATION 405] AddressStringDigits
619 CallOriginator ::= [APPLICATION 41] SEQUENCE
621 callingNumber CallingNumber OPTIONAL,
622 clirIndicator ClirIndicator OPTIONAL,
623 sMSOriginator SMSOriginator OPTIONAL,
627 CallReference ::= [APPLICATION 45] OCTET STRING --(SIZE(1..8))
629 CallTypeGroup ::= [APPLICATION 258] SEQUENCE
631 callTypeLevel1 CallTypeLevel1 OPTIONAL, -- *m.m.
632 callTypeLevel2 CallTypeLevel2 OPTIONAL, -- *m.m.
633 callTypeLevel3 CallTypeLevel3 OPTIONAL, -- *m.m.
637 CallTypeLevel1 ::= [APPLICATION 259] INTEGER
639 CallTypeLevel2 ::= [APPLICATION 255] INTEGER
641 CallTypeLevel3 ::= [APPLICATION 256] INTEGER
643 CamelDestinationNumber ::= [APPLICATION 404] AddressStringDigits
645 CamelInvocationFee ::= [APPLICATION 422] AbsoluteAmount
647 CamelServiceKey ::= [APPLICATION 55] INTEGER
649 CamelServiceLevel ::= [APPLICATION 56] INTEGER
651 CamelServiceUsed ::= [APPLICATION 57] SEQUENCE
653 camelServiceLevel CamelServiceLevel OPTIONAL,
654 camelServiceKey CamelServiceKey OPTIONAL, -- *m.m.
655 defaultCallHandling DefaultCallHandlingIndicator OPTIONAL,
656 exchangeRateCode ExchangeRateCode OPTIONAL,
657 taxInformation TaxInformationList OPTIONAL,
658 discountInformation DiscountInformation OPTIONAL,
659 camelInvocationFee CamelInvocationFee OPTIONAL,
660 threeGcamelDestination ThreeGcamelDestination OPTIONAL,
661 cseInformation CseInformation OPTIONAL,
665 CauseForTerm ::= [APPLICATION 58] INTEGER
667 CellId ::= [APPLICATION 59] INTEGER
669 Charge ::= [APPLICATION 62] AbsoluteAmount
671 ChargeableSubscriber ::= [APPLICATION 427] CHOICE
673 simChargeableSubscriber SimChargeableSubscriber,
674 minChargeableSubscriber MinChargeableSubscriber,
678 ChargeableUnits ::= [APPLICATION 65] INTEGER
680 ChargeDetail ::= [APPLICATION 63] SEQUENCE
682 chargeType ChargeType OPTIONAL, -- *m.m.
683 charge Charge OPTIONAL, -- *m.m.
684 chargeableUnits ChargeableUnits OPTIONAL,
685 chargedUnits ChargedUnits OPTIONAL,
686 chargeDetailTimeStamp ChargeDetailTimeStamp OPTIONAL,
690 ChargeDetailList ::= [APPLICATION 64] SEQUENCE OF ChargeDetail
692 ChargeDetailTimeStamp ::= [APPLICATION 410] ChargingTimeStamp
694 ChargedItem ::= [APPLICATION 66] AsciiString --(SIZE(1))
696 ChargedParty ::= [APPLICATION 436] SEQUENCE
698 imsi Imsi OPTIONAL, -- *m.m.
699 msisdn Msisdn OPTIONAL,
700 publicUserId PublicUserId OPTIONAL,
701 homeBid HomeBid OPTIONAL,
702 homeLocationDescription HomeLocationDescription OPTIONAL,
707 ChargedPartyEquipment ::= [APPLICATION 323] SEQUENCE
709 equipmentIdType EquipmentIdType OPTIONAL, -- *m.m.
710 equipmentId EquipmentId OPTIONAL, -- *m.m.
714 ChargedPartyHomeIdentification ::= [APPLICATION 313] SEQUENCE
716 homeIdType HomeIdType OPTIONAL, -- *m.m.
717 homeIdentifier HomeIdentifier OPTIONAL, -- *m.m.
721 ChargedPartyHomeIdList ::= [APPLICATION 314] SEQUENCE OF
722 ChargedPartyHomeIdentification
724 ChargedPartyIdentification ::= [APPLICATION 309] SEQUENCE
726 chargedPartyIdType ChargedPartyIdType OPTIONAL, -- *m.m.
727 chargedPartyIdentifier ChargedPartyIdentifier OPTIONAL, -- *m.m.
731 ChargedPartyIdentifier ::= [APPLICATION 287] AsciiString
733 ChargedPartyIdList ::= [APPLICATION 310] SEQUENCE OF ChargedPartyIdentification
735 ChargedPartyIdType ::= [APPLICATION 305] INTEGER
737 ChargedPartyInformation ::= [APPLICATION 324] SEQUENCE
739 chargedPartyIdList ChargedPartyIdList OPTIONAL, -- *m.m.
740 chargedPartyHomeIdList ChargedPartyHomeIdList OPTIONAL,
741 chargedPartyLocationList ChargedPartyLocationList OPTIONAL,
742 chargedPartyEquipment ChargedPartyEquipment OPTIONAL,
746 ChargedPartyLocation ::= [APPLICATION 320] SEQUENCE
748 locationIdType LocationIdType OPTIONAL, -- *m.m.
749 locationIdentifier LocationIdentifier OPTIONAL, -- *m.m.
753 ChargedPartyLocationList ::= [APPLICATION 321] SEQUENCE OF ChargedPartyLocation
755 ChargedPartyStatus ::= [APPLICATION 67] INTEGER
757 ChargedUnits ::= [APPLICATION 68] INTEGER
759 ChargeInformation ::= [APPLICATION 69] SEQUENCE
761 chargedItem ChargedItem OPTIONAL, -- *m.m.
762 exchangeRateCode ExchangeRateCode OPTIONAL,
763 callTypeGroup CallTypeGroup OPTIONAL,
764 chargeDetailList ChargeDetailList OPTIONAL, -- *m.m.
765 taxInformation TaxInformationList OPTIONAL,
766 discountInformation DiscountInformation OPTIONAL,
770 ChargeInformationList ::= [APPLICATION 70] SEQUENCE OF ChargeInformation
772 ChargeRefundIndicator ::= [APPLICATION 344] INTEGER
774 ChargeType ::= [APPLICATION 71] NumberString --(SIZE(2..3))
776 ChargingId ::= [APPLICATION 72] INTEGER
778 ChargingPoint ::= [APPLICATION 73] AsciiString --(SIZE(1))
780 ChargingTimeStamp ::= [APPLICATION 74] DateTime
782 ClirIndicator ::= [APPLICATION 75] INTEGER
784 Commission ::= [APPLICATION 350] Charge
786 CompletionTimeStamp ::= [APPLICATION 76] DateTime
788 ContentChargingPoint ::= [APPLICATION 345] INTEGER
790 ContentProvider ::= [APPLICATION 327] SEQUENCE
792 contentProviderIdType ContentProviderIdType OPTIONAL, -- *m.m.
793 contentProviderIdentifier ContentProviderIdentifier OPTIONAL, -- *m.m.
797 ContentProviderIdentifier ::= [APPLICATION 292] AsciiString
799 ContentProviderIdList ::= [APPLICATION 328] SEQUENCE OF ContentProvider
801 ContentProviderIdType ::= [APPLICATION 291] INTEGER
803 ContentProviderName ::= [APPLICATION 334] AsciiString
805 ContentServiceUsed ::= [APPLICATION 352] SEQUENCE
807 contentTransactionCode ContentTransactionCode OPTIONAL, -- *m.m.
808 contentTransactionType ContentTransactionType OPTIONAL, -- *m.m.
809 objectType ObjectType OPTIONAL,
810 transactionDescriptionSupp TransactionDescriptionSupp OPTIONAL,
811 transactionShortDescription TransactionShortDescription OPTIONAL, -- *m.m.
812 transactionDetailDescription TransactionDetailDescription OPTIONAL,
813 transactionIdentifier TransactionIdentifier OPTIONAL, -- *m.m.
814 transactionAuthCode TransactionAuthCode OPTIONAL,
815 dataVolumeIncoming DataVolumeIncoming OPTIONAL,
816 dataVolumeOutgoing DataVolumeOutgoing OPTIONAL,
817 totalDataVolume TotalDataVolume OPTIONAL,
818 chargeRefundIndicator ChargeRefundIndicator OPTIONAL,
819 contentChargingPoint ContentChargingPoint OPTIONAL,
820 chargeInformationList ChargeInformationList OPTIONAL,
821 advisedChargeInformation AdvisedChargeInformation OPTIONAL,
825 ContentServiceUsedList ::= [APPLICATION 285] SEQUENCE OF ContentServiceUsed
827 ContentTransactionBasicInfo ::= [APPLICATION 304] SEQUENCE
829 rapFileSequenceNumber RapFileSequenceNumber OPTIONAL,
830 orderPlacedTimeStamp OrderPlacedTimeStamp OPTIONAL,
831 requestedDeliveryTimeStamp RequestedDeliveryTimeStamp OPTIONAL,
832 actualDeliveryTimeStamp ActualDeliveryTimeStamp OPTIONAL,
833 totalTransactionDuration TotalTransactionDuration OPTIONAL,
834 transactionStatus TransactionStatus OPTIONAL,
838 ContentTransactionCode ::= [APPLICATION 336] INTEGER
840 ContentTransactionType ::= [APPLICATION 337] INTEGER
842 CseInformation ::= [APPLICATION 79] OCTET STRING --(SIZE(1..40))
844 CurrencyConversion ::= [APPLICATION 106] SEQUENCE
846 exchangeRateCode ExchangeRateCode OPTIONAL, -- *m.m.
847 numberOfDecimalPlaces NumberOfDecimalPlaces OPTIONAL, -- *m.m.
848 exchangeRate ExchangeRate OPTIONAL, -- *m.m.
852 CurrencyConversionList ::= [APPLICATION 80] SEQUENCE OF CurrencyConversion
854 CustomerIdentifier ::= [APPLICATION 364] AsciiString
856 CustomerIdType ::= [APPLICATION 363] INTEGER
858 DataVolume ::= INTEGER
860 DataVolumeIncoming ::= [APPLICATION 250] DataVolume
862 DataVolumeOutgoing ::= [APPLICATION 251] DataVolume
865 -- The following datatypes are used to denote timestamps.
866 -- Each timestamp consists of a local timestamp and a
867 -- corresponding UTC time offset.
868 -- Except for the timestamps used within the Batch Control
869 -- Information and the Audit Control Information
870 -- the UTC time offset is identified by a code referencing
871 -- the UtcTimeOffsetInfo.
875 -- We start with the “short” datatype referencing the
876 -- UtcTimeOffsetInfo.
879 DateTime ::= SEQUENCE
882 -- Local timestamps are noted in the format
886 -- where CC = century (‘19’, ‘20’,...)
887 -- YY = year (‘00’ – ‘99’)
888 -- MM = month (‘01’, ‘02’, ... , ‘12’)
889 -- DD = day (‘01’, ‘02’, ... , ‘31’)
890 -- hh = hour (‘00’, ‘01’, ... , ‘23’)
891 -- mm = minutes (‘00’, ‘01’, ... , ‘59’)
892 -- ss = seconds (‘00’, ‘01’, ... , ‘59’)
894 localTimeStamp LocalTimeStamp OPTIONAL, -- *m.m.
895 utcTimeOffsetCode UtcTimeOffsetCode OPTIONAL, -- *m.m.
900 -- The following version is the “long” datatype
901 -- containing the UTC time offset directly.
904 DateTimeLong ::= SEQUENCE
906 localTimeStamp LocalTimeStamp OPTIONAL, -- *m.m.
907 utcTimeOffset UtcTimeOffset OPTIONAL, -- *m.m.
911 DefaultCallHandlingIndicator ::= [APPLICATION 87] INTEGER
913 DepositTimeStamp ::= [APPLICATION 88] DateTime
915 Destination ::= [APPLICATION 89] SEQUENCE
917 calledNumber CalledNumber OPTIONAL,
918 dialledDigits DialledDigits OPTIONAL,
919 calledPlace CalledPlace OPTIONAL,
920 calledRegion CalledRegion OPTIONAL,
921 sMSDestinationNumber SMSDestinationNumber OPTIONAL,
925 DestinationNetwork ::= [APPLICATION 90] NetworkId
927 DialledDigits ::= [APPLICATION 279] AsciiString
929 Discount ::= [APPLICATION 412] DiscountValue
931 DiscountableAmount ::= [APPLICATION 423] AbsoluteAmount
933 DiscountApplied ::= [APPLICATION 428] CHOICE
935 fixedDiscountValue FixedDiscountValue,
936 discountRate DiscountRate,
940 DiscountCode ::= [APPLICATION 91] INTEGER
942 DiscountInformation ::= [APPLICATION 96] SEQUENCE
944 discountCode DiscountCode OPTIONAL, -- *m.m.
945 discount Discount OPTIONAL,
946 discountableAmount DiscountableAmount OPTIONAL,
950 Discounting ::= [APPLICATION 94] SEQUENCE
952 discountCode DiscountCode OPTIONAL, -- *m.m.
953 discountApplied DiscountApplied OPTIONAL, -- *m.m.
957 DiscountingList ::= [APPLICATION 95] SEQUENCE OF Discounting
959 DiscountRate ::= [APPLICATION 92] PercentageRate
961 DiscountValue ::= AbsoluteAmount
963 DistanceChargeBandCode ::= [APPLICATION 98] AsciiString --(SIZE(1))
965 EarliestCallTimeStamp ::= [APPLICATION 101] DateTimeLong
967 ElementId ::= [APPLICATION 437] AsciiString
969 ElementType ::= [APPLICATION 438] INTEGER
971 EquipmentId ::= [APPLICATION 290] AsciiString
973 EquipmentIdType ::= [APPLICATION 322] INTEGER
975 Esn ::= [APPLICATION 103] NumberString
977 ExchangeRate ::= [APPLICATION 104] INTEGER
979 ExchangeRateCode ::= [APPLICATION 105] Code
981 FileAvailableTimeStamp ::= [APPLICATION 107] DateTimeLong
983 FileCreationTimeStamp ::= [APPLICATION 108] DateTimeLong
985 FileSequenceNumber ::= [APPLICATION 109] NumberString --(SIZE(5))
987 FileTypeIndicator ::= [APPLICATION 110] AsciiString --(SIZE(1))
989 FixedDiscountValue ::= [APPLICATION 411] DiscountValue
991 Fnur ::= [APPLICATION 111] INTEGER
993 GeographicalLocation ::= [APPLICATION 113] SEQUENCE
995 servingNetwork ServingNetwork OPTIONAL,
996 servingBid ServingBid OPTIONAL,
997 servingLocationDescription ServingLocationDescription OPTIONAL,
1001 GprsBasicCallInformation ::= [APPLICATION 114] SEQUENCE
1003 gprsChargeableSubscriber GprsChargeableSubscriber OPTIONAL, -- *m.m.
1004 rapFileSequenceNumber RapFileSequenceNumber OPTIONAL,
1005 gprsDestination GprsDestination OPTIONAL, -- *m.m.
1006 callEventStartTimeStamp CallEventStartTimeStamp OPTIONAL, -- *m.m.
1007 totalCallEventDuration TotalCallEventDuration OPTIONAL, -- *m.m.
1008 causeForTerm CauseForTerm OPTIONAL,
1009 partialTypeIndicator PartialTypeIndicator OPTIONAL,
1010 pDPContextStartTimestamp PDPContextStartTimestamp OPTIONAL,
1011 networkInitPDPContext NetworkInitPDPContext OPTIONAL,
1012 chargingId ChargingId OPTIONAL, -- *m.m.
1016 GprsChargeableSubscriber ::= [APPLICATION 115] SEQUENCE
1018 chargeableSubscriber ChargeableSubscriber OPTIONAL,
1019 pdpAddress PdpAddress OPTIONAL,
1020 networkAccessIdentifier NetworkAccessIdentifier OPTIONAL,
1024 GprsDestination ::= [APPLICATION 116] SEQUENCE
1026 accessPointNameNI AccessPointNameNI OPTIONAL, -- *m.m.
1027 accessPointNameOI AccessPointNameOI OPTIONAL,
1031 GprsLocationInformation ::= [APPLICATION 117] SEQUENCE
1033 gprsNetworkLocation GprsNetworkLocation OPTIONAL, -- *m.m.
1034 homeLocationInformation HomeLocationInformation OPTIONAL,
1035 geographicalLocation GeographicalLocation OPTIONAL,
1039 GprsNetworkLocation ::= [APPLICATION 118] SEQUENCE
1041 recEntity RecEntityCodeList OPTIONAL, -- *m.m.
1042 locationArea LocationArea OPTIONAL,
1043 cellId CellId OPTIONAL,
1047 GprsServiceUsed ::= [APPLICATION 121] SEQUENCE
1049 iMSSignallingContext IMSSignallingContext OPTIONAL,
1050 dataVolumeIncoming DataVolumeIncoming OPTIONAL, -- *m.m.
1051 dataVolumeOutgoing DataVolumeOutgoing OPTIONAL, -- *m.m.
1052 chargeInformationList ChargeInformationList OPTIONAL, -- *m.m.
1056 GsmChargeableSubscriber ::= [APPLICATION 286] SEQUENCE
1059 msisdn Msisdn OPTIONAL,
1063 GuaranteedBitRate ::= [APPLICATION 420] OCTET STRING --(SIZE (1))
1065 HomeBid ::= [APPLICATION 122] Bid
1067 HomeIdentifier ::= [APPLICATION 288] AsciiString
1069 HomeIdType ::= [APPLICATION 311] INTEGER
1071 HomeLocationDescription ::= [APPLICATION 413] LocationDescription
1073 HomeLocationInformation ::= [APPLICATION 123] SEQUENCE
1075 homeBid HomeBid OPTIONAL, -- *m.m.
1076 homeLocationDescription HomeLocationDescription OPTIONAL, -- *m.m.
1080 HorizontalAccuracyDelivered ::= [APPLICATION 392] INTEGER
1082 HorizontalAccuracyRequested ::= [APPLICATION 385] INTEGER
1084 HSCSDIndicator ::= [APPLICATION 424] AsciiString --(SIZE(1))
1086 Imei ::= [APPLICATION 128] BCDString --(SIZE(7..8))
1088 ImeiOrEsn ::= [APPLICATION 429] CHOICE
1095 Imsi ::= [APPLICATION 129] BCDString --(SIZE(3..8))
1097 IMSSignallingContext ::= [APPLICATION 418] INTEGER
1099 InternetServiceProvider ::= [APPLICATION 329] SEQUENCE
1101 ispIdType IspIdType OPTIONAL, -- *m.m.
1102 ispIdentifier IspIdentifier OPTIONAL, -- *m.m.
1106 InternetServiceProviderIdList ::= [APPLICATION 330] SEQUENCE OF InternetServiceProvider
1108 IspIdentifier ::= [APPLICATION 294] AsciiString
1110 IspIdType ::= [APPLICATION 293] INTEGER
1112 ISPList ::= [APPLICATION 378] SEQUENCE OF InternetServiceProvider
1114 NetworkIdType ::= [APPLICATION 331] INTEGER
1116 NetworkIdentifier ::= [APPLICATION 295] AsciiString
1118 Network ::= [APPLICATION 332] SEQUENCE
1120 networkIdType NetworkIdType OPTIONAL, -- *m.m.
1121 networkIdentifier NetworkIdentifier OPTIONAL, -- *m.m.
1125 NetworkList ::= [APPLICATION 333] SEQUENCE OF Network
1127 LatestCallTimeStamp ::= [APPLICATION 133] DateTimeLong
1129 LCSQosDelivered ::= [APPLICATION 390] SEQUENCE
1131 lCSTransactionStatus LCSTransactionStatus OPTIONAL,
1132 horizontalAccuracyDelivered HorizontalAccuracyDelivered OPTIONAL,
1133 verticalAccuracyDelivered VerticalAccuracyDelivered OPTIONAL,
1134 responseTime ResponseTime OPTIONAL,
1135 positioningMethod PositioningMethod OPTIONAL,
1136 trackingPeriod TrackingPeriod OPTIONAL,
1137 trackingFrequency TrackingFrequency OPTIONAL,
1138 ageOfLocation AgeOfLocation OPTIONAL,
1142 LCSQosRequested ::= [APPLICATION 383] SEQUENCE
1144 lCSRequestTimestamp LCSRequestTimestamp OPTIONAL, -- *m.m.
1145 horizontalAccuracyRequested HorizontalAccuracyRequested OPTIONAL,
1146 verticalAccuracyRequested VerticalAccuracyRequested OPTIONAL,
1147 responseTimeCategory ResponseTimeCategory OPTIONAL,
1148 trackingPeriod TrackingPeriod OPTIONAL,
1149 trackingFrequency TrackingFrequency OPTIONAL,
1153 LCSRequestTimestamp ::= [APPLICATION 384] DateTime
1155 LCSSPIdentification ::= [APPLICATION 375] SEQUENCE
1157 contentProviderIdType ContentProviderIdType OPTIONAL, -- *m.m.
1158 contentProviderIdentifier ContentProviderIdentifier OPTIONAL, -- *m.m.
1162 LCSSPIdentificationList ::= [APPLICATION 374] SEQUENCE OF LCSSPIdentification
1164 LCSSPInformation ::= [APPLICATION 373] SEQUENCE
1166 lCSSPIdentificationList LCSSPIdentificationList OPTIONAL, -- *m.m.
1167 iSPList ISPList OPTIONAL,
1168 networkList NetworkList OPTIONAL,
1172 LCSTransactionStatus ::= [APPLICATION 391] INTEGER
1174 LocalCurrency ::= [APPLICATION 135] Currency
1176 LocalTimeStamp ::= [APPLICATION 16] NumberString --(SIZE(14))
1178 LocationArea ::= [APPLICATION 136] INTEGER
1180 LocationDescription ::= AsciiString
1182 LocationIdentifier ::= [APPLICATION 289] AsciiString
1184 LocationIdType ::= [APPLICATION 315] INTEGER
1186 LocationInformation ::= [APPLICATION 138] SEQUENCE
1188 networkLocation NetworkLocation OPTIONAL, -- *m.m.
1189 homeLocationInformation HomeLocationInformation OPTIONAL,
1190 geographicalLocation GeographicalLocation OPTIONAL,
1194 LocationServiceUsage ::= [APPLICATION 382] SEQUENCE
1196 lCSQosRequested LCSQosRequested OPTIONAL, -- *m.m.
1197 lCSQosDelivered LCSQosDelivered OPTIONAL,
1198 chargingTimeStamp ChargingTimeStamp OPTIONAL,
1199 chargeInformationList ChargeInformationList OPTIONAL, -- *m.m.
1203 MaximumBitRate ::= [APPLICATION 421] OCTET STRING --(SIZE (1))
1205 Mdn ::= [APPLICATION 253] NumberString
1207 MessageDescription ::= [APPLICATION 142] AsciiString
1209 MessageDescriptionCode ::= [APPLICATION 141] Code
1211 MessageDescriptionInformation ::= [APPLICATION 143] SEQUENCE
1213 messageDescriptionCode MessageDescriptionCode OPTIONAL, -- *m.m.
1214 messageDescription MessageDescription OPTIONAL, -- *m.m.
1218 MessageStatus ::= [APPLICATION 144] INTEGER
1220 MessageType ::= [APPLICATION 145] INTEGER
1222 MessagingEventService ::= [APPLICATION 439] INTEGER
1224 Min ::= [APPLICATION 146] NumberString --(SIZE(2..15))
1226 MinChargeableSubscriber ::= [APPLICATION 254] SEQUENCE
1228 min Min OPTIONAL, -- *m.m.
1233 MoBasicCallInformation ::= [APPLICATION 147] SEQUENCE
1235 chargeableSubscriber ChargeableSubscriber OPTIONAL, -- *m.m.
1236 rapFileSequenceNumber RapFileSequenceNumber OPTIONAL,
1237 destination Destination OPTIONAL,
1238 destinationNetwork DestinationNetwork OPTIONAL,
1239 callEventStartTimeStamp CallEventStartTimeStamp OPTIONAL, -- *m.m.
1240 totalCallEventDuration TotalCallEventDuration OPTIONAL, -- *m.m.
1241 simToolkitIndicator SimToolkitIndicator OPTIONAL,
1242 causeForTerm CauseForTerm OPTIONAL,
1246 MobileSessionService ::= [APPLICATION 440] INTEGER
1248 Msisdn ::= [APPLICATION 152] BCDString --(SIZE(1..9))
1250 MtBasicCallInformation ::= [APPLICATION 153] SEQUENCE
1252 chargeableSubscriber ChargeableSubscriber OPTIONAL, -- *m.m.
1253 rapFileSequenceNumber RapFileSequenceNumber OPTIONAL,
1254 callOriginator CallOriginator OPTIONAL,
1255 originatingNetwork OriginatingNetwork OPTIONAL,
1256 callEventStartTimeStamp CallEventStartTimeStamp OPTIONAL, -- *m.m.
1257 totalCallEventDuration TotalCallEventDuration OPTIONAL, -- *m.m.
1258 simToolkitIndicator SimToolkitIndicator OPTIONAL,
1259 causeForTerm CauseForTerm OPTIONAL,
1263 NetworkAccessIdentifier ::= [APPLICATION 417] AsciiString
1265 NetworkElement ::= [APPLICATION 441] SEQUENCE
1267 elementType ElementType OPTIONAL, -- *m.m.
1268 elementId ElementId OPTIONAL, -- *m.m.
1272 NetworkElementList ::= [APPLICATION 442] SEQUENCE OF NetworkElement
1274 NetworkId ::= AsciiString --(SIZE(1..6))
1276 NetworkInitPDPContext ::= [APPLICATION 245] INTEGER
1278 NetworkLocation ::= [APPLICATION 156] SEQUENCE
1280 recEntityCode RecEntityCode OPTIONAL, -- *m.m.
1281 callReference CallReference OPTIONAL,
1282 locationArea LocationArea OPTIONAL,
1283 cellId CellId OPTIONAL,
1287 NonChargedNumber ::= [APPLICATION 402] AsciiString
1289 NonChargedParty ::= [APPLICATION 443] SEQUENCE
1291 nonChargedPartyNumber NonChargedPartyNumber OPTIONAL,
1292 nonChargedPublicUserId NonChargedPublicUserId OPTIONAL,
1296 NonChargedPartyNumber ::= [APPLICATION 444] AddressStringDigits
1298 NonChargedPublicUserId ::= [APPLICATION 445] AsciiString
1300 NumberOfDecimalPlaces ::= [APPLICATION 159] INTEGER
1302 ObjectType ::= [APPLICATION 281] INTEGER
1304 OperatorSpecInfoList ::= [APPLICATION 162] SEQUENCE OF OperatorSpecInformation
1306 OperatorSpecInformation ::= [APPLICATION 163] AsciiString
1308 OrderPlacedTimeStamp ::= [APPLICATION 300] DateTime
1310 OriginatingNetwork ::= [APPLICATION 164] NetworkId
1312 PacketDataProtocolAddress ::= [APPLICATION 165] AsciiString
1314 PaidIndicator ::= [APPLICATION 346] INTEGER
1316 PartialTypeIndicator ::= [APPLICATION 166] AsciiString --(SIZE(1))
1318 PaymentMethod ::= [APPLICATION 347] INTEGER
1320 PdpAddress ::= [APPLICATION 167] PacketDataProtocolAddress
1322 PDPContextStartTimestamp ::= [APPLICATION 260] DateTime
1324 PlmnId ::= [APPLICATION 169] AsciiString --(SIZE(5))
1326 PositioningMethod ::= [APPLICATION 395] INTEGER
1328 PriorityCode ::= [APPLICATION 170] INTEGER
1330 PublicUserId ::= [APPLICATION 446] AsciiString
1332 RapFileSequenceNumber ::= [APPLICATION 181] FileSequenceNumber
1334 RecEntityCode ::= [APPLICATION 184] Code
1336 RecEntityCodeList ::= [APPLICATION 185] SEQUENCE OF RecEntityCode
1338 RecEntityId ::= [APPLICATION 400] AsciiString
1340 RecEntityInfoList ::= [APPLICATION 188] SEQUENCE OF RecEntityInformation
1342 RecEntityInformation ::= [APPLICATION 183] SEQUENCE
1344 recEntityCode RecEntityCode OPTIONAL, -- *m.m.
1345 recEntityType RecEntityType OPTIONAL, -- *m.m.
1346 recEntityId RecEntityId OPTIONAL, -- *m.m.
1350 RecEntityType ::= [APPLICATION 186] INTEGER
1352 Recipient ::= [APPLICATION 182] PlmnId
1354 ReleaseVersionNumber ::= [APPLICATION 189] INTEGER
1356 RequestedDeliveryTimeStamp ::= [APPLICATION 301] DateTime
1358 ResponseTime ::= [APPLICATION 394] INTEGER
1360 ResponseTimeCategory ::= [APPLICATION 387] INTEGER
1362 ScuBasicInformation ::= [APPLICATION 191] SEQUENCE
1364 chargeableSubscriber ScuChargeableSubscriber OPTIONAL, -- *m.m.
1365 chargedPartyStatus ChargedPartyStatus OPTIONAL, -- *m.m.
1366 nonChargedNumber NonChargedNumber OPTIONAL, -- *m.m.
1367 clirIndicator ClirIndicator OPTIONAL,
1368 originatingNetwork OriginatingNetwork OPTIONAL,
1369 destinationNetwork DestinationNetwork OPTIONAL,
1373 ScuChargeType ::= [APPLICATION 192] SEQUENCE
1375 messageStatus MessageStatus OPTIONAL, -- *m.m.
1376 priorityCode PriorityCode OPTIONAL, -- *m.m.
1377 distanceChargeBandCode DistanceChargeBandCode OPTIONAL,
1378 messageType MessageType OPTIONAL, -- *m.m.
1379 messageDescriptionCode MessageDescriptionCode OPTIONAL, -- *m.m.
1383 ScuTimeStamps ::= [APPLICATION 193] SEQUENCE
1385 depositTimeStamp DepositTimeStamp OPTIONAL, -- *m.m.
1386 completionTimeStamp CompletionTimeStamp OPTIONAL, -- *m.m.
1387 chargingPoint ChargingPoint OPTIONAL, -- *m.m.
1391 ScuChargeableSubscriber ::= [APPLICATION 430] CHOICE
1393 gsmChargeableSubscriber GsmChargeableSubscriber,
1394 minChargeableSubscriber MinChargeableSubscriber,
1398 Sender ::= [APPLICATION 196] PlmnId
1400 ServiceStartTimestamp ::= [APPLICATION 447] DateTime
1402 ServingBid ::= [APPLICATION 198] Bid
1404 ServingLocationDescription ::= [APPLICATION 414] LocationDescription
1406 ServingNetwork ::= [APPLICATION 195] AsciiString
1408 ServingPartiesInformation ::= [APPLICATION 335] SEQUENCE
1410 contentProviderName ContentProviderName OPTIONAL, -- *m.m.
1411 contentProviderIdList ContentProviderIdList OPTIONAL,
1412 internetServiceProviderIdList InternetServiceProviderIdList OPTIONAL,
1413 networkList NetworkList OPTIONAL,
1417 SessionChargeInfoList ::= [APPLICATION 448] SEQUENCE OF SessionChargeInformation
1419 SessionChargeInformation ::= [APPLICATION 449] SEQUENCE
1421 chargedItem ChargedItem OPTIONAL, -- *m.m.
1422 exchangeRateCode ExchangeRateCode OPTIONAL,
1423 callTypeGroup CallTypeGroup OPTIONAL, -- *m.m.
1424 chargeDetailList ChargeDetailList OPTIONAL, -- *m.m.
1425 taxInformationList TaxInformationList OPTIONAL,
1429 SimChargeableSubscriber ::= [APPLICATION 199] SEQUENCE
1431 imsi Imsi OPTIONAL, -- *m.m.
1432 msisdn Msisdn OPTIONAL,
1436 SimToolkitIndicator ::= [APPLICATION 200] AsciiString --(SIZE(1))
1438 SMSDestinationNumber ::= [APPLICATION 419] AsciiString
1440 SMSOriginator ::= [APPLICATION 425] AsciiString
1442 SpecificationVersionNumber ::= [APPLICATION 201] INTEGER
1444 SsParameters ::= [APPLICATION 204] AsciiString --(SIZE(1..40))
1446 SupplServiceActionCode ::= [APPLICATION 208] INTEGER
1448 SupplServiceCode ::= [APPLICATION 209] HexString --(SIZE(2))
1450 SupplServiceUsed ::= [APPLICATION 206] SEQUENCE
1452 supplServiceCode SupplServiceCode OPTIONAL, -- *m.m.
1453 supplServiceActionCode SupplServiceActionCode OPTIONAL, -- *m.m.
1454 ssParameters SsParameters OPTIONAL,
1455 chargingTimeStamp ChargingTimeStamp OPTIONAL,
1456 chargeInformation ChargeInformation OPTIONAL,
1457 basicServiceCodeList BasicServiceCodeList OPTIONAL,
1461 TapCurrency ::= [APPLICATION 210] Currency
1463 TapDecimalPlaces ::= [APPLICATION 244] INTEGER
1465 TaxableAmount ::= [APPLICATION 398] AbsoluteAmount
1467 Taxation ::= [APPLICATION 216] SEQUENCE
1469 taxCode TaxCode OPTIONAL, -- *m.m.
1470 taxType TaxType OPTIONAL, -- *m.m.
1471 taxRate TaxRate OPTIONAL,
1472 chargeType ChargeType OPTIONAL,
1473 taxIndicator TaxIndicator OPTIONAL,
1477 TaxationList ::= [APPLICATION 211] SEQUENCE OF Taxation
1479 TaxCode ::= [APPLICATION 212] INTEGER
1481 TaxIndicator ::= [APPLICATION 432] AsciiString --(SIZE(1))
1483 TaxInformation ::= [APPLICATION 213] SEQUENCE
1485 taxCode TaxCode OPTIONAL, -- *m.m.
1486 taxValue TaxValue OPTIONAL, -- *m.m.
1487 taxableAmount TaxableAmount OPTIONAL,
1491 TaxInformationList ::= [APPLICATION 214] SEQUENCE OF TaxInformation
1493 -- The TaxRate item is of a fixed length to ensure that the full 5
1494 -- decimal places is provided.
1496 TaxRate ::= [APPLICATION 215] NumberString --(SIZE(7))
1498 TaxType ::= [APPLICATION 217] AsciiString --(SIZE(2))
1500 TaxValue ::= [APPLICATION 397] AbsoluteAmount
1502 TeleServiceCode ::= [APPLICATION 218] HexString --(SIZE(2))
1504 ThirdPartyInformation ::= [APPLICATION 219] SEQUENCE
1506 thirdPartyNumber ThirdPartyNumber OPTIONAL,
1507 clirIndicator ClirIndicator OPTIONAL,
1511 ThirdPartyNumber ::= [APPLICATION 403] AddressStringDigits
1513 ThreeGcamelDestination ::= [APPLICATION 431] CHOICE
1515 camelDestinationNumber CamelDestinationNumber,
1516 gprsDestination GprsDestination,
1520 TotalAdvisedCharge ::= [APPLICATION 356] AbsoluteAmount
1522 TotalAdvisedChargeRefund ::= [APPLICATION 357] AbsoluteAmount
1524 TotalAdvisedChargeValue ::= [APPLICATION 360] SEQUENCE
1526 advisedChargeCurrency AdvisedChargeCurrency OPTIONAL,
1527 totalAdvisedCharge TotalAdvisedCharge OPTIONAL, -- *m.m.
1528 totalAdvisedChargeRefund TotalAdvisedChargeRefund OPTIONAL,
1529 totalCommission TotalCommission OPTIONAL,
1530 totalCommissionRefund TotalCommissionRefund OPTIONAL,
1534 TotalAdvisedChargeValueList ::= [APPLICATION 361] SEQUENCE OF TotalAdvisedChargeValue
1536 TotalCallEventDuration ::= [APPLICATION 223] INTEGER
1538 TotalCharge ::= [APPLICATION 415] AbsoluteAmount
1540 TotalChargeRefund ::= [APPLICATION 355] AbsoluteAmount
1542 TotalCommission ::= [APPLICATION 358] AbsoluteAmount
1544 TotalCommissionRefund ::= [APPLICATION 359] AbsoluteAmount
1546 TotalDataVolume ::= [APPLICATION 343] DataVolume
1548 TotalDiscountRefund ::= [APPLICATION 354] AbsoluteAmount
1550 TotalDiscountValue ::= [APPLICATION 225] AbsoluteAmount
1552 TotalTaxRefund ::= [APPLICATION 353] AbsoluteAmount
1554 TotalTaxValue ::= [APPLICATION 226] AbsoluteAmount
1556 TotalTransactionDuration ::= [APPLICATION 416] TotalCallEventDuration
1558 TrackedCustomerEquipment ::= [APPLICATION 381] SEQUENCE
1560 equipmentIdType EquipmentIdType OPTIONAL, -- *m.m.
1561 equipmentId EquipmentId OPTIONAL, -- *m.m.
1565 TrackedCustomerHomeId ::= [APPLICATION 377] SEQUENCE
1567 homeIdType HomeIdType OPTIONAL, -- *m.m.
1568 homeIdentifier HomeIdentifier OPTIONAL, -- *m.m.
1572 TrackedCustomerHomeIdList ::= [APPLICATION 376] SEQUENCE OF TrackedCustomerHomeId
1574 TrackedCustomerIdentification ::= [APPLICATION 372] SEQUENCE
1576 customerIdType CustomerIdType OPTIONAL, -- *m.m.
1577 customerIdentifier CustomerIdentifier OPTIONAL, -- *m.m.
1581 TrackedCustomerIdList ::= [APPLICATION 370] SEQUENCE OF TrackedCustomerIdentification
1583 TrackedCustomerInformation ::= [APPLICATION 367] SEQUENCE
1585 trackedCustomerIdList TrackedCustomerIdList OPTIONAL, -- *m.m.
1586 trackedCustomerHomeIdList TrackedCustomerHomeIdList OPTIONAL,
1587 trackedCustomerLocList TrackedCustomerLocList OPTIONAL,
1588 trackedCustomerEquipment TrackedCustomerEquipment OPTIONAL,
1592 TrackedCustomerLocation ::= [APPLICATION 380] SEQUENCE
1594 locationIdType LocationIdType OPTIONAL, -- *m.m.
1595 locationIdentifier LocationIdentifier OPTIONAL, -- *m.m.
1599 TrackedCustomerLocList ::= [APPLICATION 379] SEQUENCE OF TrackedCustomerLocation
1601 TrackingCustomerEquipment ::= [APPLICATION 371] SEQUENCE
1603 equipmentIdType EquipmentIdType OPTIONAL, -- *m.m.
1604 equipmentId EquipmentId OPTIONAL, -- *m.m.
1608 TrackingCustomerHomeId ::= [APPLICATION 366] SEQUENCE
1610 homeIdType HomeIdType OPTIONAL, -- *m.m.
1611 homeIdentifier HomeIdentifier OPTIONAL, -- *m.m.
1615 TrackingCustomerHomeIdList ::= [APPLICATION 365] SEQUENCE OF TrackingCustomerHomeId
1617 TrackingCustomerIdentification ::= [APPLICATION 362] SEQUENCE
1619 customerIdType CustomerIdType OPTIONAL, -- *m.m.
1620 customerIdentifier CustomerIdentifier OPTIONAL, -- *m.m.
1624 TrackingCustomerIdList ::= [APPLICATION 299] SEQUENCE OF TrackingCustomerIdentification
1626 TrackingCustomerInformation ::= [APPLICATION 298] SEQUENCE
1628 trackingCustomerIdList TrackingCustomerIdList OPTIONAL, -- *m.m.
1629 trackingCustomerHomeIdList TrackingCustomerHomeIdList OPTIONAL,
1630 trackingCustomerLocList TrackingCustomerLocList OPTIONAL,
1631 trackingCustomerEquipment TrackingCustomerEquipment OPTIONAL,
1635 TrackingCustomerLocation ::= [APPLICATION 369] SEQUENCE
1637 locationIdType LocationIdType OPTIONAL, -- *m.m.
1638 locationIdentifier LocationIdentifier OPTIONAL, -- *m.m.
1642 TrackingCustomerLocList ::= [APPLICATION 368] SEQUENCE OF TrackingCustomerLocation
1644 TrackingFrequency ::= [APPLICATION 389] INTEGER
1646 TrackingPeriod ::= [APPLICATION 388] INTEGER
1648 TransactionAuthCode ::= [APPLICATION 342] AsciiString
1650 TransactionDescriptionSupp ::= [APPLICATION 338] INTEGER
1652 TransactionDetailDescription ::= [APPLICATION 339] AsciiString
1654 TransactionIdentifier ::= [APPLICATION 341] AsciiString
1656 TransactionShortDescription ::= [APPLICATION 340] AsciiString
1658 TransactionStatus ::= [APPLICATION 303] INTEGER
1660 TransferCutOffTimeStamp ::= [APPLICATION 227] DateTimeLong
1662 TransparencyIndicator ::= [APPLICATION 228] INTEGER
1664 UserProtocolIndicator ::= [APPLICATION 280] INTEGER
1666 UtcTimeOffset ::= [APPLICATION 231] AsciiString --(SIZE(5))
1668 UtcTimeOffsetCode ::= [APPLICATION 232] Code
1670 UtcTimeOffsetInfo ::= [APPLICATION 233] SEQUENCE
1672 utcTimeOffsetCode UtcTimeOffsetCode OPTIONAL, -- *m.m.
1673 utcTimeOffset UtcTimeOffset OPTIONAL, -- *m.m.
1677 UtcTimeOffsetInfoList ::= [APPLICATION 234] SEQUENCE OF UtcTimeOffsetInfo
1679 VerticalAccuracyDelivered ::= [APPLICATION 393] INTEGER
1681 VerticalAccuracyRequested ::= [APPLICATION 386] INTEGER
1685 -- Tagged common data types
1689 -- The AbsoluteAmount data type is used to
1690 -- encode absolute revenue amounts.
1691 -- The accuracy of all absolute amount values is defined
1692 -- by the value of TapDecimalPlaces within the group
1693 -- AccountingInfo for the entire TAP batch.
1694 -- Note, that only amounts greater than or equal to zero are allowed.
1695 -- The decimal number representing the amount is
1696 -- derived from the encoded integer
1697 -- value by division by 10^TapDecimalPlaces.
1698 -- for example for TapDecimalPlaces = 3 the following values
1700 -- 0 represents 0.000
1701 -- 12 represents 0.012
1702 -- 1234 represents 1.234
1703 -- for TapDecimalPlaces = 5 the following values will be
1705 -- 0 represents 0.00000
1706 -- 1234 represents 0.01234
1707 -- 123456 represents 1.23456
1708 -- This data type is used to encode (total)
1709 -- charges, (total) discount values and
1710 -- (total) tax values.
1712 AbsoluteAmount ::= INTEGER
1714 Bid ::= AsciiString --(SIZE(5))
1719 -- Non-tagged common data types
1722 -- Recommended common data types to be used for file encoding:
1724 -- The following definitions should be used for TAP file creation instead of
1725 -- the default specifications (OCTET STRING)
1727 -- AsciiString ::= VisibleString
1729 -- Currency ::= VisibleString
1731 -- HexString ::= VisibleString
1733 -- NumberString ::= NumericString
1735 -- AsciiString contains visible ISO 646 characters.
1736 -- Leading and trailing spaces must be discarded during processing.
1737 -- An AsciiString cannot contain only spaces.
1739 AsciiString ::= OCTET STRING
1742 -- The BCDString data type (Binary Coded Decimal String) is used to represent
1743 -- several digits from 0 through 9, a, b, c, d, e.
1744 -- Two digits are encoded per octet. The four leftmost bits of the octet represent
1745 -- the first digit while the four remaining bits represent the following digit.
1746 -- A single f must be used as a filler when the total number of digits to be
1748 -- No other filler is allowed.
1750 BCDString ::= OCTET STRING
1754 -- The currency codes from ISO 4217
1755 -- are used to identify a currency
1757 Currency ::= OCTET STRING
1760 -- HexString contains ISO 646 characters from 0 through 9, A, B, C, D, E, F.
1763 HexString ::= OCTET STRING
1766 -- NumberString contains ISO 646 characters from 0 through 9.
1769 NumberString ::= OCTET STRING
1773 -- The PercentageRate data type is used to
1774 -- encode percentage rates with an accuracy of 2 decimal places.
1775 -- This data type is used to encode discount rates.
1776 -- The decimal number representing the percentage
1777 -- rate is obtained by dividing the integer value by 100
1780 -- 1500 represents 15.00 percent
1781 -- 1 represents 0.01 percent
1783 PercentageRate ::= INTEGER