RFC 4123
Session Initiation Protocol (SIP)-H.323 Interworking Requirements
RFC 4123: SIP-H.323 Interworking Requirements π
Okay bestie, this one is RFC 4123, "Session Initiation Protocol (SIP)-H.323 Interworking Requirements" π It was written by H. Schulzrinne (Columbia University) and C. Agboh, and it was published in July 2005 as an Informational document, which means it's not an Internet standard. The title block doesn't list anything it obsoletes or updates. Let's get into it π¦
Status of This Memo β¨
This memo provides information for the Internet community. It does not specify an Internet standard of any kind. Distribution of this memo is unlimited.
Copyright Notice π
Copyright (C) The Internet Society (2005).
IESG Note π
This RFC is not a candidate for any level of Internet Standard. The IETF disclaims any knowledge of the fitness of this RFC for any purpose, and in particular notes that the decision to publish is not based on IETF review for such things as security, congestion control, or inappropriate interaction with deployed protocols. The RFC Editor has chosen to publish this document at its discretion. Readers of this document should exercise caution in evaluating its value for implementation and deployment. See [RFC3932] for more information.
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.
Table of Contents π
1. Introduction ....................................................3
2. Definitions .....................................................3
3. Functionality within the SIP-H.323 IWF ..........................4
4. Pre-Call Requirements ...........................................4
4.1. Registration with H.323 Gatekeeper .........................5
4.2. Registration with SIP Server ...............................5
5. General Interworking Requirements ...............................5
5.1. Basic Call Requirements ....................................5
5.1.1. General Requirements ................................5
5.1.2. Address Resolution ..................................6
5.1.3. Call with H.323 Gatekeeper ..........................6
5.1.4. Call with SIP Registrar .............................6
5.1.5. Capability Negotiation ..............................6
5.1.6. Opening of Logical Channels .........................7
5.2. IWF H.323 Features .........................................7
5.3. Overlapped Sending .........................................7
5.3.1. DTMF Support ........................................7
6. Transport .......................................................8
7. Mapping between SIP and H.323 ...................................8
7.1. General Requirements .......................................8
7.2. H.225.0 and SIP Call Signaling .............................8
7.3. Call Sequence ..............................................9
7.4. State Machine Requirements .................................9
8. Security Considerations ........................................10
9. Examples and Scenarios .........................................10
9.1. Introduction ..............................................10
9.2. IWF Configurations ........................................11
9.3. Call Flows ................................................11
9.3.1. Call from H.323 Terminal to SIP UA .................11
9.3.2. Call from SIP UA to H.323 Terminal .................12
10. Acknowledgments ...............................................12
11. Contributors ..................................................13
12. References ....................................................14
12.1. Normative References ....................................14
12.2. Informative References ..................................15
1. Introduction π§
okay so the SIP-H.323 Interworking function (IWF) is the thing that converts between SIP (Session Initiation Protocol) [RFC3261] and the ITU Recommendation H.323 protocol [H.323]. this doc describes the requirements for that protocol conversion π
2. Definitions π
H.323 gatekeeper (GK): an H.323 gatekeeper is an optional component in an H.323 network. if it's present, it does address translation, bandwidth control, admission control, and zone management.
H.323 network: in this doc, the collection of all H.323-speaking components is called the H.323 network.
SIP network: in this doc, the collection of all SIP servers and user agents is called the SIP network.
Interworking Function (IWF): this function does the interworking between H.323 and SIP. it belongs to both the H.323 and SIP networks π¦
SIP server: a SIP server can be a SIP proxy, redirect server, or registrar server.
Endpoint: an endpoint can call and be called. it's an entity where media such as voice, video, or fax originates or terminates. an endpoint can be an H.323 terminal, H.323 Gateway, H.323 MCU [H.323], or a SIP user agent (UA) [RFC3261] π
Media-Switching Fabric (MSF): this is an optional logical entity inside the IWF. it switches media such as voice, video, or fax from one network association to another π
3. Functionality within the SIP-H.323 IWF π
this section sums up the functional requirements of the SIP-H.323 interworking function (IWF) β¨
A SIP-H.323 IWF may be built into an H.323 gatekeeper or a SIP server. interworking should not require any optional components in either the SIP or H.323 network, like H.323 gatekeepers. IWF redundancy in the network is beyond the scope of this document π
an IWF contains functions from the following list, inter alia:
- Mapping of the call setup and teardown sequences;
- Registering H.323 and SIP endpoints with SIP registrars and H.323 gatekeepers;
- Resolving H.323 and SIP addresses;
- Maintaining the H.323 and SIP state machines;
- Negotiating terminal capabilities;
- Opening and closing media channels;
- Mapping media-coding algorithms for H.323 and SIP networks;
- Reserving and releasing call-related resources;
- Processing of mid-call signaling messages;
- Handling of services and features.
the IWF should not process media π«Ά we assume the same media transport protocols, like RTP, are used in both the SIP and H.323 networks. so media packets go directly between the endpoints. if a particular service needs the IWF to handle media, we assume the IWF just forwards media packets without modification from one network to the other, using a media-switching fabric (MSF). converting media from one encoding or format to another is out of scope for SIP-H.323 protocol translation π
4. 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 can be updated by using an H.323 gatekeeper, a SIP proxy server, or a locally-maintained database.
4.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 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 can then use this info 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.
4.2. Registration with SIP Server β
the IWF can give information about H.323 endpoints to a SIP registrar. this lets the SIP proxy using that SIP registrar send calls to the H.323 endpoints via the IWF πΈ
the IWF can easily get info 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 [TGREP] or SLP [GWLOC] to tell the SIP proxy server about these endpoints.
the IWF only needs to register with multiple SIP registrars if the H.323 terminal is supposed to appear under multiple, different addresses-of-record π
5. General Interworking Requirements π
the IWF should use H.323 Version 2 or later and SIP according to RFC 3261 [RFC3261]. the protocol translation function must not require modifications or additions to either H.323 or SIP. however, it may not be possible to support certain features of each protocol across the IWF π
5.1. Basic Call Requirements π
5.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 [RFC4028] may be used on the SIP side β°
5.1.2. Address Resolution π
the IWF should support all the addressing schemes in H.323, including the H.323 URI [RFC3508], and the "sip", "sips", and "tel" URI schemes in SIP. it should support the DNS-based SIP server location mechanisms described in [RFC3263] 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 π
5.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.
5.1.4. Call with SIP Registrar π«Ά
the IWF applies normal SIP call routing and doesn't need to be aware of whether there's a proxy server.
5.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 guaranteed-to-be-supported list of codecs of the H.323 terminal or SIP user agent before exchanging capabilities with H.323 (using H.245) and SIP (using SDP [RFC2327]). H.323 defines mandatory capabilities, whereas SIP currently does not. for example, the G.711 audio codec is mandatory for higher bandwidth H.323 networks π₯
the IWF should try 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 [RFC3550] names π
the IWF may use the SIP OPTIONS message to derive SIP UA capabilities. it may support mid-call renegotiation of media capabilities π¦
5.1.6. Opening of Logical Channels β¨
okay so the IWF SHOULD totally support the seamless back-and-forth of messages for opening, reopening, changing, and closing media channels mid-call π but the procedures for doing all of that (opening, reopening, closing, and changing the existing media sessions during a call) are still for further study π§
the IWF SHOULD try to open media channels between the endpoints whenever that's possible π¦ if it's not, 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 and to requests for reopening and changing an existing logical channel π and it MAY support the flow control mechanism in H.323 πΈ
5.2. IWF H.323 Features π·
the IWF SHOULD support Fast Connect, i.e. H.245 tunneling inside H.323 Setup messages π if the IWF and the GK are the same device, pre-granted ARQ SHOULD be supported. and if pre-granted ARQ is supported, the IWF MAY do the address resolution from the H.323 GK using the LRQ/LCF exchange π₯
5.3. Overlapped Sending π¨
an IWF SHOULD follow the recommendations outlined in [RFC3578] when it receives overlapped digits from the H.323 side. if the IWF gets 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 transferring digits during a call by using the appropriate SIP mechanism and UserInputIndication in H.245 (H.323) β¨
5.3.1. DTMF Support πΉ
an IWF SHOULD support the mapping between DTMF and possibly other telephony tones carried in signaling messages πΆ
6. Transport π
the H.323 and SIP systems do not have to be in close proximity π and the IP networks hosting them don't need to assure quality of service (QoS). the big one: 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 π¦
7. Mapping between SIP and H.323 πΊοΈ
7.1. General Requirements
- the call message sequence of both protocols MUST be maintained π
- the IWF MUST NOT set up or tear down calls on its own π ββοΈ
- signaling messages that do not have a match for the destination protocol SHOULD be terminated on the IWF, with the IWF taking the appropriate action for them. for example, SIP lets a SIP UA discard an ACK request silently for a non-existent call leg π»
- if the IWF is required to generate a message on its own, IWF SHOULD use pre-configured default values for the message parameters π
- 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, get 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 π§
7.2. H.225.0 and SIP Call Signaling π
- the IWF MUST conform to the call signaling procedures recommended for the SIP side regardless of the behavior of the H.323 elements π
- the IWF MUST conform to the call signaling procedures recommended for the H.323 side regardless of the behavior of the SIP elements π
- 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 π«Ά
- the IWF also establishes a Registration, Admission, Status (RAS) Channel to the H.323 GK, if available πΈ
- the IWF SHOULD process messages for H.323 supplementary services (FACILITY, NOTIFY, and the INFORMATION messages) only if the service itself is supported β¨
7.3. Call Sequence π
the call sequence on both sides SHOULD be maintained in such a way that neither the H.323 terminal nor the SIP UA is aware of presence of the IWF π«₯
7.4. State Machine Requirements π§
the state machine for IWF will follow the following general guidelines:
- unexpected messages in a particular state SHALL be treated as "error" messages π¨
- all messages that do not change the state SHALL be treated as "non-triggering" or informational messages π€
- all messages that 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. here's an example of such a table π
State: Idle
Possible Messages Message Category Action Next state
-------------------------------------------------------------------
All RAS msg. Triggering Add Reg.Info. WaitForSetup
All H.245 msg. Error Send 4xx Idle
SIP OPTIONS Non Triggering Return cap. Idle
SIP INVITE Triggering Send SETUP WaitForConnect
8. Security Considerations π
β οΈ okay bestie, this section is the serious one, so read it slowly and don't skip anything π«Ά
because the IWF whose requirements have been described in this document combines both SIP and H.323 functionality, security considerations for both of these protocols apply π°
the eventual security solution for interworking MUST rely on the standard mechanisms in RFC3261 [RFC3261] and H.323, without extending them for the interworking function. signaling security for H.323 is described in H.235 [H.235] π§Ύ
because all data elements in SIP or H.323 have to terminate at the IWF, the resulting security cannot be expected to be end-to-end. thus the IWF terminates not only the signalling protocols but also the security in each domain. therefore, users at the SIP or H.323 endpoint have to trust the IWF, like they would any other gateway, to authenticate the other side correctly. similarly, they have to trust the gateway to respect the integrity of data elements and to apply appropriate security mechanisms on the other side of the IWF π‘οΈ
the IWF MUST NOT indicate the identity of a user on one side without first performing authentication. for example, if the SIP user was not authenticated, it would be inappropriate to use mechanisms on the H.323 side, such as H.323 Annex D, to indicate that the user identity had been authenticated π ββοΈ
an IWF MUST NOT accept 'sips' requests unless it can guarantee that the H.323 side uses equivalent H.235 [H.235] security mechanisms. similarly, the IWF MUST NOT accept H.235 sessions unless it succeeds in using SIP-over-TLS (sips) on the SIP side of the IWF ππ
9. Examples and Scenarios π¬
9.1. Introduction
we're about to look at some examples of call scenarios that show the signaling messages received and transmitted π the following situations can occur:
- some signaling messages can be translated one-to-one π
- in some cases, parameters on one side do not match those on the other side π€·ββοΈ
- some signaling messages do not have an equivalent message on the other side. in some cases, the IWF can gather further information and the signal on the other side. in some cases, only an error indication can be provided π«
9.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
9.3. Call Flows π¦
some call flow examples for two different configurations and call scenarios are given below π
9.3.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 |
|<.........................>|
9.3.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 |
|<.........................>|
10. 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 π
11. Contributors π
in addition to the editors, the following people provided substantial technical and written contributions to this document. they are listed alphabetically π«Ά
Hemant Agrawal
Telverse Communications
1010 Stewart Drive
Sunnyale, CA 94085
USA
EMail: hagrawal@telverse.com
Alan Johnston
MCI WorldCom
100 South Fourth Street
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
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
12. References π
12.1. Normative References π
Okay bestie, these are the docs you need to read before the spec makes any sense π
[H.235]International Telecommunication Union, "Security and encryption for H-Series (H.323 and other H.245-based) multimedia terminals", Recommendation H.235, February 1998.[H.323]International Telecommunication Union, "Packet based multimedia communication systems", Recommendation H.323, July 2003.[RFC2327]Handley, M. and V. Jacobson, "SDP: Session Description Protocol", RFC 2327, April 1998.[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.[RFC3263]Rosenberg, J. and H. Schulzrinne, "Session Initiation Protocol (SIP): Locating SIP Servers", RFC 3263, June 2002.[RFC3508]Levin, O., "H.323 Uniform Resource Locator (URL) Scheme Registration", RFC 3508, April 2003.[RFC3550]Schulzrinne, H., Casner, S., Frederick, R., and V. Jacobson, "RTP: A Transport Protocol for Real-Time Applications", STD 64, RFC 3550, July 2003.
12.2. Informative References πΈ
These ones are extra reading, lowkey helpful but not required π
[GWLOC]Zhao, W. and H. Schulzrinne, "Locating IP-to-Public Switched Telephone Network (PSTN) Telephony Gateways via SLP", work in progress, February 2004.[RFC3578]Camarillo, G., Roach, A., Peterson, J., and L. Ong, "Mapping of Integrated Services Digital Network (ISDN) User Part (ISUP) Overlap Signalling to the Session Initiation Protocol (SIP)", RFC 3578, August 2003.[RFC3932]Alvestrand, H., "The IESG and RFC Editor Documents: Procedures", BCP 92, RFC 3932, October 2004.[RFC4028]Donovan, S. and J. Rosenberg, "Session Timers in the Session Initiation Protocol (SIP)", RFC 4028, April 2005.[TGREP]Bangalore, M., "A Telephony Gateway REgistration Protocol (TGREP)", work in progress, March 2004.
Authors' Addresses π¦
Meet the people who wrote this π«Ά
Henning Schulzrinne
Columbia University
Department of Computer Science
450 Computer Science Building
New York, NY 10027
US
Phone: +1 212 939 7042
EMail: hgs@cs.columbia.edu
URI: http://www.cs.columbia.edu
Charles Agboh
61 Bos Straat
3540 Herk-de-Stad
Belgium
Phone: +32479736250
EMail: charles.agboh@packetizer.com
Full Copyright Statement β
The legal bits, bestie. We keep these word for word so nothing gets lost π«Ά
Copyright (C) The Internet Society (2005).
This document is subject to the rights, licenses and restrictions contained in BCP 78 and at www.rfc-editor.org/copyright.html, and except as set forth therein, the authors retain all their rights.
This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM 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 MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property π₯
The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org.
Acknowledgement π
Funding for the RFC Editor function is currently provided by the Internet Society. π
π¦ where this page comes from
- ietf: rfc4123 2005-07
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms