SIP: Status and Directions1 SIP: Status and Directions Henning Schulzrinne Dept. of Computer Science...

37
1 SIP: Status and Directions Henning Schulzrinne Dept. of Computer Science Columbia University New York, New York [email protected] Bell Atlantic January 26, 2000

Transcript of SIP: Status and Directions1 SIP: Status and Directions Henning Schulzrinne Dept. of Computer Science...

Page 1: SIP: Status and Directions1 SIP: Status and Directions Henning Schulzrinne Dept. of Computer Science Columbia University New York, New York schulzrinne@cs.columbia.edu Bell Atlantic

1

SIP: Status and DirectionsHenning Schulzrinne

Dept. of Computer ScienceColumbia UniversityNew York, New York

[email protected]

Bell Atlantic

January 26, 2000

Page 2: SIP: Status and Directions1 SIP: Status and Directions Henning Schulzrinne Dept. of Computer Science Columbia University New York, New York schulzrinne@cs.columbia.edu Bell Atlantic

2

Overview� SIP overview/review

� SIP services

� SIP standardization status

� SIP bake-off

� Columbia Internet telephony activities

� SIP for notification

� SIP for mobility

Page 3: SIP: Status and Directions1 SIP: Status and Directions Henning Schulzrinne Dept. of Computer Science Columbia University New York, New York schulzrinne@cs.columbia.edu Bell Atlantic

3

Architecture

Megaco/MGCP/MDCP

SIP

RTP

circuit-switched voice

H.323

proxy

MGC

MG

GK GK

proxy

PSTN

gateway

circuit-switched voice (POTS, ISDN)Internet

Page 4: SIP: Status and Directions1 SIP: Status and Directions Henning Schulzrinne Dept. of Computer Science Columbia University New York, New York schulzrinne@cs.columbia.edu Bell Atlantic

4

SIP 101� SIP = signaling protocol for establishing

sessions/calls/conferences/. . .

� session = audio, video, game, chat, . . .

1. called server may map name touser@host

2. callee accepts, rejects, forward (! new address)

3. if new address, go to step 1

4. if accept, caller confirms

5. . . . conversation . . .

6. caller or callee sendsBYE

Page 5: SIP: Status and Directions1 SIP: Status and Directions Henning Schulzrinne Dept. of Computer Science Columbia University New York, New York schulzrinne@cs.columbia.edu Bell Atlantic

5

SIP Operation in Proxy Mode

10 media stream

4

[email protected]

8

7

1

[email protected]

9

6

5

3

?

henn

ing

hgs@

play

tune

play

cs.columbia.edu

200 OK

location server

ACK hgs@play

200 [email protected]

cs.tu-berlin.de INVITE hgs@play2

Page 6: SIP: Status and Directions1 SIP: Status and Directions Henning Schulzrinne Dept. of Computer Science Columbia University New York, New York schulzrinne@cs.columbia.edu Bell Atlantic

6

SIP Operation in Redirect Mode

1

4

32

6

7

8

5

?

henn

ing

ACK [email protected]

INVITE [email protected]

302 Moved temporarily colu

mbi

a.ed

u

locationserver

columbia.edu

hgs

tu-berlin.de

INVITE [email protected]

200 OK

ACK [email protected]

ieee.org

Contact: [email protected]

Page 7: SIP: Status and Directions1 SIP: Status and Directions Henning Schulzrinne Dept. of Computer Science Columbia University New York, New York schulzrinne@cs.columbia.edu Bell Atlantic

7

SIP Advanced Features� operation over UDP or TCP

� multicast invitations➠ basic ACD

� “interactive web response” (IWR)

� UA $ proxy = proxy/redirect$ proxy/redirect

� stateless proxies: self-routing responses

� forking proxies: call several in sequence and/or parallel

� security: basic (password), digest (challenge/response), PGP

Page 8: SIP: Status and Directions1 SIP: Status and Directions Henning Schulzrinne Dept. of Computer Science Columbia University New York, New York schulzrinne@cs.columbia.edu Bell Atlantic

8

More SIP Internet Telephony Services� camp-on without holding a line

� short message service (“instant messaging”)

� schedule call into the future

� call with expiration date

� add/remove parties to/from call➠ mesh

� “buddy lists”

� can support CLASS features (see tech report)

� call transfer under discussion

Page 9: SIP: Status and Directions1 SIP: Status and Directions Henning Schulzrinne Dept. of Computer Science Columbia University New York, New York schulzrinne@cs.columbia.edu Bell Atlantic

9

Internet Telephony – as Part of Internet

� email address = SIP address

