Selection | Feature option |
打开VoLTE(Enable VoLTE) | MTK_IMS_SUPPORT=yes
MTK_VOLTE_SUPPORT=yes |
打开ViLTE(Enable ViLTE) | MTK_VILTE_SUPPORT = yes |
如果要支持ViLTE,必须也要支持VoLTE。
Selection | Feature option |
打开WFC (Enable WFC) | MTK_IMS_SUPPORT=yes
MTK_VOLTE_SUPPORT=yes MTK_WFC_SUPPORT=yes MTK_EPDG_SUPPORT=yes MTK_FLIGHT_MODE_POWER_OFF_MD=no(No need after Android-M1) |
关闭WFC (Disable WFC) | MTK_WFC_SUPPORT=no |
VoWifi有些module属于binary release,如果基线版本不支持VoWifi, 请使用[Patch Release]模板提交eservice给CPM申请open VoWifi release patch.(VoWifi feature has binary release module, if basic version does not support VoWifi, please submit eservice to CPM according to [patch release template] for VoWifi patch release.)
所有提到的WFC名称,等同于VoWifi。如果要支持VoWiFi,必须支持VoLTE。(VoWifi=WFC,if enableVoWifi feature, must enable VoLTE firstly.)
L+W/Single VoLTE project | L+L/Dual VoLTE project |
MTK_MULTI_PS_SUPPORT = yes | MTK_MULTI_PS_SUPPORT = yes |
MTK_MULTIPLE_IMS_SUPPORT =1 | MTK_MULTIPLE_IMS_SUPPORT = 2 |
MTK_PROTOCOL2_RAT_CONFIG=W/G | MTK_PROTOCOL2_RAT_CONFIG=L/W/G |
operator定制project 如果要支持dual VoLTE,也是使用上述project config。(Operator Customization project also use above configuration to enable dual VoLTE.)
FeatureName | device config key (default value) | available config key (default value) | |
VoLTE | config_device_volte_available (false) | carrier_volte_available_bool (aosp is false, MtkCarrierConfigManager.java put as true) | |
ViLTE | config_device_vt_available (false) | carrier_vt_available_bool (aosp is false, MtkCarrierConfigManager.java put as true) | |
VoWifi | config_device_wfc_ims_available (false) | carrier_wfc_ims_available_bool (aosp is false, MtkCarrierConfigManager.java put as true) |
(1) device/mediatek/common/overlay/telephony/frameworks/base/core/res/res/values-mcc404-mnc92/config.xml
<bool translatable="false" name="config_device_volte_available">true</bool>
<bool translatable="false" name="config_device_vt_available">true</bool>
<bool translatable="false" name="config_device_wfc_ims_available">true</bool>
(2)/vendor/mediatek/proprietary/packages/apps/CarrierConfig/assets/carrier_config_40492.xml
<boolean name="carrier_volte_available_bool" value="true" />
<boolean name="carrier_vt_available_bool" value="true" />
<boolean name="carrier_wfc_ims_available_bool" value="true" />
vendor/mediatek/proprietary/packages/services/WifiOffload/res/values/arrays.xml
这个file里面配置了支持VoWifi的运营商,可以搜索MTK main log,会找到类似如下打印(This file decide if operator support Wifi calling, if you find below information in main log):
04-11 12:25:42.845471 1684 1684 D WifiOffloadService: notifyMalWfcSupported: simId: 0, supported= 0, isEnabled= 1
"supported= 0"代表这家运营商并没有列入白名单,需要在arrays.xml里面增加运营商的mccmnc。("supported= 0" means this operator is not listed in the arrays.xml, then you need add coresponde mccmnc to this file.)
04-11 12:25:42.845471 1684 1684 D WifiOffloadService: notifyMalWfcSupported......
在AP main log中搜索"ImsConfigManager",可以看到65507这家operator的支持VoLTE和VoWifi(WFC is VoWifi),不支持ViLTE (search "ImsConfigManager" in AP main log, as below log, 65507 config as config_device_volte_available on, config_device_vt_available off, config_device_wfc_ims_available on.)
06-01 06:19:07.584491 1502 1502 D ImsConfigManager: DYNAMIC_IMS_SWITCH_TRIGGER phoneId:0, simState:LOADED
06-01 06:19:07.584765 1502 1502 D ImsConfigManager: get MtkImsConfigImpl of phone 0
06-01 06:19:07.603638 1502 1502 D ImsConfigManager: SIM loaded on phone 0 with mcc: 655 mnc: 7
06-01 06:19:07.610780 1502 1502 D ImsConfigManager: check iccid:8986xxxxxx3112345678
06-01 06:19:07.645687 1502 1502 D ImsConfigManager: Set res capability: volte = 1, vilte = 0, wfc = 1
06-01 06:19:07.717272 1502 1502 D ImsConfigManager: DYNAMIC_IMS_SWITCH_COMPLETE phoneId:0, simState:LOADED
以上log只有在开机或是热插拔卡等SIM卡信息都读上来之后才会打印。(these log only print when receive SIM state change with SIM loaded state.)
06-05 16:03:34.892714 1806 1806 D MtkImsManager: Vt, isResourceSupport:true, isCarrierConfigSupport:true, isGbaValidSupport:true, isFeatureEnableByPlatformExt:true
06-05 16:03:34.896064 1780 1920 D MtkImsManager: Wfc, isResourceSupport:false, isCarrierConfigSupport:false, isGbaValidSupport:true, isFeatureEnableByPlatformExt:true
ViLTE开关默认是打开的。(ViLTE setting default value is true.)
VoWIFI开关默认是关闭的,通过carrier config carrier_default_wfc_ims_enabled_bool可以定制某些operator默认打开。(VoWifi setting default value is false,if you wang config default value as on for some operator, you can through carrier config carrier_default_wfc_ims_enabled_bool):
For example:
vendor/mediatek/proprietary/packages/apps/CarrierConfig/assets/carrier_config_405861.xml
<boolean name="carrier_default_wfc_ims_enabled_bool" value="true" />
06-07 13:31:05.055478 1147 1147 D MtkImsManager: Volte, isResourceSupport:true, isCarrierConfigSupport:true, isGbaValidSupport:true, isFeatureEnableByPlatformExt:true
06-07 13:31:05.061109 1147 1147 D ImsManager: updateVolteFeatureValue: available = true, enabled = true, nonTTY = true
//isResourceSupport:false 代表config_device_vt_available 没有配置成true,enabled = true代表ViLTE开关是打开的。如果要注册ViLTE,available + enabled都应该是true。
06-07 13:31:05.022622 1147 1147 D MtkImsManager: Vt, isResourceSupport:false, isCarrierConfigSupport:true, isGbaValidSupport:true, isFeatureEnableByPlatformExt:true
06-07 13:31:05.033264 1147 1147 D MtkImsManager: updateVideoCallFeatureValue: available = false, enabled = true, nonTTY = true, data enabled = true
//isResourceSupport:true代表config_device_wfc_ims_available已经配置为true,enabled = false代表WFC开关是关闭的。如果要注册VoWifi,available + enabled都应该是true。
06-07 13:31:04.966629 1147 1147 D MtkImsManager: Wfc, isResourceSupport:true, isCarrierConfigSupport:true, isGbaValidSupport:true, isFeatureEnableByPlatformExt:true
06-07 13:31:04.979197 1147 1147 D ImsManager: updateWfcFeatureAndProvisionedValues: available = true, enabled = false, mode = 2, roaming = false
//isResourceSupport:false代表config_device_wfc_ims_available没有配置为true,enabled = false代表WFC开关是关闭的。如果要注册VoWifi,available + enabled都应该是true。
06-07 13:31:05.076595 1147 1147 D MtkImsManager: Wfc, isResourceSupport:false, isCarrierConfigSupport:true, isGbaValidSupport:true, isFeatureEnableByPlatformExt:true
06-07 13:31:05.086758 1147 1147 D ImsManager: updateWfcFeatureAndProvisionedValues: available = false, enabled = false, mode = 2, roaming = false
(1)对于93平台,在MTK radio log中搜索"AT+EIMSCFG", 这个AT后面跟着6个value值(search "AT+EIMSCFG" in radio log for 93 modem,it is followed by 6 values):
volteEnable, vilteEnable, vowifiEnable, viwifiEnable, smsEnable, imsEnable
such as
06-01 06:18:43.997299 943 1000 I AT : [0] AT> AT+EIMSCFG=1,0,1,0,1,1 (RIL_CMD_READER_3, tid:512083367152)
indicate:volte on, vilte off, vowifi on, viwifi off, sms on, ims enabled
Details:AT+EIMSCFG=1(volte on),0(vilte off),1(vowifi on),0(viwifi off),1(sms on),1(ims enabled)
AT+EIMSVOICE:Voice capability enable or not
AT+EIMSCCP:Video capability enable or not
AT+EIMSWFC:VoWifi enable or not
AT+EIMSSMS:SMS over IMS capability
AT+EIMSVOLTE: VoLTE enable or not
AT+EIMS:enable/disable IMS functionality
(2.1) If you can't see video call button, you can check if AT+EIMSCCP=1 sent in radio log first.
(2.2) If Switch on VoWifi setting, you can see in radio log:
04-11 12:13:54.989483 982 986 D RIL-OEM : data = AT+EIMSWFC=0, length = 12 //Vowifi off
04-11 12:14:25.033981 982 986 D RIL-OEM : data = AT+EIMSWFC=1, length = 12 //Vowifi on
(2.3) WifiOffloadService will transfer all related setting to RDS, these AT is contolled by RDS.
04-11 12:25:40.896286 1684 1684 D WifiOffloadService: notifyMalUserProfile(0): mIsVolteEnabled: true, mIsVilteEnabled: false mIsWfcEnabled: true mFqdn: mIsWifiEnabled: false mHasWiFiDisabledPending: false mWfcMode: 2 mDataRoamingEnabled: 1 mIsAllowTurnOffIms: false
01-01 08:06:44.224432 4013 4044 I AT : [0] AT< +CIREGU: 1,d (RIL_URC_READER, tid:527043679472)
8. 如果需要看到全部IMS Framework log,需要开启telephony log (open telephony log to obain full IMS Framework log).
1.在拨号盘输入*#*#3646633#*#* (Dialer input *#*#3646633#*#*);
2.切换到“Log and Debugging”选单,找到“Telephony Log Setting”这项点击进入(“Log and Debugging”-> “Telephony Log Setting”);
3.点击enable,会有“set succeeded. Please reboot phone”提示弹出(press enable,will notify “set succeeded, Please reboot phone")
4.重启手机(reboot phone)