测试 kamailio v6.0.5 的 nats 模块(预处理)

OS: debian 12

apt install -y nats-server natscli

先编辑一个版本的 kamailio.cfg

loadmodule "nats.so"

modparam("nats", "nats_url", "nats://127.0.0.1:4222")

modparamx("nats", "nats_url", $def(NATS_URL))

modparam("nats", "subject_queue_group", "MyQueue1:1234")

event_routenats:MyQueue1

xlog("L_INFO", "received $(natsData)\n");

}

启动 kamailio

nats pub MyQueue1 "hello, kamailio"

kamailio 日志为:

INFO: <script>: received hello, kamailio


export NATS_URL="nats://127.0.0.1:4222"

修改kamailio.cfg

#!defenv NATS_URL

modparam("nats", "nats_url", $def(NATS_URL))

其他照旧


export NATS_URL="nats://127.0.0.1:4222"

#!substdef "!NATSURL!$env(NATS_URL)!g"

modparam("nats", "nats_url", "NATSURL")

这样也行


export NATS_URL="nats://127.0.0.1:4222"

#!defenv NATS_URL ## 增加双引号

modparam("nats", "nats_url", $defv(NATS_URL)) ## 删除双引号

但 $defv 目前的 6.0.5 版本暂不支持

请看这个 commit

https://github.com/kamailio/kamailio/commit/72699b5d85bc1ca8b487749798ed8e93622d1686

估计 6.1.x 开始支持


复制代码
export NATS_URL="nats://127.0.0.1:4222"

modparamx("pv", "shvset", "nats_url=s:$env(NATS_URL)")
modparamx("nats", "nats_url", "$shv(nats_url)")

这是另外一种搞法,但这样占用比较多的内存,搞不好就容易出现下面的错误:

ERROR: <core> core/socket_info.c:235: new_addr_info(): could not allocate private memory from pkg pool

ERROR: <core> core/socket_info.c:1824: add_interfaces(): new_addr_info2list failed

ERROR: <core> core/socket_info.c:384: new_sock_info(): could not allocate private memory from pkg pool

ERROR: <core> core/socket_info.c:1096: new_sock2list(): new_sock_info failed

ERROR: <core> core/socket_info.c:1186: add_listen_socket_info(): new_sock2list failed

ERROR: <core> core/socket_info.c:2449: fix_all_socket_lists(): add_listen_iface failed

你喜欢哪一种?欢迎留言!

相关推荐
Fibocom广和通1 天前
广和通推出RU311 5G RedCap模组,让中速终端更轻量接入5G
物联网·5g·redcap·通信·广和通·ru311
liulilittle3 天前
REALITY 代理隧道的有效检测方法: 被动、主动与确定性三层实证研究
linux·服务器·网络·网络协议·安全·网络安全·通信
liulilittle3 天前
加密扩展记录 37B(含头口径):Go TLS 栈形态特征的适用域与配对勘误
网络·网络协议·计算机网络·网络安全·通信·tls·reality
无名3873 天前
siremis 使用手册
通信
祖力555 天前
进程间通信(IPC机制):消息队列与共享内存
linux·消息队列·共享内存·通信·进程间通信
祖力557 天前
进程间通信(IPC机制):无名通道与有名通道
linux·运维·服务器·进程·通信·进程间通信·ipc
2501_9298072510 天前
考研初试专业课140+总分400+重庆邮电大学801信号与系统考研经验重邮,电子信息与通信工程,真题,大纲,参考书,博睿泽信息通信Jenny。
考研·信息与通信·信号处理·通信·电子信息
Logintern0912 天前
opcua如何在确认server端准备接收请求的时候,client再下发连接
opcua·通信
liulilittle12 天前
XTCP简述
网络·c++·tcp/ip·ip·tcp·通信
lsz15259013 天前
港口自动控制系统技术白皮书与核心模块全解
控制·通信·基础设施·plc编程·自动控制系统·港口