对比的版本
opensips | kamailio | |
---|---|---|
版本信息 | 3.3.10 | 5.8.5 |
官方文档地址 | https://www.opensips.org/Documentation/Manuals | https://www.kamailio.org/w/documentation/ |
支持的route类型
序号 | opensips | kamailio | 说明 |
---|---|---|---|
1 | route | request_route | 请求入口 |
2 | branch_route[a] | branch_route[a] | 分支路由,a为自定义变量 |
3 | failure_route[a] | failure_route[a] | 失败路由,a为自定义变量 |
4 | onreply_route | reply_route onreply_route{} onreply_route[0]{} |
主返回路由 |
5 | onreply_route[a] | onreply_route[a] | 子返回路由,a为自定义变量 |
6 | event_route[a] | event_route[a] | 事件路由,a为自定义变量 |
7 | error_route | event_route[tm:branch-failure] | 出错路由 |
8 | local_route | event_route[tm:local-request] | 本地路由 |
9 | startup_route | event_route[core:worker-one-init] | 服务启动时执行的路由 |
10 | timer_route[a] | RTimer模块 | 定时执行的路由, a为自定义变量 |
11 | - | onsend_route | 请求发出去前执行的路由 |
监控管理端
差异 | opensips | kamailio |
---|---|---|
运行命令 | opensips-cli |
kamctl |
独立编译 | 是,仓库地址: https://github.com/OpenSIPS/opensips-cli.git |
否 没有单独仓库,和kamailio一起编译生成 |
编写语言 | Python | c |
配置文件 | ~/.opensips-cli.cfg | kamctlrc |
创建数据库 | opensips-cli -f ~/.opensips-cli.cfg -x database create |
kamdbctl create kamailio |
和服务端连接方式 | fifo/http/udp |
fifo |
说明:
- opensips-cli因为是Python编写,在做opensips容器时,如果把opensips-cli打包进去,整个包会较大。
可以把opensips-cli单独制作镜像,opensips-cli使用
http
方式和opensips服务端进行通信。
web管理服务
opensips | kamailio | |
---|---|---|
仓库地址 | https://github.com/OpenSIPS/opensips-cp.git | https://github.com/asipto/siremis-php.git |
两个服务都是php的,不太好用,页面样式不好看,中文支持度不好,正在考虑使用Vue3重写。
功能差异
模块 | opensips | kamailio |
---|---|---|
日志 | 日志带时间 | 日志不带时间 |
websocket | - | 支持跨域设置 |
dispatcher | 必须使用数据库 | 可不使用数据库,从文件读取 |
使用体验
维度 | opensips | kamailio |
---|---|---|
上手难度 | 简单 | 较高 |
star(截止20250227) | 1.3k | 2.4k |
模块功能 | 能满足日常需求 | 较丰富,还有KEMI脚本语言实现(没有示例,上手难度大) |
官方文档 | 文档层次分明,模块清楚 | 文档基本完整,但是缺少基本函数检索文档 |
网络教程 | 大部分是2.x版本的,3.x文档不全 | 国内教程少 |
迭代变化 | 2.x和3.x版本配置参数区别较大 | 版本迭代配置参数变化不大 |
bug修复进度 | 较慢,起步一个月 | 较快,一周左右反馈 |
社区 | 没有 | 有,社区地址: https://lists.kamailio.org/mailman3/hyperkitty/list/sr-users@lists.kamailio.org/ |
补充:
opensips
适合快速上手,负载均衡,sip代理转发等基本能满足日常需求。kamailio
可以作为进阶版本,后期完全可以不写.cfg配置,用KEMI
脚本来写。- 两个产品bug的
issue
都设置了定时删除,没有修复的话,需要自己回复一下才能不被删。 - 关于并发上,目前线上使用的
opensips
并未有崩溃的记录,8c8G的机器性能很高,具体可以查看我的opensips 压测介绍
文章,kamailio
目前还未压测,应该稳定性不差。 opensips
没有社区,遇到问题只能提issue
,kamailio
可以先在社区提问,如果问题没有解决,再提issue
。