You are on page 1of 48

IMS

IP Multimedia System

Rajesh Challa
Agenda…

 What is IMS? Why N/w operators should go for it?


 What is there in IMS for the end user?
 IMS Architecture – Elements, functionality, capabilities,
registration scenarios …
 SIP Overview
 SDP/RTP/RTCP – concepts & functionalities, message
flows.
 How IMS & SIP co-work under the 3GPP Rel. 5
architecture.
Examples of future IP connectivity use

UMS CSCF
Thomas
challenges
you to a
game of
checkers!

Peter: 00:00:00
Accept
Thomas: Decline
00:00:00

SIP IP
Game data

IP Connection
Thomas
Peter
Peter accepted Invite
the challenge! player

Chat

Push to
Stream

Quit

UMS – User Mobility Server


Examples of future IP connectivity use

UMS CSCF > Peter: I am


going to win
this time!
>Thomas:
Yeah right, in
your dreams!

Peter: 00:00:00
Thomas: 00:00:00

SIP IP
Game data
Chat IP Connection
Thomas
Peter
Peter: 00:00:00 Invite
Thomas: 00:00:00 player

> Peter: I am Chat


going to win
this time! Push to
>Thomas: Stream
Yeah right, in
your dreams!
Quit
Examples of future IP connectivity use

UMS CSCF
Peter chooses
to add a
streaming
component to
share what he
SIP IP
Game data
is seeing

Streaming
video IP Connection
Thomas
Peter
StreamingPeter:
video00:00:00
from Invite
Peter: Thomas: 00:00:00 player

> Peter: hey, Chat


look what
just passed Push to
by! Stream

Quit
Intro du ction T o IM S….

 What is IMS?
As defined by 3GPP – New Core Network “Domain” (i.e a new
mobile network infrastructure composed of a no. of discreet
elements).

 How does it come into existence?


Proposed by 3GPP.
Avoids proprietary implementations.
Ensures interoperability.

 What does IMS bring for the end user??


 Why should operators purchase & deploy new core network???
Why IMS…???
3GPP Rel 5 (IMS - w/ SIP
& QoS):
Multi User
User – to – User
Server – to – User
Cheapest possible
Optimum usage of
bandwidth.

CS: Simple User to user voice services. Expensive, Very limited services.
PS: ( User to Server) MMS, Streaming, Browsing. Still expensive.
IMS Advantages…(User as well as Operator)

☃ Real Time User – to – User Service (Video


Telephony, rich voice services ).

☃ Non-Real Time viz Chat, IM…...

☃ Multi user Services – multimedia conferencing,


chat rooms

☃ Server – to – User Services – Presence, Click to Dial

☃ Optimum usage of bandwidth.

☃ Cost effective.
IMS Capabilities

☃ Multimedia Session Negotiation & Management – (Key to


Communication Services)

☃ QoS – (Key to Quality Real time Service Realization)

☃ Mobility Management – (Critical for Roaming)

☃ Service Execution, Control & Interaction – (Basic for robust


service platform)
Capabilities… Multimedia Session Negotiation &
Management

☃ Session => Connection between 2 endpoints. One endpoint


requests a connection to other endpoint & then they negotiate
how exactly communication will take place. (SDP parameters…)

☃ This capability can be achieved using SIP.

☃ Unlike CS or PS, IMS enables any type of media session to be


estblished ( voice, video, text… ) and also to dynamically modify
them ( ‘On the fly‘).

☃ Multimedia conferencing, PTT, chat all of these are based on the


concept of multimedia session.
Capabilities… QoS (Quality of Service )

☃ In normal IP networks, IP transport is known as “best effort”, but


“no guarantee”.

☃ Real-time transmission is difficult due to ‘video jitter’, ‘poor audio


quality / garbled’, bandwidth, congestion…

☃ QoS overcomes these issues. It ensures; rather than ‘best effort’.

☃ The ‘Intelligence’ required to enable QoS in mobile IP network in


located in IMS, in the form of PDF (Policy Decision Function),
which interacts & controls the underlying network.

☃ Traffic Classes: Conventional, Streaming, Interactive,


Background.
Capabilities… (Mobility Management)

☃ Key IMS components enabling the mobility are CSCF (Call


Session Control Function) & HSS (Home Subscriber Service).

☃ HSS – Holds key subscriber data & enable users to communicate


with other end users.

☃ CSCF – A proxy which aids in the setup & management of


