一、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