TR 451
TR 451
TR 451
TR-451
vOMCI Specification
Issue: 1
Issue Date: June 2022
Notice
The Broadband Forum is a non-profit corporation organized to create guidelines for broadband network
system development and deployment. This Technical Report has been approved by members of the Forum.
This Technical Report is subject to change. This Technical Report is owned and copyrighted by the
Broadband Forum, and all rights are reserved. Portions of this Technical Report may be owned and/or
copyrighted by Broadband Forum members.
Intellectual Property
Recipients of this Technical Report are requested to submit, with their comments, notification of any relevant
patent claims or other intellectual property rights of which they may be aware that might be infringed by any
implementation of this Technical Report, or use of any software code normatively referenced in this
Technical Report, and to provide supporting documentation.
Terms of Use
1. License
Broadband Forum hereby grants you the right, without charge, on a perpetual, non-exclusive and worldwide
basis, to utilize the Technical Report for the purpose of developing, making, having made, using, marketing,
importing, offering to sell or license, and selling or licensing, and to otherwise distribute, products complying
with the Technical Report, in all cases subject to the conditions set forth in this notice and any relevant
patent and other intellectual property rights of third parties (which may include members of Broadband
Forum). This license grant does not include the right to sublicense, modify or create derivative works based
upon the Technical Report except to the extent this Technical Report includes text implementable in
computer code, in which case your right under this License to create and modify derivative works is limited to
modifying and creating derivative works of such code. For the avoidance of doubt, except as qualified by the
preceding sentence, products implementing this Technical Report are not deemed to be derivative works of
the Technical Report.
2. NO WARRANTIES
THIS TECHNICAL REPORT IS BEING OFFERED WITHOUT ANY WARRANTY WHATSOEVER, AND IN
PARTICULAR, ANY WARRANTY OF NONINFRINGEMENT AND ANY IMPLIED WARRANTIES ARE
EXPRESSLY DISCLAIMED. ANY USE OF THIS TECHNICAL REPORT SHALL BE MADE ENTIRELY AT
THE USER’S OR IMPLEMENTER'S OWN RISK, AND NEITHER THE BROADBAND FORUM, NOR ANY
OF ITS MEMBERS OR SUBMITTERS, SHALL HAVE ANY LIABILITY WHATSOEVER TO ANY USER,
IMPLEMENTER, OR THIRD PARTY FOR ANY DAMAGES OF ANY NATURE WHATSOEVER, DIRECTLY
OR INDIRECTLY, ARISING FROM THE USE OF THIS TECHNICAL REPORT, INCLUDING BUT NOT
LIMITED TO, ANY CONSEQUENTIAL, SPECIAL, PUNITIVE, INCIDENTAL, AND INDIRECT DAMAGES.
All copies of this Technical Report (or any portion hereof) must include the notices, legends, and other
provisions set forth on this page.
Issue History
Comments or questions about this Broadband Forum Technical Report should be directed to
info@broadband-forum.org.
TABLE OF CONTENTS
APPENDIX VII. VOMCI FUNCTION CONNECTIVITY USING A SESSION PROXY ............................................. 106
List of Figures
List of Tables
Executive Summary
This Technical Report provides the architecture, requirements, and interface specifications for a virtualized
OMCI (vOMCI) solution that moves the OMCI functionality that is traditionally embedded within Optical Line
Termination (OLT) network elements into the Operator's network. This Technical Report supports various
deployment models of the vOMCI solution where functions (i.e., OMCI translation function, OLT & ONU
management functions) of the architecture can be deployed as virtualized network functions and are
expected to be used within Access domain SDN management and control solutions (e.g., Broadband
Forum’s CloudCO) or as a stand-alone process that can be deployed with existing management system
solutions.
The vOMCI solution allows Operators and Service providers more flexibility in how they create, activate, and
maintain services associated with ONUs. Likewise, the vOMCI solution enables easier interoperability testing
and on-boarding the ONUs within the Operator’s ecosystem and network.
1.1 Scope
The scope of this Technical Report is to provide an architecture for the vOMCI solution depicted in Figure 1
providing requirements and interface specifications for the function identified in this section as well as the
requirements for the OLT as they relate to the responsibilities identified in this section of the Technical
Report.
• Informing the other entities in the vOMCI solution that an ONU can be communicated with for ONU
management purposes.
• Receiving management and control requests from the northbound SDN M&C.
• Generating and sending requests for management of the OLT via the interface with OLT.
• Generating and sending requests to target ONUs via the interface with the vOMCI function or ONU
Management Proxy.
• Receiving from the northbound SDN M&C the information necessary to connect OLTs, vOMCI
functions, vOMCI Proxies and/or ONU Management Proxies.
• Receiving from the northbound SDN M&C the information necessary to associate the vOMCI
function with ONUs.
• Receiving from the northbound SDN M&C the mapping information to associate the ONU
characteristics (i.e., vendor, software info) with the versions supported by vOMCI function instances.
• Receiving notifications including events and alarms from the OLT and vOMCI function, or ONU
Management Proxy and sending notifications to the northbound SDN M&C.
When deployed in the vOMCI solution, the ONU Management Proxy shown in Figure 1, is responsible for:
• Forwarding the management requests that are targeted for ONU or vOMCI function from the
vOLTMF to the vOMCI function instances.
• Correlating responses to the requests previously sent to the vOMCI function instances and
forwarding the responses to the vOLTMF.
• Receiving notifications from a vOMCI function instances and forwarding the notification to the
vOLTMF.
• Load balancing the ONU associations for management traffic across available vOMCI function
instances.
• Receiving from the vOLTMF or ONU Management Proxy management commands issued towards
the target ONU(s).
• Translating the received management commands into OMCI management entities (ME) and
formatting them into OMCI messages compliant with ITU-T G.988.
• Encapsulating and sending the above OMCI messages to the target ONU. The messages will pass
through the vOMCI Proxy(s), if required by the vOMCI deployment scenario, and the OLT the target
ONU is attached to.
• Translating the OMCI messages received from an ONU (e.g., containing ONU’s operational data)
through the vOMCI Proxy(s), if required by the vOMCI deployment scenario, and the OLT the target
ONU is attached to.
• Sending the management data and information generated from the received OMCI messages to the
vOLTMF or ONU Management Proxy.
When deployed in the vOMCI architecture, the vOMCI Proxy shown in Figure 1, is responsible for:
• Forwarding the vOMCI message between OLTs and vOMCI functions.
• Optionally perform functions related to the forwarding (e.g., OMCI message retransmission) of the
vOMCI message.
• Process the OMCI messages received from the ONU and encapsulating them into vOMCI
messages and send them to the vOMCI function or vOMCI Proxy.
MUST This word, or the term “REQUIRED”, means that the definition is an absolute
requirement of the specification.
MUST NOT This phrase means that the definition is an absolute prohibition of the
specification.
SHOULD This word, or the term “RECOMMENDED”, means that there could exist
valid reasons in particular circumstances to ignore this item, but the full
implications need to be understood and carefully weighed before choosing a
different course.
SHOULD NOT This phrase, or the phrase “NOT RECOMMENDED” means that there could
exist valid reasons in particular circumstances when the particular behavior
is acceptable or even useful, but the full implications need to be understood
and the case carefully weighed before implementing any behavior described
with this label.
MAY This word, or the term “OPTIONAL”, means that this item is one of an
allowed set of alternatives. An implementation that does not include this
option MUST be prepared to inter-operate with another implementation that
does include the option.
2.2 References
2.3 Definitions
The following terminology is used throughout this Technical Report.
vOMCI Virtualization of the OMCI functionality within the PON Access Network
vOMCI Function A function in the vOMCI solution that is responsible for the translation of ONU
management requests, response and notification between OMCI messages and YANG
objects.
vOMCI The vOMCI-as-a-Service deployment organizes ONU Management Proxy, vOMCI
Service Proxy and vOMCI function into a vOMCI service that is consumed by vOLTMF and
other clients such as a slice management function.
vOLT A function in the vOMCI solution that is responsible for the management of the PON
Management Access Network that includes management of ONUs and OLTs. ONUs can be
Function managed using the vOMCI solution or through the OMCI solution embedded within the
OLT.
YANG Data Modelling Language by IETF
2.4 Abbreviations
This Technical Report uses the following abbreviations:
Regulatory differences related to electrical power, Heating, Ventilation and Air Conditioning (HVAC) and fire
protection between traditional central offices and datacenters is out-of-scope for this document.
3.2 Security
Security provides "a form of protection where a separation is created between the assets and the threat."
This Technical Report enables the sharing of a common infrastructure and interfaces between various use
cases that may be operated by different departments (e.g., wireline and mobile) or different companies (other
service providers, including other network service providers). This Technical Report also provides an
increased opportunity for Operators to dynamically control the network service behavior, with the use of
interfaces specified in this Technical Report.
It is noted that existing threats, safeguards, and enhancements remain applicable to this Technical Report’s
deployments in the management and control planes. This specification assumes a foundation of current
security best practices that have been defined for the existing Multi Service Broadband Network (MSBN).
However, some new or amplified concerns also appear and without appropriate precautions, the above
conditions could impact a network’s security.
3.3 Privacy
A multi-tenant vOMCI solution hosts functionality for a set of actors with potentially competing interests that
the vOMCI solution will be required to isolate from each other. At the same time, it is required to enable
business interactions between the same set of actors requiring careful design of the points of contact.
A multi-tenant vOMCI solution is a system of sufficient complexity that it will expose new attack vectors to
malicious parties that have access to the system. For example, the “black box” steady state functionality of a
virtualized system may be identical to a corresponding physical network function implementation, but the
elasticity and dynamic behavior a virtualized system is capable of implies significantly different system
responses to load will be possible, which can be exploited for malicious purposes if poorly designed or
executed.
Privacy involves the need to ensure that information to, from and between customers can only be accessed
by those who have the right to do so. Furthermore, privacy requirements can vary by regulatory region. In
general, two ways to ensure privacy is recognized:
• Preventing data, from being copied to a non-intended destination.
• Encrypting data, so that it cannot be understood even if it is intercepted.
4 Overview
This section provides an overview of the vOMCI functionality in the context of various deployment scenarios
(e.g., CloudCO, FANS) and the general purpose for the vOMCI interfaces.
Details of deployment scenarios are treated, for information in some of the Appendixes.
Note: The support of the two modes (eOMCI, vOMCI managed ONUs) on the same management
architecture is still under investigation.
The vOMCI solution disaggregates the ITU-T G.988 OMCI function traditionally hosted in the OLT into a
virtualized network function called the vOMCI function hosted in the Service Provider’s cloud platform.
The vOMCI function is driven via well-defined CRUD (Create, Read, Update and Delete) primitives derived
from YANG data models (i.e., TR-385 [26]) and performs the translation to the ITU-T G.988 OMCI [1].
The vOMCI solution can optionally organize the ONU Management Proxy, vOMCI Proxy and the associated
vOMCI function instances into a vOMCI service. The vOMCI service disaggregates from the vOLTMF the
vOMCI service logic such as the association of ONUs and vOMCI function instances, ONU management
chain setup, manipulation of the load balance and scale in/out of the vOMCI function instances. The
complexity of the connectivity between entities (e.g., vOLTMF instance, OLT) that interaction with the vOMCI
service is greatly reduced as the vOLTMF instances and OLTs no longer need to connect directly to each
vOMCI function instance. Instead, the OLTs would connect to a vOMCI Proxy and the vOLTMF instance
would connect to the ONU Management Proxy. Refer to Appendix X for the detailed description of the
vOMCI service.
It is expected that the virtualization techniques, onboarding procedures and the interfaces associated with
the NFVI are not specific to the elements involved in the vOMCI solution and are not specified in this
document.
• Converting the received input into a corresponding set of one (1) or more OMCI messages
• If OMCI MEs are required to be created, the vOMCI function creates the needed OMCI MEs
• Transmitting in sequence the OMCI messages to the OLT where the target ONU is attached
• If an OMCI messages error occurs, returning an error message to the vOLT Management Function
for the vOLT Management Function to recover the ONU to a good state, if needed
• Translating the OMCI message (e.g., responses to requests, notification events) received from the
ONU into data model-based inputs to the vOLT Management Function
The translation of the data model to and from OMCI messages removes the need for the OLT and vOLT
Management Function to have knowledge of the ITU-T G.988 OMCI messages formats for basic and
extended management entities with the associated sequences needed to perform the OMCI operations. In
addition, the vOMCI function decouples changes in the data model (e.g., updates, extensions) of the vOLT
Management Function from the OMCI messages supported by the ONU.
The vOMCI function, ONU Management Proxy and the vOMCI Proxy are VNFs/CNFs can be integrated
within and/or consumed as external microservices by the BAA layer or the CloudCO infrastructure, as
described in Appendix I of this Technical Report.
The data model for the management information defined above is defined in the vOMCI function's YANG
model defined in Annex A: vOMCI YANG Modules.
Additionally, inventory information for the vOMCI function is provided through the administrative interface that
deployed the vOMCI function.
R-vOMCI_FUNC.20 - A vOMCI function MUST provide the capability to manage multiple ONUs, regardless
of how many OLTs to which the ONUs attach.
R-vOMCI_FUNC.31 - The same vOMCI function application SHOULD be available in variants deployable on
both an Openstack and a Kubernetes infrastructure.
R-vOMCI_FUNC.50 - The vOMCI function MUST be packaged with the template and artifacts needed (e.g.,
Heat template, Helm Chart) to ease its onboarding on the infrastructure.
R-vOMCI_FUNC.51 - The NFVI MUST provide a lifecycle management interface for the vOMCI function.
R-vOMCI_FUNC.70 - The MvOLTMF-vOMCI interface MUST support the management of the vOMCI function’s
notifications.
R-vOMCI_FUNC.80 - The MvOLTMF-vOMCI interface MUST support the management of the vOMCI function’s
configuration and state of the gRPC endpoints.
R-vOMCI_FUNC.90 - The MvOLTMF-vOMCI interface MUST support the management of the vOMCI function’s
inventory and state.
R-vOMCI_FUNC.100 - The MvOLTMF-vOMCI interface MUST support the management of the vOMCI function’s
configuration, state and statistics associated with the retransmission capability, if required by the vOMCI
deployment scenario.
R-vOMCI_FUNC.110 - The MvOLTMF-vOMCI interface MUST support the management of the vOMCI function’s
statistics associated with the processed vOMCI messages.
R-vOMCI_FUNC.120 - The MvOLTMF-vOMCI interface MUST support the capability to create and delete ONUs
for the purposes of maintaining the ONU's local information within the vOMCI function.
R-vOMCI_FUNC.130 - The MvOLTMF-vOMCI interface MUST support the capability to configure the ONU
management chain information for the purposes of maintaining the ONU's local information within the vOMCI
function.
R-vOMCI_FUNC.140 - When modifying the information used to identify the ONU management chain, the
vOMCI function SHOULD do so without reconfiguring the ONU.
R-vOMCI_FUNC.200 The vOMCI function MUST provide the capability to send Get MIB data sync message
to the ONU as defined in ITU-T G.988 9.1.3.
R-vOMCI_FUNC.210 The vOMCI function MUST provide the capability to send MibUpload and
MibUploadNext OMCI messages to the ONU as defined in [ITU-T] G.988 I.1.3.
R-vOMCI_FUNC.220 The vOMCI function MUST provide the capability to send MibReset OMCI message to
the ONU as defined in ITU-T G.988 I.1.4.2.
R-vOMCI_FUNC.230 The vOMCI function MUST provide the capability to report configuration align results to
the vOLTMF as defined in ITU-T G.988 I.1.3.
R-vOMCI_FUNC.240 The vOMCI function MUST provide the capability to send OMCI configuration provision
messages to the ONU.
R-vOMCI_FUNC.250 The vOMCI function MUST provide the capability to send a notification to the vOLTMF
that the alignment of a configured ONU has completed.
R-vOMCI_FUNC.260 The vOMCI function MUST support issuing of OMCI messages to obtain ONU device
and the device's software information.
RvOMCI_FUNC.270 The vOMCI function MUST support issuing of OMCI Synchronize time action defined in
section A.2.33 and A.3.33 of G.988 [1] to align the 15-min PM collection interval.
R-vOMCI_FUNC.280 The vOMCI function MUST support the capability to obtain a time of day reference
from a common time source using the NTP protocol defined in RFC 5905 [8].
R-vOMCI_FUNC.290 The vOMCI function MUST align the ONU to the time of day reference obtained by the
vOMCI function upon discovery and realignment.
R-vOMCI_FUNC.295 The vOMCI function MUST respect OMCI dependency on ME creation and/or
configuration for the subset of ONUs managed by this vOMCI function.
Note: R-vOMCI_FUNC.295 realizes that the ONUs should respect OMCI dependencies as defined
in ITU-T G.988 section 9. However, in the scenario where the ONU cannot or doesn't conform to
dependencies as defined ITU-T G.988 section 9, the vOMCI function must respect the OMCI
dependency of the ONUs managed by this vOMCI function.
Note: The vOLTMF is responsible for ensuring all requests sent to the vOMCI function do not have
any dependencies on any pending request which is waiting response from the vOMCI function.
5.2.3.1 Requirements
R-vOMCI_FUNC.300 – The vOMCI function MUST process YANG requests from the vOLTMF that target the
same ONU on a first-in/first-out order basis.
Note: The behavior for OMCI requests for a given ONU typically uses a serialized, synchronous
request/response pattern.
R-vOMCI_FUNC.301 – The vOMCI function MUST translate YANG requests received from the vOLTMF into
one or more ITU-T G.988 OMCI messages for transmittal to the targeted ONU. The OMCI messages that
comprise the request are transmitted serially.
R-vOMCI_FUNC.310 – The vOMCI function MUST translate received ITU-T G.988 OMCI messages to a
YANG notification or a YANG response associated with a vOLTMF request.
R-vOMCI_FUNC.320 – The vOMCI function MUST translate ITU-T G.988 OMCI baseline messages as
described in section A.3 of ITU-T G.988.
R-vOMCI_FUNC.330 – The vOMCI function MUST translate ITU-T G.988 OMCI extended messages as
described in section A.2 of ITU-T G.988.
R-vOMCI_FUNC.340 – The vOMCI function MUST maintain the OMCI message request life-cycle including
processing of time-outs and re-transmission policies per ITU-T G.988 processing across the MVOMCI-OLT
interface.
R-vOMCI_FUNC.350 – The YANG data encoded in the target, current, data, filters and error payload objects
of messages used on the MvOLTMF-vOMCI interface, MUST be encoded as per RFC 7951 [14].
R-vOMCI_FUNC.360 – If the vOMCI function fails to complete a request from the vOLTMF, the vOMCI
function must return an error response to the vOLTMF/ONU Management Proxy across the MvOLTMF-vOMCI;
interface.
R-vOMCI_FUNC.370 – The vOMCI function MUST ensure that vOMCI messages received through a
remote-endpoint that are sourced from an ONU is the same remote-endpoint that is assigned to the ONU
management chain for the ONU.
R-vOMCI_FUNC.380 – The vOMCI function MUST provide the capability to be configured with and maintain
the ONUs’ management chain including the ONUs’ name, service endpoint or entity identification
corresponding to both upstream ONU Management Proxy or vOLTMF instances and downstream vOMCI
Proxy instances or OLTs.
R-vOMCI_FUNC.381 – The vOMCI function instances MUST provide the capability to forward, based on the
configured ONUs’ management chain, an ONUs’ vOMCI message to either the OLT or vOMCI Proxy.
R-vOMCI_FUNC.382 – The vOMCI function instances MUST provide the capability to forward, based on the
configured ONUs’ management chain, an ONUs’ response to a management request that was received from
the vOLTMF or ONU Management Proxy.
Note: The definitions of the policies used by the vOMCI function for time-out and re-transmission of
notifications is outside the scope of this Technical Report.
As a vOMCI function connects to at most one (1) vOLTMF, the vOMCI function simply forwards the
transmitted YANG notification across the MvOLTMF-vOMCI interface to the connected vOLTMF. If the vOMCI
function cannot deliver the notification, the YANG notification is discarded.
The ONU reports Alarms and TCAs using the alarm procedures documented in section 9 MIB Description
and 7.2 Fault management of ITU-T G.988 [1]. In addition, when changes occur within the ONU’s state, AVC
events are reported to a management function using the AVC procedures documented in section 9 MIB
Description of ITU-T G.988 [1].
Within the context of this Technical Report, the procedure to translate various types of OMCI notification
messages (i.e., Alarm report, AVC) to the corresponding YANG notification and the corresponding reporting
of the notification from the vOMCI function to the vOLTMF is specified.
Alarm-Reporting Control (ARC) is implemented by the vOMCI function by translating the Alarm reporting
control attributes associated with a specific resource as represented by the resource’s YANG module in TR-
385 [26] into the corresponding OMCI messages for Alarm-reporting control as defined in A.1.4.3 of ITU-T
G.988 [1]. For example, the ANI resource in TR-385 [26] has attributes for ARC administration. The vOMCI
function translates these YANG leaf nodes into the corresponding OMCI message(s) to configure the ANI-G
ME.
notification for the corresponding resource identifier (e.g., ANI) and then reports the YANG notification to the
vOLTMF/ONU Management Proxy using the “notification” message defined in section 5.7.1 of this Technical
Report.
When the vOMCI function receives an OMCI AVC message from an ONU, the vOMCI function logs the
OMCI AVC message. The translation of the OMCI AVC message is outside the scope of this Technical
Report.
If the OMCI notification message cannot be translated, the notification is still translated using the
“untranslated-omci-notification ” notification specified in Annex A: vOMCI YANG Modules.
If the vOMCI function determines that the OMCI alarm message’s sequence number is not aligned with the
vOMCI function’s expected sequence number, the vOMCI function sends an ONU specific event notification
to the vOLTMF that informs the vOLTMF that the vOMCI function and the ONU are out of alignment for
Alarms.
The vOLTMF then sends a synchronize request to the vOMCI function to synchronize the alarms.
Note: The reason that the vOMCI function does not autonomously synchronize the alarm state but
relies on the vOLTMF to perform the action is because in some circumstances the OLT may be a
management function (e.g., ToD) for the ONU as well as the vOLTMF. As such the vOLTMF is the
function that has the responsibility to ensure alarms are synchronized with the ONU as described in
section 5.6.2 of this Technical Report.
In section A.1.5 of ITU-T G.988 [1], OMCI tests are asynchronous in nature when the test is invoked by the
OLT. A test response that is received from the ONU indicates that the ONU has accepted the test for
processing and results of the test are then sent at a later time by the ONU to the OLT as a test result
notification using the transaction identifier to correlate the test results with the test invocation.
As noted previously, the information element that is common to the Test invocation message and the Test
result message is the transaction identifier that was identified by the Test invocation message. This
transaction identifier is part of all ONU YANG Test RPCs and Test result notifications specified in TR-383
[24] and TR-385 [26] that are aligned with the OMCI Test result message formats specified in section A.2.39
of G.988 [1].
During the translation of the YANG test to the associated OMCI ME that implements the test, the vOMCI
function is required to wait for the test results, if successful or test failure in order to reply to the "rpc" or
"action" operation when the "rpc" or "action" operation requires the test results to be returned.
5.2.4.3 Requirements
R-vOMCI_FUNC.400 – The vOMCI function MUST translate OMCI alarm messages received across MVOMCI-
OLT interface into an RFC 8632 [17] alarm-notification to be transmitted across the MvOLTMF-vOMCI interface.
R-vOMCI_FUNC.405 – The vOMCI function MUST provide the capability to forward, based on the
configured ONUs’ management chain, the ONUs’ notification to the associated vOLTMF or ONU
Management Proxy for which the vOMCI function has received management requests for the same ONU.
R-vOMCI_FUNC.410 – The vOMCI function MUST log OMCI attribute-value-change messages received
across MVOMCI-OLT interface.
R-vOMCI_FUNC.420 – If the vOMCI function cannot translate an OMCI Alarm or AVC message into a
specific YANG notification, the vOMCI function MUST translate the OMCI message into a vOMCI
untranslated-omci-notification notification defined in Annex A:vOMCI YANG Modules.
R-vOMCI_FUNC.430 – The vOMCI function MUST discard YANG notifications that cannot be transmitted
across the MvOLTMF-vOMCI interface.
R-vOMCI_FUNC.440 – When detected, the vOMCI function MUST support sending notifications regarding
the failure of communication with the remote endpoint used for vOMCI communication (e.g., gRPC channel
failure).
• Simplifying the connectivity between the vOLTMF and the vOMCI function instances where the
vOLTMF only needs to connect to fewer even one ONU Management Proxy instance and not
directly to all the vOMCI function instances for the ONUs the vOLTMF manages.
• Providing load balancing capabilities for ONU management traffic among vOMCI function instances.
The ONU Management Proxy is responsible for forwarding ONU management requests to vOMCI function
instances from vOLTMF instances based on the association knowledge and state between ONU and vOMCI
function instances.
The ONU Management Proxy correlates ONU management requests/responses between vOLTMF instance
and vOMCI function instance for a specific ONU.
The ONU Management Proxy load-balances ONU associations across available vOMCI function instances
based on the ONU manufacturer, software version or other information that can be associated within an
ONU.
The ONU Management Proxy determines the ONUs’ management chain across vOLTMF instances, ONU
Management Proxy instances, vOMCI function instances, vOMCI Proxy instances, and OLTs. The ONU
Management Proxy can be configured with the ONU's management chain or determine the ONUs’
management chain as vOMCI function instances dynamically scale in or out.
Note: Only one entity (i.e., vOLTMF, ONU Management Proxy) is responsible for fulling the vOMCI
service logic that includes the association of the ONU to the vOMCI function instance including the
calculation of the ONU management chain for the association.
• Configuration and state for the vOMCI service such as the vOMCI entities comprising the service.
For vOMCI functions the vendor and software version as well as supported capabilities (e.g.,
Replica support) is provided.
• Configuration of the connectivity information for the links between the ONU Management Proxy,
vOMCI functions, vOMCI Proxys and OLTs. The link information includes properties such as
whether the link is established on demand and the type of topology (i.e., mesh, star, point-to-point).
The type of topology is used by the ONU Management Proxy to determine the connectivity between
the vOMCI function instance and vOMCI Proxy, ONU Management Proxy and OLTs when the
vOMCI Proxy or vOMCI function instance scale in and out.
• Operational information regarding ONUs, such as which vOMCI function instance is in charge of
management of a specific ONU
The data model for the management information defined above is defined in the ONU Management Proxy's
YANG model defined in Annex A: vOMCI YANG Modules.
Additionally, inventory information for the ONU Management Proxy function is provided through the
administrative interface that deployed the ONU Management Proxy function.
• ONU name that identifies the ONU to the vOMCI function and vOMCI Proxy for requests and
notifications across the MVOLTMF-VOMCI interface
R-ONU_MANAGEMENT _PROXY.20 – When deployed, the ONU Management Proxy MUST be capable of
connecting to both multiple instances of vOLTMF and vOMCI function instances using either gRPC or Kafka
as defined in section 5.5 of this Technical Report according to the connectivity configuration info.
R-ONU_MANAGEMENT_PROXY.36 – When deployed, the ONU Management Proxy MUST have the option
to be configured with the ONU's management chain.
R-ONU_MANAGEMENT_PROXY.37 – When deployed, the ONU Management Proxy MUST provide the
capability to either support the configuration of the ONU management chain as defined in R-
ONU_MANAGEMENT_PROXY.36 or determine of the ONU management chain as defined in R-
ONU_MANAGEMENT_PROXY.31.
ONU management chain and notifying the ONU management chain dynamic change to the related vOMCI
function instances, vOMCI proxy instances and vOLTMF when vOMCI function instances dynamically scale
in or out.
R-ONU_MANAGEMENT_PROXY.42 – When deployed, when the ONU Management Proxy does not
receive a response to a command when configuring a vOMCI function instance, the ONU Management
Proxy MUST be capable of retrying the command to the failed instance. After a specific number of retries,
the ONU Management Proxy MUST produce a notification to the vOLTMF for the failure to receive a
response. In addition, the ONU Management Proxy internally resolves the failure so that future requests are
not sent to the failed instance.
R-ONU_MANAGEMENT_PROXY.43 – When deployed, the ONU Management Proxy MUST provide the
capability to forward the vOMCI function instances’ notifications to all of the associated vOLTMF instances.
R-ONU_MANAGEMENT_PROXY.80 – The ONU Management Proxy MUST be packaged with the template
and artifacts needed (e.g., Heat template, Helm Chart) to ease its onboarding on the infrastructure.
R-ONU_MANAGEMENT_PROXY.81 – The NFVI MUST provide a lifecycle management interface for the
ONU Management Proxy.
The vOMCI Proxy is responsible for forwarding the OMCI messages along the vOMCI message path
between the OLT and vOMCI function. The vOMCI Proxy can attach additional metadata to the OMCI
messages and perform functions related to the processing (e.g., OMCI message retransmission) of the
OMCI message.
The vOMCI Proxy correlates the vOMCI message requests and responses for a specific ONU.
The vOMCI Proxy connects to other OLTs, vOMCI functions using gRPC sessions as defined in section
5.8.2 to exchange vOMCI messages.
• Configuration and state of the OMCI message retransmission capabilities if required by the vOMCI
deployment scenario
• Configuration of the connectivity information for the links between the vOMCI Proxys and OLTs. The
link information includes properties such as whether the link is established on demand and the type
of topology (i.e., mesh, star, point-to-point)
• Statistics of OMCI message retransmission capability if required by the vOMCI deployment scenario
• Operational information regarding ONUs associated with the vOMCI Proxy function
The data model for the management information defined above is defined in the vOMCI Proxy's YANG
model defined in Annex A: vOMCI YANG Modules.
Additionally, inventory information for the vOMCI Proxy function is provided through the administrative
interface that deployed the vOMCI Proxy function.
R-vOMCI_PROXY.20 – When deployed, the vOMCI Proxy MUST be capable of forwarding vOMCI
messages defined in section 5.8.1 of this Technical Report between OLTs and vOMCI functions.
R-vOMCI_PROXY.30 – When deployed, the vOMCI Proxy MUST be capable of connecting to multiple
instances of OLTs and vOMCI functions according to the connectivity configuration using gRPC sessions as
defined in section 5.8.2 of this Technical Report.
R-vOMCI_PROXY.40 – When deployed, the vOMCI Proxy MUST be capable of performing the OMCI
message retransmission function for the management of an ONU.
R-vOMCI_PROXY.50 – When deployed, the vOMCI Proxy MUST correlate the vOMCI message requests
and responses for a specific ONU.
R-vOMCI_PROXY.55 – When deployed, the vOMCI Proxy MUST ensure that vOMCI messages received
through a remote-endpoint that are targeted to or sourced from an ONU is the same remote-endpoint that is
assigned to the ONU management chain for the ONU.
R-vOMCI_PROXY.56 – When deployed, the vOMCI Proxy MUST provide the capability to be configured with
the ONUs’ management chain info including the ONUs’ ID, service endpoints info or entity identification
corresponding to both upstream vOMCI function instances and downstream OLTs.
R- vOMCI_PROXY.57 – When deployed, the vOMCI Proxy MUST provide the capability to forward, based
on the configured ONUs’ management chain, the ONUs’ vOMCI message requests to the OLT to which
ONUs’ are attaching.
R- vOMCI_PROXY.58 – When deployed, the vOMCI Proxy MUST provide the capability to forward, based
on the configured ONUs’ management chain, the ONUs’ notifications to the associated vOMCI function
instance from which the vOMCI Proxy has received vOMCI message requests for the same ONU.
R-vOMCI_PROXY.71 – The same vOMCI Proxy application SHOULD be available in variants deployable on
both an Openstack and a Kubernetes infrastructure.
R-vOMCI_PROXY.80 – The vOMCI Proxy MUST be packaged with the template and artifacts needed (e.g.,
Heat template, Helm Chart) to ease its onboarding on the infrastructure.
R-vOMCI_PROXY.81 – The NFVI MUST provide a lifecycle management interface for the vOMCI Proxy.
R-vOMCI_PROXY.91 – The MvOLTMF-vOMCI interface MUST support the management for association between
vOMCI functions/OLTs/ONUs.
R-vOMCI_PROXY.100 – The MvOLTMF-vOMCI interface MUST support the management of the vOMCI Proxy’s
inventory and state.
R-vOMCI_PROXY.105 – The MvOLTMF-vOMCI interface MUST support the configuration of the connectivity for
the vOMCI proxy instances with both vOMCI function instances and OLTs.
R-vOMCI_PROXY.110 – The MvOLTMF-vOMCI interface MUST support the management of the vOMCI Proxy’s
configuration, state and statistics associated with the retransmission capability, if required by the vOMCI
deployment scenario.
R-vOMCI_PROXY.120 – The MvOLTMF-vOMCI interface MUST support the management of the vOMCI Proxy’s
statistics associated with the processed vOMCI messages.
R-vOMCI_PROXY.130 – When detected, the MvOLTMF-vOMCI interface MUST supporting sending notifications
regarding the failure of communication with the remote endpoint used for vOMCI communication (e.g., gRPC
channel failure).
• Process the OMCI messages received from the ONU and encapsulating them into vOMCI
messages and send them to the vOMCI function or vOMCI Proxy.
These relationships require an association between an ONU device and a vOMCI function instance.
For example, in the following figure OLT A is connected to two (2) vOMCI functions, using two (2) vOMCI
communication sessions, where these vOMCI functions manage the ONUs from vendor C and D
respectively.
Likewise, the vOMCI function can establish communication sessions with multiple OLTs in order to manage
one (1) or more ONUs attached to the OLT where the ONUs are associated with the vOMCI function. For
example, in the following figure, the vOMCI function manages ONU’s from Vendor C and D that are attached
to OLT A and B respectively.
In the following figure the ONUs from vendor C and D are managed by different vOMCI management
functions.
Figure 5 Multiple Session – vOMCI to OLT Connectivity (vendor specific vOMCI function)
In the following figure, the vOMCI Proxy is used to provide a session aggregation point toward the OLT. For
example, in Figure 5 the OLT required separate communication sessions (gRPC tunnels) to vOMCI functions
for ONU Vendor C and D. Using the vOMCI Proxy, OLT A would only need one communication session to
the vOMCI Proxy.
5.5.1.1 Requirements
R-OLT.10 – The OLT MUST provide the capability to be configured with the ONUs’ management chain
including the ONUs’ identifier, remote endpoints or entity identification corresponding to either upstream
vOMCI function instances or vOMCI Proxy instances.
R-OLT.20 – The OLT MUST provide the capability to be configured with the ONU to remote endpoint
association based on one or more of the following criteria:
• Per v-ANI as defined in TR-385 [26]
• ONU vendor
• Any ONU
R-OLT.30 – The OLT MUST provide the capability to communicate with a minimum of four (4) remote
endpoints.
R-OLT.40 – The vOMCI function MUST provide the capability to communicate with one (1) or more OLTs.
R-OLT.50 – The OLT MUST be capable of processing the Network Wide ONU identifiers (i.e., OLT
Id/Channel Termination Id/ONU Id) attached as additional metadata to the received OMCI messages in order
to forward them on the correct OMCI channel of the target ONU.
R-OLT.60 – The OLT MUST be capable of attaching the Network Wide ONU identifier (i.e., OLT Id/ Channel
Termination Id /ONU Id with the associated vOMCI function) as additional metadata to the OMCI messages
responses sent by the ONU before forwarding them to the associated remote endpoint (i.e., vOMCI function,
vOMCI Proxy.
R-OLT.100 – If the OLT provides G-PON interfaces, the OLT MUST support the ONU activation process as
defined in Annex D.4 of ITU-T G.984.3.
R-OLT.110 – If the OLT provides XG-PON interfaces, the OLT MUST support the ONU activation process as
defined in Section 12 of ITU-T G.987.3 [3].
R-OLT.120 – If the OLT provides XGS-PON interfaces, the OLT MUST support the ONU activation process
as defined in Annex C.12 of ITU-T G.9807.1 [4].
R-OLT.130 – If the OLT provides NG-PON2 interfaces, the OLT MUST support the ONU activation process
as defined in Section 12 of ITU-T G.989.3 [5].
R-OLT.140 – If the OLT provides G-PON, XG-PON, XGS-PON or NG-PON2 interfaces, the OLT MUST send
ONU presence notification message (including SN and optional PLOAM password/Registration-id) to
vOLTMF as defined in BBF TR-385 issue2 and ITU-T G.984.3 [2] Appendix VI.
received from an ONU device are processed and encapsulated into a vOMCI message and sent to the
remote endpoint that is associated with that ONU device.
• olt_onu info_req defined in section 5.8.1 to query the OLT for information needed for OMCI
functioning. The response to this information includes the time sensitive information that the vOMCI
function needs to pass in the OLT-G ME.
5.5.2.2 Requirements
R-OLT.200 – The OLT MUST forward the OMCI messages encapsulated in the payload of the vOMCI
request that is received via the vOMCI function or vOMCI Proxy instance to the OMCC channel associated
with the destination ONU device.
R-OLT.210 – The OLT MUST calculate the Message Integrity Check (MIC) for the OMCI message and insert
the MIC field into the OMCI message as defined in section 11.2.8 of ITU-T G.988 [1] prior to forwarding the
OMCI message to the OMCC channel associated with the destination ONU instance.
R-OLT.220 – The OLT MUST encapsulate the OMCI messages received from the OMCC channel in the
payload of a vOMCI response/notification and forward it to the vOMCI function instance that is associated
with the source ONU device.
R-OLT.230 – The OLT MUST apply the GEM superframe and TstampN sourced from the OLT in the OLT-G
ME when the OLT receives a VomciMessage message with the tod_pack_msg field prior to forwarding the
OMCI message to the OMCC channel associated with the destination ONU instance.
R-OLT.240 – When the OLT receives an OltMessage message with the olt_onu_info_req field, the OLT
MUST respond to the messages with an olt_onu_info_resp message.
R-OLT.250 – When the vOMCI remote-endpoint is assigned to the ONU's vANI and the OLT receives a
vOMCI message targeted for an ONU, the OLT MUST ensure the remote-endpoint through which the
message is received is the same remote-endpoint assigned to the vANI.
R-OLT.260 – The OLT MUST provide the capability to forward, based on the configured ONUs’ management
chain, the ONUs’ vOMCI message responses to the vOMCI function instance or vOMCI Proxy instance.
5.5.3.1 Requirements
R-OLT.300 – The OLT MUST notify the vOLTMF whenever the ONU enters the ITU-T G.984.3, ITU-T G.987,
ITU-T G.9807 and ITU-T G.989 ONU Activation Operation State “O5”.
R-OLT.310 – The OLT MUST notify the vOLTMF when the ONU exits the ITU-T G.984.3, ITU-T G.987, ITU-
T G.9807 and ITU-T G.989 ONU Activation Operation State “O5” or POPUP state "O6".
R-OLT.320 – The OLT MUST notify the vOLTMF whenever the OLT detects or clears a Loss of OMCI
Channel (LOOC) communication as defined in section 14.2.1 of G.984.3 [2].
R-OLT.330 – The OLT MUST support sending notifications for ONU presence state changes with the
parameters to identify the ONU to the vOLTMF. The notification SHOULD follow the definition of ONU state
change notifications defined in TR-385 [26].
R-OLT.340 – When detected, the OLT MUST supporting sending notifications regarding the failure of
communication with the remote endpoint used for vOMCI communication (e.g., gRPC channel failure).
R-OLT.350 – The OLT MUST provide the capability to forward, based on the configured ONUs’ management
chain, the ONUs’ vOMCI notifications to the associated vOMCI function instance or vOMCI proxy instance
from which the OLT received the vOMCI message requests for the same ONU.
• Configuration of the connectivity information for the links between vOMCI Proxys and OLTs. The link
information includes properties such as whether the link is established on demand and the type of
topology (i.e., mesh, star, point-to-point
• Notifications emitted by the OLT
• Configuration and state of gRPC endpoints
• Statistics of vOMCI message requests and responses
• State of ONUs managed by the OLT
The data model for the management information defined above is defined in the pOLTs PON YANG model
TR-385i2 [26] and the OLT's vOMCI YANG model identified in Annex A:vOMCI YANG Modules.
5.5.4.1 Requirements
R-OLT.400 – The OLT MUST support the configuration of the connectivity to either vOMCI function
instances or vOMCI Proxy instances.
R-OLT.405 – The OLT MUST provide the capability for management of the notifications emitted by the OLT.
R-OLT.410 – The OLT MUST provide the capability for management of the configuration and state of the
gRPC endpoints.
R-OLT.420 – The OLT MUST provide the capability for management of the statistics associated with the
vOMCI messages processed within the OLT.
5.6.1 Requirements
R-vOLTMF.100 – The vOLTMF MUST inform the vOMCI function, vOMCI Proxy and OLT when an ONU is
to be managed using the vOMCI solution.
R-vOLTMF.110 – The vOLTMF MUST inform the vOMCI function, vOMCI Proxy and OLT when an ONU is
no longer to be managed using the vOMCI solution.
R-vOLTMF.111 – The vOLTMF MUST inform the vOMCI function when an ONU is determined to be online
and to be managed or has gone temporarily offline (e.g., reboot).
R-vOLTMF.112 – When ONU is determined to be online and to be managed, the vOLTMF MUST ensure the
OLT and ONU are properly configured with the ONU's configuration.
R-vOLTMF.120 – The vOLTMF MUST support sending ReplaceConfig message to the vOMCI function.
R-vOLTMF.130 – The vOLTMF MUST support authentication of an ONU as defined in ITU-T G.984.3
Appendix VI, ITU-T G.987.3 section 15.2, ITU-T G.989.3 section 15.2, ITU-T G.9807.1 Annex C.15.
R-vOLTMF.140 – When an ONU is considered as a nomadic ONU that can change the OLT attachment
point to which it attaches, the vOLTMF SHOULD support both authentication of an ONU as defined in ITU-T
G.984.3 Appendix VI, ITU-T G.987.3 section 15.2, ITU-T G.989.3 section 15.2, and ITU-T G.9807.1 Annex
C.15 and also provide capability to check if the ONU is permitted to attach to the attachment point.
R-vOLTMF.150 – The vOLTMF MUST support [R-150], [R-151], [R-154] and [R-155] in TR-156 [20] section
7.2 Initial Provisioning of ONUs.
R-vOLTMF.160 – The vOLTMF MUST support sending commands to the OLT to configure OLT resources
as defined in section 5 of TR-413 [28].
R-vOLTMF.170 – The vOLTMF MUST support sending an ONU discovery notification with the discovered
device and software information and the discovery status (e.g., successful, failed) to the northbound SDN
M&C.
R-vOLTMF.180 – The vOLTMF MUST receive the configuration requests for PON devices from a
northbound SDN M&C, which includes the identification of the PON device (i.e., OLT name, ONU ID).
R-vOLTMF.190 – If there are more than one vOLTMF instance (i.e., vOLTMF cluster) to manage PON
devices, the management and control requests MUST be assigned to one of the instances based on
relationship between the PON device ID and the vOLTMF instances.
R-vOLTMF.191 – The vOLTMF instance MUST ensure that simultaneous uncommitted requests targeted to
the same ONU do not have inter-dependencies between requests.
R-vOLTMF.200 – The vOLTMF MUST be the authoritative source for sending the corresponding
management and control information to either OLTs or ONUs based on the identification of the PON device.
R-vOLTMF.210 – The vOLTMF MUST receive the requests for configuration and operational data of ONUs
from northbound SDN M&C functions.
R-vOLTMF.220 – The vOLTMF MUST provide the capability to send notifications (e.g., device online/offline,
alarms) that originate from PON devices to northbound SDN M&C functions.
R-vOLTMF.221 – When the vOLTMF does not receive a response to a command when configuring a vOMCI
function instance, the vOLTMF MUST be capable of retrying the command to the failed instance. After a
specific number of retries, the vOLTMF MUST produce a notification to the northbound SDN M&C function
for the failure to receive a response. In addition, the vOLTMF internally resolves the failure so that future
requests are not sent to the failed instance.
R-vOLTMF.300 – The vOLTMF SHOULD be implemented with one or clustered instances, where each
vOLTMF instance could interact with one or more vOMCI function instances directly or indirectly. For
example, the ONU Management Proxy.
R-vOLTMF.310 – The vOLTMF SHOULD support parallel configuration requests of multiple different ONUs
that are attached to the same or different PON links.
R-vOLTMF.320 – The vOLTMF MUST maintain the management and control states for all the ONUs.
R-vOLTMF.330 – The vOLTMF MUST provide the capability to configure the ITU-T G.988 timer expiration
timeout (Tmaxi) and number of retries retry counter (Rmaxi) values for a given vOMCI function.
The vOLTMF represents and manages the alarm instances of an ONU by implementing the following
features and resources and minimally uses the Alarm Management YANG data module as defined by RFC
8632 [17]:
• Alarm List: This feature maintains the current list of alarms
• Alarm Shelving: This feature maintains the current list of shelved alarms. A shelved alarm is an
alarm that has its OMCI ARC attribute enabled.
Note: vOLTMF can implement other features of the Alarm Management YANG data module but the
Alarm List resource and Alarm Shelving are the needed resources and features to interact with an
ONU via the vOMCI function. As such the additional capabilities related to Alarms that can be
provided by the vOLTMF is outside the scope of this Technical Report.
5.6.2.1 Requirements
R-vOLTMF.400 – The vOLTMF MUST provide the capability to retrieve the list of current alarms for an ONU.
R-vOLTMF.410 – The vOLTMF MUST provide the capability to retrieve the list of current shelved alarms.
R-vOLTMF.420 – The vOLTMF MUST provide the ability to enable and disable ONU alarm reporting.
• Maintain the ONU management chain that depicts the path vOMCI messages will traverse through
the OLT and if necessary, the instances of the vOMCI function and vOMCI Proxy function in order to
send commands and receives responses and notifications. The ONU management chain is
maintained when the ONU is managed via through the vOMCI solution.
• Maintain the association of the ONU identifiers that correspond to an ONU that are needed by the
OLT, vOMCI function and vOMCI Proxy function in order to send requests and receive notifications
from the entities related to the ONU.
• Inform the OLT, ONU Management Proxy and if necessary, the vOMCI and vOMCI Proxy functions
when an ONU is available for OMCI communication and when the ONU is no longer available for
OMCI communication. The vOLTMF uses onu-presence-state-change notifications from the OLT to
help determine if the ONU has reached an onu-presence-state in which it can be communicated
with through the OLT's OMCI channel (i.e., ITU-T G.984.3 Operation state O5/O6).
5.6.3.1 Requirements
R-vOLTMF.500 – The vOLTMF MUST be able to assess whether the vOMCI function can communicate with
the ONU across the ONU management chain and OMCI communication channel.
R-vOLTMF.510 – The vOLTMF MUST provide the capability to receive notifications from the OLT regarding
the OMCI communication channel state between the ONU and OLT.
R-vOLTMF.520 – The vOLTMF MUST provide the capability to receive notifications from the ONU
Management Proxy, vOMCI function, vOMCI Proxy and OLT regarding the operational state of an ONU's
management chain.
R-vOLTMF.530 – When deployed without an ONU Management Proxy, the vOLTMF MUST provide the
capability to configure the vOMCI function whenever an ONU's ONU management chain is modified or the
OMCI communication channel between the ONU and OLT changes.
R-vOLTMF.531 – When deployed without an ONU Management Proxy, the vOLTMF MUST provide the
capability to configure the vOMCI Proxy whenever an ONU's ONU management chain is modified or the
OMCI communication channel between the ONU and OLT changes.
R-vOLTMF.532 – The vOLTMF MUST provide the capability to configure the OLT whenever an ONU's ONU
management chain is modified or the OMCI communication channel between the ONU and OLT changes.
R-vOLTMF.533 – When deployed with the ONU Management Proxy, the vOLTMF MUST provide the
capability to configure the ONU Management Proxy whenever the OMCI communication channel between
the ONU and OLT changes.
R-vOLTMF.542 – The vOLTMF MUST maintain the following information elements to be associated with an
ONU:
• ONU attachment point to an OLT that includes: OLT name, xPON technology, channel termination
name and PLOAM ONU-ID
• ONU name that identifies the ONU to the vOMCI function and vOMCI Proxy for requests and
notifications across the MVOLTMF-VOMCI interface
• ONU management chain that identifies the OLT or when deployed without an ONU Management
Proxy, the path between the OLT, vOMCI Proxy, vOMCI functions and OLT for communication of
vOMCI messages between the vOMCI function and the OLT.
R-vOLTMF.543 – The vOLTMF MUST provide the capability to be configured with the mapping information
to associate the ONU characteristics (i.e., vendor, software info) with the versions supported by vOMCI
function instances.
R-vOLTMF.550 – The vOLTMF MUST provide the ability to synchronize the ONU topology and associated
ONU information elements maintained by OLT, ONU Management Proxy, vOMCI function, vOMCI Proxy and
the vOLTMF. The vOLTMF is considered the authoritative source of the ONU topology information.
When the ONU Management Proxy is deployed, the ONU Management Proxy establishes an ONU
management chain for an ONU using vOMCI entities (i.e., vOMCI Proxy function, vOMCI function). At the
same time, the ONU Management Proxy maintains the connectivity configuration information between
vOMCI entities.
5.6.3.2.1 Requirements
R-vOLTMF.600 – The vOLTMF MUST maintain the information that is needed to establish the
communication channel between vOMCI entities (i.e., OLT, vOMCI function, vOMCI Proxy).
R-vOLTMF.610 – The vOLTMF MUST provide the capability to configure the OLT with the connectivity
information that is needed to establish the communication channel across the MVOMCI-OLT interface.
R- vOLTMF.611 – When the ONU Management Proxy is deployed, the vOLTMF MUST provide the
capability to be notified when an ONU's manage chain is modified by the ONU Management Proxy.
R- vOLTMF.612 – The vOLTMF MUST provide the capability to configure the OLT with the ONU to remote
endpoint association defined in R-OLT.20 when there is an update to the association.
R-vOLTMF.615 – The vOLTMF MUST provide the capability to configure the ONU Management Proxy with
the connectivity information for the links between the ONU Management Proxy, vOMCI functions, vOMCI
Proxys and OLTs to establish the communication channel across the MVOLTMF-VOMCI interface. The link
information includes properties such as whether the link is established on demand and the type of topology
(i.e., mesh, star, point-to-point).
R-vOLTMF.620 – The vOLTMF MUST provide the capability to configure the vOMCI function with the
connectivity information that is needed to establish the communication channel across the MVOMCI-OLT
interface.
R-vOLTMF.630 – The vOLTMF MUST provide the capability to configure the vOMCI Proxy function with the
connectivity information that is needed to establish the communication channel across the MVOMCI-OLT
interface.
R-vOLTMF.640 – The vOLTMF SHOULD provide the capability to be configured by a northbound SDN M&C
with the connectivity information that is needed to establish the communication channel across the MVOMCI-OLT
interface.
determined is different from how the value of the MIB data sync (MDS) is determined; the usage of ONU
datastore tags is like the MDS used by the vOMCI function to synchronize the ONU's representation in the
ONU with the representation maintained by the vOMCI function.
When the vOLTMF uses the DST attribute of an ONU's datastore whenever the vOLTMF acts on the ONU's
configuration datastore, the vOLTMF uses the datastore_tag field in the ReplaceConfig, UpdateConfig, RPC
and Action messages defined in section 5.7.1. The vOLTMF is able to retrieve the last DST maintained by
the vOMCI function using the datastore_tag field in the GetDataResp message. If the DST is not supported
by either the vOMCI function or vOLTMF or has not been set by the vOLTMF, the datastore_tag field is
defined by the empty string.
5.6.4.2 Requirements
R-vOLTMF.700 – The vOLTMF MUST maintain the configuration data for each ONU.
R-vOLTMF.710 – The vOLTMF MUST align (synchronize) the ONU configuration whenever the vOLTMF
detects the ONU is mis-aligned with the configuration maintained by the vOLTMF. One special case includes
whenever the vOMCI function has never completed the MIB synchronization function with the ONU.
R-vOLTMF.720 – The vOLTMF MUST align (synchronize) the ONU alarm state whenever the vOLTMF
detects the ONU alarm status is mis-aligned.
R-vOLTMF.731 – The vOLTMF MUST provide the capability to align ONU alarms detected by the OLT.
R-vOLTMF.750 – When using Datastore Tags to align the configuration data of an ONU and the vOLTMF
acts on the ONU's configuration datastore, the vOLTMF MUST provide a unique, in the context of the ONU,
value for the datastore_tag field in the ReplaceConfig, UpdateConfig, RPC and Action messages defined in
section 5.7.1.
The messages conveyed on the MvOLTMF-vOMCI interface are serialized as Google Protobufs (GPB) [29]. The
YANG models contained within the messages use TR-385 Issue 2 for ONUs and Annex A: vOMCI YANG
Modules for vOMCI function and vOMCI Proxy instances. The YANG models are encoded in JSON using
RFC 7951 [14] encoding.
Note: Encoding of YANG models that are directly converted to GPB instead of encoding the YANG
models using RFC 7951 is for future study.
The messages used on the interface are comprised of a header and a body. The information is the header is
common to all messages and each message within the body has its own set of attributes that comprise the
request, response or notification.
message Msg {
Header header = 1;
Body body = 2;
}
Note: The configuration of the names for the vOLTMF, ONU Management Proxy, vOMCI function or
vOMCI Proxy instances occurs outside of MVOLTMF-VOMCI interface, such as by command-line
parameter or environment variable passed to the vOMCI function or vOMCI Proxy instances at
startup.
The msg_id, sender_name and recipient_name fields are useful for logging
and troubleshooting purposes as they can help identify interactions between
the vOLTMF and the vOMCI function, ONU Management Proxy or vOMCI
Proxy.
message Header {
string msg_id = 1; // Message identifier to
// 1) Identify requests and notifications
// 2) Correlate requests and response
string sender_name = 2; // Unique name of the entity that
// originated the message
string recipient_name = 3; // The name of the entity that is to
// receive the request
OBJECT_TYPE object_type = 4; // The type of the object or
// resource that is subject of the message
string object_name = 5; // The name of the object or resource
enum OBJECT_TYPE {
ONU = 0;
VOMCI_FUNCTION = 1;
VOMCI_PROXY = 2;
VOLTMF = 3;
ONU_MANAGEMENT_PROXY = 4;
VOMCI_FUNCTION_TYPE = 5; //Category of vOMCI function instances
}
}
message Body {
oneof msg_body {
Request request = 1;
Response response = 2;
Notification notification = 3;
}
}
message Request {
oneof req_type {
Hello hello = 2;
GetData get_data = 3;
ReplaceConfig replace_config = 4;
UpdateConfig update_config = 5;
RPC rpc = 6;
Action action = 7;
}
}
message Response {
oneof resp_type {
HelloResp hello_resp = 3;
GetDataResp get_resp = 4;
ReplaceConfigResp replace_config_resp = 5;
UpdateConfigResp update_config_resp = 6;
RPCResp rpc_resp = 7;
ActionResp action_resp = 8;
}
}
message Hello {
string service_endpoint_name = 1; //The service endpoint the client
// used to establish the session
}
message NFInformation {
map<string, string> nf_types = 1; //Valid Key types:
// usage-category, vendor-name,
// software-version
repeated NFCapability capabilities = 2;
enum NFCapability {
NO_CAPABILITY_REPORTED = 0;
ONU_STATE_ONLY_SUPPORT = 1;
ONU_CONFIG_REPLICA_SUPPORT = 2;
}
}
message HelloResp {
string service_endpoint_name = 1; //The service endpoint the server
//used to listen on the session
repeated NFInformation network_function_info = 2;
// The type information and
// capabilities supported by
// the network function
}
The filter field in the GetData request message is used to scope the request to specific elements. Each filter
instance contains an expression that represents a NETCONF [10] subtree filter.
The status_response field in the GetData response message is used to convey the status of the message
along with any error codes if the request failed for any reason. The usage of the datastore_tag field in the
GetData response message is described in section 5.6.4.1.
message GetData {
repeated bytes filter = 1;
}
message GetDataResp {
Status status_resp = 1;
bytes data = 2;
string datastore_tag = 3; // Optional: Datastore tag used to
// synchronize the config datastore
}
Note: vOMCI function, ONU Management Proxy or vOMCI proxy instance implementations ought to
limit unnecessary disruptions in the management, control and user plane traffic due to the
replacement of a configuration.
message ReplaceConfig {
bytes config_inst = 1; // Full configuration instance to
// be used as a replacement of what
// exists for the target
string datastore_tag = 2; // Optional: Datastore tag used to
// synchronize the config datastore
message ReplaceConfigResp {
Status status_resp = 1;
}
If the vOMCI function supports the ONU_STATE_ONLY_SUPPORT capability, the vOLTMF can send the
UpdateConfigInstance request message. The current_config_inst field in this message contains the full
configuration of the ONU before the vOLTMF would have applied any requests itself. The delta_config field
contains a list of changes for nodes within the ONU configuration database. Additionally, each node contains
an NETCONF operation to apply to the node.
If the vOMCI function supports the ONU_CONFIG_REPLICA_SUPPORT capability, the vOMCI function
uses the list of changes for nodes within the replica's ONU configuration contained within the delta-config
field.
The status_response field in the UpdateConfigResp response message is used to convey the status of the
message along with any error codes if the request failed for any reason.
Note: vOMCI function, ONU Management Proxy or vOMCI proxy instance implementations ought to
limit unnecessary disruptions in the management, control and user plane traffic due to the update of
a configuration.
message UpdateConfigReplica {
bytes delta_config = 1; // List of Node changes with the
// associated operation to apply to
// the node
}
message UpdateConfigInstance {
bytes current_config_inst = 1; // Full current configuration
// instance
bytes delta_config = 2; // List of Node changes with the
// associated operation to apply to
// the node
}
message UpdateConfig {
oneof req_type {
UpdateConfigInstance update_config_inst = 1;
UpdateConfigReplica update_config_replica = 2;
}
string datastore_tag = 3; // Optional: Datastore tag used to
// synchronize the config store
}
message UpdateConfigResp {
Status status_resp = 1;
}
The status_response field in the Action and RPC response messages is used to convey the status of the
message along with any error codes if the request failed for any reason.
message RPC {
bytes input_data = 1;
string datastore_tag = 2; // Optional: Datastore tag used to
// synchronize the config datastore
}
message RPCResp {
Status status_resp = 1;
bytes output_data = 2;
}
message Action {
bytes input_data = 1;
string datastore_tag = 2; // Optional: Datastore tag used to
// synchronize the config datastore
}
message ActionResp {
Status status_resp = 1;
bytes output_data = 2;
}
message Status {
enum StatusCode {
OK = 0;
ERROR_GENERAL = 1;
}
StatusCode status_code = 1;
repeated Error error = 2; //Optional: Error information
}
The following JSON fragment is an equivalent representation for the first example shown in the Section 4.3
of RFC 6241 [10] and would be encoded in the error field of the Status message.
Note: Instead of the "rpc-error" field as define in RFC 6241 [10], the root element is named "error".
Error response
"error": {
"error-type": "rpc",
"error-tag": "missing-attribute",
"error-severity": "error",
"error-info": {
"bad-attribute": "message-id",
"bad-element": "rpc"
}
}
message Notification {
string event_timestamp = 1; // Timestamp in ISO 8601 format
bytes data = 2;
}
The ONU topology information is originated by the physical OLT device as notifications to which the vOLTMF
subscribes. The ONU state change notifications include the TC layer ONU serial number as a unique
identifier for the ONU along with the ONU state and other topology information. The vOLTMF must correlate
the TC layer ONU serial number with a configured ONU device. The vOLTMF then configures the vOMCI
function, vOMCI proxy and OLT with the ONU management chain elements that are relevant for that entity.
For example, the vOLTMF would configure the ONU's olt-remote-endpoint attribute with the remote endpoint
that the vOMCI function would use to send vOMCI messages.
Note: These are categories of topics and topic names are specific to deployments.
5.7.3.1.2 Requirements
R-MvOLTMF-vOMCI-Kafka.10 – When using Kafka to transfer messages, an entity (i.e., vOLTMF, vOMCI
function, ONU Management Proxy, vOMCI Proxy) MUST provide the capability act as a Kafka consumer.
R-MvOLTMF-vOMCI-Kafka.20 – When using Kafka to transfer messages, an entity (i.e., vOLTMF, vOMCI
function, ONU Management Proxy, vOMCI Proxy) MUST provide the capability act as a Kafka producer.
R-MvOLTMF-vOMCI-Kafka.30 – When using Kafka to transfer messages, an entity (i.e., vOLTMF, vOMCI
function, ONU Management Proxy, vOMCI Proxy) acting as a Kafka consumer MUST silently discard
messages for which it is not a recipient by inspecting the recipient_name field of the received message when
the Kafka producer has provided the recipient_name field.
R-MvOLTMF-vOMCI-Kafka.40 – When using Kafka to transfer messages, an entity (i.e., vOLTMF, vOMCI
function, ONU Management Proxy, vOMCI Proxy) acting as a Kafka consumer MUST silently discard
messages for which it cannot identify the target recipient by inspecting the recipient_name field of the
received message when the Kafka producer has provided the recipient_name field.
R-MvOLTMF-vOMCI-Kafka.50 – When using Kafka to transfer messages, the vOMCI function or vOMCI Proxy
acting as a Kafka consumer MUST silently discard messages for which it cannot identify the target of the
request by inspecting the object_type and object_name fields of the received request message.
R-MvOLTMF-vOMCI-Kafka.60 – When using Kafka to transfer messages, the vOLTMF acting as a Kafka
consumer MUST silently discard messages for which it cannot identify the source of the response or
notification by inspecting the object_type and object_name field of the received response or notification
message.
R-MvOLTMF-vOMCI-Kafka.70 – Implementations MUST ensure the confidentiality, integrity and authenticity of the
Kafka endpoints and the Kafka broker when exchanging messages between the vOLTMF and ONU
Management Proxy, vOMCI function or vOMCI Proxy.
R-MvOLTMF-vOMCI-Kafka.80 – When using Kafka to transfer request messages defined in section 5.7.1, the
vOMCI solution MAY name Kafka topics that are unique to the ONU Management Proxy, vOMCI function or
vOMCI Proxy instances.
R-MvOLTMF-vOMCI-Kafka.90 – When using Kafka to transfer response and notification messages defined in
section 5.7.1, the vOMCI solution MAY name Kafka topics that are unique to the vOLTMF.
R-MvOLTMF-vOMCI-Kafka.100 – When using Kafka to transfer messages on the MvOLTMF-vOMCI interface the
vOLTMF MUST subscribe and produce messages using the Topic categories defined in Table 1 Kafka
Topic.
R-MvOLTMF-vOMCI-Kafka.110 – When using Kafka to transfer messages on the MvOLTMF-vOMCI interface the
vOMCI function ONU Management Proxy, or vOMCI Proxy MUST subscribe and produce messages using
the Topic categories defined in Table 1 Kafka Topic.
R-MvOLTMF-vOMCI-Kafka.120 – When using Kafka to transfer messages on the MvOLTMF-vOMCI interface, the
vOMCI solution MUST control access to the topics for which clients consume and produce messages.
Even though the vOLTMF is the client entity of the gRPC channel, the vOMCI function, ONU Management
Proxy or vOMCI Proxy can transmit messages such as Notifications.
service VomciMessageNbi {
rpc Hello(tr451_vomci_nbi_message.v1.Msg) returns
(tr451_vomci_nbi_message.v1.Msg);
For gRPC requests implementations are able to define and adjust the request timeouts (i.e., grpc-timeout)
and if compression is used (grpc-encoding).
When using HTTP/2 as the gRPC wire protocol, HTTP/2 servers can send a GOAWAY frame to the HTTP/2
client indicating that HTTP/2 server will no longer accept connections. When this occurs the entity, acting as
the gRPC and HTTP/2 client will not attempt to re-connect to the peer entity and will provide a notification or
log entry that the entity cannot establish communications to the peer entity.
5.7.3.2.5 Requirements
R-MvOLTMF-vOMCI-gRPC.10 – When using gRPC to transfer messages, the vOLTMF MUST provide the
capability to initiate the gRPC channel establishment procedure acting as a gRPC client.
R-MvOLTMF-vOMCI-gRPC.20 – When using gRPC to transfer messages, the vOMCI function MUST provide
gRPC server capabilities.
R-MvOLTMF-vOMCI-gRPC.30 – When using gRPC to transfer messages, the vOMCI Proxy MUST provide gRPC
server capabilities.
R-MvOLTMF-vOMCI-gRPC.35 – When using gRPC to transfer messages, the ONU Management Proxy MUST
provide gRPC server capabilities.
R-MvOLTMF-vOMCI-gRPC.40 – When establishing a gRPC channel between the vOLTMF and vOMCI function,
the vOLTMF MUST send the Hello message in order to exchange attachment points and other information
needed to exchange messages.
R-MvOLTMF-vOMCI-gRPC.50 – When establishing a gRPC channel between the vOLTMF and vOMCI function,
ONU Management Proxy or vOMCI Proxy, the vOLTMF MUST send the ListenForRx RPC in order to allow
the peer entity to send messages.
R-MvOLTMF-vOMCI-gRPC.60 – When the vOLTMF acts as a gRPC client, the vOLTMF MUST provide the
capability to establish gRPC channels to one (1) or more remote entities using the peer entity's contact
information defined in section 5.8.4.1.1 of this Technical Report.
R-MvOLTMF-vOMCI-gRPC.70 – The gRPC channel established between the vOLTMF and vOMCI function, ONU
Management Proxy or vOMCI Proxy MUST be a persistent connection where if the initiation attempt fails or
the connectivity of the established gRPC fails, the gRPC client attempts to reconnect using the reconnection
strategy defined by the gRPC specification.
R-MvOLTMF-vOMCI-gRPC.80 – When the vOLTMF cannot establish a gRPC channel with a remote entity, the
initiating entity MUST provide a notification that communication with the remote entity cannot be established
along with a possible reason (e.g., HTTP/2 GOAWAY frame).
R-MvOLTMF-vOMCI-gRPC.90 – For established gRPC channels, the vOLTMF MUST ping the remote entity on a
periodic interval. The ping interval MUST be configurable and default value MUST be 5 minutes.
R-MvOLTMF-vOMCI-gRPC.100 – When sending gRPC messages, the requesting entity MUST provide a timeout
for the request and indicate if compression is used for encoding. The gRPC request timeout and
compression values MUST be configurable. The default value for the grpc-timeout MUST be 30 seconds and
the default value for the grpc-encoding MUST NOT include compression.
R-MvOLTMF-vOMCI-gRPC.120 – The vOLTMF, vOMCI function, ONU Management Proxy and vOMCI Proxy
service endpoints MUST implement TLS 1.2 as described in RFC 5246 [7].
R-MvOLTMF-vOMCI-gRPC.130 – When the vOLTMF, acting as the gRPC client, receives the remote entities'
X.509 certificate while establishing TLS session, the vOLTMF MUST identify the remote entity according to
section 6 of RFC 6125 [9].
R-MvOLTMF-vOMCI-gRPC.140 – The vOMCI function, ONU Management Proxy or vOMCI Proxy, acting as a
gRPC server, MUST authenticate the vOLTMF using the X.509 certificate presented by the initiating entity
according to section 6 of RFC 6125 [9].
5.7.4 Requirements
R-MvOLTMF-vOMCI.10 – The ONU device data model used on the MvOLTMF-vOMCI interface MUST be compliant
with TR-385i2 [26].
R-MvOLTMF-vOMCI.20 – The vOMCI function instance data model used on the MvOLTMF-vOMCI interface MUST be
compliant with Annex A: vOMCI YANG Modules.
R-MvOLTMF-vOMCI.30 – The vOMCI Proxy instance data model used on the MvOLTMF-vOMCI interface MUST be
compliant with Annex A: vOMCI YANG Modules.
R-MvOLTMF-vOMCI.40 – Messages used on the MvOLTMF-vOMCI interface MUST be encoded using Google
Protobufs version 3.0 [29].
R-MvOLTMF-vOMCI.50 – YANG data used with the GPB messages on the MvOLTMF-vOMCI interface MUST be
encoded as JSON in RFC 7951 [14].
R-MvOLTMF-vOMCI.60 – Upon reception of the message request, if the vOMCI function, ONU Management
Proxy or vOMCI Proxy does not support the version of the message request, the vOMCI function MUST
generate an unsupported-version-vomci-func-message notification specified in Annex A: vOMCI YANG
Modules.
R-MvOLTMF-vOMCI.70 – When a message response is received by the vOLTMF and the vOLTMF does not
support the version specified in the message, the vOLTMF MUST log the failed message reception.
R-MvOLTMF-vOMCI.80 – When a message notification is received by the vOLTMF and the vOLTMF does not
support the version specified in the message, the vOLTMF MUST log the failed message reception.
R-MvOLTMF-vOMCI.80 – The information model for ONU device data model used on the MvOLTMF-vOMCI interface
MUST support the RFC-7895 [12] YANG Modules data module.
The messages that are conveyed across the MVOMCI-OLT interface are serialized in Google Protocol Buffers
(GPB) along with other information elements that help with the forwarding of the message as well as
assistance in the operation and troubleshooting of the message flow between the vOMCI function and the
OLT. These messages are known as vOMCI messages and are defined in section 5.8.1.
The vOMCI messages that are exchanged between the OLT and vOMCI function can transit through
optional, intermediate entities known as vOMCI Proxys.
The vOMCI function, OLT and vOMCI Proxy entities transfer vOMCI messages using the Google RPC
(gRPC) message transfer protocol.
The vOMCI message is defined by the GPB VomciMessage definition can be an request or a response
message defined for:
• OMCI packet transmission
• Error message that is not associated with any vOMCI message response (e.g., message delivery
errors)
message VomciMessage {
string request_payload_id = 1; //Optional: The request payload identifier received
from the vOLTMF by the vOMCI function.
oneof msg{
VomciError error_msg = 2;
OmciPacket omci_packet_msg = 3;
OmciPacket tod_packet_msg = 4;
OltInfoMessage olt_info_msg = 5;
}
}
message VomciError {
enum VomciErrorCode {
ERROR_GENERAL = 0;
NO_ROUTE_TO_ONU = 1; //The entity does not know which remote endpoint to send the
message to the ONU
NO_RESPONSE_FROM_ONU = 2; //The entity did not receive an expected response for a
request from the ONU
UNSUPPORTED_REQUEST = 3; //The entity does not support the request
}
VomciErrorCode error_code = 1;
string error_description = 2; //Optional: Error description
}
In Figure 19 the VomciMessage message optionally contains the request_payload_id , the value of this field
can be passed between the vOLTMF and the vOMCI function in order to correlate the requests/responses
that are communicated across the MvOLTMF-vOMCI interface with the messages communicated across the
MvOMCI-OLT interface.
For vOMCI solutions that correlate VomciMessage request and response messages (e.g., vOMCI function,
vOMCI Proxy when performing OMCI message retransmission), the vOMCI Proxy and vOMCI function
inserts the value of the request_payload_id field from the VomciMessage response message into the
VomciMessage message prior to transmission of the VomciMessage response message.
message OnuHeader {
string olt_name = 1; //The OLT name
string chnl_term_name = 2; //The reference identifier to the channel termination of
the TR-385 vANI
uint32 onu_id = 3; //The TC layer ONU-ID identifier of the TR-385 vANI
}
In Figure 20 the OnuHeader message contains the fields (i.e., olt-name, chanl_term_name and onu_id) that
are used by the OLT and vOMCI Proxy entities to address an ONU instance.
message OmciMsgRetrans {
uint32 t_maxi = 1; //Optional: The maximum threshold value, in milliseconds, for timer
expiration as defined in ITU-T G.988/B.2. A value of 0 indicates that the field is not
defined.
uint32 r_maxi = 2; //Optional: The maximum retries associated with this message as
defined in ITU-T G.988/B.2 plus 1 (e.g., Value 1 is the first retry) A value of 0
indicates that the field is not defined.
}
message MessageInfo {
OmciMsgRetrans omci_msg_retrans = 1; //Optional: OMCI message retransmission applied
}
message OmciPacket {
OnuHeader header = 1;
MessageInfo msg_info = 2; //Optional: Message information
bytes payload = 3; //OMCI message payload without the CRC/MIC
}
Figure 22, Figure 23, and Figure 24 provides examples of the message sequence for ONU notifications,
ONU commands and a response to an ONU command.
Note: The message timeout described in this section is only applicable when the vOMCI Proxy or
vOMCI function entity is not currently performing the OMCI message retransmission function for the
vOMCI message. The reason is that the OMCI message retransmission function's timers described
in section 5.8.3 take precedence in the "clean up" of the commands over the configured timeout
values.
R-vOMCI_Msg_TO.100 – If the vOMCI function or vOMCI Proxy is not currently performing the OMCI
message retransmission function but is tracking vOMCI messages from the vOMCI function to an ONU, the
vOMCI function or vOMCI Proxy MUST provide the capability to timeout the vOMCI message that it is
tracking based on the configured or default timeout value.
R-vOMCI_Msg_TO.110 – If the vOMCI function or vOMCI Proxy times out vOMCI messages from the
vOMCI function to an ONU, the vOMCI function or vOMCI Proxy MUST count the timed out message and log
the timeout event of the vOMCI message.
message VomciError {
enum VomciErrorCode {
ERROR_GENERAL = 0;
NO_ROUTE_TO_ONU = 1; //The entity does not know which remote endpoint to send the
message to the ONU
NO_RESPONSE_FROM_ONU = 2; //The entity did not receive an expected response for a
request from the ONU
}
VomciErrorCode error_code = 1;
string error_description = 2; //Optional: Error description
}
message OltInfoMessage {
oneof msg {
OltOnuInfoReq olt_onu_info_req = 1;
OltOnuInfoRsp olt_onu_info_rsp = 2;
}
}
message OltOnuInfoReq {
OnuHeader header = 1; //OLT information is scoped toward a specific ONU
}
message OltOnuInfoRsp {
OnuHeader header = 1; //OLT information is scoped toward a specific ONU
uint32 gem_superframe_seq = 2; //The sequence number of the specified GEM
superframe as defined in the OLT-G ME in ITU-T G.988
string tstampn = 3; //The TstampN as defined in the OLT-G ME in ITU-T G.988
}
5.8.2 Encapsulating vOMCI Messages in GPB for use with gRPC Transport
vOMCI messages encapsulated in a GPB message using the schema defined in this section of the Technical
Report. GPB message services are defined for communication between the OLT, vOMCI Proxy, and vOMCI
function entities. These services are identified below:
service VomciHelloSbi {
rpc HelloVomci (tr451_vomci_sbi_message.v1.HelloVomciRequest) returns
(tr451_vomci_sbi_message.v1.HelloVomciResponse);
}
service VomciMessageSbi {
rpc ListenForVomciRx (google.protobuf.Empty) returns (stream
tr451_vomci_sbi_message.v1.VomciMessage);
rpc VomciTx (tr451_vomci_sbi_message.v1.VomciMessage) returns
(google.protobuf.Empty);
}
peer entity needs on subsequent OMCI message exchanges between the OLT, vOMCI Proxy, and the
vOMCI function. The gRPC client uses the HelloVomciRequest message where the OLT, vOMCI function, or
vOMCI Proxy identifies the endpoint name that the gRPC client advertises when connected to the gRPC
server (i.e., gRPC client's local-endpoint). The HelloVomciResponse message provided by the gRPC server
includes the endpoint name that the server advertises (i.e., gRPC server local-endpoint). Whenever the
endpoint name changes, the entities that has been changed must gracefully terminate all sessions between
the entities. New sessions will then be re-initiated the sessions using the new endpoint name.
message Hello {
string endpoint_name = 1; //OLT, vOMCI Proxy or vOMCI function endpoint name
}
message HelloVomciRequest {
Hello local_endpoint_hello = 1;
}
message HelloVomciResponse {
Hello remote_endpoint_hello = 1;
}
Since OLT, vOMCI function and vOMCI Proxy entities require a gRPC stream in order to send vOMCI
messages, one of the OLT, vOMCI function and vOMCI Proxy entities instantiates the stream by sending the
ListenForVomciRx message to the peer entity, which the peer entity then uses to send any vOMCI
messages as response on the stream.
service VomciMessageSbi {
rpc ListenForVomciRx (google.protobuf.Empty) returns (stream
tr451_vomci_sbi_message.v1.VomciMessage);
rpc VomciTx (tr451_vomci_sbi_message.v1.VomciMessage) returns
(google.protobuf.Empty);
}
identification mechanisms. The entity that originates the OMCI request or notification is responsible for
correlating the responses for the OMCI requests or notification.
5.8.2.3 Requirements
R-ENC.10 – An implementation using Google protocol buffers encoding to encode vOMCI messages MUST
conform to the schema defined in section 5.8.2.
R-ENC.15 – An implementation that uses gRPC to transfer Google protocol buffers encoded messages
MUST conform to the Google Protobuf services defined in section 5.8.2.
In order to implement the retransmission, the vOMCI Proxy and vOMCI function needs to be configured, via
its external management interface, with the ITU-T G.988 retransmission (or re-send) thresholds for timer
expiration timeout (Tmaxi) and number of retries retry counter (Rmaxi) to be used to control the processing for
high priority and low priority messages.
If the vOMCI function performs the OMCI message retransmission and needs to have retransmission
behavior that is different from what is configured by the vOLTMF (e.g., MibReset, Software Download), the
vOMCI function can optionally use different retransmission elements.
When the retransmission is performed by the vOMCI Proxy and if vOMCI function needs to have special
retransmission behavior that is different from what is configured by the vOLTMF (e.g., MibReset, Software
Download), the vOMCI function can optionally send the suggested retransmission elements in the in the
OMCIPacket message.
Based on configuration from the vOLTMF or using its default configuration, the vOMCI Proxy can accept or
ignore the suggested retransmission elements in the OMCIPacket message.
R-vOMCI_RT.10 – When the vOMCI function initiates the OMCIPacket message for an ONU, the vOMCI
function SHOULD use the OMCI message retransmission elements (e.g., timer expiration timeout (Tmaxi) and
number of retries retry counter (Rmaxi)) for an ONU that the vOMCI function has been configured using default
values or those values configured from the vOLTMF.
R-vOMCI_RT.20 – When performing OMCI message retransmission, vOMCI function MAY use different
OMCI message retransmission values if the vOMCI function determines other values are needed for
successfully completing the OMCI message (e.g., MibReset, Software Download) to an ONU.
R-vOMCI_RT.30 – When the vOMCI Proxy performs OMCI message retransmission, the vOMCI function
MAY send OMCI message retransmission values if the vOMCI function determines other values are needed
for successfully completing the OMCI message (e.g., MibReset, Software Download) to an ONU.
R-vOMCI_RT.40 – When the vOMCI Proxy is configured to perform OMCI message retransmission for an
ONU, the vOMCI Proxy SHOULD use the OMCI message retransmission elements (e.g., timer expiration
timeout (Tmaxi) and number of retries retry counter (Rmaxi)) for an ONU that the vOMCI Proxy has been
configured using default values or those values configured from the vOLTMF.
R-vOMCI_RT.50 – When the vOMCI Proxy is configured to accept the OMCI retransmission elements in the
OMCIPacket message, the vOMCI Proxy MUST use the retransmission elements in the OMCIPacket
message when the retransmission elements are present in the OMCIPacket message.
Note: In the scenario where both OLT, vOMCI Proxy and vOMCI function entities implements the
gRPC client and gRPC server interfaces, the resulting solution will establish two (2) gRPC channel in
each direction resulting in two (2) HTTP/2 and associated TCP connections.
5.8.4.1.2 OLT, vOMCI Proxy and vOMCI Function Identification and Configuration
Based on the capabilities of OLT, vOMCI Proxy and vOMCI function and depending on the ONUs that are
connected to the OLT, OLT, vOMCI Proxy and vOMCI function can establish gRPC channels with multiple
instances of peer OLT, vOMCI Proxy and vOMCI function. The determination of peer entity instance(s) that
an initiating entity establishes a channel is configured through the provisioning interface of the initiating
entity.
For gRPC requests implementations are able to define and adjust the request timeouts (i.e., grpc-timeout)
and if compression is used (grpc-encoding).
When using HTTP/2 as the gRPC wire protocol, HTTP/2 servers can send a GOAWAY frame to the HTTP/2
client indicating that HTTP/2 server will no longer accept connections. When this occurs the OLT, vOMCI
Proxy and vOMCI function, acting as the gRPC and HTTP/2 client will not attempt to re-connect to the peer
OLT, vOMCI Proxy and vOMCI function and will provide a notification or log entry that the OLT, vOMCI Proxy
and vOMCI function cannot establish communications to the peer OLT, vOMCI Proxy and vOMCI function.
5.8.4.5 Requirements
R-gRPC.10 – When using gRPC to transfer vOMCI messages, an OLT, vOMCI Proxy and vOMCI function
SHOULD provide the capability to initiate the gRPC channel establishment procedure acting as a gRPC
client.
R-gRPC.20 – When using gRPC to transfer vOMCI messages, an OLT, vOMCI Proxy and vOMCI function
SHOULD provide gRPC server capabilities.
R-gRPC.30 – When establishing a gRPC channel between the OLT, vOMCI Proxy and vOMCI function, the
Bi-directional streaming RPC method is used to exchange messages.
R-gRPC.40 – When establishing a gRPC channel between the OLT, vOMCI Proxy and vOMCI function, the
initiating entity (i.e., OLT, vOMCI function, vOMCI Proxy) MUST send the HelloVomci RPC in order to
exchange host names and endpoint information needed to exchange messages.
R-gRPC.50 – When establishing a gRPC channel between the OLT, vOMCI Proxy and vOMCI function, the
initiating entity (i.e., OLT, vOMCI function, vOMCI Proxy) MUST send the ListenForVomciRx RPC in order to
allow the peer entity to send vOMCI messages.
R-gRPC.60 – When the OLT, vOMCI Proxy and vOMCI function acts as a gRPC client, the entity MUST
provide the capability to establish gRPC channels to one (1) or more remote entities using the peer entity's
contact information defined in section 5.8.4.1.1 of this Technical Report.
R-gRPC.70 – The gRPC channel established between the OLT, vOMCI Proxy and vOMCI function MUST be
a persistent connection where if the initiation attempt fails or the connectivity of the established gRPC fails,
the gRPC client attempts to reconnect using the reconnection strategy defined by the gRPC specification.
R-gRPC.80 – When the OLT, vOMCI Proxy and vOMCI function cannot establish a gRPC channel with a
remote entity, the initiating entity MUST provide a notification that communication with the remote entity
cannot be established along with a possible reason (e.g., HTTP/2 GOAWAY frame).
R-gRPC.90 – For established gRPC channels, the initiating OLT, vOMCI Proxy and vOMCI function MUST
ping the remote entity on a periodic interval. The ping interval MUST be configurable and default value
MUST be 5 minutes.
R-gRPC.100 – When sending gRPC requests, the requesting OLT, vOMCI Proxy and vOMCI function MUST
provide a timeout for the request and indicate if compression is used for encoding. The gRPC request
timeout and compression values MUST be configurable. The default value for the grpc-timeout MUST be 30
seconds and the default value for the grpc-encoding MUST NOT include compression.
R-gRPC.110 – Implementations MUST ensure the confidentiality, integrity, and authenticity of the gRPC
channels when exchanging messages between the OLT, vOMCI Proxy, and vOMCI function.
R-gRPC.120 – The OLT, vOMCI Proxy and vOMCI function endpoints MUST implement TLS 1.2 as
described in RFC 5246 [7].
R-gRPC.130 – When an initiating OLT, vOMCI Proxy and vOMCI function, acting as the gRPC client,
receives the remote entities' X.509 certificate while establishing TLS session, the initiating entity MUST
identify the remote entity according to section 6 of RFC 6125 [9].
R-gRPC.140 – The OLT, vOMCI Proxy and vOMCI function, acting as a gRPC server, MUST authenticate
the initiating entity using the X.509 certificate presented by the initiating entity according to section 6 of RFC
6125 [9].
The OLT model is defined in the following modules located in the application directory on Github:
• bbf-olt-vomci.yang
• bbf-olt-vomci-state.yang
• bbf-olt-grpc-client.yang
• bbf-olt-grpc-server.yang
The OLT model uses the following YANG modules that are common to these managed entities or are used
from other Broadband Forum Technical Reports and IETF RFCs:
The vOMCI function model is defined in the following modules located in the application directory on Github:
• bbf-voltmf.yang
• bbf-voltmf-state.yang
• bbf-voltmf-grpc-client.yang
• bbf-voltmf-kafka-agent.yang
The vOLTMF model uses the following YANG modules that are common to these managed entities or are
used from other Broadband Forum Technical Reports and IETF RFCs:
The vOMCI function model is defined in the following modules located in the application directory on Github:
• bbf-vomci-function.yang
• bbf-vomci-function-grpc-client.yang
• bbf-vomci-function-grpc-server.yang
• bbf-vomci-function-kafka-agent.yang
The vOMCI function model uses the following YANG modules that are common to these managed entities or
are used from other Broadband Forum Technical Reports and IETF RFCs:
The ONU Management Proxy model is defined in the following modules located in the application directory
on Github:
• bbf-onu-management-proxy.yang
• bbf-onu-management-proxy-state.yang
• bbf-onu-management-proxy-grpc-client.yang
• bbf-onu-management-proxy-grpc-server.yang
• bbf-onu-management-proxy-kafka-agent.yang
The ONU Management Proxy model uses the following YANG modules that are common to these managed
entities or are used from other Broadband Forum Technical Reports and IETF RFCs:
The vOMCI Proxy model is defined in the following modules located in the application directory on Github:
• bbf-vomci-proxy.yang
• bbf-vomci-proxy-grpc-client.yang
• bbf-vomci-proxy-grpc-server.yang
• bbf-vomci-proxy-kafka-agent.yang
The vOMCI Proxy model uses the following YANG modules that are common to these managed entities or
used from other Broadband Forum Technical Reports and IETF RFCs:
When deploying the vOMCI solution in the CloudCO framework, the vOLT Management Function is
performed by the BAA layer or directly by the Access SDN M&C.
Figure 38 Integrating the vOMCI solution with the CloudCO BAA layer
This way the BAA layer exposes to the northbound Access SDN Management and Control function the same
representation and management capabilities for an ONU regardless of the fact the ONU device is
embedded-OMCI or virtual-OMCI managed.
The vOMCI solution toward the Access PNFs is via the SBI of the vOMCI function and/or vOMCI Proxy as
specified in section 5.8 of this Technical Report. Depending on the deployment scenario the vOLT
Management function’s capabilities as specified in section section 5.6 of this Technical Report are provided
by either the Access SDN M&C or the BAA layer. Regardless of how the vOMCI function is deployed (e.g.,
stand-alone, VNF), the capabilities of the vOMCI function and vOMCI Proxy as specified in section 5.2 of
this Technical Report and exposed through vOMCI function’s NBI remain the same. The only difference is
the protocol used to convey the information elements which is specified in section 5.7 of this Technical
Report.
An alternative deployment option this section introduces an aggregation of the communication sessions
between OLT and one or more vOMCI functions. In doing the aggregation of the communication sessions,
the OLT doesn’t require connectivity information about each of the vOMCI functions. Instead the OLT only
needs connect with the vOMCI Proxy that can be deployed with the vOLTMF to isolate the deployment
information of vOMCI function. In doing so, the OLT no longer needs to know how to connect to the vOMCI
function which allows the vOMCI function to only need knowledge of the ONU(s) as the service termination
point instead of the attached OLT. This alleviates the strict coupling between the OLT and vOMCI function
which may expose too much information of vOMCI function instance (e.g., the locations, numbers,
capacities, life cycles entities in the vOMCI solution) to parties that are not part of the vOMCI solution. This
coupling can also complicate or possibly inhibit the flexible migration of vOMCI functions in a Cloud
deployment.
When the vOLTMF is used as the aggregation entity, the vOLTMF has knowledge of the vOMCI solution to
include the vOMCI functions, OLTs and ONU attachments and thus is able to easily provide the capabilities
to proxy messages between the ONU and vOMCI function via dedicated channels to the requisite OLT. This
deployment is depicted below.
When the vOMCI function is integrated with the BAA layer as described in appendix I.1 the communication
sessions are managed by BAA layer functionality that comprise the vOLTMF as depicted below.
Figure 43 Deployment vOLTMF, vOMCI function and vOMCI Proxy in the context of the BAA layer
In Figure 43, the MvOLTMF-vOMCI interfaces are established from the vOLTMF to the vOMCI function. The
MvOMCI-OLT interfaces is established between the vOMCI function, vOMCI Proxy and OLT. The vOLTMF
maintains the ONU management chain topology for each ONU and establishes the necessary connectivity to
the ONU. Only one communication session is necessary to be initiated/maintained between a vOMCI Proxy
and OLT. The vOMCI Proxy acts as an application gateway that forwards messages between the vOMCI
function and the ONU via the attached OLT.
In addition to the methods discussed in TR-156 section 7.1, ITU-T G.984.3 Appendix VI, ITU-T G.987.3
section 15.2, ITU-T G.989.3 section 15.2 and ITU-T G.9807.1 Annex C.15, there is a need in certain retail
scenarios for ONUs and when the ONU can attach to a subset of attachment points within the network (e.g.,
nomadic ONU) for management systems to be able to validate that the ONU can attach to an attachment
point by validating the permitted attachment points that an ONU can be activated upon. This verification
check typically is performed based on the allowed topology of attachment points for the ONU.
Further, when an ONU for a subscriber has not been correctly configured for authentication of the ONU (e.g.,
incorrect attachment point), remote management systems (e.g., vOLTMF) need to be able to authenticate
the ONU using information maintained by the remote management system such as a list of valid serial
numbers or registration IDs. Additionally, the remote management system can consider the verification of
attachment point to avoid unlimited access from unexpected attachment points.
This section describes the interactions necessary to implement the New ONU bring-up method of Appendix I
of ITU-T G.988.
The ONU is detected online (OMCC channel has been established) and goes to PLOAM O5-O6 state as
defined in Annex D.4/ITU-T G.984.3 [2], Section 12/ITU-T G.987.3 [3], Appendix C.12/ITU-T G.9807.1 [4]
and Section 12/ITU-T G.989.3 [5].
1) OLT sends the ONU state change notification (including serial number and optional PLOAM password) to
the vOLTMF. The ONU state-change notification is defined in TR-385 issue2 and ITU-T G.984.3 Appendix
VI.
2) vOLTMF notifies vOMCI function that an ONU has come online and will use the specified ONU
management chain.
3) When the vOMCI function sees an expected ONU has been detected to come online, the vOMCI function
sends Get MIB data sync message to ONU as defined in ITU-T G.988 section 9.1.3.
4) vOMCI function reports the configuration align result of the ONU to vOLTMF as defined in ITU-T G.988
Appendix I.1.2.2.
5) If the ONU's configuration is misaligned, the vOLTMF aligns the ONU by sending the ONU's current
configuration to the ONU.
5a) vOLTMF sends the ONU's configuration via the ReplaceConfig request message.
5b) vOMCI function issues a MibReset OMCI message as defined in ITU-T G.988 Appendix I.1.4.2.
5c) vOMCI function issues a MibUpLoad OMCI message as defined in ITU-T G.988 Appendix
I.1.1.1.2.
5d) vOMCI function issues any additional configuration necessary to complete the ONU alignment
request.
5e) vOMCI function sends a ReplaceConfigResp response message to the vOLTMF with the result
of the operation.
6) If the ONU's configuration is aligned, the vOLTMF requests the alarms from an ONU.
6a) vOLTMF sends a request for the alarms via the GetData request message as defined in section
5.7.1 of this Technical Report.
6b) vOMCI function issues a “Get all alarms OMCI message as defined in ITU-T G.988 Section
11.2.2
8) If the configuration is aligned, the vOLTMF reports that ONU is detected and aligned to the Access SDN
M_C.
In this scenario, the ONU has not been properly authenticated requiring the vOLTMF to request additional
ONU device information from the vOMCI. Upon receiving the device information of the ONU via the vOMCI
function, the vOLTMF reports the discovery of the ONU to other interested parties (e.g., Access SDN M&C).
Note: If the ONU passes authentication, the flow is shown in section Configured ONU is detected
Online.
The ONU is detected online (OMCC channel has been established) and goes to PLOAM O5-O6 state as
defined in Annex D.4/ITU-T G.984.3 [2], Section 12/ITU-T G.987.3 [3], Appendix C.12/ITU-T G.9807.1 [4]
and Section 12/ITU-T G.989.3 [5].
1) OLT sends the ONU state change notification (including serial number and optional PLOAM password) to
the vOLTMF. The ONU state change notification is defined in TR-385 issue2 and ITU-T G.984.3 Appendix
VI.
2) vOLTMF identifies the vOMCI function that can obtain the device and software information for the ONU.
3a) vOLTMF sends a request to get the device information including the software version.
3b) vOMCI function sends the ONU-G ME get operation defined in ITU-T G.988 clause 9.1.1.
3c) vOMCI function sends the ONU2-G ME get operation defined in ITU-T G.988 clause 9.1.2.
3d) vOMCI function sends the Software image ME get operation defined in ITU-T G.988 clause
9.1.4.
3e) vOMCI function returns the response for getting ONU device information to the vOLTMF.
4) Report automatically discovered ONU that includes information about ONU device and software
information obtained in the get response to the Access SDN M_C.
In this scenario, the vOLTMF cannot either discern which vOMCI function instance can be used to send the
request to obtain the device and software information from the ONU or the selected vOMCI function cannot
successfully obtain the device and software information.
The ONU is detected online (OMCC channel has been established) and goes to PLOAM O5-O6 state as
defined in Annex D.4/ITU-T G.984.3 [2], Section 12/ITU-T G.987.3 [3], Appendix C.12/ITU-T G.9807.1 [4]
and Section 12/ITU-T G.989.3 [5].
1) OLT sends the ONU state change notification (including serial number and optional PLOAM password) to
the vOLTMF. The ONU state change notification is defined in TR-385 issue2 and ITU-T G.984.3 Appendix
VI.
2) vOLTMF identifies the vOMCI function that can obtain the device and software information for the ONU.
3) If the vOMCI function is identified, the vOLTMF sends Get ME operation for software and hardware
properties of the ONU.
3a) vOLTMF sends a request to get the device information including the software version.
3b) vOMCI function sends the ONU-G ME get operation defined in ITU-T G.988 clause 9.1.1.
3c) vOMCI function fails to receive the ONU2-G ME get operation defined in ITU-T G.988 clause
9.1.2.
3d) vOMCI function returns the failed response for getting ONU device information to the vOLTMF.
4) Report failed automatically discovered ONU that includes additional information about the failure to the
Access SDN M_C.
Section I.4 of ITU-T G.988 [1] describes the capability where PM MEs can be synchronized to a common 15-
min collection interval starting point by sending a request to the ONU to synchronize the PM collection
interval using the OMCI synchronize time action as described in appendix A.2.33 and A.3.33 of ITU-T G.988
[1].
An example scenario, the Figure 53 describes the PM 15-min collection interval alignment activity upon
discovery on an ONU by adding an additional step in the discovery of the ONU as depicted in Figure 50:
June 2022 © The Broadband Forum. All rights reserved 100 of 113
vOMCI Specification TR-451 Issue 1
June 2022 © The Broadband Forum. All rights reserved 101 of 113
vOMCI Specification TR-451 Issue 1
Since image transfer is lengthy and involves multiple “Download section”, “Download section response”
iterations, the vOMCI function must allow other configuration interactions while image transfer is in progress
in the background. Following software download, the new software image can optionally be committed
and/or activated. If software image is activated, ONU restarts and then the ONU is discovered as described
appendix V.2.
June 2022 © The Broadband Forum. All rights reserved 102 of 113
vOMCI Specification TR-451 Issue 1
June 2022 © The Broadband Forum. All rights reserved 103 of 113
vOMCI Specification TR-451 Issue 1
1) Access SDN M_C requests vOLTMF to download a new ONU software image using download” action, as
defined in Common YANG, bbf-software-management.yang.
2) vOLTMF forwards the “download” action to vOMCI function instance managing the target ONU.
3) vOMCI function transfers software image using “Start download” operation, followed by multiple
“Download Section” operations”, followed by “End Download” operation. All operations are applied to
“Software Image” ME, as defined in ITU-T G.988 Clause 9.1.4.
ONU image transfer typically takes from multiple seconds to multiple minutes. vOMCI function must be able
to modify and query ONU configuration whilst image transfer is in progress. In the diagram above it is shown
as “Unrelated request X” in the step 3b.
4) vOMCI function notifies vOLTMF that software download is completed using revision-downloaded
notification, as defined in Common YANG, bbf-software-management.yang.
June 2022 © The Broadband Forum. All rights reserved 104 of 113
vOMCI Specification TR-451 Issue 1
June 2022 © The Broadband Forum. All rights reserved 105 of 113
vOMCI Specification TR-451 Issue 1
June 2022 © The Broadband Forum. All rights reserved 106 of 113
vOMCI Specification TR-451 Issue 1
ReplaceConfig
Msg {
header {
msg_id: "2"
sender_name: "vOLTMF"
recipient_name: "vomci-vendor-1"
object_type: ONU
object_name: "ont1"
}
body {
request {
replace_config {
config_inst: "{\"bbf-qos-filters:filters\":{},\"ietf-ipfix-
psamp:ipfix\":{},\"ietf-hardware:hardware\":{},\"bbf-qos-
classifiers:classifiers\":{},\"ietf-pseudowires:pseudowires\":{},\"bbf-
ghn:ghn\":{},\"bbf-qos-policies:qos-policy-profiles\":{},\"bbf-
vdsl:vdsl\":{},\"bbf-xpongemtcont:xpongemtcont\":{},\"ietf-
system:system\":{},\"bbf-qos-policer-envelope-profiles:envelope-
profiles\":{},\"bbf-ghs:ghs\":{},\"ietf-interfaces:interfaces\":{},\"bbf-qos-
policies:policies\":{},\"bbf-qos-traffic-mngt:tm-profiles\":{},\"bbf-qos-
policing:policing-profiles\":{},\"bbf-selt:selt\":{},\"bbf-l2-dhcpv4-relay:l2-
dhcpv4-relay-profiles\":{},\"ieee802-dot1x:nid-group\":{},\"ietf-
alarms:alarms\":{},\"ietf-netconf-acm:nacm\":{},\"bbf-hardware-rpf-
dpu:rpf\":{},\"bbf-pppoe-intermediate-agent:pppoe-profiles\":{},\"bbf-
fast:fast\":{},\"bbf-mgmd:multicast\":{},\"bbf-melt:melt\":{},\"bbf-subscriber-
profiles:subscriber-profiles\":{},\"bbf-ldra:dhcpv6-ldra-profiles\":{},\"bbf-
l2-forwarding:forwarding\":{}}"
}
}
}
}
June 2022 © The Broadband Forum. All rights reserved 107 of 113
vOMCI Specification TR-451 Issue 1
ReplaceConfigResp response
Msg {
header {
msg_id: "2"
sender_name: "vomci-vendor-1"
recipient_name: "vOLTMF"
object_type: ONU
object_name: "ont1"
}
body {
response {
replace_config_resp {
status_resp{
status_code=0
}
}
}
}
}
Action
June 2022 © The Broadband Forum. All rights reserved 108 of 113
vOMCI Specification TR-451 Issue 1
Msg{
header {
msg_id: "3"
sender_name: "vOLTMF"
recipient_name: "vomci-vendor-1"
object_type: VOMCI_FUNCTION
object_name: "vomci-vendor-1"
}
body {
request {
action {
input_data: "{\"bbf-vomci-function:managed-onus\":{\"managed-
onu\":[{\"name\":\"ont1\",\"set-onu-communication\":{\"onu-attachment-
point\":{\"olt-name\":\"OLT1,\"channel-termination-name\":\"CT_1\",\"onu-
id\":1},\"voltmf-remote-endpoint\":\"vOLTMF_Kafka\",\"onu-communication-
available\":true,\"olt-remote-endpoint\":\"proxy-grpc-1\"}}]}}" }
}
}
Action response
Msg {
header {
msg_id: "3"
sender_name: "vomci-vendor-1"
recipient_name: "vOLTMF"
object_type: VOMCI_FUNCTION
object_name: "vomci-vendor-1"
}
body {
response {
action_resp {
status_resp {
status_code=0
}
}
}
}
}
June 2022 © The Broadband Forum. All rights reserved 109 of 113
vOMCI Specification TR-451 Issue 1
June 2022 © The Broadband Forum. All rights reserved 110 of 113
vOMCI Specification TR-451 Issue 1
June 2022 © The Broadband Forum. All rights reserved 111 of 113
vOMCI Specification TR-451 Issue 1
Figure 59 vOMCI-as-a-Service
By organizing the ONU Management Proxy, vOMCI Proxy and the associated vOMCI function instances as a
service and disaggregating from the vOLTMF the vOMCI service logic such as association of ONUs and
vOMCI function instances, ONU management chain setup, manipulation of the load balance and scale in/out
of the vOMCI function instances, the complexity of the connectivity between entities (e.g., vOLTMF instance,
OLT) that interface with the service is greatly reduced as the vOLTMF instances and OLTs no longer need to
connect directly to each vOMCI function instances. Instead the OLTs would connect to a vOMCI Proxy and
the vOLTMF instance connects to the ONU Management Proxy. This simplification has the following
benefits:
• When the scaling behavior of the vOMCI function instances rapidly changes (e.g., during restoration
of a geographic outage) and/or the number of vOMCI function instances needed to manage the
ONUs is large, the vOLTMF and OLT instances are no longer affected instead the burden of
interactions toward the vOMCI function instances is contained within the vOMCI service and it's
ONU Management Proxy and vOMCI Proxy entities.
• Simplification of the clients consuming vOMCI services such as vOLTMF instances is accomplished
by relying on the ONU Management Proxy to maintain the connectivity to the vOMCI function
instances and also provide the capability of allocating ONUs to vOMCI function instances. The
distribution of this functionality to allocate, monitor and maintain the association between the ONU
June 2022 © The Broadband Forum. All rights reserved 112 of 113
vOMCI Specification TR-451 Issue 1
and vOMCI function instance to the vOMCI Service's ONU Management Proxy creates a less
complex vOLTMF instance along with a reduction in the more error-prone configuration tasks for
each vOLTMF instance. This simplification is an enabler to efficiently scale vOLTMF instances
within the vOLTMF service.
• Monitoring and management of the vOMCI function instances can be more effectively performed by
the vOMCI service as the vOMCI function instances are scaled and maintained and ONUs are re-
allocated between vOMCI functions instances.
• Connectivity toward the dynamic behavior of the vOMCI functions is hidden from the vOLTMF
instances. This removes the need for the vOLTMF instance to know how to connect to individual
vOMCI function instances (e.g., be configured with the vOMCI function instance's IP address, port,
Kafka topics, gRPC credentials)
• Choices of message transport protocol (i.e., Kafka, gRPC) by vendor of a vOMCI function is hidden
from the vOLTMF instances. This alleviates the need for the vOLTMF to support multiple message
transport protocols as new vOMCI functions are added to support new types of ONUs or new
software versions for ONUs where the vendor of the vOMCI function supports a message transport
protocol that is not currently supported by the vOLTMF instances.
June 2022 © The Broadband Forum. All rights reserved 113 of 113