-- ECL: Module name changed to distinguish from CableLabs module
PKTC-ECL-EN-SIG-MIB DEFINITIONS ::= BEGIN

IMPORTS
      MODULE-IDENTITY,
      OBJECT-TYPE,
      Unsigned32
            FROM SNMPv2-SMI
      ifIndex
            FROM IF-MIB
      SnmpAdminString
            FROM SNMP-FRAMEWORK-MIB
      TruthValue
            FROM SNMPv2-TC
      OBJECT-GROUP,
      MODULE-COMPLIANCE
            FROM SNMPv2-CONF
-- ECL: do not import 'FROM CLAB-DEF-MIB' but 'FROM ECL-DEF-MIB'
      pktcEclEnhancements
            FROM ECL-DEF-MIB
-- ECL: do not import 'FROM PKTC-SIG-MIB' but 'FROM PKTC-IETF-SIG-MIB'
      pktcNcsEndPntConfigEntry
            FROM PKTC-EXCENTIS-SIG-MIB;

pktcEclEnSigMib  MODULE-IDENTITY 
-- ECL: UTC time reference corrected
      LAST-UPDATED    "200705250000Z" -- 25 May 2007
      ORGANIZATION    "Cable Television Laboratories, Inc "
      CONTACT-INFO
            "Sumanth Channabasappa
            Postal: Cable Television Laboratories, Inc.
            858 Coal Creek Circle
            Louisville, Colorado 80027-9750
            U.S.A.
            Phone: +1 303-661-9100
            Fax: +1 303-661-9199
            E-mail: mibs@cablelabs.com"

      DESCRIPTION
            "This MIB module enhances the basic management 
            objects defined for PacketCable Signaling 
            protocols by the MIB group pktcSigMib. 

            Acknowledgements:
            Rodney Osborne - Arris Interactive 
            Eugene Nechamkin - Broadcom Corporation
            Satish Kumar - Texas Instruments
            Jean-Francois Mule - CableLabs

            Copyright 1999-2004 Cable Television Laboratories, Inc.
            All rights reserved."
      
      REVISION "200705250000Z"

      DESCRIPTION
            "This revision is being published as part of the third update of
             the Packetcable Signaling MIBs enhancements for PacketCable 1.5."

-- ECL: UTC time reference corrected
      REVISION "200501280000Z"

      DESCRIPTION
            "This revision is being published as part of the PacketCable
             Signaling MIBs enhancements for PacketCable 1.5."
      ::=  { pktcEclEnhancements 2 }

--
-- Enhanced MIB Objects and Divisions.
-- 
pktcEnSigMibObjects            OBJECT IDENTIFIER 
                                            ::= { pktcEclEnSigMib 1 }
pktcEnSigDevConfigObjects      OBJECT IDENTIFIER 
                                            ::= { pktcEnSigMibObjects 1 }
pktcEnNcsEndPntConfigObjects   OBJECT IDENTIFIER 
                                            ::= { pktcEnSigMibObjects 2 }
pktcEnSigEndPntConfigObjects   OBJECT IDENTIFIER 
                                            ::= { pktcEnSigMibObjects 3 }
pktcEnDcsEndPntConfigObjects   OBJECT IDENTIFIER 
                                            ::= { pktcEnSigMibObjects 4 }

--
-- Enhanced Notification groups.
-- 
pktcEnSigNotificationPrefix    OBJECT IDENTIFIER  
                                            ::= { pktcEclEnSigMib 2 }
pktcEnSigNotification          OBJECT IDENTIFIER       
                                            ::= { pktcEnSigNotificationPrefix 0 }
pktcEnSigConformance           OBJECT IDENTIFIER 
                                            ::= { pktcEclEnSigMib 3 }
pktcEnSigCompliances           OBJECT IDENTIFIER       
                                            ::= { pktcEnSigConformance 1 }
pktcEnSigGroups                OBJECT IDENTIFIER 
                                             ::= { pktcEnSigConformance 2 }

