架設SIP Proxy打造免費專屬VoIP系統

VoIP技術發展至今已經相當成熟,其中SIP產品在這幾年更成為主流。為了趕上這股勢不可當的潮流,本文將示範如何在pfSense環境中快速地架設SIP Proxy,建立帳號密碼,並在各種設備上進行相關的設定,以及測試各種不同的應用。

點選siproxd之後,進行SIP Proxy的參數設定。在Inbound及outbound interface部分,從原先預設的【LAN】修改為【WAN】,如圖6所示。設定完成後記得要按下〔Save〕將設定儲存起來。


▲圖6 設定Inbound及Outbound interface。

接著,設定使用者的帳號及密碼。先點選切換至〔Users〕活頁標籤內,這個時候Username和Description都是空的。此時點選後面的〔+〕圖示,如圖7所示。


▲圖7 設定使用者帳號及密碼。

然後填入帳號及密碼,如圖8所示。在「Username」欄位內輸入101,並設定對應的密碼,而「Username Description」留空即可。之後按下〔Save〕按鈕就完成了。緊接著,依序將102、103、104的設定也都完成。


▲圖8 填入帳號及密碼。

SIP Proxy的設定至此也完成了。沒有錯,就是這麼的簡單!pfSense幫忙把設定的部分都圖形化了,因此省卻了很多人力的浪費。

智慧型手機的設定

由於筆者使用的是Android手機,因此這裡就以Android手機來示範。事實上,Android手機預設就能透過SIP通話,但是Android只允許使用者在開啟Wi-Fi服務時撥打SIP電話,但目前在使用SIP時,還是建議使用實體IP來連線,藉以減少許多不易排除的問題,但要用Wi-Fi取得實體IP在目前的環境是件不容易的事,所以此次放棄使用Android預設的SIP通話功能。

接著,在詢問Google大神後,採用的是sipdroid這個程式,但在實際測試後,發現sipdroid透過我們架設的siproxd與其他設備進行通話時有時會有問題。

因此,最後決定採用ZyXEL Reach這套軟體來進行本次的示範。ZyXEL Reach安裝的部分將不做說明,請讀者自行至Android的Play商店下載安裝。

在ZyXEL Reach安裝完成後,該程式會自動開啟。接著在「用戶ID」空白框輸入101,並且輸入密碼(請與siproxd的設定一致)。

最後,在「網域」空白框輸入pfSense對外的IP(WAN介面的IP位址),然後按下〔確定〕按鈕,如圖9所示。


▲圖9 設定ZyXEL Reach。

設定完成後,程式會自動連到SIP Proxy註冊,若成功註冊,在主畫面上會以綠色呈現已連線的狀態,若一直註冊不上,則會呈現紅色的狀態,此時請檢查一下是否資料填寫有誤。

若資料填寫均正確但還是無法註冊,就要檢查一下網路的狀態:是否處於NAT的環境中,若確認是在NAT的環境中,請自行調整IP分享器的相關設定。

一般而言,檢查一下分享器中是否有UPnP、STUN、TRUN、ALG、ICE之類的相關設定,如果有,將之開啟即可。

IP Phone的設定

在IP Phone設定上,筆者隨意挑選一款提供網頁設定功能的IP SIP Phone做示範。IP Phone在市面上的選擇相當多,價格也多在可以接受的範圍內,讀者可以自行挑選合意的機種。設定上不會有太大的差異。

接著以筆者的設備來做示範。登入設備後,先選擇SIP設定。傳輸的方式使用預設的UDP,在此設備中,本機SIP服務監控埠預設是5070,筆者將之改為常用的5060。IP Phone的相關設定如圖10所示。


▲圖10 IP Phone SIP相關設定。

接著設定RTP的部分。據筆者實測的結果,不做調整也沒有關係。但為了減少可能的問題,將RTP起始埠號設定為7070,RTP的埠數設定為10(siproxd的範圍為從7070至7079,與其設定相符),之後按下〔儲存〕。操作的部分可參考圖11。


▲圖11 RTP相關設定。

然後設定連線至SIP Proxy註冊時需要的相關資訊。市面上的IP Phone通常可以向兩台以上的SIP Proxy註冊,筆者的機器可以設定至三台。在此次的範例中,設定一組做測試。設定的部分如圖12所示。


▲圖12 SIP Domain設定。

首先選擇1st Domain,之後記得要勾選啟用(預設不勾選),接著,認證帳戶及認證密碼時務必輸入之前在siproxd所設定的資料,此例的認證帳戶為104。


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!