2014-02-16 105 views
2

我有一個公共IP地址和兩個SIP客戶端在同一個NAT設備後面的星號框;我也有不同的NAT後面的SIP客戶端。我想知道Asterisk是否可以檢測到兩個客戶端是否在同一個NAT後面,並在它們之間使用直接媒體,併爲使用不同NAT的客戶端使用其他選項?Asterisk directmedia和NAT

PS:我認爲每個NAT盒子都有一個外部IP地址,這個假設對我很好。

回答

2

Asterisk 11.6具有此功能可以查看sip.conf.example並查找directmedia部分。

+0

directmedia將爲所有人做到這一點。所以不像主題創始人想要的那樣。 – arheops

1

不,不可能。

原因:大多數現代路由器都有網絡192.168.1.0/24,因此幾乎所有客戶端都會在同一個網絡中工作。

但是你可以強制nat =從不directmedia =是的一些客戶端。有了這些設置,它將直接工作,但不會與服務器一起工作。

Optionaly可以將vpn(openvpn?)隧道連接到您的網絡,將其添加到localnet = list並使用不帶NAT的直接路由。

+0

難道就沒有可能爲Asterisk從同一NAT使用檢測客戶端NAT盒的公網IP地址?例如,如果兩個客戶端具有相同的公共IP地址,則它們位於相同的NAT後面。 – user278740

+0

沒有這樣的實現。你可以添加/詢問其他人添加。估計專家工作時間接近1周的複雜度(100 + usd/hr) – arheops

+0

Thx太多了。 ;-) – user278740

0

您可以嘗試將其設置爲directmedia = nonat。這樣,只有當客戶端不在NAT後面時纔會這樣做。不過,我認爲它不適合你的情況,因爲你也需要在同一個NAT後面的PBX和2個無用的客戶端。

0

我有相同的設置,它的工作。

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 
...