sessions and fwd messages between IMS networks. Hence,
ensuring the mobility within the Home N/w as well as service
mobility while the user is roaming between different network
providers.
Capabilities… (Service Execution, Control &
Interaction)
☃ Operator deploy numerous services, so its crucial to control
service invocation & interaction between various service
components.

☃ In CS / PS, Service execution is application controlled, which


makes service interaction increasingly complex.

☃ Once IMS registration is done with the Operator’s IMS network,


CSCF gets following information:
Capabilities… (Service Execution, Control &
Interaction) Contd….
☃ The Info. with CSCF:

Identifies which service needs to be executed.


Order in which the multiple services (if any), needs to be
executed.
Determines the address(es) of application server(s) which
should execute the requested end user service.
Inform the application server(s) of the order in which
multiple services need to be executed on the same application
server(s).
IMS Architecture
IMS Concepts…
Main Elements of IMS…
☃ P-CSCF (Proxy – Call Session Control Function)
The first contact point within the IMS for the subscriber.
Ensures that the registration of the user is passed to the correct home network.
Ensures that SIP session messages are passed to the correct S-CSCF, once the
registration is thru.
Behaves like Proxy server.

☃ I-CSCF (Interrogating – CSCF)


Contact point within a mobile network for all connections to a subscriber of
that network, or a roaming subscriber currently located within another
network’s service area.
Routes the SIP request received from S-CSCF (Originating UE) to S-CSCF
(Terminating UE).

☃ S-CSCF ( Service CSCF) performs the session control services for the
subscriber, providing the call intelligence & the business logic. It acts a
Registrar.
Elements In IMS
☃ Multimedia Resource Function (MRF). It has 2
entities:
MRFC (MRF Controller)-
Control Media Stream resources in the MRFP
Interpret information from the AS & S-CSCF and control
MRFP accordingly.

MRFP (MRF Processor)


Bearer control on Gi I/f.
Mixing of media streams
Media stream processing.

☃ MGCF & MGW (Media Gateway Control Function):


PSTN signaling end point.
Performs the protocol conversion.
Main Elements of IMS…
☃ HSS (Home Subscriber Server)
DB of all subscriber & service data.
Provides HLR & AUC functions. This allows the user to
access PS or CS domain of the network via IMSI
authentication.
Has the information:
User ID
S-CSCF address/name.
Roaming profile
Authentication parameters
Service information.
Identification of IM Users
☃ Private User Identities:

Assigned by the home network operator


Stored on USIM
Stored within the HSS
Contained in all registration requests passed from UE to home
network (for authentication).
NOT used for routing of SIP messages.

☃ Public User Identities:

Every IM subscriber shall have one or more public user Identities.


For of PUID – SIP URL or E.164 number. related information.
Registration Scenario…
10,11
HSS App Server
3,5 4,6 8,9 12

I-CSCF S-CSCF
7

P-CSCF 1. Both P-CSCF and GPRS/UMTS in same network.


1 2. Forward to I-CSCF by “home domain name”.
GGSN 3. User can register in P-CSCF network???
SGSN
1 5. Request info about required S-CSCF cap???
Radio Access Netw.
4,6. Response & Information
UE 7. Select S-CSCF.
8,9. Send S-CSCF to HSS for the subscriber.
10,11. Download user profile to access service.
12. Send Register info to Service Platform.
Application Level Registration…

UE P-CSCF I-CSCF HSS S-CSCF

1. Register

2. Register
3. Cx Query

4. Cx Query Response
5. Cx Select-Pull
6. Cx Select – Pull response
7. Register
8. Cx Put
9. Cx Put Response
10. Cx Pull
11. Cx Pull Resp.
13. 200 Ok
14. 200 OK
Send Register Info to
Platform
15. 200 OK
Proxy CSCF Discovery
Using DHCP Method

UE GGSN DHCP Server DNS Server

PDP Context Activation GGS N Act s as Re lay Ag en


2. Create PDP Context
3. UE requests a DHCP Server
2. DHCP Query – Resp. 2. DHCP Relay 2a. P- CSCF Domain name
2b. IP Addr. Of DNS Servers
6. UE performs a DNS Query to
3. DNS – Query/Response Retrieve P-CSCF(s) IP Addrs.

Transfer the P-CSCF address with the PDP Context Signaling to the UE
UE SGSN GGSN
Duri ng PD P Cont ext Ac tivat ion Sign ali ng
1. Activate PDP Context Req. 2. UE indicates the req. of P-CSCF IP addrs.
1. Create PDP Context Req. in the PDP context request.
1a. The indication fwded to GGSN.
Get IP Addr.(es) of 2. GGSN gets the P-CSCF IP Addrs.
P-CSCF(s) 3. P-CSCF IP Addrs. fwded to UE

