微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 手机设计讨论 > MTK手机平台交流 > mt2503如何对语音信箱的多个号码设置不同的默认值

mt2503如何对语音信箱的多个号码设置不同的默认值

时间:10-02 整理:3721RD 点击:
[DESCRIPTION]
语音信箱定制

[SOLUTION]
1.1如何对语音信箱的多个号码设置不同的默认值

mtk平台的机制是如果SIM卡中有6F17这只文件,那么语音信息将会被保存在sim卡上,如果sim卡没有这只文件,语音信息则会被保存在nvram上。换
sim卡时,会初始化手机上的语音信息栏位

如果sim卡支持语音信息的栏位,则会将sim卡中的语音信息存入手机,sim卡上没存语音信息,手机初始为空。如果sim卡不支持语音信息的栏位,初
始为空。如何查看sim卡是否支持语音信息栏位:连上catcher,进advance/simEditor里,在fileid里输入6f17(用来存储语音信息),send后,看
status的显示,如果是sim_file_not_found则表明这张sim卡不支持语音信息,如果是sim_cmd_success则表明支持。

如果存储在NVRAM中,重新插入一张sim卡机时,系统会检测是否与上次插入的sim卡为同一张,如果是,就不会清掉nvram上保存的语音信息值。如果
不是,既sim卡更换了,我们就会把nvram上的值清掉。

在NVRAM中其对应的LID为NVRAM_EF_SMSAL_MAILBOX_ADDR_LID。
如果要对nvram的多个record设定不同默认值,需要对该Nvram增加NVRAM_CATEGORY_MULTI_DEFAULT属性。
如果您的版本没有NVRAM_CATEGORY_MULTI_DEFAULT属性 则就采用NVRAM_ATTR_MULTI_DEFAULT属性
定制的建议如下:

1.在nvram_common_config.c中修改
NVRAM_EF_SMSAL_MAILBOX_ADDR_LID,
NVRAM_EF_SMSAL_MAILBOX_ADDR_SIZE,
NVRAM_EF_SMSAL_MAILBOX_ADDR_TOTAL,
NVRAM_EF_ZERO_DEFAULT,
NVRAM_ATTR_AVERAGE,
NVRAM_CATEGORY_USER|NVRAM_CATEGORY_CUSTPACK|NVRAM_CATEGORY_SHADOW,
"MP13",
VER(NVRAM_EF_SMSAL_MAILBOX_ADDR_LID),
"SMSALMAILBOX\0",
NVRAM_RESERVED_VALUE
为NVRAM_EF_SMSAL_MAILBOX_ADDR_LID,
NVRAM_EF_SMSAL_MAILBOX_ADDR_SIZE,
NVRAM_EF_SMSAL_MAILBOX_ADDR_TOTAL,
NVRAM_EF_SMSAL_MAILBOX_ADDR_DEFAULT,
NVRAM_ATTR_AVERAGE,
NVRAM_CATEGORY_USER|NVRAM_CATEGORY_CUSTPACK|NVRAM_CATEGORY_SHADOW|NVRAM_CATEGORY_MULTI_DEFAULT,
"MP13",
VER(NVRAM_EF_SMSAL_MAILBOX_ADDR_LID),
"SMSALMAILBOX\0",
NVRAM_RESERVED_VALUE
2.在nvram_cust_pack.c中修改
COMMON_NVRAM_EF_SMSAL_MAILBOX_ADDR_DEFAULT 默認值的定义如下:
constkal_uint8 COMMON_NVRAM_EF_SMSAL_MAILBOX_ADDR_DEFAULT []=
{
//語音信箱的名稱,使用ASCII表示每個字母
0x4b,0x4f,0x4e,0x47,0xff,0xff,0xff,0xff,0xff,0xff,/*AlphaID*/
//語音信箱號碼bcd碼的長度+1,如果號碼長度是9位則該值為(9+1)/2+1
0x04,/*LengthofBCDnumber*/
//名稱的存儲格式
0x81,/*TONandNPI*/
//號碼的bcd碼,不足位全部使用f補齊
0x21,0x43,0x65,0xff,0xff,0xff,0xff,0xff,0xff,0xff,/*Daillingnumber*/
//客戶不需要修改
0xff,/*capability/configurationidentifier*/
0xff/*extension1recordidentifier*/
}
上边的这个例子即为mailbox名字为KONG,号码为123456。
若为双卡,所以应该定义四个缺省值,每个值直接用","隔开即可。不用的可以定义为空。

谢谢分享!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top