<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           targetNamespace="urn:cablelabs:params:xml:ns:yang:ccap"
           xmlns="urn:cablelabs:params:xml:ns:yang:ccap"
           attributeFormDefault="unqualified"
           version="2012-08-09"
           xml:lang="en"
          xmlns:ccap="urn:cablelabs:params:xml:ns:yang:ccap"
          xmlns:yang="urn:ietf:params:xml:ns:yang:ietf-yang-types"
          xmlns:inet="urn:ietf:params:xml:ns:yang:ietf-inet-types">

  <xs:import namespace="urn:ietf:params:xml:ns:yang:ietf-inet-types"
             schemaLocation="ietf-inet-types.xsd"/>
  <xs:import namespace="urn:ietf:params:xml:ns:yang:ietf-yang-types"
             schemaLocation="ietf-yang-types.xsd"/>

  <xs:annotation>
    <xs:documentation>
      The schema describes an instance document consisting
      of the entire configuration data store, operational
      data, rpc operations, and notifications.
      This schema can thus NOT be used as-is to
      validate NETCONF PDUs.
           pythonVersion="2.6.6"
           pyangVersion="1.2"
           ccapXsdPluginVersion="20120809"
    </xs:documentation>
  </xs:annotation>

  <xs:annotation>
    <xs:documentation>
      This module contains a collection of groupings and data definition statements related to CCAP system configuration and state.
    </xs:documentation>
  </xs:annotation>

  <!-- YANG typedefs -->
  <xs:simpleType name="ccap-octet-data-type">
    <xs:annotation>
      <xs:documentation>
        A derived type representing the lexical value space of XML Schema hexBinary defined as 'each binary octet is encoded as a character tuple, consisting of two hexadecimal digits ([0-9a-fA-F]) representing the octet code.' Please note that length constraints on this derived type needs to be in multiples of 2 to avoid conflicts between length and pattern space
      </xs:documentation>
    </xs:annotation>

    <xs:restriction base="xs:string">
    <xs:pattern value="([0-9a-fA-F]{2})*"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="interleaver-depth-type">
    <xs:restriction base="xs:string">
      <xs:enumeration value="other"/>
      <xs:enumeration value="fecI8J16"/>
      <xs:enumeration value="fecI12J17"/>
      <xs:enumeration value="fecI16J8"/>
      <xs:enumeration value="fecI32J4"/>
      <xs:enumeration value="fecI64J2"/>
      <xs:enumeration value="fecI128J1"/>
      <xs:enumeration value="fecI128J2"/>
      <xs:enumeration value="fecI128J3"/>
      <xs:enumeration value="fecI128J4"/>
      <xs:enumeration value="fecI128J5"/>
      <xs:enumeration value="fecI128J6"/>
      <xs:enumeration value="fecI128J7"/>
      <xs:enumeration value="fecI128J8"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="qam-modulation-type">
    <xs:annotation>
      <xs:documentation>
        This value defines the type of Downstream QAM Modulation.
      </xs:documentation>
    </xs:annotation>

    <xs:restriction base="xs:string">
      <xs:enumeration value="other"/>
      <xs:enumeration value="qam64"/>
      <xs:enumeration value="qam128"/>
      <xs:enumeration value="qam256"/>
      <xs:enumeration value="qam512"/>
      <xs:enumeration value="qam1024"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ca-encryptor-type-type">
    <xs:restriction base="xs:string">
      <xs:enumeration value="other"/>
      <xs:enumeration value="motorola"/>
      <xs:enumeration value="cisco"/>
      <xs:enumeration value="simulcrypt"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="encryption-scheme-type">
    <xs:restriction base="xs:string">
      <xs:enumeration value="other"/>
      <xs:enumeration value="des"/>
      <xs:enumeration value="aes"/>
      <xs:enumeration value="3des"/>
      <xs:enumeration value="dvbcsa"/>
      <xs:enumeration value="dvbcsa3"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="encryption-algorithm-ctl-type">
    <xs:annotation>
      <xs:documentation>
        This enumerates the set of ways a CMTS can select the encryption algorithm. Whether the CMTS can slect the algorithm or if this can be set manually using the Alg attribute. If this attribute is set to 'cmts', the CMTS can select the encryption algorithm for the Security Association (SA). If this attribute is set to 'mgmt', the Alg attribute is used to define the encryption algorithm for this SA.
      </xs:documentation>
    </xs:annotation>

    <xs:restriction base="xs:string">
      <xs:enumeration value="other"/>
      <xs:enumeration value="cmts"/>
      <xs:enumeration value="mgmt"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="encryption-algorithm-type">
    <xs:annotation>
      <xs:documentation>
        This enumerates the set of possible encryption algorithm wwhich can be used for a Security Association
      </xs:documentation>
    </xs:annotation>

    <xs:restriction base="xs:string">
      <xs:enumeration value="other"/>
      <xs:enumeration value="des56-cbc-mode"/>
      <xs:enumeration value="des40-cbc-mode"/>
      <xs:enumeration value="aes128-cbc-mode"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="cert-revocation-method-type">
    <xs:annotation>
      <xs:documentation>
        This enumerates the set of certificate revocation methods which can used by the CMTS to verify the cable modem certificate validity. The certificate revocation methods include Certification Revocation List (CRL) and Online Certificate Status Protocol (OCSP).
               The following options are available:
                   The option 'none' indicates that the CMTS does not attempt to determine the revocation status of a certificate.
                   The option 'crl' indicates the CMTS uses a Certificate Revocation List (CRL) as defined by the Url attribute of the CmtsCertRevocationList object. When the value of this attribute is changed to 'crl', it triggers the CMTS to retrieve the CRL file from the URL specified by the Url attribute. If the value of this attribute is 'crl' when the CMTS starts up, it triggers the CMTS to retrieve the CRL file from the URL specified by the Url attribute.
                   The option 'ocsp' indicates the CMTS uses the Online Certificate Status Protocol (OCSP) as defined by the Url attribute of the CmtsOnlineCertStatusProtocol object.
                   The option 'crlAndOcsp' indicates the CMTS uses both the CRL as defined by the Url attribute in the CmtsCertRevocationList object and OCSP as defined by the Url attribute in the CmtsOnlineCertStatusProtocol object.
      </xs:documentation>
    </xs:annotation>

    <xs:restriction base="xs:string">
      <xs:enumeration value="other"/>
      <xs:enumeration value="none"/>
      <xs:enumeration value="crl"/>
      <xs:enumeration value="ocsp"/>
      <xs:enumeration value="crl-and-ocsp"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="filter-action-type">
    <xs:annotation>
      <xs:documentation>
        This enumerates the set of actions which can be taken upon this filter matching. 'permit' means to stop the classification matching and accept the packet for further processing. 'deny' means to drop the packet.
      </xs:documentation>
    </xs:annotation>

    <xs:restriction base="xs:string">
      <xs:enumeration value="other"/>
      <xs:enumeration value="permit"/>
      <xs:enumeration value="deny"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="upstream-fec-mode-type">
    <xs:restriction base="xs:string">
      <xs:enumeration value="other"/>
      <xs:enumeration value="enabled"/>
      <xs:enumeration value="disabled"/>
      <xs:enumeration value="perOnu"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="downstream-fec-mode-type">
    <xs:restriction base="xs:string">
      <xs:enumeration value="other"/>
      <xs:enumeration value="enabled"/>
      <xs:enumeration value="disabled"/>
      <xs:enumeration value="perOnu"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="downstream-allocation-type">
    <xs:annotation>
      <xs:documentation>
        This enumerates the services a DownChannel instance can be allocated to. A value of 'any' means that the ERM could configure the QAM resource for either video or DOCSIS. The value of other(1) is used when a vendor-extension has been implemented for this attribute.
      </xs:documentation>
    </xs:annotation>

    <xs:restriction base="xs:string">
      <xs:enumeration value="other"/>
      <xs:enumeration value="docsis-only"/>
      <xs:enumeration value="video-only"/>
      <xs:enumeration value="any"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="trigger-flag-type">
    <xs:annotation>
      <xs:documentation>
        This data type defines the union of Diagnostic Log trigger types. Bit 0 represents the registration trigger, Bit 1 represents the ranging retry trigger.
      </xs:documentation>
    </xs:annotation>

    <xs:list>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="registration"/>
          <xs:enumeration value="ranging-retry"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:list>
  </xs:simpleType>
  <xs:simpleType name="admin-state-type">
    <xs:annotation>
      <xs:documentation>
        This data type defines the admin state. The value of 'other' is used when a vendor extension has been implemented for this attribute.
      </xs:documentation>
    </xs:annotation>

    <xs:restriction base="xs:string">
      <xs:enumeration value="other"/>
      <xs:enumeration value="up"/>
      <xs:enumeration value="down"/>
      <xs:enumeration value="testing"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="attribute-mask-type">
    <xs:list>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="bonded"/>
          <xs:enumeration value="low-latency"/>
          <xs:enumeration value="high-availability"/>
          <xs:enumeration value="reserved-3"/>
          <xs:enumeration value="reserved-4"/>
          <xs:enumeration value="reserved-5"/>
          <xs:enumeration value="reserved-6"/>
          <xs:enumeration value="reserved-7"/>
          <xs:enumeration value="reserved-8"/>
          <xs:enumeration value="reserved-9"/>
          <xs:enumeration value="reserved-10"/>
          <xs:enumeration value="reserved-11"/>
          <xs:enumeration value="reserved-12"/>
          <xs:enumeration value="reserved-13"/>
          <xs:enumeration value="reserved-14"/>
          <xs:enumeration value="reserved-15"/>
          <xs:enumeration value="operator-16"/>
          <xs:enumeration value="operator-17"/>
          <xs:enumeration value="operator-18"/>
          <xs:enumeration value="operator-19"/>
          <xs:enumeration value="operator-20"/>
          <xs:enumeration value="operator-21"/>
          <xs:enumeration value="operator-22"/>
          <xs:enumeration value="operator-23"/>
          <xs:enumeration value="operator-24"/>
          <xs:enumeration value="operator-25"/>
          <xs:enumeration value="operator-26"/>
          <xs:enumeration value="operator-27"/>
          <xs:enumeration value="operator-28"/>
          <xs:enumeration value="operator-29"/>
          <xs:enumeration value="operator-30"/>
          <xs:enumeration value="operator-31"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:list>
  </xs:simpleType>
  <xs:simpleType name="downstream-phy-type">
    <xs:restriction base="xs:string">
      <xs:enumeration value="other"/>
      <xs:enumeration value="dvbc"/>
      <xs:enumeration value="j83annexB"/>
      <xs:enumeration value="j83annexC"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="msc-state-type">
    <xs:restriction base="xs:string">
      <xs:enumeration value="other"/>
      <xs:enumeration value="channel-enabled"/>
      <xs:enumeration value="channel-disabled"/>
      <xs:enumeration value="dormant"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="us-channel-type">
    <xs:annotation>
      <xs:documentation>
        Indicates the DOCSIS Upstream Channel Type. 
      </xs:documentation>
    </xs:annotation>

    <xs:restriction base="xs:string">
      <xs:enumeration value="other"/>
      <xs:enumeration value="tdma"/>
      <xs:enumeration value="atdma"/>
      <xs:enumeration value="scdma"/>
      <xs:enumeration value="tdmaAndAtdma"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="us-channel-width">
    <xs:annotation>
      <xs:documentation>
        The upstream channel width in Hertz.
      </xs:documentation>
    </xs:annotation>

    <xs:restriction base="xs:string">
      <xs:enumeration value="other"/>
      <xs:enumeration value="200000"/>
      <xs:enumeration value="400000"/>
      <xs:enumeration value="800000"/>
      <xs:enumeration value="1600000"/>
      <xs:enumeration value="3200000"/>
      <xs:enumeration value="6400000"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="direction-type">
    <xs:annotation>
      <xs:documentation>
        This enumerates the set of potential Direction values for the QoS Parameter Set.
      </xs:documentation>
    </xs:annotation>

    <xs:restriction base="xs:string">
      <xs:enumeration value="other"/>
      <xs:enumeration value="downstream"/>
      <xs:enumeration value="upstream"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ds-resequencing-type">
    <xs:annotation>
      <xs:documentation>
        This enumerates the set of potential DsResequencing values for the QoS Parameter Set.
      </xs:documentation>
    </xs:annotation>

    <xs:restriction base="xs:string">
      <xs:enumeration value="other"/>
      <xs:enumeration value="resequencing-dsid"/>
      <xs:enumeration value="no-resequencing-dsid"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="service-flow-scheduling-type">
    <xs:annotation>
      <xs:documentation>
        This enumerates the set of possible SchedulingType values for the QoS Parameter Set.
      </xs:documentation>
    </xs:annotation>

    <xs:restriction base="xs:string">
      <xs:enumeration value="other"/>
      <xs:enumeration value="best-effort"/>
      <xs:enumeration value="non-real-time-polling-service"/>
      <xs:enumeration value="real-time-polling-service"/>
      <xs:enumeration value="unsolicited-grant-service-with-ad"/>
      <xs:enumeration value="unsolicited-grant-service"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ip-prov-mode-type">
    <xs:restriction base="xs:string">
      <xs:enumeration value="other"/>
      <xs:enumeration value="ipv4-only"/>
      <xs:enumeration value="ipv6-only"/>
      <xs:enumeration value="alternate"/>
      <xs:enumeration value="dual-stack"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="duplex-type">
    <xs:annotation>
      <xs:documentation>
        This enumerates the Ethernet DuplexStates of an interface can be in. The value of other(1) is used when a vendor-extension has been implemented for this attribute.
      </xs:documentation>
    </xs:annotation>

    <xs:restriction base="xs:string">
      <xs:enumeration value="other"/>
      <xs:enumeration value="full-duplex"/>
      <xs:enumeration value="half-duplex"/>
      <xs:enumeration value="auto-negotiation"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ethernet-speed-type">
    <xs:annotation>
      <xs:documentation>
        This enumerates the set of possible ethernet interface speeds. The value of other(1) is used when a vendor-extension has been implemented for this attribute.
      </xs:documentation>
    </xs:annotation>

    <xs:restriction base="xs:string">
      <xs:enumeration value="other"/>
      <xs:enumeration value="ten-mb-ethernet"/>
      <xs:enumeration value="hundred-mb-ethernet"/>
      <xs:enumeration value="one-gb-ethernet"/>
      <xs:enumeration value="auto"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ethernet-protocol-id-type">
    <xs:annotation>
      <xs:documentation>
        This enumerates the set of formats of the layer 3 protocol ID in the Ethernet frame. A value of 'none' means that the rule does not use the layer 3 protocol type as a matching criteria. A value of 'ethertype' means that the rule applies only to frames that contain an EtherType value. Ethertype values are contained in packets using the DEC-Intel- Xerox (DIX) encapsulation or the [RFC 1042] Sub-Network Access Protocol (SNAP) encapsulation formats. A value of 'dsap' means that the rule applies only to frames using the IEEE802.3 encapsulation format with a Destination Service Access Point (DSAP) other than 0xAA (which is reserved for SNAP). A value of 'mac' means that the rule applies only to MAC management messages for MAC management messages. A value of 'all' means that the rule matches all Ethernet frame. If the Ethernet frame contains an 802.1P/Q Tag header (i.e., EtherType 0x8100), this attribute applies to the embedded EtherType field within the 802.1p/Q header.
               The value 'mac' is only used for passing UDCs to CMs during Registration. The CMTS ignores filter rules that include the value of this attribute set to 'mac' for CMTS enforced upstream and downstream subscriber management filter group rules.
      </xs:documentation>
    </xs:annotation>

    <xs:restriction base="xs:string">
      <xs:enumeration value="other"/>
      <xs:enumeration value="none"/>
      <xs:enumeration value="ethertype"/>
      <xs:enumeration value="dsap"/>
      <xs:enumeration value="mac"/>
      <xs:enumeration value="all"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="pon-symmetry-type">
    <xs:annotation>
      <xs:documentation>
        This enumerates the set of possible PON interface speeds allowing for asymmetrical upstream and downstream speeds. The value of other(1) is used when a vendor-extension has been implemented for this attribute.
      </xs:documentation>
    </xs:annotation>

    <xs:restriction base="xs:string">
      <xs:enumeration value="other"/>
      <xs:enumeration value="symmetric-10x10"/>
      <xs:enumeration value="asymmetric-10x1"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="qos-control-type">
    <xs:annotation>
      <xs:documentation>
        This attribute identifies how Group Classifier Rules (GCRs) and Group Service Flows (GSFs) are instantiated when multiple sessions match the (S,G) criteria of this entry. If 'singleSession', the CMTS creates a unique GCR and a unique GSF for the session. If this object's value is 'aggregateSession', all sessions matching this criterion are aggregated into the same GSF.
      </xs:documentation>
    </xs:annotation>

    <xs:restriction base="xs:string">
      <xs:enumeration value="other"/>
      <xs:enumeration value="single-session"/>
      <xs:enumeration value="aggregate-session"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="upstream-frequency-range-type">
    <xs:annotation>
      <xs:documentation>
        This attribute indicates in MDD messages the upstream frequency upper band edge of an upstream Channel. A value 'standard' means Standard Frequency Range and a value 'extended' means Extended Frequency Range.
      </xs:documentation>
    </xs:annotation>

    <xs:restriction base="xs:string">
      <xs:enumeration value="other"/>
      <xs:enumeration value="standard"/>
      <xs:enumeration value="extended"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="early-auth-encrypt-control-type">
    <xs:annotation>
      <xs:documentation>
        This attribute enables or disables early authentication and encryption (EAE) signaling for the MAC Domain. It also defines the type of EAE enforcement in the case that EAE is enabled. If set to 'disable-eae', EAE is disabled for the MAC Domain. If set to 'enable-eae-ranging-based-enforcement', 'enable-eae-capability-based-enforcement' or 'enable-eae-total-enforcement', EAE is enabled for the MAC Domain. The following EAE enforcement methods are defined in the case where EAE signaling is enabled: - The option 'enable-eae-ranging-based-enforcement' indicates EAE is enforced on CMs that perform ranging with a B-INIT-RNG-REQ message. - The option 'enable-eae-capability-based-enforcement' indicates EAE is enforced on CMs that perform ranging with a B-INIT-RNG-REQ message in which the EAE capability flag is set. The option 'enable-eae-total-enforcement' indicates EAE is enforced on all CMs regardless of their EAE capabilities.
      </xs:documentation>
    </xs:annotation>

    <xs:restriction base="xs:string">
      <xs:enumeration value="other"/>
      <xs:enumeration value="disable-eae"/>
      <xs:enumeration value="enable-eae-ranging-based-enforcement"/>
      <xs:enumeration value="enable-eae-capability-based-enforcement"/>
      <xs:enumeration value="enable-eae-total-enforcement"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="bpi2-enforce-control-type">
    <xs:annotation>
      <xs:documentation>
        This attribute indicates the level of BPI+ enforcement policies with the MAC Domain.
      </xs:documentation>
    </xs:annotation>

    <xs:restriction base="xs:string">
      <xs:enumeration value="other"/>
      <xs:enumeration value="disable"/>
      <xs:enumeration value="qosCfgFileWithBpi2AndCapabPrivSupportEnabled"/>
      <xs:enumeration value="qosCfgFileWithBpi2Enabled"/>
      <xs:enumeration value="qosCfgFile"/>
      <xs:enumeration value="total"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="enable-type">
    <xs:annotation>
      <xs:documentation>
        This attribute enables the enforcement of Multicast Authorization feature. When this attribute is set to 'enable', Multicast Authorization is enforced; otherwise, clients are permitted to join any IP multicast session. The factory default value of this attribute is 'disable'.
      </xs:documentation>
    </xs:annotation>

    <xs:restriction base="xs:string">
      <xs:enumeration value="other"/>
      <xs:enumeration value="enable"/>
      <xs:enumeration value="disable"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="authorization-action-type">
    <xs:annotation>
      <xs:documentation>
        This attribute specifies the authorization action for a session join attempt. The value 'accept' indicates that a multicast join request is allowed. The value 'deny' indicates that a multicast join request is denied.This type is used for both default behavior (i.e. a session 'join' request matches no session rules) and explicitly configured behavior (i.e. a session 'join' request matches the session rule)
      </xs:documentation>
    </xs:annotation>

    <xs:restriction base="xs:string">
      <xs:enumeration value="other"/>
      <xs:enumeration value="accept"/>
      <xs:enumeration value="deny"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="modulation-interval-usage-code-type">
    <xs:annotation>
      <xs:documentation>
        An index into the Channel Modulation table that, when grouped with other Interval Usage Codes, fully instantiates all modulation sets for a given upstream channel.
      </xs:documentation>
    </xs:annotation>

    <xs:restriction base="xs:string">
      <xs:enumeration value="request"/>
      <xs:enumeration value="requestData"/>
      <xs:enumeration value="initialRanging"/>
      <xs:enumeration value="periodicRanging"/>
      <xs:enumeration value="shortData"/>
      <xs:enumeration value="longData"/>
      <xs:enumeration value="advPhyShortData"/>
      <xs:enumeration value="advPhyLongData"/>
      <xs:enumeration value="ugs"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="modulation-type">
    <xs:annotation>
      <xs:documentation>
        The modulation type in tranmissions using this IUC.
      </xs:documentation>
    </xs:annotation>

    <xs:restriction base="xs:string">
      <xs:enumeration value="other"/>
      <xs:enumeration value="qpsk"/>
      <xs:enumeration value="qam8"/>
      <xs:enumeration value="qam16"/>
      <xs:enumeration value="qam32"/>
      <xs:enumeration value="qam64"/>
      <xs:enumeration value="qam128"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="preamble-length-type">
    <xs:annotation>
      <xs:documentation>
        The preamble length for this modulation profile in bits.
      </xs:documentation>
    </xs:annotation>

    <xs:restriction base="xs:unsignedShort">
      <xs:minInclusive value="0"/>
      <xs:maxInclusive value="1536"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="fec-error-correction-type">
    <xs:annotation>
      <xs:documentation>
        The number of correctable errored bytes (t) used in forward error correction code.  The value of 0 indicates that no correction is employed.  The number of check bytes appended will be twice this value.
      </xs:documentation>
    </xs:annotation>

    <xs:restriction base="xs:unsignedByte">
      <xs:minInclusive value="0"/>
      <xs:maxInclusive value="16"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="fec-codeword-length-type">
    <xs:annotation>
      <xs:documentation>
        The number of correctable errored bytes (t) used in forward error correction code.
      </xs:documentation>
    </xs:annotation>

    <xs:restriction base="xs:unsignedByte">
      <xs:minInclusive value="1"/>
      <xs:maxInclusive value="255"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="scrambler-seed-type">
    <xs:annotation>
      <xs:documentation>
        The 15-bit seed value for the scrambler polynomial.
      </xs:documentation>
    </xs:annotation>

    <xs:restriction base="xs:unsignedShort">
      <xs:minInclusive value="0"/>
      <xs:maxInclusive value="32767"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="preamble-type">
    <xs:annotation>
      <xs:documentation>
        Preamble type for DOCSIS 2.0 bursts.  
      </xs:documentation>
    </xs:annotation>

    <xs:restriction base="xs:string">
      <xs:enumeration value="other"/>
      <xs:enumeration value="qpsk0"/>
      <xs:enumeration value="qpsk1"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="scdma-interleaver-step-size-type">
    <xs:annotation>
      <xs:documentation>
        S-CDMA Interleaver step size.
      </xs:documentation>
    </xs:annotation>

    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:unsignedByte">
          <xs:minInclusive value="0"/>
          <xs:maxInclusive value="0"/>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:unsignedByte">
          <xs:minInclusive value="1"/>
          <xs:maxInclusive value="32"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="scdma-subframe-codes-type">
    <xs:annotation>
      <xs:documentation>
        S-CDMA sub-frame size.
      </xs:documentation>
    </xs:annotation>

    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:unsignedByte">
          <xs:minInclusive value="0"/>
          <xs:maxInclusive value="0"/>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:unsignedByte">
          <xs:minInclusive value="1"/>
          <xs:maxInclusive value="128"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="dsg-client-id-class-type">
    <xs:annotation>
      <xs:documentation>
        The DSG Client Identification type. A DSG client id of type broadcast(1) received by all DSG client(s). A DSG client id of type macAddress(2) is received by the DSG client that has been assigned with this MAC address where the first 3 bytes is the Organization Unique Identifier (OUI). A DSG client id of type caSystemId(3) is received by the DSG client that has been assigned a CA_system_ID. A DSG client ID of type applicationId(4) is received by the DSG client that has been assigned an application ID. The value of other(1) is used when a vendor-extension has been implemented for this attribute.
      </xs:documentation>
    </xs:annotation>

    <xs:restriction base="xs:string">
      <xs:enumeration value="other"/>
      <xs:enumeration value="broadcast"/>
      <xs:enumeration value="mac-address"/>
      <xs:enumeration value="ca-system-id"/>
      <xs:enumeration value="application-id"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="non-zero-seconds-type">
    <xs:annotation>
      <xs:documentation>
        The non-zero seconds in a minute.
      </xs:documentation>
    </xs:annotation>

    <xs:restriction base="xs:unsignedByte">
      <xs:minInclusive value="1"/>
      <xs:maxInclusive value="60"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ack-sequence-interval-type">
    <xs:annotation>
      <xs:documentation>
        The maximum number of unacknowledged records that can be sent by the CCAP IPDR exporter before receiving an acknowledgement.
      </xs:documentation>
    </xs:annotation>

    <xs:restriction base="xs:unsignedShort">
      <xs:minInclusive value="1"/>
      <xs:maxInclusive value="500"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="seconds-day-max-type">
    <xs:annotation>
      <xs:documentation>
        The number of seconds between 0 and 1 day.
      </xs:documentation>
    </xs:annotation>

    <xs:restriction base="xs:unsignedInt">
      <xs:minInclusive value="0"/>
      <xs:maxInclusive value="86400"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ipdr-streaming-type">
    <xs:annotation>
      <xs:documentation>
        This attribute configures the type of IPDR streaming used for the session. See the IPDR Service Definition Schemas section of [OSSIv3.0] for the streaming types supported by each Service Definition. The value of other(1) is used when a vendor-extension has been implemented for this attribute.
      </xs:documentation>
    </xs:annotation>

    <xs:restriction base="xs:string">
      <xs:enumeration value="other"/>
      <xs:enumeration value="time-interval"/>
      <xs:enumeration value="ad-hoc"/>
      <xs:enumeration value="event"/>
      <xs:enumeration value="time-event"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ipdr-service-definition-type">
    <xs:annotation>
      <xs:documentation>
        This attribute configures the service type definition for this IPDR session. See the IPDR Service Definition Schemas section of [OSSIv3.0] for the definitions and schemas of the types defined in this enumeration. The value of other(1) is used when a vendor-extension has been implemented for this attribute.
      </xs:documentation>
    </xs:annotation>

    <xs:restriction base="xs:string">
      <xs:enumeration value="other"/>
      <xs:enumeration value="cmts-cm-service-flow-type"/>
      <xs:enumeration value="cmts-cm-reg-status-type"/>
      <xs:enumeration value="cmts-cm-us-stats-type"/>
      <xs:enumeration value="cmts-ds-util-stats-type"/>
      <xs:enumeration value="cmts-us-util-stats-type"/>
      <xs:enumeration value="cmts-topology-type"/>
      <xs:enumeration value="cpe-type"/>
      <xs:enumeration value="diag-log-type"/>
      <xs:enumeration value="diag-log-detail-type"/>
      <xs:enumeration value="diag-log-event-type"/>
      <xs:enumeration value="samis-type-1"/>
      <xs:enumeration value="samis-type-2"/>
      <xs:enumeration value="spectrum-measurement-type"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="table-interval-type">
    <xs:annotation>
      <xs:documentation>
        A table interval expressed in tables/second.
      </xs:documentation>
    </xs:annotation>

    <xs:restriction base="xs:unsignedByte">
      <xs:minInclusive value="0"/>
      <xs:maxInclusive value="32"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="video-pid-usage-type">
    <xs:annotation>
      <xs:documentation>
        This enumeration defines the type of the identified PID stream. This value is used to understand what anchor table (i.e., PAT, CAT) would need to be updated, in case PidRemapEnable is set to True and a remap is required. In case of type 'eas', the table sections of the PID stream may need to be interleaved with other table sections that would be present on the same OutputPid. 'dsm-cc' is used for digital storage media command and control. 'eiss' is used for ETV Integrated Signaling Streams (Stream type 0xC0 or 0x05 w-descriptor tag 0xA2). 'etvbif' is used for ETV Binary Interchange Format (Stream type 0xC0 or 0x05 w-descriptor tag 0xA1 OR Stream Type 0X0B). 'video' is used for MPEG2 video streams. 'audio' is used for MPEG2 audio streams. The value of other(1) is used when a vendor-extension has been implemented for this attribute.
      </xs:documentation>
    </xs:annotation>

    <xs:restriction base="xs:string">
      <xs:enumeration value="other"/>
      <xs:enumeration value="emm"/>
      <xs:enumeration value="nit"/>
      <xs:enumeration value="cat"/>
      <xs:enumeration value="pat"/>
      <xs:enumeration value="fixed"/>
      <xs:enumeration value="eas"/>
      <xs:enumeration value="dsm-cc"/>
      <xs:enumeration value="eiss"/>
      <xs:enumeration value="etvbif"/>
      <xs:enumeration value="video"/>
      <xs:enumeration value="audio"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="cci-level-type">
    <xs:annotation>
      <xs:documentation>
        This attribute represents the Copy Control Indicator/Digital Rights protection applicable to the program. It is forwarded to all active ECMGs to be encapsulated into ECMs. The value of other(1) is used when a vendor-extension has been implemented for this attribute.
      </xs:documentation>
    </xs:annotation>

    <xs:restriction base="xs:string">
      <xs:enumeration value="other"/>
      <xs:enumeration value="copy-freely"/>
      <xs:enumeration value="copy-one-generation"/>
      <xs:enumeration value="copy-no-more"/>
      <xs:enumeration value="copy-never"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="cit-type">
    <xs:annotation>
      <xs:documentation>
        This attribute represents the Constrained Image Trigger flag applicable to the program. It is forwarded to all active ECMGs to be encapsulated into ECMs. The value of other(1) is used when a vendor-extension has been implemented for this attribute.
      </xs:documentation>
    </xs:annotation>

    <xs:restriction base="xs:string">
      <xs:enumeration value="other"/>
      <xs:enumeration value="clear"/>
      <xs:enumeration value="set"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="rct-type">
    <xs:annotation>
      <xs:documentation>
        This attribute represents the Redistribution Control Trigger flag applicable to the program. It is forwarded to all active ECMGs to be encapsulated into ECMs. The value of other(1) is used when a vendor-extension has been implemented for this attribute.
      </xs:documentation>
    </xs:annotation>

    <xs:restriction base="xs:string">
      <xs:enumeration value="other"/>
      <xs:enumeration value="not-asserted"/>
      <xs:enumeration value="required"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="cci-reserved-type">
    <xs:annotation>
      <xs:documentation>
        This attribute reserves 2 bits of copy control information (CCI) for future use. It is forwarded to all active ECMGs to be encapsulated into ECMs.
      </xs:documentation>
    </xs:annotation>

    <xs:restriction base="xs:unsignedByte">
      <xs:minInclusive value="0"/>
      <xs:maxInclusive value="3"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="key-length-type">
    <xs:annotation>
      <xs:documentation>
        This attribute configures the number of bits in the encryption keys used by encryption algorithm defined by the EncryptionScheme attribute. The value of other(1) is used when a vendor-extension has been implemented for this attribute.
      </xs:documentation>
    </xs:annotation>

    <xs:restriction base="xs:string">
      <xs:enumeration value="other"/>
      <xs:enumeration value="56bits"/>
      <xs:enumeration value="128bits"/>
      <xs:enumeration value="192bits"/>
      <xs:enumeration value="256bits"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="erm-connection-mode-type">
    <xs:annotation>
      <xs:documentation>
        This attribute represents the type of TCP connection that is established by the CCAP. The value can be one of the following:
        - 'other' indicates that a vendor-extension has been implemented for this attribute. - 'client' indicates that the CCAP has to initiate the TCP connection with the ERM. - 'server' indicates that the CCAP has to wait the TCP connection from the ERM. - 'client-and-server' indicates that both the CCAP or either the CCAP or the ERM can initiate the TCP connection.
      </xs:documentation>
    </xs:annotation>

    <xs:restriction base="xs:string">
      <xs:enumeration value="other"/>
      <xs:enumeration value="client"/>
      <xs:enumeration value="server"/>
      <xs:enumeration value="client-and-server"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="integrated-server-type">
    <xs:annotation>
      <xs:documentation>
        The type of server being configured on the CCAP. The value of other(1) is used when a vendor-extension has been implemented for this attribute. The CCAP SHOULD support a NETCONF server type. other(1), ftp(2), http(3), ssh(4), telnet(5), netconf(6)
      </xs:documentation>
    </xs:annotation>

    <xs:restriction base="xs:string">
      <xs:enumeration value="other"/>
      <xs:enumeration value="ftp"/>
      <xs:enumeration value="http"/>
      <xs:enumeration value="ssh"/>
      <xs:enumeration value="telnet"/>
      <xs:enumeration value="netconf"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="policy-type">
    <xs:annotation>
      <xs:documentation>
        This attribute is the first part of the key and configures the policy type for the specified protocol.
      </xs:documentation>
    </xs:annotation>

    <xs:restriction base="xs:string">
      <xs:enumeration value="other"/>
      <xs:enumeration value="login"/>
      <xs:enumeration value="privileged-mode"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="protocol-type">
    <xs:annotation>
      <xs:documentation>
        This attribute is the second part of the key and represents the protocol used by the AAA server. The value of other(1) is used when a vendor-extension has been implemented for this attribute. 
      </xs:documentation>
    </xs:annotation>

    <xs:restriction base="xs:string">
      <xs:enumeration value="other"/>
      <xs:enumeration value="radius"/>
      <xs:enumeration value="tacacs-plus"/>
      <xs:enumeration value="local-authentication"/>
      <xs:enumeration value="none"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="timer-interval-type">
    <xs:annotation>
      <xs:documentation>
        RIPv2 intervals.
      </xs:documentation>
    </xs:annotation>

    <xs:restriction base="xs:unsignedInt">
      <xs:minInclusive value="5"/>
      <xs:maxInclusive value="2147483647"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="send-version-type">
    <xs:annotation>
      <xs:documentation>
        This attribute configures the version of the RIP protocol being used for this prefix. 
      </xs:documentation>
    </xs:annotation>

    <xs:restriction base="xs:string">
      <xs:enumeration value="other"/>
      <xs:enumeration value="rip-version-1"/>
      <xs:enumeration value="rip-version-2"/>
      <xs:enumeration value="rip-version-1-and-2"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="rip-auth-mode-type">
    <xs:annotation>
      <xs:documentation>
        This attribute configures the mode for authentication. [RFC 2453] defines this as simple password (type 2). The value of other(1) is used when a vendor-extension has been implemented for this attribute.
      </xs:documentation>
    </xs:annotation>

    <xs:restriction base="xs:string">
      <xs:enumeration value="other"/>
      <xs:enumeration value="no-authentication"/>
      <xs:enumeration value="simple-password"/>
      <xs:enumeration value="md5"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="application-type">
    <xs:annotation>
      <xs:documentation>
        The device class for which this cable helper configuration applies.
      </xs:documentation>
    </xs:annotation>

    <xs:restriction base="xs:string">
      <xs:enumeration value="other"/>
      <xs:enumeration value="host"/>
      <xs:enumeration value="mta"/>
      <xs:enumeration value="stb"/>
      <xs:enumeration value="cm"/>
      <xs:enumeration value="all"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="igmp-version-type">
    <xs:annotation>
      <xs:documentation>
        The version of MGMD. Value 2 applies to IGMPv1 routers only. Value 3 applies to IGMPv2 and MLDv1 routers, and value 4 applies to IGMPv3 and MLDv2 routers.
      </xs:documentation>
    </xs:annotation>

    <xs:restriction base="xs:string">
      <xs:enumeration value="other"/>
      <xs:enumeration value="igmp-v1"/>
      <xs:enumeration value="igmp-v2-or-mld-v1"/>
      <xs:enumeration value="igmp-v3-or-mld-v2"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="event-throttle-admin-state-type">
    <xs:annotation>
      <xs:documentation>
        Refer to RFC 4639.
      </xs:documentation>
    </xs:annotation>

    <xs:restriction base="xs:string">
      <xs:enumeration value="unconstrained"/>
      <xs:enumeration value="maintain-below-threshold"/>
      <xs:enumeration value="stop-at-threshold"/>
      <xs:enumeration value="inhibited"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="syslog-priority-type">
    <xs:annotation>
      <xs:documentation>
        See RFC 4639
      </xs:documentation>
    </xs:annotation>

    <xs:restriction base="xs:string">
      <xs:enumeration value="emergency"/>
      <xs:enumeration value="alert"/>
      <xs:enumeration value="critical"/>
      <xs:enumeration value="error"/>
      <xs:enumeration value="warning"/>
      <xs:enumeration value="notice"/>
      <xs:enumeration value="information"/>
      <xs:enumeration value="debug"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="syslog-reporting-type">
    <xs:annotation>
      <xs:documentation>
        See RFC 4639. The bit ordering has been changed from RFC 4639 to avoid gaps.
      </xs:documentation>
    </xs:annotation>

    <xs:list>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="local"/>
          <xs:enumeration value="traps"/>
          <xs:enumeration value="syslog"/>
          <xs:enumeration value="local-volatile"/>
          <xs:enumeration value="std-interface"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:list>
  </xs:simpleType>
  <xs:simpleType name="reg-detail-type">
    <xs:annotation>
      <xs:documentation>
        Setting a bit representing a CM registration state will enable counting the number of times the CMTS determines that such CM reaches that state as the last state before failing to proceed further in the registration process and within the time interval considered for the CM registration trigger detection.
      </xs:documentation>
    </xs:annotation>

    <xs:list>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="other"/>
          <xs:enumeration value="initial-ranging"/>
          <xs:enumeration value="ranging-auto-adj-complete"/>
          <xs:enumeration value="start-eae"/>
          <xs:enumeration value="start-dhcpv4"/>
          <xs:enumeration value="start-dhcpv6"/>
          <xs:enumeration value="dhcpv4-complete"/>
          <xs:enumeration value="dhcpv6-complete"/>
          <xs:enumeration value="start-config-file-download"/>
          <xs:enumeration value="config-file-download-complete"/>
          <xs:enumeration value="start-registration"/>
          <xs:enumeration value="registration-complete"/>
          <xs:enumeration value="bpi-init"/>
          <xs:enumeration value="operational"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:list>
  </xs:simpleType>
  <xs:simpleType name="ranging-retry-trigger-type">
    <xs:annotation>
      <xs:documentation>
        This attribute selects the type of ranging retry trigger to be enable in the Diagnostic Log. A CM failure to perform ranging when a ranging opportunity is scheduled by the CMTS is counted as ranging miss. Ranging retry trigger can be configured to either look at consecutive ranging misses or ranging miss ratio over total number of station maintenance opportunities for a certain time period. Setting this object to 'consecutiveMiss' will select consecutive ranging misses as ranging retry trigger criteria. Setting this object to 'missRatio' will select ranging miss ratio as ranging retry criteria.
      </xs:documentation>
    </xs:annotation>

    <xs:restriction base="xs:string">
      <xs:enumeration value="consecutive-miss"/>
      <xs:enumeration value="miss-ratio"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="notif-ctrl-type">
    <xs:annotation>
      <xs:documentation>
        This attribute is used to enable diagnostic log related notifications. Setting bit 0 enables notification for reaching log size high threshold. Setting bit 1 enables notification for returning back to log size low threshold after reaching log size high threshold. Setting bit 2 enables notification for Diagnostic Log size full.
      </xs:documentation>
    </xs:annotation>

    <xs:list>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="high-threshold-reached"/>
          <xs:enumeration value="low-threshold-reached"/>
          <xs:enumeration value="full"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:list>
  </xs:simpleType>
  <xs:simpleType name="snmp-access-type">
    <xs:annotation>
      <xs:documentation>
        Defines the type of access granted to the SNMP request.
      </xs:documentation>
    </xs:annotation>

    <xs:restriction base="xs:string">
      <xs:enumeration value="read-only"/>
      <xs:enumeration value="read-write"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="subtree-view-inclusion-type">
    <xs:annotation>
      <xs:documentation>
        Indicates inclusion or exclusion of the subtree for the defined view.
      </xs:documentation>
    </xs:annotation>

    <xs:restriction base="xs:string">
      <xs:enumeration value="other"/>
      <xs:enumeration value="included"/>
      <xs:enumeration value="excluded"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="notification-type">
    <xs:annotation>
      <xs:documentation>
        Indicates the type of SNMP notification being sent. - 'snmpv1-trap': SNMP v1 trap - 'snmpv2c-trap': SNMP v2c trap - 'snmpv2c-inform': SNMP v2c Inform
      </xs:documentation>
    </xs:annotation>

    <xs:restriction base="xs:string">
      <xs:enumeration value="snmpv1-trap"/>
      <xs:enumeration value="snmpv2c-trap"/>
      <xs:enumeration value="snmpv2c-inform"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="address-prefix-len-type">
    <xs:annotation>
      <xs:documentation>
        This is based on RFC 4001 InetAddressPrefixLength.
      </xs:documentation>
    </xs:annotation>

    <xs:restriction base="xs:unsignedShort">
      <xs:minInclusive value="0"/>
      <xs:maxInclusive value="2040"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="snmp-tag-list-type">
    <xs:annotation>
      <xs:documentation>
        This data type is equivalent to the SnmpTagList.
      </xs:documentation>
    </xs:annotation>

    <xs:restriction base="xs:string">
      <xs:minLength value="0"/>
      <xs:maxLength value="255"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:element name="ccap" type="ccap-type">
    <xs:annotation>
      <xs:documentation>
        The CCAP object serves as the root of the CCAP configuration data.  It consists of three attributes that together describe the CCAP platform. 
      </xs:documentation>
    </xs:annotation>
  </xs:element>
