2013年7月13日 星期六

FIVN Asterisk Management GUI

FIVN 的 Asterisk GUI 可以查看 Asterisk 設定、狀態、紀錄檔,也可以編輯 Asterisk 設定檔,適合用在資源有限、並提供 CGI 的網頁伺服器。提供 non-commercial 使用,commercial 用途則需詢問原作者。

整個 GUI 相當精簡,只有下列檔案:
  • asterisk.html:Asterisk GUI 網頁,實際上只是用來載入下列 js 檔及 css 檔,產生網頁內容。
  • asterisk.js, main.js:產生網頁的 JavaScript,並透過 AJAX 去網頁伺服器取得需要的資料或執行動作。
  • settings.js:網頁顯示設定
  • style.css, loading.gif
  • asterisk.sh:在網頁伺服器端負責執行動作的 shell script,包括取得資料、儲存檔案等。
  • readme.txt:說明檔

在網頁伺服器資源有限的環境,就要利用瀏覽器端較充足的記憶體及運算能力,使用 JavaScript 產生網頁,用 AJAX 去網頁伺服器只取得必要的資料或執行必要的動作。網頁伺服器需要支援 CGI 以便呼叫 asterisk.sh,處理 AJAX 的 HTTP POST 請求,會有 action 參數指示要執行什麼動作,而可能需要其它額外參數,包括 command (Asterisk 指令)、file (Asterisk 設定檔檔名)、content (檔案內容)。

雖然只是個精簡的 GUI,Asterisk 的設定需要透過直接編輯 Asterisk 設定檔完成,但可作為不錯的參考。

關於 CGI (Common Gateway Interface):
  • CGI 是網頁伺服器呼叫外部程式的界面,有點像是副程式。網頁伺服器判斷瀏覽器要請求的網址是 CGI 程式時,就會將請求的參數存在環境變數後去呼叫 CGI 程式,並將請求的內容透過標準輸入傳給 CGI 程式。網頁伺服器會將 CGI 程式執行結束的回傳資料 (標準輸出) 傳給瀏覽器。
  • 網頁伺服器需要靠 CGI 程式產生動態資料 (未必是 HTML 網頁,例如給 JavaScript 的資料為未必是 HTML 格式),不然只能取到靜態資料。
  • CGI 程式可以用任何支援的程式語言撰寫,只要能接收輸入並回傳結果。
  • 可能會有安全問題。
  • 一個 CGI 介紹及範例:http://ind.ntou.edu.tw/~dada/cgi/

沒有留言:

張貼留言

SIP header Via

所有 SIP 訊息 都要有 Via,縮寫 v。一開始的 UAC 和後續途經的每個 proxy 都會疊加一個 Via 放傳送的位址,依序作為回應的路徑。 格式 sent-protocol sent-by [ ;branch= branch ][ ; 參數 ...] s...