| rfc8817xml2.original.xml | rfc8817.xml | |||
|---|---|---|---|---|
| <?xml version='1.0' encoding='utf-8'?> | <?xml version='1.0' encoding='utf-8'?> | |||
| <!DOCTYPE rfc SYSTEM "rfc2629.dtd" [ | <!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent"> | |||
| <!ENTITY RFC2119 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF | ||||
| C.2119.xml"> | ||||
| <!ENTITY RFC8174 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF | ||||
| C.8174.xml"> | ||||
| <!ENTITY RFC2736 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF | ||||
| C.2736.xml"> | ||||
| <!ENTITY RFC8088 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF | ||||
| C.8088.xml"> | ||||
| <!ENTITY RFC3264 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF | ||||
| C.3264.xml"> | ||||
| <!ENTITY RFC3550 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF | ||||
| C.3550.xml"> | ||||
| <!ENTITY RFC3551 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF | ||||
| C.3551.xml"> | ||||
| <!ENTITY RFC8130 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF | ||||
| C.8130.xml"> | ||||
| <!ENTITY RFC3711 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF | ||||
| C.3711.xml"> | ||||
| <!ENTITY RFC4566 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF | ||||
| C.4566.xml"> | ||||
| <!ENTITY RFC4855 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF | ||||
| C.4855.xml"> | ||||
| <!ENTITY RFC5124 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF | ||||
| C.5124.xml"> | ||||
| <!ENTITY RFC6562 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF | ||||
| C.6562.xml"> | ||||
| <!ENTITY RFC6838 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF | ||||
| C.6838.xml"> | ||||
| <!ENTITY RFC8083 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF | ||||
| C.8083.xml"> | ||||
| <!ENTITY RFC8085 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF | ||||
| C.8085.xml"> | ||||
| <!ENTITY RFC4585 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF | ||||
| C.4585.xml"> | ||||
| <!ENTITY RFC7201 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF | ||||
| C.7201.xml"> | ||||
| <!ENTITY RFC7202 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF | ||||
| C.7202.xml"> | ||||
| ]> | ||||
| <rfc submissionType="IETF" docName="draft-ietf-payload-tsvcis-05" category="std" | ||||
| ipr="trust200902"> | ||||
| <!-- Generated by id2xml 1.5.0 on 2020-07-02T22:03:45Z --> | ||||
| <?rfc strict="yes"?> | ||||
| <?rfc compact="yes"?> | ||||
| <?rfc subcompact="no"?> | ||||
| <?rfc symrefs="yes"?> | ||||
| <?rfc sortrefs="no"?> | ||||
| <?rfc text-list-symbols="o*+-"?> | ||||
| <?rfc toc="yes"?> | ||||
| <front> | ||||
| <title>RTP Payload Format for TSVCIS Codec</title> | ||||
| <author initials="V." surname="Demjanenko" fullname="Victor Demjanenko, P | <rfc xmlns:xi="http://www.w3.org/2001/XInclude" submissionType="IETF" | |||
| h.D."> | docName="draft-ietf-payload-tsvcis-05" category="std" ipr="trust200902" | |||
| <organization>VOCAL Technologies, Ltd.</organization> | obsoletes="" updates="" xml:lang="en" symRefs="true" sortRefs="true" | |||
| <address> | tocInclude="true" version="3" number="8817" consensus="yes"> | |||
| <postal> | ||||
| <street>520 Lee Entrance</street> | ||||
| <street>Suite 202</street> | ||||
| <city>Buffalo</city><region>NY</region><code>14228</code> | ||||
| <country>United States of America</country> | ||||
| </postal> | ||||
| <phone>+1 716 688 4675</phone> | ||||
| <email>victor.demjanenko@vocal.com</email> | ||||
| </address> | ||||
| </author> | ||||
| <author initials="J." surname="Punaro" fullname="John Punaro"> | <!-- xml2rfc v2v3 conversion 2.46.0 --> | |||
| <organization>VOCAL Technologies, Ltd.</organization> | <!-- Generated by id2xml 1.5.0 on 2020-07-02T22:03:45Z --> | |||
| <address> | <front> | |||
| <postal> | ||||
| <street>520 Lee Entrance</street> | ||||
| <street>Suite 202</street> | ||||
| <city>Buffalo</city><region>NY</region><code>14228</code> | ||||
| <country>United States of America</country> | ||||
| </postal> | ||||
| <phone>+1 716 688 4675</phone> | ||||
| <email>john.punaro@vocal.com</email> | ||||
| </address> | ||||
| </author> | ||||
| <author initials="D." surname="Satterlee" fullname="David Satterlee"> | <title abbrev="RTP Payload Format for TSVCIS Codec">RTP Payload Format for | |||
| <organization>VOCAL Technologies, Ltd.</organization> | Tactical Secure Voice Cryptographic Interoperability Specification | |||
| <address> | (TSVCIS) Codec</title> | |||
| <postal> | <seriesInfo name="RFC" value="8817"/> | |||
| <street>520 Lee Entrance</street> | <author initials="V." surname="Demjanenko" fullname="Victor Demjanenko, Ph.D | |||
| <street>Suite 202</street> | ."> | |||
| <city>Buffalo</city><region>NY</region><code>14228</code> | <organization>VOCAL Technologies, Ltd.</organization> | |||
| <country>United States of America</country> | <address> | |||
| </postal> | <postal> | |||
| <phone>+1 716 688 4675</phone> | <street>520 Lee Entrance, Suite 202</street> | |||
| <email>david.satterlee@vocal.com</email> | <city>Buffalo</city> | |||
| </address> | <region>NY</region> | |||
| </author> | <code>14228</code> | |||
| <country>United States of America</country> | ||||
| </postal> | ||||
| <phone>+1 716 688 4675</phone> | ||||
| <email>victor.demjanenko@vocal.com</email> | ||||
| </address> | ||||
| </author> | ||||
| <author initials="J." surname="Punaro" fullname="John Punaro"> | ||||
| <organization>VOCAL Technologies, Ltd.</organization> | ||||
| <address> | ||||
| <postal> | ||||
| <street>520 Lee Entrance, Suite 202</street> | ||||
| <city>Buffalo</city> | ||||
| <region>NY</region> | ||||
| <code>14228</code> | ||||
| <country>United States of America</country> | ||||
| </postal> | ||||
| <phone>+1 716 688 4675</phone> | ||||
| <email>john.punaro@vocal.com</email> | ||||
| </address> | ||||
| </author> | ||||
| <author initials="D." surname="Satterlee" fullname="David Satterlee"> | ||||
| <organization>VOCAL Technologies, Ltd.</organization> | ||||
| <address> | ||||
| <postal> | ||||
| <street>520 Lee Entrance, Suite 202</street> | ||||
| <city>Buffalo</city> | ||||
| <region>NY</region> | ||||
| <code>14228</code> | ||||
| <country>United States of America</country> | ||||
| </postal> | ||||
| <phone>+1 716 688 4675</phone> | ||||
| <email>david.satterlee@vocal.com</email> | ||||
| </address> | ||||
| </author> | ||||
| <date year="2020" month="August"/> | ||||
| <workgroup>Payload Working Group</workgroup> | ||||
| <date year="2020" month="July"/> | <keyword>MELP</keyword> | |||
| <workgroup>Payload Working Group</workgroup> | <keyword>MELPe</keyword> | |||
| <abstract><t> | <keyword>TSVCIS</keyword> | |||
| <keyword>NRLVDR</keyword> | ||||
| <keyword>Naval Research Laboratory</keyword> | ||||
| <keyword>NRL</keyword> | ||||
| <keyword>NATO</keyword> | ||||
| <keyword>TSVWG</keyword> | ||||
| <keyword>Department of Defense</keyword> | ||||
| <keyword>DoD</keyword> | ||||
| <keyword>NSA</keyword> | ||||
| <keyword>MIL-STD</keyword> | ||||
| <abstract> | ||||
| <t> | ||||
| This document describes the RTP payload format for the Tactical | This document describes the RTP payload format for the Tactical | |||
| Secure Voice Cryptographic Interoperability Specification (TSVCIS) | Secure Voice Cryptographic Interoperability Specification (TSVCIS) | |||
| speech coder. TSVCIS is a scalable narrowband voice coder supporting | speech coder. TSVCIS is a scalable narrowband voice coder supporting | |||
| varying encoder data rates and fallbacks. It is implemented as an | varying encoder data rates and fallbacks. It is implemented as an | |||
| augmentation to the Mixed Excitation Linear Prediction Enhanced | augmentation to the Mixed Excitation Linear Prediction Enhanced | |||
| (MELPe) speech coder by conveying additional speech coder parameters | (MELPe) speech coder by conveying additional speech coder parameters | |||
| for enhancing voice quality. TSVCIS augmented speech data is | to enhance voice quality. TSVCIS augmented speech data is | |||
| processed in conjunction with its temporal matched MELP 2400 speech | processed in conjunction with its temporally matched Mixed Excitation Linear | |||
| data. The RTP packetization of TSVCIS and MELPe speech coder data is | Prediction (MELP) 2400 speech data. The RTP packetization of TSVCIS and | |||
| described in detail.</t> | MELPe speech coder data is described in detail.</t> | |||
| </abstract> | ||||
| </abstract> | </front> | |||
| </front> | <middle> | |||
| <section anchor="sect-1" numbered="true" toc="default"> | ||||
| <middle> | <name>Introduction</name> | |||
| <section title="Introduction" anchor="sect-1"><t> | <t> | |||
| 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 <xref target="TSVCIS"/> <xref target="NRLVDR"/> | produced by the TSVCIS codec <xref target="TSVCIS" format="default"/> <xref t | |||
| may be formatted for | arget="NRLVDR" format="default"/> 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 commu | |||
| aware communications equipment on any intervening transport link) may | nications 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.</t> | coder for the most constrained bandwidth links.</t> | |||
| <t> | ||||
| <t> | ||||
| 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.</t> | tolerance.</t> | |||
| <section anchor="sect-1.1" numbered="true" toc="default"> | ||||
| <section title="Conventions" anchor="sect-1.1"><t> | <name>Conventions</name> | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | <t> | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", | |||
| "OPTIONAL" in this document are to be interpreted as described in | "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL NOT</bcp14> | |||
| BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, | ", | |||
| they appear in all | "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", | |||
| capitals, as shown here.</t> | "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", | |||
| "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to | ||||
| <t> | be interpreted as | |||
| described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> | ||||
| when, and only when, they appear in all capitals, as shown here. | ||||
| </t> | ||||
| <t> | ||||
| Best current practices for writing an RTP payload format | Best current practices for writing an RTP payload format | |||
| specification were followed <xref target="RFC2736"/> <xref target="RFC8088"/> | specification were followed <xref target="RFC2736" format="default"/> <xref t | |||
| .</t> | arget="RFC8088" format="default"/>.</t> | |||
| </section> | ||||
| </section> | ||||
| </section> | <section anchor="sect-1.2" numbered="true" toc="default"> | |||
| <name>Abbreviations</name> | ||||
| <t>The following abbreviations are used in this document.</t> | ||||
| <dl newline="false" indent="10" spacing="normal"> | ||||
| <dt>AVP:</dt><dd>Audio/Video Profile</dd> | ||||
| <dt>AVPF:</dt><dd>Audio/Video Profile Feedback</dd> | ||||
| <dt>CELP:</dt><dd>Code-Excited Linear Prediction</dd> | ||||
| <dt>FEC:</dt><dd>Forward Error Correction</dd> | ||||
| <dt>LPC:</dt><dd>Linear-Predictive Coding</dd> | ||||
| <dt>LSB:</dt><dd>Least Significant Bit</dd> | ||||
| <dt>MELP:</dt><dd>Mixed Excitation Linear Prediction</dd> | ||||
| <dt>MELPe:</dt><dd>Mixed Excitation Linear Prediction Enhanced</dd> | ||||
| <dt>MSB:</dt><dd>Most Significant Bit</dd> | ||||
| <dt>MTC:</dt><dd>Modified Count</dd> | ||||
| <dt>NATO:</dt><dd>North American Treaty Organization</dd> | ||||
| <dt>NRL:</dt><dd>Naval Research Lab</dd> | ||||
| <dt>PLC:</dt><dd>Packet Loss Concealment</dd> | ||||
| <dt>SAVP:</dt><dd>Secure Audio/Video Profile</dd> | ||||
| <dt>SAVPF:</dt><dd>Secure Audio/Video Profile Feedback</dd> | ||||
| <dt>SDP:</dt><dd>Session Description Protocol</dd> | ||||
| <dt>SSRC:</dt><dd>Synchronization Source</dd> | ||||
| <dt>SRTP:</dt><dd>Secure Real-Time Transport Protocol</dd> | ||||
| <dt>TSVCIS:</dt><dd>Tactical Secure Voice Cryptographic Interoperability Specifi | ||||
| cation</dd> | ||||
| <dt>VAD:</dt><dd>Voice Activity Detect</dd> | ||||
| <dt>VDR:</dt><dd>Variable Date Rate</dd> | ||||
| </dl> | ||||
| <section title="Background" anchor="sect-2"><t> | </section> | |||
| </section> | ||||
| <section anchor="sect-2" numbered="true" toc="default"> | ||||
| <name>Background</name> | ||||
| <t> | ||||
| 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 <xref target="MELP"/>. ("LPC" stands for "Linear-Predictive C oding", | communications <xref target="MELP" format="default"/>. ("LPC" stands for "Li near-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 by | |||
| its members and Partnership for Peace countries for military and | 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 <xref target="MELPE"/>.</t> | STANAG 4591 <xref target="MELPE" format="default"/>.</t> | |||
| <t> | ||||
| <t> | ||||
| 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 <xref target="TSVCIS"/>. One of the most important aspects is that t | Defense <xref target="TSVCIS" format="default"/>. One of the most important | |||
| he | 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 the Naval | |||
| Naval Research Lab's (NRL's) Variable Date Rate (VDR) Vocoder which | Research Lab's (NRL's) Variable Date Rate (VDR) Vocoder, which | |||
| uses the MELPe standard as its base <xref target="NRLVDR"/>. A complete TSVC | uses the MELPe standard as its base <xref target="NRLVDR" format="default"/>. | |||
| IS | A complete TSVCIS | |||
| speech frame consists of MELPe speech parameters and corresponding | speech frame consists of MELPe speech parameters and corresponding | |||
| TSVCIS augmented speech data.</t> | TSVCIS augmented speech data.</t> | |||
| <t> | ||||
| <t> | ||||
| 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), VPNs, FI PS 140 link encryptors, or Type | |||
| 1 Ethernet encryptors) would be used to secure the RTP speech | 1 Ethernet encryptors) would be used to secure the RTP speech | |||
| contents.</t> | contents.</t> | |||
| <t> | <t> | |||
| 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 this specification, only the general parameter nature of | purposes of this specification, only the general parameter nature of | |||
| TSVCIS will be characterized. Depending on the bandwidth available | TSVCIS will be characterized. Depending on the bandwidth available | |||
| (and FEC requirements), a varying number of TSVCIS-specific speech | (and FEC requirements), a varying number of TSVCIS-specific speech | |||
| coder parameters need to be transported. These are first byte-packed | coder parameters need to be transported. These are first byte-packed | |||
| and then conveyed from encoder to decoder.</t> | and then conveyed from encoder to decoder.</t> | |||
| <t> | ||||
| <t> | ||||
| 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:</t> | processed as per the following example, where</t> | |||
| <dl><dt>Three-bit field:</dt><dd>Bits A, B, and C (A is MSB; C is LSB)</dd> | ||||
| <figure><artwork><![CDATA[ | <dt>Five-bit field:</dt><dd>Bits D, E, F, G, and H (D is MSB; H is LSB)</dd | |||
| 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) | </dl> | |||
| <artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
| 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 | | |||
| +------+------+------+------+------+------+------+------+ | +------+------+------+------+------+------+------+------+ | |||
| ]]></artwork> | ]]></artwork> | |||
| </figure> | <t> | |||
| <t> | ||||
| 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.</t> | Any unfilled bits in the last octet <bcp14>MUST</bcp14> be filled with | |||
| zero.</t> | ||||
| <t> | <t> | |||
| 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 packed TSVCIS parameters. The encoding to do so is presented in | the TSVCIS packed parameters. The encoding to do so is presented in | |||
| <xref target="sect-3.2"/>. TSVCIS specifically uses the NRL VDR in two | <xref target="sect-3.2" format="default"/>. TSVCIS specifically uses the NRL | |||
| configurations using a fixed set of 15 and 35 packed octet | VDR in two | |||
| parameters in a standardized order <xref target="TSVCIS"/>.</t> | configurations with a fixed set of 15 and 35 packed octet | |||
| parameters in a standardized order <xref target="TSVCIS" format="default"/>.< | ||||
| </section> | /t> | |||
| </section> | ||||
| <section title="Payload Format" anchor="sect-3"><t> | <section anchor="sect-3" numbered="true" toc="default"> | |||
| The TSVCIS codec augments the standard MELP 2400, 1200 and 600 | <name>Payload Format</name> | |||
| <t> | ||||
| 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 <bcp14>MUST</bcp14> be in units of 1/8000 | |||
| of a second.</t> | of a second.</t> | |||
| <t> | ||||
| <t> | The RTP payload for TSVCIS has the format shown in <xref target="fig-1"/>. N | |||
| The RTP payload for TSVCIS has the format shown in Figure 1. No | o | |||
| 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.</t> | send one or more codec data frames per packet.</t> | |||
| <figure anchor="fig-1"> | ||||
| <figure title="Packet Format Diagram" anchor="fig-1"><artwork><![CDATA[ | <name>Packet Format Diagram</name> | |||
| 0 1 2 3 | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
| 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 | |||
| 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 | | |||
| | | | | | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ]]></artwork> | ]]></artwork> | |||
| </figure> | </figure> | |||
| <t> | <t> | |||
| 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 <xref target="RFC3550"/>. The usage of the M | expected values as described in <xref target="RFC3550" format="default"/>. T | |||
| bit | he usage of the M bit | |||
| SHOULD be as specified in the applicable RTP profile -- for example, | <bcp14>SHOULD</bcp14> be as specified in the applicable RTP profile -- for ex | |||
| <xref target="RFC3551"/>, where <xref target="RFC3551"/> specifies that if th | ample, | |||
| e sender does not | <xref target="RFC3551" format="default"/> specifies that if the sender does n | |||
| ot | ||||
| suppress silence (i.e., sends a frame on every frame interval), the | suppress silence (i.e., sends a frame on every frame interval), the | |||
| M bit will always be zero. When more than one codec data frame is | M bit will always be zero. When more than one codec data frame is | |||
| present in a single RTP packet, the timestamp specified is that of | present in a single RTP packet, the timestamp specified is that of | |||
| the oldest data frame represented in the RTP packet.</t> | the oldest data frame represented in the RTP packet.</t> | |||
| <t> | ||||
| <t> | ||||
| 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. It | |||
| is expected that the RTP profile for a particular class of | 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 not done, then a payload type in the dynamic range shall be chosen | is not done, then a payload type in the dynamic range shall be chosen | |||
| by the sender.</t> | by the sender.</t> | |||
| <section anchor="sect-3.1" numbered="true" toc="default"> | ||||
| <section title="MELPe Bitstream Definitions" anchor="sect-3.1"><t> | <name>MELPe Bitstream Definitions</name> | |||
| The TCVCIS speech coder includes all three MELPe coder rates used as | <t> | |||
| base speech parameters or as speech coders for bandwidth restricted | The TSVCIS speech coder includes all three MELPe coder rates used as | |||
| links. RTP packetization of MELPe follows RFC 8130 and is repeated | base speech parameters or as speech coders for bandwidth-restricted | |||
| here for all three MELPe rates <xref target="RFC8130"/> with its recommendati | links. RTP packetization of MELPe follows <xref target="RFC8130"/> and is re | |||
| ons now | peated | |||
| here for all three MELPe rates <xref target="RFC8130" format="default"/>, wit | ||||
| h its recommendations now | ||||
| regarded as requirements. The bits previously labeled as RSVA, RSVB, | regarded as requirements. The bits previously labeled as RSVA, RSVB, | |||
| and RSVC in RFC 8130 SHOULD be filled with rate coding, CODA, CODB, | and RSVC in <xref target="RFC8130"/> <bcp14>SHOULD</bcp14> be filled with | |||
| and CODC, as shown in Table 1 (compatible with Table 7 in Section 3.3 | rate code bits CODA, CODB, | |||
| of <xref target="RFC8130"/>).</t> | and CODC, as shown in <xref target="tab-1"/> (compatible with Table 7 in <xre | |||
| f target="RFC8130" sectionFormat="of" section="3.3"/>).</t> | ||||
| <texttable title="TSVCIS/MELPe Frame Bitrate Indicators and Frame Length" | <table anchor="tab-1" align="center"> | |||
| anchor="tab-1" style="all"><ttcol> Coder Bitrate</ttcol> | <name>TSVCIS/MELPe Frame Bitrate Indicators and Frame Length</name> | |||
| <ttcol> CODA</ttcol> | <thead> | |||
| <ttcol> CODB</ttcol> | <tr> | |||
| <ttcol> CODC</ttcol> | <th align="left">Coder Bitrate</th> | |||
| <ttcol> Length</ttcol> | <th align="left">CODA</th> | |||
| <c>2400 bps</c> | <th align="left">CODB</th> | |||
| <c>0</c> | <th align="left">CODC</th> | |||
| <c>0</c> | <th align="left">Length</th> | |||
| <c>N/A</c> | </tr> | |||
| <c>7</c> | </thead> | |||
| <c>1200 bps</c> | <tbody> | |||
| <c>1</c> | <tr> | |||
| <c>0</c> | <td align="left">2400 bps</td> | |||
| <c>0</c> | <td align="left">0</td> | |||
| <c>11</c> | <td align="left">0</td> | |||
| <c>600 bps</c> | <td align="left">N/A</td> | |||
| <c>0</c> | <td align="left">7</td> | |||
| <c>1</c> | </tr> | |||
| <c>N/A</c> | <tr> | |||
| <c>7</c> | <td align="left">1200 bps</td> | |||
| <c>Comfort Noise</c> | <td align="left">1</td> | |||
| <c>1</c> | <td align="left">0</td> | |||
| <c>0</c> | <td align="left">0</td> | |||
| <c>1</c> | <td align="left">11</td> | |||
| <c>2</c> | </tr> | |||
| <c>TSVCIS data</c> | <tr> | |||
| <c>1</c> | <td align="left">600 bps</td> | |||
| <c>1</c> | <td align="left">0</td> | |||
| <c>N/A</c> | <td align="left">1</td> | |||
| <c>var.</c> | <td align="left">N/A</td> | |||
| </texttable> | <td align="left">7</td> | |||
| <t> | </tr> | |||
| <tr> | ||||
| <td align="left">Comfort Noise</td> | ||||
| <td align="left">1</td> | ||||
| <td align="left">0</td> | ||||
| <td align="left">1</td> | ||||
| <td align="left">2</td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td align="left">TSVCIS Data</td> | ||||
| <td align="left">1</td> | ||||
| <td align="left">1</td> | ||||
| <td align="left">N/A</td> | ||||
| <td align="left">var.</td> | ||||
| </tr> | ||||
| </tbody> | ||||
| </table> | ||||
| <t> | ||||
| 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 <xref target="sect-3.2"/>.</t> | in a trailing byte as discussed in <xref target="sect-3.2" format="default"/> | |||
| .</t> | ||||
| <t> | <t> | |||
| 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 <bcp14>MAY</bcp14> deviat | |||
| the value in Table 1 when bit 55 is used as an alternating 1/0 | e from | |||
| the value in <xref target="tab-1"/> when bit 55 is used as an alternating 1/0 | ||||
| end-to-end framing bit. Frame decoding would remain distinct as CODA | end-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 deduced | |||
| from the RTP timestamp (and anticipated by the SDP negotiations).</t> | from the RTP timestamp (and anticipated by the Session Description Protocol | |||
| (SDP) negotiations).</t> | ||||
| <section title="2400 bps Bitstream Structure" anchor="sect-3.1.1"><t> | <section anchor="sect-3.1.1" numbered="true" toc="default"> | |||
| The 2400 bps MELPe RTP payload is constructed as per Figure 2. Note | <name>2400 bps Bitstream Structure</name> | |||
| that CODA MUST be filled with 0 and CODB SHOULD be filled with 0 as | <t> | |||
| per <xref target="sect-3.1"/>. CODB MAY contain an end-to-end framing bit if | The 2400 bps MELPe RTP payload is constructed as per <xref target="fig-2"/>. | |||
| Note | ||||
| that CODA <bcp14>MUST</bcp14> be filled with 0 and CODB <bcp14>SHOULD</bcp14> | ||||
| be filled with 0 as | ||||
| per <xref target="sect-3.1" format="default"/>. CODB <bcp14>MAY</bcp14> cont | ||||
| ain an end-to-end framing bit if | ||||
| required by the endpoints.</t> | required by the endpoints.</t> | |||
| <figure anchor="fig-2"> | ||||
| <figure title="Packed MELPe 2400 bps Payload Octets" anchor="fig-2"><artw | <name>Packed MELPe 2400 bps Payload Octets</name> | |||
| ork><![CDATA[ | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
| 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 | | |||
| +------+------+------+------+------+------+------+------+ | +------+------+------+------+------+------+------+------+ | |||
| | 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 | | |||
| +------+------+------+------+------+------+------+------+ | +------+------+------+------+------+------+------+------+ | |||
| ]]></artwork> | ]]></artwork> | |||
| </figure> | </figure> | |||
| </section> | </section> | |||
| <section anchor="sect-3.1.2" numbered="true" toc="default"> | ||||
| <section title="1200 bps Bitstream Structure" anchor="sect-3.1.2"><t> | <name>1200 bps Bitstream Structure</name> | |||
| The 1200 bps MELPe RTP payload is constructed as per Figure 3. Note | <t> | |||
| that CODA, CODB, and CODC MUST be filled with 1, 0, and 0 | The 1200 bps MELPe RTP payload is constructed as per <xref target="fig-3"/>. | |||
| respectively as per <xref target="sect-3.1"/>. RSV0 MUST be coded as 0.</t> | Note | |||
| that CODA, CODB, and CODC <bcp14>MUST</bcp14> be filled with 1, 0, and 0, | ||||
| <figure title="Packed MELPe 1200 bps Payload Octets" anchor="fig-3"><artw | respectively, as per <xref target="sect-3.1" format="default"/>. RSV0 <bcp14 | |||
| ork><![CDATA[ | >MUST</bcp14> be coded as 0.</t> | |||
| <figure anchor="fig-3"> | ||||
| <name>Packed MELPe 1200 bps Payload Octets</name> | ||||
| <artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
| 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 | | |||
| +------+------+------+------+------+------+------+------+ | +------+------+------+------+------+------+------+------+ | |||
| | 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 | | |||
| skipping to change at line 363 ¶ | skipping to change at line 405 ¶ | |||
| +------+------+------+------+------+------+------+------+ | +------+------+------+------+------+------+------+------+ | |||
| | 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 | | |||
| +------+------+------+------+------+------+------+------+ | +------+------+------+------+------+------+------+------+ | |||
| ]]></artwork> | ]]></artwork> | |||
| </figure> | </figure> | |||
| </section> | </section> | |||
| <section anchor="sect-3.1.3" numbered="true" toc="default"> | ||||
| <section title="600 bps Bitstream Structure" anchor="sect-3.1.3"><t> | <name>600 bps Bitstream Structure</name> | |||
| The 600 bps MELPe RTP payload is constructed as per Figure 4. Note | <t> | |||
| CODA MUST be filled with 0 and CODB SHOULD be filled with 1 as per | The 600 bps MELPe RTP payload is constructed as per <xref target="fig-4"/>. | |||
| <xref target="sect-3.1"/>. CODB MAY contain an end-to-end framing bit if req | Note | |||
| uired | CODA <bcp14>MUST</bcp14> be filled with 0 and CODB <bcp14>SHOULD</bcp14> be f | |||
| illed with 1 as per | ||||
| <xref target="sect-3.1" format="default"/>. CODB <bcp14>MAY</bcp14> contain | ||||
| an end-to-end framing bit if required | ||||
| by the endpoints.</t> | by the endpoints.</t> | |||
| <figure anchor="fig-4"> | ||||
| <figure title="Packed MELPe 600 bps Payload Octets" anchor="fig-4"><artwo | <name>Packed MELPe 600 bps Payload Octets</name> | |||
| rk><![CDATA[ | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
| 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 | | |||
| +------+------+------+------+------+------+------+------+ | +------+------+------+------+------+------+------+------+ | |||
| | 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 | | |||
| +------+------+------+------+------+------+------+------+ | +------+------+------+------+------+------+------+------+ | |||
| ]]></artwork> | ]]></artwork> | |||
| </figure> | </figure> | |||
| </section> | </section> | |||
| <section anchor="sect-3.1.4" numbered="true" toc="default"> | ||||
| <section title="Comfort Noise Bitstream Definition" anchor="sect-3.1.4">< | <name>Comfort Noise Bitstream Definition</name> | |||
| t> | <t> | |||
| The comfort noise MELPe RTP payload is constructed as per Figure 5. | The comfort noise MELPe RTP payload is constructed as per <xref target="fig-5 | |||
| Note that CODA, CODB, and CODC MUST be filled with 1, 0, and 1 | "/>. | |||
| respectively as per <xref target="sect-3.1"/>.</t> | Note that CODA, CODB, and CODC <bcp14>MUST</bcp14> be filled with 1, 0, and 1 | |||
| , | ||||
| <figure title="Packed MELPe Comfort Noise Payload Octets" anchor="fig-5"> | respectively, as per <xref target="sect-3.1" format="default"/>.</t> | |||
| <artwork><![CDATA[ | <figure anchor="fig-5"> | |||
| <name>Packed MELPe Comfort Noise Payload Octets</name> | ||||
| <artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
| 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 | | |||
| +------+------+------+------+------+------+------+------+ | +------+------+------+------+------+------+------+------+ | |||
| ]]></artwork> | ]]></artwork> | |||
| </figure> | </figure> | |||
| </section> | </section> | |||
| </section> | ||||
| </section> | <section anchor="sect-3.2" numbered="true" toc="default"> | |||
| <name>TSVCIS Bitstream Definition</name> | ||||
| <section title="TSVCIS Bitstream Definition" anchor="sect-3.2"><t> | <t> | |||
| The TSVCIS augmented speech data as packed parameters MUST be placed | The TSVCIS augmented speech data as packed parameters <bcp14>MUST</bcp14> 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 <bcp14>SHOULD</bcp14> be used for TSVCIS payloads with TC | |||
| than or equal to 77 octets, and is shown in Figure 6. In the | less | |||
| preferred placement, a single trailing octet SHALL be appended to | than or equal to 77 octets; this is shown in <xref target="fig-6"/>. In the | |||
| include a two-bit rate code, CODA and CODB, (both bits set to one) | preferred placement, a single trailing octet <bcp14>SHALL</bcp14> be appended | |||
| to | ||||
| 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) <bcp14>SHALL NOT</bcp14> be use d 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) <bcp14>MUST</bcp14> 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 of | |||
| 62+15).</t> | 62+15).</t> | |||
| <figure anchor="fig-6"> | ||||
| <figure title="Preferred Packed TSVCIS Payload Octets" anchor="fig-6"><ar | <name>Preferred Packed TSVCIS Payload Octets</name> | |||
| twork><![CDATA[ | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
| 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 | | |||
| skipping to change at line 470 ¶ | skipping to change at line 517 ¶ | |||
| +------+------+------+------+------+------+------+------+ | +------+------+------+------+------+------+------+------+ | |||
| 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 | | |||
| +------+------+------+------+------+------+------+------+ | +------+------+------+------+------+------+------+------+ | |||
| ]]></artwork> | ]]></artwork> | |||
| </figure> | </figure> | |||
| <t> | <t> | |||
| 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 <bcp14>MUST</bcp14> use two trailing bytes as s | |||
| Figure 7. The last trailing byte MUST be filled with a two-bit rate | hown in | |||
| code, CODA and CODB, (both bits set to one) and its six-bit count | <xref target="fig-7"/>. The last trailing byte <bcp14>MUST</bcp14> be filled | |||
| field MUST be filled with ones. The second to last trailing byte | with a two-bit rate | |||
| MUST contain the parameter count (TC) in octets (a value from 1 and | code, CODA and CODB (both bits set to one), and its six-bit count | |||
| 255, inclusive). The value of zero SHALL be considered as reserved.</t> | field <bcp14>MUST</bcp14> be filled with ones. The second to last trailing b | |||
| yte | ||||
| <figure title="Length Unrestricted Packed TSVCIS Payload Octets" anchor=" | <bcp14>MUST</bcp14> contain the parameter count (TC) in octets (a value from | |||
| fig-7"><artwork><![CDATA[ | 1 and | |||
| 255, inclusive). The value of zero <bcp14>SHALL</bcp14> be considered as rese | ||||
| rved.</t> | ||||
| <figure anchor="fig-7"> | ||||
| <name>Length Unrestricted Packed TSVCIS Payload Octets</name> | ||||
| <artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
| 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 | | |||
| +------+------+------+------+------+------+------+------+ | +------+------+------+------+------+------+------+------+ | |||
| ]]></artwork> | ]]></artwork> | |||
| </figure> | </figure> | |||
| </section> | ||||
| <section title="Multiple TSVCIS Frames in an RTP Packet" anchor="sect-3.3 | </section> | |||
| "><t> | <section anchor="sect-3.3" numbered="true" toc="default"> | |||
| <name>Multiple TSVCIS Frames in an RTP Packet</name> | ||||
| <t> | ||||
| 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.</t> | determined by its rate code bits in its last octet.</t> | |||
| <t> | ||||
| <t> | ||||
| 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.</t> | the packet rate.</t> | |||
| <t> | ||||
| <t> | A TSVCIS RTP packet without coder and comfort noise frames <bcp14>MAY</bcp14> | |||
| A TSVCIS RTP packet without coder and comfort noise frames MAY be | be | |||
| used periodically by an endpoint to indicate connectivity by an | used periodically by an endpoint to indicate connectivity by an | |||
| otherwise idle receiver.</t> | otherwise idle receiver.</t> | |||
| <t> | ||||
| <t> | TSVCIS coder frames in a single RTP packet <bcp14>MAY</bcp14> have varying TS | |||
| TSVCIS coder frames in a single RTP packet MAY have varying TSVCIS | VCIS | |||
| 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 <bcp14>MUST</bcp14> 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.</t> | contents and length as per <xref target="tab-1"/>.</t> | |||
| <t> | ||||
| <t> | ||||
| It is important to observe that senders have the following additional | It is important to observe that senders have the following additional | |||
| restrictions:</t> | restrictions:</t> | |||
| <ul> | ||||
| <t> | <li>Senders <bcp14>SHOULD NOT</bcp14> include more TSVCIS or MELPe frames in | |||
| Senders SHOULD NOT include more TSVCIS or MELPe frames in a single | a single | |||
| RTP packet than will fit in the MTU of the RTP transport protocol.</t> | RTP packet than will fit in the MTU of the RTP transport protocol.</li> | |||
| <li> | ||||
| <t> | Frames <bcp14>MUST NOT</bcp14> be split between RTP packets.</li> | |||
| Frames MUST NOT be split between RTP packets.</t> | </ul> | |||
| <t> | ||||
| <t> | It is <bcp14>RECOMMENDED</bcp14> that the number of frames contained within a | |||
| It is RECOMMENDED that the number of frames contained within an RTP packet | n RTP packet | |||
| be consistent with the application. For example, in telephony and other | be consistent with the application. For example, in telephony and other | |||
| real-time applications where delay is important, then the fewer frames per | real-time applications where delay is important, the fewer frames per | |||
| packet the lower the delay, whereas for bandwidth-constrained links or | packet, the lower the delay. However, for bandwidth-constrained links or | |||
| delay-insensitive streaming messaging applications, more than one frame per | delay-insensitive streaming messaging applications, more than one frame per | |||
| packet or many frames per packet would be acceptable.</t> | packet or many frames per packet would be acceptable.</t> | |||
| <t> | ||||
| <t> | ||||
| 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.</t> | the RTP packet.</t> | |||
| </section> | ||||
| </section> | <section anchor="sect-3.4" numbered="true" toc="default"> | |||
| <name>Congestion Control Considerations</name> | ||||
| <section title="Congestion Control Considerations" anchor="sect-3.4"><t> | <t> | |||
| 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 care.</t> | with care.</t> | |||
| <t> | ||||
| <t> | ||||
| 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 <bcp14>SHOULD</bcp14> implement their own congestion control abo | |||
| UDP layer <xref target="RFC8085"/> and MAY also implement a transport circuit | ve the | |||
| breaker <xref target="RFC8083"/>. Work in the RMCAT working group <xref targ | UDP layer <xref target="RFC8085" format="default"/> and <bcp14>MAY</bcp14> al | |||
| et="RMCAT"/> describes | so implement a transport circuit | |||
| breaker <xref target="RFC8083" format="default"/>. Work in the RMCAT Working | ||||
| Group <xref target="RMCAT" format="default"/> 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.</t> | congestion control functions.</t> | |||
| </section> | ||||
| </section> | </section> | |||
| <section anchor="sect-4" numbered="true" toc="default"> | ||||
| </section> | <name>Payload Format Parameters</name> | |||
| <t> | ||||
| <section title="Payload Format Parameters" anchor="sect-4"><t> | ||||
| 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 <xref target="RFC4855"/> and | which is registered in accordance with <xref target="RFC4855" format="default | |||
| per the | "/> and per the | |||
| media type registration template from RFC 6838 <xref target="RFC6838"/>.</t> | media type registration template from <xref target="RFC6838" format="default" | |||
| />.</t> | ||||
| <section title="Media Type Definitions" anchor="sect-4.1"><t> | <section anchor="sect-4.1" numbered="true" toc="default"> | |||
| <name>Media Type Definitions</name> | ||||
| <list style="hanging"> | <dl newline="false" spacing="normal"> | |||
| <dt>Type name:</dt> | ||||
| <t hangText="Type name:"> audio</t> | <dd> audio</dd> | |||
| <dt>Subtype name:</dt> | ||||
| <t hangText="Subtype name:"> TSVCIS</t> | <dd> TSVCIS</dd> | |||
| <dt>Required parameters:</dt> | ||||
| <t hangText="Required parameters:"> N/A</t> | <dd>Clock Rate (Hz): 8000</dd> | |||
| </dl> | ||||
| <t hangText="Optional parameters:"> | <dl newline="true" spacing="normal"> | |||
| <dt>Optional parameters:</dt> | ||||
| <list style="hanging" hangIndent="6"> | <dd> | |||
| <dl newline="true" spacing="normal"> | ||||
| <dt>ptime:</dt> | ||||
| <dd> the recommended length of time (in milliseconds) | ||||
| represented by the media in a packet. It <bcp14>SHALL</bcp14> | ||||
| 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 <xref target="RFC4566" | ||||
| sectionFormat="of" section="6"/>.</dd> | ||||
| <t hangText="ptime:"> the recommended length of time (in milliseconds) | <dt>maxptime:</dt> | |||
| represented by the media in a packet. It SHALL use the nearest | <dd> the maximum length of time (in milliseconds) that can be | |||
| rounded-up ms integer packet duration. For TSVCIS, this corresponds to | encapsulated in a packet. It <bcp14>SHALL</bcp14> use the | |||
| the following values: 23, 45, 68, 90, 112, 135, 156, and 180. Larger | nearest rounded-up ms integer packet duration. For TSVCIS, this | |||
| values can be used as long as they are properly rounded. See Section 6 | corresponds to the following values: 23, 45, 68, 90, 112, 135, | |||
| of RFC 4566 <xref target="RFC4566"/>.</t> | 156, and 180. Larger values can be used as long as they are | |||
| properly rounded. See <xref target="RFC4566" sectionFormat="of" | ||||
| section="6"/>.</dd> | ||||
| <t hangText="maxptime:"> the maximum length of time (in milliseconds) | <dt>bitrate:</dt> | |||
| that can be encapsulated in a packet. It SHALL use the nearest | <dd> specifies the MELPe coder bitrates supported. Possible | |||
| rounded-up ms integer packet duration. For TSVCIS, this corresponds to | values are a comma-separated list of rates from the following | |||
| the following values: 23, 45, 68, 90, 112, 135, 156, and 180. Larger | set: 2400, 1200, 600. The modes are listed in order of | |||
| values can be used as long as they are properly rounded. See Section 6 | preference; the first is preferred. If "bitrate" is not | |||
| of RFC 4566 <xref target="RFC4566"/>.</t> | present, the fixed coder bitrate of 2400 <bcp14>MUST</bcp14> be | |||
| used. </dd> | ||||
| <t hangText="bitrate:"> specifies the MELPe coder bitrates supported. | <dt>tcmax:</dt> | |||
| Possible values are a comma-separated list of rates from the following | <dd> specifies the TSVCIS maximum value for the TC supported or | |||
| set: 2400, 1200, 600. The modes are listed in order of preference; first | desired, ranging from 1 to 255. If "tcmax" is not present, a | |||
| is preferred. If "bitrate" is not present, the fixed coder bitrate of | default value of 35 is used.</dd> | |||
| 2400 MUST be used. </t> | <dt>Channels:</dt> | |||
| <dd>1</dd> | ||||
| </dl> | ||||
| </dd></dl> | ||||
| <dl newline="false" spacing="normal"> | ||||
| <dt>Encoding considerations:</dt> | ||||
| <dd> This media subtype is framed and binary; see <xref | ||||
| target="RFC6838" sectionFormat="of" section="4.8"/>.</dd> | ||||
| <dt>Security considerations:</dt> | ||||
| <dd> Please see <xref target="sect-8"/> of RFC 8817.</dd> | ||||
| <dt>Interoperability considerations:</dt> | ||||
| <dd>N/A</dd> | ||||
| <dt>Published specification:</dt> | ||||
| <dd> | ||||
| <xref target="TSVCIS" format="default"/></dd> | ||||
| <dt>Applications that use this media type:</dt> | ||||
| <dd>N/A</dd> | ||||
| <dt>Fragment identifier considerations:</dt> | ||||
| <dd>N/A</dd> | ||||
| <t hangText="tcmax:"> specifies the TSVCIS maximum value for TC supported | <dt>Additional information:</dt><dd> | |||
| or desired ranging from 1 to 255. If "tcmax" is not present, a default | <t><br/></t> | |||
| value of 35 is used.</t> | <dl spacing="compact"> | |||
| <dt>Deprecated alias names for this type:</dt> | ||||
| <dd>N/A</dd> | ||||
| <dt>Magic number(s):</dt> | ||||
| <dd>N/A</dd> | ||||
| <dt>File extension(s):</dt> | ||||
| <dd>N/A</dd> | ||||
| <dt>Macintosh file type code(s):</dt> | ||||
| <dd>N/A</dd> | ||||
| </dl> | ||||
| </dd> | ||||
| </list> | <dt>Person & email address to contact for further information:</dt | |||
| > | ||||
| <dd><t><br/><contact fullname="Victor Demjanenko, Ph.D."/> | ||||
| <victor.demjanenko@vocal.com> | ||||
| </t> | </t> | |||
| </dd> | ||||
| <t hangText="Encoding considerations:"> This media subtype is framed and bi | <dt>Intended usage:</dt> | |||
| nary; see | <dd>COMMON</dd> | |||
| Section 4.8 of RFC 6838 <xref target="RFC6838"/>.</t> | <dt>Restrictions on usage:</dt> | |||
| <dd> The media subtype depends on RTP | ||||
| <t hangText="Security considerations:"> Please see Section 8 of RFC XXXX.</ | framing and hence is only defined for transfer via RTP <xref target="RFC35 | |||
| t> | 50" format="default"/>. Transport within other framing protocols is not | |||
| defined at this time.</dd> | ||||
| <!-- [EDITOR NOTE - please replace XXXX with the RFC number of this document.] - | <dt>Author:</dt> | |||
| -> | <dd><t><contact fullname="Victor Demjanenko, Ph.D."/></t></dd> | |||
| <dt>Change controller:</dt> | ||||
| <t hangText="Interoperability considerations:"> N/A</t> | <dd> IETF; contact <avt@ietf.org></dd> | |||
| <dt>Provisional registration? (standards tree only):</dt> | ||||
| <t hangText="Published specification:"> <xref target="TSVCIS"/></t> | <dd> No</dd> | |||
| </dl> | ||||
| <t hangText="Applications that use this media type:"> N/A</t> | </section> | |||
| <section anchor="sect-4.2" numbered="true" toc="default"> | ||||
| <t hangText="Fragment identifier considerations:"> N/A</t> | <name>Mapping to SDP</name> | |||
| <t> | ||||
| <t hangText="Additional information:"> | ||||
| <list style="hanging" hangIndent="9"> | ||||
| <?rfc subcompact="yes"?> | ||||
| <t hangText="Clock Rate (Hz):"> 8000</t> | ||||
| <t hangText="Channels:"> 1</t> | ||||
| <?rfc subcompact="no"?> | ||||
| </list> | ||||
| </t> | ||||
| <t hangText="Deprecated alias names for this type:"> N/A</t> | ||||
| <t hangText="Magic number(s):"> N/A</t> | ||||
| <t hangText="File extension(s):"> N/A</t> | ||||
| <t hangText="Macintosh file type code(s):"> N/A</t> | ||||
| <t hangText="Person & email address to contact for further information: | ||||
| "> | ||||
| <list> | ||||
| <?rfc subcompact="yes"?> | ||||
| <t>Victor Demjanenko, Ph.D.</t> | ||||
| <t>VOCAL Technologies, Ltd.</t> | ||||
| <t>520 Lee Entrance, Suite 202</t> | ||||
| <t>Buffalo, NY 14228</t> | ||||
| <t>United States of America</t> | ||||
| <t>Phone: +1 716 688 4675</t> | ||||
| <t>Email: victor.demjanenko@vocal.com</t> | ||||
| <?rfc subcompact="no"?> | ||||
| </list> | ||||
| </t> | ||||
| <t hangText="Intended usage:"> COMMON</t> | ||||
| <t hangText="Restrictions on usage:"> The media subtype depends on RTP | ||||
| framing and hence is only defined for transfer via RTP <xref | ||||
| target="RFC3550"/>. Transport within other framing protocols is not | ||||
| defined at this time.</t> | ||||
| <t hangText="Author:">Victor Demjanenko</t> | ||||
| <t hangText="Change controller:"> IETF, contact <avt@ietf.org></t> | ||||
| <t hangText="Provisional registration? (standards tree only):"> No</t> | ||||
| </list> | ||||
| </t> | ||||
| </section> | ||||
| <section title="Mapping to SDP" anchor="sect-4.2"><t> | ||||
| 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 <bcp14>SHALL</bcp14> be done according to <xref target="RFC4855" s | |||
| <xref target="RFC4855"/>.</t> | ectionFormat="of" section="3"/>.</t> | |||
| <t> | ||||
| <t> | ||||
| 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) | |||
| <xref target="RFC4566"/>, which is commonly used to describe RTP sessions. W hen SDP | <xref target="RFC4566" format="default"/>, 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:</t> | is as follows:</t> | |||
| <ul spacing="normal"> | ||||
| <t><list style="symbols"><t>The media type ("audio") goes in SDP "m=" as | <li>The media type ("audio") goes in SDP "m=" as the media name.</li> | |||
| the media name.</t> | <li>The media subtype (payload format name) goes in SDP "a=rtpmap" as | |||
| the encoding name.</li> | ||||
| <t>The media subtype (payload format name) goes in SDP "a=rtpmap" as | <li>The parameter "bitrate" goes in the SDP "a=fmtp" attribute by | |||
| the encoding name.</t> | copying it as a "bitrate=<value>" string.</li> | |||
| <li>The parameter "tcmax" goes in the SDP "a=fmtp" attribute by | ||||
| <t>The parameter "bitrate" goes in the SDP "a=fmtp" attribute by | copying it as a "tcmax=<value>" string.</li> | |||
| copying it as a "bitrate=<value>" string.</t> | <li>The parameters "ptime" and "maxptime" go in the SDP "a=ptime" and | |||
| "a=maxptime" attributes, respectively.</li> | ||||
| <t>The parameter "tcmax" goes in the SDP "a=fmtp" attribute by | </ul> | |||
| copying it as a "tcmax=<value>" string.</t> | <t> | |||
| When conveying information via SDP, the encoding name <bcp14>SHALL</bcp14> be | ||||
| <t>The parameters "ptime" and "maxptime" go in the SDP "a=ptime" and | ||||
| "a=maxptime" attributes, respectively.</t> | ||||
| </list> | ||||
| </t> | ||||
| <t> | ||||
| When conveying information via SDP, the encoding name SHALL be | ||||
| "TSVCIS" (the same as the media subtype).</t> | "TSVCIS" (the same as the media subtype).</t> | |||
| <t> | ||||
| <t> | ||||
| An example of the media representation in SDP for describing TSVCIS | An example of the media representation in SDP for describing TSVCIS | |||
| might be:</t> | might be:</t> | |||
| <sourcecode type="sdp"><![CDATA[ | ||||
| <figure><artwork><![CDATA[ | ||||
| m=audio 49120 RTP/AVP 96 | m=audio 49120 RTP/AVP 96 | |||
| a=rtpmap:96 TSVCIS/8000 | a=rtpmap:96 TSVCIS/8000 | |||
| ]]></artwork> | ]]></sourcecode> | |||
| </figure> | <t> | |||
| <t> | The optional media type parameter "bitrate", when present, <bcp14>MUST</bcp14 | |||
| The optional media type parameter "bitrate", when present, MUST be | > be | |||
| included in the "a=fmtp" attribute in the SDP, expressed as a media | included in the "a=fmtp" attribute in the SDP, expressed as a media | |||
| type string in the form of a semicolon-separated list of | type string in the form of a semicolon-separated list of | |||
| parameter=value pairs. The string "value" can be one or more of | parameter=value pairs. The string "value" can be one or more of | |||
| 2400, 1200, and 600, separated by commas (where each bitrate value | 2400, 1200, and 600, separated by commas (where each bitrate value | |||
| indicates the corresponding MELPe coder). An example of the media | indicates the corresponding MELPe coder). An example of the media | |||
| representation in SDP for describing TSVCIS when all three coder | representation in SDP for describing TSVCIS when all three coder | |||
| bitrates are supported might be:</t> | bitrates are supported might be:</t> | |||
| <sourcecode type="sdp"><![CDATA[ | ||||
| <figure><artwork><![CDATA[ | ||||
| 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 bitrate=2400,600,1200 | a=fmtp:96 bitrate=2400,600,1200 | |||
| ]]></artwork> | ]]></sourcecode> | |||
| </figure> | <t> | |||
| <t> | The optional media type parameter "tcmax", when present, <bcp14>MUST</bcp14> | |||
| The optional media type parameter "tcmax", when present, MUST be | be | |||
| included in the "a=fmtp" attribute in the SDP, expressed as a media | included in the "a=fmtp" attribute in the SDP, expressed as a media | |||
| type string in the form of a semicolon-separated list of | type string in the form of a semicolon-separated list of | |||
| parameter=value pairs. The string "value" is an integer number in | parameter=value pairs. The string "value" is an integer number in | |||
| 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:</t> | is as follows:</t> | |||
| <sourcecode type="sdp"><![CDATA[ | ||||
| <figure><artwork><![CDATA[ | ||||
| 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 | |||
| ]]></artwork> | ]]></sourcecode> | |||
| </figure> | <t> | |||
| <t> | ||||
| 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, it | |||
| will be impossible to distinguish which mode is about to be used | 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 the | |||
| packet is carrying one frame of 67.5 ms or three frames of 22.5 ms).</t> | packet is carrying one frame of 67.5 ms or three frames of 22.5 ms).</t> | |||
| <t> | ||||
| <t> | ||||
| 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.</t> | default mapping to the SDP a=fmtp attribute.</t> | |||
| </section> | ||||
| </section> | <section anchor="sect-4.3" numbered="true" toc="default"> | |||
| <name>Declarative SDP Considerations</name> | ||||
| <section title="Declarative SDP Considerations" anchor="sect-4.3"><t> | <t> | |||
| For declarative media, the "bitrate" parameter specifies the possible | For declarative media, the "bitrate" parameter specifies the possible | |||
| bitrates used by the sender. Multiple TSVCIS rtpmap values (such as | bitrates used by the sender. Multiple TSVCIS rtpmap values (such as | |||
| 97, 98, and 99, as used below) MAY be used to convey TSVCIS-coded | 97, 98, and 99, as used below) <bcp14>MAY</bcp14> be used to convey TSVCIS-co ded | |||
| voice at different bitrates. The receiver can then select an | voice at different bitrates. The receiver can then select an | |||
| appropriate TSVCIS codec by using 97, 98, or 99.</t> | appropriate TSVCIS codec by using 97, 98, or 99.</t> | |||
| <sourcecode type="sdp"><![CDATA[ | ||||
| <figure><artwork><![CDATA[ | ||||
| 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 | |||
| ]]></artwork> | ]]></sourcecode> | |||
| </figure> | <t> | |||
| <t> | ||||
| 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 the | |||
| sender's communications channel.</t> | sender's communications channel.</t> | |||
| </section> | ||||
| </section> | <section anchor="sect-4.4" numbered="true" toc="default"> | |||
| <name>Offer/Answer SDP Considerations</name> | ||||
| <section title="Offer/Answer SDP Considerations" anchor="sect-4.4"><t> | <t> | |||
| In the Offer/Answer model <xref target="RFC3264"/>, "bitrate" is a bidirectio | In the Offer/Answer model <xref target="RFC3264" format="default"/>, "bitrate | |||
| nal | " is a bidirectional | |||
| parameter. Both sides MUST use a common "bitrate" value or values. | parameter. Both sides <bcp14>MUST</bcp14> use a common "bitrate" value or va | |||
| lues. | ||||
| 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 <bcp14>MAY</bcp14> 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 <bcp14>MAY</bcp14> indicate any secondary bitrate or bitrates th | |||
| supports. The initial bitrate used by both parties SHALL be the | at it | |||
| supports. The initial bitrate used by both parties <bcp14>SHALL</bcp14> be t | ||||
| he | ||||
| first bitrate specified in the answerer response.</t> | first bitrate specified in the answerer response.</t> | |||
| <t> | <t> | |||
| 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 <bcp14>MAY</bcp14> be used at any time in the future. Activation of t hese | |||
| other common bitrates is beyond the scope of this document.</t> | other common bitrates is beyond the scope of this document.</t> | |||
| <t> | ||||
| <t> | ||||
| 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.</t> | radio link or slower), where only the lower coder bitrate will work.</t> | |||
| <t> | ||||
| <t> | In the Offer/Answer model <xref target="RFC3264" format="default"/>, "tcmax" | |||
| In the Offer/Answer model <xref target="RFC3264"/>, "tcmax" is a bidirectiona | is a bidirectional | |||
| l | parameter. Both sides <bcp14>SHOULD</bcp14> use a common "tcmax" value. The | |||
| parameter. Both sides SHOULD use a common "tcmax" value. The offer | offer | |||
| contains the tcmax supported by the offerer. The answerer MAY agree | contains the tcmax supported by the offerer. The answerer <bcp14>MAY</bcp14> | |||
| to any tcmax equal or less than this value by stating the desired | agree | |||
| tcmax in the answerer response. The answerer alternatively MAY | to any tcmax equal to or less than this value by stating the desired | |||
| tcmax in the answerer response. The answerer alternatively <bcp14>MAY</bcp14 | ||||
| > | ||||
| 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.</t> | it cannot use.</t> | |||
| </section> | ||||
| </section> | </section> | |||
| <section anchor="sect-5" numbered="true" toc="default"> | ||||
| </section> | <name>Discontinuous Transmissions</name> | |||
| <t> | ||||
| <section title="Discontinuous Transmissions" anchor="sect-5"><t> | ||||
| 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.</t> | transmission <bcp14>SHOULD</bcp14> be indicated by the RTP marker bit (M) set | |||
| to 1.</t> | ||||
| <t>If a TSVCIS coder so desires, it may send a MELPe comfort noise frame as | <t>If a TSVCIS coder so desires, it may send a MELPe comfort noise frame a | |||
| per Appendix B of <xref target="SCIP210"/> prior to ceasing transmission. A | s | |||
| per Appendix B of <xref target="SCIP210" format="default"/> prior to ceasing | ||||
| transmission. A | ||||
| receiver may optionally use comfort noise during its silence periods. No | receiver may optionally use comfort noise during its silence periods. No | |||
| SDP negotiations are required. | SDP negotiations are required. | |||
| </t> | </t> | |||
| </section> | ||||
| </section> | <section anchor="sect-6" numbered="true" toc="default"> | |||
| <name>Packet Loss Concealment</name> | ||||
| <section title="Packet Loss Concealment" anchor="sect-6"><t> | <t> | |||
| 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 <xref target="MELPE"/>. For the sake of | non-voiced frame as identified in Table 1 of <xref target="MELPE" format="def ault"/>. For the sake of | |||
| simplicity, it is preferred that a code value of 3 for the | simplicity, it is preferred that a code value of 3 for the | |||
| pitch/voicing parameter be used. Hence, set bits P0 and P1 to one | pitch/voicing parameter be used. Hence, set bits P0 and P1 to one | |||
| and bits P2, P3, P4, P5, and P6 to zero.</t> | and bits P2, P3, P4, P5, and P6 to zero.</t> | |||
| <t> | ||||
| <t> | ||||
| 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.</t> | loss of a low bitrate MELPe frame.</t> | |||
| </section> | ||||
| </section> | <section anchor="sect-7" numbered="true" toc="default"> | |||
| <name>IANA Considerations</name> | ||||
| <section title="IANA Considerations" anchor="sect-7"><t> | <t> | |||
| This memo requests that IANA registers TSVCIS as specified in <xref target="s | IANA has registered TSVCIS as specified in <xref target="sect-4.1" | |||
| ect-4.1"/>. The media type is also requested to be added to the IANA | format="default"/>. The media type has been added to the IANA | |||
| registry for "RTP Payload Format MIME types" | registry for "RTP Payload Format Media Types" | |||
| (<eref target="http://www.iana.org/assignments/rtp-parameters"/>).</t> | (<eref target="https://www.iana.org/assignments/rtp-parameters"/>).</t> | |||
| </section> | ||||
| </section> | <section anchor="sect-8" numbered="true" toc="default"> | |||
| <name>Security Considerations</name> | ||||
| <section title="Security Considerations" anchor="sect-8"><t> | <t> | |||
| 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 <xref target="RFC3550"/> and in any applicable RTP profile such | specification <xref target="RFC3550" format="default"/> and in any applicable | |||
| as | RTP profile such as | |||
| RTP/AVP <xref target="RFC3551"/>, RTP/AVPF <xref target="RFC4585"/>, RTP/SAVP | RTP/AVP <xref target="RFC3551" format="default"/>, RTP/AVPF <xref target="RFC | |||
| <xref target="RFC3711"/>, or | 4585" format="default"/>, RTP/SAVP <xref target="RFC3711" format="default"/>, or | |||
| RTP/SAVPF <xref target="RFC5124"/>. However, as discussed in <xref target="R | RTP/SAVPF <xref target="RFC5124" format="default"/>. However, as discussed i | |||
| FC7202"/>, it is not | n <xref target="RFC7202" format="default"/>, it is not | |||
| an RTP payload format's responsibility to discuss or mandate what | an 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 <xref target="RFC7201"/>. Applications SHOUL D use | and important considerations in <xref target="RFC7201" format="default"/>. A pplications <bcp14>SHOULD</bcp14> 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.</t> | format itself.</t> | |||
| <t> | ||||
| <t> | ||||
| 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.</t> | contain any active content.</t> | |||
| <t> | ||||
| <t> | Please see the security considerations discussed in <xref target="RFC6562" fo | |||
| Please see the security considerations discussed in <xref target="RFC6562"/> | rmat="default"/> | |||
| regarding Voice Activity Detect (VAD) and its effect on bitrates.</t> | regarding Voice Activity Detect (VAD) and its effect on bitrates.</t> | |||
| </section> | ||||
| </section> | </middle> | |||
| <back> | ||||
| </middle> | <references> | |||
| <name>References</name> | ||||
| <back> | <references> | |||
| <references title="Normative References"> | <name>Normative References</name> | |||
| &RFC2119; | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
| &RFC8174; | FC.2119.xml"/> | |||
| &RFC2736; | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
| &RFC8088; | FC.8174.xml"/> | |||
| &RFC3264; | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
| &RFC3550; | FC.2736.xml"/> | |||
| &RFC3551; | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
| &RFC8130; | FC.8088.xml"/> | |||
| &RFC3711; | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
| &RFC4566; | FC.3264.xml"/> | |||
| &RFC4855; | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
| &RFC5124; | FC.3550.xml"/> | |||
| &RFC6562; | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
| &RFC6838; | FC.3551.xml"/> | |||
| &RFC8083; | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
| &RFC8085; | FC.8130.xml"/> | |||
| <reference anchor="NRLVDR"><front> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
| <title>Universal Vocoder Using Variable Data Rate Vocoding</title> | FC.3711.xml"/> | |||
| <author initials="D." surname="Heide" fullname="D. Heide"> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
| </author> | FC.4566.xml"/> | |||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| <author initials="A." surname="Cohen" fullname="A. Cohen"> | FC.4855.xml"/> | |||
| </author> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
| FC.5124.xml"/> | ||||
| <author initials="Y." surname="Lee" fullname="Y. Lee"> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
| </author> | FC.6562.xml"/> | |||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| <author initials="T." surname="Moran" fullname="T. Moran"> | FC.6838.xml"/> | |||
| </author> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
| FC.8083.xml"/> | ||||
| <date month="June" year="2013"/> | <xi:include | |||
| </front> | href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8085.x | |||
| ml"/> | ||||
| <seriesInfo name="Naval Research Lab" value="NRL/FR/5555-13-10, 239"/> | <reference anchor="NRLVDR"> | |||
| </reference> | <front> | |||
| <reference anchor="MELP"><front> | <title>Universal Vocoder Using Variable Data Rate Vocoding</title> | |||
| <title>Analog-to-Digital Conversion of Voice by 2,400 Bit/Second Mixed Ex | <seriesInfo name="DOI" value="10.21236/ada588068"/> | |||
| citation Linear Prediction (MELP)</title> | <seriesInfo name="Naval Research Lab" value="NRL/FR/5555--13-10, 239 | |||
| <author> | "/> | |||
| <organization>Department of Defense Telecommunications Standard</organiza | <author initials="D." surname="Heide" fullname="David Heide"> | |||
| tion> | ||||
| </author> | ||||
| <date month="December" year="1999"/> | ||||
| </front> | ||||
| <seriesInfo name="" value="MIL-STD-3005"/> | ||||
| </reference> | ||||
| <reference anchor="MELPE"><front> | ||||
| <title>The 600 Bit/S, 1200 Bit/S and 2400 Bit/S NATO Interoperable Narrow | ||||
| Band Voice Coder</title> | ||||
| <author> | ||||
| <organization>North Atlantic Treaty Organization (NATO)</organization> | ||||
| </author> | </author> | |||
| <author initials="A." surname="Cohen" fullname="Aaron Cohen"> | ||||
| <date month="January" year="2006"/> | ||||
| </front> | ||||
| <seriesInfo name="STANAG" value="No. 4591"/> | ||||
| </reference> | ||||
| <reference anchor="SCIP210"><front> | ||||
| <title>SCIP Signaling Plan</title> | ||||
| <author> | ||||
| <organization>National Security Agency</organization> | ||||
| </author> | </author> | |||
| <author initials="Y." surname="Lee" fullname="Yvette Lee"> | ||||
| <date month="December" year="2007"/> | ||||
| </front> | ||||
| <seriesInfo name="" value="SCIP-210"/> | ||||
| </reference> | ||||
| </references> | ||||
| <references title="Informative References"> | ||||
| <reference anchor="TSVCIS"><front> | ||||
| <title>Tactical Secure Voice Cryptographic Interoperability Specification | ||||
| (TSVCIS) Version 3.1</title> | ||||
| <author> | ||||
| <organization>National Security Agency</organization> | ||||
| </author> | </author> | |||
| <author initials="T." surname="Moran" fullname="Thomas Moran"> | ||||
| <date month="March" year="2019"/> | ||||
| </front> | ||||
| <seriesInfo name="NSA" value="09-01A"/> | ||||
| </reference> | ||||
| &RFC4585; | ||||
| &RFC7201; | ||||
| &RFC7202; | ||||
| <reference anchor="RMCAT" target="https://datatracker.ietf.org/wg/rmcat/a | ||||
| bout/"><front> | ||||
| <title>RTP Media Congestion Avoidance Techniques (rmcat) Working Group</t | ||||
| itle> | ||||
| <author> | ||||
| <organization>IETF</organization> | ||||
| </author> | </author> | |||
| <date month="June" year="2013"/> | ||||
| </front> | ||||
| </reference> | ||||
| <reference anchor="MELP"> | ||||
| <front> | ||||
| <title>Analog-to-Digital Conversion of Voice by 2,400 Bit/Second Mix | ||||
| ed Excitation Linear Prediction (MELP)</title> | ||||
| <seriesInfo name="Department of Defense Telecommunications Standard" | ||||
| value="MIL-STD-3005"/> | ||||
| <author> | ||||
| <organization>Department of Defense</organization> | ||||
| </author> | ||||
| <date month="December" year="1999"/> | ||||
| </front> | ||||
| </reference> | ||||
| <reference anchor="MELPE"> | ||||
| <front> | ||||
| <title>The 600 Bit/S, 1200 Bit/S and 2400 Bit/S NATO Interoperable N | ||||
| arrow Band Voice Coder</title> | ||||
| <seriesInfo name="STANAG" value="No. 4591"/> | ||||
| <author> | ||||
| <organization>North Atlantic Treaty Organization (NATO)</organizat | ||||
| ion> | ||||
| </author> | ||||
| <date month="October" year="2008"/> | ||||
| </front> | ||||
| </reference> | ||||
| <reference anchor="SCIP210"> | ||||
| <front> | ||||
| <title>SCIP Signaling Plan</title> | ||||
| <author> | ||||
| <organization>National Security Agency</organization> | ||||
| </author> | ||||
| <date month="January" year="2013"/> | ||||
| </front> | ||||
| <refcontent>SCIP-210</refcontent> | ||||
| </reference> | ||||
| </references> | ||||
| <date/> | <references> | |||
| </front> | <name>Informative References</name> | |||
| <reference anchor="TSVCIS"> | ||||
| </reference> | <front> | |||
| </references> | <title>Tactical Secure Voice Cryptographic Interoperability Specific | |||
| </back> | ation (TSVCIS) Version 3.1</title> | |||
| <seriesInfo name="NSA" value="09-01A"/> | ||||
| </rfc> | <author> | |||
| <organization>National Security Agency</organization> | ||||
| </author> | ||||
| <date month="March" year="2019"/> | ||||
| </front> | ||||
| </reference> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.4585.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.7201.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.7202.xml"/> | ||||
| <reference anchor="RMCAT" target="https://datatracker.ietf.org/wg/rmcat/ | ||||
| about/"> | ||||
| <front> | ||||
| <title>RTP Media Congestion Avoidance Techniques (rmcat) Working Gro | ||||
| up</title> | ||||
| <author> | ||||
| <organization>IETF</organization> | ||||
| </author> | ||||
| </front> | ||||
| </reference> | ||||
| </references> | ||||
| </references> | ||||
| </back> | ||||
| </rfc> | ||||
| End of changes. 117 change blocks. | ||||
| 683 lines changed or deleted | 701 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/ | ||||