【笔记】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
相关推荐
会跑的兔子15 小时前
Android 16 Kotlin协程 第一部分
android·开发语言·kotlin
Meteors.16 小时前
安卓进阶——OpenGL ES
android
椰羊sqrt17 小时前
CVE-2025-4334 深度分析:WordPress wp-registration 插件权限提升漏洞
android·开发语言·okhttp·网络安全
2501_9160088917 小时前
金融类 App 加密加固方法,多工具组合的工程化实践(金融级别/IPA 加固/无源码落地/Ipa Guard + 流水线)
android·ios·金融·小程序·uni-app·iphone·webview
sun00770018 小时前
Android设备推送traceroute命令
android
来来走走18 小时前
Android开发(Kotlin) 高阶函数、内联函数
android·开发语言·kotlin
2501_9159214318 小时前
Fastlane 结合 开心上架(Appuploader)命令行版本实现跨平台上传发布 iOS App 免 Mac 自动化上架实战全解析
android·macos·ios·小程序·uni-app·自动化·iphone
雨白19 小时前
重识 Java IO、NIO 与 OkIO
android·java
啦啦91171420 小时前
Niagara Launcher 全新Android桌面启动器!给手机换个门面!
android·智能手机
游戏开发爱好者820 小时前
iOS 上架要求全解析,App Store 审核标准、开发者准备事项与开心上架(Appuploader)跨平台免 Mac 实战指南
android·macos·ios·小程序·uni-app·iphone·webview