为出站SIP配置Kamailio/OpenSER注册器/代理



我已经为websockets上的SIP设置了Kamailio v4.0 SIP注册器和代理,除了发送出站消息或向外部域的SIP地址进行出站呼叫外,一切都很好。我可以接收来自非本地SIP地址的消息和呼叫,但不发送任何消息。

我试图理解各种模块的文档,如domainoutbound,我仍然难住了。我的配置文件基本上与这个相同。

这感觉不像配置,更像学习一门新的编程语言。对如何继续有什么想法吗?

编辑:在日志文件中发现以下内容:

INFO: rr [../outbound/api.h:49]: Failed to import bind_ob
INFO: rr [rr_mod.c:159]: outbound module not available

STUN=1重新编译并在配置中加载outbound.so(这是在错误的树中吠叫吗?)现在日志显示:

INFO: rr [rr_mod.c:156]: Bound rr module to outbound module
[...]
WARNING: <core> [msg_translator.c:2499]: TCP/TLS connection (id: 0) for WebSocket could not be found
ERROR: <core> [msg_translator.c:1725]: could not create Via header
ERROR: tm [t_fwd.c:435]: could not build request

日志提示无法找到与WebSocket客户端的连接。Kamailio无法打开与WebSocket (webrtc)软电话的连接,如果不存在,则SIP消息无法传递。

您可以使用kamcmd工具列出活动的TCP连接:

kamcmd core.tcp_list

如果你在TLS上使用WebSockets:

kamcmd tls.list

在这种情况下应该使用一个配置函数- set_forward_no_connect() -以避免在处理中走得太远。

最新更新