-- -- Source Control Ident String = "%Z% %W% %I% %G% %U%" -- ------------------------------------------------------- -- (c) 1996 NeuStar, Inc. The Work is subject to the terms of the GNU -- General Public License (the "GPL"), a copy of which may be found at -- ftp://prep.ai.mit.edu/pub/gnu/GPL. Any use of this Work is subject to -- the terms of the GPL. The "Work" covered by the GPL by operation of -- this notice and license is this document and any and all modifications -- to or derivatives of this document. Where the words "Program," -- "software," "source code," "code," or "files" are used in the GPL, -- users understand and agree that the "Work" as defined here is substituted -- for purposes of this notice and license. -- -- August 23, 1999 -- Based upon National Number Pooling Requirements and IIS NANC v2.0.2 and -- asn1 v2.0.1 dated April 6, 1999. -- -- December 31, 1999 -- ASN.1 for Number Pooling, v3.0.1. -- Based upon IIS NANC v3.0.0. -- Updated to include change orders NANC 34, NANC 35 and NANC 174. -- -- April 17, 2000 -- ASN.1 for Number Pooling, v3.0.2. -- Based upon IIS NANC v3.0.0. -- Updated for element name change in NPA-NXX-X-DownloadData. -- LNP ASN.1 Object Identifier Definitions --#include "smi.asn" LNP-OIDS {iso(1) org(3) dod(6) internet(1) private(4) enterprises(1) lockheedMartin(103) cis(7) npac(0) iis(0) oids(0)} DEFINITIONS ::= BEGIN -- EXPORTS all definitions lnp-npac OBJECT IDENTIFIER ::= {iso(1) org(3) dod(6) internet(1) private(4) enterprises(1) lockheedMartin(103) cis(7) npac(0)} lnp-npac-iis OBJECT IDENTIFIER ::= {lnp-npac iis(0)} -- If additional MIB specializations are needed (e.g. regional or vendor -- specific implementations) object identifiers can be added at the npac level (e.g. -- {lnp-npac special(1)}, etc.) -- LNP NPAC SMS categories of Interoperable Interface Specification (IIS) -- information objects lnp-attribute OBJECT IDENTIFIER ::= {lnp-npac-iis attribute(2) } lnp-objectClass OBJECT IDENTIFIER ::= {lnp-npac-iis objectClass(3) } lnp-nameBinding OBJECT IDENTIFIER ::= {lnp-npac-iis nameBinding(4) } lnp-notification OBJECT IDENTIFIER ::= {lnp-npac-iis notification(5) } lnp-action OBJECT IDENTIFIER ::= {lnp-npac-iis action(6) } lnp-package OBJECT IDENTIFIER ::= {lnp-npac-iis package(7) } lnp-parameter OBJECT IDENTIFIER ::= {lnp-npac-iis parameter(8) } END -- LNP-OIDS -- LNP General ASN.1 Definitions LNP-ASN1 {iso(1) org(3) dod(6) internet(1) private(4) enterprises(1) lockheed(103) cis(7) npac(0) iis(0) asn1(1)} DEFINITIONS IMPLICIT TAGS ::= BEGIN -- EXPORTS everything IMPORTS -- CMIP ObjectClass, ObjectInstance FROM CMIP-1 {joint-iso-ccitt ms(9) cmip(1) modules(0) protocol(3)} -- DMI AttributeValueChangeInfo, ObjectInfo FROM Notification-ASN1Module {joint-iso-ccitt ms(9) smi(3) part2(2) asn1Module(2) 2}; ActivateAction ::= SubscriptionVersionAction ActionResultsStatus ::= ResultsStatus ActivateReply ::= SubscriptionVersionActionReply AddressInformation ::= SEQUENCE { line1 GraphicString40, line2 GraphicString40, city GraphicString20, state GraphicString(SIZE(2)), zip GraphicString(SIZE(9)), province GraphicString(SIZE(2)), country GraphicString20, contactPhone PhoneNumber, contact GraphicString40, contactFax PhoneNumber, contactPager PhoneNumber, contactPagerPIN DigitString, -- value should be no more than 10 digits contactE-mail GraphicString60 } AssociationFunction ::= SEQUENCE { soaUnits SoaUnits, lsmsUnits LSMSUnits } AuditAttributes ::= CHOICE { specific-audit [0] SEQUENCE { lidb-data BOOLEAN, class-data BOOLEAN, cnam-data BOOLEAN, isvm-data BOOLEAN, lrn-data BOOLEAN, wsmsc-data BOOLEAN OPTIONAL -- Optional for backward compatability }, all-data [1] NULL } AuditDiscrepancyRpt ::= SEQUENCE { tn PhoneNumber, version-id SubscriptionVersionId, lsms-service-prov-id ServiceProvId, failure-reason AuditFailureData, access-control LnpAccessControl } AuditDiscrepancyRptRecovery ::= SEQUENCE { tn PhoneNumber, version-id SubscriptionVersionId, lsms-service-prov-id ServiceProvId, failure-reason AuditFailureData } AuditFailureData ::= CHOICE { tn-version-missing-NPAC [0] NULL, tn-version-missing-LSMS [1] NULL, mismatch-data [2] MismatchAttributes } AuditId ::= LnpKey AuditName ::= GraphicString40 AuditNumberOfTNs ::= INTEGER AuditNumberOfTNsComplete ::= INTEGER AuditResults ::= SEQUENCE { status [0] AuditResultStatus, failed-service-prov-list [1] Failed-SP-List OPTIONAL, number-of-discrepancies [2] INTEGER, time-of-completion [3] GeneralizedTime, access-control [4] LnpAccessControl } AuditResultsRecovery ::= SEQUENCE { status [0] AuditResultStatus, failed-service-prov-list [1] Failed-SP-List OPTIONAL, number-of-discrepancies [2] INTEGER, time-of-completion [3] GeneralizedTime } AuditResultStatus ::= ENUMERATED { success (0), failed-due-to-discrepancies (1), failed-on-local-sms (2), no-audit-performed (3) } AuditServiceProvIdRange ::= CHOICE { allServiceProvs [0] NULL, serviceProv [1] ServiceProvName -- ServiceProvId value allowed } AuditStatus ::= ENUMERATED { in-progress (0), suspended (1), complete (2) } AuditTN-ActivationRange ::= TimeRange BillingId ::= CHOICE { value [0] GraphicString4, no-value-needed [1] NULL } BlockDownloadCriteria ::= CHOICE { time-range [0] TimeRange, block-npa-nxx-x [1] NPA-NXX-X, block-npa-nxx-x-range [2] NPA-NXX-X-Range } BlockDownloadData ::= SET OF SEQUENCE { block-id [0] BlockId, block-npa-nxx-x [1] NPA-NXX-X OPTIONAL, block-holder-sp [2] ServiceProvId OPTIONAL, block-activation-timestamp [3] GeneralizedTime OPTIONAL, block-lrn [4] LRN OPTIONAL, block-class-dpc [5] EXPLICIT DPC OPTIONAL, block-class-ssn [6] EXPLICIT SSN OPTIONAL, block-lidb-dpc [7] EXPLICIT DPC OPTIONAL, block-lidb-ssn [8] EXPLICIT SSN OPTIONAL, block-isvm-dpc [9] EXPLICIT DPC OPTIONAL, block-isvm-ssn [10] EXPLICIT SSN OPTIONAL, block-cnam-dpc [11] EXPLICIT DPC OPTIONAL, block-cnam-ssn [12] EXPLICIT SSN OPTIONAL, block-download-reason [13] DownloadReason, block-wsmsc-dpc [14] EXPLICIT DPC OPTIONAL, block-wsmsc-ssn [15] EXPLICIT SSN OPTIONAL } BlockId ::= LnpKey BlockStatus ::= ENUMERATED { active (1), sending (3), download-failed (4), download-failed-partial (5), old (7) } Boolean ::= BOOLEAN CancellationAcknowledgeAction ::= SubscriptionVersionAction CancellationAcknowledgeReply ::= SubscriptionVersionActionReply CancelAction::= SubscriptionVersionAction CancelReply ::= SubscriptionVersionActionReply DPC ::= CHOICE { dpc-value [0] OCTET STRING (SIZE(3)), no-value-needed [1] NULL } DigitString ::= GraphicString (FROM ("0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "*" | "#" )) DisconnectAction::= SEQUENCE { subscription-version-action [0] EXPLICIT SubscriptionVersionAction, customer-disconnect-date [1] GeneralizedTime, effective-release-date [2] GeneralizedTime OPTIONAL } DisconnectReply ::= SEQUENCE { status SubscriptionVersionActionReply, version-id SET OF SubscriptionVersionId OPTIONAL } DownloadAction ::= CHOICE { subscriber-download [0] EXPLICIT SubscriptionDownloadCriteria, network-download [1] NetworkDownloadCriteria, block-download [2] BlockDownloadCriteria } DownloadReason ::= ENUMERATED { new1 (0), delete1(1), modified (2), audit-discrepancy (3) } DownloadReply ::= SEQUENCE { status ENUMERATED { success (0), failed (1), time-range-invalid (2), criteria-to-large (3), no-data-selected (4) }, downloaddata CHOICE { subscriber-data [0] SubscriptionDownloadData, network-data [1] NetworkDownloadData, block-data [2] BlockDownloadData } OPTIONAL } EndUserLocationType ::= CHOICE { value [0] NumberString(SIZE(2)), no-value-needed [1] NULL } EndUserLocationValue ::= CHOICE { value [0] NumberString(SIZE(1..12)), no-value-needed [1] NULL } Failed-SP-List ::= SET OF SEQUENCE { service-prov-id ServiceProvId, service-prov-name ServiceProvName } CMIPErrorCode ::= ENUMERATED { noSuchObjectClassEr (0), noSuchObjectInstanceEr (1), accessDeniedEr (2), syncNotSupportedEr (3), invalidFilterEr (4), noSuchAttributeEr (5), invalidAttributeValueEr (6), getListErrorEr (7), setListErorrEr (8), noSuchActionEr (9), processingFailureEr (10), duplicateManagedObjectInstanceEr (11), noSuchReferenceObjectEr (12), noSuchEventTypeEr (13), noSuchArgumentEr (14), invalidArgumentValueEr (15), invalidScopeEr (16), invalidObjectInstanceEr (17), missingattributeValueEr (18), classInstanceConflictEr (19), complexityLimitationEr (20), mistypedOperationEr (21), noSuchInvokeIdEr (22), operationCancelledEr (23) } FailedTN-List ::= SET OF SEQUENCE { subscriptionVersionId SubscriptionVersionId, tn PhoneNumber, errorId CMIPErrorCode } GeneralTime ::= GeneralizedTime GraphicStringBase ::= GraphicString GraphicString4 ::= GraphicStringBase(SIZE(1..4)) GraphicString16 ::= GraphicStringBase(SIZE(1..16)) GraphicString20 ::= GraphicStringBase(SIZE(1..20)) GraphicString25 ::= GraphicStringBase(SIZE(1..25)) GraphicString28 ::= GraphicStringBase(SIZE(1..28)) GraphicString40 ::= GraphicStringBase(SIZE(1..40)) GraphicString60 ::= GraphicStringBase(SIZE(1..60)) GraphicString255 ::= GraphicStringBase(SIZE(1..255)) Integer ::= INTEGER LnpAccessControl ::= [0] SEQUENCE { systemId [0] EXPLICIT SystemID, systemType [1] SystemType, userId [2] GraphicString60 OPTIONAL, listId [3] INTEGER, keyId [4] INTEGER, cmipDepartureTime [5] GeneralizedTime, sequenceNumber [6] INTEGER(0..4294967295), function [7] AssociationFunction, recoveryMode [8] BOOLEAN, signature [9] BIT STRING } LnpAuditsName ::= GraphicString ("lnpAudits") LnpKey ::= INTEGER LnpNetworkName ::= GraphicString ("lnpNetwork") LnpSMS-Name ::= GraphicString40 LnpServiceProvsName ::= GraphicString ("lnpServiceProvs") LnpSubscriptionsName ::= GraphicString ("lnpSubscriptions") LnpSpecificInfo ::= GraphicString255 LNPType ::= ENUMERATED { lspp (0), lisp (1), pool (2) } LocalSMS-ActionResults ::= SEQUENCE { actionId [0] INTEGER, status [1] ActionResultsStatus, failed-tn-list [2] FailedTN-List OPTIONAL, time-of-completion [3] GeneralizedTime, accessControl [4] LnpAccessControl } LocalSMS-CreateAction ::= SEQUENCE { actionId INTEGER, subscriptionVersionObjects SET OF SubscriptionVersionObject, tn-range TN-Range OPTIONAL -- used only on pooled ports for release 1.4 } LocalSMS-CreateReply ::= ResultsStatus LRN ::= CHOICE { value [0] OCTET STRING (SIZE(5)), no-value-needed [1] NULL } LRN-ID ::= LnpKey LRN-DownloadData ::= SET OF SEQUENCE { service-prov-lrn-id LRN-ID, service-prov-lrn-value LRN OPTIONAL, service-prov-download-reason DownloadReason, service-prov-lrn-creation-timestamp GeneralizedTime OPTIONAL } LRN-Range ::= SEQUENCE { start-lrn LRN, stop-lrn LRN } LSMSUnits ::= SEQUENCE { dataDownload [0] NULL OPTIONAL, networkDataMgmt [1] NULL OPTIONAL, query [2] NULL OPTIONAL } MismatchAttributes ::= SEQUENCE { seq0 [0] SEQUENCE { lsms-subscriptionLRN LRN, npac-subscriptionLRN LRN } OPTIONAL, seq1 [1] SEQUENCE { lsms-subscriptionNewCurrentSP ServiceProvId, npac-subscriptionNewCurrentSP ServiceProvId } OPTIONAL, seq2 [2] SEQUENCE { lsms-subscriptionActivationTimeStamp GeneralizedTime, npac-subscriptionActivationTimeStamp GeneralizedTime } OPTIONAL, seq3 [3] SEQUENCE { lsms-subscriptionCLASS-DPC DPC, npac-subscriptionCLASS-DPC DPC } OPTIONAL, seq4 [4] SEQUENCE { lsms-subscriptionCLASS-SSN SSN, npac-subscriptionCLASS-SSN SSN } OPTIONAL, seq5 [5] SEQUENCE { lsms-subscriptionLIDB-DPC DPC, npac-subscriptionLIDB-DPC DPC } OPTIONAL, seq6 [6] SEQUENCE { lsms-subscriptionLIDB-SSN SSN, npac-subscriptionLIDB-SSN SSN } OPTIONAL, seq7 [7] SEQUENCE { lsms-subscriptionISVM-DPC DPC, npac-subscriptionISVM-DPC DPC } OPTIONAL, seq8 [8] SEQUENCE { lsms-subscriptionISVM-SSN SSN, npac-subscriptionISVM-SSN SSN } OPTIONAL, seq9 [9] SEQUENCE { lsms-subscriptionCNAM-DPC DPC, npac-subscriptionCNAM-DPC DPC } OPTIONAL, seq10 [10] SEQUENCE { lsms-subscriptionCNAM-SSN SSN, npac-subscriptionCNAM-SSN SSN } OPTIONAL, seq11 [11] SEQUENCE { lsms-subscriptionEndUserLocationValue EndUserLocationValue, npac-subscriptionEndUserLocationValue EndUserLocationValue } OPTIONAL, seq12 [12] SEQUENCE { lsms-subscriptionEndUserLocationType EndUserLocationType, npac-subscriptionEndUserLocationType EndUserLocationType } OPTIONAL, seq13 [13] SEQUENCE { lsms-subscriptionBillingId BillingId, npac-subscriptionBillingId BillingId } OPTIONAL, seq14 [14] SEQUENCE { lsms-subscriptionLNPType LNPType, npac-subscriptionLNPType LNPType } OPTIONAL, seq15 [15] SEQUENCE { lsms-subscriptionWSMSC-DPC DPC, npac-subscriptionWSMSC-DPC DPC } OPTIONAL, seq16 [16] SEQUENCE { lsms-subscriptionWSMSC-SSN SSN, npac-subscriptionWSMSC-SSN SSN } OPTIONAL } ModifyAction::= SEQUENCE { subscription-version-action [0] EXPLICIT SubscriptionVersionAction, version-status [1] VersionStatus OPTIONAL, data-to-modify [2] SubscriptionModifyData } ModifyReply ::= SEQUENCE { status SubscriptionVersionActionReply, invalid-data SubscriptionModifyInvalidData OPTIONAL } NetworkAddressInformation ::= SET OF SEQUENCE { interfaceAddress OSI-Address, systemType SystemType } NetworkDownloadCriteria ::= SEQUENCE { time-range [0] TimeRange OPTIONAL, chc1 [1] EXPLICIT CHOICE { service-prov [0] ServiceProvId, all-service-provs [1] NULL }, chc2 [2] EXPLICIT CHOICE {-- A decision was made by -- NANC to leave this structure a CHOICE of -- CHOICEs instead of using one CHOICE to -- simplify tagging npa-nxx-data [0] EXPLICIT CHOICE { npa-nxx-range [0] NPA-NXX-Range, all-npa-nxx [1] NULL }, lrn-data [1] EXPLICIT CHOICE { lrn-range [0] LRN-Range, all-lrn [1] NULL }, all-network-data [2] NULL, npa-nxx-x-data [3] EXPLICIT CHOICE { npa-nxx-x-range [0] NPA-NXX-X-Range, all-npa-nxx-x [1] NULL } } } NetworkDownloadData ::= SET OF SEQUENCE { service-prov-data [0] SEQUENCE { service-prov-id ServiceProvId, service-prov-name ServiceProvName OPTIONAL }, service-prov-npa-nxx-data [1] NPA-NXX-DownloadData OPTIONAL, service-prov-lrn-data [2] LRN-DownloadData OPTIONAL, service-prov-npa-nxx-x-data [3] NPA-NXX-X-DownloadData OPTIONAL } NetworkNotificationRecoveryAction ::= TimeRange NetworkNotificationRecoveryReply ::= SEQUENCE { status ENUMERATED { success (0), failed (1), time-range-invalid (2), criteria-to-large (3), no-data-selected (4) }, system-choice CHOICE { lsms [1] SET OF SEQUENCE { managedObjectClass ObjectClass, managedObjectInstance ObjectInstance, notification CHOICE { subscription-version-new-npa-nxx [1] VersionNewNPA-NXX-Recovery, lnp-npac-sms-operational-information [2] NPAC-SMS-Operational-InformationRecovery } }, soa [2] SET OF SEQUENCE { managedObjectClass ObjectClass, managedObjectInstance ObjectInstance, notification CHOICE { subscription-version-new-npa-nxx [1] VersionNewNPA-NXX-Recovery, subscription-version-donor-sp-customer-disconnect-date [2] VersionCustomerDisconnectDateRecovery, subscription-version-audit-discrepancy-report [3] AuditDiscrepancyRptRecovery, subscription-audit-results [4] AuditResultsRecovery, lnp-npac-sms-operational-information [5] NPAC-SMS-Operational-InformationRecovery, subscription-version-new-sp-create-request [6] VersionNewSP-CreateRequestRecovery, subscription-version-old-sp-concurrence-request [7] VersionOldSP-ConcurrenceRequestRecovery, subscription-version-old-sp-final-window-expiration [8] VersionOldSPFinalConcurrenceWindowExpirationRecovery, subscription-version-cancellation-acknowledge-request [9] VersionCancellationAcknowledgeRequestRecovery, subscriptionVersionStatusAttributeValueChange [10] VersionStatusAttributeValueChangeRecovery, attribute-value-change [11] AttributeValueChangeInfo, object-creation [12] ObjectInfo, object-deletion [13] ObjectInfo, numberPoolBlockStatusAttributeValueChange [14] NumberPoolBlockStatusAttributeValueChangeRecovery } } } OPTIONAL } NewSP-CreateAction ::= NewSP-CreateData NewSP-CreateData ::= SEQUENCE { chc1 [0] EXPLICIT CHOICE { subscription-version-tn [0] PhoneNumber, subscription-version-tn-range [1] TN-Range }, subscription-lrn [1] LRN OPTIONAL, subscription-new-current-sp [2] ServiceProvId, subscription-old-sp [3] ServiceProvId, subscription-new-sp-due-date [4] GeneralizedTime, subscription-class-dpc [6] EXPLICIT DPC OPTIONAL, subscription-class-ssn [7] EXPLICIT SSN OPTIONAL, subscription-lidb-dpc [8] EXPLICIT DPC OPTIONAL, subscription-lidb-ssn [9] EXPLICIT SSN OPTIONAL, subscription-isvm-dpc [10] EXPLICIT DPC OPTIONAL, subscription-isvm-ssn [11] EXPLICIT SSN OPTIONAL, subscription-cnam-dpc [12] EXPLICIT DPC OPTIONAL, subscription-cnam-ssn [13] EXPLICIT SSN OPTIONAL, subscription-end-user-location-value [14] EndUserLocationValue OPTIONAL, subscription-end-user-location-type [15] EndUserLocationType OPTIONAL, subscription-billing-id [16] BillingId OPTIONAL, subscription-lnp-type [17] LNPType, subscription-porting-to-original-sp-switch [18] SubscriptionPortingToOriginal-SPSwitch, subscription-wsmsc-dpc [19] EXPLICIT DPC OPTIONAL, subscription-wsmsc-ssn [20] EXPLICIT SSN OPTIONAL } NewSP-CreateReply ::= SEQUENCE { status [0] SubscriptionVersionActionReply, invalid-data [1] NewSP-CreateInvalidData OPTIONAL } NewSP-CreateInvalidData ::= CHOICE { subscription-version-tn [0] EXPLICIT PhoneNumber, subscription-version-tn-range [1] EXPLICIT TN-Range, subscription-lrn [2] EXPLICIT LRN, subscription-new-current-sp [3] EXPLICIT ServiceProvId, subscription-old-sp [4] EXPLICIT ServiceProvId, subscription-new-sp-due-date [5] EXPLICIT GeneralizedTime, subscription-class-dpc [6] EXPLICIT DPC, subscription-class-ssn [7] EXPLICIT SSN, subscription-lidb-dpc [8] EXPLICIT DPC, subscription-lidb-ssn [9] EXPLICIT SSN, subscription-isvm-dpc [10] EXPLICIT DPC, subscription-isvm-ssn [11] EXPLICIT SSN, subscription-cnam-dpc [12] EXPLICIT DPC, subscription-cnam-ssn [13] EXPLICIT SSN, subscription-end-user-location-value [14] EXPLICIT EndUserLocationValue, subscription-end-user-location-type [15] EXPLICIT EndUserLocationType, subscription-billing-id [16] EXPLICIT BillingId, subscription-lnp-type [17] EXPLICIT LNPType, subscription-porting-to-original-sp-switch [18] EXPLICIT SubscriptionPortingToOriginal-SPSwitch, subscription-wsmsc-dpc [19] EXPLICIT DPC, subscription-wsmsc-ssn [20] EXPLICIT SSN } NpacAssociationUserInfo ::= SEQUENCE { error-code [0] IMPLICIT ErrorCode, error-text [1] IMPLICIT GraphicString(SIZE(1..80)) } ErrorCode ::= ENUMERATED { success (0), access-denied (1), retry-same-host (2), try-other-host (3) } NPA ::= NumberString(SIZE(3)) NPA-NXX ::= SEQUENCE { npa-value NPA, nxx-value NumberString(SIZE(3)) } NPA-NXX-DownloadData ::= SET OF SEQUENCE { service-prov-npa-nxx-id NPA-NXX-ID, service-prov-npa-nxx-value NPA-NXX OPTIONAL, service-prov-npa-nxx-effective-timestamp GeneralizedTime OPTIONAL, service-prov-download-reason DownloadReason, service-prov-npa-nxx-creation-timestamp GeneralizedTime OPTIONAL } NPA-NXX-ID ::= LnpKey NPA-NXX-Range ::= SEQUENCE { start-npa-nxx NPA-NXX, stop-npa-nxx NPA-NXX } NPA-NXX-X ::= NumberString(SIZE(7)) NPA-NXX-X-DownloadData ::= SET OF SEQUENCE { service-prov-npa-nxx-x-id [0] NPA-NXX-X-ID, service-prov-npa-nxx-x [1] NPA-NXX-X OPTIONAL, service-prov-npa-nxx-x-effective-timestamp [2] GeneralizedTime OPTIONAL, service-prov-npa-nxx-x-creation-timestamp [3] GeneralizedTime OPTIONAL, service-prov-npa-nxx-x-modified-timestamp [4] GeneralizedTime OPTIONAL, service-prov-npa-nxx-x-download-reason [5] DownloadReason } NPA-NXX-X-ID ::= LnpKey NPA-NXX-X-Range ::= SEQUENCE { start-npa-nxx-x NPA-NXX-X, stop-npa-nxx-x NPA-NXX-X } NPAC-SMS-Operational-Information ::= SEQUENCE { down-time TimeRange, npac-contact-number PhoneNumber, additional-down-time-information GraphicString255, access-control LnpAccessControl } NPAC-SMS-Operational-InformationRecovery ::= SEQUENCE { down-time TimeRange, npac-contact-number PhoneNumber, additional-down-time-information GraphicString255 } NumberPoolBlock-CreateAction ::= SEQUENCE { block-npa-nxx-x NPA-NXX-X, block-holder-sp ServiceProvId, block-lrn LRN, block-class-dpc DPC, block-class-ssn SSN, block-lidb-dpc DPC, block-lidb-ssn SSN, block-isvm-dpc DPC, block-isvm-ssn SSN, block-cnam-dpc DPC, block-cnam-ssn SSN, block-wsmsc-dpc [0] DPC OPTIONAL, block-wsmsc-ssn [1] SSN OPTIONAL } NumberPoolBlock-CreateInvalidData ::= CHOICE { block-npa-nxx-x [0] EXPLICIT NPA-NXX-X, block-lrn [1] EXPLICIT LRN, block-class-dpc [2] EXPLICIT DPC, block-class-ssn [3] EXPLICIT SSN, block-lidb-dpc [4] EXPLICIT DPC, block-lidb-ssn [5] EXPLICIT SSN, block-isvm-dpc [6] EXPLICIT DPC, block-isvm-ssn [7] EXPLICIT SSN, block-cnam-dpc [8] EXPLICIT DPC, block-cnam-ssn [9] EXPLICIT SSN, block-wsmsc-dpc [10] EXPLICIT DPC, block-wsmsc-ssn [11] EXPLICIT SSN } NumberPoolBlock-CreateReply ::= SEQUENCE { block-id [0] BlockId, status [1] ENUMERATED { success (0), failed (1), soa-not-authorized (2), no-npa-nxx-x-found (3), invalid-data-values (4), number-pool-block-already-exists (5), prior-to-effective-date (6), invalid-subscription-versions (7) }, block-invalid-values [2] NumberPoolBlock-CreateInvalidData OPTIONAL } NumberPoolBlockStatusAttributeValueChange ::= SEQUENCE { value-change-info [0] AttributeValueChangeInfo, failed-service-provs [1] Failed-SP-List OPTIONAL, access-control [2] LnpAccessControl } NumberPoolBlockStatusAttributeValueChangeRecovery ::= SEQUENCE { value-change-info [0] AttributeValueChangeInfo, failed-service-provs [1] Failed-SP-List OPTIONAL } NumberString ::= GraphicString (FROM ("0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9")) OldSP-CreateAction ::= OldSP-CreateData OldSP-CreateData ::= SEQUENCE { chc1 [0] EXPLICIT CHOICE { subscription-version-tn [0] PhoneNumber, subscription-version-tn-range [1] TN-Range }, subscription-new-current-sp [1] ServiceProvId, subscription-old-sp [2] ServiceProvId, subscription-old-sp-due-date [3] GeneralizedTime, subscription-old-sp-authorization [4] ServiceProvAuthorization, subscription-status-change-cause-code [5] SubscriptionStatusChangeCauseCode, subscription-lnp-type [6] LNPType } OldSP-CreateReply ::= SEQUENCE { status SubscriptionVersionActionReply, invalid-data OldSP-CreateInvalidData OPTIONAL } OldSP-CreateInvalidData ::= CHOICE { subscription-version-tn [0] EXPLICIT PhoneNumber, subscription-version-tn-range [1] EXPLICIT TN-Range, subscription-new-current-sp [2] EXPLICIT ServiceProvId, subscription-old-sp [3] EXPLICIT ServiceProvId, subscription-old-sp-due-date [4] EXPLICIT GeneralizedTime, subscription-old-sp-authorization [5] EXPLICIT ServiceProvAuthorization, subscription-status-change-cause-code [6] EXPLICIT SubscriptionStatusChangeCauseCode, subscription-lnp-type [7] EXPLICIT LNPType } OSI-Address ::= SEQUENCE { nsap OCTET STRING(SIZE(20)), tsap OCTET STRING(SIZE(1..4)), ssap OCTET STRING(SIZE(1..4)), psap OCTET STRING(SIZE(1..4)) } PhoneNumber ::= NumberString(SIZE(10)) RecoveryCompleteAction ::= NULL RecoveryCompleteReply ::= SEQUENCE { status ResultsStatus, subscriber-data [1] SubscriptionDownloadData OPTIONAL, network-data [2] NetworkDownloadData OPTIONAL, block-data [3] BlockDownloadData OPTIONAL } RemoveFromConflictAction ::= SubscriptionVersionAction RemoveFromConflictReply ::= SubscriptionVersionActionReply ServiceProvAuthorization ::= BOOLEAN ServiceProvId ::= GraphicString4 ServiceProvName ::= GraphicString40 SoaUnits ::= SEQUENCE { soaMgmt [0] NULL OPTIONAL, networkDataMgmt [1] NULL OPTIONAL, dataDownload [2] NULL OPTIONAL } ResultsStatus ::= ENUMERATED { success(0), failure(1) } SSN ::= CHOICE { ssn-value [0] INTEGER(0..255), no-value-needed [1] NULL } SubscriptionData ::= SEQUENCE { subscription-lrn [1] LRN OPTIONAL, subscription-new-current-sp [2] ServiceProvId OPTIONAL, subscription-activation-timestamp [3] GeneralizedTime OPTIONAL, subscription-class-dpc [4] EXPLICIT DPC, subscription-class-ssn [5] EXPLICIT SSN, subscription-lidb-dpc [6] EXPLICIT DPC, subscription-lidb-ssn [7] EXPLICIT SSN, subscription-isvm-dpc [8] EXPLICIT DPC, subscription-isvm-ssn [9] EXPLICIT SSN, subscription-cnam-dpc [10] EXPLICIT DPC, subscription-cnam-ssn [11] EXPLICIT SSN, subscription-end-user-location-value [12] EndUserLocationValue OPTIONAL, subscription-end-user-location-type [13] EndUserLocationType OPTIONAL, subscription-billing-id [14] BillingId OPTIONAL, subscription-lnp-type [15] LNPType, subscription-download-reason [16] DownloadReason, subscription-wsmsc-dpc [17] EXPLICIT DPC OPTIONAL, subscription-wsmsc-ssn [18] EXPLICIT SSN OPTIONAL } SubscriptionDownloadCriteria ::= CHOICE { time-range [0] TimeRange, tn [1] PhoneNumber, tn-range [2] TN-Range } SubscriptionDownloadData ::= SET OF SEQUENCE { subscription-version-id [0] SubscriptionVersionId, subscription-version-tn [1] PhoneNumber OPTIONAL, subscription-data SubscriptionData } SubscriptionModifyData ::= SEQUENCE { subscription-lrn [0] LRN OPTIONAL, subscription-new-sp-due-date [1] GeneralizedTime OPTIONAL, subscription-old-sp-due-date [2] GeneralizedTime OPTIONAL, subscription-old-sp-authorization [3] ServiceProvAuthorization OPTIONAL, subscription-class-dpc [4] EXPLICIT DPC OPTIONAL, subscription-class-ssn [5] EXPLICIT SSN OPTIONAL, subscription-lidb-dpc [6] EXPLICIT DPC OPTIONAL, subscription-lidb-ssn [7] EXPLICIT SSN OPTIONAL, subscription-isvm-dpc [8] EXPLICIT DPC OPTIONAL, subscription-isvm-ssn [9] EXPLICIT SSN OPTIONAL, subscription-cnam-dpc [10] EXPLICIT DPC OPTIONAL, subscription-cnam-ssn [11] EXPLICIT SSN OPTIONAL, subscription-end-user-location-value [12] EndUserLocationValue OPTIONAL, subscription-end-user-location-type [13] EndUserLocationType OPTIONAL, subscription-billing-id [14] BillingId OPTIONAL, subscription-status-change-cause-code [15] SubscriptionStatusChangeCauseCode OPTIONAL, subscription-wsmsc-dpc [16] EXPLICIT DPC OPTIONAL, subscription-wsmsc-ssn [17] EXPLICIT SSN OPTIONAL } SubscriptionModifyInvalidData ::= CHOICE { subscription-lrn [0] EXPLICIT LRN, subscription-new-sp-due-date [1] EXPLICIT GeneralizedTime, subscription-old-sp-due-date [2] EXPLICIT GeneralizedTime, subscription-old-sp-authorization [3] EXPLICIT ServiceProvAuthorization, subscription-class-dpc [4] EXPLICIT DPC, subscription-class-ssn [5] EXPLICIT SSN, subscription-lidb-dpc [6] EXPLICIT DPC, subscription-lidb-ssn [7] EXPLICIT SSN, subscription-isvm-dpc [8] EXPLICIT DPC, subscription-isvm-ssn [9] EXPLICIT SSN, subscription-cnam-dpc [10] EXPLICIT DPC, subscription-cnam-ssn [11] EXPLICIT SSN, subscription-end-user-location-value [12] EXPLICIT EndUserLocationValue, subscription-end-user-location-type [13] EXPLICIT EndUserLocationType, subscription-billing-id [14] EXPLICIT BillingId, subscription-status-change-cause-code [15] EXPLICIT SubscriptionStatusChangeCauseCode, subscription-wsmsc-dpc [16] EXPLICIT DPC, subscription-wsmsc-ssn [17] EXPLICIT SSN } SubscriptionPortingToOriginal-SPSwitch ::= BOOLEAN SubscriptionPreCancellationStatus ::= ENUMERATED { conflict (0), pending (2), disconnect-pending (6) } SubscriptionStatusChangeCauseCode ::= CHOICE { value [0] INTEGER, no-value-needed [1] NULL } SubscriptionVersionAction ::= CHOICE { subscription-version-action-key [0] EXPLICIT SubscriptionVersionActionKey, subscription-version-tn-range [1] TN-Range } SubscriptionVersionActionKey ::= CHOICE { version-id [0] SubscriptionVersionId, tn [1] PhoneNumber } SubscriptionVersionActionReply ::= ENUMERATED { success (0), failed (1), soa-not-authorized (2), no-version-found (3), invalid-data-values (4), version-create-already-exists (5) } SubscriptionVersionId ::= LnpKey SubscriptionVersionObject ::= SEQUENCE { tn-version-id SET OF TN-VersionId, subscription-data SubscriptionData } TimeRange ::= SEQUENCE { startTime [0] GeneralizedTime, stopTime [1] GeneralizedTime } SystemID ::= CHOICE { serviceProvId [0] ServiceProvId, npac-sms [1] GraphicString60 } SystemType ::= ENUMERATED { soa(0), local-sms(1), soa-and-local-sms(2), -- value not supported npac-sms(3) -- value is only valid for AccessControl definition } TN-Range ::= SEQUENCE { tn-start NumberString(SIZE(10)), tn-stop NumberString(SIZE(4)) } TN-VersionId ::= SEQUENCE { tn PhoneNumber, version-id SubscriptionVersionId } VersionCancellationAcknowledgeRequest ::= SEQUENCE { tn PhoneNumber, version-id LnpKey, access-control LnpAccessControl } VersionCancellationAcknowledgeRequestRecovery ::= SEQUENCE { tn PhoneNumber, version-id LnpKey } VersionCreateConcurrenceRequest ::= SEQUENCE { tn PhoneNumber, version-id LnpKey, service-prov-id ServiceProvId, service-prov-due-date GeneralizedTime, service-prov-authorization-creation-time-stamp GeneralizedTime, access-control LnpAccessControl, subscription-timer-type [0] Integer OPTIONAL, subscription-business-type [1] Integer OPTIONAL } VersionCreateConcurrenceRequestRecovery ::= SEQUENCE { tn [0] PhoneNumber, version-id [1] LnpKey, service-prov-id [2] ServiceProvId, service-prov-due-date [3] GeneralizedTime, service-prov-authorization-creation-time-stamp [4] GeneralizedTime, subscription-timer-type [5] Integer OPTIONAL, subscription-business-type [6] Integer OPTIONAL } VersionCustomerDisconnectDate ::= SEQUENCE { tn PhoneNumber, version-id LnpKey, service-prov-customer-disconnect-date GeneralizedTime, service-prov-effective-release-date GeneralizedTime OPTIONAL, access-control LnpAccessControl } VersionCustomerDisconnectDateRecovery ::= SEQUENCE { tn PhoneNumber, version-id LnpKey, service-prov-customer-disconnect-date GeneralizedTime, service-prov-effective-release-date GeneralizedTime OPTIONAL } VersionNewNPA-NXX ::= SEQUENCE { service-prov-npa-nxx-id NPA-NXX-ID, service-prov-npa-nxx-value NPA-NXX OPTIONAL, service-prov-npa-nxx-effective-time-stamp GeneralizedTime, service-prov-id ServiceProvId, access-control LnpAccessControl } VersionNewNPA-NXX-Recovery ::= SEQUENCE { service-prov-npa-nxx-id NPA-NXX-ID, service-prov-npa-nxx-value NPA-NXX OPTIONAL, service-prov-npa-nxx-effective-time-stamp GeneralizedTime, service-prov-id ServiceProvId } VersionNewSP-CreateRequest ::= SEQUENCE { version-create-request [0] VersionCreateConcurrenceRequest, service-prov-old-authorization [1] ServiceProvAuthorization, subscription-status-change-cause-code [2] SubscriptionStatusChangeCauseCode } VersionNewSP-CreateRequestRecovery ::= SEQUENCE { version-create-request [0] VersionCreateConcurrenceRequestRecovery, service-prov-old-authorization [1] ServiceProvAuthorization, subscription-status-change-cause-code [2] SubscriptionStatusChangeCauseCode } VersionOldSP-ConcurrenceRequest ::= VersionCreateConcurrenceRequest VersionOldSP-ConcurrenceRequestRecovery ::= VersionCreateConcurrenceRequestRecovery VersionOldSPFinalConcurrenceWindowExpiration ::= SEQUENCE { tn PhoneNumber, version-id LnpKey, access-control LnpAccessControl, subscription-timer-type [0]Integer OPTIONAL, subscription-business-type [1] Integer OPTIONAL } VersionOldSPFinalConcurrenceWindowExpirationRecovery ::= SEQUENCE { tn [0] PhoneNumber, version-id [1] LnpKey, subscription-timer-type [2]Integer OPTIONAL, subscription-business-type [3] Integer OPTIONAL } VersionStatus ::= ENUMERATED { conflict (0), active (1), pending (2), sending (3), download-failed (4), download-failed-partial (5), disconnect-pending (6), old (7), canceled (8), cancel-pending (9) } VersionStatusAttributeValueChange ::= SEQUENCE { value-change-info [0] AttributeValueChangeInfo, failed-service-provs [1] Failed-SP-List OPTIONAL, subscription-status-change-cause-code [2] SubscriptionStatusChangeCauseCode OPTIONAL, access-control [3] LnpAccessControl } VersionStatusAttributeValueChangeRecovery ::= SEQUENCE { value-change-info [0] AttributeValueChangeInfo, failed-service-provs [1] Failed-SP-List OPTIONAL, subscription-status-change-cause-code [2] SubscriptionStatusChangeCauseCode OPTIONAL } END -- LNP-ASN1 --multipart-boundary--