1 / 92

SIP and VOCAL

SIP and VOCAL. Cullen Jennings Cisco Systems, Inc fluffy@cisco.com. VOCAL 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

gwen
Télécharger la présentation

SIP and VOCAL

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SIP and VOCAL Cullen Jennings Cisco Systems, Inc fluffy@cisco.com

  2. VOCAL 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

  3. Traditional Telcos • Proprietary. Favoring the vendor over the customer. • Vendor-centric, limited interoperability • Slow innovation, long development cycles • Expensive and exclusive

  4. 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

  5. Open Source VoIP • 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 VoIP in businesses and residences • Processes and components that encourage others to express new ideas

  6. Why Does Cisco Support Open Source VoIP? • 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

  7. Voice over IP Protocols Pictorial Overview

  8. SIP, H.323 and MGCP Call Control and Signaling Signaling and Gateway Control Media Audio/ Video H.323 H.225 H.245 Q.931 RAS SIP MGCP RTP RTCP RTSP TCP 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.

  9. Session Initiation Protocol

  10. 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

  11. 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

  12. 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

  13. User Agent User Agent From 2 Devices... SIP Components

  14. SIP Components Redirect Server Registrar Server Location Server PSTN Proxy Server Proxy Server User Agent Gateway ...to a Distributed Network...

  15. V V COPS/OSP SIP IP Phones RADIUS SNMP Network Manager 3rd Party Billing System ...to a Complete Phone System Phone Gateway Gateway Marshal Server (Gateway) Provisioning Server Redirect Server(s) Feature Server(s) CDR Server(s) Policy Server(s) Marshal Server Internet Clearing House Marshal Server Marshal Server H.323/SIP Translator H.323 Terminal MGCP/SIP Translator Marshal Server MGCP Device

  16. VOCALVovida Open CommunicationsApplications Library

  17. 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 VoIP features, applications and services VOCAL: Say What?

  18. 8. User A’s SIP phone responds with an ACK (acknowledgement message) 6. User B’s SIP Phone rings. (The 180 (Ring) message is sent back to User A’s SIP Phone.) 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.INVITE 5. Marshal Server B sends a INVITE to User B. 2. Marshal Server A forwards the INVITE message to the Redirect Server Redirect Server Marshal Server B Marshal Server A 7. When User B picks up the SIP phone, a 200 (OK) message is sent. 4.INVITE 1. User A dials User B’s number. User A’s SIP Phone sends an INVITE message to Marshal Server A. 6. 180 (RING) 7. 200 (OK) 1.INVITE 5. INVITE 8. ACK SIP Phone User B SIP Phone User A 4. Marshal Server A forwards an INVITE message to Marshal Server B. AUDIO PATH A Simplified Call Flow

  19. V V COPS/OSP SIP IP Phones RADIUS SNMP Network Manager 3rd Party Billing System System Diagram Phone Gateway Gateway Marshal Server (Gateway) Provisioning Server Redirect Server(s) Feature Server(s) CDR Server(s) Policy Server(s) Marshal Server Internet Clearing House Marshal Server Marshal Server H.323/SIP Translator H.323 Terminal MGCP/SIP Translator Marshal Server MGCP Device

  20. = In progress Soft phone Load Gen VXML RTSP CPL JTAPI 3PCC = Already here CGI = API’s = Provide your own ! API API API API Feature Servers Redirect Server Marshal Server SIP UA API SIP Stack Operating System: Linux, Solaris, Windows Block Diagram

  21. V Example 1 Build your own soft phone CSPS or partner’s SIP Proxy Soft phone API SIP VOCAL SIP UA SIP Gateway API VOCAL SIP Stack Phone

  22. V SIP IP Phones Example 2 Build your own CPL features CPL scripts API CSPS or partner’s VOCAL Feature Server SIP Proxy API Gateway SIP VOCAL SIP Stack SIP SIP Phone

  23. V SIP IP Phones Example 3 Build your own Routing Engine Routing Logic API VOCAL Redirect Server API VOCAL SIP Stack Invite Gateway Redirect Phone

  24. 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: VOCAL Components

  25. Marshal Server: Performs authentication and collects call detail records. CDR Server: Collects billing records from Marshals, buffers them, and talks RADIUS to 3rd part billing systems. Policy Server: Uses COPS to enable RSVP on routers. Uses OSP to communicate settlement info with VoIP clearing houses. VOCAL Components (2)

  26. 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 VOCAL Components (3)

  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

  28. WIFY? • What’s in it for you: • Build applications • Add voice services to your ISP • Build and manage your own PBX

  29. Companies: Dialpad Pagoo Cathay Netspeak Lurkers Individuals: Telecom engineers Students Hobbyists System Integrators IT Who’s Working on it?

  30. Recent Software Downloads: • March • April • May • SIP 1.2.x • 684 • 1125 • 1156 • Vocal 1.2.0 • 170 • 697 • 371 How Big is the Community?

  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:

  32. www.vovida.org

  33. Additional Material

  34. Vocal Components

  35. 6 Degrees of Separation • Basic SIP calling process: • Registering, initiating and locating users. • Determining acceptable media — negotiating session descriptions between users. • Determining the willingness of the called party to communicate — calls are accepted or rejected through response messages. • Setting up accepted calls. • Modifying or handling calls through features — for example, call transfer. • Terminating the call.

  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

  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).

  38. Marshal Server Redirect Server SIP Phone SIP URL = userA@hostname.com 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. The Provisioning Server checks to see if userA@hostname.com is an authorized user. Provisioning Server 2.REGISTER 3. 200 (OK) Once userA@hostname.com has been registered, the Redirect Server sends a 200 message (OK). 1. REGISTER 4. 200 (OK)

  39. Marshal Server - 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.

  40. VOCAL-supported core 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 features: Transfer Caller ID Call Waiting 3 Way Calling Feature Server Supports new feature scripting using C++ and Call Processing Language (CPL), an XML based language for IP telephony features • 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

  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 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.

  43. Policy Server • 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: • 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.

  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

  45. Session Initiation Protocol

  46. 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

  47. SIP Framework Instant Messaging • Session initiation. • Multiple users. • Interactive multimedia applications. Personal Mobility Distance Learning Video Conferencing Email Voice Calls MPEG, MP3, Audio, HTML,XML

  48. Redirect Server Registrar Server Location Server Proxy Server Proxy Server SIP Distributed Architecture SIP Components PSTN User Agent Gateway

  49. 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: 1xx - Informational Messages. 2xx - Successful Responses. 3xx - Redirection Responses. 4xx - Request Failure Responses. 5xx - Server Failure Responses. 6xx - Global Failures Responses. SIP Messages – Methods and Responses SIP components communicate by exchanging SIP messages:

More Related