Top Banner
Spring 2004 Introduction to SIP Introduction to SIP School of Electronics and Informat ion Kyung Hee University Choong Seon HONG [email protected] http://networking.khu.ac.kr
77

Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG [email protected] .

Dec 18, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

Spring 2004

Introduction to SIPIntroduction to SIP

School of Electronics and InformationKyung Hee University

Choong Seon [email protected]

http://networking.khu.ac.kr

Page 2: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

2Spring 2004

Overview of SIP

Proposed standard released in 1999, current release in 2002

Session-layer control-plane signaling protocol with support for establishing, modifying and terminating one-to-one or multiparty sessions.

Light-weight, ASCII based generic signaling protocol to facilitate multimedia communications over IP

Independent of media characteristics and transport protocol properties

Work in IETF currently by SIP WG and SIPPING WG Related work by MMUSIC WG, AAA WG, GEOPRIV

WG, SIMPLE WG, Internet Telephony WG 3GPP has decided to support it in IP multimedia

services (IMS) domain.

Page 3: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

3Spring 2004

Overview of SIP (cont’d)

SIP is complimentary to SGCP/MGCP SIP Provides Session Control SGCP/MGCP Provides Device Control

Page 4: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

4Spring 2004

The Big FAQ and SIP?The Big FAQ and SIP?

Q: You are too IP-centric, aren’t you?A: Of course, we are.

Internet telephony (which has Internet in its name) is about IP. IP telephony runs on top of IP and utilizes the IP

service model. It is not about re-engineering PSTN -- PSTN is

good enough. SIP is much more similar to HTTP rather

than to legacy signaling both in terms of service model and protocol design.

Page 5: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

5Spring 2004

Problem description

Environment: aging PSTN equipment, carrier fiber overcapacity and arrival of multimedia communications with preparation to millions of mobile hosts that are IP-aware. Additionally, the possibility of programming PSTN-services in a more open environment.

Problem: how to enable gradual deployment and transition to avoid the one-big-leap-for-mankind scenarios?

Approach: IETF multimedia architecture and interoperability schemes with PSTN and 3GPP. Signaling is one part of this. The multimedia architectures capabilities are related to Quality of Service architecture and IP multicast.

Page 6: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

6Spring 2004

IETF Multimedia Architecture

Page 7: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

7Spring 2004

What Protocols Are Needed?

Signaling protocol to establish presence, locate users, set up, modify and teardown sessions

Media Transport Protocols for transmission of packetized audio/video

Supporting Protocols Gateway Location, QoS, interdomain AAA,

address translation, IP, etc.

AAA = Authentication, Authorization, Accounting

Page 8: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

8Spring 2004

What Protocols Are There

Signaling: SIP/SDP (IETF), H.323 (ITU-T) Note: SIP adopted by 3gpp; lower production and operation

costs reported Media: RTP (IETF’s, adopted by ITU-T) Transport: UDP, TCP, (Stream Control Transmission

Protocol – RFC 2960) Supporting protocols:

DNS TRIP - Telephony Routing over IP - discovery and exchang

e of IP telephony gateway routing tables between providers RSVP - Resource Reservation Setup Protocol COPS - Common Open Policy Service - protocol for for sup

porting policy control over QoS Diameter - Authentication, Accounting, Authorization

Page 9: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

9Spring 2004

SIP SignalingSIP Signaling

SIP is end-to-end, client-server session protocol SIP’s primarily provides presence and mobility Protocol primitives: Session setup, termination, ch

anges Arbitrary services built on top of SIP, e.g.:

Redirect calls from unknown callers to secretary Reply with a webpage if unavailable Send a JPEG on invitation

Features: Textual encoding (telnet, tcpdump compatible) Programmability

Page 10: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

10Spring 2004

SIP - General Purpose Presence Protocol

SIP is not limited to Internet SIP establishes user presence SIP messages can convey arbitrary signaling payload:

session description, instant messages, JPEGs, any MIME types

Suitable for applications having a notion of session distributed virtual reality systems, network games (Quake II/III implementations), video conferencing, etc.

Applications may leverage SIP infrastructure (Call Processing, User Location, Authentication) Instant Messaging and Presence SIP for Appliances

Page 11: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

11Spring 2004

Internet MultimediaInternet Multimedia

Real Time Protocol (RTP) – media packets Real Time Control Protocol (RTCP) – monitor & report Session Announcement Protocol (SAP) Session Description Protocol (SDP) Session Initiation Protocol (SIP) Real Time Stream Protocol (RTSP) – play out control Synchronized Multimedia Integration Language (SMIL) – mixes audi

