HTTP/1.1 200 OK Date: Tue, 09 Apr 2002 11:46:55 GMT Server: Apache/1.3.20 (Unix) Last-Modified: Fri, 14 Aug 1998 13:06:00 GMT ETag: "3ddac3-2b41-35d43638" Accept-Ranges: bytes Content-Length: 11073 Connection: close Content-Type: text/plain INTERNET DRAFT Keiko Tanigawa draft-tanigawa-rtp-multiplex-00.txt Tohru Hoshi Koji Tsukada Hitachi, Ltd. June 16, 1998 Expires: December 16, 1998 An RTP Simple Multiplexing Transfer Method for Internet Telephony Gateway STATUS OF THIS MEMO This document is an Internet-Draft. 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''. To learn the current status of any Internet-Draft, please check the ``1id-abstracts.txt'' listing contained in the Internet-Drafts Shadow Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe), munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or ftp.isi.edu (US West Coast). Abstract This document discusses the RTP multiplexing format which is designed to reduce the IP-UDP header overhead of the RTP streams with a decreased number of packets in end-to-end transport functions. By augmenting the RTP format and defining a format for multiplexing streams, the overhead for duplicated IP/UDP headers is reduced. 1. Introduction Since real-time transport protocol, which transmits and receives multi-media data, such as audio and video over IP networks was defined as RFC 1889[1] and RFC1890[2], the conformance between conference/conversation multi-media communication applications has become guaranteed. Prior to that time, it was difficult or impossible because of individual formats. As RTP is integrated into the H.323 protocol stack which was standardized by the ITU-T, Internet Telephony Gateways and gateways that enable communication between RTP supported Internet Telephony client software and telephones, or between two telephones, is increasing. One problem concerning the voice packet is that IP/UDP/RTP header is larger than the voice data itself when being sent on IP networks. Various high compression methods have been developed for digitizing voice data. For example, with the G.723.1 (5.3kbps) the frame size becomes 20B (30ms), half the size of the 40B header, IPv4 (20B) + UDP (8B) + RTP fixed header (12B) = 40B. The IPv6 header is even larger and the overhead occupied in the RTP voice packet places an even greater burden on the network. In case of Internet Telephony Gateways, where more than one RTP stream occurs between gateways, the bandwidth that the header occupies must be taken into consideration. Also, the traffic load on the router increases due to the flow of many short packets of under a hundred bytes. This causes the delay, jitter and the packet loss, which contributes to the overall degradation of the quality that real-time communication demands. This document defines the RTP multiplexing method for Internet Telephony Gateways communicating between two telephones, where more than one RTP stream occurs between gateways. Also defined is the RTP stream multiplexing format which is the extended RTP format. 2. Multiplexing RTP Voice Streams There are two types of Internet Telephony Gateways presently being developed; (1) Internet Telephony client-to-telephone, and (2) telephone-to-telephone. This document focuses on the latter type, the unicast type telephone-to-telephone gateway. RTP explained in RFC 1889 is a protocol for transmitting real-time multi-media data over multicast or unicast networks. Basically there is a separate session for each stream. For example in the transfer of video data, an audio stream and a video stream attaches a separate session and the identification code for each can be set individually. Like Internet Telephony Gateways, when more than one RTP stream occurs between gateways, each RTP data stream shares the same IP address and the IP address size (20B) does not differ from the size of the voice data. When 8 voice streams (coding format G.723.1) are being transferred between Internet Telephony Gateways, each RTP voice stream bandwidth is: 20 (IP) + 8 (UDP) + 12 (RTP-Fixed Header) + 20 (G.723.1) = 60B 60 * 33 (packets/sec) * 8 = 15.8 (kbps) The bandwidth utilized by the above 8 RTP voice streams: 15.8 (kbps) * 8 = 126.7 (kbps) The percentage occupied by the shared IP address data within the 8 streams is: 20 (B) * 33 (packet/sec) * 8 (streams) * 8 (bits) = 42.2 (kbps). This is equal to a little less than the bandwidth of 3 RTP voice streams. The above characteristics make it possible to eliminate redundant data and reduce the necessary bandwidth through multiplexing streams into one IP packet when there is more than one sharing the same destination, or that is, having the same IP address at one gateways. In addition traffic load of the router is lessened because the number of packets is reduce to one-eighth of the original amount. At the same time, it is possible to set the ID, UDP port for each stream according to the RTP, and RTCP sender reports and receiver reports are transmitted for each stream. 3. Simple Voice Stream Multiplexing Packet Format The format for each stream is that standard RTP format described in [1]. The multiplex stream is formed only by linking a series of RTP streams. 0 2 3 4 7 8 15 31 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RTP Data 1 | | ............. | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RTP Data 2 | | ............. | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ............. | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RTP Data n | | ............. | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 1. Multiplexing Format Tanking into consideration the integration of, and borrowing from, existing RTP standards, this method is preferable. If the GWs negotiate for multiplexing at the call control, the decision as to whether or not the stream data shall continue more in the packet can be made by considering the size of the receiving packet and each stream's payload-type. There are some advantages, for example, there is no redundant data added for multiplexing and it is easy to implement. Figure 2 indicates the type of CODEC and the effect of multiplexing when using bandwidth for multiplexing 8 streams. (The bandwidth when sending 8 streams separately = 100% ) +---------+---------+---------+---------+---------+ | CODEC | G.711 | G.723.1 | G.729 | GSM | +---------+---------+---------+---------+---------+ | Rate(%) | 96.9 | 68.75 | 66.4 | 73.1 | +---------+---------+---------+---------+---------+ Figure 2 4. Port assignment for Multiplexing The UDP port that transports the RTP data is set separately for each RTP session. Unlike transmitting video data, in the Internet Telephony Gateways one transmission does not include multi-media sessions such as video and voice (data). Each RTP session is separate and not related, which makes it impossible to have a fixed setting in one of the related sessions. Indicated below is the method for determining the UDP port on which the multiplex stream is transported when multiplexing RTP voice streams. Basically one of the RTP sessions having the same gateway destination is used and a multiplex packet is created and transferred. o The sending and receiving buffer of each RTP session is reserved, and a multiplex packet is created and transmitted at a set timing. For example voice transmissions are set at a default value of 20ms intervals (except G.723.1). o When data is transmitted in a RTP session at RTP timing, after checking whether or not the transmitted data of another session has the same terminal destination IP address, the message is distributed to the transmission destination. o In cases when there are already other sessions with the same transmit terminal destination, the RTP data is queued in the transmit buffer of one of the RTP sessions. o When there is already some RTP data queued in the transmit buffer of a session, the new data is linked in the same transmit buffer. o When the data of each session has been distributed, transmission processing begins. When there is some RTP data linked, the data is put into an IP packet. For example when 5 RTP voice streams(1-5) are transferred between Internet Telephony Gateways, multiplex packets are sent using one of the UDP ports designated for the streams(1-5). Each time a stream(1-5) is transmitted, it is possible to change the UDP port that is used. Actual implementation is beyond the scope of this document. 5. Negotiation GWs must determine, during the call control, whether the destination GW and/or H.323 terminal has a multiplexing function. Additionally, when multiple streams are multiplexed into one RTP packet, GWs can not distinguish between streams by the receiving port number. Therefore, GWs need to communicate that stream identifications with one another. The ID value is set SSRC which is defined in RTP to prevent having to manage multiple IDs. Negotiation and such topics are also beyond the scope of this document. 6. Open Issues There are some issues; (1) How the negotiation for multiplexing and communication of stream's ID (SSRC) are processed in H.323? (2) How about the multimedia streams whose lengths are variable? Shall each RTP stream's RTP fixed header be extended having a length field? 7. Conclusion A voice streams multiplexing format for IP Telephony Gateways was proposed. This format is very simple, and the implementation is very easy. 8. References [1] H. Schulzrinne, et. al., "RTP : A Transport Protocol for Real-Time Applications", IETF RFC 1889, January 1996. [2] H. Schulzrinne, et. al., "RTP Profile for Audio and Video Conference with Minimal Control", IETF RFC 1890, January 1996. 9. Author's Addresses Keiko Tanigawa Systems Development Laboratory Hitachi, Ltd. 292 Yoshida-cho, Totsuka-ku, Yokohama, 244-0817, JAPAN Phone: +81-45-881-1241 Fax: +81-45-860-1675 Email: takahara@sdl.hitachi.co.jp Tohru Hoshi Email: hoshi@sdl.hitachi.co.jp Koji Tsukada EMail: ktsukada@sdl.hitachi.co.jp