1 © NOKIA 1999 FILENAMs.PPT/ DATE / NN SIP Service Architecture Markus Isomäki Nokia Research...

18
1 © NOKIA 1999 FILENAMs.PPT/ DATE / NN SIP Service Architecture Markus Isomäki Nokia Research Center

Transcript of 1 © NOKIA 1999 FILENAMs.PPT/ DATE / NN SIP Service Architecture Markus Isomäki Nokia Research...

Page 1: 1 © NOKIA 1999 FILENAMs.PPT/ DATE / NN SIP Service Architecture Markus Isomäki Nokia Research Center.

1 © NOKIA 1999 FILENAMs.PPT/ DATE / NN

SIP Service Architecture

Markus Isomäki

Nokia Research Center

Page 2: 1 © NOKIA 1999 FILENAMs.PPT/ DATE / NN SIP Service Architecture Markus Isomäki Nokia Research Center.

2 © NOKIA 1999 FILENAMs.PPT/ DATE / NN

Contents

• Motivation

• Routing model

• Application Server types

• Service building blocks

• Example

• 3GPP

Page 3: 1 © NOKIA 1999 FILENAMs.PPT/ DATE / NN SIP Service Architecture Markus Isomäki Nokia Research Center.

3 © NOKIA 1999 FILENAMs.PPT/ DATE / NN

Services• New services and more flexible service creation

should differentiate IP Communications Network from PSTN

• Services should combine different forms of communication, thus multiple protocols are needed:

- SIP for media sessions and session related services, subscriptions and notifications?, messaging?

- HTTP for web and transactions

- SMTP for e-mail

- RTSP for media streaming

• Is terminal the key?

- PCs with something like Netmeeting/Outlook? Desktop phones? Cell phones? PDAs?

Page 4: 1 © NOKIA 1999 FILENAMs.PPT/ DATE / NN SIP Service Architecture Markus Isomäki Nokia Research Center.

4 © NOKIA 1999 FILENAMs.PPT/ DATE / NN

Routing and Service Model

P1 P2 P3 P4

AS1 AS2

A B

A's HomeDomain

B's HomeDomain

A's VisitedDomain

B's VisitedDomain

P1, P4: Outboud Proxies

P2, P3: Registrar Proxies

AS1, AS2: Application Servers

Page 5: 1 © NOKIA 1999 FILENAMs.PPT/ DATE / NN SIP Service Architecture Markus Isomäki Nokia Research Center.

5 © NOKIA 1999 FILENAMs.PPT/ DATE / NN

SIP Entities & Service Capabilities• User Agent

- Can run services, such as forwarding, filtering etc.

- Not always connected (out of coverage/battery etc.)

• Redirect Server

- Can do services that require only Request-URI change, e.g. translation, parameter addition etc.

• Proxy Server

- Can change certain headers and stay in the signaling path

- Forking, actions based on responses

• Back-to-Back User Agent

- Can e.g. issue requests to a call leg or modify SDP

- In many cases necessary

Page 6: 1 © NOKIA 1999 FILENAMs.PPT/ DATE / NN SIP Service Architecture Markus Isomäki Nokia Research Center.

6 © NOKIA 1999 FILENAMs.PPT/ DATE / NN

Application Server?

• Fuzzy Definition

• Can be a Redirect or Proxy Server or Back-to-Back UA

• The key is that it should be programmable

- Routing based on service logic:

what to do when user not registered or busy

URI translation

Reachability chains

Interfaces to other protocols: HTTP, SMTP, RTSP etc.

• Can be single purpose boxes, or multi-purpose boxes, or controllers who orchestrate things

Page 7: 1 © NOKIA 1999 FILENAMs.PPT/ DATE / NN SIP Service Architecture Markus Isomäki Nokia Research Center.

7 © NOKIA 1999 FILENAMs.PPT/ DATE / NN

Server Components• Media Server (SIP, RTSP, HTTP)

- Announcements, IVR, Voicemail, Media on demand

• Conferencing Server (SIP)

- Media mixer

• Presence Server (SIP)

- Users status info, capabilities, willingness to communicate

• Web Server (HTTP), E-mail Server (SMTP), Messaging Server (SIP?), Text-to-Speech Server etc.

• Controller Server

- Co-ordinates the overall service

=> Server resources can be addressed by URLs, no need for tight coupling a la MGCP/Megaco

Page 8: 1 © NOKIA 1999 FILENAMs.PPT/ DATE / NN SIP Service Architecture Markus Isomäki Nokia Research Center.

8 © NOKIA 1999 FILENAMs.PPT/ DATE / NN

Basic Mechanisms• Record-Routing

- Done with the initial request (e.g. INVITE)

- Proxies can decide whether they want to remain on the signaling path by inserting their name in Record-Route header

=> Either one-shot or per-request service control

• Forking

- Stateful proxy can send the same request to several places in parallel

- For INVITE all 200 OK responses sent back to the originator, for others only the first one

=> Allows for parallel searches e.g. when user has registered from several places