o/video with text and graphics : August 2001

References: Search keyword at http://www.rfc-editor.org/rfc.html

For SMIL - http://www.w3.org/AudioVideo/

Page 12: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

12Spring 2004

Stages of IP Signaling Development

Precommercial stage (1980-1995) Research in organizations and universities IETF: Audio/Video Transport (AVT) WG - RTP IETF: Multiparty Multimedia Session Control (MMUSIC) WG – SIP

PC-centric stage (1995-1998) First commercial VoIP software, proprietary software Calls from multimedia PC to another multimedia PC ITU: May-June 1995: H.323v1 Most commercial applications H.323 compliant by the end of 1996

Carrier-grade stage (1998-) Service provider VoIP deployment First obstacle: integration to PSTN signalling (gateway functionality) Development of media gateway controller protocols (MGCP and Me

gaco/H.248) Todays approach: coexistence of SIP, H.323, MGCP and Megaco/

H.248

Page 13: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

13Spring 2004

SIP HistorySIP History

Work began in 1995 in IETF mmusic WG 02/1996: draft-ietf-mmusic-sip-00: 15 ASCII pages, one request

type 12/1996: -01 30 ASCII pages, 2 request types 01/1999: -12 149 ASCII pages, 6 methods 03/1999: RFC 2543, 153 ASCII pages, 6 methods 11/1999: SIP WG formed 11/2000: draft-ietf-sip-rfc2543bis-02, 171 ASCII pages, 6 metho

ds 12/2000: it was recognized that amount of work at SIP WG was

becoming unmanageable; 1 RFC; 18 I-Ds on WG’s agenda; numerous individual submissions

04/2001: proposal for splitting SIP WG into SIP and SIPPING announced

2001: SIP implementations widely available http://www.cs.columbia.edu/~hgs/sip/implementations.html http://www.pulver.com/sip/products.html

Page 14: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

14Spring 2004

SIP End-devices

User Agent (user application) UA Client (originates calls) UA Server (listens for incoming calls) both SW and HW available

Page 15: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

15Spring 2004

SIP ComponentsSIP Components

SIP Proxy Server relays call signaling, i.e. acts as both client and

server operates in a transactional manner, i.e., it keeps

no session state

SIP Redirect Server redirects callers to other servers

SIP Registrar accept registration requests from users maintains user’s whereabouts at a Location

Server (like GSM HLR)

Page 16: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

16Spring 2004

Telephony on the InternetTelephony on the Internet may not be a stand-alone business, but part of IP servicesmay not be a stand-alone business, but part of IP services

Public IP Backbone• Goes everywhere• End-to-end control• Consistent for all services

• DNS – mobility• Messaging • Web• Directory• Security• QoS• Media services• Sessions• Telephony• …………

SIP

RTP

CAS, Q.931, SS7

PCM

Telephone Gateway SIP client

MG

SG

MGCP

SIP/RTP Media SIP/RTP Media ArchitectureArchitecture

Any other sessionsAny other sessionsCAS : channel associated signaling

Page 17: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

17Spring 2004

Commercial Grade IP TelephonyCommercial Grade IP Telephony

New services (new revenue)

Scalability (Web-like)

Baseline PSTN&PBX features

Client & user authentication

Accounting assured QoS

QoS assured signaling

Security assured signaling

Hiding of caller ID & location

Better than PSTN features• New & fast service creation• Internet (rapid) scalability• Mobility• Dynamic user preferences• End-to-end control

• Service selection• Feature control

• Mid-call control features

• Pre-call• Mid-call

Assure baseline PSTN features

Leverage and Commonality of telephony with the Web/Internet

Page 18: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

18Spring 2004

IP CommunicationsIP Communications

PSTN/PBX-like: POTS AIN CS-1, CS-2 PBX & Centrex

User has control of: All addressable devices Caller and called party

preferences

Better quality than 3.1 kHz

Web-like: Presence Voice and text chat Messaging Voice, data, video Multiparty

Conferencing Education Games

Any qualityMost yet to be invented

Complete integration of all services under full user control

Page 19: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

19Spring 2004

Development of SIPDevelopment of SIP

IETF - Internet Engineering Task Force MMUSIC - Multiparty Multimedia Session Control Working Grou

p SIP developed by Handley, Schulzrinne, Schooler, and Rosenb

erg Submitted as Internet-Draft 7/97

Assigned RFC 2543 in 3/99 Internet Multimedia Conferencing Architecture.

