2025年5月21日,OpenSIPS 3.6版本发布并受到特别关注,因为它将是一个长期支持版本,以及它将是结束3.x系列的版本。因此,与开启3.x系列的3.0版本形成闭环,3.6版本专注于”运营改进”。值得注意的是,3.0版本主要关注DevOps。
“运营改进”体现为在OpenSIPS中引入和增强那些改进和简化OpenSIPS运行和管理相关运营活动的特性/功能。
运营增强功能
动态套接字
在3.6版本之前,OpenSIPS仅支持静态定义的SIP套接字。如果需要添加更多套接字,必须重启服务。这在某些服务场景中(如SBC或中继服务)非常不便。在这些情况下,可能需要添加新的套接字(由于互联需求),而重启并非最佳选择(由于高流量)。
OpenSIPS 3.6引入了新的套接字管理(或socket_mgm)模块,以提供对动态套接字的支持。该模块允许通过数据库配置套接字,并在运行时由OpenSIPS刷新,无需中断服务。通过此模块,OpenSIPS提供了一种灵活高效的方式来动态管理套接字,同时保持服务连续性。
RTP.io
新的RTP.io模块为OpenSIPS内部处理RTP流量提供了集成解决方案,使RTP中继和处理直接在OpenSIPS进程内进行。这消除了对RTPProxy等外部进程的需求,在某些用例中实现了更精简、高效和易管理的系统。这意味着配置和操作得以简化。传统上,OpenSIPS仅处理信令,将媒体操作卸载到外部中继。然而,在某些情况下,从系统复杂性等角度考虑,使用外部中继可能不理想,因此拥有内部处理选项可能有用。
配置变量
新的配置模块旨在通过引入专用的$config(…)变量来简化OpenSIPS中的运行时配置管理。该变量提供了从OpenSIPS脚本内部轻松直接访问配置值的方式,显著降低了脚本复杂性。
增强的REDIS支持
REDIS模块现在支持面向列的cacheDB操作,使用Redis Stack Server的功能,如RedisJSON和RediSearch。这使得cachedb_redis可以作为用户位置(usrloc)模块的后端,支持联邦和完全共享两种操作模式。Redis服务器端JSON支持会被自动检测,并显示适当的启动日志(零配置)。
AWS集成
3.6版本带来了与AWS环境更加顺畅的集成,OpenSIPS将原生支持新的AWS服务。其中包括noSQL数据库DynamoDB和队列服务SQS。
关于这些新增功能的更详细描述,请参阅SQS博客文章和DynamoDB博客文章。
Janus集成
新的JANUS 模块是一个基于 Janus websocket 协议的 OpenSIPS 连接器。它可以通过向一个或多个 Janus 服务器发出命令或接收事件来与它们交互。该驱动程序可以看作是一个集中式 Janus 连接管理器。它将连接到每个 Janus 服务器,建立连接处理程序 ID,而客户端从连接处理程序 ID 的角度来看是透明的,只需传递它们想要运行的 Janus 命令即可。
操作简单
统一分支支持
OpenSIPS 3.6 对 SIP 分支管理(这是实现并行分叉的关键资产)进行了重大改进。第一步是统一消息和事务分支,以便您可以在 SIP 信令之前和之后关联和控制它们。下一步是增强分支支持,允许添加自定义的每个分支数据——属性和标志。最后一步是添加对跨分支数据访问的支持,能够访问其他分支的数据,动态搜索分支并与其数据交互。
结构化SDP操作
在opensips.cfg级别对SDP进行精细但复杂的更改的能力与对SIP信令进行操作一样重要。这种能力已经在我们的规划中有一段时间了,最初目标是在OpenSIPS 3.2版本中实现。OpenSIPS 3.6版本解决了两个主要问题:(A)需要从不同模块推送和合并对SDP的更改;以及(B)缺乏对SDP的精细和结构化访问(读写)。 现在,在OpenSIPS 3.6中,我们解决了这两个问题——不仅用户可以对SDP主体进行精细控制,而且用户对SDP的更改将在进行更改的那一刻变得可见。
更多详细信息请查看:https://www.opensips.org/About/Version-3-6-0
本文来自作者投稿,版权归原作者所有。如需转载,请注明出处:https://www.nxrte.com/jishu/58264.html