rfc8817.original | rfc8817.txt | |||
---|---|---|---|---|
Payload Working Group Victor Demjanenko | Internet Engineering Task Force (IETF) V. Demjanenko | |||
Internet-Draft John Punaro | Request for Comments: 8817 J. Punaro | |||
Intended Status: Standards Track David Satterlee | Category: Standards Track D. Satterlee | |||
VOCAL Technologies, Ltd. | ISSN: 2070-1721 VOCAL Technologies, Ltd. | |||
Expires: October 8, 2020 April 10, 2020 | August 2020 | |||
RTP Payload Format for TSVCIS Codec | RTP Payload Format for Tactical Secure Voice Cryptographic | |||
draft-ietf-payload-tsvcis-05 | Interoperability Specification (TSVCIS) Codec | |||
Abstract | ||||
This document describes the RTP payload format for the Tactical | ||||
Secure Voice Cryptographic Interoperability Specification (TSVCIS) | ||||
speech coder. TSVCIS is a scalable narrowband voice coder supporting | ||||
varying encoder data rates and fallbacks. It is implemented as an | ||||
augmentation to the Mixed Excitation Linear Prediction Enhanced | ||||
(MELPe) speech coder by conveying additional speech coder parameters | ||||
to enhance voice quality. TSVCIS augmented speech data is processed | ||||
in conjunction with its temporally matched Mixed Excitation Linear | ||||
Prediction (MELP) 2400 speech data. The RTP packetization of TSVCIS | ||||
and MELPe speech coder data is described in detail. | ||||
Status of This Memo | Status of This Memo | |||
Copyright (c) 2019 IETF Trust and the persons identified as the | This is an Internet Standards Track document. | |||
document authors. All rights reserved. | ||||
This Internet-Draft is submitted in full conformance with the | This document is a product of the Internet Engineering Task Force | |||
provisions of BCP 78 and BCP 79. | (IETF). It represents the consensus of the IETF community. It has | |||
received public review and has been approved for publication by the | ||||
Internet Engineering Steering Group (IESG). Further information on | ||||
Internet Standards is available in Section 2 of RFC 7841. | ||||
Information about the current status of this document, any errata, | ||||
and how to provide feedback on it may be obtained at | ||||
https://www.rfc-editor.org/info/rfc8817. | ||||
Copyright Notice | ||||
Copyright (c) 2020 IETF Trust and the persons identified as the | ||||
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 | |||
(http://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 Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
described in the Simplified BSD License. | described in the Simplified BSD License. | |||
Internet-Drafts are working documents of the Internet Engineering | ||||
Task Force (IETF). Note that other groups may also distribute | ||||
working documents as Internet-Drafts. The list of current Internet- | ||||
Drafts is at http://datatracker.ietf.org/drafts/current/. | ||||
Internet-Drafts are draft documents valid for a maximum of six months | ||||
and may be updated, replaced, or obsoleted by other documents at any | ||||
time. It is inappropriate to use Internet-Drafts as reference | ||||
material or to cite them other than as "work in progress." | ||||
Abstract | ||||
This document describes the RTP payload format for the Tactical | ||||
Secure Voice Cryptographic Interoperability Specification (TSVCIS) | ||||
speech coder. TSVCIS is a scalable narrowband voice coder supporting | ||||
varying encoder data rates and fallbacks. It is implemented as an | ||||
augmentation to the Mixed Excitation Linear Prediction Enhanced | ||||
(MELPe) speech coder by conveying additional speech coder parameters | ||||
for enhancing voice quality. TSVCIS augmented speech data is | ||||
processed in conjunction with its temporal matched MELP 2400 speech | ||||
data. The RTP packetization of TSVCIS and MELPe speech coder data is | ||||
described in detail. | ||||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction | |||
1.1. Conventions . . . . . . . . . . . . . . . . . . . . . . . 3 | 1.1. Conventions | |||
2. Background . . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1.2. Abbreviations | |||
3. Payload Format . . . . . . . . . . . . . . . . . . . . . . . . 4 | 2. Background | |||
3.1. MELPe Bitstream Definitions . . . . . . . . . . . . . . . 5 | 3. Payload Format | |||
3.1.1. 2400 bps Bitstream Structure . . . . . . . . . . . . . 6 | 3.1. MELPe Bitstream Definitions | |||
3.1.2. 1200 bps Bitstream Structure . . . . . . . . . . . . . 6 | 3.1.1. 2400 bps Bitstream Structure | |||
3.1.3. 600 bps Bitstream Structure . . . . . . . . . . . . . 7 | 3.1.2. 1200 bps Bitstream Structure | |||
3.1.4. Comfort Noise Bitstream Definition . . . . . . . . . . 8 | 3.1.3. 600 bps Bitstream Structure | |||
3.2. TSVCIS Bitstream Definition . . . . . . . . . . . . . . . 8 | 3.1.4. Comfort Noise Bitstream Definition | |||
3.3. Multiple TSVCIS Frames in an RTP Packet . . . . . . . . . 10 | 3.2. TSVCIS Bitstream Definition | |||
3.4. Congestion Control Considerations . . . . . . . . . . . . 11 | 3.3. Multiple TSVCIS Frames in an RTP Packet | |||
4. Payload Format Parameters . . . . . . . . . . . . . . . . . . 11 | 3.4. Congestion Control Considerations | |||
4.1. Media Type Definitions . . . . . . . . . . . . . . . . . . 11 | 4. Payload Format Parameters | |||
4.2. Mapping to SDP . . . . . . . . . . . . . . . . . . . . . . 13 | 4.1. Media Type Definitions | |||
4.3. Declarative SDP Considerations . . . . . . . . . . . . . . 15 | 4.2. Mapping to SDP | |||
4.4. Offer/Answer SDP Considerations . . . . . . . . . . . . . 15 | 4.3. Declarative SDP Considerations | |||
5. Discontinuous Transmissions . . . . . . . . . . . . . . . . . 16 | 4.4. Offer/Answer SDP Considerations | |||
6. Packet Loss Concealment . . . . . . . . . . . . . . . . . . . 16 | 5. Discontinuous Transmissions | |||
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16 | 6. Packet Loss Concealment | |||
8. Security Considerations . . . . . . . . . . . . . . . . . . . 16 | 7. IANA Considerations | |||
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 17 | 8. Security Considerations | |||
10.1. Normative References . . . . . . . . . . . . . . . . . . 17 | 9. References | |||
10.2. Informative References . . . . . . . . . . . . . . . . . 19 | 9.1. Normative References | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 19 | 9.2. Informative References | |||
Authors' Addresses | ||||
1. Introduction | 1. Introduction | |||
This document describes how compressed Tactical Secure Voice | This document describes how compressed Tactical Secure Voice | |||
Cryptographic Interoperability Specification (TSVCIS) speech as | Cryptographic Interoperability Specification (TSVCIS) speech as | |||
produced by the TSVCIS codec [TSVCIS] [NRLVDR] may be formatted for | produced by the TSVCIS codec [TSVCIS] [NRLVDR] may be formatted for | |||
use as an RTP payload. The TSVCIS speech coder (or TSVCIS speech | use as an RTP payload. The TSVCIS speech coder (or TSVCIS speech- | |||
aware communications equipment on any intervening transport link) may | aware communications equipment on any intervening transport link) may | |||
adjust to restricted bandwidth conditions by reducing the amount of | adjust to restricted bandwidth conditions by reducing the amount of | |||
augmented speech data and relying on the underlying MELPe speech | augmented speech data and relying on the underlying MELPe speech | |||
coder for the most constrained bandwidth links. | coder for the most constrained bandwidth links. | |||
Details are provided for packetizing the TSVCIS augmented speech data | Details are provided for packetizing the TSVCIS augmented speech data | |||
along with MELPe 2400 bps speech parameters in a RTP packet. The | along with MELPe 2400 bps speech parameters in an RTP packet. The | |||
sender may send one or more codec data frames per packet, depending | sender may send one or more codec data frames per packet, depending | |||
on the application scenario or based on transport network conditions, | on the application scenario or based on transport network conditions, | |||
bandwidth restrictions, delay requirements, and packet loss | bandwidth restrictions, delay requirements, and packet loss | |||
tolerance. | tolerance. | |||
1.1. Conventions | 1.1. Conventions | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
"OPTIONAL" in this document are to be interpreted as described in | "OPTIONAL" in this document are to be interpreted as described in | |||
BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all | BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all | |||
capitals, as shown here. | capitals, as shown here. | |||
Best current practices for writing an RTP payload format | Best current practices for writing an RTP payload format | |||
specification were followed [RFC2736] [RFC8088]. | specification were followed [RFC2736] [RFC8088]. | |||
1.2. Abbreviations | ||||
The following abbreviations are used in this document. | ||||
AVP: Audio/Video Profile | ||||
AVPF: Audio/Video Profile Feedback | ||||
CELP: Code-Excited Linear Prediction | ||||
FEC: Forward Error Correction | ||||
LPC: Linear-Predictive Coding | ||||
LSB: Least Significant Bit | ||||
MELP: Mixed Excitation Linear Prediction | ||||
MELPe: Mixed Excitation Linear Prediction Enhanced | ||||
MSB: Most Significant Bit | ||||
MTC: Modified Count | ||||
NATO: North American Treaty Organization | ||||
NRL: Naval Research Lab | ||||
PLC: Packet Loss Concealment | ||||
SAVP: Secure Audio/Video Profile | ||||
SAVPF: Secure Audio/Video Profile Feedback | ||||
SDP: Session Description Protocol | ||||
SSRC: Synchronization Source | ||||
SRTP: Secure Real-Time Transport Protocol | ||||
TSVCIS: Tactical Secure Voice Cryptographic Interoperability | ||||
Specification | ||||
VAD: Voice Activity Detect | ||||
VDR: Variable Date Rate | ||||
2. Background | 2. Background | |||
The MELP speech coder was developed by the US military as an upgrade | The MELP speech coder was developed by the US military as an upgrade | |||
from the LPC-based CELP standard vocoder for low-bitrate | from the LPC-based CELP standard vocoder for low-bitrate | |||
communications [MELP]. ("LPC" stands for "Linear-Predictive Coding", | communications [MELP]. ("LPC" stands for "Linear-Predictive Coding", | |||
and "CELP" stands for "Code-Excited Linear Prediction".) MELP was | and "CELP" stands for "Code-Excited Linear Prediction".) MELP was | |||
further enhanced and subsequently adopted by NATO as MELPe for use by | further enhanced and subsequently adopted by NATO as "MELPe" for use | |||
its members and Partnership for Peace countries for military and | by its members and Partnership for Peace countries for military and | |||
other governmental communications as international NATO Standard | other governmental communications as international NATO Standard | |||
STANAG 4591 [MELPE]. | STANAG 4591 [MELPE]. | |||
The Tactical Secure Voice Cryptographic Interoperability | The Tactical Secure Voice Cryptographic Interoperability | |||
Specification (TSVCIS) is a specification written by the Tactical | Specification (TSVCIS) is a specification written by the Tactical | |||
Secure Voice Working Group (TSVWG) for enabling all modern tactical | Secure Voice Working Group (TSVWG) to enable all modern tactical | |||
secure voice devices to be interoperable across the Department of | secure voice devices to be interoperable across the US Department of | |||
Defense [TSVCIS]. One of the most important aspects is that the | Defense [TSVCIS]. One of the most important aspects is that the | |||
voice modes defined in TSVCIS are based on specific fixed rates of | voice modes defined in TSVCIS are based on specific fixed rates of | |||
Naval Research Lab's (NRL's) Variable Date Rate (VDR) Vocoder which | the Naval Research Lab's (NRL's) Variable Date Rate (VDR) Vocoder, | |||
uses the MELPe standard as its base [NRLVDR]. A complete TSVCIS | which uses the MELPe standard as its base [NRLVDR]. A complete | |||
speech frame consists of MELPe speech parameters and corresponding | TSVCIS speech frame consists of MELPe speech parameters and | |||
TSVCIS augmented speech data. | corresponding TSVCIS augmented speech data. | |||
In addition to the augmented speech data, the TSVCIS specification | In addition to the augmented speech data, the TSVCIS specification | |||
identifies which speech coder and framing bits are to be encrypted, | identifies which speech coder and framing bits are to be encrypted | |||
and how they are protected by forward error correction (FEC) | and how they are protected by forward error correction (FEC) | |||
techniques (using block codes). At the RTP transport layer, only the | techniques (using block codes). At the RTP transport layer, only the | |||
speech-coder-related bits need to be considered and are conveyed in | speech coder-related bits need to be considered and are conveyed in | |||
unencrypted form. In most IP-based network deployments, standard | unencrypted form. In most IP-based network deployments, standard | |||
link encryption methods (SRTP, VPNs, FIPS 140 link encryptors or Type | link encryption methods (Secure Real-Time Transport Protocol (SRTP), | |||
1 Ethernet encryptors) would be used to secure the RTP speech | VPNs, FIPS 140 link encryptors, or Type 1 Ethernet encryptors) would | |||
contents. | be used to secure the RTP speech contents. | |||
TSVCIS augmented speech data is derived from the signal processing | TSVCIS augmented speech data is derived from the signal processing | |||
and data already performed by the MELPe speech coder. For the | and data generated by the MELPe speech coder. For the purposes of | |||
purposes of this specification, only the general parameter nature of | this specification, only the general parameter nature of TSVCIS will | |||
TSVCIS will be characterized. Depending on the bandwidth available | be characterized. Depending on the bandwidth available (and FEC | |||
(and FEC requirements), a varying number of TSVCIS-specific speech | requirements), a varying number of TSVCIS-specific speech coder | |||
coder parameters need to be transported. These are first byte-packed | parameters need to be transported. These are first byte-packed and | |||
and then conveyed from encoder to decoder. | then conveyed from encoder to decoder. | |||
Byte packing of TSVCIS speech data into packed parameters is | Byte packing of TSVCIS speech data into packed parameters is | |||
processed as per the following example: | processed as per the following example, where | |||
Three-bit field: bits A, B, and C (A is MSB, C is LSB) | Three-bit field: Bits A, B, and C (A is MSB; C is LSB) | |||
Five-bit field: bits D, E, F, G, and H (D is MSB, H is LSB) | ||||
Five-bit field: Bits D, E, F, G, and H (D is MSB; H is LSB) | ||||
MSB LSB | MSB LSB | |||
0 1 2 3 4 5 6 7 | 0 1 2 3 4 5 6 7 | |||
+------+------+------+------+------+------+------+------+ | +------+------+------+------+------+------+------+------+ | |||
| H | G | F | E | D | C | B | A | | | H | G | F | E | D | C | B | A | | |||
+------+------+------+------+------+------+------+------+ | +------+------+------+------+------+------+------+------+ | |||
This packing method places the three-bit field "first" in the lowest | This packing method places the three-bit field "first" in the lowest | |||
bits followed by the next five-bit field. Parameters may be split | bits followed by the next five-bit field. Parameters may be split | |||
between octets with the most significant bits in the earlier octet. | between octets with the most significant bits in the earlier octet. | |||
Any unfilled bits in the last octet MUST be filled with zero. | Any unfilled bits in the last octet MUST be filled with zero. | |||
In order to accommodate a varying amount of TSVCIS augmented speech | In order to accommodate a varying amount of TSVCIS augmented speech | |||
data, an octet count specifies the number of octets representing | data, an octet count specifies the number of octets representing the | |||
the packed TSVCIS parameters. The encoding to do so is presented in | TSVCIS packed parameters. The encoding to do so is presented in | |||
Section 3.2. TSVCIS specifically uses the NRL VDR in two | Section 3.2. TSVCIS specifically uses the NRL VDR in two | |||
configurations using a fixed set of 15 and 35 packed octet | configurations with a fixed set of 15 and 35 packed octet parameters | |||
parameters in a standardized order [TSVCIS]. | in a standardized order [TSVCIS]. | |||
3. Payload Format | 3. Payload Format | |||
The TSVCIS codec augments the standard MELP 2400, 1200 and 600 | The TSVCIS codec augments the standard MELP 2400, 1200, and 600 | |||
bitrates and hence uses 22.5, 67.5, or 90 ms frames with a sampling | bitrates and hence uses 22.5, 67.5, or 90 ms frames with a sampling | |||
rate clock of 8 kHz, so the RTP timestamp MUST be in units of 1/8000 | rate clock of 8 kHz, so the RTP timestamp MUST be in units of 1/8000 | |||
of a second. | of a second. | |||
The RTP payload for TSVCIS has the format shown in Figure 1. No | The RTP payload for TSVCIS has the format shown in Figure 1. No | |||
additional header specific to this payload format is needed. This | additional header specific to this payload format is needed. This | |||
format is intended for situations where the sender and the receiver | format is intended for situations where the sender and the receiver | |||
send one or more codec data frames per packet. | send one or more codec data frames per packet. | |||
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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| RTP Header | | | RTP Header | | |||
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ | +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ | |||
| | | | | | |||
+ one or more frames of TSVCIS | | + one or more frames of TSVCIS | | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Figure 1: Packet Format Diagram | Figure 1: Packet Format Diagram | |||
The RTP header of the packetized encoded TSVCIS speech has the | The RTP header of the packetized encoded TSVCIS speech has the | |||
expected values as described in [RFC3550]. The usage of the M bit | expected values as described in [RFC3550]. The usage of the M bit | |||
SHOULD be as specified in the applicable RTP profile -- for example, | SHOULD be as specified in the applicable RTP profile -- for example, | |||
[RFC3551], where [RFC3551] specifies that if the sender does not | [RFC3551] specifies that if the sender does not suppress silence | |||
suppress silence (i.e., sends a frame on every frame interval), the | (i.e., sends a frame on every frame interval), the M bit will always | |||
M bit will always be zero. When more than one codec data frame is | be zero. When more than one codec data frame is present in a single | |||
present in a single RTP packet, the timestamp specified is that of | RTP packet, the timestamp specified is that of the oldest data frame | |||
the oldest data frame represented in the RTP packet. | represented in the RTP packet. | |||
The assignment of an RTP payload type for this new packet format is | The assignment of an RTP payload type for this new packet format is | |||
outside the scope of this document and will not be specified here. It | outside the scope of this document and will not be specified here. | |||
is expected that the RTP profile for a particular class of | It is expected that the RTP profile for a particular class of | |||
applications will assign a payload type for this encoding, or if that | applications will assign a payload type for this encoding; if that is | |||
is not done, then a payload type in the dynamic range shall be chosen | not done, then a payload type in the dynamic range shall be chosen by | |||
by the sender. | the sender. | |||
3.1. MELPe Bitstream Definitions | 3.1. MELPe Bitstream Definitions | |||
The TCVCIS speech coder includes all three MELPe coder rates used as | The TSVCIS speech coder includes all three MELPe coder rates used as | |||
base speech parameters or as speech coders for bandwidth restricted | base speech parameters or as speech coders for bandwidth-restricted | |||
links. RTP packetization of MELPe follows RFC 8130 and is repeated | links. RTP packetization of MELPe follows [RFC8130] and is repeated | |||
here for all three MELPe rates [RFC8130] with its recommendations now | here for all three MELPe rates [RFC8130], with its recommendations | |||
regarded as requirements. The bits previously labeled as RSVA, RSVB, | now regarded as requirements. The bits previously labeled as RSVA, | |||
and RSVC in RFC 8130 SHOULD be filled with rate coding, CODA, CODB, | RSVB, and RSVC in [RFC8130] SHOULD be filled with rate code bits | |||
and CODC, as shown in Table 1 (compatible with Table 7 in Section 3.3 | CODA, CODB, and CODC, as shown in Table 1 (compatible with Table 7 in | |||
of [RFC8130]). | Section 3.3 of [RFC8130]). | |||
+-------------------+------+------+------+------+ | +===============+======+======+======+========+ | |||
| Coder Bitrate | CODA | CODB | CODC |Length| | | Coder Bitrate | CODA | CODB | CODC | Length | | |||
+-------------------+------+------+------+------+ | +===============+======+======+======+========+ | |||
| 2400 bps | 0 | 0 | N/A | 7 | | | 2400 bps | 0 | 0 | N/A | 7 | | |||
+-------------------+------+------+------+------+ | +---------------+------+------+------+--------+ | |||
| 1200 bps | 1 | 0 | 0 | 11 | | | 1200 bps | 1 | 0 | 0 | 11 | | |||
+-------------------+------+------+------+------+ | +---------------+------+------+------+--------+ | |||
| 600 bps | 0 | 1 | N/A | 7 | | | 600 bps | 0 | 1 | N/A | 7 | | |||
+-------------------+------+------+------+------+ | +---------------+------+------+------+--------+ | |||
| Comfort Noise | 1 | 0 | 1 | 2 | | | Comfort Noise | 1 | 0 | 1 | 2 | | |||
+-------------------+------+------+------+------+ | +---------------+------+------+------+--------+ | |||
| TSVCIS data | 1 | 1 | N/A | var. | | | TSVCIS Data | 1 | 1 | N/A | var. | | |||
+-------------------+------+------+------+------+ | +---------------+------+------+------+--------+ | |||
Table 1: TSVCIS/MELPe Frame Bitrate Indicators and Frame Length | Table 1: TSVCIS/MELPe Frame Bitrate | |||
Indicators and Frame Length | ||||
The total number of bits used to describe one MELPe frame of 2400 bps | The total number of bits used to describe one MELPe frame of 2400 bps | |||
speech is 54, which fits in 7 octets (with two rate code bits). For | speech is 54, which fits in 7 octets (with two rate code bits). For | |||
MELPe 1200 bps speech, the total number of bits used is 81, which | MELPe 1200 bps speech, the total number of bits used is 81, which | |||
fits in 11 octets (with three rate code bits and four unused bits). | fits in 11 octets (with three rate code bits and four unused bits). | |||
For MELPe 600 bps speech, the total number of bits used is 54, which | For MELPe 600 bps speech, the total number of bits used is 54, which | |||
fits in 7 octets (with two rate code bits). The comfort noise frame | fits in 7 octets (with two rate code bits). The comfort noise frame | |||
consists of 13 bits, which fits in 2 octets (with three rate code | consists of 13 bits, which fits in 2 octets (with three rate code | |||
bits). TSVCIS packed parameters will use the last code combination | bits). TSVCIS packed parameters will use the last code combination | |||
in a trailing byte as discussed in Section 3.2. | in a trailing byte as discussed in Section 3.2. | |||
It should be noted that CODB for MELPe 600 bps mode MAY deviate from | It should be noted that CODB for MELPe 600 bps mode MAY deviate from | |||
the value in Table 1 when bit 55 is used as an alternating 1/0 | the value in Table 1 when bit 55 is used as an alternating 1/0 end- | |||
end-to-end framing bit. Frame decoding would remain distinct as CODA | to-end framing bit. Frame decoding would remain distinct as CODA | |||
being zero on its own would indicate a 7-byte frame for either 2400 | being zero on its own would indicate a 7-byte frame for either a 2400 | |||
or 600 bps rate and the use of 600 bps speech coding could be deduced | or 600 bps rate, and the use of 600 bps speech coding could be | |||
from the RTP timestamp (and anticipated by the SDP negotiations). | deduced from the RTP timestamp (and anticipated by the Session | |||
Description Protocol (SDP) negotiations). | ||||
3.1.1. 2400 bps Bitstream Structure | 3.1.1. 2400 bps Bitstream Structure | |||
The 2400 bps MELPe RTP payload is constructed as per Figure 2. Note | The 2400 bps MELPe RTP payload is constructed as per Figure 2. Note | |||
that CODA MUST be filled with 0 and CODB SHOULD be filled with 0 as | that CODA MUST be filled with 0 and CODB SHOULD be filled with 0 as | |||
per Section 3.1. CODB MAY contain an end-to-end framing bit if | per Section 3.1. CODB MAY contain an end-to-end framing bit if | |||
required by the endpoints. | required by the endpoints. | |||
MSB LSB | MSB LSB | |||
0 1 2 3 4 5 6 7 | 0 1 2 3 4 5 6 7 | |||
skipping to change at page 6, line 47 ¶ | skipping to change at line 334 ¶ | |||
+------+------+------+------+------+------+------+------+ | +------+------+------+------+------+------+------+------+ | |||
| B_32 | B_31 | B_30 | B_29 | B_28 | B_27 | B_26 | B_25 | | | B_32 | B_31 | B_30 | B_29 | B_28 | B_27 | B_26 | B_25 | | |||
+------+------+------+------+------+------+------+------+ | +------+------+------+------+------+------+------+------+ | |||
| B_40 | B_39 | B_38 | B_37 | B_36 | B_35 | B_34 | B_33 | | | B_40 | B_39 | B_38 | B_37 | B_36 | B_35 | B_34 | B_33 | | |||
+------+------+------+------+------+------+------+------+ | +------+------+------+------+------+------+------+------+ | |||
| B_48 | B_47 | B_46 | B_45 | B_44 | B_43 | B_42 | B_41 | | | B_48 | B_47 | B_46 | B_45 | B_44 | B_43 | B_42 | B_41 | | |||
+------+------+------+------+------+------+------+------+ | +------+------+------+------+------+------+------+------+ | |||
| CODA | CODB | B_54 | B_53 | B_52 | B_51 | B_50 | B_49 | | | CODA | CODB | B_54 | B_53 | B_52 | B_51 | B_50 | B_49 | | |||
+------+------+------+------+------+------+------+------+ | +------+------+------+------+------+------+------+------+ | |||
Figure 2: Packed MELPe 2400 bps Payload Octets | Figure 2: Packed MELPe 2400 bps Payload Octets | |||
3.1.2. 1200 bps Bitstream Structure | 3.1.2. 1200 bps Bitstream Structure | |||
The 1200 bps MELPe RTP payload is constructed as per Figure 3. Note | The 1200 bps MELPe RTP payload is constructed as per Figure 3. Note | |||
that CODA, CODB, and CODC MUST be filled with 1, 0, and 0 | that CODA, CODB, and CODC MUST be filled with 1, 0, and 0, | |||
respectively as per Section 3.1. RSV0 MUST be coded as 0. | respectively, as per Section 3.1. RSV0 MUST be coded as 0. | |||
MSB LSB | MSB LSB | |||
0 1 2 3 4 5 6 7 | 0 1 2 3 4 5 6 7 | |||
+------+------+------+------+------+------+------+------+ | +------+------+------+------+------+------+------+------+ | |||
| B_08 | B_07 | B_06 | B_05 | B_04 | B_03 | B_02 | B_01 | | | B_08 | B_07 | B_06 | B_05 | B_04 | B_03 | B_02 | B_01 | | |||
+------+------+------+------+------+------+------+------+ | +------+------+------+------+------+------+------+------+ | |||
| B_16 | B_15 | B_14 | B_13 | B_12 | B_11 | B_10 | B_09 | | | B_16 | B_15 | B_14 | B_13 | B_12 | B_11 | B_10 | B_09 | | |||
+------+------+------+------+------+------+------+------+ | +------+------+------+------+------+------+------+------+ | |||
| B_24 | B_23 | B_22 | B_21 | B_20 | B_19 | B_18 | B_17 | | | B_24 | B_23 | B_22 | B_21 | B_20 | B_19 | B_18 | B_17 | | |||
+------+------+------+------+------+------+------+------+ | +------+------+------+------+------+------+------+------+ | |||
skipping to change at page 7, line 32 ¶ | skipping to change at line 368 ¶ | |||
+------+------+------+------+------+------+------+------+ | +------+------+------+------+------+------+------+------+ | |||
| B_64 | B_63 | B_62 | B_61 | B_60 | B_59 | B_58 | B_57 | | | B_64 | B_63 | B_62 | B_61 | B_60 | B_59 | B_58 | B_57 | | |||
+------+------+------+------+------+------+------+------+ | +------+------+------+------+------+------+------+------+ | |||
| B_72 | B_71 | B_70 | B_69 | B_68 | B_67 | B_66 | B_65 | | | B_72 | B_71 | B_70 | B_69 | B_68 | B_67 | B_66 | B_65 | | |||
+------+------+------+------+------+------+------+------+ | +------+------+------+------+------+------+------+------+ | |||
| B_80 | B_79 | B_78 | B_77 | B_76 | B_75 | B_74 | B_73 | | | B_80 | B_79 | B_78 | B_77 | B_76 | B_75 | B_74 | B_73 | | |||
+------+------+------+------+------+------+------+------+ | +------+------+------+------+------+------+------+------+ | |||
| CODA | CODB | CODC | RSV0 | RSV0 | RSV0 | RSV0 | B_81 | | | CODA | CODB | CODC | RSV0 | RSV0 | RSV0 | RSV0 | B_81 | | |||
+------+------+------+------+------+------+------+------+ | +------+------+------+------+------+------+------+------+ | |||
Figure 3: Packed MELPe 1200 bps Payload Octets | Figure 3: Packed MELPe 1200 bps Payload Octets | |||
3.1.3. 600 bps Bitstream Structure | 3.1.3. 600 bps Bitstream Structure | |||
The 600 bps MELPe RTP payload is constructed as per Figure 4. Note | The 600 bps MELPe RTP payload is constructed as per Figure 4. Note | |||
CODA MUST be filled with 0 and CODB SHOULD be filled with 1 as per | CODA MUST be filled with 0 and CODB SHOULD be filled with 1 as per | |||
Section 3.1. CODB MAY contain an end-to-end framing bit if required | Section 3.1. CODB MAY contain an end-to-end framing bit if required | |||
by the endpoints. | by the endpoints. | |||
MSB LSB | MSB LSB | |||
0 1 2 3 4 5 6 7 | 0 1 2 3 4 5 6 7 | |||
skipping to change at page 8, line 11 ¶ | skipping to change at line 395 ¶ | |||
+------+------+------+------+------+------+------+------+ | +------+------+------+------+------+------+------+------+ | |||
| B_32 | B_31 | B_30 | B_29 | B_28 | B_27 | B_26 | B_25 | | | B_32 | B_31 | B_30 | B_29 | B_28 | B_27 | B_26 | B_25 | | |||
+------+------+------+------+------+------+------+------+ | +------+------+------+------+------+------+------+------+ | |||
| B_40 | B_39 | B_38 | B_37 | B_36 | B_35 | B_34 | B_33 | | | B_40 | B_39 | B_38 | B_37 | B_36 | B_35 | B_34 | B_33 | | |||
+------+------+------+------+------+------+------+------+ | +------+------+------+------+------+------+------+------+ | |||
| B_48 | B_47 | B_46 | B_45 | B_44 | B_43 | B_42 | B_41 | | | B_48 | B_47 | B_46 | B_45 | B_44 | B_43 | B_42 | B_41 | | |||
+------+------+------+------+------+------+------+------+ | +------+------+------+------+------+------+------+------+ | |||
| CODA | CODB | B_54 | B_53 | B_52 | B_51 | B_50 | B_49 | | | CODA | CODB | B_54 | B_53 | B_52 | B_51 | B_50 | B_49 | | |||
+------+------+------+------+------+------+------+------+ | +------+------+------+------+------+------+------+------+ | |||
Figure 4: Packed MELPe 600 bps Payload Octets | Figure 4: Packed MELPe 600 bps Payload Octets | |||
3.1.4. Comfort Noise Bitstream Definition | 3.1.4. Comfort Noise Bitstream Definition | |||
The comfort noise MELPe RTP payload is constructed as per Figure 5. | The comfort noise MELPe RTP payload is constructed as per Figure 5. | |||
Note that CODA, CODB, and CODC MUST be filled with 1, 0, and 1 | Note that CODA, CODB, and CODC MUST be filled with 1, 0, and 1, | |||
respectively as per Section 3.1. | respectively, as per Section 3.1. | |||
MSB LSB | MSB LSB | |||
0 1 2 3 4 5 6 7 | 0 1 2 3 4 5 6 7 | |||
+------+------+------+------+------+------+------+------+ | +------+------+------+------+------+------+------+------+ | |||
| B_08 | B_07 | B_06 | B_05 | B_04 | B_03 | B_02 | B_01 | | | B_08 | B_07 | B_06 | B_05 | B_04 | B_03 | B_02 | B_01 | | |||
+------+------+------+------+------+------+------+------+ | +------+------+------+------+------+------+------+------+ | |||
| CODA | CODB | CODC | B_13 | B_12 | B_11 | B_10 | B_09 | | | CODA | CODB | CODC | B_13 | B_12 | B_11 | B_10 | B_09 | | |||
+------+------+------+------+------+------+------+------+ | +------+------+------+------+------+------+------+------+ | |||
Figure 5: Packed MELPe Comfort Noise Payload Octets | Figure 5: Packed MELPe Comfort Noise Payload Octets | |||
3.2. TSVCIS Bitstream Definition | 3.2. TSVCIS Bitstream Definition | |||
The TSVCIS augmented speech data as packed parameters MUST be placed | The TSVCIS augmented speech data as packed parameters MUST be placed | |||
immediately after a corresponding MELPe 2400 bps payload in the same | immediately after a corresponding MELPe 2400 bps payload in the same | |||
RTP packet. The packed parameters are counted in octets (TC). The | RTP packet. The packed parameters are counted in octets (TC). The | |||
preferred placement SHOULD be used for TSVCIS payloads with TC less | preferred placement SHOULD be used for TSVCIS payloads with TC less | |||
than or equal to 77 octets, and is shown in Figure 6. In the | than or equal to 77 octets; this is shown in Figure 6. In the | |||
preferred placement, a single trailing octet SHALL be appended to | preferred placement, a single trailing octet SHALL be appended to | |||
include a two-bit rate code, CODA and CODB, (both bits set to one) | include a two-bit rate code, CODA and CODB (both bits set to one), | |||
and a six-bit modified count (MTC). The special modified count value | and a six-bit modified count (MTC). The special modified count value | |||
of all ones (representing a MTC value of 63) SHALL NOT be used for | of all ones (representing an MTC value of 63) SHALL NOT be used for | |||
this format as it is used as the indicator for the alternate packing | this format as it is used as the indicator for the alternate packing | |||
format shown next. In a standard implementation, the TSVCIS speech | format shown next. In a standard implementation, the TSVCIS speech | |||
coder uses a minimum of 15 octets for parameters in octet packed | coder uses a minimum of 15 octets for parameters in octet packed | |||
form. The modified count (MTC) MUST be reduced by 15 from the full | form. The modified count (MTC) MUST be reduced by 15 from the full | |||
octet count (TC). Computed MTC = TC-15. This accommodates a maximum | octet count (TC). Computed MTC = TC-15. This accommodates a maximum | |||
of 77 parameter octets (maximum value of MTC is 62, 77 is the sum of | of 77 parameter octets (the maximum value of MTC is 62; 77 is the sum | |||
62+15). | of 62+15). | |||
MSB LSB | MSB LSB | |||
0 1 2 3 4 5 6 7 | 0 1 2 3 4 5 6 7 | |||
+------+------+------+------+------+------+------+------+ | +------+------+------+------+------+------+------+------+ | |||
1 | T008 | T007 | T006 | T005 | T004 | T003 | T002 | T001 | | 1 | T008 | T007 | T006 | T005 | T004 | T003 | T002 | T001 | | |||
+------+------+------+------+------+------+------+------+ | +------+------+------+------+------+------+------+------+ | |||
2 | T016 | T015 | T014 | T013 | T012 | T011 | T010 | T009 | | 2 | T016 | T015 | T014 | T013 | T012 | T011 | T010 | T009 | | |||
+------+------+------+------+------+------+------+------+ | +------+------+------+------+------+------+------+------+ | |||
3 | T024 | T023 | T022 | T021 | T020 | T019 | T018 | T017 | | 3 | T024 | T023 | T022 | T021 | T020 | T019 | T018 | T017 | | |||
+------+------+------+------+------+------+------+------+ | +------+------+------+------+------+------+------+------+ | |||
4 | T032 | T031 | T030 | T029 | T028 | T027 | T026 | T025 | | 4 | T032 | T031 | T030 | T029 | T028 | T027 | T026 | T025 | | |||
+------+------+------+------+------+------+------+------+ | +------+------+------+------+------+------+------+------+ | |||
5 | T040 | T039 | T038 | T037 | T036 | T035 | T034 | T033 | | 5 | T040 | T039 | T038 | T037 | T036 | T035 | T034 | T033 | | |||
+------+------+------+------+------+------+------+------+ | +------+------+------+------+------+------+------+------+ | |||
skipping to change at page 9, line 40 ¶ | skipping to change at line 470 ¶ | |||
+------+------+------+------+------+------+------+------+ | +------+------+------+------+------+------+------+------+ | |||
14 | T112 | T111 | T110 | T109 | T108 | T107 | T106 | T105 | | 14 | T112 | T111 | T110 | T109 | T108 | T107 | T106 | T105 | | |||
+------+------+------+------+------+------+------+------+ | +------+------+------+------+------+------+------+------+ | |||
15 | T120 | T119 | T118 | T117 | T116 | T115 | T114 | T113 | | 15 | T120 | T119 | T118 | T117 | T116 | T115 | T114 | T113 | | |||
+------+------+------+------+------+------+------+------+ | +------+------+------+------+------+------+------+------+ | |||
| . . . . | | | . . . . | | |||
+------+------+------+------+------+------+------+------+ | +------+------+------+------+------+------+------+------+ | |||
TC+1 | CODA | CODB | modified octet count | | TC+1 | CODA | CODB | modified octet count | | |||
+------+------+------+------+------+------+------+------+ | +------+------+------+------+------+------+------+------+ | |||
Figure 6: Preferred Packed TSVCIS Payload Octets | Figure 6: Preferred Packed TSVCIS Payload Octets | |||
In order to accommodate all other NRL VDR configurations, an | In order to accommodate all other NRL VDR configurations, an | |||
alternate parameter placement MUST use two trailing bytes as shown in | alternate parameter placement MUST use two trailing bytes as shown in | |||
Figure 7. The last trailing byte MUST be filled with a two-bit rate | Figure 7. The last trailing byte MUST be filled with a two-bit rate | |||
code, CODA and CODB, (both bits set to one) and its six-bit count | code, CODA and CODB (both bits set to one), and its six-bit count | |||
field MUST be filled with ones. The second to last trailing byte | field MUST be filled with ones. The second to last trailing byte | |||
MUST contain the parameter count (TC) in octets (a value from 1 and | MUST contain the parameter count (TC) in octets (a value from 1 and | |||
255, inclusive). The value of zero SHALL be considered as reserved. | 255, inclusive). The value of zero SHALL be considered as reserved. | |||
MSB LSB | MSB LSB | |||
0 1 2 3 4 5 6 7 | 0 1 2 3 4 5 6 7 | |||
+------+------+------+------+------+------+------+------+ | +------+------+------+------+------+------+------+------+ | |||
1 | T008 | T007 | T006 | T005 | T004 | T003 | T002 | T001 | | 1 | T008 | T007 | T006 | T005 | T004 | T003 | T002 | T001 | | |||
+------+------+------+------+------+------+------+------+ | +------+------+------+------+------+------+------+------+ | |||
2 | T016 | T015 | T014 | T013 | T012 | T011 | T010 | T009 | | 2 | T016 | T015 | T014 | T013 | T012 | T011 | T010 | T009 | | |||
+------+------+------+------+------+------+------+------+ | +------+------+------+------+------+------+------+------+ | |||
| . . . . | | | . . . . | | |||
+------+------+------+------+------+------+------+------+ | +------+------+------+------+------+------+------+------+ | |||
TC+1 | octet count | | TC+1 | octet count | | |||
+------+------+------+------+------+------+------+------+ | +------+------+------+------+------+------+------+------+ | |||
TC+2 | CODA | CODB | 1 | 1 | 1 | 1 | 1 | 1 | | TC+2 | CODA | CODB | 1 | 1 | 1 | 1 | 1 | 1 | | |||
+------+------+------+------+------+------+------+------+ | +------+------+------+------+------+------+------+------+ | |||
skipping to change at page 10, line 16 ¶ | skipping to change at line 494 ¶ | |||
+------+------+------+------+------+------+------+------+ | +------+------+------+------+------+------+------+------+ | |||
2 | T016 | T015 | T014 | T013 | T012 | T011 | T010 | T009 | | 2 | T016 | T015 | T014 | T013 | T012 | T011 | T010 | T009 | | |||
+------+------+------+------+------+------+------+------+ | +------+------+------+------+------+------+------+------+ | |||
| . . . . | | | . . . . | | |||
+------+------+------+------+------+------+------+------+ | +------+------+------+------+------+------+------+------+ | |||
TC+1 | octet count | | TC+1 | octet count | | |||
+------+------+------+------+------+------+------+------+ | +------+------+------+------+------+------+------+------+ | |||
TC+2 | CODA | CODB | 1 | 1 | 1 | 1 | 1 | 1 | | TC+2 | CODA | CODB | 1 | 1 | 1 | 1 | 1 | 1 | | |||
+------+------+------+------+------+------+------+------+ | +------+------+------+------+------+------+------+------+ | |||
Figure 7: Length Unrestricted Packed TSVCIS Payload Octets | Figure 7: Length Unrestricted Packed TSVCIS Payload Octets | |||
3.3. Multiple TSVCIS Frames in an RTP Packet | 3.3. Multiple TSVCIS Frames in an RTP Packet | |||
A TSVCIS RTP packet payload consists of zero or more consecutive | A TSVCIS RTP packet payload consists of zero or more consecutive | |||
TSVCIS coder frames (each consisting of MELPe 2400 and TSVCIS coder | TSVCIS coder frames (each consisting of MELPe 2400 and TSVCIS coder | |||
data), with the oldest frame first, followed by zero or one MELPe | data), with the oldest frame first, followed by zero or one MELPe | |||
comfort noise frame. The presence of a comfort noise frame can be | comfort noise frame. The presence of a comfort noise frame can be | |||
determined by its rate code bits in its last octet. | determined by its rate code bits in its last octet. | |||
The default packetization interval is one coder frame (22.5, 67.5, or | The default packetization interval is one coder frame (22.5, 67.5, or | |||
90 ms) according to the coder bitrate (2400, 1200, or 600 bps). For | 90 ms) according to the coder bitrate (2400, 1200, or 600 bps). For | |||
some applications, a longer packetization interval is used to reduce | some applications, a longer packetization interval is used to reduce | |||
the packet rate. | the packet rate. | |||
A TSVCIS RTP packet without coder and comfort noise frames MAY be | A TSVCIS RTP packet without coder and comfort noise frames MAY be | |||
used periodically by an endpoint to indicate connectivity by an | used periodically by an endpoint to indicate connectivity by an | |||
otherwise idle receiver. | otherwise idle receiver. | |||
TSVCIS coder frames in a single RTP packet MAY have varying TSVCIS | TSVCIS coder frames in a single RTP packet MAY have varying TSVCIS | |||
parameter octet counts. Its packed parameter octet count (length) is | parameter octet counts. Its packed parameter octet count (length) is | |||
indicated in the trailing byte(s). All MELPe frames in a single RTP | indicated in the trailing byte(s). All MELPe frames in a single RTP | |||
packet MUST be of the same coder bitrate. For all MELPe coder | packet MUST be of the same coder bitrate. For all MELPe coder | |||
frames, the coder rate bits in the trailing byte identify the | frames, the coder rate bits in the trailing byte identify the | |||
contents and length as per Table 1. | contents and length as per Table 1. | |||
It is important to observe that senders have the following additional | It is important to observe that senders have the following additional | |||
restrictions: | restrictions: | |||
Senders SHOULD NOT include more TSVCIS or MELPe frames in a single | * Senders SHOULD NOT include more TSVCIS or MELPe frames in a single | |||
RTP packet than will fit in the MTU of the RTP transport protocol. | RTP packet than will fit in the MTU of the RTP transport protocol. | |||
Frames MUST NOT be split between RTP packets. | * Frames MUST NOT be split between RTP packets. | |||
It is RECOMMENDED that the number of frames contained within an RTP | It is RECOMMENDED that the number of frames contained within an RTP | |||
packet be consistent with the application. For example, in telephony | packet be consistent with the application. For example, in telephony | |||
and other real-time applications where delay is important, then the | and other real-time applications where delay is important, the fewer | |||
fewer frames per packet the lower the delay, whereas for bandwidth- | frames per packet, the lower the delay. However, for bandwidth- | |||
constrained links or delay-insensitive streaming messaging | constrained links or delay-insensitive streaming messaging | |||
applications, more than one frame per packet or many frames per | applications, more than one frame per packet or many frames per | |||
packet would be acceptable. | packet would be acceptable. | |||
Information describing the number of frames contained in an RTP | Information describing the number of frames contained in an RTP | |||
packet is not transmitted as part of the RTP payload. The way to | packet is not transmitted as part of the RTP payload. The way to | |||
determine the number of TSVCIS/MELPe frames is to identify each frame | determine the number of TSVCIS/MELPe frames is to identify each frame | |||
type and length thereby counting the total number of octets within | type and length, thereby counting the total number of octets within | |||
the RTP packet. | the RTP packet. | |||
3.4. Congestion Control Considerations | 3.4. Congestion Control Considerations | |||
The target bitrate of TSVCIS can be adjusted at any point in time, | The target bitrate of TSVCIS can be adjusted at any point in time, | |||
thus allowing congestion management. Furthermore, the amount of | thus allowing congestion management. Furthermore, the amount of | |||
encoded speech or audio data encoded in a single packet can be used | encoded speech or audio data encoded in a single packet can be used | |||
for congestion control, since the packet rate is inversely | for congestion control, since the packet rate is inversely | |||
proportional to the packet duration. A lower packet transmission | proportional to the packet duration. A lower packet transmission | |||
rate reduces the amount of header overhead but at the same time | rate reduces the amount of header overhead but at the same time | |||
increases latency and loss sensitivity, so it ought to be used | increases latency and loss sensitivity, so it ought to be used with | |||
with care. | care. | |||
Since UDP does not provide congestion control, applications that use | Since UDP does not provide congestion control, applications that use | |||
RTP over UDP SHOULD implement their own congestion control above the | RTP over UDP SHOULD implement their own congestion control above the | |||
UDP layer [RFC8085] and MAY also implement a transport circuit | UDP layer [RFC8085] and MAY also implement a transport circuit | |||
breaker [RFC8083]. Work in the RMCAT working group [RMCAT] describes | breaker [RFC8083]. Work in the RMCAT Working Group [RMCAT] describes | |||
the interactions and conceptual interfaces necessary between the | the interactions and conceptual interfaces necessary between the | |||
application components that relate to congestion control, including | application components that relate to congestion control, including | |||
the RTP layer, the higher-level media codec control layer, and the | the RTP layer, the higher-level media codec control layer, and the | |||
lower-level transport interface, as well as components dedicated to | lower-level transport interface, as well as components dedicated to | |||
congestion control functions. | congestion control functions. | |||
4. Payload Format Parameters | 4. Payload Format Parameters | |||
This RTP payload format is identified using the TSVCIS media subtype, | This RTP payload format is identified using the TSVCIS media subtype, | |||
which is registered in accordance with RFC 4855 [RFC4855] and per the | which is registered in accordance with [RFC4855] and per the media | |||
media type registration template from RFC 6838 [RFC6838]. | type registration template from [RFC6838]. | |||
4.1. Media Type Definitions | 4.1. Media Type Definitions | |||
Type name: audio | Type name: audio | |||
Subtype name: TSVCIS | Subtype name: TSVCIS | |||
Required parameters: N/A | Required parameters: Clock Rate (Hz): 8000 | |||
Optional parameters: | Optional parameters: | |||
ptime: | ||||
the recommended length of time (in milliseconds) represented by | ||||
the media in a packet. It SHALL use the nearest rounded-up ms | ||||
integer packet duration. For TSVCIS, this corresponds to the | ||||
following values: 23, 45, 68, 90, 112, 135, 156, and 180. | ||||
Larger values can be used as long as they are properly rounded. | ||||
See Section 6 of [RFC4566]. | ||||
ptime: the recommended length of time (in milliseconds) | maxptime: | |||
represented by the media in a packet. It SHALL use the nearest | the maximum length of time (in milliseconds) that can be | |||
rounded-up ms integer packet duration. For TSVCIS, this | ||||
corresponds to the following values: 23, 45, 68, 90, 112, 135, | ||||
156, and 180. Larger values can be used as long as they are | ||||
properly rounded. See Section 6 of RFC 4566 [RFC4566]. | ||||
maxptime: the maximum length of time (in milliseconds) that can be | ||||
encapsulated in a packet. It SHALL use the nearest rounded-up | encapsulated in a packet. It SHALL use the nearest rounded-up | |||
ms integer packet duration. For TSVCIS, this corresponds to | ms integer packet duration. For TSVCIS, this corresponds to | |||
the following values: 23, 45, 68, 90, 112, 135, 156, and 180. | the following values: 23, 45, 68, 90, 112, 135, 156, and 180. | |||
Larger values can be used as long as they are properly rounded. | Larger values can be used as long as they are properly rounded. | |||
See Section 6 of RFC 4566 [RFC4566]. | See Section 6 of [RFC4566]. | |||
bitrate: specifies the MELPe coder bitrates supported. Possible | bitrate: | |||
values are a comma-separated list of rates from the following | specifies the MELPe coder bitrates supported. Possible values | |||
set: 2400, 1200, 600. The modes are listed in order of | are a comma-separated list of rates from the following set: | |||
preference; first is preferred. If "bitrate" is not present, | 2400, 1200, 600. The modes are listed in order of preference; | |||
the fixed coder bitrate of 2400 MUST be used. | the first is preferred. If "bitrate" is not present, the fixed | |||
coder bitrate of 2400 MUST be used. | ||||
tcmax: specifies the TSVCIS maximum value for TC supported or | tcmax: | |||
desired ranging from 1 to 255. If "tcmax" is not present, a | specifies the TSVCIS maximum value for the TC supported or | |||
desired, ranging from 1 to 255. If "tcmax" is not present, a | ||||
default value of 35 is used. | default value of 35 is used. | |||
Encoding considerations: This media subtype is framed and binary; see | Channels: | |||
Section 4.8 of RFC 6838 [RFC6838]. | 1 | |||
Security considerations: Please see Section 8 of RFC XXXX. | Encoding considerations: This media subtype is framed and binary; | |||
see Section 4.8 of [RFC6838]. | ||||
[EDITOR NOTE - please replace XXXX with the RFC number of this | Security considerations: Please see Section 8 of RFC 8817. | |||
document.] | ||||
Interoperability considerations: N/A | Interoperability considerations: N/A | |||
Published specification: [TSVCIS] | Published specification: [TSVCIS] | |||
Applications that use this media type: N/A | Applications that use this media type: N/A | |||
Fragment identifier considerations: N/A | Fragment identifier considerations: N/A | |||
Additional information: | Additional information: | |||
Clock Rate (Hz): 8000 | Deprecated alias names for this type: N/A | |||
Channels: 1 | Magic number(s): N/A | |||
File extension(s): N/A | ||||
Deprecated alias names for this type: N/A | Macintosh file type code(s): N/A | |||
Magic number(s): N/A | ||||
File extension(s): N/A | ||||
Macintosh file type code(s): N/A | ||||
Person & email address to contact for further information: | Person & email address to contact for further information: | |||
Victor Demjanenko, Ph.D. <victor.demjanenko@vocal.com> | ||||
Victor Demjanenko, Ph.D. | Intended usage: COMMON | |||
VOCAL Technologies, Ltd. | ||||
520 Lee Entrance, Suite 202 | ||||
Buffalo, NY 14228 | ||||
United States of America | ||||
Phone: +1 716 688 4675 | ||||
Email: victor.demjanenko@vocal.com | ||||
Intended usage: COMMON | ||||
Restrictions on usage: The media subtype depends on RTP framing and | Restrictions on usage: The media subtype depends on RTP framing and | |||
hence is only defined for transfer via RTP [RFC3550]. Transport | hence is only defined for transfer via RTP [RFC3550]. Transport | |||
within other framing protocols is not defined at this time. | within other framing protocols is not defined at this time. | |||
Author: Victor Demjanenko | Author: Victor Demjanenko, Ph.D. | |||
Change controller: IETF, contact <avt@ietf.org> | Change controller: IETF; contact <avt@ietf.org> | |||
Provisional registration? (standards tree only): No | Provisional registration? (standards tree only): No | |||
4.2. Mapping to SDP | 4.2. Mapping to SDP | |||
The mapping of the above-defined payload format media subtype and its | The mapping of the above-defined payload format media subtype and its | |||
parameters SHALL be done according to Section 3 of RFC 4855 | parameters SHALL be done according to Section 3 of [RFC4855]. | |||
[RFC4855]. | ||||
The information carried in the media type specification has a | The information carried in the media type specification has a | |||
specific mapping to fields in the Session Description Protocol (SDP) | specific mapping to fields in the Session Description Protocol (SDP) | |||
[RFC4566], which is commonly used to describe RTP sessions. When SDP | [RFC4566], which is commonly used to describe RTP sessions. When SDP | |||
is used to specify sessions employing the TSVCIS codec, the mapping | is used to specify sessions employing the TSVCIS codec, the mapping | |||
is as follows: | is as follows: | |||
o The media type ("audio") goes in SDP "m=" as the media name. | * The media type ("audio") goes in SDP "m=" as the media name. | |||
o The media subtype (payload format name) goes in SDP "a=rtpmap" as | * The media subtype (payload format name) goes in SDP "a=rtpmap" as | |||
the encoding name. | the encoding name. | |||
o The parameter "bitrate" goes in the SDP "a=fmtp" attribute by | * The parameter "bitrate" goes in the SDP "a=fmtp" attribute by | |||
copying it as a "bitrate=<value>" string. | copying it as a "bitrate=<value>" string. | |||
o The parameter "tcmax" goes in the SDP "a=fmtp" attribute by | * The parameter "tcmax" goes in the SDP "a=fmtp" attribute by | |||
copying it as a "tcmax=<value>" string. | copying it as a "tcmax=<value>" string. | |||
o The parameters "ptime" and "maxptime" go in the SDP "a=ptime" and | * The parameters "ptime" and "maxptime" go in the SDP "a=ptime" and | |||
"a=maxptime" attributes, respectively. | "a=maxptime" attributes, respectively. | |||
When conveying information via SDP, the encoding name SHALL be | When conveying information via SDP, the encoding name SHALL be | |||
"TSVCIS" (the same as the media subtype). | "TSVCIS" (the same as the media subtype). | |||
An example of the media representation in SDP for describing TSVCIS | An example of the media representation in SDP for describing TSVCIS | |||
might be: | might be: | |||
m=audio 49120 RTP/AVP 96 | m=audio 49120 RTP/AVP 96 | |||
a=rtpmap:96 TSVCIS/8000 | a=rtpmap:96 TSVCIS/8000 | |||
skipping to change at page 14, line 44 ¶ | skipping to change at line 705 ¶ | |||
the range of 1 to 255 representing the maximum number of TSVCIS | the range of 1 to 255 representing the maximum number of TSVCIS | |||
parameter octets supported. An example of the media representation | parameter octets supported. An example of the media representation | |||
in SDP for describing TSVCIS with a maximum of 101 octets supported | in SDP for describing TSVCIS with a maximum of 101 octets supported | |||
is as follows: | is as follows: | |||
m=audio 49120 RTP/AVP 96 | m=audio 49120 RTP/AVP 96 | |||
a=rtpmap:96 TSVCIS/8000 | a=rtpmap:96 TSVCIS/8000 | |||
a=fmtp:96 tcmax=101 | a=fmtp:96 tcmax=101 | |||
The parameter "ptime" cannot be used for the purpose of specifying | The parameter "ptime" cannot be used for the purpose of specifying | |||
the TSVCIS operating mode, due to the fact that for certain values it | the TSVCIS operating mode due to the fact that, for certain values, | |||
will be impossible to distinguish which mode is about to be used | it will be impossible to distinguish which mode is about to be used | |||
(e.g., when ptime=68, it would be impossible to distinguish if the | (e.g., when ptime=68, it would be impossible to distinguish whether | |||
packet is carrying one frame of 67.5 ms or three frames of 22.5 ms). | the packet is carrying one frame of 67.5 ms or three frames of 22.5 | |||
ms). | ||||
Note that the payload format (encoding) names are commonly shown in | Note that the payload format (encoding) names are commonly shown in | |||
upper case. Media subtypes are commonly shown in lower case. These | upper case. Media subtypes are commonly shown in lower case. These | |||
names are case insensitive in both places. Similarly, parameter | names are case insensitive in both places. Similarly, parameter | |||
names are case insensitive in both the media subtype name and the | names are case insensitive in both the media subtype name and the | |||
default mapping to the SDP a=fmtp attribute. | default mapping to the SDP a=fmtp attribute. | |||
4.3. Declarative SDP Considerations | 4.3. Declarative SDP Considerations | |||
For declarative media, the "bitrate" parameter specifies the possible | For declarative media, the "bitrate" parameter specifies the possible | |||
skipping to change at page 15, line 23 ¶ | skipping to change at line 734 ¶ | |||
m=audio 49120 RTP/AVP 97 98 99 | m=audio 49120 RTP/AVP 97 98 99 | |||
a=rtpmap:97 TSVCIS/8000 | a=rtpmap:97 TSVCIS/8000 | |||
a=fmtp:97 bitrate=2400 | a=fmtp:97 bitrate=2400 | |||
a=rtpmap:98 TSVCIS/8000 | a=rtpmap:98 TSVCIS/8000 | |||
a=fmtp:98 bitrate=1200 | a=fmtp:98 bitrate=1200 | |||
a=rtpmap:99 TSVCIS/8000 | a=rtpmap:99 TSVCIS/8000 | |||
a=fmtp:99 bitrate=600 | a=fmtp:99 bitrate=600 | |||
For declarative media, the "tcmax" parameter specifies the maximum | For declarative media, the "tcmax" parameter specifies the maximum | |||
number of TSVCIS packed parameter octets used by the sender or the | number of octets of TSVCIS packed parameters used by the sender or | |||
sender's communications channel. | the sender's communications channel. | |||
4.4. Offer/Answer SDP Considerations | 4.4. Offer/Answer SDP Considerations | |||
In the Offer/Answer model [RFC3264], "bitrate" is a bidirectional | In the Offer/Answer model [RFC3264], "bitrate" is a bidirectional | |||
parameter. Both sides MUST use a common "bitrate" value or values. | parameter. Both sides MUST use a common "bitrate" value or values. | |||
The offer contains the bitrates supported by the offerer, listed in | The offer contains the bitrates supported by the offerer, listed in | |||
its preferred order. The answerer MAY agree to any bitrate by | its preferred order. The answerer MAY agree to any bitrate by | |||
listing the bitrate first in the answerer response. Additionally, | listing the bitrate first in the answerer response. Additionally, | |||
the answerer MAY indicate any secondary bitrate or bitrates that it | the answerer MAY indicate any secondary bitrate or bitrates that it | |||
supports. The initial bitrate used by both parties SHALL be the | supports. The initial bitrate used by both parties SHALL be the | |||
first bitrate specified in the answerer response. | first bitrate specified in the answerer response. | |||
For example, if offerer bitrates are "2400,600" and answer bitrates | For example, if offerer bitrates are "2400,600" and answerer bitrates | |||
are "600,2400", the initial bitrate is 600. If other bitrates are | are "600,2400", the initial bitrate is 600. If other bitrates are | |||
provided by the answerer, any common bitrate between the offer and | provided by the answerer, any common bitrate between the offer and | |||
answer MAY be used at any time in the future. Activation of these | answer MAY be used at any time in the future. Activation of these | |||
other common bitrates is beyond the scope of this document. | other common bitrates is beyond the scope of this document. | |||
The use of a lower bitrate is often important for a case such as when | The use of a lower bitrate is often important for a case such as when | |||
one endpoint utilizes a bandwidth-constrained link (e.g., 1200 bps | one endpoint utilizes a bandwidth-constrained link (e.g., 1200 bps | |||
radio link or slower), where only the lower coder bitrate will work. | radio link or slower), where only the lower coder bitrate will work. | |||
In the Offer/Answer model [RFC3264], "tcmax" is a bidirectional | In the Offer/Answer model [RFC3264], "tcmax" is a bidirectional | |||
parameter. Both sides SHOULD use a common "tcmax" value. The offer | parameter. Both sides SHOULD use a common "tcmax" value. The offer | |||
contains the tcmax supported by the offerer. The answerer MAY agree | contains the tcmax supported by the offerer. The answerer MAY agree | |||
to any tcmax equal or less than this value by stating the desired | to any tcmax equal to or less than this value by stating the desired | |||
tcmax in the answerer response. The answerer alternatively MAY | tcmax in the answerer response. The answerer alternatively MAY | |||
identify its own tcmax and rely on TSVCIS ignoring any augmented data | identify its own tcmax and rely on TSVCIS ignoring any augmented data | |||
it cannot use. | it cannot use. | |||
5. Discontinuous Transmissions | 5. Discontinuous Transmissions | |||
A primary application of TSVCIS is for radio communications of voice | A primary application of TSVCIS is for radio communications of voice | |||
conversations, and discontinuous transmissions are normal. When | conversations, and discontinuous transmissions are normal. When | |||
TSVCIS is used in an IP network, TSVCIS RTP packet transmissions may | TSVCIS is used in an IP network, TSVCIS RTP packet transmissions may | |||
cease and resume frequently. RTP synchronization source (SSRC) | cease and resume frequently. RTP synchronization source (SSRC) | |||
sequence number gaps indicate lost packets to be filled by Packet | sequence number gaps indicate lost packets to be filled by Packet | |||
Loss Concealment (PLC), while abrupt loss of RTP packets indicates | Loss Concealment (PLC), while abrupt loss of RTP packets indicates | |||
intended discontinuous transmissions. Resumption of voice | intended discontinuous transmissions. Resumption of voice | |||
transmission SHOULD be indicated by the RTP marker bit (M) set to 1. | transmission SHOULD be indicated by the RTP marker bit (M) set to 1. | |||
If a TSVCIS coder so desires, it may send a MELPe comfort noise frame | If a TSVCIS coder so desires, it may send a MELPe comfort noise frame | |||
as per Appendix B of [SCIP210] prior to ceasing transmission. A | as per Appendix B of [SCIP210] prior to ceasing transmission. A | |||
receiver may optionally use comfort noise during its silence periods. | receiver may optionally use comfort noise during its silence periods. | |||
No SDP negotiations are required. | No SDP negotiations are required. | |||
6. Packet Loss Concealment | 6. Packet Loss Concealment | |||
TSVCIS packet loss concealment (PLC) uses the special properties and | TSVCIS packet loss concealment (PLC) uses the special properties and | |||
coding for the pitch/voicing parameter of the MELPe 2400 bps coder. | coding for the pitch/voicing parameter of the MELPe 2400 bps coder. | |||
The PLC erasure indication utilizes any of the errored encodings of a | The PLC erasure indication utilizes any of the errored encodings of a | |||
non-voiced frame as identified in Table 1 of [MELPE]. For the sake of | non-voiced frame as identified in Table 1 of [MELPE]. For the sake | |||
simplicity, it is preferred that a code value of 3 for the | of simplicity, it is preferred that a code value of 3 for the pitch/ | |||
pitch/voicing parameter be used. Hence, set bits P0 and P1 to one | voicing parameter be used. Hence, set bits P0 and P1 to one and bits | |||
and bits P2, P3, P4, P5, and P6 to zero. | P2, P3, P4, P5, and P6 to zero. | |||
When using PLC in 1200 bps or 600 bps mode, the MELPe 2400 bps | When using PLC in 1200 bps or 600 bps mode, the MELPe 2400 bps | |||
decoder is called three or four times, respectively, to cover the | decoder is called three or four times, respectively, to cover the | |||
loss of a low bitrate MELPe frame. | loss of a low bitrate MELPe frame. | |||
7. IANA Considerations | 7. IANA Considerations | |||
This memo requests that IANA registers TSVCIS as specified in Section | IANA has registered TSVCIS as specified in Section 4.1. The media | |||
4.1. The media type is also requested to be added to the IANA | type has been added to the IANA registry for "RTP Payload Format | |||
registry for "RTP Payload Format MIME types" | Media Types" (https://www.iana.org/assignments/rtp-parameters). | |||
(http://www.iana.org/assignments/rtp-parameters). | ||||
8. Security Considerations | 8. Security Considerations | |||
RTP packets using the payload format defined in this specification | RTP packets using the payload format defined in this specification | |||
are subject to the security considerations discussed in the RTP | are subject to the security considerations discussed in the RTP | |||
specification [RFC3550] and in any applicable RTP profile such as | specification [RFC3550] and in any applicable RTP profile such as | |||
RTP/AVP [RFC3551], RTP/AVPF [RFC4585], RTP/SAVP [RFC3711], or | RTP/AVP [RFC3551], RTP/AVPF [RFC4585], RTP/SAVP [RFC3711], or RTP/ | |||
RTP/SAVPF [RFC5124]. However, as discussed in [RFC7202], it is not | SAVPF [RFC5124]. However, as discussed in [RFC7202], it is not an | |||
an RTP payload format's responsibility to discuss or mandate what | RTP payload format's responsibility to discuss or mandate what | |||
solutions are used to meet such basic security goals as | solutions are used to meet such basic security goals as | |||
confidentiality, integrity, and source authenticity for RTP in | confidentiality, integrity, and source authenticity for RTP in | |||
general. This responsibility lies with anyone using RTP in an | general. This responsibility lies with anyone using RTP in an | |||
application. They can find guidance on available security mechanisms | application. They can find guidance on available security mechanisms | |||
and important considerations in [RFC7201]. Applications SHOULD use | and important considerations in [RFC7201]. Applications SHOULD use | |||
one or more appropriate strong security mechanisms. The rest of this | one or more appropriate strong security mechanisms. The rest of this | |||
section discusses the security-impacting properties of the payload | section discusses the security-impacting properties of the payload | |||
format itself. | format itself. | |||
This RTP payload format and the TSVCIS decoder, to the best of our | This RTP payload format and the TSVCIS decoder, to the best of our | |||
knowledge, do not exhibit any significant non-uniformity in the | knowledge, do not exhibit any significant non-uniformity in the | |||
receiver-side computational complexity for packet processing and thus | receiver-side computational complexity for packet processing and thus | |||
are unlikely to pose a denial-of-service threat due to the receipt of | are unlikely to pose a denial-of-service threat due to the receipt of | |||
pathological data. Additionally, the RTP payload format does not | pathological data. Additionally, the RTP payload format does not | |||
contain any active content. | contain any active content. | |||
Please see the security considerations discussed in [RFC6562] | Please see the security considerations discussed in [RFC6562] | |||
regarding Voice Activity Detect (VAD) and its effect on bitrates. | regarding Voice Activity Detect (VAD) and its effect on bitrates. | |||
10. References | 9. References | |||
10.1. Normative References | 9.1. Normative References | |||
[MELP] Department of Defense, "Analog-to-Digital Conversion of | ||||
Voice by 2,400 Bit/Second Mixed Excitation Linear | ||||
Prediction (MELP)", Department of Defense | ||||
Telecommunications Standard MIL-STD-3005, December 1999. | ||||
[MELPE] North Atlantic Treaty Organization (NATO), "The 600 Bit/S, | ||||
1200 Bit/S and 2400 Bit/S NATO Interoperable Narrow Band | ||||
Voice Coder", STANAG No. 4591, October 2008. | ||||
[NRLVDR] Heide, D., Cohen, A., Lee, Y., and T. Moran, "Universal | ||||
Vocoder Using Variable Data Rate Vocoding", | ||||
DOI 10.21236/ada588068, Naval Research Lab NRL/FR/5555-- | ||||
13-10, 239, June 2013, | ||||
<https://doi.org/10.21236/ada588068>. | ||||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
<http://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | ||||
2119 Key Words", BCP 14, RFC 8174, May 2017, | ||||
<http://www.rfc-editor.org/info/rfc8174>. | ||||
[RFC2736] Handley, M. and C. Perkins, "Guidelines for Writers of RTP | [RFC2736] Handley, M. and C. Perkins, "Guidelines for Writers of RTP | |||
Payload Format Specifications", BCP 36, RFC 2736, | Payload Format Specifications", BCP 36, RFC 2736, | |||
DOI 10.17487/RFC2736, December 1999, | DOI 10.17487/RFC2736, December 1999, | |||
<http://www.rfc-editor.org/info/rfc2736>. | <https://www.rfc-editor.org/info/rfc2736>. | |||
[RFC8088] Westerlund, M., "How to Write an RTP Payload Format", | ||||
RFC 8088, DOI 10.17487/RFC8088, May 2017, | ||||
<http://www.rfc-editor.org/info/rfc8088>. | ||||
[RFC3264] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model | [RFC3264] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model | |||
with Session Description Protocol (SDP)", RFC 3264, | with Session Description Protocol (SDP)", RFC 3264, | |||
DOI 10.17487/RFC3264, June 2002, | DOI 10.17487/RFC3264, June 2002, | |||
<http://www.rfc-editor.org/info/rfc3264>. | <https://www.rfc-editor.org/info/rfc3264>. | |||
[RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V. | [RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V. | |||
Jacobson, "RTP: A Transport Protocol for Real-Time | Jacobson, "RTP: A Transport Protocol for Real-Time | |||
Applications", STD 64, RFC 3550, DOI 10.17487/RFC3550, | Applications", STD 64, RFC 3550, DOI 10.17487/RFC3550, | |||
July 2003, <http://www.rfc-editor.org/info/rfc3550>. | July 2003, <https://www.rfc-editor.org/info/rfc3550>. | |||
[RFC3551] Schulzrinne, H. and S. Casner, "RTP Profile for Audio and | [RFC3551] Schulzrinne, H. and S. Casner, "RTP Profile for Audio and | |||
Video Conferences with Minimal Control", STD 65, RFC 3551, | Video Conferences with Minimal Control", STD 65, RFC 3551, | |||
DOI 10.17487/RFC3551, July 2003, | DOI 10.17487/RFC3551, July 2003, | |||
<http://www.rfc-editor.org/info/rfc3551>. | <https://www.rfc-editor.org/info/rfc3551>. | |||
[RFC8130] Demjanenko, V., and D. Satterlee, "RTP Payload Format for | ||||
the Mixed Excitation Linear Prediction Enhanced (MELPe) | ||||
Codec", RFC 8130, DOI 10.tbd/RFC8130, March 2017, | ||||
<http://www.rfc-editor.org/info/rfc8130>. | ||||
[RFC3711] Baugher, M., McGrew, D., Naslund, M., Carrara, E., and K. | [RFC3711] Baugher, M., McGrew, D., Naslund, M., Carrara, E., and K. | |||
Norrman, "The Secure Real-time Transport Protocol (SRTP)", | Norrman, "The Secure Real-time Transport Protocol (SRTP)", | |||
RFC 3711, DOI 10.17487/RFC3711, March 2004, | RFC 3711, DOI 10.17487/RFC3711, March 2004, | |||
<http://www.rfc-editor.org/info/rfc3711>. | <https://www.rfc-editor.org/info/rfc3711>. | |||
[RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session | [RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session | |||
Description Protocol", RFC 4566, DOI 10.17487/RFC4566, | Description Protocol", RFC 4566, DOI 10.17487/RFC4566, | |||
July 2006, <http://www.rfc-editor.org/info/rfc4566>. | July 2006, <https://www.rfc-editor.org/info/rfc4566>. | |||
[RFC4855] Casner, S., "Media Type Registration of RTP Payload | [RFC4855] Casner, S., "Media Type Registration of RTP Payload | |||
Formats", RFC 4855, DOI 10.17487/RFC4855, February 2007, | Formats", RFC 4855, DOI 10.17487/RFC4855, February 2007, | |||
<http://www.rfc-editor.org/info/rfc4855>. | <https://www.rfc-editor.org/info/rfc4855>. | |||
[RFC5124] Ott, J. and E. Carrara, "Extended Secure RTP Profile for | [RFC5124] Ott, J. and E. Carrara, "Extended Secure RTP Profile for | |||
Real-time Transport Control Protocol (RTCP)-Based Feedback | Real-time Transport Control Protocol (RTCP)-Based Feedback | |||
(RTP/SAVPF)", RFC 5124, DOI 10.17487/RFC5124, | (RTP/SAVPF)", RFC 5124, DOI 10.17487/RFC5124, February | |||
February 2008, <http://www.rfc-editor.org/info/rfc5124>. | 2008, <https://www.rfc-editor.org/info/rfc5124>. | |||
[RFC6562] Perkins, C. and JM. Valin, "Guidelines for the Use of | [RFC6562] Perkins, C. and JM. Valin, "Guidelines for the Use of | |||
Variable Bit Rate Audio with Secure RTP", RFC 6562, | Variable Bit Rate Audio with Secure RTP", RFC 6562, | |||
DOI 10.17487/RFC6562, March 2012, | DOI 10.17487/RFC6562, March 2012, | |||
<http://www.rfc-editor.org/info/rfc6562>. | <https://www.rfc-editor.org/info/rfc6562>. | |||
[RFC6838] Freed, N., Klensin, J., and T. Hansen, "Media Type | [RFC6838] Freed, N., Klensin, J., and T. Hansen, "Media Type | |||
Specifications and Registration Procedures", BCP 13, | Specifications and Registration Procedures", BCP 13, | |||
RFC 6838, DOI 10.17487/RFC6838, January 2013, | RFC 6838, DOI 10.17487/RFC6838, January 2013, | |||
<http://www.rfc-editor.org/info/rfc6838>. | <https://www.rfc-editor.org/info/rfc6838>. | |||
[RFC8083] Perkins, C. and V. Singh, "Multimedia Congestion Control: | [RFC8083] Perkins, C. and V. Singh, "Multimedia Congestion Control: | |||
Circuit Breakers for Unicast RTP Sessions", RFC 8083, | Circuit Breakers for Unicast RTP Sessions", RFC 8083, | |||
DOI 10.17487/RFC8083, March 2017, | DOI 10.17487/RFC8083, March 2017, | |||
<http://www.rfc-editor.org/info/rfc8083>. | <https://www.rfc-editor.org/info/rfc8083>. | |||
[RFC8085] Eggert, L., Fairhurst, G., and G. Shepherd, "UDP Usage | [RFC8085] Eggert, L., Fairhurst, G., and G. Shepherd, "UDP Usage | |||
Guidelines", RFC 8085, DOI 10.17487/RFC8085, March 2017, | Guidelines", BCP 145, RFC 8085, DOI 10.17487/RFC8085, | |||
<http://www.rfc-editor.org/info/rfc8085>. | March 2017, <https://www.rfc-editor.org/info/rfc8085>. | |||
[NRLVDR] Heide, D., Cohen, A., Lee, Y., and T. Moran, "Universal | [RFC8088] Westerlund, M., "How to Write an RTP Payload Format", | |||
Vocoder Using Variable Data Rate Vocoding", Naval Research | RFC 8088, DOI 10.17487/RFC8088, May 2017, | |||
Lab, NRL/FR/5555-13-10,239, June 2013. | <https://www.rfc-editor.org/info/rfc8088>. | |||
[MELP] Department of Defense Telecommunications Standard, | [RFC8130] Demjanenko, V. and D. Satterlee, "RTP Payload Format for | |||
"Analog-to-Digital Conversion of Voice by 2,400 Bit/Second | the Mixed Excitation Linear Prediction Enhanced (MELPe) | |||
Mixed Excitation Linear Prediction (MELP)", MIL-STD-3005, | Codec", RFC 8130, DOI 10.17487/RFC8130, March 2017, | |||
December 1999. | <https://www.rfc-editor.org/info/rfc8130>. | |||
[MELPE] North Atlantic Treaty Organization (NATO), "The 600 Bit/S, | [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | |||
1200 Bit/S and 2400 Bit/S NATO Interoperable Narrow Band | 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | |||
Voice Coder", STANAG No. 4591, January 2006. | May 2017, <https://www.rfc-editor.org/info/rfc8174>. | |||
[SCIP210] National Security Agency, "SCIP Signaling Plan", SCIP-210, | [SCIP210] National Security Agency, "SCIP Signaling Plan", SCIP-210, | |||
December 2007. | January 2013. | |||
10.2. Informative References | ||||
[TSVCIS] National Security Agency, "Tactical Secure Voice | 9.2. Informative References | |||
Cryptographic Interoperability Specification (TSVCIS) | ||||
Version 3.1", NSA 09-01A, March 2019. | ||||
[RFC4585] Ott, J., Wenger, S., Sato, N., Burmeister, C., and J. Rey, | [RFC4585] Ott, J., Wenger, S., Sato, N., Burmeister, C., and J. Rey, | |||
"Extended RTP Profile for Real-time Transport Control | "Extended RTP Profile for Real-time Transport Control | |||
Protocol (RTCP)-Based Feedback (RTP/AVPF)", RFC 4585, | Protocol (RTCP)-Based Feedback (RTP/AVPF)", RFC 4585, | |||
DOI 10.17487/RFC4585, July 2006, | DOI 10.17487/RFC4585, July 2006, | |||
<http://www.rfc-editor.org/info/rfc4585>. | <https://www.rfc-editor.org/info/rfc4585>. | |||
[RFC7201] Westerlund, M. and C. Perkins, "Options for Securing RTP | [RFC7201] Westerlund, M. and C. Perkins, "Options for Securing RTP | |||
Sessions", RFC 7201, DOI 10.17487/RFC7201, April 2014, | Sessions", RFC 7201, DOI 10.17487/RFC7201, April 2014, | |||
<http://www.rfc-editor.org/info/rfc7201>. | <https://www.rfc-editor.org/info/rfc7201>. | |||
[RFC7202] Perkins, C. and M. Westerlund, "Securing the RTP | [RFC7202] Perkins, C. and M. Westerlund, "Securing the RTP | |||
Framework: Why RTP Does Not Mandate a Single Media | Framework: Why RTP Does Not Mandate a Single Media | |||
Security Solution", RFC 7202, DOI 10.17487/RFC7202, | Security Solution", RFC 7202, DOI 10.17487/RFC7202, April | |||
April 2014, <http://www.rfc-editor.org/info/rfc7202>. | 2014, <https://www.rfc-editor.org/info/rfc7202>. | |||
[RMCAT] IETF, RTP Media Congestion Avoidance Techniques (rmcat) | [RMCAT] IETF, "RTP Media Congestion Avoidance Techniques (rmcat) | |||
Working Group, | Working Group", | |||
<https://datatracker.ietf.org/wg/rmcat/about/>. | <https://datatracker.ietf.org/wg/rmcat/about/>. | |||
[TSVCIS] National Security Agency, "Tactical Secure Voice | ||||
Cryptographic Interoperability Specification (TSVCIS) | ||||
Version 3.1", NSA 09-01A, March 2019. | ||||
Authors' Addresses | Authors' Addresses | |||
Victor Demjanenko, Ph.D. | Victor Demjanenko, Ph.D. | |||
VOCAL Technologies, Ltd. | VOCAL Technologies, Ltd. | |||
520 Lee Entrance, Suite 202 | 520 Lee Entrance, Suite 202 | |||
Buffalo, NY 14228 | Buffalo, NY 14228 | |||
United States of America | United States of America | |||
Phone: +1 716 688 4675 | Phone: +1 716 688 4675 | |||
Email: victor.demjanenko@vocal.com | Email: victor.demjanenko@vocal.com | |||
John Punaro | John Punaro | |||
VOCAL Technologies, Ltd. | VOCAL Technologies, Ltd. | |||
End of changes. 119 change blocks. | ||||
294 lines changed or deleted | 335 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |