具備可攜性及通話品質量測功能之軟體電話架構設計與實作
目前常見的VoIP客戶端軟體 Skype MSN 即時通 Google Talk X-Lite P2P/VoIP/IM VoIP/IM 簡易 軟體類型 P2P/VoIP/IM VoIP/IM 通話品質量測 簡易 無 可攜帶性 Skype Google Talk
何謂軟體可攜性(Portable) 所謂軟體可攜性,是指一套軟體不需要經過安裝程序及額外函式庫(如 .NET Framework、Java Runtime Environment 等)支援即可直接執行。這類軟體又稱為「綠色軟體」。可以放置於隨身碟內,於需要時直接運行。 常見的 Portable software : Mozilla Firefox OpenOffice.org 7-Zip PuTTY Foobar 2000
我們使用MFC(Microsoft Foundation Class Library)來實做此軟體的介面。 原本PSP (portable SIP phone) 須另外安裝.NET Framework可轉散發套件才能使程式正常執行,這將會阻礙到軟體的可攜帶性。 我們使用MFC(Microsoft Foundation Class Library)來實做此軟體的介面。 hardware Operation System / Windows API Microsoft Foundation Class Library/ Active Template Library Common Language Runtime Framework Class Library Native C++ Program Managed C++ Program .NET Framework與MFC資源呼叫的差異
我們基於PSP的架構,在其中加入負責連線資訊收集與判斷的模組。 TCP/UDP Media Control RTP Call Control SIP 改良前的PSP RTP/Transmission Analyze/RTCP Quality Information Output (XML) 改良後的PSP PSP改良前與改良後的差異
量測項目 我們蒐集以下數據作為分析通話品質的依據: 已傳送 / 接收封包數 聲音撥出 / 收錄次數 傳送 Buffer 的讀取 / 寫入指標 接收 Buffer 的讀取 / 寫入指標 傳送封包的丟棄次數 接收 Buffer 的讀取 / 寫入總封包數 未來我們將加入RTCP (Real-time Transport Control Protocol) 資訊的蒐集,取得更精準的分析數據。
程式主要架構
實作軟體的特色 此軟體在Windows平台下不需進行安裝步驟,也不需額外安裝函式庫的環境之下,便能直接執行的客戶端軟體,達到真正的可攜帶性。 此軟體能蒐集封包處理的相關資訊,再透過軟體統整並分析這些資訊。 此軟體能將蒐集並統整後的資訊,以方便做資訊交換的可擴展置標語言(eXtensible Markup Language,簡稱XML)檔案輸出。
實作成果
執行方式 雙擊程式圖示並進入登入畫面 輸入登入資訊並按下確認後,進入主畫面 程式圖示 主畫面 登入畫面
Transmission Information 視窗 Login按鈕:進入登入畫面來改變登入帳號密碼及伺服器位置。 訊息顯示:顯示目前狀態,如登入結果、收到來電訊息、通話中等。 Destination User ID:輸入欲撥打電話對象的帳號。 Display transmission information按鈕:按下此按鈕即會彈出通話連線資訊畫面。此畫面不會影響到主畫面的操作。 (1) 按下 (2) Transmission Information 視窗 (3) (4) 按下
結論與未來展望 此軟體具有高度可攜帶性, 達到「隨插即用」的目的。 具語音品質量測的功能,資訊主要以數據顯示。 未來可以將這些數據經過計算後直接輸出成MOS值,以方便使用者可以直接了解目前的通話品質情形。
敬請指教