Network Working Group G. Hellstrom Internet-Draft Omnitor Intended status: BCP A. van Wijk Expires: January 13, 2010 Real-Time Text Taskforce (R3TF) July 12, 2009 Text media handling in RTP based real-time conferences draft-hellstrom-text-conference-01 Status of this Memo This Internet-Draft is submitted to IETF in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. This Internet-Draft will expire on January 13, 2010. Copyright Notice Copyright (c) 2009 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents in effect on the date of publication of this document (http://trustee.ietf.org/license-info). Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Abstract This memo specifies methods for text media handling in multi-party calls, where the text is carried by the RTP protocol. Real-time text Hellstrom & van Wijk Expires January 13, 2010 [Page 1] Internet-Draft Text conference handling July 2009 is carried in a time-sampled mode according to RFC 4103. Centralized multi-party handling of real-time text is achieved through a media control unit coordinating multiple RTP text streams into one RTP session, identifying each stream with its own SSRC. Identification for the streams are provided through the RTCP messages. This mechanism enables the receiving application to present the received real-time text medium in different ways according to user preferences. Some presentation related features are also described explaining suitable variations of transmission and presentation of text. Call control features are described for the SIP environment, while the transport mechanisms should be suitable for any IP based call control environment using RTP transport. An alternative method using a single RTP stream and source identification inline in the text stream is also described. Requirements Language 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 RFC 2119 [RFC2119]. Hellstrom & van Wijk Expires January 13, 2010 [Page 2] Internet-Draft Text conference handling July 2009 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 2. Centralized conference model . . . . . . . . . . . . . . . . . 4 2.1. Coordination of text RTP streams . . . . . . . . . . . . . 5 2.2. Session control of multi-party sessions . . . . . . . . . . 5 3. Identification of the source of text . . . . . . . . . . . . . 5 4. Presentation of multi-party text . . . . . . . . . . . . . . . 6 4.1. Associating identities with text streams . . . . . . . . . 6 4.2. Selecting what to present . . . . . . . . . . . . . . . . . 7 5. Transmission of text from each user . . . . . . . . . . . . . . 7 6. Alternative source indicator for use of an RTP mixer for text. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 8 8. Security Considerations . . . . . . . . . . . . . . . . . . . . 8 9. Congestion considerations . . . . . . . . . . . . . . . . . . . 8 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 8 11. Normative References . . . . . . . . . . . . . . . . . . . . . 8 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 9 Hellstrom & van Wijk Expires January 13, 2010 [Page 3] Internet-Draft Text conference handling July 2009 1. Introduction Real-time text is a medium in real-time conversational sessions. Text entered by participants in a session is transmitted in a time- sampled fashion, so that no specific user action is needed to cause transmission. This gives a direct flow of text that is suitable in a real-time conversational setting. The real-time text medium can be combined with other media in multimedia sessions. A number of multimedia sessions can be combined in a multi-party session. This memo specifies how the real-time text streams are handled in such multi-party sessions. The description is mainly focused on the transport level, but also describes a few presentation level features. Transport of real-time text is specified in RFC 4103 [RFC4103] RTP Payload for text conversation. It makes use of RFC 3550 [RFC3550] Real Time Protocol, for transport, and is usually used in the SIP Session Initiation Protocol RFC 3261[RFC3261] environment, even if it is also used in other call control environments. Call control aspects in this specification are explained with examples from SIP. The specifications about how to handle multi-party text transport, identification and presentation are valid also for other call control environments where RTP and RTCP are used. A very brief overview of functions for both real-time and messaging text handling in multi-party sessions is described in RFC 4597 Conferencing Scenarios [RFC4579]. This specification builds on that description and indicates what existing protocol mechanisms should be used to implement multi-party handling of text in real-time sessions. 2. Centralized conference model In the centralized conference model, one function co-ordinates the sessions with participants in the multi-party session. This function also controls media mixer functions for the media appearing in the session. The central function is common for control of all media, while the media mixers may work differently for each medium. The central function is called the Focus UA and may be co-located in an advanced terminal including multi-party control functions, or it may be located in a separate location. Many variants exist for setting up sessions including the multipoint control centre, It is not within scope of this description to describe these, but rather the media specific handling in the mixer required to handle multi- party calls. Hellstrom & van Wijk Expires January 13, 2010 [Page 4] Internet-Draft Text conference handling July 2009 The main principle for handling real-time text media in a centralized conference is that one RTP session for real-time text is established between the multipoint media control centre and each participant who is going to have real-time text exchange with the others. 2.1. Coordination of text RTP streams The preferred way of coordinating text RTP streams is that within each RTP session, text from each participant is transmitted from the media mixer as a separate RTP stream, thus all using the same destination address/port combination, but using different RTP SSRCs as described in Section 7.1 of RTP RFC 3550 [RFC3550] about the Translator function. This methods enables the receiver to freely select display characteristics of the text conversation. When coordinating the RTP streams from the Translator, they all get the same RTP Payload type numbers and redundancy level, resulting from the SDP negotiation of the session. An alternative way to coordinate the RTP streams is to combine them into one by an RTP Mixer function as described in RTP RFC 3550 [RFC3550] Section 7.1. In this case, the text source must be indicated inline in text as described in the section on alternative transport in this memo. 2.2. Session control of multi-party sessions General session control aspects for multi-party sessions are described in RFC 4575 A Session Initiation Protocol (SIP) Event Package for Conference State[RFC4575], and RFC 4579 Session Initiation Protocol (SIP) Call Control - Conferencing for User Agents [RFC4579]. The nomenclature of these specifications are used here. 3. Identification of the source of text The Focus UA co-ordinates the media flow. Real-time text media from different sources are combined in one text media session by the Focus UA. The main principle is that the Focus UA SHOULD act as an RTP Translator as described in RFC 3550 RTP [RFC3550] Section 7.1. The RTP text stream from each participant who transmits text is allocated one unique SSRC. The SSRC is used by the receiver to identify text packets originating from one source. Each RTP packet MUST contain text from only one source. The redundancy mechanism for increased robustness used by the RFC 4103 transport makes use of the RTP sequence number for detection of Hellstrom & van Wijk Expires January 13, 2010 [Page 5] Internet-Draft Text conference handling July 2009 loss. One sequence number series is maintained per RTP stream identified by one SSRC. The RTP Translation mechanism maintains a separate SSRC for each source RTP stream in the combined RTP session. Therefore the RTP Translation mechanism can be used for conveying text from multiple sources to one destination, with maintained possibility to detect and recover loss and identify text from the different sources. As soon as a new member is added to the RTP session, its characteristics shall be transmitted in RTCP SDES reports according to section 6.5 in RFC 3550. The RTCP SDES report, SHOULD contain identification of the source represented by the SSRC identifier. This identification MUST contain the CNAME field and MAY contain the NAME field and other defined fields of the SDES report. A focus UA SHOULD primarily convey SDES information received from the sources of the session members. When such information is not available, the focus UA SHOULD compose CNAME and NAME information from available information from the SIP session with the participant. 4. Presentation of multi-party text All session participants MUST observe the SSRC field of incoming text RTP packets, and make note of what source they came from in order to be able to present text in a way that makes it easy to read text from each participant in a session, and get information about the source of the text. 4.1. Associating identities with text streams A source identity SHOULD be composed from available information sources and displayed together with the text as indicated in ITU-T T.140 Appendix [T.140]. The source should primarily be the NAME field from incoming SDES packets. If this information is not available, and the session is a two-party session, then the T.140 source identity SHOULD be composed from the SIP session participant information. For multi-party sessions the source identity may be composed by local information if sufficient information is not available in the session. Applications may abbreviate the presented source identity to a suitable form for the available display. Hellstrom & van Wijk Expires January 13, 2010 [Page 6] Internet-Draft Text conference handling July 2009 4.2. Selecting what to present Display space limitations and other considerations may call for an opportunity for the user to select what sources of text to present, at what stage in the reception process to display them and how to present them. The specification draft-hellstrom-text-preview [I-D.hellstrom-textpreview] specifies such presentation aspects. 5. Transmission of text from each user UAs participating in sessions with real-time text, SHOULD send SDES packets in RTCP giving values to appropriate identification fields. The CNAME field SHALL be included in SDES packets. The NAME field should be given a value that is suitable as an identifier of text from the user of the UA. 6. Alternative source indicator for use of an RTP mixer for text. In certain application environments, it may be known to be unsuitable to send multiple SSRC streams in one RTP session. In such cases, an inline coding of the source of text SHOULD be applied in the data stream itself, and an RTP mixer function used for coordinating the sources of text into one RTP stream. The information otherwise conveyed in the CNAME field of an SDES packet SHALL then be placed as the parameter value in the T.140 application protocol function with the function code "c". The identifier shall thus be formatted like this: SOS c cname field contents ST, where SOS and ST are coded as specified in ITU-T T.140 [T.140] The information otherwise conveyed in the NAME field of an SDES packet SHOULD then be placed as the parameter value in the T.140 application protocol function with the function code "n". A T.140 application protocol function with the function code "c" MUST be included in the text in the beginning of text when the source of the text changes. A T.140 application protocol function with the function code "c" MAY be repeated in the text from the same the source. A T.140 application protocol function with the function code "n" MAY be included in the text to further provide identification of the transmitting party. This information SHOULD also be provided in the SDES name field. A receiving UA SHOULD separate text from the different sources and identify and display them accordingly. Hellstrom & van Wijk Expires January 13, 2010 [Page 7] Internet-Draft Text conference handling July 2009 7. IANA Considerations This document makes no request of IANA. Note to RFC Editor: this section may be removed on publication as an RFC. 8. Security Considerations The security considerations valid for RFC 4103 and RFC 3550 are valid also for the multi-party sessions with text. 9. Congestion considerations The congestion considerations described in RFC 4103 are valid also for multi-party use of the real-time text RTP transport. A risk for congestion may appear if a number of conference participants are active transmitting text simultaneously, because this multi-party transmission method does not allow multiple sources of text to contribute to the same packet. In situations of risk for congestion, the Focus UA MAY combine packets from the same source to increase the transmission interval per source up to one second. Local conference policy in the Focus UA may be used to decide on which streams shall be selected for such transmission frequency reduction. 10. Acknowledgements 11. Normative References [I-D.hellstrom-textpreview] Hellstrom, G., Williams, N., Wijk, A., and G. Vanderheiden, "Presentation of Text Conversation in realtime and en-bloc form", draft-hellstrom-textpreview-06 (work in progress), July 2009. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., Peterson, J., Sparks, R., Handley, M., and E. Schooler, "SIP: Session Initiation Protocol", RFC 3261, June 2002. Hellstrom & van Wijk Expires January 13, 2010 [Page 8] Internet-Draft Text conference handling July 2009 [RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V. Jacobson, "RTP: A Transport Protocol for Real-Time Applications", STD 64, RFC 3550, July 2003. [RFC4103] Hellstrom, G. and P. Jones, "RTP Payload for Text Conversation", RFC 4103, June 2005. [RFC4575] Rosenberg, J., Schulzrinne, H., and O. Levin, "A Session Initiation Protocol (SIP) Event Package for Conference State", RFC 4575, August 2006. [RFC4579] Johnston, A. and O. Levin, "Session Initiation Protocol (SIP) Call Control - Conferencing for User Agents", BCP 119, RFC 4579, August 2006. [T.140] ITU-T., "Protocol for multimedia application text conversation", 1998, . Authors' Addresses Gunnar Hellstrom Omnitor Box 92054 Stockholm SE-120 06 Sweden Phone: +46858900056 Fax: +46858900051 Email: gunnar.hellstrom@omnitor.se URI: www.omnitor.se Arnoud van Wijk Real-Time Text Taskforce (R3TF) NL Email: arnoud@realtimetext.org URI: www.realtimetext.org Hellstrom & van Wijk Expires January 13, 2010 [Page 9]