<xs:complexType name="ext-type">
  <xs:sequence>
    <xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
  </xs:sequence>
  <xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:complexType>
  <xs:complexType name="ccap-type">
    <xs:sequence>
      <xs:element name="name" minOccurs="0"  maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            This attribute defines the name of the CCAP platform being configured.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:minLength value="1"/>
            <xs:maxLength value="32"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="description" minOccurs="0"  maxOccurs="1"  type="xs:string">
        <xs:annotation>
          <xs:documentation>
            This attribute contains the description of the CCAP platform.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="location" minOccurs="0"  maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            This attribute contains any location information for the CCAP.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:minLength value="1"/>
            <xs:maxLength value="128"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="vendor-extension-version" minOccurs="0"  maxOccurs="1" type="vendor-extension-version-type"/>
      <xs:element name="chassis" minOccurs="0"  maxOccurs="1" type="chassis-type">
        <xs:annotation>
          <xs:documentation>
            The Chassis container allows the user to configure the CCAP hardware elements.
          </xs:documentation>
        </xs:annotation>
        <xs:key name="key_ccap_chassis_decryptor">
          <xs:selector xpath="decryptor"/>
          <xs:field xpath="decryptor-index"/>
        </xs:key>
        <xs:key name="key_ccap_chassis_fiber-node-config">
          <xs:selector xpath="fiber-node-config"/>
          <xs:field xpath="fiber-node-config-index"/>
        </xs:key>
        <xs:key name="key_ccap_chassis_slot">
          <xs:selector xpath="slot"/>
          <xs:field xpath="slot-number"/>
        </xs:key>
        <xs:key name="key_ccap_chassis_video-phy-profile">
          <xs:selector xpath="video-phy-profile"/>
          <xs:field xpath="phy-index"/>
        </xs:key>
        <xs:key name="key_ccap_chassis_docsis-phy-profile">
          <xs:selector xpath="docsis-phy-profile"/>
          <xs:field xpath="phy-index"/>
        </xs:key>
      </xs:element>
      <xs:element name="docsis" minOccurs="0"  maxOccurs="1" type="docsis-type">
        <xs:annotation>
          <xs:documentation>
            The docsis object is the primary container of DOCSIS configuration objects.
          </xs:documentation>
        </xs:annotation>
        <xs:key name="key_ccap_docsis_cm-vendor-oui">
          <xs:selector xpath="cm-vendor-oui"/>
          <xs:field xpath="cm-oui"/>
        </xs:key>
      </xs:element>
      <xs:element name="video" minOccurs="0"  maxOccurs="1" type="video-type">
        <xs:annotation>
          <xs:documentation>
            The video object is the primary container of video configuration objects.
          </xs:documentation>
        </xs:annotation>
        <xs:key name="key_ccap_video_video-input-ts">
          <xs:selector xpath="video-input-ts"/>
          <xs:field xpath="input-ts-index"/>
        </xs:key>
        <xs:key name="key_ccap_video_static-udp-map">
          <xs:selector xpath="static-udp-map"/>
          <xs:field xpath="udp-map-index"/>
        </xs:key>
        <xs:key name="key_ccap_video_reserved-udp-map">
          <xs:selector xpath="reserved-udp-map"/>
          <xs:field xpath="udp-map-index"/>
        </xs:key>
        <xs:key name="key_ccap_video_reserved-pid-range">
          <xs:selector xpath="reserved-pid-range"/>
          <xs:field xpath="reserved-pid-range-index"/>
        </xs:key>
        <xs:key name="key_ccap_video_input-registration">
          <xs:selector xpath="input-registration"/>
          <xs:field xpath="input-registration-name"/>
        </xs:key>
        <xs:key name="key_ccap_video_pid-session">
          <xs:selector xpath="pid-session"/>
          <xs:field xpath="session-index"/>
        </xs:key>
        <xs:key name="key_ccap_video_program-session">
          <xs:selector xpath="program-session"/>
          <xs:field xpath="session-index"/>
        </xs:key>
        <xs:key name="key_ccap_video_cas-info">
          <xs:selector xpath="cas-info"/>
          <xs:field xpath="cas-info-index"/>
        </xs:key>
        <xs:key name="key_ccap_video_mpts-passthrough-session">
          <xs:selector xpath="mpts-passthrough-session"/>
          <xs:field xpath="session-index"/>
        </xs:key>
        <xs:key name="key_ccap_video_encryption-data">
          <xs:selector xpath="encryption-data"/>
          <xs:field xpath="encryption-data-index"/>
        </xs:key>
        <xs:key name="key_ccap_video_encrypt-control">
          <xs:selector xpath="encrypt-control"/>
          <xs:field xpath="encrypt-control-index"/>
        </xs:key>
        <xs:key name="key_ccap_video_ecmd">
          <xs:selector xpath="ecmd"/>
          <xs:field xpath="ecm-index"/>
        </xs:key>
        <xs:key name="key_ccap_video_ecmg">
          <xs:selector xpath="ecmg"/>
          <xs:field xpath="ecm-index"/>
        </xs:key>
        <xs:key name="key_ccap_video_erm-registration">
          <xs:selector xpath="erm-registration"/>
          <xs:field xpath="erm-name"/>
        </xs:key>
        <xs:key name="key_ccap_video_video-output-ts">
          <xs:selector xpath="video-output-ts"/>
          <xs:field xpath="output-ts-index"/>
        </xs:key>
      </xs:element>
      <xs:element name="epon" minOccurs="0"  maxOccurs="1" type="epon-type">
        <xs:annotation>
          <xs:documentation>
            The epon object is the primary container of EPON configuration objects.
          </xs:documentation>
        </xs:annotation>
        <xs:key name="key_ccap_epon_epon-mac-domain-config">
          <xs:selector xpath="epon-mac-domain-config"/>
          <xs:field xpath="mac-domain-name"/>
        </xs:key>
      </xs:element>
      <xs:element name="network" minOccurs="0"  maxOccurs="1" type="network-type">
        <xs:annotation>
          <xs:documentation>
            Network is the primary container of network configuration objects.
          </xs:documentation>
        </xs:annotation>
        <xs:key name="key_ccap_network_dns-server">
          <xs:selector xpath="dns-server"/>
          <xs:field xpath="dns-server-index"/>
        </xs:key>
        <xs:key name="key_ccap_network_integrated-servers">
          <xs:selector xpath="integrated-servers"/>
          <xs:field xpath="server-type"/>
          <xs:field xpath="local-listener-port"/>
        </xs:key>
        <xs:key name="key_ccap_network_authentication-policy">
          <xs:selector xpath="authentication-policy"/>
          <xs:field xpath="protocol"/>
          <xs:field xpath="policy"/>
        </xs:key>
        <xs:key name="key_ccap_network_local-authorization">
          <xs:selector xpath="local-authorization"/>
          <xs:field xpath="username"/>
        </xs:key>
        <xs:key name="key_ccap_network_radius">
          <xs:selector xpath="radius"/>
          <xs:field xpath="auth-server-ip"/>
        </xs:key>
        <xs:key name="key_ccap_network_tacacs-plus">
          <xs:selector xpath="tacacs-plus"/>
          <xs:field xpath="auth-server-ip"/>
        </xs:key>
        <xs:key name="key_ccap_network_keychain">
          <xs:selector xpath="keychain"/>
          <xs:field xpath="key-id"/>
        </xs:key>
      </xs:element>
      <xs:element name="interface" minOccurs="0"  maxOccurs="1" type="interface-type">
        <xs:annotation>
          <xs:documentation>
            The interface object is the primary container of Interface configuration objects.
          </xs:documentation>
        </xs:annotation>
        <xs:key name="key_ccap_interface_cable-bundle">
          <xs:selector xpath="cable-bundle"/>
          <xs:field xpath="interface-index"/>
        </xs:key>
        <xs:key name="key_ccap_interface_loopback">
          <xs:selector xpath="loopback"/>
          <xs:field xpath="interface-index"/>
        </xs:key>
      </xs:element>
      <xs:element name="management" minOccurs="0"  maxOccurs="1" type="management-type">
        <xs:annotation>
          <xs:documentation>
            The management object is the primary container of Management configuration objects.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
      <xs:attribute name="SchemaVersion" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:pattern value="[0-9]{4}-[0-9]{2}-[0-9]{2}"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="operation">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="merge"/>
            <xs:enumeration value="replace"/>
            <xs:enumeration value="delete"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
  </xs:complexType>
  <xs:complexType name="vendor-extension-version-type">
    <xs:sequence>
      <xs:element name="major-version"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            Major version provides the macro versioning number for each interface. Versions containing the same major version SHOULD provide backwards compatibility.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="minor-version"  minOccurs="1" maxOccurs="1"  type="xs:int">
        <xs:annotation>
          <xs:documentation>
            MinorVersion identifies incremential and backwards compatible updates to a major version.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="micro-version" minOccurs="0"  maxOccurs="1"  type="xs:int">
        <xs:annotation>
          <xs:documentation>
            MicroVersion is usually for bug fixes, without changes in functionality.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="chassis-type">
    <xs:sequence>
      <xs:element name="decryptor"  minOccurs="0"  maxOccurs="unbounded" type="decryptor-type">
        <xs:annotation>
          <xs:documentation>
            The Decryptor object provides for the configuration of a Decryptor module or modules in the CCAP that are used to decrypt encrypted content delivered to the CCAP.  
          </xs:documentation>
        </xs:annotation>
        <xs:key name="key_chassis_ccap_decryptor_ecmd-usage">
          <xs:selector xpath="ecmd-usage"/>
          <xs:field xpath="ecmd-usage-index"/>
        </xs:key>
      </xs:element>
      <xs:element name="fiber-node-config"  minOccurs="0"  maxOccurs="unbounded" type="fiber-node-config-type">
        <xs:annotation>
          <xs:documentation>
            Fiber-node-config defines the cable hybrid fiber/coax system (HFC) plant Fiber Nodes reached by RF ports on a CCAP. 
            This object supports the creation and deletion of multiple instances.
          </xs:documentation>
        </xs:annotation>
        <xs:key name="key_chassis_ccap_fiber-node-config_ds-rf-port-ref">
          <xs:selector xpath="ds-rf-port-ref"/>
          <xs:field xpath="slot"/>
          <xs:field xpath="ds-rf-port"/>
        </xs:key>
        <xs:key name="key_chassis_ccap_fiber-node-config_us-rf-port-ref">
          <xs:selector xpath="us-rf-port-ref"/>
          <xs:field xpath="slot"/>
          <xs:field xpath="us-rf-port"/>
        </xs:key>
      </xs:element>
      <xs:element name="slot"  minOccurs="0"  maxOccurs="unbounded" type="slot-type">
        <xs:annotation>
          <xs:documentation>
            This object configures a slot within the CCAP chassis. Line cards reside in slots.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="video-phy-profile"  minOccurs="0"  maxOccurs="unbounded" type="video-phy-profile-type">
        <xs:annotation>
          <xs:documentation>
            The video-phy-profile list is a specialization of the down-channel-phy-params object. It specifies values for video PHY parameters when those parameters are not set at the channel level. At least one entry must always be present and not be deletable. The index of such entries is vendor specific. While one element must be defined for each vendor's list, it is not required that this element be configured (i.e., it could be defaulted), so min-elements is zero, not one
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="docsis-phy-profile"  minOccurs="0"  maxOccurs="unbounded" type="docsis-phy-profile-type">
        <xs:annotation>
          <xs:documentation>
            The docsis-phy-profile list is a specialization of the down-channel-phy-params object. It specifies values for video PHY parameters when those parameters are not set at the channel level. At least one entry must always be present and not be deletable. The index of such entries is vendor specific. While one element must be defined for each vendor's list, it is not required that this element be configured (i.e., it could be defaulted), so min-elements is zero, not one
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="docsis-type">
    <xs:sequence>
      <xs:element name="docs-global" minOccurs="0"  maxOccurs="1" type="docs-global-type">
        <xs:annotation>
          <xs:documentation>
            The docs-global object is the container for the DOCSIS global configuration objects.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="cm-vendor-oui"  minOccurs="0"  maxOccurs="unbounded" type="cm-vendor-oui-type">
        <xs:annotation>
          <xs:documentation>
            Cm-vendor-oui allows the operator to create a database of OUIs and Vendors.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="docs-security" minOccurs="0"  maxOccurs="1" type="docs-security-type">
        <xs:annotation>
          <xs:documentation>
            The docs-security container is the primary container of DOCSIS security configuration objects.
          </xs:documentation>
        </xs:annotation>
        <xs:key name="key_docsis_ccap_docs-security_sav-config-list">
          <xs:selector xpath="sav-config-list"/>
          <xs:field xpath="sav-config-list-name"/>
        </xs:key>
        <xs:key name="key_docsis_ccap_docs-security_cmts-cm-eae-exclusion">
          <xs:selector xpath="cmts-cm-eae-exclusion"/>
          <xs:field xpath="cmts-cm-eae-exclusion-id"/>
        </xs:key>
      </xs:element>
      <xs:element name="docs-subscriber-management" minOccurs="0"  maxOccurs="1" type="docs-subscriber-management-type">
        <xs:annotation>
          <xs:documentation>
            This group of configuration elements allows for the configuration of the Subscriber Management rules. They are based on the configuration elements from [OSSIv3.0]
          </xs:documentation>
        </xs:annotation>
        <xs:key name="key_docsis_ccap_docs-subscriber-management_filter-group">
          <xs:selector xpath="filter-group"/>
          <xs:field xpath="rule-id"/>
          <xs:field xpath="group-id"/>
        </xs:key>
      </xs:element>
      <xs:element name="docs-qos" minOccurs="0"  maxOccurs="1" type="docs-qos-type">
        <xs:annotation>
          <xs:documentation>
            This group of configuration elements allows for the configuration of DOCSIS QoS.
          </xs:documentation>
        </xs:annotation>
        <xs:key name="key_docsis_ccap_docs-qos_service-class">
          <xs:selector xpath="service-class"/>
          <xs:field xpath="service-class-name"/>
        </xs:key>
        <xs:key name="key_docsis_ccap_docs-qos_qos-profile">
          <xs:selector xpath="qos-profile"/>
          <xs:field xpath="qos-profile-index"/>
        </xs:key>
      </xs:element>
      <xs:element name="docs-multicast-qos" minOccurs="0"  maxOccurs="1" type="docs-multicast-qos-type">
        <xs:annotation>
          <xs:documentation>
            This group of configuration elements allows for the configuration of DOCSIS Multicast QoS. They are based on the configuration elements from [OSSIv3.0].
          </xs:documentation>
        </xs:annotation>
        <xs:key name="key_docsis_ccap_docs-multicast-qos_group-phs-config">
          <xs:selector xpath="group-phs-config"/>
          <xs:field xpath="group-phs-config-id"/>
        </xs:key>
        <xs:key name="key_docsis_ccap_docs-multicast-qos_group-config">
          <xs:selector xpath="group-config"/>
          <xs:field xpath="group-config-id"/>
        </xs:key>
        <xs:key name="key_docsis_ccap_docs-multicast-qos_group-encryption-config">
          <xs:selector xpath="group-encryption-config"/>
          <xs:field xpath="group-encryption-config-id"/>
        </xs:key>
        <xs:key name="key_docsis_ccap_docs-multicast-qos_group-qos-config">
          <xs:selector xpath="group-qos-config"/>
          <xs:field xpath="group-qos-config-id"/>
        </xs:key>
      </xs:element>
      <xs:element name="docs-mac-domain" minOccurs="0"  maxOccurs="1" type="docs-mac-domain-type">
        <xs:annotation>
          <xs:documentation>
            This container contains MAC domain level control and configuration.
          </xs:documentation>
        </xs:annotation>
        <xs:key name="key_docsis_ccap_docs-mac-domain_downstream-bonding-group">
          <xs:selector xpath="downstream-bonding-group"/>
          <xs:field xpath="bonding-group-name"/>
        </xs:key>
        <xs:key name="key_docsis_ccap_docs-mac-domain_mac-domain">
          <xs:selector xpath="mac-domain"/>
          <xs:field xpath="mac-domain-name"/>
        </xs:key>
      </xs:element>
      <xs:element name="docs-multicast-authorization" minOccurs="0"  maxOccurs="1" type="docs-multicast-authorization-type">
        <xs:annotation>
          <xs:documentation>
            The docs-multicast-authorization group of configuration elements allows for the configuration of DOCSIS Multicast. They are based on the configuration elements from [OSSIv3.0]. 
          </xs:documentation>
        </xs:annotation>
        <xs:key name="key_docsis_ccap_docs-multicast-authorization_profiles">
          <xs:selector xpath="profiles"/>
          <xs:field xpath="mcast-auth-profile-name"/>
        </xs:key>
      </xs:element>
      <xs:element name="docs-if" minOccurs="0"  maxOccurs="1" type="docs-if-type">
        <xs:annotation>
          <xs:documentation>
            The docs-if object is the container for DOCSIS interface configuration objects.
          </xs:documentation>
        </xs:annotation>
        <xs:key name="key_docsis_ccap_docs-if_modulation-profile">
          <xs:selector xpath="modulation-profile"/>
          <xs:field xpath="modulation-index"/>
        </xs:key>
      </xs:element>
      <xs:element name="docs-packet-cable" minOccurs="0"  maxOccurs="1" type="docs-packet-cable-type">
        <xs:annotation>
          <xs:documentation>
            The docs-packet-cable object is the container for PacketCable configuration objects.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="docs-dsg" minOccurs="0"  maxOccurs="1" type="docs-dsg-type">
        <xs:annotation>
          <xs:documentation>
            The docs-dsg object is the container for DSG configuration objects.
          </xs:documentation>
        </xs:annotation>
        <xs:key name="key_docsis_ccap_docs-dsg_dsg-timer-config">
          <xs:selector xpath="dsg-timer-config"/>
          <xs:field xpath="timer-config-index"/>
        </xs:key>
        <xs:key name="key_docsis_ccap_docs-dsg_dsg-downstream">
          <xs:selector xpath="dsg-downstream"/>
          <xs:field xpath="dsg-downstream-index"/>
        </xs:key>
        <xs:key name="key_docsis_ccap_docs-dsg_dsg-channel-list">
          <xs:selector xpath="dsg-channel-list"/>
          <xs:field xpath="dsg-channel-list-index"/>
        </xs:key>
        <xs:key name="key_docsis_ccap_docs-dsg_tunnel-group-to-channel-list">
          <xs:selector xpath="tunnel-group-to-channel-list"/>
          <xs:field xpath="tunnel-group-index"/>
        </xs:key>
        <xs:key name="key_docsis_ccap_docs-dsg_dsg-tunnel-config">
          <xs:selector xpath="dsg-tunnel-config"/>
          <xs:field xpath="dsg-tunnel-config-index"/>
        </xs:key>
        <xs:key name="key_docsis_ccap_docs-dsg_dsg-classifier">
          <xs:selector xpath="dsg-classifier"/>
          <xs:field xpath="dsg-classifier-id"/>
        </xs:key>
        <xs:key name="key_docsis_ccap_docs-dsg_vendor-parameters-list">
          <xs:selector xpath="vendor-parameters-list"/>
          <xs:field xpath="vendor-param-id"/>
        </xs:key>
        <xs:key name="key_docsis_ccap_docs-dsg_client-id-config-list">
          <xs:selector xpath="client-id-config-list"/>
          <xs:field xpath="client-id-list-index"/>
        </xs:key>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="video-type">
    <xs:sequence>
      <xs:element name="global-input-ts-config" minOccurs="0"  maxOccurs="1" type="global-input-ts-config-type">
        <xs:annotation>
          <xs:documentation>
            This object represents the global configuration of input transport streams.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="global-output-ts-config" minOccurs="0"  maxOccurs="1" type="global-output-ts-config-type">
        <xs:annotation>
          <xs:documentation>
            This object represents the global configuration of output transport streams.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="video-input-ts"  minOccurs="0"  maxOccurs="unbounded" type="video-input-ts-type">
        <xs:annotation>
          <xs:documentation>
            The VideoInputTs object configures a given MPEG-2 Transport stream that may be unicast or multicast.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="static-udp-map"  minOccurs="0"  maxOccurs="unbounded" type="static-udp-map-type">
        <xs:annotation>
          <xs:documentation>
            This object represents the UDP port ranges used for static video sessions.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="reserved-udp-map"  minOccurs="0"  maxOccurs="unbounded" type="reserved-udp-map-type">
        <xs:annotation>
          <xs:documentation>
            This object represents reserved ports to be used for non-video applications.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="reserved-pid-range"  minOccurs="0"  maxOccurs="unbounded" type="reserved-pid-range-type">
        <xs:annotation>
          <xs:documentation>
            This object represents reserved PID range to not be used on ERM assignments.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="input-registration"  minOccurs="0"  maxOccurs="unbounded" type="input-registration-type">
        <xs:annotation>
          <xs:documentation>
            This object represents the configuration of Edge ERRP parameters.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="pid-session"  minOccurs="0"  maxOccurs="unbounded" type="pid-session-type">
        <xs:annotation>
          <xs:documentation>
            The PidSession object allows the identification, processing and insertion of a single PID stream into exactly one OutputTs. Each PidSession object must have one InputTs object associated with it.
          </xs:documentation>
        </xs:annotation>
        <xs:key name="key_video_ccap_pid-session_session-output-ts">
          <xs:selector xpath="session-output-ts"/>
          <xs:field xpath="session-output-ts-index"/>
        </xs:key>
      </xs:element>
      <xs:element name="program-session"  minOccurs="0"  maxOccurs="unbounded" type="program-session-type">
        <xs:annotation>
          <xs:documentation>
            The ProgramSession object allows the identification, encryption, processing and insertion a single program stream into exactly one OutputTs. Each ProgramSession object must have one or two InputTs objects associated with it. Having two InputTs objects associated with it occurs when input TS redundancy is configured (Hot-Hot sparing).
          </xs:documentation>
        </xs:annotation>
        <xs:key name="key_video_ccap_program-session_session-output-ts">
          <xs:selector xpath="session-output-ts"/>
          <xs:field xpath="session-output-ts-index"/>
        </xs:key>
        <xs:key name="key_video_ccap_program-session_cas-info-ref">
          <xs:selector xpath="cas-info-ref"/>
          <xs:field xpath="cas-info-index"/>
        </xs:key>
      </xs:element>
      <xs:element name="cas-info"  minOccurs="0"  maxOccurs="unbounded" type="cas-info-type">
        <xs:annotation>
          <xs:documentation>
            The cas-info object serves two purposes: 
            1. It identifies the ECMG(s) that need(s) to be involved in the encryption of the program session. In the case of a Simulcrypt operation, more than one CasInfo object can be attached to the same ProgramSession.
            2. It defines a CA-specific opaque object that needs to be forwarded to the appropriate ECMG when the session is initialized. 
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="mpts-passthrough-session"  minOccurs="0"  maxOccurs="unbounded" type="mpts-passthrough-session-type">
        <xs:annotation>
          <xs:documentation>
            The mpts-passthrough-session object allows the identification and insertion of an unmodified MPTS into exactly one OutputTs. Each MptsPassThruSession object must have one or two InputTs objects associated with it. Having two InputTs objects associated with it occurs when input TS redundancy is configured (Hot-Hot sparing).
          </xs:documentation>
        </xs:annotation>
        <xs:key name="key_video_ccap_mpts-passthrough-session_session-output-ts">
          <xs:selector xpath="session-output-ts"/>
          <xs:field xpath="session-output-ts-index"/>
        </xs:key>
      </xs:element>
      <xs:element name="encryption-data"  minOccurs="0"  maxOccurs="unbounded" type="encryption-data-type">
        <xs:annotation>
          <xs:documentation>
            The EncryptionData object allows a per video session encryption configuration.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="encrypt-control"  minOccurs="0"  maxOccurs="unbounded" type="encrypt-control-type">
        <xs:annotation>
          <xs:documentation>
            This configuration object selects the encryption option of a static encryption session. The CaEncryptionMode is not defined as only one mode and is supported per Encryptor.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ecmd"  minOccurs="0"  maxOccurs="unbounded" type="ecmd-type">
        <xs:annotation>
          <xs:documentation>
            This object allows for the configuration of the interface to an Entitlement Control Message Decoder (ECMD). 
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ecmg"  minOccurs="0"  maxOccurs="unbounded" type="ecmg-type">
        <xs:annotation>
          <xs:documentation>
            This object allows for the configuration of the interface to an Entitlement Control Message Generator (ECMG).  Redundant ECMGs for the same CAS may exist, each with the same CA_System_ID, with the priority determining which is currently in use by an Encryptor for a particular CAS. 
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="erm-registration"  minOccurs="0"  maxOccurs="unbounded" type="erm-registration-type">
        <xs:annotation>
          <xs:documentation>
            This object allows for the configuration of the interface to an Edge Resource Manager. Only one configured ERM interface exists for the entire CCAP. An ErmRegistration object contains the attributes in the following table. The CCAP MAY support only one instance of the ErmRegistration object. Configuring more than one ERM is generally used for scaling purposes, with each individual ERM being focused on specific, unique service groups. More than one ERM cannot be practically used to support the same service group, and there could be conflicts between the control messages of the independent ERMs.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="video-output-ts"  minOccurs="0"  maxOccurs="unbounded" type="video-output-ts-type">
        <xs:annotation>
          <xs:documentation>
            The video-output-ts element is an intermediate object that represents a configuration multiplex of one or more ProgramSession instances.
          </xs:documentation>
        </xs:annotation>
        <xs:key name="key_video_ccap_video-output-ts_video-down-channel-ref">
          <xs:selector xpath="video-down-channel-ref"/>
          <xs:field xpath="slot"/>
          <xs:field xpath="ds-rf-port"/>
          <xs:field xpath="down-channel"/>
        </xs:key>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="epon-type">
    <xs:sequence>
      <xs:element name="oam-config" minOccurs="0"  maxOccurs="1" type="oam-config-type">
        <xs:annotation>
          <xs:documentation>
            This object controls the rate at which OAM messages are sent on the EPON interface.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="loop-timing-config" minOccurs="0"  maxOccurs="1" type="loop-timing-config-type">
        <xs:annotation>
          <xs:documentation>
            This object configures the loop timing for EPON interfaces.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="mpcp-config" minOccurs="0"  maxOccurs="1" type="mpcp-config-type">
        <xs:annotation>
          <xs:documentation>
            This object configures the Multi-Point Control Protocol for EPON interfaces.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="epon-mac-domain-config"  minOccurs="0"  maxOccurs="unbounded" type="epon-mac-domain-config-type">
        <xs:annotation>
          <xs:documentation>
            This object defines a specialization of the MacDomain object for EPON interfaces.
          </xs:documentation>
        </xs:annotation>
        <xs:key name="key_epon_ccap_epon-mac-domain-config_one-gb-epon-interface">
          <xs:selector xpath="one-gb-epon-interface"/>
          <xs:field xpath="epon-slot"/>
          <xs:field xpath="epon-port-number"/>
        </xs:key>
        <xs:key name="key_epon_ccap_epon-mac-domain-config_ten-gb-epon-interface">
          <xs:selector xpath="ten-gb-epon-interface"/>
          <xs:field xpath="epon-slot"/>
          <xs:field xpath="epon-port-number"/>
        </xs:key>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="network-type">
    <xs:sequence>
      <xs:element name="dns-resolver" minOccurs="0"  maxOccurs="1" type="dns-resolver-type">
        <xs:annotation>
          <xs:documentation>
            This object allows the configuration of DNS servers and the configuration of default domain suffix information.  The objects in this configuration object are scalars.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="dns-server"  minOccurs="0"  maxOccurs="unbounded" type="dns-server-type">
        <xs:annotation>
          <xs:documentation>
            This object allows the configuration of the different DSN Servers that the CCAP can use to get Domain Name Resolution.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="integrated-servers"  minOccurs="0"  maxOccurs="unbounded" type="integrated-servers-type">
        <xs:annotation>
          <xs:documentation>
            This configuration object defines the types of servers integrated into the CCAP and their respective administrative states.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="authentication-policy"  minOccurs="0"  maxOccurs="unbounded" type="authentication-policy-type">
        <xs:annotation>
          <xs:documentation>
            This configuration object allows the configuration of authentication and accounting services. The Priority attribute controls which service is used first for authenticating users.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="local-authorization"  minOccurs="0"  maxOccurs="unbounded" type="local-authorization-type">
        <xs:annotation>
          <xs:documentation>
            Local-authorization configures the local user accounts and privilege levels.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="radius"  minOccurs="0"  maxOccurs="unbounded" type="radius-type">
        <xs:annotation>
          <xs:documentation>
            Radius creates the configuration for Radius servers.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="tacacs-plus"  minOccurs="0"  maxOccurs="unbounded" type="tacacs-plus-type">
        <xs:annotation>
          <xs:documentation>
            Tacacs-plus configures TACACS+ services for the CCAP.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="keychain"  minOccurs="0"  maxOccurs="unbounded" type="keychain-type">
        <xs:annotation>
          <xs:documentation>
            Keychain allows the CCAP to be configured with different Ripv2 key change information.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ripv2" minOccurs="0"  maxOccurs="1" type="ripv2-type">
        <xs:annotation>
          <xs:documentation>
            This ripv2 container allows the operator to configure the Ripv2 protocol to handle IP subnets behind cable modems.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="fail-over" minOccurs="0"  maxOccurs="1" type="fail-over-type">
        <xs:annotation>
          <xs:documentation>
            This object configures the automatic fail-over operation of the CCAP.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="local-time" minOccurs="0"  maxOccurs="1" type="local-time-type">
        <xs:annotation>
          <xs:documentation>
            Time allows the configuration of a Primary and Secondary NTP server, as well as other local time attributes. This object does not fully configure all NTP client parameters. Vendors may provide additional configuration objects to fully configure the NTP and SNTP protocols if desired.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="interface-type">
    <xs:sequence>
      <xs:element name="cable-bundle"  minOccurs="0"  maxOccurs="unbounded" type="cable-bundle-type">
        <xs:annotation>
          <xs:documentation>
            A CableBundle is a compact way of assigning Layer 3 network addresses to a set of Layer 2 interfaces.  This allows the bundled Layer 2 interfaces to share a common pool of IPv4 Subnets or IPv6 prefixes so that these IP address resources can be efficiently used by the CCAP.
          </xs:documentation>
        </xs:annotation>
        <xs:key name="key_interface_ccap_cable-bundle_ip-interface">
          <xs:selector xpath="ip-interface"/>
          <xs:field xpath="ip-interface-name"/>
        </xs:key>
        <xs:key name="key_interface_ccap_cable-bundle_cable-helper-config">
          <xs:selector xpath="cable-helper-config"/>
          <xs:field xpath="cable-helper-config-index"/>
        </xs:key>
      </xs:element>
      <xs:element name="loopback"  minOccurs="0"  maxOccurs="unbounded" type="loopback-type">
        <xs:annotation>
          <xs:documentation>
            A loopback interface is a logical interface that is not tied to a specific hardware port.  It provides a virtual interface to assist in overall system configuration.  
          </xs:documentation>
        </xs:annotation>
        <xs:key name="key_interface_ccap_loopback_ip-interface">
          <xs:selector xpath="ip-interface"/>
          <xs:field xpath="ip-interface-name"/>
        </xs:key>
      </xs:element>
      <xs:element name="mgmd-router-interface" minOccurs="0"  maxOccurs="1" type="mgmd-router-interface-type">
        <xs:annotation>
          <xs:documentation>
            This configuration object allows for configuration of the CCAP IP Multicast Router.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="management-type">
    <xs:sequence>
      <xs:element name="ipdr" minOccurs="0"  maxOccurs="1" type="ipdr-type">
        <xs:annotation>
          <xs:documentation>
            The ipdr object is the container for the IPDR configuration objects.
          </xs:documentation>
        </xs:annotation>
        <xs:key name="key_management_ccap_ipdr_streaming-session">
          <xs:selector xpath="streaming-session"/>
          <xs:field xpath="session-id"/>
        </xs:key>
        <xs:key name="key_management_ccap_ipdr_collector">
          <xs:selector xpath="collector"/>
          <xs:field xpath="collector-id"/>
        </xs:key>
      </xs:element>
      <xs:element name="fault-management" minOccurs="0"  maxOccurs="1" type="fault-management-type">
        <xs:annotation>
          <xs:documentation>
            The fault-management object is the primary container of fault management configuration objects. 
          </xs:documentation>
        </xs:annotation>
        <xs:key name="key_management_ccap_fault-management_event-reporting-config">
          <xs:selector xpath="event-reporting-config"/>
          <xs:field xpath="priority"/>
        </xs:key>
        <xs:key name="key_management_ccap_fault-management_cmts-event-ctrl">
          <xs:selector xpath="cmts-event-ctrl"/>
          <xs:field xpath="event-id"/>
        </xs:key>
        <xs:key name="key_management_ccap_fault-management_interface-trap-enable">
          <xs:selector xpath="interface-trap-enable"/>
          <xs:field xpath="if-name"/>
        </xs:key>
        <xs:key name="key_management_ccap_fault-management_syslog-server-config">
          <xs:selector xpath="syslog-server-config"/>
          <xs:field xpath="syslog-server-config-index"/>
        </xs:key>
      </xs:element>
      <xs:element name="snmp" minOccurs="0"  maxOccurs="1" type="snmp-type">
        <xs:annotation>
          <xs:documentation>
            This object defines the configuration of access control for SNMPv1/v2c received request messages. When a SNMP request message is received, the system checks the validity of the request by matching the community string, source (IP address, subnet),  access type and view restrictions  for included SNMP OIDs in the request.
          </xs:documentation>
        </xs:annotation>
        <xs:key name="key_management_ccap_snmp_access-config">
          <xs:selector xpath="access-config"/>
          <xs:field xpath="community"/>
        </xs:key>
        <xs:key name="key_management_ccap_snmp_view-config">
          <xs:selector xpath="view-config"/>
          <xs:field xpath="view-name"/>
        </xs:key>
        <xs:key name="key_management_ccap_snmp_notification-receiver-config">
          <xs:selector xpath="notification-receiver-config"/>
          <xs:field xpath="notification-receiver-name"/>
        </xs:key>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="yang-ext-type">
    <xs:sequence>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="decryptor-type">
    <xs:sequence>
      <xs:element name="decryptor-index"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            The Index is an unsigned, 32-bit identifier used as a key for this object.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="cw-timeout" minOccurs="0"  maxOccurs="1"  type="xs:unsignedInt" default="10">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the length of time in seconds that the decrypted should wait for an ECMD before switching to a redundant unit. 
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ecmd-usage"  minOccurs="1"  maxOccurs="unbounded" type="ecmd-usage-type">
        <xs:annotation>
          <xs:documentation>
            The ecmd-usage object provides for the configuration of multiple decryption sessions. It is an intermediate object that provides linkages between Decryptor objects and the ECMD(s) associated with those encrypted streams.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="fiber-node-config-type">
    <xs:sequence>
      <xs:element name="fiber-node-config-index"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            The index of the fiber node being configured.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="fiber-node-name"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            This key represents a human-readable name for a fiber node. 
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:minLength value="1"/>
            <xs:maxLength value="64"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="description" minOccurs="0"  maxOccurs="1"  type="xs:string" default=" ">
        <xs:annotation>
          <xs:documentation>
            This attribute represents a human-readable description of the node.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ds-rf-port-ref"  minOccurs="0"  maxOccurs="unbounded" type="ds-rf-port-ref-type">
        <xs:annotation>
          <xs:documentation>
            This object associates a downstream RF port with this fiber node configuration instance.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="us-rf-port-ref"  minOccurs="0"  maxOccurs="unbounded" type="us-rf-port-ref-type">
        <xs:annotation>
          <xs:documentation>
            This object associates an upstream RF port with this fiber node configuration instance.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="slot-type">
    <xs:sequence>
      <xs:element name="slot-number"  minOccurs="1" maxOccurs="1"  type="xs:unsignedByte">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the slot number for which a LineCard object will be configured. The Number attribute is a zero- or one-based index that sequentially numbers the physical slots in the chassis. For example, the Slot numbers start at zero and increase to n-1, where n is the number of slots the chassis supports.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:choice>
        <xs:element name="rf-line-card" minOccurs="1"  maxOccurs="1" type="rf-line-card-type">
          <xs:annotation>
            <xs:documentation>
              The rf-line-card object represents a CCAP line card that contains upstream and/or downstream RF ports.  It is derived from the abstract object line-card, and has all attributes of a line-card, including its associations. A Slot object contains one line-card object associated with zero or one rf-line-card.  A rf-line-card contains zero or more us-rf-port objects and zero or more dc-rf-port objects.

            </xs:documentation>
          </xs:annotation>
          <xs:key name="key_slot_chassis_ccap_rf-line-card_encryptor">
            <xs:selector xpath="encryptor"/>
            <xs:field xpath="encryptor-index"/>
          </xs:key>
          <xs:key name="key_slot_chassis_ccap_rf-line-card_us-rf-port">
            <xs:selector xpath="us-rf-port"/>
            <xs:field xpath="port-number"/>
          </xs:key>
          <xs:key name="key_slot_chassis_ccap_rf-line-card_ds-rf-port">
            <xs:selector xpath="ds-rf-port"/>
            <xs:field xpath="port-number"/>
          </xs:key>
        </xs:element>
        <xs:element name="epon-line-card" minOccurs="1"  maxOccurs="1" type="epon-line-card-type">
          <xs:annotation>
            <xs:documentation>
              This object configures an EPON line card. An epon-line-card that only supports PON Ports of type one-gb-epon-port must not have a configured enet-port. An epon-line-card that supports PON ports of type ten-gb-epon-port may have a configured enet-port.
            </xs:documentation>
          </xs:annotation>
          <xs:key name="key_slot_chassis_ccap_epon-line-card_one-gb-epon-port">
            <xs:selector xpath="one-gb-epon-port"/>
            <xs:field xpath="port-number"/>
          </xs:key>
          <xs:key name="key_slot_chassis_ccap_epon-line-card_ten-gb-epon-port">
            <xs:selector xpath="ten-gb-epon-port"/>
            <xs:field xpath="port-number"/>
          </xs:key>
          <xs:key name="key_slot_chassis_ccap_epon-line-card_one-gb-ethernet-port">
            <xs:selector xpath="one-gb-ethernet-port"/>
            <xs:field xpath="port-number"/>
          </xs:key>
          <xs:key name="key_slot_chassis_ccap_epon-line-card_ten-gb-ethernet-port">
            <xs:selector xpath="ten-gb-ethernet-port"/>
            <xs:field xpath="port-number"/>
          </xs:key>
          <xs:key name="key_slot_chassis_ccap_epon-line-card_forty-gb-ethernet-port">
            <xs:selector xpath="forty-gb-ethernet-port"/>
            <xs:field xpath="port-number"/>
          </xs:key>
          <xs:key name="key_slot_chassis_ccap_epon-line-card_one-hundred-gb-ethernet-port">
            <xs:selector xpath="one-hundred-gb-ethernet-port"/>
            <xs:field xpath="port-number"/>
          </xs:key>
        </xs:element>
        <xs:element name="sre" minOccurs="1"  maxOccurs="1" type="sre-type">
          <xs:annotation>
            <xs:documentation>
              The sre-line-card is the name given to the line card in the integrated CCAP chassis that contains all the NSI and Management functions for the CCAP. This line card is associated with EnetPort. This object inherits a number of attributes from the LineCard abstract object.
            </xs:documentation>
          </xs:annotation>
          <xs:key name="key_slot_chassis_ccap_sre_one-gb-ethernet-port">
            <xs:selector xpath="one-gb-ethernet-port"/>
            <xs:field xpath="port-number"/>
          </xs:key>
          <xs:key name="key_slot_chassis_ccap_sre_ten-gb-ethernet-port">
            <xs:selector xpath="ten-gb-ethernet-port"/>
            <xs:field xpath="port-number"/>
          </xs:key>
          <xs:key name="key_slot_chassis_ccap_sre_forty-gb-ethernet-port">
            <xs:selector xpath="forty-gb-ethernet-port"/>
            <xs:field xpath="port-number"/>
          </xs:key>
          <xs:key name="key_slot_chassis_ccap_sre_one-hundred-gb-ethernet-port">
            <xs:selector xpath="one-hundred-gb-ethernet-port"/>
            <xs:field xpath="port-number"/>
          </xs:key>
        </xs:element>
        <xs:element name="yang-choice-ext" minOccurs="1"  maxOccurs="1" type="yang-choice-ext-type">
          <xs:annotation>
            <xs:documentation>
              node for vendor YANG extensions
            </xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="ext-choice1" type="ext-type" minOccurs="1"/>
      </xs:choice>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="video-phy-profile-type">
    <xs:sequence>
      <xs:element name="phy-index"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            The index of the profile.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="modulation" minOccurs="0"  maxOccurs="1"  type="qam-modulation-type" default="qam256">
        <xs:annotation>
          <xs:documentation>
            Defines the modulation type used. The value of other(1) is used when a vendor-extension has been implemented for this attribute.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="interleaver-depth" minOccurs="0"  maxOccurs="1"  type="interleaver-depth-type" default="fecI128J1">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the interleaving depth or operation mode of the interleaver. The value of other(1) is used when a vendor-extension has been implemented for this attribute.
            This attribute is ignored when downstream-phy-standard has a value other than j83annexB.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="downstream-phy-standard" minOccurs="0"  maxOccurs="1"  type="downstream-phy-type" default="j83annexB">
        <xs:annotation>
          <xs:documentation>
            This attribute specifies the standard supported by the QAM channel. A value of 'dvbc' corresponds to J.83 Annex A. The value of other(1) is used when a vendor-extension has been implemented for this attribute
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="spectrum-inversion" minOccurs="0"  maxOccurs="1"  type="xs:boolean" default="false">
        <xs:annotation>
          <xs:documentation>
            This attribute specifies global default RF Signal Spectrum inversion. When set to 'true', it indicates that the QAM channel spectrum is inverted.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="symbol-rate-override" minOccurs="0"  maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            Sets the symbol rate for the video channel. Video channels can have more than one symbol rate for a single modulation, unlike DOCSIS channels. If not specified, channels configured to use this profile operate with the value specfied by DOCSIS for the Annex and modulation.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="docsis-phy-profile-type">
    <xs:sequence>
      <xs:element name="phy-index"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            The index of the profile.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="modulation" minOccurs="0"  maxOccurs="1"  type="qam-modulation-type" default="qam256">
        <xs:annotation>
          <xs:documentation>
            Defines the modulation type used. The value of other(1) is used when a vendor-extension has been implemented for this attribute.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="interleaver-depth" minOccurs="0"  maxOccurs="1"  type="interleaver-depth-type" default="fecI128J1">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the interleaving depth or operation mode of the interleaver. The value of other(1) is used when a vendor-extension has been implemented for this attribute.
            This attribute is ignored when downstream-phy-standard has a value other than j83annexB.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="downstream-phy-standard" minOccurs="0"  maxOccurs="1"  type="downstream-phy-type" default="j83annexB">
        <xs:annotation>
          <xs:documentation>
            This attribute specifies the standard supported by the QAM channel. A value of 'dvbc' corresponds to J.83 Annex A. The value of other(1) is used when a vendor-extension has been implemented for this attribute
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="docs-global-type">
    <xs:sequence>
      <xs:element name="maximum-scheduled-codes-enabled"  minOccurs="1" maxOccurs="1"  type="xs:boolean">
        <xs:annotation>
          <xs:documentation>
            Indicates the global state of the Maximum Scheduled Code feature on the CCAP. The value true indicates that this feature can be enabled on individual logical channels on the CCAP. The value false indicates that the feature is not in operations on the CCAP. Note that the CCAP Object attribute ScdmaChannelMscState enables or disables Maximum Scheduled Codes on a per logical channel basis.

          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="l2-vpn-global-enabled" minOccurs="0"  maxOccurs="1"  type="xs:boolean" default="false">
        <xs:annotation>
          <xs:documentation>
            This attribute will enable or disable on a global basis the configuration of L2VPN forwarding for all DOCSIS MAC Domains. The default value is false. This attribute only enables L2VPN forwarding; configuration of the feature is handled in a vendor-specific way.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="cm-vendor-oui-type">
    <xs:sequence>
      <xs:element name="cm-oui"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the OUI portion of a given MAC address.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="ccap-octet-data-type">
            <xs:minLength value="6"/>
            <xs:maxLength value="6"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="cm-vendor-name"  minOccurs="1" maxOccurs="1"  type="xs:string">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the company name of the vendor with the associated OUI.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="docs-security-type">
    <xs:sequence>
      <xs:element name="sav-config-list"  minOccurs="0"  maxOccurs="unbounded" type="sav-config-list-type">
        <xs:annotation>
          <xs:documentation>
            A sav-config-list node consists of read-write objects and is based on the docsSecSavCfgListEntry defined in [OSSI] and will be used with no modifications for CCAP. The RowStatus attribute has been removed.
            This object supports the creation and deletion of multiple instances. Each object instance defines one CMTS configured subnet prefix extension for which the CCAP performs source address verification. 
            Creation of a new instance of this object requires the PrefixAddrType and PrefixAddr attributes to be set.
          </xs:documentation>
        </xs:annotation>
        <xs:key name="key_docs-security_docsis_ccap_sav-config-list_sav-rule">
          <xs:selector xpath="sav-rule"/>
          <xs:field xpath="rule-id"/>
        </xs:key>
      </xs:element>
      <xs:element name="cmts-sav-control" minOccurs="0"  maxOccurs="1" type="cmts-sav-control-type">
        <xs:annotation>
          <xs:documentation>
            Cmts-sav-control container defines attributes for global Source Address Verification (SAV) configuration. 

          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="cmts-server-config" minOccurs="0"  maxOccurs="1" type="cmts-server-config-type">
        <xs:annotation>
          <xs:documentation>
            Cmts-server-config container defines attributes for configuring TFTP Configuration File Security features. 

          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="cmts-encrypt" minOccurs="0"  maxOccurs="1" type="cmts-encrypt-type">
        <xs:annotation>
          <xs:documentation>
            Cmts-encrypt container includes an attribute which defines the order in which encryption algorithms are to be applied.

          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="cmts-certificate" minOccurs="0"  maxOccurs="1" type="cmts-certificate-type">
        <xs:annotation>
          <xs:documentation>
            Cmts-certificate container defines attributes for global certificate revocation configuration.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="cmts-cert-revocation-list" minOccurs="0"  maxOccurs="1" type="cmts-cert-revocation-list-type">
        <xs:annotation>
          <xs:documentation>
            Cmts-cert-revocation-list consists of the read-write objects under the CmtsCertRevocationList object identifier defined in [OSSI]. The LastUpdate attribute has been removed.
            This object defines a CRL location URL and periodic refresh interval value. The CRL location URL defines from where the CCAP will retrieve the CRL file. The periodic refresh interval value indicates how often the CCAP will retrieve the CRL file for updates if the tbsCertList.nextUpdate attribute in the file is absent. 
            This object is only applicable when the CertRevocationMethod attribute of the DocsSecCmtsCertificate object is set to 'crl' or 'crlAndOcsp'.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="cmts-cm-eae-exclusion"  minOccurs="0"  maxOccurs="unbounded" type="cmts-cm-eae-exclusion-type">
        <xs:annotation>
          <xs:documentation>
            This configuration object consists of the read-write objects of the docsSecCmtsCmEaeExclusion object is defined in [OSSI] and will be used with no further modifications for CCAP. The RowStatus attribute has been removed.
            This object defines a list of CMs or CM groups to exclude from Early Authentication and Encryption (EAE). This object allows overrides to the value of EAE Control for individual CMs or group of CMs for purposes such as debugging. 
            The CCAP MUST support a minimum of 30 instances of the CmtsCmEaeExclusion object. 
            This object is only applicable when the EarlyAuthEncryptCtrl attribute of the MdCfg object is enabled.
            This object supports the creation and deletion of multiple instances.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="cmts-online-cert-status-protocol" minOccurs="0"  maxOccurs="1" type="cmts-online-cert-status-protocol-type">
        <xs:annotation>
          <xs:documentation>
            This configuration object is defined in [OSSI] and will be used with no modifications for CCAP.
            This object contains an OCSP Responder URL and an attribute to bypass signature checking of the OCSP response, as detailed in [RFC 2560]. The CCAP will use the URL for OCSP communications in checking a certificate's revocation status. This object is only applicable when the CertRevocationMethod attribute of the CmtsCertificate object is set to 'ocsp' or 'crlAndOcsp'.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="sys-bpi-config" minOccurs="0"  maxOccurs="1" type="sys-bpi-config-type">
        <xs:annotation>
          <xs:documentation>
            This object provides the configuration of the system-wide default Baseline Privacy key lifetimes. If not configured, the default values are vendor specific.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="docs-subscriber-management-type">
    <xs:sequence>
      <xs:element name="base" minOccurs="0"  maxOccurs="1" type="base-type">
        <xs:annotation>
          <xs:documentation>
            This object defines the configuration parameters of Subscriber Management features for the CM in case the CM does not signal any of the parameters during the registration process.


          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="filter-group"  minOccurs="0"  maxOccurs="unbounded" type="filter-group-type">
        <xs:annotation>
          <xs:documentation>
            This object describes a set of filter or classifier criteria. Classifiers are assigned by group to the individual CMs. That assignment is made via the Subscriber Management TLVs encodings sent upstream from the CM to the CMPA during registration, or in their absence, default values configured in the CCAP.
            A Filter Group ID (GrpId) is a set of rules that correspond to the expansion of a UDC Group ID into individual UDC rules. The UDC Group IDs are linked to Ids of the FilterGrp object so the CCAP can signal those filter rules as UDCs to the CM during the registration process. Implementation of L2 classification criteria is optional for the CCAP; LLC/MAC upstream and downstream filter criteria can be ignored during the packet matching process.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="docs-qos-type">
    <xs:sequence>
      <xs:element name="service-class"  minOccurs="0"  maxOccurs="unbounded" type="service-class-type">
        <xs:annotation>
          <xs:documentation>
            This object describes a provisioned service class on a CCAP. Each object instance defines a template for certain DOCSIS QOS Parameter Set values. When a CM creates or modifies an Admitted QOS Parameter Set for a Service Flow, it may reference a Service Class Name instead of providing explicit QOS Parameter Set values. In this case, the CCAP populates the QOS Parameter Set with the applicable corresponding values from the named Service Class. Subsequent changes to a Service Class row do not affect the QOS Parameter Set values of any service flows already admitted. A service class template applies to only a single direction, as indicated in the ServiceClassDirection attribute.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="qos-profile"  minOccurs="0"  maxOccurs="unbounded" type="qos-profile-type">
        <xs:annotation>
          <xs:documentation>
            The qos-profile object is used to help provide a mapping between Cable Modems that have registered with a DOCSIS 1.0 style Class of Service. The support for this configuration is dependent on the CCAP supporting DOCSIS 1.0 style configuration files and CM registrations. 
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="docs-multicast-qos-type">
    <xs:sequence>
      <xs:element name="default-group-service-class" minOccurs="0"  maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            This object provides the name of the Default Group Service Class. The CCAP instantiates a Default Group Service Flow with the QOS param Set indicated by this Service Class Name reference on every Downstream Channel Set to which it replicates multicast packets that are otherwise unclassified by a Group Classifier Rule.
            Reference: [OSSIv3.0], DefGrpSvcClass Object section
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:string">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="group-phs-config"  minOccurs="0"  maxOccurs="unbounded" type="group-phs-config-type">
        <xs:annotation>
          <xs:documentation>
            This object controls the configuration of DSID-indexed PHS for multicast sessions. Configuration of PHS Rules via this object are applied to individual multicast sessions even if the referenced GrpCfg object identified a GrpQosCfg instance with a QosCtrl of 'aggregateSession'.
            This object supports the creation and deletion of instances.
            Creation of multiple instances of this object require the following attributes to be set:
            - PhsField
            - PhsMask
            - PhsSize
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="group-config"  minOccurs="0"  maxOccurs="unbounded" type="group-config-type">
        <xs:annotation>
          <xs:documentation>
            This object controls the QoS, PHS, and encryption settings for downstream forwarding of IP multicast sessions. An IP multicast session is replicated to one or more Downstream Channel Sets (DCSs), where each DCS is either a single downstream channel or a downstream bonding group of multiple channels. The CCAP determines on which DCSs to replicate a multicast session based on IP multicast membership reports (joins) or other vendor-specific static configuration. 
            The CmtsGrpCfg object allows for the configuration of a range of sessions through the SrcPrefixAddr and GrpPrefixAddr and SrcPrefixLen and GrpPrefixLen attributes. 
            Cable operators can specify configuration rules for a range of multicast sessions through the tuples of (SrcPrefixAddr, SrcPrefixLen, GrpPrefixAddr, GrpPrefixLen) attributes in an entry. The QosCfgId attribute identifies the QoS rule, the EncryptCfgId identifies the encryption rule and the PhsCfgId identifies the PHS rule for a particular entry. Even if an entry indicates a range of multicast sessions, the Encryption and PHS rules are applied on a per-session basis. Thus, when an Operator configures PHS rules or Encryption for a given GroupConfig entry, each session has those rules applied on a per session and per replication basis. Group PHS and Group Encryption rules are indicated by using a non-zero value for the PhsCfgId and EncryptCfgId, respectively.
            The DocsMcastCmtsGrpQosCfgQosCtrl attribute from the CmtsGrpQosCfg object is used to determine if the traffic for a range of multicast sessions identified by an entry in the CmtsGrpCfg object will be transmitted in an Aggregate-Session Group Service Flow or will be transmitted separately for each session using Single-Session Group Service Flows. Even if the range of multicast sessions are transmitted on an Aggregate-Session Group Service Flow, the PHS and Encryption rules are always applied individually to a multicast session on a per-session DSID basis prior to being transmitted on an Aggregate-Session Group Service Flow (GSF).
            Creation of a new instance of this object requires the following attributes to be set.
            - RulePriority
            - SrcPrefixAddr
            - SrcPrefixLen
            - GrpPrefixAddr
            - GrpPrefixLen
            - TosLow
            - TosHigh
            - TosMask
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="group-encryption-config"  minOccurs="0"  maxOccurs="unbounded" type="group-encryption-config-type">
        <xs:annotation>
          <xs:documentation>
            This object controls the configuration of the Security Association (SA) and the encryption algorithm used for multicast sessions.


          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="group-qos-config"  minOccurs="0"  maxOccurs="unbounded" type="group-qos-config-type">
        <xs:annotation>
          <xs:documentation>
            This object configures the QoS configured for Multicast sessions replicated to any Downstream Channel Set. It does not control which particular DCSs to which the CCAP replicates a multicast session. 
            An instance of this object is called a GQC entry. A GQC entry controls how the CCAP instantiates a Group Classifier Rule (GCR) on the DCS to match packets of the multicast session. A GCR uses source and destination IP address and ToS criteria.
            A GQC entry controls how and with what QoS parameters a GSF is created on a DCS. All downstream multicast packets are scheduled on a GSF. The QoS Type attribute of the GQC entry controls whether the CCAP creates one GSF for each single IP multicast session or whether the CCAP creates one GSF for the aggregate of all sessions that match the GQC criteria. The GQC instance contains a reference to a Service Class Name QoS Parameter Set template. The Service Class defines the list of QoS parameters for the GSF(s) instantiated for the GQC entry. 
            A CCAP identifies one Service Class as the Default Group QoS Service Class. The CCAP instantiates a Default Group Service Flow on each single-channel DCS based on the parameters of the Default Group QoS Service Class. 
            The set of GCRs and GSFs instantiated on a DCS control how QoS is provided to multicast packets replicated to the DCS. For each multicast packet, the CCAP classifies the packet to the highest priority matching GCR on that DCS. The GCR refers to a single GSF, which controls the scheduling of the packets on the DCS. If the multicast packet does not match any GCR on the DCS, the packet is scheduled on the Default Group Service Flow of the DCS. The CCAP replicates unclassified multicast traffic to only DCSs consisting of a single downstream channel. Thus, the Maximum Sustained Traffic Rate QoS parameter of the Default Group Service Class limits the aggregate rate of unclassified multicast traffic on each downstream channel. 
            The CCAP is expected to instantiate GCRs and GSFs controlled by the entries in this table only for the duration of replication of the multicast sessions matching the entry.
            This object supports the creation of multiple instances.
            Creation of new instances of this object require the following objects to be set:
            - SvcClassName
            - QosCtrl
            - AggSessLimit
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="docs-mac-domain-type">
    <xs:sequence>
      <xs:element name="downstream-bonding-group"  minOccurs="0"  maxOccurs="unbounded" type="downstream-bonding-group-type">
        <xs:annotation>
          <xs:documentation>
            The downstream-bonding-group object allows for the static creation of Downstream bonding groups. In some current DOCSIS 3.0 configurations, downstream channels are not tied directly to a specific MAC domain, while in others these downstream channels are an integral part of the MAC domain. For CCAP flexibility, downstream channels that are configured into a bonding group will not be directly associated with a specific MAC domain.
          </xs:documentation>
        </xs:annotation>
        <xs:key name="key_docs-mac-domain_docsis_ccap_downstream-bonding-group_docsis-down-channel-ref">
          <xs:selector xpath="docsis-down-channel-ref"/>
          <xs:field xpath="slot"/>
          <xs:field xpath="ds-rf-port"/>
          <xs:field xpath="down-channel"/>
        </xs:key>
      </xs:element>
      <xs:element name="mac-domain"  minOccurs="0"  maxOccurs="unbounded" type="mac-domain-type">
        <xs:annotation>
          <xs:documentation>
            Mac-domain contains MAC domain level control and configuration attributes.
          </xs:documentation>
        </xs:annotation>
        <xs:key name="key_docs-mac-domain_docsis_ccap_mac-domain_upstream-bonding-group">
          <xs:selector xpath="upstream-bonding-group"/>
          <xs:field xpath="bonding-group-name"/>
        </xs:key>
        <xs:key name="key_docs-mac-domain_docsis_ccap_mac-domain_rcc-configuration">
          <xs:selector xpath="rcc-configuration"/>
          <xs:field xpath="rcp-id"/>
          <xs:field xpath="rcc-cfg-id"/>
        </xs:key>
        <xs:key name="key_docs-mac-domain_docsis_ccap_mac-domain_upstream-physical-channel-ref">
          <xs:selector xpath="upstream-physical-channel-ref"/>
          <xs:field xpath="slot"/>
          <xs:field xpath="us-rf-port"/>
          <xs:field xpath="upstream-physical-channel"/>
        </xs:key>
        <xs:key name="key_docs-mac-domain_docsis_ccap_mac-domain_non-primary-capable-ds">
          <xs:selector xpath="non-primary-capable-ds"/>
          <xs:field xpath="slot"/>
          <xs:field xpath="ds-rf-port"/>
          <xs:field xpath="down-channel"/>
        </xs:key>
        <xs:key name="key_docs-mac-domain_docsis_ccap_mac-domain_primary-capable-ds">
          <xs:selector xpath="primary-capable-ds"/>
          <xs:field xpath="slot"/>
          <xs:field xpath="ds-rf-port"/>
          <xs:field xpath="down-channel"/>
        </xs:key>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="docs-multicast-authorization-type">
    <xs:sequence>
      <xs:element name="control" minOccurs="0"  maxOccurs="1" type="control-type">
        <xs:annotation>
          <xs:documentation>
            This object defines the CCAP global behavior for Multicast Authorization. Some parameters are included as part of the CM configuration process. In absence of those parameters, default values defined by attributes of this object are used.


          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="profiles"  minOccurs="0"  maxOccurs="unbounded" type="profiles-type">
        <xs:annotation>
          <xs:documentation>
            This object contains the description of the Multicast Authorization profiles for administrative purposes. 
            This object supports the creation and deletion of multiple instances.
            Creation of a new instance of this object requires the Description attribute to be set.
          </xs:documentation>
        </xs:annotation>
        <xs:key name="key_docs-multicast-authorization_docsis_ccap_profiles_session-rule">
          <xs:selector xpath="session-rule"/>
          <xs:field xpath="id"/>
          <xs:field xpath="session-rule-name"/>
        </xs:key>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="docs-if-type">
    <xs:sequence>
      <xs:element name="modulation-profile"  minOccurs="1"  maxOccurs="unbounded" type="modulation-profile-type">
        <xs:annotation>
          <xs:documentation>
            This object is based on the docsIfCmtsModulationTable defined in [RFC 4546].
          </xs:documentation>
        </xs:annotation>
        <xs:key name="key_docs-if_docsis_ccap_modulation-profile_interval-usage-code">
          <xs:selector xpath="interval-usage-code"/>
          <xs:field xpath="usage-code"/>
        </xs:key>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="docs-packet-cable-type">
    <xs:sequence>
      <xs:element name="packet-cable-config" minOccurs="0"  maxOccurs="1" type="packet-cable-config-type">
        <xs:annotation>
          <xs:documentation>
            This object is used for configuring PacketCable and PCMM services on the CCAP.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="pc-event-config" minOccurs="0"  maxOccurs="1" type="pc-event-config-type">
        <xs:annotation>
          <xs:documentation>
            This object configures event messaging for PacketCable.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="docs-dsg-type">
    <xs:sequence>
      <xs:element name="dsg-timer-config"  minOccurs="0"  maxOccurs="unbounded" type="dsg-timer-config-type">
        <xs:annotation>
          <xs:documentation>
            This configuration object is based on the dsgIfTimerTable defined in [DSG] and will be used with modifications for CCAP.
            The DSG Timer Table contains timers that are sent to the DSG client(s) via the DCD message. 
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="dsg-downstream"  minOccurs="0"  maxOccurs="unbounded" type="dsg-downstream-type">
        <xs:annotation>
          <xs:documentation>
            The dsg-downstream object represents an individual downstream channel for DSG configuration purposes. This configuration object is based on the dsgIfDownstreamTable defined in [DSG] and will be used with modifications for CCAP.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="dsg-channel-list"  minOccurs="0"  maxOccurs="unbounded" type="dsg-channel-list-type">
        <xs:annotation>
          <xs:documentation>
            This configuration object is based on the dsgIfChannelListTable defined in [DSG] and will be used with modifications for CCAP.
            The DownChanList object allows for configuration of a list of one or multiple downstream frequencies that are carrying DSG tunnel(s). This configuration object has been modified from the DSG Specification definitions.
          </xs:documentation>
        </xs:annotation>
        <xs:key name="key_docs-dsg_docsis_ccap_dsg-channel-list_dsg-channel">
          <xs:selector xpath="dsg-channel"/>
          <xs:field xpath="dsg-channel-index"/>
        </xs:key>
      </xs:element>
      <xs:element name="tunnel-group-to-channel-list"  minOccurs="0"  maxOccurs="unbounded" type="tunnel-group-to-channel-list-type">
        <xs:annotation>
          <xs:documentation>
            This configuration object is based on the dsgIfTunnelGrpToChannelTable defined in [DSG] and will be used with modifications for CCAP.
            The TunnelGrpToChannel object permits association of a group of tunnels to one or more downstream channels. This configuration object has been modified from the DSG Specification definitions.
          </xs:documentation>
        </xs:annotation>
        <xs:key name="key_docs-dsg_docsis_ccap_tunnel-group-to-channel-list_tunnel-group-channel">
          <xs:selector xpath="tunnel-group-channel"/>
          <xs:field xpath="tunnel-group-channel-index"/>
        </xs:key>
      </xs:element>
      <xs:element name="dsg-tunnel-config"  minOccurs="1"  maxOccurs="unbounded" type="dsg-tunnel-config-type">
        <xs:annotation>
          <xs:documentation>
            A dsg-tunnel-config object allows the operator to configure DSG tunnels. Each DSG Tunnel represents a stream of packets delivered to a DSG Client in a set-top device and is configured with a single destination MAC address.
            This configuration object is based on the dsgIfTunnelTable defined in [DSG] and is used with modifications.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="dsg-classifier"  minOccurs="1"  maxOccurs="unbounded" type="dsg-classifier-type">
        <xs:annotation>
          <xs:documentation>
            This configuration object is based on the dsgIfClassifierTable defined in [DSG] and will be used with modifications for CCAP.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="vendor-parameters-list"  minOccurs="0"  maxOccurs="unbounded" type="vendor-parameters-list-type">
        <xs:annotation>
          <xs:documentation>
            This configuration object is based on the dsgIfVendorParamTable defined in [DSG] and will be used without modification for CCAP.
            The DSG Vendor Parameter Table allows vendors to send specific parameters to the DSG clients within a DSG rule or within the DSG Configuration block in a DCD message.
          </xs:documentation>
        </xs:annotation>
        <xs:key name="key_docs-dsg_docsis_ccap_vendor-parameters-list_vendor-param">
          <xs:selector xpath="vendor-param"/>
          <xs:field xpath="vendor-index"/>
        </xs:key>
      </xs:element>
      <xs:element name="client-id-config-list"  minOccurs="0"  maxOccurs="unbounded" type="client-id-config-list-type">
        <xs:annotation>
          <xs:documentation>
            This configuration object is based on the dsgIfClientIdTable defined in [DSG] and will be used with modifications for CCAP.
            The Client Identification object contains the client identification type and value. It also contains the vendor-specific parameter identification. There could be multiple client ids associated to a tunnel, grouped by the ListIndex.
          </xs:documentation>
        </xs:annotation>
        <xs:key name="key_docs-dsg_docsis_ccap_client-id-config-list_dsg-client">
          <xs:selector xpath="dsg-client"/>
          <xs:field xpath="client-id-index"/>
        </xs:key>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="global-input-ts-config-type">
    <xs:sequence>
      <xs:element name="jitter-tolerance" minOccurs="0"  maxOccurs="1"  type="xs:unsignedInt" default="100">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the acceptable delay variation in millisecond for incoming streams. The jitter option sets the size of a dejittering buffer that absorbs the input jitter of a session.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="unicast-session-loss-timeout" minOccurs="0"  maxOccurs="1"  type="xs:unsignedInt" default="5000">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the loss of signal timeout in milliseconds for unicast input streams. 
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="multicast-session-loss-timeout" minOccurs="0"  maxOccurs="1"  type="xs:unsignedInt" default="5000">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the loss of signal timeout in milliseconds for the multicast input streams.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="global-output-ts-config-type">
    <xs:sequence>
      <xs:element name="cat-insert-rate" minOccurs="0"  maxOccurs="1" default="10">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the CAT insertion rate expressed in tables/second.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedByte">
            <xs:minInclusive value="0"/>
            <xs:maxInclusive value="32"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="pat-insert-rate" minOccurs="0"  maxOccurs="1" default="10">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the PAT table interval expressed in tables/second.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedByte">
            <xs:minInclusive value="0"/>
            <xs:maxInclusive value="32"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="pmt-insert-rate" minOccurs="0"  maxOccurs="1" default="10">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the PMT table interval expressed in tables/second.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedByte">
            <xs:minInclusive value="0"/>
            <xs:maxInclusive value="32"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="video-input-ts-type">
    <xs:sequence>
      <xs:element name="input-ts-index"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            This is the index for an instance of the video-input-ts list
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="input-ts-name" minOccurs="0"  maxOccurs="1"  type="xs:string" default=" ">
        <xs:annotation>
          <xs:documentation>
            This attribute configures a name for the input TS. 
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="input-ts-decryption-enabled" minOccurs="0"  maxOccurs="1"  type="xs:boolean" default="false">
        <xs:annotation>
          <xs:documentation>
            This attribute configures whether this input stream is encrypted for transport across the WAN. This WAN encryption is intended to be removed at the CCAP and not related to any CA encryption that may be configured for the output stream. A value of true means that the CCAP needs to decrypt this input stream as applicable. A value of false means that the CCAP does not need to decrypt this input stream.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:choice>
        <xs:element name="unicast-video-input-ts" minOccurs="1"  maxOccurs="1" type="unicast-video-input-ts-type"/>
        <xs:element name="multicast-ts" minOccurs="1"  maxOccurs="1" type="multicast-ts-type">
          <xs:key name="key_video-input-ts_video_ccap_multicast-ts_multicast-video-input-ts">
            <xs:selector xpath="multicast-video-input-ts"/>
            <xs:field xpath="multicast-ts-source-ip-address"/>
            <xs:field xpath="multicast-ts-destination-ip-address"/>
          </xs:key>
        </xs:element>
        <xs:element name="yang-choice-ext" minOccurs="1"  maxOccurs="1" type="yang-choice-ext-type">
          <xs:annotation>
            <xs:documentation>
              node for vendor YANG extensions
            </xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="ext-choice2" type="ext-type" minOccurs="1"/>
      </xs:choice>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="static-udp-map-type">
    <xs:sequence>
      <xs:element name="udp-map-index"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            This key represents a globally unique identifier of the UdpMap instance.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="starting-udp-port" minOccurs="0"  maxOccurs="1"  type="inet:port-number" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the UDP port range start value.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="port-count" minOccurs="0"  maxOccurs="1"  type="xs:unsignedInt" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the number of  UDP ports starting from 'StartingUdpPort' attribute value.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="static-video-output-ts"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            Reference to video-output-ts index.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="reserved-udp-map-type">
    <xs:sequence>
      <xs:element name="udp-map-index"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            This key represents a globally unique identifier of the UdpMap instance.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="starting-udp-port" minOccurs="0"  maxOccurs="1"  type="inet:port-number" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the UDP port range start value.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="port-count" minOccurs="0"  maxOccurs="1"  type="xs:unsignedInt" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the number of  UDP ports starting from 'StartingUdpPort' attribute value.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="reserved-pid-range-type">
    <xs:sequence>
      <xs:element name="reserved-pid-range-index"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            This key represents the unique identifier of an instance in this object.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="starting-pid" minOccurs="0"  maxOccurs="1"  type="xs:unsignedInt" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the PID range starts for other applications reserved PIDs.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="count" minOccurs="0"  maxOccurs="1"  type="xs:unsignedInt" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the number of reserved PIDs starting from 'StartingPid' attribute value.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="description" minOccurs="0"  maxOccurs="1"  type="xs:string" default="">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the description associated with a PID range configured instance.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="input-registration-type">
    <xs:sequence>
      <xs:element name="input-registration-name"  minOccurs="1" maxOccurs="1"  type="xs:string">
        <xs:annotation>
          <xs:documentation>
            This key represents the Input interface name. This name corresponds to the [RFC 4133], ENTITY-MIB entPhysicalName.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="group-name" minOccurs="0"  maxOccurs="1"  type="xs:string">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the name of the Edge Input Group associated with this input. This parameter is used in the ERRP Edge Input attribute.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="erm-name" minOccurs="0"  maxOccurs="1"  type="xs:string">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the ERM where the QAM channel is advertised. If empty, the QAM channel is not advertised.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="bandwidth" minOccurs="0"  maxOccurs="1"  type="xs:unsignedInt" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the bandwidth of the edge input to be advertised. If zero or not present, the CCAP advertises the full bandwidth of the edge input. If the attribute erm-managed-input is set to false, operators should set the bandwidth attribute to a value that greatly exceeds the speed of the input interface; this will cause the ERM to not actively manage the input bandwidth.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="erm-managed-input"  minOccurs="1" maxOccurs="1"  type="xs:boolean">
        <xs:annotation>
          <xs:documentation>
            This attribute allows the Operator to configure whether or not the ERM should manage the input bandwidth on this EdgeInput Interface. A value of true indicates that the ERM will manage the input bandwidth; a value of false indicates that the CCAP will manage the input bandwidth. If set to false, operators should set the bandwidth attribute to a value that greatly exceeds the speed of the input interface so that the ERM will not actively manage the input bandwidth.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="pid-session-type">
    <xs:sequence>
      <xs:element name="session-index"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt"/>
      <xs:element name="session-name" minOccurs="0"  maxOccurs="1"  type="xs:string" default=" ">
        <xs:annotation>
          <xs:documentation>
            This attribute configures a name for the PID session. 
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="session-input-ts"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            A reference to an input-ts-index.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="session-output-ts"  minOccurs="1"  maxOccurs="unbounded" type="session-output-ts-type">
        <xs:annotation>
          <xs:documentation>
            A reference to an output-ts object.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="input-pid"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            This attribute identifies a specific PID stream in the input transport stream.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:union>
            <xs:simpleType>
              <xs:restriction base="xs:unsignedShort">
                <xs:minInclusive value="0"/>
                <xs:maxInclusive value="8191"/>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:unsignedShort">
                <xs:minInclusive value="65535"/>
                <xs:maxInclusive value="65535"/>
              </xs:restriction>
            </xs:simpleType>
          </xs:union>
        </xs:simpleType>
      </xs:element>
      <xs:element name="pid-remap-enable" minOccurs="0"  maxOccurs="1"  type="xs:boolean" default="false">
        <xs:annotation>
          <xs:documentation>
            This object configures whether or not the identified PID stream can be remapped when inserted in the OutputTs.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="pid-type"  minOccurs="1" maxOccurs="1"  type="video-pid-usage-type">
        <xs:annotation>
          <xs:documentation>
            This enumeration defines the type of the identified PID stream. This value is used to understand what anchor table (i.e., PAT, CAT) would need to be updated, in case PidRemapEnable is set to True and a remap is required.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="cas-id" minOccurs="0"  maxOccurs="1" default="00000000">
        <xs:annotation>
          <xs:documentation>
            This attribute allows a proper identification of the CAT table parameter(s) that need(s) to be updated when the PidType is set to 'EMM', PidRemapEnable is set to True and a remap is required. This parameter is required in Simulcrypt operation, when the CAT advertises more than one EMM PID streams. Zero means no CAS is associated with this PID session.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="ccap-octet-data-type">
            <xs:minLength value="8"/>
            <xs:maxLength value="8"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="output-pid" minOccurs="0"  maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            This attribute defines the expected PID value of the identified PID stream when inserted in the OutputTS. However, the OutputPid value cannot be guaranteed if the pid-remap-enable flag is set to True.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:union>
            <xs:simpleType>
              <xs:restriction base="xs:unsignedShort">
                <xs:minInclusive value="0"/>
                <xs:maxInclusive value="8191"/>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:unsignedShort">
                <xs:minInclusive value="65535"/>
                <xs:maxInclusive value="65535"/>
              </xs:restriction>
            </xs:simpleType>
          </xs:union>
        </xs:simpleType>
      </xs:element>
      <xs:element name="output-program-number" minOccurs="0"  maxOccurs="1"  type="xs:unsignedShort">
        <xs:annotation>
          <xs:documentation>
            This attribute identifies the output program number for this PID Session.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="program-session-type">
    <xs:sequence>
      <xs:element name="session-index"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt"/>
      <xs:element name="session-name" minOccurs="0"  maxOccurs="1"  type="xs:string" default=" ">
        <xs:annotation>
          <xs:documentation>
            This attribute configures a name for the PID session. 
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="session-input-ts"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            A reference to an input-ts-index.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="session-output-ts"  minOccurs="1"  maxOccurs="unbounded" type="session-output-ts-type">
        <xs:annotation>
          <xs:documentation>
            A reference to an output-ts object.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="input-mpeg-program-number"  minOccurs="1" maxOccurs="1"  type="xs:unsignedShort">
        <xs:annotation>
          <xs:documentation>
            This attribute selects a specific program from the transport stream of the incoming video stream. This program number should be part of the incoming PAT. A value of 0 (zero) means that any incoming program number can be accepted.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="output-mpeg-program-number"  minOccurs="1" maxOccurs="1"  type="xs:unsignedShort">
        <xs:annotation>
          <xs:documentation>
            This attribute specifies the program number to be present in the transport stream of the outgoing video stream. This program number will be part of the outgoing PAT.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="pat-pid-remap" minOccurs="0"  maxOccurs="1"  type="xs:boolean" default="true">
        <xs:annotation>
          <xs:documentation>
            A value true indicates that the elementary stream PID of this input program can be remapped to the output TS, as long as the PAT and PMT are updated. A value false indicates that the same input elementary stream PID has to be used on the output TS.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="requested-bandwidth"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the expected bandwidth parameters for a static input video session described by this object. This parameter is used for encryption and video down channel output resources. A value of 0 (zero) means that no bandwidth validation is required.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="cas-info-ref"  minOccurs="0"  maxOccurs="unbounded" type="cas-info-ref-type"/>
      <xs:element name="encryption-data" minOccurs="0"  maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            A reference to encryption-data index.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="encrypt-control" minOccurs="0"  maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            A reference to encrypt-control index.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="cas-info-type">
    <xs:sequence>
      <xs:element name="cas-info-index"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the index for an instance of CasInfo for a given ProgramSession.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="cas-id"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            CasId is the 32 bit hexadecimal representation of the CAS system identifier.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="ccap-octet-data-type">
            <xs:minLength value="8"/>
            <xs:maxLength value="8"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="ca-blob"  minOccurs="1" maxOccurs="1"  type="xs:string">
        <xs:annotation>
          <xs:documentation>
            CaBlob is opaque data that the Encryptor is required to forward to the ECMG associated with the specified CasId.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="mpts-passthrough-session-type">
    <xs:sequence>
      <xs:element name="session-index"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt"/>
      <xs:element name="session-name" minOccurs="0"  maxOccurs="1"  type="xs:string" default=" ">
        <xs:annotation>
          <xs:documentation>
            This attribute configures a name for the PID session. 
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="session-input-ts"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            A reference to an input-ts-index.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="session-output-ts"  minOccurs="1"  maxOccurs="unbounded" type="session-output-ts-type">
        <xs:annotation>
          <xs:documentation>
            A reference to an output-ts object.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="encryption-data-type">
    <xs:sequence>
      <xs:element name="encryption-data-index"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            The index is the key for the EncryptionData object.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="cci-level"  minOccurs="1" maxOccurs="1"  type="cci-level-type">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the Copy Control Indicator/Digital Rights protection applicable to the program. It is forwarded to all active ECMGs to be encapsulated into ECMs.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="cit"  minOccurs="1" maxOccurs="1"  type="cit-type">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the Constrained Image Trigger flag applicable to the program. It is forwarded to all active ECMGs to be encapsulated into ECMs.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="rct"  minOccurs="1" maxOccurs="1"  type="rct-type">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the Redistribution Control Trigger flag applicable to the program. It is forwarded to all active ECMGs to be encapsulated into ECMs.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="cci-reserved"  minOccurs="1" maxOccurs="1"  type="cci-reserved-type">
        <xs:annotation>
          <xs:documentation>
            This attribute reserves 2 bits of copy control information (CCI) for future use. It is forwarded to all active ECMGs to be encapsulated into ECMs.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="provider-asset-id"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the Provide Asset Id parameter that is passed in the initial RTSP session SETUP (e.g., for VOD) to the Encryptor and enables the Encryptor to uniquely identify/reference the VOD asset or broadcast channel. 
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:minLength value="1"/>
            <xs:maxLength value="255"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="encrypt-control-type">
    <xs:sequence>
      <xs:element name="encrypt-control-index"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the index for an instance of EncryptControl for a given ProgramSession.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="encryption-scheme"  minOccurs="1" maxOccurs="1"  type="encryption-scheme-type">
        <xs:annotation>
          <xs:documentation>
            This attribute defines the encryption algorithm to be used for a given video session. The value of other(1) is used when a vendor-extension has been implemented for this attribute.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="block-stream-until-encrypted" minOccurs="0"  maxOccurs="1"  type="xs:boolean" default="true">
        <xs:annotation>
          <xs:documentation>
            BlockStreamUntilEncrypted indicates if the encryption engine should block the program until it can encrypt it (i.e., it has received a first Encryption Control Message (ECM) and Control Word (CW) from the ECMG) or release it in the clear to the destination or output. Values are 0 meaning false or 1 meaning true. Note that this parameter can be used to enforce synchronous behavior, wherein the RTSP server (i.e., Encryption Engine) will not acknowledge the session request back to the ERM until it has actually started to encrypt the stream. Obviously, this assurance comes at the expense of setup latency.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="key-length"  minOccurs="1" maxOccurs="1"  type="key-length-type">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the number of bits in the encryption keys used by encryption algorithm defined by the EncryptionScheme attribute.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="encryptor-opaque"  minOccurs="1" maxOccurs="1"  type="xs:string">
        <xs:annotation>
          <xs:documentation>
            EncryptorOpaque holds private data used by the Encryptor that may be under CA license from the CA vendor.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ecmd-type">
    <xs:sequence>
      <xs:element name="ecm-index"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            The Index is an unsigned, 32-bit identifier used as a key for this object.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ecm-server-ip"  minOccurs="1" maxOccurs="1"  type="inet:ip-address">
        <xs:annotation>
          <xs:documentation>
            This is the IP address of the ECM server.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ecm-server-port"  minOccurs="1" maxOccurs="1"  type="inet:port-number">
        <xs:annotation>
          <xs:documentation>
            This is the far-end TCP port for communicating with the ECM server.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ecm-cas-id"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            This attribute defines the Ca System Id of the ECM server.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="ccap-octet-data-type">
            <xs:minLength value="8"/>
            <xs:maxLength value="8"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="number-decrypted-streams"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            The maximum number of decrypted streams the ECMD should handle.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ecmg-type">
    <xs:sequence>
      <xs:element name="ecm-index"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            The Index is an unsigned, 32-bit identifier used as a key for this object.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ecm-server-ip"  minOccurs="1" maxOccurs="1"  type="inet:ip-address">
        <xs:annotation>
          <xs:documentation>
            This is the IP address of the ECM server.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ecm-server-port"  minOccurs="1" maxOccurs="1"  type="inet:port-number">
        <xs:annotation>
          <xs:documentation>
            This is the far-end TCP port for communicating with the ECM server.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ecm-cas-id"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            This attribute defines the Ca System Id of the ECM server.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="ccap-octet-data-type">
            <xs:minLength value="8"/>
            <xs:maxLength value="8"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="recommended-cp-duration"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            The recommended cryptoperiod, in seconds, the ECMG should expect.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
            <xs:minInclusive value="1"/>
            <xs:maxInclusive value="4294967295"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="number-encrypted-streams"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            The maximum number of encrypted streams the ECMG should handle.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="erm-registration-type">
    <xs:sequence>
      <xs:element name="erm-name"  minOccurs="1" maxOccurs="1"  type="xs:string">
        <xs:annotation>
          <xs:documentation>
            This key represents the name of the ERM related to this registration instance. This is an internal reference for associating, e.g., QAM channels and input interfaces to an ERM.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="erm-address"  minOccurs="1" maxOccurs="1"  type="inet:ip-address">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the IP Address of the ERM. 
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="erm-port" minOccurs="0"  maxOccurs="1"  type="inet:port-number" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the TCP port number used to reach the ERM.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="erm-connection-mode" minOccurs="0"  maxOccurs="1"  type="erm-connection-mode-type" default="client">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the type of TCP connection that is established by the CCAP.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="hold-timer" minOccurs="0"  maxOccurs="1" default="240">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the number of seconds that the sender proposes for the value of the hold timer. Upon receipt of an OPEN message, the CCAP MUST calculate the value of the Hold Timer by using the smaller of its configured Hold Time and the Hold Time received in the OPEN message.
            The Hold Time has to be either zero or at least three seconds. 
            An implementation MAY reject connections on the basis of the Hold Time. The calculated value indicates the maximum number of seconds that may elapse between the receipt of successive KEEPALIVE and/or UPDATE messages by the sender..
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:union>
            <xs:simpleType>
              <xs:restriction base="xs:unsignedShort">
                <xs:minInclusive value="0"/>
                <xs:maxInclusive value="0"/>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:unsignedShort">
                <xs:minInclusive value="3"/>
                <xs:maxInclusive value="3600"/>
              </xs:restriction>
            </xs:simpleType>
          </xs:union>
        </xs:simpleType>
      </xs:element>
      <xs:element name="connection-retry-timer" minOccurs="0"  maxOccurs="1"  type="xs:unsignedInt" default="20">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the time in seconds for the connect retry timer. The exact value of the connect retry timer is a local matter, but should be sufficiently large to allow TCP initialization.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="next-hop-address-domain"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the address domain number of the next-hop server. The NextHopServer specifies the address to which a manager should use to connect to the component in order to control the resource specified in the reachable route. This parameter is used in the ERRP NextHopServer attribute.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="comp-address"  minOccurs="1" maxOccurs="1"  type="inet:host">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the ERRP NextHopServer attribute. This field contains a string that conforms to the following syntax: CompAddress = an FQDN, or an IPv4 address using the textual representation defined in section 2.1 of [RFC 1123], or an IPv6 address using the textual representation defined in section 2.2 of [RFC 4291]. port = numerical value (1-65535). If the port is empty or not given, the default port 6069 is assumed.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="comp-port" minOccurs="0"  maxOccurs="1"  type="inet:port-number" default="6069">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the ERRP NextHopServer attribute port number. Only used if comp-address is configured.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="streaming-zone"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the Streaming Zone within which the component operates. This parameter is used in the ERRP OPEN message. StreamingZone Name is a mandatory parameter when supporting video applications. The capability is optional when signaling DOCSIS only resources. Since the target for ERM configuration is video, this element is mandatory.
            The value is to be set to the string that represents the StreamingZone Name, i.e., &lt;region&gt;. The characters comprising the string are in the set within TEXT defined in section 15.1 of [RFC 2326]. The CCAP MUST support minimum string lengths of 64; however, the composition of the string used is defined by implementation agreements specified by the service provider.
            A CCAP will exist in a single streaming zone.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:minLength value="1"/>
            <xs:maxLength value="255"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="id" minOccurs="0"  maxOccurs="1"  type="xs:unsignedInt" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the unique identifier for the CCAP device within its Streaming Zone. This value can be set to the 4-octet value of an IPv4 address assigned to that device. This ID value is determined on startup and is the same for all peer connections. This parameter is used in the ERRP OPEN message header.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="cost" minOccurs="0"  maxOccurs="1"  type="xs:unsignedInt" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the static cost for use of this resource.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="comp-name"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            The name of the component for which the data in the update message applies. This parameter is used in the ERRP OPEN message. Component Name is a mandatory parameter when supporting video applications. The capability is optional when signaling DOCSIS only resources. Since the target for ERM configuration is video, this element is mandatory.
            The value is to be set to the string that represents the Component Name, i.e., &lt;region&gt;.&lt;localname&gt;. The characters comprising the string are in the set within TEXT defined in section 15.1 of [RFC 2326]. The CCAP MUST support minimum string lengths of 64; however, the composition of the string used is defined by implementation agreements specified by the service provider.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:minLength value="1"/>
            <xs:maxLength value="255"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="video-output-ts-type">
    <xs:sequence>
      <xs:element name="output-ts-index"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            This is not a tsid. It uniquely identifies a CCAP-generated MPTS composed of one or more program streams, PID streams and/or pass thru MPTS.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="output-ts-name" minOccurs="0"  maxOccurs="1"  type="xs:string" default="">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the name of this instance of video-output-ts.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="video-down-channel-ref"  minOccurs="1"  maxOccurs="unbounded" type="video-down-channel-ref-type">
        <xs:annotation>
          <xs:documentation>
            Reference to a list of video down channels, all of which will transmit this MPTS.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="oam-config-type">
    <xs:sequence>
      <xs:element name="min-oam-rate" minOccurs="0"  maxOccurs="1"  type="xs:unsignedByte" default="1">
        <xs:annotation>
          <xs:documentation>
            The minimum number of OAM PDUs per second that will be generated by the OLT. If no other OAM PDU is generated at the minimum rate, the OLT will generate an OAM Information request as a 'heartbeat' message. A value of zero indicates that no heartbeat request will be generated.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="max-oam-rate" minOccurs="0"  maxOccurs="1"  type="xs:unsignedByte" default="30">
        <xs:annotation>
          <xs:documentation>
            The maximum number of OAM PDUs per second that can be exchanged between the OLT and the ONU on a particular EPON link.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="oam-response-timeout" minOccurs="0"  maxOccurs="1"  type="xs:unsignedByte" default="1">
        <xs:annotation>
          <xs:documentation>
            The maximum time (in seconds) that the OLT will wait for a response from the ONU for a given OAM PDU request.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="loop-timing-config-type">
    <xs:sequence>
      <xs:element name="min-propagation-delay" minOccurs="0"  maxOccurs="1"  type="xs:unsignedShort" default="0">
        <xs:annotation>
          <xs:documentation>
            The one way propagation delay (in 16ns units) on the fiber to the closest ONU.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="max-propagation-delay" minOccurs="0"  maxOccurs="1"  type="xs:unsignedShort" default="6250">
        <xs:annotation>
          <xs:documentation>
            The one way propagation delay (in 16ns units) on the fiber to the farthest ONU.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="onu-delay" minOccurs="0"  maxOccurs="1" default="3125">
        <xs:annotation>
          <xs:documentation>
            The processing time (in 16ns units) required by an ONU.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedShort">
            <xs:minInclusive value="3125"/>
            <xs:maxInclusive value="65535"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="mpcp-config-type">
    <xs:sequence>
      <xs:element name="discovery-period" minOccurs="0"  maxOccurs="1" default="1000">
        <xs:annotation>
          <xs:documentation>
            The period (in msecs) used by the OLT to generate discovery gates.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedShort">
            <xs:minInclusive value="10"/>
            <xs:maxInclusive value="65530"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="grant-size-in-discovery-gate" minOccurs="0"  maxOccurs="1" default="16319">
        <xs:annotation>
          <xs:documentation>
            The OLT's announced discovery grant length (in bytes).
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
            <xs:minInclusive value="84"/>
            <xs:maxInclusive value="131070"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="deregistration-timeout" minOccurs="0"  maxOccurs="1" default="0">
        <xs:annotation>
          <xs:documentation>
            The amount of time (in msecs) the OLT will wait for successive ONU MPCP Report PDUs before deregistering the ONU.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
            <xs:minInclusive value="0"/>
            <xs:maxInclusive value="4294967295"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="epon-mac-domain-config-type">
    <xs:sequence>
      <xs:element name="mac-domain-name"  minOccurs="1" maxOccurs="1"  type="xs:string">
        <xs:annotation>
          <xs:documentation>
            The name of the MacDomain.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ip-provisioning-mode"  minOccurs="1" maxOccurs="1"  type="ip-prov-mode-type">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the IP provisioning mode for a MAC Domain.
            When this attribute is set to 'ipv4-only' the CM will acquire a single IPv4 address for the CM management stack.
            When this attribute is set to 'ipv6-only' the CM will acquire a single IPv6 address for the CM management stack.
            When this attribute is set to 'alternate' the CM will acquire a single IPv6 address for the CM management stack and, if failures occur, the CM will fall back to provisioning and operation with an IPv4 address.
            When this attribute is set to 'dual-stack' the CM will acquire both an IPv6 and IPv4 address for provisioning and operation.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="admin-state" minOccurs="0"  maxOccurs="1"  type="admin-state-type" default="down">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the administrative state of the mac-domain.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="up-down-trap-enabled" minOccurs="0"  maxOccurs="1"  type="xs:boolean" default="true">
        <xs:annotation>
          <xs:documentation>
            Indicates whether linkUp/linkDown SNMP traps should be generated for this interface.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="one-gb-epon-interface"  minOccurs="0"  maxOccurs="unbounded" type="one-gb-epon-interface-type">
        <xs:annotation>
          <xs:documentation>
            This configuration object allows for a one Gigabit EPON port to be assigned to this epon-mac-domain. 
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ten-gb-epon-interface"  minOccurs="0"  maxOccurs="unbounded" type="ten-gb-epon-interface-type">
        <xs:annotation>
          <xs:documentation>
            This configuration object allows for a symmetric or asymmetric ten Gigabit EPON port to be assigned to this epon-mac-domain.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="dns-resolver-type">
    <xs:sequence>
      <xs:element name="domain-suffix"  minOccurs="1" maxOccurs="1"  type="xs:string">
        <xs:annotation>
          <xs:documentation>
            The attribute DomainSuffix configures a Domain Suffix that should be post-pended to any hostname lookup that does not consist of a Fully Qualified Domain Name (FQDN).
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="enabled" minOccurs="0"  maxOccurs="1"  type="xs:boolean" default="true">
        <xs:annotation>
          <xs:documentation>
            This attribute configures if the associated domain suffix should be applied to hostnames that do not include a Fully Qualified Domain Name (FQDN).
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="dns-server-type">
    <xs:sequence>
      <xs:element name="dns-server-index"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the index for this instance of DnsServer.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="server-ip"  minOccurs="1" maxOccurs="1"  type="inet:ip-address">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the IP address of the DNS server used by the CCAP for DNS resolution. No distinction is made for IPv6 or IPv4 addresses here.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="integrated-servers-type">
    <xs:sequence>
      <xs:element name="server-type"  minOccurs="1" maxOccurs="1"  type="integrated-server-type">
        <xs:annotation>
          <xs:documentation>
            The type of server being configured on the CCAP.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="local-listener-port"  minOccurs="1" maxOccurs="1"  type="inet:port-number">
        <xs:annotation>
          <xs:documentation>
            The second part of the key for this object configures the TCP or UDP port number on which the server listens. The CCAP MUST assign the default value as the IANA-assigned port number associated with the ServerType selected, as defined by IANA.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="enabled" minOccurs="0"  maxOccurs="1"  type="xs:boolean" default="false">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the running state of the server.  True means that the server will actively listen on the specified port.  False means that the specific server is disabled.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="listener-ip-interface-name" minOccurs="0"  maxOccurs="1"  type="xs:string">
        <xs:annotation>
          <xs:documentation>
            Local IP interface; must be a configured ip-interface name. This specifies the IP interface on which the server listens. If an IP interface is not specified, the behavior of the CCAP is vendor specific.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="authentication-policy-type">
    <xs:sequence>
      <xs:element name="policy"  minOccurs="1" maxOccurs="1"  type="policy-type">
        <xs:annotation>
          <xs:documentation>
            This attribute is the first part of the key and configures the policy type for the specified protocol.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="protocol"  minOccurs="1" maxOccurs="1"  type="protocol-type">
        <xs:annotation>
          <xs:documentation>
            This attribute is the second part of the key and represents the protocol used by the AAA server.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="priority"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            This attribute sets a priority for the protocol selected. Higher numbers are higher priority.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="local-authorization-type">
    <xs:sequence>
      <xs:element name="username"  minOccurs="1" maxOccurs="1"  type="xs:string">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the login name to be used.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="privilege-level"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            This attribute correspond to the user's privilege level. The highest number provides the most user privileges.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedShort">
            <xs:minInclusive value="0"/>
            <xs:maxInclusive value="15"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="password"  minOccurs="1" maxOccurs="1"  type="xs:string">
        <xs:annotation>
          <xs:documentation>
            This attribute correspond to the user's password. Upon export, the CCAP MUST export the Password attribute of the LocalAuth object encrypted with a vendor-specific algorithm.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="clear-key"  minOccurs="1" maxOccurs="1"  type="xs:boolean">
        <xs:annotation>
          <xs:documentation>
            This attribute indicates whether the Key/Password attribute is in the clear (true) or encrypted (false). This attribute defines the status of the key/password (encrypted or decrypted), not whether the device should export the key/password in the clear or encrypted. Regardless of the value of this setting, the key/password will always be exported encrypted. 
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="radius-type">
    <xs:sequence>
      <xs:element name="auth-server-ip"  minOccurs="1" maxOccurs="1"  type="inet:ip-address">
        <xs:annotation>
          <xs:documentation>
            This attribute is the IP address of the RADIUS server referred to in this table entry.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="auth-key"  minOccurs="1" maxOccurs="1"  type="xs:string">
        <xs:annotation>
          <xs:documentation>
            This attribute corresponds to the shared secret that is used to encrypt the communication. Upon export, the CCAP MUST export the Key attribute of the object encrypted with a vendor-specific algorithm.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="auth-clear-key"  minOccurs="1" maxOccurs="1"  type="xs:boolean">
        <xs:annotation>
          <xs:documentation>
            This attribute indicates whether the Key attribute is included in the XML configuration file in the clear (true) or encrypted (false). This attribute defines the status of the key (encrypted or decrypted), not whether the device should export the key in the clear or encrypted. Regardless of the value of this setting, the key will always be exported as encrypted.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="auth-timeout" minOccurs="0"  maxOccurs="1" default="3">
        <xs:annotation>
          <xs:documentation>
            This attribute defines the number of seconds before a connection is declared inactive.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
            <xs:minInclusive value="1"/>
            <xs:maxInclusive value="4294967295"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="auth-retransmit-attempts" minOccurs="0"  maxOccurs="1"  type="xs:unsignedInt" default="1">
        <xs:annotation>
          <xs:documentation>
            This attribute defines the number of retransmissions before giving up the connection.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="primary-auth-server" minOccurs="0"  maxOccurs="1"  type="xs:boolean" default="false">
        <xs:annotation>
          <xs:documentation>
            This attribute designates whether this auth instance is the primary or backup server. If multiple instances are set to false, when the primary connection fails, the selection of which backup server to use is vendor specific.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="source-ip-interface-name" minOccurs="0"  maxOccurs="1"  type="xs:string">
        <xs:annotation>
          <xs:documentation>
            Local IP interface; must be a configured ip-interface name. If not specified, then the vendor picks the source IP address
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="radius-auth-port" minOccurs="0"  maxOccurs="1"  type="inet:port-number" default="1812">
        <xs:annotation>
          <xs:documentation>
            This attribute defines the TCP port on which AAA authentication and authorization are performed.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="accounting-port" minOccurs="0"  maxOccurs="1"  type="inet:port-number" default="1813">
        <xs:annotation>
          <xs:documentation>
            This attribute defines the TCP port on which AAA accounting is performed.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="tacacs-plus-type">
    <xs:sequence>
      <xs:element name="auth-server-ip"  minOccurs="1" maxOccurs="1"  type="inet:ip-address">
        <xs:annotation>
          <xs:documentation>
            This attribute is the IP address of the RADIUS server referred to in this table entry.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="auth-key"  minOccurs="1" maxOccurs="1"  type="xs:string">
        <xs:annotation>
          <xs:documentation>
            This attribute corresponds to the shared secret that is used to encrypt the communication. Upon export, the CCAP MUST export the Key attribute of the object encrypted with a vendor-specific algorithm.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="auth-clear-key"  minOccurs="1" maxOccurs="1"  type="xs:boolean">
        <xs:annotation>
          <xs:documentation>
            This attribute indicates whether the Key attribute is included in the XML configuration file in the clear (true) or encrypted (false). This attribute defines the status of the key (encrypted or decrypted), not whether the device should export the key in the clear or encrypted. Regardless of the value of this setting, the key will always be exported as encrypted.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="auth-timeout" minOccurs="0"  maxOccurs="1" default="3">
        <xs:annotation>
          <xs:documentation>
            This attribute defines the number of seconds before a connection is declared inactive.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
            <xs:minInclusive value="1"/>
            <xs:maxInclusive value="4294967295"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="auth-retransmit-attempts" minOccurs="0"  maxOccurs="1"  type="xs:unsignedInt" default="1">
        <xs:annotation>
          <xs:documentation>
            This attribute defines the number of retransmissions before giving up the connection.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="primary-auth-server" minOccurs="0"  maxOccurs="1"  type="xs:boolean" default="false">
        <xs:annotation>
          <xs:documentation>
            This attribute designates whether this auth instance is the primary or backup server. If multiple instances are set to false, when the primary connection fails, the selection of which backup server to use is vendor specific.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="source-ip-interface-name" minOccurs="0"  maxOccurs="1"  type="xs:string">
        <xs:annotation>
          <xs:documentation>
            Local IP interface; must be a configured ip-interface name. If not specified, then the vendor picks the source IP address
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="tacacs-plus-auth-port" minOccurs="0"  maxOccurs="1"  type="inet:port-number" default="49">
        <xs:annotation>
          <xs:documentation>
            This attribute defines the TCP port used for communicating with the AAA server.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="keychain-type">
    <xs:sequence>
      <xs:element name="key-id"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            This attribute configures a KeyId used in RipV2 route updates.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
            <xs:minInclusive value="0"/>
            <xs:maxInclusive value="2147483647"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="key-string"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the actual key used for this instance. This value has to be the same on both the sender and receiver of the RIPv2 route.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:minLength value="1"/>
            <xs:maxLength value="79"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="accept-lifetime"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the accept lifetime value in seconds for the key in this instance.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
            <xs:minInclusive value="0"/>
            <xs:maxInclusive value="2147483647"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="send-lifetime" minOccurs="0"  maxOccurs="1" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the send lifetime value in seconds for the key in this instance. A value of 0 (zero) means that there is no lifetime limit.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
            <xs:minInclusive value="0"/>
            <xs:maxInclusive value="2147483647"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="clear-key"  minOccurs="1" maxOccurs="1"  type="xs:boolean">
        <xs:annotation>
          <xs:documentation>
            This attribute indicates whether the key-string attribute is included in the XML configuration file in the clear (true) or encrypted (false). This attribute defines the status of the key (encrypted or decrypted), not whether the device should export the key in the clear or encrypted. Regardless of the value of this setting, the key will always be exported as encrypted.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ripv2-type">
    <xs:sequence>
      <xs:element name="ip-prefix"  minOccurs="1" maxOccurs="1"  type="inet:ipv4-address">
        <xs:annotation>
          <xs:documentation>
            This attribute enables RIP on specified interfaces by configuring an interfaces primary subnet.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="prefix-length"  minOccurs="1" maxOccurs="1"  type="address-prefix-len-type">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the length of the subnet or prefix configured for this instance.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="distribute-list"  minOccurs="1" maxOccurs="1"  type="xs:string">
        <xs:annotation>
          <xs:documentation>
            This attribute configures an access list to the incoming network interface. This provides the ability to filter route announcements to disallow invalid routes from populating the routing table.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="update-timer-interval" minOccurs="0"  maxOccurs="1"  type="timer-interval-type" default="30">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the interval in seconds between route updates for this prefix. It is used when the router is configured to send routes.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="invalid-timer-interval" minOccurs="0"  maxOccurs="1"  type="timer-interval-type" default="180">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the interval in seconds between updates for this prefix. This is used to mark the learned prefix as invalid if the router has not seen an announcement before this timer expires.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="flush-timer-interval" minOccurs="0"  maxOccurs="1"  type="timer-interval-type" default="120">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the interval in seconds between route flush updates for this prefix when the prefix is no longer reachable.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="send-version" minOccurs="0"  maxOccurs="1"  type="send-version-type" default="rip-version-2">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the version of the RIP protocol being used for this prefix. 
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="rip-auth-mode" minOccurs="0"  maxOccurs="1"  type="rip-auth-mode-type" default="simple-password">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the mode for authentication. [RFC 2453] defines this as simple password (type 2).
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="rip-md5-key"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the RIP password for the updates to this instance.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:minLength value="0"/>
            <xs:maxLength value="16"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="clear-key"  minOccurs="1" maxOccurs="1"  type="xs:boolean">
        <xs:annotation>
          <xs:documentation>
            This attribute indicates whether the RipMd5Key attribute is included in the XML configuration file in the clear (true) or encrypted (false). This attribute defines the status of the key (encrypted or decrypted), not whether the device should export the key in the clear or encrypted. Regardless of the value of this setting, the key will always be exported as encrypted.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="fail-over-type">
    <xs:sequence>
      <xs:element name="auto-fail-back" minOccurs="0"  maxOccurs="1"  type="xs:boolean" default="true">
        <xs:annotation>
          <xs:documentation>
            This attribute configures whether or not the CCAP automatically switches back to a line card after a failover event. If true, when the failed card is operational, the CCAP will begin using that card again. If False, the operator will have to perform the failback operation.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="local-time-type">
    <xs:sequence>
      <xs:element name="ntp-master"  minOccurs="1" maxOccurs="1"  type="inet:ip-address">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the Master NTP server.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ntp-backup" minOccurs="0"  maxOccurs="1"  type="inet:ip-address">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the backup NTP Server in case the master NTP fails.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="time-zone" minOccurs="0"  maxOccurs="1"  type="xs:string" default="00">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the offset value to the local time to arrive at UTC Time. The value has the following format: 
            hh[:mm] - the hour 
            (0 &lt;= hh &lt;= 24) - required, minutes 
            (0 &lt;= mm &lt;= 59) -the mm (minutes) is optional. The hour can be preceded by a minus sign (-).
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="daylight-saving-time-shift-dates" minOccurs="0"  maxOccurs="1"  type="xs:string" default="3.2.0/02:00,11.1.0/02:00,01">
        <xs:annotation>
          <xs:documentation>
            This attribute indicates when to change to and from daylight saving (or summer) time.
            The value has the form: date1/time1,date2/time2,offset. 
            The first date describes when the change from standard to daylight saving time occurs, and the second date describes when the change back happens.
            Each time field describes when, in current local time, the change to the other time is made. 
            The format of date is the following: m.w.d - The dth day (0 &lt;= d &lt;= 6) of week w of month m of the year (1 &lt;= w &lt;= 5, 1 &lt;= m &lt;= 12, where week 5 means 'the last d day in month m', which may occur in the fourth or fifth week). Week 1 is the first week in which the dth day occurs. Day zero is Sunday. 
            The time format is the following: hh:mm - The offset value is the value you must add to the local time to arrive at UTC Time during the daylight saving time. The offset value has the following format: hh[:mm].
            The default value is the second Sunday in March (start) and the first Sunday in November (end).

            Reference: [PMI], Time Object section
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="dst-recurring-change" minOccurs="0"  maxOccurs="1"  type="xs:boolean" default="false">
        <xs:annotation>
          <xs:documentation>
            This attribute controls whether the CCAP automatically adjusts the time to Daylight Saving Time (DST). If true, the CCAP will adjust the time based on the value of theDaylightSavingTimeCalendar attribute.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="source-ip-interface-name" minOccurs="0"  maxOccurs="1"  type="xs:string">
        <xs:annotation>
          <xs:documentation>
            Local IP interface; must be a configured ip-interface name. If not specified, then the vendor picks the source IP address
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="cable-bundle-type">
    <xs:sequence>
      <xs:element name="interface-index"  minOccurs="1" maxOccurs="1"  type="xs:unsignedByte">
        <xs:annotation>
          <xs:documentation>
            The index for this virtual ip-interface
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="admin-state" minOccurs="0"  maxOccurs="1"  type="admin-state-type" default="down">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the administrative state of the virtual interface.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ip-interface"  minOccurs="0"  maxOccurs="1" type="ip-interface-type">
        <xs:annotation>
          <xs:documentation>
            An ip-interface object.
          </xs:documentation>
        </xs:annotation>
        <xs:key name="key_cable-bundle_interface_ccap_ip-interface_primary-ipv4">
          <xs:selector xpath="primary-ipv4"/>
          <xs:field xpath="ip-address"/>
        </xs:key>
        <xs:key name="key_cable-bundle_interface_ccap_ip-interface_ipv6">
          <xs:selector xpath="ipv6"/>
          <xs:field xpath="ipv6-address"/>
        </xs:key>
        <xs:key name="key_cable-bundle_interface_ccap_ip-interface_secondary-ipv4">
          <xs:selector xpath="secondary-ipv4"/>
          <xs:field xpath="ip-address"/>
        </xs:key>
      </xs:element>
      <xs:element name="dhcp-giaddr-primary"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            This attribute configures how the DHCP relay agent populates the GiAddr for relayed DHCP traffic.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:choice>
        <xs:element name="docsis-mac-domain"  minOccurs="0"  maxOccurs="unbounded" type="docsis-mac-domain-type"/>
        <xs:element name="epon-mac-domain"  minOccurs="0"  maxOccurs="unbounded" type="epon-mac-domain-type"/>
        <xs:element name="yang-choice-ext" minOccurs="0"  maxOccurs="1" type="yang-choice-ext-type">
          <xs:annotation>
            <xs:documentation>
              node for vendor YANG extensions
            </xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="ext-choice3" type="ext-type" minOccurs="0"/>
      </xs:choice>
      <xs:element name="cable-helper-config"  minOccurs="0"  maxOccurs="unbounded" type="cable-helper-config-type">
        <xs:annotation>
          <xs:documentation>
            The cable-helper-config configuration object allows the operator to configure different CableHelper addresses for DHCP Clients.  These CableHelper addresses are tied to the CableBundle interfaces and the MAC Domains they service.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="loopback-type">
    <xs:sequence>
      <xs:element name="interface-index"  minOccurs="1" maxOccurs="1"  type="xs:unsignedByte">
        <xs:annotation>
          <xs:documentation>
            The index for this virtual ip-interface
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="admin-state" minOccurs="0"  maxOccurs="1"  type="admin-state-type" default="down">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the administrative state of the virtual interface.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ip-interface"  minOccurs="0"  maxOccurs="1" type="ip-interface-type">
        <xs:annotation>
          <xs:documentation>
            An ip-interface object.
          </xs:documentation>
        </xs:annotation>
        <xs:key name="key_loopback_interface_ccap_ip-interface_primary-ipv4">
          <xs:selector xpath="primary-ipv4"/>
          <xs:field xpath="ip-address"/>
        </xs:key>
        <xs:key name="key_loopback_interface_ccap_ip-interface_ipv6">
          <xs:selector xpath="ipv6"/>
          <xs:field xpath="ipv6-address"/>
        </xs:key>
        <xs:key name="key_loopback_interface_ccap_ip-interface_secondary-ipv4">
          <xs:selector xpath="secondary-ipv4"/>
          <xs:field xpath="ip-address"/>
        </xs:key>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="mgmd-router-interface-type">
    <xs:sequence>
      <xs:element name="query-interval" minOccurs="0"  maxOccurs="1"  type="xs:unsignedInt" default="125">
        <xs:annotation>
          <xs:documentation>
            The frequency in seconds at which IGMP or MLD Host-Query packets are transmitted on this interface.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="version" minOccurs="0"  maxOccurs="1"  type="igmp-version-type" default="igmp-v2-or-mld-v1">
        <xs:annotation>
          <xs:documentation>
            The version of MGMD that is running on this interface. This object can be used to configure a router capable of running either version. For IGMP and MLD to function correctly, all routers on a LAN must be configured to run the same version on that LAN
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="query-max-response-time" minOccurs="0"  maxOccurs="1" default="100">
        <xs:annotation>
          <xs:documentation>
            The maximum query response interval in seconds advertised in MGMDv2 or IGMPv3 queries on this interface.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
            <xs:minInclusive value="0"/>
            <xs:maxInclusive value="31744"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="robustness" minOccurs="0"  maxOccurs="1" default="2">
        <xs:annotation>
          <xs:documentation>
            The robustness variable utilized by an MGMDv3 host in sending state-change reports for multicast routers. To ensure the state-change report is not missed, the host retransmits the state-change report [mgmdHostInterfaceVersion3Robustness - 1] times. The variable must be a non-zero value.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
            <xs:minInclusive value="1"/>
            <xs:maxInclusive value="225"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="last-member-query-interval" minOccurs="0"  maxOccurs="1" default="10">
        <xs:annotation>
          <xs:documentation>
            The Last Member Query Interval is the Max Query Response Interval in tenths of a second inserted into group-specific queries sent in response to leave group messages, and is also the amount of time between group-specific query messages. This value may be tuned to modify the leave latency of the network. A reduced value results in reduced time to detect the loss of the last member of a group. The value of this object is irrelevant if mgmdRouterInterfaceVersion is 1.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
            <xs:minInclusive value="0"/>
            <xs:maxInclusive value="31744"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ipdr-type">
    <xs:sequence>
      <xs:element name="exporter-config" minOccurs="0"  maxOccurs="1" type="exporter-config-type">
        <xs:annotation>
          <xs:documentation>
            Exporter-config allows an IPDR Exporter to be turned on and off.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="streaming-session"  minOccurs="0"  maxOccurs="unbounded" type="streaming-session-type">
        <xs:annotation>
          <xs:documentation>
            This configuration object is used to configure global IPDR connection attributes. A typical use case is for a single Template to be associated with a StreamingSession.
          </xs:documentation>
        </xs:annotation>
        <xs:key name="key_ipdr_management_ccap_streaming-session_service-definition-template">
          <xs:selector xpath="service-definition-template"/>
          <xs:field xpath="service-definition-id"/>
        </xs:key>
        <xs:key name="key_ipdr_management_ccap_streaming-session_collector-reference">
          <xs:selector xpath="collector-reference"/>
          <xs:field xpath="collector-id"/>
        </xs:key>
      </xs:element>
      <xs:element name="collector"  minOccurs="0"  maxOccurs="unbounded" type="collector-type">
        <xs:annotation>
          <xs:documentation>
            This configuration object allows the operator to configure an IPDR collector.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="fault-management-type">
    <xs:sequence>
      <xs:element name="event-throttle-config" minOccurs="0"  maxOccurs="1" type="event-throttle-config-type">
        <xs:annotation>
          <xs:documentation>
            This configuration object is based on the docsDevEvent object defined in [RFC 4639] and will be used without modification for CCAP.

          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="event-reporting-config"  minOccurs="0"  maxOccurs="unbounded" type="event-reporting-config-type">
        <xs:annotation>
          <xs:documentation>
            This configuration object is based on the docsDevEvControlTable object defined in [RFC 4639] and will be used without modification for CCAP.


          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="cmts-event-ctrl"  minOccurs="0"  maxOccurs="unbounded" type="cmts-event-ctrl-type">
        <xs:annotation>
          <xs:documentation>
            This configuration object is defined in [OSSIv3.0] and will be used with no modifications for CCAP.
            This object represents the control mechanism to enable the dispatching of events based on the Event Id. The following rules define the event control behavior:
            - If the CmtsEventCtrl object has no instances or contains an instance with Event ID 0, then all events matching the Local Log settings of docsDevEvReporting are sent to local log ONLY.
            - Additionally, if The CmtsEventCtrl object contains configured instances, then Events matching the Event Ids configured in the object are sent according to the settings of the docsDevEvReporting object; i.e., Traps, Syslog, etc. 
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="trap-enable" minOccurs="0"  maxOccurs="1" type="trap-enable-type">
        <xs:annotation>
          <xs:documentation>
            This configuration object contains attributes which allow enabling or disabling of SNMP Notifications. The SnmpEnableAuthenTraps [RFC 3418] attribute will be used without modification for the CCAP.



          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="interface-trap-enable"  minOccurs="0"  maxOccurs="unbounded" type="interface-trap-enable-type">
        <xs:annotation>
          <xs:documentation>
            This configuration object is based on the ifLinkUpDownTrapEnable object defined in [RFC 2863] and will be used without modifications for CCAP.
            The LinkUpDownTrapEnable attribute is configurable per ifIndex from the ifTable, as described in [OSSIv3.0].
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="syslog-server-config"  minOccurs="0"  maxOccurs="unbounded" type="syslog-server-config-type">
        <xs:annotation>
          <xs:documentation>
            This object allows the configuration of a specific Syslog Server.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="diag-log-triggers-config" minOccurs="0"  maxOccurs="1" type="diag-log-triggers-config-type">
        <xs:annotation>
          <xs:documentation>
            This configuration object is based on the LogTriggersCfg object in Annex G of [OSSIv3.0] and will be used without modification for CCAP.
            This object defines the parameters to configure the Diagnostic Log triggers. One or more triggers can be configured to define the actions of creating or updating CM entries into the Diagnostic Log.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="diag-log-global-config" minOccurs="0"  maxOccurs="1" type="diag-log-global-config-type">
        <xs:annotation>
          <xs:documentation>
            This object defines the parameters to manage and control the instantiation of CMs in the Diagnostic Log object.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="snmp-type">
    <xs:sequence>
      <xs:element name="access-config"  minOccurs="0"  maxOccurs="unbounded" type="access-config-type">
        <xs:annotation>
          <xs:documentation>
            This object defines the configuration of access control for SNMPv1/v2c received request messages. When a SNMP request message is received, the system checks the validity of the request by matching the community string, source (IP address, subnet),  access type and view restrictions  for included SNMP OIDs in the request.
          </xs:documentation>
        </xs:annotation>
        <xs:key name="key_snmp_management_ccap_access-config_view-config-ref">
          <xs:selector xpath="view-config-ref"/>
          <xs:field xpath="view-name"/>
        </xs:key>
      </xs:element>
      <xs:element name="view-config"  minOccurs="0"  maxOccurs="unbounded" type="view-config-type">
        <xs:annotation>
          <xs:documentation>
            This object defines a View consisting of a single OID subtree matching rule for inclusion or exclusion as part of a SNMP message processing procedure such as access authorization or dispatch or notifications
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="notification-receiver-config"  minOccurs="0"  maxOccurs="unbounded" type="notification-receiver-config-type">
        <xs:annotation>
          <xs:documentation>
            This object defines where to send notifications. When an event is to be dispatched as a notification, the system checks for instances of this object that have the notification OID associated with the event as part of their Inclusion list in their view-configuration instances. The system then sends notifications based on the matched occurrences per their configured parameters.
          </xs:documentation>
        </xs:annotation>
        <xs:key name="key_snmp_management_ccap_notification-receiver-config_view-config-ref">
          <xs:selector xpath="view-config-ref"/>
          <xs:field xpath="view-name"/>
        </xs:key>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ecmd-usage-type">
    <xs:sequence>
      <xs:element name="ecmd-usage-index"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            This is an index for an instance of this object. The ecmd-usage object is a pointer to an ECMD that can be used for any program session that requires decryption as long as the CAS identifier of the input program matches.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="priority"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            This is the configured selection priority for any program session that requires decryption when multiple ECMDs with the same CAS identifier are active. The ECMD with the lowest number should be selected first.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ecmd-ref" minOccurs="0"  maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            A reference to an instance of an ecmd object, referenced by its ecm-index.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ds-rf-port-ref-type">
    <xs:sequence>
      <xs:element name="slot"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            Reference to the slot in which the downstream RF port resides.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedByte">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="ds-rf-port"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            A reference to a downstream RF port number.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="us-rf-port-ref-type">
    <xs:sequence>
      <xs:element name="slot"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            Reference to the slot in which the upstream RF port resides.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedByte">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="us-rf-port"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            A reference to an upstream RF port number.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="rf-line-card-type">
    <xs:sequence>
      <xs:element name="line-card-name"  minOccurs="1" maxOccurs="1"  type="xs:string">
        <xs:annotation>
          <xs:documentation>
            This attribute stores the name of the line card being configured.  
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="admin-state" minOccurs="0"  maxOccurs="1"  type="admin-state-type" default="down">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the administrative state of the line card.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="protected-by" minOccurs="0"  maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            Line card redundancy or sparing is achieved with a protect relationship between two line cards.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedByte">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="encryptor"  minOccurs="0"  maxOccurs="unbounded" type="encryptor-type">
        <xs:annotation>
          <xs:documentation>
            This object allows for the configuration of an Encryptor. Each Encryptor
            object is part of a DLC. Each is associated with at
            least one active and zero or more backup ECMGs. For
            Simulcrypt, the Encryptor would be associated with
            multiple active ECMGs, each for a different
            CAS. Each is also associated with one or more video
            sessions that is being encrypted on this DLC.
          </xs:documentation>
        </xs:annotation>
        <xs:key name="key_rf-line-card_slot_chassis_ccap_encryptor_ecmg-usage">
          <xs:selector xpath="ecmg-usage"/>
          <xs:field xpath="ecmg-usage-index"/>
        </xs:key>
      </xs:element>
      <xs:element name="us-rf-port"  minOccurs="0"  maxOccurs="unbounded" type="us-rf-port-type">
        <xs:annotation>
          <xs:documentation>
            A us-rf-port object represents a physical upstream RF connector on a CCAP
            line card.  It is derived from the Port abstract
            class, and so inherits all attributes of that
            class, including its associations.  A UsRfPort may
            be contained by either a UsRfLineCard or a
            UsDsRfLineCard. It contains one or more
            upstream-physical-channels. This object has no
            attributes other than what has been inherited from
            the abstract class Port, but does have several
            associations.
          </xs:documentation>
        </xs:annotation>
        <xs:key name="key_rf-line-card_slot_chassis_ccap_us-rf-port_upstream-physical-channel">
          <xs:selector xpath="upstream-physical-channel"/>
          <xs:field xpath="channel-index"/>
        </xs:key>
        <xs:unique name="unique_rf-line-card_slot_chassis_ccap_us-rf-port_upstream-physical-channel_0">
          <xs:selector xpath="upstream-physical-channel"/>
          <xs:field xpath="frequency"/>
        </xs:unique>
      </xs:element>
      <xs:element name="ds-rf-port"  minOccurs="0"  maxOccurs="unbounded" type="ds-rf-port-type">
        <xs:annotation>
          <xs:documentation>
            This object allows for the configuration of a physical Downstream RF
            port on a DLC or UsDsRfLineCard.  The DsRfPort is a
            type of the abstract class Port and inherits those
            common parameters.  In the CCAP, a single port now
            encompasses the entire downstream spectrum instead
            of a few carriers as are seen in the current
            generation EQAM and CMTS products.
          </xs:documentation>
        </xs:annotation>
        <xs:key name="key_rf-line-card_slot_chassis_ccap_ds-rf-port_down-channel">
          <xs:selector xpath="down-channel"/>
          <xs:field xpath="channel-index"/>
        </xs:key>
        <xs:unique name="unique_rf-line-card_slot_chassis_ccap_ds-rf-port_down-channel_0">
          <xs:selector xpath="down-channel"/>
          <xs:field xpath="frequency"/>
        </xs:unique>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="epon-line-card-type">
    <xs:sequence>
      <xs:element name="line-card-name"  minOccurs="1" maxOccurs="1"  type="xs:string">
        <xs:annotation>
          <xs:documentation>
            This attribute stores the name of the line card being configured.  
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="admin-state" minOccurs="0"  maxOccurs="1"  type="admin-state-type" default="down">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the administrative state of the line card.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="protected-by" minOccurs="0"  maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            Line card redundancy or sparing is achieved with a protect relationship between two line cards.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedByte">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="one-gb-epon-port"  minOccurs="0"  maxOccurs="unbounded" type="one-gb-epon-port-type">
        <xs:annotation>
          <xs:documentation>
            This configuration object allows for a one Gigabit EPON port to be configured on an EPON line card. It is a type of the abstract class PonPort.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ten-gb-epon-port"  minOccurs="0"  maxOccurs="unbounded" type="ten-gb-epon-port-type">
        <xs:annotation>
          <xs:documentation>
            This configuration object allows for a symmetric or asymmetric ten Gigabit EPON port to be configured on an EPON line card. It is a type of the abstract class PonPort
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="one-gb-ethernet-port"  minOccurs="0"  maxOccurs="unbounded" type="one-gb-ethernet-port-type">
        <xs:annotation>
          <xs:documentation>
            This object configures a one gigabit interface for an Ethernet port. The speed and duplex settings for this type of port can be configured via this object.
          </xs:documentation>
        </xs:annotation>
        <xs:key name="key_epon-line-card_slot_chassis_ccap_one-gb-ethernet-port_ip-interface">
          <xs:selector xpath="ip-interface"/>
          <xs:field xpath="ip-interface-name"/>
        </xs:key>
      </xs:element>
      <xs:element name="ten-gb-ethernet-port"  minOccurs="0"  maxOccurs="unbounded" type="ten-gb-ethernet-port-type">
        <xs:annotation>
          <xs:documentation>
            This object configures a ten gigabit interface for an Ethernet port.
          </xs:documentation>
        </xs:annotation>
        <xs:key name="key_epon-line-card_slot_chassis_ccap_ten-gb-ethernet-port_ip-interface">
          <xs:selector xpath="ip-interface"/>
          <xs:field xpath="ip-interface-name"/>
        </xs:key>
      </xs:element>
      <xs:element name="forty-gb-ethernet-port"  minOccurs="0"  maxOccurs="unbounded" type="forty-gb-ethernet-port-type">
        <xs:annotation>
          <xs:documentation>
            This object configures a 40 gigabit interface for an Ethernet port.
          </xs:documentation>
        </xs:annotation>
        <xs:key name="key_epon-line-card_slot_chassis_ccap_forty-gb-ethernet-port_ip-interface">
          <xs:selector xpath="ip-interface"/>
          <xs:field xpath="ip-interface-name"/>
        </xs:key>
      </xs:element>
      <xs:element name="one-hundred-gb-ethernet-port"  minOccurs="0"  maxOccurs="unbounded" type="one-hundred-gb-ethernet-port-type">
        <xs:annotation>
          <xs:documentation>
            This object configures a 100 gigabit interface for an Ethernet port.
          </xs:documentation>
        </xs:annotation>
        <xs:key name="key_epon-line-card_slot_chassis_ccap_one-hundred-gb-ethernet-port_ip-interface">
          <xs:selector xpath="ip-interface"/>
          <xs:field xpath="ip-interface-name"/>
        </xs:key>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="sre-type">
    <xs:sequence>
      <xs:element name="line-card-name"  minOccurs="1" maxOccurs="1"  type="xs:string">
        <xs:annotation>
          <xs:documentation>
            This attribute stores the name of the line card being configured.  
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="admin-state" minOccurs="0"  maxOccurs="1"  type="admin-state-type" default="down">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the administrative state of the line card.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="protected-by" minOccurs="0"  maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            Line card redundancy or sparing is achieved with a protect relationship between two line cards.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedByte">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="one-gb-ethernet-port"  minOccurs="0"  maxOccurs="unbounded" type="one-gb-ethernet-port-type">
        <xs:annotation>
          <xs:documentation>
            This object configures a one gigabit interface for an Ethernet port. The speed and duplex settings for this type of port can be configured via this object.
          </xs:documentation>
        </xs:annotation>
        <xs:key name="key_sre_slot_chassis_ccap_one-gb-ethernet-port_ip-interface">
          <xs:selector xpath="ip-interface"/>
          <xs:field xpath="ip-interface-name"/>
        </xs:key>
      </xs:element>
      <xs:element name="ten-gb-ethernet-port"  minOccurs="0"  maxOccurs="unbounded" type="ten-gb-ethernet-port-type">
        <xs:annotation>
          <xs:documentation>
            This object configures a ten gigabit interface for an Ethernet port.
          </xs:documentation>
        </xs:annotation>
        <xs:key name="key_sre_slot_chassis_ccap_ten-gb-ethernet-port_ip-interface">
          <xs:selector xpath="ip-interface"/>
          <xs:field xpath="ip-interface-name"/>
        </xs:key>
      </xs:element>
      <xs:element name="forty-gb-ethernet-port"  minOccurs="0"  maxOccurs="unbounded" type="forty-gb-ethernet-port-type">
        <xs:annotation>
          <xs:documentation>
            This object configures a 40 gigabit interface for an Ethernet port.
          </xs:documentation>
        </xs:annotation>
        <xs:key name="key_sre_slot_chassis_ccap_forty-gb-ethernet-port_ip-interface">
          <xs:selector xpath="ip-interface"/>
          <xs:field xpath="ip-interface-name"/>
        </xs:key>
      </xs:element>
      <xs:element name="one-hundred-gb-ethernet-port"  minOccurs="0"  maxOccurs="unbounded" type="one-hundred-gb-ethernet-port-type">
        <xs:annotation>
          <xs:documentation>
            This object configures a 100 gigabit interface for an Ethernet port.
          </xs:documentation>
        </xs:annotation>
        <xs:key name="key_sre_slot_chassis_ccap_one-hundred-gb-ethernet-port_ip-interface">
          <xs:selector xpath="ip-interface"/>
          <xs:field xpath="ip-interface-name"/>
        </xs:key>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="yang-choice-ext-type">
    <xs:sequence>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="sav-config-list-type">
    <xs:sequence>
      <xs:element name="sav-config-list-name"  minOccurs="1" maxOccurs="1"  type="xs:string">
        <xs:annotation>
          <xs:documentation>
            This attribute is the key that identifies the instance of the SavCmAuth object to which this object extension belongs.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="sav-rule"  minOccurs="1"  maxOccurs="unbounded" type="sav-rule-type">
        <xs:annotation>
          <xs:documentation>
            The rules for a particular sav-config-list.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="cmts-sav-control-type">
    <xs:sequence>
      <xs:element name="cm-authentication-enable" minOccurs="0"  maxOccurs="1"  type="xs:boolean" default="true">
        <xs:annotation>
          <xs:documentation>
            This attribute enables or disables Source Address Verification (SAV) for CM configured policies in the SavCmAuth object. If this attribute is set to 'false', the CM configured policies in the SavCmAuth object are ignored.
            This attribute is only applicable when the SrcAddrVerificationEnabled attribute of the MdCfg object is 'true'.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="cmts-server-config-type">
    <xs:sequence>
      <xs:element name="tftp-options"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            This attribute instructs the CMTS to insert the source IP address and/or MAC address of received TFTP packets into the TFTP option fields before forwarding the packets to the Config File server. 
            This attribute is only applicable when the TftpProxyEnabled attribute of the MdCfg object is 'true'.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:list>
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:enumeration value="hw-addr"/>
                <xs:enumeration value="net-addr"/>
              </xs:restriction>
            </xs:simpleType>
          </xs:list>
        </xs:simpleType>
      </xs:element>
      <xs:element name="config-file-learning-enabled" minOccurs="0"  maxOccurs="1"  type="xs:boolean" default="true">
        <xs:annotation>
          <xs:documentation>
            This attribute enables and disables Configuration File Learning functionality. 
            If this attribute is set to 'true' the CMTS will respond with Authentication Failure in the REG-RSP message when there is a mismatch between learned config file parameters and REG-REQ parameters. If this attribute is set to 'false', the CMTS will not execute config file learning and mismatch check. 
            This attribute is only applicable when the TftpProxyEnabled attribute of the MdCfg object is 'true'.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="cmts-encrypt-type">
    <xs:sequence>
      <xs:element name="encrypt-alg-priority" minOccurs="0"  maxOccurs="1"  type="snmp-tag-list-type" default="aes128CbcMode des56CbcMode des40CbcMode">
        <xs:annotation>
          <xs:documentation>
            This attribute allows for configuration of a prioritized list of encryption algorithms the CMTS will use when selecting the primary SAID encryption algorithm for a given CM. The CMTS selects the highest priority encryption algorithm from this list that the CM supports. By default the following encryption algorithms are listed from highest to lowest priority (left being the highest): 128 bit AES, 56 bit DES, 40 bit DES.
            An empty list indicates that the CMTS attempts to use the latest and most robust encryption algorithm supported by the CM. The CMTS will ignore unknown values or unsupported algorithms.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="cmts-certificate-type">
    <xs:sequence>
      <xs:element name="cert-revocation-method" minOccurs="0"  maxOccurs="1"  type="cert-revocation-method-type" default="none">
        <xs:annotation>
          <xs:documentation>
            This attribute identifies which certificate revocation method is to be used by the CMTS to verify the cable modem certificate validity.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="cmts-cert-revocation-list-type">
    <xs:sequence>
      <xs:element name="url"  minOccurs="1" maxOccurs="1"  type="xs:string">
        <xs:annotation>
          <xs:documentation>
            This attribute contains the URL from where the CMTS will retrieve the CRL file. When this attribute is set to a URL value different from the current value, it triggers the CMTS to retrieve the CRL file from that URL. If the value of this attribute is a zero-length string, the CMTS does not attempt to retrieve the CRL.

          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="refresh-interval" minOccurs="0"  maxOccurs="1" default="10080">
        <xs:annotation>
          <xs:documentation>
            This attribute contains the refresh interval for the CMTS to retrieve the CRL (referred to in the Url attribute) with the purpose of updating its Certificate Revocation List. This attribute is meaningful if the tbsCertList.nextUpdate attribute does not exist in the last retrieved CRL, otherwise the value 0 is returned.

          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
            <xs:minInclusive value="1"/>
            <xs:maxInclusive value="524160"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="cmts-cm-eae-exclusion-type">
    <xs:sequence>
      <xs:element name="cmts-cm-eae-exclusion-id"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            This key uniquely identifies the exclusion MAC address rule.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
            <xs:minInclusive value="1"/>
            <xs:maxInclusive value="4294967295"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="mac-address" minOccurs="0"  maxOccurs="1"  type="yang:mac-address" default="00:00:00:00:00:00">
        <xs:annotation>
          <xs:documentation>
            This attribute identifies the CM MAC address. A match is made when a CM MAC address bitwise ANDed with the MacAddrMask attribute equals the value of this attribute.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="mac-address-mask" minOccurs="0"  maxOccurs="1"  type="yang:mac-address" default="FF:FF:FF:FF:FF:FF">
        <xs:annotation>
          <xs:documentation>
            This attribute identifies the CM MAC address mask and is used with the MacAddr attribute.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="cmts-online-cert-status-protocol-type">
    <xs:sequence>
      <xs:element name="url"  minOccurs="1" maxOccurs="1"  type="xs:string">
        <xs:annotation>
          <xs:documentation>
            This attribute contains the URL string to retrieve OCSP information. If the value of this attribute is a zero-length string, the CMTS does not attempt to request the status of a CM certificate.

          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="signature-bypass" minOccurs="0"  maxOccurs="1"  type="xs:boolean" default="false">
        <xs:annotation>
          <xs:documentation>
            This attribute enables or disables signature checking on OCSP response messages. 
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="sys-bpi-config-type">
    <xs:sequence>
      <xs:element name="sys-default-authentication-lifetime"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            The value of this object is the default lifetime, in seconds, the CCAP assigns to a new authorization key.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="sys-default-tek-lifetime"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            The value of this object is the default lifetime, in seconds, the CCAP assigns to a new Traffic Encryption Key (TEK).
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="base-type">
    <xs:sequence>
      <xs:element name="cpe-max-ipv4" minOccurs="0"  maxOccurs="1" default="16">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the maximum number of IPv4 addresses allowed for the CM's CPE if not signaled in the registration process.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedShort">
            <xs:minInclusive value="0"/>
            <xs:maxInclusive value="1023"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="cpe-max-ipv6" minOccurs="0"  maxOccurs="1" default="16">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the maximum number of IPv6 Prefixes and addresses allowed for the CM's CPEs if not signaled in the registration process. All IPv6 prefixes and addresses, including Link-Local and any address with a scope greater than 1 are counted against the CpeMax Ipv6AddressesDef.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedShort">
            <xs:minInclusive value="0"/>
            <xs:maxInclusive value="1023"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="cpe-active" minOccurs="0"  maxOccurs="1"  type="xs:boolean" default="false">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the default value for enabling Subscriber Management filters and controls in the CM if the parameter is not signaled in the DOCSIS Registration process.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="cpe-learnable" minOccurs="0"  maxOccurs="1"  type="xs:boolean" default="true">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the default value for enabling the CPE learning process for the CM if the parameter is not signaled in the DOCSIS Registration process.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="subscriber-downstream-filter" minOccurs="0"  maxOccurs="1" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the default value for the subscriber (CPE) downstream filter group for the CM if the parameter is not signaled in the DOCSIS Registration process.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedShort">
            <xs:minInclusive value="0"/>
            <xs:maxInclusive value="1024"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="subscriber-upstream-filter" minOccurs="0"  maxOccurs="1" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the default value for the subscriber (CPE) upstream filter group for the CM if the parameter is not signaled in the DOCSIS Registration process.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedShort">
            <xs:minInclusive value="0"/>
            <xs:maxInclusive value="1024"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="cm-downstream-filter" minOccurs="0"  maxOccurs="1" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the default value for the CM stack downstream filter group applying to the CM if the parameter is not signaled in the DOCSIS Registration process.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedShort">
            <xs:minInclusive value="0"/>
            <xs:maxInclusive value="1024"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="cm-upstream-filter" minOccurs="0"  maxOccurs="1" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the default value for the CM stack upstream filter group for the CM if the parameter is not signaled in the DOCSIS Registration process.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedShort">
            <xs:minInclusive value="0"/>
            <xs:maxInclusive value="1024"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="ps-downstream-filter" minOccurs="0"  maxOccurs="1" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the default value for the PS or eRouter downstream filter group for the CM if the parameter is not signaled in the DOCSIS Registration process.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedShort">
            <xs:minInclusive value="0"/>
            <xs:maxInclusive value="1024"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="ps-upstream-filter" minOccurs="0"  maxOccurs="1" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the default value for the PS or eRouter upstream filter group for the CM if the parameter is not signaled in the DOCSIS Registration process.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedShort">
            <xs:minInclusive value="0"/>
            <xs:maxInclusive value="1024"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="mta-downstream-filter" minOccurs="0"  maxOccurs="1" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the default value for the MTA downstream filter group for the CM if the parameter is not signaled in the DOCSIS Registration process.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedShort">
            <xs:minInclusive value="0"/>
            <xs:maxInclusive value="1024"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="mta-upstream-filter" minOccurs="0"  maxOccurs="1" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the default value for the MTA upstream filter group for the CM if the parameter is not signaled in the DOCSIS Registration process.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedShort">
            <xs:minInclusive value="0"/>
            <xs:maxInclusive value="1024"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="stb-downstream-filter" minOccurs="0"  maxOccurs="1" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the default value for the STB downstream filter group for the CM if the parameter is not signaled in the DOCSIS Registration process.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedShort">
            <xs:minInclusive value="0"/>
            <xs:maxInclusive value="1024"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="stb-upstream-filter" minOccurs="0"  maxOccurs="1" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the default value for the STB upstream filter group for the CM if the parameter is not signaled in the DOCSIS Registration process.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedShort">
            <xs:minInclusive value="0"/>
            <xs:maxInclusive value="1024"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="filter-group-type">
    <xs:sequence>
      <xs:element name="group-id"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            This key is an identifier for a set of classifiers known as a filter group. Each CM may be associated with several filter groups for its upstream and downstream traffic, one group per target end point on the CM as defined in the Grp object. Typically, many CMs share a common set of filter groups. The range for this attribute is 1 to 1024 to align it with the values used in the Base Object.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedShort">
            <xs:minInclusive value="1"/>
            <xs:maxInclusive value="1024"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="rule-id"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            This key represents an ordered classifier identifier within the group. Filters are applied in order if the Priority attribute is not supported.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedShort">
            <xs:minInclusive value="1"/>
            <xs:maxInclusive value="65535"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="filter-action" minOccurs="0"  maxOccurs="1"  type="filter-action-type" default="permit">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the action to take upon this filter matching.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="priority" minOccurs="0"  maxOccurs="1"  type="xs:unsignedShort" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute defines the order in which the classifiers are compared against packets. The higher the value, the higher the priority.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ip-tos-low" minOccurs="0"  maxOccurs="1" default="00">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the low value of a range of ToS (Type of Service) octet values. The IP ToS octet, as originally defined in [RFC 791], has been superseded by the 6-bit Differentiated Services Field (DSField, [RFC 3260]) and the 2-bit Explicit Congestion Notification Field (ECN field, [RFC 3168]). This attribute is defined as an 8-bit octet as per the DOCSIS Specification for packet classification.

          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="ccap-octet-data-type">
            <xs:minLength value="2"/>
            <xs:maxLength value="2"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="ip-tos-high" minOccurs="0"  maxOccurs="1" default="00">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the high value of a range of ToS octet values. The IP ToS octet, as originally defined in [RFC 791], has been superseded by the 6-bit Differentiated Services Field (DSField, [RFC 3260]) and the 2-bit Explicit Congestion Notification Field (ECN field, [RFC 3168]). This attribute is defined as an 8-bit octet as per the DOCSIS Specification for packet classification.

          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="ccap-octet-data-type">
            <xs:minLength value="2"/>
            <xs:maxLength value="2"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="ip-tos-mask" minOccurs="0"  maxOccurs="1" default="00">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the mask value that is bitwise ANDed with ToS octet in an IP packet, and the resulting value is used for range checking of IpTosLow and IpTosHigh.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="ccap-octet-data-type">
            <xs:minLength value="2"/>
            <xs:maxLength value="2"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="ip-protocol" minOccurs="0"  maxOccurs="1" default="256">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the value of the IP Protocol field required for IP packets to match this rule. The value 256 matches traffic with any IP Protocol value. The value 257 by convention matches both TCP and UDP.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedShort">
            <xs:minInclusive value="0"/>
            <xs:maxInclusive value="257"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="source-address"  minOccurs="1" maxOccurs="1"  type="inet:ip-address">
        <xs:annotation>
          <xs:documentation>
            This attribute specifies the value of the IP Source Address required for packets to match this rule. An IP packet matches the rule when the packet's IP Source Address bitwise ANDed with the InetSrcMask value equals the InetSrcAddr value. 
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="source-mask"  minOccurs="1" maxOccurs="1"  type="inet:ip-prefix">
        <xs:annotation>
          <xs:documentation>
            This attribute represents which bits of a packet's IP Source Address are compared to match this rule. An IP packet matches the rule when the packet's IP Source Address bitwise ANDed with the InetSrcMask value equals the InetSrcAddr value. 
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="destination-address"  minOccurs="1" maxOccurs="1"  type="inet:ip-address">
        <xs:annotation>
          <xs:documentation>
            This attribute specifies the value of the IP Destination Address required for packets to match this rule. An IP packet matches the rule when the packet's IP Destination Address bitwise ANDed with the InetSrcMask value equals the InetDestAddr value.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="destination-mask"  minOccurs="1" maxOccurs="1"  type="inet:ip-prefix">
        <xs:annotation>
          <xs:documentation>
            This attribute represents which bits of a packet's IP Destination Address are compared to match this rule. An IP packet matches the rule when the packet's IP Destination Address bitwise ANDed with the InetDestMask value equals the InetDestAddr value.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="source-port-start" minOccurs="0"  maxOccurs="1"  type="inet:port-number" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the low-end inclusive range of TCP/UDP source port numbers to which a packet is compared. This attribute is irrelevant for non-TCP/UDP IP packets.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="source-port-end" minOccurs="0"  maxOccurs="1"  type="inet:port-number" default="65535">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the high-end inclusive range of TCP/UDP source port numbers to which a packet is compared. This attribute is irrelevant for non-TCP/UDP IP packets.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="destination-port-start" minOccurs="0"  maxOccurs="1"  type="inet:port-number" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the low-end inclusive range of TCP/UDP destination port numbers to which a packet is compared. This attribute is irrelevant for non-TCP/UDP IP packets.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="destination-port-end" minOccurs="0"  maxOccurs="1"  type="inet:port-number" default="65535">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the high-end inclusive range of TCP/UDP destination port numbers to which a packet is compared. This attribute is irrelevant for non-TCP/UDP IP packets.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="destination-mac-address" minOccurs="0"  maxOccurs="1"  type="yang:mac-address" default="00:00:00:00:00:00">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the criteria to match against an Ethernet frame MAC address bitwise ANDed with DestMacMask.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="destination-mac-mask" minOccurs="0"  maxOccurs="1"  type="yang:mac-address" default="00:00:00:00:00:00">
        <xs:annotation>
          <xs:documentation>
            An Ethernet frame matches an entry when its destination MAC address bitwise ANDed with the DestMacMask attribute equals the value of the DestMacAddr attribute.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="source-mac-address" minOccurs="0"  maxOccurs="1"  type="yang:mac-address" default="FF:FF:FF:FF:FF:FF">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the value to match against an Ethernet frame source MAC address.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ethernet-protocol-id" minOccurs="0"  maxOccurs="1"  type="ethernet-protocol-id-type" default="none">
        <xs:annotation>
          <xs:documentation>
            This attribute indicates the format of the layer 3 protocol ID in the Ethernet frame.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ethernet-protocol" minOccurs="0"  maxOccurs="1"  type="xs:unsignedShort" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the Ethernet protocol type to be matched against the frames. For EnetProtocolType set to 'none', this attribute is ignored when considering whether a packet matches the current rule. If the attribute EnetProtocolType is 'ethertype', this attribute gives the 16-bit value of the EtherType that the packet must match in order to match the rule. If the attribute EnetProtocolType is 'dsap', the lower 8 bits of this attribute's value must match the DSAP byte of the packet in order to match the rule. If the Ethernet frame contains an 802.1p/Q Tag header (i.e., EtherType 0x8100), this attribute applies to the embedded EtherType field within the 802.1p/Q header.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="user-priority-low" minOccurs="0"  maxOccurs="1" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute applies only to Ethernet frames using the 802.1p/Q tag header (indicated with EtherType 0x8100). Such frames include a 16-bit Tag that contains a 3-bit Priority field and a 12-bit VLAN number. Tagged Ethernet frames must have a 3-bit Priority field within the range of PriLow to PriHigh in order to match this rule.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedByte">
            <xs:minInclusive value="0"/>
            <xs:maxInclusive value="7"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="user-priority-high" minOccurs="0"  maxOccurs="1" default="7">
        <xs:annotation>
          <xs:documentation>
            This attribute applies only to Ethernet frames using the 802.1p/Q tag header (indicated with EtherType 0x8100). Such frames include a 16-bit Tag that contains a 3-bit Priority field and a 12-bit VLAN number. Tagged Ethernet frames must have a 3-bit Priority field within the range of PriLow to PriHigh in order to match this rule.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedByte">
            <xs:minInclusive value="0"/>
            <xs:maxInclusive value="7"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="vlan-id" minOccurs="0"  maxOccurs="1" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute applies only to Ethernet frames using the 802.1p/Q tag header. Tagged packets must have a VLAN Identifier that matches the value in order to match the rule.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:union>
            <xs:simpleType>
              <xs:restriction base="xs:unsignedShort">
                <xs:minInclusive value="0"/>
                <xs:maxInclusive value="0"/>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:unsignedShort">
                <xs:minInclusive value="1"/>
                <xs:maxInclusive value="4094"/>
              </xs:restriction>
            </xs:simpleType>
          </xs:union>
        </xs:simpleType>
      </xs:element>
      <xs:element name="flow-label" minOccurs="0"  maxOccurs="1" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the Flow Label field in the IPv6 header to be matched by the classifier.
            The value zero indicates that the Flow Label is not specified as part of the classifier and is not matched against packets.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
            <xs:minInclusive value="0"/>
            <xs:maxInclusive value="1048575"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="cm-interface-mask" minOccurs="0"  maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            This attribute represents a bit-mask of the CM in-bound interfaces to which this classifier applies. This attribute only applies to upstream Drop Classifiers being sent to CMs during the registration process.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:list>
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:enumeration value="eCm"/>
                <xs:enumeration value="cmci"/>
                <xs:enumeration value="docsCableMacLayer"/>
                <xs:enumeration value="docsCableDownstream"/>
                <xs:enumeration value="docsCableUpstream"/>
                <xs:enumeration value="unused-5"/>
                <xs:enumeration value="unused-6"/>
                <xs:enumeration value="unused-7"/>
                <xs:enumeration value="unused-8"/>
                <xs:enumeration value="unused-9"/>
                <xs:enumeration value="unused-10"/>
                <xs:enumeration value="unused-11"/>
                <xs:enumeration value="unused-12"/>
                <xs:enumeration value="unused-13"/>
                <xs:enumeration value="unused-14"/>
                <xs:enumeration value="unused-15"/>
                <xs:enumeration value="eMta"/>
                <xs:enumeration value="eStbIp"/>
                <xs:enumeration value="eStbDsg"/>
              </xs:restriction>
            </xs:simpleType>
          </xs:list>
        </xs:simpleType>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="service-class-type">
    <xs:sequence>
      <xs:element name="service-class-name"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            This key indicates the Service Class Name associated with this object instance. DOCSIS specifies that the maximum size is 16 ASCII characters including a terminating zero. The terminating zero is not represented in this SnmpAdminString syntax attribute.

          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:minLength value="1"/>
            <xs:maxLength value="15"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="priority" minOccurs="0"  maxOccurs="1"  type="xs:unsignedByte" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute is the template for the Priority attribute of the QoS Parameter Set.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="max-traffic-rate" minOccurs="0"  maxOccurs="1" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute is the template for the MaxTrafficRate attribute of the QoS Parameter Set.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
            <xs:minInclusive value="0"/>
            <xs:maxInclusive value="4294967295"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="max-traffic-burst" minOccurs="0"  maxOccurs="1"  type="xs:unsignedInt" default="3044">
        <xs:annotation>
          <xs:documentation>
            This attribute is the template for the MaxTrafficBurst attribute of the QoS Parameter Set.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="min-reserved-rate" minOccurs="0"  maxOccurs="1" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute is the template for the MinReservedRate attribute of the QoS Parameter Set.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
            <xs:minInclusive value="0"/>
            <xs:maxInclusive value="4294967295"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="min-reserved-packet"  minOccurs="1" maxOccurs="1"  type="xs:unsignedShort">
        <xs:annotation>
          <xs:documentation>
            This attribute is the template for the MinReservedPkt attribute of the QoS Parameter Set.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="max-concatenated-burst" minOccurs="0"  maxOccurs="1"  type="xs:unsignedShort" default="1522">
        <xs:annotation>
          <xs:documentation>
            This attribute is the template for the MaxConcatBurst attribute of the QoS Parameter Set.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="nominal-polling-interval" minOccurs="0"  maxOccurs="1"  type="xs:unsignedInt" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute is the template for the NomPollInterval attribute of the QoS Parameter Set.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="tolerated-poll-jitter" minOccurs="0"  maxOccurs="1"  type="xs:unsignedInt" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute is the template for the TolPolJitter attribute of the QoS Parameter Set.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="unsolicited-grant-size" minOccurs="0"  maxOccurs="1"  type="xs:unsignedShort" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute is the template for the UnsolicitGrantSize attribute of the QoS Parameter Set.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="nominal-grant-interval" minOccurs="0"  maxOccurs="1"  type="xs:unsignedInt" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute is the template for the NomGrantInterval attribute of the QoS Parameter Set.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="tolerated-grant-jitter" minOccurs="0"  maxOccurs="1"  type="xs:unsignedInt" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute is the template for the TolGrantJitter attribute of the QoS Parameter Set.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="grants-per-interval" minOccurs="0"  maxOccurs="1"  type="xs:unsignedByte" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute is the template for the GrantsPerInterval attribute of the QoS Parameter Set.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="max-latency" minOccurs="0"  maxOccurs="1"  type="xs:unsignedInt" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute is the template for the MaxLatency attribute of the QoS Parameter Set.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="active-timeout" minOccurs="0"  maxOccurs="1"  type="xs:unsignedShort" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute is the template for the ActiveTimeout attribute of the QoS Parameter Set.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="admitted-timeout" minOccurs="0"  maxOccurs="1"  type="xs:unsignedShort" default="200">
        <xs:annotation>
          <xs:documentation>
            This attribute is the template for the AddmitedTimeout attribute of the QoS Parameter Set.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="scheduling-type" minOccurs="0"  maxOccurs="1"  type="service-flow-scheduling-type" default="best-effort">
        <xs:annotation>
          <xs:documentation>
            This attribute is the template for the SchedulingType attribute of the QoS Parameter Set.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="request-policy" minOccurs="0"  maxOccurs="1" default="00000000">
        <xs:annotation>
          <xs:documentation>
            This attribute is the template for the RequestPolicyOct attribute of the QoS Parameter Set.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="ccap-octet-data-type">
            <xs:minLength value="8"/>
            <xs:maxLength value="8"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="tos-and-mask"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            This attribute is the template for the TosAndMask attribute of the QoS Parameter Set.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="ccap-octet-data-type">
            <xs:minLength value="2"/>
            <xs:maxLength value="2"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="tos-or-mask"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            This attribute is the template for the TosOrMask attribute of the QoS Parameter Set.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="ccap-octet-data-type">
            <xs:minLength value="2"/>
            <xs:maxLength value="2"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="direction" minOccurs="0"  maxOccurs="1"  type="direction-type" default="upstream">
        <xs:annotation>
          <xs:documentation>
            This attribute is the template for the Direction attribute of the QoS Parameter Set.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="dscp-overwrite" minOccurs="0"  maxOccurs="1" default="-1">
        <xs:annotation>
          <xs:documentation>
            This attribute allows the overwrite of the DSCP field per RFC 3260.
            If this attribute is -1, then the corresponding TosAndMask value is set to be 'FF'H and TosOrMask is set to '00'H. Otherwise, this attribute is in the range of 0..63, and the corresponding TosAndMask value is '03'H and TosOrMaskvalue is this attribute value shifted left by two bit positions.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:union>
            <xs:simpleType>
              <xs:restriction base="xs:int">
                <xs:minInclusive value="-1"/>
                <xs:maxInclusive value="-1"/>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:int">
                <xs:minInclusive value="0"/>
                <xs:maxInclusive value="63"/>
              </xs:restriction>
            </xs:simpleType>
          </xs:union>
        </xs:simpleType>
      </xs:element>
      <xs:element name="required-attribute-mask" minOccurs="0"  maxOccurs="1"  type="attribute-mask-type">
        <xs:annotation>
          <xs:documentation>
            This attribute is the template for the RequiredAttrMask attribute of the QoS Parameter Set.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="forbidden-attribute-mask" minOccurs="0"  maxOccurs="1"  type="attribute-mask-type">
        <xs:annotation>
          <xs:documentation>
            This attribute is the template for the ForbiddenAttrMask attribute of the QoS Parameter Set.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="attribute-aggregate-rule-mask" minOccurs="0"  maxOccurs="1" default="00000000">
        <xs:annotation>
          <xs:documentation>
            This attribute is the template for the AttrAggregationMask attribute of the QoS Parameter Set.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="ccap-octet-data-type">
            <xs:minLength value="8"/>
            <xs:maxLength value="8"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="application-id"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            This attribute is the template for the AppId attribute of the QoS Parameter Set.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="multiplier-contention-request-window" minOccurs="0"  maxOccurs="1" default="8">
        <xs:annotation>
          <xs:documentation>
            This attribute is the template for the MultiplierContentionReqWindow attribute of the QoS Parameter Set.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedByte">
            <xs:minInclusive value="4"/>
            <xs:maxInclusive value="12"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="multiplier-bytes-requested" minOccurs="0"  maxOccurs="1" default="4">
        <xs:annotation>
          <xs:documentation>
            This attribute is the template for the MultiplierBytesReq attribute of the QoS Parameter Set.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:union>
            <xs:simpleType>
              <xs:restriction base="xs:unsignedByte">
                <xs:minInclusive value="1"/>
                <xs:maxInclusive value="1"/>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:unsignedByte">
                <xs:minInclusive value="2"/>
                <xs:maxInclusive value="2"/>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:unsignedByte">
                <xs:minInclusive value="4"/>
                <xs:maxInclusive value="4"/>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:unsignedByte">
                <xs:minInclusive value="8"/>
                <xs:maxInclusive value="8"/>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:unsignedByte">
                <xs:minInclusive value="16"/>
                <xs:maxInclusive value="16"/>
              </xs:restriction>
            </xs:simpleType>
          </xs:union>
        </xs:simpleType>
      </xs:element>
      <xs:element name="max-requests-per-sid-cluster" minOccurs="0"  maxOccurs="1"  type="xs:unsignedByte" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute is the template for the MaxReqPerSidCluster attribute of the QoS Parameter Set.
            This attribute has been deprecated and replaced with MaxReqPerSidCluster in the ServiceFlow object.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="max-outstanding-bytes-per-sid-cluster" minOccurs="0"  maxOccurs="1"  type="xs:unsignedInt" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute is the template for the MaxOutstandingBytesPerSidCluster attribute of the QoS Parameter Set.
            This attribute has been deprecated and replaced with MaxOutstandingBytesPerSidCluster in the ServiceFlow object.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="max-total-bytes-requested-per-sid-cluster" minOccurs="0"  maxOccurs="1"  type="xs:unsignedInt" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute is the template for the MaxTotBytesReqPerSidCluster attribute of the QoS Parameter Set.
            This attribute has been deprecated and replaced with MaxTotBytesReqPerSidCluster in the ServiceFlow object.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="max-time-in-sid-cluster" minOccurs="0"  maxOccurs="1"  type="xs:unsignedShort" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute is the template for the MaxTimeInSidCluster attribute of the QoS Parameter Set.
            This attribute has been deprecated and replaced with MaxTimeInSidCluster in the ServiceFlow object.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="peak-traffic-rate" minOccurs="0"  maxOccurs="1"  type="xs:unsignedInt" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute is the template for the PeakTrafficRate attribute of the QoS Parameter Set.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ds-resequencing" minOccurs="0"  maxOccurs="1"  type="ds-resequencing-type" default="resequencing-dsid">
        <xs:annotation>
          <xs:documentation>
            This attribute is the template for the DsResequencing attribute of the QoS Parameter Set.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="minimum-buffer" minOccurs="0"  maxOccurs="1"  type="xs:unsignedInt" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute is the template for the MinimumBuffer attribute of the QoS Parameter Set.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="target-buffer" minOccurs="0"  maxOccurs="1"  type="xs:unsignedInt" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute is the template for the TargetBuffer attribute of the QoS Parameter Set.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="maximum-buffer" minOccurs="0"  maxOccurs="1"  type="xs:unsignedInt" default="4294967295">
        <xs:annotation>
          <xs:documentation>
            This attribute is the template for the MaximumBuffer attribute of the QoS Parameter Set.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="qos-profile-type">
    <xs:sequence>
      <xs:element name="qos-profile-index"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            This attribute configures an unique index for each instance of this object.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedShort">
            <xs:minInclusive value="1"/>
            <xs:maxInclusive value="16383"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="priority" minOccurs="0"  maxOccurs="1" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the DOCSIS priority for this service flow.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedByte">
            <xs:minInclusive value="0"/>
            <xs:maxInclusive value="7"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="max-up-bandwidth" minOccurs="0"  maxOccurs="1" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the maximum upstream bandwidth, in bits per second, allowed for a service with this service class. The value zero is used if there is no restriction of upstream bandwidth.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
            <xs:minInclusive value="0"/>
            <xs:maxInclusive value="100000000"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="guaranteed-up-bandwidth" minOccurs="0"  maxOccurs="1" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the minimum guaranteed upstream bandwidth, in bits per second allowed for a service with this service class.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
            <xs:minInclusive value="0"/>
            <xs:maxInclusive value="100000000"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="max-down-bandwidth" minOccurs="0"  maxOccurs="1" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the maximum downstream bandwidth, in bits per second allowed for a service with this service class. The value of zero is used if there is no restriction of downstream bandwidth.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
            <xs:minInclusive value="0"/>
            <xs:maxInclusive value="100000000"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="baseline-privacy" minOccurs="0"  maxOccurs="1"  type="xs:boolean" default="false">
        <xs:annotation>
          <xs:documentation>
            This attribute configures BPI encryption for this service class.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="max-transmit-burst" minOccurs="0"  maxOccurs="1"  type="xs:unsignedShort" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the maximum number of bytes that may be requested for a single upstream transmission.  A value of zero means there is no limit.  Note: This value does not include any physical layer overhead.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="group-phs-config-type">
    <xs:sequence>
      <xs:element name="group-phs-config-id"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            This attribute identifies the unique identifier of a PHS rule that is referenced by the GrpCfg object.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedShort">
            <xs:minInclusive value="1"/>
            <xs:maxInclusive value="65535"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="phs-field"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            This attribute defines the bytes of the DOCSIS header which must be suppressed/restored by the sending/receiving device.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="ccap-octet-data-type">
            <xs:minLength value="0"/>
            <xs:maxLength value="510"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="phs-mask"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            This attribute defines the bit mask which is used in combination with the PhsField to define which bytes in header must be suppressed/restored by the sending or receiving device.
            Each bit of this bit mask corresponds to a byte in the PhsField, with the least significant bit corresponding to the first byte of the PhsField.
            Each bit of the bit mask specifies whether or not the corresponding byte should be suppressed in the packet. A bit value of '1' indicates that the byte should be suppressed by the sending device and restored by the receiving device.
            A bit value of '0' indicates that the byte should not be suppressed by the sending device or restored by the receiving device.
            If the bit mask does not contain a bit for each byte in the PhsField then the bit mask is extended with bit values of '1' to be the necessary length.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="ccap-octet-data-type">
            <xs:minLength value="0"/>
            <xs:maxLength value="64"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="phs-size"  minOccurs="1" maxOccurs="1"  type="xs:unsignedByte">
        <xs:annotation>
          <xs:documentation>
            This attribute specifies the number of bytes in the header to be suppressed and restored.
            The value of this object matches the number of bytes the bits indicated in the PhsField attribute.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="phs-verify" minOccurs="0"  maxOccurs="1"  type="xs:boolean" default="false">
        <xs:annotation>
          <xs:documentation>
            This attribute specifies the Payload Header Suppression verification value of 'true' the sender must verify PhsField is the same as what is contained in the packet to be suppressed.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="group-config-type">
    <xs:sequence>
      <xs:element name="group-config-id"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the unique identifier of instances of this object. This attribute is the key that identifies unique instances of the group-config Object.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
            <xs:minInclusive value="1"/>
            <xs:maxInclusive value="4294967295"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="rule-priority"  minOccurs="1" maxOccurs="1"  type="xs:unsignedByte">
        <xs:annotation>
          <xs:documentation>
            This attribute indicates the priority of this entry used to resolve which instance of this object apply when a newly replicated multicast session matches multiple entries. Higher values indicate a higher priority. Valid values for this attribute are 0..63 and 192..255 in order to not conflict with CMTS internally-created instances that use the range 64..191.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="source-prefix-address"  minOccurs="1" maxOccurs="1"  type="inet:ip-address">
        <xs:annotation>
          <xs:documentation>
            This attribute identifies a specific Multicast Source Address defined for this rule. A Source Address that is all zeros is defined as 'all source addresses' (*, G). Source prefix addresses are unicast addresses.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="source-prefix-length"  minOccurs="1" maxOccurs="1"  type="address-prefix-len-type">
        <xs:annotation>
          <xs:documentation>
            This attribute identifies the prefix length associated with a range of Source (S) IP multicast group addresses. For Group or ASM based sessions this attribute is set to 0.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="group-prefix-address"  minOccurs="1" maxOccurs="1"  type="inet:ip-address">
        <xs:annotation>
          <xs:documentation>
            This attribute is the IP address corresponding to an IP multicast group.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="group-prefix-length"  minOccurs="1" maxOccurs="1"  type="address-prefix-len-type">
        <xs:annotation>
          <xs:documentation>
            This attribute identifies the prefix length associated with a range of Group Destination IP multicast addresses.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="tos-low"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            This attribute identifies the low value of a range of the TOS byte value to be defined in a packet classifier this GC instantiates in the GCR in order to limit the GCR-matched traffic to a particular set of DSCPs. This applies to the IPv4 TOS byte and the IPv6 Traffic Class byte.
            The IP TOS octet, as originally defined in [RFC 791], has been superseded by the 6-bit Differentiated Services Field and the 2-bit Explicit Congestion Notification Field.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="ccap-octet-data-type">
            <xs:minLength value="2"/>
            <xs:maxLength value="2"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="tos-high"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            This attribute identifies the high value of a range of the TOS byte value to be defined in a packet classifier this GC instantiates in the GCR in order to limit the GCR-matched traffic to a particular set of DSCPs. This applies to the IPv4 TOS byte and the IPv6 Traffic Class byte.
            The IP TOS octet, as originally defined in [RFC 791], has been superseded by the 6-bit Differentiated Services Field (DSField, [RFC 3260]) and the 2-bit Explicit Congestion Notification Field (ECN field, [RFC 3168]).
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="ccap-octet-data-type">
            <xs:minLength value="2"/>
            <xs:maxLength value="2"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="tos-mask"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            This attribute identifies the mask value bitwise ANDed with a TOS byte value to be defined in a packet classifier this GC instantiates in the GCR in order to limit the GCR-matched traffic to a particular set of DSCPs. This applies to the IPv4 TOS byte and the IPv6 Traffic Class byte.
            The IP TOS octet, as originally defined in [RFC 791], has been superseded by the 6-bit Differentiated Services Field (DSField, [RFC 3260]) and the 2-bit Explicit Congestion Notification Field (ECN field, [RFC 3168]).
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="ccap-octet-data-type">
            <xs:minLength value="2"/>
            <xs:maxLength value="2"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="group-qos-config-id" minOccurs="0"  maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            This attribute identifies an instance in CmtsGrpQosCfg for configuring the QoS for the replication of the sessions matching this CmtsGrpCfg instance.

          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedShort">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="group-encryption-config-id" minOccurs="0"  maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            This attribute identifies an instance in CmtsGrpEncryptCfg for configuring the encryption of replications derived from this GC.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedShort">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="group-phs-config-id" minOccurs="0"  maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            This attribute identifies an instance in CmtsGrpPhsCfg that configures DSID-indexed PHS compression for all replications derived from this GC.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedShort">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="group-encryption-config-type">
    <xs:sequence>
      <xs:element name="group-encryption-config-id"  minOccurs="1" maxOccurs="1"  type="xs:unsignedShort">
        <xs:annotation>
          <xs:documentation>
            This attribute specifies the unique identifier of instances of this object.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="control" minOccurs="0"  maxOccurs="1"  type="encryption-algorithm-ctl-type" default="mgmt">
        <xs:annotation>
          <xs:documentation>
            This attribute controls whether the CMTS can select the encryption algorithm or if this can be set manually using the Alg attribute.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="algorithm" minOccurs="0"  maxOccurs="1"  type="encryption-algorithm-type" default="des56-cbc-mode">
        <xs:annotation>
          <xs:documentation>
            This attribute defines which encryption algorithm will be used for an SA referenced by this object when the Ctrl is set to 'mgmt'.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="group-qos-config-type">
    <xs:sequence>
      <xs:element name="group-qos-config-id"  minOccurs="1" maxOccurs="1"  type="xs:unsignedShort">
        <xs:annotation>
          <xs:documentation>
            This attribute identifies a unique Group QoS Configuration object instance.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="service-class-name"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            Reference to the Service Class Name.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:string">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="qos-control"  minOccurs="1" maxOccurs="1"  type="qos-control-type">
        <xs:annotation>
          <xs:documentation>
            This attribute identifies how Group Classifier Rules (GCRs) and Group Service Flows (GSFs) are instantiated when multiple sessions match the (S,G) criteria of this entry.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="aggregated-session-limit"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            This attribute identifies the maximum number of sessions that may be aggregated in an aggregated Service Flow. This value is ignored in case of a GQC entry with QosCtrl set to 'singleSession'.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedShort">
            <xs:minInclusive value="1"/>
            <xs:maxInclusive value="65535"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="application-id" minOccurs="0"  maxOccurs="1"  type="xs:unsignedInt" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute allows the operator to configure a Cable Operator defined Application Identifier for multicast sessions, e.g., an Application Manager ID and Application Type. This Application Identifier can be used to influence admission control or other policies in the CMTS that are outside of the scope of this specification. This parameter is optional in defining QoS for multicast sessions.
            If the value of this attribute is different from the value of the AppId in the referenced SCN for this GQC instance, the value of this attribute is used.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="downstream-bonding-group-type">
    <xs:sequence>
      <xs:element name="bonding-group-name"  minOccurs="1" maxOccurs="1"  type="xs:string">
        <xs:annotation>
          <xs:documentation>
            The name of the bonding group.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="sf-provisioned-attribute-mask" minOccurs="0"  maxOccurs="1"  type="attribute-mask-type" default="bonded">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the Provisioned Attribute Mask encoding for the bonding group.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="dsid-resequencing-warning-threshold" minOccurs="0"  maxOccurs="1" default="255">
        <xs:annotation>
          <xs:documentation>
            This attribute provides the DSID Resequencing Warning Threshold in hundredMicroseconds that is to be used for all DSIDs associated with this Downstream Bonding Group. The value of 255 indicates that the DSID Resequencing Warning Threshold is determined by the CMTS. The value of 0 indicates that the threshold warnings are disabled. 
            When the value of DsidReseqWaitTime is not equal to 0 or 255, the CCAP will ensure that the value of this object is either 255 or less than the value of DsidReseqWaitTime.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:union>
            <xs:simpleType>
              <xs:restriction base="xs:unsignedByte">
                <xs:minInclusive value="0"/>
                <xs:maxInclusive value="179"/>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:unsignedByte">
                <xs:minInclusive value="255"/>
                <xs:maxInclusive value="255"/>
              </xs:restriction>
            </xs:simpleType>
          </xs:union>
        </xs:simpleType>
      </xs:element>
      <xs:element name="dsid-resequencing-wait-time" minOccurs="0"  maxOccurs="1" default="255">
        <xs:annotation>
          <xs:documentation>
            This attribute provides the DSID Resequencing Wait Time in hundredMicroseconds that is to be used for all DSIDs associated with this Downstream Bonding Group. The value of 255 indicates that the DSID Resequencing Wait Time is determined by the CMTS.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:union>
            <xs:simpleType>
              <xs:restriction base="xs:unsignedByte">
                <xs:minInclusive value="1"/>
                <xs:maxInclusive value="180"/>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:unsignedByte">
                <xs:minInclusive value="255"/>
                <xs:maxInclusive value="255"/>
              </xs:restriction>
            </xs:simpleType>
          </xs:union>
        </xs:simpleType>
      </xs:element>
      <xs:element name="docsis-down-channel-ref"  minOccurs="0"  maxOccurs="unbounded" type="docsis-down-channel-ref-type">
        <xs:annotation>
          <xs:documentation>
            A reference to a DOCSIS downstream channel.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="downstream-bonding-mac-domain-name" minOccurs="0"  maxOccurs="1"  type="xs:string">
        <xs:annotation>
          <xs:documentation>
            The name of the MacDomain.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="mac-domain-type">
    <xs:sequence>
      <xs:element name="mac-domain-name"  minOccurs="1" maxOccurs="1"  type="xs:string">
        <xs:annotation>
          <xs:documentation>
            The name of the MacDomain.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ip-provisioning-mode"  minOccurs="1" maxOccurs="1"  type="ip-prov-mode-type">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the IP provisioning mode for a MAC Domain.
            When this attribute is set to 'ipv4-only' the CM will acquire a single IPv4 address for the CM management stack.
            When this attribute is set to 'ipv6-only' the CM will acquire a single IPv6 address for the CM management stack.
            When this attribute is set to 'alternate' the CM will acquire a single IPv6 address for the CM management stack and, if failures occur, the CM will fall back to provisioning and operation with an IPv4 address.
            When this attribute is set to 'dual-stack' the CM will acquire both an IPv6 and IPv4 address for provisioning and operation.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="admin-state" minOccurs="0"  maxOccurs="1"  type="admin-state-type" default="down">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the administrative state of the mac-domain.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="up-down-trap-enabled" minOccurs="0"  maxOccurs="1"  type="xs:boolean" default="true">
        <xs:annotation>
          <xs:documentation>
            Indicates whether linkUp/linkDown SNMP traps should be generated for this interface.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="mdd-interval" minOccurs="0"  maxOccurs="1" default="2000">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the interval for the insertion of MDD messages
            in each downstream channel of a MAC Domain.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedShort">
            <xs:minInclusive value="1"/>
            <xs:maxInclusive value="2000"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="cm-status-event-control-enabled" minOccurs="0"  maxOccurs="1"  type="xs:boolean" default="true">
        <xs:annotation>
          <xs:documentation>
            If set to 'true', this attribute enables the signaling of the CM-Status Event reporting mechanism.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="upstream-frequency-range" minOccurs="0"  maxOccurs="1"  type="upstream-frequency-range-type" default="standard">
        <xs:annotation>
          <xs:documentation>
            This attribute indicates in MDD messages the upstream frequency upper band edge of an upstream Channel.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="multicast-dsid-forward-enabled" minOccurs="0"  maxOccurs="1"  type="xs:boolean" default="true">
        <xs:annotation>
          <xs:documentation>
            If set to 'true', this attribute enables the CMTS to use IP Multicast DSID Forwarding (MDF) for the MAC domain.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="multiple-receive-channel-mode-enabled" minOccurs="0"  maxOccurs="1"  type="xs:boolean" default="true">
        <xs:annotation>
          <xs:documentation>
            If set to 'true', this attribute enables Downstream Channel Bonding for the MAC Domain.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="multiple-transmit-channel-mode-enabled" minOccurs="0"  maxOccurs="1"  type="xs:boolean" default="true">
        <xs:annotation>
          <xs:documentation>
            If set to 'true', this attribute enables Multiple Transmit Channel (MTC) Mode for the MAC Domain.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="early-auth-encrypt-control" minOccurs="0"  maxOccurs="1"  type="early-auth-encrypt-control-type" default="enable-eae-ranging-based-enforcement">
        <xs:annotation>
          <xs:documentation>
            This attribute enables or disables early authentication and encryption (EAE) signaling for the MAC Domain. It also defines the type of EAE enforcement in the case that EAE is enabled.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="tftp-proxy-enabled" minOccurs="0"  maxOccurs="1"  type="xs:boolean" default="true">
        <xs:annotation>
          <xs:documentation>
            If set to 'true', this attribute enables TFTP Proxy functionality for the MAC Domain.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="source-address-verification-enabled" minOccurs="0"  maxOccurs="1"  type="xs:boolean" default="true">
        <xs:annotation>
          <xs:documentation>
            If set to 'true', this attribute enables Source Address Verification (SAV) functionality for the MAC Domain.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="cm-udc-enabled" minOccurs="0"  maxOccurs="1"  type="xs:boolean" default="false">
        <xs:annotation>
          <xs:documentation>
            If set to 'true', this attribute instructs the CMTS MAC Domain to enable Upstream Drop Classifiers (UDC) for the CMs attempting registration in this MAC Domain.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="send-udc-rules-enabled" minOccurs="0"  maxOccurs="1"  type="xs:boolean" default="false">
        <xs:annotation>
          <xs:documentation>
            If set to 'true' and when the CM signals to the CMTS 'Upstream Drop Classifier Group ID' encodings, this attribute instructs the CMTS MAC Domain to send the Subscriber Management Filters rules associated with the 'Upstream Drop Classifier Group ID'encodings to the CM in the form of UDCs when the following conditions occurs:
            - The attribute CmUdcEnabled value for this MAC Domain is set to 'true', and
            - The CM has the UDC capability advertised as supported.
            If there is no a single Subscriber Management Filter configured in the CMTS for the CM's signaled UDC Group ID, the CMTS does not send UDC encodings to the CM.
            It is vendor specific whether the CMTS maintains enforcement of the CM signaled or default Subscriber Management Filter groups in the upstream direction.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="service-type-id-list" minOccurs="0"  maxOccurs="1"  type="snmp-tag-list-type">
        <xs:annotation>
          <xs:documentation>
            This attribute indicates the list of Service Type IDs associated with the MAC Domain.
            During the CM registration process the CMTS will attempt to redirect the CM to a MAC Domain where the CM' Service Type TLV is contained in this attribute.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="bpi2-enforce-control" minOccurs="0"  maxOccurs="1"  type="bpi2-enforce-control-type" default="qosCfgFileWithBpi2Enabled">
        <xs:annotation>
          <xs:documentation>
            This attribute indicates the level of BPI+ enforcement policies with the MAC Domain.

          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="md-bpi-config" minOccurs="0"  maxOccurs="1" type="md-bpi-config-type">
        <xs:annotation>
          <xs:documentation>
            This object is based on DocsBpiCmtsBaseEntry table defined in [RFC 3083].
            This optional object provides the configuration of the Baseline Privacy key lifetimes for the MAC domain. If not used, the CCAP uses the defaults defined in SysBpiCfg.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="upstream-bonding-group"  minOccurs="0"  maxOccurs="unbounded" type="upstream-bonding-group-type">
        <xs:annotation>
          <xs:documentation>
            The upstream-bonding-group object allows for the static creation of upstream bonding groups To configure an upstream bonding group, an instance of the UsBondingGrpCfg object is created.
          </xs:documentation>
        </xs:annotation>
        <xs:key name="key_mac-domain_docs-mac-domain_docsis_ccap_upstream-bonding-group_upstream-logical-channel-ref">
          <xs:selector xpath="upstream-logical-channel-ref"/>
          <xs:field xpath="slot"/>
          <xs:field xpath="us-rf-port"/>
          <xs:field xpath="upstream-physical-channel"/>
          <xs:field xpath="upstream-logical-channel"/>
        </xs:key>
      </xs:element>
      <xs:element name="rcc-configuration"  minOccurs="0"  maxOccurs="unbounded" type="rcc-configuration-type">
        <xs:annotation>
          <xs:documentation>
            This object is based on the RccCfg object defined in [OSSIv3.0] and is used with the following modification: The MdIfIndex attribute has been removed and replaced by the named association between MdCfg and RccCfg.
            This object creates static Receive Channel Configurations for specific downstream channel configurations, identifies the scope of the Receive Channel Configuration (RCC), and provides a top level container for the Receive Module and Receive Channel objects. The CCAP selects an instance of this object to assign to a CM when it registers.
            This object supports the creation and deletion of multiple instances.
          </xs:documentation>
        </xs:annotation>
        <xs:key name="key_mac-domain_docs-mac-domain_docsis_ccap_rcc-configuration_receive-channel-configuration">
          <xs:selector xpath="receive-channel-configuration"/>
          <xs:field xpath="receive-channel-id"/>
        </xs:key>
        <xs:key name="key_mac-domain_docs-mac-domain_docsis_ccap_rcc-configuration_receive-module-configuration">
          <xs:selector xpath="receive-module-configuration"/>
          <xs:field xpath="receive-module-id"/>
        </xs:key>
      </xs:element>
      <xs:element name="cmts-mac-interface-config" minOccurs="0"  maxOccurs="1" type="cmts-mac-interface-config-type">
        <xs:annotation>
          <xs:documentation>
            This object describes the attributes of each CMTS MAC interface.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="upstream-physical-channel-ref"  minOccurs="0"  maxOccurs="unbounded" type="upstream-physical-channel-ref-type">
        <xs:annotation>
          <xs:documentation>
            A reference to an upstream physical channel.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="non-primary-capable-ds"  minOccurs="0"  maxOccurs="unbounded" type="non-primary-capable-ds-type">
        <xs:annotation>
          <xs:documentation>
            A reference to a non-primary capable DOCSIS downstream channel.
            Some CCAP implementations may implement the association of non primary capable downstream channels with MAC domain indirectly, based on RF plant topology configuration. In such a case CCAP device may ignore configuration settings communicated through the label Non-PrimaryCapableDs
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="primary-capable-ds"  minOccurs="0"  maxOccurs="unbounded" type="primary-capable-ds-type">
        <xs:annotation>
          <xs:documentation>
            A reference to a primary capable DOCSIS downstream channel.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="control-type">
    <xs:sequence>
      <xs:element name="enable" minOccurs="0"  maxOccurs="1"  type="enable-type" default="disable">
        <xs:annotation>
          <xs:documentation>
            This attribute enables the enforcement of Multicast Authorization feature.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="default-profile-name-list" minOccurs="0"  maxOccurs="1"  type="snmp-tag-list-type" default=" ">
        <xs:annotation>
          <xs:documentation>
            This attribute indicates one or more Multicast Authorization Profiles that are used by the CMTS when CMs register with no Multicast Join Authorization encodings in the REG-REQ-(MP). When IP Multicast Authorization is enforced, this attribute provides the default set of Multicast Authorization Profiles the CMTS enforces for a CM in case the CM did not signal a set of profiles during the registration process. If the Default Multicast Authorization Group Name is a -zero-length string, the DefAction attribute determines whether a join request is authorized. If the CMTS supports more than one profile name as a default, the CMTS enforces each of the profiles in order of occurrence until the maximum number of profiles is reached.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="default-action" minOccurs="0"  maxOccurs="1"  type="authorization-action-type" default="deny">
        <xs:annotation>
          <xs:documentation>
            This attribute defines the default authorization action when no IP Multicast Session Rule is determined to match a client's IP multicast JOIN request.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="default-max-number-sessions" minOccurs="0"  maxOccurs="1"  type="xs:unsignedShort" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute indicates the default maximum number of multicast sessions that clients reached through a particular CM are allowed to join. A DefMaxNumSess value of 0 indicates that no dynamic joins are permitted. A Maximum Multicast Sessions Encoding value of 65535 (the largest valid value) indicates that the CMTS permits any number of sessions to be joined by clients reached through the CM.

          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="profiles-type">
    <xs:sequence>
      <xs:element name="mcast-auth-profile-name"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            This attribute is a unique name or identifier for a Multicast Authorization Profile.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:minLength value="1"/>
            <xs:maxLength value="15"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="description"  minOccurs="1" maxOccurs="1"  type="xs:string">
        <xs:annotation>
          <xs:documentation>
            This attribute is a human readable description of the Multicast Authorization Profile.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="session-rule"  minOccurs="1"  maxOccurs="unbounded" type="session-rule-type">
        <xs:annotation>
          <xs:documentation>
            This object defines Operator configured profiles to be matched during the authorization process. 
            This object supports the creation and deletion of multiple instances.
            Creation of a new instance of this object requires the following attributes to be set:
            - SrcPrefixAddr
            - SrcPrefixLen
            - GrpPrefixAddr
            - GrpPrefixLen
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="modulation-profile-type">
    <xs:sequence>
      <xs:element name="modulation-index"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            An index into the Channel Modulation table representing a group of Interval Usage Codes, all associated with the same channel.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
            <xs:minInclusive value="1"/>
            <xs:maxInclusive value="2147483647"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="interval-usage-code"  minOccurs="1"  maxOccurs="14" type="interval-usage-code-type">
        <xs:annotation>
          <xs:documentation>
            This object allows a list of interval usage codes to be associated with a single modulation profile. It is based on the docsIfCmtsModulationTable defined in [RFC 4546].
            Reference: [RFC 4546] docsIfCmtsModulationTable.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="packet-cable-config-type">
    <xs:sequence>
      <xs:element name="packet-cable-enabled" minOccurs="0"  maxOccurs="1"  type="xs:boolean" default="false">
        <xs:annotation>
          <xs:documentation>
            This configuration attribute allows the operator to enable PacketCable services on the CCAP.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="pcmm-enabled" minOccurs="0"  maxOccurs="1"  type="xs:boolean" default="false">
        <xs:annotation>
          <xs:documentation>
            This configuration attribute allows the operator to enable PacketCable Multimedia services on the CCAP.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="pc-t0-timer" minOccurs="0"  maxOccurs="1"  type="xs:unsignedByte" default="30">
        <xs:annotation>
          <xs:documentation>
            This configuration attribute allows the operator to define the value in seconds for the PacketCable T0 timer.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="pc-t1-timer" minOccurs="0"  maxOccurs="1"  type="xs:unsignedInt" default="200">
        <xs:annotation>
          <xs:documentation>
            This configuration attribute allows the operator to define the value in seconds for the PacketCable T1 timer.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="pc-t7-timer" minOccurs="0"  maxOccurs="1"  type="xs:unsignedInt" default="200">
        <xs:annotation>
          <xs:documentation>
            This attribute allows for the setting of the Timeout for Admitted QoS Parameters for the service flow to the value specified for this timer. In the case of a flow with multiple sub-flows, the flow's Timeout for Admitted QoS
            Parameters is set to the value of timer T7 from the most recently received Gate-Set message for any subflow on the flow. The Timeout for Admitted QoS Parameters limits the period of time that the CMTS holds resources for a service flow's Admitted QoS Parameter Set while they are in excess of its Active QoS Parameter Set. 
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="pc-t8-timer" minOccurs="0"  maxOccurs="1"  type="xs:unsignedByte" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the Timeout for Active QoS Parameters for the service flow to the value specified in for this timer. In the case of a flow with multiple sub-flows, the flow's Timeout for Active QoS Parameters is set to the value of timer T8 from the most recently received Gate-Set message for any sub-flow on the flow. The Timeout for Active QoS Parameters limits the period of time resources remain unused on an active service flow. 

          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="pcmm-t1-timer" minOccurs="0"  maxOccurs="1"  type="xs:unsignedByte" default="200">
        <xs:annotation>
          <xs:documentation>
            This configuration attribute allows the operator to define the value in seconds for the PacketCable Multimedia T1 timer.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="cmts-gate-id-value"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            This configuration attribute allows the operator to define the value for the CMTS Id portion of PCMM GateIds.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
            <xs:minInclusive value="0"/>
            <xs:maxInclusive value="16383"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="tos"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            This configuration attribute allows the operator to define the value for the Tos bits in outgoing COPS messages.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:union>
            <xs:simpleType>
              <xs:restriction base="xs:byte">
                <xs:minInclusive value="-1"/>
                <xs:maxInclusive value="-1"/>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:byte">
                <xs:minInclusive value="0"/>
                <xs:maxInclusive value="63"/>
              </xs:restriction>
            </xs:simpleType>
          </xs:union>
        </xs:simpleType>
      </xs:element>
      <xs:element name="cops-connection-threshold"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            This configuration attribute allows the operator to define the threshold number of COPS connections per 15 minute interval.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="control-point-discovery-enabled" minOccurs="0"  maxOccurs="1"  type="xs:boolean" default="false">
        <xs:annotation>
          <xs:documentation>
            This attribute enables or disables the Control point Discovery functionality described in the PacketCable Specifications.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="pc-event-config-type">
    <xs:sequence>
      <xs:element name="retry-timer" minOccurs="0"  maxOccurs="1" default="3000">
        <xs:annotation>
          <xs:documentation>
            This configuration attribute allows the configuration of the number of milli-seconds the CCAP should wait before sending a message that was not acknowledged.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedShort">
            <xs:minInclusive value="10"/>
            <xs:maxInclusive value="10000"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="retry-limit" minOccurs="0"  maxOccurs="1" default="3">
        <xs:annotation>
          <xs:documentation>
            This configuration attribute allows the configuration of the number of times the CCAP should retry when sending a message.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedByte">
            <xs:minInclusive value="0"/>
            <xs:maxInclusive value="9"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="batch-size"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            This configuration attribute allows the configuration of the number of records the CCAP should bundle in a single message to a billing or Record Keeping Server (RKS).
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="max-age"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            This object defines the max age of messages to be sent to a RKS or billing server.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="billing-events" minOccurs="0"  maxOccurs="1"  type="xs:boolean" default="false">
        <xs:annotation>
          <xs:documentation>
            This attribute tells the CCAP if it needs to send billing events to a billing server/RKS.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="dsg-timer-config-type">
    <xs:sequence>
      <xs:element name="timer-config-index"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            The index for timer-config list.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
            <xs:minInclusive value="1"/>
            <xs:maxInclusive value="4294967295"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="init-t-dsg-1" minOccurs="0"  maxOccurs="1" default="2">
        <xs:annotation>
          <xs:documentation>
            Initialization Timeout. This is the timeout period in seconds for the DSG packets during initialization of the DSG client.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedShort">
            <xs:minInclusive value="1"/>
            <xs:maxInclusive value="65535"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="oper-t-dsg-2" minOccurs="0"  maxOccurs="1" default="600">
        <xs:annotation>
          <xs:documentation>
            Operational Timeout. This is the timeout period in seconds for the DSG packets during normal operation of the DSG client.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedShort">
            <xs:minInclusive value="1"/>
            <xs:maxInclusive value="65535"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="two-way-t-dsg-3" minOccurs="0"  maxOccurs="1"  type="xs:unsignedShort" default="300">
        <xs:annotation>
          <xs:documentation>
            Two-way retry timer. This is the retry timer that determines when the DSG client attempts to reconnect with the DSG Agent and established two-way connectivity. Default value is 300 seconds. The value 0 indicates that the client will continuously retry two-way operation
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="one-way-t-dsg-4" minOccurs="0"  maxOccurs="1"  type="xs:unsignedShort" default="1800">
        <xs:annotation>
          <xs:documentation>
            One-way retry timer. The retry timer that determines when the client attempts to rescan for a DOCSIS downstream channel that contains DSG packets after a TimerTdsg1 or TimerTdsg2 timeout. Default value is 1800 seconds. The value 0 indicates that the client will immediately begin scanning upon TimerTdsg1 or TimerTdsg2 timeout.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="dsg-downstream-type">
    <xs:sequence>
      <xs:element name="dsg-downstream-index"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            This is the key for an instance of this object. In [DSG], this was the channel ifIndex. Here, the channel is identified uniquely by the docsis-down-channel-ref.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="enable-dcd"  minOccurs="1" maxOccurs="1"  type="xs:boolean">
        <xs:annotation>
          <xs:documentation>
            This attribute is used to enable or disable DCD messages to be sent on this downstream channel. The value is always true for those downstreams that contain DSG tunnels.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="docsis-down-channel-ref" minOccurs="0"  maxOccurs="1" type="docsis-down-channel-ref-type">
        <xs:annotation>
          <xs:documentation>
            This is a reference to a DOCSIS down channel instance.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="timer-config-index" minOccurs="0"  maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            Reference to the timer-config index. Zero means not configured.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="vendor-param-id" minOccurs="0"  maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            Reference to the vendor-parameters id. Zero means not configured.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="dsg-channel-list-index" minOccurs="0"  maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            Reference to dsg-channel-list enumerating the frequencies carrying DSG tunnels. Zero means not configured.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="dsg-channel-list-type">
    <xs:sequence>
      <xs:element name="dsg-channel-list-index"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            The index of the dsg channel list.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
            <xs:minInclusive value="1"/>
            <xs:maxInclusive value="4294967295"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="dsg-channel"  minOccurs="1"  maxOccurs="unbounded" type="dsg-channel-type">
        <xs:annotation>
          <xs:documentation>
            The frequencies carrying DSG tunnels for some RF connector.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="tunnel-group-to-channel-list-type">
    <xs:sequence>
      <xs:element name="tunnel-group-index"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            This attribute is the key for this tunnel group.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="tunnel-group-channel"  minOccurs="1"  maxOccurs="unbounded" type="tunnel-group-channel-type">
        <xs:annotation>
          <xs:documentation>
            The channels in the tunnel group and the tunnel group parameters for each channel.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="dsg-tunnel-config-type">
    <xs:sequence>
      <xs:element name="dsg-tunnel-config-index"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            This attribute is the index for a tunnel that could be associated to one or more downstream channel that carries DSG tunnels.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="tunnel-grp-index" minOccurs="0"  maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            Reference to the DSG tunnel-grp containing this tunnel.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="mac-address"  minOccurs="1" maxOccurs="1"  type="yang:mac-address">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the DSG tunnel destination MAC address.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="client-id-list-index" minOccurs="0"  maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            Reference to one or more objects in client-id-config. Zero means not configured.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="service-class-name"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            Reference to a service-class name.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:string">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="dsg-classifier-type">
    <xs:sequence>
      <xs:element name="dsg-classifier-id"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the linkage between the DSG tunnel for which this classifier will apply.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedShort">
            <xs:minInclusive value="1"/>
            <xs:maxInclusive value="65535"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="tunnel-index" minOccurs="0"  maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            Reference to the DSG tunnel using this classifier.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="priority" minOccurs="0"  maxOccurs="1"  type="xs:unsignedByte" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute is used to configure the DSG rule priority that determines the order of which channel and its associated UCIDs should be applied by the DSG client. The default value is 0, which is the lowest priority.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="source-ip"  minOccurs="1" maxOccurs="1"  type="inet:ipv4-address">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the source IP address for the DSG tunnel. Currently, the CCAP only supports IPv4 addresses for DSG tunnels, per [DSG]
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="source-mask" minOccurs="0"  maxOccurs="1"  type="address-prefix-len-type" default="32">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the source IP address mask for the DSG tunnel.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="destination-ip"  minOccurs="1" maxOccurs="1"  type="inet:ipv4-address">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the destination IP address for the DSG tunnel. Currently, the CCAP only supports Ipv4 addresses for DSG tunnels, per [DSG].
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="destination-port-start" minOccurs="0"  maxOccurs="1"  type="inet:port-number" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the inclusive lower bound of the transport-layer source port range that is to be matched.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="destination-port-end" minOccurs="0"  maxOccurs="1"  type="inet:port-number" default="65535">
        <xs:annotation>
          <xs:documentation>
            This attribute the inclusive higher bound of the transport-layer source port range that is to be matched.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="include-in-dcd" minOccurs="0"  maxOccurs="1"  type="xs:boolean" default="true">
        <xs:annotation>
          <xs:documentation>
            Indicates whether or not this DSG classifier will be sent in DCD messages for use as a Layer-3 and Layer-4 packet filter by the DSG eCM.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="vendor-parameters-list-type">
    <xs:sequence>
      <xs:element name="vendor-param-id"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            This attribute represents a key to the vendor-parameters object. 
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
            <xs:minInclusive value="1"/>
            <xs:maxInclusive value="4294967295"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="vendor-param"  minOccurs="1"  maxOccurs="unbounded" type="vendor-param-type">
        <xs:annotation>
          <xs:documentation>
            A single vendor parameter.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="client-id-config-list-type">
    <xs:sequence>
      <xs:element name="client-id-list-index"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            This attribute identifies a specific DSG client list.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
            <xs:minInclusive value="1"/>
            <xs:maxInclusive value="4294967295"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="dsg-client"  minOccurs="1"  maxOccurs="unbounded" type="dsg-client-type">
        <xs:annotation>
          <xs:documentation>
            A single DSG client.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="unicast-video-input-ts-type">
    <xs:sequence>
      <xs:element name="unicast-ts-destination-ip-address"  minOccurs="1" maxOccurs="1"  type="inet:ip-address">
        <xs:annotation>
          <xs:documentation>
            This attribute corresponds to the IP destination address of the UDP IP flow of the input TS.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="unicast-ts-destination-udp-port"  minOccurs="1" maxOccurs="1"  type="inet:port-number">
        <xs:annotation>
          <xs:documentation>
            This attribute corresponds to the UDP destination port of the UDP IP flow of the input TS.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="multicast-ts-type">
    <xs:sequence>
      <xs:element name="multicast-video-input-ts"  minOccurs="1"  maxOccurs="2" type="multicast-video-input-ts-type">
        <xs:annotation>
          <xs:documentation>
            This object specifies the multicast flows of an input transport stream. Having two MulticastTsVideoInput objects for one InputTs occurs when input TS redundancy is configured (Hot-Hot sparing). If two MulticastTsVideoInput objects have the same Priority, this implies HOT-HOT redundancy. Which stream is actually forwarded is vendor-specific.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="session-output-ts-type">
    <xs:sequence>
      <xs:element name="session-output-ts-index"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            A reference to an output-ts-index.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="cas-info-ref-type">
    <xs:sequence>
      <xs:element name="cas-info-index"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            Reference to a cas-info index.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="video-down-channel-ref-type">
    <xs:sequence>
      <xs:element name="slot"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            A reference to a slot number.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedByte">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="ds-rf-port"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            A reference to a downstream RF port number.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="down-channel"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            A reference to a video downstream channel index.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="one-gb-epon-interface-type">
    <xs:sequence>
      <xs:element name="epon-slot"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            Reference to the slot in which the onegigabit epon port resides.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedByte">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="epon-port-number"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            Reference to a onegigabit epon port number.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ten-gb-epon-interface-type">
    <xs:sequence>
      <xs:element name="epon-slot"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            Reference to the slot in which the tengigabit epon port resides.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedByte">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="epon-port-number"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            Reference to a tengigabit epon port number.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ip-interface-type">
    <xs:sequence>
      <xs:element name="ip-interface-name"  minOccurs="1" maxOccurs="1"  type="xs:string">
        <xs:annotation>
          <xs:documentation>
            Chassis unique name of the IP interface
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="primary-ipv4"  minOccurs="0"  maxOccurs="1" type="primary-ipv4-type">
        <xs:annotation>
          <xs:documentation>
            The primary-ipv4 list allow zero or one primary IPv4 address and prefix for this IP interface.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ipv6"  minOccurs="0"  maxOccurs="unbounded" type="ipv6-type">
        <xs:annotation>
          <xs:documentation>
            The ipv6 list allows zero or more IPv6 interface addresses and prefixes to be configured for this IP interface
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="secondary-ipv4"  minOccurs="0"  maxOccurs="unbounded" type="secondary-ipv4-type">
        <xs:annotation>
          <xs:documentation>
            The secondary-ipv4 list allows zero or more secondary addresses and prefixes to be configured for this IP interface
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="docsis-mac-domain-type">
    <xs:sequence>
      <xs:element name="docsis-mac-domain-name"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            Reference to a specific docsis mac-domain-configuration list entry
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:string">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="epon-mac-domain-type">
    <xs:sequence>
      <xs:element name="epon-mac-domain-name"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            Reference to a specific epon mac-domain-configuration list entry
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:string">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="cable-helper-config-type">
    <xs:sequence>
      <xs:element name="cable-helper-config-index"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            The index for the CableHelperCfg instance.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ip-address"  minOccurs="1" maxOccurs="1"  type="inet:ip-address">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the IP address of the DHCP server configured as a cable helper.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="application" minOccurs="0"  maxOccurs="1"  type="application-type" default="all">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the device class for which this cable helper configuration applies.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="exporter-config-type">
    <xs:sequence>
      <xs:element name="enabled" minOccurs="0"  maxOccurs="1"  type="xs:boolean" default="true">
        <xs:annotation>
          <xs:documentation>
            This attribute configures whether or not the IPDR Exporter is enabled.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ipdr-exporter-listener-interface-name" minOccurs="0"  maxOccurs="1"  type="xs:string">
        <xs:annotation>
          <xs:documentation>
            Local IP interface; must be a configured ip-interface name. This specifies the IP interface on which the IPDR server listens. If an IP interface is not specified, the behavior of the CCAP is vendor specific.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="streaming-session-type">
    <xs:sequence>
      <xs:element name="session-id"  minOccurs="1" maxOccurs="1"  type="xs:unsignedShort">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the ID for this instance.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="keep-alive-interval" minOccurs="0"  maxOccurs="1"  type="xs:unsignedShort" default="20">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the interval in seconds at which IPDR 'keepalives' are sent from the CCAP IPDR exporter to the collector.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ack-time-interval" minOccurs="0"  maxOccurs="1" default="30">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the interval in seconds in which the CCAP IPDR exporter waits for an acknowledgment.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedByte">
            <xs:minInclusive value="1"/>
            <xs:maxInclusive value="60"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="ack-sequence-interval" minOccurs="0"  maxOccurs="1" default="200">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the maximum number of unacknowledged records that can be sent by the CCAP IPDR exporter before receiving an acknowledgement.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedShort">
            <xs:minInclusive value="1"/>
            <xs:maxInclusive value="500"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="collection-interval"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            Where streaming is of the type timeInterval, this attribute configures the interval in seconds at which IPDR information is extracted from the CCAP management objects and transmitted to the collector. 
            Where streaming is of the type timeEvent, this attribute identifies the interval at which the CCAP IPDR exporter will close the IPDR session to allow IPDR session processing to occur. Records created by Service Definitions supporting timeEvent are sent when the event is generated.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
            <xs:minInclusive value="0"/>
            <xs:maxInclusive value="86400"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="streaming-type"  minOccurs="1" maxOccurs="1"  type="ipdr-streaming-type">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the type of IPDR streaming used for the session.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="enabled" minOccurs="0"  maxOccurs="1"  type="xs:boolean" default="true">
        <xs:annotation>
          <xs:documentation>
            This attribute controls whether the IPDR Session is enabled or disabled.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="service-definition-template"  minOccurs="1"  maxOccurs="unbounded" type="service-definition-template-type"/>
      <xs:element name="collector-reference"  minOccurs="0"  maxOccurs="unbounded" type="collector-reference-type"/>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="collector-type">
    <xs:sequence>
      <xs:element name="collector-id"  minOccurs="1" maxOccurs="1"  type="xs:unsignedByte">
        <xs:annotation>
          <xs:documentation>
            This key configures a unique identifier for this collector instance.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="collector-ip"  minOccurs="1" maxOccurs="1"  type="inet:ip-address">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the IP address of collectors from which the CCAP will accept a connect. As per [OSSIv3.0], the collector establishes a connection to the CCAP
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="collector-name" minOccurs="0"  maxOccurs="1"  type="xs:string" default="">
        <xs:annotation>
          <xs:documentation>
            This attribute configures a name for the IPDR collector. 
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="collector-port" minOccurs="0"  maxOccurs="1"  type="inet:port-number" default="4737">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the port used by the collector to communicate with the CCAP.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="priority"  minOccurs="1" maxOccurs="1"  type="xs:unsignedByte">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the priority of this IPDR collector. The priority is used to elect the primary and active collector. The collector with the lowest priority is elected.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="event-throttle-config-type">
    <xs:sequence>
      <xs:element name="throttle-admin-state" minOccurs="0"  maxOccurs="1"  type="event-throttle-admin-state-type" default="unconstrained">
        <xs:annotation>
          <xs:documentation>
            Refer to RFC 4639.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="threshold" minOccurs="0"  maxOccurs="1"  type="xs:unsignedInt" default="0">
        <xs:annotation>
          <xs:documentation>
            Refer to RFC 4639.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="interval" minOccurs="0"  maxOccurs="1" default="1">
        <xs:annotation>
          <xs:documentation>
            Refer to RFC 4639.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
            <xs:minInclusive value="1"/>
            <xs:maxInclusive value="2147483647"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="event-reporting-config-type">
    <xs:sequence>
      <xs:element name="priority"  minOccurs="1" maxOccurs="1"  type="syslog-priority-type">
        <xs:annotation>
          <xs:documentation>
            See RFC 4639 -- docsDevEvPriority
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="reporting"  minOccurs="1" maxOccurs="1"  type="syslog-reporting-type">
        <xs:annotation>
          <xs:documentation>
            See RFC 4639 -- docsDevEvReporting
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="cmts-event-ctrl-type">
    <xs:sequence>
      <xs:element name="event-id"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the Event ID of the event being enabled to delivery to a dispatch mechanism (e.g. syslog).
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="trap-enable-type">
    <xs:sequence>
      <xs:element name="snmp-enable-authen-traps"  minOccurs="1" maxOccurs="1"  type="xs:boolean">
        <xs:annotation>
          <xs:documentation>
            See RFC 3418
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="interface-trap-enable-type">
    <xs:sequence>
      <xs:element name="if-name"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            The path name of the interface.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:minLength value="0"/>
            <xs:maxLength value="255"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="link-up-down-trap-enable"  minOccurs="1" maxOccurs="1"  type="xs:boolean">
        <xs:annotation>
          <xs:documentation>
            See RFC 2863
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="syslog-server-config-type">
    <xs:sequence>
      <xs:element name="syslog-server-config-index"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            This key represents the unique identifier of an instance in this object.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ip-address"  minOccurs="1" maxOccurs="1"  type="inet:ip-address">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the IP address of the syslog server. If DNS is supported, this attribute can contain the FQDN of the syslog server.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="enabled" minOccurs="0"  maxOccurs="1"  type="xs:boolean" default="false">
        <xs:annotation>
          <xs:documentation>
            Indicates if the syslog server is used for sending syslog messages or is disabled.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="syslog-source-ip-interface-name" minOccurs="0"  maxOccurs="1"  type="xs:string">
        <xs:annotation>
          <xs:documentation>
            Local IP interface; must be a configured ip-interface name. If not specified, then the vendor picks the source IP address
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="diag-log-triggers-config-type">
    <xs:sequence>
      <xs:element name="include-triggers" minOccurs="0"  maxOccurs="1"  type="trigger-flag-type" default="registration">
        <xs:annotation>
          <xs:documentation>
            This attribute turns individual diagnostic triggers on and off at a given time when each trigger is set to '1' or '0' respectively.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="enable-aging-triggers" minOccurs="0"  maxOccurs="1"  type="trigger-flag-type" default=" ">
        <xs:annotation>
          <xs:documentation>
            This attribute enables and disables the aging of individual triggers at a given time when each trigger is set to '1' or '0 respectively.  If a log entry is added by multiple triggers, and aging is disabled for one of those triggers, the CMTS MUST NOT age out such entry.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="reg-time-interval" minOccurs="0"  maxOccurs="1" default="90">
        <xs:annotation>
          <xs:documentation>
            This attribute is an operator empirically derived, worst-case number of seconds which the CM requires to complete registration. If the CM has not completed the registration stage within this registration time interval, the CM will be added to the Diagnostic Log.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
            <xs:minInclusive value="60"/>
            <xs:maxInclusive value="86400"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="reg-detail" minOccurs="0"  maxOccurs="1"  type="reg-detail-type" default=" ">
        <xs:annotation>
          <xs:documentation>
            Setting a bit representing a CM registration state will enable counting the number of times the CMTS determines that such CM reaches that state as the last state before failing to proceed further in the registration process and within the time interval considered for the CM registration trigger detection.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ranging-retry-trigger" minOccurs="0"  maxOccurs="1"  type="ranging-retry-trigger-type" default="consecutive-miss">
        <xs:annotation>
          <xs:documentation>
            This attribute selects the type of ranging retry trigger to be enable in the Diagnostic Log.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ranging-retry-threshold" minOccurs="0"  maxOccurs="1" default="6">
        <xs:annotation>
          <xs:documentation>
            This attribute indicates the number of times the CMTS does not detect a CM acknowledgement of a MAC-layer station maintenance message from a CMTS to be exceeded in order to add the CM to the Diagnostic Log. The value of RangingRetryType decides if consecutive ranging miss or ranging miss ratio is used as trigger.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedByte">
            <xs:minInclusive value="3"/>
            <xs:maxInclusive value="12"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="ranging-retry-station-maint-num" minOccurs="0"  maxOccurs="1" default="90">
        <xs:annotation>
          <xs:documentation>
            This attribute indicates the number of station maintenance opportunities to monitor for ranging retry trigger. This value implies time intervals in a certain range. DOCSIS specifies that the CMTS schedules ranging opportunities to CMs sufficiently smaller than T4. There is no fixed formula to derive at a fixed time interval, how many ranging opportunities may be offered to a CM by the CMTS, hence using the number of station maintenance opportunities provides ratio with the fixed denominators while also taking time factor into consideration.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedShort">
            <xs:minInclusive value="60"/>
            <xs:maxInclusive value="65535"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="diag-log-global-config-type">
    <xs:sequence>
      <xs:element name="max-size" minOccurs="0"  maxOccurs="1" default="100">
        <xs:annotation>
          <xs:documentation>
            This attribute indicates the maximum number of CM instances that can be reported in the DiagLog.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
            <xs:minInclusive value="1"/>
            <xs:maxInclusive value="4294967295"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="notify-log-size-high-thrshld" minOccurs="0"  maxOccurs="1" default="80">
        <xs:annotation>
          <xs:documentation>
            This attribute is the high threshold value to send a  HighThreshold notification when the number of instances in the DiagLog exceeds this value.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
            <xs:minInclusive value="1"/>
            <xs:maxInclusive value="4294967295"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="notify-log-size-low-thrshld" minOccurs="0"  maxOccurs="1" default="60">
        <xs:annotation>
          <xs:documentation>
            This attribute is the threshold value to send a  LowThreshold notification when the number of instances in DiagLog drops to this value, but only if the DiagLog number of instances exceeded the NotifyLogSizeHighThrshld value.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
            <xs:minInclusive value="1"/>
            <xs:maxInclusive value="4294967295"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="aging" minOccurs="0"  maxOccurs="1" default="10080">
        <xs:annotation>
          <xs:documentation>
            This attribute defines a period of time after which an instance in the DiagLog and its corresponding  DiagLogDetail  instance (if present)  are removed if no longer the DiagLog instance is updated due to a trigger detection process.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
            <xs:minInclusive value="15"/>
            <xs:maxInclusive value="86400"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="notif-ctrl" minOccurs="0"  maxOccurs="1"  type="notif-ctrl-type" default=" ">
        <xs:annotation>
          <xs:documentation>
            This attribute is used to enable diagnostic log related notifications.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="access-config-type">
    <xs:sequence>
      <xs:element name="community"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            The community string defined for the access control rule.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:minLength value="1"/>
            <xs:maxLength value="32"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="ip-address"  minOccurs="1" maxOccurs="1"  type="inet:ip-address">
        <xs:annotation>
          <xs:documentation>
            The address used in conjunction with the address-prefix attribute used to validate the source of an incoming SNMP request.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="address-prefix"  minOccurs="1" maxOccurs="1"  type="address-prefix-len-type">
        <xs:annotation>
          <xs:documentation>
            The prefix to apply to the ip-address attribute for matching valid sources for the SNMP requests
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="type" minOccurs="0"  maxOccurs="1"  type="snmp-access-type" default="read-only">
        <xs:annotation>
          <xs:documentation>
            Defines the type of access granted to the SNMP request.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="view-config-ref"  minOccurs="0"  maxOccurs="unbounded" type="view-config-ref-type">
        <xs:annotation>
          <xs:documentation>
            A reference to a view-configuration name.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="view-config-type">
    <xs:sequence>
      <xs:element name="view-name"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            The administrative name of an instance of this object.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:minLength value="1"/>
            <xs:maxLength value="32"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="subtree"  minOccurs="1" maxOccurs="1"  type="xs:string">
        <xs:annotation>
          <xs:documentation>
            The OID subtree to be matched for the access view. This attribute is formated as the text representation of an ASN.1 OID following the ABNF notation below:
            Subtree =  empty | OID [.OID]*
            OID = number ; 0..128
            The matching procedures are borrowed from [RFC 3414] for tree views matching with the difference that the configuration elements uses a text notation to represent OIDs and OID masks. See the subtree-mask attribute definition for further information.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="subtree-mask"  minOccurs="1" maxOccurs="1"  type="xs:string">
        <xs:annotation>
          <xs:documentation>
            A mask to match OIDs for inclusion or exclusion as part of the view. This attribute definition is borrowed from [RFC 3414]. The only difference is that instead of bits per OID, a byte of value '0' or '1' is used to represent this attribute. 
            Each byte value 1 indicates the inclusion of the corresponding OID position in the Subtree attribute, while the value 0 indicates no need to match. See [RFC 3414] for details.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="type"  minOccurs="1" maxOccurs="1"  type="subtree-view-inclusion-type">
        <xs:annotation>
          <xs:documentation>
            Indicates inclusion or exclusion of the subtree for the defined view.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="notification-receiver-config-type">
    <xs:sequence>
      <xs:element name="notification-receiver-name"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            The administrative name of an instance in this object.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:minLength value="1"/>
            <xs:maxLength value="32"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="type" minOccurs="0"  maxOccurs="1"  type="notification-type" default="snmpv2c-trap">
        <xs:annotation>
          <xs:documentation>
            Indicates the type of SNMP notification being sent.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ip-address"  minOccurs="1" maxOccurs="1"  type="inet:ip-address">
        <xs:annotation>
          <xs:documentation>
            The IP address of the notification receiver.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="notification-receiver-port" minOccurs="0"  maxOccurs="1"  type="inet:port-number" default="162">
        <xs:annotation>
          <xs:documentation>
            The UDP port that the notification receiver listens on for messages.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="timeout" minOccurs="0"  maxOccurs="1"  type="xs:unsignedByte" default="1">
        <xs:annotation>
          <xs:documentation>
            The time in seconds the sender waits for receiving confirmation for a notification being sent. This attribute is meaningful only when the attribute type is set to 'snmpv2c-inform'; otherwise it is ignored.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="retries" minOccurs="0"  maxOccurs="1"  type="xs:unsignedByte" default="3">
        <xs:annotation>
          <xs:documentation>
            The number of retries the sender will attempt in case of it has not received confirmation of inform reception. This attribute is meaningful only when the attribute type is set to 'snmpv2c-inform'; otherwise it is ignored.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="view-config-ref"  minOccurs="0"  maxOccurs="unbounded" type="view-config-ref-type">
        <xs:annotation>
          <xs:documentation>
            A reference to a view-configuration name.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="notif-source-ip-interface-name" minOccurs="0"  maxOccurs="1"  type="xs:string">
        <xs:annotation>
          <xs:documentation>
            Local IP interface; must be a configured ip-interface name. If not specified, then the vendor picks the source IP address
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="encryptor-type">
    <xs:sequence>
      <xs:element name="encryptor-index"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            This key attribute identifies the instance of the encryptor.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ca-encryptor-type"  minOccurs="1" maxOccurs="1"  type="ca-encryptor-type-type">
        <xs:annotation>
          <xs:documentation>
            This enumeration defines the type of CA encryption the Encryptor uses. 
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ecm-timeout" minOccurs="0"  maxOccurs="1"  type="xs:unsignedShort" default="10">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the number of seconds that a CCAP will wait to get a response from a ECMG before switching to the redundant unit.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="clear-stream-timeout" minOccurs="0"  maxOccurs="1"  type="xs:unsignedShort" default="10">
        <xs:annotation>
          <xs:documentation>
            This configured attribute defines the number of seconds a given stream may be sent in the clear when the stream is configured to be encrypted.  If this timer expires and the session has not received any encryption information from the ECMG, the CCAP MUST discontinue forwarding this stream.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ecmg-usage"  minOccurs="1"  maxOccurs="unbounded" type="ecmg-usage-type">
        <xs:annotation>
          <xs:documentation>
            The ecmg-usage object provides for the configuration of multiple encryption sessions. It is an intermediate object that provides linkages between Encryptor objects and the ECMG(s) associated with those encrypted streams.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="us-rf-port-type">
    <xs:sequence>
      <xs:element name="port-number"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            The port-number attribute of Port is a zero- or one-based index that sequentially numbers the physical ports of each derived type. For example, the Port numbers of 'DsRfPort' objects start at zero and increase to n-1.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="admin-state" minOccurs="0"  maxOccurs="1"  type="admin-state-type" default="down">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the administrative state of the physical port.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="up-down-trap-enabled" minOccurs="0"  maxOccurs="1"  type="xs:boolean" default="false">
        <xs:annotation>
          <xs:documentation>
            Indicates whether linkUp/linkDown SNMP traps should be generated for this interface.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="upstream-physical-channel"  minOccurs="0"  maxOccurs="unbounded" type="upstream-physical-channel-type">
        <xs:annotation>
          <xs:documentation>
            The upstream-physical-channel object represents DOCSIS operation on a single upstream center frequency at a particular channel width. 
            Since CCAP is expected to operate with only DOCSIS 2.0 or later upstream channels, at least one UpstreamLogicalChannel object (ifType 205) is needed to be instantiated to operate within an upstream-physical-channel.  
            This object differs from the same object in DOCSIS in that the desired input power is now set at the upstream-physical-channel and not on a per-LogicalUpstreamChannel instance. If the target receive power level for an individual logical channel under a physical channel is desired to be different than the target power level for the physical channel, this can be configured using the PowerLevelAdjust attribute of the UpstreamLogicalChannel object.
          </xs:documentation>
        </xs:annotation>
        <xs:key name="key_us-rf-port_rf-line-card_slot_chassis_ccap_upstream-physical-channel_upstream-logical-channel">
          <xs:selector xpath="upstream-logical-channel"/>
          <xs:field xpath="upstream-logical-channel-index"/>
        </xs:key>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ds-rf-port-type">
    <xs:sequence>
      <xs:element name="port-number"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            The port-number attribute of Port is a zero- or one-based index that sequentially numbers the physical ports of each derived type. For example, the Port numbers of 'DsRfPort' objects start at zero and increase to n-1.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="rf-mute" minOccurs="0"  maxOccurs="1"  type="xs:boolean" default="false">
        <xs:annotation>
          <xs:documentation>
            The attribute rf-mute refers to a diagnostic state defined in the DOCSIS RF Interface (DRFI) Specification. Muting an RF port affects only the output power and does not impact the operational status of any channel on the port.  
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="base-channel-power"  minOccurs="1" maxOccurs="1"  type="xs:int">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the base output power  for each single DownChannel on the DsRfPort.  The value is expressed in dBmV in units of Tenthdb. The default value is vendor specific. Acceptable power ranges for this attribute are defined in the Power per Channel CMTS or EQAM section of [DRFI].

          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="admin-state" minOccurs="0"  maxOccurs="1"  type="admin-state-type" default="down">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the administrative state of the physical port.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="up-down-trap-enabled" minOccurs="0"  maxOccurs="1"  type="xs:boolean" default="false">
        <xs:annotation>
          <xs:documentation>
            Indicates whether linkUp/linkDown SNMP traps should be generated for this interface.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="down-channel"  minOccurs="0"  maxOccurs="158" type="down-channel-type">
        <xs:annotation>
          <xs:documentation>
            A list of down channels.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="one-gb-epon-port-type">
    <xs:sequence>
      <xs:element name="port-number"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            The port-number attribute of Port is a zero- or one-based index that sequentially numbers the physical ports of each derived type. For example, the Port numbers of 'DsRfPort' objects start at zero and increase to n-1.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="admin-state" minOccurs="0"  maxOccurs="1"  type="admin-state-type" default="down">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the administrative state of the physical port.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="up-down-trap-enabled" minOccurs="0"  maxOccurs="1"  type="xs:boolean" default="false">
        <xs:annotation>
          <xs:documentation>
            Indicates whether linkUp/linkDown SNMP traps should be generated for this interface.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="upstream-fec-mode" minOccurs="0"  maxOccurs="1"  type="upstream-fec-mode-type" default="disabled">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the FEC mode applied to the EPON upstream. The perOnu option allows the ONU provisioning process to determine whether FEC should be enabled or disabled. This option is only valid for 1G EPON interfaces.
            The default value for the 1G EPON interface would be 'disabled'.
            The default value for the 10G EPON interface would be 'enabled'.
            The value of other(1) is used when a vendor-extension has been implemented for this attribute.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="downstream-fec-mode" minOccurs="0"  maxOccurs="1"  type="downstream-fec-mode-type" default="disabled">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the FEC mode of the EPON downstream. The perOnu option allows the ONU provisioning process to determine whether FEC should be enabled or disabled. This option is only valid for 1G EPON interfaces.
            The default value for the 1G EPON interface would be 'disabled'.
            The default value for the 10G EPON interface would be 'enabled'.
            The value of other(1) is used when a vendor-extension has been implemented for this attribute.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ten-gb-epon-port-type">
    <xs:sequence>
      <xs:element name="port-number"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            The port-number attribute of Port is a zero- or one-based index that sequentially numbers the physical ports of each derived type. For example, the Port numbers of 'DsRfPort' objects start at zero and increase to n-1.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="pon-type"  minOccurs="1" maxOccurs="1"  type="pon-symmetry-type">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the speed of the 10G EPON interfaces on the line card and allows for asymmetrical upstream and downstream speeds.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="admin-state" minOccurs="0"  maxOccurs="1"  type="admin-state-type" default="down">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the administrative state of the physical port.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="up-down-trap-enabled" minOccurs="0"  maxOccurs="1"  type="xs:boolean" default="false">
        <xs:annotation>
          <xs:documentation>
            Indicates whether linkUp/linkDown SNMP traps should be generated for this interface.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="upstream-fec-mode" minOccurs="0"  maxOccurs="1"  type="upstream-fec-mode-type" default="enabled">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the FEC mode applied to the EPON upstream. The perOnu option allows the ONU provisioning process to determine whether FEC should be enabled or disabled. This option is only valid for 1G EPON interfaces.
            The default value for the 1G EPON interface would be 'disabled'.
            The default value for the 10G EPON interface would be 'enabled'.
            The value of other(1) is used when a vendor-extension has been implemented for this attribute.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="downstream-fec-mode" minOccurs="0"  maxOccurs="1"  type="downstream-fec-mode-type" default="enabled">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the FEC mode of the EPON downstream. The perOnu option allows the ONU provisioning process to determine whether FEC should be enabled or disabled. This option is only valid for 1G EPON interfaces.
            The default value for the 1G EPON interface would be 'disabled'.
            The default value for the 10G EPON interface would be 'enabled'.
            The value of other(1) is used when a vendor-extension has been implemented for this attribute.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="one-gb-ethernet-port-type">
    <xs:sequence>
      <xs:element name="port-number"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            The port-number attribute of Port is a zero- or one-based index that sequentially numbers the physical ports of each derived type. For example, the Port numbers of 'DsRfPort' objects start at zero and increase to n-1.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="admin-state" minOccurs="0"  maxOccurs="1"  type="admin-state-type" default="down">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the administrative state of the physical port.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="up-down-trap-enabled" minOccurs="0"  maxOccurs="1"  type="xs:boolean" default="false">
        <xs:annotation>
          <xs:documentation>
            Indicates whether linkUp/linkDown SNMP traps should be generated for this interface.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ip-interface"  minOccurs="0"  maxOccurs="1" type="ip-interface-type">
        <xs:annotation>
          <xs:documentation>
            An ip-interface object.
          </xs:documentation>
        </xs:annotation>
        <xs:key name="key_one-gb-ethernet-port_epon-line-card_slot_chassis_ccap_ip-interface_primary-ipv4">
          <xs:selector xpath="primary-ipv4"/>
          <xs:field xpath="ip-address"/>
        </xs:key>
        <xs:key name="key_one-gb-ethernet-port_epon-line-card_slot_chassis_ccap_ip-interface_ipv6">
          <xs:selector xpath="ipv6"/>
          <xs:field xpath="ipv6-address"/>
        </xs:key>
        <xs:key name="key_one-gb-ethernet-port_epon-line-card_slot_chassis_ccap_ip-interface_secondary-ipv4">
          <xs:selector xpath="secondary-ipv4"/>
          <xs:field xpath="ip-address"/>
        </xs:key>
      </xs:element>
      <xs:element name="duplex" minOccurs="0"  maxOccurs="1"  type="duplex-type" default="full-duplex">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the Ethernet DuplexState of the interface.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="speed"  minOccurs="1" maxOccurs="1"  type="ethernet-speed-type">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the speed of the interface for interfaces that can support multiple speeds.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ten-gb-ethernet-port-type">
    <xs:sequence>
      <xs:element name="port-number"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            The port-number attribute of Port is a zero- or one-based index that sequentially numbers the physical ports of each derived type. For example, the Port numbers of 'DsRfPort' objects start at zero and increase to n-1.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="admin-state" minOccurs="0"  maxOccurs="1"  type="admin-state-type" default="down">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the administrative state of the physical port.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="up-down-trap-enabled" minOccurs="0"  maxOccurs="1"  type="xs:boolean" default="false">
        <xs:annotation>
          <xs:documentation>
            Indicates whether linkUp/linkDown SNMP traps should be generated for this interface.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ip-interface"  minOccurs="0"  maxOccurs="1" type="ip-interface-type">
        <xs:annotation>
          <xs:documentation>
            An ip-interface object.
          </xs:documentation>
        </xs:annotation>
        <xs:key name="key_ten-gb-ethernet-port_epon-line-card_slot_chassis_ccap_ip-interface_primary-ipv4">
          <xs:selector xpath="primary-ipv4"/>
          <xs:field xpath="ip-address"/>
        </xs:key>
        <xs:key name="key_ten-gb-ethernet-port_epon-line-card_slot_chassis_ccap_ip-interface_ipv6">
          <xs:selector xpath="ipv6"/>
          <xs:field xpath="ipv6-address"/>
        </xs:key>
        <xs:key name="key_ten-gb-ethernet-port_epon-line-card_slot_chassis_ccap_ip-interface_secondary-ipv4">
          <xs:selector xpath="secondary-ipv4"/>
          <xs:field xpath="ip-address"/>
        </xs:key>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="forty-gb-ethernet-port-type">
    <xs:sequence>
      <xs:element name="port-number"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            The port-number attribute of Port is a zero- or one-based index that sequentially numbers the physical ports of each derived type. For example, the Port numbers of 'DsRfPort' objects start at zero and increase to n-1.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="admin-state" minOccurs="0"  maxOccurs="1"  type="admin-state-type" default="down">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the administrative state of the physical port.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="up-down-trap-enabled" minOccurs="0"  maxOccurs="1"  type="xs:boolean" default="false">
        <xs:annotation>
          <xs:documentation>
            Indicates whether linkUp/linkDown SNMP traps should be generated for this interface.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ip-interface"  minOccurs="0"  maxOccurs="1" type="ip-interface-type">
        <xs:annotation>
          <xs:documentation>
            An ip-interface object.
          </xs:documentation>
        </xs:annotation>
        <xs:key name="key_forty-gb-ethernet-port_epon-line-card_slot_chassis_ccap_ip-interface_primary-ipv4">
          <xs:selector xpath="primary-ipv4"/>
          <xs:field xpath="ip-address"/>
        </xs:key>
        <xs:key name="key_forty-gb-ethernet-port_epon-line-card_slot_chassis_ccap_ip-interface_ipv6">
          <xs:selector xpath="ipv6"/>
          <xs:field xpath="ipv6-address"/>
        </xs:key>
        <xs:key name="key_forty-gb-ethernet-port_epon-line-card_slot_chassis_ccap_ip-interface_secondary-ipv4">
          <xs:selector xpath="secondary-ipv4"/>
          <xs:field xpath="ip-address"/>
        </xs:key>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="one-hundred-gb-ethernet-port-type">
    <xs:sequence>
      <xs:element name="port-number"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            The port-number attribute of Port is a zero- or one-based index that sequentially numbers the physical ports of each derived type. For example, the Port numbers of 'DsRfPort' objects start at zero and increase to n-1.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="admin-state" minOccurs="0"  maxOccurs="1"  type="admin-state-type" default="down">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the administrative state of the physical port.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="up-down-trap-enabled" minOccurs="0"  maxOccurs="1"  type="xs:boolean" default="false">
        <xs:annotation>
          <xs:documentation>
            Indicates whether linkUp/linkDown SNMP traps should be generated for this interface.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ip-interface"  minOccurs="0"  maxOccurs="1" type="ip-interface-type">
        <xs:annotation>
          <xs:documentation>
            An ip-interface object.
          </xs:documentation>
        </xs:annotation>
        <xs:key name="key_one-hundred-gb-ethernet-port_epon-line-card_slot_chassis_ccap_ip-interface_primary-ipv4">
          <xs:selector xpath="primary-ipv4"/>
          <xs:field xpath="ip-address"/>
        </xs:key>
        <xs:key name="key_one-hundred-gb-ethernet-port_epon-line-card_slot_chassis_ccap_ip-interface_ipv6">
          <xs:selector xpath="ipv6"/>
          <xs:field xpath="ipv6-address"/>
        </xs:key>
        <xs:key name="key_one-hundred-gb-ethernet-port_epon-line-card_slot_chassis_ccap_ip-interface_secondary-ipv4">
          <xs:selector xpath="secondary-ipv4"/>
          <xs:field xpath="ip-address"/>
        </xs:key>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="sav-rule-type">
    <xs:sequence>
      <xs:element name="rule-id"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            This attribute is the key that identifies a particular subnet prefix rule of an instance of this object.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="prefix-address"  minOccurs="1" maxOccurs="1"  type="inet:ip-address">
        <xs:annotation>
          <xs:documentation>
            This attribute corresponds to the IP address of this subnet prefix rule.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="prefix-length"  minOccurs="1" maxOccurs="1"  type="address-prefix-len-type">
        <xs:annotation>
          <xs:documentation>
            This attribute defines the length of the subnet prefix to be matched by this rule.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="docsis-down-channel-ref-type">
    <xs:sequence>
      <xs:element name="slot"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            A reference to a slot number.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedByte">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="ds-rf-port"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            A reference to a downstream RF port number.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="down-channel"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            A reference to a DOCSIS downstream channel index.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="md-bpi-config-type">
    <xs:sequence>
      <xs:element name="default-authentication-lifetime" minOccurs="0"  maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            The value of this object is the default lifetime, in seconds, the CCAP assigns to a new authorization key.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="default-tek-lifetime" minOccurs="0"  maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            The value of this object is the default lifetime, in seconds, the CCAP assigns to a new Traffic Encryption Key (TEK).
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="upstream-bonding-group-type">
    <xs:sequence>
      <xs:element name="bonding-group-name"  minOccurs="1" maxOccurs="1"  type="xs:string">
        <xs:annotation>
          <xs:documentation>
            The name of the bonding group.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="sf-provisioned-attribute-mask" minOccurs="0"  maxOccurs="1"  type="attribute-mask-type" default="bonded">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the Provisioned Attribute Mask encoding for the bonding group.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="upstream-logical-channel-ref"  minOccurs="0"  maxOccurs="unbounded" type="upstream-logical-channel-ref-type">
        <xs:annotation>
          <xs:documentation>
            This element configures an upstream logical channel to be part of this upstream bonding group.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="rcc-configuration-type">
    <xs:sequence>
      <xs:element name="rcp-id"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            This key represents the 'Receive Channel Profile Identifier' (RCP-ID) configured for the MAC Domain indicated by this instance.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="ccap-octet-data-type">
            <xs:minLength value="10"/>
            <xs:maxLength value="10"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="rcc-cfg-id"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            This key denotes an RCC combination assignment for a particular RcpId and is unique per combination of MAC Domain and RcpId.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
            <xs:minInclusive value="1"/>
            <xs:maxInclusive value="4294967295"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="vendor-specific" minOccurs="0"  maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            This attribute contains vendor-specific information of the CM Receive Channel configuration.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="ccap-octet-data-type">
            <xs:minLength value="0"/>
            <xs:maxLength value="504"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="description" minOccurs="0"  maxOccurs="1" default=" ">
        <xs:annotation>
          <xs:documentation>
            This attribute contains a human-readable description of the CM RCP Configuration.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:minLength value="0"/>
            <xs:maxLength value="15"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="receive-channel-configuration"  minOccurs="0"  maxOccurs="unbounded" type="receive-channel-configuration-type">
        <xs:annotation>
          <xs:documentation>
            The Receive Channel Configuration object permits an operator to configure how CMs registered with certain Receive Channel Profiles will configure the Receive Channels within their profile. 
            When a CM registers with a Receive Channel Profile (RCP) for which all Receive Channel Indices (RcIds) are configured in the Receive Module object and all Receive Channels are configured within this object, the CCAP SHOULD use the configuration within these objects to set the Receive Channel Configuration returned to the CM in a REG-RSP message. 
            The CCAP MAY require configuration of all pertinent Receive Module and Receive Channel instances in order to register a CM that reports a Receive Channel Profile (RCP), including any standard Receive Channel Profiles. 
            If the CM reports multiple RCPs, and Receive Module and Receive Channel objects have instances for more than one RCP, the particular RCP selected by the CCAP is not specified. A CCAP is not restricted to assigning Receive Modules based only on the contents of this object.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="receive-module-configuration"  minOccurs="0"  maxOccurs="unbounded" type="receive-module-configuration-type">
        <xs:annotation>
          <xs:documentation>
            The Receive Module Configuration object permits an operator to configure how CMs with certain RCPs will configure the Receive Modules within their profile upon CM registration. 
            When a CM registers with an RCP for which all Receive Module Indices (RmIds) are configured in this object and all Receive Channels are configured within the Receive Channel (RxCh) object, the CCAP SHOULD use the configuration within these objects to set the Receive Channel Configuration assigned to the CM in a REG-RSP message. 
            The CCAP MAY require configuration of all pertinent Receive Module and Receive Channel instances in order to register a CM that reports a Receive Channel Profile. 
            If the CM reports multiple RCPs, and Receive Module and Receive Channel objects have instances for more than one RCP reported by the CM, the particular RCP selected by the CCAP is not specified. A CCAP is not restricted to assigning Receive Modules based only on the contents of this object.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="cmts-mac-interface-config-type">
    <xs:sequence>
      <xs:element name="sync-interval"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            The interval between CMTS transmission of successive SYNC messages at this interface.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedByte">
            <xs:minInclusive value="1"/>
            <xs:maxInclusive value="200"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="ucd-interval"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            The interval between CMTS transmission of successive Upstream Channel Descriptor messages for each upstream channel at this interface.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedShort">
            <xs:minInclusive value="1"/>
            <xs:maxInclusive value="2000"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="invited-ranging-attempts"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            The maximum number of attempts to make on invitations for ranging requests.  A value of zero means the system SHOULD attempt to range forever.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedShort">
            <xs:minInclusive value="0"/>
            <xs:maxInclusive value="1024"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="im-insertion-interval"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            The amount of time to elapse between each broadcast initial maintenance grant.  Broadcast initial maintenance grants are used to allow new cable modems to join the network.  Zero indicates that a vendor-specific algorithm  is used instead of a fixed time.  The maximum amount of time permitted by the specification is 2 seconds.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
            <xs:minInclusive value="0"/>
            <xs:maxInclusive value="2147483647"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="docsis11-concatenation-enabled" minOccurs="0"  maxOccurs="1"  type="xs:boolean" default="true">
        <xs:annotation>
          <xs:documentation>
            Enables and disables DOCSIS 1.1 concatenation.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="docsis11-fragmentation-enabled" minOccurs="0"  maxOccurs="1"  type="xs:boolean" default="true">
        <xs:annotation>
          <xs:documentation>
            Enables and disables DOCSIS 1.1 fragmentation.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="upstream-physical-channel-ref-type">
    <xs:sequence>
      <xs:element name="slot"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            A reference to a slot number.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedByte">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="us-rf-port"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            A reference to a upstream RF port number.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="upstream-physical-channel"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            A reference to an upstream physical channel.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="non-primary-capable-ds-type">
    <xs:sequence>
      <xs:element name="slot"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            A reference to a slot number.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedByte">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="ds-rf-port"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            A reference to a downstream RF port number.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="down-channel"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            A reference to a DOCSIS downstream channel index.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="primary-capable-ds-type">
    <xs:sequence>
      <xs:element name="slot"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            A reference to a slot number.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedByte">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="ds-rf-port"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            A reference to a downstream RF port number.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="down-channel"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            A reference to a DOCSIS downstream channel index.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="session-rule-type">
    <xs:sequence>
      <xs:element name="session-rule-name"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            This attribute is a unique name that associates the IP Multicast Authorization Profile Name Subtype encoding signaled by CMs with the a set of Multicast Authorization Profile Session Rules.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:minLength value="1"/>
            <xs:maxLength value="15"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="id"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            This attribute provides a unique identifier for each CMTS configured Multicast Authorization Profile Session rule within a Multicast Authorization Profile Name.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="priority" minOccurs="0"  maxOccurs="1"  type="xs:unsignedInt" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the rule priority for the static session rule. Higher values indicate a higher priority. If more than one session rule matches a joined session, the session rule with the highest rule priority determines the authorization action.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="source-prefix-address"  minOccurs="1" maxOccurs="1"  type="inet:ip-address">
        <xs:annotation>
          <xs:documentation>
            This attribute identifies a specific Multicast Source Address defined for this rule. A Source Address that is all zeros is defined as 'all source addresses' (*, G). Source prefix addresses are unicast addresses.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="source-prefix-length"  minOccurs="1" maxOccurs="1"  type="address-prefix-len-type">
        <xs:annotation>
          <xs:documentation>
            This attribute identifies the prefix length associated with a range of Source (S) IP multicast group addresses. For Group or ASM based sessions this attribute is set to 0.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="group-prefix-address"  minOccurs="1" maxOccurs="1"  type="inet:ip-address">
        <xs:annotation>
          <xs:documentation>
            This attribute is the IP address corresponding to an IP multicast group.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="group-prefix-length"  minOccurs="1" maxOccurs="1"  type="address-prefix-len-type">
        <xs:annotation>
          <xs:documentation>
            This attribute identifies the prefix length associated with a range of Group Destination IP multicast addresses.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="authorization-action" minOccurs="0"  maxOccurs="1"  type="authorization-action-type" default="deny">
        <xs:annotation>
          <xs:documentation>
            This attribute specifies the authorization action for a session join attempt that matches the session rule.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="interval-usage-code-type">
    <xs:sequence>
      <xs:element name="usage-code"  minOccurs="1" maxOccurs="1"  type="modulation-interval-usage-code-type">
        <xs:annotation>
          <xs:documentation>
            An index into the Channel Modulation table that, when grouped with other Interval Usage Codes, fully instantiates all modulation sets for a given upstream channel.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="modulation" minOccurs="0"  maxOccurs="1"  type="modulation-type" default="qpsk">
        <xs:annotation>
          <xs:documentation>
            The modulation type used on this channel.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="preamble-length"  minOccurs="1" maxOccurs="1"  type="preamble-length-type">
        <xs:annotation>
          <xs:documentation>
            The preamble length for this modulation profile in bits.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="differential-encoding" minOccurs="0"  maxOccurs="1"  type="xs:boolean" default="false">
        <xs:annotation>
          <xs:documentation>
            Specifies whether or not differential encoding is used on this channel.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="fec-error-correction" minOccurs="0"  maxOccurs="1"  type="fec-error-correction-type" default="0">
        <xs:annotation>
          <xs:documentation>
            The number of correctable errored bytes (t) used in forward error correction code.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="fec-codeword-length" minOccurs="0"  maxOccurs="1"  type="fec-codeword-length-type" default="32">
        <xs:annotation>
          <xs:documentation>
            The number of data bytes (k) in the forward error correction codeword.
            This object is not used if fec-error-correction is zero.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="scrambler-seed" minOccurs="0"  maxOccurs="1"  type="scrambler-seed-type" default="0">
        <xs:annotation>
          <xs:documentation>
            The 15-bit seed value for the scrambler polynomial.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="max-burst-size"  minOccurs="1" maxOccurs="1"  type="xs:unsignedByte">
        <xs:annotation>
          <xs:documentation>
            The maximum number of mini-slots that can be transmitted during this channel's burst time. Default value is 0, except for shortData, where it is 8.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="last-codeword-shortened" minOccurs="0"  maxOccurs="1"  type="xs:boolean" default="true">
        <xs:annotation>
          <xs:documentation>
            Indicates whether the last FEC codeword is truncated.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="scrambler" minOccurs="0"  maxOccurs="1"  type="xs:boolean" default="false">
        <xs:annotation>
          <xs:documentation>
            Indicates whether the scrambler is employed.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="byte-interleaver-depth" minOccurs="0"  maxOccurs="1"  type="xs:unsignedInt" default="1">
        <xs:annotation>
          <xs:documentation>
            ATDMA Byte Interleaver Depth (Ir).
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="byte-interleaver-block-size" minOccurs="0"  maxOccurs="1"  type="xs:unsignedInt" default="18">
        <xs:annotation>
          <xs:documentation>
            ATDMA Byte Interleaver Block size (Br).
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="preamble" minOccurs="0"  maxOccurs="1"  type="preamble-type" default="qpsk0">
        <xs:annotation>
          <xs:documentation>
            Preamble type for DOCSIS 2.0 bursts.  
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="tcm-error-correction-on" minOccurs="0"  maxOccurs="1"  type="xs:boolean" default="false">
        <xs:annotation>
          <xs:documentation>
            Trellis Code Modulation (TCM) On/Off.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="scdma-interleaver-step-size" minOccurs="0"  maxOccurs="1"  type="scdma-interleaver-step-size-type" default="1">
        <xs:annotation>
          <xs:documentation>
            S-CDMA Interleaver step size.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="scdma-spreader-enable"  minOccurs="1" maxOccurs="1"  type="xs:boolean">
        <xs:annotation>
          <xs:documentation>
            S-CDMA spreader.  Default value for IUC 3 and 4 is OFF; for all other IUCs it is ON.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="scdma-subframe-codes" minOccurs="0"  maxOccurs="1"  type="scdma-subframe-codes-type" default="1">
        <xs:annotation>
          <xs:documentation>
            S-CDMA sub-frame size.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="channel-type" minOccurs="0"  maxOccurs="1"  type="us-channel-type" default="tdma">
        <xs:annotation>
          <xs:documentation>
            Describes the modulation channel type for this modulation entry.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="dsg-channel-type">
    <xs:sequence>
      <xs:element name="dsg-channel-index"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            The local index of the channel.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="channel-downstream-frequency" minOccurs="0"  maxOccurs="1" default="0">
        <xs:annotation>
          <xs:documentation>
            The channel-downstream-frequency attribute represent a frequency of a downstream channel carrying DSG information. Frequency is a multiple of 62500 Hz, per [DSG]
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
            <xs:minInclusive value="0"/>
            <xs:maxInclusive value="1000000000"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="tunnel-group-channel-type">
    <xs:sequence>
      <xs:element name="tunnel-group-channel-index"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the linkage to a specific DownChan instance that will carry the DSG tunnels in this tunnel group.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="rule-priority" minOccurs="0"  maxOccurs="1" default="0">
        <xs:annotation>
          <xs:documentation>
            The DSG rule priority determines the order in which the DSG rules are applied by the DSG client. The default value is 0, which is the lowest priority.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedByte">
            <xs:minInclusive value="0"/>
            <xs:maxInclusive value="255"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="vendor-param-id" minOccurs="0"  maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            Reference to the Vendor Parameters Id. Zero means not configured.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="dsg-downstream-index"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            Reference to the DSG Down Channel Index.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="vendor-param-type">
    <xs:sequence>
      <xs:element name="vendor-index"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            The vendor-specific identifier configured for each instance of the pair of VendorOui and VendorValue attributes.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="vendor-oui"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            The vendor-oui attribute allows for the configuration of vendor-assigned organization unique ID (OUI).
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="ccap-octet-data-type">
            <xs:minLength value="6"/>
            <xs:maxLength value="6"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="vendor-value"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            This attribute represents a vendor-specific parameter value in the form of an octet string.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="ccap-octet-data-type">
            <xs:minLength value="0"/>
            <xs:maxLength value="100"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="dsg-client-type">
    <xs:sequence>
      <xs:element name="client-id-index"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            This attribute identifies a single client on a DSG client list.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="dsg-client-id-type" minOccurs="0"  maxOccurs="1"  type="dsg-client-id-class-type" default="broadcast">
        <xs:annotation>
          <xs:documentation>
            The Client Identification type.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="client-id-value" minOccurs="0"  maxOccurs="1" default="000000000000">
        <xs:annotation>
          <xs:documentation>
            The Client Identification Value. The content depends on the value of the dsgIfClientIdType. For dsgIfClientIdType of a type broadcast(1), this object will have a 16-bit value whether or not it is a length 0 or length 2 broadcast ID. If the value is 0, then the encoded Type Length Value Attribute (TLV) in the DCD would be the original, zero length, broadcast ID. If the value is specified in Table 5-2 of [DSG], then the TLV in the DCD would be a length 2 broadcast ID followed by the value. For ClientIdType of a type macAddress(2), this object is a well-known MAC address. For ClientIdType of a type caSystemId(3), this object is a CA System ID. For ClientIdType of a type applicationId(4), this object is an application ID. Client IDs representing types broadcast(1), caSystemId(3) or applicationId(4) are encoded in DCD messages as Unsigned integers and configured in this object as 6 octet string with the 2 LSB for the client ID value, e.g., an applicationId 2048 (0x0800) is encoded as '000000000800'h.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="ccap-octet-data-type">
            <xs:minLength value="12"/>
            <xs:maxLength value="12"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="vendor-parameters-id" minOccurs="0"  maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            Reference to Vendor Parameters Id.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="multicast-video-input-ts-type">
    <xs:sequence>
      <xs:element name="multicast-ts-source-ip-address"  minOccurs="1" maxOccurs="1"  type="inet:ip-address">
        <xs:annotation>
          <xs:documentation>
            This attribute corresponds to the Source Specific Multicast IP Address of the UDP IP flow.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="multicast-ts-destination-ip-address"  minOccurs="1" maxOccurs="1"  type="inet:ip-address">
        <xs:annotation>
          <xs:documentation>
            This attribute corresponds to the group address of a SSM (Source Specific Multicast) origination input TS.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="multicast-ts-destination-udp-port" minOccurs="0"  maxOccurs="1"  type="inet:port-number" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute corresponds to the UDP destination port of the UDP IP flow of the input TS.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="multicast-ts-priority"  minOccurs="1" maxOccurs="1"  type="xs:byte">
        <xs:annotation>
          <xs:documentation>
            This attribute is a number that identifies the preference order of this transport stream; higher number indicates a higher priority. It is used to order the multicast transport stream for the purpose of redundancy in the case of multiple multicast video sources. If two entries have the same 'Priority', it implies Hot-Hot redundancy.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="multicast-ts-interface-name" minOccurs="0"  maxOccurs="1"  type="xs:string">
        <xs:annotation>
          <xs:documentation>
            Local IP interface; must be a configured ip-interface name. This association provides a static mapping of an input transport stream to an IP interface
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="primary-ipv4-type">
    <xs:sequence>
      <xs:element name="ip-address"  minOccurs="1" maxOccurs="1"  type="inet:ipv4-prefix">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the primary IPv4 address and prefix for this instance.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ipv6-type">
    <xs:sequence>
      <xs:element name="ipv6-address"  minOccurs="1" maxOccurs="1"  type="inet:ipv6-prefix">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the IPv6 address and prefix for this instance.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="secondary-ipv4-type">
    <xs:sequence>
      <xs:element name="ip-address"  minOccurs="1" maxOccurs="1"  type="inet:ipv4-prefix">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the secondary IPv4 address and prefix for this instance.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="service-definition-template-type">
    <xs:sequence>
      <xs:element name="service-definition-id"  minOccurs="1" maxOccurs="1"  type="ipdr-service-definition-type">
        <xs:annotation>
          <xs:documentation>
            This list configures the service type definition(s) for this IPDR session. See the IPDR Service Definition Schemas section of [OSSIv3.0] for the definitions and schemas of the types defined in this enumeration. The value of other(1) is used when a vendor-extension has been implemented for this attribute.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="collector-reference-type">
    <xs:sequence>
      <xs:element name="collector-id"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            A reference to a collector id.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedByte">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="view-config-ref-type">
    <xs:sequence>
      <xs:element name="view-name"  minOccurs="1" maxOccurs="1">
        <xs:simpleType>
          <xs:restriction base="xs:string">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ecmg-usage-type">
    <xs:sequence>
      <xs:element name="ecmg-usage-index"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            This is an index for an instance of this object. ecmg-usage-index is a pointer to an active ECMG that can be used for any program session that requires encryption as long as the CAS identifier matches.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="priority"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            This is the configured selection priority for any program session that requires encryption when multiple ECMGs with the same CAS identifier are active. The ECMG with the lowest number should be selected first.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ecmg-ref" minOccurs="0"  maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            A reference to the index of an ecmg instance.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="upstream-physical-channel-type">
    <xs:sequence>
      <xs:element name="channel-index"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            This key identifies a channel on a specific RF Port.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="admin-state" minOccurs="0"  maxOccurs="1"  type="admin-state-type" default="down">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the administrative status of the channel. For downstream channels, Setting the value to down(3) results in the channel being muted, and the value of testing(4) is used to generate a continuous test wave on this QAM channel.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="up-down-trap-enabled" minOccurs="0"  maxOccurs="1"  type="xs:boolean" default="true">
        <xs:annotation>
          <xs:documentation>
            Indicates whether linkUp/linkDown SNMP traps should be generated for this interface.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="frequency"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the center frequency of the upstream-physical-channel, in Hertz. As of DOCSIS 3.0, the minimum permitted value is the center frequency such that the lower channel edge is 5000000 Hz and the maximum permitted value is the center frequency at which the upper channel edge is 85000000 Hz.  This attribute corresponds to the docsIfUpChannelFrequency object of DOCS-IF-MIB [RFC 4546]. 
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
            <xs:minInclusive value="5000000"/>
            <xs:maxInclusive value="85000000"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="width"  minOccurs="1" maxOccurs="1"  type="us-channel-width">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the width of the upstream-physical-channel, in Hertz.  The only permitted values as of DOCSIS 3.0 are 1600000, 3200000, and 6400000. The CCAP may support the narrower channel widths 200000, 400000 and 800000KHz.  This attribute corresponds to the docsIfUpChannelFrequency object of DOCS-IF-MIB [RFC 4546].
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="power-level"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the desired input power level, in TenthdBmV, common for all upstream logical channels associated with this physical channel instance. The power level for individual logical channel can be deviated from the common power level through configuration of PowerLevelAdjust attribute.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="upstream-logical-channel"  minOccurs="1"  maxOccurs="unbounded" type="upstream-logical-channel-type">
        <xs:annotation>
          <xs:documentation>
            A list of upstream logical channels.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="down-channel-type">
    <xs:sequence>
      <xs:element name="channel-index"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            This key identifies a channel on a specific RF Port.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="admin-state" minOccurs="0"  maxOccurs="1"  type="admin-state-type" default="down">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the administrative status of the channel. For downstream channels, Setting the value to down(3) results in the channel being muted, and the value of testing(4) is used to generate a continuous test wave on this QAM channel.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="up-down-trap-enabled" minOccurs="0"  maxOccurs="1"  type="xs:boolean" default="true">
        <xs:annotation>
          <xs:documentation>
            Indicates whether linkUp/linkDown SNMP traps should be generated for this interface.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="power-adjust" minOccurs="0"  maxOccurs="1"  type="xs:short" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the power gain for the channel. It is expressed in TenthdB.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="frequency"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            This attribute specifies the center frequency of the channel. It is expressed in Hertz. The CCAP MUST NOT allow the frequency of any DownChannel instances to overlap on a given downstream RF port.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="rf-mute" minOccurs="0"  maxOccurs="1"  type="xs:boolean" default="false">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the mute state for the specific DownChannel. If set to true, the ifOperStatus of the VideoDownChannel or DocsisDownChannel associated with this instance of DownChannel is set to 'down'. If set to false, no muting takes place. Operation while muted is described in [DRFI]
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="qam-alias" minOccurs="0"  maxOccurs="1"  type="xs:string">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the name of the QAM channel and is equivalent to the ifAlias object in the if-MIB.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="errp-advertising" minOccurs="0"  maxOccurs="1"  type="xs:boolean" default="true">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the ERRP advertisement state of the QAM channel. If set to true, the QAM channel is advertised; otherwise it is not advertised. This is primarily useful when statically configuring the QAM channels and when the QAM channel is not made part of the ERM channel list. This attribute is optional for DocsisDownChannel.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:choice>
        <xs:element name="erm-parameters" minOccurs="0"  maxOccurs="1" type="erm-parameters-type">
          <xs:annotation>
            <xs:documentation>
              This optional configuration object allows for the configuration of the needed parameters that are communicated to an ERM for a given DownChannel object instance.
            </xs:documentation>
          </xs:annotation>
          <xs:key name="key_down-channel_ds-rf-port_rf-line-card_slot_chassis_ccap_erm-parameters_encryption-capability">
            <xs:selector xpath="encryption-capability"/>
            <xs:field xpath="encryption-capability-index"/>
          </xs:key>
        </xs:element>
        <xs:element name="yang-choice-ext" minOccurs="0"  maxOccurs="1" type="yang-choice-ext-type">
          <xs:annotation>
            <xs:documentation>
              node for vendor YANG extensions
            </xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="ext-choice4" type="ext-type" minOccurs="0"/>
      </xs:choice>
      <xs:choice>
        <xs:element name="docsis-down-channel" minOccurs="1"  maxOccurs="1" type="docsis-down-channel-type">
          <xs:annotation>
            <xs:documentation>
              The docsis-down-channel object is a down-channel used exclusively for DOCSIS. The down-channel is its generalization. 
              The docsis-down-channel object is a specialization of down-channel.
            </xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="video-down-channel" minOccurs="1"  maxOccurs="1" type="video-down-channel-type">
          <xs:annotation>
            <xs:documentation>
              The video-down-channel object is a down-channel used exclusively for video channel configuration
            </xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="yang-choice-ext2" minOccurs="1"  maxOccurs="1" type="yang-choice-ext2-type">
          <xs:annotation>
            <xs:documentation>
              node for vendor YANG extensions
            </xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="ext-choice5" type="ext-type" minOccurs="1"/>
      </xs:choice>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="upstream-logical-channel-ref-type">
    <xs:sequence>
      <xs:element name="slot"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            A reference to a slot number.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedByte">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="us-rf-port"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            A reference to a upstream RF port number.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="upstream-physical-channel"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            A reference to an upstream physical channel.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="upstream-logical-channel"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            A reference to an upstream logical channel.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="receive-channel-configuration-type">
    <xs:sequence>
      <xs:element name="receive-channel-id"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            This key represents an identifier for the parameters of the Receive Channel instance within the Receive Channel Profile.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedByte">
            <xs:minInclusive value="1"/>
            <xs:maxInclusive value="255"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="primary-downstream-indicator" minOccurs="0"  maxOccurs="1"  type="xs:boolean" default="false">
        <xs:annotation>
          <xs:documentation>
            If set to 'true', this attribute indicates the Receive Channel is to be the primary-capable downstream channel for the CM receiving this RCC. Otherwise, the downstream channel is to be a non-primary-capable channel.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="rc-rm-connectivity-identifier" minOccurs="0"  maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            This attribute indicates the Receive Module (via the RmId from the RxModule object) to which this Receive Channel connects. If this object contains a zero value (and thus no Receive Channel Connectivity), the Receive Channel Connectivity TLV is omitted from the RCC.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedByte">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="docsis-down-channel-ref" minOccurs="0"  maxOccurs="1" type="docsis-down-channel-ref-type">
        <xs:annotation>
          <xs:documentation>
            A reference to a DOCSIS downstream channel.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="receive-module-configuration-type">
    <xs:sequence>
      <xs:element name="receive-module-id"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            This key represents an identifier of a Receive Module instance within the Receive Channel Profile.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedByte">
            <xs:minInclusive value="1"/>
            <xs:maxInclusive value="255"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="rm-rm-connectivity-id" minOccurs="0"  maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the higher level (i.e., closer to RF) Receive Module to which this Receive Module connects. If this object contains a zero value (and thus no Receive Module Connectivity), the Receive Module Connectivity TLV is omitted from the RCC.
            Within a single instance of the RxModule object, the RmRmConnectivityId attribute cannot contain the same value as the RmId attribute. The RmRmConnectivityId attribute points to a separate RxModule object instance with the same value of RccCfgId.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedByte">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="first-center-frequency" minOccurs="0"  maxOccurs="1"  type="xs:unsignedInt" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the center frequency, in Hz, and a multiple of 62500, that indicates the low frequency channel of the Receive Module, or 0 if not applicable to the Receive Module.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="upstream-logical-channel-type">
    <xs:sequence>
      <xs:element name="upstream-logical-channel-index"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            The channel index for an upstream logical channel.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="admin-state" minOccurs="0"  maxOccurs="1"  type="admin-state-type" default="down">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the administrative state of the upstream logical channel.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="up-down-trap-enabled" minOccurs="0"  maxOccurs="1"  type="xs:boolean" default="false">
        <xs:annotation>
          <xs:documentation>
            Indicates whether linkUp/linkDown SNMP traps should be generated for this interface.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="channel-id" minOccurs="0"  maxOccurs="1"  type="xs:unsignedInt" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute permits an operator to optionally configure the upstream channel ID signaled in the DOCSIS protocol for the UpstreamLogicalChannel. If zero, CMTSs automatically assign the DocsisUpChannelId, and this attribute is only read. An operator can create or update this attribute with a non-zero value to force the CCAP to use the configured DOCSIS channel ID. A unique configured value exists within the MacDomain to which the upstream-physical-channel containing this UpstreamLogicalChannel is associated.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="slot-size"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the number of 6.25 microsecond ticks in each upstream mini-slot for the UpstreamLogicalChannel. This attribute may have different values for the different UpstreamLogicalChannel objects on the same upstream-physical-channel. This attribute is applicable to TDMA and ATDMA channel types only; its value is read and written as zero for SDCMA type channels.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ranging-backoff-start"  minOccurs="1" maxOccurs="1"  type="xs:unsignedByte">
        <xs:annotation>
          <xs:documentation>
            This attribute is the initial random back-off window to use when retrying Ranging Requests. It is expressed as a power of 2. A value of 16 at the CCAP indicates that a proprietary adaptive retry mechanism is to be used.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ranging-backoff-end"  minOccurs="1" maxOccurs="1"  type="xs:unsignedByte">
        <xs:annotation>
          <xs:documentation>
            This attribute is the final random back-off window to use when retrying Ranging Requests. It is expressed as a power of 2. A value of 16 at the CCAP indicates that a proprietary adaptive retry mechanism is to be used.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="transmit-backoff-start" minOccurs="0"  maxOccurs="1"  type="xs:unsignedByte">
        <xs:annotation>
          <xs:documentation>
            The initial random back-off window to use when retrying transmissions. Expressed as a power of 2. A value of 16 at the CCAP indicates that a proprietary adaptive retry mechanism is to be used. See the associated conformance object for write conditions and limitations.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="transmit-backoff-end"  minOccurs="1" maxOccurs="1"  type="xs:unsignedByte">
        <xs:annotation>
          <xs:documentation>
            The final random back-off window to use when retrying transmissions. Expressed as a power of 2. A value of 16 at the CCAP indicates that a proprietary adaptive retry mechanism is to be used. See the associated conformance object for write conditions and limitations.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="pre-equalization-enable"  minOccurs="1" maxOccurs="1"  type="xs:boolean">
        <xs:annotation>
          <xs:documentation>
            This attribute enables pre-equalization on the UpstreamLogicalChannel when its value is true, or disables pre-equalization when its value is false.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="provisioned-attribute-mask"  minOccurs="1" maxOccurs="1"  type="attribute-mask-type">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the 32-bit Provisioned Attribute Mask for the UpstreamLogicalChannel. This is used by a CCAP to control how upstream service flows are assigned to the UpstreamLogicalChannel.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="power-level-adjust" minOccurs="0"  maxOccurs="1"  type="xs:unsignedInt" default="0">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the adjustment from the common power level configured for the physical US channel in TenthdB. The sum of the PowerLevel and PowerLevelAdjust determines the expected input power level for the logical channel. If the CCAP does not support the ability to set the PowerLevelAdjust attribute to a non-zero value, the CCAP may log an error upon execution of an XML configuration file that contains this attribute value.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="modulation"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            A reference to a modulation index.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:choice>
        <xs:element name="scdma-logical-channel" minOccurs="1"  maxOccurs="1" type="scdma-logical-channel-type">
          <xs:annotation>
            <xs:documentation>
              This configuration object is constructed from the SCDMA fields of the docsIfUpstreamChannelTable defined in [RFC 4546] and the DOCS-IFEXT2-MIB defined in Annex H of [OSSIv3.0].
              The scdma object is an optional grouping of additional parameters to an UpstreamLogicalChannel that is defined only for UpstreamLogicalChannel objects that reference an SCDMA modulation profile.
            </xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="tdma-logical-channel" minOccurs="1"  maxOccurs="1" type="tdma-logical-channel-type">
          <xs:annotation>
            <xs:documentation>
              This configuration object is a specialization of the docsIfUpstreamChannelTable defined in [RFC 4546] for TDMA logical channels.

            </xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="atdma-logical-channel" minOccurs="1"  maxOccurs="1" type="atdma-logical-channel-type">
          <xs:annotation>
            <xs:documentation>
              This configuration object is a specialization of the docsIfUpstreamChannelTable defined in [RFC 4546] for ATDMA logical channels.


            </xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="tdma-and-atdma-logical-channel" minOccurs="1"  maxOccurs="1" type="tdma-and-atdma-logical-channel-type">
          <xs:annotation>
            <xs:documentation>
              This configuration object is a specialization of the docsIfUpstreamChannelTable defined in [RFC 4546] for mixed TDMA/ATDMA logical channels.


            </xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="yang-choice-ext" minOccurs="1"  maxOccurs="1" type="yang-choice-ext-type">
          <xs:annotation>
            <xs:documentation>
              node for vendor YANG extensions
            </xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="ext-choice6" type="ext-type" minOccurs="1"/>
      </xs:choice>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="erm-parameters-type">
    <xs:sequence>
      <xs:element name="input-map-group-name"  minOccurs="1" maxOccurs="1"  type="xs:string">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the address field in the WithdrawnRoute and ReachableRoutes ERRP attributes. This attribute is optional for DocsisDownChannel.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="phy-lock-parameters" minOccurs="0"  maxOccurs="1" default=" ">
        <xs:annotation>
          <xs:documentation>
            This attribute represents the PHY parameters Lock state of the QAM channels for DEPI-initiated PHY parameters updates.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:list>
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:enumeration value="frequency"/>
                <xs:enumeration value="bandwidth"/>
                <xs:enumeration value="power"/>
                <xs:enumeration value="modulation"/>
                <xs:enumeration value="interleaver"/>
                <xs:enumeration value="j83annex"/>
                <xs:enumeration value="symbol-rate"/>
                <xs:enumeration value="mute"/>
              </xs:restriction>
            </xs:simpleType>
          </xs:list>
        </xs:simpleType>
      </xs:element>
      <xs:element name="allocation-type" minOccurs="0"  maxOccurs="1"  type="downstream-allocation-type" default="any">
        <xs:annotation>
          <xs:documentation>
            This attribute defines the services this specific DownChannel instance can be allocated to.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="encryption-capability"  minOccurs="0"  maxOccurs="3" type="encryption-capability-type">
        <xs:annotation>
          <xs:documentation>
            The EncryptionCapability object defines one encryption option of the Encryptor that needs to be reported to the ERM. There can be up to three EncryptionCapability objects per QAM. In return, the ERM is expected to create dynamic sessions using one of the reported encryption options.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="erm-name"  minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            The ERM that manages this down channel.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:string">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="docsis-down-channel-type">
    <xs:sequence>
      <xs:element name="id" minOccurs="0"  maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            Unique identifier per mac-domain for the docsis-down-channel. Used in DOCSIS messages. A value of 0 (zero) means that the CCAP will automatically assign the Id.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="provisioned-attribute-mask" minOccurs="0"  maxOccurs="1"  type="attribute-mask-type">
        <xs:annotation>
          <xs:documentation>
            This attribute contains Provisioned Attribute Mask of non-bonded service flow assignment to this channel.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="docsis-output-tsid" minOccurs="0"  maxOccurs="1"  type="xs:unsignedShort" default="0">
        <xs:annotation>
          <xs:documentation>
            This optional attribute specifies the output TSID of the channel. This attribute is optional for DocsisDownChannel. The TSID is globally unique per CCAP.  Replicated output streams share the same OutputTsid.


          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="docsis-phy-profile-index" minOccurs="0"  maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            A reference to a Docsis physical parameters profile. The default for this index is vendor-dependent; it must default to an index that is always present in the phy-profile list.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="video-down-channel-type">
    <xs:sequence>
      <xs:element name="video-output-tsid"  minOccurs="1" maxOccurs="1"  type="xs:unsignedShort">
        <xs:annotation>
          <xs:documentation>
            This attribute specifies the output TSID of the channel. This attribute is required for a VideoDownChannel. The TSID is globally unique per CCAP. Replicated output streams share the same OutputTsid.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="video-phy-profile-index" minOccurs="0"  maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            A reference to a video physical parameters profile. The default for this index is vendor-dependent; it must default to an index that is always present in the phy-profile list.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="yang-choice-ext2-type">
    <xs:sequence>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="scdma-logical-channel-type">
    <xs:sequence>
      <xs:element name="active-codes" minOccurs="0"  maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            This attribute configures the number of active codes used in this channel.  Note that legal values from 64..128 are required to be non-prime. Valid values are 0|64..66| 68..70| 72| 74..78| 80..82| 84..88| 90..96| 98..100|102| 104..106|108 |110..112|114..126|128.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="codes-per-slot" minOccurs="0"  maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            Applicable for SCDMA channel types only. The configured number of SCDMA codes per mini-slot.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="frame-size" minOccurs="0"  maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            Applicable for SCDMA channel types only. The configured SCDMA frame size in units of spreading intervals.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="hopping-seed" minOccurs="0"  maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            Applicable for SCDMA channel types only. 15-bit seed used for code hopping sequence initialization. Returns zero for non-SCDMA channel types.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="msc-state" minOccurs="0"  maxOccurs="1"  type="msc-state-type" default="channel-disabled">
        <xs:annotation>
          <xs:documentation>
            Indicates the state of the Maximum Scheduled Codes feature for an individual logical channel on the CCAP.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="msc-minimum-value" minOccurs="0"  maxOccurs="1" default="4">
        <xs:annotation>
          <xs:documentation>
            When Maximum Scheduled Codes is enabled, instructs the CCAP to assign cable modems MSC values no less than this value.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedByte">
            <xs:minInclusive value="4"/>
            <xs:maxInclusive value="128"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="tdma-logical-channel-type">
    <xs:sequence>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="atdma-logical-channel-type">
    <xs:sequence>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="tdma-and-atdma-logical-channel-type">
    <xs:sequence>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="encryption-capability-type">
    <xs:sequence>
      <xs:element name="encryption-capability-index"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            This attributes assigns a unique identifier to this instance of the EncryptionCapability object.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ca-encryptor"  minOccurs="1" maxOccurs="1"  type="ca-encryptor-type-type">
        <xs:annotation>
          <xs:documentation>
            This enumeration defines the type of CA encryption the Encryptor uses. The value of other(1) is used when a vendor-extension has been implemented for this attribute.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="encryption-scheme"  minOccurs="1" maxOccurs="1"  type="encryption-scheme-type">
        <xs:annotation>
          <xs:documentation>
            This attribute defines the encryption algorithms applicable to the CA encryption defined by the CaEncryptor attribute. The value of other(1) is used when a vendor-extension has been implemented for this attribute.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="key-length"  minOccurs="1" maxOccurs="1"  type="xs:unsignedInt">
        <xs:annotation>
          <xs:documentation>
            This attribute defines the key length applicable to the algorithm defined by the EncryptionScheme attribute.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yang-ext" minOccurs="0"  maxOccurs="1" type="yang-ext-type">
        <xs:annotation>
          <xs:documentation>
            node for vendor YANG extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ext" type="ext-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

</xs:schema>
