www.aup.edu.ph

Download Report

Transcript www.aup.edu.ph

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, locationindependent 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 callrouting 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
.
proxy
. . . biloxi.com
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
Request
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
Reply
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
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