Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sip 卡迈利奥';403不中继';当默认端口更改时_Sip_Nat_Sip Server_Kamailio - Fatal编程技术网

Sip 卡迈利奥';403不中继';当默认端口更改时

Sip 卡迈利奥';403不中继';当默认端口更改时,sip,nat,sip-server,kamailio,Sip,Nat,Sip Server,Kamailio,各位开发者好 我们已经测试Kamailio一周了,它工作得很好。。。 但我们的一些朋友报告说,他们无法使用移动互联网连接到我们的服务器。。。而且似乎默认的SIP端口被服务提供商阻塞了 所以我们决定改变港口。。。 我打开kamailio.cfg并添加了以下行: listen=tcp:_PUBLIC_IP_:32850 listen=udp:_PUBLIC_IP_:32850 listen=tls:_PUBLIC_IP_:32851 listen=tcp:127.0.0.1:32850 listen

各位开发者好

我们已经测试Kamailio一周了,它工作得很好。。。 但我们的一些朋友报告说,他们无法使用移动互联网连接到我们的服务器。。。而且似乎默认的SIP端口被服务提供商阻塞了

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

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),一切都很好

我在哪里做错了什么

提前感谢:)

我已发送了有关此问题的电子邮件,并收到了有关此问题的电子邮件

最可能的是R-URI没有端口,被认为是5060,但是,如果KAMAILIO没有在端口5060上监听,它将不考虑没有端口的域/IPS,所以它会尝试将它转发到端口5060。br/>
您最终可以在端口5060和另一个更高的端口上侦听。或添加别名=ip:5060参数。

干杯,
丹尼尔


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

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

if (($ru = "sip:$rU@my_kamailio_IP:5060" )||($ru = "sip:$rU@my_kamailio_IP"))
{
  $ru = "sip:$rU@my_kamailio_IP:NewPort";
}