RFC-4123 SIP-H.323 Interworking Requirements Speaker: Yan-Shiang Wang Adviser: Quincy Wu Date: 2005/12/22
H.323 Introduction Terminal Gateway Gatekeeper Endpoint that offers real-time communications with other h.323 endpoint Gateway Translation services between the h.323 and others Gatekeeper Controller MCU (Multipoint Control Unit) Endpoint that manages multipoint conferences
H.323 Zone Terminal Terminal Gatekeeper Terminal Terminal Gateway MCU Router SIP H.323 PSTN
H.323 Protocol H.225.0 H.245 RAS: Registration, Admission, Status Between endpoints and gatekeepers Q.931: ISDN Layer 3 signaling protocol Between endpoints H.245 Establish and control media streams Between two or more endpoints
Terminal/Application Control H.323 Protocol Stack Audio/Video Application Terminal/Application Control Codecs RTCP H.225.0 RAS Signaling Call (Q.931) H.245 Control RTP UDP TCP Network Layer Data Link Layer Physical Layer
H.323 Protocol (cont.) Gatekeeper Q.931 Audio codec Video codec Discovery: udp port 1718 RAS: udp port 1719 Q.931 udp or tcp port 1720 Audio codec G.711, G.722, G.723, G.728, G.729 Video codec H.261, H.263
RAS Signaling - Discovery Terminal Gatekeeper Gatekeeper GRQ GRQ GK discovery multicast address GRQ GRJ GCF GRQ: Gatekeeper Request GRJ: Gatekeeper Reject GCF: Gatekeeper Confirm Terminal sends just one GRQ to the Gatekeeper discovery multicast address. Therefore, the Terminal will now proceed to register with which Gatekeeper.
RAS Signaling - Registration Terminal Gatekeeper RRQ RCF // // URQ UCF RRQ: Registration Request RCF: Registration Confirm URQ: Unregistration Request UCF: Unregistration Confirm
RAS Signaling - Admission Terminal Gatekeeper Terminal ARQ ACF Setup ARQ ACF // // // DRQ DRQ DCF DCF ARQ: Admission Request ACF: Admission Confirm DRQ: Disengage Request DCF: Disengage Confirm
Q.931 Signaling Terminal Terminal Setup Call Proceeding Alerting Connect H.245 Session Establishment Media Exchange H.245 Session Release Release Complete
Direct Endpoint Call Gatekeeper Terminal Terminal Gatekeeper ARQ ACF Setup Call Proceeding ARQ ACF Alerting Connect H.245 Session Establishment Media Exchange H.245 Session Release Release Complete DRQ DRQ DCF DCF
H.245 Signaling TCS: Terminal Capability Set MSD: Master Salve Determination TCSA: TCS Ack MSDA: MSD Ack OLC: Open Logical Channel OLCA: OLC Ack OLCC: OLC Confirm ESC: End Session Command
H.245 Procedure Terminal Terminal TCS MSD Both Terminal send information signalling at the same time, they don’t need to wait Ack signalling. TCS MSD TCSA MSDA TCSA MSDA OLC OLC OLCA OLCA OLCC RTP RTCP ESC ESC
H.245 Procedure - Fast Connect Terminal Terminal Setup (faststart [logical channel info]) Call Proceeding Alerting Connect (faststart [logical channel info]) Media Exchange Release Complete
H.323 detailed header info
H.225 - Q.931 header
H.245 - Master Slave Determination Terminal Type Value General terminal = 50 Gateway = 60 MCU = 190 MCU (currently managing a conference) = 240 Status Determination Number Random Largest one is master
H.245 - MSD (cont.)
H.245 - OLC, OLCA, OLCR
SIP-H.323 Interworking IWF (Interworking Function) interworking between H.323 and SIP MSF (Media-Switching Fabric) optional entity within the IWF switches media such as voice, video, or fax from one network association to another
SIP-H.323 IWF H.323 Endpoint SIP User Agent H.323 Terminal SIP User Gatekeeper SIP Server MCF H.323 MCU SIP-H.323 IWF
SIP-H.323 IWF (cont.) May be integrated into an H.323 GK or SIP server Simply forwards media packets without modification Should not process media MSF - Convert media from one encoding or format to another Out of scope for SIP-H.323 protocol translation
General Interworking Requirements Opening of logical channels Should support the seamless exchange Should support open media channels The channel can be opened at the MSF of the IWF When endpoints can’t open media channels themself IWF H.323 features Should support fast connect Should support pre-granted ARQ (IWF in GK) Overlapped sending Follow RFC3578 (from H.323) Q.931 (from SIP)
Overlap Signalling Modern switches use en-bloc signalling Some parts of the PSTN still use overlap signalling Sending only some digits of the callee's number in the first signalling message Further digits are sent in subsequent signalling messages
Interworking Analysis simple call setup mapping addresses finding a subset of capabilities described by H.245 and SDP conferencing and call services security and authentication
Register (IWF colocated with SIP server) H.323 Terminal Gatekeeper IWF/GW SIP UA RRQ RCF RRQ RCF REGISTER RRQ RCF 200 OK
RRQ (IWF colocated with H.323 GK) H.323 Terminal IWF/GW SIP Server SIP UA RRQ REGISTER 200 OK RCF REGISTER 200 OK
Invite (IWF colocated with SIP server) H.323 Terminal Gatekeeper IWF/GW SIP UA INVITE 100 Trying ARQ ACF Setup Call Proceeding ARQ ACF Alerting 180 Ringing Connect H.245 Signaling 200 OK ACK RTP RTCP
Setup (IWF colocated with H.323 GK) H.323 Terminal IWF/GW SIP Server SIP UA ARQ ACF Setup Call Proceeding INVITE INVITE 100 Trying 180 Ringing 180 Ringing Alerting 200 OK 200 OK Connect negotiate between 200 OK and ACK H.245 Signaling ACK ACK RTP RTCP
Call from SIP to H.323 INVITE Setup Connect (no faststart) H.323 Terminal IWF/GW SIP UA INVITE Setup Connect (no faststart) TCS (g711Ulaw) TCSAck TCS (g711Alaw & g711Ulaw) TCSAck 200 OK c=IN IP4 1.2.3.4 m=audio 5000 RTP/AVP 0 OLC (g711Ulaw) OLCAck(1.2.3.4:5000) ACK OLC (g711Ulaw) OLCAck(5.6.7.8:9000) RTP RTCP
Call from SIP to H.323 (with faststart) H.323 Terminal IWF/GW SIP UA INVITE To:abc@ncnu.edu c=IN IP4 5.6.7.8 m=audio 9000 RTP/AVP 0 Setup faststart={g711Ulaw,Tx}, {g711Ulaw,Rx,5.6.7.8:9000} 200 OK c=IN IP4 1.2.3.4 m=audio 5000 RTP/AVP 0 Connect faststart= {g711Ulaw,Tx,1.2.3.4:5000} {g711Ulaw,Rx} ACK RTP RTCP
Call from H.323 to SIP Setup (no faststart) INVITE 180 Ringing 200 OK H.323 Terminal IWF/GW SIP UA Setup (no faststart) INVITE 180 Ringing 200 OK Connect TCS (g711Alaw) TCSAck TCS (g711Alaw & g711Ulaw) TCSAck ACK with updated SDP c=IN IP4 1.2.3.4 m=audio 5000 RTP/AVP 8 OLC (g711Alaw) OLCAck(1.2.3.4:5000) OLC (g711Alaw) OLCAck(5.6.7.8:9000) RTP RTCP
Call from H.323 to SIP (with faststart) H.323 Terminal IWF/GW SIP UA Setup destination:def@ncnu.edu.tw faststart={g711Ulaw,Tx}, {g711Ulaw,Rx,1.2.3.4:5000} INVITE To:def@ncnu.edu.tw c=IN IP4 1.2.3.4 m=audio 5000 RTP/AVP 0 200 OK c=IN IP4 5.6.7.8 m=audio 9000 RTP/AVP 0 Connect faststart= {g711Ulaw,Tx,5.6.7.8:9000} {g711Ulaw,Rx} ACK RTP RTCP
Mapping Addresses SIP address format SIP-Address = (name-addr j addr-spec) name-addr = [display-name] ”<” addr-spec ”>” addr-spec = SIP-URL SIP-URL = ”sip:” [ userinfo ”@” ] hostport url-parameters [headers] userinfo = user [ ”:” password ] hostport = host [ ”:” port ] host = hostname j IPv4address url-parameters = *(”;” url-parameter) url-parameter = user-param j . . .
Mapping Addresses (cont.) H323 address format { e164 IA5String (SIZE(1..128)) (FROM("0123456789\#*,")), h323-ID BMPString (SIZE (1..256)), ..., url-ID IA5String ( SIZE(1 .. 512)),-- URL Style address transport-ID TransportAddress, -- IPv4, IPv6, IPX etc.,... email-ID IA5String (SIZE(1..512)), partyNumber PartyNumber }
SIP to H323 h323-ID e164 url-ID email-ID transport-ID SIP-Address -> addr-spec exceeds 256 characters -> 414 (Address Too Long) e164 “+”, “-” are removed “p” -> “,” url-ID exceeds 512 characters -> 414 (Address Too Long) email-ID transport-ID If host is indicated as a dotted quad
SIP to H323 - examples SIP - “sip:j.doe@big.com” is converted to an H.323 - { h323-ID=”sip:j.doe@big.com”, url-ID=”sip:j.doe@big.com”, email-ID=“j.doe@big.com” } SIP - “sip:+1-212-555-1212:1234@gateway.com; user=phone” H.323 – { e164=”12125551212”, h323-ID=”sip:+1-212-555-1212:1234@gateway.com”, url-ID=”sip:+1-212-555-1212:1234@gateway.com”, email-ID=“+1-212-555-1212:1234@big.com” } SIP - ”sip:alice@10.1.2.3” H.323 - { h323-ID=”sip:alice@10.1.2.3”, url-ID=”sip:alice@10.1.2.3”, tranport-ID= IPAddress 10.1.2.3:1720, email-ID=“alice@10.1.2.3” } SIP - “A. Bell <sip:a.g.bell@bell-tel.com>” H.323 - { h323-ID=”A.Bell <sip:a.g.bell@bell-tel.com>”, url-ID=”sip:a.g.bell@bell-tel.com”, email-ID=“A. Bell <a.g.bell@belltel.com>” }
Mapping Addresses - H323 to SIP If a url-ID is present and it is a SIP-URL If an h323-ID is present and it can be parsed as a valid SIP-Address, it is used If the transport-ID is present and it does not identify the IWF, then it forms the hostport portion of the SIP URL and the user portion is constructed using h323-ID or e164 If the email-ID is present, then it is used in the SIP-URI
Security Considerations Signaling security for H.323 is described in H.235 The IWF terminates not only the signaling protocols but also the security in each domain Users at endpoints have to trust the IWF The IWF must not indicate the identity of a user on one side without first performing authentication
Reference SIP-H.323 Signaling Gateway http://www1.cs.columbia.edu/~kns10/research/gw/ Interworking Between SIP/SDP and H.323 http://www.cs.columbia.edu/~kns10/publication/draft-singh-sip-h323-01.pdf Mapping of ISUP Overlap Signalling to SIP http://www.ietf.org/rfc/rfc3578.txt Carrier Grade Voice Over IP Chapter 4, 5