� SIP URLs in web pages

� forward to email, web page, chat session, . . .

� include web page in invitation response (“web IVR”)

� RTSP: choose your own music-on-hold

� include vCard, photo URL in invitation

Page 10: SIP: Status and Directions1 SIP: Status and Directions Henning Schulzrinne Dept. of Computer Science Columbia University New York, New York schulzrinne@cs.columbia.edu Bell Atlantic

10

SIP Security� signaling re-uses existing implementations and protocols�!

bugs less likely:

IPsec hop-by-hop

SSL hop-by-hop

basic SIP plaintext password authentication

p

digest SIP challenge-response

p

pgp SIP PGP encryption/authentication for parts/all

p

� media:

IPsec negotiation via SDP

RTP key in SDP (“k=”)

Page 11: SIP: Status and Directions1 SIP: Status and Directions Henning Schulzrinne Dept. of Computer Science Columbia University New York, New York schulzrinne@cs.columbia.edu Bell Atlantic

11

Interdomain Communications and Security

� no difference in protocol betwen intra/inter domain

� any proxy server can insist onProxy-Authentication

� intermediaries can sign requests and responses (e.g., “thisphone belongs to a Bell Atlantic employee”)

Page 12: SIP: Status and Directions1 SIP: Status and Directions Henning Schulzrinne Dept. of Computer Science Columbia University New York, New York schulzrinne@cs.columbia.edu Bell Atlantic

12

SIP Extensibility

� headers that receiver may ignore, e.g.,Photo

� new methods and inquire about those supported (OPTIONS)

� features that receivers needs to understand:Required �!

Unsupported

� e.g.,Required: com.sylantro.feature

� proposed: features supported viaSupported header

Page 13: SIP: Status and Directions1 SIP: Status and Directions Henning Schulzrinne Dept. of Computer Science Columbia University New York, New York schulzrinne@cs.columbia.edu Bell Atlantic

13

An IETF VoIP Architecture

serveraccountingRADIUS

COPS?

sip-cgi

DIAMETER?

firewall

RTSP

MGCP/MEGACOP

LDAP

RTPMG

CPL

RTSP server

record

SIP

SIP server

message

promptsvoice

Page 14: SIP: Status and Directions1 SIP: Status and Directions Henning Schulzrinne Dept. of Computer Science Columbia University New York, New York schulzrinne@cs.columbia.edu Bell Atlantic

14

SIP Voice Mail

SIPRTSP

create URL entry for

email URLor media

voice

recordmessage

prompts

voice message

media playerRTSP server

SIP server

RECORD msgPLAYSETUP

ogm

PLAY

INVITE

Page 15: SIP: Status and Directions1 SIP: Status and Directions Henning Schulzrinne Dept. of Computer Science Columbia University New York, New York schulzrinne@cs.columbia.edu Bell Atlantic

15

IP Centrex

Internet Heads Up Barber

IP

PSTNISP

Ralph’s Pretty Good Grocery

Chatterbox Cafe

Page 16: SIP: Status and Directions1 SIP: Status and Directions Henning Schulzrinne Dept. of Computer Science Columbia University New York, New York schulzrinne@cs.columbia.edu Bell Atlantic

16

SIP Standardization Status

� Feb. 2, 1999: IETF Proposed Standard

� March 17, 1999: IETF RFC 2543

� eligible for Draft Standard: 6 months, 2 implementations

p

� new SIP working group (move frommmusic)

� working on updated draft based on implementation experience

� mostly clarifications + optional headers, no new version

Page 17: SIP: Status and Directions1 SIP: Status and Directions Henning Schulzrinne Dept. of Computer Science Columbia University New York, New York schulzrinne@cs.columbia.edu Bell Atlantic

17

SIP Work Items� sip-cgi

� call processing language(CPL)

� reliable provisional (1xx) re-sponses

� caller preferences

� third-party call control

� SIP for subscribe/notify

� server feature negotiation

� SIP–ISUP interworking

� SIP–H.323 interworking

� billing

� reverse channel setup for callprogress tones

� pre-ringing resource reserva-tion

Page 18: SIP: Status and Directions1 SIP: Status and Directions Henning Schulzrinne Dept. of Computer Science Columbia University New York, New York schulzrinne@cs.columbia.edu Bell Atlantic

18

SIP Bake-Off

� 3 bake-offs: April, August, December

� from 15 to 33 groups

� hardware, PSTN gateways, proxy/redirect servers, clients, testinstrument, . . .

Page 19: SIP: Status and Directions1 SIP: Status and Directions Henning Schulzrinne Dept. of Computer Science Columbia University New York, New York schulzrinne@cs.columbia.edu Bell Atlantic

