首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >从使用角度比较 Kamailio 和 OpenSIPS

从使用角度比较 Kamailio 和 OpenSIPS

作者头像
杜金房
发布2026-06-15 16:08:15
发布2026-06-15 16:08:15
1191
举报

Kamailio 和 OpenSIPS 同根同源,很多语法、伪变量、模块使用方式,两者都极为相似。本文仅从使用角度对二者进行比较。但因受认识限制,描述的可能不够准确和全面,希望得到大家的批评指正。

核心、伪变量、转换函数等

  • Kamailio 支持预处理,OpenSIPS 不支持预处理
  • Kamailio RPC 的作用跟 OpenSIPS MI 大致相同
  • Kamailio 的 route 函数不能带参数,而 OpenSIPS 则可以带参数
  • 在 Kamailio fU 和 tU 可读可写,但在 OpenSIPS fU 和 tU 只读,如果需要修改主被叫号码,需要调用 uac 模块里面的函数
  • Kamailio 有 fs 伪变量(Force send socket 的缩写),OpenSIPS 3.2 和 3.4 版本则换成了 socket_out
  • Kamailio 有 sut 伪变量(Source address as full URI 的缩写),而OpenSIPS 用三个伪变量加到一起来与之对应(socket_in(ip), socket_in(port), socket_in(proto))
  • Kamailio 有 Selects 变量,比如在请求路由里面执行 xlog("got $sel(msg)\n",就可以打印 SIP 消息,非常方便。而 OpenSIPS 则没有 Selects 变量

缓存

Kamailio 的 htable 模块提供缓存功能,OpenSIPS cache 函数用起来也很方便。

用户位置共享

要实现用户位置共享,Kamailio 需启用 dmq 和 dmq_uscloc 模块。OpenSIPS 则需要 proto_bin 和 clusterer 等模块。

拓扑隐藏模块

Kamailio 有 topoh、topos、topos_redis 三个拓扑隐藏模块,而 OpenSIPS 的 topology_hiding 模块貌似更实用,一是没有 RR 头(好处是包更小);二是把 Contact 头换成 OpenSIPS 自己的地址。

uac-trunk-auth

这是 uac-trunk-auth 的典型流程:

代码语言:javascript
复制
1. A -> INVITE -> Proxy                     B
2. A              Proxy ->    INVITE     -> B
3. A              Proxy <-    401(7)     <- B
4. A              Proxy -> INVITE (auth) -> B (CSeq 加一)
5. A              Proxy <-      200      <- B
6. A  <- 200 <-   Proxy

在第 4 步时,CSeq 需要加一

OpenSIPS 需要用路由脚本实现这个加一的操作,而 Kamailio 配置 dialog 模块的一个参数即可,比较方便

中间注册模块

OpenSIPS 有中间注册模块 mid_registrar,而 Kamailio 则无,当然可以在 Kamailio 的路由脚本里面实现该功能。

LUA 支持

OpenSIPS 虽然也支持 LUA 语言来写路由脚本,但显然 Kamailio 的 KEMI 更强大更方便。

二者能进行比较的显然不只上面提到的这些内容,比如都有 dispatcher 模块,功能大致相同,但细节不太一样。限于篇幅不再展开。

本人当然更熟悉 Kamailio 一些,但同时非常喜欢 OpenSIPS。可能有的读者会问,如果二选一该怎么办,我的回答是都可以,但有人这么说过:目前 OpenSIPS 用户数量更多,但查二者的邮件列表(Mailing List),Kamailio 程序崩溃更少一些。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-12-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeSWITCH中文社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档