VON Developers Conference -- July 2000 SIP Proxies Jonathan Rosenberg Chief Scientist.

31

Transcript of VON Developers Conference -- July 2000 SIP Proxies Jonathan Rosenberg Chief Scientist.

Page 1: VON Developers Conference -- July 2000 SIP Proxies Jonathan Rosenberg Chief Scientist.
Page 2: VON Developers Conference -- July 2000 SIP Proxies Jonathan Rosenberg Chief Scientist.

www.dynamicsoft.comVON Developers Conference -- July 2000SIP Proxies

SIP Proxies

Jonathan Rosenberg

Chief Scientist

Page 3: VON Developers Conference -- July 2000 SIP Proxies Jonathan Rosenberg Chief Scientist.

www.dynamicsoft.comVON Developers Conference -- July 2000SIP Proxies

Presentation Agenda SIP Overview

Functions of a Proxy

Features to Look for in Proxies

Page 4: VON Developers Conference -- July 2000 SIP Proxies Jonathan Rosenberg Chief Scientist.

www.dynamicsoft.comVON Developers Conference -- July 2000SIP Proxies

Session Initiation Protocol (SIP) Developed in mmusic Group in IETF

Proposed standard RFC2543, February 1999 Work began 1995 Part of Internet Multimedia Conferencing Suite

Main Functions Invite users to sessions

Find the user’s current location, match with their capabilities and preferencesin order to deliver invitation

Carry opaque session descriptions

Modification of sessions Termination of sessions

Page 5: VON Developers Conference -- July 2000 SIP Proxies Jonathan Rosenberg Chief Scientist.

www.dynamicsoft.comVON Developers Conference -- July 2000SIP Proxies

Session Initiation Protocol (SIP) cont.

Main Features Personal mobility services Wide area operation Session flexibility

Voice; video; games; chat; virtual reality; etc.

Leverages other Internet protocols

Page 6: VON Developers Conference -- July 2000 SIP Proxies Jonathan Rosenberg Chief Scientist.

www.dynamicsoft.comVON Developers Conference -- July 2000SIP Proxies

Protocol Components User Agent Client (UAC)

End systems Send SIP requests

User Agent Server (UAS) Listens for call requests Prompts user or executes program to determine response

User Agent UAC plus UAS

Page 7: VON Developers Conference -- July 2000 SIP Proxies Jonathan Rosenberg Chief Scientist.

www.dynamicsoft.comVON Developers Conference -- July 2000SIP Proxies

Protocol Components cont.

Redirect Server Network server - redirects users to try other server

Proxy Server Network server - a proxy request to another server can “fork” request to

multiple servers, creating a search tree

Registrar Receives registrations regarding current user locations

Page 8: VON Developers Conference -- July 2000 SIP Proxies Jonathan Rosenberg Chief Scientist.

www.dynamicsoft.comVON Developers Conference -- July 2000SIP Proxies

SIP Architecture

Request

Response

Media

1

2

3

45

67

8

9

1011

12

SIP Client

SIP Redirect Server

SIP ProxySIP Proxy

SIP Client(User Agent Server)

Location Service

13

14

Page 9: VON Developers Conference -- July 2000 SIP Proxies Jonathan Rosenberg Chief Scientist.

www.dynamicsoft.comVON Developers Conference -- July 2000SIP Proxies

Main Functions of SIP Proxy Server Routing Services

Authentication and Authorization

Logging/Billing

Firewall/NAT Traversal

Load Balancing

Page 10: VON Developers Conference -- July 2000 SIP Proxies Jonathan Rosenberg Chief Scientist.

www.dynamicsoft.comVON Developers Conference -- July 2000SIP Proxies

Routing Problem Definition

To determine the next hop server(s) which can better handle a SIP request

Next hop can be UAS, proxy or redirect Type of next hop not known to server

Routing Can Be Based on Arbitrarily Complex Logic and Inputs

Primary Routing Techniques in Proxies Registration database Telephone routing prefixes TRIP and TRIP-GW Caller preferences External databases

Page 11: VON Developers Conference -- July 2000 SIP Proxies Jonathan Rosenberg Chief Scientist.

www.dynamicsoft.comVON Developers Conference -- July 2000SIP Proxies

Registration Database On Startup, SIP UA Sends

REGISTER to Registrar

Registration Data Provides Addresses to Reach User

Registration Database Forms a Dynamic Routing Database of Users

Centralized Store is Desired for Scalability

SQL/LDAP/?

Proxy Farm

INVITE

DB

Registrar

RE

GIS

TER

Page 12: VON Developers Conference -- July 2000 SIP Proxies Jonathan Rosenberg Chief Scientist.

www.dynamicsoft.comVON Developers Conference -- July 2000SIP Proxies

Telephone Routing Prefixes SIP INVITE Can Contain Phone Numbers

sip:[email protected] tel:17325551212

Do Not Correspond to Users on IP Network, but PSTN Terminals

Call Must Be Routed to Gateway

Gateways Often Arranged Through Peering

