Internet Engineering Task Force SIPPING Internet Draft H. Schulzrinne Columbia U. C. Agboh (ed.) KPNQwest draft-agrawal-sip-h323-interworking-reqs-04.txt February 19, 2003 Expires: July 2003 Session Initiation Protocol (SIP)-H.323 Interworking Requirements STATUS OF THIS MEMO This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. 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 To view the list Internet-Draft Shadow Directories, see http://www.ietf.org/shadow.html. Abstract This document describes the requirements for the logical entity known as the Session Initiation Protocol (SIP)-H.323 Interworking Function (SIP-H.323 IWF) that will allow the interworking between SIP and H.323. H. Schulzrinne et. al. [Page 1] Internet Draft SIP-H.323 Requirements February 19, 2003 1 Introduction The SIP-H.323 Interworking function (IWF) converts between SIP (Session Initiation Protocol) [1] and the H.323 protocol [2]. This document describes requirements for this protocol conversion. 2 Terminology 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 [3]. 3 Definitions H.323 gatekeeper (GK): An H.323 gatekeeper is an optional component in an H.323 network. If it is present, it performs address translation, bandwidth control, admission control and zone management. H.323 network: In this document, we refer to the collection of all H.323-speaking components as the H.323 network. SIP network: In this document, we refer to the collection of all SIP servers and user agents as the SIP network. Interworking Function (IWF): The Interworking Function (IWF) performs interworking between H.323 and SIP. It belongs to both the H.323 and SIP networks. SIP server: A SIP server can be either a SIP proxy, redirect or registrar server. Endpoint: An endpoint can call and be called. An endpoint is an entity from which the media such as voice, video or fax originates or terminates. An endpoint can either be H.323 terminal, H.323 Gateway, H.323 MCU [2] or SIP user agent (UA) [1]. Media Switching Fabric (MSF): The Media Switching Fabric (MSF) is an optional logical entity within the IWF. The MSF switches media such as voice, video or fax from one network association to another. 4 Functionality within the SIP-H.323 IWF This section summarizes the functional requirements of the SIP-H.323 interworking function (IWF). H. Schulzrinne et. al. [Page 2] Internet Draft SIP-H.323 Requirements February 19, 2003 A SIP-H.323 IWF MAY be integrated into an H.323 gatekeeper or SIP server. Interworking SHOULD NOT require any optional components in either the SIP or H.323 network, such as H.323 gatekeepers. IWF redundancy in the network is beyond the scope of this document. An IWF may contain the following functions: o Mapping of the call setup and teardown sequences; o Registering H.323 and SIP endpoints with SIP registrars and H.323 gatekeepers; o Resolving H.323 and SIP addresses; o Maintaining the H.323 and SIP state machines; o Negotiating terminal capabilities; o Opening and closing media channels; o Mapping media coding algorithms for H.323 and SIP networks; o Reserving and releasing call-related resources; o Processing of mid-call signaling messages; o Handling of services and features. The IWF SHOULD NOT process media. We assume that the same media transport protocols, such as RTP, are used in both the SIP and H.323 network. Thus, media packets are exchanged directly between the endpoints. If a particular service requires the IWF to handle media, we assume that the IWF simply forwards media packets without modification from one network to the other, using a media switching fabric (MSF). The conversion of media from one encoding or format to another is out of scope for SIP-H.323 protocol translation. 5 Pre-Call Requirements The IWF function MAY use a translation table to resolve the H.323 and SIP addresses to IP addresses. This translation table may be updated by using a H.323 gatekeeper, SIP proxy server or a locally-maintained database. 5.1 Registration with H.323 Gatekeeper An IWF MAY provide and update the H.323 gatekeeper with the addresses of SIP UAs. A SIP user agent can make itself known to the H.323 H. Schulzrinne et. al. [Page 3] Internet Draft SIP-H.323 Requirements February 19, 2003 network by registering with an IWF serving as a registrar. The IWF creates an H.323 alias address and registers this alias together with its own network address with the appropriate GK. The gatekeeper may then use this information to route calls to SIP UAs via the IWF, without being aware that the endpoint is not a "native" H.323 endpoint. The IWF can register SIP UAs with one or more H.323 gatekeepers. 5.2 Registration with SIP Server The IWF can provide information about H.323 endpoints to a SIP registrar. This allows the SIP proxy using this SIP registrar to direct calls to the H.323 end points via the IWF. The IWF can easily obtain information about H.323 endpoints if it also serves as a gatekeeper. Other architectures require further study. If the H.323 endpoints are known through E.164 (telephone number) addresses, the IWF can use IGREP [8] or SLP [9] to inform the SIP proxy server of these endpoints. The IWF only needs to register with multiple SIP registrars if the H.323 terminal is to appear under multiple, different addresses-of- record. 6 General Interworking Requirements The IWF SHOULD use H.323 Version 2 or later and SIP according to RFC 3261 [1]. The protocol translation function MUST NOT require modifications or additions to either H.323 or SIP. However, certain features of each protocol may not be supported across the IWF. 6.1 Basic Call Requirements 6.1.1 General Requirements The IWF SHOULD provide default settings for translation parameters. The IWF specification MUST identify these defaults. The IWF MUST release any call-related resource at the end of a call. SIP session timers [10] MAY be used on the SIP side. 6.1.2 Address Resolution The IWF SHOULD support all the addressing schemes in H.323, including H. Schulzrinne et. al. [Page 4] Internet Draft SIP-H.323 Requirements February 19, 2003 the H.323 URI [4], and the "sip", "sips" and "tel" URI schemes in SIP. It SHOULD support the DNS-based SIP server location mechanisms described in [5] and H.323 Annex O, which details how H.323 uses DNS and, in particular, DNS SRV records. The IWF SHOULD register with the H.323 Gatekeeper and the SIP registrar when available. The IWF MAY use any means to translate between SIP and H.323 addresses. Examples include translation tables populated by the gatekeeper, SIP registrar or other database, LDAP, DNS or TRIP. 6.1.3 Call with H.323 Gatekeeper When an H.323 GK is present in the network, the IWF SHOULD resolve addresses with the help of the GK. 6.1.4 Call with SIP Registrar The IWF applies normal SIP call routing and does not need to be aware whether there is a proxy server or not. 6.1.5 Capability Negotiation The IWF SHOULD NOT make any assumptions about the capabilities of either the SIP user agent or the H.323 terminal. However, it MAY indicate a default capability of the H.323 terminal or SIP user agent before exchanging capabilities with H.323 (using H.245) and SIP (using SDP [6]). H.323 defines default capabilities, SIP currently does not. For example, the G.711 audio codec is mandatory for higher bandwidth H.323 networks. The IWF SHOULD attempt to map the capability descriptors of H.323 and SDP in the best possible fashion. The algorithm for finding the best mapping between H.245 capability descriptors and the corresponding SDP is left for further study. The IWF SHOULD be able to map the common audio, video and application format names supported in H.323 to and from the equivalent RTP/AVP [7] names. The IWF MAY use the SIP OPTIONS message to derive SIP UA capabilities. It MAY support mid-call renegotiation of media capabilities. 6.1.6 Opening of Logical Channels The IWF SHOULD support the seamless exchange of messages for opening, H. Schulzrinne et. al. [Page 5] Internet Draft SIP-H.323 Requirements February 19, 2003 reopening, changing and closing of media channels during a call. The procedures for opening, reopening, closing, and changing the existing media sessions during a call are for further study. The IWF SHOULD open media channels between the endpoints whenever possible. If this is not possible, then the channel can be opened at the MSF of the IWF. The IWF SHOULD support unidirectional, symmetric bi-directional, and asymmetric bi-directional opening of channels. The IWF MAY respond to the mode request, to the request for reopening and changing an existing logical channel and MAY support the flow control mechanism in H.323. 6.2 IWF H.323 Features The IWF SHOULD support fast start, H.245 tunneling in H.323 Setup messages and pre-granted ARQs. If pre-granted ARQ is supported, the IWF MAY perform the address resolution from H.323 GK using the LRQ/LCF exchange. Early H.245 negotiation, H.323 trunking between SIP networks and SIP trunking between H.323 networks is beyond the scope of this document. 6.3 Overlapped Sending Since there is no standardized way to support overlapped sending of dialed digits in SIP, an IWF may not be able to support this feature. If the IWF receives overlapped dialed digits from the SIP network, it MAY use the Q.931 Setup, Setup Ack and Information Message in H.323. The IWF MAY support the transfer of digits during a call by using the appropriate SIP mechanism and UserInputIndication in H.245 (H.323). 7 Transport The H.323 and SIP systems do not have to be in close proximity. The IP networks hosting the H.323 and SIP systems do not need to assure quality-of-service (QOS). In particular, the IWF SHOULD NOT assume that signaling messages have priority over packets from other applications. H.323 signaling over UDP (H.323 Annex E) is optional. 8 Mapping between SIP and H.323 8.1 General Requirements o The call message sequence of both protocols MUST be H. Schulzrinne et. al. [Page 6] Internet Draft SIP-H.323 Requirements February 19, 2003 maintained. o The IWF MUST NOT set up or tear down calls on its own. o Signaling messages that do not have a match for the destination protocol SHOULD be terminated on the IWF, and the IWF should take the necessary action on them. For example, SIP allows a SIP UA to silently discard an ACK request for a non- existent call leg. o If the IWF is required to generate a message on its own, IWF SHOULD use pre-configured default values for the message parameters. o The information elements and header fields of the respective messages are to be converted as follows: - The contents of connection-specific information elements, such as Call Reference Value for H.323, is converted to similar information required by SIP or SDP such as the SDP session ID and the SIP Call-ID. - The IWF generates protocol elements that are not available from the other side. 8.2 H.225.0 and SIP Call Signaling o The IWF MUST conform to the call signaling procedures recommended for the SIP side regardless of the behavior of the H.323 elements. o The IWF MUST conform to the call signaling procedures recommended for the H.323 side regardless of the behavior of the SIP elements. o The IWF serves as the endpoint for the Q.931 Call Signaling Channel to either an H.323 endpoint or H.323 Gatekeeper (in case of GK routed signaling). The IWF also acts as a SIP user agent client and server. o The IWF also establishes a RAS Channel to the H.323 GK, if available. o The IWF SHOULD process messages for H.323 supplementary services (FACILITY, NOTIFY, and the INFORMATION messages) only if the service itself is supported. 8.3 Call Sequence H. Schulzrinne et. al. [Page 7] Internet Draft SIP-H.323 Requirements February 19, 2003 The call sequence on both sides should be maintained in such a way that neither H.323 terminal nor SIP UA is aware of presence of the IWF. 8.4 State Machine Requirements The state machine for IWF will follow the following general guidelines: o Unexpected messages in a particular state shall be treated as "error" messages. o All messages which do not change the state shall be treated as "non-triggering" or informational messages. o All messages which expect a change in state shall be treated as "triggering" messages. For each state, an IWF specification MUST classify all possible protocol messages into the above three categories. It MUST specify the actions taken on the content of the message and the resulting state. Below, is an example of such a table: State: Idle Possible Messages Message Category Action Next state All RAS msg. Triggering Add Reg.Info. WaitForSetup All Q.931 msg. Non Triggering All H.245 msg. Error All msg. from SIP side 9 Security Considerations The IWF SHOULD use normal H.323 and SIP security mechanisms. The IWF MUST implement procedures to avoid becoming the source of denial-of-service attacks. 10 Examples and Scenarios 10.1 Introduction We present some examples of call scenarios that will show the signaling messages received and transmitted. H. Schulzrinne et. al. [Page 8] Internet Draft SIP-H.323 Requirements February 19, 2003 In performing the mapping, the IWF may have to face the following situations: o Some signaling messages can be translated one-to-one. o In some cases, parameters on one side may not match those on the other side. o Some signaling messages may not have an equivalent message. The IWF may need to wait until further information is available before signaling on the other side. In some cases, only an error indication can be provided. 10.2 IWF Configurations Below are some common architectures involving an IWF: Basic Configuration: H.323 EP -- IWF -- SIP UA Calls using H.323 GK: H.323 EP -- H.323 GK -- IWF -- SIP UA Calls using SIP proxies: H.323 EP -- IWF -- SIP proxies -- SIP UA Calls using both H.323 GK and SIP proxy: H.323 EP -- H.323 GK -- IWF -- SIP proxies -- SIP UA SIP trunking between H.323 networks: H.323 EP -- IWF -- SIP network -- IWF -- H.323 EP H.323 trunking between SIP networks: SIP EP -- IWF -- H.323 network -- IWF -- SIP UA 10.3 Call Scenarios Some possible call scenarios for the above configurations are: o Simple call from H.323 terminal to SIP UA; o Call from H.323 terminal to SIP UA using H.245 tunneling; o Call from H.323 terminal to SIP UA using early H.245; o Call from H.323 terminal to SIP terminal using H.323 fast connect procedure; o Call from H.323 terminal to SIP terminal using overlapped sending; H. Schulzrinne et. al. [Page 9] Internet Draft SIP-H.323 Requirements February 19, 2003 o Call from H.323 terminal to SIP terminal using pre-granted ARQ (for configurations having H.323 GK); o Simple call from SIP UA to H.323 terminal; o Call from SIP UA to H.323 terminal using H.245 tunneling. o Call from SIP UA to H.323 terminal using early H.245; o Call from SIP UA to H.323 terminal using H.323 fast connect procedure; o Call from SIP UA to H.323 terminal using overlapped sending; o Call from SIP UA to H.323 terminal using pre-granted ARQ (for configuration having H.323 GK); o Call from SIP UA to SIP UA using H.323 trunking between two IWFs; o Call from a H.323 terminal to another H.323 terminal using SIP trunking between two IWFs. 10.4 Call Flows Some call flow examples for the different configurations and call scenarios are given below. 10.4.1 Call from H.323 Terminal to SIP UA H.323 SIP EP Setup IWF UA |------------>| INVITE | | |------------>| | | 180 RINGING | | Alerting |<------------| |<------------| 200 OK | | Connect |<------------| |<------------| | | H.245 | | |<----------->| ACK | | |------------>| | RTP | |<.........................>| H. Schulzrinne et. al. [Page 10] Internet Draft SIP-H.323 Requirements February 19, 2003 10.4.2 Call from SIP UA to H.323 Terminal SIP H.323 UA IWF EP | | | | INVITE | | |------------>| Setup | | |------------>| | | Alerting | | 180 RINGING |<------------| |<------------| Connect | | |<------------| | | H.245 | | 200 OK |<----------->| |<------------| | | ACK | | |------------>| | | RTP | |<.........................>| 11 References 12 Normative References [1] J. Rosenberg, H. Schulzrinne, G. Camarillo, A. R. Johnston, J. Peterson, R. Sparks, M. Handley, and E. Schooler, "SIP: session initiation protocol," RFC 3261, Internet Engineering Task Force, June 2002. [2] International Telecommunication Union, "Visual telephone systems and equipment for local area networks which provide a non-guaranteed quality of service," Recommendation H.323, Telecommunication Standardization Sector of ITU, Geneva, Switzerland, May 1996. [3] S. Bradner, "Key words for use in rfcs to indicate requirement levels," RFC 2119, Internet Engineering Task Force, Mar. 1997. [4] O. Levin, "H.323 URL scheme registration with IANA," internet draft, Internet Engineering Task Force, Nov. 2002. Work in progress. [5] J. Rosenberg and H. Schulzrinne, "Session initiation protocol (SIP): locating SIP servers," RFC 3263, Internet Engineering Task Force, June 2002. [6] M. Handley and V. Jacobson, "SDP: session description protocol," H. Schulzrinne et. al. [Page 11] Internet Draft SIP-H.323 Requirements February 19, 2003 RFC 2327, Internet Engineering Task Force, Apr. 1998. [7] H. Schulzrinne, "RTP profile for audio and video conferences with minimal control," RFC 1890, Internet Engineering Task Force, Jan. 1996. 13 Informative References [8] M. Bangalore et al., "A telephony gateway registration protocol (TGREP)," internet draft, Internet Engineering Task Force, Oct. 2002. Work in progress. [9] W. Zhao and H. Schulzrinne, "Locating ip-to-public switched telephone network (PSTN) telephony gateways via SLP," internet draft, Internet Engineering Task Force, Aug. 2002. Work in progress. [10] S. Donovan and J. Rosenberg, "Session initiation protocol extension for session timer," internet draft, Internet Engineering Task Force, Nov. 2002. Work in progress. 14 Acknowledgments The authors would like to acknowledge the many contributors who discussed the SIP-H.323 interworking architecture and requirements on the IETF, SIP and SG16 mailing lists. In particular, we would like to thank Joon Maeng, Dave Walker and Jean-Francois Mule. Contributions to this document have also been made by members of the H.323, aHIT!, TIPHON and SG16 forums. 15 Contributors and Editor Addresses The following people provided substantial technical and writing contributions to this document, listed alphabetically: Charles Agboh Belgium Email: charles@nero.netwalk.org,cagboh@yahoo.com Hemant Agrawal Telverse Communications 1010 Stewart Drive Sunnyale, CA 94085 USA Email: hagrawal@telverse.com Alan Johnston MCI WorldCom 100 South Fourth Street H. Schulzrinne et. al. [Page 12] Internet Draft SIP-H.323 Requirements February 19, 2003 St. Louis, MO 63102 USA Email: alan.johnston@wcom.com Vipin Palawat Cisco Systems Inc. 900 Chelmsford Street Lowell, MA 01851 USA Email: vpalawat@cisco.com Radhika R. Roy AT&T Room C1-2B03 200 Laurel Avenue S. Middletown, NJ 07748 USA Email: rrroy@att.com Henning Schulzrinne Dept. of Computer Science Columbia University 1214 Amsterdam Avenue, MC 0401 New York, NY 10027 USA Email: schulzrinne@cs.columbia.edu Kundan Singh Dept. of Computer Science Columbia University 1214 Amsterdam Avenue, MC 0401 New York, NY 10027 USA Email: kns10@cs.columbia.edu David Wang Nuera Communications Inc. 10445 Pacific Center Court San Diego, CA 92121 USA Email: dwang@nuera.com H. Schulzrinne et. al. [Page 13] Table of Contents 1 Introduction ........................................ 2 2 Terminology ......................................... 2 3 Definitions ......................................... 2 4 Functionality within the SIP-H.323 IWF .............. 2 5 Pre-Call Requirements ............................... 3 5.1 Registration with H.323 Gatekeeper .................. 3 5.2 Registration with SIP Server ........................ 4 6 General Interworking Requirements ................... 4 6.1 Basic Call Requirements ............................. 4 6.1.1 General Requirements ................................ 4 6.1.2 Address Resolution .................................. 4 6.1.3 Call with H.323 Gatekeeper .......................... 5 6.1.4 Call with SIP Registrar ............................. 5 6.1.5 Capability Negotiation .............................. 5 6.1.6 Opening of Logical Channels ......................... 5 6.2 IWF H.323 Features .................................. 6 6.3 Overlapped Sending .................................. 6 7 Transport ........................................... 6 8 Mapping between SIP and H.323 ....................... 6 8.1 General Requirements ................................ 6 8.2 H.225.0 and SIP Call Signaling ...................... 7 8.3 Call Sequence ....................................... 7 8.4 State Machine Requirements .......................... 8 9 Security Considerations ............................. 8 10 Examples and Scenarios .............................. 8 10.1 Introduction ........................................ 8 10.2 IWF Configurations .................................. 9 10.3 Call Scenarios ...................................... 9 10.4 Call Flows .......................................... 10 10.4.1 Call from H.323 Terminal to SIP UA .................. 10 10.4.2 Call from SIP UA to H.323 Terminal .................. 11 11 References .......................................... 11 12 Normative References ................................ 11 13 Informative References .............................. 12 14 Acknowledgments ..................................... 12 15 Contributors and Editor Addresses ................... 12 H. Schulzrinne et. al. [Page 1]