SIP and VOCAL Cullen Jennings Cisco Systems Inc




























































































- Slides: 92
SIP and VOCAL Cullen Jennings Cisco Systems, Inc fluffy@cisco. com
VOCAL System The Vovida Open Communications Applications Library (VOCAL). • Carrier grade Vo. IP 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 2
Traditional 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 3
Voice over IP Open standards, rapid development and greater choices for customers. Packet routing: more efficient use of network resources Network management: less expensive to operate one network Feature development: web-based applications are being developed and deployed quickly O’Reilly Open Source Convention - July 27, 2001 4
Open Source Vo. IP Cheap and accessible. Developers can create the following: • New features that don’t exist on the PSTN • Enhanced functions and solutions that can accelerate the general adoption of Vo. IP in businesses and residences • Processes and components that encourage others to express new ideas O’Reilly Open Source Convention - July 27, 2001 5
Why Does Cisco Support Open Source Vo. IP? It’s good for business: • Puts packets on the network — Helps sell gateways and routers • Distributive technology • Helps win over new customers who want to control their destiny and their application source code O’Reilly Open Source Convention - July 27, 2001 6
Voice over IP Protocols Pictorial Overview
SIP, H. 323 and MGCP Call Control and Signaling and Gateway Control Media Audio/ Video H. 323 H. 225 H. 245 Q. 931 RAS SIP MGCP TCP RTCP RTSP UDP IP 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. O’Reilly Open Source Convention - July 27, 2001 8
Session Initiation Protocol
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 ” 10
SIP is Simply. . . An ASCII protocol, based on HTTP and SMTP, that enables: • Initializing, establishing and tearing down call sessions • Building flexible distributed systems • Interoperating with other web-based applications O’Reilly Open Source Convention - July 27, 2001 11
Where It’s @ The SIP address is identified by a SIP URL, in the format: user@host Examples of SIP URLs: • sip: hostname@vovida. org • sip: hostname@192. 168. 10. 1 • sip: 14085551212@vovida. org O’Reilly Open Source Convention - July 27, 2001 12
From 2 Devices. . . SIP Components User Agent O’Reilly Open Source Convention - July 27, 2001 User Agent 13
. . . to a Distributed Network. . . SIP Components Location Server Redirect Server Registrar Server PSTN User Agent Gateway Proxy Server O’Reilly Open Source Convention - July 27, 2001 Proxy Server 14
. . . to a Complete Phone System V V Gateway Phone Gateway Marshal Server (Gateway) Provisioning Server Redirect Server(s) Feature Server(s) CDR Server(s) Policy Server(s) Marshal Server Internet COPS/OSP RADIUS SNMP Network Manager 3 rd Party Billing System H. 323 Terminal Marshal H. 323/SIP Server Translator Marshal Server SIP IP Phones O’Reilly Open Source Convention - July 27, 2001 Clearing House Marshal Server MGCP/SIP Translator MGCP Device 15
VOCAL Vovida Open Communications Applications Library
VOCAL: Say What? A library of communications applications that provides: Open source software modules: Primarily SIP-based, with some rough translators to H. 323 and MGCP endpoints A tool kit: Building blocks that allow development of new Vo. IP features, applications and services O’Reilly Open Source Convention - July 27, 2001 17
A Simplified Call Flow 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. 2. Marshal Server A forwards the INVITE message to the Redirect Server 2. INVITE Redirect Server 5. Marshal Server B sends a INVITE to User B. 4. INVITE 8. 1. User. A’s A dials SIP phone User B’s responds number. with User an. A’s ACK SIP (acknowledgement Phone sends an INVITE message) to Marshal Server A. 1. INVITE Marshal Server A SIP Phone User A O’Reilly Open Source Convention - July 27, 2001 6. 7. 180 200 (RING) (OK) Marshal Server B 8. ACK 5. INVITE 6. User B’s SIP Phone 7. When picks rings. User (The. B 180 (Ring) up the SIP phone, a message is sent back to 200 User (OK)A’s message is SIP Phone. ) sent. 4. Marshal Server A forwards an INVITE message to Marshal Server B. AUDIO PATH SIP Phone User B 18
System Diagram V V Gateway Phone Gateway Marshal Server (Gateway) Provisioning Server Redirect Server(s) Feature Server(s) CDR Server(s) Policy Server(s) Marshal Server Internet COPS/OSP RADIUS SNMP Network Manager 3 rd Party Billing System H. 323 Terminal Marshal H. 323/SIP Server Translator Marshal Server SIP IP Phones O’Reilly Open Source Convention - July 27, 2001 Clearing House Marshal Server MGCP/SIP Translator MGCP Device 19
O’Reilly Open Source Convention - July 27, 2001 20
Block Diagram CG I 3 P CC JT AP I CP L RT S P V X ML L o ad G en S o ft p h o n e = In progress = API’s = Already here = Provide your own ! API API SIP UA Feature Servers Redirect Server Marshal Server API SIP Stack Operating System: Linux, Solaris, Windows O’Reilly Open Source Convention - July 27, 2001 21
Example 1 Build your own soft phone CSPS or partner’s SIP Proxy Soft phone API VOCAL SIP UA API SIP Gateway V VOCAL SIP Stack Phone O’Reilly Open Source Convention - July 27, 2001 22
Example 2 Build your own CPL features CPL scripts API CSPS or partner’s SIP Proxy VOCAL Feature Server API SIP VOCAL SIP Stack Gateway SIP V SIP Phone SIP IP Phones O’Reilly Open Source Convention - July 27, 2001 23
Example 3 Build your own Routing Engine Routing Logic API VOCAL Redirect Server API VOCAL SIP Stack Invite Redirect SIP IP Phones O’Reilly Open Source Convention - July 27, 2001 Gateway V Phone 24
VOCAL Components Redirect Server: SIP-based location, registration and routing services. Provisioning Server: Stores all subscriber and server data. Feature Server: Uses CPL to provide basic telephony features including: • Call Forward • Call Return • Call Blocking • Caller ID Blocking • Call Screening O’Reilly Open Source Convention - July 27, 2001 25
VOCAL Components (2) Marshal Server: Performs authentication and collects call detail records. CDR Server: Collects billing records from Marshals, buffers them, and talks RADIUS to 3 rd part billing systems. Policy Server: Uses COPS to enable RSVP on routers. Uses OSP to communicate settlement info with Vo. IP clearing houses. O’Reilly Open Source Convention - July 27, 2001 26
VOCAL Components (3) H. 323 and MGCP Translators: Line side translation from H. 323 or MGCP endpoints into a SIP network. SIP Stack: Linux- and Solaris- based implementation of the SIP protocol. SIP User Agent: Client-side agent to terminate voice calls. Other Protocol Stacks: MGCP, RTP, COPS, RADIUS and TRIP O’Reilly Open Source Convention - July 27, 2001 27
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 28
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 29
Who’s Working on it? Companies: Individuals: • Dialpad • Telecom engineers • Pagoo • Students • Cathay • Hobbyists • Netspeak • System Integrators • Lurkers • IT O’Reilly Open Source Convention - July 27, 2001 30
How Big is the Community? Recent Software Downloads: March April May SIP 1. 2. x 684 1125 1156 Vocal 1. 2. 0 170 697 371 O’Reilly Open Source Convention - July 27, 2001 31
Vovida. org Mailing List: Vocal@vovida. org Product Manager: dhawk@cisco. com My e-mail address: fluffy@cisco. com 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. O’Reilly Open Source Convention - July 27, 2001 32
www. vovida. org
Additional Material
Vocal Components
6 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 36
Redirect 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 37
Provisioning 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 38
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. O’Reilly Open Source Convention - July 27, 2001 Provisioning Server The Provisioning Server checks to see if user. A@hostname. com is an authorized user. Redirect Server 2. REGISTER 3. 200 (OK) Marshal Server 1. REGISTER Once user. A@hostname. com has been registered, the Redirect Server sends a 200 message (OK). 4. 200 (OK) SIP Phone SIP URL = user. A@hostname. com 39
Marshal Server - Billing: • Each Marshal server collects call detail record information (such as the start and stop of the call) and forwards CDR data to 3 rd party billing systems using the Remote Authentication Dial In User Server (RADIUS) accounting protocol. O’Reilly Open Source Convention - July 27, 2001 40
Feature Server Supports new feature scripting using C++ and Call Processing Language (CPL), an XML based language for IP telephony features VOCAL-supported core network features: • • Call Blocking Caller ID Blocking Call Forward All Call Forward No Answer Call Forward Busy Call Return Call Screen O’Reilly Open Source Convention - July 27, 2001 VOCAL-supported set- based features: • Transfer • Caller ID • Call Waiting • 3 Way Calling VOCAL-supported applications: • Unified Messaging • Conferencing 41
Features – Scripting with CPL 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 42
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 3 rd 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 43
Policy Server Functions: • To administer admission request for bandwidth and Quality of Service (Qo. S): • Acts as a Policy Decision Point (PDP) • Provides Internetworking Marshal Server with information on enforcing Qo. S • Provides Policy Enforcement Points (PEP) – routers or gateways – with information or requests to reserve bandwidth for the duration of a specific call 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 Vo. IP network or service providers. O’Reilly Open Source Convention - July 27, 2001 44
Scalability and Redundancy 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: • 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 O’Reilly Open Source Convention - July 27, 2001 45
Session Initiation Protocol
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 ” 47
SIP Framework • Session initiation. • Multiple users. • Interactive multimedia applications. O’Reilly Open Source Convention - July 27, 2001 48
SIP Distributed Architecture SIP Components Location Server Redirect Server Registrar Server PSTN User Agent Gateway Proxy Server O’Reilly Open Source Convention - July 27, 2001 Proxy Server 49
SIP Messages – Methods and Responses SIP components communicate by exchanging SIP messages: SIP Requests: SIP Responses: • INVITE – Initiates a call by inviting user to participate in session. • 1 xx - Informational Messages. • ACK - Confirms that the client has received a final response to an INVITE request. • 3 xx - Redirection Responses. • BYE - Indicates termination of the call. • 2 xx - Successful Responses. • 4 xx - Request Failure Responses. • 5 xx - Server Failure Responses. • 6 xx - Global Failures Responses. • 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. O’Reilly Open Source Convention - July 27, 2001 50
SIP 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: 5120@192. 168. 36. 180 SIP/2. 0 Via: SIP/2. 0/UDP 192. 168. 6. 21: 5060 From: sip: 5121@192. 168. 6. 21 To: <sip: 5120@192. 168. 36. 180> Call-ID: c 2943000 -e 0563 -2 a 1 ce-2 e 323931@192. 168. 6. 21 CSeq: 100 INVITE Expires: 180 User-Agent: Cisco IP Phone/ Rev. 1/ SIP enabled Accept: application/sdp Contact: sip: 5121@192. 168. 6. 21: 5060 Content-Type: application/sdp O’Reilly Open Source Convention - July 27, 2001 51
SIP Addressing The SIP address is identified by a SIP URL, in the format: user@host. Examples of SIP URLs: • sip: hostname@vovida. org • sip: hostname@192. 168. 10. 1 • sip: 14083831088@vovida. org O’Reilly Open Source Convention - July 27, 2001 52
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 53
Registration • 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. O’Reilly Open Source Convention - July 27, 2001 Location/ Redirect Server Proxy/ Registration Server SIP Phone User REGISTER 200 SIP Messages: REGISTER – Registers the address listed in the To header field. 200 – OK. 54
Simplified SIP Call Setup and Teardown Proxy Server User Agent INVITE Location/Redirect Server INVITE 302 (Moved Temporarily) User Agent Proxy Server ACK INVITE Call Setup INVITE 302 (Moved Temporarily) ACK 180 (Ringing) 200 (OK) ACK Media Path Call Teardown 180 (Ringing) 200 (OK) ACK INVITE 180 (Ringing) 200 (OK) ACK RTP MEDIA PATH BYE BYE 200 (OK) O’Reilly Open Source Convention - July 27, 2001 55
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 ” 57
H. 323 Framework H. 323 defines: • Call establishment and teardown. • Audio visual or multimedia conferencing. O’Reilly Open Source Convention - July 27, 2001 58
H. 323 Components Gatekeeper Multipoint Control Unit Packet Based Circuit Switched Networks Terminal O’Reilly Open Source Convention - July 27, 2001 Gateway 59
H. 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 60
H. 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 61
H. 323 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 62
H. 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 63
H. 323 is an “Umbrella” Specification Media H. 323 H. 261 and H. 263 – Video codecs. G. 711, G. 723, G. 729 – Audio codecs. RTP/RTCP – Media Data/Fax Call Control and Signaling Data/Fax T. 120 – Data conferencing. T. 38 – Fax. Audio Codec G. 711 G. 723 Call 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. O’Reilly Open Source Convention - July 27, 2001 G. 729 Video Codec H. 261 H. 263 RTCP T. 120 T. 38 H. 225 Q. 931 RAS TCP UDP H. 245 RTP UDP TCP IP 64
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 65
H. 323 Components and Signaling H. 225/RAS messages over RAS channel H. 225/Q. 931 (optional) Gatekeeper H. 225/Q. 931 (optional) H. 245 messages (optional) H. 225/Q. 931 messages over call signaling channel Terminal H. 245 messages over call control channel PSTN Gateway 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. O’Reilly Open Source Convention - July 27, 2001 66
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 67
Simplified H. 323 Call Setup Both endpoints have previously registered with the gatekeeper. Terminal A initiate the call to the gatekeeper. Terminal A Terminal B (RAS messages are exchanged). Gatekeeper The gatekeeper provides information for 1. ARQ Terminal A to contact Terminal B. 2. ACF Terminal A sends a SETUP message to 3. SETUP Terminal B. 4. Call Proceeding Terminal B responds with a Call Proceeding message and also contacts the gatekeeper 5. ARQ for permission. 6. ACF Terminal B sends a Alerting and Connect 7. Alerting message. 8. Connect Terminal B and A exchange H. 245 Messages messages to determine master slave, RTP Media Path terminal capabilities, and open logical channels. RAS messages The two terminals establish RTP media Call Signaling Messages paths. 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 68
Versions of H. 323 Version 1 Date May 1996 Reference for key feature summary New release. Refer to the specification. http: //www. packetizer. com/iptel/h 323/ H. 323 Version 2 January 1998 http: //www. packetizer. com/iptel/h 323/whatsnew _v 2. html H. 323 Version 3 September 1999 http: //www. packetizer. com/iptel/h 323/whatsnew _v 3. html H. 323 Version 4 November 2000 http: //www. packetizer. com/iptel/h 323/whatsnew _v 4. html O’Reilly Open Source Convention - July 27, 2001 69
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/h 323/ Open H. 323 • http: //www. open. H 323. org O’Reilly Open Source Convention - July 27, 2001 70
Comparing SIP and H. 323
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 72
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 73
Table 1 - SIP and H. 323 Information SIP H. 323 Standards Body IETF. ITU. Relationship Peer-to-Peer. Origins Internet based and web centric. Borrows syntax and messages from HTTP. Telephony based. Borrows call signaling protocol from ISDN Q. SIG. Client Intelligent user agents. Intelligent H. 323 terminals. Core servers SIP proxy, redirect, location, and registration servers. H. 323 Gatekeeper. Current Deployment Interoperability testing between various vendor’s products is ongoing at SIP bakeoffs. Widespread. SIP is gaining interest. 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 74
Table 2 - SIP and H. 323 Information SIP H. 323 Capabilities Exchange SIP uses SDP protocol for capabilities exchange. SIP does not provide as extensive capabilities exchange as H. 323. Supported by H. 245 protocol. H. 245 provides structure for detailed and precise information on terminal capabilities. Control Channel Encoding Type Text based UTF-8 encoding. Binary ASN. 1 PER encoding. Server Processing Stateless or stateful. Version 1 or 2 – Stateful. Quality of Service SIP relies on other protocols such as RSVP, COPS, OSP to implement or enforce quality of service. Version 3 or 4 – Stateless or stateful. O’Reilly Open Source Convention - July 27, 2001 Bandwidth management/control and admission control is managed by the H. 323 gatekeeper. The H 323 specification recommends using RSVP for resource reservation. 75
Table 3 - SIP and H. 323 Information Security SIP 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 SIP URL for addressing. Redirect or location servers provide routing information. H. 323 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. Uses E. 164 or H 323 ID alias and a address mapping mechanism if gatekeepers are present in the H. 323 system. Gatekeeper provides routing information. O’Reilly Open Source Convention - July 27, 2001 76
Table 4 – SIP and H. 323 Information SIP H. 323 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. H. 450. 1 defines a framework for supplementary service creation. Some example features include presence, unified messaging, or find me/follow me. 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 77
Reference 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/ Dalg 9909_Comparison. pdf O’Reilly Open Source Convention - July 27, 2001 78
MGCP Media Gateway Control Protocol
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 ” 80
Components 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. O’Reilly Open Source Convention - July 27, 2001 Call Agent or Media Gateway Controller (MGC) SIP H. 323 Call Agent or Media Gateway Controller (MGC) MGCP Media Gateway (MG) 81
Simplified 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. O’Reilly Open Source Convention - July 27, 2001 Call Agent Media Gateway Controller MGCP RTP/RTCP Gateway A Analog Phone A Gateway B Analog Phone B 82
MGCP Commands Call Agent Commands: Gateway Commands: • Endpoint. Configuration • Notify • Notification. Request • Delete. Connection • Create. Connection • Restart. In. Progress • Modify. Connection • Delete. Connection • Audit. Endpoint • Audit. Connection O’Reilly Open Source Convention - July 27, 2001 83
Characteristics of 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 84
MGCP, 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. O’Reilly Open Source Convention - July 27, 2001 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. H. 323 Gateway H. 323 Call Agent/ Media Gateway Controller H. 323 Gateway MGCP Media RTP/RTCP Media Gateway 85
Example Comparison H. 323 MGCP 1. A user picks up analog phone and dials a number. 2. The gateway determines how to route the call. 2. The gateway notifies call agent of the phone (endpoint) event. 3. The two gateways exchange capabilities information. 3. 4. The terminating gateway rings the phone. The Call agent determines capabilities, routing information, and issues a command to the gateways to establish RTP/RTCP session with other end. 5. The two gateways establish RTP/RTCP session with each other. 3 1 2 5. RTP/ RTCP H. 323 Gateway Analog Phone O’Reilly Open Source Convention - July 27, 2001 4 Call Agent/ Media Gateway Controller 1 Analog Phone Gateway A Analog Phone RTP/ RTCP Gateway B Analog Phone 86
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/megacocharter. html • Packetizer - http: //www. packetizer. com/iptel/h 248/ O’Reilly Open Source Convention - July 27, 2001 87
References For more information on MGCP, refer to: IETF • http: //www. ietf. org/rfc 2705. txt? number=2705 O’Reilly Open Source Convention - July 27, 2001 88
VOCAL Resources Web site: www. vovida. org Mailing lists: vocal@vovida. org sip@vovida. org O’Reilly Open Source Convention - July 27, 2001 89
General Vo. IP Reference Pulver – IP Telephony News • http: //www. pulver. com Internet Telephony • http: //www. internettelephony. com An overview poster of the SIP, MGCP, and H 323 protocols. • http: //www. protocols. com/voip/posvoip. pdf O’Reilly Open Source Convention - July 27, 2001 90
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 91
General Vo. IP Reference Pulver – IP Telephony News • http: //www. pulver. com Internet Telephony • http: //www. internettelephony. com An overview poster of the SIP, MGCP, and H 323 protocols. • http: //www. protocols. com/voip/posvoip. pdf O’Reilly Open Source Convention - July 27, 2001 92