telephonysip and the future of internethgs/papers/schu0012_sip.pdf · generic event notification...

46
hgs/Sprint 1 SIP and the Future of Internet Telephony Henning Schulzrinne Dept. of Computer Science Internet Real-Time Laboratory (IRT) Columbia University New York, New York [email protected] Sprint (Burlingame, California) December 8, 2000 With Jonathan Rosenberg, Adam Roach and other participants in the SIP WG November 2000

Upload: others

Post on 03-Oct-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: TelephonySIP and the Future of Internethgs/papers/Schu0012_SIP.pdf · generic event notification ... location mgt. mobility support Roles are changeable, on a request-by-request

hgs/Sprint 1

SIP and the Future of InternetTelephony

Henning SchulzrinneDept. of Computer Science

Internet Real-Time Laboratory (IRT)Columbia UniversityNew York, New York

[email protected]

Sprint (Burlingame, California)

December 8,2000

With Jonathan Rosenberg, Adam Roach and other participants in the SIP WG

November 2000

Page 2: TelephonySIP and the Future of Internethgs/papers/Schu0012_SIP.pdf · generic event notification ... location mgt. mobility support Roles are changeable, on a request-by-request

hgs/Sprint 2

Overview

� VoIP service models

� the IETF VoIP architecture

� the Session Initiation Protocol (SIP)

� programming Internet telephony services

� challenges on the horizon:

– emergency services

– instant messaging & presence

– generic event notification

– integration with 2G mobile (GSM, CDMA)

– next-generation wireless (3GPP, 3GPP2, MWIF, . . . )

November 2000

Page 3: TelephonySIP and the Future of Internethgs/papers/Schu0012_SIP.pdf · generic event notification ... location mgt. mobility support Roles are changeable, on a request-by-request

hgs/Sprint 3

Internet Telephony Service Models

� Internet “PBX”

� Internet Centrex

� Internet Carrier

➠ same basic equipment, but size of gateway varies

November 2000

Page 4: TelephonySIP and the Future of Internethgs/papers/Schu0012_SIP.pdf · generic event notification ... location mgt. mobility support Roles are changeable, on a request-by-request

hgs/Sprint 4

Internet PBX

1

IP

0 0

T1, ISDN (BRI/PRI) or analog lines

SIP proxy server

Ethernet

ISP

November 2000

Page 5: TelephonySIP and the Future of Internethgs/papers/Schu0012_SIP.pdf · generic event notification ... location mgt. mobility support Roles are changeable, on a request-by-request

hgs/Sprint 5

IP Centrex

Internet Heads Up Barber

IP

PSTNISP

Ralph’s Pretty Good Grocery

Chatterbox Cafe

November 2000

Page 6: TelephonySIP and the Future of Internethgs/papers/Schu0012_SIP.pdf · generic event notification ... location mgt. mobility support Roles are changeable, on a request-by-request

hgs/Sprint 6

IP Carrier

0 0

IP

1

MGCPH.248

SIP

SS7

GW

GW

GW

GWGW

GW

GW

GW

El Paso

San Francisco

Bell Canada

Montreal

Verizon

PacificBell

DallasQwest

MCI

BellSouth

New York

Chicago

PacificBell

Denver

BellSouth

LA

November 2000

Page 7: TelephonySIP and the Future of Internethgs/papers/Schu0012_SIP.pdf · generic event notification ... location mgt. mobility support Roles are changeable, on a request-by-request

hgs/Sprint 7

IETF VoIP Protocol Architecture

Signaling

TLSSCTP

IntServDiffServ

SLP

Directory/Discovery

master−slave

peer−to−peerRTSP

QoS Transport

SPIRITS

PINTLDAPDNS/enum TRIP

SIP MGCPH.248

RTP

Languages/APIsvoiceXMLCPL

servletssip−cgi

JAINParlay

November 2000

Page 8: TelephonySIP and the Future of Internethgs/papers/Schu0012_SIP.pdf · generic event notification ... location mgt. mobility support Roles are changeable, on a request-by-request

hgs/Sprint 8

