You are on page 1of 27

Basics of Protocols

SIP / H.323 / MGCP


Presented by
Jonathan Cumming
jonathan.cumming@dataconnection.com
Basics of Protocols - SIP/H.323/MGCP

• Introduction
o Terminology
o Concepts
• Call vs. Media Gateway Control Protocols
• Call Control Protocols
o SIP
o H.323
o How SIP and H.323 compare
• Media Gateway Control Protocols
o MGCP and Megaco/H.248
• Summary
Concepts

• Multimedia requires the following features


o Endpoint Registration and Call Routing
• Where am I and how do I find someone else?
o Call Admission Control
• Am I allowed to make/receive a call?
o Call Establishment
o Media Negotiation
• What sort of session – voice, video, messaging?
o Media Transport
Call vs. Media Gateway
Control Protocols
• Call Control – SIP and H.323
o Peer-to-Peer protocol
o Call Routing by proxy / gatekeeper

• Media Gateway Control – MGCP, Megaco/H.248


o Master-Slave protocol
o Media Gateway (MG) is controlled by the Media Gateway
Controller (MGC)
Session Initiation Protocol

• IETF-based
• Developed from work on multi-party conferences
• Releases
o RFC 2543 1999
o 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
o RFC 3262 Reliable Provisional Responses
o RFC 3263 Server Location
o RFC 3265 SIP Events
o RFC 3264 Offer / Answer model
• Organizations, including ETSI, have defined higher-
level features and conformance feature sets.
SIP Architecture

• SIP is used for


o Registration and Call Routing
o Call Admission Control (performed by proxy)
o 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)


o User Agent Clients (UAC) send requests
o User Agent Servers (UAS) process requests and send responses
o Most endpoints are both UAC and UAS

• Proxies forward requests and responses


o They cannot generate new requests

• Registrars are UAS that record the location of clients


o A Registrar is normally colocated with a proxy
Structure of a SIP message

• Request
o Request URI sip:user@host
o Headers To: …, From: …, etc.
o Body SDP offer

• Response
o Status Line 180 Ringing
o Headers To:…, From: …, etc.
o Body SDP answer
SIP Extensibility

• Anyone can define SIP extensions


o New Message types
o 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
o Offer contains list of supported streams and codecs
o 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
o Adapted for unreliable packet-based networks.
• Widely used for conferencing and IP telephony

• Releases
o H.323 v1 1996
o H.323 v2 1998 - Useable VoIP support
o H.323 v3 1999 - Improved scalability
o H.323 v4 2000 - Improved web support, inc URLs
H.323 Standards

• H.323 is a collection of standards


o H.225 Signaling: RAS, Call Signaling and Annex G
o H.245 Multimedia Control Protocol

• Related standards
o H.235 Security within H.245-based systems
o H.245 Interworking with the PSTN
o H.450 Supplementary Services
H.323 Architecture

• H.225 RAS is used with a Gatekeeper for


o Registration
o 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
o allow the gatekeeper to manage the endpoint
o allow the endpoint to request admission for a call
o allow the endpoint to resolve addresses

• RAS messages
o Gatekeeper Discovery (Gxx), and Registration (Rxx)
o Admission (Axx), Location (Lxx), and Bandwidth (Bxx)
o Disengage (Dxx), Information (Ixx), and various others
H.225 Call Signaling

• Used to establish calls between entities


• Derived from Q.931
• Example messages
o Setup
o Call Proceeding
o Alerting
H.245

• Provides
o Terminal capability exchange, e.g. Codecs supported
o Channel signaling to open the media sessions
o Conference control

• Optimization options
o H.245 can be tunneled in H.225 Call Signaling channel
• Normally transmitted in its own TCP connection
o 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 • H.323 Advantages
o Use RTP and RTCP for media o More compact messages
transport o More mature (in some areas)
o Support call routing through
proxies/gatekeepers using
username, phone numbers or • SIP Advantages
URLs o Easier to prototype (text)
o Similar flows o More flexible extensibility
o More scalable
• loop detection
• Differences
o Same messages used
o Encoding (Text vs. ASN.1) throughout network
o Standardized Feature sets o Cleaner separation of layers
• Conference control
• Attended and blind transfer
o Use of SDP is compatible with
• Caller Preferences MGCP and Megaco
Example 1: Endpoint Registration

• SIP • H.323
o Discovery and Registration o Discovery
• REGISTER -> Registrar • GRQ -> Gatekeeper
• 200 OK on success • GCF returned on success
• >= 300 on error • GRJ on error

o DHCP can also be used for o Registration


discovery • RRQ -> Gatekeeper
• Returns RCF or RQJ
Example 2: Call Setup

• SIP • H.323 with FastConnect


o Admission control and o Admission control and
routing routing
• Provided by routing INVITE • ARQ -> Gatekeeper
message through proxies • ACF returned on success

o Call Setup o Call Setup


• INVITE • Setup -> remote terminal
• 180 ringing • Proceeding returned
• 200 OK • Connect returned
• ACK • 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
o Cleaner and more powerful architecture => simpler flows
o 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
o 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


o Many defined, e.g. Basic Line, ATM, DTMF
MGCP/Megaco Operation

• MG contacts its MGC when initialized


o MGC can AUDIT the MG to discover available resources

• MGC tells MG
o Media streams to establish
o Tones to play and events to monitor
o Digit maps against which to map received digits

• MG notifies MGC when a monitored event is


detected
MGCP/Megaco Terminology

• MCGP • Megaco
o Endpoint o Termination
A media source or sink. A media source or sink.
A media gateway is This could be either a
considered as a collection of physical device, e.g. DS0, or
endpoints, e.g. DS0, Analog an ephemeral termination
line, etc. such as an RTP stream.

o Connection o Context
A connection is an A connection is created by
association between two placing terminations into the
endpoints, which may be on same context
the same or different MGs.
MGCP/Megaco Features

• Media bridging
o MGCP – By connecting endpoints together
o Megaco – By placing two terminations in the same context

• Conferencing
o MCGP – By connection multiple endpoints to a conference bridge
o Megaco - By placing multiple terminations in the same context

• Media transcoding
o 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
o SIP and H.323 are complementary to MGCP and Megaco

• SIP and Megaco are the protocols of the future


o SIP is easier to extend and develop with than H.323
o Megaco has a more powerful architecture that MGCP
• But H.323 and MGCP will still be here in 10 years

You might also like