【笔记】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
相关推荐
stevenzqzq29 分钟前
android启动初始化和注入理解3
android
城东米粉儿2 小时前
compose 状态提升 笔记
android
粤M温同学3 小时前
Android 实现沉浸式状态栏
android
ljt27249606613 小时前
Compose笔记(六十八)--MutableStateFlow
android·笔记·android jetpack
stevenzqzq4 小时前
Android Studio 断点调试核心技巧总结
android·ide·android studio
aqi005 小时前
FFmpeg开发笔记(九十八)基于FFmpeg的跨平台图形用户界面LosslessCut
android·ffmpeg·kotlin·音视频·直播·流媒体
stevenzqzq6 小时前
android Initializer 启动入门
android
·云扬·6 小时前
系统与MySQL核心监控指标及操作指南
android·数据库·mysql
冬奇Lab7 小时前
【Kotlin系列01】Kotlin快速入门:环境搭建与Hello World
android·kotlin·android studio