29
RFC 3261+ RFC 3261+ Session Initiation Session Initiation Protocol (SIP) Protocol (SIP) AN Lab AN Lab May 19, 2006 Kim, YangJung Kim, YangJung

RFC 3261+ Session Initiation Protocol (SIP)

  • Upload
    rivka

  • View
    219

  • Download
    13

Embed Size (px)

DESCRIPTION

RFC 3261+ Session Initiation Protocol (SIP). AN Lab May 19, 2006. Kim, YangJung. Presentation Outline. ₪ PART I ₪ What is SIP? SIP Protocol Updates SIP Protocol Structure SIP Users / Work groups ₪ PART II ₪ SIP in a similar Domain SIP in a dissimilar Domain - PowerPoint PPT Presentation

Citation preview

Page 1: RFC 3261+ Session Initiation Protocol (SIP)

RFC 3261+RFC 3261+Session Initiation Protocol Session Initiation Protocol

(SIP)(SIP)AN LabAN LabMay 19, 2006

Kim, YangJungKim, YangJung

Page 2: RFC 3261+ Session Initiation Protocol (SIP)

•Presentation OutlinePresentation Outline

₪₪₪ PART I PART I ₪₪₪ What is SIP?₪ SIP Protocol Updates₪ SIP Protocol Structure₪ SIP Users / Work groups

₪₪₪ PART II PART II ₪₪₪ SIP in a similar Domain₪ SIP in a dissimilar Domain₪ Proxy servers in SIP₪ Complimentary protocols in SIP₪ Concerns about SIP₪ SIP a new generation of service

Advanced Network Laboratory 2 Kim, YangJung

Page 3: RFC 3261+ Session Initiation Protocol (SIP)

•What is SIP?What is SIP?

₪ SIP (Session Initiation Protocol) is an application-layer control protocol that can establish, modify and terminate multimedia sessions such as Internet telephony calls (VOIP), multimedia distribution, multimedia conferences, chat, interactive games and virtual reality.

₪ SIP is very much like HTTP, the Web protocol, or SMTP. Messages consist of headers and a message body. SIP is a text-based protocol that uses UTF-8 encodingSIP uses port 5060 both for UDP and TCP. SIP may use other transports

₪ SIP does not provide services. Rather, SIP provides primitives that can be used to implement different services.

Advanced Network Laboratory 3 Kim, YangJung

Page 4: RFC 3261+ Session Initiation Protocol (SIP)

•What is SIP? (cont.)What is SIP? (cont.)

₪SIP supports 5 facets of establishing and terminating multimedia communications:

User location: determination of the end system to be used for communicationUser availability: determination of the willingness of the called party to engage in communicationsUser capabilities: determination of the media and media parameters to be usedSession setup: "ringing", establishment of session parameters at both called and calling party

Session management: including transfer and termination of sessions, modifying session parameters, and invoking services

Advanced Network Laboratory 4 Kim, YangJung

Page 5: RFC 3261+ Session Initiation Protocol (SIP)

• 1996– Mark Hadley’s SIP(Session Invitation Protocol)– Henning Schulzrinne’s SCIP(Simple Conference Control Protocol)

• 1999. 3.– RFC 2543 by IETF MMUSIC WG

• 1999. 9.– IETF SIP WG

• 2000. 6– RFC 2543bis

• 2002. 6– RFC 3261

•SIP Protocol updatesSIP Protocol updates

Advanced Network Laboratory 5 Kim, YangJung

Page 6: RFC 3261+ Session Initiation Protocol (SIP)

•SIP Protocol updatesSIP Protocol updates₪ RFC2543: Session Initiation Protocol [Obsolete]

It is also an application-layer control (signaling) protocol for creating, modifying and terminating sessions with one or more participants. These sessions include Internet multimedia conferences, Internet telephone calls and multimedia distribution. Members in a session can communicate via multicast or via a mesh of unicast relations, or a combination of these.

₪ RFC3261: Session Initiation Protocol (SIP)

₪ RFC3262: SIP Reliable provisional response messaging: It is an extension to the SIP providing reliable provisional response messages. This extension uses the option tag 100rel and defines the Provisional Response ACKnowledgement (PRACK) method.

₪ RFC3263: Locating SIP server: It uses DNS procedures to allow a client to resolve a SIP Uniform Resource Identifier (URI) into the IP address, port, and transport protocol of the next hop to contact. It also uses DNS to allow a server to send a response to a backup client if the primary client has failed.

Advanced Network Laboratory 6 Kim, YangJung

