sofia 相關的的命令:
sofia status --- 顯示網關的注冊狀態
sofia status profile internal reg ---查看所有話機已注冊話機
sofia status profile internal reg 1001 --- 查看分機號1001的注冊情況
sofia_username_of 1000@192.168.1.123 返回注冊用戶的username(未注冊返回空)
originate 相關的命令
originate user/alice &bridge(user/bob) 用戶alice與用戶bob通話(相當於外呼)。
originate user/alice &playback(/root/welcome.wav) 你也可以直接播放一個特定的聲音文件
originate user/alice &record(/tmp/voice_of_alice.wav) 錄音
可以通過逗號(,)或豎線符號(|)將多個呼叫字符串隔開,以達到同
振或順振的目的。如下面命令可同時呼叫1000和1001,兩個話機都會振鈴,哪個先接聽則接通哪個,另一路會自
動掛斷,這種呼叫方式稱為“同振”:
originate user/1000,user/1001 &echo
下列命令就是“順振”,即第一個號碼呼叫失敗則呼叫第二個:
originate user/1000|user/1001 &echo
===========originate參數解析========
freeswitch> originate
-USAGE: <call url><exten>|&<application_name>(<app_args>)
[<dialplan>] [<context>] [<cid_name>] [<cid_num>] [<timeout_sec>]
call url ----呼叫字符串
<exten>|&<application_name>(<app_args>) ---- (可以認為是一個分機號),或者是一個“&”符號加上App。如originate user/1000 9196和originate user/1000 &echo命令是等價的。extern :9196/&echo
dialplan -----它是Dialplan的類型,如果不設置,默認就是XML.,如 originate user/1000 echo inline 命令同上是等價的 dialplan: inline
context -----參數是Dialplan的Context,對於inline Dialplan,它會忽略Context,而對於XML則是有效的 originate user/1000 1001 XML public
cid_name/cid_num -----主叫名稱/號碼 originate user/tom&echo XML default 'tom' 2007
timeout_sec ------呼叫超時
====================
console loglevel debug 打開DEBUG級 別的日志
一 . 防止命令阻塞:
1.使用bgapi ,如bgapi originate user/tom&echo XML default 'tom' 2007.
2.開啟另一個fs_cli客戶端
注意的是,如果我們在Event Socket方式下使用originate發起呼叫, 一般要使用bgapi來避免阻塞,如bgapi originate user/1000 &echo。
二. 使用通道變量:通道變量可以影響呼叫的行為。我們在orignate時也可以使用通道變量。到這里,我們又回 到呼叫字符串,因為通道變量是加在呼叫字符串上的。
1.通過使用通道變量,下列命令也能改變主號名稱和號碼:
originate {origination_caller_id_name='tom',origination_caller_id_number=100861121}user/tom &echo
2.通道變量里會有逗號,需要轉譯,字符串里的逗號進行轉義,也可以使用一個反斜杠來進行轉義使用“^^”進行轉義,用別的符號代替逗號分隔符
originate {absolute_codec_string=G729\,PCMU}user/tom &echo 是等價的originate {absolute_codec_string=^^:G729:PCMU}user/tom &echo
3.來電顯示
originate {originattion_caller_id_number=7777}user/1000 &bridge(user/1001)
originate user/1000 &bridge({origination_caller_id_number=8888}user/1001)
originate {effective_caller_id_number=8888}user/1000 &bridge(user/1001)
originate {originatioin_caller_id_number=7777}user/1000 &bridge({origination_caller_id_number=8888}user/1001)
originate {originatioin_caller_id_number=7777} {effective_caller_id_number=8888}user/1000 &bridge(user/1001)