我正在使用linphone制作一个项目,可以选择"将+替换为00"。
示例: - 如果编号,则号码保存在我们的手机中
+ 91-12345678使用此选项"替换+ 00"它的确将这个数字改为0091-12345678
我需要的是我想改变"替换+ 00"到"取代+ 900"意味着
该号码应为90091-12345678我无法找到该字符串的位置,我可以将00更改为900.如果有人使用linphone或任何其他用户,请帮助我。
感谢
答案 0 :(得分:1)
我担心配置只支持用'+'更改ICP(国际呼叫前缀)。
struct _LinphoneDialplan在core_utils.h
中定义typedef struct _LinphoneDialPlan {
const char *country;
const char* iso_country_code; /* ISO 3166-1 alpha-2 code, ex: FR for France*/
char ccc[8]; /*country calling code*/
int nnl; /*maximum national number length*/
const char * icp; /*international call prefix, ex: 00 in europe*/
} LinphoneDialPlan;
在dial_plan.c中,ICP是每个国家/地区的常量
static LinphoneDialPlan const dial_plans[]={
//Country , iso country code, e164 country calling code, number length, international usual prefix
...
{"India" ,"IN" , "91" , 10 , "00" },
...
};
从confiuguration中获取的值dial_escape_plus仅以这种方式用于proxy.c:
result = ms_strdup_printf("%s%s%s"
, tmpproxy->dial_escape_plus ? dialplan.icp : "+"
, dialplan.ccc
, nationnal_significant_number_start);
这一切都在linphone的3.11版中,在以前的版本中,“+”和“00”之间的转换更“明确”。
因此,如果没有修补库,我认为你不能以你想要的方式更改数字。始终可以根据您的需要操作字符串