<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY RFC2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC5646 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5646.xml">
<!ENTITY RFC6497 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6497.xml">
<!ENTITY I-D.ietf-slim-negotiating-human-language SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-slim-negotiating-human-language.xml">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?> <!-- used by XSLT processors -->
<!-- OPTIONS, known as processing instructions (PIs) go here. -->
<!-- For a complete list and description of PIs,
     please see http://xml.resource.org/authoring/README.html. -->
<!-- Below are generally applicable PIs that most I-Ds might want to use. -->
<?rfc strict="yes" ?> <!-- give errors regarding ID-nits and DTD validation -->
<!-- control the table of contents (ToC): -->
<?rfc toc="yes"?> <!-- generate a ToC -->
<?rfc tocdepth="2"?> <!-- the number of levels of subsections in ToC. default: 3 -->
<!-- control references: -->
<?rfc symrefs="yes"?> <!-- use symbolic references tags, i.e, [RFC2119] instead of [1] -->
<?rfc sortrefs="yes" ?> <!-- sort the reference entries alphabetically -->
<!-- control vertical white space: 
     (using these PIs as follows is recommended by the RFC Editor) -->
<?rfc compact="yes" ?> <!-- do not start each main section on a new page -->
<?rfc subcompact="no" ?> <!-- keep one blank line between list items -->
<!-- end of popular PIs -->
<rfc  category="info" docName="draft-hellstrom-slim-simultaneous-modalities-01" ipr="trust200902">
  <front>
    <title abbrev="Simultaneous Modalities">Negotiating Simultaneous Modalities  in Real-Time Communications</title>
    <author fullname="Gunnar Hellstrom" initials="G" surname="Hellstrom">
      <organization>Omnitor</organization>
      <address>
        <postal>
      <street>Hammarby Fabriksvag 23</street>
      <city>Stockholm</city>
<!-- <region/> -->
      <code>120 30</code>
      <country>Sweden</country>
        </postal>
      <phone>+46 708 204 288</phone>
<!-- <facsimile/> -->
      <email>gunnar.hellstrom@omnitor.se</email>
<!-- <uri/> -->
      </address>
    </author>
    <date year="2017" />
      <area>ART</area>
      <workgroup>SLIM</workgroup>
      <keyword>Language</keyword>
      <keyword>Transform</keyword>
      <keyword>Negotiation</keyword>
<!-- <keyword/> -->
    <abstract>
      <t>
In a real-time communication session, there may be a need or preference for receiving the same content in two or more simultaneous modalities. This specification extends a mechanism for human language negotiation with a mechanism for indication of preference for, or the availability of, simultaneously provided transformations of original contents. This indication enables negotiation of simultaneous modalities in real-time sessions. Applications are for example provision of both spoken and written content in a real-time call (captioning), or provision of both spoken language original and sign language interpretation of the original language in a real-time session.     </t>
    </abstract>
  </front>
  <middle>
    <section title="Introduction">
	<t>
	In certain applications it is of interest to indicate a need for, or the availability of, transformed version of the contents of a media stream in another media, while still also providing the original.
    </t>
	<t>
	The application of this indication may for example be for rapid subtitling of speech either manually or automatically. It may also be sign language interpretation of speech, or spoken interpretation of sign language when both the original and the interpretation is delivered to the user.
	</t>
	<t>
	A mechanism for language negotiation in real-time communications is introduced in     <xref target="I-D.ietf-slim-negotiating-human-language"/>.
    </t>
	<t>
	This specification extends the mechanism with an indication that a transformation of language contents in one modality is desired in a different modality. Negotition of transformations of the language contents simultaneously with the original contents can be accomplished by using this indication in the context of language negotiation in real-time communications <xref target="I-D.ietf-slim-negotiating-human-language"/>.
	The same indication is used for indication of preparedness to send 
	language contents in one modality simultaneously with same content in a different modality
	</t>
	<t>
	
	
	The indication is based on the "t" extension of <xref target="RFC5646"/>, specified in RFC 6497	<xref target="RFC6497"/>.
    	</t>
	</section>
	<section title="Terminology">
      <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="Simultaneous-modality" title="Indication of Simutaneous Modalities">
	<t>
	
	The mechanism specified here extends the language negotiation mechanism specified in <xref target="I-D.ietf-slim-negotiating-human-language"/> with a mechanism for indicating request for, or availability of, original content and transformed form of original language content in another modality in the same transmission direction. The indication should be provided in language tags of the 'hlang-send' or 'hlang-recv' SDP attribute values specified in <xref target="I-D.ietf-slim-negotiating-human-language"/>.

	</t>
    <t>
	When the transformed language is to be requested or provided simultaneously with the original, this condition should be indicated by using the "t" extension to BCP47 <xref target="RFC5646"/> as specified in RFC 6497	<xref target="RFC6497"/>, by attaching a "t" subtag on the language tag for the language that is expected to be provided in a transformed modality. 
	</t>
	<t>

Briefly, the 't' extension consists of the string "-t" followed by the source language subtag. 
	</t>
	<t>

