多个活动APN

时间:2013-09-20 14:18:50

标签: android apn lte

我正在使用支持VoLTE的Android设备。当设备连接到LTE时,它会自动获得到APN1的PDN连接,APN1用于Internet访问。紧接着,设备请求到IMS APN(APN2)的PDN连接。此过程完成后,设备同时连接到两个不同的APN,两个APN具有不同的IP地址,并且可以在两个“连接”上同时发送流量。

问:我想了解Android(在我的情况下是4.1.2)实际上如何实现这个(?)

我认为这是两个不同的接口,但netcfg(adb shell)只显示一个接口,一个用于APN1。 APN2的那个无处可寻。然而,它是活动的并且正在工作,因为设备正在其上发送IMS信令(我100%肯定)。因此,我无法捕获流量(tcpdump)或添加路由规则以通过APN2 ping特定IP地址。

任何提示都将受到赞赏。

感谢

3 个答案:

答案 0 :(得分:2)

我认为您无法从Android应用程序中查看和访问IMS连接的原因可能很清楚,但可能不是阻止您看到它的机制。

运营商不希望您访问IMS连接的原因是,它用于呼叫和会话连接建立并在IMS网络中删除。允许不受信任的用户直接访问这将为许多有趣且不受控制的行为打开大门,这可能严重危害运营商网络(例如拒绝服务攻击)。

Android如何保持远离您的此连接的可见性并不那么明显。我认为观看它的最佳方式是将支持LTE的Android设备视为由两个主要组件组成:

  • LTE电话/数据终端
  • 运行Android框架的基于Linux的计算机

“手机”部分通过定义的界面向“Android”部分公开某些功能 - 请参阅以下链接:

http://www.kandroid.org/online-pdk/guide/telephony.html

出于明显的安全原因,2G和3G设备中的“电话”端暴露出一组相对简单且非常有限的接口。例如,即使“电话”部分本身包含设置呼叫,协商无线电资源使用等所需的所有功能,但它不提供允许Android应用程序观察或操纵这些机制或消息的API,超出有限集合定义的基本呼叫建立等的交互。

在3G世界中,发送呼叫建立消息的机制的细节因此对Android应用程序是隐藏的 - 它可以提出建立呼叫的高级请求,但它实际上无法控制GSM或3G发信号请求rails资源,发送初始呼叫消息等。在LTE中,为了确保这一点也保持隐藏,Android应用程序无法访问IMS连接,我认为这是您可能指的观察到的行为。

答案 1 :(得分:1)

在LTE数据&语音的表现与传统的2G / 3G NW略有不同。 数据 - 在LTE中,电话始终连接到NW并接收IP地址,以便您可以通过互联网进行通信。仅当您关闭手机或将其置于飞行模式时,才会更改此IP。用户获得IP访问权限的APN称为默认APN,此APN是特定于运营商的,并且可以通过“设置”选项在任何基于Android的手机中看到相同的内容。

语音 - 在LTE中,没有电路交换NW(CS NW),语音也通过数据连接,但由于语音是实时流量,它需要不同的服务质量...... QoS。因此,为了满足QoS要求,LTE提出了IMS NW(IP多媒体服务),这可以通过单独的NW访问。

LTE数据& IMS APN并行激活,但跨两个不同的IP地址交换数据。

IMS APN是所有运营商的标准配置,并且在具有VoLTE功能的手机中也是硬编码的。

我还没有看到IMS APN在手机上的消息交换,但是来自NW方面......是的!电话通过此APN发送SIP注册(IMS信令消息)以及RTP pkts(语音呼叫)。 IMS APN将用于语音呼叫,视频呼叫和短信。对于普通用户的观点,他从不知道语音呼叫是通过传统的2G / 3G NW还是LTE-IMS NW,除了IMS支持HD Voice&视频...

感谢。

答案 2 :(得分:0)

在Android中,我们在APN设置下有一种称为APN类型的东西。基于该值,APN在数据使用方面有所区别。 特别是IMS APN / PDN和Angular Internet APN / PDN,它是在Android框架中定义的,基于您的APN PDN连接请求将在创建主Internet PDN后由电话启动。 您将为2种不同的服务获得2个不同的IP,并将标记为QCI [QOS类别标识符]

我坚信TCPdump可以用来同时捕获两个IP事务。

如果你分享我正在尝试的确切事情,我可以在这方面提供更多帮助