Internet Engineering Task Force AVT Working Group Internet Draft B. Subbiah, S. Sengodan draft-ietf-avt-mux-rtp-00.txt Nokia Research Center. Aug 21, 1998 Expires: Feb 21, 1999 User Multiplexing in RTP payload between IP Telephony Gateways STATUS OF THIS MEMO This document is an Internet-Draft. Internet-Drafts are working docu- ments of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute work- ing 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 mate- rial 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). Distribution of this document is unlimited. ABSTRACT This draft proposes a method to multiplex a number of low bit rate audio streams (upto 256) into a single RTP/UDP/IP connection between IP telephony gateways. Audio samples from different users are assem- bled into an RTP payload thus reducing the overhead of RTP/UDP/IP headers. To identify users sharing a single RTP/UDP/IP connection, a 2 byte MINI-Header is proposed. A channel negotiation procedure to assign and release channels on a single UDP connection between gateways is described. 1 Introduction IP telephony gateways provide an interface between the existing circuit switched telephone networks (such as PSTN and GSM) and the packet switched IP data networks. In a traditional IP telephony application, telephone calls between PSTN/GSM users interconnected by a pair of IP telephony gateways are carried by separate RTP/UDP/IP connections. Codecs at the IP telephony gateway which compress incoming PSTN/GSM speech samples generate packets with sizes ranging from 5 to 20 bytes per speech sample. For example, G.723.1 (the most popular IP telephony codec and the IMTC VoIP Forum's mandatory low bit-rate codec), generates a 20 byte speech packet at 30 ms intervals B. Subbiah, S. Sengodan [Page 1] Internet Draft Aug 15, 1998 [4]. Many codecs used in cellular environments generate packets of size less than 10 bytes per speech sample. Small size packets are subject to a large overhead when transferred using the Real time Transport Protocol (RTP). The RTP/UDP/IP overhead is 40 bytes (12+8+20) for a single speech packet. For example, a 10 byte packet transferred via RTP/UDP/IP has an overhead of 80%. In addition, for each call request a single UDP/IP connection (a pair of UDP ports) is established between the gateways. This not only limits the number of audio streams between the gateways to the number of available UDP port pairs, but also requires a large state (memory) to be maintained at the telephony gateways, thereby making these gateways less scaleable. Another disadvantage of the traditional RTP/UDP/IP method in a gateway scenario is the possibility of congestion at intermediate routers in the IP network. In the RTP/UDP/IP method, each individual speech packet is transmitted as a single IP packet, which results in large number of small sized IP packets between gateways. This is a potential situation for congestion at intermediate IP routers. Congestion in IP networks results in packet loss and UDP does not have any re-transmission mechanism to recover lost packets. Also, real time applications such as speech are intolerant to delay caused by re-transmission. In this draft, we propose a mechanism that enables several streams (upto 256) to share a single RTP/UDP/IP connection between IP telephony gateways thereby reducing the overhead, lowering the possibility for congestion at IP routers, and making such gateways more scaleable. This method is suitable for IP telephony gateways that interconnect PSTN/GSM users through IP networks. In a cellular environment, it can also be used in cellular trunking, links that interconnect Base Station (BS), Base Station controller (BSC), and Mobile Switching Center (MSC) of a Radio Access Network (RAN). Individual user packets multiplexed in an RTP payload are identified using a 2 byte MINI-header. The channel association between gateways for a single user can be carried out by one of the three mechanisms described later in this draft. 2 User multiplexing in RTP payload It has been observed that, at any given time there are multiple active users between IP telephony gateway pairs that interconnect PSTN/PBX/GSM clouds. This is also true in the case of cellular trunking between a Base Transmission System (BTS) and BSC/MSC. At present, IP telephony gateways establish and maintain a separate RTP/UDP/IP connection for each call request. In the above scenarios, a large number of connections originate and terminate between two gateways interconnected by an IP network. This is an ideal situation for multiplexing a group of users in a single RTP/UDP/IP connection. The mechanism for user mux in RTP that is proposed in this draft decreases the overhead by multiplexing two or more (up to 256) low bit rate connections (compressed speech) in a single RTP/UDP/IP connection. To enable such multiplexing, a 2 byte header called B. Subbiah, S. Sengodan [Page 2] Internet Draft Aug 15, 1998 MINI-Header is prepended to each mini packet before it is assembled with other mini packets into an RTP payload. To identify a single user among the number of users sharing the same RTP connection, each user is assigned a unique Channel Identifier (CID) which is negot- iated during connection setup. The CID negotiation procedure is carried out by a control signaling which may be based on one of the three methods(CNP, SIP and H.225) described in section 3. 2.1 MINI-Header The format of a MINI-Header is shown in Figure 1: 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CID | LI |T|R| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 1: Format of a MINI-Header The length of the MINI-Header is 2 bytes, which includes a Channel Identifier(CID), Length Indicator (LI), Transition bit (T) and a Reserved bit (R). The purpose of each field is described below: - Channel IDentification (CID): This 8 bit field allows a maximum of 256 users to share a single RTP/UDP/IP connection. When the total number of users exceeds 256, a new RTP/UDP/IP connection is established. - Length Indicator (LI): This 6 bit field allows a maximum payload size of 64 bytes. - Transition bit (T): The transition bit is used to facilitate dynamic re-negotiation of mini-packet processing. Notification of such changes occurs by toggling the bit. - Reserved bit (R): The use of this bit is being explored at this moment. It has been observed that an 8 bit CID is sufficient for multiplexing since there are enough speech samples at any instance. Most of the codecs generate packets less than 40 bytes per speech sample that can be easily accommodated with a 6 bit LI field. While the presence of a Sequence Number (SN) field and a Marker (M) field in the mini-header could be useful at the receiving gateway, we believe that the presence of these fields is not critical. The SN field in the RTP header can guarantee the order of packet (RTP packet) arrival at the receiver. If the packet multiplexing order at the transmitter is maintained then there is no need for SN in the MINI-Header from the standpoint of in-sequence arrival of packets within a single RTP/UDP/IP connection. Moreover, a Header Error Control (HEC) field to protect from transmission errors has been left out because UDP checksum could be used for the same purpose. B. Subbiah, S. Sengodan [Page 3] Internet Draft Aug 15, 1998 2.2 RTP Payload Format A speech sample (voice packet) received from a user is converted to a mini packet by adding the 2 byte MINI-Header. The CID selection and channel negotiation procedures are carried out before the packet is assembled. These procedures are described in section 3. The assembly of mini packets into a single RTP payload with RTP/UDP/IP header is shown in Figure 2. The mini packets follow the RTP header and each mini packet is delineated by the 2 byte MINI-Header. This arrangement of a MINI-header followed by payload allows variable sized packets (<= 64 bytes) to be assembled without the knowledge of the payload itself. Moreover, this scheme requires a very simple de-multiplexing algorithm at the receiver. The RTP payload received by the remote gateway is de-assembled to recover the individual mini packets until the payload becomes empty. The packets are then delivered to the respective users based on the channel association carried out during the call setup phase. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+ | + + + + + + + + + | | IP + UDP + RTP + MH1 + VP1 + MH2 + VP2 + ~ + MHn + VPn | | (20) + (8) + (12) + (2) + + (2) + + + (2) + | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+ *MH - Mini Header, VP - Voice Packet Figure 2. RTP payload format with user multiplexing 2.3 Packet assembly timer While assembling mini packets into an RTP payload, there is a need to control the waiting time (delay) between the placement of the first packet in the RTP payload and the transmission of the complete IP packet to the remote gateway. Without a timer, packets placed at the beginning will be subjected to a large delay. This problem occurs when there is a large interval between successive packet arrivals at the multiplexing end. To solve this problem, we propose a timer called TIMER_MUX to control the maximum delay a mini packet may be subjected to during the RTP payload assembly. The TIMER_MUX is initialized when the first packet is placed in the RTP payload and upon the timer expiry the RTP/UDP/IP packet is transmitted. There are instances when the RTP/UDP/IP packet needs to be transmitted without the expiry of TIMER_MUX. The higher the TIMER_MUX value the better the bandwidth efficiency. However, a higher TIMER_MUX value means additional delay for voice packets. 2.4 Packet Size The assembly process of mini-packets into an RTP payload should not only consider the TIMER_MUX value but should also take into account the size of the resulting IP datagram. The size of the resulting IP datagram should not exceed the maximum transmission unit (MTU) of the B. Subbiah, S. Sengodan [Page 4] Internet Draft Aug 15, 1998 IP network. Hence, when the IP network is the public Internet, the size of the IP datagram should not exceed 1500 bytes. It has been determined that an IP datagram of size less than 1500 bytes usually goes through the Internet unfragmented. 2.5 UDP connection Implementation details of sharing a pair of UDP ports among different users and reusing the same port numbers for persistent UDP sessions are beyond the scope of this document. 3 Control signaling for user multiplexing The user plane and control plane between gateways is shown in Figure 3. The control plane signaling is needed because peer Mux controllers are required to negotiate a channel for an incoming call request on an existing or on a new UDP connection. The control signaling is transferred using a common persistent connection, which may be either connection oriented (TCP) or connectionless (UDP). The user plane association (CID allocation on a UDP connection) is made after a successful connection setup. In this draft, we describe three different approaches to establish and clear a CID association. The user plane data is carried over RTP/UDP/IP layers in a manner similar to the audio and video transport over IP networks. The description of the signalling and control operation is not meant to be comprehensive. +++++++++++++++++++ +++++++++++++++++++ + Mux Controller + + Mux controller + +++++++++++++++++++ +++++++++++++++++++ | | | | | | U-plane U-plane | |C-plane C-plane | +++++++ +++++++ | | + RTP + + RTP + | +++++++++++++++++++ +++++++++++++++++++ + TCP | UDP + + UDP | TCP + +++++++++++++++++++ +++++++++++++++++++ + IP ++++> IP NET <++++++ IP + +++++++++++++++++++ +++++++++++++++++++ Figure 3. Control plane and user plane in a user multiplexing scenario B. Subbiah, S. Sengodan [Page 5] Internet Draft Aug 15, 1998 3.1 CID selection Irrespective of the choice of the signaling mechanism between the MUX controllers, the CID selection procedure at each of the MUX controllers MUST be done as follows: 1) Arrival of a new call from a PSTN/GSM user triggers a CID assignment sequence at the MUX controller of the local gateway. After establishing which remote gateway can handle the call, the local MUX controller checks for the existence of an RTP/UDP/IP connection to the remote MUX controller. If there exists a UDP connection with free CIDs, then a CID is chosen and reserved for that call. If there is no UDP connection between the gateways or if all the existing connections are full (i.e., no free CID), then a new RTP/UDP/IP connection is established. Once the CID selection is done, a notification message that consists of CID, calling user ID, called user ID, local and remote UDP port numbers is transmitted. Such transmission may occur either in the initial notification message (during call setup) or in the notification message for capability exchange that occurs after call setup. 2) Upon receiving the message containing the CID, the MUX control- ler at the remote gateway checks its CID table associated with the UDP connection. The status of CIDs is maintained in a CID table, which is associated with each UDP connection between any two gateways. If the CID indicated in the notification message has not already been assigned, then the remote MUX controller makes an entry in its CID table assigning the CID to a call between the pair of UDP ports as indicated in the notification message. If the UDP port at the remote gateway is not already open, then the MUX controller opens the UDP port. Table 1 shows a sample CID table used at a gateway for a single UDP conne- ction. ------------------------------------------------------------ | CID |CID status | Local UID |Remote UID | ------------------------------------------------------------ | 5 | Assigned | 6172300000 |9127363736 | | | | | | | 10 | Reserved | 6175464636 |8263737474 | | | | | | | 20 | Idle | | | | | | | | | 200 | Idle | | | ------------------------------------------------------------ Table 1. CID table for a single UDP connection 3.2 CID collision During the CID negotiation procedures, there is a possibility that the same CID is selected by both ends for their own call requests. Both gateways transmit channel request messages with the same CID without the knowledge of the other gateway. After receiving the request, both sides are unable to allocate the CID since it has been B. Subbiah, S. Sengodan [Page 6] Internet Draft Aug 15, 1998 reserved for their local call request. This problem is otherwise known as CID glare. We propose to use a method that is fair to both ends in CID assignment procedures. In this method, one side is assigned to allocate CIDs from the top of the CID table and the opposite side from bottom. However, CID collision occurs when a single CID is available at both ends. Even in such a case, fairness can be achieved by an assignment based on the even and odd value of CID. The arbitration of which side starts from top can be resolved using IP address of the gateways. For example, the gateway with the higher IP address starts from the top and the other gateway starts from the bottom. 3.3 Channel Negotiation Procedures (CNP) CNP is a new control signaling specifically proposed for the user multiplexing application between IP telephony gateways that interconnect PSTN/GSM clouds. The function of CNP is to negotiate a CID for a call through a set of messages similar to standard signal- ing protocols. Since CNP is targeted for a specific application, we do not anticipate the need for complex signaling procedures similar to H.225/H.245 [5,6]. However, H.225/H.245 could be adapted to suit the requirements of the user multiplexing in RTP method. CNP consists of a set of messages that include assign, assign_confirm, release, release_confirm and reject. An additional message "messages_transfer" is also proposed in case there is a need to transmit control messages of a particular user (call control messages) during the active session of a call. A detailed study on the format of the CNP messages and their parameters will be reported later. The following is the sequence of events that occur in a channel negotiation phase: - Assign: Upon arrival of a new call from a PSTN/GSM user, a CID is assigned based on the procedure described in the previous sect- ion. An "assign" message is then transmitted to the remote gate- way containing the local UDP port number, remote UDP port number, CID number, calling and called user, and an UUI field to carry any call control signaling (PSTN and SS7). - Assign_confirm or reject: The remote peer recovers the informat- ion within the "assign" message and does local processing as described in the previous section. If the call can be accepted then the local Mux controller updates its local CID table and replies with an "assign_confirm" message. If the remote gateway experiences a problem in allocating the connection, say due to CID collision, then it transmits a "reject" message. Upon recei- ving the "assign_confirm" message, the local Mux controller confirms the CID assignment by updating the CID table and noti- fying the local user. B. Subbiah, S. Sengodan [Page 7] Internet Draft Aug 15, 1998 +++++++ +++++++ + + Assign + + + + ----------------> + + + GW1 + Assign_confirm + GW2 + + + <------------------ + + + + + + +++++++ +++++++ Figure 4: CNP Confirm sequence +++++++ +++++++ + + Assign + + + + ----------------> + + + GW1 + Reject + GW2 + + + <------------------ + + + + + + +++++++ +++++++ Figure 5: CNP Reject sequence 3.4 Use of H.225/H.245 for channel negotiation +++++++++ +++++++++++ +++++++++ + +------ H.225 ------+ + ++++++++ + + + +------ H.245 ------+ + + + + PSTN +++++ + + + +++++++ PSTN + +++++++++ + IP GW +--- IP NETWORK ---+ IP GW + ++++++++ + + + + + +-- UDP channel 1 --+ + +++++++++ + +-- UDP channel n --+ + +++++++++ + + ++++ +++++++++ ++++++++++++++++ + + GSM + + GSM + +++++++++ +++++++++ Figure 6: H.225/H.245 in an IP telephony gateway ITU-T has standardized H.225[5] and H.245[6] as the call signaling protocol and call control protocol respectively to be used within the ITU-T standard H.323[7]. H.225 and H.245 may be used for signaling and control purposes between the gateways. When this is the case, persistent H.225 and H.245 connections exist between a pair of gateways. All voice connections between the two gateways should use the same H.225 and H.245 connection for call signaling and call control purposes. B. Subbiah, S. Sengodan [Page 8] Internet Draft Aug 15, 1998 When a new call arrives at a gateway from the circuit switched side (PSTN/GSM), a SETUP message is transmitted from the initiating gateway to the terminating gateway on the persistent TCP call-signa- ling channel (H.225 channel). The User-User-Information-Element (UUIE) of the SETUP message includes the parameters that are needed for connection setup as indicated in the H.225 document [9]. For the purpose of user multiplexing between gateways, the setting of the UUIE fields in the SETUP message MUST be as follows: - h245Address: This field is set to the TSAP address of the call control TCP channel (H.245 channel) at the initiating gateway that will be used for call control purposes of this voice stream. Initiating gateways should use the same call control channel for all voice streams. However, the initiating gateway may wish to open a new call control channel when the number of voice streams using the same control channel exceeds a certain threshold value. When the initiating gateway wishes to use a new call control channel, the TSAP address of the new H.245 channel is included in this field. If the remote gateway responds with a CONNECT message upon receiving the SETUP message, the UUIE fields within the CONNECT message MUST be set as follows: - h245Address: This field is set to the TSAP address of the call control TCP channel (H.245 channel) at the responding gateway that will be used for call control purposes of this voice stream. Remote gateways should use the same call control channel for all voice streams when an initiating gateway has used the same existing call control channel. If a remote gateway wishes to use a new call control channel when the initiating gateway has indicated the use of an existing call control channel in the SETUP message, then the remote gateway must send a FACILITY and a RELEASE message. However, if an initiating gateway has indic- ated the use of a new call control channel, then the remote gateway must use a new call control channel. The TSAP address of the new call control TCP channel at the remote gateway is included in this field. Upon receiving the CONNECT message from the remote gateway, the call control phase (H.245) begins. The capability exchange messages determine the choice of codecs and the security parameters if any to be used between the gateways. In addition, the capability exchange also indicates the capability for performing multiplexing. In the openLogicalChannel (and openLogicalChannelAck) message, in addition to indicating the TSAP address, the CID is also indicated. B. Subbiah, S. Sengodan [Page 9] Internet Draft Aug 15, 1998 +++++++ +++++++ + + SETUP + + + + ----------------> + + + GW1 + CONNECT + GW2 + + + <------------------ + + + + CapabilitySet + + + + ------------------> + + + + CapabilitySetAck + + + + <------------------ + + + + OLC + + + + ------------------> + + + + OLCAck + + + + <------------------ + + +++++++ +++++++ Figure 7: H.225/H.245 exchange sequence +++++++ +++++++ + + SETUP + + + + ----------------> + + + GW1 + FACILITY + GW2 + + + <------------------ + + + + RELEASE + + + + <------------------ + + +++++++ +++++++ Figure 8: H.225 Facility/Reject sequence B. Subbiah, S. Sengodan [Page 10] Internet Draft Aug 15, 1998 3.5 Use of SIP for channel negotiation +++++++++++ +++++++++++++++++ + + --- persistent SIP channel -- + + + + + + + + + + + IP GW1 + + IP GW2 + + + + + + + --- audio UDP channel 1 --- + + + + --- audio UDP channel n --- + + +++++++++++ +++++++++++++++++ Figure 9. SIP in IP telephony gateways Session Initiation Protocol (SIP) can be used as the control signaling protocol between the two gateways [11]. In this case, the gateway that receives a call from the circuit switched side is the SIP client, while the remote gateway is the SIP server. The series of messages that are exchanged are described below. These messages are exchanged on the persistent signaling connection existing between the two gateways. Such a persistent connection may either be TCP or UDP. As with the case of H.225, the description here is not meant to be exhaustive but is merely for illustration. Issues such as locating the remote gateway by the use of proxy or redirect servers, among other things, are not discussed here. When a new call comes into the initiating gateway from the circuit switched side, an INVITE message is sent from the calling gateway (SIP client) to the called gateway (SIP server). The fields of the INVITE message are set as follows: - Request-URI: This field contains sip:phonenumber@remotegateway. For instance, if the number being called is +1-781-359-5112 and the remote gateway that can handle this call is gw1-boston.research.nokia.com, then the Request-URI has a value sip:+1-781-359-5112@gw1-boston.research.nokia.com. - Session Description: The session description includes the capability of the initiating gateway with regard to supported codecs, supported security parameters etc. Also included in the session description is the Channel Identifier (CID), the source UDP port and the destination UDP port. Upon receiving the INVITE message, the remote gateway returns the following messages in the sequence indicated: - TRYING: This message indicates to the calling gateway that the remote gateway has received the INVITE message successfully and that the remote gateway is trying to establish contact with the user. This is also an indication to the initiating gateway not to retransmit the INVITE message. - RINGING: This message indicates that the user has been contacted and that his phone is ringing. - SUCCESS: This message indicates that the user has answered his phone. The SUCCESS message is sent by the remote gateway only if the CID value indicated in the INVITE message is acceptable to the remote gateway. Upon receiving the SUCCESS message, the initiating gateway returns an ACK message back to the remote gateway. This is illust- rated in Figure 10. If the CID indicated in the INVITE message is not a valid one, the remote gateway returns an ERROR/FAILURE message back to the initia- ting gateway as indicated in Figure 11. B. Subbiah, S. Sengodan [Page 11] Internet Draft Aug 15, 1998 +++++++ +++++++ + + INVITE + + + + ----------------> + + + GW1 + TRYING + GW2 + + + <------------------ + + + + RINGING + + + + <------------------ + + + + SUCCESS + + + + <------------------ + + + + ACK + + + + ----------------> + + +++++++ +++++++ Figure 10: SIP Confirm sequence +++++++ +++++++ + + INVITE + + + + ----------------> + + + GW1 + ERROR/FAILURE + GW2 + + + <------------------ + + +++++++ +++++++ Figure 11: SIP Reject sequence 4 Transmission errors and packet loss Protocols such as ATM, IP and AAL2 specify a Header Error Correction (HEC) to detect errors in the headers, whereas UDP offers both header and payload protection. The UDP checksum field in the UDP header is calculated for the entire UDP packet including the header and payload bytes. The MINI-header used for user multiplexing is 2 byte long and does not have any HEC field. The reason is that the mini packets are encapsulated within a UDP payload thus protected by the UDP checksum. The presence of the RTP sequence number in the RTP header facilitates to identify packet losses at the RTP level. Since each RTP packet contains a number of mini packets, packet loss at individual level becomes difficult. However, it is our understanding that the SN for individual mini packet is not necessary. 5 Application scenarios Some of the most obvious scenarios, in which the proposed method is beneficial, are shown in Figure 12. Traditional telephony system such as PSTN interconnected by IP telephony gateways is an ideal scenario where user mux method improves the bandwidth efficiency in the IP B. Subbiah, S. Sengodan [Page 12] Internet Draft Aug 15, 1998 network. This method can also be used in the Radio Access Network (RAN) of a cellular network. In cellular trunking, mux controller is a part of the BS and BSC/MSC connected by IP networks. User aggregation can be applied between BTS and BSC as well as between BSC and MSC. ++++++++++ ++++++++ + + + + + PSTN + + PSTN + ++++++++++ + ++++++++ + + +++++++++++ +++++++++ + + + + + + + + + IP GW ++++++ IP NETWORK ++++ IP GW + + + + + + + + + + +++++++++++ + + + + +++++++ + + +++++++++++ +++++++++ +++++ + + GSM + + GSM + +++++++++++ +++++++ Figure 12. Application scenario of User mux in RTP 6 Security Considerations There are no security considerations beyond those addressed in RTP itself. The multiplexing protocol can make use of whatever encryption and authentication schemes are present in RTP, SIP, H.323 or other relevant protocols. For instance, the multiplexed media stream could be secured by securing the UDP ports using IPSEC. The signaling and control channels could be secured either by the use of IPSEC or TLS. Application level security as specified in SIP and H.235 may also be incorporated. 7 Comparison of User mux in RTP and traditional RTP/UDP/IP The important reason for multiplexing small size packets into a single RTP payload is that the RTP/UDP/IP overhead for each packet can be reduced. For example, the RTP/UDP/IP overhead is 66.7% in case of 20 byte G.723.1 packet and 80% for a 10 byte G.729 packet. Considering that IP telephony gateways transfer 100s of user at any given time, the total bandwidth requirement including the overhead is very high. The bandwidth requirement for a traditional scheme (RTP/UDP/IP) is compared to user mux in RTP and the results are shown in Table 2. The results indicate that the bandwidth requirement to transport same number of users through user mux is very low compared to the traditional IP telephony (RTP/UDP/IP) method. B. Subbiah, S. Sengodan [Page 13] Internet Draft Aug 15, 1998 --------------------------------------------------------------------- # users No Mux User Mux No Mux UserMux (G.723.1) (G.723.1) (G.729) (G.729) --------------------------------------------------------------------- 10 159 68.9 400 128 30 477 185.5 1200 320 50 795 302.1 2000 512 70 1113 418.7 2800 704 90 1431 535.3 3600 896 110 1749 651.9 4400 1088 130 2067 768.5 5200 1280 150 2385 885.1 6000 1472 170 2703 1001.7 6800 1664 190 3021 1118.3 7600 1856 210 3339 1234.9 8400 2048 230 3657 1351.5 9200 2240 250 3975 1468.1 10000 2432 ---------------------------------------------------------------------- Table 2. Bandwidth requirements in Kbps for user mux and IP methods A comparison of percentage overhead for two different speech codecs is shown in Table 3. The overhead due to RTP/UDP/IP is constant for both codecs. User mux in RTP method is able to multiplex small packets into a single RTP/UDP/IP payload thus reducing the overhead to minimum. The overhead comparison on both codecs proves that user mux in RTP is very efficient in reducing the overhead. ------------------------------------------------------------------- #Users Mux(G.729) IP (G.729) Mux(G.723.1) IP (G.723.1) ------------------------------------------------------------------- 10 37.5 80 23.07692308 66.7 30 25 80 14.28571429 66.7 50 21.875 80 12.28070175 66.7 70 20.45454545 80 11.39240506 66.7 90 19.64285714 80 10.89108911 66.7 110 19.11764706 80 10.56910569 66.7 130 18.75 80 10.34482759 66.7 150 18.47826087 80 10.17964072 66.7 170 18.26923077 80 10.05291005 66.7 190 18.10344828 80 9.952606635 66.7 210 17.96875 80 9.871244635 66.7 230 17.85714286 80 9.803921569 66.7 250 17.76315789 80 9.747292419 66.7 ------------------------------------------------------------------ Table 3. Comparison of % overhead due to IP and user mux in RTP 8 Advantages of user multiplexing in RTP The first advantage of using the proposed method between IP telephony B. Subbiah, S. Sengodan [Page 14] Internet Draft Aug 15, 1998 gateways is the bandwidth efficiency. The second advantage of sharing a single RTP/UDP/IP is that the number of UDP connections is reduced between gateways. For example, in the proposed user multiplexing method a single UDP connection can be shared by a maximum of 256 users. The third advantage is that the less chances for traffic congestion at intermediate IP routers, because the proposed method reduces the number of IP packets by multiplexing mini packets in a single RTP payload. Despite the multiplexing effect, user multiplex- ing in RTP does not cause any problems in the IP network since RTP payload (mini packets) is transparent to the intermediate IP routers. The user mux method requires minimal effort on standardization and could be implemented as an add-on module to the existing telephony gateways. 9 Comparison of three different proposals We have found two other proposals [9,10] submitted as IETF drafts to the AVT group. We have compared our proposal with others in terms of known performance metrics. Table 4 summarizes the results of the comparison. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + + Nokia + Lucent + Hitachi+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + + + + + +Reducing overhead + Very good + Very good + ok + + + + + + +Bandwidth efficiency+ Very good + Very good + ok + + + + + + +Additional header + yes + yes + Not known+ + + (2 bytes/pkt) + (2 bytes/pkt)+ + + + + + + +Assembly and + Simple + Hard + Simple + +de-assembly + + + + + + + + + +Max # of users + + + + +for multiplexing + 256 + 256 + Not known+ + + + + + +Mini packet size + Variable + Variable + Variable + + + (0 ~64) +(req. known + + + + + profiles) + + + + + + + +Channel association + Required + Required + Required+ +(signaling) + + + + + + + + + +Padding mux + Not required + Required + Not req + +header + + + + + + + + + +Multiplex timer + Proposed + Not proposed + Not prop + + + + + + +Dynamic capability + Possible + Not possible + Not poss + + exchange + + + + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Table 4. Comparison of different approaches on user multiplexing in RTP payload B. Subbiah, S. Sengodan [Page 15] Internet Draft Aug 15, 1998 10 Conclusion A new method to multiplex speech samples from a number of users in a RTP payload is proposed. It is shown that this method reduces the overhead for small packets, improves the bandwidth efficiency, lowers the chances for congestion at intermediate IP routers and enhances the scalability of the gateways. A new control signaling procedure to negotiate a channel between peer gateways is also proposed. The advantages of this method justify the need for such a mechanism between gateways that interconnect PSTN and GSM users. 11 Full Copyright Statement Copyright (C) The Internet Society (1998). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Soci- ety or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be fol- lowed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MER- CHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE." 12 Authors' Addresses Barani Subbiah, Senthil Sengodan Nokia Research Center 3 Burlington Woods Dr., Ste. 260 Burlington, MA - 01803, USA baranitharan.subbiah@research.nokia.com senthil.sengodan@research.nokia.com B. Subbiah, S. Sengodan [Page 16] Internet Draft Aug 15, 1998 13 Bibliography [1] H. Schulzrinne, S. Casner, R. Frederick, and V. Jacobson, RTP: a transport protocol for real-time applications, Request for Comments(Proposed Standard) 1889, Internet Engineering Task Force, Jan. 1996. [2] International Telecommunication Union, Coding of speech at 8 kbit/s using conjugate-structure algebraic-code-excited linear- prediction, Recommendation G.729, Telecommunication Standardi- zation Sector of ITU, Geneva, Switzerland, Mar. 1996. [3] H. Schulzrinne, RTP profile for audio and video conferences with minimal control, Request for Comments (Proposed Standard) 1890, Internet Engineering Task Force, Jan. 1996. [4] ITU-T Recommendation G.723.1 (1995) "Dual Rate Speech Coder For Multimedia Communications Transmitting At 5.3 And 6.3 kbit/s" [5] ITU-T Recommendation H.225.0 (1998): " Media Stream Packetization and Synchronization for Visual Telephone Systems on Non-Guarant- eed Quality of Service LANs ". [6] ITU-T Recommendation H.245 (1998): "Control of communications between Visual Telephone Systems and Terminal Equipment". ITU-T Recommendation H.246 (1998) "Interworking of H.series multimedia terminals" [7] ITU-T Recommendation H.323 (May, 1996): Visual Telephone Systems and Equipment for Local Area Networks Which Provide a Non-Guara- nteed Quality of Service. [8] ITU-T Recommendation H.323 (January, 1998): Packet Based Multi- media Communications Systems [9] J. Rosenberg and H. Schulzrinne: An RTP payload format for user multiplexing, IETF draft, work in progress, May 1998. [10] K. Tanigawa, T. Hoshi and K. Tsukada: A RTP simple multiplexing transfer method for Internet telephony gateway, IETF draft, work in progress, June 1988 [11] M. Handley, H. Schulzrinne, E. Schooler, J. Rosenberg: SIP: Session Initiation Protocol, IETF draft, work in progress, July 1998. B. Subbiah, S. Sengodan [Page 17]