I am working with VoLTE capable android devices. When a device attaches to LTE it automatically gets PDN connectivity to APN1 , which is for Internet access. Immediately after that, the device requests PDN connectivity to the IMS APN (APN2). After this procedure completes, the device is connected to two different APNs simultaneously, has different IP addresses for the two APNs and can send traffic simultaneous on both "connections".
Q: I would like to understand how Android (4.1.2 in my case) actually implements this (?)
I assume that these are two different interfaces, but netcfg (adb shell) shows only one interface up, the one for APN1. The one for APN2 is nowhere to be found. It is, however, active and working because the device is sending IMS signalling on it (I am 100% sure of that). As a result, I cannot capture traffic (tcpdump) or add routing rules to ping specific IP addresses via APN2.
Digital Matter Cellular Devices have a number of ways to allow you to work with APNs. While the Auto-APN feature can be thought of as a way to get up and running quickly (plug and play), Multi-APN is a way to fix your APN settings and work with multiple roaming networks. Auto-APN is the default setup for the devices.
Multiple APN's can be set up for each Android device, but only one configuration is allowed per APN. NOTE: The Android APN Settings Configuration takes precedence over other APN settings if already configured in the device manually or by the network operator.
APN stands for Access Point Name. This is a kind of Gateway (or Anchoring point) to which your UE (Mobile Phone) get attached to get access to the core network for most of the data service.
An Access Point Name (APN) provides all the details that your device needs to connect to mobile data. If you are setting up a new device or putting your SIM card into a device for the first time, your network operator should send you their APN details in a configuration message.
I think the reason why you can't see and access the IMS connection from your Android Application is probably clear but maybe not the mechanism that prevents you from seeing it.
The reason why the Operator would not want you to access the IMS connection is that this is used for call and session connection set up and take down in an IMS network. Allowing untrusted users direct access to this would open the door for lots of interesting and uncontrolled behaviour that could seriously compromise the operators network (denial of service attacks for instance).
How Android keeps visibility of this connection away from you is not as obvious. I think the best way to view it is to think of an LTE enabled Android device as being made up of two main components:
The 'phone' part exposes certain functionality to the 'Android' part via defined interfaces - see the following link:
http://www.kandroid.org/online-pdk/guide/telephony.html
For obvious security reasons the 'phone' side in 2G and 3G devices exposes a relatively simple and very limited set of interfaces. For example, even though the 'phone' part itself contains all the functionality necessary to set up calls, negotiate radio resource usage etc, it does not provide an API to allow the Android application observe or manipulate these mechanisms or messages, beyond a limited set of defined interactions for basic call set up etc.
In the 3G world the detail of the mechanism to send a call setup message is thus hidden from the Android application - it can make a high level request to set up a call, but it can't actually control the GSM or 3G signalling to request rails resources, send the initial call message etc . In LTE to ensure this also stays hidden the Android application is not given access to the IMS connection and I think this is the observed behaviour you are probably referring to.
In LTE data & voice do behave a little differently than traditional 2G/3G NW. DATA - In LTE a Phone is always connected to the NW and receives IP address so that you can communicate over internet. This IP is changed only if you are switching the phone Off or putting it on Airplane mode. The APN through which user gets the IP Access is called as default APN, this APN is operator specific and same can be seen in any Android based phone through "settings" options.
Voice - As in LTE, there is no Circuit Switched NW (CS NW), Voice also rides over data connection but as Voice is real time traffic it need different Quality of Service...QoS. Hence to meet up the QoS requirement LTE comes up with a IMS NW (IP Multimedia Service) and this can be accessed by a separate NW.
So LTE Data & IMS APNs are active in parallel but exchanging data across two different IP Addresses.
The IMS APN is standard across all the operator and hardcoded in the VoLTE capable phone itself.
I have not seen the exchange of messages for IMS APN at phone, but from NW side...yes!. Phone sends SIP registration (IMS Signaling msg) over this APN and also RTP pkts (Voice call). IMS APN is to be used for Voice Calling, Video Calling & SMS. For a normal user perspective he never knows whether the voice call is going through traditional 2G/3G NW or LTE-IMS NW, except that IMS do support HD Voice & Video...
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With