1

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

我试图理解各种模块的文档,比如domainandoutbound我仍然很难过。我的配置文件与这个基本相同。

这感觉不像是配置,更像是学习一种新的编程语言。关于如何进行的任何想法?

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

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
4

1 回答 1

1

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

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

kamcmd core.tcp_list

如果您使用基于 TLS 的 WebSockets:

kamcmd tls.list

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

于 2013-05-30T16:31:59.437 回答