Session Initiation Protocol (SIP). What is SIP? An application-layer protocol A control (signaling)...

Preview:

Citation preview

Session Initiation Protocol (SIP)

What is SIP?

An application-layer protocolA control (signaling) protocol

SIP runs on top of several different transport protocols.

SIP is used for:

•creating, •modifying, and •terminating  sessions with one or more participants.

These sessions include:

•Internet telephone calls,•multimedia distribution, and•multimedia conferences.

SIP works independently of underlying transport protocols.

SIP does not depend on the type of session that is being

established.

SIP invitations are used to create sessions.

These SIP invitations carry session descriptions that

allow participants to agree on a set of compatible media types.

What is a session?

"An exchange of data between an association of participants."

Sessions can be hard to establish!

• Users may move between endpoints.

• They may be addressable by multiple names.

• They may communicate in several different media - sometimes simultaneously.

Session Initiation Protocol (SIP) enables Internet

endpoints (called user agents) to discover one another and to agree on a characterization of a session they would like to

share.

SIP can be used with other IETF protocols to build a

complete multimedia architecture.

These other protocols include:

• RTP

• RTSP

• MGCP/MEGACO

• SDP

Real-time Transport Protocol (RTP) RFC 1889, used for

• Transporting real-time data and

• Providing QoS feedback

Real-Time Streaming Protocol (RTSP)RFC 2326, used for:

• Controlling delivery of streaming media.

Media Gateway Control Protocol (MGCP)Also known as MEGACO

RFC 3525, used for:

• Controlling gateways to the Public Switched Telephone Network (PSTN)

Session Description Protocol (SDP)RFC 2327, used for:

• Describing multimedia sessions.

SIP is used in conjunction with these 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.

Other features

SIP can also invite participants to already existing sessions, such as multicast conferences.

Other features, (cont.)

Media can be added to (and removed from) an existing session.

Other features, (cont.)

SIP transparently supports name mapping and redirection services, which supports personal mobility - users can maintain a single externally visible identifier regardless of their network location.

SIP supports five facets of establishing and terminating multimedia

communications:

1) User location

2) User availability

3) User capabilities

4) Session setup

5) Session management

(1) User location:

Determination of the end system to be used for communication.

(2) User availability:

Determination of the willingness of the called party to engage in communications.

(3) User capabilities:

Determination of the media and media parameters to be used.

(4) Session setup:

"Ringing", establishment of session parameters at both called and calling party.

(5) Session management:

Including transfer and termination of sessions, modifying session parameters, and invoking services.

SIP works with both IPv4 and IPv6.

SIP cannot, and does not, provide any kind of network

resource reservation capabilities.

SIP makes use of elements called proxy servers.

What does a proxy server do?

SIP Proxy servers

• 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.

SIP identity

A SIP identity is a type of Uniform Resource Identifier

(URI).

Example:sip:bob@biloxi.com

SIP also provides a secure URI (SIPS URI).

 Example:

sips:bob@biloxi.com

When using SIPS, all SIP messages are encrypted and

sent via Transport Layer Security (TLS).

Registration

SIP provides a registration function that allows users to upload their current locations

for use by proxy servers.

Registration, (cont.)

• The user registers with the registrar server.

• The registrar is often co-located with the proxy server.

• It is an important concept that the distinction between types of SIP servers is logical, not physical.

Registration, (cont.)

Upon initialization, and at periodic intervals, the SIP phone sends REGISTER messages to the SIP registrar.

Registration, (cont.)

The REGISTER messages associate the SIP or SIPS URI (sip:bob@biloxi.com) with the machine into which the user is currently logged.

Registration, (cont.)

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

Registration, (cont.)

The user is not limited to registering from a single device.

Registration, (cont.)

Similarly, more than one user can be registered on a single device at the same time.

Let's look at the call process...

The INVITE (message F1 in Figure 1) might look like this: 

INVITE sip:bob@biloxi.com SIP/2.0Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bK776asdhdsMax-Forwards: 70To: Bob <sip:bob@biloxi.com>From: Alice <sip:alice@atlanta.com>;tag=1928301774Call-ID: a84b4c76e66710@pc33.atlanta.comCSeq: 314159 INVITEContact: <sip:alice@pc33.atlanta.com>Content-Type: application/sdpContent-Length: 142

 (Alice's SDP not shown)

The 200 (OK) (message F9 in Figure 1) might look like this as Bob sends it out: 

SIP/2.0 200 OKVia: SIP/2.0/UDP server10.biloxi.com;branch=z9hG4bKnashds8;received=192.0.2.3Via: SIP/2.0/UDP bigbox3.site3.atlanta.com;branch=z9hG4bK77ef4c2312983.1;received=192.0.2.2Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bK776asdhds ;received=192.0.2.1To: Bob <sip:bob@biloxi.com>;tag=a6c85cfFrom: Alice <sip:alice@atlanta.com>;tag=1928301774Call-ID: a84b4c76e66710@pc33.atlanta.comCSeq: 314159 INVITEContact: <sip:bob@192.0.2.4>Content-Type: application/sdpContent-Length: 131 (Bob's SDP not shown)

Okay, let's review the SIPnetwork elements...

Session Initiation Protocol

The protocol works on a client-server model consisting of user agents, proxy server, registrars, location server and redirect server as network elements.

User Agent

User agent functions as the initiator of a SIP request (user agent client) or returns the responses (user agent server) on behalf of the end user.

Registrar

Registrars, typically co-located with proxy or redirect server, accept the registration requests from the users.

Registrars

Proxy ServerProxy server is an intermediate entity receiving requests from the client (acting as a Server) and forwards or re-initiates the request (acting as a Client) to the other servers. A proxy server can either be stateful or stateless. When stateful, it remembers the incoming requests and the associated outgoing requests and co-ordinates the responses accordingly.

SIP Proxy Servers

Redirect Server

Redirect server returns the destination addresses to the receiving client to route them directly.

Location Server

Location server is used by the SIP redirect or proxy server to obtain information about the called party's possible locations. This may come from the SIP server or other protocols (non-SIP) when externally located.

The End

Source: RFC 3261

This presentation was prepared by Bob Young

Recommended