<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.39 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-yoon-ccamp-pm-streaming-05" category="std" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.33.0 -->
  <front>
    <title abbrev="PM Streaming YANG">A YANG Data Model of Performance Management Streaming</title>
    <seriesInfo name="Internet-Draft" value="draft-yoon-ccamp-pm-streaming-05"/>
    <author initials="B. Y." surname="Yoon" fullname="Bin Yeong Yoon">
      <organization>ETRI</organization>
      <address>
        <email>byyun@etri.re.kr</email>
      </address>
    </author>
    <author initials="Y." surname="You" fullname="Youngkil You">
      <organization>woori-net</organization>
      <address>
        <email>young@woori-net.com</email>
      </address>
    </author>
    <date year="2026" month="May" day="24"/>
    <workgroup>CCAMP Working Group</workgroup>
    <keyword>performance management</keyword>
    <keyword>streaming</keyword>
    <keyword>measurement</keyword>
    <abstract>
      <?line 57?>

<t>This document specifies a YANG data model for the Performance
Management (PM) Collection function requirements defined in
ITU-T G.7710, which processes raw performance data measured at a
network node and delivers the resulting data to clients using the
IETF push-based streaming model.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-yoon-ccamp-pm-streaming/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/https://github.com/binyeongyoon-ietf/ietf-pm-streaming"/>.</t>
    </note>
  </front>
  <middle>
    <?line 65?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Performance Management (PM) data generated by a Network Element (NE)
undergoes a systematic processing pipeline that transforms raw
observations into actionable operational insights. Traditionally, PM
data has been managed through pull-based mechanisms such as SNMP
polling, but the increasing scale and dynamic nature of modern
networks require a more efficient, streaming-oriented approach.</t>
      <t>This document distinguishes three functional stages of the PM
processing pipeline -- Measurement, Collection, and Reporting -- and
defines YANG data models for the Collection stage. The continuous,
push-based delivery of Collection-stage data and notifications to
external clients is referred to in this document as PM streaming.</t>
      <t>The Collection-stage data and notifications defined here are designed
to be carried to clients through the existing IETF subscribed-
notifications framework <xref target="RFC8639"/>, its YANG Push extension for
datastore updates <xref target="RFC8641"/>, and the NETCONF binding for dynamic
subscriptions <xref target="RFC8640"/>. These three specifications together are
referred to in the remainder of this document as the push-based
subscription mechanisms.</t>
      <section anchor="pm-processing-pipeline-in-a-network-element">
        <name>PM Processing Pipeline in a Network Element</name>
        <t>The PM processing pipeline considered in this document comprises the
following three stages.</t>
        <t>Stage 1 -- Measurement. This stage observes signals or protocol
behaviours to produce raw measurement values. It encompasses direct
observation of physical-layer signals as well as various OAM-based
techniques. As examples of active measurement protocols that may be
used in this stage, OWAMP <xref target="RFC4656"/>, TWAMP <xref target="RFC5357"/>, and STAMP
<xref target="RFC8762"/> inject synthetic probe packets to measure one-way or
round-trip delay, packet loss, and delay variation, while In-situ OAM
(IOAM) <xref target="RFC9197"/> records performance data directly within user
packets as they traverse the network.</t>
        <t>Stage 2 -- Collection. This stage processes raw measurement data into
summarised statistics over defined intervals and manages their
retention. Historically, PM collection mechanisms based on SNMP MIBs
used the performance-history textual conventions defined in
<xref target="RFC3593"/>, with the high-capacity variants in <xref target="RFC3705"/>. The
Collection stage modelled in this document follows the common
equipment management function requirements of ITU-T G.7710 and
supports three collection types -- Counts, Snapshot, and Tidemarks --
together with threshold evaluation and the associated periodic and
non-periodic events.</t>
        <t>Stage 3 -- Reporting. This stage delivers Collection-stage data and
notifications to external management systems or controllers. While
traditional pull-based retrieval remains available, this document
assumes the push-based subscription mechanisms introduced above
(<xref target="RFC8639"/>, <xref target="RFC8641"/>, <xref target="RFC8640"/>). The role of the
Collection-stage models defined here is to provide the data structures
that those mechanisms carry. Typical clients of this Reporting stage
include operations systems (OS), network digital twins (NDT), and
AI-driven applications (AI APP), as illustrated in
<xref target="fig-streaming-architecture"/>.</t>
        <figure anchor="fig-streaming-architecture">
          <name>Streaming Network Architecture</name>
          <artwork type="ascii-art"><![CDATA[
   +------+  +-----+     +--------+
   |  OS  |  | NDT | ... | AI APP |
   +---+--+  +--+--+     +----+---+
       |        |             |
       |   PM data and notifications
       |   via YANG-Push (RFC 8639/8640/8641)
       |        |             |
   +---+--------+-------------+---+
   |            NE                |
   |  +-----------------------+   |
   |  |  EMF / Collection     |   |
   |  |  (this document)      |   |
   |  +-----------------------+   |
   +------------------------------+

   OS:  Operations System
   NDT: Network Digital Twins
   APP: Application
]]></artwork>
        </figure>
        <t>The YANG data model specified in this document is implemented within
the Equipment Management Function (EMF) of an NE, as defined in
ITU-T G.7710 Section 6.2. It is exposed at the NE's management
interface and is consumed by remote clients such as operations
systems (OS), Physical Network Controllers (PNCs), network digital
twins (NDT), and AI-driven applications. Throughout this document
the term "client" refers to any such consumer of the PM streaming
interface, regardless of whether it acts as a controller, an
analytics engine, or an operator-facing management system.</t>
      </section>
      <section anchor="motivation-and-scope">
        <name>Motivation and Scope</name>
        <t>The legacy SNMP-based collection conventions <xref target="RFC3593"/>
          <xref target="RFC3705"/> and the associated pull-based polling architecture
limit real-time visibility and flexible interval design at the scale
of modern networks. The push-based subscription mechanisms
<xref target="RFC8639"/> <xref target="RFC8640"/> <xref target="RFC8641"/> provide an efficient and
scalable alternative for streaming management data, but those
specifications define only the subscription and notification
mechanisms themselves and do not prescribe the structure of the PM
data being carried. A standardised YANG data model is therefore
needed at the Collection stage to bridge low-level measurement data
and high-level streaming subscriptions, since existing YANG models
tend to focus on static configuration or simple state data and do
not offer the structures required to express counts, snapshot, and
tidemarks collection together with profile-based parameter grouping
and threshold semantics aligned with ITU-T G.7710.</t>
        <t>The scope of this document is therefore limited to the Collection
stage. Within that scope, this document specifies YANG data models
that enable: (a) flexible processing of performance metrics beyond
simple counts, including Snapshot and Tidemarks, as defined in
ITU-T G.7710; (b) configurable sampling and measurement intervals
that are not restricted to the legacy 15-minute or 24-hour windows,
together with a capability-discovery mechanism in
<tt>ietf-pm-interval-capabilities</tt> that lets clients learn which
intervals a given server supports; and (c) data and notification
structure designed to be carried by the push-based subscription
mechanisms identified above for real-time, proactive delivery of
processed PM data to management systems.</t>
        <t>The data model defined in this document realizes the Collection-stage
functions described in <xref target="G7710"/>, in particular
performance-monitoring data, collection types, and threshold
reporting.</t>
        <t>The Collection-stage data and notifications defined here are
intended to be carried by the existing YANG-Push framework
(<xref target="RFC8639"/>, <xref target="RFC8640"/>, <xref target="RFC8641"/>); this document does not
define any new subscription or notification.</t>
      </section>
    </section>
    <section anchor="pm-parameters">
      <name>PM parameters</name>
      <section anchor="types">
        <name>Types</name>
        <t>Performance monitoring (PM) in networks encompasses a wide variety
of parameters that reflect operational health, service quality,
reliability, and environmental conditions. These parameters are
used across many technologies, network layers, and functional
domains to enable fault management, SLA compliance, trend analysis,
predictive maintenance, and operational optimization.</t>
        <t>PM parameter types include but are not limited to:</t>
        <ul spacing="normal">
          <li>
            <t>Classical transport and packet layer metrics: such as errored
seconds (ES), severely errored seconds (SES), unavailable seconds
(UAS), background block errors (BBE), background block counts
(BBC), delay, jitter, and packet loss, as defined in standards
like ITU-T G.7710, and others.</t>
          </li>
          <li>
            <t>Layer-specific metrics:  </t>
            <ul spacing="normal">
              <li>
                <t>Physical layer: optical power levels, laser bias current, loss
of signal</t>
              </li>
              <li>
                <t>Data link layer: Ethernet frame errors, FCS errors</t>
              </li>
              <li>
                <t>Network layer: dropped packets, route flaps</t>
              </li>
              <li>
                <t>Transport/Service layers: MPLS LSP statistics, OTN TCM/BIP
counters</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Network environment parameters: including temperature, humidity,
fan speed, voltage, and airflow. These are essential for equipment
safety, energy management, and predictive failure analysis.</t>
          </li>
          <li>
            <t>Energy and sustainability metrics: such as power consumption,
energy efficiency indicators, and cooling utilization, aligned
with emerging sustainability standards and operational efficiency
goals.</t>
          </li>
          <li>
            <t>Security and integrity parameters: such as pointer justification
events (PJE), synchronization loss, or intrusion anomaly flags.</t>
          </li>
          <li>
            <t>Application-aware or SLA metrics: such as service availability,
throughput consistency, and application-layer latency.</t>
          </li>
          <li>
            <t>Mobile network-specific metrics: including radio link failures,
handover success/failure rates, RRC connection setup time, PDCP
discard rate, and throughput per bearer. These metrics are
critical for monitoring the performance of RAN, core, and edge
network components in 4G/5G mobile environments.</t>
          </li>
        </ul>
        <t>These parameters may be grouped flexibly within the YANG model
using parameter profiles that reflect shared characteristics,
purpose, or applicable network domains. The architecture supports
extension through identity-based typing to accommodate future
parameter definitions introduced by standard bodies like ITU-T,
IEEE, IETF, MEF, and TM Forum.</t>
      </section>
      <section anchor="profiles">
        <name>Profiles</name>
        <figure anchor="fig-profile-tree">
          <name>Parameter Profile Subtree</name>
          <artwork type="ascii-art"><![CDATA[
+--rw parameter-profile* [name]
   +--rw name              profile-names
   +--rw pm-parameter* [name]
      +--rw name           string
]]></artwork>
        </figure>
        <t>The YANG model defines the concept of a parameter profile to
logically group performance parameters that are commonly measured
together for a specific operational purpose. Each parameter profile
is represented as a list entry keyed by a name of type
profile-names (a string conforming to the format defined in the
model). These profiles serve as named collections of performance
parameters and are intended to facilitate streamlined configuration,
management, and reporting of measurement data across network
elements and management systems.</t>
        <t>The use of parameter profiles improves operational efficiency by
allowing operators, applications, and controllers to activate or
reference a coherent set of parameters using a single profile
identifier. For example, the <tt>itu-transport-maintenance-15min</tt>
profile may include parameters such as errored seconds (ES),
severely errored seconds (SES), and unavailable seconds (UAS),
which are typically monitored together for network maintenance and
fault detection purposes. Similarly, the <tt>example-ip-qos-24hr</tt>
profile may include delay, jitter, and loss parameters used in
service quality reporting. Parameter profiles support role-based
access control, operational alignment, and measurement policy
abstraction, enabling network operators and analytics systems to
tailor data collection and reporting according to the needs of
different users and services. The profile abstraction also aligns
with ITU-T G.7710, which identifies multiple classes of performance
monitoring (e.g., maintenance, service-level, and compliance
monitoring), each requiring specific sets of performance parameters.</t>
        <t>By modeling profiles as list entries keyed by a structured name
(profile-names type), the YANG design ensures extensibility and
vendor interoperability, allowing future profiles to be defined
without changes to the core data structures. This approach promotes
consistent configuration and integration across multi-vendor
environments and supports dynamic service assurance use cases where
parameter sets may vary by service type, SLA, or operational
context.</t>
        <section anchor="naming">
          <name>Naming</name>
          <t>Parameter profiles are named to reflect their operational purpose,
origin, applicable network domain, and, optionally, the primary
measurement interval. This naming structure supports clarity,
modularity, and automation across diverse network and service
layers.</t>
          <t>The naming follows this format:</t>
          <sourcecode type="txt"><![CDATA[
<source>-<network>-<purpose>[-<characteristic>]
]]></sourcecode>
          <t>Where:</t>
          <ul spacing="normal">
            <li>
              <t>&lt;source&gt;: Standards body or organization
              </t>
              <ul spacing="normal">
                <li>
                  <t>Examples: itu, ieee, ietf, example, vendorX</t>
                </li>
              </ul>
            </li>
            <li>
              <t>&lt;network&gt;: Network domain or layer
              </t>
              <ul spacing="normal">
                <li>
                  <t>Examples: transport, access, core, ip, mpls, ethernet, otn,
