sip and services 1 blindsiders may 99 lucent technologies - proprietary sip a platform for providing...

39
SIP and Services 1 Blindsiders May 99 Lucent Technologies - Proprietary SIP A Platform for Providing Integrated Services Jonathan Rosenberg Bell Laboratories May 27, 1999 http://www.dnrc.bell-labs.com/~jdrosen/papers/blindsiders99_sip.ppt

Upload: sophia-heath

Post on 27-Mar-2015

215 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: SIP and Services 1 Blindsiders May 99 Lucent Technologies - Proprietary SIP A Platform for Providing Integrated Services Jonathan Rosenberg Bell Laboratories

SIP and Services1Blindsiders May 99

Lucent Technologies - Proprietary

SIP A Platform for Providing Integrated Services

Jonathan Rosenberg

Bell LaboratoriesMay 27, 1999

http://www.dnrc.bell-labs.com/~jdrosen/papers/blindsiders99_sip.ppt

Page 2: SIP and Services 1 Blindsiders May 99 Lucent Technologies - Proprietary SIP A Platform for Providing Integrated Services Jonathan Rosenberg Bell Laboratories

SIP and Services2Blindsiders May 99

Lucent Technologies - Proprietary

Talk Outline• SIP Overview

– History

– Technology

• SIP Server as a Service Platform

• Example integrated services

• SIP CGI for service creation

• CPL for service creation

• Future Directions

Page 3: SIP and Services 1 Blindsiders May 99 Lucent Technologies - Proprietary SIP A Platform for Providing Integrated Services Jonathan Rosenberg Bell Laboratories

SIP and Services3Blindsiders May 99

Lucent Technologies - Proprietary

Introducing - Session Initiation Protocol (SIP)• Developed in mmusic group in IETF

– Proposed standard RFC2543, Feb. 1999– Work began 1995– Part of Internet Multimedia Conferencing

Suite

• Main functions– Invitation of users to sessions

• Find the users current location to deliver invitation

• Carry opaque session descriptions

– Modification of sessions– Termination of sessions

• Main Features– Personal mobility services

– Wide area operation

– Session independence• voice, video, games, chat,

virtual reality, etc.

– Leverages other Internet protocols

Page 4: SIP and Services 1 Blindsiders May 99 Lucent Technologies - Proprietary SIP A Platform for Providing Integrated Services Jonathan Rosenberg Bell Laboratories

SIP and Services4Blindsiders May 99

Lucent Technologies - Proprietary

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

• Redirect Server– “Network” server; redirects users to

try other server

• Proxy Server– “Network Server” Proxies request to

another server Can “fork” request to multiple servers, creating a search tree

• Registrar– receives registrations regarding

current user locations

Page 5: SIP and Services 1 Blindsiders May 99 Lucent Technologies - Proprietary SIP A Platform for Providing Integrated Services Jonathan Rosenberg Bell Laboratories

SIP and Services5Blindsiders May 99

Lucent Technologies - Proprietary

SIP Architecture

1

2

3

45

67

8

9

1011

12

SIP Client

SIP RedirectServer

SIP Proxy SIP Proxy

SIP Client(User AgentServer)

Location Service

Request

Response

13

14

Media

Page 6: SIP and Services 1 Blindsiders May 99 Lucent Technologies - Proprietary SIP A Platform for Providing Integrated Services Jonathan Rosenberg Bell Laboratories

SIP and Services6Blindsiders May 99

Lucent Technologies - Proprietary

SIP Message Syntax• Many header fields

from http

• New ones (Also, Replaces, Via) are SIP specific

• Payload contains a media description

• SDP - SessionDescription Protocol

INVITE sip:[email protected] SIP/2.0From: J. Rosenberg <sip:[email protected]>Subject: SIP will be discussed, tooTo: A. Netravali <sip:[email protected]>Call-ID: [email protected]: application/sdpCSeq: 4711 INVITEContent-Length: 187

v=0o=user1 53655765 2353687637 IN IP4 128.3.4.5s=Mbone Audioi=Discussion of Mbone Engineering [email protected]=IN IP4 224.2.0.1/127t=0 0m=audio 3456 RTP/AVP 0

Page 7: SIP and Services 1 Blindsiders May 99 Lucent Technologies - Proprietary SIP A Platform for Providing Integrated Services Jonathan Rosenberg Bell Laboratories

SIP and Services7Blindsiders May 99

Lucent Technologies - Proprietary

Why SIP on the Internet?• Wide Area Scalability

– Stateless to call-state aware servers

– Single UDP port to TCP connection per transaction

– Simplicity = faster processing

