<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.1 (Ruby 3.0.2) -->
<?rfc docmapping="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-hsyang-avtcore-rtp-haptics-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.18.1 -->
  <front>
    <title abbrev="RTP-Payload-Haptic">RTP Payload for Haptics</title>
    <seriesInfo name="Internet-Draft" value="draft-hsyang-avtcore-rtp-haptics-00"/>
    <author initials="" surname="HS Yang" fullname="Hyunsik Yang">
      <organization>InterDigital</organization>
      <address>
        <postal>
          <country>USA</country>
        </postal>
        <email>hyunsik.yang@interdigital.com</email>
      </address>
    </author>
    <author initials="X." surname="de Foy" fullname="Xavier de Foy">
      <organization>InterDigital</organization>
      <address>
        <postal>
          <country>Canada</country>
        </postal>
        <email>xavier.defoy@interdigital.com</email>
      </address>
    </author>
    <date/>
    <area>Transport</area>
    <workgroup>avtcore</workgroup>
    <abstract>
      <?line 49?>

<t>This memo describes an RTP payload format for the MPEG-I haptic data. A haptic media stream is composed of MIHS units including a MIHS unit header and zero or more MIHS packets. The RTP payload header format allows for packetization of a MIHS unit in an RTP packet payload as well as fragmentation of a MIHS unit into multiple RTP packets.</t>
    </abstract>
  </front>
  <middle>
    <?line 53?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Haptics provides users with tactile effects in addition to audio and video, allowing them to experience sensory immersion. Haptic data is mainly transmitted to devices that act as actuators and provides them with information to operate according to the values defined in haptic effects. The IETF is registering haptics as a primary media type akin to audio and video <xref target="I-D.ietf-mediaman-haptics"/>.</t>
      <t>The MPEG Haptics Coding standard <xref target="ISO.IEC.23090-31"/> defines the data formats, metadata, and codec architecture to encode, decode, synthesize and transmit haptic signals. It defines the "MIHS unit" as a unit of packetization suitable for streaming, and similar in essence to the NAL unit defined in some video specifications. This document describes how haptic data (MIHS units) can be transmitted using the RTP protocol. This document followed recommendations in <xref target="RFC8088"/> and <xref target="RFC2736"/> for RTP payload format writers.</t>
    </section>
    <section anchor="conventions">
      <name>Conventions</name>
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in <xref target="RFC2119"/>.</t>
    </section>
    <section anchor="definition">
      <name>Definition</name>
      <t>This document uses the definitions of the MPEG Haptics Coding standard <xref target="ISO.IEC.23090-31"/>. Some of these terms are provided here for convenience.</t>
      <t>Actuator: component of a device for rendering haptic sensations.</t>
      <t>Avatar: body (or part of body) representation.</t>
      <t>Band: component in a channel for containing effects for a specific range of frequencies.</t>
      <t>Channel: component in a perception containing one or more bands rendered on a device at a specific body location.</t>
      <t>Device: physical system having one or more actuators configured to render a haptic sensation corresponding with a given signal.</t>
      <t>Effect: component of a band for defining a signal, consisting of a haptic waveform or one or more haptic keyframes.</t>
      <t>Experience: top level haptic component containing perceptions and metadata.</t>
      <t>Haptics: tactile sensations.</t>
      <t>Keyframe: component of an effect mapping a position in time or space to an effect parameter such as amplitude or frequency.</t>
      <t>Metadata: global information about an experience, perception, channel, or band.</t>
      <t>Modality: type of haptics, such as vibration, force, pressure, position, velocity, or temperature.</t>
      <t>Perception: haptic perception containing channels of a specific modality.</t>
      <t>Signal: representation of the haptics associated with a specific modality to be rendered on a device.</t>
    </section>
    <section anchor="haptic-format-description">
      <name>Haptic Format Description</name>
      <section anchor="overview-of-haptic-coding">
        <name>Overview of Haptic Coding</name>
        <t>The MPEG Haptics Coding standard specifies methods for efficient transmission and rendering of haptic signals, to enable immersive experiences. It supports multiple types of perceptions, including the most common vibrotactile (sense of touch that perceives vibrations) and kinaesthetic perceptions (tactile resistance), but also other, less common perceptions, including for example the sense of temperature or texture. It also supports two approaches for encoding haptic signals: a "quantized" approach based on samples of measured data, and a "descriptive" approach where the signal is synthesized using a combination of functions. Both quantized and descriptive data can be encoded in a human-readable exchange format based on JSON (.hjif), or in a binary packetized format for distribution and streaming (.hmpg). This last format is referred to as the MPEG-I Haptic Stream (MIHS) format and is a base for the RTP payload format described in this document.</t>
      </section>
      <section anchor="mpeg-i-haptic-stream-mihs-format">
        <name>MPEG-I Haptic Stream (MIHS) format</name>
        <t>MIHS is a stream format used to transport haptic data. Haptic data including haptic effects is packetized according to the MIHS format, and delivered to actuators, which operate according to the provided effects. The MIHS format has two level packetization, MIHS units and MIHS packets.</t>
        <t>MIHS units are composed of a MIHS unit header and zero or more MIHS packets. Four types of MIHS units are defined. An initialization MIHS unit contains MIHS packets carrying metadata necessary to reset and initialize a haptic decoder, including a timestamp. A temporal MIHS unit contains one or more MIHS packets defining time-dependent effects and providing modalities such as pressure, velocity, and acceleration. The duration of a temporal unit is a positive number. A spatial MIHS unit contains one or more MIHS packets providing time-independent effects, such as vibrotactile texture, stiffness, and friction. The duration of a spatial unit is always zero.