wdm, flexo</t>
                </li>
              </ul>
            </li>
            <li>
              <t>&lt;purpose&gt;: Intended use or function
              </t>
              <ul spacing="normal">
                <li>
                  <t>Examples: maintenance, qos, availability, sla, compliance,
analytics</t>
                </li>
              </ul>
            </li>
            <li>
              <t>&lt;characteristic&gt; (optional): Optional qualifying information
              </t>
              <ul spacing="normal">
                <li>
                  <t>Examples: 15min, 24hr, high-priority</t>
                </li>
              </ul>
            </li>
          </ul>
          <t>Examples:</t>
          <ul spacing="normal">
            <li>
              <t>itu-transport-maintenance-15min</t>
            </li>
            <li>
              <t>itu-transport-qos-24hr</t>
            </li>
            <li>
              <t>ieee-access-availability</t>
            </li>
            <li>
              <t>example-ip-qos-24hr</t>
            </li>
            <li>
              <t>vendorx-otn-sla</t>
            </li>
          </ul>
          <t>Note: profile names that begin with <tt>ietf-</tt> are reserved for
profiles that IETF actually defines; placeholder examples in this
document use <tt>example-</tt> to avoid implying IETF endorsement of
profiles not yet specified.</t>
          <t>The term 'transport' means that the profile applies to multiple
technologies (e.g., OTN, MPLS-TP, Transport Ethernet, etc.).</t>
          <t>The 15-minute interval provides granular, real-time monitoring,
allowing network operators to quickly detect and address short-term
issues such as spikes in latency or packet loss. It is particularly
useful for ensuring compliance with Service-Level Agreements (SLAs)
and for managing highly dynamic networks where rapid changes can
occur. In contrast, the 24-hour interval is used for long-term
performance monitoring and trend analysis, helping operators
understand overall network health, detect slow-developing issues,
and plan for future capacity needs. This longer interval offers a
broader view of the network's performance over a full day, making
it ideal for strategic planning and infrastructure maintenance.
Together, these intervals enable both immediate responses to
network conditions and long-term network optimization.</t>
        </section>
      </section>
      <section anchor="transport-common-pm-parameters">
        <name>Transport Common PM Parameters</name>
        <t>Metric values of PM parameters are measured for maintenance and QoS
monitoring over networks. Quality of Service (QoS) parameters are
designed to assess the network's long-term ability to consistently
deliver agreed-upon service quality to customers. They primarily
verify performance against contractual obligations defined in
service-level agreements (SLAs) over longer intervals (24 hours,
monthly periods). By simultaneously measuring both directions of a
bidirectional connection, QoS parameters provide a holistic view of
the sustained quality experienced by users, ensuring stability and
predictability.</t>
        <t>Maintenance parameters focus on short-term monitoring and detailed
analysis for operational reliability. Maintenance parameters, over
intervals such as 15 minutes or 24 hours, facilitate swift
responses to intermittent faults, bursts of errors, and subtle
performance changes. Maintenance parameters typically involve
unidirectional analysis, where each direction of transmission is
monitored independently. This unidirectional approach helps network
operators precisely pinpoint faults, troubleshoot intermittent
issues, and perform preventive maintenance effectively.</t>
        <t>Key PM parameters focused on circuit networks such as OTN are
listed as follows. Additional parameters will be needed for packet
networks.</t>
        <ul spacing="normal">
          <li>
            <t>ES   Errored Seconds</t>
          </li>
          <li>
            <t>SES  Severely Errored Seconds</t>
          </li>
          <li>
            <t>BBE  Background Block Errors</t>
          </li>
          <li>
            <t>BBC  Background Block Count</t>
          </li>
          <li>
            <t>UAS  Unavailable Seconds</t>
          </li>
          <li>
            <t>SEP  Severely Errored Period</t>
          </li>
          <li>
            <t>PJE  Pointer Justification Events</t>
          </li>
        </ul>
        <t>According to collection types, purposes, and time intervals,
different parameters are used. The following three transport
profiles provide comprehensive coverage for maintenance and QoS
monitoring across different temporal resolutions.</t>
        <section anchor="itu-transport-maintenance-15min-profile">
          <name>itu-transport-maintenance-15min Profile</name>
          <t>The <tt>itu-transport-maintenance-15min</tt> profile is designed for
short-term operational monitoring and rapid fault detection. This
profile utilizes all three collection types (counts, snapshot, and
tidemarks) over 15-minute intervals to provide granular visibility
into network performance. The profile includes core maintenance
parameters: ES, SES, BBE, BBC, and UAS.</t>
          <t>The 15-minute interval enables operators to quickly detect and
respond to performance degradation, making it ideal for proactive
maintenance and immediate troubleshooting. The combination of
counts (for cumulative event tracking), snapshot (for instantaneous
state capture), and tidemarks (for extreme value monitoring)
provides a comprehensive view of network behavior within each
measurement period. This profile is particularly valuable for
network operations centers (NOCs) requiring real-time visibility
into transport network health and for automated systems that need
to trigger immediate responses to performance anomalies.</t>
        </section>
        <section anchor="itu-transport-maintenance-24hr-profile">
          <name>itu-transport-maintenance-24hr Profile</name>
          <t>The <tt>itu-transport-maintenance-24hr</tt> profile extends the
maintenance monitoring capabilities to longer-term analysis and
trend identification. Similar to the 15-minute profile, it employs
all three collection types (counts, snapshot, and tidemarks) but
over 24-hour intervals. The parameter set includes ES, SES, BBE,
BBC, UAS, and additionally PJE.</t>
          <t>The 24-hour measurement interval allows for comprehensive daily
performance analysis, enabling operators to identify patterns,
trends, and recurring issues that may not be apparent in shorter
intervals. The inclusion of PJE provides additional insight into
synchronization-related performance issues that are more relevant
over longer observation periods. This profile supports strategic
maintenance planning, capacity management, and historical
performance analysis. It complements the 15-minute profile by
providing the broader context needed for long-term network
optimization and preventive maintenance strategies.</t>
        </section>
        <section anchor="itu-transport-qos-24hr-profile">
          <name>itu-transport-qos-24hr Profile</name>
          <t>The <tt>itu-transport-qos-24hr</tt> profile is specifically designed for
Quality of Service monitoring and SLA compliance verification.
Unlike the maintenance profiles, this profile focuses exclusively
on the counts collection type over 24-hour intervals, emphasizing
sustained performance assessment rather than detailed operational
monitoring. The parameter set includes ES, SES, BBE, BBC, SEP, and
UAS.</t>
          <t>The QoS profile's exclusive use of counts collection type reflects
its focus on cumulative performance over extended periods, which is
essential for SLA compliance and service quality reporting. The
24-hour interval aligns with typical SLA measurement periods and
provides the statistical basis for service quality assessments.
The inclusion of SEP is particularly relevant for QoS monitoring
as it represents sustained periods of degraded performance that
directly impact service quality commitments.</t>
        </section>
        <section anchor="profile-relationships-and-operational-integration">
          <name>Profile Relationships and Operational Integration</name>
          <t>These three profiles work together to provide a comprehensive
performance monitoring framework. The
<tt>itu-transport-maintenance-15min</tt> profile serves as the primary
operational tool for immediate network management, while the
<tt>itu-transport-maintenance-24hr</tt> profile provides the analytical
foundation for strategic planning and trend analysis. The
<tt>itu-transport-qos-24hr</tt> profile ensures that service quality
commitments are met and provides the data necessary for SLA
reporting and customer assurance.</t>
          <t>The hierarchical relationship between these profiles enables
operators to correlate short-term operational events with long-term
performance trends and service quality metrics. For example, a
spike in ES detected by the 15-minute maintenance profile can be
correlated with daily trends from the 24-hour maintenance profile
and assessed against SLA thresholds defined in the QoS profile.
This integrated approach supports both reactive troubleshooting
and proactive network optimization while ensuring compliance with
service quality commitments.</t>
        </section>
      </section>
    </section>
    <section anchor="periodic-measurement">
      <name>Periodic Measurement</name>
      <section anchor="measurement-timing">
        <name>Measurement Timing</name>
        <figure anchor="fig-interval-tree">
          <name>Sampling and Measurement Intervals Subtree</name>
          <artwork type="ascii-art"><![CDATA[
+--rw sampling-interval* [id]
   +--rw id                  string
   +--rw interval-value?     uint32
   +--rw unit?               time-interval-unit
   +--rw measurement-interval* [id]
      +--rw id                string
      +--rw interval-value?   uint32
      +--rw unit?             time-interval-unit
]]></artwork>
        </figure>
        <t>Measurement timing parameters are key components of network
performance management, offering standardized definitions for the
time-related aspects of sampling, measuring, and reporting
performance data. These parameters apply to the three main
collection types for network equipment: counts, snapshot, and
tidemarks. They include the sampling interval, measurement
interval, and uniform time, all of which support consistent,
accurate, and systematic performance monitoring and management.</t>
        <t>Sampling interval defines the period at which network performance
data is collected at consistent, predetermined time points. It
ensures the continuous and timely capture of performance metrics,
enabling accurate assessments of network conditions.</t>
        <t>Measurement interval specifies the duration over which sampled
performance data is aggregated or statistically processed. It helps
manage large volumes of data by summarizing it into meaningful
indicators for analysis, anomaly detection, and resource
management.</t>
        <t>Uniform time is a fixed, predefined point within each measurement
interval at which a snapshot measurement is taken. It enables a
consistent and instantaneous view of network performance across
intervals, without requiring data aggregation. This approach
facilitates quick diagnostics and synchronization across monitoring
systems.</t>
        <section anchor="use-cases">
          <name>Use Cases</name>
          <t>The hierarchical design of the <tt>ietf-pm-collection</tt> YANG module,
where a performance parameter can be associated with one or more
sampling intervals and each sampling interval can be associated
with multiple measurement intervals and collection types, supports
a wide range of operational objectives. A key benefit of this
structure is that, even when the sampling interval is fixed,
different measurement intervals can be used to derive distinct
operational views of the same parameter. The collection type is
selected to match the semantics of the monitored parameter: counts
for cumulative event parameters, tidemarks for varying parameters
where extremes are operationally significant, and snapshot for
point-in-time operating state.</t>
          <t>In a Network Operations Center (NOC), errored seconds (ES) can be
sampled every second and processed with multiple measurement
intervals using the counts collection type. A 1-minute measurement
interval supports rapid fault indication, enabling fast recognition
of service degradation. A 15-minute measurement interval supports
routine maintenance monitoring and aligns with established
operational practices described in ITU-T G.7710. A 24-hour
measurement interval supports daily QoS reporting and provides a
broader view of service quality over time.</t>
          <t>For latency monitoring in a NOC, a parameter may be sampled every
500 milliseconds and processed using the tidemarks collection type.
A 1-minute measurement interval helps detect short-lived delay
spikes. A 30-minute measurement interval helps identify recurring
burst patterns that affect path stability. A 24-hour measurement
interval provides a daily worst-case view of path quality,
supporting operational assessment of persistent delay behavior.</t>
          <t>For digital twin applications, packet delay variation (PDV) may be
sampled every 100 milliseconds and processed using the tidemarks
collection type. A 1-minute measurement interval provides a
synchronization stability envelope that helps the digital twin
remain closely aligned with the physical network. A 5-minute
measurement interval supports feedback-loop tuning by capturing
short-term variation patterns that influence control adjustments.
A 1-hour measurement interval supports model calibration by
providing longer-span information about the range of delay
variation observed in operation.</t>
          <t>Environmental monitoring also benefits from the same hierarchical
timing structure. For example, temperature may be sampled every
10 seconds and processed using the snapshot collection type. A
1-minute measurement interval supports a current operating state
check. A 15-minute measurement interval supports periodic baseline
comparison. A 24-hour measurement interval supports daily
fleet-wide correlation at a common observation point, helping
operators compare equipment behavior across systems and sites.</t>
          <t>Similar timing structures can also support AI/ML pipelines, where
short, medium, and long measurement intervals applied to the same
sampled parameter provide feature sets for anomaly detection,
trend analysis, and model training within a single analytics
application.</t>
          <t>These examples show that the same sampling interval can support