19

SIP Bake-Off Participants

3Com dynamicsoft Mitel

8x8 Ellemtel Netspeak

Agilent Ericsson Nortel

Alcatel Facet Nuera

Broadsoft Helsinki Univ. OZ.com

British Telecom Hewlett-Packard Pingtel

Catapult Indigo Radcom

Cisco IPcell Telogy

Columbia University Lucent Vovida

Dialogic MCI Worldcom VTEL

Mediatrix

Page 20: SIP: Status and Directions1 SIP: Status and Directions Henning Schulzrinne Dept. of Computer Science Columbia University New York, New York schulzrinne@cs.columbia.edu Bell Atlantic

20

SIP Bake-Off Goals

� basic call set-up

� registration, user location

� proxies and redirect server operation

� advanced features: security

� identify implementation bugs and robustness issues

� identify spec ambiguities

Page 21: SIP: Status and Directions1 SIP: Status and Directions Henning Schulzrinne Dept. of Computer Science Columbia University New York, New York schulzrinne@cs.columbia.edu Bell Atlantic

21

SIP Bake-Off Results� almost all implementations could establish basic calls – either

on arrival or after minor on-site fixes

� tested redirection, proxying, security, registration, . . .

� generated interoperability test cases and tools

� will fold clarifications into Draft revision of RFC and webpage athttp://www.cs.columbia.edu/˜hgs/sip

� install public testing mechanisms (Pulver OpenTestNet,www.siphappens.com)

Page 22: SIP: Status and Directions1 SIP: Status and Directions Henning Schulzrinne Dept. of Computer Science Columbia University New York, New York schulzrinne@cs.columbia.edu Bell Atlantic

22

On-Going Columbia IP Telephony Projects� e*phone: Ethernet SIP phone

� sipc SIP user agent for Windows, Linux, Solaris, . . .

� sipd SIP server

� SIP-H.323 translation

� SIP/RTSP unified messaging

� SIP gateways to the telephone network (T1 E&M, ISDN,. . . )

� SIP mobility

� programming servers: CPL, sip-cgi

Page 23: SIP: Status and Directions1 SIP: Status and Directions Henning Schulzrinne Dept. of Computer Science Columbia University New York, New York schulzrinne@cs.columbia.edu Bell Atlantic

23

On-Going Columbia IP Telephony Projects

� light-weight resource reservation: YESSIR

� resource-reservation aggregation: BGRP

� charging for resource reservations: RNAP

� TRIP telephony gateway routing

� QOS fault detection

Page 24: SIP: Status and Directions1 SIP: Status and Directions Henning Schulzrinne Dept. of Computer Science Columbia University New York, New York schulzrinne@cs.columbia.edu Bell Atlantic

24

Planned Internet Telephony Projects� detailed security evaluation/implementation

� caller preferences implementation

� service creation environments for end users and admins

� SIP for notification (“buddy lists”)

� interaction of signaling and QOS

� SIP and ISUP

� 911 services

Page 25: SIP: Status and Directions1 SIP: Status and Directions Henning Schulzrinne Dept. of Computer Science Columbia University New York, New York schulzrinne@cs.columbia.edu Bell Atlantic

25

e*phone

stand-alone Ethernet phone will full SIP implementation

Page 26: SIP: Status and Directions1 SIP: Status and Directions Henning Schulzrinne Dept. of Computer Science Columbia University New York, New York schulzrinne@cs.columbia.edu Bell Atlantic

26

sipc

Page 27: SIP: Status and Directions1 SIP: Status and Directions Henning Schulzrinne Dept. of Computer Science Columbia University New York, New York schulzrinne@cs.columbia.edu Bell Atlantic

27

sipd

SIP registrar, proxy and redirect server:

� user registration

� forking proxy capability: one call, many destinations

� security mechanisms (basic, digest, pgp) for authentication

� sip-cgi: interface to scripting languages

� caller preferences

� CPL in progress

Page 28: SIP: Status and Directions1 SIP: Status and Directions Henning Schulzrinne Dept. of Computer Science Columbia University New York, New York schulzrinne@cs.columbia.edu Bell Atlantic

28

Integrating Signaling and Instant Messaging: Some Ideas� “reverse” signaling: callee indicates availability

� buddy lists = special case ofevent notification

� other events: “sensor 17 smells smoke”, “Beanie Babies are onsale”, “(voice) mail has arrived”, . . .

� subscribe – notify – set up call

� useful for call parking

