icfans

将不同的卡插入手机进行呼叫限制的设置和查询,观察结果不同

0
阅读(344) 评论(0)

[DESCRIPTION]
将不同的卡插入手机,进行呼叫限制的设置和查询,观察结果不同;将同一张卡插入不同手机,进
行呼叫限制的设置和查询,观察结果不同
[SOLUTION]来自半导体社区
1. 因为不同网络对bs code的支持程度不同,如果确定网络上支持call barring的。 那手机
端要根据实际情况来决定是否添加bs code
2. 首先测试网络是否支持bs code.在idle直接拨ss string,来测试网络的支持程度(添加
basic service和不添加basic service分别测试)
如: *33*password# *33*password*11# (
voice call)
*#33# *#33#
*#33*11# *#33**11#
如果添加bs code 网络能识别, 则在代码中应添加对应的bs code
如果去掉bs code网络能 识别, 则在代码中去掉对应的bs code。
对应的修改代码的位置为:函数 srv_ss_op_call_bar中做对应的修改
支持bs code使用如下代码:
if (req->action != SRV_SS_ACTION_TYPE_CHANGE_PASSWD)
{
.........
//使用此段代码 start
if (req->call_type < SRV_SS_ALL_CALL)
{
/* has bs code, */
strcat(asc_str, "*");
if (strlen(asc_pass))
{
strcat(asc_str, asc_pass);
}
srv_ss_ps_append_bs_code(req->sim, asc_str, req->call_type);
}
if (req->call_type == SRV_SS_ALL_CALL)
{
if (strlen(asc_pass))
{
strcat(asc_str, "*");
strcat(asc_str, asc_pass);
} }
//使用此段代码 end
}
else{.......}
不支持bs code使用如下代码:
if (req->action != SRV_SS_ACTION_TYPE_CHANGE_PASSWD)
{
.........
// 使用此段代码 start
if (strlen((PS8)asc_pass))
{
strcat((PS8)asc_str, "*");
strcat((PS8)asc_str, (PS8)asc_pass);
}
//使用此段代码 end
}
else{.......}