Page 9: 1 © NOKIA 1999 FILENAMs.PPT/ DATE / NN SIP Service Architecture Markus Isomäki Nokia Research Center.

9 © NOKIA 1999 FILENAMs.PPT/ DATE / NN

Basic Mechanisms II

• Forwarding already supported via Redirection

- Forwarding on busy etc.

• Caller Preferences

- Caller can indicate how he likes his request to be treated (terminal capabilities, spoken languages etc.) by adding some special header parameters

- These can be matched to callee's registration state

Page 10: 1 © NOKIA 1999 FILENAMs.PPT/ DATE / NN SIP Service Architecture Markus Isomäki Nokia Research Center.

10 © NOKIA 1999 FILENAMs.PPT/ DATE / NN

SUBSCIBE-NOTIFY and Presence

Watcher PSSUBSCRIBE

200 OK

202

NOTIFY

200 OK

NOTIFY

Presentity

200 OK

REGISTER

• REGISTER and NOTIFY can carry presence information,

such as user capabilities, preferences and willingness

to communicate

Page 11: 1 © NOKIA 1999 FILENAMs.PPT/ DATE / NN SIP Service Architecture Markus Isomäki Nokia Research Center.

11 © NOKIA 1999 FILENAMs.PPT/ DATE / NN

Third Party Call Control

C

UA1 UA2

INVITEINVITE

MEDIA

• Details are still to be solved in the IETF

• Powerful tool e.g. for inviting users to centralized conferences

or sessions with a Media Server

Page 12: 1 © NOKIA 1999 FILENAMs.PPT/ DATE / NN SIP Service Architecture Markus Isomäki Nokia Research Center.

12 © NOKIA 1999 FILENAMs.PPT/ DATE / NN

REFER and Call Transfer

Transferor Transferee Transfer TargetINVITE/200 OK/ACK

REFER

202 Accepted

200 OK

INVITE (hold)/200 OK/ACK

INVITE/200 OK/ACK

NOTIFY (200 OK)

BYE/200 OK

BYE/200 OK

Page 13: 1 © NOKIA 1999 FILENAMs.PPT/ DATE / NN SIP Service Architecture Markus Isomäki Nokia Research Center.

13 © NOKIA 1999 FILENAMs.PPT/ DATE / NN

Instant Messaging

• SIP Message method

- Really simple

- Almost no implementation work

• Another option is first to setup a session with INVITE for the messaging

- Can utilize forwarding, REFER etc.

- Lot of overhead for SMS type of operation

Page 14: 1 © NOKIA 1999 FILENAMs.PPT/ DATE / NN SIP Service Architecture Markus Isomäki Nokia Research Center.

14 © NOKIA 1999 FILENAMs.PPT/ DATE / NN

How to Program Services

• Call Processing Language

• SIP CGI

• SIP Servlets

• SIP JAIN

• Soft SSF and INAP/CAP

• Parlay

• OSA

=> Whatever… Different abstraction levels

The claim is that it should be as open as flexible as creating services in the web these days

Page 15: 1 © NOKIA 1999 FILENAMs.PPT/ DATE / NN SIP Service Architecture Markus Isomäki Nokia Research Center.

15 © NOKIA 1999 FILENAMs.PPT/ DATE / NN

Autoconferencing Service Example

Contr.

Prec.Server

MediaServer

Conf.Server

Mess.Server

Terminals

1. One user orders the conference by filling a web form

2. Controller subscribes to each participants presence

3. When all available, send message or start IVR session to each participant to confirm willingness

4. Connect each participant to conference server. Play announcements to conference from media server when new parties join

Page 16: 1 © NOKIA 1999 FILENAMs.PPT/ DATE / NN SIP Service Architecture Markus Isomäki Nokia Research Center.

16 © NOKIA 1999 FILENAMs.PPT/ DATE / NN

3GPP Service Architecture

SIP ApplicationServer

C AM EL ServiceEnvironm ent

SIP+

OSA APICx

IM SSF

SIP+

O SAApplication

Server

S -C SC FO SA Service

C apability Server(SC S)

H SSSIP+

CAP

MAP

Page 17: 1 © NOKIA 1999 FILENAMs.PPT/ DATE / NN SIP Service Architecture Markus Isomäki Nokia Research Center.

17 © NOKIA 1999 FILENAMs.PPT/ DATE / NN

Problems

• How to make "service routing"?

• How to make service components really independent?

• If there is dependency, how to move parameters between the components?

Page 18: 1 © NOKIA 1999 FILENAMs.PPT/ DATE / NN SIP Service Architecture Markus Isomäki Nokia Research Center.

18 © NOKIA 1999 FILENAMs.PPT/ DATE / NN

Conclusion

• SIP with other protocols allows creation of all existing PSTN/IN services + additional ones with web, e-mail, video or messaging components

• In theory programmability can be opened to any party. A new value chain?

- Infra provider

- Basic communication service provider

- Application service provider

- Hosting provider

• Some fundamental problems still need fixing