pktcEnNcsMinimumDtmfPlayout  OBJECT-TYPE      
       SYNTAX Unsigned32 (0 | 40..100)
       UNITS "milliseconds"
       MAX-ACCESS   read-write       
       STATUS current      
       DESCRIPTION  
           "This object defines the minimum playout time for 
            the DTMF digit when IETF RFC 2833 DTMF Relay is used 
            for the egress gateway. 
            If the value set via this pktcEnNcsMinimumDtmfPlayout 
            object is different from that specified in RFC2833 packet,
            then the MTA MUST use the maximum of the two values.
            For example:
            If the RFC 2833 packet specifies 23ms and if the object 
            pktcEnNcsMinimumDtmfPlayout is set to 40ms then 
            the egress gateway must use a value of 40ms.
            Similarly if the RFC 2833 packet specifies 
            60 ms and if the object pktcEnNcsMinimumDtmfPlayout 
            is set to 40ms then the egress gateway must use a 
            value of 60 ms."
       REFERENCE
            "PacketCable(tm) Codec Specification"
       DEFVAL  {0}               
       ::= { pktcEnSigDevConfigObjects 1}

--
--    The following table enhances the NCS End Point Config Table 
--    (pktcNcsEndPntConfigTable) defined in pktSigMib.
--
--
pktcEnNcsEndPntConfigTable  OBJECT-TYPE
       SYNTAX        SEQUENCE OF PktcEnNcsEndPntConfigEntry
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION  
            "This table augments pktcNcsEndPntConfigTable."
      ::=  { pktcEnNcsEndPntConfigObjects 1 }

pktcEnNcsEndPntConfigEntry  OBJECT-TYPE
       SYNTAX        PktcEnNcsEndPntConfigEntry
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION   
            "An enhancement to pktcNcEndPntConfigTable - where each 
             entry describes endpoint characteristics."
      AUGMENTS { pktcNcsEndPntConfigEntry }
      ::=  { pktcEnNcsEndPntConfigTable 1 }

PktcEnNcsEndPntConfigEntry  ::= 
       SEQUENCE {
                pktcEnNcsEndPntQuarantineState  INTEGER,
                pktcEnNcsEndPntHookState  INTEGER,
                pktcEnNcsEndPntFaxDetection   TruthValue,
                pktcEnNcsEndPntStatusReportCtrl INTEGER
        }

pktcEnNcsEndPntQuarantineState  OBJECT-TYPE    
       SYNTAX INTEGER {
           normal           (1), 
           notification     (2),
           lockstep         (3),
           extendedlockstep (4)
       }
       MAX-ACCESS   read-only    
       STATUS       current    
       DESCRIPTION
            "This object reflects the state of the Endpoint.
             When the endpoint is in notification, lockstep or 
             values 'extended lockstep' states, the E-MTA MUST report 
             the of notification(2), lockstep(3) or extendedlockstep(
             4),respectively. Else, the endpoint MUST report a value of
           of normal(1). 
          'Extended Lockstep' is defined as the state when the 
           E-MTA is in the lockstep state for longer than 2 minutes.
           For more description about the states refer
           to the PacketCable Network Based Call signaling 
           specification."
       REFERENCE
            "PacketCable(tm) Network-Based Call Signaling Protocol
             Specification,"
      ::= { pktcEnNcsEndPntConfigEntry 1 }

pktcEnNcsEndPntHookState  OBJECT-TYPE      
       SYNTAX INTEGER {  
                  onHook                (1),   
                  onHookPlusNCSActivity (2), 
                  offHook               (3)
                }      
       MAX-ACCESS   read-only      
       STATUS  current      
       DESCRIPTION  
           "This object reflects the 'hook state' and 'NCS Activity' 
            of an endpoint.
            'NCS Activity', by definition includes: an active 
             timeout signal, active brief signal or existence of 
             an NCS connection.
             The onHook(1) state indicates that the endpoint is 
             'on hook' and the absence of 'NCS Activity' on that 
             endpoint. 
             The onHookPlusNCSActivity(2) indicates that the endpoint 
             is 'on hook' and the presence of 'NCS Activity' on that 
             endpoint.
             The offHook(3) state indicates that the endpoint is 
             'off hook'."
       REFERENCE
            "PacketCable(tm) Network-Based Call Signaling Protocol Specification"
       ::= { pktcEnNcsEndPntConfigEntry 2 }

