介绍
从 AT2.0 及更高版本开始,一些旧的 NV 项目已被硬编码在 overideconfig 文件中。本文档介绍如果 OEM 需要覆盖现有值,如何在 overideconfig 文件中配置 IMS 项
本次将从以下方向进行IMS注册的详细分析:
- 在 overideconfig 文件中配置IMS项
- 在 MBN 中集成 overideconfig 文件
- 制作 overideconfig 文件的注意事项
配置 IMS 项
1 overideconfig 原始配置文件的路径
原始 overideconfig 路径:modem_proc\dataims\Configuration\ConfigFramework\OEM_OVERRIDE_FILES
所有原始可配置的 IMS 项目都在该文件夹目录下。这些文档中 NV 的值是我们使用的硬编码值。如果OEM需要获取任意NV的值,可以根据运营商名称查看相关配置文件
2 根据当前的运营商,选择 overideconfig 文本文件
比如网络运营商是CMCC,我们应该选择overideconfig_IR92_OVERRIDE-CMCC
3 使用文本编辑器打开 overideconfig 文本文件
4 在 overideconfig 文本文件中修改/添加配置
比如添加 bsfServerAddress,在 bsfServerAddress 的前面加 * ,在 = 后面写入需要的值
5 将文本文件另存为“overideconfig"(不带 .xml 扩展名)
6 将新的overideconfig文件放入EFS文件夹/efsprofiles
7 断电重启设备
在 MBN 中集成 overideconfig 文件
如果 OEM 需要更改每个运营商的值,overideconfig 文件可以内置到 MBN 中。以下是步骤:
1 找到当前 MBN 的主 xml 配置文件
路径如下:modem_proc\mcfg\mcfg_gen\generic\
2 在该路径下找到 MBN 的 IMS 配置的 xml 文件
在该 xml 文件中主要存放 IMS 相关的 NV 及其他配置。在该 xml 中添加一个EFS项,如下所示
<NvEfsFile name="overideconfig" id="none" description="overide Config for the hard coded value" comment="" category="IMS" subscription_mask="0x07" mcfgAttributes="0x19" mcfgVariant="2”targetPath="/efsprofiles/overideconfig" buildPath="modem_proc/ims/Configuration/ConfigFramework/OEM_OVERRIDE_FILES/overideconfig"/>
注意:
- "targetPath =" 是在设备中 overideconfig 文件的路径,这个路径是唯一的,请严格按照提示写入
- "buildPath =" 是我们制作的 overideconfig 文件路径,为了方便,尽可能将该路径与 IMS 配置 xml 放在同一路径下
3 将修改后的 overideconfig 文件导入 buildPath 路径
将已经修改的 overideconfig 文件导入到代码中的 buildPath 路径下,在代码编码过程中,修改将带入版本
注意事项
1 在设备中 EFS 文件夹是 efsprofiles/,而不是 efsprofile/。不要错过“s”
2 不要错过更改的IMS项目开头的*(星号)。此 *(星号)用于标识存在 OEM 更改,如果没有 *(Star),IMS 将忽略它
3 不要删除文件开头的第一个空行,如下所示
4 必须在文件末尾按“Enter”,以确保 overideconfig 文件以至少一个空行结尾,如下所示
5 IMS Item前后必须有一个空行,如下所示
6 不要移动物品的位置。只有当IMS项目在正确的组名下,它们才能生效
所有组名都标有[组名]。例如,ImsVoiceConfig是组名之一。 IMS 项 displayTextPriority 和 enableAlternateSrvRspCheck只有在 ImsVoiceConfig 组名下才能生效。否则,他们将无法工作
7 “#”用于注释行。不建议使用 ##ifdef、##endif 等
8 如果在overideconfig文件中找不到你要修改的IMS项,则说明该项对OEM不公开,不能私自添加修改,需要和高通平台进行确认,在进行添加修改
9 请遵循 ovrideconfig 文件中的所有格式