VoLTE is a communication standard defined by GSMA and 3GPP organizations. They created plenty of documents, but these documents are not good when one is a beginner. Still it’s no rocket science. Perhaps it is because the documents don’t contain more good pictures explaining the basic ideas. I believe if the standards would be written as comic books, they’d have much broader audience 🙂
What is VoLTE?
- VoLTE stands for Voice over LTE. LTE is a new standard for wireless communication of high-speed data for mobile phones.
- Sometimes we can see also ViLTE, which means Video over LTE.
We can say that new technologies allow us to send and receive more data using our smart phones, iPhones, tables and other mobile devices. LTE network is the latest technology which is fully working on top of IP protocol.
- A packet-switched all-IP network which provides data connectivity and mobility.
LTE technology, sometimes marketed as 4G LTE, was originally designed mainly for data transmition. In contrast to its ancestors such as GSM, CDMA, UTMS networks, LTE doesn’t define any real-time communication services. The multimedia communication is controlled by IP Multimedia Subsystem (IMS) network.
- VoLTE is based on the IMS network – a framework designed for delivering IP multimedia services.
- IMS uses IETF protocols wherever possible (SIP, MRSP, Diameter, IPSec, RTP, RTCP, ..)
- Even 5G is based on LTE, however the core network 5GS has a different architecture. IMS for 5G remains the same.
Why we need IMS?
IMS is an access independent, user-centric network providing services such as authentication, session routing and management, QoS, roaming, provisioning, charging etc.
Access independent means that it is not just the LTE via which we can access the IMS services. IMS is designed in much more general way and supports multiple different access technologies (e.g. Wifi, WebRTC, ..).
- IMS can work with any IP-based access network
- Can also interwork with 2/3G networks
The big change – in contrast to GSM, CDMA, UTMS – is that the IMS network is not device-centric anymore. We can use more devices at the same time. These devices can have different capabilities and can be connect via different access networks.
- User can have more devices.
- IMS has to find the proper routing and use forking if needed.
IMS network is very powerful. However that brings certain complexity. Just for an example, let’s see 3GPP’s picture of IMS network architecture.
- IMS is very general and complex.
- There are many specifications defining particular functionalities.
In the beginning we don’t need to spend much time with this scary graphics. We can use a simplified IMS model instead.
- P-CSCF (Proxy Call Session Control Function) is an entry point for IMS signalling. It is directly connected to the VoLTE device (UE) over SIP protocol. It also maintains the security associations between itself and the UE. The P-CSCF may be implemented in an Access Session Border Controller which may also incorporate the IMS-ALG/IMS-AGW.
- I-CSCF (Interrogating Call Session Control Function) is the contact point within an operator’s network for all connections destined to
a user of that network. It’s main job is to find out which S-CSCF the user is registered on.
- S-CSCF (Serving Call Session Control Function) is the heart of the IMS. The S-CSCF is a SIP server providing session set-up, session tear-down, session control and routing functions. It invokes Application Servers (TAS, IPSMGW) based on rules (IFCs) received from the HSS. The S-CSCF acts as a SIP registrar for VoLTE UEs – which means that it is the server responsible for the registration of user in the IMS network.
- I-CSCF and S-CSCF are often collocated in so-called IMS Core (or just CSCF).
- Application Servers such as Telephony Application Server (TAS) or IPSMGW provide support for a minimum set of mandatory
MultiMedia Telephony (MMTel) services and Transport Level Interworking (SMS over SIP) as defined by 3GPP e.g. supplementary service functionality, and profiled within GSMA PRD IR.92.
- HSS (Home Subscriber Server) The HSS is a network database that holds both static and dynamic data elements related to
subscribers. The HSS provides user and service profile information to the IMS Core and Application Servers.
So What is VoLTE?
As the IMS is very general there was a need to define an IMS Profile for Voice and SMS that identifies a minimum mandatory set of features that a wireless device – the User Equipment (UE) – and network are required to implement.
The profile is specified in GSMA IR.92 and it includes the following aspects:
- IMS basic capabilities and supplementary services for telephony
- Real-time media negotiation, transport, and codecs
- LTE radio and evolved packet core capabilities
- Functionality that is relevant across the protocol stack and subsystems
- Any additional features that need to be implemented for the UEs and networks that wish to support concurrent Circuit Switched (CS) coverage
- The roles of an SM-over-IP sender, receiver, and the role of an IP-SM-GW.
Additionally for ViLTE we have GSMA IR.94 which specifies IMS Profile for Conversational Video Service. There are many other GSMA and 3GPP and IETF documents providing detail specification.
How can we call?
Before anyone can please or receive a call, he or she has to be registered in the network first.
- The aim of the registration is to authenticate the user, learn the current point-of-presence and capabilities of the device.
- S-CSCF is the SIP Server user is registering to.
- After a successful registration S-CSCF will retrieve a subscriber profile from HSS.
- Based on this profile will trigger Application Servers.
Once the user is registered in the network, S-CSCF can provide the session routing for the VoLTE Call. Note that we are still talking about signalling (SIP protocol). The media (voice, video using RTP protocol) are routed separately based on the information exchanged over Session Description Protocol (SDP, sent as a body of SIP messages).
- IMS Network provides session routing using SIP protocol – read our tutorial SIP Illustrated: SIP by sip to learn more!
- SIP in the body contains SDP, which describes parameters of the media session
- S-CSCF triggers TAS (MMTel) which applies services for Originator and Recipient (Address translation, Call Barring, Call Forwarding, Playing of tones and announcements, …)
- Multimedia data (RTP stream) has its own trajectory and it is handled by SBC.
Where Can I learn More?
A good document is the GSMA VoLTE Service Description and Implementation Guidelines or GSMA IMS Profile for Converged IP Communications. Some more information can be also found on these pages:
- IMS from 10.000 feet
- VoLTE in IMS
- VoLTE Flows – Basics – presentation
- VoLTE Flows and CS Network – presentation
- SIP Illustrated: SIP by sip
- VoLTE flows – close encounters
Love love love your posts.. the effort you put in pays off.. I do have one question. When capture wireshark traffic of call flows… Is there a way, rather it be in a header.. or perhaps the way it’s displayed… of determining rather a call is coming in over a Wifi connection, through an access point or something, and between that and an LTE call coming in over the enodeB?
Basically what I’m asking is what are some things we can look for in wireshark, to see if the call is a wifi call or an LTE call or maybe an older 3G/PSTN call?
of course, this piece of information is really critical for a lot of decisions in IMS. In the SIP headers you can find the famous PANI header – P-Access-Network-Info, we’ve discussed in several times on these pages. Other interesting headers are P-Visited-Network-ID and Contact, especially its +sip.instance tag.
i really appreciate your posts. Thank you!
You are most welcome!