SIP Challenges and Opportunities

28
SIP Challenges and Opportunities Name: Amir Zmora Title: Product Marketing Date: 17 Jan 2003

description

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?. - PowerPoint PPT Presentation

Transcript of SIP Challenges and Opportunities

Page 1: SIP Challenges and Opportunities

SIP Challenges and Opportunities

Name: Amir Zmora

Title: Product Marketing

Date: 17 Jan 2003

Page 2: SIP Challenges and Opportunities

Dilbert wants to call the bossDogbert answers the callDilbert asks him to transfer to the BossThe transfer fails

Page 3: SIP Challenges and Opportunities

Why Did the Transfer Fail?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:[email protected]?Replaces…

Ver 04 - Refer-To = ("Refer-To" / "r") HCOLON ( name-addr / addr-spec )

Refer-To: SIP:[email protected]?Replaces…

Ver 06 - Refer-To = ("Refer-To" / "r") HCOLON ( name-addr / addr-spec ) * (SEMI generic-param)

Refer-To: <SIP:[email protected]?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

Page 4: SIP Challenges and Opportunities

AGENDAAGENDA

The Challenges of VoIP Development

Do it yourself vs. Commercial Toolkits

Commercial Toolkit Requirements

RADVISION SIP Development Solution

Page 5: SIP Challenges and Opportunities

The Challenges of VoIP Development

The Evolving SIP Protocol

Page 6: SIP Challenges and Opportunities

SIP Development ChallengesSIP Development Challenges

TCP/IP, OS

SIP Transport SIP Message

Transaction

Dialog, Registration,User Agent Behavior

Proxy/Reg

Application (Features, services, UI …)

SIPExtensions

SIP is No Longer a Simple Protocol…SIP is No Longer a Simple Protocol…

Location DBRegistrationSpiralsLoops

REFERSIP-T…PRACKINFOSUBSCRIBE NOTIFY3GPPothers…REFERSIP-T…PRACKINFO

State MachineAuthenticationREFERRecord Routing

re-INVITELoose RoutingState MachineMapping

fragmentationSCTPIPv6Conn Mgmt

SCTPDNSUDPTCP

WhitespacesMultipart MIMEcompact form

SDPEncodingParsingMIME

ID MappingbranchCANCEL

TimersState MachineUDP

ReliabilityAuthentication100Rel

Page 7: SIP Challenges and Opportunities

The “S” in SIP Doesn’t Stand for SimpleThe “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…

Page 8: SIP Challenges and Opportunities

Example of Complexity- RoutingExample 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

Proxy Adds P2 and P3 to route

P1 P2 P3Visited Network Home Network

Without Loose Routing

INVITEb@UA1

Page 9: SIP Challenges and Opportunities

Example of Complexity - REFERExample of Complexity - REFER REFER Method 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 NOTIFYNOTIFY extension to report result of Transfer

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

Page 10: SIP Challenges and Opportunities

SIP Standard Inconsistencies and Interoperability Issues

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 99bis 00 – July 00bis 00 – Aug 00bis 01 – Aug 00bis 02 – Sept 00bis 02 – Nov 00bis 03 – May 01bis 04 – July 01bis 05 – Oct 01bis 06 – Jan 02bis 07 – Feb 02bis 09 – Feb 02

RFC3261 – June 02

Plus hundreds of Drafts that constantly change

Page 11: SIP Challenges and Opportunities

SIP Development ChallengesSIP 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

Page 12: SIP Challenges and Opportunities

SIP Development ChallengesSIP Development Challenges

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

(cont.)

Page 13: SIP Challenges and Opportunities

Do It Yourself vs. Commercial Toolkits

The Move from In-House Development To Commercial Toolkits/Solutions

Page 14: SIP Challenges and Opportunities

Developers are Turning to Third Party Toolkits for VoIP Development

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

Page 15: SIP Challenges and Opportunities

TCP/IP, OS

SIP Transport SIP Message

Transaction

Dialog, Registration,User Agent Behavior

Proxy/Reg

Application (Features, services, UI …)

SIPExtensions

Freeing Resources to Focus on Applications

Freeing Resources to Focus on Applications

Applicationcode

Applicationcode

STANDARD:

• RFC 3261 (SIP)

• SIP Extensions

• RFC 2327 (SDP)

Platform 3rdPartyPlatform 3rdParty

Page 16: SIP Challenges and Opportunities

Commercial Toolkit Requirements

Page 17: SIP Challenges and Opportunities

Building a SIP Endpoint Using a Vendor SIP Stack

Building a SIP Endpoint Using a Vendor SIP Stack

Network

SDPStack

SIPStack

Application

RTP/RTCPStack

Dialog Management

Registration

Authentication

Telephony (SIP-T, DTMF)

Call Control

More …

Media Description

Media Transport RTCP Reports

Killer

Page 18: SIP Challenges and Opportunities

Building a SIP Endpoint Using a Vendor SIP Stack

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

Page 19: SIP Challenges and Opportunities

RADVISION’s SIP Development Solutions

Page 20: SIP Challenges and Opportunities

A Family of SIP Development SolutionsA Family of SIP Development Solutions

SIP Server Toolkit

IP Phone Toolkit

SIPToolkit

SIPDevelopment Solutions

ProLabTM TestManagement

Suite

Page 21: SIP Challenges and Opportunities

SIP Development Solution Characteristics 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

Page 22: SIP Challenges and Opportunities

TransportI/F Layer

OS Abstraction Layer

SIP TKManager

Message SyntaxLayer

TransactionLayer

Dialog/RegistrationLayer

Application

SIP Toolkit ArchitectureSIP Toolkit Architecture

Page 23: SIP Challenges and Opportunities

SIP Server ToolkitSIP Server Toolkit

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

Page 24: SIP Challenges and Opportunities

SIP Server High-Level

Proxy Core

SIP Stack

SIP ServerManager

SIP ServerLow-Level

Application

SIP Server Toolkit ArchitectureSIP Server Toolkit Architecture

LocationDB

PresenceAgent Security

Page 25: SIP Challenges and Opportunities

ProLab Test Management SuiteProLab Test Management Suite

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

Page 26: SIP Challenges and Opportunities

ProLab Test Management SuiteProLab Test Management Suite

RTP Analyzer ProLab Manager Test Scheduler

SIP Server SIP Test Agent H.323 Test Agent GK Agent

SIP H.323

Page 27: SIP Challenges and Opportunities

ConclusionConclusion

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

Page 28: SIP Challenges and Opportunities

www.radvision.com

[email protected]

Thank You