|
发表于 2021-11-23 14:58:46
3845 浏览 0 回复
[FAQ21007] 电信VoLTE开关默认值设置
[Important Notice]CT VoLTE配置文档名称为《Operator_Specific_Document_CT入库版本准备.docx》,如贵司没有請到DCC系统进行索取,路径为 WCP>SW>C2K>Smart Phone>Document Library New>CT Official Test>C库。
如果没有权限,请联系CPM进行申请。
中国电信2019.9.1开始要求:电信卡VoLTE开关默认打开
1.电信单VoLTE
MTK design:插入一张电信4G卡,默认VoLTE开关打开;如果用户关闭电信卡VoLTE开关,重启或关机换卡槽重启后,VoLTE开关保持用户之前的设置,仍然是关闭状态;热插拔电信卡,电信VoLTE开关恢复默认打开。插入电信3G only卡,开关默认关闭并且开关置灰不可打开。
热插拔其他operator的卡,VoLTE开关不会改变。
热插拔电信卡会重新将电信卡volte开关置为on,是根据电信现行spec要求的正常design。
//将电信卡插入卡槽1,设置电信卡volte开关on
06-04 17:42:26.565387 2160 2305 D IMS_RILA: [UNSL]< VOLTE_SETTING {1, 0} [SUB0]
06-04 17:42:26.566006 2160 2160 D ImsService: receive EVENT_IMS_VOLTE_SETTING_URC, mSocketId=0
06-04 17:42:26.566578 2160 2160 D ImsService: Volte_Setting_Enable=true
//将电信卡插入卡槽2,设置电信卡volte开关on
06-04 17:45:12.046966 2160 2305 D IMS_RILA: [UNSL]< VOLTE_SETTING {1, 1} [SUB1]
06-04 17:45:12.047743 2160 2160 D ImsService: receive EVENT_IMS_VOLTE_SETTING_URC, mSocketId=1
06-04 17:45:12.047987 2160 2160 D ImsService: Volte_Setting_Enable=true
2.电信双VoLTE
(1)
MTK design:与单VoLTE行为相同。
//插入两张电信卡
06-04 16:02:38.426994 2201 2353 D IMS_RILA: [UNSL]< VOLTE_SETTING {1, 1} [SUB1]
06-04 16:02:38.427814 2201 2201 D ImsService: receive EVENT_IMS_VOLTE_SETTING_URC, mSocketId=1
06-04 16:02:38.428046 2201 2201 D ImsService: Volte_Setting_Enable=true
06-04 16:02:38.431058 2201 2353 D IMS_RILA: [UNSL]< VOLTE_SETTING {1, 0} [SUB0]
06-04 16:02:39.022496 2201 2201 D ImsService: receive EVENT_IMS_VOLTE_SETTING_URC, mSocketId=0
06-04 16:02:39.024682 2201 2201 D ImsService: Volte_Setting_Enable=true
(2)[Important]2018年11月份之后,中国电信不再强制要求插两张CT卡的情况下副卡VoLTE开关默认打开,厂商可以自己定义副卡开关默认值(可以保留之前(1)的行为,也可以默认关闭),MTK在某些O1 和 P0 branch拿掉了强制副卡on的逻辑,如果贵司需要可以申请patch。
中国电信2019.9.1开始要求:电信卡VoLTE开关默认打开,如果贵司需要可以申请patch。
3.MTk solution
MTK处理VoLTE开关状态的逻辑放在rild。rild通过电信卡状态的变化,计算出VoLTE开关的值,rild通过RIL_UNSOL_VOLTE_SETTING发送给ImsService,ImsService.java收到EVENT_IMS_VOLTE_SETTING_URC后调用MtkImsManager.setEnhanced4gLteModeSetting()将VoLTE设置修改。
主要file:
93 modem:RtcImsController.cpp 文件中搜索“isCtVolteSupport”
90/91/92 modem: RpImsController.cpp, RpMalController.cpp 文件中搜索“isCtVolteSupport”
ImsService.java, ImsConfigImpl.java,ImsConfigProvider.java, MtkImsManager.java 文件中搜索“PROPERTY_IMSCONFIG_FORCE_NOTIFY”
4. AP通知modem支持CT VoLTE
开机radio log 搜索“AT+EIMSCFG”,0代表不支持CT VoLTE,1代表普通CT VoLTE,2代表CT hVoLTE(modem根据VoLTE注册状态自动切换LTE only or not)
// 0 is sent 代表不支持CT VoLTE,这个AT CMD开机只会下一次
06-07 13:30:52.405994 792 855 D RmcImsCtlReqHdl: [0] CT VoLTE over IMS is supported and AT+ECFGSET=...,0 is sent
5.如果客户希望非OP09项目,热插拔非CT卡(比如CMCC卡),VoLTE开关能恢复成on,针对Android N and O版本,solution如下:
1)对于93modem,将RtcImsController.cpp里面判断isOp09的code取反就可以了,即
使用RfxRilUtils::isOp09()的地方改为!RfxRilUtils::isOp09()
使用!RfxRilUtils::isOp09()的地方改为RfxRilUtils::isOp09()
2)对于非93modem,将RpImsController.cpp里面判断isOp09的code取反就可以了,即
使用RpFeatureOptionUtils::isOp09()的地方改为!RpFeatureOptionUtils::isOp09()
使用!RpFeatureOptionUtils::isOp09()的地方改为RpFeatureOptionUtils::isOp09()
|
|
手机微信同号:13682654092
|
|
|
|
|
登录或注册
|