我有一個公共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