Alternative to ITU’s H.323 H.323 used for IP Telephony since 1994 Problems: No new services, addressing, features Concerns: scalability, extensibility

Page 20: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

20Spring 2004

SIP PhilosophySIP Philosophy

Internet Standard IETF - http://www.ietf.org

Reuse Internet addressing (URLs, DNS, proxies) Utilizes rich Internet feature set

Reuse HTTP coding Text based

Makes no assumptions about underlying protocol: TCP, UDP, X.25, frame, ATM, etc. Support of multicast

Page 21: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

21Spring 2004

SIP Clients and Servers - 1SIP Clients and Servers - 1

SIP uses client/server architecture Elements:

SIP User Agents (SIP Phones) SIP Servers (Proxy or Redirect - used to locate SIP users or t

o forward messages.)• Can be stateless or stateful

SIP Gateways:• To PSTN for telephony interworking• To H.323 for IP Telephony interworking

Client - originates message Server - responds to or forwards message

Page 22: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

22Spring 2004

SIP Clients and Servers - 2SIP Clients and Servers - 2

Logical SIP entities are: User Agents

User Agent Client (UAC): Initiates SIP requests User Agent Server (UAS): Returns SIP responses

Network Servers Registrar: Accepts REGISTER requests from clients Proxy: Decides next hop and forwards request Redirect: Sends address of next hop back to client

The different network server types may be collocated

Page 23: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

23Spring 2004

SIP AddressingSIP Addressing

SIP gives you a globally reachable address Callees bind to this address using SIP REGISTER m

ethod. Callers use this address to establish real-time commu

nication with callees.

URLs used as address data format; examples: sip:[email protected] sip:[email protected]?subject=callme sip:[email protected]; geo.position:=48.54_-123.84_120

Page 24: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

24Spring 2004

SIP Addressing (cont’d)SIP Addressing (cont’d)

must include host, may include user name, port number, parameters (e.g., transport), etc.

may be embedded in Webpages, email signatures, printed on your business card, etc.

address space unlimited non-SIP URLs can be used as well (mailto:,

http:, ...)

Page 25: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

25Spring 2004

SIP RegistrationSIP Registration

Page 26: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

26Spring 2004

SIP Session Setup ExampleSIP Session Setup Example

200 OK

ACK

INVITE sip:[email protected]

host.wcom.com sip.uunet.com

SIPUser Agent

Client

SIPUser Agent

Server

BYE

200 OK

Media Stream

Page 27: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

27Spring 2004

Proxy Server ExampleProxy Server Example

server.wcom.com

200 OK

BYE

200 OK

INVITE sip:[email protected]

host.wcom.com

200 OK

ACK

INVITE sip:[email protected]

sip.uunet.com

SIPUser Agent

Client

SIPProxyServer

SIPUser

AgentServer

Media Stream

Page 28: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

28Spring 2004

SIP Operation in Proxy ModeSIP Operation in Proxy Mode

Page 29: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

29Spring 2004

Proxy Server Functionality

Serve as rendezvous point at which callees are glabally reachable

Perform routing function, i.e., determine to which hop (UA/proxy/redirect) signaling should be relayed

Allow the routing function to be programmable. Arbitrary logic may be built on top of the protocol user’s signaling preferences AAA firewall control etc.

Forking: Several destinations may be tried for a request sequentially or in parallel.

Page 30: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

30Spring 2004

Proxy ChainingProxy Chaining

There may be also cases when a local outbound proxy may be involved provides locally important call processing logic (e.g., identify

ing nearest 119) manages firewall provides least-gateway-cost routing service IP phones must know address of the proxy:may be configur

ed manually or with a configuration protocol (DHCP, TFTP, ... )

In general, servers may be arbitrarily chained a central company’s server may distribute signaling to depa

rtmental servers a user may want to forward incoming calls to her cell phone

Page 31: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

31Spring 2004

Proxy Chaining – an ExampleProxy Chaining – an Example

Note : signaling (in red) may take a completely different path from media in blue)

Page 32: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

32Spring 2004

Redirect Server Example

302 Moved sip:[email protected]

ACK

Media Stream

INVITE sip:[email protected]

SIPUser Agent

Client

SIPRedirectServer

180 Ringing

ACK

INVITE sip:[email protected]

SIPUser Agent

ServerREGISTER [email protected]

host.wcom.com sip.uunet.com

200 OK

server.wcom.com

200 OK

CC

RS

UAS

1

2

3

Page 33: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

33Spring 2004

SIP Operation in Redirect Mode

Page 34: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

34Spring 2004

SIP Server - Proxy versus Redirection

A SIP server may either proxy or redirect a request Which of the two method applies is a configuration i

ssue. It may be statically configured or dynamically determined/

Redirection useful if a user moves or changes her provider (PSTN: “The number you have dialed is not available.”) -- caller does not need to try the original server next time. Stateless.

Proxy useful if forking, AAA, firewall control needed. In general, proxying grants more control to the server.

Page 35: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

35Spring 2004

SIP Requests : RFC2543 MethodsSIP Requests : RFC2543 Methods

SIP Requests (Messages) defined as: Method SP Request-URI SP SIP-Version CRLF (SP=Space, CRLF=Carriage Retu

rn and Line Feed)

Example: INVITE sip:[email protected] SIP/2.0

Method Description

INVITE A session is being requested to be setup using a specified media

ACK Message from client to indicate that a successful response to an INVITE has been received

OPTIONS A Query to a server about its capabilities

BYE A call is being released by either party

CANCEL Cancels any pending requests. Usually sent to a Proxy Server to cancel searches

REGISTER Used by client to register a particular address with the SIP server; binds a permanent address to current location

Page 36: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

36Spring 2004

SIP Requests ExampleSIP Requests Example

Required Headers (fields):

Via: Shows route taken by request. Call-ID: unique identifier generated by client. CSeq: Command Sequence number

• generated by client• Incremented for each successive request

INVITE sip:[email protected] SIP/2.0Via: SIP/2.0/UDP host.wcom.com:5060From: Alan Johnston <sip:[email protected]>To: Jean Luc Picard <sip:[email protected]>Call-ID: [email protected]: 1 INVITE

}Uniquely identify this session request

Page 37: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

37Spring 2004

SIP Requests ExampleSIP Requests Example

Typical SIP Request:

INVITE sip:[email protected] SIP/2.0Via: SIP/2.0/UDP host.wcom.com:5060From: Alan Johnston <sip:[email protected]>To: Jean Luc Picard <sip:[email protected]>Call-ID: [email protected]: 1 INVITEContact: sip:[email protected]: Where are you these days?Content-Type: application/sdp Content-Length: 124

v=0o=ajohnston 5462346 332134 IN IP4 host.wcom.coms=Let's Talkt=0 0c=IN IP4 10.64.1.1m=audio 49170 RTP/AVP 0 3

Page 38: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

38Spring 2004

SIP ResponsesSIP Responses

SIP Responses defined as (HTTP-style): SIP-Version SP Status-Code SP Reason-Phrase CRLF (SP=Space,

CRLF=Carriage Return and Line Feed)

Example: SIP/2.0 404 Not Found First digit gives Class of response:

Description Examples

1xx Informational – Request received, continuing to process request.

180 Ringing 181 Call is Being Forwarded

2xx Success – Action was successfully received, understood and accepted.

200 OK

3xx Redirection – Further action needs to be taken in order to complete the request.

300 Multiple Choices 302 Moved Temporarily

4xx Client Error – Request contains bad syntax or cannot be fulfilled at this server.

401 Unauthorized 408 Request Timeout

5xx Server Error – Server failed to fulfill an apparently valid request.

503 Service Unavailable 505 Version Not Suported

6xx Global Failure – Request is invalid at any server. 600 Busy Everywhere 603 Decline

Page 39: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

39Spring 2004

SIP Responses Example SIP Responses Example

Required Headers:

Via, From, To, Call-ID, and CSeq are copied exactly from Request.

To and From are NOT swapped!

SIP/2.0 200 OKVia: SIP/2.0/UDP host.wcom.com:5060From: Alan Johnston <sip:[email protected]>To: Jean Luc Picard <sip:[email protected]>Call-ID: [email protected]: 1 INVITE

Page 40: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

40Spring 2004

SIP Responses Example SIP Responses Example

Typical SIP Response (containing SDP)

SIP/2.0 200 OKVia: SIP/2.0/UDP host.wcom.comFrom: Alan Johnston <sip:[email protected]>To: Jean Luc Picard <sip:[email protected]>Call-ID: [email protected]: 1 INVITEContact: sip:[email protected]: Where are you these days?Content-Type: application/sdp Content-Length: 107

v=0o=picard 124333 67895 IN IP4 uunet.coms=Engage!t=0 0c=IN IP4 11.234.2.1m=audio 3456 RTP/AVP 0

Page 41: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

41Spring 2004

C

Forking Proxy ExampleForking Proxy Example

sip.mci.com

ACK

INVITE

INVITE

404 Not Found

180 Ringing

INVITE sip:[email protected]

host.wcom.com

