Sprint's Casting Call of Voice Over Actors: An in depth analysis of VoLTE, Calling+, and VoWiFi
Sprint 4G Rollout Updates
Friday, April 5, 2019 - 3:06 AM PDT
Now that VoLTE is actually rolling out on Sprint, it's a good time to dive into what exactly is VoLTE, and how is it different from Calling+ and VoWiFi (Wifi Calling).
E-UTRA or EUTRA: Stands for Evolved Universal Mobile Telecommunications System (UMTS) Terrestrial Radio Access. This is the technical name for the actual LTE airlink.
QoS: Quality of Service. This is a way of tagging / flagging certain types of traffic to have priority above or below other traffic. When traffic has a QoS tag higher than other traffic, network equipment (the tower, routers, etc) will drop or ignore lower priority traffic to ensure that this traffic goes through instead. The equipment can also be configured to reserve a certain amount of bandwidth to only be used by traffic with a particular QoS tag. For example, if a router has 10 Mbps available, it can allocate 1 Mbps for a certain QoS tag. Normal traffic will only be able to use 9 Mbps, with 1 Mbps reserved for that QoS tag. The number of QoS priorities / tags varies between equipment vendors, but can be in excess of 256 priority levels.
QCI: QoS Class Identifier. This is a value that an LTE / E-UTRA session can be assigned that corresponds to a particular QoS tag and specific attributes of that particular QoS queue. For example, it may or may not specify a guaranteed/dedicated bandwidth allocation (GBR).
APN: The APN is the name of the gateway on a mobile network. It identifies the packet data network that should be used for that E-UTRA session.
IMS: IP Multimedia Subsystem. It is a method for sending SMS over LTE, along with setting up VoLTE calls and other signaling.
eCSFB: Circuit Switched Fall Back. For phones / UEs that can only listen on either LTE or CDMA rather than both simultaneously, it is a method for the LTE network to tell the device that a call is coming in, and to switch over to CDMA to process it.
SRLTE: Single Radio LTE. This is a capability of newer devices that allows them to listen on both CDMA and LTE at the same time, but only transmit on one at a time. This replaces the need for eCSFB, allowing the device to see a call coming in over CDMA while it’s using LTE. It is also more reliable and reduces the number of missed calls due to failed fallback. When a call is active, the LTE session is stopped / paused.
SIP: Session Initialization Protocol. This is the standard protocol for VoIP in telecom networks.
How VoLTE Works
While we typically think of LTE as a single connection, multiple E-UTRA “sessions” can actually be established, creating what are essentially virtual/multiple LTE interfaces, each with their own IP address, QoS level, APN, etc. Each session has a numerical QCI assigned that dictates the actual QoS priority and whether or not it has a GBR (Guaranteed Bitrate).
|QCI||Resource Type||QoS Priority||Packet Delay Budget||Packet Error Loss Rate||Example Services|
|2||GBR||4||150ms||10−3||Conversational Video (Live Streaming)|
|3||GBR||3||50ms||10−3||Real Time Gaming, V2X messages|
|4||GBR||5||300ms||10−6||Non-Conversational Video (Buffered Streaming)|
|65||GBR||0.7||75ms||10−2||Mission Critical user plane Push To Talk voice (e.g., MCPTT)|
|66||GBR||2||100ms||10−2||Non-Mission-Critical user plane Push To Talk voice|
|6||non-GBR||6||300ms||10−6||Video (Buffered Streaming) TCP-Based (for example, www, email, chat, ftp, p2p and the like)|
|7||non-GBR||7||100ms||10−3||Voice, Video (Live Streaming), Interactive Gaming|
|8||non-GBR||8||300ms||10−6||Video (Buffered Streaming) TCP-Based (for example, www, email, chat, ftp, p2p and the like)|
|9||non-GBR||9||300ms||10−6||Video (Buffered Streaming) TCP-Based (for example, www, email, chat, ftp, p2p and the like). Typically used as default bearer|
|69||non-GBR||0.5||60ms||10−6||Mission Critical delay sensitive signalling (e.g., MC-PTT signalling)|
|70||non-GBR||5.5||200ms||10−6||Mission Critical Data (e.g. example services are the same as QCI 6/8/9)|
As you can see in the above table, the QCI does not necessarily correspond to the QoS level. For example, QCI 1 has a QoS priority of 2, but QCI 5 has a QoS priority of 1, making it actually higher priority traffic.
On Sprint, traditionally one E-UTRA session was used, with a QCI of 9 and QoS priority of 9. This is the lowest QoS priority, and does not have a guaranteed bitrate. On devices which use eCSFB or VoLTE, another E-UTRA session is established for the IMS APN using a QCI of 5 and QoS priority of 1, and is used for IMS. This session also does not have a guaranteed bitrate, but it has the highest QoS priority. IMS is used for SMS over LTE, along with setting up VoLTE calls. eCSFB devices use it for SMS, and likely also for triggering eCSFB. On newer device which instead use SRLTE, IMS is not used unless VoLTE is enabled, and they instead use CDMA 1x for SMS, so an IMS E-UTRA session is often not setup.
When a VoLTE call is initiated, a third E-UTRA session is established, also using the IMS APN. This session has a QCI of 1 and QoS priority of 2. Unlike the other two sessions, this one does have a guaranteed bitrate. For Sprint, this bitrate is 39 Kbps. The screenshot below shows all 3 sessions:
|VoLTE E-UTRA sessions|
This is how VoLTE calls are prioritized over regular data. Normal data usage, such as loading a web page or watching a video, will still use the lower, default QoS (QCI of 9), while the data for the VoLTE call will be at the second highest priority (QCI 1), just after IMS signaling (QCI 5). The tower / eNB will ensure that the VoIP session always is able to use up to 39 Kbps by reserving that bandwidth and dedicating it to the call.
This is in contrast to “Calling+”, which does not establish a separate E-UTRA session, and instead uses the normal QCI 9 session. The below screenshot shows an active Calling+ call. Note the presence of only a single E-UTRA session.
|Calling+ E-UTRA sessions|
So now that we have the airlink for VoLTE, what happens? VoLTE, Calling+, and VoWiFi are essentially standard SIP VoIP calls. The below screenshots show the SIP details for an active call, and the LTE Signaling messages that setup and then end the SIP call.
|VoLTE SIP details||VoLTE Signaling|
For VoLTE, the traffic for the SIP call goes over the QCI 1 E-UTRA session instead of the normal QCI 9 session. This means that the eNB (tower) will reserve and guarantee 39 kbps for the call, but other traffic from the same device will not be prioritized and will use the normal session. So starting a VoLTE call will not make the rest of your traffic prioritized, it will apply only to the VoLTE call.
So as a recap, when VoLTE is enabled, the UE / phone establishes multiple E-UTRA sessions. One is used for normal usage, one is used for texting and signaling, and one is used for the VoLTE call. Think of these like separate virtual ethernet cables. On the QoS prioritized and guaranteed bitrate VoLTE session, the UE establishes a SIP VoIP connection for a call. On Calling+ devices, the same SIP connection is used, however it runs over the default QCI 9 session instead, and therefore isn’t prioritized and doesn't have a guaranteed bandwidth. This is why Calling+ calls are more likely to cut out or not sound as good.
|VoLTE call||Calling+ call|
VoWiFi (Wifi calling) operates almost the same way. Like VoLTE and Calling+, it also uses the same SIP connection for calls and presumably IMS for signaling, but instead of using an LTE E-UTRA session, the phone establishes an IKEv2 IPsec VPN connection to Sprint. This is an encrypted connection that allows data to be tunneled directly into Sprint’s network. The SIP and IMS traffic are then routed over this VPN to Sprint, but not other, normal traffic. From a QoS perspective, VoWiFi is identical to Calling+, in that neither are prioritized above other traffic.
Because VoLTE, Calling+, and VoWiFi all use the same SIP servers and connections, under normal conditions they sound the same and can technically hand off to one another. They can all take advantage of HD Voice codecs and should sound the same, since the call itself is identical across all three. The difference is how the data for that call makes it to Sprint. VoLTE is able to use a dedicated, guaranteed airlink to ensure that congestion on the network (LTE or WiFi) won’t adversely affect the call.
One final performance benefit is that VoLTE is able to take advantage of something called RoHC (Robust Header Compression), seen in the above 3 screenshots. This compresses the IP, TCP, UDP, and RTP headers from 60 bytes to 1-3 bytes, resulting in up to 60% bandwidth savings. It’s only possible on a dedicated link, which is why VoLTE has it but Calling+ and VoWiFi do not. So not only does VoLTE have guaranteed, dedicated bandwidth, it will use potentially half as much, which matters a lot for maintaining the call in edge of cell scenarios.