Table Of Contents
H.323-SIP Interworking
Contents
Restrictions for H.323-SIP Interworking
Information About H.323-SIP Interworking
SIP/H.323 Interworking for Basic Call Hold
SIP Requirements
H.323 Requirements
Basic Call Hold Restrictions
Basic Call Hold Verification
H.323-SIP Interworking
The H.323-SIP interworking feature is very important in Voice over IP (VoIP) services since both protocols are widely used in the industry. When one VoIP service provider uses Session Initiation Protocol (SIP) and another provider uses H.323, the two protocols need to interwork to enable the customers to contact each other. H.323 is an older protocol that is gradually supplanted by SIP. The customers who have their VoIP network managed using H.323 may have to transition to SIP in the future. During this transition, both protocols need to interwork on the customers' VoIP network.
Note
For ACE SBC Release 3.0.00 and later, this feature is supported in the unified model only.
Feature History for H.323-SIP Interworking
Release
|
Modification
|
ACE SBC Release 3.1.00
|
Support added for SIP/H.323 interworking for basic call hold.
|
ACE SBC Release 3.0.00
|
This feature was introduced on the Cisco7600 series router along with support for the SBC unified model.
|
Contents
This module contains the following sections:
•
Restrictions for H.323-SIP Interworking
•
Information About H.323-SIP Interworking
•
SIP/H.323 Interworking for Basic Call Hold
Restrictions for H.323-SIP Interworking
The following features are not supported:
•
Transcoding of interworking calls.
•
Renegotiation of the media of interworking calls, either before or after the call is connected.
•
Receiving an offer (apart from the initial offer in the case of a SIP-to-H.323 call) from a remote SIP endpoint at any time during the call establishment.
•
Media bypass for interworking calls.
•
Dual tone multifrequency (DTMF) within the Real-Time Protocol (RTP) stream of an interworking call.
•
H.323 DTMF signaling using any method other than the alphanumeric method of UserInputIndication.
•
Interworking of endpoint registrations (not supported by H.323).
•
Failover of interworking calls (because H.323 call legs cannot be preserved across a failover).
•
Interworking of any SIP method other than INVITE, ACK, CANCEL, BYE, INFO, or PRACK.
•
End-to-end authentication on an interworking call. For example, an H.323 call branch cannot challenge a SIP call branch and vice versa. The Session Border Controller (SBC) itself can challenge a SIP call branch, but not an H.323 call branch.
•
User-configurable mapping of cause codes.
•
User-configurable mapping of codec types.
•
Interworking of signaling support for Silence Suppressio /VAD. It is assumed that the majority of endpoints interoperate correctly without explicitly signaling silence suppression.
•
Interworking of video or fax calls.
Information About H.323-SIP Interworking
Following the usual process, after the SBC applies the call and number policy tables, a final adjacency and account are chosen. In this feature, the originating and terminating adjacencies are configured for different protocols. For example, the originating adjacency can be configured for SIP, and the terminating adjacency can be configured for H.323.
The SBC supports the following features of SIP-to-H.323 interworking:
•
SIP upstream, H.323 fast-start downstream, offer received on the SIP INVITE.
•
SIP upstream, H.323 slow-start downstream, offer received on the SIP INVITE. First, H.323 fast-start is tried downstream. The SBC drops back to slow-start procedures when it discovers the downstream endpoint does not support fast-start.
•
SIP upstream, H.323 downstream (either fast-start or slow-start), no offer received on the SIP INVITE.
•
H.323 fast-start upstream, SIP downstream.
•
H.323 slow-start upstream, SIP downstream. SIP downstream is tried with a default SDP offer, containing a single media channel with the following offered codecs in decreasing order of preference: G.729, G.711 U-law, G.711 A-law, G.723.
•
Early media.
•
DTMF interworking between SIP and H.323 in the signaling plane, using the alphanumeric method of UserInputIndication.
SIP/H.323 Interworking for Basic Call Hold
The SIP/H.323 interworking for basic call hold feature enables the SBC to translate, hold, and resume signaling in H.323 and SIP interworking calls.
Note
Basic call hold does not require external configuration and is enabled by default.
SIP Requirements
In RFC-3264 SDP Offer-Answer protocol, basic call hold is signaled by a re-Offer that includes an a=sendonly', 'a=inactive', or 'c=IN IP4 0.0.0.0' line.
•
a=sendonly or c=IN IP4 0.0.0.0 indicates that the offerer wants to keep transmitting. The Answer may optionally force the offerer to cease transmitting by setting a=inactive or c=IN IP4 0.0.0.0.
•
a=inactive indicates that the offerer will also cease transmitting. In this case, the answerer must also reply with a=inactive.
Resume is signaled by setting the direction to a=sendrec or, because this is the default setting, omitting the direction line altogether.
For SIP, requirements are:
•
The SBC must support receipt of all of the above forms of call hold signaling. On transmit, control should preferably be provided over the form that is used.
•
Translation of a re-offer that opens or closes the send direction (not just the receive direction).
•
Case of the offerer or answerer changing their RTP address/port on a call hold resume offer or a call hold answer.
•
Sending a re-Offer on a SIP re-INVITE and processing the answer on the INVITE 200 rsp.
•
Processing an incoming answer on the first re-INVITE response even if that is not the final response (In this case, a duplicate answer on the final 200 response must be ignored).
•
Receipt of a re-offer on a SIP INVITE request.
•
Sending an answer on a re-INVITE 200 response.
H.323 Requirements
In H.245, basic call hold is signaled by sending an empty terminal capability set (defined in H.323 section 8.4.6, and known as "TCS=0"or "ECS"). The receiver of the TCS=0 must close its send channel and avoid re-opening it. Resume is signaled by sending a non-empty terminal capability set. At this point, the send channel is re-opened. In terms of the H.245 message flows:
•
Terminal capabilities are transmitted using a TerminalCapabilitySet (TCS). This message is responded to with a TerminalCapabilitySetAck (TCS Ack) or TerminalCapabilitySetReject.
•
A channel is opened with an H.245 OpenLogicalChannel (OLC). This is responded to with an OpenLogicalChannelAck (OLC Ack) or OpenLogicalChannelReject.
•
A channel is closed with an H.245 CloseLogicalChannel (CLC). A CloseLogicalChannelAck (CLC Ack) indicates that this message has been processed.
For H.323, requirements are:
•
Sending, receiving, and acting on empty and non-empty capability sets in an interworking call, including the situation in which both sides have put the other on hold.
•
Translation of channel close and re-open outside the context of call hold / resume.
•
Address changing for a new incarnation of a channel that uses different RTP/RTCP addresses/ports from the previous incarnation of the channel. (In line with existing behavior, SBC may continue to assume that each side of an H.245 RTP session uses a single RTP and RTCP IP address, and that the RTCP port = RTP port + 1.)
•
Receiving TCS=0 from downstream before call connection.
•
Ignoring a TCS=0 received from upstream before call connection (to prevent problems on the SIP side).
Basic Call Hold Restrictions
The following restrictions apply to the Basic Call Hold feature:
•
As part of an interworking call, a single audio code is selected and codec renegotiation is not supported.
•
MoH (Music On Hold) is not fully supported because it typically requires codec renegotiation.
•
Third-party rerouting (where a device separate from the SBC reroutes the call) is not fully supported.
•
The SBC does not support the following SIP mechanisms for carrying out Offer-Answer exchanges:
–
Late SDP re-INVITE (application/sdp payload type and no attached body). The SBC responds with a '501 Not Implemented' response.
–
Offer on an UPDATE request, INVITE 18x response, INVITE 200 response or PRACK request.
–
Answer to a renegotiation on anything other than an INVITE 200 response.
•
No call hold during early media. Translation of call hold/resume is allowed only after a call is established. This restriction follows from the previous restriction that prevents the SBC from receiving or generating Offers on INVITE 18x or UPDATE in SIP.
•
The SBC cannot originate or terminate H.450.4 call hold protocol.
•
The SBC supports receipt of an OLC Ack with port set to 0, but does not transmit an OLC Ack with port set to 0. Instead it transmits OLC Reject.
•
New timers are not configurable.
•
Existing general interworking restrictions are still in place:
–
Only a single media stream is allowed.
–
Only a single audio codec is allowed within that stream.
–
Transcoding and DTMF interworking is not supported.
–
Media bypass is not supported.
Basic Call Hold Verification
Use the following commands to verify operation:
Command
|
Purpose
|
host1/Admin# show services sbc sbc-name sbe calls
|
Lists all the calls on the SBEs.
|