【笔记】MTK与高通平台emergency APN配置差异

协议规定

根据3GPP协议,emergency APN配置需要注意。

3GPPspec TS24.301 6.5.1.2 UE requested PDN connectivity procedure initiation In order to request a PDN connection for emergency bearer services, the UE shall not include an APN in the PDN CONNECTIVITY REQUEST message or when applicable, in the ESM INFORMATION RESPONSE message.

平台差异

| | QOCM | MTK |
| emergency | 不用拆分WiFi与否的场景 | 需要配置两条emergency APN。 在cellular下都要有一条apn=""(空)的emergency apn存在。 |
| xcap | 上层不会主动往下请求,都是MD用。 | 若与default APN共用一条,则需要拆分 |

mms 若与default APN共用一条,则需要拆分

高通平台

1、在高通平台上,某些运营商可以不拆分数据网和WLAN下的emergency APN,拆分了反而会存在问题,根据modem反馈的情况,上层Telephony 适配APN。

2、xcap 类型的APN上层AP不会主动请求下发,都是modem使用的,当前不配置bearer也没有影响,因为modem有一套自己维护的?

MTK平台

1、根据MTK要求,在cellular下都要有一条apn=""(空)的emergency apn存在,否则PDN建立会存在问题。

3GPPspec TS24.301 6.5.1.2 UE requested PDN connectivity procedure initiation In order to request a PDN connection for emergency bearer services, the UE shall not include an APN in the PDN CONNECTIVITY REQUEST message or when applicable, in the ESM INFORMATION RESPONSE message.

MTK依据上述协议,将apn=""(APN空)的emergency 类型APN设为最高优先级使用,即上层向MD下发了sos APN。

2、对于mms和xcap APN,如果配置在与default 类型的APN在同一条的情况,则需要另外拆分。

一条bearer为18的用于wlan transport,另一条不包含18的给cellular。

APN配置代码

KaiOS系统配置案例

1、没有拆分的时候,QCOM的EMC/SUPL会PDN fail。

javascript 复制代码
    {"carrier":"LTE-V EMERGENCY","apn":"","type":["Emergency"],"protocol":"IPV4V6","roaming_protocol":"IPV6","bearer":917503,"user_visible":"false"},
    {"carrier":"v EMERGENCY","apn":"VZWEMERGENCY","type":["Emergency"],"protocol":"IPV4V6","roaming_protocol":"IPV6","bearer":131072,"user_visible":"false"},

2、正确配置,功能正常

javascript 复制代码
{"carrier":"VZWEMERGENCY","apn":"VZWEMERGENCY","type":["Emergency"],"protocol":"IPV4V6","roaming_protocol":"IPV6","bearer":1048575,"mvno_match_data":"BAE0000000000000","mvno_type":"gid","user_visible":"false"}

Note:For VZW TC3.1,E911 SUPL CASE。

对于bearer是十进制转换,适配二进制,对应关系如下:

  • 00011111111111111111=131,071(1-17)
  • 131072=00100000000000000000(仅18WIFI)
  • 01100000000000000000=393216(18+19)
  • 00100010000000000000=139264(14+18)
  • 262143=00111111111111111111(1-18)
  • 917503=11011111111111111111(除18)
  • 26375=0110011100000111(1-3,9-11,19+18)
  • 11111111111111111111(1-20)=1048575
  • 11111111111111111110(1-19)=1048574
相关推荐
帅得不敢出门7 小时前
安卓设备adb执行AT指令控制电话卡
android·adb·sim卡·at指令·电话卡
我又来搬代码了9 小时前
【Android】使用productFlavors构建多个变体
android
德育处主任10 小时前
Mac和安卓手机互传文件(ADB)
android·macos
芦半山10 小时前
Android“引用们”的底层原理
android·java
迃-幵11 小时前
力扣:225 用队列实现栈
android·javascript·leetcode
大风起兮云飞扬丶11 小时前
Android——从相机/相册获取图片
android
Rverdoser11 小时前
Android Studio 多工程公用module引用
android·ide·android studio
aaajj12 小时前
[Android]从FLAG_SECURE禁止截屏看surface
android
@OuYang12 小时前
android10 蓝牙(二)配对源码解析
android
Liknana12 小时前
Android 网易游戏面经
android·面试