<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
        targetNamespace="http://www.cablelabs.com/namespaces/DOCSIS/3.0/xsd/ipdr/DOCSIS-QOS"
        xmlns:DOCSIS-QOS="http://www.cablelabs.com/namespaces/DOCSIS/3.0/xsd/ipdr/DOCSIS-QOS"
        xmlns:ipdr="http://mibs.cablelabs.com/namespaces/DOCSIS/tmforum/xsd/ipdr/"
        elementFormDefault="qualified"
        attributeFormDefault="unqualified"
        version="3.7-A.1.0.0">
  <import namespace="http://mibs.cablelabs.com/namespaces/DOCSIS/tmforum/xsd/ipdr/" schemaLocation="http://mibs.cablelabs.com/namespaces/DOCSIS/tmforum/xsd/ipdr/IPDRDoc3.5.1.xsd"/>
  <include schemaLocation="http://mibs.cablelabs.com/namespaces/DOCSIS/tmforum/xsd/ipdr/IPDRTypes.xsd"/>
  <annotation>
    <documentation>
      DOCSIS-QOS is an auxiliary schema which defines Quality of Service
      (QOS) information.

      Revision History:
      3.5.1-A.1 Initial version.
      3.7-A.1.0.0 Add semantic versioning. Remove ipdr.org references. Update namespace from mibs to www.
                  Fix import versions. Add Contact information.
                  Error corrections announced via errata sheet attached to CM-SP-OSSIv3.0-C01-171207.

      Contact:
        Postal: Cable Television Laboratories, Inc.
        858 Coal Creek Circle
        Louisville, Colorado 80027-9750
        U.S.A.
        Phone: +1 303-661-9100
        Fax: +1 303-661-9199
        Email: data-model-support@cablelabs.com

      Copyright 2019-2026 Cable Television Laboratories, Inc.
        All rights reserved.
    </documentation>
    <documentation>
      <ipdr:reference>
        DOCSIS 3.0 Operations Support System Interface Specification
        CM-SP-OSSIv3.0-C01-171207.
      </ipdr:reference>
    </documentation>
  </annotation>
  <element name="ServiceFlowChSet">
    <annotation>
      <documentation>
        Contains the set of channels
        configured for the service flow. Each octet represents the
        channel id of a channel.
      </documentation>
    </annotation>
    <simpleType>
      <restriction base="hexBinary">
        <maxLength value="255"/>
        <minLength value="1"/>
      </restriction>
    </simpleType>
  </element>
  <element name="ServiceAppId" type="unsignedInt">
    <annotation>
      <documentation>
        Contains the application identifier associated
        with the service flow.
      </documentation>
    </annotation>
  </element>
  <element name="ServiceDsMulticast" type="boolean">
    <annotation>
      <documentation>
        Indicates whether the service flow
        is multicast or unicast. A value of 'true' indicates a multicast
        service flow. A value of 'false' indicates a unicast service flow
      </documentation>
    </annotation>
  </element>
  <element name="ServiceIdentifier" type="unsignedInt">
    <annotation>
      <documentation>
        Contains a 32-bit Service Flow ID of the SF, in decimal notation.
      </documentation>
    </annotation>
  </element>
  <element name="ServiceGateId" type="unsignedInt">
    <annotation>
      <documentation>
        Contains a 32-bit GateID of the SF, or zero if not applicable, in
        decimal notation.
      </documentation>
    </annotation>
  </element>
  <element name="ServiceClassName" type="string">
    <annotation>
      <documentation>
        Contains the Service Class Name (SCN) of the Service Flow.
      </documentation>
    </annotation>
  </element>
  <element name="ServiceDirection">
    <annotation>
      <documentation>
        Contains the direction of the SF from the CMTS cable interface.
      </documentation>
    </annotation>
    <simpleType>
      <restriction base="integer">
        <enumeration value="1">
          <annotation>
            <documentation>
              <ipdr:enumMeaning>Downstream</ipdr:enumMeaning>
            </documentation>
          </annotation>
        </enumeration>
        <enumeration value="2">
          <annotation>
            <documentation>
              <ipdr:enumMeaning>Upstream</ipdr:enumMeaning>
            </documentation>
          </annotation>
        </enumeration>
      </restriction>
    </simpleType>
  </element>
  <element name="ServiceOctetsPassed" type="unsignedLong">
    <annotation>
      <documentation>
        Contains a 64-bit absolute counter value of octets passed by this SF.
      </documentation>
    </annotation>
  </element>
  <element name="ServicePktsPassed" type="unsignedLong">
    <annotation>
      <documentation>
        Contains a 64-bit absolute counter value of octets passed by this SF.
      </documentation>
    </annotation>
  </element>
  <element name="ServiceSlaDropPkts" type="unsignedInt">
    <annotation>
      <documentation>
        Contains a 32-bit absolute counter value of packets dropped exceeding
        SLA by this SF (Downstream only).
      </documentation>
    </annotation>
  </element>
  <element name="ServiceSlaDelayPkts" type="unsignedInt">
    <annotation>
      <documentation>
        Contains a 32-bit absolute counter value of packets delayed exceeding
        SLA by this SF (Downstream only).
      </documentation>
    </annotation>
  </element>
  <element name="ServiceTimeCreated" type="unsignedInt">
    <annotation>
      <documentation>
        Contains the value of CmtsSysUpTime when the Service
        Flow was created for DOCSIS QOS CM provisioning. For DOCSIS
        COS CM provisioning (optionally supported only by 3.0 CMTSs), it
        is the time the non-temporary SID is created. For downstream
        CM traffic it indicates the time the CM registers.
      </documentation>
    </annotation>
  </element>
  <element name="ServiceTimeActive" type="unsignedInt">
    <annotation>
      <documentation>
        Contains the total time that the Service Flow
        was active, specified in seconds.
      </documentation>
    </annotation>
  </element>
</schema>