• Interoperability– Textual encoding– “parsimonious on sending, gracious

on receiving”– Simplicity

• UAC assigned as HW project

– 18 implementations at bakeoff

• Extensibility– Textual encoding– Extension feature negotiation– Distributed development

Page 8: SIP and Services 1 Blindsiders May 99 Lucent Technologies - Proprietary SIP A Platform for Providing Integrated Services Jonathan Rosenberg Bell Laboratories

SIP and Services8Blindsiders May 99

Lucent Technologies - Proprietary

Services, services, services!• IP telephony cost

benefits to consumer declining

• Must be differentiators– higher quality

– ease of use - UI

– new services and features

• Key is new services– integration services

• email, web, presence, IM, chat part of telephony

– control services• allow parameters to be

defined by consumer

– presentation services• new look and feel for old

friends

Page 9: SIP and Services 1 Blindsiders May 99 Lucent Technologies - Proprietary SIP A Platform for Providing Integrated Services Jonathan Rosenberg Bell Laboratories

SIP and Services9Blindsiders May 99

Lucent Technologies - Proprietary

SIP Server• Primary place for SIP

services

• Service Classes– routing services

– rejection/redirection services

– logging/notification services

• Integration– add web, email, chat, to all

of the above

SIP Server

Service Logic

Requests Requests

Responses Responses

Service Logic Interface

Page 10: SIP and Services 1 Blindsiders May 99 Lucent Technologies - Proprietary SIP A Platform for Providing Integrated Services Jonathan Rosenberg Bell Laboratories

SIP and Services10Blindsiders May 99

Lucent Technologies - Proprietary

Why SIP for Integration?• MIME

– Uses MIME types as payloads

– Can carry anything• HTML, VXML…

• URI’s– Uniform Resource

Identifiers

– Internet mechanism for naming resources

• http://www.bell-labs.com• mailto:[email protected]• tel:5551212

– SIP uses URI’s for all addresses

• DNS– Uses DNS SRV records for

server resolution

– Same mechanism as email routing

Page 11: SIP and Services 1 Blindsiders May 99 Lucent Technologies - Proprietary SIP A Platform for Providing Integrated Services Jonathan Rosenberg Bell Laboratories

SIP and Services11Blindsiders May 99

Lucent Technologies - Proprietary

Interactive Web Response• user calls a number

• SIP server fetches content, returns to caller

• web page “answers”

• use hyperlinks instead of keypresses to navigate– much easier than voice

• final link makes phone call

INVITE http

content

Web Page

INVITE

OK

Page 12: SIP and Services 1 Blindsiders May 99 Lucent Technologies - Proprietary SIP A Platform for Providing Integrated Services Jonathan Rosenberg Bell Laboratories

SIP and Services12Blindsiders May 99

Lucent Technologies - Proprietary

Interactive Content Response• IWR: what if its not a PC?

• Use SIP MIME handling– Gateways indicate support

for VXML

– PC’s indicate support for HTML

– Server returns based on client capabilities

• Cross platform

INVITEhttp

content

Web Page

ICR Service

INVITE

VXML

PSTN

GW

Page 13: SIP and Services 1 Blindsiders May 99 Lucent Technologies - Proprietary SIP A Platform for Providing Integrated Services Jonathan Rosenberg Bell Laboratories

SIP and Services13Blindsiders May 99

Lucent Technologies - Proprietary

Personalized Web Agents (PWA)• A calls B• B is not home• After N rings, A gets web

page instead– possibly dynamically created

for caller• “Thanks, Joe, for calling

regarding Sales Deal”

– lists alternate contact information/times

• email, voicemail URL’s

INVITE INVITE

Web Page

Page 14: SIP and Services 1 Blindsiders May 99 Lucent Technologies - Proprietary SIP A Platform for Providing Integrated Services Jonathan Rosenberg Bell Laboratories

SIP and Services14Blindsiders May 99

Lucent Technologies - Proprietary

Web Caller ID• Calling Party Service

– When A calls B, B’s homepage appears in A’s browser

– “homepage” dynamically generated for A perhaps

• Called Party Service– When A calls B, A’s

homepage appears in B’s browser

– Traditional direction

SIP INVITE

http GET

A’s page

A B

200 OK

Web Server

Page 15: SIP and Services 1 Blindsiders May 99 Lucent Technologies - Proprietary SIP A Platform for Providing Integrated Services Jonathan Rosenberg Bell Laboratories

SIP and Services15Blindsiders May 99

Lucent Technologies - Proprietary

Transfer To Web• A calls B• A and B talk

– subject of conversation is some web page

• B hangs up, transfers A to page

• A’s browser jumps to page