3. Create PDP Context Response

4. Activate PDP Context Accept


Authentication during IMS Registration
UE P-CSCF I-CSCF HSS S-CSCF
1. Register
2. Register
3. UAR
4. UAA
5. Register
6. MAR
7. MAA
8. 401 Unauthorized
9. 401 Unauthorized
10. 401 Unauthorized
11. Register
12. Register
13. UAR
14. UAA
15. Register
16. SAR
17. SAA
18. 200 OK
19. 200 OK
20. 200 OK
Authentication during IMS Registration…
User sends PriUID, stored in the ISIM during the initial REGISTER request.
I-CSCF contacts the HSS using the UAR (User Authentication Request) & fwd.
the request to the S-CSCF.
S-CSCF downloads the AV (Authentication Vector) from HSS using MAR
(Multimedia Auth Req)
S-CSCF rejects REGISTER request with the 401 response, which includes:
A Random challenge (RAND)
N/w Auth Token (AUTN)
Integrity Key (IK) and
Ciphering key (CK).
UE processes the received parameters to the ISIM application which verifies
AUTN (based on shared secret and the SQN), calculates the result (RES) (based
on the shared secret & RAND), and calculates IK.
Then, UE sends the second REGISTER request with the auth. Challenge
response (RES) to the S-CSCF.
S-CSCF compares it with XRES and if the verification is successful, the S-CSCF
replies with 200 OK.
Additionally, the S-CSCF sends the Server Assignment Request (SAR) to HSS.
IMS DeRegistration…

UE P-CSCF I-CSCF HSS S-CSCF

1. Register

2. Register
3. Cx Query

4. Cx Query Response

5. Register
Service Control

8. Cx Put
9. Cx Put Response

13. 200 Ok

14. 200 OK

15. 200 OK
SIP

(Session Initiation Protocol)


Why SIP
☃ SIP (Session Initiation Protocol) is an ASCII based, application layer protocol
that can be used to establish, manage & terminate voice and video sessions
across the packet networks, between two or more end points.
☃ SIP is designed to address the functions of signaling & session management
within a packet telephony network. SIGNALING allows call information to
be carried across network boundaries. SESSION MANAGEMENT provides
the ability to control the attributes of an end-to-end call.
☃ SIP is just to make communication possible. SIP is NOT the only protocol
needed for communication. Few of the protocols needed are RTP, SDP…
☃ Con tr ol Over Services i s P ush ed Out to th e En dpoin ts
☃ In the traditional telecom environment, centralized switching elements
control voice and other services
☃ By moving service control out to the endpoints (such as SIP-based
mobile phones or audio clients), SIP eliminates the need for a central
switching element.
Capabilities provided by SIP…
☃ User Location – SIP supports address resolution, name mapping and call
redirection.
☃ User Capabilities – Via SDP, SIP determines the highest level of common services
between the end points.
☃ User Availability – If a call can’t be completed coz the target end point is
unavailable, SIP determines whether the called party is already on the phone or
didn’t answer in the allotted number of rings. It then returns a message indicating
why the target end point was unavailable.
☃ Call – Setup – If the call can be completed, SIP establishes a session between the
end points. SIP also supports mid-call changes, such as the addition of another end
point to the conference or changing of media characteristics or codec.
☃ User Mobility – (SIP: rajesh.challa@samsung.com – SIP URI format). SIP allows a
session to be established without knowledge of an absolute IP, & hence supports
user mobility.
☃ Manual / Automatic call control – Using SIP, users can
☃ Redirect calls
☃ Sends a JPEG image with the session invitation.
SIP Entities
☃ User Agents
SIP is a Peer – to – peer protocol. The peers in the session are called
User Agents (UAs). They are the end point entities.
User Agent Client : Initiates SIP request.
User Agent Server : Server the requests received from clients.

☃ Proxy Server
Intermediate device that receives SIP requests from a client and then
forwards the requests on the client’s behalf.
Basically, proxy servers receives SIP messages and forward them to the
next SIP server in the network.
They can provide functions such as A&A, n/w access control, routing,
retransmission & security.
SIP Entities (Contd…)

☃ Registrar
Registers the location of the user sent in REGISTER
request from User. viz IP Addr, Port, user name etc.
Helps in locating a particular user.

