概述
Kamailio是在GPLv2+下發(fā)布的開源SIP服務(wù)器,每秒能夠處理數(shù)千個呼叫設(shè)置。Kamailio可用于構(gòu)建VoIP和實時通信的大型平臺-存在,WebRTC,即時消息和其他應(yīng)用程序。此外,它可以輕松用于擴展SIP到PSTN網(wǎng)關(guān),PBX系統(tǒng)或媒體服務(wù)器,如Asterisk™,F(xiàn)reeSWITCH™或SEMS。
強大的功能包括:異步TCP,UDP和SCTP,通過TLS進行VoIP安全通信(語音,視頻,文本);WebSocket對WebRTC的支持;IPv4和IPv6;簡單的即時消息和狀態(tài)與嵌入式XCAP服務(wù)器和MSRP中繼;異步操作;用于VoLTE的IMS擴展;枚舉;DID和最低成本路由;負載平衡;路由故障轉(zhuǎn)移;賬戶、認證和授權(quán);支持許多后端系統(tǒng),如MySQL,Postgres,Oracle,Radius,LDAP,Redis,Cassandra,MongoDB,Memcached;Json和XMLRPC控制接口,SNMP監(jiān)控。
自2008年以來,Kamailio項目吸收了SIP高速路由器(SER)服務(wù)器的功能。換句話說,您可以受益于過去由OpenSER和SER在同一SIP服務(wù)器實例中提供的所有功能,以及多年來添加的許多新功能。
結(jié)合其SIP核心功能和可擴展的API,使用Kamailio(K)構(gòu)建VoIP和統(tǒng)一通信平臺非常簡單。
Kamailio功能
強大且高性能的SIP服務(wù)器
注冊器服務(wù)器
位置服務(wù)器
代理服務(wù)器
SIP應(yīng)用程序服務(wù)器
重定向服務(wù)器
布署靈活
占用空間小–適用于嵌入式設(shè)備–二進制文件體積小,可通過模塊剝離/添加功能
即插即用模塊接口–能夠在不接觸內(nèi)核的情況下添加新擴展,從而確保核心組件的高度穩(wěn)定性
模塊化架構(gòu)–核心、內(nèi)部庫和模塊接口,用于擴展服務(wù)器的功能
令人印象深刻的擴展存儲庫–Kamailio源代碼樹中總共包含150多個模塊
SIP路由功能
無狀態(tài)和事務(wù)性有狀態(tài)SIP代理處理
串行和并行分叉
對SIP和RTP流量的NAT遍歷支持
具有多種分發(fā)算法和故障轉(zhuǎn)移支持的負載平衡
靈活的最低成本路由
路由故障轉(zhuǎn)移
高可用性(HA)復(fù)制
SIP傳輸層
支持通過UDP、TCP、TLS和SCTP進行通信
IPv4和IPv6
傳輸層網(wǎng)關(guān)(IPv4到IPv6,UDP到TLS,a.s.o.)
SCTP多宿主和多流
WebSocketforWebRTC
異步處理
異步TCP處理
異步SIP消息處理
異步進程間消息隊列通信系統(tǒng)
分布式消息隊列
安全通信
摘要式SIP用戶身份驗證
通過ACL或組成員身份進行授權(quán)
IP和網(wǎng)絡(luò)身份驗證
對SIP信令的TLS支持
透明處理SRTP以確保音頻安全
TLS域名擴展支持
針對數(shù)據(jù)庫(MySQL,PostgreSQL,UnixODBC,BerkeleyDB,Oracle,文本文件),RADIUS和DIAMETER的身份驗證和授權(quán)
IP和域名解析
支持SRV和NAPTRDNS查找
SRVDNS故障轉(zhuǎn)移
DNSsec支持
枚舉支持
內(nèi)部DNS緩存系統(tǒng)–避免DNS阻止
IP級別黑名單
多宿主和多域支持
拓撲隱藏–隱藏SIP標頭中的IP地址以保護您的網(wǎng)絡(luò)架構(gòu)
賬戶管理
基于事件的賬戶
可配置的賬戶數(shù)據(jù)詳細信息
多段呼叫記帳
存儲到數(shù)據(jù)庫,半徑或直徑
預(yù)付費引擎
配置文件
配置文件的腳本語言。該配置采用類似于腳本語言的語法,提供了一種強大而靈活的方法來部署自定義SIP服務(wù)。
偽變量,用于訪問和管理特定于用戶和服務(wù)器的SIP消息和屬性的部分
轉(zhuǎn)換以修改現(xiàn)有的偽變量,僅訪問信息的所需部分
超過1000個參數(shù),變量和函數(shù)導(dǎo)出到配置文件
運行時更新框架–避免在需要更改配置參數(shù)時重新啟動SIP服務(wù)器
外部互動聯(lián)接
RPC控制接口–通過XMLRPC、JSONRPC、UDP或TCP
RabbitMQ和NSQ連接器
豐富的通信服務(wù)
SIP簡單在線狀態(tài)服務(wù)器(豐富的在線狀態(tài))
在線狀態(tài)用戶代理
XCAP客戶端功能
嵌入式XCAP服務(wù)器
狀態(tài)對話框信息支持–SLA/BLA
即時通訊
嵌入式建議零售價繼電器
監(jiān)控和故障排除
SNMP–簡單網(wǎng)絡(luò)管理協(xié)議的接口
配置文件分步調(diào)試器
通過XMLRPC進行遠程控制
通過RPC和SNMP導(dǎo)出的內(nèi)部統(tǒng)計信息
靈活的調(diào)試和錯誤消息記錄系統(tǒng)–記錄自定義消息,包括任何標頭或偽變量以及SIP消息結(jié)構(gòu)的一部分。
可擴展性API
Perl編程接口–嵌入用Perl編寫的擴展
JavaSIPServletApplicationInterface–編寫JavaSIPServlet以擴展您的VoIP服務(wù)并與Web服務(wù)集成
Lua編程接口
JavaScript編程接口
托管代碼(C#)編程接口
蟒蛇編程接口
Java編程接口
通過TCP連接的通用事件API
多個數(shù)據(jù)庫后端
(MySQL,PostgreSQL,SQLite,UnixODBC,BerkeleyDB,Oracle,文本文件)和其他具有unixodbc驅(qū)動程序的數(shù)據(jù)庫類型
連接池
可以同時使用不同的后端(例如,對Oracle的記帳和針對MySQL的授權(quán))
用于Memcached,Redis,MongoDB和Cassandrano-SQL后端的連接器
互聯(lián)互通
與PSTN網(wǎng)關(guān)的直接互連
短信或XMPP和其他IM服務(wù)的網(wǎng)關(guān)
與支持SIP的設(shè)備和應(yīng)用程序(如SIP電話(Snom、Cisco等)、媒體服務(wù)器(Asterisk、FreeSwitch等))的互操作性
IMS
支持與認證
I-CSCF,P-CSCF,S-CSCF
充電、質(zhì)量校準、國際學(xué)習時間
Miscellaneous
CPL–呼叫處理語言(RFC3880)
內(nèi)部通用緩存系統(tǒng)
內(nèi)存緩存連接器
RedisNoSQL數(shù)據(jù)庫連接器
CLI–kamctl和sercmd
網(wǎng)絡(luò)管理界面:西雷米斯
SIP-T和SIP-I
音樂保持隊列
郵件正文壓縮/解壓縮(gzip壓縮)
ss7解析器到JSON轉(zhuǎn)換器
面向管理員和開發(fā)人員的提供大量文檔
可擴展性:
Kamailio可以在資源有限的嵌入式系統(tǒng)上運行-性能可以達到每秒數(shù)百個呼叫設(shè)置
Kamailio用作無狀態(tài)模式下的負載均衡器,每秒可以處理超過5000個呼叫設(shè)置
在具有4GB內(nèi)存的系統(tǒng)上,Kamailio可以為超過300萬在線訂戶提供服務(wù)
系統(tǒng)可以通過添加更多Kamailio服務(wù)器輕松擴展
Kamailio可用于地理分布式VoIP平臺
Kamailio最低成本路由可擴展到數(shù)百萬個路由規(guī)則
直接的故障轉(zhuǎn)移和冗余