multiple operational purposes when paired with different
measurement intervals, and that the collection type should match
the semantics of the monitored parameter. The hierarchical list
structure, where parameters contain multiple sampling intervals
and each sampling interval defines one or more measurement
intervals and collection types, supports operational flexibility,
avoids configuration duplication, and enables fine-grained control
of measurement strategies. The use cases summarized in
<xref target="tab-usecases"/> are consistent with the collection types defined
in <xref target="collection-types"/>, where counts represent cumulative event
occurrences, snapshot represents point-in-time values, and
tidemarks represent interval extremes.</t>
          <table anchor="tab-usecases">
            <name>Use cases of sampling, measurement, and collection</name>
            <thead>
              <tr>
                <th align="left">Client (param)</th>
                <th align="left">Samp.</th>
                <th align="left">Meas.</th>
                <th align="left">Coll.</th>
                <th align="left">Purpose</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">NOC (ES)</td>
                <td align="left">1s</td>
                <td align="left">1min</td>
                <td align="left">counts</td>
                <td align="left">Rapid fault alert</td>
              </tr>
              <tr>
                <td align="left"> </td>
                <td align="left">1s</td>
                <td align="left">15min</td>
                <td align="left">counts</td>
                <td align="left">Maintenance</td>
              </tr>
              <tr>
                <td align="left"> </td>
                <td align="left">1s</td>
                <td align="left">24hr</td>
                <td align="left">counts</td>
                <td align="left">Daily QoS report</td>
              </tr>
              <tr>
                <td align="left">NOC (latency)</td>
                <td align="left">500ms</td>
                <td align="left">1min</td>
                <td align="left">tidemarks</td>
                <td align="left">Delay spike detect</td>
              </tr>
              <tr>
                <td align="left"> </td>
                <td align="left">500ms</td>
                <td align="left">30min</td>
                <td align="left">tidemarks</td>
                <td align="left">Burst pattern obs.</td>
              </tr>
              <tr>
                <td align="left"> </td>
                <td align="left">500ms</td>
                <td align="left">24hr</td>
                <td align="left">tidemarks</td>
                <td align="left">Daily worst-case</td>
              </tr>
              <tr>
                <td align="left">Digital Twin</td>
                <td align="left">100ms</td>
                <td align="left">1min</td>
                <td align="left">tidemarks</td>
                <td align="left">Sync stability</td>
              </tr>
              <tr>
                <td align="left">(PDV)</td>
                <td align="left">100ms</td>
                <td align="left">5min</td>
                <td align="left">tidemarks</td>
                <td align="left">Feedback tuning</td>
              </tr>
              <tr>
                <td align="left"> </td>
                <td align="left">100ms</td>
                <td align="left">1hr</td>
                <td align="left">tidemarks</td>
                <td align="left">Model calibration</td>
              </tr>
              <tr>
                <td align="left">NOC (temp)</td>
                <td align="left">10s</td>
                <td align="left">1min</td>
                <td align="left">snapshot</td>
                <td align="left">State check</td>
              </tr>
              <tr>
                <td align="left"> </td>
                <td align="left">10s</td>
                <td align="left">15min</td>
                <td align="left">snapshot</td>
                <td align="left">Periodic baseline</td>
              </tr>
              <tr>
                <td align="left"> </td>
                <td align="left">10s</td>
                <td align="left">24hr</td>
                <td align="left">snapshot</td>
                <td align="left">Fleet-wide daily</td>
              </tr>
            </tbody>
          </table>
        </section>
      </section>
      <section anchor="collection-types">
        <name>Collection Types</name>
        <figure anchor="fig-collection-types-tree">
          <name>Collection Types Subtree</name>
          <artwork type="ascii-art"><![CDATA[
+--rw collection-types
   +--rw counts
   |  +--rw transient-condition-config
   |  |  +--rw transient-threshold?   uint32
   |  +--rw standing-condition-config
   |  |  +--rw standing-threshold?    uint32
   |  |  +--rw reset-threshold?       uint32
   |  +--ro measurement-value?        uint32
   +--rw snapshot
   |  +--rw uniform-time-config
   |  |  +--rw interval-value?        uint32
   |  |  +--rw unit?                  time-interval-unit
   |  +--rw threshold-config
   |  |  +--rw high-threshold?        uint32
   |  |  +--rw low-threshold?         uint32
   |  +--ro measurement-value?        uint32
   +--rw tidemarks
      +--rw threshold-config
      |  +--rw high-threshold?        uint32
      |  +--rw low-threshold?         uint32
      +--ro high-measurement-value?   uint32
      +--ro low-measurement-value?    uint32
]]></artwork>
        </figure>
        <t>The collection types defined based on ITU-T G.7710 establish a
focused and efficient framework for network performance monitoring
by specifying three core collection types: counts, snapshot, and
tidemarks.</t>
        <t>This intentional limitation supports key objectives such as
implementation simplicity, operational efficiency, and cross-vendor
interoperability. It emphasizes real-time network monitoring,
favoring instantaneous or interval-based metrics over complex
statistical calculations. The counts and snapshot collection types
provide immediate operational data without incurring the processing
overhead associated with metrics like averages and variances. These
statistical measures require significant aggregation logic, which
can vary across implementations and devices. By keeping computation
within network elements minimal, the approach reduces both
processing and memory overhead, maintaining lightweight
implementations. It establishes a clear separation between raw
data collection (handled by network elements) and deeper analysis
(delegated to external management systems). This separation not
only simplifies device requirements but also enables more
consistent and flexible analytics in centralized systems, which
are better equipped to apply standardized analytical frameworks.</t>
        <t>Limiting collection types also contributes to energy efficiency by
reducing the operational burden on Network Elements (NEs), while
offloading data analysis to external management applications.
Despite the simplicity, the selected collection types offer
sufficient expressiveness to support comprehensive performance
monitoring without excessive resource use. They are specifically
optimized for the NE-to-client interface -- referred to as the
Southbound Interface (SBI) from a controller perspective (e.g.,
between a Physical Network Controller (PNC) and an NE), or
equivalently as the northbound management interface from the NE's
perspective -- to ensure as follows:</t>
        <ul spacing="normal">
          <li>
            <t>Lightweight to implement</t>
          </li>
          <li>
            <t>Consistently supported across vendors</t>
          </li>
          <li>
            <t>Efficient for transport and storage in network management systems</t>
          </li>
        </ul>
        <t>The collection types are applicable to a wide range of monitored
objects, including both network topology elements (e.g., links,
tunnels) and physical equipment parameters (e.g., temperature,
voltage).</t>
        <section anchor="counts">
          <name>Counts</name>
          <t>Counts measurement in network performance monitoring tracks the
cumulative occurrences of specific events over a defined
measurement interval, such as 15 minutes or 24 hours. This method
captures how frequently certain network activities, like errors or
transmission issues, occur, providing a historical view of
recurring problems. Counts reset at the end of each interval,
ensuring that every period starts with a fresh count for accurate
monitoring.</t>
          <t>The primary purpose of counts is to identify trends and patterns in
network behavior over time, helping operators detect anomalies or
areas where issues frequently arise. This type of measurement is
particularly useful for long-term analysis, enabling preventive
maintenance and optimizing network performance. Unlike
instantaneous measurements, counts focus on aggregation over time,
making it easier to understand the persistence or recurrence of
faults. The data gathered through counts helps in fault management
and planning by highlighting repeated errors, congestion, or
performance degradation that may affect service delivery. As a
result, counts provide network operators with actionable insights
for troubleshooting and capacity planning, ensuring smooth
operation and reliability across the network.</t>
        </section>
        <section anchor="snapshot">
          <name>Snapshot</name>
          <t>Snapshot is an instantaneous measurement taken at a specific point
in time. It captures the instantaneous value of specific
performance parameters at a regular, predefined point (uniform
time) within each time interval. Snapshot provides a "momentary
view" of network conditions, allowing operators to observe the
network's status at specific intervals. The data from these
uniform-time snapshots is then aggregated and analyzed to
understand the immediate state across the entire network. By
taking snapshots simultaneously across all network elements,
operators can correlate data between different parts of the
transport network. Snapshots are collected at pre-determined
uniform times within fixed measurement intervals. The uniform
time and fixed intervals can be configured based on the needs of
the network.</t>
        </section>
        <section anchor="tidemarks">
          <name>Tidemarks</name>
          <t>Tidemarks measurements record the maximum (high tidemarks) and
minimum (low tidemarks) values that a performance parameter
reaches during a specified measurement interval. This approach
captures the extreme values and performance fluctuations,
highlighting the best and worst conditions that occur within the
monitoring period. Tidemarks measurements provide deeper insights
by capturing performance spikes or drops that may go unnoticed in
average or cumulative data, enabling precise troubleshooting of
intermittent or extreme conditions. For instance, while the
average error rate over a period may appear acceptable, a high
tidemark could reveal intermittent spikes in errors that require
attention. Conversely, a low tidemark may expose periods of
severely degraded signal quality or throughput.</t>
        </section>
      </section>
    </section>
    <section anchor="thresholding">
      <name>Thresholding</name>
      <section anchor="periodic-thresholding">
        <name>Periodic Thresholding</name>
        <t>Periodic threshold events are triggered when the counts or gauge
value reaches a pre-defined threshold during periodic measurements
including counts, snapshot, and tidemarks for performance
parameters.</t>
        <t>The counts measurement has two types of threshold reporting
methods: transient and standing condition methods. The transient
condition method treats each measurement period separately. As
soon as a threshold is reached or crossed in a measurement
interval for a given performance measurement, a threshold report
(TR) is generated. The standing condition method is optional. The
standing condition is raised, and a TR (Threshold Report) is
generated, when the set threshold is reached or crossed. The
standing condition is cleared, and a reset threshold report (RTR)
is generated at the end of the period when the current value is
below or equal to the reset threshold, provided that there was no
unavailable time during that period.</t>
        <t>For gauge measurements ("snapshot" and "tidemarks"), an overflow
condition is determined and an out-of-range report is generated as
soon as the gauge value reaches or crosses the high threshold. An
underflow condition is determined and an out-of-range report is
generated as soon as the gauge value is at or below the low
threshold.</t>
      </section>
      <section anchor="non-periodic-thresholding">
        <name>Non-Periodic Thresholding</name>
        <t>Non-periodic threshold events are triggered regardless of the
collection types (counts, snapshot, or tidemarks). The following
parameters are used for non-periodic events.</t>
        <ul spacing="normal">
          <li>
            <t>BUT (Begin Unavailable Time): The event marking the start of a
period when a network element or connection is unavailable.</t>
          </li>
          <li>
            <t>EUT (End Unavailable Time): The event marking the end of a
period when a network element or connection was unavailable.</t>
          </li>
          <li>
            <t>CSES (Consecutive Severely Errored Seconds): A sequence of
severely errored seconds (SES) detected consecutively within a
specified time interval. The reporting metrics include BUT, EUT,
and the count of errors during that period.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="subscriptions">
      <name>Subscriptions</name>
      <t>Using YANG-Push subscriptions <xref target="RFC8639"/> <xref target="RFC8640"/>
        <xref target="RFC8641"/>, clients can receive streams of PM parameter values
(PM data) produced by the counts, snapshot, and tidemarks
collection types over various time intervals. This document does
not define any new subscription mechanism; the examples in this
section use only the standard YANG-Push RPCs and notifications.
The streaming data delivered through these subscriptions is used
for maintenance and Quality of Service (QoS) monitoring in
networks.</t>
      <t>Below are practical use cases demonstrating different subscription
scenarios. These examples illustrate periodic and non-periodic
subscriptions, including notifications triggered by threshold
breaches. Each example aligns with IETF YANG-Push protocols,
showcasing how network elements generate and stream performance
data based on subscription parameters.</t>
      <section anchor="periodic-events">
        <name>Periodic Events</name>
        <t>The YANG-Push subscription model, as defined in <xref target="RFC8641"/>,
enables clients to subscribe to periodic performance measurement
data from network elements. This model supports dynamic
subscription establishment, modification, and termination for
real-time streaming of PM data. Clients can specify subscription
parameters including the target datastore (operational), encoding
format (XML/JSON), and filtering criteria to receive only relevant
performance metrics. The subscription mechanism allows for
configurable update periods, enabling both high-frequency
monitoring and long-term trend analysis (e.g., 24-hour intervals).
Network elements generate periodic event notifications containing
the requested PM data, which clients can process for real-time
monitoring, historical analysis, or triggering automated responses
based on performance thresholds.</t>
        <t><xref target="fig-periodic-sub-example"/> shows a subscription request for the
ES parameter in the <tt>itu-transport-maintenance-15min</tt> profile. It
requests counts measurement data sampled every second and
aggregated over a 15-minute interval. The reporting period is set
to 900 seconds, so a notification is sent at the end of each
measurement interval.</t>
        <figure anchor="fig-periodic-sub-example">
          <name>Periodic Event Subscription Example</name>
          <sourcecode type="xml"><![CDATA[
<rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"
     xmlns:sn=
       "urn:ietf:params:xml:ns:yang:ietf-subscribed-notifications"
     xmlns:pm-coll=
       "urn:ietf:params:xml:ns:yang:ietf-pm-collection"
     message-id="101">
  <sn:establish-subscription>
    <sn:stream>YANG-PUSH</sn:stream>
    <sn:encoding>encode-xml</sn:encoding>
    <sn:filter>
      <sn:datastore>operational</sn:datastore>
      <sn:xpath-filter>
        /pm-coll:pm-periodic-measurement/
          parameter-profile[name='itu-transport-maintenance-15min']/
          pm-parameter[name='es']/
          sampling-interval[id='1s']/
          measurement-interval[id='15min']/
          collection-types/counts/measurement-value
      </sn:xpath-filter>
    </sn:filter>
    <sn:period>900</sn:period>
    <sn:anchor-time>2024-07-01T00:00:00Z</sn:anchor-time>
  </sn:establish-subscription>
</rpc>
]]></sourcecode>
        </figure>
        <t><xref target="fig-periodic-notif-example"/> shows a notification for the ES
