tema 4 - protocolos voip_overview.pdf
TRANSCRIPT
Voice over IP Protocols
An Overview
Version 2 - March 9, 2001 2
RTCPRTP
SIP, H.323 and MGCPSIP, H.323 and MGCP
IP
MGCP
Call Control and Signaling Signaling and Gateway Control
Media
H.225
Q.931
H.323
H.323 Version 1 and 2 supports H.245 over TCP, Q.93 1 over TCP and RAS over UDP.
H.323 Version 3 and 4 supports H.245 over UDP/TCP a nd Q.931 over UDP/TCP and RAS over UDP.
SIP supports TCP and UDP.
TCP
RAS
UDP
SIPH.245
Audio/Video
RTSP
Version 2 - March 9, 2001 3
What is in this ModuleWhat is in this Module
Objectives:This module provides an introductory overview of th e voice over IP protocols: SIP, H.323 and MGCP. At the end of this module, you will:• Understand the basics of SIP and its architecture.• Understand H.323 and how it compares to SIP.• Understand MGCP.
Target Audience:Marketing or business development professional who would like anintroductory yet technical overview of the voice ov er IP protocols.
Module Title:Voice over IP Protocol – An Overview
Session Initiation Protocol
Version 2 - March 9, 2001 5
What is SIP?What is SIP?
“
”
Session Initiation Protocol - An application layer signaling protocol that defines initiation, modification and termination of interactive, multimedia communication sessions between users.
IETF RFC 2543 Session Initiation Protocol
Version 2 - March 9, 2001 6
SIP FrameworkSIP Framework
• Session initiation.
• Multiple users.
• Interactive multimedia applications.
Version 2 - March 9, 2001 7
Redirect Server
SIP Distributed ArchitectureSIP Distributed Architecture
Location Server
Registrar Server
User Agent
Proxy Server
Gateway
PSTN
SIP Components
Proxy Server
Version 2 - March 9, 2001 8
User AgentsUser Agents
An application that initiates, receives and terminates calls. • User Agent Clients (UAC) – An entity that
initiates a call.
• User Agent Server (UAS) – An entity that receives a call.
�Both UAC and UAS can terminate a call.
Version 2 - March 9, 2001 9
Proxy ServerProxy Server
• An intermediary program that acts as both a server and a client to make requests on behalf of other clients.
• Requests are serviced internally or by passing them on, possibly after translation, to other servers.
• Interprets, rewrites or translates a request message before forwarding it.
Version 2 - March 9, 2001 10
Location ServerLocation Server
• A location server is used by a SIP redirect or proxy server to obtain information about a called party’s possible location(s).
Version 2 - March 9, 2001 11
Redirect ServerRedirect Server
• A server that accepts a SIP request, maps the address into zero or more new addresses and returns these addresses to the client.
• Unlike a proxy server, the redirect server does not initiate its own SIP request.
• Unlike a user agent server, the redirect server does not accept or terminate calls.
Version 2 - March 9, 2001 12
Registrar ServerRegistrar Server
• A server that accepts REGISTER requests.
• The register server may support authentication.
• A registrar server is typically co -located with a proxy or redirect server and may offer location services.
Version 2 - March 9, 2001 13
SIP Messages – Methods and Responses
SIP Messages – Methods and Responses
SIP Methods:• INVITE – Initiates a call by
inviting user to participate in session.
• ACK - Confirms that the client has received a final response to an INVITE request.
• BYE - Indicates termination of the call.
• CANCEL - Cancels a pending request.
• REGISTER – Registers the user agent.
• OPTIONS – Used to query the capabilities of a server.
• INFO – Used to carry out-of-bound information, such as DTMF digits.
SIP Responses:• 1xx - Informational Messages.• 2xx - Successful Responses.• 3xx - Redirection Responses.• 4xx - Request Failure
Responses.• 5xx - Server Failure Responses.• 6xx - Global Failures
Responses.
SIP components communicate by exchanging SIP messag es:
Version 2 - March 9, 2001 14
SIP HeadersSIP Headers
• SIP borrows much of the syntax and semantics from H TTP.
• A SIP messages looks like an HTTP message – message formatting, header and MIME support.
• An example SIP header:-----------------------------------------------------------------
SIP Header
-----------------------------------------------------------------
INVITE sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP 192.168.6.21:5060
From: sip:[email protected]
To: <sip:[email protected]>
Call-ID: [email protected]
CSeq: 100 INVITE
Expires: 180
User-Agent: Cisco IP Phone/ Rev. 1/ SIP enabled
Accept: application/sdp
Contact: sip:[email protected]:5060
Content-Type: application/sdp
Version 2 - March 9, 2001 15
SIP AddressingSIP Addressing
• The SIP address is identified by a SIP URL, in the format: user@host.
• Examples of SIP URLs:
–sip:[email protected]
–sip:[email protected]
–sip:[email protected]
Version 2 - March 9, 2001 16
Process for Establishing Communication
Process for Establishing Communication
Establishing communication using SIP usually occurs in six steps:
1. Registering, initiating and locating the user.2. Determine the media to use – involves delivering a
description of the session that the user is invited to.3. Determine the willingness of the called party to
communicate – the called party must send a response message to indicate willingness to communicate – acc ept or reject.
4. Call setup.5. Call modification or handling – example, call transf er
(optional).6. Call termination.
Version 2 - March 9, 2001 17
RegistrationRegistration
• Each time a user turns on the SIP user client (SIP IP Phone, PC, or other SIP device), the client registers with the proxy/registration server.
• Registration can also occur when the SIP user client needs to inform the proxy/registration server of its location.
• The registration information is periodically refreshed and each user client must re-register with the proxy/registration server.
• Typically the proxy/registration server will forward this information to be saved in the location/redirect server.
SIP Messages:REGISTER – Registers the address listed in the To header field.200 – OK.
Proxy/ Registration Server
SIP PhoneUser
Location/Redirect Server
REGISTER REGISTER
200200
Version 2 - March 9, 2001 18
Simplified SIP Call Setup and Teardown (1)
Simplified SIP Call Setup and Teardown (1)
100 Trying F3
180 (Ringing) F8
RTP MEDIA PATH
BYE F13
200 (OK) F14
Call Teardown
MediaPath
Call Setup
INVITE F1
atlanta.comProxy
biloxi.comProxy
Bob´s SIP PhoneAlice´s softphone
100 Trying F5
INVITE F2INVITE F4
180 (Ringing) F6
180 (Ringing) F7200 (OK) F9
200 (OK) F10200 (OK) F11
ACK F12
Version 2 - March 9, 2001 19
Simplified SIP Call Setup and Teardown (2)
Simplified SIP Call Setup and Teardown (2)
INVITE sip:[email protected] SIP/2.0 Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bK776asdhdsMax-Forwards: 70To: Bob <sip:[email protected]> From: Alice <sip:[email protected]>;tag=1928301774Call-ID: [email protected]: 314159 INVITEContact: <sip:[email protected]>Content-Type: application/sdpContent-Length: 142
SIP/2.0 200 OK Via: SIP/2.0/UDP server10.biloxi.com
;branch=z9hG4bKnashds8;received=192.0.2.3Via: SIP/2.0/UDP bigbox3.site3.atlanta.com
;branch=z9hG4bK77ef4c2312983.1;received=192.0.2.2Via: SIP/2.0/UDP pc33.atlanta.com
;branch=z9hG4bK776asdhds ;received=192.0.2.1To: Bob <sip:[email protected]>;tag=a6c85cfFrom: Alice <sip:[email protected]>;tag=1928301774Call-ID: [email protected]: 314159 INVITEContact: <sip:[email protected]>Content-Type: application/sdpContent-Length: 131
Version 2 - March 9, 2001 20
Simplified SIP Call Setup and Teardown (3)
Simplified SIP Call Setup and Teardown (3)
302 (Moved Temporarily)
INVITE
200 (OK)200 (OK)
ACK
INVITE302
(Moved Temporarily)ACK
INVITE
180 (Ringing)180 (Ringing)180 (Ringing)
200 (OK)ACKACK ACK
RTP MEDIA PATH
BYEBYE BYE
200 (OK)200 (OK) 200 (OK)Call Teardown
MediaPath
Call Setup
INVITELocation/Redirect ServerProxy Server Proxy Server User AgentUser Agent
INVITE
Version 2 - March 9, 2001 21
SIP – Design FrameworkSIP – Design Framework
SIP was designed for:• Integration with existing IETF protocols.
• Scalability and simplicity.
• Mobility.
• Easy feature and service creation.
Version 2 - March 9, 2001 22
Integration with IETF Protocols (1)
Integration with IETF Protocols (1)
Other IETF protocol standards can be used to build a SIP based application. SIP can works with existing IETF protocols, for example:
• RSVP - to reserve network resources.
• RTP Real Time Protocol -to transport real time data and provide QOS feedback.
• RTSP Real Time Streaming Protocol - for controlling delivery of streaming media.
• SAP Session Advertisement Protocol - for advertising multimedia session via multicast.
Version 2 - March 9, 2001 23
Integration with IETF Protocols (2)
Integration with IETF Protocols (2)
• SDP Session Description Protocol – for describing multimedia sessions.
• MIME – Multipurpose Internet Mail Extension –defacto standard for describing content on the Internet.
• HTTP – Hypertext Transfer Protocol - HTTP is the standard protocol used for serving web pages over the Internet.
• COPS – Common Open Policy Service.
• OSP – Open Settlement Protocol.
Version 2 - March 9, 2001 24
Session Description Protocol (SDP)
Session Description Protocol (SDP)
Sesion descripción
v= (protocol version)o= (owner/creator and sessionidentifier). s= (session name)i=* (session information)u=* (URI of description)e=* (email address)p=* (phone number)c=* (connection information)b=* (bandwidth information)z=* (time zone adjustments)k=* (encryption key)t= (time the session is active)r=* (zero or more repeat times)m= (media name and transportaddress)a=* (zero or more mediaAttribute lines)
Ej. SDP Descriptionv=0o=mhandley 28908445262890842807 IN IP4 126.16.64.4s=SDP Seminari=A Seminar on the sessiondescription protocolu=http://www.cs.ucl.ac.uk/staff/M.Handley/[email protected] (Mark Handley)c=IN IP4 224.2.17.12/127t=2873397496 2873404696a=recvonlym=audio 49170 RTP/AVP 0m=video 51372 RTP/AVP 31m=application 32416 udp wba=orient:portrait
Version 2 - March 9, 2001 25
ScalabilityScalability
• The SIP architecture is scalable, flexible and distributed.
–Functionality such as proxying, redirection, location, or registration can reside in different physical servers.
–Distributed functionality allows new processes to be added without affecting other components.
Version 2 - March 9, 2001 26
SimplicitySimplicity
SIP is designed to be:
• “Fast and simple in the core.”
• “Smarter with less volume at the edge.”
• Text based for easy implementation and debugging.
Version 2 - March 9, 2001 27
MobilityMobility
• SIP supports user mobility by proxying and redirecting requests to a user’s current location.
• The user can be using a PC at work, PC at home, wireless phone, IP phone, or regular phone.
• The user must register their current location.
• The proxy server will forward calls to the user’s current location.
• Example mobility applications include presence and call forking.
Version 2 - March 9, 2001 28
Feature CreationFeature Creation
A SIP based system can support rapid feature and service creations.
For example, features and services can be created using:• Call Processing Language (CPL).
• Common Gateway Interface (CGI).
Version 2 - March 9, 2001 29
Feature Creation (2)Feature Creation (2)
SIP can support these features and applications:
• Basic call features (call waiting, call forwarding, call blocking etc.).
• Unified messaging.
• Call forking.
• Click to talk.
• Presence.
• Instant messaging.
• Find me / Follow me.
Version 2 - March 9, 2001 30
References References
For more information on SIP refer to:• http://www.ietf.org/html.charters/sip -
charter.html
• http://www.cs.columbia.edu/sip/
• http://www.sipcenter.com/
H.323
Version 2 - March 9, 2001 32
What is H.323?What is H.323?
“
”
Describes terminals and other entities that provide multimedia communications services over Packet Based Networks (PBN) which may not provide a guaranteed Quality of Service. H.323 entities may provide real-time audio, video and/or data communications.
ITU-T Recommendation H.323 Version 4
Version 2 - March 9, 2001 33
Call establishment and teardown.Call establishment and teardown.
H.323 defines:• Call establishment and teardown.
• Audio visual or multimedia conferencing.
Version 2 - March 9, 2001 34
H.323 Components H.323 Components
Terminal Gateway
Packet Based
Networks
Multipoint Control Unit
Gatekeeper
Circuit Switched
Networks
Version 2 - March 9, 2001 35
H.323 TerminalsH.323 Terminals
H.323 terminals are client endpoints that must support:• H.225 call control signaling.
• H.245 control channel signaling.
• RTP/RTCP protocols for media packets.
• Audio codecs.
�Video codecs support is optional.
Version 2 - March 9, 2001 36
H.323 GatewayH.323 Gateway
A gateway provides translation:• For example, a gateway can provide
translation between entities in a packet switched network (example, IP network) and circuit switched network (example, PSTN network).
• Gateways can also provide transmission formats translation, communication procedures translation, H.323 and non -H.323 endpoints translations or codec translation.
Version 2 - March 9, 2001 37
H.323 GatekeepersH.323 Gatekeepers
Gatekeepers provide these functions:
• Address translation.
• Admission control.
• Bandwidth control.
• Zone management.
• Call control signaling (optional).
• Call authorization (optional).
• Bandwidth management (optional).
• Call management (optional).
Gatekeepers are optional but if present in a H.323 sys tem, all H.323 endpoints must register with the gatekeeper and receive permission before making a call.
Version 2 - March 9, 2001 38
H.323 Multipoint Control UnitH.323 Multipoint Control Unit
MCU provide support for conferences of three or more endpoints.
An MCU consist of:• Multipoint Controller (MC) – provides control
functions.
• Multipoint Processor (MP) – receives and processes audio, video and/or data streams.
Version 2 - March 9, 2001 39
H.323 is an “Umbrella” Specification
H.323 is an “Umbrella” Specification
Call Control and SignalingH.245 - Capabilities advertisement, media channel establishment, and conference control.
H.225
Q.931 - call signaling and call setup.
RAS - registration and other admission control with a gatekeeper.
Call Control and
Signaling
Data/FaxMedia
IP
UDP
RTP
Audio
Codec
G.711
G.723
G.729
Video
Codec
H.261
H.263RTCP
H.225
Q.931
H.225
RASH.245T.120 T.38
TCP TCPUDPTCP
Data/FaxT.120 – Data conferencing.T.38 – Fax.
Media H.261 and H.263 – Video codecs.G.711, G.723, G.729 – Audio codecs.RTP/RTCP – Media.
H.323
Version 2 - March 9, 2001 40
Other ITU H. Recommendation that work with H.323
Other ITU H. Recommendation that work with H.323
Protocol Description
H.235 Specifies security and encryption for H.323 and H.245 based terminals.
H.450.N H.450.1 specifies framework for supplementary services. H.450.Nrecommendation specifies supplementary services such as call transfer, call diversion, call hold, call park, call waiting, message waiting indication, name identification, call completion, call offer, and call intrusion.
H.246 Specifies internetworking of H Series terminals with circuit switched terminals.
Version 2 - March 9, 2001 41
H.323 Components and Signaling
H.323 Components and Signaling
H.245 – A protocol for capabilities advertisement, m edia channel establishment and conference control.
H.225 - Call Control.
- Q.931 – A protocol for call control and call setup.
- RAS – Registration, admission and status protocol u sed for communicating between an H.323 endpoint and a gatekeeper.
PSTN
Gatekeeper
Terminal
H.225/RAS messages over RAS channel
GatewayH.245 messages over call control channel
H.225/Q.931 messages over call signaling channel
H.225/RAS messages over RAS channel
H.225/Q.931 (optional) H.225/Q.931 (optional)
H.245 messages (optional) H.245 messages (optional)
Version 2 - March 9, 2001 42
Process for Establishing Communication
Process for Establishing Communication
Establishing communication using H.323 may occurs in five steps:1. Call setup.
2. Initial communication and capabilities exchange.
3. Audio/video communication establishment.
4. Call services.
5. Call termination.
Version 2 - March 9, 2001 43
Simplified H.323 Call SetupSimplified H.323 Call Setup
• Both endpoints have previously registered with the gatekeeper.
• Terminal A initiate the call to the gatekeeper. (RAS messages are exchanged).
• The gatekeeper provides information for Terminal A to contact Terminal B.
• Terminal A sends a SETUP message to Terminal B.
• Terminal B responds with a Call Proceeding message and also contacts the gatekeeper for permission.
• Terminal B sends a Alerting and Connect message.
• Terminal B and A exchange H.245 messages to determine master slave, terminal capabilities, and open logical channels.
• The two terminals establish RTP media paths.
Terminal A Gatekeeper Terminal B
RAS messagesCall Signaling Messages
1. ARQ2. ACF
5. ARQ6. ACF
3. SETUP4. Call Proceeding
7.Alerting8.Connect
H.245 MessagesRTP Media Path
Note: This diagram only illustrates a simple point-to-point call setup where call signaling is not routed to the gatekeeper. Refer to the H.323 recommendation for more call setup scenarios.
Version 2 - March 9, 2001 44
Registration, Admission, and Status – RAS
Registration, Admission, and Status – RAS
T GKRegistrationRequest (RRQ)
RegistrationConfirm (RCF)
Admission Request (ARQ)(endpoint is registered)
Admission Confirmation (ACF)(endpoint may place call)
DisengageRequest (DRQ)
Disengage Confirm (DCF)(call has terminated)
T Terminal
GK Gatekeeper
GW Gateway
Symbol Key:
Version 2 - March 9, 2001 45
H.225.0 Call SignalingH.225.0 Call Signaling
Allows an endpoint to initiate and terminate a call with another endpoint
GWSetup
Alerting
Connect
(call is established)
Release Complete(call is terminated)
H.245
Signaling
may take
place at
any point
T
Version 2 - March 9, 2001 46
H.225.0 Call Signaling Message
H.225.0 Call Signaling Message
TPKT Q.931 Header IE IE IE IE IE IE IE IE IE IE IE IE IE IE IE IE IE IE IE IE IE UUIE. . .
Four octets that separate messages on the wire (necessary for TCP). They are defined in section 6 of RFC
1006. There are 0x03, 0x00, HH, LL. HH and LL represent the entire message length, including the
TPKT header, in network byte order.
All messages have a Q.931 header that includes a single octet called the “protocol discriminator”
(0x08), three octets for the CRV (0x02, HH, LL, where 0x02 is the length of the CRV and HH
and LL are the two octets of the CRV in network byte order), and single octet for the message
type (specified in respective sections in Q.931).
Various Information Elements (IEs) that are appropriate for the message type. These
are listed in H.225.0, but note that any valid Q.931 IE may be transmitted and should
not result in a protocol failure by the endpoint.
The UUIE refer to the “User-User Information Element”. It should be
the last octet in the chain, but some implementations do not properly
order IEs. It is comprised of 0x7E, HH, LL, PD, and DATA. 0x7E is
the identifier for the User-User IE, HH and LL are the length of DATA
in network byte order, PD is a protocol discriminator for ASN.1 (0x05)
and DATA is the ASN.1 PER encoded “H323-UserInformation”.
Version 2 - March 9, 2001 47
H.225.0 Information ElementsH.225.0 Information Elements
• Information elements carry additional information related to the specific message
• For example, SETUP has, among other things, a “Calling Party Number” IE, “Called Party Number” IE, “Display” IE, etc.
• Every H.225.0 message has a UUIE, though this is not true of Q.931
• H.225.0 made a number of changes to Q.931 and should be the guiding document
Version 2 - March 9, 2001 48
Open a
channel in
each
direction
H.245 SignalingH.245 Signaling
H.245 is used to negotiate capabilities and to control aspects of the conference between two or more endpoints
GWTCS + MSD
TCS + TCS Ack + MSD Ack
TCS Ack + MSD Ack + OLC
OLC Ack + OLC
OLC Ack
T
Version 2 - March 9, 2001 49
H.245 MessageH.245 Message
TPKT H.245 PDU
Four octets that separate messages on the wire (necessary for TCP). They are defined in section 6 of RFC
1006. There are 0x03, 0x00, HH, LL. HH and LL represent the entire message length, including the
TPKT header, in network byte order.
H.245 messages are encoded in ASN.1 PER and follow the TPKT header in the H.245 Control
Channel.
Additional H.245 PDUs may be encoded following the first one. However, many
implementations cannot handle this and, as such, it is ill-advised to place them end-to-
end like this. It is strongly recommended to place only one between each TPKT
header, but do be prepared for the case that more than one PDU does exist following
TPKT
H.245 PDU H.245 PDU H.245 PDU. . .
Version 2 - March 9, 2001 50
H.245 Signaling. Capabilities Exchange
H.245 Signaling. Capabilities Exchange
• The capability exchange (or “caps exchange”) allows two endpoints to exchange information about what media capabilities they possess, such as G.711, G.723, H.26 1, and H.263
• Along with the type of media, specific details abou t the maximum number of audio frames or samples per packet i s exchanged, information about support for silence supp ression (VAD), etc. are exchanged
• Using this capability information, endpoints can sel ect preferred codes that are suitable to both parties
• The terminalCapabilitySet (TCS) must be the first mess age transmitted on the H.245 Control Channel
Version 2 - March 9, 2001 51
H.245 Signaling. Master Slave Determination
H.245 Signaling. Master Slave Determination
• Once capabilities are exchanged, the endpoints negotiate master and slave roles (MSD)
Actually the master/slave messages can be sent alon g with the TCS message
• The master in a point to point conference really on ly has the power to indicate when channels are in conflict (e.g., when one the other terminal tries t o open a channel that is not compatible)
• The slave device must yield to the requests of the master device and reconfigure channels appropriately
Version 2 - March 9, 2001 52
H.245 Signaling. Logical Channel Signaling (1)
H.245 Signaling. Logical Channel Signaling (1)
• Channels are opened by exchanging “openLocalChannel” (OLC) messages
• The OLC will contain one of the capabilities that was previously advertised by the other endpoint
• Voice and video channels are “unidirectional”, so each end must transmit an OLC to open a logical channel
Version 2 - March 9, 2001 53
H.245 Signaling. Logical Channel Signaling (2)
H.245 Signaling. Logical Channel Signaling (2)
• Within the OLC, a “session ID” is assigned
• Session 1 is the default audio session, 2 is the default video session, and 3 is the default data session
• Additional session IDs may be used, but are assigned by the master in the call
• There is a relationship between H.245 sessions IDs and RTP: OLCs with the same session ID are considered to be part of the same RTP/RTCP session
Version 2 - March 9, 2001 54
Versions of H.323Versions of H.323
Version Reference for key feature summary
H.323 Version 3 http://www.packetizer.com/ipmc/h323/whatsnew_v3.html
Date
H.323 Version 1 New release. Refer to the specification.
http://www.packetizer.com/ipmc/h323/
May 1996
H.323 Version 2 http://www.packetizer.com/ipmc/h323/whatsnew_v2.html
January 1998
September 1999
H.323 Version 4 November 2000 http://www.packetizer.com/ipmc/h323/whatsnew_v4.html
H.323 Version 5 July 2003 http://www.packetizer.com/ipmc/h323/whatsnew_v5.html
H.323 Version 6 June 2006 http://www.packetizer.com/ipmc/h323/whatsnew_v6.html
Version 2 - March 9, 2001 55
References References
For more information on H.323 refer to:ITU-T• http://www.itu.int/itudoc/itu-t/rec/index.html
Packetizer• http://www.packetizer.com/ipmc/h323/
Open H.323• http://www.openH323.org
SIP and H.323
Comparing
Version 2 - March 9, 2001 57
Comparing SIP and H.323 -Similarities
Comparing SIP and H.323 -Similarities
Functionally, SIP and H.323 are similar. Both SIP and H.323 provide:
• Call control, call setup and teardown.
• Basic call features such as call waiting, call hold, call transfer, call forwarding, call return, call identification, or call park.
• Capabilities exchange.
Version 2 - March 9, 2001 58
Comparing SIP and H.323 -Strengths
Comparing SIP and H.323 -Strengths
• H.323 – Defines sophisticated multimedia conferencing. H.323 multimedia conferencing can support applications such as whiteboarding, data collaboration, or video conferencing.
• SIP – Supports flexible and intuitive feature creati on with SIP using SIP-CGI (SIP-Common Gateway Interface) and CPL (Call Processing Language).
• SIP – Third party call control is currently only available in SIP. Work is in progress to add this functionality to H.323.
Version 2 - March 9, 2001 59
Table 1 - SIP and H.323
H.323SIP
ITU.IETF.
Peer-to-Peer. Peer-to-Peer.
Telephony based. Borrows call signaling protocol from ISDN Q.SIG.
Internet based and web centric. Borrows syntax and messages from HTTP.
Intelligent H.323 terminals.Intelligent user agents.
H.323 Gatekeeper.SIP proxy, redirect, location, and registration servers.
Widespread.Interoperability testing between various vendor’s products is ongoing at SIP bakeoffs.
SIP is gaining interest.
Information
Standards Body
Relationship
Origins
Client
Core servers
Current Deployment
Interoperability IMTC sponsors interoperability events among SIP, H.323, and MGCP. For more information, visit: http://www.imtc.org/
Version 2 - March 9, 2001 60
Table 2 - SIP and H.323Table 2 - SIP and H.323
Information H.323SIP
Capabilities Exchange
Supported by H.245 protocol. H.245 provides structure for detailed and precise information on terminal capabilities.
SIP uses SDP protocol for capabilities exchange. SIP does not provide as extensive capabilities exchange as H.323.
Control Channel Encoding Type
Binary ASN.1 PER encoding.Text based UTF-8 encoding.
Server Processing
Version 1 or 2 – Stateful.
Version 3 or 4 – Stateless or stateful.
Stateless or stateful.
Quality of Service
Bandwidth management/control and admission control is managed by the H.323 gatekeeper.
The H323 specification recommends using RSVP for resource reservation.
SIP relies on other protocols such as RSVP, COPS, OSP to implement or enforce quality of service.
Version 2 - March 9, 2001 61
Table 3 - SIP and H.323Table 3 - SIP and H.323
Information H.323SIP
Security Registration - If a gatekeeper is present, endpoints register and request admission with the gatekeeper.
Authentication and Encryption -H.235 provides recommendations for authentication and encryption in H.323 systems.
Registration - User agent registers with a proxy server.
Authentication - User agent authentication uses HTTP digest or basic authentication.
Encryption - The SIP RFC defines three methods of encryption for data privacy.
Endpoint Location and Call Routing
Uses E.164 or H323ID alias and a address mapping mechanism if gatekeepers are present in the H.323 system.
Gatekeeper provides routing information.
Uses SIP URL for addressing.
Redirect or location servers provide routing information.
Version 2 - March 9, 2001 62
Table 4 – SIP and H.323Table 4 – SIP and H.323
Information H.323SIP
Features Basic call features.Basic call features.
Conferencing Basic conferencing without conference or floor control.
Comprehensive audiovisual conferencing support.
Data conferencing or collaboration defined by T.120 specification.
Service or Feature Creation
Supports flexible and intuitive feature creation with SIP using SIP-CGI and CPL.
Some example features include presence, unified messaging, or find me/follow me.
H.450.1 defines a framework for supplementary service creation.
Note: Basic call features include: call hold, call waiting, call transfer, call forwarding, caller identification, and call park.
Version 2 - March 9, 2001 63
ReferenceReference
This section cites a document that provides a comprehensive comparison on H.323 and SIP:
Nortel Networks3GPP S2, Tokyo Japan, S2-000505
http://www.cs.columbia.edu/sip/papers.html
MGCP
Media Gateway Control Protocol
Version 2 - March 9, 2001 65
What is MGCP?What is MGCP?
“
”
Media Gateway Control Protocol - A protocol for controlling telephony gateways from external call control elements called media gateway controllers or call agents.
IETF RFC 2705 Media Gateway Control Protocol
Version 2 - March 9, 2001 66
ComponentsComponents
Call agent or media gateway controller• Provides call signaling, control
and processing intelligence to the gateway.
• Sends and receives commands to/from the gateway.
Gateway• Provides translations between
circuit switched networks and packet switched networks.
• Sends notification to the call agent about endpoint events.
• Execute commands from the call agents.
Call Agent or Media Gateway
Controller(MGC)
Call Agent or Media Gateway
Controller(MGC)
SIPH.323
MGCP MGCP
Media Gateway(MG)
Media Gateway(MG)
Version 2 - March 9, 2001 67
Simplified Call FlowSimplified Call Flow
• When Phone A goes offhook Gateway A sends a signal to the call agent.
• Gateway A generates dial tone and collects the dialed digits.
• The digits are forwarded to the call agent.
• The call agent determines how to route the call.
• The call agent sends commands to Gateway B.
• Gateway B rings phone B.• The call agent sends
commands to both gateways to establish RTP/RTCP sessions.
Gateway A Gateway B
AnalogPhone A
AnalogPhone B
Call AgentMedia Gateway Controller
MGCP MGCP
RTP/RTCP
Version 2 - March 9, 2001 68
MGCP CommandsMGCP Commands
Call Agent Commands:• EndpointConfiguration
• NotificationRequest
• CreateConnection
• ModifyConnection
• DeleteConnection
• AuditEndpoint
• AuditConnection
Gateway Commands:• Notify
• DeleteConnection
• RestartInProgress
Version 2 - March 9, 2001 69
Characteristics of MGCPCharacteristics of MGCP
MGCP:
• A master/slave protocol.
– Assumes limited intelligence at the edge (endpoints) and intelligence at the core (call agent).
– Used between call agents and media gateways.
– Differs from SIP and H.323 which are peer-to-peer protocols.
• Interoperates with SIP and H.323.
Version 2 - March 9, 2001 70
MGCP, SIP and H.323MGCP, SIP and H.323
• MGCP divides call setup/control and media establishment functions.
• MGCP does not replace SIP or H.323. SIP and H.323 provide symmetrical or peer-to-peer call setup/control.
• MGCP interoperates with H.323 and SIP. For example,
– A call agent accepts SIP or H.323 call setup requests.
– The call agent uses MGCP to control the media gateway.
– The media gateway establishes media sessions with other H.323 or SIP endpoints.
Call Agent/Media
Gateway Controller
Media Gateway
MGCP
H.323 Gateway
H.323Gateway
H.323
Media RTP/RTCP
In this example, an H.323 gateway is “decomposed” into:
–A call agent that provides signaling.
–A gateway that handles media.
–MGCP protocol is used to control the gateway.
Version 2 - March 9, 2001 71
Example ComparisonExample Comparison
MGCP1. A user picks up analog phone and dials a
number.
2. The gateway notifies call agent of the phone (endpoint) event.
3. The Call agent determines capabilities, routing information, and issues a command to the gateways to establish RTP/RTCP session with other end.
H.323Gateway
H.323Gateway
AnalogPhone
AnalogPhone
Gateway A Gateway B
AnalogPhone
Call Agent/Media
Gateway Controller
RTP/RTCP
AnalogPhone
H.323 1. A user picks up analog phone and
dials a number.
2. The gateway determines how to route the call.
3. The two gateways exchange capabilities information.
4. The terminating gateway rings the phone.
5. The two gateways establish RTP/RTCP session with each other.
5.RTP/RTCP1
3
4
1
2
Version 2 - March 9, 2001 72
What is Megaco?What is Megaco?
A protocol that is evolving from MGCP and developed jointly by ITU and IETF:
• Megaco - IETF.
• H.248 or H.GCP - ITU.
For more information refer to:
• IETF - http://www.ietf.org/html.charters/megaco-charter.html
• Packetizer - http://www.packetizer.com/ipmc/h248/
Version 2 - March 9, 2001 73
References References
For more information on MGCP refer to:IETF• http://www.ietf.org/rfc/rfc2705.txt?number=2705
Summary
Version 2 - March 9, 2001 75
SummarySummary
• SIP and H.323 are comparable protocols that provide call setup, call teardown, call control, capabilities exchange, and supplementary features.
• MGCP is a protocol for controlling media gateways from call agents. In a VoIP system, MGCP can be used with SIP or H.323. SIP or H.323 will provide the call control functionality and MGCP can be used to manage media establishment in media gateways.
Additional References
Version 2 - March 9, 2001 77
General VoIP ReferenceGeneral VoIP Reference
Pulver – IP Telephony News• http://www.pulver.com
Internet Telephony• http://www.internettelephony.com
An overview poster of the SIP, MGCP, and H323 protocols.• http://www.protocols.com/