需求:Enable ESM flag for All tigo's subnet.
结论:MTK默认ESM flag=1,若是需要ESM Flag=0,需要研发在APN文件中加入需求卡的APN类型的代码。
测试需要在4G网络下抓取开机后使用数据连接上网的log,中国移动,中国联通无法注册到4G网络的手机无法测试。
协议 《3GPP Spec 24.301 chapter 6.5.1.2》,要求是APN、PCO(协议配置选项 Ptorocol Configuration Options)等信息不应再PS Attach Default Activate PDN的时候携带,如果确实要携带,则在PDN CONNECTIVITY REQUEST中ESM information transfer flag置为1, 这样当NW发起ESM信息请求过程的时候,UE可将APN及PCO等信息传递给NW。
即,ESM_flag标志位:在这个标志位1时,attach的时候网络侧通过ESM消息会查询手机的APN,然后手机返回APN,如果错误,则attach失败;当这个标志位为0时不做查询。
1. ESM是个什么特性?对用户体验来说有什么影响?
>>ESM flag 只是ATTACH 消息中的一个IE,对终端用户没有任何影响
2. 如果ESM flag为1,但是网络侧不支持ESM,这时候有什么影响?比如手机速度慢,无法联网等?
>>没有影响。如果网络不支持ESM flag=1,就按照网络的行为 running。
3.如果手机ESM flag为0, 网络是支持的,会有什么影响?这个ATTACH消息具体对什么方面有影响?
>>MTK平台下的ESM默认是开启的,我们apn配置文件中的带有ia类型的APN一般是type="default,ia”且 apn ="XXXX" 这样的apn不会向modem下 apn =""的初始化apn. 所以不会改变 ESM information transfer flag 的值。
要想ESM flag变为0 ,应该在apn文件中新添加代码:
mcc="XXX"
mnc="XX"
apn=""
type="ia"
>
当手机在启动时或者apn Change的时候,会去下Initial Apn,系统会优先使用apn type="ia"的apn置为initial apn。
如果修改ESM Flag为0 ,网络端是支持的,手机会优先使用apn类型为ia的网络上网,对用户没有影响。
测试主要是开机注册4G网络(开机即注册4G网络,不可先注册3G,再到4G,数据业务要保持开启状态),抓取Modem Log查看。
3G网络下的Modem log只有2个,缺少有效信息的log。
A.验证ESM Flag =1时测试步骤。(国内版本未开启该功能,海外版本只有亚太支持联通4G,其他地区各版本都无法注册上4G网络。如下测试都是在亚太版本上验证。)
1.测试机插入4G网络的卡,开启log和数据连接。
2.重启,待注网完成后,使用数据流量浏览一页网页。
3.取出手机中的log,使用看Modem log的工具,查找关键字ESM查看,在PS Trace Peer中找到第一条PDN CONNECTIVITY REQUEST,展开后观察esm_info_trsf_flag, 若为1,则表示开启。如图所示。
B.验证ESM Flag 为0时测试步骤。
若是需求需要实现部分卡的ESM flag为0 的要求,软件会按照如上步骤在底层中加入相关卡的要求的代码。如下步骤是手动新建意见ia类型的APN。
1.测试机插入4G网络的卡,开启log和数据连接。
2.在Settings-More-Mobile network-APN下,新建一个APN,APN类型单独选择ia,其他都不选,也不填写。如下图所示。设置完成后按menu键保存。
3.重启,待注网完成后,使用数据流量浏览一页网页。
4.取出手机中的log,使用看Modem log的工具,查找关键字ESM和SDN查看,在PS Trace Peer中找到第一条PDN CONNECTIVITY REQUEST,展开后观察esm_info_trsf_flag, 为1,则表示开启。
5.在PS Trace Peer中找到第2条PDN CONNECTIVITY REQUEST,展开后观察esm_info_trsf_flag, 为0。如图所示。
6. 透过PS Trace Peer中查询在开机Attach procedure中是否有ESM INFORMATION REQUEST及ESM INFORMATION RESPONSE消息,若没有,则说明ESM flag已被关闭.
APN(Access Point Name),即“接入点名称”,通过手机上网时必须配置的一个参数,决定手机通过哪种接入方式来访问网络,用来标识GPRS的业务种类,目前分为两大类:CMWAP/UNIWAP/3GWAP(通过GPRS访问WAP业务)、CMNET/UNINET/3GNET(除了WAP以外的服务目前 都用CMNET,比如连接因特网等)。
默认网络连接,当激活时所有数据传输都使用该连接,不能与其他网络连接同时使用
适用场合:绝大部分正常上网时可以使用。
彩信专用连接,此连接与default类似,用于与载体的多媒体信息服务器对话的应用程序,此连接能与default连接同时使用
适用场合:使用彩信服务时,必须有mms类型的接入点,不必选中,应用程序会自动使用此接入点
Secure User Plane Location“安全用户面定位”的简写,此连接与default类似,用于帮助定位设备与载体的安全用户面定位服务器对话的应用程序,此连接能与default连接同时使用
适用场合:需要自动切换wap与net接入点的、需要把手机当临时AP的
4、dun
Dial Up Networking拨号网络的简称,此连接与default连接类似,用于执行一个拨号网络网桥,使载体能知道拨号网络流量的应用程序,此连接能与default连接同时使用。
适用场合:需要使用运营商无线热点的,CMCC、ChinaNet等。
5、hipri
高优先级网络,与default类似,但路由设置不同。只有当进程访问移动DNS服务器,并明确要求使用requestRouteToHost(int, int)才会使用此连接.(这个我也不太懂)
==============================================================================
参考资料:
1.协议描述:SPEC 24.301
6.5.1.2 UE requested PDN connectivity procedure initiation
When the PDN CONNECTIVITY REQUEST message is sent together with an ATTACH REQUEST message, the UE shall not include the APN.
NOTE 1: If the UE needs to provide protocol configuration options which require ciphering or provide an APN, or both, during the attach procedure, the ESM information transfer flag is included in the PDN CONNECTIVITY REQUEST. The MME then at a later stage in the PDN connectivity procedure initiates the ESM information request procedure in which the UE can provide the MME with protocol configuration options or APN or both.
9.9.4.5 ESM information transfer flag
The purpose of the ESM information transfer flag information element is to indicate whether ESM information, i.e. protocol configuration options or APN or both, is to be transferred security protected.
The ESM information transfer flag information element is coded as shown in figure 9.9.4.5.1 and table 9.9.4.5.1.
The ESM information transfer flag is a type 1 information element.
2.MTK FAQ的[FAQ14633]How to set ESM information transfer flag to 0
https://onlinesso.mediatek.com/Pages/FAQ.aspx?List=SW&FAQID=FAQ14633
3. APN和SPN的攻略
http://blog.csdn.net/a332324956/article/details/39522297
4. APN类型介绍。http://jinguo.iteye.com/blog/1954572