IETF Protocol Reuse

protocol designed for VoIP use

RTSP streaming media voicemail

DNS name lookup E.164 mapping

SCTP reliable transport ISUP transport

PGP email call authentication

MIME email signaling info

SDP multicast sessions SIP, MGCP

November 2000

Page 9: TelephonySIP and the Future of Internethgs/papers/Schu0012_SIP.pdf · generic event notification ... location mgt. mobility support Roles are changeable, on a request-by-request

hgs/Sprint 9

Protocol “Holes”

� “tight” session control for conferences

– admission control

– multicast key distribution

– advanced capability negotiation

� scalable authentication for individuals

� cross-provider QoS: primarily a business problem

November 2000

Page 10: TelephonySIP and the Future of Internethgs/papers/Schu0012_SIP.pdf · generic event notification ... location mgt. mobility support Roles are changeable, on a request-by-request

hgs/Sprint 10

IETF VoIP Architecture Characteristics

� universal identifieruser@domain: SIP URL= email= NAI

� separation of transport of services

� media-neutral, including beyond audio and video

� emphasis on user-programmable services

� web integration: content, mutual referral

� integration with IM and presence

November 2000

Page 11: TelephonySIP and the Future of Internethgs/papers/Schu0012_SIP.pdf · generic event notification ... location mgt. mobility support Roles are changeable, on a request-by-request

hgs/Sprint 11

SIP Overview

� protocol for establishing, modifying, tearing down (multimedia) sessions

� IETF Proposed Standard since March 1999

� multimedia = audio, video, shared applications, text, . . .

� also used for “click-to-dial” (PINT wg) and possibly Internet call waiting(SPIRITS wg)

� to be used for PacketCable Distributed Call Signaling

� to be used for Third-Generation Wireless (3GPP, 3GPP2)

November 2000

Page 12: TelephonySIP and the Future of Internethgs/papers/Schu0012_SIP.pdf · generic event notification ... location mgt. mobility support Roles are changeable, on a request-by-request

hgs/Sprint 12

SIP Components

entity does examples

proxy server forward calls firewall controller, “call router”

redirect server “application server”

user agent end system SIP phone, gateway, “softswitch”

registrar location mgt. mobility support

Roles are changeable, on a request-by-request basis

November 2000

Page 13: TelephonySIP and the Future of Internethgs/papers/Schu0012_SIP.pdf · generic event notification ... location mgt. mobility support Roles are changeable, on a request-by-request

hgs/Sprint 13

SIP Example: Redirection

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]

November 2000

Page 14: TelephonySIP and the Future of Internethgs/papers/Schu0012_SIP.pdf · generic event notification ... location mgt. mobility support Roles are changeable, on a request-by-request

hgs/Sprint 14

SIP Example: Proxying

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

November 2000

Page 15: TelephonySIP and the Future of Internethgs/papers/Schu0012_SIP.pdf · generic event notification ... location mgt. mobility support Roles are changeable, on a request-by-request

hgs/Sprint 15

SIP forking proxies

INVITE [email protected]

[email protected]

INVITE bob@b

[email protected]

200 OK

INVITE carol@c

ACK

BYE [email protected]

200 OK

a.wonderland.com

macrosoft.com

CANCEL bob@c

November 2000

Page 16: TelephonySIP and the Future of Internethgs/papers/Schu0012_SIP.pdf · generic event notification ... location mgt. mobility support Roles are changeable, on a request-by-request

hgs/Sprint 16

SIP advanced features

� forking

� extensibility: new headers, methods, bodies

� security: web-like, PPP/CHAP or PGP

� multicast-capable

� support for personal, session, terminal, service mobility

� caller preferences: direct calls based on properties

November 2000

Page 17: TelephonySIP and the Future of Internethgs/papers/Schu0012_SIP.pdf · generic event notification ... location mgt. mobility support Roles are changeable, on a request-by-request

hgs/Sprint 17

Design choices and alternatives

Alternative but. . .

XML instead of RFC822 space overhead? parsing?

RPC model higher message count

More restrictive syntax implementation creativity