� many SIP mechanisms apply: security, redirection, proxying,content negotiation, . . .

Page 29: SIP: Status and Directions1 SIP: Status and Directions Henning Schulzrinne Dept. of Computer Science Columbia University New York, New York schulzrinne@cs.columbia.edu Bell Atlantic

29

SIP for Event Notification

� add two methods:SUBSCRIBE andNOTIFY

� proxy server may interceptSUBSCRIBE

� use message body for event description

� default: presence, indicated byREGISTER

� one ofmanyproposals for presence (IETF WG!)

Page 30: SIP: Status and Directions1 SIP: Status and Directions Henning Schulzrinne Dept. of Computer Science Columbia University New York, New York schulzrinne@cs.columbia.edu Bell Atlantic

30

SIP for Event Notification

SUBSCRIBE

SUBSCRIBE

NOTIFYNOTIFY

REGISTER

SUBSCRIBECarol

publisher

subscriber

Alice

Bob

proxy

Page 31: SIP: Status and Directions1 SIP: Status and Directions Henning Schulzrinne Dept. of Computer Science Columbia University New York, New York schulzrinne@cs.columbia.edu Bell Atlantic

31

Mobility� new network ➠ new

IP address (DHCP)

� mobile IP hides addr.changes

� but: little deployment

� �: encapsulationoverhead

� �: dog-legged routing

� �: IP address filtering

CN

CH

HA

FAtunnelleddatadata

data

data

home network

foreignnetwork

mobile hostcorrespondent hostrouter with home agentfunctionalityrouter with foreign agentfunctionality

MH

CH

HA

HA

MH

MH

Page 32: SIP: Status and Directions1 SIP: Status and Directions Henning Schulzrinne Dept. of Computer Science Columbia University New York, New York schulzrinne@cs.columbia.edu Bell Atlantic

32

SIP Mobility Overview

� pre-call mobility➠ SIP proxy, redirect

� mid-call mobility ➠ SIP re-INVITE, RTP

� recovery from disconnection

Page 33: SIP: Status and Directions1 SIP: Status and Directions Henning Schulzrinne Dept. of Computer Science Columbia University New York, New York schulzrinne@cs.columbia.edu Bell Atlantic

33

SIP Mobility: Pre-call� MH acquires IP ad-

dress via DHCP

� optional: MH findsSIP server via multi-castREGISTER

� MH updates home SIPserver

� optimization: hierar-chical LR (later)

CH

redir

3

1

2

5

foreignnetwork

homenetwork

4

mobile hostcorrespondent host

SIP redirect server

MH

CH

redir

3

1

2

5

4

SIP INVITE

SIP 302 moved temporarily

SIP INVITE

SIP OK

dataMH

MH

Page 34: SIP: Status and Directions1 SIP: Status and Directions Henning Schulzrinne Dept. of Computer Science Columbia University New York, New York schulzrinne@cs.columbia.edu Bell Atlantic

34

SIP mobility: mid-call

� MH!CH: new IN-VITE, with Contactand updated SDP

� re-registers with homeregistrar

CH

13

2

foreignnetwork

homemobile hostcorrespondent host

SIP redirect server

MH

CH

redir

3

1

2

SIP INVITE

SIP OK

data

redir

network

MH

MH

MH

Page 35: SIP: Status and Directions1 SIP: Status and Directions Henning Schulzrinne Dept. of Computer Science Columbia University New York, New York schulzrinne@cs.columbia.edu Bell Atlantic

35

SIP mobility: multi-stage registration

Don’t want to bother home registrar with each move

Contact: alice@CAFrom: alice@NY

Contact: 193.1.1.1

REGISTERINVITE

Los Angeles

San Francisco

Contact: 192.1.2.3From: alice@NY

CA NY

From: alice@NY

Page 36: SIP: Status and Directions1 SIP: Status and Directions Henning Schulzrinne Dept. of Computer Science Columbia University New York, New York schulzrinne@cs.columbia.edu Bell Atlantic

36

Conclusion� SIP basic standard stable

� multiple interoperating implementations

� backward-compatible features:

– interoperation with legacy signaling systems

– mobility

– caller preferences

– call transfer

– . . .

� programming of services: cgi, CPL, applets

Page 37: SIP: Status and Directions1 SIP: Status and Directions Henning Schulzrinne Dept. of Computer Science Columbia University New York, New York schulzrinne@cs.columbia.edu Bell Atlantic

37

For more information. . .

SIP: http://www.cs.columbia.edu/sip

RTP: http://www.cs.columbia.edu/˜hgs/rtp

Papers: http://www.cs.columbia.edu/IRT