Page 7: RFC 3261+ Session Initiation Protocol (SIP)

•SIP Protocol updates (cont.)SIP Protocol updates (cont.)₪ RFC3264: An Offer/Answer Model with the Session Description Protocol (SDP): In the model, one participan

t offers the other a description of the desired session from their perspective, and the other participant answers with the desired session from their perspective. This offer/answer model is most useful in unicast sessions where information from both participants is needed for the complete view of the session. The offer/answer model is used by protocols like the Session Initiation Protocol (SIP).

₪ RFC3265: Session Initiation Protocol (SIP)-Specific Event Notification: It is an extension to the SIP. The purpose of this extension is to provide an extensible framework by which SIP nodes can request notification from remote nodes indicating that certain events have occurred.

₪ We need to note that RFC3265 is NOT intended to be a general-purpose infrastructure for all classes of event subscription and notification.

Advanced Network Laboratory 7 Kim, YangJung

Page 8: RFC 3261+ Session Initiation Protocol (SIP)

•SIP Protocol structureSIP Protocol structure

Syntax and Encoding

Transport

Transaction

Transaction User (TU)

₪ SIP is structured as a layered protocol.

₪ Each layer is independent but loosely coupled

₪ Lower layer is encoded in BNF₪ Transport layer defines how client

and server send and receives responses

₪ Transaction layer handles application-layer retransmissions, matching of responses to requests, and application-layer timeouts.

₪ Transaction users comprise all SIP entities except stateless proxies.

Advanced Network Laboratory 8 Kim, YangJung

Page 9: RFC 3261+ Session Initiation Protocol (SIP)

•SIP Protocol structureSIP Protocol structure

₪ SIP protocol defines several methods:₪ Methods in SIP RFC INVITE: When a user agent client desires to initiate a session (for example, a

udio, video, or a game), it formulates an INVITE request and sends it to one or more user agent server (UAS).

re-INVITE: An INVITE request sent within an existing dialog is known as a re-INVITE to changing addresses or ports, adding a media stream, deleting a media stream, and so on.

REGISTER: Registration entails sending a REGISTER request to a special type of UAS known as a Registrar/Location server.

ACK: Used to facilitate reliable message exchange for INVITEs. CANCEL: Used to cancel an invitation. BYE: The BYE request is used to terminate a specific session or attempted s

ession. OPTIONS: The SIP method OPTIONS allows a UA to query another UA or a pro

xy server as to its capabilities. This allows a client to discover information about the supported methods, content types, extensions, codecs, etc. without "ringing" the other party.

Advanced Network Laboratory 9 Kim, YangJung

Page 10: RFC 3261+ Session Initiation Protocol (SIP)

•SIP Protocol structure (cont.)SIP Protocol structure (cont.)

₪ Methods extensions from other RFC’s SIP method info: Extension in RFC 2976 SIP method notify: Extension in RFC 2848 PINT SIP method subscribe: Extension in RFC 2848 PINT SIP method unsubscribe: Extension in RFC 2848 PINT SIP method update: Extension in RFC 3311 SIP method message: Extension in RFC 3428 SIP method refer: Extension in RFC 3515 SIP method prack: Extension in RFC 3262 SIP Specific Event Notification: Extension in RFC 3265 SIP Message Waiting Indication: Extension in RFC 3842 SIP method PUBLISH: Extension is RFC 3903

Advanced Network Laboratory 10 Kim, YangJung

Page 11: RFC 3261+ Session Initiation Protocol (SIP)

•SIP Protocol structure (cont.)SIP Protocol structure (cont.)

₪ SIP responses codes 1xx: Provisional — request received, continuing to process the

request; 2xx: Success — the action was successfully received,

understood, and accepted; 3xx: Redirection — further action needs to be taken in order to

complete the request; 4xx: Client Error — the request contains bad syntax or cannot

be fulfilled at this server; 5xx: Server Error — the server failed to fulfill an apparently

valid request; 6xx: Global Failure — the request cannot be fulfilled at any

server.

Advanced Network Laboratory 11 Kim, YangJung

Page 12: RFC 3261+ Session Initiation Protocol (SIP)

•SIP Protocol structure (cont.)SIP Protocol structure (cont.)

₪ SIP responses example with SDP

Advanced Network Laboratory 12 Kim, YangJung

Page 13: RFC 3261+ Session Initiation Protocol (SIP)

•SIP ArchitectureSIP Architecture

₪ Fundamental Message Procedures

Advanced Network Laboratory 13 Kim, YangJung

1

2

3

