Mmtel Architecture Overview: C2 General
Mmtel Architecture Overview: C2 General
C2 General
IMS Access
• User Equipment
– PC-Client
– SIP Phone
– POTS with SIP IAD
– SIP ALG
– 2G/3G Mobile phone with SIP Client
– 4G Mobile phone with SIP Client
C2 General
Call Session Control Function
(CSCF)
› Proxy Call Session Control Function (P-CSCF)
› Interrogating Call Session Control Function (I-CSCF)
› Emergency Call Session Control Function (E-CSCF)
› Serving Call Session Control Function (S-CSCF)
C2 General
Proxy CSCF (P-CSCF)
• First contact point in the IMS network.
• Stateful proxy
• Keeps track of registrations and active call sessions.
– Stores the UE Contact info (IP address and port).
– Enforces min/max registration times.
• Forwards SIP messages from the access network to
the SIP server in the home network (and vice versa).
I-CSCF
P-CSCF
S-CSCF
C2 General
Interrogating CSCF (I-CSCF)
CSCF.
C2 General
Serving CSCF (S-CSCF)
Performs session control services:
• Subscriber registration and authentication.
• Downloading the user profile.
• Triggering of the Application Servers HSS MTAS MM
C2 General
Home Subscriber Server (HSS)
The master database containing all user and
subscriber
information.
›The
Identification of users.the following capabilities:
HSS provides
› Authentication and authorization of MTAS
user access.
› Keeps track of which S-CSCF the user
is registered to. SLF HSS CUDB
C2 General
ENUM Domain Name Server
(ENUM DNS)
• ENUM: Phone Number SIP Address
• DNS: Fully Qualified Domain Name (FQDN)
IP Address
• DHCP support for IPv4 and IPv6 networks
S-CSCF
IPWork
s
C2 General
Application Server
MTAS
• MMTel Application Server providing end-user
telephony services such as Call Forwarding and
other value-add services.
MTAS
HSS S-CSCF
C2 General
Session Border Gateway (SBG)
• Funnels sessions
• Ensures Security, Quality of Service,
Service Level Agreements & Network
Address Translation IMS
• Implements the ATCF (Access Transfer A-SBG
Control Function)
• The SBG has two roles in the network;
– A-SBG: in the crossing between an
access network and the IMS system
IMS
– N-SBG: in the crossing between an
external network and the IMS system IMS
N-SBG
H.323
C2 General
PSTN Gateway
• Media Gateway Controller (MGC)
– Master to the MGWs.
– Responsible for the call control signaling. MM
M-MGW
C2 General
Support Nodes
SUPPORT
SYSTEMS
OSS-
RC
OSS-RC (Operation Support System)
EMA
EMA (Ericsson Multi Activation)
EMM
EMM (Ericsson Multi Mediation)
C2 General
Main Protocols
• CONTROL
– SIP (Session Initiation Prot.)
– SDP (Session Descript. Prot.)
– Diameter
– H.248/Megaco (MGW Control Prot.)
– ISUP
– H.323
• MEDIA
– RTP (Real Time Protocol)
– MSRP (Media Session Relay Prot.)
C2 General
Registration
• A user registers from a UE by sending a SIP REGISTER
request to the IMS network. It includes the user’s
– Current location
– Public User Identity
C2 General
Authentication
• Procedure used to verify the identity of a user
• HTTP Digest
– challenge-response
– requires password in HSS and UE
C2 General
Registration and Authentication
REGISTER sip:home.net
Authorization: Digest username=”[email protected]”,
realm=”home.net”, nonce=””,
uri=”sip:home.net”, response=””
U S
E 401 Unauthorized -
WWW-Authenticate: Digest, realm=”home.net”, C
nonce=”1a349e65da714b65”,
algorithm=AKAv1-MD5 S
C
REGISTER sip:home.net F
Authorization: Digest username=”[email protected]”,
realm=”home.net”,
nonce=”1a349e65da714b65”,
algorithm=AKAv1-MD5,
uri=”sip:home.net”,
response=”08f52a37cd257b37”
200 OK
C2 General
The SIP Model
• SIP routes session control messages Sip SIP Sip
between clients Proxy Proxy
• Client to Client (not client to network)
SIP SIP
• Typically – MM sessions between end
points (UAs) Media Session
UA UA
SIP
SDP
C2 General
Terminology
• Transaction
– Request & Response(s)
– ID: branch in the top Via header
Via: SIP/2.0/UDP 147.214.150.92:5060;branch=z9hG4bK-2bb893c9;rport
C2 General
SIP Components
SIP Server
Proxy
Redirect
Registrar
B2BUA
SIP Message
IP
C2 General
SIP Server Types
• SIP Proxy
– Stateful: S-, P-, and E-CSCF
– Stateless: I-CSCF
• SIP Redirect
– Not implemented in IMS
• SIP Registrar
– S-CSCF
• B2BUA (Back-to-Back User Agent)
– ASs, SBG, MGC
C2 General
IMS User Address Types
C2 General
SIP Messages
SIP MESSAGES
REQUESTS/METHODS RESPONSES
REGISTER
INVITE PROVISIONAL FINAL
ACK RFC 3261
CANCEL
BYE 100-199 >199
OPTIONS 100 Trying, 2xx Success
180 Ringing, and 3xx Redirect
UPDATE 183 Session progress 4xx Client Mistake
PRACK
5xx Server Failure
PUBLISH
6xx Global Failure
SUBSCRIBE
OWN RFCs
NOTIFY
MESSAGE
INFO
REFER
C2 General
SIP Responses
1xx Provisional request received, continuing to process the
request;
Ex: 100 Trying, 180 Ringing, 183 Session Progress
C2 General
SIP General Message Format
Starting line
REQUEST: Method, URI, version
RESPONSE: Status code
Header fields . . .
•Addresses for routing
•Dialog & Transaction Ids
•UA capabilities
•Security/privacy settings
Empty line
Body (optional)
SDP
XML
MIME . . .
C2 General
SIP Transactions
Request
A B
Provisional
response
Provisional
response
Final
response
C2 General
SIP Routing
Request Line: Home
Request URI Domain
DNS
VIA:
Route:
Record-Route: S-CSCF
HSS
Location
CURRENT
CSCF Location
Request Line:
Request URI
VIA:
Route:
I-
Record-Route:
P- S- S- P-
CSCF CSCF CSCF CSCF CSCF
SIP INVITE
DNS HSS
C2 General
SIP Routing – VIA
How do we route responses to requests?
•Could use DNS and follow in reverse.
•BUT
•Better to use VIA
INVITE
INVITE
INVITE Via: <ProxyC>
INVITE Via: <ProxyB>
Via: <ProxyA> Via: <ProxyB>
Via: <UAC> Via: <ProxyA>
Via: <UAC> Via: <ProxyA>
Via: <UAC>
Via: <UAC>
200 OK
200 OK
200 OK Via: <ProxyC>
200 OK Via: <ProxyB>
Via: <ProxyA> Via: <ProxyB>
Via: <UAC> Via: <ProxyA>
Via: <UAC> Via: <ProxyA>
Via: <UAC>
Via: <UAC>
C2 General
SIP Response Routing
Location
Server
alice@aside bob@bside
Proxy A Proxy C
UAC aside Proxy B bside UAS
INVITE Bob@bside INVITE Bob@bside INVITE Bob@bside INVITE Bob@current
Via: <UAC> Via: <ProxyA> Via: <ProxyB> Via: <ProxyC>
Contact: alice@current Via: <UAC> Via: <ProxyA> Via: <ProxyB>
Contact: alice@current Via: <UAC> Via: <ProxyA>
Transaction Contact: alice@current Via: <UAC>
#1 Contact: alice@current
Transaction
#2
ACK bob@current
Via: <UAC>
Contact: alice@current
C2 General
SIP Routing Summary
• Request URI
– User or Service REQUESTS
– Overruled by Route
• Record-Route
– Proxies that want to stay in the dialog 1. Route header
– Cached and inserted into Route of 2. Request URI and
new request
– MTAS, SBG and MGC use Contact DNS look-up
• Route
– Forces requests through a set of
Proxies
– Used by S-CSCF at MTAS invocation
• Via RESPONSES
– For routing responses
• Contact
VIA header
– Current address put in Request URI in
future requests
C2 General
Path and
Service-Route headers
P-CSCF I-CSCF S-CSCF
REGISTER REGISTER
Path: <P-CSCF URI,port; Path: <P-CSCF URI,port;
lr> lr>
Store
Path
200 OK 200 OK
Service-Route: <S-CSCF Service-Route: <S-CSCF
URI,port; lr> URI,port; lr>
Store
Service-Route
INVITE
Route: <S-CSCF URI,port;
lr>
C2 General
Originating Call Routing (No AS)
S-CSCF I-CSCF
INVITE [email protected]
P-CSCF
UserA
DNS
C2 General
Terminating Call Routing (No AS)
Binding:
Public User ID:s
Private User ID
Allocated S-CSCF
HSS
Binding:
Public User ID:s
Private User ID
P-CSCF (Path)
Current (registered) address
I-CSCF S-CSCF
INVITE [email protected] INVITE [email protected]
Route: <sip:S-CSCF URI>
P-CSCF UserB
C2 General
SIP Headers
C2 General
SIP Message Example
Session Initiation Protocol
Request-Line: INVITE sip:[email protected] SIP/2.0
Message Header
CSeq: 1 INVITE
To: <sip:[email protected]>
From: "user7" <sip:[email protected]>;tag=ae872e33-101e905eba87
Max-Forwards: 70
User-Agent: Movial-CallTron/6.2.2.2132
Call-ID: [email protected]
Content-Type: application/sdp
Content-Length: 408
Via: SIP/2.0/UDP 147.214.150.92:5060;branch=z9hG4bK-2bb893c9;rport
Contact: <sip:147.214.150.92:5060;transport=UDP>
Message body
Session Description Protocol
Session Description Protocol Version (v): 0
Owner/Creator, Session Id (o): - 26408 1 IN IP4 147.214.150.92
Session Name (s): -
Time Description, active time (t): 0 0
Media Description, name and address (m): audio 8500 RTP/AVP 0 8 106
Connection Information (c): IN IP4 147.214.150.92
Media Attribute (a): rtpmap:0 PCMU/8000
Media Attribute (a): rtpmap:8 PCMA/8000
Media Attribute (a): rtpmap:106 telephone-event/8000
Media Attribute (a): sendrecv
C2 General
SIP Headers 1
• Request line, ex: INVITE sip:[email protected] SIP/2.0
C2 General
SIP Headers 2
Extendibility:
› Allow Methods supported by UAC
› Supported Extensions supported by UAC
› Require Extensions that the UAS must support
› Unsupported UAC Ext. not supported
› Accept Content types acceptable to UA
› Accept-Contact IANA reg. Feature tag included
by UAC
Authentication:
› WWW-Authenticate
› Authorization
C2 General
SDP – Session Description
Protocol
C2 General
SDP (Session Description Protocol)
IP-Packet
SDP SIP
Body Header
A SDP Offer B
SDP Answer
C2 General
SDP Types
v= (protocol version)
o= (owner/creator and session identifier) Time description:
s= (session name)
i=* (session information) t= (time the session is active)
u=* (URI of description) r=* (zero or more repeat times)
e=* (email address) Media description:
p=* (phone number)
m= (media name and transport address)
c=* (connection information)
i=* (media title)
b=* (bandwidth information)
c=* (connection information)
One or more time descriptions (see right) b=* (bandwidth information)
z=* (time zone adjustments) k=* (encryption key)
k=* (encryption key) a=* (zero or more media attribute lines)
a=* (zero or more session attribute lines)
Zero or more media descriptions (see right)
(*=optional)
C2 General
SIP Message Example
Session Initiation Protocol
Request-Line: INVITE sip:[email protected] SIP/2.0
Message Header
CSeq: 1 INVITE
To: <sip:[email protected]>
From: "user7" <sip:[email protected]>;tag=ae872e33-101e905eba87
Max-Forwards: 70
User-Agent: Movial-CallTron/6.2.2.2132
Call-ID: [email protected]
Content-Type: application/sdp
Content-Length: 408
Via: SIP/2.0/UDP 147.214.150.92:5060;branch=z9hG4bK-2bb893c9;rport
Contact: <sip:147.214.150.92:5060;transport=UDP>
Message body
Session Description Protocol
Session Description Protocol Version (v): 0
Owner/Creator, Session Id (o): - 26408 1 IN IP4 147.214.150.92
Session Name (s): -
Time Description, active time (t): 0 0
Media Description, name and address (m): audio 8500 RTP/AVP 0 8 106
Connection Information (c): IN IP4 147.214.150.92
Media Attribute (a): rtpmap:0 PCMU/8000
Media Attribute (a): rtpmap:8 PCMA/8000
Media Attribute (a): rtpmap:106 telephone-event/8000
Media Attribute (a): sendrecv
C2 General
Why learn about Diameter?
• Vital part in the IMS System My name
is Bob
– Registration HSS
– Authentication S-
CSCF SLF
SAA
(Server Assignment Answer)
C2 General
Introduction to Diameter
C2 General
Diameter Definitions
My name
• Authentication - verify the identity of a user. is Bob
C2 General
Diameter Base Protocol
RFC 3588
• Delivery of AVPs
• Capabilities Negotiation
• Error Notification
• Extendability
C2 General
Diameter Terminology
• Diameter Node (I,S,E,HSS,MTAS..)
– Diameter Server (HSS)
– Diameter Agent (SLF)
• Relay, Proxy, Redirect, Translation
– Diameter Client (I,S,E,MTAS)
• Diameter Peer
• NAI – Network Access Identifier (User’s Id)
• Realm
– Home Realm
• Session
C2 General
Diameter Agents
• Relay Proxy:
Forward Diameter Requests HSS
• Proxy
S- SLF
Policy Decisions and Forward CSCF
HSS
C2 General
SIP to SIP Session Establishment
UE-A P- I-CSCF S- HSS UE-B
CSCF CSCF MTAS DNS
1. INVITE
2. INVITE
3. DNS Query
4. INVITE
5. DNS Query
6. INVITE
7. LIR/LIA
8. INVITE
9. DNS Query
10. INVITE
11. INVITE
12. INVITE
13. 200 OK
14. 200 OK
15. 200 OK
16. 200 OK
17. 200 OK
C2 General
SIP to SIP Session Establishment
P- S-
UE-A CSCF I-CSCF CSCF
MTAS DNS HSS UE-B
18. 200 OK
19. 200 OK
20. 200 OK
21. 200 OK
22. 200 OK
23. ACK
24. ACK
25. ACK
26. ACK
27. ACK
28. ACK
29. ACK
30. ACK
MEDIA
C2 General
Session Release
P- S- MTAS UE-B
UE-A CSCF I-CSCF CSCF DNS HSS
MEDIA
32. BYE
33. BYE
34. BYE
35. BYE
36. BYE
37. BYE
38. BYE
39. BYE
40. 200 OK
41. 200 OK
42. 200 OK
43. 200 OK
44. 200 OK
45. 200 OK
46. 200 OK
47. 200 OK
C2 General