Basics of Protocols SIP / H Basics of Protocols SIP / H.323 / MGCP Presented by Jonathan Cumming jonathan.cumming@dataconnection.com
Basics of Protocols - SIP/H.323/MGCP Introduction Terminology Concepts Call vs. Media Gateway Control Protocols Call Control Protocols SIP H.323 How SIP and H.323 compare Media Gateway Control Protocols MGCP and Megaco/H.248 Summary
Concepts Multimedia requires the following features Endpoint Registration and Call Routing Where am I and how do I find someone else? Call Admission Control Am I allowed to make/receive a call? Call Establishment Media Negotiation What sort of session – voice, video, messaging? Media Transport
Call vs. Media Gateway Control Protocols Call Control – SIP and H.323 Peer-to-Peer protocol Call Routing by proxy / gatekeeper Media Gateway Control – MGCP, Megaco/H.248 Master-Slave protocol Media Gateway (MG) is controlled by the Media Gateway Controller (MGC)
Session Initiation Protocol IETF-based Developed from work on multi-party conferences Releases RFC 2543 1999 RFC 3261 2002 - Better scalability and resilience The protocol chosen for next generation mobile and fixed networks (3GPP and IMS) Huge amount of work extending the protocol
SIP Standards RFC 3261 defines the core SIP protocol Many extensions defined in additional RFCs RFC 3262 Reliable Provisional Responses RFC 3263 Server Location RFC 3265 SIP Events RFC 3264 Offer / Answer model Organizations, including ETSI, have defined higher-level features and conformance feature sets.
SIP Architecture SIP is used for Registration and Call Routing Call Admission Control (performed by proxy) Call Establishment SDP (attached to SIP messages) is used to negotiate the media for the call RTP/RTCP carries the media directly between the endpoints
SIP Terminology Endpoints are SIP User Agents (UA) User Agent Clients (UAC) send requests User Agent Servers (UAS) process requests and send responses Most endpoints are both UAC and UAS Proxies forward requests and responses They cannot generate new requests Registrars are UAS that record the location of clients A Registrar is normally colocated with a proxy
Structure of a SIP message Request Request URI sip:user@host Headers To: …, From: …, etc. Body SDP offer Response Status Line 180 Ringing Headers To:…, From: …, etc. Body SDP answer
SIP Extensibility Anyone can define SIP extensions New Message types New Headers Unrecognized message types and headers ignored If a UAC requires a UAS to support an extension it can mandate it using Require: UAS and UAC advertise supported extensions using Supported: and Allow: headers For example: Presence and Instant Messaging have been added without changes to the core protocol
Session Description Protocol (SDP) Used to negotiate media channels and codecs Text-based protocol defined by the IETF Also used by MGCP and Megaco Offer/Answer handshake Offer contains list of supported streams and codecs Answer contains list of accepted streams and codecs Supports wide range of media: RTP, ATM, video
H.323 Published by ITU-T Developed from H.320 - Conferencing over ISDN Adapted for unreliable packet-based networks. Widely used for conferencing and IP telephony Releases H.323 v1 1996 H.323 v2 1998 - Useable VoIP support H.323 v3 1999 - Improved scalability H.323 v4 2000 - Improved web support, inc URLs
H.323 Standards H.323 is a collection of standards Related standards H.225 Signaling: RAS, Call Signaling and Annex G H.245 Multimedia Control Protocol Related standards H.235 Security within H.245-based systems H.245 Interworking with the PSTN H.450 Supplementary Services
H.323 Architecture H.225 RAS is used with a Gatekeeper for Registration Call Routing H.225 Call signaling is used for Call Establishment H.245 is used to control the established multi-media session RTP/RTCP is normally used to carry the media
H.225 RAS Registration, Admission and Status Used between endpoint and gatekeeper to allow the gatekeeper to manage the endpoint allow the endpoint to request admission for a call allow the endpoint to resolve addresses RAS messages Gatekeeper Discovery (Gxx), and Registration (Rxx) Admission (Axx), Location (Lxx), and Bandwidth (Bxx) Disengage (Dxx), Information (Ixx), and various others
H.225 Call Signaling Used to establish calls between entities Derived from Q.931 Example messages Setup Call Proceeding Alerting
H.245 Provides Optimization options Terminal capability exchange, e.g. Codecs supported Channel signaling to open the media sessions Conference control Optimization options H.245 can be tunneled in H.225 Call Signaling channel Normally transmitted in its own TCP connection Fast connect does not establish an H.245 channel Relevant H.245 fields passed in H.225 Setup message
Comparing SIP and H.323 Similarities Differences H.323 Advantages Use RTP and RTCP for media transport Support call routing through proxies/gatekeepers using username, phone numbers or URLs Similar flows Differences Encoding (Text vs. ASN.1) Standardized Feature sets Conference control Attended and blind transfer Caller Preferences H.323 Advantages More compact messages More mature (in some areas) SIP Advantages Easier to prototype (text) More flexible extensibility More scalable loop detection Same messages used throughout network Cleaner separation of layers Use of SDP is compatible with MGCP and Megaco
Example 1: Endpoint Registration SIP Discovery and Registration REGISTER -> Registrar 200 OK on success >= 300 on error DHCP can also be used for discovery H.323 Discovery GRQ -> Gatekeeper GCF returned on success GRJ on error Registration RRQ -> Gatekeeper Returns RCF or RQJ
Example 2: Call Setup SIP H.323 with FastConnect Admission control and routing Provided by routing INVITE message through proxies Call Setup INVITE 180 ringing 200 OK ACK H.323 with FastConnect Admission control and routing ARQ -> Gatekeeper ACF returned on success Call Setup Setup -> remote terminal Proceeding returned Connect returned Ack -> remote terminal (UDP)
MGCP and Megaco Originally designed to control PSTN access by IP terminals Developed by Cisco, Telcordia and Level 3 Published by IETF as RFC 2705, Oct 1999 Widely used in cable networks (PacketCable standards) Megaco/H.248 jointly developed by IETF and ITU as a replacement to MGCP Cleaner and more powerful architecture => simpler flows Most MGCP messages have direct equivalents in Megaco Mandated for next generation networks (inc. IMS), but not yet as widely deployed
MGCP/Megaco Architecture Text protocol Binary coding available for Megaco, but hardly used Uses SDP to describe the media Uses RTP and RTCP as the media transport Packages define extensions Many defined, e.g. Basic Line, ATM, DTMF
MGCP/Megaco Operation MG contacts its MGC when initialized MGC can AUDIT the MG to discover available resources MGC tells MG Media streams to establish Tones to play and events to monitor Digit maps against which to map received digits MG notifies MGC when a monitored event is detected
MGCP/Megaco Terminology MCGP Endpoint A media source or sink. A media gateway is considered as a collection of endpoints, e.g. DS0, Analog line, etc. Connection A connection is an association between two endpoints, which may be on the same or different MGs. Megaco Termination A media source or sink. This could be either a physical device, e.g. DS0, or an ephemeral termination such as an RTP stream. Context A connection is created by placing terminations into the same context
MGCP/Megaco Features Media bridging Conferencing Media transcoding MGCP – By connecting endpoints together Megaco – By placing two terminations in the same context Conferencing MCGP – By connection multiple endpoints to a conference bridge Megaco - By placing multiple terminations in the same context Media transcoding By bridging endpoints using different codecs
MGCP Example: Call Setup MG notifies MGC that the phone has gone off hook MGC tells MG to play dialtone and collect digits matching a given digit map MG notifies MGC when digits are received MGC tells MG to create a new connection and play ringing tone MGC tells MG the remote RTP info for the connection
Summary SIP and H.323 are equivalent MCGP and Megaco are equivalent SIP and H.323 are complementary to MGCP and Megaco SIP and Megaco are the protocols of the future SIP is easier to extend and develop with than H.323 Megaco has a more powerful architecture that MGCP But H.323 and MGCP will still be here in 10 years