☃ Redirect Server
Provides the client with information about the next hop or
hops that a message should take.
Then the client contacts the next hop server or UAS
directly.
SIP Message Parts…
☃ SIP message is composed of 3 parts:
Start Line – Every SIP message starts with Start Line. It can be either
Request – Line (SIP Request) or Status – Line (Response).
Request line includes a Request URI, which indicates the user / service to
which this request is being addressed. Unlike “To” field, this address can be
modified by proxies.
The status line holds the numeric Status – code
Headers – Used to convey the message attributes. Similar to HTTP
header fields. Format of the Header fields:
<name>:<value>
Examples : Via, Contact, Route …
Body – Used to describe the session to be initiated. Possible body types
include:
SDP (Session Description Protocol.)
MIME (Multimedia Internet Mail Extension)
SIP Message Examples
☃ Reque st
INVITE sip:raj@samsung.com SIP/2.0 – Request line: Method type,
request URI, SIP version.
Via: SIP/2/0/UDP … - Address of previous hop.
From: Kaja SMP < pkaja@samsung.com > - User originating this request.
To: Rajesh C < raj@samsung.com > - User being invited.
Call ID: 8340938736 - Globally unique ID of this call.
CSeq: 1 INVITE – Command seq. Identifies transaction.
Subject: …
Content-Type: application/SDP – Type of body.
Content-Length: …(Blank line marks end of SIP header & beginning of
body.
V=0 – Version of SDP
O= … - Owner/creator & session identifier, session version address type
and address.
S=… - Session subject
C=… - Connection information
M= audio… - media desc. Type, port, possible formats
SIP Message Examples
☃ Res po ns e
SIP/2.0 200 OK – Status line: SIP version, response code, reason phrase.
Via: SIP/2/0/UDP … - copied from request.
From: Kaja SMP < pkaja@samsung.com > - copied from request.
To: Rajesh C < raj@samsung.com >;tag=… - copied from request.
Include unique tag..
Call ID: 8340938736 - copied from request.
CSeq: copied from request.
Content-Type: application/SDP – Type of body.
Content-Length: …(Blank line marks end of SIP header & beginning of
body.
V=0 – Version of SDP
O= … - Owner/creator & session identifier, session version address type
and address.
S=… - Session subject
C=… - Connection information
M= audio… - media desc. Type, port, possible formats
Operation
Client / Server Transactions
Client: SIP entity generating requests.
Server: SIP receiving request & returning responses.

SIP Requests
INV ITE : Initiates a call, changes call parameters (re-INVITE)
ACK : Provide a 3-Way handshake
CANC EL : Cancels searches & “ringing”.
BY E : Terminates the call.
RE GISTE R : Registers with the Location Service.
OPTIONS : Queries the capabilities of the other side.
INF O : Sends Mid–Session info that does not modify the session state.

SIP Responses – Numeric Codes, Partly based on HTTP


Operations (Contd…)
SIP Response types & Classes:
Provisional (1xx class) – Used by server to indicate the progress, but they do
not terminate the SIP transaction.
Final (2xx – 6xx classes) – Final responses terminate the SIP transactions.
1xx Class – Provisional, searching, ringing…
2xx Class – success.
3xx Class – Redirection, forwarding
4xx Class – Request failure (Client mistakes)
5xx Class – Server failures.
6xx Class – Global failures (busy, refusal, not available anywhere…)
Examples:
100 – Continue 180 – Ringing 200 – OK
301 – Moved permanently 302 – Moved temporarily 600 – Busy
400 – Bad Request 401 – Unauthorized 603 – Decline
403 – Forbidden 408 – Request time-out 480 – Unavailable
482 – Loop detected
Example
Simple SIP Dialogue
INVITE user1@siso.com

Trying

Ringing

Queued 2Callers ahead

Queued 1 Caller ahead

User OK User
Agent ACK
Agent
Client Server

Application Specific Communication

BYE

OK
SDP (Session Description Protocol)
☃ SDP is the protocol used to desc. Multimedia session
announcement, invitation. A multimedia session is
defined as – Set of media streams that exist for a
duration of time.
☃ SDP packets usually include:
☃ Session Information
☃ Session name & purpose
☃ Time(s) the session is active.

☃ Type of media (Video / Audio).

☃ Transport protocol (RTP/UDP/IP)

☃ Media format (H.261 Video / MPEG video)

☃ Multicast address & transport Port for media (IP multicast


session)
☃ Remote address for media and transport port for contact address
(IP unicast session)
Voice Call Establishment – SDP Negotiation
☃ Non-proprietary
All SDP parameters used as defined in RFC 2327

☃ Caller specifies the call options in the INVITE message:


choices for audio and video codecs
audio packetization rate (in ms)
maximum video bitrate acceptable to the caller to receive

☃ Callee responds with final call parameters in the 200 (answer) response to
the INVITE
final choice of audio and video codec
maximum video bitrate acceptable to the callee to receive

☃ Video encode bitrate


both parties encode using the minimum of the two maximum values accepted
by each party
represents raw video content
does not include, but must take into account packet overhead (headers)
RTP + UDP + IP + PPP + Ethernet + DSL/ATM (Gray = DSL)
Example SDP Negotiation
☃ Caller’s SDP (INVITE)

v=0
o=0403242565 0 0 IN IP4 207.82.37.49
s=-
c=IN IP4 207.82.37.49
t=0 0
m=audio 8208 RTP/AVP 4 0 8 <- Caller can receive audio codecs G.723.1,G.711U,G.711A
a=ptime:30
m=video 8210 RTP/AVP 34 31 <- Caller can receive video codecs H.263 and H.261
a=rtpmap:34 H263/90000
a=rtpmap:31 H261/90000
b=AS:640 <- Caller can receive up to 640kbps video bitrate

☃ Callee’s SDP (200 “OK” response to INVITE)

v=0
o=0403242509 0 0 IN IP4 207.82.37.103
s=-
c=IN IP4 207.82.37.103
t=0 0
m=audio 8200 RTP/AVP 4 <- Callee can receive audio codec G.723.1
a=ptime:30
m=video 8202 RTP/AVP 34 <- Callee can receive video codec H.263
a=rtpmap:34 H263/90000
b=AS:128 <- Callee can receive up to 128kbps video bitrate, hence
both parties will encode video at this bitrate
RTP (Real Time Transport Protocol)
☃ RTP provides the information for:
☃ Media content type
☃ Talk spurts
☃ Sender identification
☃ Synchronization
☃ Loss detection
☃ Segmentation and reassembly
☃ Security (encryption)

☃ Standardized by IETF & used by ITU-T


RTP (Real Time Transport Protocol)
☃ RTP Packet has IP & UDP header attached at beginning

Phy /
IP UDP RTP Media Content
MAC

☃ Payload they are transmitted


If both audio & video media are used in a conference,
as separate RTP sessions. RTCP Packets are transmitted for each medium
using 2 differ. UDP port pairs &/or multicast addresses.
☃ SSRC (synchronization Source): The source of stream of RTP packets,
identified by a 32-bit numeric SSRC identifier carried in the RTP header so
as not to be dependent upon the network address.
☃ A participant need not use the same SSRC identifier for all the RTP sessions
in a multimedia sessions; the binding of SSRC identifiers is provided thru
RTCP.
☃ If a participant generates multiple streams in one RTP session, each must be
identified as a different SSRC.
RTCP (RTP Control Protocol)
☃ Separate packets sent on a different port number.
☃ Sender Reports (SR): Information about sent data, synchronization
timestamp
☃ Receiver Reports (RR): Information about received data, losses, jitter
and delay.
☃ Source Description: Name, Email, phone Identification
☃ RTCP primary function is to provide feedback on the quality of data
distribution. This is done by SR & RR.
☃ RTCP carries a persistent transport-level identifier for an RTP source
called CNAME. Since the SSRC may change if a conflict is discovered
or a program is restarted, receivers require the CNAME to keep track of
each participant.
☃ Receivers also require the CNAME to associate multiple data streams
from a given participant in a set of related RTP sessions, for example to
sync. Audio & video.
Example 1-- Presence Server & 2 User Agents

☃ Alice creates a subscription about the status of Bob (User A). The Presence
Server will remember to notify Alice ( User B ), when Bob status changes.
Example 2-- Conferencing
☃ The Original purpose of SIP was to enable media sessions, & it is able to do
this in the following way:

SIP URI – The logical identifier of a user (bob@example.com)

Registrar – A SIP User Agent (client) can send a REGISTER message to the
registrar to advertise its availability. The register operation associates the SIP URI
with one of more access points known as contacts. When a caller wants to
establish a session with the callee, the information in the registrar is used to find
the callee.

Session Management – To place a call to the other user, a SIP user agent sends
an INVITE message to the server and will forward it to the target user. This
message & the other which follow allow for negotiation of media types, such as
audio & video. Once the session is established, the media can be exchanged
directly ( Peer-to-peer).
Two way media Session

Three way media Session


IMS in SHP

Applications IMS Applications

COMMUNICATION

Socket API
IMS
TAPI Proto Manager SIP application
MOCHA services
TCP/IP/PPP

Base Platform
Thank You
???

You might also like