概述
Kamailio是在GPLv2+下发布的开源SIP服务器,每秒能够处理数千个呼叫设置。Kamailio可用于构建VoIP和实时通信的大型平台-存在,WebRTC,即时消息和其他应用程序。此外,它可以轻松用于扩展SIP到PSTN网关,PBX系统或媒体服务器,如Asterisk™,FreeSWITCH™或SEMS。
强大的功能包括:异步TCP,UDP和SCTP,通过TLS进行VoIP安全通信(语音,视频,文本);WebSocket对WebRTC的支持;IPv4和IPv6;简单的即时消息和状态与嵌入式XCAP服务器和MSRP中继;异步操作;用于VoLTE的IMS扩展;枚举;DID和最低成本路由;负载平衡;路由故障转移;账户、认证和授权;支持许多后端系统,如MySQL,Postgres,Oracle,Radius,LDAP,Redis,Cassandra,MongoDB,Memcached;Json和XMLRPC控制接口,SNMP监控。
自2008年以来,Kamailio项目吸收了SIP高速路由器(SER)服务器的功能。换句话说,您可以受益于过去由OpenSER和SER在同一SIP服务器实例中提供的所有功能,以及多年来添加的许多新功能。
结合其SIP核心功能和可扩展的API,使用Kamailio(K)构建VoIP和统一通信平台非常简单。
Kamailio功能
强大且高性能的SIP服务器
注册器服务器
位置服务器
代理服务器
SIP应用程序服务器
重定向服务器
布署灵活
占用空间小–适用于嵌入式设备–二进制文件体积小,可通过模块剥离/添加功能
即插即用模块接口–能够在不接触内核的情况下添加新扩展,从而确保核心组件的高度稳定性
模块化架构–核心、内部库和模块接口,用于扩展服务器的功能
令人印象深刻的扩展存储库–Kamailio源代码树中总共包含150多个模块
SIP路由功能
无状态和事务性有状态SIP代理处理
串行和并行分叉
对SIP和RTP流量的NAT遍历支持
具有多种分发算法和故障转移支持的负载平衡
灵活的最低成本路由
路由故障转移
高可用性(HA)复制
SIP传输层
支持通过UDP、TCP、TLS和SCTP进行通信
IPv4和IPv6
传输层网关(IPv4到IPv6,UDP到TLS,a.s.o.)
SCTP多宿主和多流
WebSocketforWebRTC
异步处理
异步TCP处理
异步SIP消息处理
异步进程间消息队列通信系统
分布式消息队列
安全通信
摘要式SIP用户身份验证
通过ACL或组成员身份进行授权
IP和网络身份验证
对SIP信令的TLS支持
透明处理SRTP以确保音频安全
TLS域名扩展支持
针对数据库(MySQL,PostgreSQL,UnixODBC,BerkeleyDB,Oracle,文本文件),RADIUS和DIAMETER的身份验证和授权
IP和域名解析
支持SRV和NAPTRDNS查找
SRVDNS故障转移
DNSsec支持
枚举支持
内部DNS缓存系统–避免DNS阻止
IP级别黑名单
多宿主和多域支持
拓扑隐藏–隐藏SIP标头中的IP地址以保护您的网络架构
账户管理
基于事件的账户
可配置的账户数据详细信息
多段呼叫记帐
存储到数据库,半径或直径
预付费引擎
配置文件
配置文件的脚本语言。该配置采用类似于脚本语言的语法,提供了一种强大而灵活的方法来部署自定义SIP服务。
伪变量,用于访问和管理特定于用户和服务器的SIP消息和属性的部分
转换以修改现有的伪变量,仅访问信息的所需部分
超过1000个参数,变量和函数导出到配置文件
运行时更新框架–避免在需要更改配置参数时重新启动SIP服务器
外部互动联接
RPC控制接口–通过XMLRPC、JSONRPC、UDP或TCP
RabbitMQ和NSQ连接器
丰富的通信服务
SIP简单在线状态服务器(丰富的在线状态)
在线状态用户代理
XCAP客户端功能
嵌入式XCAP服务器
状态对话框信息支持–SLA/BLA
即时通讯
嵌入式建议零售价继电器
监控和故障排除
SNMP–简单网络管理协议的接口
配置文件分步调试器
通过XMLRPC进行远程控制
通过RPC和SNMP导出的内部统计信息
灵活的调试和错误消息记录系统–记录自定义消息,包括任何标头或伪变量以及SIP消息结构的一部分。
可扩展性API
Perl编程接口–嵌入用Perl编写的扩展
JavaSIPServletApplicationInterface–编写JavaSIPServlet以扩展您的VoIP服务并与Web服务集成
Lua编程接口
JavaScript编程接口
托管代码(C#)编程接口
蟒蛇编程接口
Java编程接口
通过TCP连接的通用事件API
多个数据库后端
(MySQL,PostgreSQL,SQLite,UnixODBC,BerkeleyDB,Oracle,文本文件)和其他具有unixodbc驱动程序的数据库类型
连接池
可以同时使用不同的后端(例如,对Oracle的记帐和针对MySQL的授权)
用于Memcached,Redis,MongoDB和Cassandrano-SQL后端的连接器
互联互通
与PSTN网关的直接互连
短信或XMPP和其他IM服务的网关
与支持SIP的设备和应用程序(如SIP电话(Snom、Cisco等)、媒体服务器(Asterisk、FreeSwitch等))的互操作性
IMS
支持与认证
I-CSCF,P-CSCF,S-CSCF
充电、质量校准、国际学习时间
Miscellaneous
CPL–呼叫处理语言(RFC3880)
内部通用缓存系统
内存缓存连接器
RedisNoSQL数据库连接器
CLI–kamctl和sercmd
网络管理界面:西雷米斯
SIP-T和SIP-I
音乐保持队列
邮件正文压缩/解压缩(gzip压缩)
ss7解析器到JSON转换器
面向管理员和开发人员的提供大量文档
可扩展性:
Kamailio可以在资源有限的嵌入式系统上运行-性能可以达到每秒数百个呼叫设置
Kamailio用作无状态模式下的负载均衡器,每秒可以处理超过5000个呼叫设置
在具有4GB内存的系统上,Kamailio可以为超过300万在线订户提供服务
系统可以通过添加更多Kamailio服务器轻松扩展
Kamailio可用于地理分布式VoIP平台
Kamailio最低成本路由可扩展到数百万个路由规则
直接的故障转移和冗余