November 2000

Page 18: TelephonySIP and the Future of Internethgs/papers/Schu0012_SIP.pdf · generic event notification ... location mgt. mobility support Roles are changeable, on a request-by-request

hgs/Sprint 18

What is SIP good for (and not)

Good for . . .

� messaging

� application-layer routing➠ end-system abstraction

� low-overhead

Not good for . . .

� general RPC mechanism (mostly)

� high-volume messaging (proxies)

� UDP ➠ large message bodies

� Megaco “stimulus” replacement

November 2000

Page 19: TelephonySIP and the Future of Internethgs/papers/Schu0012_SIP.pdf · generic event notification ... location mgt. mobility support Roles are changeable, on a request-by-request

hgs/Sprint 19

SIP mobility

terminal cross-provider REGISTER, re-INVITEpersonal different terminals, same addressREGISTERservice different terminals, same services upload

session move sessions across terminalsREFER

November 2000

Page 20: TelephonySIP and the Future of Internethgs/papers/Schu0012_SIP.pdf · generic event notification ... location mgt. mobility support Roles are changeable, on a request-by-request

hgs/Sprint 20

SIP personal mobility

[email protected]:12015551234

[email protected]

tel:12128541111

[email protected]

[email protected]

[email protected]

[email protected]

(also used by bob@columbia

yahoo.com

columbia.edu

November 2000

Page 21: TelephonySIP and the Future of Internethgs/papers/Schu0012_SIP.pdf · generic event notification ... location mgt. mobility support Roles are changeable, on a request-by-request

hgs/Sprint 21

Example SIP system

sipum

RTSP

analogFXO

sipgw

sipgw

e*phone

sipd

sipconf

PC Linux/FreeBSD/NT

rtspd

sipc

MySQL

LDAP server

PhoneJack interface

RTPSIP

SIPRTP

T1/E1

PC NT

Sun Solaris

mediaRTSP

server

proxy/redirect server

SIP−H.323converter

unified

conferencingserver(MCU)

messagingserver

user database

sip−h323

November 2000

Page 22: TelephonySIP and the Future of Internethgs/papers/Schu0012_SIP.pdf · generic event notification ... location mgt. mobility support Roles are changeable, on a request-by-request

hgs/Sprint 22

SIP-Based telephony services

conferencing “dial-in”, “dial-out”

forwarding basic SIP

ACD proxy, no protocol extensions

call transfer REFER extension

DTMF transport in RTP, not SIP

billing in resource reservation, (mostly) not SIP

November 2000

Page 23: TelephonySIP and the Future of Internethgs/papers/Schu0012_SIP.pdf · generic event notification ... location mgt. mobility support Roles are changeable, on a request-by-request

hgs/Sprint 23

Current SIP efforts

� SIP to Draft Standard

� QoS and security preconditions

� inter-domain AAA and billing

� session timer for liveness detection

� early media (PSTN announcements)

� SIP for presence / instant messaging

� SIP-H.323 interworking

� reliable provisional responses

� DHCP configuration for finding SIP servers

� SIP for firewalls and NATs

� caller preferences

� services (transfer, multiparty calls, home)

� ISUP carriage

November 2000

Page 24: TelephonySIP and the Future of Internethgs/papers/Schu0012_SIP.pdf · generic event notification ... location mgt. mobility support Roles are changeable, on a request-by-request

hgs/Sprint 24

SIP emergency services

� need

– emergency address

– find nearest PSAP

– PSAP determines caller location

� cannot just rely on gateway calling 911

� generally, allow devices to be location-aware (“what time is it where I’m about tocall?” “call pizza parlor”)

� offers new opportunities: database access, video, measurements, accessibility, . . .

November 2000

Page 25: TelephonySIP and the Future of Internethgs/papers/Schu0012_SIP.pdf · generic event notification ... location mgt. mobility support Roles are changeable, on a request-by-request

hgs/Sprint 25

SIP emergency services

location announcement for each wire

INVITE sip:911

GL: S3.US.45420.1910GPos: 42 21 54 N 71 06 18 W

GPS

user database (location, room number, ...)

INVITE sip:911GL: S3.US.45420.1910

INVITE sip:911GPos: 42 21 54 N 71 06 18 W

first−hop switch

RADIUS orprivate protocol

customerdatabase (names, addresses)

geo <−> civil translation database

November 2000

Page 26: TelephonySIP and the Future of Internethgs/papers/Schu0012_SIP.pdf · generic event notification ... location mgt. mobility support Roles are changeable, on a request-by-request

hgs/Sprint 26

SIP bake-off

� takes place every four months, 5th at Pulver.com August 2000

� 45 organizations from 11 countries

� about 50-60 implementations:

– IP telephones and PC apps

– proxy, redirect, registrar servers

– conference bridges

– unified messaging

– protocol analyzers

� first IM/presence interop test

� emphasis on advanced services (multi-stage proxying, tel URLs, call transfer,IVR, . . . )

November 2000

Page 27: TelephonySIP and the Future of Internethgs/papers/Schu0012_SIP.pdf · generic event notification ... location mgt. mobility support Roles are changeable, on a request-by-request

hgs/Sprint 27

The dangers of VoIP

� focus on single service: voice, fax, . . .

� PSTN: service orientation ! Internet: neutral transport

� APIs as least common denominator across POTS, ISDN, SS7�! 100-year oldfunctionality

� carbon-copy replication of existing services

� terminology overload

November 2000

Page 28: TelephonySIP and the Future of Internethgs/papers/Schu0012_SIP.pdf · generic event notification ... location mgt. mobility support Roles are changeable, on a request-by-request

hgs/Sprint 28

Differences: Internet telephony$ POTS

� separate control, transport (UDP)➠ no triangle routing

� separate connectivity from resource availability

� separate services from bit transport

� datagram service➠ less bootstrapping

� in-band signaling➠ higher speed

� features “network”! end system: distinctive ringing, caller id, speed dialing,number translation, . . .➠ scaling

� features: intra-PBX = inter-LATA and general

� protocols: user-network = network-network signaling

November 2000

Page 29: TelephonySIP and the Future of Internethgs/papers/Schu0012_SIP.pdf · generic event notification ... location mgt. mobility support Roles are changeable, on a request-by-request

hgs/Sprint 29

PSTN legacies to avoid

� E.164 numbers – might as well wear bar codes

� tones (e.g., failure indications)

� in-band signaling (DTMF)

� systems with user interface knowledge (12 keys, voice)

� voice-only orientation (e.g., MGCP/Megaco)

� integration of bit transport and services

� service-specific billing

� trigger model for service creation

� trusted networks without crypto authentication

�! confine PSTN knowledge to edge of network

November 2000

Page 30: TelephonySIP and the Future of Internethgs/papers/Schu0012_SIP.pdf · generic event notification ... location mgt. mobility support Roles are changeable, on a request-by-request

hgs/Sprint 30

Replication of existing services

� “user is familiar with PSTN services”

� but how many users actually know how to use call transfer or directed pick-up?

� user interface is often just legacy of key systems or other ancient technology

� avoid binding of identifiers to devices – call person or group of people, regardlessof location

� instead, model desired behavior

� single-server features don’t need standardization

� find general mechanisms (e.g.,REFER for three-party calls and various calltransfers)

November 2000

Page 31: TelephonySIP and the Future of Internethgs/papers/Schu0012_SIP.pdf · generic event notification ... location mgt. mobility support Roles are changeable, on a request-by-request

hgs/Sprint 31

Terminology overload

Invasion of the meaningless technical-sounding terms, attempting to familiar mimicPSTN boxes:

� CO switch�! soft switches = gateway + SIP UA + ?

� SCP�! application servers = proxy? web server? media server?

� PBX�! Internet PBX = proxy? + gateway?

� . . .

Temptation: new name�! new protocols, APIs, . . . – the old boxboundaries don’tnecessarily make sense!

November 2000

Page 32: TelephonySIP and the Future of Internethgs/papers/Schu0012_SIP.pdf · generic event notification ... location mgt. mobility support Roles are changeable, on a request-by-request

hgs/Sprint 32

It’s that simple. . .

We really only have a few basic components:

� PSTN gateway, with some combination of FXO/FXS

� SIP proxy/redirect/registrar servers (or H.323 gatekeepers)

� SIP user agents (or H.323 terminals): PCs, phones

� media storage servers

� DNS, directory, web, email, news, . . . servers

November 2000

Page 33: TelephonySIP and the Future of Internethgs/papers/Schu0012_SIP.pdf · generic event notification ... location mgt. mobility support Roles are changeable, on a request-by-request

hgs/Sprint 33

Invisible Internet telephony

VoIP technology will appear in . . .

� Internet appliances

� home security cameras, web cams

� 3G mobile terminals

� fire alarms

� chat/IM tools

� interactive multiplayer games

November 2000

Page 34: TelephonySIP and the Future of Internethgs/papers/Schu0012_SIP.pdf · generic event notification ... location mgt. mobility support Roles are changeable, on a request-by-request

hgs/Sprint 34

The largest signaling network is not running SS7

� AT&T: 280 million calls a day

� AOL: 110 million emails/day, total about 18 billion/day

� total> 1 billion instant messages a day (AOL: 500 million)

� signaling effort of call� IM

November 2000

Page 35: TelephonySIP and the Future of Internethgs/papers/Schu0012_SIP.pdf · generic event notification ... location mgt. mobility support Roles are changeable, on a request-by-request

hgs/Sprint 35

Signaling and events

conferencing

MESSAGE

INFO

presence

appliance status

VoIP

eventssessions

INVITE, BYE SUBSCRIBE, NOTIFY

Signaling: “do this” (push) – Events: “this just happened”

November 2000

Page 36: TelephonySIP and the Future of Internethgs/papers/Schu0012_SIP.pdf · generic event notification ... location mgt. mobility support Roles are changeable, on a request-by-request

hgs/Sprint 36

Commonalities between signaling and events

� presence is just a special case of events: “Alice just logged in”� “temperature inboiler exceeds300Æ F”

� need tolocatemobile end points

� may need to find several different destinations (“forking”)

� same addressing for users

� presence often precursor to calls

� may replace call back and call waiting

� likely to be found in same devices

� events already in VoIP: message alert, call events

November 2000

Page 37: TelephonySIP and the Future of Internethgs/papers/Schu0012_SIP.pdf · generic event notification ... location mgt. mobility support Roles are changeable, on a request-by-request

hgs/Sprint 37

SIP as a presence & event platform

� requires minimal extensions to SIP:SUBSCRIBE to ask to be alerted,NOTIFYwhen event occurs

� MESSAGE for sending text messages (“IM”)

� with forking, can easily registerMESSAGE recorder

� true “chat” is voice (+ video)

� services such as reaching mobile phone while in meeting

� types of events:

– inside existing call leg

– within call, but outside call leg

– unrelated to call leg

November 2000

Page 38: TelephonySIP and the Future of Internethgs/papers/Schu0012_SIP.pdf · generic event notification ... location mgt. mobility support Roles are changeable, on a request-by-request

hgs/Sprint 38

SIP and WAP

RTP audio data (PCMU, DVI, at 8 to 48 kHz sampling rate)

CU SIP UA library

WAP WAP proxy

4−line, 16 character screen

MESSAGEMESSAGE

(with config. info)

digital sensor input (optically iso

configurable keypad

stereo input/output (also for

INVITE/BYEproxy server

MESSAGE

REGISTER

November 2000

Page 39: TelephonySIP and the Future of Internethgs/papers/Schu0012_SIP.pdf · generic event notification ... location mgt. mobility support Roles are changeable, on a request-by-request

hgs/Sprint 39

SIP presence architecture

NOTIFY

example.comalice@

macrosoft.com

SUBSCRIBE

NOTIFY

REGISTER

PA

bob

UA

PA

PUA

PUA

PUA

presentity

presence server

registrar

November 2000

Page 40: TelephonySIP and the Future of Internethgs/papers/Schu0012_SIP.pdf · generic event notification ... location mgt. mobility support Roles are changeable, on a request-by-request

hgs/Sprint 40

SIP presence components

Presentity: logical entity being subscribe to, e.g.,[email protected], withseveral agents

Registrar: receivesREGISTER requests

Presence user agent (PUA):generatesREGISTER, but noSUBSCRIBE orNOTIFY ➠ any non-presence-aware SIP software

Presence agent:receiveSUBSCRIBE, generateNOTIFY

Presence server:SIP proxy + PA

Presence client:SIP UA + PA

November 2000

Page 41: TelephonySIP and the Future of Internethgs/papers/Schu0012_SIP.pdf · generic event notification ... location mgt. mobility support Roles are changeable, on a request-by-request

hgs/Sprint 41

SIP presence protocol

200 OK

200 OK

200 OK

NOTIFY alice

NOTIFY alice

subcriberalice

presentity, PAbob

SUBSCRIBE bobEvent: presenceFrom: aliceTo: bob

bob available

bob notavailable

November 2000

Page 42: TelephonySIP and the Future of Internethgs/papers/Schu0012_SIP.pdf · generic event notification ... location mgt. mobility support Roles are changeable, on a request-by-request

hgs/Sprint 42

SIP SUBSCRIBE example

SUBSCRIBE sip:[email protected] SIP/2.0Event: presenceTo: sip:[email protected]: sip:[email protected]: sip:[email protected]: [email protected]: 1 SUBSCRIBEExpires: 3600Content-Length: 0

� Forked to all PUAs that haveREGISTERed with methodSUBSCRIBE.

� 200 (OK) response contains current state.

November 2000

Page 43: TelephonySIP and the Future of Internethgs/papers/Schu0012_SIP.pdf · generic event notification ... location mgt. mobility support Roles are changeable, on a request-by-request

hgs/Sprint 43

SIP NOTIFY example

NOTIFY sip:[email protected]: sip:[email protected]: sip:[email protected]: [email protected]: 1 NOTIFYContent-Type: application/xpidf+xml

<?xml version="1.0"?><!DOCTYPE presence

PUBLIC "-//IETF//DTD RFCxxxx XPIDF 1.0//EN" "xpidf.dtd"><presence>

<presentity uri="sip:[email protected];method="SUBSCRIBE"><atom id="779js0a98">

<address uri="sip:[email protected];method=INVITE"><status status="closed"/>

</address></atom>

</presentity></presence>

November 2000

Page 44: TelephonySIP and the Future of Internethgs/papers/Schu0012_SIP.pdf · generic event notification ... location mgt. mobility support Roles are changeable, on a request-by-request

hgs/Sprint 44

Events: SIP for appliances

SUBSCRIBE [email protected]

NOTIFY [email protected]

INVITE [email protected]

DO [email protected] user agentSIP proxy

(RGW)

(Work with Telcordia)

November 2000

Page 45: TelephonySIP and the Future of Internethgs/papers/Schu0012_SIP.pdf · generic event notification ... location mgt. mobility support Roles are changeable, on a request-by-request

hgs/Sprint 45

Programmable Internet telephony

APIs servlets sip-cgi CPL

Language-independent no Java only yes own

Secure no mostly no, but can be yes

End user service creation no yes power users yes

GUI tools w/portability no no no yes

Call creation yes no no no

Multimedia some yes yes yes

Example: integration with iCal�! automatically export personal calendar to callhandling

November 2000

Page 46: TelephonySIP and the Future of Internethgs/papers/Schu0012_SIP.pdf · generic event notification ... location mgt. mobility support Roles are changeable, on a request-by-request

hgs/Sprint 46

Conclusion

� basic IETF-based architecture in place

� SIP as foundation for services – seehttp://www.cs.columbia.edu/sip

� extensions to mobility, emergency services,. . . in progress

� first (and last?) chance to recover from 120 years of legacy

� avoid replication of PSTN on packets

� most VoIP applications won’t look like a telephone

� opportunities in emergency services, mobile, event notification

November 2000