A silent MIHS unit indicates that there is no effect during a time interval and its duration is a positive number.</t>
        <t>A MIHS unit can be marked as "sync" (i.e., independent) or "non-sync" (i.e., dependent). When a decoder processes a sync unit, it resets the previous effects and therefore provides a haptic experience independent from any previous MIHS unit.  A non-sync unit is the continuation of previous MIHS units and cannot be independently decoded and rendered without having decoded previous MIHS unit(s). Initialization and spatial MIHS units are always sync units. Temporal and silent MIHS units can be sync or non-sync units.</t>
        <t><xref target="_figure-stream"/> illustrates a succession of MIHS units in a MIHS stream.</t>
        <figure anchor="_figure-stream">
          <name>Example of MIHS stream</name>
          <artwork><![CDATA[
+--------------+ +-------+ +----------+ +-------------+ +-----------+
|Initialization| |Spatial| | Temporal | |Temporal Unit| |Silent Unit|
|    Unit      |-| Unit  |-|Unit(sync)|-| (non-sync)  |-|  (sync)   |
+--------------+ +-------+ +----------+ +-------------+ +-----------+
]]></artwork>
        </figure>
      </section>
      <section anchor="mihs-trans">
        <name>MIHS transmission Considerations</name>
        <t>The following considerations apply for the streaming of MIHS over RTP:</t>
        <ul spacing="normal">
          <li>
            <t>A media sender SHOULD set durations with the same value for all non-zero duration MIHS units between initialization MIHS units, to make the decoder more robust to RTP packet loss.</t>
          </li>
          <li>
            <t>A haptic silence suppression mechanism SHOULD be used. A sender MAY send the first (or first few) MIHS silent units at the beginning of a haptic silence. A sender SHOULD NOT send subsequent consecutive silent units, to save network resources. Following the reception of a MIHS silent unit, a receiver SHOULD interpret subsequent lost MIHS units as silent MIHS units, until the reception of a non-silent MIHS unit.</t>
          </li>
        </ul>
        <t>TBD: these considerations may need to be re-evaluated depending on the finalization of the haptics coding specifications in MPEG.</t>
      </section>
    </section>
    <section anchor="payload-format-for-haptics">
      <name>Payload format for haptics</name>
      <section anchor="rtp-header-usage">
        <name>RTP header Usage</name>
        <t>The RTP header is defined in <xref target="RFC3550"/> and represented in <xref target="_figure-rtpheader"/>. Some of the header field values are interpreted as follows.</t>
        <figure anchor="_figure-rtpheader">
          <name>RTP header for Haptic.</name>
          <artwork><![CDATA[
 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|V=2|P|X|  CC   |M|     PT      |       sequence number         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           timestamp                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           synchronization source (SSRC) identifier            |
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
|            contributing source (CSRC) identifiers             |
|                             ....                              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>
        <t>Payload type (PT): 7 bits. The assignment of a payload type MUST be performed either through the profile used or in a dynamic way.</t>
        <t>Time Stamp (TS): 32 bits. A timestamp representing the sampling time of the first sample of the MIHS unit in the RTP payload. The clock frequency MUST be set to the sample rate of the encoded haptic data and is conveyed out-of-band (e.g., as an SDP parameter).</t>
        <t>Marker bit (M): 1 bit. The marker bit SHOULD be set to one in the first non-silent RTP packet after period of haptic silence. This enables jitter buffer adaptation and haptics device washout (i.e., reset to a neutral position) prior to the beginning of the burst with minimal impact on the quality of experience for the end user. The marker bit in all other packets MUST be set to zero.</t>
      </section>
      <section anchor="payload-header">
        <name>Payload Header</name>
        <t>The RTP Payload Header follows the RTP header. <xref target="_figure-payloadheader"/> describes RTP Payload Header.</t>
        <figure anchor="_figure-payloadheader">
          <name>RTP payload header for Haptic.</name>
          <artwork><![CDATA[
+---------------+
|0|1|2|3|4|5|6|7|
+-+-+-+-+-+-+-+-+
|D| UT  |   L   |
+-+-----+-------+
]]></artwork>
        </figure>
        <t>D (Dependency, 1 bit): this field is used to indicate whether the MIHS unit included in the RTP payload is, when its value is one, dependent (i.e., "non-sync") or, when its value is zero, independent (i.e., "sync"). In case of congestion, a receiver or intermediate node MAY prioritize independent packets over dependent ones, since the non reception of an independent MIHS unit can prevent the decoding of multiple subsequent dependent MIHS units.</t>
        <t>UT (Unit Type, 3 bits): this field indicates the type of the MIHS unit included in the RTP payload. In case of congestion, a receiver or intermediate node MAY prioritize initialization MIHS units over other units, since initialization MIHS units contain metadata used to re-initialize the decoder, and MAY drop silent MIHS units before other types of MIHS units, since a receiver may interpret a missing MIHS unit as a silence. UT field values are listed in <xref target="_figure-transmission-type"/>.</t>
        <t>L (MIHS Layer, 4 bits): this field is an integer value which indicates the priority order of the MIHS unit included in the RTP payload, as determined by the haptic sender (e.g., by the haptic codec), based on application-specific needs. For example, the sender may use the MIHS layer to prioritize perceptions with the largest impact on the end-user experience. Zero corresponds to the highest priority. In case of congestion, intermediate nodes and receivers SHOULD use the MIHS layer value to determine the relative importance of haptic RTP packets.</t>
      </section>
      <section anchor="payload-structures">
        <name>Payload Structures</name>
        <t>Two different types of RTP packet payload structures are specified. The single unit payload structure contains a single MIHS unit. The fragmented unit payload structure contains a subset of a MIHS unit. The unit type (UT) field of the RTP payload header <xref target="_figure-transmission-type"/> identifies both the payload structure and, in the case of a single unit structure, also identifies the type of MIHS unit present in the payload.</t>
        <t>TBD:  consider if it would be useful to add aggregation.</t>
        <figure anchor="_figure-transmission-type">
          <name>Payload structure type for haptic</name>
          <artwork><![CDATA[
Unit     Payload   Name
Type     Structure
----------------------------------------
0        N/A       Reserved
1        Single    Initialization MIHS Unit
2        Single    Temporal MIHS Unit
3        Single    Spatial MIHS Unit
4        Single    Silent MIHS Unit
7        Frag      Fragmented Packet
]]></artwork>
        </figure>
        <t>The payload structures are represented in <xref target="_figure-transmission-type"/>. The single unit payload structure is specified in <xref target="single"/>. The fragmented unit payload structure is specified in <xref target="fragmented"/>.</t>
        <figure anchor="_figure-transmission-style">
          <name>RTP Transmission mode</name>
          <artwork><![CDATA[
                         +-------------------+
                         |     RTP Header    |
+-------------------+    +-------------------+
|     RTP Header    |    | RTP payload Header|
+-------------------+    |   (UT = Frag)     |
| RTP payload Header|    +-------------------+
+-------------------+    |     FU Header     |
|    RTP payload    |    +-------------------+
| (Single MIHS unit)|    |    RTP Payload    |
+-------------------+    +-------------------+
 (a) single unit RTP     (b) fragmented unit RTP
]]></artwork>
        </figure>
        <section anchor="single">
          <name>Single Unit Payload Structure</name>
          <t>In a single unit payload structure, as described in <xref target="_figure-transmission-style"/>, the RTP packet contains the RTP header, followed by the payload header and one single MIHS unit. The payload header follows the structure described in <xref target="payload-header"/>. The  payload contains a MIHS unit as defined in <xref target="ISO.IEC.23090-31"/>.</t>
          <figure anchor="_figure-transmission-single">
            <name>Single unit payload structure</name>
            <artwork><![CDATA[
 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                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|payload Header |                                               |
+---------------+                                               |
|                        MIHS unit data                         |
|                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               :...OPTIONAL RTP padding        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </figure>
        </section>
        <section anchor="fragmented">
          <name>Fragmented Unit Payload Structure</name>
          <t>In a fragmented unit payload structure, as described in <xref target="_figure-fragment-structure"/>, the RTP packet contains the RTP header, followed by the payload header, a Fragmented Unit (FU) header, and a MIHS unit fragment. The payload header follows the structure described in <xref target="payload-header"/>. The value of the UT field of the payload header is 7. The FU header follows the structure described in <xref target="_figure-fragment-header"/>.</t>
          <figure anchor="_figure-fragment-structure">
            <name>Fragmentation unit header</name>
            <artwork><![CDATA[
 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                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Payload Header | FU Header     |                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               |
|                     MIHS Unit Fragment                        |
|                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               :...OPTIONAL RTP padding        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </figure>
          <t>FU headers are used to enable fragmenting a single MIHS unit into multiple RTP packets. Fragments of the same MIHS unit MUST be sent in consecutive order with ascending RTP sequence numbers (with no other RTP packets within the same RTP stream being sent between the first and last fragment). FUs MUST NOT be nested, i.e., an FU MUST NOT contain a subset of another FU.</t>
          <t><xref target="_figure-fragment-header"/> describes a FU header, including the following fields:</t>
          <figure anchor="_figure-fragment-header">
            <name>Fragmentation unit header</name>
            <artwork><![CDATA[
+-------------------------------+
|0  | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
+---+---+---+---+---+---+---+---+
|FUS|FUE|   RSV     |     UT    |
+---+---+-----------+-----------+
]]></artwork>
          </figure>
          <t>FUS (Fragmented Unit Start, 1 bit): this field MUST be set to 1 for the first fragment, and 0 for the other fragments.</t>
          <t>FUE (Fragmented Unit End, 1 bit): this field MUST be set to 1 for the last fragment, and 0 for the other fragments.</t>
          <t>RSV (Reserved, 3 bits): these bits MUST be set to 0 by the sender and ignored by the receiver.</t>
          <t>UT (Unit Type, 3 bits): this field indicates the type of the MIHS unit this fragment belongs to, using values defined in <xref target="_figure-transmission-type"/>.</t>
        </section>
      </section>
    </section>
    <section anchor="format-param">
      <name>Payload format parameters</name>
      <t>This section specifies the optional parameters. A mapping of the parameters into the Session Description Protocol (SDP) <xref target="RFC8866"/> is also provided for applications that use SDP.
Equivalent parameters could be defined elsewhere for use with control protocols that do not use SDP.</t>
      <section anchor="media-type-registration">
        <name>Media type registration</name>
        <t>The receiver MUST ignore any parameter unspecified in this memo. This memo defines the 'hmpg' haptic subtype for use with the MPEG-I haptics streamable binary coding format described in <xref target="ISO.IEC.23090-31"/>.</t>
        <ul spacing="normal">
          <li>
            <t>Type name: haptics</t>
          </li>
          <li>
            <t>Subtype name: hmpg</t>
          </li>
          <li>
            <t>Required parameters: N/A</t>
          </li>
          <li>
            <t>Optional parameters are defined in the following section.</t>
          </li>
        </ul>
      </section>
      <section anchor="optional-param">
        <name>Optional parameters definition</name>
        <t>hmpg-ver
provides the year of the edition and amendment of ISO/IEC 23090-31 that this file conforms to, as defined in <xref target="ISO.IEC.23090-31"/>.</t>
        <t>hmpg-profile
indicates the profile used to generate the encoded stream as defined in <xref target="ISO.IEC.23090-31"/>. The current possible values are "simple-parametric" and "main".</t>
        <t>hmpg-lvl
indicates the level used to generate the encoded stream as defined in <xref target="ISO.IEC.23090-31"/>.</t>
        <t>hmpg-maxlod
indicates the maximum level of details to use for the avatar(s). The avatar level of detail (LOD) is defined in <xref target="ISO.IEC.23090-31"/>.</t>
        <t>hmpg-avtypes
indicates, using a coma-separated list, types of haptic perception represented by the avatar(s). The avatar type is defined in <xref target="ISO.IEC.23090-31"/>.</t>
        <t>hmpg-modalities
indicates, using a coma-separated list, haptic perception modalities (e.g., pressure, acceleration, velocity, position, temperature, etc.). The perception modality is defined in <xref target="ISO.IEC.23090-31"/>.</t>
        <t>hmpg-bodypartmask
indicates, using a bitmask, the location of the devices or actuators on the body. The body part mask is defined in <xref target="ISO.IEC.23090-31"/>.</t>
        <t>hmpg-maxfreq
indicates the maximum frequency of haptic data for vibrotactile perceptions (Hz). Maximum  frequency is defined in <xref target="ISO.IEC.23090-31"/>.</t>
        <t>hmpg-minfreq
indicates the minimum frequency of haptic data for vibrotactile perceptions (Hz). Minimum  frequency is defined in <xref target="ISO.IEC.23090-31"/>.</t>
        <t>hmpg-dvctypes
indicates, using a coma-separated list, the types of actuators. The device type is defined in <xref target="ISO.IEC.23090-31"/>.</t>
        <t>hmpg-silencesupp
indicates whether silence suppression should be used (1) or not (0). The default value shall be 1.</t>
      </section>
    </section>
    <section anchor="sdp-considerations">
      <name>SDP Considerations</name>
      <t>The mapping of above defined payload format media type to the corresponding fields in the Session Description Protocol (SDP) is done according to <xref target="RFC8866"/>.</t>
      <t>The media name in the "m=" line of SDP MUST be haptics.</t>
      <t>The encoding name in the "a=rtpmap" line of SDP MUST be hmpg</t>
      <t>The clock rate in the "a=rtpmap" line may be any sampling rate, typically 8000.</t>
      <t>The OPTIONAL parameters (defined in <xref target="optional-param"/>), when present, MUST be included in the "a=fmtp" line of SDP. This is expressed as a media type string, in the form of a semicolon-separated list of parameter=value pairs.</t>
      <t>An example of media representation corresponding to the hmpg RTP payload in SDP is as follows:</t>
      <artwork><![CDATA[
m=haptics 43291 UDP/TLS/RTP/SAVPF 115
a=rtpmap:115 hmpg/8000
a=fmtp:115 hmpg-profile=1;hmpg-lvl=1;hmpg-ver=2023
]]></artwork>
      <section anchor="sdp-offeranswer-considerations">
        <name>SDP Offer/Answer Considerations</name>
        <t>When using the offer/answer procedure described in <xref target="RFC3264"/> to negotiate the use of haptic, the following considerations apply:</t>
        <t>The haptic signal can be sampled at different rates. The MPEG Haptics Coding standard does not mandate a specific frequency. A typical sample rate is 8000Hz.</t>
        <t>The parameter 'hmpg-ver' indicates the version of the haptic standard specification. If it is not specified, the initial version of the MPEG Haptic Coding specification SHOULD be assumed, although the sender and receiver MAY use a specific value based on an out-of-band agreement. The parameter 'hmpg-profile' is used to restrict the number of tools used (e.g., the simple-parametric profile fits enable simpler implementations than the main profile). If it is not specified, the most general profile "main" SHOULD be assumed, although the sender and receiver MAY use a specific value based on an out-of-band agreement. The parameter 'hmpg-lvl' is used to further characterize implementations within a given profile, e.g., according to the maximum supported number of channels, bands, and perceptions. If it is not specified, the most general level "2" SHOULD be assumed, although the sender and receiver MAY use a specific version based on an out-of-band agreement.</t>
        <t>Other parameters can be used to indicate bitstream properties as well as receiver capabilities. The parameters 'hmpg-maxlod', 'hmpg-avtypes', 'hmpg-bodypartmask', 'hmpg-maxfreq', 'hmpg-minfreq', 'hmpg-dvctypes', and 'hmpg-modalities' can be sent by a sender to reflect the characteristics of bitstreams and can be set by a receiver to reflect the nature and capabilities of local actuator devices, or a preferred set of bitstream properties. For example, different receivers may have different sets of local actuators, in which case these parameters can be used to select a stream adapted to the receiver. In some other cases, some receivers may indicate a preference for a set of bitstream properties such as perceptions, min/max frequency, or body-part-mask, which contribute the most to the user experience for a given application, in which case these parameters can be used to select a stream which include and possibly prioritizes those properties.</t>
        <t>The parameter 'hmpg-silencesupp' can be used to indicate sender and receiver capabilities or preferences. This parameter indicates whether silence suppression should be used, as described in <xref target="mihs-trans"/>.</t>
      </section>
      <section anchor="declarative-sdp-considerations">
        <name>Declarative SDP considerations</name>
        <t>When haptic content over RTP is offered with SDP in a declarative style, the parameters capable of indicating both bitstream properties as well as receiver capabilities are used to indicate only bitstream properties.  For example, in this case, the parameters hmpg-maxlod, hmpg-bodypartmask, hmpg-maxfreq, hmpg-minfreq, hmpg-dvctypes, and hmpg-modalities declare the values used by the bitstream, not the capabilities for receiving bitstreams. A receiver of the SDP is required to support all parameters and values of the parameters provided; otherwise, the receiver MUST reject or not participate in the session.  It falls on the creator of the session to use values that are expected to be supported by the receiving application.</t>
      </section>
    </section>
    <section anchor="congestion-control-consideration">
      <name>Congestion control consideration</name>
      <t>The general congestion control considerations for transporting RTP data apply to HMPG haptics over RTP as well <xref target="RFC3550"/>.</t>
      <t>It is possible to adapt network bandwidth by adjusting either the encoder bit rate or by adjusting the stream content (e.g., level of detail, body parts, actuator frequency range, target device types, modalities). It is also possible, using the layer field of the RTP payload header, to allocate MIHS units to different layers based on their content, to prioritize haptic data contributing the most to the user experience.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>TBD</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>A new media type will be registered with IANA; see <xref target="format-param"/>.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="ISO.IEC.23090-31" target="https://www.iso.org/standard/86122.html">
          <front>
            <title>ISO/IEC DIS 23090-31,Information technology - Coded representation of immersive media - Part 31: Haptics coding</title>
            <author>
              <organization>ISO/IEC</organization>
            </author>
            <date year="2023"/>
          </front>
          <seriesInfo name="ISO/IEC" value="23090-31"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC3550">
          <front>
            <title>RTP: A Transport Protocol for Real-Time Applications</title>
            <author fullname="H. Schulzrinne" initials="H." surname="Schulzrinne"/>
            <author fullname="S. Casner" initials="S." surname="Casner"/>
            <author fullname="R. Frederick" initials="R." surname="Frederick"/>
            <author fullname="V. Jacobson" initials="V." surname="Jacobson"/>
            <date month="July" year="2003"/>
            <abstract>
              <t>This memorandum describes RTP, the real-time transport protocol. RTP provides end-to-end network transport functions suitable for applications transmitting real-time data, such as audio, video or simulation data, over multicast or unicast network services. RTP does not address resource reservation and does not guarantee quality-of- service for real-time services. The data transport is augmented by a control protocol (RTCP) to allow monitoring of the data delivery in a manner scalable to large multicast networks, and to provide minimal control and identification functionality. RTP and RTCP are designed to be independent of the underlying transport and network layers. The protocol supports the use of RTP-level translators and mixers. Most of the text in this memorandum is identical to RFC 1889 which it obsoletes. There are no changes in the packet formats on the wire, only changes to the rules and algorithms governing how the protocol is used. The biggest change is an enhancement to the scalable timer algorithm for calculating when to send RTCP packets in order to minimize transmission in excess of the intended rate when many participants join a session simultaneously. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="64"/>
          <seriesInfo name="RFC" value="3550"/>
          <seriesInfo name="DOI" value="10.17487/RFC3550"/>
        </reference>
        <reference anchor="RFC2736">
          <front>
            <title>Guidelines for Writers of RTP Payload Format Specifications</title>
            <author fullname="M. Handley" initials="M." surname="Handley"/>
            <author fullname="C. Perkins" initials="C." surname="Perkins"/>
            <date month="December" year="1999"/>
            <abstract>
              <t>This document provides general guidelines aimed at assisting the authors of RTP Payload Format specifications in deciding on good formats. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="36"/>
          <seriesInfo name="RFC" value="2736"/>
          <seriesInfo name="DOI" value="10.17487/RFC2736"/>
        </reference>
        <reference anchor="RFC8088">
          <front>
            <title>How to Write an RTP Payload Format</title>
            <author fullname="M. Westerlund" initials="M." surname="Westerlund"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>This document contains information on how best to write an RTP payload format specification. It provides reading tips, design practices, and practical tips on how to produce an RTP payload format specification quickly and with good results. A template is also included with instructions.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8088"/>
          <seriesInfo name="DOI" value="10.17487/RFC8088"/>
        </reference>
        <reference anchor="RFC8866">
          <front>
            <title>SDP: Session Description Protocol</title>
            <author fullname="A. Begen" initials="A." surname="Begen"/>
            <author fullname="P. Kyzivat" initials="P." surname="Kyzivat"/>
            <author fullname="C. Perkins" initials="C." surname="Perkins"/>
            <author fullname="M. Handley" initials="M." surname="Handley"/>
            <date month="January" year="2021"/>
            <abstract>
              <t>This memo defines the Session Description Protocol (SDP). SDP is intended for describing multimedia sessions for the purposes of session announcement, session invitation, and other forms of multimedia session initiation. This document obsoletes RFC 4566.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8866"/>
          <seriesInfo name="DOI" value="10.17487/RFC8866"/>
        </reference>
        <reference anchor="RFC3264">
          <front>
            <title>An Offer/Answer Model with Session Description Protocol (SDP)</title>
            <author fullname="J. Rosenberg" initials="J." surname="Rosenberg"/>
            <author fullname="H. Schulzrinne" initials="H." surname="Schulzrinne"/>
            <date month="June" year="2002"/>
            <abstract>
              <t>This document defines a mechanism by which two entities can make use of the Session Description Protocol (SDP) to arrive at a common view of a multimedia session between them. In the model, one participant offers the other a description of the desired session from their perspective, and the other participant answers with the desired session from their perspective. This offer/answer model is most useful in unicast sessions where information from both participants is needed for the complete view of the session. The offer/answer model is used by protocols like the Session Initiation Protocol (SIP). [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3264"/>
          <seriesInfo name="DOI" value="10.17487/RFC3264"/>
        </reference>
        <reference anchor="I-D.ietf-mediaman-haptics">
          <front>
            <title>The 'haptics' Top-level Media Type</title>
            <author fullname="Yeshwant K Muthusamy" initials="Y. K." surname="Muthusamy">
         </author>
            <author fullname="Chris Ullrich" initials="C." surname="Ullrich">
         </author>
            <date day="27" month="July" year="2023"/>
            <abstract>
              <t>   This memo serves to register and document the 'haptics' top-level
   media type, under which subtypes for representation formats for
   haptics may be registered.  This document also serves as a
   registration for a set of subtypes, which are representative of some
   existing subtypes already in use.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-mediaman-haptics-05"/>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
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
Mdw2RPX+X2aaqI3gXgAA

-->

</rfc>
