------------------------------------------------------- -- -- -- ------------------------------------------------------- -- (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 26, 2002 -- ASN.1 for NPAC SMS Release v3.2.0 -- Based upon IIS NANC v3.2.0 -- Updated to include change orders: -- -- NANC 249, Modification of Dates for Disconnect Pending SV. -- CDD and ERD added to SubscriptionModifyData, SubscriptionModifyInvalidData. -- -- NANC 287 - Change required field for First Usage Notification. -- OPTIONAL tag removed from service-prov-npa-nxx-value in VersionNewNPA-NXX, -- VersionNewNPA-NXX-Recovery. -- -- NANC 316 - NSAP Field Size Declaration. -- nsap changed from octets string 20 to octet string 12 in OSI-Address. -- ------------------------------------------------------- -- -- May 27, 2005 -- ASN.1 for NPAC SMS Release v3.3.0 -- Based upon IIS NANC v3.3.0 -- Updated to include change orders: -- -- ILL 130, Application Level Errors. -- New structures added for ActivateReplyWithErrorCode, -- CancellationAcknowledgeReplyWithErrorCode, CancelReplyWithErrorCode, -- RemoveFromConflictReplyWithErrorCode, -- SubscriptionVersionActionReplyWithErrorCode, LnpSpecificErrorCode. -- error-code added to DisconnectReply, DownloadReply (also actionId), -- ModifyReply, NetworkNotificationRecoveryReply (also actionId), -- NewSP-CreateReply, NumberPoolBlock-CreateReply, OldSP-CreateReply, -- RecoveryCompleteReply. -- -- NANC 151, TN and NPB added to Notifications. -- block-npa-nxx-x added to NumberPoolBlockStatusAttributeValueChange, -- NumberPoolBlockStatusAttributeValueChangeRecovery. -- subscription-tn added to VersionStatusAttributeValueChange. -- tn-range added to RangeStatusAttributeValueChangeInfo, -- RangeAttributeValueChangeInfo. -- -- NANC 299, Application Level Heartbeat. -- New structure added for ApplicationLevelHeartBeat. -- -- NANC 351, SWIM Recovery. -- SWIM added to DownloadAction, TimeRange, NetworkNotificationRecoveryReply (also -- actionId), DownloadReply (also actionId). -- New structures added for SWIMDownloadCriteria, SWIMDownloadDataType, -- SwimNotificationCriteria, SwimResultsStatus, SwimProcessing-RecoveryResponse, -- SWIMProcessing-RecoveryResults. -- Added comment that SWIM not applicable for AuditTN-ActivationRange, -- BlockDownloadCriteria, NetworkDownloadCriteria, -- SubscriptionDownloadCriteria, NPAC-SMS-Operational-Information, -- NPAC-SMS-Operational-InformationRecovery. -- -- NANC 352, Recovery of SPID. -- SPID added to DownloadAction, DownloadReply, SwimDownloadDataType. -- New structures added for ServiceProvDownloadCriteria, ServiceProvDownloadData. -- -- NANC 357, SP Type. -- New structure for ServiceProviderType. -- -- NANC 358, Change SPID Definition. -- Definition changed from string 1-4, to string fixed 4. -- -- NANC 383, Separate SOA Channel for Notifications. -- notificationDownload added to SoaUnits. -- -- NANC 386, Single Association for SOA/LSMS. -- new-bind-received added to ErrorCode. -- -- NANC 388, Un-do a Cancel-Pending SV. -- new-version-status added to SubscriptionModifyData, SubscriptionModifyInvalidData. -- -- Documentation-only change orders: -- -- NANC 359. -- Added comment that SPID must be 4 alphanumeric, BillingId can be variable 1-4 -- alphanumeric. -- -- NANC 364. -- Removed comment from LocalSMS-CreateAction that tn-range applied only on pooled -- ports for R1.4. -- ------------------------------------------------------- -- -- September 30, 2005 -- ASN.1 for NPAC SMS Release v3.3.1 -- Based upon IIS NANC v3.3.1 -- Updated to include change orders: -- -- NANC 399, SV Type, Optional Data. -- sv-type and optional-data added to BlockDownloadData, MismatchAttributes, -- NewSP-CreateData, NewSP-CreateInvalidData, NumberPoolBlock-CreateAction, -- NumberPoolBlock-CreateInvalidData, SubscriptionData, SubscriptionModifyData, -- SubscriptionModifyInvalidData. -- New structure added for OptionalData, SVType. -- ------------------------------------------------------- -- -- December 7, 2009 -- ASN.1 for NPAC SMS Release 3.3.4. -- Based upon IIS v3.3.4. -- Updated to include change orders: -- -- NANC 441, One Business Day Porting. -- New structure added for MediumTimerIndicator, MediumIndicatorError. -- MTI added to NewSP-CreateData, NewSP-CreateInvalidData, OldSP-CreateData, -- OldSP-CreateInvalidData, SubscriptionModifyData, SubscriptionModifyInvalidData. -- ------------------------------------------------------- -- -- August 31, 2010 -- ASN.1 for NPAC SMS Release 3.4.0. -- Based upon IIS v3.4.0. -- Updated to include change orders: -- NANC 355, Modification of NPA-NXX Effective Date. -- service-prov-npa-nxx-modified-timestamp added to NPA-NXX-DownloadData. -- LRN-DownloadData sequence renumbering. -- NPA-NXX-DownloadData sequence renumbering. -- -- NANC 408, SPID Migration. -- New structures added for LnpSpidMigrationAction, LnpSpidMigrationReply, -- MigrationNPANXX-Data. -- -- NANC 421, Update Prepaid-Wireless SV Type. -- SVType enum 4 changed from sv-type-4 to prepaid-wireless. -- -- NANC 433, VoIP SV Type. -- SVType enum 2 changed from voIP to class2InterconnectedVoIP, enum 5 changed -- from sv-type-4 to class1InterconnectedVoIP. -- SVType enum added sv-type-7, sv-type-8, sv-type-9. -- -- NANC 434, VoIP SP Type. -- ServiceProviderType enum 3 changed from sp-type-3 to class1InterconnectedVoIP. -- -- NANC 443, Audit Status label. -- AuditStatus changed from suspended to cancelled. -- ------------------------------------------------------- -- -- July 16, 2013 -- ASN.1 for NPAC SMS Release 3.4.6. -- Based upon IIS v3.4.2. -- Updated to include change orders: -- NANC 455, VoIP SP Type and SV Type for FCC Numbering Trial. -- ServiceProviderType enum 3 changed from class1InterconnectedVoIP to -- class1and2VoIP0WithNumAssgnmt. -- SVType enum 2 changed from class2InterconnectedVoIP to class2VoIP-noNumAssgnmt, -- enum 5 changed from class1InterconnectedVoIP to class1And2VoIP-WithNumAssgnmt. -- ------------------------------------------------------- ------------------------------------------------------- ------------------------------------------------------- -- -- 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} AdditionalInformation FROM Attribute-ASN1Module {joint-iso-ccitt ms(9) smi(3) part2(2) asn1Module(2) 1}; ActivateAction ::= SubscriptionVersionAction ActionResultsStatus ::= ResultsStatus ActivateReply ::= SubscriptionVersionActionReply ActivateReplyWithErrorCode ::= SubscriptionVersionActionReplyWithErrorCode 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 } ApplicationLevelHeartBeat ::= SEQUENCE { sequence-number [0] INTEGER, creation-ts [1] GeneralizedTime } 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), cancelled (1), complete (2) } AuditTN-ActivationRange ::= TimeRange -- swim value NOT applicable BillingId ::= CHOICE { value [0] GraphicString4, -- variable 1-4 alphanumeric characters no-value-needed [1] NULL } BlockDownloadCriteria ::= CHOICE { time-range [0] TimeRange, -- swim value NOT applicable 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, block-sv-type [16] EXPLICIT SVType OPTIONAL, block-optional-data [17] EXPLICIT OptionalData OPTIONAL } BlockId ::= LnpKey BlockStatus ::= ENUMERATED { active (1), sending (3), download-failed (4), download-failed-partial (5), old (7) } Boolean ::= BOOLEAN CancellationAcknowledgeAction ::= SubscriptionVersionAction CancellationAcknowledgeReply ::= SubscriptionVersionActionReply CancellationAcknowledgeReplyWithErrorCode ::= SubscriptionVersionActionReplyWithErrorCode CancelAction::= SubscriptionVersionAction CancelReply ::= SubscriptionVersionActionReply CancelReplyWithErrorCode ::= SubscriptionVersionActionReplyWithErrorCode 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, error-code LnpSpecificErrorCode OPTIONAL -- present if status not success } DownloadAction ::= CHOICE { subscriber-download [0] EXPLICIT SubscriptionDownloadCriteria, network-download [1] NetworkDownloadCriteria, block-download [2] BlockDownloadCriteria, service-prov-download [3] ServiceProvDownloadCriteria, swim-download [4] SwimDownloadCriteria } 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), swim-more-data (5) }, downloaddata CHOICE { subscriber-data [0] SubscriptionDownloadData, network-data [1] NetworkDownloadData, block-data [2] BlockDownloadData, service-prov-data [3] ServiceProvDownloadData } OPTIONAL, actionId [10] INTEGER OPTIONAL, error-code [11] LnpSpecificErrorCode OPTIONAL -- present if status not success } 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 GraphicFixedString4 ::= GraphicStringBase(SIZE(4)) 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)) ID-Range ::= SEQUENCE { start-id LnpKey, end-id LnpKey } 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") LnpSpecificErrorCode ::= INTEGER LnpSpecificInfo ::= GraphicString255 LnpSpidMigrationAction ::= SEQUENCE { migration-from-sp [0] ServiceProvId, migration-to-sp [1] ServiceProvId, migration-npa-nxx-data [2] MigrationNPANXXData, migration-creation-timestamp [3] GeneralizedTime, migration-due-date [4] GeneralizedTime, migration-activation-timestamp [5] GeneralizedTime } LnpSpidMigrationReply ::= SEQUENCE { status ENUMERATED { success (0), failed (1) }, error-text GraphicString255 OPTIONAL } 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 } 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 } MediumTimerIndicator ::= BOOLEAN MediumIndicatorError ::= CHOICE { indicator-value [0] BOOLEAN, no-value [1] NULL } MigrationNPANXXData ::= SET OF SEQUENCE { npa-nxx-id NPA-NXX-ID, npa-nxx-value NPA-NXX } 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, seq17 [17] SEQUENCE { lsms-sv-type SVType, npac-sv-type SVType } OPTIONAL, seq18 [18] SEQUENCE { lsms-optional-data OptionalData, npac-optional-data OptionalData } 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, error-code LnpSpecificErrorCode OPTIONAL -- present if status not success } NetworkAddressInformation ::= SET OF SEQUENCE { interfaceAddress OSI-Address, systemType SystemType } NetworkDownloadCriteria ::= SEQUENCE { time-range [0] TimeRange OPTIONAL, -- swim value NOT applicable 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), swim-more-data (5) }, 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, versionRangeAttributeValueChangeRecovery [15] VersionRangeAttributeValueChangeRecovery, versionRangeObjectCreationRecovery [16] VersionRangeObjectCreationRecovery, versionRangeStatusAttributeValueChangeRecovery [17] VersionRangeStatusAttributeValueChangeRecovery, versionRangeCustomerDisconnectDateRecovery [18] VersionRangeCustomerDisconnectDateRecovery, versionRangeCancellationAcknowledgeRecovery [19] VersionRangeCancellationAcknowledgeRecovery, versionRangeNewSP-CreateRequestRecovery [20] VersionRangeNewSP-CreateRequestRecovery, versionRangeOldSP-ConcurrenceRequestRecovery [21] VersionRangeOldSP-ConcurrenceRequestRecovery, versionRangeOldSPFinalConcurrenceWindowExpirationRecovery [22] VersionRangeOldSPFinalConcurrenceWindowExpirationRecovery, versionRangeNewSP-FinalCreateWindowExpirationRecovery [23] VersionRangeNewSP-FinalCreateWindowExpirationRecovery, subscription-version-new-sp-final-window-expiration [24] VersionNewSP-FinalCreateWindowExpirationRecovery } } } OPTIONAL, actionId [10] INTEGER OPTIONAL, error-code [11] LnpSpecificErrorCode OPTIONAL -- present if status not success } 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, subscription-sv-type [21] EXPLICIT SVType OPTIONAL, subscription-optional-data [22] EXPLICIT OptionalData OPTIONAL, subscription-med-ind [23] EXPLICIT MediumTimerIndicator OPTIONAL } NewSP-CreateReply ::= SEQUENCE { status [0] SubscriptionVersionActionReply, invalid-data [1] NewSP-CreateInvalidData OPTIONAL, error-code [2] LnpSpecificErrorCode OPTIONAL -- present if status not success } 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, subscription-sv-type [21] EXPLICIT SVType, subscription-optional-data [22] EXPLICIT OptionalData, subscription-med-ind [23] EXPLICIT MediumIndicatorError } 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), new-bind-received (4) } 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, service-prov-npa-nxx-modified-timestamp [0] 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, -- swim value NOT applicable npac-contact-number PhoneNumber, additional-down-time-information GraphicString255, access-control LnpAccessControl } NPAC-SMS-Operational-InformationRecovery ::= SEQUENCE { down-time TimeRange, -- swim value NOT applicable 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, block-sv-type [2] SVType OPTIONAL, block-optional-data [3] OptionalData 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, block-sv-type [12] EXPLICIT SVType, block-optional-data [13] EXPLICIT OptionalData } 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, error-code [3] LnpSpecificErrorCode OPTIONAL -- present if status not success } NumberPoolBlockStatusAttributeValueChange ::= SEQUENCE { value-change-info [0] AttributeValueChangeInfo, failed-service-provs [1] Failed-SP-List OPTIONAL, access-control [2] LnpAccessControl, block-npa-nxx-x [3] NPA-NXX-X OPTIONAL } NumberPoolBlockStatusAttributeValueChangeRecovery ::= SEQUENCE { value-change-info [0] AttributeValueChangeInfo, failed-service-provs [1] Failed-SP-List OPTIONAL, block-npa-nxx-x [2] NPA-NXX-X 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, subscription-med-ind [7] EXPLICIT MediumTimerIndicator OPTIONAL } OldSP-CreateReply ::= SEQUENCE { status SubscriptionVersionActionReply, invalid-data OldSP-CreateInvalidData OPTIONAL, error-code LnpSpecificErrorCode OPTIONAL -- present if status not success } 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, subscription-med-ind [8] EXPLICIT MediumIndicatorError } OptionalData ::= GraphicString OSI-Address ::= SEQUENCE { nsap OCTET STRING(SIZE(12)), tsap OCTET STRING(SIZE(1..4)), ssap OCTET STRING(SIZE(1..4)), psap OCTET STRING(SIZE(1..4)) } PhoneNumber ::= NumberString(SIZE(10)) RangeNotifyTN-ID-Info ::= CHOICE { list-data [0] SET OF TN-VersionId, range-data [1] SEQUENCE { tn-range TN-Range, id-range ID-Range } } RangeNotifyID-Info ::= CHOICE { list-data [0] SET OF LnpKey, range-data [1] ID-Range } RangeStatusAttributeValueChangeInfo ::= SEQUENCE { version-id [0] RangeNotifyID-Info, value-change-info [1] AttributeValueChangeInfo, failed-service-provs [2] Failed-SP-List OPTIONAL, subscription-status-change-cause-code [3] SubscriptionStatusChangeCauseCode OPTIONAL, tn-range [4] TN-Range OPTIONAL } RangeAttributeValueChangeInfo ::= SEQUENCE { version-id RangeNotifyID-Info, value-change-info AttributeValueChangeInfo, tn-range TN-Range OPTIONAL } RangeObjectCreationInfo ::= SEQUENCE { tn-version-id RangeNotifyTN-ID-Info, object-info SET OF ObjectInfo } RangeCustomerDisconnectDateInfo ::= SEQUENCE { tn-version-id [0] RangeNotifyTN-ID-Info, customer-disconnect-date [1] GeneralizedTime, effective-release-date [2] GeneralizedTime OPTIONAL } RangeCancellationAcknowledgeInfo ::= RangeNotifyTN-ID-Info RangeNewSP-CreateRequestInfo ::= SEQUENCE { tn-version-id RangeNotifyTN-ID-Info, service-prov-id ServiceProvId, service-prov-due-date GeneralizedTime, service-prov-authorization-creation-time-stamp GeneralizedTime, service-prov-old-authorization ServiceProvAuthorization, subscription-status-change-cause-code SubscriptionStatusChangeCauseCode, subscription-timer-type [0] Integer OPTIONAL, subscription-business-type [1] Integer OPTIONAL } RangeOldSP-ConcurrenceRequestInfo ::= SEQUENCE { tn-version-id RangeNotifyTN-ID-Info, service-prov-id ServiceProvId, service-prov-due-date GeneralizedTime, service-prov-authorization-creation-time-stamp GeneralizedTime, subscription-timer-type [0] Integer OPTIONAL, subscription-business-type [1] Integer OPTIONAL } RangeOldSPFinalConcurrenceWindowExpirationInfo ::= SEQUENCE { tn-version-id RangeNotifyTN-ID-Info, subscription-timer-type [0]Integer OPTIONAL, subscription-business-type [1] Integer OPTIONAL } RangeNewSP-FinalCreateWindowExpirationInfo ::= SEQUENCE { tn-version-id [0] RangeNotifyTN-ID-Info, service-prov-id [1] ServiceProvId, service-prov-due-date [2] GeneralizedTime, service-prov-authorization-creation-time-stamp [3] GeneralizedTime, subscription-timer-type [4] Integer OPTIONAL, subscription-business-type [5] Integer OPTIONAL, new-service-prov-id [6] ServiceProvId, service-prov-old-authorization [7] ServiceProvAuthorization, subscription-status-change-cause-code [8] SubscriptionStatusChangeCauseCode OPTIONAL } RecoveryCompleteAction ::= NULL RecoveryCompleteReply ::= SEQUENCE { status ResultsStatus, subscriber-data [1] SubscriptionDownloadData OPTIONAL, network-data [2] NetworkDownloadData OPTIONAL, block-data [3] BlockDownloadData OPTIONAL, error-code [4] LnpSpecificErrorCode OPTIONAL -- present if status not success } RemoveFromConflictAction ::= SubscriptionVersionAction RemoveFromConflictReply ::= SubscriptionVersionActionReply RemoveFromConflictReplyWithErrorCode ::= SubscriptionVersionActionReplyWithErrorCode ResultsStatus ::= ENUMERATED { success(0), failure(1) } ServiceProvAuthorization ::= BOOLEAN ServiceProvDownloadCriteria::= SEQUENCE { time-range TimeRange OPTIONAL, service-prov-choice CHOICE { service-prov [0] ServiceProvId, all-service-provs [1] NULL } } ServiceProvDownloadData ::= SET OF SEQUENCE { service-prov-id [0] ServiceProvId, service-prov-type [1] ServiceProviderType OPTIONAL, service-prov-name [2] ServiceProvName OPTIONAL, service-prov-download-reason [3] DownloadReason } ServiceProvId ::= GraphicFixedString4 -- must be 4 alphanumeric characters ServiceProvName ::= GraphicString40 ServiceProviderType ::= ENUMERATED { wireline (0), wireless (1), non-carrier (2), class1and2VoIP-WithNumAssgnmt (3), sp-type-4 (4), sp-type-5 (5) } SoaUnits ::= SEQUENCE { soaMgmt [0] NULL OPTIONAL, networkDataMgmt [1] NULL OPTIONAL, dataDownload [2] NULL OPTIONAL, notificationDownload [3] NULL OPTIONAL } 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, subscription-sv-type [19] EXPLICIT SVType OPTIONAL, subscription-optional-data [20] EXPLICIT OptionalData OPTIONAL } SubscriptionDownloadCriteria ::= CHOICE { time-range [0] TimeRange, -- swim value NOT applicable 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, subscription-customer-disconnect-date [18] GeneralizedTime OPTIONAL, subscription-effective-release-date [19] GeneralizedTime OPTIONAL, new-version-status [20] VersionStatus OPTIONAL, subscription-sv-type [21] EXPLICIT SVType OPTIONAL, subscription-optional-data [22] EXPLICIT OptionalData OPTIONAL, subscription-new-sp-med-ind [23] EXPLICIT MediumTimerIndicator OPTIONAL, subscription-old-sp-med-ind [24] EXPLICIT MediumTimerIndicator 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, subscription-customer-disconnect-date [18] EXPLICIT GeneralizedTime, subscription-effective-release-date [19] EXPLICIT GeneralizedTime, new-version-status [20] EXPLICIT VersionStatus, subscription-sv-type [21] EXPLICIT SVType, subscription-optional-data [22] EXPLICIT OptionalData, subscription-new-sp-med-ind [23] EXPLICIT MediumIndicatorError, subscription-old-sp-med-ind [24] EXPLICIT MediumIndicatorError } 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) } SubscriptionVersionActionReplyWithErrorCode ::= SEQUENCE { status SubscriptionVersionActionReply, error-code LnpSpecificErrorCode OPTIONAL -- present if status not success } SubscriptionVersionId ::= LnpKey SubscriptionVersionObject ::= SEQUENCE { tn-version-id SET OF TN-VersionId, subscription-data SubscriptionData } SVType ::= ENUMERATED { wireline (0), wireless (1), class2VoIP-noNumAssgnmt (2), voWiFi (3), prepaid-wireless (4), class1And2VoIP-WithNumAssgnmt (5), sv-type-6 (6), sv-type-7 (7), sv-type-8 (8), sv-type-9 (9) } SwimDownloadCriteria ::= SEQUENCE { data-type [0] SwimDownloadDataType, actionId [1] INTEGER OPTIONAL } SwimDownloadDataType ::= CHOICE { subscriber-download [0] NULL, network-download [1] NULL, block-download [2] NULL, service-prov-download [3] NULL } SwimNotificationCriteria ::= SEQUENCE { actionInfo [0] EXPLICIT CHOICE { actionId [0] INTEGER, no-value-needed [1] NULL } } SwimProcessing-RecoveryResponse ::= SEQUENCE { status [0] SwimResultsStatus, error-code [1] LnpSpecificErrorCode OPTIONAL, -- present if status not success stop-date [2] GeneralizedTime OPTIONAL, -- present if SWIM data collection turned off additionalInformation [3] AdditionalInformation OPTIONAL } SwimProcessing-RecoveryResults ::= SEQUENCE { actionId [0] INTEGER, status [1] SwimResultsStatus, time-of-completion [3] GeneralizedTime, accessControl [4] LnpAccessControl } SwimResultsStatus ::= ResultsStatus SystemID ::= CHOICE { serviceProvId [0] ServiceProvId, npac-sms [1] GraphicString60 } SystemType ::= ENUMERATED { soa(0), local-sms(1), soa-and-local-sms(2), -- it is assumed this value will not be sent by any -- local system npac-sms(3) -- value is only valid for AccessControl definition } TimeRange ::= SEQUENCE { startTime [0] GeneralizedTime, stopTime [1] GeneralizedTime, swim-download [2] SwimNotificationCriteria OPTIONAL -- startTime and stopTime -- ignored when swim is provided } 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, 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, 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 } VersionNewSP-FinalCreateWindowExpiration ::= SEQUENCE { version-create-request [0] VersionCreateConcurrenceRequest, new-service-prov-id [1] ServiceProvId, service-prov-old-authorization [2] ServiceProvAuthorization, subscription-status-change-cause-code [3] SubscriptionStatusChangeCauseCode OPTIONAL } VersionNewSP-FinalCreateWindowExpirationRecovery ::= SEQUENCE { version-create-request [0] VersionCreateConcurrenceRequestRecovery, new-service-prov-id [1] ServiceProvId, service-prov-old-authorization [2] ServiceProvAuthorization, subscription-status-change-cause-code [3] SubscriptionStatusChangeCauseCode OPTIONAL } 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 } VersionRangeAttributeValueChange ::= SEQUENCE { range-attribute-value-change RangeAttributeValueChangeInfo, access-control LnpAccessControl } VersionRangeAttributeValueChangeRecovery ::= RangeAttributeValueChangeInfo VersionRangeObjectCreation ::= SEQUENCE { range-object-creation RangeObjectCreationInfo, access-control LnpAccessControl } VersionRangeObjectCreationRecovery ::= RangeObjectCreationInfo VersionRangeStatusAttributeValueChange ::= SEQUENCE { range-status-attribute-value-changes RangeStatusAttributeValueChangeInfo, access-control LnpAccessControl } VersionRangeStatusAttributeValueChangeRecovery ::= RangeStatusAttributeValueChangeInfo VersionRangeCustomerDisconnectDate ::= SEQUENCE { range-donor-disconnect RangeCustomerDisconnectDateInfo, access-control LnpAccessControl } VersionRangeCustomerDisconnectDateRecovery ::= RangeCustomerDisconnectDateInfo VersionRangeCancellationAcknowledgeRequest ::= SEQUENCE { tn-version-id RangeNotifyTN-ID-Info, access-control LnpAccessControl } VersionRangeCancellationAcknowledgeRecovery ::= RangeNotifyTN-ID-Info VersionRangeNewSP-CreateRequest ::= SEQUENCE { range-new-sp-create RangeNewSP-CreateRequestInfo, access-control LnpAccessControl } VersionRangeNewSP-CreateRequestRecovery ::= RangeNewSP-CreateRequestInfo VersionRangeOldSP-ConcurrenceRequest::= SEQUENCE { range-oldsp-concurrence RangeOldSP-ConcurrenceRequestInfo, access-control LnpAccessControl } VersionRangeOldSP-ConcurrenceRequestRecovery ::= RangeOldSP-ConcurrenceRequestInfo VersionRangeOldSPFinalConcurrenceWindowExpiration ::= SEQUENCE { range-oldsp-final-concurrence RangeOldSPFinalConcurrenceWindowExpirationInfo, access-control LnpAccessControl } VersionRangeOldSPFinalConcurrenceWindowExpirationRecovery ::= RangeOldSPFinalConcurrenceWindowExpirationInfo VersionRangeNewSP-FinalCreateWindowExpiration ::= SEQUENCE { range-newsp-final-create RangeNewSP-FinalCreateWindowExpirationInfo, access-control LnpAccessControl } VersionRangeNewSP-FinalCreateWindowExpirationRecovery ::= RangeNewSP-FinalCreateWindowExpirationInfo 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, subscription-tn [4] PhoneNumber OPTIONAL } VersionStatusAttributeValueChangeRecovery ::= SEQUENCE { value-change-info [0] AttributeValueChangeInfo, failed-service-provs [1] Failed-SP-List OPTIONAL, subscription-status-change-cause-code [2] SubscriptionStatusChangeCauseCode OPTIONAL, subscription-tn [3] PhoneNumber OPTIONAL } END -- LNP-ASN1 --multipart-boundary--