CLI 進階用法

從 $1

Asterisk 的命令列模式稱為 CLI。要了解內部核心的運作流程,必須透過 CLI 的指令或檢視 logs,才能快速作系統除錯的工作。

進入的方式很簡單,使用終端機軟體 putty,以 SSH 連線至主機,且登入為 root 帳號,執行指令:

#asterisk -rvvvvv

參數 v 的個數表示要顯示 logs 的詳細程度,愈多表示 log 愈完整。

註:執行 Asterisk CLI 指令有兩種方式,分為內部執行及外部執行。
內部執行方式-在 console 執行 asterisk -rvvvv 即進入內部指令模式,且會出現 CLI> 命令提示字元,同時在此,除了可執行 CLI 只另外,也可檢視系統運作的 logs
外部執行方式-不需進入內部指令模式,直接在 console 執行 asterisk -rx "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 各欄位皆為 - 表示系統未支援。

ast-cli-show_translation.png

■ 顯示 sip.conf 的設定
CLI>sip show settings

cli-sips_how_settings.png

■ 顯示 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

 

 

 

 

標籤:
文件大小日期附件上傳者 
 ast-cli-show_translation.png
無描述
17.91 KB11:38, 28 Aug 2008alang動作
 cli-sips_how_settings.png
無描述
12.09 KB15:50, 6 Sep 2008alang動作
註解 (0)
您必須 登入 才能發佈評論。