Which One to Use Based on Prefixes (Domestic = gw1, Europe = gw2)

Route Table is Mapping From Prefixes to Next Hop IP address/port/transport Plus URL Rewrite Rules

1-732 regional.com

1 longdistance.com

international.com

tel:19735551212

sip:19735551212@ longdistance.com

Page 13: VON Developers Conference -- July 2000 SIP Proxies Jonathan Rosenberg Chief Scientist.

www.dynamicsoft.comVON Developers Conference -- July 2000SIP Proxies

Telephony Routing Over IP (TRIP) Inter-domain Protocol for Gateway

Route Exchange Completed February 2000

TRIP Supports Various Models Bilateral agreements Centralized settlements provider Wholesaler service

TRIP Based on Scalable IP Routing Technology Uses BGP4 as a basis Supports aggregation Uses proven algorithms

Proxy = TRIP LS Allows proxy to build routing table

dynamically

EndUsers

Gateways

LocationServer

ISP A

TRIP

FrontEnd

ISP B

Page 14: VON Developers Conference -- July 2000 SIP Proxies Jonathan Rosenberg Chief Scientist.

www.dynamicsoft.comVON Developers Conference -- July 2000SIP Proxies

TRIP and Gateways Normal TRIP Runs Interdomain

TRIP-GW: Lightweight Version That Runs Between LS and Local Gateways

Provides Gateway Information Exported to Other Domains Via TRIP

Provides Gateway Management Capabilities Load balancing based on available

ports/codecs Liveness detection Failover

TRIP-GWINVITE

Page 15: VON Developers Conference -- July 2000 SIP Proxies Jonathan Rosenberg Chief Scientist.

www.dynamicsoft.comVON Developers Conference -- July 2000SIP Proxies

SIP Caller Preferences SIP Extensions for Specifying

Caller Preferences and Callee State Presence

Preferences Carried in INVITE Setup Message

Preferences for Reaching callee at home or work Fax, video, audio call Mobile or landline Secretary or voicemail Priority locations

Caller Can Specify Proxy Routing

Preference Video

Proxy Server

Page 16: VON Developers Conference -- July 2000 SIP Proxies Jonathan Rosenberg Chief Scientist.

www.dynamicsoft.comVON Developers Conference -- July 2000SIP Proxies

External Databases Routing Information Can Also Be

Located in External Databases LDAP SQL whois++

Static or Dynamic

Several Standards

DB Query

INVITE

Page 17: VON Developers Conference -- July 2000 SIP Proxies Jonathan Rosenberg Chief Scientist.

www.dynamicsoft.comVON Developers Conference -- July 2000SIP Proxies

Authentication and Authorization Restrict/Grant User Access to

Proxy Services

Types of Services Make incoming and outgoing calls

(careful!!) Selection of routing tables Ability to have CPL execution Ability to register

Inbound and Outbound Directions

Nearly Impossible to Authenticate Inbound Requests

Outgoingproxy

Incomingproxy

Page 18: VON Developers Conference -- July 2000 SIP Proxies Jonathan Rosenberg Chief Scientist.

www.dynamicsoft.comVON Developers Conference -- July 2000SIP Proxies

SIP Authentication Authentication Mechanisms

Basic Digest PGP

All are Challenge-Response

Basic and Digest Are Shared Secret - Assume Trust Relationship Between UA and Proxy Only for outgoing requests

SIP Can Also Authenticate Responses Not widely used

Request

Challenge (nonce, realm)

ACK

Request w/credentials

Page 19: VON Developers Conference -- July 2000 SIP Proxies Jonathan Rosenberg Chief Scientist.

www.dynamicsoft.comVON Developers Conference -- July 2000SIP Proxies

DoS Attack Protection DoS Attacks

Flooding of packets Malicious content

Proxy Acts as DMZ Machine Sole point of entry for calls to

network (requires firewall)

Filtering Functions Absorbs bursts Blocks large messages Removes content with viruses String parsing checks and

validations

DMZ

Page 20: VON Developers Conference -- July 2000 SIP Proxies Jonathan Rosenberg Chief Scientist.

www.dynamicsoft.comVON Developers Conference -- July 2000SIP Proxies

Logging and Billing Importance of Logging

Customer care Troubleshooting Intrusion detection DoS attack detection Billing

Billing Issues Must bill for a real service

Gateways MCUs

Proxy “fronts” gateway Need secure association to gateway Session timer

Logging to Remote Logging Server is Key Benefit

SA

Gateways

Remote logging

Log Server

BillingServer

Page 21: VON Developers Conference -- July 2000 SIP Proxies Jonathan Rosenberg Chief Scientist.

www.dynamicsoft.comVON Developers Conference -- July 2000SIP Proxies

Getting SIP Through Firewalls Firewalls Typically Statically Configured to Let Traffic in/out of

Specific Ports/Addresses

SIP Itself Can Easily Be Let in/out Static port 5060 opened

But SIP Signals Media Sessions, Usually RTP

RTP Difficult to Isolate Uses dynamic UDP ports Not its own protocol No way to statelessly identify