180 Ringing

ACK

sip.uunet.com

SIPUser Agent

Client

SIPProxyServer

SIPUser AgentServer 2

SIPUser AgentServer 1

proxy.wcom.com

100 Trying

BYE

200 OK

Media Stream

200 OK200 OK

S1

S2

ForkFork

Page 42: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

42Spring 2004

SIP Headers - Partial ListSIP Headers - Partial List

Header Description Examples

Accept Indicates acceptable formats. Accept: application/ sdp Accept: currency/ dollars

Authorization Contains encryption information Authorization: pgp info…

Call-ID Used to uniquely identify a particular session or registration messages. Should have randomness to ensure overall global uniqueness.

Call-ID: [email protected] Call-ID: Jan-01-1999-1510- [email protected] i: [email protected]

Contact Alternative SIP URL for more direct message routing.

Contact: W. Riker, Acting Captain <[email protected]> Contact: [email protected]; expires=3600 m: [email protected]

Content-Length Octet count in message body. Content-Length: 285

Content-Type Content type of message body Content-Type: application/ sdp c: application/ h.323

CSeq Command Sequence number – used to distinguish different requests during the same session.

CSeq: 1 INVITE CSeq: 1000 INVITE CSeq: 4325 BYE CSeq: 1 REGISTER

Encryption Encryption information. Encryption: pgp info…

Expires Used to indicate when the message content is no longer valid. Can be a number of seconds or a date and time.

Expires: 60 Expires: Thu, 07 Jan 1999 17:00 CST

Page 43: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

43Spring 2004

SIP Headers - Continued SIP Headers - Continued

From Required field containing the originating SIP URL. Can also include a display name.

From: Dana Scully <sip:[email protected]> From: sip:[email protected]; tag=1234567 f: sip: [email protected]

Max-Forwards Count decremented by each server forwarding the message. When goes to zero, server sends a 483 Too Many Hops response.

Max-Forwards: 10

Priority Can specify message priority Priority: normal Priority: emergency

Record-Route Added to a request by a proxy that needs to be in the path of future messages.

Record Route: sip.mci.com

Require Indicates options necessary for the session. Require: local.telephony

Response-Key Contains PGP key for encrypted response expected.

Response-Key: pgp info…

Retry-After Indicates when the resource may be available. Can be a number of seconds or a date and time.

Retry-After: 3600 Retry-After: Sat, 01 Jan 2000 00:01 GMT

Page 44: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

44Spring 2004

SIP Headers - ContinuedSIP Headers - Continued

Route Determines the route taken by a message.

Route: orinoco.brooks.net

Subject Can be used to indicate nature of call.

Subject: More about SIP s: You’d better answer!

To Required field containing the recipient SIP URL. May contain a display name.

To: Fox Mulder <sip:[email protected]> To: sip:[email protected]; tag=314 t: sip:[email protected]; tag=52

Unsupported Lists features not supported by server.

Unsupported: tcap.telephony

Via Used to show the path taken by the request.

Via: SIP/ 2.0/ UDP sip.mfs.com Via: SIP/ 2.0/ TCP uunet.com Via: SIP/ 2.0/ UDP 192.168.1.1

Warning Contains a code and text to warn about a problem

Warning: 331 Unicast not available

Page 45: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

45Spring 2004

Via Headers and RoutingVia Headers and Routing

Via headers are used for routing SIP messages Requests

Request initiator puts address in Via header Servers check Via with sender’s address, then add own

address, then forward. (if different, add “received” parameter)

Responses Response initiator copies request Via headers. Servers check Via with own address, then forward to next Via address

Page 46: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

46Spring 2004

SIP Firewall ConsiderationsSIP Firewall Considerations

Firewall Problem Can block SIP packets Can change IP addresses of packets

TCP can be used instead of UDP Record-Route can be used:

ensures Firewall proxy stays in path A Firewall proxy adds Record-Route header

Clients and Servers copy Record-Route and put in Route header for all messages

Page 47: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

47Spring 2004

SIP Message BodySIP Message Body

Message body can be any protocol Most implementations:

SDP - Session Description Protocol RFC 2327 4/98 by Handley and Jacobson

• http://www.ietf.org/rfc/rfc2327.txt Used to specify info about a multi-media session. SDP fields have a required order For RTP - Real Time Protocol Sessions:

• RTP Audio/Video Profile (RTP/AVP) payload descriptions are often used

Page 48: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

48Spring 2004

Session Description Protocol (SDP)Session Description Protocol (SDP)

Convey sufficient information to enable participation in a multimedia session

