session initiation protocol winelfred g. pasamba

30
Session Initiation Protocol Winelfred G. Pasamba

Post on 18-Dec-2015

224 views

Category:

Documents


0 download

TRANSCRIPT

Session Initiation Protocol

Winelfred G. Pasamba

Session Initiation Protocol

● a signaling protocol for Internet conferencing, telephony, presence, events notification and instant messaging

● an application-layer control (signaling) protocol for creating, modifying, and terminating sessions with one or more participants. These sessions include Internet telephone calls, multimedia distribution, and multimedia conferences.

SIP Primitives:

● call forwarding, including– the equivalent of 700-, 800- and 900- type calls;– call-forwarding no answer;– call-forwarding busy;– call-forwarding unconditional;– other address-translation services;

SIP primitives:

● Callee and calling ``number'' delivery, where numbers can be any (preferably unique) naming scheme;

● personal mobility, i.e., the ability to reach a called party under a single, location-independent address even when the user changes terminals;

SIP Primitives:

● terminal-type negotiation and selection: a caller can be given a choice how to reach the party, e.g., via Internet telephony, mobile phone, an answering service, etc.;

● terminal capability negotiation;

SIP primitives:

● Caller and callee authentication;● blind and supervised call transfer;● invitations to multicast conferences.

Addressing

SIP addresses users by an email-like address and re-uses some of the infrastructure of electronic mail delivery such as DNS MX records or using SMTP EXPN for address expansion. SIP addresses (URLs) can also be embedded in web pages. SIP is addressing-neutral, with addresses expressed as URLs of various types such as SIP, H.323 or telephone (E.164).

Security

● denial-of-service prevention● authentication (both user to user and proxy to

user)● integrity protection● Encryption and privacy services

SIP Status

● It is currently (2003) the leading protocol for Voice over IP, gradually replacing H.323 in this role

SIP Proxies

● SIP makes use of elements called proxy servers to help route requests to the user's current location, authenticate and authorize users for services, implement provider call-routing policies, and provide features to users.

● also provides a registration function that allows users to upload their current locations for use by proxy servers.

Session Description Protocol

● SIP uses the Session Description Protocol (SDP) to describe the media content of the session, e.g. what IP ports to use, the codec being used etc. In typical use, SIP "sessions" are simply packet streams of the Real Time Transport Protocol (RTP).

Examples of SIP

● Microsoft Windows Messenger uses SIP, implementing a SIP User Agent (end device).

● various softswitch implementations, e.g. by Nortel, Sonus and many more

● In June, 2003, Apple Computer announced, and released in public beta, iChat AV, a new version of their AOL Instant Messenger client that supports audio and video chat through SIP.

Overview of Operation

Alice & Bob

● Each message is labeled with the letter "F" and a number for reference

● Alice uses a SIP application on her PC (referred to as a softphone) to call Bob on his SIP phone over the Internet

● are two SIP proxy servers that act on behalf of Alice and Bob to facilitate the session establishment

atlanta.com . . . biloxi.com● . proxy proxy .● . .● Alice's . . . . . . . . . . . . . . . . . . . . Bob's● softphone SIP

Phone● | | | |● | INVITE F1 | | |● |--------------->| INVITE F2 | |● | 100 Trying F3 |--------------->| INVITE F4 |● |<---------------| 100 Trying F5 |--------------->|● | |<-------------- | 180 Ringing F6 |● | | 180 Ringing F7 |<---------------|● | 180 Ringing F8 |<---------------| 200 OK F9 |● |<---------------| 200 OK F10 |<---------------|● | 200 OK F11 |<---------------| |● |<---------------| | |● | ACK F12 |● |------------------------------------------------->|● | Media Session |● |<================================================>|● | BYE F13 |● |<-------------------------------------------------|● | 200 OK F14 |● |------------------------------------------------->|● | |

Alice & Bob

● Alice "calls" Bob using his SIP identity, a type of Uniform Resource Identifier (URI) called a SIP URI

● SIP URIs have a similar form to an email address, typically containing a username and a host name. (example “sip:[email protected]”, “sip:[email protected]”)

Alice & Bob

● Alice might have typed in Bob's URI or perhaps clicked on a hyperlink or an entry in an address book

● SIP also provides a secure URI, called a SIPS URI (like sips:[email protected])

● A call made to a SIPS URI guarantees that secure, encrypted transport (namely TLS) is used to carry all SIP messages from the caller to the domain of the callee

SIP like HTTP

● SIP is based on an HTTP-like request/response transaction model

● Each transaction consists of a request that invokes a particular method, or function, on the server and at least one response

INVITE sip:[email protected] SIP/2.0

Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bK776asdhds

Max-Forwards: 70

To: Bob <sip:[email protected]>

From: Alice <sip:[email protected]>;tag=1928301774

Call-ID: [email protected]

CSeq: 314159 INVITE

Contact: <sip:[email protected]>

Content-Type: application/sdp

Content-Length: 142

Request

SIP/2.0 200 OK

Via: SIP/2.0/UDP server10.biloxi.com

;branch=z9hG4bKnashds8;received=192.0.2.3

Via: SIP/2.0/UDP bigbox3.site3.atlanta.com

;branch=z9hG4bK77ef4c2312983.1;received=192.0.2.2

Via: SIP/2.0/UDP pc33.atlanta.com

;branch=z9hG4bK776asdhds ;received=192.0.2.1

To: Bob <sip:[email protected]>;tag=a6c85cf

From: Alice <sip:[email protected]>;tag=1928301774

Call-ID: [email protected]

CSeq: 314159 INVITE

Contact: <sip:[email protected]>

Content-Type: application/sdp

Content-Length: 131

Reply

Registration

● Registration is one way that the biloxi.com server can learn the current location of Bob

● Upon initialization, and at periodic intervals, Bob's SIP phone sends REGISTER messages to a server in the biloxi.com domain known as a SIP registrar

Registration

● The REGISTER messages associate Bob's SIP or SIPS URI (sip:[email protected]) with the machine into which he is currently logged (conveyed as a SIP or SIPS URI in the Contact header field)

● The registrar writes this association, also called a binding, to a database, called the location service, where it can be used by the proxy in the biloxi.com domain

Removing Registration Bindings

● Registrations are soft state and expire unless refreshed, but can also be explicitly removed

● A UA requests the immediate removal of a binding by specifying an expiration interval of "0" for that contact address in a REGISTER request

Discovering a Registrar

● By configuration● Using the address-of-record

sip:[email protected] -> sip:winwin.org● Multicast

sip.mcast.net (224.0.1.75 for Ipv4)

SIP Specification

http://www.ietf.org/rfc/rfc3261.txt

SIP – 3com