SIP and VOCAL Cullen Jennings Cisco Systems, Inc [email protected].
-
Upload
damon-ferguson -
Category
Documents
-
view
220 -
download
1
Transcript of SIP and VOCAL Cullen Jennings Cisco Systems, Inc [email protected].
SIP and VOCALCullen Jennings
Cisco Systems, [email protected]
O’Reilly Open Source Convention - July 27, 2001 2
VOCAL SystemVOCAL System
The Vovida Open Communications Applications Library (VOCAL).
• Carrier grade VoIP system
• 80+ person-years and millions of $ of development
• 1.8 Million Busy Hour Call Attempts
• Features and functions that you can use today
• BSD-like license
O’Reilly Open Source Convention - July 27, 2001 3
Traditional TelcosTraditional Telcos
Proprietary. Favoring the vendor over the customer.
• Vendor-centric, limited interoperability
• Slow innovation, long development cycles
• Expensive and exclusive
O’Reilly Open Source Convention - July 27, 2001 4
Voice over IPVoice over IP
Open standards, rapid development and greater choices for customers.
Packet routing:Packet routing: more efficient use of network resources
Network management:Network management: less expensive to operate one network
Feature development:Feature development: web-based applications are being developed and deployed quickly
O’Reilly Open Source Convention - July 27, 2001 5
Open Source VoIPOpen Source VoIP
Cheap and accessible. Developers can create the following:
• New featuresNew features that don’t exist on the PSTN
• Enhanced functions and solutionsEnhanced functions and solutions that can accelerate the general adoption of VoIP in businesses and residences
• Processes and componentsProcesses and components that encourage others to express new ideas
O’Reilly Open Source Convention - July 27, 2001 6
Why Does Cisco Support Open Source VoIP?
Why Does Cisco Support Open Source VoIP?
It’s good for business:
• Puts packets on the networkPuts packets on the network — Helps sell gateways and routers
• Distributive technologyDistributive technology
• Helps win over new customersHelps win over new customers who want to control their destiny and their application source code
Voice over IP ProtocolsPictorial Overview
O’Reilly Open Source Convention - July 27, 2001 8
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.931 over TCP and RAS over UDP.
H.323 Version 3 and 4 supports H.245 over UDP/TCP and Q.931 over UDP/TCP and RAS over UDP.
SIP supports TCP and UDP.
TCP
RAS
UDP
SIPH.245
Audio/Video
RTSP
Session Initiation Protocol
O’Reilly Open Source Convention - July 27, 2001 10
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
O’Reilly Open Source Convention - July 27, 2001 11
SIP is Simply...SIP is Simply...
An ASCII protocol, based on HTTP and SMTP, that enables:
• Initializing, establishing and tearing Initializing, establishing and tearing downdown call sessions
• BuildingBuilding flexible distributed systems
• InteroperatingInteroperating with other web-based applications
O’Reilly Open Source Convention - July 27, 2001 12
Where It’s @Where It’s @
The SIP address is identified by a SIP URL, in the format: user@hostuser@host.
Examples of SIP URLs:
• sip:[email protected]:[email protected]
O’Reilly Open Source Convention - July 27, 2001 13
From 2 Devices...From 2 Devices...
SIP Components
User Agent User Agent
O’Reilly Open Source Convention - July 27, 2001 14
...to a Distributed Network......to a Distributed Network...
Redirect Server
Location Server
Registrar Server
User Agent
Proxy Server
Gateway
PSTN
SIP Components
Proxy Server
O’Reilly Open Source Convention - July 27, 2001 15
...to a Complete Phone System...to a Complete Phone System
CDR Server(s)
Feature Server(s)
Redirect Server(s)
Provisioning Server
Policy Server(s)
H.323 Terminal
Gateway
Internet
ClearingHouse
MGCP Device
Gateway
Phone
Marshal Server
H.323/SIP Translator
Marshal Server
Marshal Server(Gateway)
Marshal Server
MGCP/SIP Translator
Marshal Server
3rd Party Billing System
RADIUS
COPS/OSP
SNMP Network Manager
V V
SIP IP Phones
VOCALVovida Open Communications
Applications Library
O’Reilly Open Source Convention - July 27, 2001 17
VOCAL: Say What?VOCAL: Say What?
A library of communications applications that provides:
Open source software modules:Open source software modules: Primarily SIP-based, with some rough translators to H.323 and MGCP endpoints
A tool kit:A tool kit: Building blocks that allow development of new VoIP features, applications and services
O’Reilly Open Source Convention - July 27, 2001 18
A Simplified Call FlowA Simplified Call Flow
1.INVITE
1. User A dials User B’s number. User A’s SIP
Phone sends an INVITE message to Marshal
Server A.
2.INVITE2. Marshal Server A forwards the INVITE
message to the Redirect Server
3. The Redirect Server responds with routing
information and instructs the Marshal Server A that User B can be contacted via the Marshal Server B.
4. Marshal Server A forwards an INVITE message to Marshal
Server B.
4.INVITE
5. Marshal Server B sends a INVITE to User B.
5. INVITE
Redirect Server
Marshal Server B
Marshal Server A
SIP PhoneUser B
SIP PhoneUser A
6. 180 (RING)
6. User B’s SIP Phone rings. (The 180 (Ring)
message is sent back to User A’s SIP Phone.)
7. When User B picks up the SIP phone, a 200 (OK) message is
sent.
7. 200 (OK)
8. ACK
8. User A’s SIP phone responds with an ACK
(acknowledgement message)
AUDIO PATH
O’Reilly Open Source Convention - July 27, 2001 19
System DiagramSystem Diagram
CDR Server(s)
Feature Server(s)
Redirect Server(s)
Provisioning Server
Policy Server(s)
H.323 Terminal
Gateway
Internet
ClearingHouse
MGCP Device
Gateway
Phone
Marshal Server
H.323/SIP Translator
Marshal Server
Marshal Server(Gateway)
Marshal Server
MGCP/SIP Translator
Marshal Server
3rd Party Billing System
RADIUS
COPS/OSP
SNMP Network Manager
V V
SIP IP Phones
O’Reilly Open Source Convention - July 27, 2001 21
Block DiagramBlock Diagram
VX
ML
VX
ML
RT
SP
RT
SP
3PC
C3P
CC
CCGI
GI
= In progress
SIP StackSIP Stack
SIP UASIP UA FeatureFeatureServersServers
RedirectRedirectServerServer
MarshalMarshalServerServer
Lo
ad G
enL
oad
Gen
CP
LC
PL
JTA
PI
JTA
PI = Already here
Operating System:Operating System:Linux, Solaris, Linux, Solaris, WindowsWindows
So
ft S
oft
ph
on
ep
ho
ne
= Provide your own !
APIAPI
= API’s
APIAPI APIAPI APIAPIAPIAPI
O’Reilly Open Source Convention - July 27, 2001 22
Example 1Example 1
VOCAL SIP Stack
VOCAL SIP UA
API
Soft phone
API
Build your own soft phone
SIPProxy
V
Phone
CSPS or partner’s
GatewaySIP
SIP
O’Reilly Open Source Convention - July 27, 2001 23
Example 2Example 2
VOCAL SIP Stack
VOCAL Feature Server
API
CPL scripts
API
Build your own CPL features
SIPProxy
V
Phone
CSPS or partner’s
Gateway
SIP
SIPSIP
SIP IP Phones
O’Reilly Open Source Convention - July 27, 2001 24
Example 3Example 3
VOCAL SIP Stack
VOCAL Redirect Server
API
Routing Logic
API
Build your own Routing Engine
VPhone
Gateway
Invite
Redirect
SIP IP Phones
O’Reilly Open Source Convention - July 27, 2001 25
VOCAL ComponentsVOCAL Components
Redirect Server:Redirect Server: SIP-based location, registration and routing services.
Provisioning Server:Provisioning Server: Stores all subscriber and server data.
Feature Server:Feature Server: Uses CPL to provide basic telephony features including:
• Call Forward
• Call Blocking
• Call Screening
•Call Return
•Caller ID Blocking
O’Reilly Open Source Convention - July 27, 2001 26
VOCAL Components (2)VOCAL Components (2)
Marshal Server:Marshal Server: Performs authentication and collects call detail records.
CDR Server:CDR Server: Collects billing records from Marshals, buffers them, and talks RADIUS to 3rd part billing systems.
Policy Server:Policy Server: Uses COPS to enable RSVP on routers. Uses OSP to communicate settlement info with VoIP clearing houses.
O’Reilly Open Source Convention - July 27, 2001 27
VOCAL Components (3)VOCAL Components (3)
H.323 and MGCP Translators:H.323 and MGCP Translators: Line side translation from H.323 or MGCP endpoints into a SIP network.
SIP Stack:SIP Stack: Linux- and Solaris- based implementation of the SIP protocol.
SIP User Agent:SIP User Agent: Client-side agent to terminate voice calls.
Other Protocol Stacks:Other Protocol Stacks: MGCP, RTP, COPS, RADIUS and TRIP
O’Reilly Open Source Convention - July 27, 2001 28
Future Features Future Features
How SIP will be used:• Phone Calls (IP<->IP and IP<->PSTN)
• Instant Messaging
• Presence
• Games
What’s missing: • IVR
• Voice Recognition
• Auto attendant
O’Reilly Open Source Convention - July 27, 2001 29
WIFY?WIFY?
What’s in it for you:
• Build applications
• Add voice services to your ISP
• Build and manage your own PBX
O’Reilly Open Source Convention - July 27, 2001 30
Who’s Working on it?Who’s Working on it?
Companies:Companies:•Dialpad
•Pagoo
•Cathay
•Netspeak
•Lurkers
Individuals:Individuals:• Telecom engineers
• Students
• Hobbyists
• System Integrators
• IT
O’Reilly Open Source Convention - July 27, 2001 31
How Big is the Community?How Big is the Community?
371371697697170170Vocal 1.2.0
1156115611251125684684SIP 1.2.x
MayAprilMarch
Recent Software Downloads:
O’Reilly Open Source Convention - July 27, 2001 32
Vovida.orgVovida.org
Mailing List: [email protected]
Product Manager: [email protected]
My e-mail address: [email protected]
A few of our many contributors:Steve A. Teju A. Casey B Shervin B. Laura B. Vicki B. Amit B. Wendy B.
David B. Eoin C. Riva C. Amit C. Renee C. Ian C. Dion C. Julie C.
Enlai C. Luan D. Mikey D. Charles E. Jeff G. Don G. Kenny H. Cisco H.
Doug H. Grace H. Wenqing J. Amber J. Cullen J. Alan K. David K. Sharon K.
Mason K. Raghavan K. Sunitha K. Tarun K. Neetha K. Kim L. Chok L. Mike L.
Jack L. Hong L. Hsin-shi L. Marc L. Bob L. Rob M. Mallik M. Kevin M.
Par M. Tom M. Eddie M. Matt N. Bryan O. Sean O. Surendra P. Deepali R.
Vincent R. Mahesh S. Erin S. James S. Barbara S. Monika S. Jennifer S. Oscar T.
Cheung T. Larry T. Rick T. Krishan V. Mai V. Doug W. Quinn W. Han Y.
Tina Z. Jenny Z. Mitch Z. Vlad Z.
www.vovida.org
Additional Material
Vocal Components
O’Reilly Open Source Convention - July 27, 2001 36
6 Degrees of Separation6 Degrees of Separation
Basic SIP calling process:
1. Registering, initiating and locating users.2. Determining acceptable media — negotiating session
descriptions between users.3. Determining the willingness of the called party to
communicate — calls are accepted or rejected through response messages.
4. Setting up accepted calls.5. Modifying or handling calls through features — for
example, call transfer.6. Terminating the call.
O’Reilly Open Source Convention - July 27, 2001 37
Redirect ServerRedirect Server
• Provides SIP redirect, location, and registration services/functions.
• Stores contact and feature subscription data for all registered subscribers
• Stores and provides dial plan and routing information
• Feature and Marshal Servers forwards INVITE messages to the Redirect Server to obtain routing information to route a call
O’Reilly Open Source Convention - July 27, 2001 38
Provisioning ServerProvisioning Server
• Stores data on each user or server within the VOCAL system
• Accessible from a Java-based GUI via an Internet browser — this allows you to configure the VOCAL system and to administer users
• Allows you to add and provision new modules for redundancy and scalability
• All data is stored in XML format in a Linux directory structure
• Uses subscribe notify method to distribute provisioning information throughout the VOCAL system
• Subscribers can also access their feature information from an Internet browser – this allows subscribers to enable or disable certain features that they have subscribed to. (For example, call forwarding).
O’Reilly Open Source Convention - July 27, 2001 39
Marshal Server - Authentication
Marshal Server - Authentication
The Marshal Server currently supports authentication of the user by:
• Access control – verification of IP address against an access list
• Digest authentication – verification of username and password
• The Marshal Server obtains user information from the Provisioning Server and/or the Redirect Server to authenticate the user.
SIP PhoneSIP URL = [email protected]
Marshal Server
1. REGISTER
2.REGISTER
3. 200 (OK)
The Provisioning Server checks to see if
[email protected] is an authorized user.
Once [email protected]
has been registered, the Redirect Server sends a
200 message (OK).
4. 200 (OK)
Redirect Server
Provisioning Server
O’Reilly Open Source Convention - July 27, 2001 40
Marshal Server - BillingMarshal Server - Billing
Billing: Billing: • Each Marshal server collects call detail record information
(such as the start and stop of the call) and forwards CDR data to 3rd party billing systems using the Remote Authentication Dial In User Server (RADIUS) accounting protocol.
O’Reilly Open Source Convention - July 27, 2001 41
Feature ServerFeature Server
VOCAL-supported core VOCAL-supported core network features:network features:
• Call Blocking
• Caller ID Blocking
• Call Forward All
• Call Forward No Answer
• Call Forward Busy
• Call Return
• Call Screen
VOCAL-supported set- based VOCAL-supported set- based features:features:
• Transfer
• Caller ID
• Call Waiting
• 3 Way Calling
Supports new feature scripting using C++ and Call Processing Language (CPL), an XML based language for IP telephony features
VOCAL-supported applications:VOCAL-supported applications:• Unified Messaging
• Conferencing
O’Reilly Open Source Convention - July 27, 2001 42
Features – Scripting with CPLFeatures – Scripting with CPL
Call Processing Language (CPL) is: Call Processing Language (CPL) is: • An XML-based scripting language for describing Internet
telephony services and creating end-user service features
• A lightweight language that is not a complete programming language: it has no variables, loops or ability to run external programs
• A facility to enable decision making based on call properties such as time of day, calling party, called party and priority and action application such as call forwarding, call blocking, redirecting calls and sending e-mail
• An IETF draft
O’Reilly Open Source Convention - July 27, 2001 43
Call Detail Record (CDR) Server
Call Detail Record (CDR) Server
The Call Detail Record (CDR) Server:The Call Detail Record (CDR) Server:• Collects billing data from Marshal Servers
• Stores CDR for each call
• Forwards billing data to 3rd party billing system using Remote Authentication Dial In User Server (RADIUS) accounting protocol over UDP.
A third-party billing system can generate invoices from the billing data.
O’Reilly Open Source Convention - July 27, 2001 44
Policy ServerPolicy Server
Functions:Functions:• To administer admission request for bandwidth and Quality of
Service (QoS):
• Acts as a Policy Decision Point (PDP)
• Provides Internetworking Marshal Server with information on enforcing QoS
• Provides Policy Enforcement Points (PEP) – routers or gateways – with information or requests to reserve bandwidth for the duration of a specific call
Communicates using:Communicates using:• Common Open Policy Service (COPS) protocol - used to
communicate authorization request/responses between a Policy Server and Internetwork Marshal Servers or PEPs
• Open Settlement Protocol (OSP) – used to exchange authentication, authorization, pricing and accounting information with clearinghouse servers when there are multiple VoIP network or service providers.
O’Reilly Open Source Convention - July 27, 2001 45
Scalability:Scalability:• Modular approach - Redirect, Marshal and Feature Servers can be
added in parallel
• These all use a round robin load balancing between all the active servers within any group
Redundancy:Redundancy:• Active servers exchange multicast heartbeat info every 250 ms
• If a server drops, no established calls will be lost. Calls in an intermediate state may be lost
• If a server loses heartbeat with another server in the system, it will simply route messages to another server within the same group
• Redirect and Provisioning Servers maintain data and will synchronize before coming on-line
Scalability and RedundancyScalability and Redundancy
Session Initiation Protocol
O’Reilly Open Source Convention - July 27, 2001 47
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
O’Reilly Open Source Convention - July 27, 2001 48
SIP FrameworkSIP Framework
• Session initiation.
• Multiple users.
• Interactive multimedia applications.
O’Reilly Open Source Convention - July 27, 2001 49
Redirect Server
SIP Distributed ArchitectureSIP Distributed Architecture
Location Server
Registrar Server
User Agent
Proxy Server
Gateway
PSTN
SIP Components
Proxy Server
O’Reilly Open Source Convention - July 27, 2001 50
SIP Messages – Methods and Responses
SIP Messages – Methods and Responses
SIP Requests:SIP Requests:
• 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: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 messages:
O’Reilly Open Source Convention - July 27, 2001 51
SIP HeadersSIP Headers
• SIP borrows much of the syntax and semantics from HTTP.
• 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
O’Reilly Open Source Convention - July 27, 2001 52
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]
O’Reilly Open Source Convention - July 27, 2001 53
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 – accept or reject.
4. Call setup.
5. Call modification or handling – example, call transfer (optional).
6. Call termination.
O’Reilly Open Source Convention - July 27, 2001 54
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
O’Reilly Open Source Convention - July 27, 2001 55
Simplified SIP Call Setup and Teardown
Simplified SIP Call Setup and Teardown
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
INVITE
Location/Redirect ServerProxy Server Proxy Server User AgentUser AgentINVITE
H.323
O’Reilly Open Source Convention - July 27, 2001 57
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
O’Reilly Open Source Convention - July 27, 2001 58
H.323 FrameworkH.323 Framework
H.323 defines:H.323 defines:• Call establishment and teardown.
• Audio visual or multimedia conferencing.
O’Reilly Open Source Convention - July 27, 2001 59
H.323 Components H.323 Components
Terminal Gateway
Packet Based
Networks
Multipoint Control Unit
Gatekeeper
Circuit Switched
Networks
O’Reilly Open Source Convention - July 27, 2001 60
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.
O’Reilly Open Source Convention - July 27, 2001 61
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.
O’Reilly Open Source Convention - July 27, 2001 62
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 system, all H.323 endpoints must register with the gatekeeper and receive permission before making a call.
O’Reilly Open Source Convention - July 27, 2001 63
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.
O’Reilly Open Source Convention - July 27, 2001 64
H.323 is an “Umbrella” Specification
H.323 is an “Umbrella” Specification
Call Control and SignalingCall Control and Signaling
H.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/FaxData/FaxT.120 – Data conferencing.
T.38 – Fax.
MediaMedia H.261 and H.263 – Video codecs.
G.711, G.723, G.729 – Audio codecs.
RTP/RTCP – Media.
H.323H.323
O’Reilly Open Source Convention - July 27, 2001 65
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.N recommendation 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.
O’Reilly Open Source Convention - July 27, 2001 66
H.323 Components and Signaling
H.323 Components and Signaling
H.245 – A protocol for capabilities advertisement, media 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 used 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)
O’Reilly Open Source Convention - July 27, 2001 67
Process for Establishing Communication
Process for Establishing Communication
Establishing communication using H.323 is a five-step process:
1. Call setup.
2. Initial communication and capabilities exchange.
3. Audio/video communication establishment.
4. Call services.
5. Call termination.
O’Reilly Open Source Convention - July 27, 2001 68
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. ARQ
2. ACF
5. ARQ6. ACF
3. SETUP4. Call Proceeding
7.Alerting8.Connect
H.245 Messages
RTP 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.
O’Reilly Open Source Convention - July 27, 2001 69
Versions of H.323Versions of H.323
Version Reference for key feature summary
H.323 Version 3 http://www.packetizer.com/iptel/h323/whatsnew_v3.html
Date
H.323 Version 1 New release. Refer to the specification.
http://www.packetizer.com/iptel/h323/
May 1996
H.323 Version 2 http://www.packetizer.com/iptel/h323/whatsnew_v2.html
January 1998
September 1999
H.323 Version 4 November 2000 http://www.packetizer.com/iptel/h323/whatsnew_v4.html
O’Reilly Open Source Convention - July 27, 2001 70
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/iptel/h323/
Open H.323
• http://www.openH323.org
SIP and H.323
Comparing
O’Reilly Open Source Convention - July 27, 2001 72
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.
O’Reilly Open Source Convention - July 27, 2001 73
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 creation 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.
O’Reilly Open Source Convention - July 27, 2001 74
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/
O’Reilly Open Source Convention - July 27, 2001 75
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.
O’Reilly Open Source Convention - July 27, 2001 76
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.
O’Reilly Open Source Convention - July 27, 2001 77
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.
O’Reilly Open Source Convention - July 27, 2001 78
ReferenceReference
This section cites a document that provides a comprehensive comparison on H.323 and SIP:
Dalgic, Ismail. Fang, Hanlin. “Comparison of H.323 and SIP for IP Telephony Signaling” in Proc. of Photonics East, (Boston, Massachusetts), SPIE, Sept. 1999.
http://www.cs.columbia.edu/~hgs/papers/others/ Dalg9909_Comparison.pdf
MGCP
Media Gateway Control Protocol
O’Reilly Open Source Convention - July 27, 2001 80
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
O’Reilly Open Source Convention - July 27, 2001 81
ComponentsComponents
Call agentCall agent or media gateway media gateway controllercontroller
• Provides call signaling, control and processing intelligence to the gateway.
• Sends and receives commands to/from the gateway.
GatewayGateway
• 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)
O’Reilly Open Source Convention - July 27, 2001 82
Simplified Call FlowSimplified Call Flow
• When Phone A goes off-hook 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
O’Reilly Open Source Convention - July 27, 2001 83
MGCP CommandsMGCP Commands
Call Agent Commands:Call Agent Commands:• EndpointConfiguration
• NotificationRequest
• CreateConnection
• ModifyConnection
• DeleteConnection
• AuditEndpoint
• AuditConnection
Gateway Commands:Gateway Commands:• Notify
• DeleteConnection
• RestartInProgress
O’Reilly Open Source Convention - July 27, 2001 84
Characteristics of MGCPCharacteristics of MGCP
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.
O’Reilly Open Source Convention - July 27, 2001 85
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.
O’Reilly Open Source Convention - July 27, 2001 86
Example ComparisonExample Comparison
MGCPMGCP1. 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.323H.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
O’Reilly Open Source Convention - July 27, 2001 87
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/iptel/h248/
O’Reilly Open Source Convention - July 27, 2001 88
References References
For more information on MGCP, refer to:
IETF
• http://www.ietf.org/rfc/rfc2705.txt?number=2705
O’Reilly Open Source Convention - July 27, 2001 89
VOCAL ResourcesVOCAL Resources
Web site: www.vovida.org
Mailing lists: [email protected]
O’Reilly Open Source Convention - July 27, 2001 90
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/voip/posvoip.pdf
O’Reilly Open Source Convention - July 27, 2001 91
SIP References SIP References
For more information about SIP, refer to:
IETF• http://www.ietf.org/html.charters/sip-charter.html
Henning Schulzrinne's SIP page • http://www.cs.columbia.edu/~hgs/sip/
O’Reilly Open Source Convention - July 27, 2001 92
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/voip/posvoip.pdf