parameter in the <tt>itu-transport-maintenance-15min</tt> profile. It
reports the counts measurement value sampled every second and
aggregated over a 15-minute interval. The measured value (10)
represents the total errored seconds in that period.</t>
        <figure anchor="fig-periodic-notif-example">
          <name>Periodic Event Notification Example</name>
          <sourcecode type="xml"><![CDATA[
<notification
    xmlns="urn:ietf:params:xml:ns:netconf:notification:1.0"
    xmlns:pm-coll=
      "urn:ietf:params:xml:ns:yang:ietf-pm-collection">
  <eventTime>2024-07-01T00:15:00Z</eventTime>
  <pm-coll:pm-periodic-measurement>
    <parameter-profile>
      <name>itu-transport-maintenance-15min</name>
      <pm-parameter>
        <name>es</name>
        <sampling-interval>
          <id>1s</id>
          <interval-value>1</interval-value>
          <unit>second</unit>
          <measurement-interval>
            <id>15min</id>
            <interval-value>15</interval-value>
            <unit>minute</unit>
            <collection-types>
              <counts>
                <measurement-value>10</measurement-value>
              </counts>
            </collection-types>
          </measurement-interval>
        </sampling-interval>
      </pm-parameter>
    </parameter-profile>
  </pm-coll:pm-periodic-measurement>
</notification>
]]></sourcecode>
        </figure>
      </section>
      <section anchor="threshold-events">
        <name>Threshold Events</name>
        <t>Threshold event subscriptions enable clients to receive immediate
notifications when performance metrics cross predefined
thresholds, providing proactive monitoring capabilities. This
subscription type uses standard YANG-Push <xref target="RFC8639"/>
          <xref target="RFC8641"/> datastore change notifications to deliver the
threshold events defined in this document.</t>
        <section anchor="periodic-threshold-events">
          <name>Periodic Threshold Events</name>
          <figure anchor="fig-periodic-thr-tree">
            <name>Periodic Threshold Events Subtree</name>
            <artwork type="ascii-art"><![CDATA[
+--ro counts-transient
|  +--ro event-type?       enumeration
|  +--ro event-occurred?   boolean
|  +--ro event-time?       yang:date-and-time
+--ro counts-standing
|  +--ro event-type?       enumeration
|  +--ro event-occurred?   boolean
|  +--ro event-time?       yang:date-and-time
+--ro snapshot
|  +--ro event-type?       enumeration
|  +--ro event-occurred?   boolean
|  +--ro event-time?       yang:date-and-time
+--ro tidemarks
   +--ro event-type?       enumeration
   +--ro event-occurred?   boolean
   +--ro event-time?       yang:date-and-time
]]></artwork>
          </figure>
          <t>When a performance parameter exceeds or falls below configured
thresholds for the periodic collection types of counts, snapshot,
and tidemarks, the network element generates event-driven
notifications containing the threshold crossing event type and
occurrence time (parameter values at the time of the event can be
read from the operational datastore if needed). This mechanism
supports four types of threshold events: count-transient-event
for immediate threshold crossings, count-standing-event for
persistent threshold violations, snapshot-event for instantaneous
value threshold crossings, and tidemark-event for extreme value
threshold crossings. These events enable rapid response to network
performance degradation and automated fault management. The
threshold event subscription complements periodic subscriptions by
providing real-time alerts for critical performance issues that
require immediate attention.</t>
          <t><xref target="fig-threshold-sub-example"/> shows an example of the NETCONF
request to subscribe to all pm-threshold-events notifications in
the <tt>ietf-pm-collection</tt> model.</t>
          <figure anchor="fig-threshold-sub-example">
            <name>Threshold Event Subscription Example</name>
            <sourcecode type="xml"><![CDATA[
<rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"
     xmlns:sn=
       "urn:ietf:params:xml:ns:yang:ietf-subscribed-notifications"
     xmlns:pm-coll=
       "urn:ietf:params:xml:ns:yang:ietf-pm-collection"
     message-id="202">
  <sn:establish-subscription>
    <sn:stream>YANG-PUSH</sn:stream>
    <sn:encoding>encode-xml</sn:encoding>
    <sn:filter>
      <sn:datastore>operational</sn:datastore>
      <sn:xpath-filter>
        /pm-coll:pm-threshold-events
      </sn:xpath-filter>
    </sn:filter>
    <sn:period>1</sn:period>
    <sn:anchor-time>2024-07-01T00:00:00Z</sn:anchor-time>
  </sn:establish-subscription>
</rpc>
]]></sourcecode>
          </figure>
          <t><xref target="fig-threshold-notif-example"/> reports a high-OOR-event threshold
crossing for the snapshot measurement of the ES parameter in the
<tt>itu-transport-maintenance-15min</tt> profile, with 1-second sampling
and 15-minute measurement interval. It shows the event type,
occurrence, and timestamp as defined in the YANG model.</t>
          <figure anchor="fig-threshold-notif-example">
            <name>Threshold Event Notification Example</name>
            <sourcecode type="xml"><![CDATA[
<notification
    xmlns="urn:ietf:params:xml:ns:netconf:notification:1.0"
    xmlns:pm-coll=
      "urn:ietf:params:xml:ns:yang:ietf-pm-collection">
  <eventTime>2024-07-01T00:05:23Z</eventTime>
  <pm-coll:pm-threshold-events>
    <periodic-events>
      <parameter-profile>
        <name>itu-transport-maintenance-15min</name>
        <pm-parameter>
          <name>es</name>
          <sampling-interval>
            <id>1s</id>
            <interval-value>1</interval-value>
            <unit>second</unit>
            <measurement-interval>
              <id>15min</id>
              <interval-value>15</interval-value>
              <unit>minute</unit>
              <event-types>
                <snapshot>
                  <event-type>High-OOR-event</event-type>
                  <event-occurred>true</event-occurred>
                  <event-time>2024-07-01T00:05:23Z</event-time>
                </snapshot>
              </event-types>
            </measurement-interval>
          </sampling-interval>
        </pm-parameter>
      </parameter-profile>
    </periodic-events>
  </pm-coll:pm-threshold-events>
</notification>
]]></sourcecode>
          </figure>
        </section>
        <section anchor="non-periodic-threshold-events">
          <name>Non-Periodic Threshold Events</name>
          <figure anchor="fig-nonperiodic-tree">
            <name>Non-Periodic Threshold Events Subtree</name>
            <artwork type="ascii-art"><![CDATA[
+--ro non-periodic-events
   +--ro BUT-event
   |  +--ro event-occurred?   boolean
   |  +--ro event-time?       yang:date-and-time
   +--ro EUT-event
   |  +--ro event-occurred?   boolean
   |  +--ro event-time?       yang:date-and-time
   |  +--ro duration?         uint32
   +--ro CSES-event
      +--ro event-occurred?   boolean
      +--ro start?            yang:date-and-time
      +--ro end?              yang:date-and-time
      +--ro duration?         uint32
      +--ro error-count?      uint32
]]></artwork>
          </figure>
          <t>Non-periodic threshold event subscriptions provide immediate