pktcEnNcsEndPntFaxDetection     OBJECT-TYPE
      SYNTAX TruthValue 
      MAX-ACCESS  read-create
      STATUS      current
      DESCRIPTION
            "This MIB object is used to configure
            the distinctive fax calling tone (CNG) detection feature
            on an MTA endpoint with reference to the analog interface[po1].
            When set to true, the MTA MUST enable the detection
            of CNG tones on the specific endpoint. 
            When set to false, the MTA MUST disable the detection 
            of CNG tones on the specific endpoint.
            If a connection already exists on the endpoint when this
            MIB Object is modified, then the setting needs to take 
            effect on the next connection."

       DEFVAL {false}
      ::= { pktcEnNcsEndPntConfigEntry 3}   

pktcEnNcsEndPntStatusReportCtrl     OBJECT-TYPE
           SYNTAX INTEGER {  
                 unsupported               (1),   
                 reportActualStatus        (2),
                 reportEndPointAsActive    (3)
           }
       MAX-ACCESS  read-create
       STATUS      deprecated
       DESCRIPTION
           "This MIB object is being used to control
            the Endpoint Status Reporting, if the feature is 
            supported by the MTA and is configurable.
            The term 'Endpoint Status Reporting' refers to any 
            information that the MTA may provide to External
            Systems for use in a particular reporting mechanism
            (Ex: Home Alarm Systems). The definition of the External
            Systems and reporting mechanism are beyond the scope 
            of this definition (In the example of Home Alarm Systems,
            this MIB Object will allow Management Stations to 
            temporarily disable outage reporting on an EndPoint 
            during planned downtime).
            If supported, the MTA MUST:
            - reflect the actual Endpoint status when the value
              is set to 'reportActualStatus(2)'  
             - reflect the EndPoint status as being active when the
              value is set to 'reportEndPointAsActive(3)', 
              irrespective of the actual status.
            If unsupported, the MTA MUST set this value to 
            'unsupported(1)' and reject any attempt to set 
            this MIB object using SNMP SET to any other value."
      ::= { pktcEnNcsEndPntConfigEntry 4}

pktcEnEndPntInfoTable  OBJECT-TYPE
-- ECL: row name changed to pktcEnEndPntInfoEntry due to warning 13
       SYNTAX        SEQUENCE OF PktcEnEndPntInfoEntry
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION  
           "This table includes any additional information
            associated with PacketCable EndPoints. 
            The number of entries in this table represents the 
            number of available PacketCable EndPoints."
      ::=  { pktcEnNcsEndPntConfigObjects 2 }

-- ECL: row name changed to pktcEnEndPntInfoEntry due to warning 13
pktcEnEndPntInfoEntry  OBJECT-TYPE
      SYNTAX        PktcEnEndPntInfoEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION   
           "An entry in this table MUST be created for each 
            PacketCable EndPoint.
            The index needs to be the corresponding index in the ifTable 
            for the associated PacketCable EndPoint."
      INDEX { ifIndex }
      ::=  { pktcEnEndPntInfoTable 1 }

-- ECL: row name changed to pktcEnEndPntInfoEntry due to warning 13
PktcEnEndPntInfoEntry  ::= 
        SEQUENCE {
                pktcEnEndPntFgnPotSupport   BITS,
                pktcEnEndPntFgnPotDescr     SnmpAdminString,
                pktcEnEndPntClrFgnPotTsts   BITS,
                pktcEnEndPntRunFgnPotTsts   BITS,
                pktcEnEndPntFgnTestValidity BITS,
                pktcEnEndPntFgnTestResults  BITS
        }

