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.
The year 2015 is definitely a year of VoLTE. VoLTE is everywhere and operators are rolling out as crazy. There are plenty of articles describing how the LTE or LTE-A do work. We’ll put the LTE Packet Core part aside and take a look on the IMS related VoLTE architecture and VoLTE call flows.
Communicates with access network (e.g. LTE) and is responsible for QoS
Handles Media Services, provides transcoding if needed
For the end-2-end signalling (voice call setup) we use SIP protocol. The multimedia then goes out-of-band using RTP protocol.
The heart of IMS network is IMS Core. It consists of often collocated I/S-CSCF, which cares about authentication, session routing and management.
I-CSCF (Interrogating Call Session Control Function)
I-CSCF provides a Location service. That means that for each subscriber (or public service) I-CSCF is able to locate the right S-CSCF.
I-CSCF also represents IMS network to peers. E.g. for peer networks the I-CSCF is the first point of contact.
S-CSCF (Serving Call Session Control Function)
The S-CSCF is responsible for basic IMS services. It is a SIP server providing session set-up, session tear-down, session control and routing functions.
S-CSCF acts as SIP Registrar – stores the binding between Public User Identity (e.g. sip uri or tel uri) and its actual point of presence (Contact IP address) and maintains user registration status. During VoLTE registration procedure S-CSCF performs user authentication.
S-CSCF also invokes Application Servers (TAS, IPSMGW) based on rules (IFCs) received from the HSS.
The IMS Core however doesn’t know anything about Voice or SMS service. That is a task for Application servers. The Application Server for voice and video telephony is called TAS – Telephony Application Server or MMTel AS – Multimedia Telephony AS.
Telephony Application Server (TAS)
The application server responsible for all the services as address normalization, call diverting, call forwarding, barring, etc.
In a nutshell TAS is what makes the VoLTE enhancements on top of the pure VoIP.
VoLTE specification also defines SMS interworking. To support SMS over SIP we have a dedicated Application Server called IPSMGW. In more detail it is described in IPSMGW – Transport Level Interworking post.
IMS Core and Application Servers don’t have any persistent storage. All the information about subscribers and their services is stored in HSS (Home Subscriber Server). The communication between HSS and I/S-CSCF or TAS makes use of Diameter protocol.
Other IMS elements are:
MRF – Media Resource Function
Can be used as a media mixer or as a media server for playing of tones and announcements.
MGCF – Media Gateway Control Function
MGCF is used for the breakout to and from CS network. Usually the MGCF and MGW – Media GW is a part of enhanced MSC.
BGCF – Breakout Gateway Control Function
BGCF might be used in case when S-CSCF is not able to find the routing based on ENUM/DNS (e.g. PSTN number). Usually it is a part of IMS Core (along with S-CSCF and I-CSCF).
The IMS definition is very broad and flexible. GSMA VoLTE standard restricts it and defines what services are mandatory and how we should implement them. E.g. it defines how to implement Emergency Services, SRVCC, Roaming, SMS interworking, etc. In our post we will go through the basic LTE to LTE callflow.