SIP INVITEA

B

200 OK

Web Server

Transfer http://….http GETW

eb page

Page 16: SIP and Services 1 Blindsiders May 99 Lucent Technologies - Proprietary SIP A Platform for Providing Integrated Services Jonathan Rosenberg Bell Laboratories

SIP and Services16Blindsiders May 99

Lucent Technologies - Proprietary

Email• E-mail not good for

interactive communications

• Great for notification related services!– Type of information

unbounded

• Notification possibilities– call information

– subscriber information• monthly bill

– network information• special offer!

– Messaging• emails contain URLs to

streaming media controls

Page 17: SIP and Services 1 Blindsiders May 99 Lucent Technologies - Proprietary SIP A Platform for Providing Integrated Services Jonathan Rosenberg Bell Laboratories

SIP and Services17Blindsiders May 99

Lucent Technologies - Proprietary

Email Ringback• A calls B• Server checks access lists

– A is on “email ringback list”

• Server converts SIP INVITE to email, places A’s SIP URL there

• Server rejects call– includes text in body saying B alerted

by email

• B gets email, can call back A by clicking on link

• Can also use IM!SI

P INVIT

E40

0 w/ t

ext

SMTP

A

B

IMAPSIP INVITE200 OK

SIP Server

MailServer

Page 18: SIP and Services 1 Blindsiders May 99 Lucent Technologies - Proprietary SIP A Platform for Providing Integrated Services Jonathan Rosenberg Bell Laboratories

SIP and Services18Blindsiders May 99

Lucent Technologies - Proprietary

Email Call Logs• A calls B

• server rings B, B not home

• server returns error to A

• server generates email call log for B– time, date of call

– caller, subject, priority

– URL for returning callSI

P INVIT

E40

0 no

t hom

e

SMTP

A

B

SIP Server

MailServer

SIP IN

VIT

E

Page 19: SIP and Services 1 Blindsiders May 99 Lucent Technologies - Proprietary SIP A Platform for Providing Integrated Services Jonathan Rosenberg Bell Laboratories

SIP and Services19Blindsiders May 99

Lucent Technologies - Proprietary

Redirect to Email• A calls B• server notices A is on

access list for service• Redirects caller to

mailto URL• Caller’s mail tool

starts, with To, Subject filled in

INVITE

SIP Server

300 Send emailContact: mailto:[email protected]

Check accesslist

Page 20: SIP and Services 1 Blindsiders May 99 Lucent Technologies - Proprietary SIP A Platform for Providing Integrated Services Jonathan Rosenberg Bell Laboratories

SIP and Services20Blindsiders May 99

Lucent Technologies - Proprietary

Call Filtering to Email• Similar to previous• Server lets some calls proceed

– based on priority– based on caller– based on time of day

• Others are redirected to email– personal email for personal calls– business email for others

INVITE

SIP Server

300 Send

email

Check accesslist

INV

ITE

INVITE

Caller A

Caller B

CalledParty

Page 21: SIP and Services 1 Blindsiders May 99 Lucent Technologies - Proprietary SIP A Platform for Providing Integrated Services Jonathan Rosenberg Bell Laboratories

SIP and Services21Blindsiders May 99

Lucent Technologies - Proprietary

Presence• ICQ concept

– “buddy lists” and subscriptions

– know who is online

– normally for instant messages

• Big idea:

• Users can subscribe to each other, and learn:– when they pick up and hang

up the phone– when they are available to

talk or not– when they are in the office or

not• chair sensor!

– when the cell-phone is on or not

Presence propagates information abouta users willingness, ability, and desire to communicate using a variety of mediums

Page 22: SIP and Services 1 Blindsiders May 99 Lucent Technologies - Proprietary SIP A Platform for Providing Integrated Services Jonathan Rosenberg Bell Laboratories

SIP and Services22Blindsiders May 99

Lucent Technologies - Proprietary

Example Presence Service• Phone status subscription

– A subscribes to B’s phone– When B’s phone state changes

• hook state• willingness to talk

– Notification sent to A• email, instant message,

presence notification

– A can then• call B• unsubscribe to B

SUBSCRIBEhangup

NOTIFY

Presenceserver

Page 23: SIP and Services 1 Blindsiders May 99 Lucent Technologies - Proprietary SIP A Platform for Providing Integrated Services Jonathan Rosenberg Bell Laboratories

SIP and Services23Blindsiders May 99

Lucent Technologies - Proprietary

SIP and Presence• SIP Server = Presence

Server!– SIP server knows user’s

location• SIP REGISTER method

• Any URL - email, http, pager

– Presence namespace = SIP namespace