pktcEnEndPntFgnPotSupport OBJECT-TYPE
      SYNTAX BITS {
           fgnPotDetection (0),
           hazardousFgnPotDetection (1)
      }
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
           "This MIB object indicates the capabilities of the MTA to 
            detect various conditions related to the presence of 
            foreign potential on an endpoint. 
            The MTA MUST set a value of '1' for each bit corresponding
            to a supported functionality and a value of '0' for each 
            bit corresponding to an unsupported functionality."
-- ECL: row name changed to pktcEnEndPntInfoEntry due to warning 13
       ::= {  pktcEnEndPntInfoEntry 1 }

pktcEnEndPntFgnPotDescr OBJECT-TYPE
       SYNTAX SnmpAdminString
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
           "This MIB object provides information related to the 
            various tests for each detection mechanism supported by 
            the MTA. While the actual contents are vendor-specific, 
            the recommended format is:
            [<Capability>:<Test References>:<Other Info>]...
           Example:
           <fgnPotDetection>:<test XYZ, Reference 'Document'>:<NA>;
           <hazardousFngPotDetection>:<Test ABC, References>:<NA>
           "
-- ECL: row name changed to pktcEnEndPntInfoEntry due to warning 13
       ::= { pktcEnEndPntInfoEntry 2 }

pktcEnEndPntClrFgnPotTsts    OBJECT-TYPE
       SYNTAX BITS {
           clrFgnPotentialResults (0),
           clrHazardousPotResults (1)
       }
       MAX-ACCESS     read-write
       STATUS         current
       DESCRIPTION
           "This MIB object is used to clear the current test 
            results of supported conditions indicated by 
            'pktcEnEndPntFgnPotSupport'.
            Setting a bit to a value of '1' clears the corresponding 
            results in the MIB Object 'pktcEnEndPntFgnTestResults' and
            the validity as indicated  by the MIB object 
            'pktcEnEndPntFgnTestValidity' for the supported
            conditions only (i.e, the MTA MUST set the corresponding 
            bits to a value of '0' in the indicated tables). 
            If an SNMP SET attempts to set a bit corresponding to an 
            unsupported condition to a value of '1', then the MTA MUST
            reject the entire SNMP SET and report an 'inconsistent 
            value' error.
           For all unsupported scenarios, the corresponding bits MUST 
            be set to a value of '0'.
            Whenever one or more tests are enabled by the MIB Object
           'pktcEnEndPntRunFgnPotTests', the MTA MUST also reset the
            corresponding bits in this MIB Object to a value of '0'."
-- ECL: row name changed to pktcEnEndPntInfoEntry due to warning 13
       ::= { pktcEnEndPntInfoEntry 3}

pktcEnEndPntRunFgnPotTsts    OBJECT-TYPE
       SYNTAX BITS {
           runFgnPotentialTsts (0),
           runHazardousPotTsts (1)
       }
       MAX-ACCESS     read-write
       STATUS         current
       DESCRIPTION
           "This MIB object is used to initiate one or more test cases
            associated with a supported foreign potential detection.
            Thus, whenever one or more BITS corresponding to supported
            foreign scenario potential detection mechanisms are set to 
            a value of '1', the MTA MUST enable those tests. 
            Once the tests are executed, the MTA MUST:
            - set the corresponding bit to a value of '0'
            - update the corresponding BITS in the MIB Objects 
            'pktcEnEndPntFgnTestValidity' and
            'pktcEnEndPntFgnTestResults'.
            If an SNMP SET attempts to set a bit corresponding to an 
            unsupported condition to a value of '1', then the MTA MUST
            reject the entire SNMP SET and report an 'inconsistent
            value' error.
            Whenever a test is being run on an EndPoint the MTA MUST 
            set the corresponding 'ifOperStatus' MIB Object to a 
            value of 'testing(3)' for the whole duration of the test. 
            When the test is completed, the MTA MUST set the 
            ifOperStatus to the value corresponding to the current
            state of the line.

           Note: Whenever multiple tests are run, the ordering of the
                 tests or the results is vendor dependent and need not
                 necessarily follow the ordering of BITS in this MIB 
                 Object."