SDP includes description of: Media to use (codec, sampling rate) Media destination (IP address and port number) Session name and purpose Times the session is active Contact information

Note: indeed SDP is a data format rather than a protocol.

Page 49: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

49Spring 2004

SDP ExamplesSDP Examples

v=0

o=sisalem 28908044538 289080890 IN IP4 193.175.132.118

s=SIP Tutorial

[email protected]

c=IN IP4 126.16.69.4

t=28908044900 28908045000

m=audio 49170 RTP/AVP 0 98

a=rtpmap:98 L16/11025/2

Page 50: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

50Spring 2004

SDP Examples (cont’d)SDP Examples (cont’d)

SDP Example

v=0o=ajohnston +1-613-555-1212 IN IP4 host.wcom.coms=Let's Talkt=0 0c=IN IP4 101.64.4.1m=audio 49170 RTP/AVP 0 3

SDP Example

v=0o=picard 124333 67895 IN IP4 uunet.coms=Engage!t=0 0c=IN IP4 101.234.2.1m=audio 3456 RTP/AVP 0

Field Descripton

Version v=0

Origin o=<username> <session id> <version> <network type> <address type> <address>

Session Name s=<session name>

Times t=<start time> <stop time>

Connection Data c=<network type> <address type> <connection address>

Media m=<media> <port> <transport> <media format list>

Page 51: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

51Spring 2004

Another SDP Example (cont’d) Another SDP Example (cont’d)

v=0o=alan +1-613-1212 IN host.wcom.coms=SSE University Seminar - SIPi=Audio, Listen onlyu=http://sse.mcit.com/university/[email protected]=+1-329-342-7360c=IN IP4 10.64.5.246b=CT:128t=2876565 2876599m=audio 3456 RTP/AVP 0 3a=type:recvonly

Page 52: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

52Spring 2004

Authentication & EncryptionAuthentication & Encryption

SIP supports a variety of approaches: end to end encryption hop by hop encryption

Proxies can require authentication: Responds to INVITEs with 407 Proxy-Authentication Required

Client re-INVITEs with Proxy-Authorization header. SIP Users can require authentication:

Responds to INVITEs with 401 Unathorized Client re-INVITEs with Authorization header

Page 53: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

53Spring 2004

SIP Encryption Example SIP Encryption Example

INVITE sip:[email protected] SIP/2.0Via: SIP/2.0/UDP host.wcom.com:5060From: Alan Johnston <sip:[email protected]>To: Jean Luc Picard <sip:[email protected]>Call-ID: [email protected]: 1 INVITEContent-Length: 224Encryption: PGP version=2.6.2, encoding=ascii

q4aspdoCjh32a1@WoiLuaE6erIgnqD3erDg8aFs8od7idf@ hWjasGdg,ddgg+fdgf_ggEO;ALewAKFeJqAFSeDlkjhasdfkj!aJsdfasdfKlfghgasdfasdfa|Gsdf>a!sdasdf3w29451k45mser?we5y;343.4kfj2ui2S8~&djGO4kP%Hk#(Khujefjnjmbm.sd;da’l;12’;123=]aw;erwAo3529ofgk

Page 54: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

54Spring 2004

PSTN Features with SIPPSTN Features with SIP

Features implemented by SIP Phone Call answering: 200 OK sent Busy: 483 Busy Here sent Call rejection: 603 Declined sent Caller-ID: present in From header Hold: a re-INVITE is issued with IP Addr =0.0.0.0 Selective Call Acceptance: using From, Priority, and Subject headers

Camp On: 181 Call Queued responses are monitored until 200 OK is sent by the called party

Call Waiting: Receiving alerts during a call

Page 55: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

55Spring 2004

PSTN Features with SIPPSTN Features with SIP

Features implemented by SIP Server Call Forwarding: server issues 301 Moved Permanently or 302 Moved Temporarily response with Contact info

Forward Don’t Answer: server issues 408 Request Timeout response

Voicemail: server 302 Moved Temporarily response with Contact of Voicemail Server

Follow Me Service: Use forking proxy to try multiple locations at the same time

Caller-ID blocking - Privacy: Server encrypts From information

Page 56: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

56Spring 2004

SIP User Location ExampleSIP User Location Example

Q=Q=qualityquality gives preference gives preference

SIP/2.0 302 Moved temporarilySIP/2.0 302 Moved temporarily

Contact: sip:[email protected]: sip:[email protected]

;service=IP,voice mail;service=IP,voice mail

;media=audio ;duplex=full ;q=0.7;media=audio ;duplex=full ;q=0.7

