SIPClient-2 開源SIP協定
Webcome to project:MTAVIPClient; Expecting you to join!
MTAVIPClient supports H323 and SIP protocols.
MTAVIPClient means Audio/Video over IP networkd.
1 SIP的主要協定
國際網際網路工程任務組(IETF)制定了SIP協定,SIP是一個輕量級信令協定,它可以作為音頻、視訊、及時資訊的信令。SIP協定家族使用的協定清單:
- RFC 2821: SMTP協定(Simple Mail Transfer - Protocol);
- RFC 2616: HTTP協定(Hypertext Transfer Protocol);
- RFC 3550: RTP/RTCP協定(Real Time Transport Protocol/Real Time Control Protocol),定義了在IP網上的多媒體包格式;
- RFC 2327: SDP協定(Session Description Protocol ),定義了一個多媒體會話的參數和特征
- RFC 2543: SIP協定1.0;
- RFC 3261: SIP協定2.0.
- RFC 4629 RTP Payload Format for ITU-T Rec. H.263 Video
- RFC 6184 RTP Payload Format for H.264 Video
- RFC 5109 RTP Payload Format for Generic Forward Error Correction
2 開源SIP協定棧
- Sofia-Sip is SIP stack implementation with STUN and presense support
- SIP SIMPLE client SDK - High level middleware on top of SIP, RTP, MSRP and XCAP protocols
- reSIProcate The reSIProcate project is part of the SIPfoundry community. The project aims at building a freely available, completely standards based and complete reference implementation of a SIP stack including an easy to use application layer API. The reSIProcate stack is currently used in several commercial products and is very stable.
- ccRTP C++ library based on GNU Common C++
- JRTPLIB C++ object oriented RTP library
3 開源SIP網關
OpenSIPS是用于語音,視訊,即時消息,任何其他SIP擴充的開放源代碼SIP代理/伺服器。
OpenSIPS是一種多功能,多用途的信令SIP伺服器,被營運商和電信服務商廣泛應用于PBX解決方案,會話邊界控制器,應用伺服器,前端負載平衡機,IMS平台,呼叫中心等等
OpenSIPS被推薦用于任何種類的SIP場景/服務:
- 高吞吐量: 數以萬計的CPS,數百萬的同時通話(見官方測試)
- 路由和內建的靈活性: 用于實作自定義路由邏輯的路由腳本,多個接口API(參見手冊)
- 有效的應用程式建構: 超過120個子產品提供功能,SIP處理,後端操作,內建,路由邏輯
思科和華為擁有全功能的SIP的商業Gateway産品線。
4 其他開源項目
在視訊會議領域擁有大量的開源項目,這些開源項目有些聚焦于完整的視訊會議生态,有些聚焦于在視訊會議控制協定,有些聚焦于流媒體傳輸,有些聚焦于音視訊編解碼。适當使用合理參考,能夠提升我們的開發效率。
項目名稱 | 項目位址 | 項目定位 |
---|---|---|
H323Plus | http://www.h323plus.org | 全功能的H.323協定 |
ffmepg | http://ffmpeg.org | 全功能的開源視訊編輯器 |
OpenMeeting | http://code.google.com/p/openmeetings | java視訊會議首選 |
webrtc | http://www.webrtc.org | 基于浏覽器的實時通信開源項目 |
live555 | http://www.live555.com/ | 流媒體開源項目 |
OPAL | http://sourceforge.net/projects/opalvoip | 實作SIP協定的首選 |
x264 | http://www.x264.nl/ | 應用最廣的H.264編碼器 |
Speex | http://www.speex.org | 音頻領域最著名的開源項目 |
JRTPLIB | https://github.com/j0r1/JRTPLIB | C++跨平台的 RTP傳輸開源項目 |
EMIPLIB | https://github.com/j0r1/EMIPLIB | EDM Media over IP library(大學研究項目) |
xvid | http://www.xvid.org | MPEG4編碼器開源項目 |
參考文獻
- SIP: Session Initiation Protocol
- SDP: Session Description Protocol
- RTP: A Transport Protocol for Real-Time Applications
- OpenSIPS: new breed of communication engine
關于MTAVIPClient.git項目(子子產品MTSIPClient)
- SIPClient-1 SIP協定概述
- SIPClient-2 開源SIP協定
- SIPClient-3 SIP終端概述
- SIPClient-4 SIP呼叫信令的資料流
- SIPClient-5 編譯SIP伺服器(OpenSIPS )
- SIPClient-6 建立MTSIPClient
- SIPClient-7 MTSIPClient的Todo清單