-- ECL: row name changed to pktcEnEndPntInfoEntry due to warning 13
      ::= { pktcEnEndPntInfoEntry 4}

pktcEnEndPntFgnTestValidity  OBJECT-TYPE
       SYNTAX BITS {
           fgnPotTstValidity (0),
           hazardousPotTstValidity (1)
       }
       MAX-ACCESS     read-only
       STATUS         current
       DESCRIPTION
           "This MIB object is used to indicate the validity of the 
            corresponding test cases that were initiated using the MIB
            Object 'pktcEnEndPntRunFgnPotTests'.
            An MTA MUST:
            - return a value of '1' if the tests were run successfully
              and the results are valid.
            - return a value of '0' if a particular test was not 
              initiated or if the tests could not be run successfully
              and hence the results are invalid.
           Note: The MTA MUST set all the BITS to '0' as soon as one 
                  or more test cases are initiated."
-- ECL: row name changed to pktcEnEndPntInfoEntry due to warning 13
      ::= { pktcEnEndPntInfoEntry 5}

pktcEnEndPntFgnTestResults OBJECT-TYPE
       SYNTAX BITS {
           fgnPotentialResults (0),
           hazardousPotResults (1)
       }
       MAX-ACCESS     read-only
       STATUS         current
       DESCRIPTION
           "This MIB object is used to indicate the results of the 
            corresponding test cases that were initiated using the MIB 
            Object 'pktcEnEndPntRunFgnPotTests'.
            An MTA MUST:
            - set the corresponding bit to a value of '1' if the tests
              indicated the presence of a foreign potential as per the
              associated test case.
            - set the corresponding bit to a value of '0' if the tests
              indicated the absence of a foreign potential as per the 
              associated test case.
           Note: The MTA MUST set all the BITS to '0' as soon as one or 
                 more test cases are initiated."
-- ECL: row name changed to pktcEnEndPntInfoEntry due to warning 13
       ::= { pktcEnEndPntInfoEntry 6 }

pktcEnNcsEndPntLVMgmtTable OBJECT-TYPE
-- ECL: alias changed from PktcEnNcsEndPntLVMgmtTableEntry due to warning 13
       SYNTAX        SEQUENCE OF PktcEnNcsEndPntLVMgmtEntry
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION  
	   "This MIB table contains the MIB Objects used for
            managing loop voltage on an MTA. An MTA MUST 
            implement the defined MIB Objects and the associated
            functionality."
       ::= { pktcEnNcsEndPntConfigObjects 3 }

-- ECL: row name changed from pktcEnNcsEndPntLVMgmtTableEntry due to warning 13
pktcEnNcsEndPntLVMgmtEntry OBJECT-TYPE
-- ECL: alias changed from PktcEnNcsEndPntLVMgmtTableEntry due to warning 13
       SYNTAX        PktcEnNcsEndPntLVMgmtEntry
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION   
	   "Each entry in this MIB table consists of the
            loop voltage management policy for the specified
            index. The MTA MUST use the ifIndex with a value of '1'
            to represent the E-MTA and the remaining indices
            (if used) to represent the endpoints (as specified
            in [1]).

            When the ifIndex is set to a value of '1', it represents
            a policy that MUST be applied to all the lines on an MTA.

            A MTA MUST support access to this MIB Object via the
            ifIndex set to a value of '1' (i.e., per-device policy)."
       REFERENCE "PacketCable 1.5 Device Provisioning Specification [1]"
       INDEX { ifIndex }
       ::=  { pktcEnNcsEndPntLVMgmtTable 1 }