45

67

8

9

10

11

12

SIP Client (UAC:User Agent Client)

SIP RedirectServer

SIP Proxy

SIP ProxySIP Client

(User Agent Server)

Location Service

Request

Response

LocationServer

11

Page 14: RFC 3261+ Session Initiation Protocol (SIP)

•SIP Architecture (E-to-E)SIP Architecture (E-to-E)

₪ End-to-End Scenario

Advanced Network Laboratory 14 Kim, YangJung

Page 15: RFC 3261+ Session Initiation Protocol (SIP)

•SIP Users / Workgroups SIP Users / Workgroups

₪ IP Telephony (VoIP and beyond) AVT - Audio/Video Transport (RTP)

http://www.ietf.org/html.charters/avt-charter.html

IPTEL- IP Telephony (CPL, GW location)

SIP- signaling for call setup

MMUSIC– Multiparty Multimedia Session Control (SIP, SDP, conferencing)

SIPPING- Session Initiation Proposal Investigation SIP Vonage

Advanced Network Laboratory 15 Kim, YangJung

Page 16: RFC 3261+ Session Initiation Protocol (SIP)

•SIP Users / Workgroups (cont.)SIP Users / Workgroups (cont.)

₪ Instant Messaging and Presence IMPP - Instant Messaging and Presence Protocol

SIMPLE - SIP for Instant Messaging and Presence Leveraging Extensions

XMPP - open, XML-based protocol for near real-time extensible messaging and presence

₪ SIP typically is used over UDP or TCP, ₪ it could, without technical changes, be run ₪ over IPX, or carrier pigeons, frame relay, ₪ ATM AAL5 or X.25, in rough order of ₪ desirability.

Advanced Network Laboratory 16 Kim, YangJung

Page 17: RFC 3261+ Session Initiation Protocol (SIP)

•SIPSIP

₪₪ ₪ PART II PART II ₪₪

Advanced Network Laboratory 17 Kim, YangJung

Page 18: RFC 3261+ Session Initiation Protocol (SIP)

•SIP OperationSIP Operation

Advanced Network Laboratory 18 Kim, YangJung

Alice’ssoftphone

atlanta.comproxy

biloxy.comproxy

Bob’sSIP Phone

100 F3

INVITE F1

180 F7

INVITE F2

100 F5INVITE F4

180 F6

180 F8 200 OK F9200 OK F10

200 OK F11

ACK F12

Media Session

BYE F13

200 OK F14

Page 19: RFC 3261+ Session Initiation Protocol (SIP)

•SIP in a similar DomainSIP in a similar Domain

NON-SIP Queried (i.e. Database Lookup )

SIP Signaling

RIP

Domain A Register and Location Service

Domain ASIP Proxy Server

USER A“Caller”

SIP Phone

SIP Soft Client Phone

USER B“Callee”

43

2 5

61

1. Call USER B

2. Query “Where is USER B?”

3. Response “USER B SIP address”4. ‘Proxied’ Call

5. Response

6. Response

7. Multimedia Channel established

7

Advanced Network Laboratory 19 Kim, YangJung

Page 20: RFC 3261+ Session Initiation Protocol (SIP)

•SIP in a dissimilar DomainSIP in a dissimilar Domain

Domain A Register and Location Service

SIP Soft Client Phone

SIP Phone

USER B“Callee”

USER A“Caller”

SIP Phone

Domain BSIP Proxy Server

Domain B Register and Location Service SIP Redirect Server

1

24

3

5

6

78

9

Domain ASIP Proxy Server

1011

DOMAIN A.COM

DOMAIN B.COM

Advanced Network Laboratory 20 Kim, YangJung

Page 21: RFC 3261+ Session Initiation Protocol (SIP)

•SIP in a dissimilar DomainSIP in a dissimilar Domain

1. Call USER B2. Query “How to get to USER B, DOMAIN B?”3. Response “Address of Proxy controller for Domai

n.”4. Call “Proxied” to SIP Proxy for Domain B.5. Query “Where is USER B?”6. USER B’s address7. Proxied call8. Response9. Response 10. Response11. Multimedia Channel established

Advanced Network Laboratory 21 Kim, YangJung

Page 22: RFC 3261+ Session Initiation Protocol (SIP)

•Proxy Servers in SIPProxy Servers in SIP

₪ SIP is a HTTP-like, textual, client server protocol, using email – like address.

₪ Proxy servers take care of setting up sessions betweens users.₪ Signals and media takes different path

SIP Phone

SIP Proxy Server

