测试 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_route[nats: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

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

相关推荐
无名3872 小时前
测试 kamailio 的 tcp_reuse_port 以及 FreeSWITCH 的 reuse-connections 等等
通信
liulilittle3 天前
WintunAdapter 设计解析:一个 VNP 数据面的无锁优雅实现
网络·c++·it·通信
liulilittle3 天前
OPENPPP2 1.0.0.26145 正式版发布:内核态 SYSNAT 性能飞跃 + Windows 平台避坑指南
开发语言·网络·c++·windows·通信·vrrp
liulilittle7 天前
OPENPPP2 CTCP 协议栈 + 内置 TC Hairpin NAT 内核态程序
c语言·开发语言·网络·c++·信息与通信·通信
无名3878 天前
Kamailio usrloc redis 测试
通信
Alaso_shuang9 天前
一些通信协议科普
网络·嵌入式·通信
xixixi7777710 天前
安全嵌入全链路:从模型训练到智能体交互,通信网络是AI安全的“地基”
人工智能·安全·ai·多模态·数据·通信·合规
xixixi7777711 天前
AI的“血管”:从大模型需求看6G、高速光纤与智算中心网络的技术变革
人工智能·ai·大模型·算力·通信·光纤·政策
无名38711 天前
讨论 RTPEngine 的 ICE-lite
通信
我爱C编程13 天前
【3.1】基于FPGA的FFT/IFFT模块开发——前言/目录
fpga开发·教程·通信·fft·傅里叶变换