Therefore, Media Sessions Will Not Flow Through Firewall

Page 22: VON Developers Conference -- July 2000 SIP Proxies Jonathan Rosenberg Chief Scientist.

www.dynamicsoft.comVON Developers Conference -- July 2000SIP Proxies

Getting SIP Through NATs Network Address Translation (NAT)

Modifies IP Addresses/Ports in Packets

Benefits Avoids network renumbering on change of provider Allows multiplexing of multiple private addresses into a

single public address ($$ savings) Maintains privacy of internal addresses

Page 23: VON Developers Conference -- July 2000 SIP Proxies Jonathan Rosenberg Chief Scientist.

www.dynamicsoft.comVON Developers Conference -- July 2000SIP Proxies

Getting SIP Through NATs cont.

Issues If a host includes its IP address inside of an application packet, it

is wrong to the outside SIP fundamentally handles this Addresses inside of SIP must be rewritten

Where Can IP Addresses Be? SDP From field To field Contact Record-route Via

Page 24: VON Developers Conference -- July 2000 SIP Proxies Jonathan Rosenberg Chief Scientist.

www.dynamicsoft.comVON Developers Conference -- July 2000SIP Proxies

Continuing Challenges Other Application Protocols Have Trouble With Firewalls

and NAT ftp H.323

Solution is to Embed Application Layer Gateway (ALG) into Firewall/NAT Actually goes into packet and modifies addresses Requires understanding of protocol

Embedding ALG in NAT is Not Ideal Solution Scaling Separation of function Expertise issue

Page 25: VON Developers Conference -- July 2000 SIP Proxies Jonathan Rosenberg Chief Scientist.

www.dynamicsoft.comVON Developers Conference -- July 2000SIP Proxies

Proposed Solution Separate Application Layer

NAT/Firewall from IP Layer NAT/Firewall Similar to megaco decomposition MG analagous to packet filter MGC analagous to ALG (proxy) Same benefits

Better scaling Faster Lower Cost Expertise problem solved Deployment paths for new apps Load balancing

SIP

Control

RTP

Proxy Server/ALG Firewall/NAT

Packet Filter

Decomposed Firewall/NAT

Page 26: VON Developers Conference -- July 2000 SIP Proxies Jonathan Rosenberg Chief Scientist.

www.dynamicsoft.comVON Developers Conference -- July 2000SIP Proxies

The Missing Piece Control Protocol Between

SIP ALG and IP NAT/Firewall

Main Requirements Binding request: give a private

address, obtain a public address

Binding release Open hole (firewall) Close hole (firewall) Group bindings

INVITEBIND REQ

BINDING

INVITE

200 OK

200 OKOPEN

ACK

ACK

Proxy Server Firewall

Page 27: VON Developers Conference -- July 2000 SIP Proxies Jonathan Rosenberg Chief Scientist.

www.dynamicsoft.comVON Developers Conference -- July 2000SIP Proxies

IETF Efforts on Firewall Traversal SIP Working Group

Informational RFC will be developed Summarizes SIP operations needed in firewall controlling proxy Addresses problems and issues Call flows and examples

FOGLAMPS BoF Session Pre-Working Group May develop protocol between firewall-controlling proxy and firewall Currently working on protocol requirements

J. Kuthan, J. Rosenberg, “Firewall Control Protocol Framework and Requirements”, draft-kuthan-fcp-01.txt

Page 28: VON Developers Conference -- July 2000 SIP Proxies Jonathan Rosenberg Chief Scientist.

www.dynamicsoft.comVON Developers Conference -- July 2000SIP Proxies

Load Balancing and Failover Goal is To Deploy Clusters of Proxy

Servers Scaling up the network

Any One Can Handle Request

Load Balancing Goal is to balance work across cluster Requests for same call to same server

Failover Cease using machine in cluster upon

failure detection

Page 29: VON Developers Conference -- July 2000 SIP Proxies Jonathan Rosenberg Chief Scientist.

www.dynamicsoft.comVON Developers Conference -- July 2000SIP Proxies

Checklist of Other Desired Features Configuration and Management

Command line interface web SNMP

Stateless and Stateful Modes Performance vs. services

Record-routing Needed for billing/logging

Separate Registration Database Scaling, centralized management of subscribers

Page 30: VON Developers Conference -- July 2000 SIP Proxies Jonathan Rosenberg Chief Scientist.

www.dynamicsoft.comVON Developers Conference -- July 2000SIP Proxies

Checklist of Other Desired Features cont.

Subscriber Management Add users to system Define services and capabilities

CPL or not?

Authorize services against subscriber lists

Dynamic Reconfiguration Change parameters/routing table entries on the fly

Customized Logging Outputs XML, apache, etc.

Page 31: VON Developers Conference -- July 2000 SIP Proxies Jonathan Rosenberg Chief Scientist.

www.dynamicsoft.comVON Developers Conference -- July 2000SIP Proxies

Information Resource Jonathan Rosenberg

[email protected] +1 973.952.5000