– Presence service can be transparent

REGISTER

NOTIFY

SIP/PresenceServer

Page 24: SIP and Services 1 Blindsiders May 99 Lucent Technologies - Proprietary SIP A Platform for Providing Integrated Services Jonathan Rosenberg Bell Laboratories

SIP and Services24Blindsiders May 99

Lucent Technologies - Proprietary

Presence Standards• Instant Messaging and

Presence Protocol (IMPP) Working Group– IETF wg– currently doing

requirements

• Internet Standard for IMPP

• SIP is a proposal for the presence protocol

Page 25: SIP and Services 1 Blindsiders May 99 Lucent Technologies - Proprietary SIP A Platform for Providing Integrated Services Jonathan Rosenberg Bell Laboratories

SIP and Services25Blindsiders May 99

Lucent Technologies - Proprietary

Caller Controls• In PSTN, caller has little

control on call handling

• SIP Caller Preferences– Service Preferences

– Routing Preferences

• Service Prefs– line hunt vs. ring all

– forward vs. redirect

• Routing preferences– reach home address

– reach cell phone

– reach line where English spoken

– reach line with voicemail

• Caller and callee preferences combined– feature interaction!

Page 26: SIP and Services 1 Blindsiders May 99 Lucent Technologies - Proprietary SIP A Platform for Providing Integrated Services Jonathan Rosenberg Bell Laboratories

SIP and Services26Blindsiders May 99

Lucent Technologies - Proprietary

Challenge - Service Programmability

• Where do services live?

• What controls do the programs have?

• When can the program execute controls?

• What information are the programs provided?

• What resources do the programs have access to?

• Who can create the programs?

• How are the programs instantiated?

Page 27: SIP and Services 1 Blindsiders May 99 Lucent Technologies - Proprietary SIP A Platform for Providing Integrated Services Jonathan Rosenberg Bell Laboratories

SIP and Services27Blindsiders May 99

Lucent Technologies - Proprietary

Location of logic• SIP User Agents

– trust issues

– heterogeneity of platforms

– always on problem

• SIP servers– natural place for routing,

screening, pre-call services

• External devices to SIP servers– SCP/SSP model in IN

• safety, load balancing, good for third parties

• latency issues in IP

– what replaces INAP?• DIAMETER? COPS?

MGCP+?

• SIP (same syntax, wrong semantics)

Page 28: SIP and Services 1 Blindsiders May 99 Lucent Technologies - Proprietary SIP A Platform for Providing Integrated Services Jonathan Rosenberg Bell Laboratories

SIP and Services28Blindsiders May 99

Lucent Technologies - Proprietary

Nature of C/I• Highest level

– “new call from Joe to Bob”

– forward call

– can be SP independent

• Medium level– state machine transitions

+ basic data (caller, callee, etc.)

• Lowest level– Full messages

• Not a single answer!– Fundamental tradeoffs:

• simplicity vs. flexibility

• safety vs. flexibility

Page 29: SIP and Services 1 Blindsiders May 99 Lucent Technologies - Proprietary SIP A Platform for Providing Integrated Services Jonathan Rosenberg Bell Laboratories

SIP and Services29Blindsiders May 99

Lucent Technologies - Proprietary

Who can write them?• Creator determines

tradeoff operating point

• Three principals– Administrator

– Third party provider

– End user

• Lines can be blurry• Real operating point

depends largely on trust

Page 30: SIP and Services 1 Blindsiders May 99 Lucent Technologies - Proprietary SIP A Platform for Providing Integrated Services Jonathan Rosenberg Bell Laboratories

SIP and Services30Blindsiders May 99

Lucent Technologies - Proprietary

Other issues• Access to resources

– What else can program do besides control

– General purpose program - anything

– Java script - lots, but not everything

– configuration script - very limited

• How does it get there?– Linked in (API model)

• server must be taken down, recompiled

• not clean

– separate process (CGI)

– data read in (servlet model)

Page 31: SIP and Services 1 Blindsiders May 99 Lucent Technologies - Proprietary SIP A Platform for Providing Integrated Services Jonathan Rosenberg Bell Laboratories

SIP and Services31Blindsiders May 99

Lucent Technologies - Proprietary

CGI Model• Server receives request

• Server spawns separate process

• Request passed to script– headers in env. Variables

– body on stdin

• Script generates body of response– sends on stdout

• Script terminates

• Server sends response

WebServer

ScriptProcess

HTTP GET

200 OK

ENV +stdin

stdout

Page 32: SIP and Services 1 Blindsiders May 99 Lucent Technologies - Proprietary SIP A Platform for Providing Integrated Services Jonathan Rosenberg Bell Laboratories

