在我的上一篇文章中已經介紹怎樣通過SIP軟電話直接通話,可是假設須要支持很多其它用戶互相通話,同一時候基於安全考慮,須要對用戶帳戶登錄進行驗證控制,這些情況下就須要建立SIPserver。
SIPserver的作用:
呼叫控制和處理功能、業務提供/支持功能、用戶管理功能、協議處理功能、路由處理、接入認證、計費信息採集、操作維護/網管功能、互通功能、安全功能(可選)、黑白名單功能、擁塞控制功能(可選)。
建立SIPserver的條件:
* 一台計算機,作為server;
* server通常須要擁有固定的IP地址;
* server上不能再執行client(也就是說,client、server不能同一時候啟動,否則會沖突)。
上一篇文章中已經介紹了怎樣使用Yate2client,本次仍然使用Yate2搭建SIPserver。因為Yate2同一時候包括client及server端,所以不須要再單獨安裝server端。
說明,本次測試須要用到三台電腦,詳細例如以下:
電腦A,Yate2client,賬戶名:test,IP:192.168.1.102
電腦B,Yate2server,IP:192.168.1.106
電腦C,Yate2client,賬戶名:cheney,IP:192.168.1.103
另外,不建議在Windows7上安裝Yate2server,會有非常多問題,導致server無法使用,建議使用Windows XP。
用Yate2搭建SIPserver的步驟:
1. 安裝Yate2server(省略);
2. 打開Yate2安裝文件夾的conf.d子文件夾;
3. 將regfile.conf.sample復制一份,改名為regfile.conf,打開作下列改動:
* 找到;auth=100、;register=100、;route=100三行,分別去掉前面的分號;
* 對須要建立的每個用戶,在文件末尾添加兩行:
[username]
password=密碼
比如:
[cheney]
password=521
[test]
password=521
這樣,Yate2server就有了身份認證功能。
4. 開始-管理工具-服務,又一次啟動Yet Another Telephony Engine服務,假設沒有錯誤提示,則服務啟動成功。
驗證server是否可用
1. 在電腦A啟動Yate2client;
2. 選擇Settings-〉Accounts-〉New,打開新建帳戶對話框,填寫各項目,例如以下圖所看到的:
* Use provider,選擇none
* Protocol=sip
* Username=username
* Password=password
* Server=server的IP地址
點擊OK后,Status應該會顯示“online”,例如以下圖所看到的。這表明注冊成功,您已經正確建立了最簡單的Yate2 SIPserver。
下圖為注冊過程中的在電腦B中的通信抓包數據。
通過Yate2server打電話
1. 在電腦C啟動Yate2client,新建帳戶並登陸;
2. 在電腦A的Yate2client的撥號欄里面輸入對方帳戶名,點擊“Call”就可以撥打電話,例如以下圖所看到的。
下圖為通話過程中的在電腦B中的通信抓包數據。
到此,建立起SIPserver並進行通話測試的工作結束。網友有興趣的能夠分析抓包數據,從而對SIP的通信流程有一個具體的了解。