rfc9627v1.txt   rfc9627.txt 
Internet Engineering Task Force (IETF) J. Lennox Internet Engineering Task Force (IETF) J. Lennox
Request for Comments: 9627 D. Hong Request for Comments: 9627 8x8 / Jitsi
Category: Standards Track Vidyo Category: Standards Track D. Hong
ISSN: 2070-1721 J. Uberti ISSN: 2070-1721 Vidyo
J. Uberti
S. Holmer S. Holmer
M. Flodman M. Flodman
Google Google
August 2024 February 2025
The Layer Refresh Request (LRR) RTCP Feedback Message The Layer Refresh Request (LRR) RTCP Feedback Message
Abstract Abstract
This memo describes the RTCP Payload-Specific Feedback Message Layer This memo describes the RTCP Payload-Specific Feedback Message Layer
Refresh Request (LRR), which can be used to request a state refresh Refresh Request (LRR), which can be used to request a state refresh
of one or more substreams of a layered media stream. It also defines of one or more substreams of a layered media stream. This document
its use with several RTP payloads for scalable media formats. also defines its use with several RTP payloads for scalable media
formats.
Status of This Memo Status of This Memo
This is an Internet Standards Track document. This is an Internet Standards Track document.
This document is a product of the Internet Engineering Task Force This document is a product of the Internet Engineering Task Force
(IETF). It represents the consensus of the IETF community. It has (IETF). It represents the consensus of the IETF community. It has
received public review and has been approved for publication by the received public review and has been approved for publication by the
Internet Engineering Steering Group (IESG). Further information on Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of RFC 7841. Internet Standards is available in Section 2 of RFC 7841.
Information about the current status of this document, any errata, Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at and how to provide feedback on it may be obtained at
https://www.rfc-editor.org/info/rfc9627. https://www.rfc-editor.org/info/rfc9627.
Copyright Notice Copyright Notice
Copyright (c) 2024 IETF Trust and the persons identified as the Copyright (c) 2025 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Revised BSD License text as described in Section 4.e of the include Revised BSD License text as described in Section 4.e of the
Trust Legal Provisions and are provided without warranty as described Trust Legal Provisions and are provided without warranty as described
skipping to change at line 73 skipping to change at line 75
7. Security Considerations 7. Security Considerations
8. IANA Considerations 8. IANA Considerations
9. References 9. References
9.1. Normative References 9.1. Normative References
9.2. Informative References 9.2. Informative References
Authors' Addresses Authors' Addresses
1. Introduction 1. Introduction
This memo describes an RTCP [RFC3550] Payload-Specific Feedback This memo describes an RTCP [RFC3550] Payload-Specific Feedback
Message [RFC4585] Layer Refresh Request (LRR). It is designed to Message [RFC4585] "Layer Refresh Request" (LRR), which is designed to
allow a receiver of a layered media stream to request that one or allow a receiver of a layered media stream to request that one or
more of its substreams be refreshed such that it can then be decoded more of its substreams be refreshed. The stream can then be decoded
by an endpoint that previously was not receiving those layers, by an endpoint that previously was not receiving those layers,
without requiring that the entire stream be refreshed (as it would be without requiring that the entire stream be refreshed (as it would be
if the receiver sent a Full Intra Request (FIR) [RFC5104]; see also if the receiver sent a Full Intra Request (FIR) [RFC5104]; see also
[RFC8082]). [RFC8082]).
The feedback message is applicable to both temporally and spatially The feedback message is applicable to both temporally and spatially
scaled streams and to both single-stream and multi-stream scalability scaled streams and to both single-stream and multi-stream scalability
modes. modes.
2. Conventions and Terminology 2. Conventions and Terminology
skipping to change at line 126 skipping to change at line 128
The spatial layer refresh of an enhancement layer is shown below. The spatial layer refresh of an enhancement layer is shown below.
The "<--" indicates a coding dependency. The "<--" indicates a coding dependency.
... <-- S1 <-- S1 S1 <-- S1 <-- ... ... <-- S1 <-- S1 S1 <-- S1 <-- ...
| | | | | | | |
\/ \/ \/ \/ \/ \/ \/ \/
... <-- S0 <-- S0 <-- S0 <-- S0 <-- ... ... <-- S0 <-- S0 <-- S0 <-- S0 <-- ...
1 2 3 4 1 2 3 4
Figure 1 Figure 1: Refresh of a Spatial Enhancement Layer
In Figure 1, frame 3 is a layer refresh point for spatial layer S1; a In Figure 1, frame 3 is a layer refresh point for spatial layer S1; a
decoder that had previously only been decoding spatial layer S0 would decoder that had previously only been decoding spatial layer S0 would
be able to decode layer S1 starting at frame 3. be able to decode layer S1 starting at frame 3.
The spatial layer refresh of a base layer is shown below. The "<--" The spatial layer refresh of a base layer is shown below. The "<--"
indicates a coding dependency. indicates a coding dependency.
... <-- S1 <-- S1 <-- S1 <-- S1 <-- ... ... <-- S1 <-- S1 <-- S1 <-- S1 <-- ...
| | | | | | | |
\/ \/ \/ \/ \/ \/ \/ \/
... <-- S0 <-- S0 S0 <-- S0 <-- ... ... <-- S0 <-- S0 S0 <-- S0 <-- ...
1 2 3 4 1 2 3 4
Figure 2 Figure 2: Refresh of a Spatial Base Layer
In Figure 2, frame 3 is a layer refresh point for spatial layer S0; a In Figure 2, frame 3 is a layer refresh point for spatial layer S0; a
decoder that had previously not been decoding the stream at all could decoder that had previously not been decoding the stream at all could
decode layer S0 starting at frame 3. decode layer S0 starting at frame 3.
For temporal layers, while normal encoding allows frames to depend on For temporal layers, while normal encoding allows frames to depend on
earlier frames of the same temporal layer, layer refresh requires earlier frames of the same temporal layer, layer refresh requires
that the layer be "temporally nested", i.e., use as reference only that the layer be "temporally nested", i.e., use as reference only
earlier frames of a lower temporal layer, not any earlier frames of earlier frames of a lower temporal layer, not any earlier frames of
this temporal layer and promise that no future frames of this this temporal layer and promise that no future frames of this
skipping to change at line 168 skipping to change at line 170
The temporal layer refresh is shown below. The "<--" indicates a The temporal layer refresh is shown below. The "<--" indicates a
coding dependency. coding dependency.
... <----- T1 <------ T1 T1 <------ ... ... <----- T1 <------ T1 T1 <------ ...
/ / / / / /
|_ |_ |_ |_ |_ |_
... <-- T0 <------ T0 <------ T0 <------ T0 <--- ... ... <-- T0 <------ T0 <------ T0 <------ T0 <--- ...
1 2 3 4 5 6 7 1 2 3 4 5 6 7
Figure 3 Figure 3: Refresh of a Temporal Layer
In Figure 3, frame 6 is a layer refresh point for temporal layer T1; In Figure 3, frame 6 is a layer refresh point for temporal layer T1;
a decoder that had previously only been decoding temporal layer T0 a decoder that had previously only been decoding temporal layer T0
would be able to decode layer T1 starting at frame 6. would be able to decode layer T1 starting at frame 6.
An inherently temporally nested stream is shown below. The "<--" An inherently temporally nested stream is shown below. The "<--"
indicates a coding dependency. indicates a coding dependency.
T1 T1 T1 T1 T1 T1
/ / / / / /
|_ |_ |_ |_ |_ |_
... <-- T0 <------ T0 <------ T0 <------ T0 <--- ... ... <-- T0 <------ T0 <------ T0 <------ T0 <--- ...
1 2 3 4 5 6 7 1 2 3 4 5 6 7
Figure 4 Figure 4: An Inherently Temporally-Nested Stream
In Figure 4, the stream is temporally nested in its ordinary In Figure 4, the stream is temporally nested in its ordinary
structure; a decoder receiving layer T0 can begin decoding layer T1 structure; a decoder receiving layer T0 can begin decoding layer T1
at any point. at any point.
A "layer index" is a numeric label for a specific spatial and A "layer index" is a numeric label for a specific spatial and
temporal layer of a scalable stream. It consists of both a "temporal temporal layer of a scalable stream. It consists of both a "temporal
ID" identifying the temporal layer and a "layer ID" identifying the ID" identifying the temporal layer and a "layer ID" identifying the
spatial or quality layer. The details of how layers of a scalable spatial or quality layer. The details of how layers of a scalable
stream are labeled are codec specific. Details for several codecs stream are labeled are codec specific. Details for several codecs
skipping to change at line 236 skipping to change at line 238
0 1 2 3 0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SSRC | | SSRC |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Seq nr. |C| Payload Type| Reserved | | Seq nr. |C| Payload Type| Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| RES | TTID| TLID | RES | CTID| CLID | | RES | TTID| TLID | RES | CTID| CLID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 5 Figure 5: Layer Refresh Request FCI Format
Synchronization Source (SSRC) (32 bits): Synchronization Source (SSRC) (32 bits):
The SSRC value of the media sender that is requested to send a The SSRC value of the media sender that is requested to send a
layer refresh point. layer refresh point.
Seq nr. (8 bits): Seq nr. (8 bits):
The command sequence number. The sequence number space is unique The command sequence number. The sequence number space is unique
for each pairing of the SSRC of command source and the SSRC of the for each pairing of the SSRC of command source and the SSRC of the
command target. The sequence number SHALL be increased by 1 for command target. The sequence number SHALL be increased by 1 for
each new command (modulo 256, so the value after 255 is 0). A each new command (modulo 256, so the value after 255 is 0). A
skipping to change at line 292 skipping to change at line 294
If C is 1, the layer ID of the current spatial or quality layer If C is 1, the layer ID of the current spatial or quality layer
being decoded by the receiver. This message is not requesting being decoded by the receiver. This message is not requesting
refresh of layers at or below this layer. If C is 0, this field refresh of layers at or below this layer. If C is 0, this field
SHALL be set to 0 by the sender and SHALL be ignored on reception. SHALL be set to 0 by the sender and SHALL be ignored on reception.
When C is 1, TTID MUST NOT be less than CTID, and TLID MUST NOT be When C is 1, TTID MUST NOT be less than CTID, and TLID MUST NOT be
less than CLID; at least one of either TTID or TLID MUST be greater less than CLID; at least one of either TTID or TLID MUST be greater
than CTID or CLID, respectively. That is to say, the target layer than CTID or CLID, respectively. That is to say, the target layer
index <TTID, TLID> MUST be a layer upgrade from the current layer index <TTID, TLID> MUST be a layer upgrade from the current layer
index <CTID, CLID>. A sender MAY request an upgrade in both temporal index <CTID, CLID>. A sender MAY request an upgrade in both temporal
and spatial/quality layers simultaneously. and spatial or quality layers simultaneously.
A receiver receiving an LRR feedback packet that does not satisfy the A receiver receiving an LRR feedback packet that does not satisfy the
requirements of the previous paragraph, i.e., one where the C bit is requirements of the previous paragraph, i.e., one where the C bit is
present but the TTID is less than the CTID or the TLID is less than present but the TTID is less than the CTID or the TLID is less than
the CLID, MUST discard the request. the CLID, MUST discard the request.
Note: the syntax of the TTID, TLID, CTID, and CLID fields match, by | Note: The syntax of the TTID, TLID, CTID, and CLID fields
design, the TID and LID fields in [RFC9626]. | match, by design, the TID and LID fields in [RFC9626].
3.2. Semantics 3.2. Semantics
Within the common packet header for feedback messages (as defined in Within the common packet header for feedback messages (as defined in
Section 6.1 of [RFC4585]), the "SSRC of packet sender" field Section 6.1 of [RFC4585]), the "SSRC of packet sender" field
indicates the source of the request, and the "SSRC of media source" indicates the source of the request, and the "SSRC of media source"
is not used and SHALL be set to 0. The SSRCs of the media senders to is not used and SHALL be set to 0. The SSRCs of the media senders to
which the LRR command applies are in the corresponding FCI entries. which the LRR command applies are in the corresponding FCI entries.
An LRR message MAY contain requests to multiple media senders, using An LRR message MAY contain requests to multiple media senders, using
one FCI entry per target media sender. one FCI entry per target media sender.
skipping to change at line 336 skipping to change at line 338
previously had been discarding. previously had been discarding.
4. Usage with Specific Codecs 4. Usage with Specific Codecs
In order for an LRR to be used with a scalable codec, the format of In order for an LRR to be used with a scalable codec, the format of
the temporal and layer ID fields (for both the target and current the temporal and layer ID fields (for both the target and current
layer indices) needs to be specified for that codec's RTP layer indices) needs to be specified for that codec's RTP
packetization. New RTP packetization specifications for scalable packetization. New RTP packetization specifications for scalable
codecs SHOULD define how this is done. (The VP9 payload [RFC9628], codecs SHOULD define how this is done. (The VP9 payload [RFC9628],
for instance, has done so.) If the payload also specifies how it is for instance, has done so.) If the payload also specifies how it is
used with the Frame Marking RTP Header Extension [RFC9626], the used with the Video Frame Marking RTP Header Extension described in
syntax MUST be defined in the same manner as the TID and LID fields [RFC9626], the syntax MUST be defined in the same manner as the TID
in that header. and LID fields in that header.
4.1. H264 SVC 4.1. H264 SVC
H.264 SVC [RFC6190] defines temporal, dependency (spatial), and H.264 SVC [RFC6190] defines temporal, dependency (spatial), and
quality scalability modes. quality scalability modes.
+---------------+---------------+ +---------------+---------------+
|0|1|2|3|4|5|6|7|0|1|2|3|4|5|6|7| |0|1|2|3|4|5|6|7|0|1|2|3|4|5|6|7|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| RES | TID |R| DID | QID | | RES | TID |R| DID | QID |
+---------------+---------------+ +---------------+---------------+
Figure 6 Figure 6: H.264 SVC Layer Index Fields Format
Figure 6 shows the format of the layer index fields for H.264 SVC Figure 6 shows the format of the layer index fields for H.264 SVC
streams. The "R" and "RES" fields MUST be set to 0 on transmission streams. The "R" and "RES" fields MUST be set to 0 on transmission
and ignored on reception. See Section 1.1.3 of [RFC6190] for details and ignored on reception. See Section 1.1.3 of [RFC6190] for details
on the dependency_id (DID), quality_id (QID), and temporal_id (TID) on the dependency_id (DID), quality_id (QID), and temporal_id (TID)
fields. fields.
A dependency or quality layer refresh of a given layer in H.264 SVC A dependency or quality layer refresh of a given layer in H.264 SVC
can be identified by the "I" bit (idr_flag) in the extended Network can be identified by the "I" bit (idr_flag) in the extended Network
Abstraction Layer (NAL) unit header, present in NAL unit types 14 Abstraction Layer (NAL) unit header, present in NAL unit types 14
skipping to change at line 411 skipping to change at line 413
The VP8 RTP payload format [RFC7741] defines temporal scalability The VP8 RTP payload format [RFC7741] defines temporal scalability
modes. It does not support spatial scalability. modes. It does not support spatial scalability.
+---------------+---------------+ +---------------+---------------+
|0|1|2|3|4|5|6|7|0|1|2|3|4|5|6|7| |0|1|2|3|4|5|6|7|0|1|2|3|4|5|6|7|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| RES | TID | RES | | RES | TID | RES |
+---------------+---------------+ +---------------+---------------+
Figure 7 Figure 7: VP8 Layer Index Field Format
Figure 7 shows the format of the layer index field for VP8 streams. Figure 7 shows the format of the layer index field for VP8 streams.
The "RES" fields MUST be set to 0 on transmission and be ignored on The "RES" fields MUST be set to 0 on transmission and be ignored on
reception. See Section 4.2 of [RFC7741] for details on the TID reception. See Section 4.2 of [RFC7741] for details on the TID
field. field.
A VP8 layer refresh point can be identified by the presence of the A VP8 layer refresh point can be identified by the presence of the
"Y" bit in the VP8 payload header. When this bit is set, this and "Y" bit in the VP8 payload header. When this bit is set, this and
all subsequent frames depend only on the current base temporal layer. all subsequent frames depend only on the current base temporal layer.
On receipt of an LRR for a VP8 stream, a sender that supports LRRs On receipt of an LRR for a VP8 stream, a sender that supports LRRs
skipping to change at line 445 skipping to change at line 447
temporal scalability, with protocol elements reserved for spatial or temporal scalability, with protocol elements reserved for spatial or
other scalability modes (which are expected to be defined in a future other scalability modes (which are expected to be defined in a future
version of the specification). version of the specification).
+---------------+---------------+ +---------------+---------------+
|0|1|2|3|4|5|6|7|0|1|2|3|4|5|6|7| |0|1|2|3|4|5|6|7|0|1|2|3|4|5|6|7|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| RES | TID |RES| LayerId | | RES | TID |RES| LayerId |
+---------------+---------------+ +---------------+---------------+
Figure 8 Figure 8: H.265 Layer Index Fields Format
Figure 8 shows the format of the layer index field for H.265 streams. Figure 8 shows the format of the layer index field for H.265 streams.
The "RES" fields MUST be set to 0 on transmission and ignored on The "RES" fields MUST be set to 0 on transmission and ignored on
reception. See Section 1.1.4 of [RFC7798] for details on the LayerId reception. See Section 1.1.4 of [RFC7798] for details on the LayerId
and TID fields. and TID fields.
H.265 streams signal whether they are temporally nested by using the H.265 streams signal whether they are temporally nested by using the
vps_temporal_id_nesting_flag in the Video Parameter Set (VPS) and the vps_temporal_id_nesting_flag in the Video Parameter Set (VPS) and the
sps_temporal_id_nesting_flag in the Sequence Parameter Set (SPS). If sps_temporal_id_nesting_flag in the Sequence Parameter Set (SPS). If
this flag is set in a stream's currently applicable VPS or SPS, this flag is set in a stream's currently applicable VPS or SPS,
skipping to change at line 488 skipping to change at line 490
spatial layer refresh of a specific layer can be identified by NAL spatial layer refresh of a specific layer can be identified by NAL
units with the requested layer ID and NAL unit types between 16 and units with the requested layer ID and NAL unit types between 16 and
21, inclusive. A dependency or quality layer refresh is complete 21, inclusive. A dependency or quality layer refresh is complete
once NAL units of this type have been seen on all the appropriate once NAL units of this type have been seen on all the appropriate
layers (in decoding order) above the current layer index (if any, or layers (in decoding order) above the current layer index (if any, or
beginning from the base layer if not) through the target layer index. beginning from the base layer if not) through the target layer index.
5. Usage with Different Scalability Transmission Mechanisms 5. Usage with Different Scalability Transmission Mechanisms
Several different mechanisms are defined for how scalable streams can Several different mechanisms are defined for how scalable streams can
be transmitted in RTP. The RTP Taxonomy (Section 3.7 of [RFC7656]) be transmitted in RTP. Section 3.7 of "A Taxonomy of Semantics and
Mechanisms for Real-Time Transport Protocol (RTP) Sources" [RFC7656]
defines three mechanisms: Single RTP stream on a Single media defines three mechanisms: Single RTP stream on a Single media
Transport (SRST), Multiple RTP streams on a Single media Transport Transport (SRST), Multiple RTP streams on a Single media Transport
(MRST), and Multiple RTP streams on Multiple media Transports (MRMT). (MRST), and Multiple RTP streams on Multiple media Transports (MRMT).
The LRR message is applicable to all these mechanisms. For MRST and The LRR message is applicable to all these mechanisms. For MRST and
MRMT mechanisms, the "media source" field of the LRR FCI is set to MRMT mechanisms, the "media source" field of the LRR FCI is set to
the SSRC of the RTP stream containing the layer indicated by the the SSRC of the RTP stream containing the layer indicated by the
Current Layer Index (if "C" is 1) or the stream containing the base Current Layer Index (if "C" is 1) or the stream containing the base
encoded stream (if "C" is 0). For MRMT, it is sent on the RTP encoded stream (if "C" is 0). For MRMT, the LRR message is sent on
session on which this stream is sent. On receipt, the sender MUST the RTP session on which this stream is sent. On receipt, the sender
refresh all the layers requested in the stream, simultaneously in MUST refresh all the layers requested in the stream, simultaneously
decode order. in decode order.
6. SDP Definitions 6. SDP Definitions
Section 7 of [RFC5104] defines Session Description Protocol (SDP) Section 7 of [RFC5104] defines Session Description Protocol (SDP)
procedures for indicating and negotiating support for Codec Control procedures for indicating and negotiating support for Codec Control
Messages (CCM) in SDP. This document extends this with a new codec Messages (CCM) in SDP. This document extends this with a new codec
control command, "lrr", which indicates support of the LRR. control command, "lrr", which indicates support of the LRR.
Figure 9 gives a formal Augmented Backus-Naur Form (ABNF) [RFC5234] Figure 9 gives a formal Augmented Backus-Naur Form (ABNF) [RFC5234]
showing this grammar extension, extending the grammar defined in showing this grammar extension, extending the grammar defined in
skipping to change at line 625 skipping to change at line 628
<https://www.rfc-editor.org/info/rfc8082>. <https://www.rfc-editor.org/info/rfc8082>.
[RFC9628] Lennox, J., Hong, D., Uberti, J., Holmer, S., and M. [RFC9628] Lennox, J., Hong, D., Uberti, J., Holmer, S., and M.
Flodman, "The Layer Refresh Request (LRR) RTCP Feedback Flodman, "The Layer Refresh Request (LRR) RTCP Feedback
Message", RFC 9628, DOI 10.17487/RFC9628, August 2024, Message", RFC 9628, DOI 10.17487/RFC9628, August 2024,
<https://www.rfc-editor.org/info/rfc9628>. <https://www.rfc-editor.org/info/rfc9628>.
Authors' Addresses Authors' Addresses
Jonathan Lennox Jonathan Lennox
Vidyo, Inc. 8x8, Inc. / Jitsi
433 Hackensack Avenue Jersey City, NJ 07302
Seventh Floor
Hackensack, NJ 07601
United States of America United States of America
Email: jonathan@vidyo.com Email: jonathan.lennox@8x8.com
Danny Hong Danny Hong
Vidyo, Inc. Vidyo, Inc.
433 Hackensack Avenue 433 Hackensack Avenue
Seventh Floor Seventh Floor
Hackensack, NJ 07601 Hackensack, NJ 07601
United States of America United States of America
Email: danny@vidyo.com Email: danny@vidyo.com
Justin Uberti Justin Uberti
 End of changes. 21 change blocks. 
33 lines changed or deleted 34 lines changed or added

This html diff was produced by rfcdiff 1.48.