【笔记】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
相关推荐
感谢地心引力2 小时前
安卓、苹果手机无线投屏到Windows
android·windows·ios·智能手机·安卓·苹果·投屏
优雅的潮叭6 小时前
cud编程之 reduce
android·redis·缓存
2601_949613026 小时前
flutter_for_openharmony家庭药箱管理app实战+用药知识详情实现
android·javascript·flutter
一起养小猫6 小时前
Flutter for OpenHarmony 实战 表单处理与验证完整指南
android·开发语言·前端·javascript·flutter·harmonyos
2601_949975086 小时前
flutter_for_openharmony城市井盖地图app实战+附近井盖实现
android·flutter
倾云鹤7 小时前
通用Digest认证
android·digest
我是阿亮啊7 小时前
Android 自定义 View 完全指南
android·自定义·自定义view·viewgroup
2601_949833399 小时前
flutter_for_openharmony口腔护理app实战+意见反馈实现
android·javascript·flutter
峥嵘life9 小时前
Android 16 EDLA测试STS模块
android·大数据·linux·学习
TheNextByte19 小时前
如何打印Android手机联系人?
android·智能手机