-- ECL: alias changed from PktcEnNcsEndPntLVMgmtTableEntry due to warning 13
PktcEnNcsEndPntLVMgmtEntry  ::= 
        SEQUENCE {
                pktcEnNcsEndPntLVMgmtPolicy       INTEGER,
                pktcEnNcsEndPntLVMgmtResetTimer   Unsigned32,
                pktcEnNcsEndPntLVMgmtMaintTimer   Unsigned32
        }

pktcEnNcsEndPntLVMgmtPolicy  OBJECT-TYPE 
       SYNTAX INTEGER { 
           voltageAtAllTimes(1), 
           voltageUnlessRFQAMabsent(2), 
	       voltageBasedOnServiceOrTimers(3), 
    	   voltageBasedOnService(4)
       } 
       MAX-ACCESS read-write 
       STATUS     current 
       DESCRIPTION
           "This MIB Object allows the Service Provider to choose
            a suitable policy for Loop Voltage behavior on MTAs.

            Unless overridden by the operator, the MTA MUST use the
            default value specified in the definition of this MIB
            Object.

            The MTA MUST adhere to PacketCable signaling
            requirements, such as the NCS open loop voltage requirement,
            irrespective of any chosen policy.

            For MTAs that need to remove loop voltage during the MTA
            initialization phase, in contradiction to a chosen policy,
            such a loop voltage removal period MUST NOT exceed 1000ms.

            The MTA MUST retain the value of this MIB Object across
            hard reboots or soft resets (for a definition of the terms,
            please refer to [1]).

            This MIB object specifies four policies.

            Provisioned line is an MTA Endpoint that has been provided
            with valid per-line configuration data either via the
            configuration file (during provisioning) or the SNMP
            management interface.

            When the MIB Object is set to a value of
            voltageAtAllTimes(1),  - indicating Policy 1 -
            the MTA MUST maintain the loop idle voltage on all
            lines, irrespective of the line status.

            When this MIB Object is set to a value of
            voltageUnlessRFQAMabsent(2)- indicating Policy 2
            - the MTA MUST apply loop idle voltage at all
            times except when it confirms the absence of any
            RF QAM carrier, following a complete scan of the
            spectrum (i.e., loop voltage is maintained during
            the scan). When the MTA detects the presence of any
            RF QAM carrier, it MUST apply the loop idle voltage.
            Additionally, the following conditions apply:
            - during a hard reboot, this policy applies at all
              lines until the MTA is successfully provisioned
              (i.e., pktcMtaDevProvisioningState has a value
              other than 'inProgress')
            - once the MTA is successfully provisioned
              (i.e., pktcMtaDevProvisioningState has a value
              of 'pass(1)', 'passWithWarnings(4)' or
              'passWithIncompleteParsing(5)') then the policy
              applies to all provisioned lines
            - upon the onset of a re-initialization due to a
              soft reset (via SNMP or Rf conditions) the MTA MUST
              continue to maintain the existing policy and state
              on previously provisioned lines, unless overridden
              by a policy or the provisioning process specifies
              otherwise
            This policy is similar to Policy 1, except for the 
            ability to recognize events like cable cuts (due to 
            malicious activities, or otherwise).

            The following requirements apply to policies 3 and 4:
            - upon the onset of a re-initialization due to a soft reset 
              the MTA MUST continue to maintain the existing policy and 
              state on provisioned lines, unless overridden by a policy 
              or the provisioning process specifies otherwise
            - once the provisioning process is completed with the value 
              of the MIB Object pktcMtaDevProvisioningState set to a 
              value of 'pass(1)', 'passWithWarnings(4)' or 
              'passWithIncompleteParsing(5)', the MTA MUST apply the
              chosen policy to all the provisioned lines

            When this MIB Object is set to a value of 
            voltageBasedOnServiceOrTimers(3)- indicating Policy 3 - 
            the MTA MUST adhere to the requirements that follow 
            at any given point in time: 

            - when the timer defined by 
              pktcEnNcsEndPntLVMgmtResetTimer has 
              a non-zero value, the MTA MUST apply loop idle voltage 
              under all circumstances (similar to policy 1).
              Refer to the definition of the MIB Object for the
              persistence and timer requirements.

            - when the timer defined by 
              pktcEnNcsEndPntLVMgmtMaintTimer has 
              a non-zero value, the MTA MUST maintain a line's loop 
              idle voltage state that was in effect prior to the timer 
              being set to a non-zero value. Refer to the definition 
              of the MIB Object defining the timer for the persistence 
              and timer requirements.

            - When the timers defined by 
              pktcEnNcsEndPntLVMgmtMaintTimer and 
              pktcEnNcsEndPntLVMgmtResetTimer have 
              expired (both have a value of zero), then:
              = the MTA MUST apply loop voltage if the provisioning 
                process is completed with the value of 
                pktcMtaDevProvisioningState set to a value of 
                than 'pass(1)', 'passWithWarnings(4)' or 
                'passWithIncompleteParsing(5)' 
              = During a T4 timeout (note: the timers have expired), 
                the E-MTA MUST remove loop idle voltage on all lines
 
            - When both the timers are active (i.e., they both have 
              non-zero values), then the timer defined by the MIB 
              Object pktcEnNcsEndPntLVMgmtMaintTimer takes precedence

            - if none of the above cases apply, the MTA MUST remove 
              loop idle voltage on all lines
                     
            When the MIB Object is set to a value of 
            voltageBasedOnService(4) - indicating Policy 4 - the 
            following conditions apply at any given point in time:

            - the MTA MUST apply loop idle voltage to all 
              the provisioned lines if the value of the MIB Object 
              'pktcMtaDevProvisioningState' is set to a 
              value of 'pass(1)', 'passWithWarnings(4)' 
              or 'passWithIncompleteParsing(5)' 

            - in all other cases, the MTA 
              MUST remove loop idle voltage on all lines."
       REFERENCE "PacketCable 1.5 Device Provisioning specification [1]"
       DEFVAL { voltageBasedOnService } 
