Asterisk 提供了多種調試方法。串連控制台後,可以察看不同層級的冗長和調試輸出,同時還有協議包 tracing。我們看一下本節不同的選項(The Asterisk 控制台詳細資料請參考附件 E)。
串連控制台
串連 Asterisk 控制台,你可以在控制台直接啟動伺服器(這樣你如果不結束Asterisk 進程就不能退出控制台),或者後台啟動 Asterisk,然後遠端控制台登入。
直接在控制台啟動 Asterisk,使用下面的控制台命令:
# /usr/sbin/asterisk –c
遠端連線控制台,首先啟動後台,然後串連:
# /usr/sbin/asterisk
# /usr/sbin/asterisk -r
如果遇到某個模組不能載入的問題,或者某個模組導致 Asterisk 不能載入,用–c flag 啟動 Asterisk 進程,監視模組載入狀態。例如,如果你試圖載入 OSS通道驅動(此驅動啟動控制台通道),並且 Asterisk 不能開啟/dev/dsp,你會收到如下的錯誤資訊:
WARNING[32174]: chan_oss.c:470 soundcard_init: Unable to open /dev/dsp:
No such file or directory
== No sound card detected -- console channel will be unavailable
== Turn off OSS support by adding 'noload=chan_oss.so' in /etc/asterisk/modules.conf
啟動 Verbosity 和 Debugging
Asterisk 可以以 WARNING,NOTICE 和 ERROR 訊息形式輸出調試資訊。這些訊息可以為你提供系統資訊,例如註冊、狀態、呼叫進程和多種其它資訊。請注意 WARNING 和 NOTICE 訊息不是錯誤;然而,ERROR 資訊需要進行檢查。
啟用不同層級的 verbosity,使用 set verbose,附加一個數值。有效值從 3-10,例如設定 verbosity 的最高數值,
使用:# set verbose 10
你也可以通過設定調試層級啟用核心調試資訊。啟用控制台的 DEBUG 輸出,需要在 logger.conf 檔案中增加 debug 到 console =>文段,
例如:console => warning,notice,error,event,debug
設定調試層級的有效值為 3-10,
例如:# set debug 10