要在windows或者linux平台下開發基於SIP的軟電話,需要以下軟體
伺服器端軟體: 註冊多個用戶端到伺服器上,可以進行通話測試
SIP用戶端軟體:主要用於測試,可以對別人已經完成的用戶端進行抓包,以比對自己程式的發包資料
SIP協議棧:基於某個現成的SIP協議棧來開發會加快開發進度
RTP棧:傳輸語言或者視頻資料的協議棧
抓包測試載入器:調試網路程式最有效辦法
以下介紹這些軟體主要以開源軟體為主
一 伺服器端軟體
1. Asterisk:Linux系統下開源的IPPBX,功能強大穩定,主要用c語言開發。配置稍麻煩。 http://www.asterisk.org/
2. Vocal:Linux系統下開源的SIP伺服器端。可以作為IPPBX也可以作為運營系統。很多voip虛擬電訊廠商都用這個作為自己的運營系統。提供BS結構的管理介面。http://www.vovida.org/
3. YATE:跨平台(Linux,Windows)的開源SIP伺服器端。在windows下安裝非常簡單。其他方面沒有進行過測試。http://yate.null.ro/pmwiki/
4. SER:Linux平台下重量級的SIP伺服器斷。功能比較豐富,也是很多voip虛擬電訊廠商的系統選擇。不過據說配置比較麻煩,具體沒有試過。http://www.iptel.org/ser/
5. sipX:Linux平台下的SIP伺服器。這個好像不能作為用戶端再次註冊到其他SIP伺服器上。提供BS結構的管理介面。 http://www.sipfoundry.org
二 SIP用戶端軟體
1. Windows Messenger 5.1:微軟出的SIP用戶端,操作方便。
2. YATE Client:跨平台(Linux,Windows)的開源SIP用戶端軟體。安裝方便,功能簡單。http://yate.null.ro/pmwiki/
3. xten:windows平台下的SIP軟電話。功能齊全,使用方便。http://www.xten.com/
三 SIP協議棧
1. osip:跨平台的開源SIP協議棧。用c語言實現,體積小。http://www.gnu.org/software/osip/
2. exosip:對osip進行封裝,使其方便SIP用戶端軟體開發。同樣開源跨平台。http://savannah.nongnu.org/projects/exosip/
3. sipXtackLib:由SIPfoundry提供的開源跨平台的SIP協議棧,功能齊全。C++開發,已經被用於開發數個商業SIP終端。http://www.sipfoundry.org
四 RTP棧
1. JRTPLIB: 開源的跨平台rtp棧,用C++語言開發,使用方便。http://research.edm.uhasselt.be/~jori/page/index.php?n=CS.Jrtplib
五 抓包測試載入器
1. Wireshark:非常有名的開源跨平台網路抓包工具,以前叫做Ethereal。http://www.wireshark.org/