-- ECL: row name changed from PktcEnNcsEndPntLVMgmtTableEntry due to warning 13
       ::= { pktcEnNcsEndPntLVMgmtEntry 1 }	

pktcEnNcsEndPntLVMgmtResetTimer OBJECT-TYPE 
       SYNTAX     Unsigned32 (0..1440)
       UNITS      "minutes" 
       MAX-ACCESS read-write 
       STATUS     current 
       DESCRIPTION 
           "This MIB Object specifies the time duration allowed for 
            an MTA to successfully provision and is only applicable when 
            the MIB Object pktcEnNcsEndPntLVMgmtPolicy is 
            set to a value of 'voltageBasedOnServiceOrTimers(3)'.
            In all other cases, the MTA MUST:
            - return a value of '0' upon any retrieval requests
            - return an error of 'inconsistentValue' upon any 
              modification requests

            The value contained by this MIB Object is a countdown timer 
            and the MTA MUST start counting down the configured value 
            only upon a hard reboot, a soft reset or a T4 timeout. Once 
            this timer has reached a value of zero, the MTA MUST retain 
            the value (of zero) until successfully configured otherwise. 
            The MTA MUST use a change in the value of this MIB Object 
            only on the next hard reboot, soft reset or T4 timeout.

            The MTA MUST persist the last configured value (i.e., not
            the countdown value) of this MIB Object across hard reboots
            and soft resets. 
     
            Refer to the MIB Object pktcEnNcsEndPntLVMgmtPolicy for 
            usage within 'voltageBasedOnServiceOrTimers(3)'."
       DEFVAL { 5 } 
-- ECL: row name changed from PktcEnNcsEndPntLVMgmtTableEntry due to warning 13
       ::= { pktcEnNcsEndPntLVMgmtEntry 2 }	