notifications for critical network availability and error
conditions that occur independently of regular measurement
intervals. These subscriptions monitor for specific events such as
BUT, EUT, and CSES that indicate significant network performance
degradation or service interruptions. When these events occur, the
network element generates immediate notifications containing event
details, timing information, and duration data. This subscription
type enables proactive network management by providing real-time
awareness of critical network conditions that require immediate
operator attention or automated intervention. Non-periodic
threshold events complement periodic monitoring by capturing
exceptional conditions that may not be detected through regular
interval-based measurements.</t>
        </section>
      </section>
    </section>
    <section anchor="yang-data-model">
      <name>YANG Data Model</name>
      <t>The YANG module for PM measurements is defined below:</t>
      <sourcecode type="yang" markers="true" name="ietf-pm-collection@2026-05-02.yang"><![CDATA[
module ietf-pm-collection {
  yang-version 1.1;
  namespace
    "urn:ietf:params:xml:ns:yang:ietf-pm-collection";
  prefix pm-coll;

  import ietf-yang-types {
    prefix yang;
    reference "RFC 6991: Common YANG Data Types";
  }

  organization
    "IETF Common Control and Measurement Plane (ccamp)
     Working Group";
  contact
    "WG Web: <https://datatracker.ietf.org/wg/ccamp/>
     Editor: Bin Yeong Yoon <mailto:byyun@etri.re.kr>";
  description
    "This YANG module defines a data model for performance
     management (PM) streaming from network equipment to clients,
     based on ITU-T G.7710. It supports real-time streaming of
     performance measurements using three core collection types:
     counts (cumulative events), snapshot (instantaneous values),
     and tidemarks (extreme values), as defined in ITU-T G.7710.

     The module enables proactive network monitoring through
     configurable sampling and measurement intervals, supporting
     both high-frequency real-time monitoring and long-term trend
     analysis. It provides threshold event notifications for both
     periodic measurements and non-periodic events (BUT, EUT,
     CSES).

     The design supports AI-driven applications, network digital
     twins, and dynamic network environments by enabling multiple
     simultaneous views of the same performance parameter with
     different temporal resolutions. This hierarchical structure
     allows operators, analytics systems, and digital twin
     platforms to access performance data at appropriate
     granularities while maintaining operational efficiency and
     cross-vendor interoperability.

     The module integrates with IETF YANG-Push protocols for
     subscription-based streaming, enabling clients to receive
     continuous performance data and threshold event notifications
     for real-time monitoring, historical analysis, and automated
     network management.";

  revision 2026-05-02 {
    description
      "Renamed the module from ietf-pm-measurements to
       ietf-pm-collection (including namespace and prefix).

       Terminology and model alignment: prior wording and the
       measurement-methods container for counts, snapshot, and
       tidemarks were replaced by collection types and the
       collection-types container, per ITU-T G.7710 collection-
       type concepts.";
    reference
      "RFC XXXX: A YANG Data Model of Performance Management
       Streaming";
  }

  /*
   * TYPEDEFs
   */
  typedef profile-names {
    type string {
      pattern '[a-zA-Z][a-zA-Z0-9_-]*-[a-zA-Z][a-zA-Z0-9_-]*-'
            + '[a-zA-Z][a-zA-Z0-9_-]*(-[a-zA-Z][a-zA-Z0-9_-]*)?';
    }
    description
      "Parameter profile name following the format:
       <source>-<network>-<purpose>[-<characteristic>]

       Where:
       - <source>: Standards body or organization
         (e.g., itu, ieee, ietf)
       - <network>: Network domain or layer
         (e.g., transport, access, core)
       - <purpose>: Intended use or function
         (e.g., maintenance, qos, availability)
       - <characteristic>: Optional qualifying information
         (e.g., 15min, 24hr, high-priority)

       Examples:
       - itu-transport-maintenance-15min
       - itu-transport-maintenance-24hr
       - itu-transport-qos-24hr
       - ieee-access-availability";
  }

  typedef time-interval-unit {
    type enumeration {
      enum millisecond {
        description "Time interval in milliseconds.";
      }
      enum second {
        description "Time interval in seconds.";
      }
      enum minute {
        description "Time interval in minutes.";
      }
      enum hour {
        description "Time interval in hours.";
      }
    }
    description "Units for expressing time intervals.";
  }

  /*
   * IDENTITIES
   */
  identity periodic-events {
    description
      "Base identity for periodic event notifications.";
  }

  identity counts-transient {
    base periodic-events;
    description
      "Notification for transient threshold events in counts
       measurements.";
  }

  identity counts-standing {
    base periodic-events;
    description
      "Notification for standing threshold events in counts
       measurements.";
  }

  identity snapshot {
    base periodic-events;
    description
      "Notification for snapshot measurement threshold events.";
  }

  identity tidemarks {
    base periodic-events;
    description
      "Notification for tidemarks measurement threshold events.";
  }

  identity non-periodic-events {
    description
      "Base identity for non-periodic event notifications.";
  }

  identity but {
    base non-periodic-events;
    description
      "Notification for Begin Unavailable Time (BUT) events.";
  }

  identity eut {
    base non-periodic-events;
    description
      "Notification for End Unavailable Time (EUT) events.";
  }

  identity cses {
    base non-periodic-events;
    description
      "Notification for Consecutive Severely Errored Seconds
       (CSES) events.";
  }

  /*
   * COMMON GROUPINGS
   */
  grouping threshold-config {
    description
      "Common threshold configuration for snapshot and tidemarks
       measurement types (high and low thresholds).";
    leaf high-threshold {
      type uint32;
      description
        "High threshold that triggers alerts when exceeded.";
    }
    leaf low-threshold {
      type uint32;
      description
        "Low threshold that triggers alerts when performance
         falls below acceptable levels.";
    }
  }

  grouping transient-threshold-config {
    description
      "Threshold configuration for transient conditions.
       Transient thresholds only support high threshold crossings
       and report immediately when the count value reaches or
       crosses the configured transient threshold value.
       Transient thresholds do not support low threshold
       (underflow) conditions, unlike snapshot and tidemarks
       measurements which support both high and low thresholds.";
    leaf transient-threshold {
      type uint32;
      description
        "Transient threshold that triggers alerts when exceeded.
         Transient thresholds report immediately when the count
         value reaches or crosses this threshold value.";
    }
  }

  grouping event-state-info {
    description
      "Common event state information for all event types.";
    leaf event-occurred {
      type boolean;
      description
        "Indicates whether a threshold crossing or performance
         event has occurred.";
    }
    leaf event-time {
      type yang:date-and-time;
      description
        "Precise timestamp of when the event occurred.";
    }
  }

  grouping oor-event-type {
    description
      "Common out-of-range event type definition.";
    leaf event-type {
      type enumeration {
        enum High-OOR-event {
          description "High OOR threshold exceeded.";
        }
        enum Low-OOR-event {
          description "Low OOR threshold crossed.";
        }
      }
      description
        "Specifies whether the high or low OOR threshold was
         crossed.";
    }
  }

  grouping triggered-oor-event-info {
    description
      "Combined threshold event type and event information.";
    uses oor-event-type;
    uses event-state-info;
  }

  grouping count-transient-event-type {
    description
      "Transient threshold event type definition for counts
       measurements. Transient thresholds report immediately when
       the count value reaches or crosses a configured threshold
       value.";
    leaf event-type {
      type enumeration {
        enum Threshold-Crossed-Event {
          description
            "Threshold crossing event generated when count value
             reaches or crosses the configured threshold value.";
        }
      }
      description
        "Specifies that a threshold crossing event occurred.";
    }
  }

  grouping triggered-count-transient-event-info {
    description
      "Combined transient threshold event type and event
       information for counts measurements. Transient thresholds
       are independent threshold mechanisms that report
       immediately when count values cross configured threshold
       values.";
    uses count-transient-event-type;
    uses event-state-info;
  }

  grouping time-interval-config {
    description "Common time interval configuration.";
    leaf interval-value {
      type uint32;
      description "Numeric value for the interval.";
    }
    leaf unit {
      type time-interval-unit;
      description "Time unit for the interval value.";
    }
  }

  /*
   * COLLECTION TYPE GROUPINGS
   */
  grouping count-measurement-gr {
    description
      "Counts measurement for cumulative event tracking over a
       measurement interval. Supports transient and standing
       threshold reporting, as defined in G.7710.";
    container counts {
      description
        "Contains counts measurement values and configuration.";
      container transient-condition-config {
        description
          "Configuration for transient threshold conditions.
           Transient thresholds report immediately when the
           count value reaches or crosses the configured
           transient threshold value. Transient thresholds do
           not support low threshold (underflow) conditions,
           unlike snapshot and tidemarks measurements which
           support both high and low thresholds.";
        uses transient-threshold-config;
      }
      container standing-condition-config {
        description
          "Configuration for standing condition monitoring.
           When both thresholds are set, standing-threshold
           must be greater than or equal to reset-threshold
           (hysteresis).";
        must "not(standing-threshold and reset-threshold) or "
           + "standing-threshold >= reset-threshold" {
          error-message
            "Standing threshold must be >= reset threshold.";
        }
        leaf standing-threshold {
          type uint32;
          description
            "Threshold value that triggers standing condition
             alerts.";
        }
        leaf reset-threshold {
          type uint32;
          description
            "Reset threshold value that clears standing
             conditions.";
        }
      }
      leaf measurement-value {
        type uint32;
        config false;
        description
          "Current cumulative count value for the measurement
           interval.";
      }
    }
  }

  grouping snapshot-measurement-gr {
    description
      "Snapshot measurements for instantaneous values at uniform
       time within each measurement interval. Supports high/low
       OOR threshold reporting, as defined in G.7710.";
    container snapshot {
      description
        "Contains snapshot measurement configuration and values.";
      container uniform-time-config {
        description
          "Configuration for uniform time intervals between
           snapshots.";
        leaf interval-value {
          type uint32;
          default 1;
          description
            "Numeric value for the sampling interval between
             snapshots.";
        }
        leaf unit {
          type time-interval-unit;
          description
            "Time unit for the snapshot sampling interval.";
        }
      }
      container threshold-config {
        description
          "Configuration for snapshot threshold monitoring.";
        uses threshold-config;
      }
      leaf measurement-value {
        type uint32;
        config false;
        description
          "Current instantaneous snapshot value.";
      }
    }
  }

  grouping tidemarks-measurement-gr {
    description
      "Tidemarks measurements for maximum and minimum values
       over the measurement interval. Supports high/low OOR
       threshold reporting, as defined in G.7710.";
    container tidemarks {
      description
        "Contains tidemarks measurement values and threshold
         configuration.";
      container threshold-config {
        description
          "Configuration for tidemarks threshold monitoring.";
        uses threshold-config;
      }
      leaf high-measurement-value {
        type uint32;
        config false;
        description
          "Current maximum value recorded during the measurement
           interval.";
      }
      leaf low-measurement-value {
        type uint32;
        config false;
        description
          "Current minimum value recorded during the measurement
           interval.";
      }
    }
  }

  grouping collection-types-gr {
    description
      "Grouping for the three core collection types (counts,
       snapshot, tidemarks) per ITU-T G.7710.";
    container collection-types {
      description
        "Container for the counts, snapshot, and tidemarks
         collection types.";
      uses count-measurement-gr;
      uses snapshot-measurement-gr;
      uses tidemarks-measurement-gr;
    }
  }

  /*
   * EVENT GROUPINGS
   */
  grouping counts-transient-event-gr {
    description
      "Transient threshold events for counts measurements.
       Transient thresholds are independent threshold mechanisms
       that report immediately when count values cross configured
       threshold values.";
    container counts-transient {
      description
        "Contains information about transient threshold events
         for counts.";
      uses triggered-count-transient-event-info;
    }
  }

  grouping counts-standing-event-gr {
    description
      "Standing condition events for counts measurements.";
    container counts-standing {
      description
        "Contains information about standing threshold events
         for counts.";
      leaf event-type {
        type enumeration {
          enum Threshold-Report {
            description
              "Threshold Report (TR) generated when the count
               value reaches or exceeds the standing-threshold
               configured in standing-condition-config.";
          }
          enum Reset-Threshold-Report {
            description
              "Reset Threshold Report (RTR) generated at the end
               of the period when the count value is at or below
               the reset-threshold (G.7710 standing condition
               clear).";
          }
        }
        description
          "Specifies the type of standing threshold event that
           occurred, as defined in G.7710. A Threshold-Report
           (TR) is generated when the measurement-value reaches
           or exceeds the standing-threshold. A
           Reset-Threshold-Report (RTR) is generated at the end
           of the period when the measurement-value is at or
           below the reset-threshold.";
      }
      uses event-state-info;
    }
  }

  grouping snapshot-events-gr {
    description
      "Threshold events for snapshot measurements.";
    container snapshot {
      description
        "Contains snapshot threshold event information.";
      uses triggered-oor-event-info;
    }
  }

  grouping tidemarks-events-gr {
    description
      "Threshold events for tidemarks measurements.";
    container tidemarks {
      description
        "Contains tidemarks threshold event information.";
      uses triggered-oor-event-info;
    }
  }

  /*
   * MEASUREMENT INTERVAL STRUCTURES
   */
  grouping periodic-measurement-intervals {
    description
      "Hierarchical structure for periodic measurement timing
       and collection types.";
    list sampling-interval {
      key "id";
      description
        "List of sampling intervals defining data collection
         frequency.";
      leaf id {
        type string;
        description
          "Unique identifier for this sampling interval
           configuration.";
      }
      leaf interval-value {
        type uint32;
        default 1;
        description "Numeric value for the sampling interval.";
      }
      leaf unit {
        type time-interval-unit;
        default second;
        description "Time unit for the sampling interval value.";
      }
      list measurement-interval {
        key "id";
        description
          "List of measurement intervals defining aggregation
           periods.";
        leaf id {
          type string;
          description
            "Unique identifier for this measurement interval
             configuration.";
        }
        leaf interval-value {
          type uint32;
          default 15;
          description
            "Numeric value for the measurement interval.";
        }
        leaf unit {
          type time-interval-unit;
          default minute;
          description
            "Time unit for the measurement interval value.";
        }
        uses collection-types-gr;
      }
    }
  }

  grouping non-periodic-events-gr {
    description
      "Grouping for non-periodic performance event parameters
       (BUT, EUT, CSES).";
    container BUT-event {
      description "Begin Unavailable Time (BUT) event.";
      uses event-state-info;
    }
    container EUT-event {
      description "End Unavailable Time (EUT) event.";
      uses event-state-info;
      leaf duration {
        type uint32;
        units "seconds";
        description
          "Total duration of unavailability in seconds.";
      }
    }
    container CSES-event {
      description
        "Consecutive Severely Errored Seconds (CSES) event.";
      leaf event-occurred {
        type boolean;
        description
          "Indicates whether a CSES event was generated.";
      }
      leaf start {
        type yang:date-and-time;
        description
          "Timestamp indicating when the CSES period began.";
      }
      leaf end {
        type yang:date-and-time;
        description
          "Timestamp indicating when the CSES period ended.";
      }
      leaf duration {
        type uint32;
        units "seconds";
        description "Duration of the CSES period in seconds.";
      }
      leaf error-count {
        type uint32;
        description
          "Number of errors during the CSES period.";
      }
    }
  }

  grouping pm-periodic-measurement-gr {
    description
      "Hierarchical structure for periodic performance
       measurements.";
    list parameter-profile {
      key "name";
      description "List of performance parameter profiles.";
      leaf name {
        type profile-names;
        description "Name of the parameter profile.";
      }
      list pm-parameter {
        key "name";
        description
          "List of PM parameters within the parameter profile.";
        leaf name {
          type string;
          description
            "Name of the performance parameter being measured.";
        }
        uses periodic-measurement-intervals;
      }
    }
  }

  /*
   * MAIN CONTAINER
   */
  container pm-periodic-measurement {
    description
      "Main container for periodic performance measurements.";
    uses pm-periodic-measurement-gr;
  }

  /*
   * NOTIFICATIONS
   */
  notification pm-threshold-events {
    description
      "Notification for periodic threshold crossing events and
       non-periodic performance events (BUT, EUT, CSES).";
    container periodic-events {
      description "Container for periodic threshold events.";
      list parameter-profile {
        key "name";
        description
          "List of performance parameter profiles for event
           monitoring.";
        leaf name {
          type profile-names;
          description "Name of the parameter profile.";
        }
        list pm-parameter {
          key "name";
          description
            "List of PM parameters within the parameter
             profile.";
          leaf name {
            type string;
            description
              "Name of the performance parameter being
               monitored.";
          }
          list sampling-interval {
            key "id";
            description
              "List of sampling intervals for event monitoring.";
            leaf id {
              type string;
              description
                "Unique identifier for this sampling interval
                 configuration.";
            }
            uses time-interval-config;
            list measurement-interval {
              key "id";
              description
                "List of measurement intervals for event
                 aggregation.";
              leaf id {
                type string;
                description
                  "Unique identifier for this measurement
                   interval configuration.";
              }
              uses time-interval-config;
              container event-types {
                description
                  "Container for different threshold event
                   types.";
                uses counts-transient-event-gr;
                uses counts-standing-event-gr;
                uses snapshot-events-gr;
                uses tidemarks-events-gr;
              }
            }
          }
        }
      }
    }

    container non-periodic-events {
      description
        "Container for non-periodic performance events (BUT,
         EUT, CSES).";
      uses non-periodic-events-gr;
    }
  }
}
]]></sourcecode>
    </section>
    <section anchor="yang-data-trees">
      <name>YANG Data Trees</name>
      <figure anchor="fig-ni-tree">
        <name>Tree of pm measurements module</name>
        <artwork type="ascii-art"><![CDATA[
module: ietf-pm-collection
  +--rw pm-periodic-measurement
     +--rw parameter-profile* [name]
        +--rw name              profile-names
        +--rw pm-parameter* [name]
           +--rw name                 string
           +--rw sampling-interval* [id]
              +--rw id                 string
              +--rw interval-value?    uint32
              +--rw unit?              time-interval-unit
              +--rw measurement-interval* [id]
                 +--rw id              string
                 +--rw interval-value? uint32
                 +--rw unit?           time-interval-unit
                 +--rw collection-types
                    +--rw counts
                    |  +--rw transient-condition-config
                    |  |  +--rw transient-threshold?   uint32
                    |  +--rw standing-condition-config
                    |  |  +--rw standing-threshold?    uint32
                    |  |  +--rw reset-threshold?       uint32
                    |  +--ro measurement-value?        uint32
                    +--rw snapshot
                    |  +--rw uniform-time-config
                    |  |  +--rw interval-value?   uint32
                    |  |  +--rw unit?             time-interval-unit
                    |  +--rw threshold-config
                    |  |  +--rw high-threshold?   uint32
                    |  |  +--rw low-threshold?    uint32
                    |  +--ro measurement-value?   uint32
                    +--rw tidemarks
                       +--rw threshold-config
                       |  +--rw high-threshold?   uint32
                       |  +--rw low-threshold?    uint32
                       +--ro high-measurement-value?   uint32
                       +--ro low-measurement-value?    uint32

  notifications:
    +---n pm-threshold-events
       +--ro periodic-events
       |  +--ro parameter-profile* [name]
       |     +--ro name              profile-names
       |     +--ro pm-parameter* [name]
       |        +--ro name                 string
       |        +--ro sampling-interval* [id]
       |           +--ro id                 string
       |           +--ro interval-value?    uint32
       |           +--ro unit?              time-interval-unit
       |           +--ro measurement-interval* [id]
       |              +--ro id              string
       |              +--ro interval-value? uint32
       |              +--ro unit?           time-interval-unit
       |              +--ro event-types
       |                 +--ro counts-transient
       |                 |  +--ro event-type?      enumeration
       |                 |  +--ro event-occurred?  boolean
       |                 |  +--ro event-time?      yang:date-and-time
       |                 +--ro counts-standing
       |                 |  +--ro event-type?      enumeration
       |                 |  +--ro event-occurred?  boolean
       |                 |  +--ro event-time?      yang:date-and-time
       |                 +--ro snapshot
       |                 |  +--ro event-type?      enumeration
       |                 |  +--ro event-occurred?  boolean
       |                 |  +--ro event-time?      yang:date-and-time
       |                 +--ro tidemarks
       |                    +--ro event-type?      enumeration
       |                    +--ro event-occurred?  boolean
       |                    +--ro event-time?      yang:date-and-time
       +--ro non-periodic-events
          +--ro BUT-event
          |  +--ro event-occurred?   boolean
          |  +--ro event-time?       yang:date-and-time
          +--ro EUT-event
          |  +--ro event-occurred?   boolean
          |  +--ro event-time?       yang:date-and-time
          |  +--ro duration?         uint32
          +--ro CSES-event
             +--ro event-occurred?   boolean
             +--ro start?            yang:date-and-time
             +--ro end?              yang:date-and-time
             +--ro duration?         uint32
             +--ro error-count?      uint32
]]></artwork>
      </figure>
    </section>
    <section anchor="pm-interval-capabilities">
      <name>PM Interval Capabilities</name>
      <t>The <tt>ietf-pm-interval-capabilities</tt> YANG module provides
