freeswitch: 如何指定主叫显示号码
一、origiante时指定主叫号码
正常情况下,如果在freeswitch控制台,输入类似下面 命令:
originate user /1000 &park |
被叫收到振铃提示时,显示的号码类似下面这样
如果希望指定主叫的显示名称及号码,可以加参数:
1
|
originate {origination_caller_id_name=jimmy,origination_caller_id_number=139****666}user /1000 & echo |
二、bridge时指定主叫号码
bridge时,同样可以指定类似参数,先来一个不加任何参数的示例:
1
|
originate user /1000 &bridge(user /1002 ) |
可以看到,bridge后,被叫弹出的对话框中,直接显示了原始的主叫号,在bridge命令中加上参数后:
1
|
originate user /1000 &bridge({origination_caller_id_name=jimmy,origination_caller_id_number=139****666}user /1002 ) |
注:根据官方文档的说法,effective_caller_id_name/effective_caller_id_number 这2个参数,也是类似的效果,但是好象并非对所有版本都生效,参考下图,1.6.18版上并未生效
三、ESL outbound外联模式下指定
public void onConnect(Context context, EslEvent eslEvent) { try { Execute exe = new Execute(context, "" ); exe.answer(); // exe.export("effective_caller_id_name", "jimmy", true); // exe.export("effective_caller_id_number", "111111", true); exe.export( "origination_caller_id_name" , "yjmyzz" , true ); exe.export( "origination_caller_id_number" , "139****7777" , true ); exe.bridge( "user/1000" ); } catch (ExecuteException e) { e.printStackTrace(); } finally { context.closeChannel(); } } |
参考:
https://freeswitch.org/confluence/display/FREESWITCH/effective_caller_id_name
https://freeswitch.org/confluence/display/FREESWITCH/effective_caller_id_number