1 / 28

SIP Challenges and Opportunities

SIP Challenges and Opportunities. Name: Amir Zmora Title: Product Marketing Date: 17 Jan 2003. Dilbert wants to call the boss. Dogbert answers the call. Dilbert asks him to transfer to the Boss. The transfer fails. Why Did the Transfer Fail?.

gaye
Download Presentation

SIP Challenges and Opportunities

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 Challenges and Opportunities Name: Amir Zmora Title: Product Marketing Date: 17 Jan 2003

  2. Dilbert wants to call the boss Dogbert answers the call Dilbert asks him to transfer to the Boss The transfer fails

  3. Why Did the Transfer Fail? • REFER has gone through many changes in various versions. • Ver 02 - Refer-To = ("Refer-To" | "r") ":" URL • Refer-To: SIP:guest@info.com?Replaces… • Ver 04 - Refer-To = ("Refer-To" / "r") HCOLON ( name-addr / addr-spec ) • Refer-To: SIP:guest@info.com?Replaces… • Ver 06 - Refer-To = ("Refer-To" / "r") HCOLON ( name-addr / addr-spec ) * (SEMI generic-param) • Refer-To: <SIP:guest@info.com?Replaces…>a=b • The <> are optional in ver 04. Sending the ver 04 example to UA supporting ver 06 will cause the Replaces to be related to the Header and not to the address. Some changes are not backwards compatible

  4. AGENDA • The Challenges of VoIP Development • Do it yourself vs. Commercial Toolkits • Commercial Toolkit Requirements • RADVISION SIP Development Solution

  5. The Challenges of VoIP Development The Evolving SIP Protocol

  6. State Machine Authentication REFER Record Routing re-INVITE Loose Routing State Machine Mapping ID Mappingbranch CANCEL Timers State Machine UDP Reliability Authentication 100Rel fragmentation SCTP IPv6 Conn Mgmt SCTP DNS UDP TCP Whitespaces Multipart MIME compact form SDP Encoding Parsing MIME SIPDevelopment Challenges Application (Features, services, UI …) Location DB Registration Spirals Loops REFER SIP-T… PRACK INFO SUBSCRIBE NOTIFY 3GPP others… REFER SIP-T… PRACK INFO SIP Extensions Dialog, Registration, User Agent Behavior Proxy/Reg Transaction SIP Transport SIP Message TCP/IP, OS SIP is No Longer a Simple Protocol…

  7. The “S” in SIP Doesn’t Stand for Simple • Complex Dialog state machines • PRACK, UPDATE… • Client side Authentication • Re-INVITE after receiving 401/407 • DNS SRV & NAPTR queries • Sequence of 3 queries • Different function for IPv6 • Different implementation on different OS • Loop/Spiral detection • Spiral – Legal • Loop - Illegal • Many more…

  8. Proxy Adds P2 and P3 to route Without Loose Routing INVITEb@UA1 P1 P2 P3 Visited Network Home Network Example of Complexity- Routing • Routing decision – Loose vs. strict routing • Complex routing algorithm – Destination address should be taken from: Request URI, Rout, Via, Received? • Backwards compatibility with Strict-Routing

  9. Example of Complexity - REFER Transferor Transferee Transfer | | Target | INVITE | | |<-------------------| | | 200 OK | | |------------------->| | | ACK | | |<-------------------| | | | | |<< ”Please transfer | | |<< me to bob” | | | | | | INVITE (hold) | | |------------------->| | | 200 OK | | |<-------------------| | | ACK | | |------------------->| | | REFER | | |------------------->| | | 202 Accepted | | |<-------------------| | | | INVITE | | |------------------->| | | 200 OK | | |<-------------------| | | ACK | | |------------------->| | NOTIFY (200 OK) | | |<-------------------| | | 200 OK | | |------------------->| | | BYE | | |------------------->| | | 200 OK | | |<-------------------| | | | BYE | | |<-------------------| | | 200 OK | | |------------------->| • REFER Method • for Transfer services • Specified in: • draft-ietf-sip-refer-05.txt • draft-ietf-sip-cc-transfer-05.txt • Full support • Automatic operation + callbacks • Uses NOTIFY extension to report result of Transfer

  10. SIP Standard Inconsistencies and Interoperability Issues • Inconsistencies in REFER • Changes in retransmission timers • Changes in CANCEL • Response code for INVITE inside INVITE has changed • MaxForward has become mandatory • Transaction key identifier rules was changed • CallLeg identifier was changed • Prefix added to Via Branch • LR was added to Route for Loose Routing support • CANCEL became invalid for general transactions • New Changes Are Not Always Backwards Compatible • Developers Need to Ensure Their Products Comply With New Version of Standard The Evolving Baseline SIP RFC 2543 Established – Aug 99 bis 00 – July 00 bis 00 – Aug 00 bis 01 – Aug 00 bis 02 – Sept 00 bis 02 – Nov 00 bis 03 – May 01 bis 04 – July 01 bis 05 – Oct 01 bis 06 – Jan 02 bis 07 – Feb 02 bis 09 – Feb 02 RFC3261 – June 02 Plus hundreds of Drafts that constantly change

  11. SIP Development Challenges • Interoperability • Many independent implementations of SIP with varying degrees of maturity • Good interoperability requires investment: • participation in SIPit events • tested with various equipment vendors

  12. SIP Development Challenges (cont.) • Extensibility • SIP is a highly extensible protocol • Stack design must accommodate current and future needs • Modular design and multi-level API are a must • Maintainability • SIP is still a moving target • Constant flow of changes in baseline protocol and extensions • Cost of keeping a SIP stack up-to-date is high

  13. Do It Yourself vs. Commercial Toolkits The Move from In-House Development To Commercial Toolkits/Solutions

  14. Developers are Turning to Third Party Toolkits for VoIP Development • Similar to the evolution of H.323, move from in-house to commercial toolkit as protocol takes hold • Save cost in man years • Provides already integrated SIP and SDP services • Encoding, sending, parsing, managing calls and transactions, and reliability/redundancy • Address continuing SIP interoperability issues • Vendor provides upgrades and application notes • Crucial in modifying existing products to comply with standard changes • You don’t re-invent the wheel

  15. Application (Features, services, UI …) Applicationcode SIP Extensions Dialog, Registration, User Agent Behavior Proxy/Reg Transaction SIP Transport SIP Message TCP/IP, OS Platform 3rdParty Freeing Resources to Focus on Applications • STANDARD: • RFC 3261 (SIP) • SIP Extensions • RFC 2327 (SDP)

  16. Commercial Toolkit Requirements

  17. Application SIP Stack RTP/RTCP Stack SDP Stack • Media Description Network • Media Transport • RTCP Reports Building a SIP Endpoint Using a Vendor SIP Stack • Dialog Management • Registration • Authentication • Telephony (SIP-T, DTMF) • Call Control • More … Killer

  18. Building a SIP Endpoint Using a Vendor SIP Stack • Interoperability and standards compliance • Toolkit must be tested in all SIPit events • Vendor should be involved in standard evolution • Extensibility • Modular design and multi-level APIs are required to provide flexibility • APIs should provide interface for proprietary message encoding and parsing • Maintainability • Version upgrades as part of maintenance agreement • Toolkit must be upgraded as standard evolves

  19. RADVISION’s SIP Development Solutions

  20. A Family of SIP Development Solutions SIP Toolkit SIP SIP Server Toolkit Development Solutions IP Phone Toolkit ProLabTM Test Management Suite

  21. SIP Development Solution Characteristics • Real-Time Performance • Internally multithreaded (SIP Stack and Server) • High call/transaction rate (calls per second) • Low memory-per-call/transaction and low footprint • Advanced Capabilities • High Availability support • Multi-Homed Host support • IPv6 Support • Interoperable • Tested with dozens of 3rd party SIP implementations • Customizable • Highly Configurable • Multiple compilation options

  22. SIP Toolkit Architecture Application SIP TK Manager Dialog/Registration Layer Transaction Layer Transport I/F Layer Message Syntax Layer OS Abstraction Layer

  23. Fully standard SIP Server functionality Proxy server Redirect server Registrar server B2BUA & Presence server (next version) Stateless/Stateful Forking Loose routing SRV and NAPTR DNS queries Loop and spiral detection authentication Message validation Layered, modular architecture with multi-level API Customizable automatic behavior Extensible architecture OS: Solaris, Windows, Linux Coming soon: VxWorks SIP Server Toolkit

  24. SIP Server Toolkit Architecture Application LocationDB Presence Agent Security SIP Server Manager SIP Server High-Level Proxy Core SIP Server Low-Level SIP Stack

  25. Tests: SIP (with extensions) SDP RTP/RTCP (both voice and video) Distributed architecture: Central Manager console (with GUI) One or more test agents Script Driven: Intuitive scripting language Can generate high load of calls/transactions per second Statistics and message trace collection and display Fully configurable test environment from central console H.323 test agents can be integrated seamlessly ProLab Test Management Suite

  26. RTP Analyzer Test Scheduler ProLab Manager SIP Server GK Agent SIP Test Agent H.323 Test Agent ProLab Test Management Suite SIP H.323

  27. Conclusion • SIP deployment brings exciting new features • SIP is still an evolving protocol • Interoperability is one of the major barriers for SIP deployment • Commercial vendors address interoperability issues • “Buy vs. Make” issue requires serious consideration

  28. Thank You www.radvision.com amirz@radvision.com

More Related