一、origiante時指定主叫號碼
正常情況下,如果在freeswitch控制台,輸入類似下面 命令:
originate user/1000 &park
被叫收到振鈴提示時,顯示的號碼類似下面這樣

如果希望指定主叫的顯示名稱及號碼,可以加參數:
originate {origination_caller_id_name=jimmy,origination_caller_id_number=139****666}user/1000 &echo

二、bridge時指定主叫號碼
bridge時,同樣可以指定類似參數,先來一個不加任何參數的示例:
originate user/1000 &bridge(user/1002)

可以看到,bridge后,被叫彈出的對話框中,直接顯示了原始的主叫號,在bridge命令中加上參數后:
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

