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