DNS SRV Query? iptel.orgReply: IP Address of iptel.org SIP server

INVITE: sip:[email protected]: sip:[email protected];tag=12To: sip: [email protected]: [email protected]

INVITE: sip:[email protected]: sip:[email protected];tag=12To: sip: [email protected]: [email protected]

OK 200From: sip:[email protected];tag=12To: sip: [email protected]; tag 34Call-ID: [email protected]

OK 200From: sip:[email protected];tag=12To: sip: [email protected]; tag 34Call-ID: [email protected]

[email protected] Sip:[email protected]

Media Stream

Advanced Network Laboratory 22 Kim, YangJung

Page 23: RFC 3261+ Session Initiation Protocol (SIP)

•Proxy Servers in SIP (cont.)Proxy Servers in SIP (cont.)

SIP Proxy Server

PSTN Gateway

SMS Gateway

Applications

IP Phone pool Other Domains

₪Proxy servers maintain central role in SIP network.

₪They glue SIP components such as phones, gateways, applications and other domains.

₪They provide place for service implementation (missed calls, forwarding, screening, etc.) and service access control

Advanced Network Laboratory 23 Kim, YangJung

Page 24: RFC 3261+ Session Initiation Protocol (SIP)

• Therefore, SIP should be used in conjunction with other protocols in order to provide complete services to the users. However, the basic functionality and operation of SIP does not depend on any of these protocols.

₪ SIP is not a vertically integrated communications system. SIP is rather a component that can be used with other IETF protocols to build a complete multimedia architecture. Typically, these architectures will include protocols are:

Real-time Transport Protocol (RTP) (RFC 1889): for transporting real-time data and providing QoS feedback.Real-Time streaming protocol (RTSP) (RFC 2326): for controlling delivery of streaming media.Media Gateway Control Protocol (MEGACO) (RFC 3015): for controlling gateways to the Public Switched Telephone Network (PSTN) and Session Description Protocol (SDP) (RFC 2327): for describing multimedia sessions.

•Complimentary protocols in SIPComplimentary protocols in SIP

Advanced Network Laboratory 24 Kim, YangJung

Page 25: RFC 3261+ Session Initiation Protocol (SIP)

•Comparison SIP and H.323

Advanced Network Laboratory 25 Kim, YangJung

SIP H.323

speed High (simplicity , use UDP)

Low (complexity, use TCP)

multicast Yes No

URL usage URL itself (H.225)URL in H.323protocol

Call prioritization The priority header field

Overlook

Encoding Text encoding Binary encoding(ASN.1)

Page 26: RFC 3261+ Session Initiation Protocol (SIP)

•Concerns about SIPConcerns about SIP

₪ NAT Traversal: SIP will make networks more vulnerable, the source may be the firewall and NAT (Network Address Translator) issue. SIP communication doesn't traverse most installed firewalls and NATs.

₪ Built-in delay: VOIP/SIP by it's nature has some built in delay. It digitizes small blocks of your conversation, compresses it, sends it to a PBX in packet form which intern converts it from one format to another if needed, then sends the packets on to their destination which decompress and converts it back into voice.

Advanced Network Laboratory 26 Kim, YangJung

Page 27: RFC 3261+ Session Initiation Protocol (SIP)

•SIP a new generation of serviceSIP a new generation of service

₪ Virtually eliminates long distance cost

₪ More features available in VoIP than conventional phones.

₪ For businesses, VoIP is a great way to manage operating costs in the office giving you economical, reliable, scalable, non pro priority phone system options.

₪ SIP makes it easier to develop and debug applications leading to lower product costs for equipment providers.

₪SIP a new generation of service to the future .!

Advanced Network Laboratory 27 Kim, YangJung

Page 28: RFC 3261+ Session Initiation Protocol (SIP)

•ReferencesReferences

₪ Iptel.org http://www.iptel.org

₪ RFC search engine http://www.rfc-editor.org/cgi-bin/rfcsearch.pl

₪ SIP http://www.cs.columbia.edu/sip/overview.html

₪ SIP Knowledge http://www.sipknowledge.com/SIP_RFC.htm

₪ VoIP Info. http://www.voip-info.org/wiki-SIP

Advanced Network Laboratory 28 Kim, YangJung

Page 29: RFC 3261+ Session Initiation Protocol (SIP)

•Q & A SessionQ & A Session

₪₪ ₪ Any Questions? Any Questions? ₪₪₪₪ ₪ Any Questions? Any Questions? ₪₪

Advanced Network Laboratory 29 Kim, YangJung