comprehensive capability discovery for interval configurations,
enabling clients to understand the supported temporal resolutions
before configuring PM measurements. This module is designed to
work seamlessly with the <tt>ietf-pm-collection</tt> module, supporting
both real-time monitoring scenarios requiring high-frequency
sampling and long-term trend analysis requiring extended
measurement intervals.</t>
      <t>The advertisement of interval capabilities follows standard IETF
procedures for capability discovery in network management
systems, based on the principles outlined in <xref target="RFC9195"/> for
YANG instance data files, <xref target="RFC8525"/> for YANG library, and
<xref target="RFC9196"/> for system and notification capability
advertisement.</t>
      <section anchor="motivation">
        <name>Motivation</name>
        <t>ITU-T G.7710 does not currently include a clause that explicitly
mandates a capability-discovery mechanism for configurable
measurement timing parameters. However, the configurability of
sampling and measurement intervals defined in ITU-T G.7710,
together with the streaming model defined therein, requires that
clients know in advance which intervals a given server can
support, so that subscription requests can be constructed without
violating implementation constraints. This module provides that
capability advertisement.</t>
        <t>The need for interval capabilities discovery arises from several
critical factors that affect the configuration and operation of
performance monitoring systems. Different types of performance
parameters inherently require different sampling and measurement
intervals based on their characteristics and measurement
objectives. For example, error-based parameters such as errored
seconds (ES) may require frequent sampling to capture transient
events, while availability metrics might be adequately monitored
with longer intervals. Similarly, latency measurements often need
high-frequency sampling to detect microsecond-level variations,
whereas throughput statistics can be effectively captured with
less frequent sampling.</t>
        <t>Vendor dependencies represent another significant factor
necessitating interval capabilities discovery. Network equipment
manufacturers implement different hardware architectures,
processing capabilities, and measurement engines, resulting in
varying support for sampling and measurement intervals. Some
vendors may support very fine-grained intervals (e.g.,
millisecond-level sampling) for high-precision applications,
while others may be optimized for longer intervals suitable for
operational monitoring. Additionally, different vendors may have
different constraints on the relationship between sampling and
measurement intervals, with some supporting only specific
multiples or ranges.</t>
        <t>The complexity of modern network environments further underscores
the importance of interval capabilities discovery. Multi-vendor
networks require clients to adapt their monitoring strategies
based on the specific capabilities of each network element.
Without proper capability discovery, clients risk configuring
unsupported intervals, leading to configuration failures,
suboptimal monitoring, or even system instability. The interval
capabilities framework addresses these challenges by providing a
standardized mechanism for discovering and understanding the
temporal resolution capabilities of network elements, enabling
clients to make informed decisions about interval configuration
and ensuring interoperability across diverse network
environments.</t>
        <t>The interval capabilities module follows a hierarchical structure
that mirrors the measurement configuration model, ensuring
consistency between capability discovery and actual measurement
configuration. The architecture consists of three levels:
Parameter Profiles (collections of related performance parameters
such as <tt>itu-transport-maintenance-15min</tt>), PM Parameters
(individual performance parameters within profiles such as <tt>es</tt>,
<tt>ses</tt>, <tt>bbe</tt>), and Interval Capabilities (sampling and measurement
interval capabilities for each parameter).</t>
        <t>The module defines a critical relationship between sampling and
measurement intervals: measurement intervals must be multiples of
their corresponding sampling intervals. This constraint ensures
that measurement aggregation periods align with data collection
frequency, preventing configuration errors and ensuring accurate
performance monitoring. For example, if a device supports a
5-second sampling interval, valid measurement intervals would be
5s, 10s, 15s, 30s, 60s, etc. This relationship is enforced
through the hierarchical structure where measurement intervals
are defined within their corresponding sampling intervals.</t>
      </section>
      <section anchor="capability-discovery-and-configuration-workflow">
        <name>Capability Discovery and Configuration Workflow</name>
        <t>A NETCONF client can discover the sampling and measurement
interval capabilities of a server by following the standard IETF
procedures for capability and module discovery. This process
involves multiple steps, beginning with the session establishment
and extending to operational data retrieval.</t>
        <t>Upon initiating a session, the client receives the server's
<tt>&lt;hello&gt;</tt> message as defined in <xref target="RFC6241"/>. This message
includes a list of capability URIs, indicating the supported YANG
modules and protocol extensions. If the server includes entries
for both <tt>ietf-pm-collection</tt> and
<tt>ietf-pm-interval-capabilities</tt>, the client infers that the
server supports performance measurement with parameter-specific
intervals, and also advertises its supported interval values.</t>
        <t>To confirm module support and retrieve metadata such as revision
dates and feature availability, the client queries the YANG
Library as defined in <xref target="RFC8525"/>. This step allows the client
to verify that both the measurement model and the interval
capability model are implemented and discoverable.</t>
        <t>The client then queries the <tt>pm-interval-capabilities</tt> container,
which is defined with <tt>config false</tt> and thus resides in the
operational datastore per the Network Management Datastore
Architecture (NMDA) described in <xref target="RFC8342"/>. By querying this
container, the client can retrieve a list of supported sampling
and measurement intervals for each performance parameter and
profile. The structure includes constraints such as minimum and
maximum values, allowed time units, and granularity. This live
runtime exposure of capability information follows the model
described in <xref target="RFC9196"/> for advertising telemetry and
notification capabilities in operational state.</t>
        <t>Alternatively, the same interval capabilities may be published as
static data files using the format defined in <xref target="RFC9195"/>. This
allows vendors or standards bodies to document the supported
measurement intervals of a device or profile without requiring a
live connection to the system.</t>
        <t>At this point, the client uses the retrieved interval
capabilities to configure a performance measurement subscription
using the <tt>pm-collection</tt> model. This configuration is made in
alignment with the update intervals supported by the server,
ensuring compatibility and preventing errors such as
<tt>period-unsupported</tt>, as outlined in <xref target="RFC8641"/>.</t>
        <t>This end-to-end process ensures that performance measurement
configurations are both valid and optimized for the server's
capabilities, leveraging both static publication and runtime
introspection using standardized models and procedures.</t>
      </section>
      <section anchor="interval-capabilities-example">
        <name>Interval Capabilities Example</name>
        <t>The following example demonstrates how a client can discover
interval capabilities for the ES parameter in the
<tt>itu-transport-maintenance-15min</tt> profile, specifically
requesting 1-second sampling with 15-minute measurement
intervals.</t>
        <figure anchor="fig-cap-example">
          <name>Interval Capabilities Discovery Example</name>
          <sourcecode type="xml"><![CDATA[
<rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"
     xmlns:pm-int-cap=
       "urn:ietf:params:xml:ns:yang:ietf-pm-interval-capabilities"
     message-id="301">
  <get>
    <filter>
      <pm-int-cap:pm-interval-capabilities>
        <parameter-profile>
          <name>itu-transport-maintenance-15min</name>
          <pm-parameter>
            <name>es</name>
            <interval-relationships>
              <sampling-interval>
                <id>1s</id>
                <min-value>1</min-value>
                <max-value>1</max-value>
                <units>second</units>
                <default-value>1</default-value>
                <default-unit>second</default-unit>
                <granularity>1</granularity>
                <measurement-interval>
                  <id>measurement-range</id>
                  <min-value>5</min-value>
                  <max-value>1440</max-value>
                  <units>minute</units>
                  <default-value>15</default-value>
                  <default-unit>minute</default-unit>
                  <granularity>5</granularity>
                </measurement-interval>
              </sampling-interval>
            </interval-relationships>
          </pm-parameter>
        </parameter-profile>
      </pm-int-cap:pm-interval-capabilities>
    </filter>
  </get>
</rpc>
]]></sourcecode>
        </figure>
        <t>This example shows how a client can discover that the network
