IMS and SIP Flow
IMS and SIP Flow
In a DHCP/DNS procedure for P-CSCF discovery, a user equipment (UE) obtains the
necessary information to reach a Proxy-Call Session Control Function (P-CSCF) by
sending a DHCP request to acquire the P-CSCF's IP address or fully qualified domain
name (FQDN) from the network, then resolving the FQDN to an IP address using a DNS
query if needed; essentially, the UE uses the DHCP server to get the P-CSCF details and
then uses DNS to translate the domain name into an IP address if provided as such. [1, 2, 3]
• Initiate DHCP request: The UE sends a DHCP request to the network, asking for an
IP address and additional information like DNS server addresses. [1, 2, 3]
• DHCP response: The DHCP server responds with the allocated IP address and
potentially the P-CSCF details, either as a direct IP address or as a FQDN. [1, 2, 3]
• DNS query (if necessary): If the P-CSCF information is provided as a FQDN, the UE
performs a DNS query to resolve the domain name into an IP address. [1, 3, 4]
• P-CSCF selection: Based on the received P-CSCF information and any configured
policies, the UE chooses the appropriate P-CSCF to use for communication. [1, 3, 5]
• Policy-based selection: The UE may need to use specific policies set by the
network operator to select the right P-CSCF from multiple options. [1, 3, 5]
Here's a detailed explanation of the DHCP/DNS procedure for P-CSCF discovery in IMS
networks. This process allows a User Equipment (UE) to dynamically discover the address
of its Proxy-CSCF (P-CSCF) when connecting to the IMS network:
Key Concepts
Procedure Overview
1. DHCP Phase: Obtain DNS server addresses and P-CSCF domain name.
Step-by-Step Process
1. DHCP Phase
o UE’s IP address.
Copy
2. DNS Phase
Copy
pcscf.ims.mnc001.mcc001.3gppnetwork.org. IN NAPTR
Step 4: UE selects a transport protocol (e.g., UDP) and sends a DNS SRV
Query for _sip._udp.pcscf.ims....
Copy
_sip._udp.pcscf.ims.mnc001.mcc001.3gppnetwork.org. IN SRV
0 5 5060 pcscf1.ims.mnc001.mcc001.3gppnetwork.org.
0 5 5060 pcscf2.ims.mnc001.mcc001.3gppnetwork.org.
• A Record Example:
Copy
pcscf1.ims.mnc001.mcc001.3gppnetwork.org. IN A 192.168.1.100
pcscf2.ims.mnc001.mcc001.3gppnetwork.org. IN A 192.168.1.101
Copy
P-CSCF 2: 192.168.1.101: 5060 (UDP)
The UE selects a P-CSCF (e.g., based on priority or load balancing) and establishes a SIP
connection.
Key Notes
1. 3GPP Specifications:
o DHCP options and DNS records follow IETF standards (RFC 3315 for
DHCPv6, RFC 3263 for SIP DNS).
3. Security:
======================================================================
P-CSCF Discovery
1. Before sending any Session Initiation Protocol (SIP) requests, the UE must perform
“P-CSCF Discovery”, the process of identifying (by address) the correct Proxy-Call
Session Control Function (P-CSCF). The P-CSCF address may be discovered in one of
three different ways:
a. It may be stored in the IP Multimedia Services Identity Module (ISIM).
b. The UE may request it as part of the PDN connectivity request during the
Attach process.
c. The UE may request an IP address and Fully Qualified Domain Name (FQDN)
from a DHCP server and then perform a DNS query on the returned IP
address and FQDN.
SIP REGISTER Request:
After UE finishes radio procedures and it establishes radio bearers UE can start SIP
registration towards the IMS Network
2. The IMS client attempts to register by sending a REGISTER request to the P-CSCF.
a. The UE's IP address is the source IP address of the SIP message.
b. This IP address is assigned to the UE during the LTE attach procedure (by the
P-GW).
c. The P-CSCF uses this IP address to route responses back to the UE.
3. The P-CSCF forwards the REGISTER request to the I-CSCF.
a. The I-CSCF Interrogates the Home Subscriber Server (HSS) to determine the
target S-CSCF for a subscriber to decide which S-CSCF should manage the
REGISTER request.
b. Routes SIP requests to the correct S-CSCF based on subscriber profiles
IMS (IP Multimedia Subsystem) Call Hold Scenario & Call Flow
The Call Hold feature in IMS allows a user to temporarily suspend an ongoing call and
resume it later. Below is a detailed explanation of the scenario and its call flow using SIP
(Session Initiation Protocol) signaling.
4. Application Server (AS): May handle supplementary services like call hold.
5. Media Resource Function (MRF): Provides media services (e.g., hold music).
Call Flow for Call Hold
o UE-B responds with 180 Ringing (optional) and 200 OK (final response).
3. UE-A → UE-B:
or
3. UE-A → UE-B:
Key Points
• SIP Methods:
• SDP Attributes:
• Hold Music:
This flow ensures seamless suspension and resumption of calls in IMS networks.
The Session Description Protocol (SDP) is a format used for describing multimedia
communication sessions for the purposes of announcement and invitation. It is widely
used in conjunction with protocols like SIP (Session Initiation Protocol), RTP (Real-time
Transport Protocol), and RTSP (Real-time Streaming Protocol)1.
2. Session Information: This includes details like the session name, session title, URI
of the session description, email addresses, phone numbers, and connection
information.
3. Timing Information: Specifies the time the session is active, including start and end
times.
4. Media Descriptions: Each media description starts with an "m=" line and includes
information about the media type, format, and transport protocol.
5. Attributes: Additional attributes can be included to provide more details about the
session, such as encryption keys, bandwidth information, and session-specific
attributes.
In this example:
• m=audio 49170 RTP/AVP 0 describes the media type and port number.
SDP is extensible and can support new media types and formats, making it a versatile tool
for multimedia communication.
Emergency Call(911) with IMS
1. Request-URI
2. Priority
3. P-Asserted-Identity
4. P-Access-Network-Info
5. Geolocation
6. Supported
7. Accept-Contact
8. Call-Info
1. Request-URI
• Purpose: Indicates the service requested and helps route the call appropriately.
o Format:
o Examples of URNs:
▪ Specific services:
▪ Police: urn:service:sos.police
▪ Fire: urn:service:sos.fire
▪ Ambulance: urn:service:sos.ambulance
• Example:
2. Priority
• Example:
3. P-Asserted-Identity
• Purpose: Conveys the identity of the user sending the SIP message, as asserted by
the network.
• Example:
4. P-Access-Network-Info
• Purpose: Provides information about the access network through which the user is
connected.
o Helps the network determine the user's location based on the access
network data.
• Example:
o Explanation:
5. Geolocation
o Uses the Geolocation header to reference location data in the message body.
• Example:
6. Supported
• Example:
7. Accept-Contact
o May specify that the call should be handled by a PSAP (Public Safety
Answering Point) or entities capable of handling emergency services.
• Example:
8. Call-Info
• Example:
o In most emergency call scenarios, the Diversion header is not typically used.
• Request-URI:
o sip:urn:service:[email protected] indicates an
emergency call.
• Priority Header:
• P-Access-Network-Info:
o Provides information about the access network and cell ID for location
purposes.
• P-Asserted-Identity:
• Supported Header:
• The use of urn:service:sos enables the network and SIP proxies to recognize the call
as an emergency call without relying on local emergency numbers, which can vary
by region.
In the transition from traditional circuit-switched networks to all-IP networks like LTE,
handling emergency calls reliably is paramount. IMS provides the necessary architecture to
support emergency services over LTE, ensuring that even without legacy networks, users
can make emergency calls efficiently.
o Manages signaling and control functions for the LTE access network.
Imagine you're in a situation where you need immediate assistance. Here's how your
emergency call is processed in an IMS/LTE network:
o This allows devices without valid credentials (like a SIM card) to connect for
emergency services.
o QoS Class Identifier (QCI) for emergency calls ensures low latency and high
priority.
• P-CSCF Processing:
• E-CSCF Functions:
• Media Setup:
Conference Call
https://www.sharetechnote.com/html/Handbook_LTE_VoLTE_Conference.html#Case_1
1. Conference Initiation
2. P-CSCF Handling
o The P-CSCF receives the INVITE request and responds with a 100 Trying
message.
o The P-CSCF forwards the INVITE request to the S-CSCF (Serving Call Session
Control Function).
3. S-CSCF Processing
• S-CSCF:
o The S-CSCF processes the INVITE request and determines the appropriate
Multimedia Resource Function Controller (MRFC) for the conference.
4. MRFC Handling
o The MRFC sends a 200 OK response back to the S-CSCF, indicating that the
conference has been created.
5. Conference Setup
o The MRFP sets up the necessary media channels for the conference.
o RTP (Real-time Transport Protocol) data begins flowing between the
conference initiator UE and the MRFP.
6. Adding Participants
• Refer Procedure:
o The new participants receive an INVITE request with the conference URI.
o The new participants respond with a 200 OK message, and the MRFP mixes
the media streams for all participants.
7. Conference In Progress
• Media Mixing:
o The MRFP mixes the media streams from all participants and propagates
them to everyone in the conference.
• Participant Leaves:
o The MRFP stops sending media streams to the exiting participant and
informs the remaining participants.
9. Conference Termination
o The MRFP releases the media channels and resources used for the
conference.
o The MRFC and S-CSCF handle the termination process, and the conference
is ended.
6. Participants: Join the conference using the conference URI provided by MRFC.
PRACK
PRACK stands for "Provisional Response Acknowledgement" and in an IMS call flow, it
is a SIP message used to confirm the receipt of provisional responses (like "180 Ringing" or
"183 Session Progress") from the called party, ensuring reliable delivery of these interim
updates during a call setup process, especially when using unreliable transport protocols
like UDP; essentially acting as a way to check if the calling party received the important
progress information from the called party.
• Function:
• Reliability Enhancement:
By sending a PRACK message, the calling party can be confident that the called party
received the provisional response, even if there were network issues that could have
caused packet loss.
PRACK is involved in scenarios where reliable provisional responses are necessary. This
includes:
o When media (audio, video) needs to be exchanged before the call is fully
connected.
• Resource Reservation: Ensuring that network resources are allocated before the
call is established, important in QoS (Quality of Service) sensitive environments.
• Supported: 100rel shows that the sender supports reliable provisional responses.
• Require: 100rel indicates that the sender requires reliable provisional responses.
• INVITE with 100rel: The User Agent Client (UAC) includes the Supported:
100rel header in its INVITE request to indicate its support for reliable provisional
responses.
• Reliable Provisional Response: The User Agent Server (UAS) responds with a
provisional response(e.g.,180 Ringing) and includes the Require:100rel
and RSeq headers, which mandates the requirement of PRACK, containing a
sequence number to uniquely identify the response.
• 200 OK for PRACK: The UAS responds to the PRACK with a 200 OK message and the
call proceeds with further SIP exchanges leading to success or failure of the call.
Key Takeaways
• Reliability: PRACK ensures that provisional responses are reliably delivered and
acknowledged.
• Headers like Supported: 100reland Require: 100rel are essential for indicating
support and requirement for reliable provisional responses. Other key headers
involved are RSeq in provisional responses and RAck in PRACK requests.
The Session Initiation Protocol (SIP) is a signaling protocol widely used for initiating, maintaining, modifying,
and terminating real-time sessions that involve video, voice, messaging, and other communications
applications and services between two or more endpoints on IP networks. Developed by the Internet
Engineering Task Force (IETF), SIP is an essential component in modern telecommunications, particularly in
Voice over IP (VoIP) and Unified Communications (UC) systems.
• Text-Based Protocol: Similar to HTTP and SMTP, SIP uses human-readable text, making it easier to
debug and implement.
• Transport Layer Agnostic: SIP can operate over various transport protocols, including UDP, TCP,
TLS (for secure SIP), and SCTP.
• Extensible and Modular: SIP's design allows for easy extension through additional headers and
methods to support new features and services.
1. User Agent Client (UAC): Initiates SIP requests. It acts as the client in the SIP communication.
2. User Agent Server (UAS): Responds to SIP requests. It acts as the server in the SIP communication.
3. Combined User Agent: Functions as both UAC and UAS, handling both sending and receiving SIP
messages.
b. SIP Servers
1. Registrar: Handles the registration of user agents, mapping user addresses to their current location
(IP addresses).
2. Proxy Server: Routes SIP requests on behalf of user agents, acting as an intermediary that can
modify or forward messages.
3. Redirect Server: Provides information about the next-hop or target for a request, directing the UAC
to contact another server or user agent.
4. Back-to-Back User Agent (B2BUA): Operates as both a UAC and UAS simultaneously, managing SIP
signaling and media streams on behalf of clients.
c. SIP Messages
o 3xx (Redirection): Direct the client to a different server (e.g., 302 Moved Temporarily).
o 4xx (Client Error): Indicate errors caused by the client (e.g., 404 Not Found).
o 5xx (Server Error): Indicate errors caused by the server (e.g., 500 Server Internal Error).
1. Start Line:
o Responses: Contains the SIP version, status code, and reason phrase.
2. Header Fields:
o Examples include From, To, Call-ID, CSeq, Via, Contact, Content-Type, and Content-
Length.
Max-Forwards: 70
Call-ID: [email protected]
Contact: <sip:[email protected]>
Content-Type: application/sdp
Content-Length: 142
v=0
s=Session SDP
t=0 0
a=rtpmap:0 PCMU/8000
Let’s walk through a typical SIP call flow between two users, Alice and Bob, to establish a VoIP call.
• Alice's UAC (User Agent Client) sends an INVITE request to Bob's UAS (User Agent Server) via SIP
proxies.
• The INVITE traverses through one or more SIP Proxy Servers, which route the request based on the
Request-URI (e.g., sip @biloxi.example.com).
3. Bob's User Agent Receives the INVITE
• Bob's UAS receives the INVITE and responds with a 180 Ringing provisional response, indicating that
the call is ringing on Bob's device.
• When Bob accepts the call, his UAS sends a 200 OK response back through the SIP proxies to Alice.
• Alice's UAC receives the 200 OK and sends an ACK request to confirm the receipt of the 200 OK,
completing the call setup.
• Using the information exchanged in the SDP (Session Description Protocol) part of the SIP
messages, both Alice and Bob establish a RTP (Real-Time Protocol) stream for the actual voice
communication.
7. Call Termination
• When either party wants to end the call, they send a BYE request.
• The receiving party responds with a 200 OK, acknowledging the termination.
• Example: sip:[email protected]
b. Components of SIP URI:
4. Parameters and Headers (Optional): Additional information for routing or specifying call options
(e.g., ;transport=udp, ?subject=project)
Before initiating or receiving calls, SIP user agents must register their current location (IP address) with a
Registrar Server. This process ensures that SIP messages are correctly routed to the user’s current location.
Registration Steps:
1. REGISTER Request:
o The UAC sends a REGISTER request to the Registrar Server, including the user's SIP URI
and contact information.
o The Registrar may respond with a 401 Unauthorized message, prompting the UAC to provide
authentication credentials.
o The UAC resends the REGISTER request with the necessary Authorization header
containing credentials.
o Upon successful authentication, the Registrar responds with a 200 OK message, confirming
the registration.
4. CANCEL: Cancels a pending request (e.g., cancels an INVITE before it's answered).
10. INFO: Sends mid-session information that does not modify the session state.
1. 1xx - Provisional Responses: Informational messages (e.g., 100 Trying, 180 Ringing).
2. 2xx - Success Responses: Indicate successful completion (e.g., 200 OK, 202 Accepted).
3. 3xx - Redirection Responses: Direct the client to contact a different server (e.g., 301 Moved
Permanently, 302 Moved Temporarily).
4. 4xx - Client Error Responses: Indicate errors caused by the client (e.g., 400 Bad Request, 404 Not
Found).
5. 5xx - Server Error Responses: Indicate errors caused by the server (e.g., 500 Server Internal Error,
503 Service Unavailable).
6. 6xx - Global Failure Responses: Indicate permanent failures that are not retriable (e.g., 603 Decline,
604 Does Not Exist Anywhere).
SIP headers provide essential information about the SIP messages and the session. Key headers include:
1. Via:
o Indicates the path taken by the request and allows responses to follow the reverse path.
2. From:
3. To:
4. Call-ID:
o A unique identifier for the SIP session, ensuring that requests and responses are correctly
matched.
5. CSeq:
o Contains a sequence number and method, used to order requests within a dialog.
6. Contact:
o Provides the SIP URI where the user can be reached for future requests.
7. Content-Type:
8. Content-Length:
9. User-Agent:
SIP often works in conjunction with SDP (Session Description Protocol) to describe the media parameters
of a session. SDP is typically included in the message body of SIP messages like INVITE and 200 OK.
o alice: Username.
6. m=audio 49170 RTP/AVP 0: Media description (audio on port 49170 using RTP/AVP profile, payload
type 0).
7. a=rtpmap:0 PCMU/8000: Attributes (payload type mapping to codec, e.g., PCMU at 8000 Hz).
• Implementation: Uses sips: URI scheme and negotiates TLS during the SIP handshake.
• Implementation: Utilizes S/MIME certificates to encrypt and sign SDP payloads within SIP
messages.
c. Digest Authentication:
• Mechanism: Uses challenge-response mechanism with hashes (MD5) based on a shared secret.
• Purpose: Secures SIP traffic at the IP layer, providing encryption and authentication.
• Implementation: Can be used to protect SIP signaling between SIP proxies and servers.
2. Video Conferencing:
o Integrating various communication services like voice, video, messaging, and conferencing
into a single interface.
SIP is foundational to many modern communication systems, enabling interoperability and flexibility across
diverse platforms and services. Its ability to handle multimedia sessions and integrate seamlessly with other
protocols makes it indispensable in both consumer and enterprise communications infrastructures.
• Role in IMS: SIP serves as the primary signaling protocol within the IMS architecture, facilitating the
delivery of IP-based multimedia services.
b. Mobile Networks:
• VoLTE (Voice over LTE): Utilizes SIP for establishing voice calls over the LTE data network.
• 5G Networks: Continues to leverage SIP for session management and service delivery within
advanced network architectures.
• Use of SIP: While WebRTC primarily uses protocols like WebSockets and STUN/TURN/ICE, SIP can
be integrated for signaling in WebRTC-based applications to manage sessions and user interactions.
The IP Multimedia Subsystem (IMS) is an architectural framework for delivering IP-based multimedia
services. Developed by the 3rd Generation Partnership Project (3GPP), IMS enables the convergence of
voice, video, messaging, and data services over both wireless and wired networks. It is a pivotal component in
modern telecommunications, supporting services such as Voice over LTE (VoLTE), Video over LTE (ViLTE),
and various unified communication (UC) applications.
1. What is IMS?
IMS stands for IP Multimedia Subsystem, a standardized architecture designed to facilitate the delivery of
IP-based multimedia services. IMS decouples the service layer from the network layer, enabling service
providers to offer a wide range of services across different access networks (e.g., LTE, Wi-Fi) using a unified
framework.
Key Objectives of IMS:
• Service Convergence: Integrate various multimedia services (voice, video, messaging) into a single
platform.
• Interoperability: Ensure seamless interaction between different access technologies and service
providers.
• Flexibility: Allow for easy addition and customization of new services without overhauling the
underlying network infrastructure.
• Quality of Service (QoS): Guarantee service quality and reliability for multimedia applications.
IMS architecture is composed of several key components, each responsible for specific functions within the
system. The architecture is modular, allowing for flexibility and scalability.
a. Core Components:
o Role: Acts as the first contact point for User Equipment (UE) within the IMS network.
o Functions:
▪ Forwards SIP (Session Initiation Protocol) messages between the UE and the IMS
core.
o Role: Serves as a query point within the home network to locate the appropriate S-CSCF.
o Functions:
▪ Interrogates the Home Subscriber Server (HSS) to determine the target S-CSCF for a
subscriber.
o Role: The central node in the IMS architecture responsible for session control.
o Functions:
o Functions:
o Functions:
o Role: Manages the routing of calls between the IMS network and external PSTN (Public
Switched Telephone Network) or other IMS networks.
o Functions:
▪ Interfaces with MGCF (Media Gateway Control Function) and MGW (Media
Gateway) for media processing.
b. Support Functions:
o Role: Manages policy control and charging rules for multimedia services.
o Functions:
▪ Interfaces with the PGW (Packet Data Network Gateway) to enforce policies.
o Role: Facilitates the mapping of telephone numbers to SIP URIs using DNS.
o Functions:
o Functions:
▪ MGCF handles call control signaling, while MGW manages media (voice/video)
streams.
IMS leverages a variety of protocols to manage signaling, media transport, and service delivery. The primary
protocols involved are SIP, Diameter, HTTP, and SDP.
• Functionality: Handles call setup, routing, and teardown using SIP messages (INVITE, ACK, BYE,
etc.).
b. Diameter Protocol:
• Functionality: Facilitates communication between IMS core components like the MME and HSS for
subscriber authentication and authorization.
• Functionality: Embedded within SIP messages to specify media types, codecs, and network
information for the session.
• Purpose: Enable communication between application servers and other IMS components.
• Functionality: Often used for service provisioning and management via RESTful APIs.
To illustrate how IMS operates, let's examine a typical VoLTE (Voice over LTE) call setup process within the
IMS framework.
1. Registration:
o The UE (User Equipment) registers with the IMS network by sending a REGISTER SIP
message to the P-CSCF.
o The P-CSCF forwards the registration to the I-CSCF, which queries the HSS for the
appropriate S-CSCF.
o The S-CSCF updates the HSS with the UE's current location and handles authentication.
2. Session Initiation:
o Alice's UAC sends an INVITE SIP message to the P-CSCF, specifying Bob's SIP URI.
o The P-CSCF routes the INVITE through the I-CSCF to the appropriate S-CSCF for Bob.
3. Service Invocation:
o The S-CSCF identifies the services required (e.g., voice call) and interacts with the Media
Gateway Control Function (MGCF) if the call needs to interface with the PSTN.
o The S-CSCF invokes the necessary Application Servers to handle supplementary services
like voicemail or call forwarding.
4. Media Negotiation:
o The INVITE contains an SDP payload detailing the media capabilities (e.g., codecs, IP
addresses).
o Bob's UAS responds with a 200 OK SIP message, agreeing to the session parameters.
5. Session Confirmation:
o Alice's UAC sends an ACK SIP message to confirm the session establishment.
o Media streams (voice) begin between Alice and Bob using RTP (Real-Time Protocol) as
negotiated.
6. Session Termination:
o Either party can terminate the call by sending a BYE SIP message.
o The other party responds with a 200 OK, concluding the session.
a. Voice Services:
o Description: Provides high-quality voice calls over the LTE data network.
o Features: Enhanced voice clarity, lower latency, simultaneous voice and data transmission.
o Description: Allows voice calls to be made over Wi-Fi networks when LTE coverage is weak
or unavailable.
b. Video Services:
2. Video Conferencing:
o Description: Supports multi-party video sessions for business and personal use.
c. Messaging Services:
o Description: Enhances traditional SMS with features like group chats, high-resolution photo
sharing, and read receipts.
2. Instant Messaging:
d. Supplementary Services:
1. Call Forwarding:
2. Voicemail:
o Description: Allows users to leave voice messages when the recipient is unavailable.
3. Call Waiting:
e. Unified Communications:
• Description: Integrates various communication methods (voice, video, messaging) into a single
cohesive system.
TAS:
The Telephony Application Server (TAS) is a critical component in modern IP Multimedia Subsystem (IMS)
architecture, enabling the delivery of voice, video, messaging, and multimedia services over IP networks. It
plays a vital role in VoIP (Voice over IP) and VoLTE (Voice over LTE) implementations, ensuring that traditional
telephony services can be delivered in an IP-based environment.
1. Call Control:
o TAS manages call setup, modification, and teardown for voice and video calls over IP,
ensuring end-to-end signaling between IMS core network elements.
2. Supplementary Services:
o TAS enables supplementary services like call forwarding, call waiting, call barring, three-way
calling, and number portability.
3. Multimedia Support:
o TAS allows integration of voice with other media types like video, SMS, MMS, and instant
messaging, providing a unified communication experience.
o TAS executes service logic for applications, such as voicemail, conferencing, and interactive
voice response (IVR) systems.
The mapping between the S-CSCF and TAS involves several steps to ensure that the appropriate telephony
services are invoked based on the subscriber's profile and service requirements.
1. Registration Request:
o When a user (UE) attempts to register with the IMS network, the P-CSCF forwards the
registration request to the I-CSCF.
2. Routing to S-CSCF:
o The I-CSCF queries the HSS to determine the appropriate S-CSCF for the subscriber based
on the SIP URI or IMS Public User Identity (IMPU).
o The S-CSCF communicates with the HSS to authenticate the user and retrieve the
subscription profile, which includes information about the services the user is entitled to.
o The S-CSCF accesses the HSS to obtain the S-CSCF Service Profile for the subscriber. This
profile contains information about:
▪ Application Server Triggers: URIs of application servers (like TAS) that need to be
invoked for specific services.
o Based on the subscription profile, the S-CSCF identifies which services are active for the
user. For telephony services, the TAS is designated as the application server to handle these
services.
2. URI of TAS:
o The HSS provides the URI (Uniform Resource Identifier) of the TAS. This URI is typically in
the form of a SIP address (e.g., sip:tas.example.com).
3. Session Initiation:
o When a user initiates a call or requests a telephony service, the S-CSCF uses the SIP
protocol to route the signaling to the TAS based on the retrieved URI.
1. SIP Signaling:
o The S-CSCF sends SIP INVITE messages to the TAS to invoke the desired telephony service.
For example, if the user activates call forwarding, the S-CSCF communicates this request to
the TAS.
2. Service Execution:
o The TAS processes the request, executes the service logic (e.g., setting up call forwarding),
and responds back to the S-CSCF with the appropriate SIP responses (e.g., 200 OK).
3. Session Continuation:
o The S-CSCF manages the session by coordinating between the UE, the TAS, and other
network elements as needed to maintain the call or service.
1. Service Chaining:
o A subscriber might have access to multiple services that require different application
servers. The S-CSCF maintains a mapping table retrieved from the HSS that links specific
services to their respective application servers.
2. Dynamic Invocation:
o Based on the service requested, the S-CSCF dynamically routes signaling to the appropriate
AS (e.g., TAS for telephony, another AS for video services).
To illustrate the S-CSCF to TAS mapping, let's walk through a call forwarding service scenario:
a. User Activation
1. User Action:
2. Signaling:
o The device sends a SIP REGISTER or SIP UPDATE message to activate call forwarding.
b. S-CSCF Processing
1. Session Management:
o The S-CSCF receives the activation request and updates the session state.
2. Service Invocation:
o Recognizing that call forwarding is a telephony service, the S-CSCF consults the HSS to
retrieve the TAS URI.
1. SIP INVITE:
o The S-CSCF sends a SIP INVITE to the TAS to set up the call forwarding rule.
2. TAS Processing:
o The TAS processes the request, updates the user's call forwarding settings, and responds
with a SIP 200 OK to confirm activation.
d. Confirmation to User
1. Final Response:
o The S-CSCF relays the confirmation back to the user's device, indicating that call forwarding
has been successfully activated.
Applications of TAS
• VoLTE (Voice over LTE): TAS is essential for managing voice services over LTE networks, allowing
mobile operators to deliver high-definition voice services.
• Rich Communication Services (RCS): TAS helps facilitate RCS for delivering enhanced messaging,
file sharing, and video calls.
• VoWiFi (Voice over Wi-Fi): TAS is used in VoWiFi deployments, where it ensures seamless
handovers between LTE and Wi-Fi networks for voice services.
• Fixed-Mobile Convergence (FMC): TAS supports FMC solutions, allowing operators to deliver
services across both fixed-line and mobile networks.
VOLTE Call flow
2. LTE identifies a PDN Gateway (P-GW) that offers a connection to the IMS network.
3. LTE establishes a Default bearer for SIP from the subscriber to the selected P-GW.
The default EPS bearer is established with a QoS Class Identifier (QCI) value of 5
(the QCI value required for SIP signaling).
4. The smartphone sends a SIP “Invite” message toward the IMS network. Contained in
the SIP message is a Session Description Protocol (SDP) that carries the QoS
requirement.Note that although SIP messages are carried through the LTE network,
the LTE network is unaware of the
content of the message (nor the need for special QoS treatment at this stage).
5. The IMS network extracts the required QoS setting from the SIP message.
6. If a charging policy applies, then the IMS network sends an initial diameter Credit
Control Request (CCR) to the OCS over the Ro interface and an initial amount of
credit is reserved anticipating the need to precisely
meter flow data during the call.
7. The QoS requirement is sent from the IMS network through the Rx interface (using
the Diameter protocol) to the PCRF.
8. The PCRF creates actionable charging and QoS rules and forwards these across the
Gx interface to the Policy and Charging Enforcement (PCEF) that lives with the P-GW
in the LTE network.
9. The P-GW now sends a request to establish a separate “dedicated bearer” (with a
QCI value of 1) to the smartphone.
10. After the smartphone confirms that LTE can support the new dedicated bearer, it
sends a SIP “UPDATE” message to the IMS network.
11. The IMS network completes the setup process and establishes the call.
12. Bidirectional VoIP call packets flow inside the LTE network (to the P-GW) and
smartphone.
13. For charging, the IMS network requests credit from the OCS throughout the call
(e.g., every 10 seconds). If credit does not exist, a 402 (payment required) message
is sent back to the smartphone and the call is
cancelled. If credits expire during the call, it is terminated.
14. When the call terminates, the smartphone sends a SIP “BYE” message to the IMS
network.
15. The IMS network sends a diameter CCR termination request to the OCS, which ends
the charging metering and triggers actions to collect IMS billing records.
17. The PCRF tells the PCEF to close out the LTE billing, and instructs the P-GW to tear
down the dedicated bearer established for the VoIP call.
image984×772 83.7 KB
04. VoLTE SIP Call Flow – Mobile Originating (MO) & Terminating (MT)
Contents
VoLTE MO and MT Call Flow :- Covering VoLTE to VoLTE SIP IMS Call flow for Mobile
Originating & Mobile Terminating Calls . It Provides extract of 3GPP / GSMA Specs
simplified way
Along with SIP Call flow , We will also cover Codec Negotiation in Detail in the End where
We will be covering AMR , AMR-WB & EVS Codec which supports both super-wideband and
full-band speech communication and provide crystal clear HD Voice
This Video is all about SIP Signaling & Codec Negotiation happens in VoLTE where we will
go thru Complete Mobile Originating & Mobile Terminating call flow for VoLTE to VoLTE Calls
.
SIP stands for Session Initiation Protocol (SIP) , In a VoLTE call SIP protocol is used to
create, modify and terminate sessions, essentially negotiating a session between two
users. SIP does not perform transport layer (delivering data) those are done by RTP/RTCP .
SIP is a sequential protocol with request/response similar to HTTP both in functionality
and format
Point 1 is Media Handshake ( which includes SDP Offer & Answer ) : SDP Stands
for session description protocol . This works on handshake of Media Bearers & Codes
Negotiation for HD Voice call between A Party & B Party . This SDP Message is carried inside
SIP Messages . This helps in Exchange of many critical & Important messages such as IP
Address , Bandwidth Required & Codecs supported by User . These parameters are
Negotiated on basis of SDP Offer & Answer mechanism used .. Both UE communicate with
each other via SDP Offer / Answer Model to Negotiate QOS & Codec Information
As shown in Point. No 2 … During , This Negotiation & Media Handshake , The Dedicated
Bearer needs to be established for this voice call on QCI=1 . This Dedicated bearer is used
to carry voice Payload & Interconnect user and LTE network for carrying voice Bits n Bytes .
This is done with help of Network Node PCRF which enables communication between IMS
& LTE Network to establish & tear down these Dedicated Bearers for Voice Calls between
User and LTE Network .
Only after satisfying QOS Pre-Conditions , Call can proceed with Ringing user as
mentioned in 3rd Step . This communication happens over SIP Protocol
As mentioned in 4th point , Once the called party picks the call , Both UE begin
exchanging Media Packets
Please Note : Media Packets may be sent directly and don’t traverse the same path as
signaling
Here , I am going to cover brief overview of SIP Call flow just to give you High level Idea on
How SIP Works , We will cover same call flow again much detail in coming Slides
1. SIP INVITE : The VoLTE Calling (A) Party User initiates a Voice Call by sending SIP
INVITE request, This SIP Invite containing the SDP offer with IMS media
capabilities. The SDP offer shall contain the Required codec , Bandwidth details
etc.. Required for HD Call
2. 100 trying : The Receiving (B) Party Acknowledge SIP Invite by Sending 100 trying
3. SIP 183 Progress : The terminating (B) party user will respond with an SDP answer in
a SIP 183 Progress message. This SDP answer should contain Codec supported and
indicates that preconditions are also desired but not met yet at the terminating
side . During this SDP 183 , Dedicated Bearers are created at both A Party & B Party
Side on LTE Networks . This is done with help of PCRF connecting both P-CSCF &
LTE Network
5. 200 OK for PRACK : This PRACK is responded by Called (B) Party with 200 OK
6. SIP Update : Now, The Calling (A) Party reserves internal resources to reflect the SDP
answer and confirms resource reservation by sending a SIP UPDATE message with a
new SDP Offer. The offer contains the selected codec and information that the local
preconditions have been met at the originating (A) Party side and that the media
stream is now set to active.
7. 200 OK for Update : The 200 OK for the SIP UPDATE response with the SDP answer
contains in a Agreed voice codec and confirmation that the preconditions are met at
the terminating (B) Party side too and that the media stream is active
8. SIP 180 Ringing : The Called (B) Party can start to ring and replies back with SIP 180
Ringing response
9. 200 OK for INVITE : Now , Called (B) Party has answered the call , it responds with a
200 OK to the Calling (A) Party
10. ACK : Last ACK shows that the call has been established. The voice traffic goes over
the dedicated bearer to A Party IMS to B Party IMS to B Party to Called Party User via
dedicated LTE bearer of B Party
SIP Invite : The UE sends an INVITE request through the originating leg , This message
contains Request-URI with details of destination subscriber . This SIP Invite is sent using
with Route header that contains both the P-CSCF and S-CSCF addresses obtained during
registration . This SIP INVITE contains an SDP which is used for carrying & Negotiating
Media Information . Critical key information included in SIP Invite is :-
1. SDP offer
5. This SDP Offer Preconditions indicated resource reservation is required for the
originating network , but resources have not yet been reserved
7. SIP Invite also contains information on B Party details such as tel-URI etc..
SIP Call Flow – 100 Trying
After receiving SIP-Invite , Every Hop in Network responds back with a 100 Trying
provisional response. The provisional response is a one-way response sent back to the
originating side used as generic Information . It is not necessarily guaranteed for its safe
arrival
3. The SDP Answer indicates support of relevant Codecs by Called Party subscriber
.This helps both Users to selects Common Code which are mutually supported by
both A Party and B Party User
1. Dedicated bearers are now created on both Originating Side & Terminating Side
2. Upon receiving the 183 Session In Progress, the P-CSCF of respective Origination or
Terminating Party triggers the Authentication & Authorization request (AAR) towards
the PCRF to inform that there is new IPCAN Session required . This is done over Rx
Protocol connecting P-CSCF & PCRF
3. Upon receiving the AAR, the PCRF generates PCC rules which triggers SGW/PGW to
perform bearer creation on QCI=1 for Voice Calls . This is done over Gx interface
between PCRF & PGW
4. The PGW initiates the EPS bearer creation procedure and responds with the Re-
Auth-Answer (RAA) to the PCRF , Similarly PCRF reply back to P-CSCF with AAA
Message
5. Now , P-CSCF continues the SIP signaling by forwarding the 183 towards Originating
Party
Also , A Party also uses this PRACK to communicate Final Selected Codec which is decided
for Voice Call via 2nd Offer
200 OK (PRACK) : With 200 OK , B Party Accepts Final selected Codec Offered by A Party in
PRACK Request . Now , Final Agreement on Codec to be used have been completed . Both
A & B Party Agree that Reservation of Resources are required but resources have not yet
been reserved With this , Codec Negotiation have been done by both Parties but Resource
reservation is still pending
SIP Call Flow – SIP UPDATE , 200 OK UPDATE
UPDATE
Now , Originator (A) Party user sends 3rd Offer Request to B party with Update Request
depicting Resource Reservation status . Here , Originator will perform critical Task of
Reserving resources & Will send Update request without changing rest of Parameters such
as Codec etc.. . Since Codec have been already Agreed between both Parties via PRACK
Message discussed Earlier , Same Selected Codec will be used in this Offer without Any
further changes .
200 OK (UPDATE)
With 200 OK , B Party also reserves resources & confirm back to Originator
SIP Call Flow – 180 Ringing , SIP 200 OK INVITE , SIP ACK
180 Ringing
The 180 Ringing provisional response is received by the UE. It indicates the voice call setup
request is being notified to the recipient. The Called (B) Party Started Ringing
Now , Called (B) Party has answered the call , it responds with a 200 OK to the Calling (A)
Party . Upon receiving the message , The originator UE allocates the media resource
SIP ACK
The UE sends SIP ACK towards the terminating user as acknowledgment . Last ACK shows
that the call has been established. The voice traffic goes over the dedicated bearer to A
Party IMS to B Party IMS to B Party to Called Party
1. We can clearly see SIP Invite Going from Originator to A Party P-CSCF to S-CSCF ,
Every Node Provides back Acknowledgement back to Previous Node by 100 Trying
Message . This Cycle continues in B Party Network as well .
2. Calling Party SCSCF involves TAS to process the Outgoing call & to execute
originating service , Post this , S-CSCF tries to find out terminating subscriber
network. so it sends ENUM query for B party number and finds out details of B party
Network here
3. Now , Traffic get’s handed over to B Party Network where I-CSCF does Interrogation
with HSS & Finds appropriate B Party S-CSCF to be used . Here B Party S-CSCF
triggers TAS to Process Incoming Call & Execute Terminating Service
4. Here , TAS is involved in almost all transactions passing thru both A Party S-CSCF
and B Party S-CSCF , We are not showing same keeping away clutter from Screen
5. Finally , SIP Invite is forwarded to B Party I-CSCF to S-CSCF to P-CSCF & Finally to B
Party User
6. B Party User responds back with 183 Session in Progress to B party P-CSCF
7. Here P-CSCF creates Dedicated bearer on QCI=1 for Voice Call for B Party on LTE
Network with help of PCRF
8. P-CSCF forwards this 183 Session in Progress containing SDP Answer back to B
Party S-CSCF to I-CSCF & Ultimately its handed over back to A Party S-CSCF & P-
CSCF
9. Now , A Party P-CSCF also creates Dedicated Bearer for A Party user over LTE
Network using PCRF Node
10. Finally , This 183 Session in Progress is sent back to A Party User
1. The Originator (A) Party sends Provisional Response ACKnowledgement with PRACK
Message . Pls Note , For Simplicity .. We have removed LTE Networks & B Party I-
CSCF from this Slide as they are no more required for further processing of Signaling
3. Now, The Calling (A) Party reserves internal resources to reflect the SDP answer and
confirms resource reservation by sending a SIP UPDATE message with a 3rd SDP
Offer
4. The 200 OK for the SIP UPDATE response with the SDP answer
5. The Called (B) Party can start to ring and replies back with SIP 180 Ringing response
6. Now , Called (B) Party has answered the call , it responds with a 200 OK to the
Calling (A) Party
7. Last ACK shows that the call has been established. The voice traffic goes over the
dedicated bearers
Now , We have closed the Entire chain for VoLTE to VoLTE voice call . We will cover or last
section on Codec used in VoLTE moving ahead
For many operators the HD voice quality was one of the market drivers for 4G . Let’s
understand , What is Codec & How VoLTE uses these codecs to offer HD Voice .
VoLTE uses RTP ( which is Real time transfer Protocol ) . This is widely used protocol for real
time communications such as Voice or Video . RTP ensures Reliable delivery . As far as
speech codecs are concerned, the basic Adaptive Multi Rate (AMR) speech codec is
mandatory; the popular data rate for good speech quality is 12.2 kbps . AMR is old codec &
in use since few Years now after 3G Era . RTP over UDP is used to transport AMR speech.
For AMR : The UE & IMS Network must support the AMR with all eight codec modes
For AMR-WB : The UE & IMS Network must support AMR-WB including all nine modes
Now , Last Comes the New Codec by Name of EVS which supports both super-wideband
and full-band speech communication . If the EVS codec is supported, These may be used
as an alternative implementation of AMR-WB . Although EVS May requires higher
bandwidth , But It ensures absolutely crystal clear voice Quality .
Please Note : All these Specs are Governed by 3GPP Specs .. I have shown 3GPP Website
link on screen where all required information is readily available with Specs Detail
1. What is GSM MAP?
GSM MAP (Mobile Application Part) is a signaling protocol defined by the 3rd Generation Partnership
Project (3GPP) as part of the SS7 (Signaling System No. 7) framework. It facilitates the exchange of signaling
messages between different network entities in a GSM network, enabling functionalities such as subscriber
management, call setup, SMS delivery, and mobility management.
• Short Message Service (SMS): Enable the delivery and management of SMS messages.
• Billing and Charging: Support accurate billing by tracking usage and applying charging rules.
GSM MAP operates within the SS7 protocol stack and interacts with various network elements to perform its
functions. Below are the primary components involved:
o Functions: Responds to queries about subscriber information, manages roaming data, and
handles authentication requests.
o Role: Temporary database storing subscriber information for users currently within a
particular MSC's (Mobile Switching Center) service area.
o Functions: Facilitates call routing, location updates, and manages temporary data during
subscriber presence in the area.
o Role: Core network element responsible for call setup, routing, and termination.
o Functions: Connects calls between subscribers, interfaces with the PSTN (Public Switched
Telephone Network), and manages mobility.
o Functions: Routes SMS messages between mobile devices and external networks or
applications.
o Role: Interfaces with external networks for call routing and SMS delivery.
o Functions: Routes calls and messages to/from the PSTN or other mobile networks.
GSM MAP operates at the Application Layer of the SS7 protocol stack. Below is a brief overview of the SS7
layers relevant to MAP:
1. Physical Layer: Defines the hardware and physical media used for SS7 signaling (e.g., fiber optics,
copper lines).
2. Data Link Layer (MTP3 - Message Transfer Part Level 3): Handles the routing and management of
signaling messages between SS7 nodes.
3. Network Layer (MTP2): Provides error correction and flow control for message transmission.
4. Application Layer (MAP): Implements the actual signaling procedures for GSM functionalities.
GSM MAP supports a wide range of functions essential for the operation of GSM networks. Below are some of
the primary functionalities facilitated by MAP:
a. Subscriber Management:
o Handles subscriber registration with the network, including updating location information.
o Facilitates the verification of subscriber identities and ensures secure access to network
services.
b. Mobility Management:
• Location Updating:
o Tracks the current location of subscribers as they move across different MSC areas.
• Handover Management:
o Manages the seamless transfer of active calls/data sessions when a subscriber moves from
one cell to another.
• Roaming Management:
o Handles subscriber access to services while roaming outside their home network.
c. Call Control:
• Call Routing:
o Determines the optimal path for call delivery based on subscriber location and network
topology.
• SMS Delivery:
o Manages the transmission of SMS messages between mobile devices and external
applications or networks.
o Temporarily stores messages when recipients are unavailable and forwards them once
reachable.
• Usage Tracking:
o Monitors subscriber usage of services for accurate billing.
o Communicates charging data between network elements for processing and billing.
GSM MAP defines various messages used to perform specific procedures within the GSM network. Below are
some of the essential MAP messages and their corresponding procedures:
a. Registration Procedure:
o Purpose: Sent by the MSC/VLR to the HLR to update the subscriber's current location.
o Purpose: Response from the HLR confirming the location update and providing necessary
subscriber information.
b. Authentication Procedure:
c. SMS Procedures:
o Purpose: Sent by the SMSC to the HLR to obtain routing information for delivering an SMS to
a subscriber.
o Purpose: HLR responds with routing information, typically pointing to the subscriber's
current VLR.
o Purpose: Similar to SMS, used to determine the routing for incoming calls.
o Purpose: HLR provides the necessary routing information for the call.
o Purpose: Sent by the VLR to the HLR to request a temporary roaming number for a
subscriber.
o Purpose: HLR responds with the roaming number assigned to the subscriber.
To illustrate the operation of GSM MAP, let's walk through a typical Voice Call Setup procedure involving a
subscriber moving into a new MSC area.
Scenario: Subscriber Roaming into a New MSC Area and Receiving a Call
• Subscriber (UE)
o New MSC/VLR detects the presence of the UE and initiates a Location Update.
3. Call Origination:
o Caller A's MSC forwards the call to the GMSC for routing.
o GMSC uses the MAP SRI (Send Routing Information Request) to the HLR to obtain the
current location of Subscriber B.
o MAP SRA (Send Routing Information Answer): HLR → GMSC (providing the VLR address of
the new MSC)
o GMSC forwards the call to the New MSC/VLR based on the routing information received.
6. Call Notification:
7. Call Acceptance:
o New MSC/VLR establishes the call path between Caller A and Subscriber B.
8. Voice Transmission:
o Voice data is transmitted between Caller A and Subscriber B via the established call path.
9. Call Termination:
o MAP BYE (Call Termination Request): Initiated to release the call resources.
6. GSM MAP Protocol Details
Understanding GSM MAP requires familiarity with its protocol stack, message types, and
procedures. Below are the essential details:
a. Protocol Stack:
GSM MAP operates within the SS7 protocol stack, specifically at the Application Layer.
Here's a brief overview:
lua
Copy code
+---------------------+
+---------------------+
+---------------------+
+---------------------+
| Physical Layer |
+---------------------+
1. Message Type: Identifies the purpose of the message (e.g., ULR, ULA, SRI, SRA).
2. Transaction ID: Uniquely identifies the transaction to match requests with responses.
3. Parameters: Carry specific information required for the procedure (e.g., subscriber ID, routing
information).
1. Location Management:
o Update Location (ULR/ULA): Updates the subscriber's current location in the HLR.
3. Service Control:
4. SMS Handling:
While GSM MAP is integral to traditional GSM networks, its relevance extends to modern 3G,
4G, and even some 5G networks that maintain compatibility with GSM infrastructure.
However, with the evolution of network technologies, newer protocols like Diameter have
emerged, especially in LTE and IMS architectures, offering enhanced capabilities and
flexibility.
• Diameter Protocol: Replaces some functionalities of MAP in LTE networks, providing more robust
AAA services and better support for IP-based communication.
• Integration with IMS: In LTE and IMS environments, MAP continues to support backward
compatibility with GSM-based services and subscribers.
• VoLTE (Voice over LTE): Utilizes IMS for voice services, where Diameter handles AAA, while MAP
maintains interactions with GSM-based HLRs for subscriber data