• 【笔记】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.

    平台差异

    QOCMMTK
    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。

    1. {"carrier":"LTE-V EMERGENCY","apn":"","type":["Emergency"],"protocol":"IPV4V6","roaming_protocol":"IPV6","bearer":917503,"user_visible":"false"},
    2. {"carrier":"v EMERGENCY","apn":"VZWEMERGENCY","type":["Emergency"],"protocol":"IPV4V6","roaming_protocol":"IPV6","bearer":131072,"user_visible":"false"},

    2、正确配置,功能正常

    {"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

  • 相关阅读:
    掌握Python操作Word:从基础到高级全覆盖
    程序员都有一张早衰的脸?但入职前,谁还不是个吴彦祖呢?
    1500*A. Boredom(DP)
    【跨级组件的通信&组件的生命周期&React的常用特性】
    LeetCode 917 仅仅反转字母 简单
    Spring 框架 、注解开发(二)
    关于ETL的两种架构(ETL架构和ELT架构)
    这份好用视频拼接的软件干货分享,值得收藏
    Knife4j使用教程(一) -- 在不同版本SpringBoot,选用不同的Knife4j相关的jar包
    基于Java的家电销售网站管理系统设计与实现(源码+lw+部署文档+讲解等)
  • 原文地址:https://blog.csdn.net/qq_38666896/article/details/136391299