<?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-CM" 
        xmlns:DOCSIS-CM="http://www.cablelabs.com/namespaces/DOCSIS/3.0/xsd/ipdr/DOCSIS-CM"
        xmlns:ipdr="http://www.ipdr.org/namespaces/ipdr" version="3.5.1-A.1" elementFormDefault="qualified" attributeFormDefault="unqualified">
    <import namespace="http://www.ipdr.org/namespaces/ipdr" schemaLocation="http://www.ipdr.org/public/IPDRDoc3.5.1.xsd"/>
    <include schemaLocation="http://www.ipdr.org/public/IPDRTypes.xsd"/>
    <annotation>
        <documentation>DOCSIS-CM_3.5.1-A.1 is an auxiliary schema 
        which defines CM information.</documentation>
        <documentation>
            <ipdr:reference>DOCSIS 3.0 Operations Support System Interface 
            Specification CM-SP-OSSIv3.0-I01-061207, Annex C.</ipdr:reference>
        </documentation>
    </annotation>
    <element name="CmMacAddr" type="ipdr:macAddress">
        <annotation>
            <documentation>Contains the MAC Address of the CM. 
             If the CM has multiple MAC Addresses, it contains the 
             MAC address associated with the Cable (i.e. RF MAC) interface.</documentation>
        </annotation>
    </element>
    <element name="CmRegStatusId" type="unsignedInt"> 
        <annotation>
            <documentation>
                Contains the id value to uniquely identify a CM.
            </documentation>
        </annotation>
    </element>
    <element name="CmIpv4Addr" type="ipdr:ipV4Addr">
        <annotation>
            <documentation>Contains the IPv4 address of the CM. 
            If the CM IPv4 address is unassigned or unknown, it 
            contains an empty string. If the CM has multiple IPv4 addresses,
            it contains the IPv4 address associated with the 
            Cable (i.e. RF MAC) interface.
            </documentation>
        </annotation>
    </element>
    <element name="CmIpv6Addr" type="ipdr:ipV6Addr">
        <annotation>
            <documentation>Contains the IPv6 address of the CM. 
            If the CM IPv6 address is unassigned or unknown, it 
            contains an empty string.</documentation>
        </annotation>
    </element>
    <element name="CmIpv6LinkLocalAddr" type="ipdr:ipV6Addr">
        <annotation>
            <documentation>Contains the IPv6 Link Local address of
            the CM. If the CM IPv6 Link Local address is unassigned or unknown, 
            it contains an empty string.</documentation>
        </annotation>
    </element>
    <element name="CmQosVersion">
        <annotation>
            <documentation> This attribute denotes the queuing services the CM  registered, either DOCSIS 1.1 QoS or DOCSIS 1.0 CoS mode.</documentation>
        </annotation>
        <simpleType>
            <restriction base="integer">
                <enumeration value="1">
                    <annotation>
                        <documentation>
                            <ipdr:enumMeaning>DOCSIS 1.0 CoS mode</ipdr:enumMeaning>
                        </documentation>
                    </annotation>
                </enumeration>
                <enumeration value="2">
                    <annotation>
                        <documentation>
                            <ipdr:enumMeaning>DOCSIS 1.1 QoS mode</ipdr:enumMeaning>
                        </documentation>
                    </annotation>
                </enumeration>
            </restriction>
        </simpleType>
    </element>

    <element name="CmRegStatusValue">
        <annotation>
            <documentation>Contains the current Cable Modem connectivity state, 
            as specified in the OSSI Specification. 
            Returned status information is the CM status as assumed by the CMTS.</documentation>
        </annotation>
        <simpleType>
            <restriction base="integer">
                <enumeration value="1">
                    <annotation>
                        <documentation>
                            <ipdr:enumMeaning>other</ipdr:enumMeaning>
                        </documentation>
                    </annotation>
                </enumeration>
                <enumeration value="2">
                    <annotation>
                        <documentation>
                            <ipdr:enumMeaning>initialRanging</ipdr:enumMeaning>
                        </documentation>
                    </annotation>
                </enumeration>
                <enumeration value="4">
                    <annotation>
                        <documentation>
                            <ipdr:enumMeaning>rangingAutoAdjComplete</ipdr:enumMeaning>
                        </documentation>
                    </annotation>
                </enumeration>
                <enumeration value="10">
                    <annotation>
                        <documentation>
                            <ipdr:enumMeaning>startEae</ipdr:enumMeaning>
                        </documentation>
                    </annotation>
                </enumeration>
                <enumeration value="11">
                    <annotation>
                        <documentation>
                            <ipdr:enumMeaning>startDhcpv4</ipdr:enumMeaning>
                        </documentation>
                    </annotation>
                </enumeration>
                <enumeration value="12">
                    <annotation>
                        <documentation>
                            <ipdr:enumMeaning>startDhcpv6</ipdr:enumMeaning>
                        </documentation>
                    </annotation>
                </enumeration>
                <enumeration value="5">
                    <annotation>
                        <documentation>
                            <ipdr:enumMeaning>dhcpv4Complete</ipdr:enumMeaning>
                        </documentation>
                    </annotation>
                </enumeration>
                <enumeration value="13">
                    <annotation>
                        <documentation>
                            <ipdr:enumMeaning>dhcpv6Complete</ipdr:enumMeaning>
                        </documentation>
                    </annotation>
                </enumeration>
                <enumeration value="14">
                    <annotation>
                        <documentation>
                            <ipdr:enumMeaning>startConfigFileDownload</ipdr:enumMeaning>
                        </documentation>
                    </annotation>
                </enumeration>
                <enumeration value="15">
                    <annotation>
                        <documentation>
                            <ipdr:enumMeaning>configFileDownloadComplete</ipdr:enumMeaning>
                        </documentation>
                    </annotation>
                </enumeration>
                <enumeration value="16">
                    <annotation>
                        <documentation>
                            <ipdr:enumMeaning>startRegistration</ipdr:enumMeaning>
                        </documentation>
                    </annotation>
                </enumeration>
                <enumeration value="6">
                    <annotation>
                        <documentation>
                            <ipdr:enumMeaning>registrationComplete</ipdr:enumMeaning>
                        </documentation>
                    </annotation>
                </enumeration>
                <enumeration value="8">
                    <annotation>
                        <documentation>
                            <ipdr:enumMeaning>operational</ipdr:enumMeaning>
                        </documentation>
                    </annotation>
                </enumeration>
                <enumeration value="9">
                    <annotation>
                        <documentation>
                            <ipdr:enumMeaning>bpiInit</ipdr:enumMeaning>
                        </documentation>
                    </annotation>
                </enumeration>
                <enumeration value="17">
                    <annotation>
                        <documentation>
                            <ipdr:enumMeaning>forwardingDisabled</ipdr:enumMeaning>
                        </documentation>
                    </annotation>
                </enumeration>
                <enumeration value="18">
                    <annotation>
                        <documentation>
                            <ipdr:enumMeaning>rfMuteAll</ipdr:enumMeaning>
                        </documentation>
                    </annotation>
                </enumeration>
            </restriction>
        </simpleType>
    </element>
    <element name="CmLastRegTime" type="dateTime">
        <annotation>
            <documentation>Contains the date and time value when 
            the CM was last registered.</documentation>
        </annotation>
    </element>
</schema>