element supports 1-second sampling with a flexible measurement
interval range (5-1440 minutes) with 5-minute granularity. The
response confirms unit support for seconds in sampling and
minutes in measurement intervals, with a default recommendation
of 15 minutes, enabling the client to choose any appropriate
measurement duration within the supported range for their PM
monitoring requirements.</t>
      </section>
      <section anchor="pm-interval-capabilities-yang">
        <name>YANG Data Model</name>
        <sourcecode type="yang" markers="true" name="ietf-pm-interval-capabilities@2026-05-02.yang"><![CDATA[
module ietf-pm-interval-capabilities {
  yang-version 1.1;
  namespace
    "urn:ietf:params:xml:ns:yang:ietf-pm-interval-capabilities";
  prefix ipc;

  import ietf-pm-collection {
    prefix pm-coll;
    reference "draft-ietf-ccamp-pm-measurements-yang";
  }

  organization
    "IETF Common Control and Measurement Plane (ccamp)
     Working Group";
  contact
    "WG Web: <https://datatracker.ietf.org/wg/ccamp/>
     Editor: Bin Yeong Yoon <mailto:byyun@etri.re.kr>";
  description
    "This YANG module defines a data model for discovering and
     expressing performance management (PM) interval capabilities
     in network equipment. The module enables clients to discover
     what sampling and measurement intervals a server can support
     for different performance parameters within various
     parameter profiles.

     This module provides hierarchical interval capability
     discovery where measurement intervals must be multiples of
     their corresponding sampling intervals, and each parameter
     can have different interval capabilities within parameter
     profiles.

     This module is designed to work with ietf-pm-collection for
     complete PM streaming solutions and supports both real-time
     monitoring and long-term trend analysis.";

  revision 2026-05-02 {
    description
      "Companion module ietf-pm-collection replaces measurement
       methods with collection types (counts, snapshot,
       tidemarks) and renames the grouping and container to
       collection-types per ITU-T G.7710; this module continues
       to describe interval capabilities for that design.";
    reference
      "RFC XXXX: A YANG Data Model of Performance Management
       Streaming";
  }

  /*
   * TYPEDEFs
   */
  typedef interval-unit {
    type enumeration {
      enum millisecond {
        description "Time interval in milliseconds.";
      }
      enum second {
        description "Time interval in seconds.";
      }
      enum minute {
        description "Time interval in minutes.";
      }
      enum hour {
        description "Time interval in hours.";
      }
      enum day {
        description "Time interval in days.";
      }
    }
    description "Supported units for expressing time intervals.";
  }

  /*
   * IDENTITIES
   */
  identity interval-capability-type {
    description
      "Base identity for different types of interval
       capabilities.";
  }

  identity sampling-interval-capability {
    base interval-capability-type;
    description
      "Capability for sampling intervals - how frequently data
       is collected.";
  }

  identity measurement-interval-capability {
    base interval-capability-type;
    description
      "Capability for measurement intervals - how long
       measurements are aggregated.";
  }

  /*
   * GROUPINGS
   */
  grouping interval-constraints {
    description
      "Constraints for supported intervals including min/max
       values and supported units. This grouping defines the
       capability constraints for both sampling and measurement
       intervals, allowing devices to express their supported
       interval ranges, units, and granularity.";
    leaf min-value {
      type uint32;
      description
        "Minimum supported value for this interval type.";
    }
    leaf max-value {
      type uint32;
      description
        "Maximum supported value for this interval type.";
    }
    leaf-list units {
      type interval-unit;
      description
        "List of supported time units for this interval type.";
    }
    leaf default-value {
      type uint32;
      description
        "Default value recommended for this interval type.";
    }
    leaf default-unit {
      type interval-unit;
      description
        "Default unit recommended for this interval type.";
    }
    leaf granularity {
      type uint32;
      description
        "Granularity step for interval values. For example, if
         granularity is 5, then only values that are multiples
         of 5 are supported.";
    }
  }

  grouping parameter-interval-capabilities {
    description
      "Interval capabilities for a specific parameter within a
       profile. This grouping defines the complete interval
       capability information for a single performance
       parameter, including its name and hierarchical interval
       relationships. The structure uses mapping-based discovery
       where all interval information is contained within the
       sampling-interval structure.";
    leaf name {
      type string;
      description
        "Name of the performance parameter (e.g., es, ses,
         bbe).";
    }
    container interval-relationships {
      description
        "Defines hierarchical relationships between sampling and
         measurement intervals for this parameter. Measurement
         intervals must be multiples of their corresponding
         sampling intervals.";
      list sampling-interval {
        key "id";
        description
          "Maps sampling intervals to their compatible
           measurement intervals with complete capability
           information.";
        leaf id {
          type string;
          description
            "Unique identifier for this sampling interval
             capability.";
        }
        uses interval-constraints;
        list measurement-interval {
          key "id";
          description
            "Detailed information for each compatible
             measurement interval within the sampling interval
             structure.";
          leaf id {
            type string;
            description
              "Unique identifier for this measurement interval
               capability.";
          }
          uses interval-constraints;
        }
      }
    }
  }

  grouping profile-parameter-capabilities {
    description
      "Capabilities for all parameters within a specific
       parameter profile. This grouping defines the complete
       capability information for a parameter profile, including
       the profile name and all performance parameters with
       their respective interval capabilities.";
    leaf name {
      type pm-coll:profile-names;
      description
        "Name of the parameter profile (e.g.,
         itu-transport-maintenance-15min).";
    }
    list pm-parameter {
      key "name";
      description
        "List of parameters with their specific interval
         capabilities within this profile.";
      uses parameter-interval-capabilities;
    }
  }

  /*
   * MAIN CONTAINER
   */
  container pm-interval-capabilities {
    description
      "Main container for hierarchical PM interval capabilities.
       This container provides comprehensive information about
       the sampling and measurement intervals that a server can
       support for different parameters within different
       parameter profiles.";
    config false;

    list parameter-profile {
      key "name";
      description
        "List of parameter profiles with their parameter-
         specific interval capabilities. Each profile represents
         a collection of parameters that share common
         measurement requirements but may have different
         interval capabilities.";
      uses profile-parameter-capabilities;
    }
  }
}
]]></sourcecode>
      </section>
      <section anchor="yang-data-trees-1">
        <name>YANG Data Trees</name>
        <figure anchor="fig-cap-tree">
          <name>Tree of pm interval capabilities module</name>
          <artwork type="ascii-art"><![CDATA[
module: ietf-pm-interval-capabilities
  +--ro pm-interval-capabilities
     +--ro parameter-profile* [name]
        +--ro name              pm-coll:profile-names
        +--ro pm-parameter* [name]
           +--ro name                   string
           +--ro interval-relationships
              +--ro sampling-interval* [id]
                 +--ro id              string
                 +--ro min-value?      uint32
                 +--ro max-value?      uint32
                 +--ro units*          interval-unit
                 +--ro default-value?  uint32
                 +--ro default-unit?   interval-unit
                 +--ro granularity?    uint32
                 +--ro measurement-interval* [id]
                    +--ro id              string
                    +--ro min-value?      uint32
                    +--ro max-value?      uint32
                    +--ro units*          interval-unit
                    +--ro default-value?  uint32
                    +--ro default-unit?   interval-unit
                    +--ro granularity?    uint32
]]></artwork>
        </figure>
      </section>
    </section>
    <section anchor="manageability-considerations">
      <name>Manageability Considerations</name>
      <t>This section will be completed in a future revision of this
document. Considerations to be addressed include the operational
impact of large numbers of concurrent YANG-Push subscriptions for
PM data, alignment of measurement intervals with NE clock sources,
and interaction with existing fault and configuration management
workflows.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This section will be completed in a future revision of this
document. The YANG modules defined in this document define data
nodes that are designed to be accessed via network management
protocols such as NETCONF <xref target="RFC6241"/> or RESTCONF. The lowest
NETCONF layer is the secure transport layer, and the mandatory-
to-implement secure transport is Secure Shell (SSH). The Network
Configuration Access Control Model (NACM) <xref target="RFC8341"/> provides
the means to restrict access for particular NETCONF or RESTCONF
users to a preconfigured subset of all available NETCONF or
RESTCONF protocol operations and content. Detailed analysis of
sensitive readable nodes, writable nodes, and RPC operations
will be added in a future revision.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document requests IANA to register the following URIs in
the "ns" subregistry within the "IETF XML Registry" <xref target="RFC3688"/>:</t>
      <t>URI: urn:ietf:params:xml:ns:yang:ietf-pm-collection
   Registrant Contact: The IESG.
   XML: N/A; the requested URI is an XML namespace.</t>
      <t>URI: urn:ietf:params:xml:ns:yang:ietf-pm-interval-capabilities
   Registrant Contact: The IESG.
   XML: N/A; the requested URI is an XML namespace.</t>
      <t>This document also requests IANA to register the following YANG