pktcEnNcsEndPntLVMgmtMaintTimer OBJECT-TYPE
       SYNTAX     Unsigned32 (0..1440)
       UNITS      "minutes"
       MAX-ACCESS read-write
       STATUS     current
       DESCRIPTION 
           "This MIB Object allows the operator to specify the time that
            loop voltage condition will be maintained, irrespective of 
            the changes to the MTA. It is only applicable when the MIB 
            Object pktcEnNcsEndPntLVMgmtPolicy is set to a 
            value of 'voltageBasedOnServiceOrTimers(3)'. In all 
            other cases, the MTA MUST:
            - return a value of '0' upon any retrieval requests
            - return an error of 'inconsistentValue' upon any 
              modification requests

            The value contained in this MIB Object is a countdown timer 
            and the MTA MUST start counting down the value immediately 
            after a successful configuration to a non-zero value. Once 
            this timer has reached a value of zero, the MTA MUST retain 
            the value (of zero) until successfully configured otherwise.
 
            The MTA MUST retain the value of this MIB Object (i.e., the
            countdown value) across soft resets. The MTA MUST reset the 
            value of this MIB Object (to its default value) during a 
            hard reboot of the MTA.

            Refer to the MIB Object pktcEnNcsEndPntLVMgmtPolicy for 
            information about applicability and usage."
       DEFVAL { 0 }
-- ECL: row name changed from PktcEnNcsEndPntLVMgmtTableEntry due to warning 13
       ::= { pktcEnNcsEndPntLVMgmtEntry 3 }	

--
-- Compliance statements
--
pktcSigBasicCompliance  MODULE-COMPLIANCE
       STATUS     current
       DESCRIPTION
           "The compliance statement for devices that implement 
            PacketCable defined Signaling on an MTA."

      MODULE  -- PKTC-ECL-EN-SIG-MIB

--
-- Mandatory groups
--
MANDATORY-GROUPS {
        pktcEnSigGroup
      }
       GROUP pktcEnNcsGroup
       DESCRIPTION 
           "This group is mandatory for any MTA implementing 
            PacketCable signaling."
       ::={ pktcEnSigCompliances 1 }

--
-- Conformance group for common Signaling. 
--
pktcEnSigGroup OBJECT-GROUP
       OBJECTS {
        pktcEnNcsMinimumDtmfPlayout
       }
       STATUS current
       DESCRIPTION
           "Enhanced group of objects for the common portion of the
            PacketCable Signaling MIB."
      ::= { pktcEnSigGroups 1 } 

--
-- Conformance group for NCS Signaling. 
--
pktcEnNcsGroup OBJECT-GROUP
       OBJECTS {
        pktcEnNcsEndPntQuarantineState,
        pktcEnNcsEndPntHookState,
        pktcEnNcsEndPntFaxDetection,
        pktcEnEndPntFgnPotSupport,
        pktcEnEndPntFgnPotDescr,
        pktcEnEndPntClrFgnPotTsts,
        pktcEnEndPntRunFgnPotTsts,
        pktcEnEndPntFgnTestValidity,
        pktcEnEndPntFgnTestResults
       }
       STATUS current
       DESCRIPTION
           "Enhanced group of objects for the NCS portion of the
            PacketCable Signaling MIB.  This is mandatory for
            NCS signaling support."
       ::= { pktcEnSigGroups 2 }

--
-- Conformance group for Loop Voltage Management
--
pktcEnNcsLVMgmtGroup OBJECT-GROUP
       OBJECTS {
        pktcEnNcsEndPntLVMgmtPolicy,
        pktcEnNcsEndPntLVMgmtResetTimer,
        pktcEnNcsEndPntLVMgmtMaintTimer
       }
       STATUS current
       DESCRIPTION
           "Enhanced group of objects for the loop voltage 
            Management of PacketCable MTAs based on Signaling
            and configured policies."
       ::= { pktcEnSigGroups 3 } 

pktcEnNcsDeprecatedGroup OBJECT-GROUP
       OBJECTS {
        pktcEnNcsEndPntStatusReportCtrl
       }
       STATUS deprecated
       DESCRIPTION
           "This contains a list of deprecated Extension 
            Signaling MIB Objects."
       ::= { pktcEnSigGroups 4 } 
 
END

