你好,各位开发者..。
我们对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),一切都正常。
我在哪里做错了什么?
(预先谢谢:)
发布于 2015-12-17 07:31:02
发布于 2018-02-13 18:03:25
如果您出于安全原因更改默认端口,那么配置kamailio来侦听解决方案中提到的两个端口(包括默认端口)是没有意义的。我解决了这个问题,在寄存器部分添加了下面的一行。我的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";
}https://stackoverflow.com/questions/34243671
复制相似问题