我有一个公共IP地址和两个SIP客户端在同一个NAT设备后面的星号框;我也有不同的NAT后面的SIP客户端。我想知道Asterisk是否可以检测到两个客户端是否在同一个NAT后面,并在它们之间使用直接媒体,并为使用不同NAT的客户端使用其他选项?Asterisk directmedia和NAT
PS:我认为每个NAT盒子都有一个外部IP地址,这个假设对我很好。
我有一个公共IP地址和两个SIP客户端在同一个NAT设备后面的星号框;我也有不同的NAT后面的SIP客户端。我想知道Asterisk是否可以检测到两个客户端是否在同一个NAT后面,并在它们之间使用直接媒体,并为使用不同NAT的客户端使用其他选项?Asterisk directmedia和NAT
PS:我认为每个NAT盒子都有一个外部IP地址,这个假设对我很好。
Asterisk 11.6具有此功能可以查看sip.conf.example并查找directmedia部分。
不,不可能。
原因:大多数现代路由器都有网络192.168.1.0/24,因此几乎所有客户端都会在同一个网络中工作。
但是你可以强制nat =从不directmedia =是的一些客户端。有了这些设置,它将直接工作,但不会与服务器一起工作。
Optionaly可以将vpn(openvpn?)隧道连接到您的网络,将其添加到localnet = list并使用不带NAT的直接路由。
难道就没有可能为Asterisk从同一NAT使用检测客户端NAT盒的公网IP地址?例如,如果两个客户端具有相同的公共IP地址,则它们位于相同的NAT后面。 – user278740
没有这样的实现。你可以添加/询问其他人添加。估计专家工作时间接近1周的复杂度(100 + usd/hr) – arheops
Thx太多了。 ;-) – user278740
您可以尝试将其设置为directmedia = nonat。这样,只有当客户端不在NAT后面时才会这样做。不过,我认为它不适合你的情况,因为你也需要在同一个NAT后面的PBX和2个无用的客户端。
我有相同的设置,它的工作。
Asterisk 1.8需要的配置是sip.conf
(或任何其他包含的文件)。我把在[general]
部分:
[general]
directmediapermit=192.168.0.0/24 (local_network/netmask)
directmediadeny=0.0.0.0/0
...
而且在SIP设备的定义,在这种情况下,SIP电话:
[phones]
nat=no
directmedia=nonat
...
directmedia将为所有人做到这一点。所以不像主题创始人想要的那样。 – arheops