SIP and Services32Blindsiders May 99

Lucent Technologies - Proprietary

SIP CGI• Benefits of CGI as a

basis– programming language

independence

– full control over headers/messages

– leverage existing tools

– SIP similar to HTTP

• What’s different from HTTP CGI– persistence model

– multiple actions per script output

– response naming

– request naming

Page 33: SIP and Services 1 Blindsiders May 99 Lucent Technologies - Proprietary SIP A Platform for Providing Integrated Services Jonathan Rosenberg Bell Laboratories

SIP and Services33Blindsiders May 99

Lucent Technologies - Proprietary

Example OutputINVITE sip:[email protected] SIP/2.0To: sip:[email protected]: sip:[email protected]: 10Cseq: 0 INVITEContent-Length: 0

PROXY_REQUEST_TO sip:[email protected] SIP/2.0Max-Forwards:

SIP/2.0 180 Ringing User

CGI_SCRIPT_COOKIE aoi988ans0naa SIP/2.0

Page 34: SIP and Services 1 Blindsiders May 99 Lucent Technologies - Proprietary SIP A Platform for Providing Integrated Services Jonathan Rosenberg Bell Laboratories

SIP and Services34Blindsiders May 99

Lucent Technologies - Proprietary

Status• Draft 1 submitted to

IETF Dec98, draft 2 May 21, 1999

• No wg to do it– likely we will submit as

informational

• Two known implementations

Page 35: SIP and Services 1 Blindsiders May 99 Lucent Technologies - Proprietary SIP A Platform for Providing Integrated Services Jonathan Rosenberg Bell Laboratories

SIP and Services35Blindsiders May 99

Lucent Technologies - Proprietary

Solution II: CPL• Call Processing

Language– targeted for end user

service creation

– controls at high level

– information available at high level

– Describes basic service

• Model: SIB’s from IN– service = DAG

– Two types of nodes• action nodes: outputs =

results

• decision nodes: ouputs = possible values

– Safety

– Bounds on compute time

Page 36: SIP and Services 1 Blindsiders May 99 Lucent Technologies - Proprietary SIP A Platform for Providing Integrated Services Jonathan Rosenberg Bell Laboratories

SIP and Services36Blindsiders May 99

Lucent Technologies - Proprietary

Example DAG

String Switchfield = “From”

Proxy [email protected]

Proxy tovoicemail

Proxy to555-1212

[email protected]

otherwise

No answer

Busy

Busy

No an

swerCall

Page 37: SIP and Services 1 Blindsiders May 99 Lucent Technologies - Proprietary SIP A Platform for Providing Integrated Services Jonathan Rosenberg Bell Laboratories

SIP and Services37Blindsiders May 99

Lucent Technologies - Proprietary

Representation• Use XML

– links = subtags– parameters = attributes– extensibility

mechanisms useful– easy transport– generation/parsing by

tools• GUI for creation

<call> <string-switch field=“from”> <string is=“[email protected]”> <location url=“sip:[email protected]”> <proxy> <busy> <location url=“tel:5551212”> <proxy> <busy> <location url=“sip:[email protected]” link=“vm”> <proxy/> </location> </busy> <noanswer> <link id=“vm”/> </noanswer> </proxy> </location> </busy> <noanswer> <link id=“vm”/> </noanswer> </proxy> </location> </string> <otherwise> <link id=“vm”/> </otherwise> </string-switch></call>

Page 38: SIP and Services 1 Blindsiders May 99 Lucent Technologies - Proprietary SIP A Platform for Providing Integrated Services Jonathan Rosenberg Bell Laboratories

SIP and Services38Blindsiders May 99

Lucent Technologies - Proprietary

Implementation Status• gosSIP server platform

– SIP server

– CGI, CPL, other programming interfaces

– Access to other IP services (planned)

• http, smtp, ldap, diameter

– Platform for integrated service creation

gossip Server

MailServices

IM andPresence Services

DirectoryServices

ConferenceServices

WebServices

Page 39: SIP and Services 1 Blindsiders May 99 Lucent Technologies - Proprietary SIP A Platform for Providing Integrated Services Jonathan Rosenberg Bell Laboratories

SIP and Services39Blindsiders May 99

Lucent Technologies - Proprietary

Conclusions• Integrated Services key

• Many ways in which email, web, presence, IM, chat can work with voice

• SIP a natural platform– IP friendly - URI’s, MIME

– Scalable, interoperable, simple

• CPL/CGI for service creation

• Future work– New Programmability

models• Java servlets

• DIAMETER

– Presence and IM

– SIP to IN call model mappings (w/ INU)