|
|
OSSLab::開放軟體實驗室(Open Source Software Lab) > 實驗專案 > VoIP > IP PBX > 軟體式 IP PBX > Asterisk > Tips > CLI 進階用法
CLI 進階用法從 $1Asterisk 的命令列模式稱為 CLI。要了解內部核心的運作流程,必須透過 CLI 的指令或檢視 logs,才能快速作系統除錯的工作。 進入的方式很簡單,使用終端機軟體 putty,以 SSH 連線至主機,且登入為 root 帳號,執行指令: #asterisk -rvvvvv 參數 v 的個數表示要顯示 logs 的詳細程度,愈多表示 log 愈完整。 註:執行 Asterisk CLI 指令有兩種方式,分為內部執行及外部執行。 ■ 顯示目前所有已定義的 Outbound Route 規則列表使用外部執行方式,直接在 console 執行: #asterisk -rx "dialplan show" | tr -d "\r" | perl -00 -ne 'print if /Context..outrt/' ■ 檢查系統可用哪些的 codec#asterisk -rx "core show translation" 如圖示,紅框的 codec 各欄位皆為 - 表示系統未支援。
■ 顯示 sip.conf 的設定CLI>sip show settings
■ 顯示 General Settings 的內容CLI> core show globals ■ 顯示分機及 Trunk 連接狀態CLI> sip show peers Name/username Host Dyn Nat ACL Port Status voxalot/xxxx 64.34.173.199 N 5060 OK (257 ms) voiptalk/xxxx 77.240.48.94 5060 OK (1311 ms) vbuzzer/xxxx 69.172.204.133 80 OK (257 ms)
■ 顯示指定的分機的連接狀態以分機 100 為例 CLI> sip show peer 100 ■ 顯示目前通話中的所有SIP通道資訊CLI> sip show channels ■ 顯示SIP Trunk 註冊狀態CLI> sip show registry ■ 強制掛斷線上的通話// 從線上通話列表找出要掛斷通話的 Call ID #>asterisk -rx "sip show channels" Peer User/ANR Call ID Seq (Tx/Rx) Format Hold Last Message ... xx.xx.xx.xx *600 6faa39db3ca 00103/00000 0x100 (g729) No Tx: ACK xx.xx.xx.xx mypstn b68d164f-e9 00101/00102 0x4 (ulaw) No Rx: ACK // 以 Call ID 找出相應的 Channel ID #>asterisk -rx "sip show channel b68d164f-e9" | grep -i "channel id" Owner channel ID: SIP/mypstn-b7d27020 // 執行中斷通話指令 #>asterisk -rx "soft hangup SIP/mypstn-b7d27020" ■ 顯示所有分機號碼#>asterisk -rx "sip show inuse" * User name In use Limit 221 0 50 214 0 50 213 0 50 212 0 50 ... * Peer name In use Limit mypstn 0/0 1 221 0/0 50 214 0/0 50 213 0/0 50 212 0/0 50 211 0/0 50 210 0/0 50 209 0/0 50 ...
■ 顯示 sip users 狀態所有sip分機及sip trunk (type=user & friend) 的連線帳號/密碼、預設 context、NAT 設定。 #>asterisk -rx "sip show users" Username Secret Accountcode Def.Context ACL NAT xxxxxx oooooo from-sip-extern No Always xxxxxx oooooo from-trunk No No xxxxxx oooooo from-trunk No RFC3581 xxxxxx oooooo from-trunk No RFC3581
■ 如何將即時監看的 CLI Logs 的內容存檔在進入 CLI 模式作除錯工作時,系統所顯示的訊息由於螢幕輸出的限制,經常無法看到全部,這裡有個方法可以一邊監看訊息,同時一邊也將訊息存檔,當要分析 Logs 時,先離開 CLI,用 less 指令就可以慢慢看剛所儲存的訊息內容。 #>asterisk -rvvvvvv | tee /path/to/your.log
標籤:
|