【笔记】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
相关推荐
阿巴斯甜6 小时前
Android 报错:Zip file '/Users/lyy/develop/repoAndroidLapp/l-app-android-ble/app/bu
android
Kapaseker6 小时前
实战 Compose 中的 IntrinsicSize
android·kotlin
xq95277 小时前
Andorid Google 登录接入文档
android
黄林晴9 小时前
告别 Modifier 地狱,Compose 样式系统要变天了
android·android jetpack
冬奇Lab21 小时前
Android触摸事件分发、手势识别与输入优化实战
android·源码阅读
城东米粉儿1 天前
Android MediaPlayer 笔记
android
Jony_1 天前
Android 启动优化方案
android
阿巴斯甜1 天前
Android studio 报错:Cause: error=86, Bad CPU type in executable
android
张小潇1 天前
AOSP15 Input专题InputReader源码分析
android
_小马快跑_1 天前
Kotlin | 协程调度器选择:何时用CoroutineScope配置,何时用launch指定?
android