<?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-IP-MULTICAST"
        xmlns:DOCSIS-CPE="http://www.cablelabs.com/namespaces/DOCSIS/3.0/xsd/ipdr/DOCSIS-IP-MULTICAST"
        xmlns:ipdr="http://mibs.cablelabs.com/namespaces/DOCSIS/tmforum/xsd/ipdr/"
        elementFormDefault="qualified"
        attributeFormDefault="unqualified"
        version="3.7-A.1.0.1">
  <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-IP-MULTICAST is an auxiliary schema which defines IP
      Multicast information.

      Revision History:
      3.5.1-A.1 Initial version.
      3.7-A.1.0.0 New revision naming convention.
      3.7-A.1.0.1 Update namespace from mibs to www. Fix import versions.
                  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="IpMcastSrcIpv4Addr" type="ipdr:ipV4Addr">
    <annotation>
      <documentation>
        Contains the value of the IPv4 address of 'S' as the source
        address for a particular (S,G) IP multicast session. For the case of Any
        Source Multicast (ASM), this attribute reports a value of 0.0.0.0.
      </documentation>
    </annotation>
  </element>
  <element name="IpMcastSrcIpv6Addr" type="ipdr:ipV6Addr">
    <annotation>
      <documentation>
        Contains the value of the IPv6 address of 'S' as the source
        address for a particular (S,G) IP multicast session. For the case of Any
        Source Multicast (ASM), this attribute reports a value of 0::/0.
      </documentation>
    </annotation>
  </element>
  <element name="IpMcastGrpIpv4Addr" type="ipdr:ipV4Addr">
    <annotation>
      <documentation>
        Contains the value of the IPv4 address of 'G' as the group
        address for a particular (S,G) IP multicast session.
      </documentation>
    </annotation>
  </element>
  <element name="IpMcastGrpIpv6Addr" type="ipdr:ipV6Addr">
    <annotation>
      <documentation>
        Contains The value of the IPv6 address of 'G' as the group
        address for a particular (S,G) IP multicast session.
      </documentation>
    </annotation>
  </element>
  <element name="IpMcastGsfId" type="unsignedInt">
    <annotation>
      <documentation>
        Contains the value of the Group Service Flow Id. This element
        is associated with the ServiceIdentifer element from the SAMIS-TYPE-1
        and
        SAMIS-TYPE-2 Service Definition Schemas.
      </documentation>
    </annotation>
  </element>
  <element name="IpMcastDsid" type="unsignedInt">
    <annotation>
      <documentation>
        Contains the value of the Downstream Service ID (DSID) label
        with which the CMTS labels all packets of a particular (S,G) IP
        multicast
        session.
      </documentation>
    </annotation>
  </element>
  <element name="IpMcastSessionProtocolType">
    <annotation>
      <documentation>
        Contains the value of the type of IP multicast session
        (IGMP, MLD or PIM).
      </documentation>
    </annotation>
    <simpleType>
      <restriction base="integer">
        <enumeration value="0">
          <annotation>
            <documentation>
              <ipdr:enumMeaning>reserved</ipdr:enumMeaning>
            </documentation>
          </annotation>
        </enumeration>
        <enumeration value="1">
          <annotation>
            <documentation>
              <ipdr:enumMeaning>IGMP</ipdr:enumMeaning>
            </documentation>
          </annotation>
        </enumeration>
        <enumeration value="2">
          <annotation>
            <documentation>
              <ipdr:enumMeaning>MLD</ipdr:enumMeaning>
            </documentation>
          </annotation>
        </enumeration>
      </restriction>
    </simpleType>
  </element>
  <element name="IpMcastCpeMacAddrList" type="hexBinary">
    <annotation>
      <documentation>
        The value of the list of CPE MAC addresses joining the
        (S,G) IP multicast session. The associated CPE IPv4 and IPv6 address
        information can be obtained with the CPE-TYPE Service Definition
        Schema.
      </documentation>
    </annotation>
  </element>
  <element name="IpMcastJoinTime" type="ipdr:dateTimeMsec">
    <annotation>
      <documentation>
        The value of the
        UTC time stamp "yyyy-mm-ddThh:mm:ssZ"
        at the time the IP multicast JOIN request from this CPE for this
        multicast session was processed by the CMTS. The compact
        representation of this
        attribute is the 64-bit Long value of milliseconds since Epoch Time.
      </documentation>
    </annotation>
  </element>
  <element name="IpMcastLeaveTime" type="ipdr:dateTimeMsec">
    <annotation>
      <documentation>
        The value of the UTC time stamp "yyyy-mm-ddThh:mm:ssZ"
        at the time the “LeaveMulticastSession” request from this CPE for this
        multicast session was processed by the CMTS or the CMTS determines that
        this CPE has left the IP multicast session. The compact representation
        of this attribute is the 64-bit Long value of milliseconds
        since Epoch Time. If the multicast session is active (i.e.
        the CMTS has yet to determine that the CPE has left the IP
        multicast session) when this record is generated, the
        compact representation of the IpMcastLeaveTime value MUST be set
        to 0.
      </documentation>
    </annotation>
  </element>
</schema>