Example: "en-t-en"   is an English transform of an English source (in another modality).
	</t>
	<t>

	On reception of an indication in a 'hlang-recv' attribute, a language tag with the 't' extension and also a 'hang-recv' attribute for another modality with the same language without the "t" extension, the answering party should interpret this as a request to send both the original and the transformed content.
	</t>
	<t>


	On reception of an indication in a 'hlang-send' attribute a language tag with the 't' extension and also a 'hang-send' attribute for another modality with the same language without the "t" extension, the answering party should interpret this as the preparedness of the offering party to send both the original and the transformed content simultaneously. 
	</t>
	<t>


	The media that the "t" extension is attached to should only be interpreted as an expectation for how the transformation will be made. Conditions in the real established session MAY cause the original and transformation to swap roles from what the subtags indicated. 

	</t>
	</section>
	<section anchor="Negotiation" title="Negotiation">
	<t>
	Indication of a request for reception of multiple simultaneous modalities by the "t" extension in an offer by 'hlang-recv' attributes should be interpreted as a request to receive these modalities simultaneously. The answering party MAY satisfy this request by providing the requested simultaneous modalities. This should be indicated in the answer by the "t" extension in the 'hlang-send' SDP attributes. If the answering party had no possibility to provide the simultaneous modalities, then no "t" extensions should be indicated in the 'hlang-send' attribute values with the same original language. 
	
	</t>
	<t>
	Indication of availability of providing simultaneous modality of an original language should be indicated by the "t" extension in the 'hlang-send' attribute in the offer. The answering party SHOULD indicate its interest to receive the offered simultaneous modalities by including the "t" extension in 'hlang-recv' attributes in the approriate media specifications in the answer. If the answering party is only interested in receiving one of the offered modalities, then the language tag should only be provided in the corresponding 'hlang-recv' attribute in the answer.
	
	</t>
	<t>
	If an answering party prefers to receive simultaneous modalities of an original language content that was not offered in the 'hlang-send' attribute in the offer, then the answering party MAY anyway include the preferred language and modality with the "t" extension in the answer. The answering user may then observe in the language exchange in the beginning of the session if the request for simultaneous modalities could be satisfied. For cases when a more formal indication of the satisfaction of the request, the answering party SHOULD request an update of the session and include the request for reception of multiple simultaneous modalities in the 'hlang-recv' attributes. 
	</t>
	<t>
	The indications of multiple simultaneous modalities MAY be combined with other preference indications defined for the application of the 'hlang-' attributes. 
	</t>
	</section>
	<section anchor="Limitations" title="Limitations">
	<t>
	It is not possible to use the "t" extention to indicate an alternative language for selection in a different modality than the original language that is also included in a 'hlang-' attribute. Implementations SHOULD always interpret such indications as indications for simultaneous modality. If interpretation as alternative languages to select from is desired, the "t" extension SHOULD be omitted.
    </t>
	
	</section>
	<section anchor="Examples" title="Examples">
	<t>
	A request for a written English subtitling to be received by the caller in the text stream created from a spoken English source in the audio stream. The caller also indicates a preference to speak English:

	 <list style="empty">
	 
     <t> m=audio 49250 RTP/AVP 20 </t>
     <t> a=hlang-recv:en </t>
     <t> a=hlang-send:en* </t>
 
     <t> m=text 45020 RTP/AVP 103 104 </t>
     <t> a=hlang-recv:en-t-en</t>
     </list>
	 </t>
	 <t>
 An acknowledgement of the request:

	 <list style="empty">
	 <t> m=audio 49250 RTP/AVP 20 </t>
     <t> a=hlang-send:en </t>
     <t> a=hlang-recv:en </t>
 
     <t> m=text 45020 RTP/AVP 103 104 </t>
     <t> a=hlang-send:en-t-en </t>
    </list>
	</t>
	<t>
In the session, the caller will receive both spoken English and written English. The caller will send English speech. 
	</t>
	<t>
	An alternative response from a party that cannot satisfy the request, but only provide spoken English:

	 <list style="empty">
	 <t> m=audio 49250 RTP/AVP 20 </t>
     <t> a=hlang-send:en </t>
     <t> a=hlang-recv:en </t>
 
     <t> m=text 45020 RTP/AVP 103 104 </t>
    
    </list>
	</t>
	
	</section>
	
	
    <section anchor="Acknowledgements" title="Acknowledgements">
    </section>
    <section anchor="IANA" title="IANA Considerations">
	<t>
	No IANA considerations. This specification reuses already registered entities.
	</t>
    </section>
    <section anchor="Security" title="Security Considerations">
	<t>
	Some users may regard their language and modality preference details to be sensitive and requiring privacy and security measures. This fact should be considered when implementing the mechanism specified in this document. The security considerations are common with <xref target="I-D.ietf-slim-negotiating-human-language"/>.
	</t>
    </section>
  </middle>
  <back>
    <references title="Normative References">
      &RFC2119;
      &RFC5646;
	  &RFC6497;
    </references>
    <references title="Informative References">
      &I-D.ietf-slim-negotiating-human-language;
    </references>
  </back>
</rfc>