Contact : phone: +1-972-555-1212; service=ISDNContact : phone: +1-972-555-1212; service=ISDN

;mobility=fixed; language=en,es, ;q=0.5;mobility=fixed; language=en,es, ;q=0.5

Contact : phone: +1-214-555-1212; service=pagerContact : phone: +1-214-555-1212; service=pager

;mobility=mobile;mobility=mobile

;duplex=send-only ;media=text; q=0.1; priority=urgent;duplex=send-only ;media=text; q=0.1; priority=urgent

;description=“For emergency only”;description=“For emergency only”

Contact : mailto: [email protected] : mailto: [email protected]

SIP supports mobility across networks and devicesSIP supports mobility across networks and devices

Page 57: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

57Spring 2004

Programming SIPProgramming SIP

Examples “discard all calls from Monica during my business

hours” “redirect authenticated friends to my cell phone, a

nyone else to my secretary” “if busy, return my homepage and redirect to reco

rder”

Users and third parties may program SIP follows HTTP programming model Mechanisms suggested in IETF: CGI, Call P

rocessing Language (CPL), Servlets

Page 58: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

58Spring 2004

Call Processing Logic ExampleCall Processing Logic Example

Page 59: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

59Spring 2004

SIP Mobility SupportSIP Mobility Support

SIP RedirectServer

SIP ProxyServerForeign

Network

MobileHost

HomeNetwork

CorrespondingHost

1 23

6

4

5

1 INVITE

2 302 moved temporarily

3, 4 INVITE

5, 6 OK

7 Data

Global: Wire and wireless

No tunneling required

No change to routing

For fast hand-offs use:

• Use Cellular IP or

• Use DRCP

7

* Dynamic Registration and Configuration Protocol

Page 60: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

60Spring 2004

SIP MobilitySIP Mobility

Pre-call mobility MH can find SIP server via

multicast REGISTER MH acquires IP address via

DHCP MH updates home SIP

server

Mid-call mobility MH->CH: New INVITE with

Contact and updated SDP Re-registers with home

registrar

Need not bother home registrar: Use multi-stage registration

Recovery from disconnects

Page 61: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

61Spring 2004

Mobile IP CommunicationsMobile IP Communications

Mobile IP Requirements Transparency above L2:Move but keep IP address and all se

ssions alive Mobility

Within subnet Within domain Global

AAA and NAIs Location privacy QoS for r.t. communications

Evolution of Wireless Mobility Circuit Switched Mobility

based on central INs

LAN-MAN: Cellular IP Wide Area: Mobile IP Universal (any net): SIP

Page 62: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

62Spring 2004

Presence, Instant Messaging and VoicePresence, Instant Messaging and Voice

http://www.ietf.org/internet-drafts/draft-ietf-impp-model-03.txt

Page 63: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

63Spring 2004

IP SIP Phones and AdaptorsIP SIP Phones and Adaptors

1

2

3

                

Are Internet hosts

• Choice of application

• Choice of server

• IP appliance

Implementations

• 3Com (2)

• Cisco

• Columbia University

• Mediatrix (1)

• Nortel (3)

• Pingtel

Page 64: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

64Spring 2004

H.323/SIP ComparisonH.323/SIP Comparison

Page 65: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

65Spring 2004

H.323 vs. SIP: Basic Call Control

Page 66: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

66Spring 2004

H.323 vs. SIP: Advanced features

Page 67: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

67Spring 2004

H.323 vs. SIP Scalability

Page 68: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

68Spring 2004

H.323 vs. SIP Extensibility of functionality

Page 69: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

69Spring 2004

H.323 vs. SIP Ease of customization

Page 70: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

70Spring 2004

H.323 vs. SIP Ease of customization

Page 71: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

71Spring 2004

H.323 vs. SIP Ease of Implementation

Page 72: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

72Spring 2004

Summary :SIP vs H.323Summary :SIP vs H.323

Page 73: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

73Spring 2004

Internet DraftsInternet Drafts

Session Timers in the Session Initiation Protocol (SIP) Caller Preferences for the Session Initiation Protocol (SIP) Guidelines for Authors of Extensions to the Session Initiation Protocol (SIP) The Stream Control Transmission Protocol as a Transport for for the Session Initiation Prot

ocol The Session Inititation Protocol (SIP) 'Replaces' Header The SIP Referred-By Mechanism Compressing the Session Initiation Protocol Session Initiation Protocol Extension to Assure Congestion Safety A Mechanism for Content Indirection in Session Initiation Protocol (SIP) Messages The Session Inititation Protocol (SIP) 'Join' Header SIP Authenticated Identity Body (AIB) Format S/MIME AES Requirement for SIP An Extension to the Session Initiation Protocol for Request History Information Communications Resource Priority for the Session Initiation Protocol (SIP)

