首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >默认端口更改时Kamailio '403不中继‘

默认端口更改时Kamailio '403不中继‘
EN

Stack Overflow用户
提问于 2015-12-12 18:57:01
回答 2查看 4.3K关注 0票数 2

你好,各位开发者..。

我们对Kamailio进行了一周的测试,效果很好.但是我们的一些朋友报告说他们不能用他们的移动互联网连接到我们的服务器.似乎默认的SIP端口被服务提供商阻塞了.

所以我们决定换个港口。我打开了kamailio.cfg并添加了以下行:

代码语言:javascript
复制
listen=tcp:_PUBLIC_IP_:32850
listen=udp:_PUBLIC_IP_:32850
listen=tls:_PUBLIC_IP_:32851
listen=tcp:127.0.0.1:32850
listen=udp:127.0.0.1:32850
listen=tls:127.0.0.1:32851
listen=tcp:10.19.0.5:32850
listen=udp:10.19.0.5:32850
listen=tls:10.19.0.5:32851

port=32850
port=32851

现在客户端抛出一个错误"403而不是中继“..。我试图启用调试以查看cfgtrace.没有检测到错误,但是当我注释掉上面的行时(默认的cfg),一切都正常。

我在哪里做错了什么?

(预先谢谢:)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-12-17 07:31:02

我已经发送了一个关于这个问题的电子邮件,并收到了关于这个问题的解决方案

很可能r-uri没有端口,被认为是5060,但是如果kamailio没有监听端口5060,它将不会考虑域/ips没有端口,所以它将尝试将其转发到端口5060。您最终可以在端口5060和另一个更高的端口上侦听。或者添加alias=ip:5060参数。干杯, 丹尼尔

票数 3
EN

Stack Overflow用户

发布于 2018-02-13 18:03:25

如果您出于安全原因更改默认端口,那么配置kamailio来侦听解决方案中提到的两个端口(包括默认端口)是没有意义的。我解决了这个问题,在寄存器部分添加了下面的一行。我的kamailio充当代理,我的sip客户端发送没有端口号的注册消息。所以kamailio发回"403而不是继电器“。

我关闭了5060端口,因此任何不知道我的新端口号的外部客户端都不能将SIP消息发送到默认端口。如果SIP中存在空白端口或5060端口,并在新端口上接收,那么我将更改$ru,如下所示。

代码语言:javascript
复制
if (($ru = "sip:$rU@my_kamailio_IP:5060" )||($ru = "sip:$rU@my_kamailio_IP"))
{
  $ru = "sip:$rU@my_kamailio_IP:NewPort";
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34243671

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档