modules in the "YANG Module Names" registry <xref target="RFC6020"/>:</t>
      <t>Name:         ietf-pm-collection
   Namespace:    urn:ietf:params:xml:ns:yang:ietf-pm-collection
   Prefix:       pm-coll
   Reference:    RFC XXXX</t>
      <t>Name:         ietf-pm-interval-capabilities
   Namespace:
     urn:ietf:params:xml:ns:yang:ietf-pm-interval-capabilities
   Prefix:       ipc
   Reference:    RFC XXXX</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="G7710" target="https://www.itu.int/rec/T-REC-G.7710">
          <front>
            <title>Common Equipment Management Function Requirements</title>
            <author>
              <organization>ITU-T</organization>
            </author>
            <date year="2025" month="November"/>
          </front>
          <seriesInfo name="ITU-T" value="Recommendation G.7710"/>
        </reference>
        <reference anchor="RFC8639">
          <front>
            <title>Subscription to YANG Notifications</title>
            <author fullname="E. Voit" initials="E." surname="Voit"/>
            <author fullname="A. Clemm" initials="A." surname="Clemm"/>
            <author fullname="A. Gonzalez Prieto" initials="A." surname="Gonzalez Prieto"/>
            <author fullname="E. Nilsen-Nygaard" initials="E." surname="Nilsen-Nygaard"/>
            <author fullname="A. Tripathy" initials="A." surname="Tripathy"/>
            <date month="September" year="2019"/>
            <abstract>
              <t>This document defines a YANG data model and associated mechanisms enabling subscriber-specific subscriptions to a publisher's event streams. Applying these elements allows a subscriber to request and receive a continuous, customized feed of publisher-generated information.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8639"/>
          <seriesInfo name="DOI" value="10.17487/RFC8639"/>
        </reference>
        <reference anchor="RFC8641">
          <front>
            <title>Subscription to YANG Notifications for Datastore Updates</title>
            <author fullname="A. Clemm" initials="A." surname="Clemm"/>
            <author fullname="E. Voit" initials="E." surname="Voit"/>
            <date month="September" year="2019"/>
            <abstract>
              <t>This document describes a mechanism that allows subscriber applications to request a continuous and customized stream of updates from a YANG datastore. Providing such visibility into updates enables new capabilities based on the remote mirroring and monitoring of configuration and operational state.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8641"/>
          <seriesInfo name="DOI" value="10.17487/RFC8641"/>
        </reference>
        <reference anchor="RFC8640">
          <front>
            <title>Dynamic Subscription to YANG Events and Datastores over NETCONF</title>
            <author fullname="E. Voit" initials="E." surname="Voit"/>
            <author fullname="A. Clemm" initials="A." surname="Clemm"/>
            <author fullname="A. Gonzalez Prieto" initials="A." surname="Gonzalez Prieto"/>
            <author fullname="E. Nilsen-Nygaard" initials="E." surname="Nilsen-Nygaard"/>
            <author fullname="A. Tripathy" initials="A." surname="Tripathy"/>
            <date month="September" year="2019"/>
            <abstract>
              <t>This document provides a Network Configuration Protocol (NETCONF) binding to the dynamic subscription capability of both subscribed notifications and YANG-Push.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8640"/>
          <seriesInfo name="DOI" value="10.17487/RFC8640"/>
        </reference>
        <reference anchor="RFC8525">
          <front>
            <title>YANG Library</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="J. Schoenwaelder" initials="J." surname="Schoenwaelder"/>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <author fullname="R. Wilton" initials="R." surname="Wilton"/>
            <date month="March" year="2019"/>
            <abstract>
              <t>This document describes a YANG library that provides information about the YANG modules, datastores, and datastore schemas used by a network management server. Simple caching mechanisms are provided to allow clients to minimize retrieval of this information. This version of the YANG library supports the Network Management Datastore Architecture (NMDA) by listing all datastores supported by a network management server and the schema that is used by each of these datastores.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8525"/>
          <seriesInfo name="DOI" value="10.17487/RFC8525"/>
        </reference>
        <reference anchor="RFC9196">
          <front>
            <title>YANG Modules Describing Capabilities for Systems and Datastore Update Notifications</title>
            <author fullname="B. Lengyel" initials="B." surname="Lengyel"/>
            <author fullname="A. Clemm" initials="A." surname="Clemm"/>
            <author fullname="B. Claise" initials="B." surname="Claise"/>
            <date month="February" year="2022"/>
            <abstract>
              <t>This document defines two YANG modules, "ietf-system-capabilities" and "ietf-notification-capabilities".</t>
              <t>The module "ietf-system-capabilities" provides a placeholder structure that can be used to discover YANG-related system capabilities for servers. The module can be used to report capability information from the server at runtime or at implementation time by making use of the YANG instance data file format.</t>
              <t>The module "ietf-notification-capabilities" augments "ietf-system-capabilities" to specify capabilities related to "Subscription to YANG Notifications for Datastore Updates" (RFC 8641).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9196"/>
          <seriesInfo name="DOI" value="10.17487/RFC9196"/>
        </reference>
        <reference anchor="RFC6241">
          <front>
            <title>Network Configuration Protocol (NETCONF)</title>
            <author fullname="R. Enns" initials="R." role="editor" surname="Enns"/>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <author fullname="J. Schoenwaelder" initials="J." role="editor" surname="Schoenwaelder"/>
            <author fullname="A. Bierman" initials="A." role="editor" surname="Bierman"/>
            <date month="June" year="2011"/>
            <abstract>
              <t>The Network Configuration Protocol (NETCONF) defined in this document provides mechanisms to install, manipulate, and delete the configuration of network devices. It uses an Extensible Markup Language (XML)-based data encoding for the configuration data as well as the protocol messages. The NETCONF protocol operations are realized as remote procedure calls (RPCs). This document obsoletes RFC 4741. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6241"/>
          <seriesInfo name="DOI" value="10.17487/RFC6241"/>
        </reference>
        <reference anchor="RFC8342">
          <front>
            <title>Network Management Datastore Architecture (NMDA)</title>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="J. Schoenwaelder" initials="J." surname="Schoenwaelder"/>
            <author fullname="P. Shafer" initials="P." surname="Shafer"/>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <author fullname="R. Wilton" initials="R." surname="Wilton"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>Datastores are a fundamental concept binding the data models written in the YANG data modeling language to network management protocols such as the Network Configuration Protocol (NETCONF) and RESTCONF. This document defines an architectural framework for datastores based on the experience gained with the initial simpler model, addressing requirements that were not well supported in the initial model. This document updates RFC 7950.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8342"/>
          <seriesInfo name="DOI" value="10.17487/RFC8342"/>
        </reference>
        <reference anchor="RFC6020">
          <front>
            <title>YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)</title>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <date month="October" year="2010"/>
            <abstract>
              <t>YANG is a data modeling language used to model configuration and state data manipulated by the Network Configuration Protocol (NETCONF), NETCONF remote procedure calls, and NETCONF notifications. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6020"/>
          <seriesInfo name="DOI" value="10.17487/RFC6020"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC4656">
          <front>
            <title>A One-way Active Measurement Protocol (OWAMP)</title>
            <author fullname="S. Shalunov" initials="S." surname="Shalunov"/>
            <author fullname="B. Teitelbaum" initials="B." surname="Teitelbaum"/>
            <author fullname="A. Karp" initials="A." surname="Karp"/>
            <author fullname="J. Boote" initials="J." surname="Boote"/>
            <author fullname="M. Zekauskas" initials="M." surname="Zekauskas"/>
            <date month="September" year="2006"/>
            <abstract>
              <t>The One-Way Active Measurement Protocol (OWAMP) measures unidirectional characteristics such as one-way delay and one-way loss. High-precision measurement of these one-way IP performance metrics became possible with wider availability of good time sources (such as GPS and CDMA). OWAMP enables the interoperability of these measurements. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4656"/>
          <seriesInfo name="DOI" value="10.17487/RFC4656"/>
        </reference>
        <reference anchor="RFC5357">
          <front>
            <title>A Two-Way Active Measurement Protocol (TWAMP)</title>
            <author fullname="K. Hedayat" initials="K." surname="Hedayat"/>
            <author fullname="R. Krzanowski" initials="R." surname="Krzanowski"/>
            <author fullname="A. Morton" initials="A." surname="Morton"/>
            <author fullname="K. Yum" initials="K." surname="Yum"/>
            <author fullname="J. Babiarz" initials="J." surname="Babiarz"/>
            <date month="October" year="2008"/>
            <abstract>
              <t>The One-way Active Measurement Protocol (OWAMP), specified in RFC 4656, provides a common protocol for measuring one-way metrics between network devices. OWAMP can be used bi-directionally to measure one-way metrics in both directions between two network elements. However, it does not accommodate round-trip or two-way measurements. This memo specifies a Two-Way Active Measurement Protocol (TWAMP), based on the OWAMP, that adds two-way or round-trip measurement capabilities. The TWAMP measurement architecture is usually comprised of two hosts with specific roles, and this allows for some protocol simplifications, making it an attractive alternative in some circumstances. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5357"/>
          <seriesInfo name="DOI" value="10.17487/RFC5357"/>
        </reference>
        <reference anchor="RFC8762">
          <front>
            <title>Simple Two-Way Active Measurement Protocol</title>
            <author fullname="G. Mirsky" initials="G." surname="Mirsky"/>
            <author fullname="G. Jun" initials="G." surname="Jun"/>
            <author fullname="H. Nydell" initials="H." surname="Nydell"/>
            <author fullname="R. Foote" initials="R." surname="Foote"/>
            <date month="March" year="2020"/>
            <abstract>
              <t>This document describes the Simple Two-way Active Measurement Protocol (STAMP), which enables the measurement of both one-way and round-trip performance metrics, like delay, delay variation, and packet loss.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8762"/>
          <seriesInfo name="DOI" value="10.17487/RFC8762"/>
        </reference>
        <reference anchor="RFC9197">
          <front>
            <title>Data Fields for In Situ Operations, Administration, and Maintenance (IOAM)</title>
            <author fullname="F. Brockners" initials="F." role="editor" surname="Brockners"/>
            <author fullname="S. Bhandari" initials="S." role="editor" surname="Bhandari"/>
            <author fullname="T. Mizrahi" initials="T." role="editor" surname="Mizrahi"/>
            <date month="May" year="2022"/>
            <abstract>
              <t>In situ Operations, Administration, and Maintenance (IOAM) collects operational and telemetry information in the packet while the packet traverses a path between two points in the network. This document discusses the data fields and associated data types for IOAM. IOAM-Data-Fields can be encapsulated into a variety of protocols, such as Network Service Header (NSH), Segment Routing, Generic Network Virtualization Encapsulation (Geneve), or IPv6. IOAM can be used to complement OAM mechanisms based on, e.g., ICMP or other types of probe packets.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9197"/>
          <seriesInfo name="DOI" value="10.17487/RFC9197"/>
        </reference>
        <reference anchor="RFC3593">
          <front>
            <title>Textual Conventions for MIB Modules Using Performance History Based on 15 Minute Intervals</title>
            <author fullname="K. Tesink" initials="K." role="editor" surname="Tesink"/>
            <date month="September" year="2003"/>
            <abstract>
              <t>This document defines a set of Textual Conventions for MIB modules that make use of performance history data based on 15 minute intervals. This memo replaces RFC 2493. Changes relative to RFC 2493 are summarized in the MIB module's REVISION clause. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3593"/>
          <seriesInfo name="DOI" value="10.17487/RFC3593"/>
        </reference>
        <reference anchor="RFC3705">
          <front>
            <title>High Capacity Textual Conventions for MIB Modules Using Performance History Based on 15 Minute Intervals</title>
            <author fullname="B. Ray" initials="B." surname="Ray"/>
            <author fullname="R. Abbi" initials="R." surname="Abbi"/>
            <date month="February" year="2004"/>
            <abstract>
              <t>This document presents a set of High Capacity Textual Conventions for use in MIB modules which require performance history based upon 15 minute intervals. The Textual Conventions defined in this document extend the conventions presented in RFC 3593 to 64 bit resolution using the conventions presented in RFC 2856. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3705"/>
          <seriesInfo name="DOI" value="10.17487/RFC3705"/>
        </reference>
        <reference anchor="RFC9195">
          <front>
            <title>A File Format for YANG Instance Data</title>
            <author fullname="B. Lengyel" initials="B." surname="Lengyel"/>
            <author fullname="B. Claise" initials="B." surname="Claise"/>
            <date month="February" year="2022"/>
            <abstract>
              <t>There is a need to document data defined in YANG models at design time, implementation time, or when a live server is unavailable. This document specifies a standard file format for YANG instance data, which follows the syntax and semantics of existing YANG models and annotates it with metadata.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9195"/>
          <seriesInfo name="DOI" value="10.17487/RFC9195"/>
        </reference>
        <reference anchor="RFC8341">
          <front>
            <title>Network Configuration Access Control Model</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>The standardization of network configuration interfaces for use with the Network Configuration Protocol (NETCONF) or the RESTCONF protocol requires a structured and secure operating environment that promotes human usability and multi-vendor interoperability. There is a need for standard mechanisms to restrict NETCONF or RESTCONF protocol access for particular users to a preconfigured subset of all available NETCONF or RESTCONF protocol operations and content. This document defines such an access control model.</t>
              <t>This document obsoletes RFC 6536.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="91"/>
          <seriesInfo name="RFC" value="8341"/>
          <seriesInfo name="DOI" value="10.17487/RFC8341"/>
        </reference>
        <reference anchor="RFC3688">
          <front>
            <title>The IETF XML Registry</title>
            <author fullname="M. Mealling" initials="M." surname="Mealling"/>
            <date month="January" year="2004"/>
            <abstract>
              <t>This document describes an IANA maintained registry for IETF standards which use Extensible Markup Language (XML) related items such as Namespaces, Document Type Declarations (DTDs), Schemas, and Resource Description Framework (RDF) Schemas.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="81"/>
          <seriesInfo name="RFC" value="3688"/>
          <seriesInfo name="DOI" value="10.17487/RFC3688"/>
        </reference>
      </references>
    </references>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact initials="K." surname="Lee" fullname="Kwangkoog Lee">
        <organization>KT</organization>
        <address>
          <email>kwangkoog.lee@kt.com</email>
        </address>
      </contact>
      <contact initials="J." surname="Shin" fullname="Jongyoon Shin">
        <organization>SK Telecom</organization>
        <address>
          <email>jongyoon.shin@sk.com</email>
        </address>
      </contact>
      <contact initials="S." surname="Nam" fullname="Sungyong Nam">
        <organization>LGU+</organization>
        <address>
          <email>sy.nam@lguplus.co.kr</email>
        </address>
      </contact>
    </section>
  </back>
  <!-- ##markdown-source:
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
gK5o8h6ov11C1/xIQXScZ0VD0iZsXOF0QRKEA79wBT1d1ZwY/JRa969bQZqf
8iKQKSiCrAI5KfpQogvihTiUWdrxQxdBcW6OpQzFP0Y73w3QEtcJRWkXJVoA
HPDvfbeiJrwMYpt2cFnJT/cVVZs/jsBg02uvk92euhIzrImUrf4kx8ldFFFF
OQ2i1yXCb9Dn3HEVAakBl7WXeIqyok+wJzxbp+Jn8pv1XlXeLRoPEo6ZbCDs
DDCfNL+4tj59/iE57pjehQAE7G0FHC873j/vXHvIZgQ2o0/ZkOeikL93jZVI
LXd+ggdBkejt/JBNsbDQMJ8IikLbT9mO79Xr5E4PUhEkJiCOOlL2LD09wPtk
wP5viq4VWsEpCbXSKdT7gBJPuPesRYzlfdq9jWyJYSFN+E56pcjMh8V67UuU
EM9xlJu5h855baKf28buYJodxpnmyUKlDp6BIsp4Zyj1H+lWUv1z7weGyNhD
Ts7Mu2yG65B0CacluhFYWwRqq2UmvwJ2R7ZZFK7lXu8WrHPzh2Q2rMKXqkuW
xuDVNfc4Pt4gvW/yoF301VW+E98qr86krbmrilQ9F3wIziUcIR356KDqj4Rg
p7Rd2K42F6n3l2vzKT1evZwIq4sKXS4tQfiAiv+noHCm5D52xxOI7IWehgmy
PbGLrN7K/etYP+zOpHqF/Gd0ClhVtdADvLREbUrY0+tYr0Rhsjxh/7Ke53Ah
piQghpSLrDw9p5Q+p8BIvWJLunRiyWF9asXOX9fcoffcosp465xdomRegv1J
+RjPBtflfkcdpgcUvWuLzFROjADWrfW6Bgdcj/F1hlZczo3AKcAcz+O4HkHf
b1XVLwMlQUrH2WtpW9JKTiT2tlG6VO4ajCleqEvacjiywsPf4VNLKusuL1Se
kMqj3bP6kxWKEtifste2EpYc1dnlAtTL5baEyPfAmtoPFgcTRbUDln1+2oMr
bhdsLJYFwhrkw9IGnfaHAWKv4WVg+TnIbJYBtKtSORs6l9p913+ngy5dumGt
RrZPLY2/DON87orCPD+TlkxidAyPxRyTz0Egc0mmWtnQSRoR2nN++G1G+UDo
luuRx7TD1FzNW5e9mNhks4LY2KuxlKb/tlVIk7ekpyDpJ1UkTU6AsLviZr1P
mPVrrPWXV0vR6fi1taqU9hRX661TWvWoC7HEsF4Vts7YDykFWnmTVVQMpu9x
a2Fa73Ey2vzOfxqYPHrfCiw3f1w5iTax/HHtSZQ5YnlVwrVLxiXeWvswzIPP
wzz4SMynnop58MF03lj3bMyq4+mEJfVUKeoJUw/KFbEHz8qcaO0GpiyBwi5q
qREmcF+AHHnlxVaKVc7M9ZzsI85VS1Ichq7boPTdaGBUWqnGA+cWT2zyAfF4
FYq/uVGAtjQmFgj7cAMSLXXRIcUcOK9UhSHKOzyfN7dBfHjDjmuQTNAVMjA+
2ru3aDwx1bNjM55W43fCF9AEguIGPZXZjYDn8g8Fh/OyWVKcuzo5V3lH7yV9
TuKGsHPVvP6XbvmlZAgZm8Kl8gxI9nQpA/yFOIzKaqKtkDpIAI9sPOYTe19k
yZpENkfM547YVEGdqIZJB6+PL+gLhhRTSBp43z49zRZoU7LZcGNXSoREOPp2
4PKRuOJPVS+GmM009MUrOi/CgBf82QWm1Znti4s/7zAEZzbSLsx7PKQVu7Aj
doNvnx0ene5IusYfvqQl+WJdkjzFeA4YjqVNWtk67pICwkAxxqvtdkdtCOY1
kJBVoc6Hhm7XzRrROyf8RY3Ot43zo2xu2GF8up67UY2LQCAMcZYKV/yKShih
JE7KX51nExqecGJg7mspYCF/42Cvz4/U+FihhfEV7nYPrsoFODk8O+xDfoeZ
ruoQPU27eYPZ7bXkz1inFqYyUkYHfrxVNlu4U/xsvdBWFA4l++vpS/Navt2S
U/zy6z/84ePHkYjwMODIrBNMF/VxlVGxNMsRR5qNCLlOji++Z1UI5h6Zs73D
byUvhhYIWwUzUjPnkqBzcX27DwWoX2D818AWHhhlT657amGGqT0holmnHOiC
RgE4THeSQkMef/HYHxU+M/J8PH0uZxZmevITDvac4hztPPK9bKsE0NCXNnhm
KXD9Z+ThFMHg1x15CHUxGy+F+P8A+nKIZKRvAQA=

-->

</rfc>