Indicating User Agent Capabilities in the Session Initiation Protocol (SIP) Connection Reuse in the Session Initiation Protocol (SIP) The Internet Assigned Number Authority Universal Resource Identifier Parameter Registry f

or the Session Initiation Protocol The Internet Assigned Number Authority Header Field Parameter Registry for the Session I

nitiation Protocol Session Initiation Protocol (SIP) Extension for Event State Publication Interactions of Preconditions with Session Mobility in the Session Initiation Protocol (SIP) Obtaining and Using Globally Routable User Agent (UA) URIs (GRUU) in the Session Initiat

ion Protocol (SIP)

Page 74: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

74Spring 2004

RFCsRFCs The SIP INFO Method (RFC 2976) MIME media types for ISUP and QSIG Objects (RFC 3204) SIP: Session Initiation Protocol (RFC 3261) Reliability of Provisional Responses in SIP (RFC 3262) SIP: Locating SIP Servers (RFC 3263) SIP-Specific Event Notification (RFC 3265) DHCP Option for SIP Servers (RFC 3361) Hypertext Transfer Protocol (HTTP) Digest Authentication Using Authentication and Key Ag

reement (AKA) (RFC 3310) The Session Initiation Protocol UPDATE Method (RFC 3311) Integration of Resource Management and SIP (RFC 3312) Internet Media Type message/sipfrag (RFC 3420) A Privacy Mechanism for the Session Initiation Protocol (SIP) (RFC 3323) Private Extensions to the Session Initiation Protocol (SIP) for Asserted Identity within Trust

ed Networks (RFC 3325) Session Initiation Protocol Extension for Instant Messaging (RFC 3428) The Reason Header Field for the Session Initiation Protocol (SIP) (RFC 3326)

Session Initiation Protocol Extension for Registering Non-Adjacent Contacts (RFC 3327) Security Mechanism Agreement for the Session Initiation Protocol (SIP) Sessions (RFC 33

29) Private Session Initiation Protocol (SIP)Extensions for Media Authorization (RFC 3313)

The Session Initiation Protocol (SIP) Refer Method (RFC 3515) Dynamic Host Configuration Protocol (DHCPv6)Options for Session Initiation Protocol (SIP)

Servers (RFC 3319) An Extension to the Session Initiation Protocol (SIP) for Symmetric Response Routing (RF

C 3581) Session Initiation Protocol Extension Header Field for Service Route Discovery During Regi

stration (RFC 3608)

Page 75: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

75Spring 2004

Relevant IETF Working GroupsRelevant IETF Working Groups

Audio/Video Transport (avt) - RTP Differentiated Services (diffserv) – QoS in backbone IP Telephony (iptel) – CPL, GW location, TRIP Integrated Services (intserv) – end-to-end QoS Media Gateway Control (megaco) – IP telephony gateways Multiparty Multimedia Session Control (mmusic) – SIP, SDP, conferencing PSTN and Internet Internetworking (pint) – mixt services Resource Reservation Setup Protocol (rsvp) Service in the PSTN/IN Requesting InTernet Service (spirits) Session Initiation Protocol (sip) – signaling for call setup Signaling Transport (sigtran) – PSTN signaling over IP Telephone Number Mapping (enum) – surprises ! Instant Messaging and Presence Protocol (impp)

http://ietf.org/html.charters/wg-dir.html

Page 76: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

76Spring 2004

SIP SummarySIP Summary

SIP is: Relatively easy to implement Gaining vendor and carrier acceptance Very flexible in service creation Extensible and scaleable Appearing in products right now

SIP is not: Going to make PSTN interworking easy Going to solve all IP Telephony issues (QoS)

Page 77: Spring 2004 Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr .

77Spring 2004

ReferencesReferences

Book on “Internetworking Multimedia” by Jon Crowcroft, Mark Handley, Ian Wakeman, UCL Press, 1999 by Morgan Kaufman (USA) and Taylor Francis (UK)

RFC 3261: “SIP: Session Initiation Protocol”http://www.ietf.org/rfc/rfc3261.txt

The IETF SIP Working Group home page http://www.ietf.org/html.charters/sip-charter.html

SIP Home Page http://www.cs.columbia.edu/~hgs/sip/

Papers on IP Telephony http://www.cs.columbia.edu/sip/papers.html