2012-06-08 42 views
1

我的Asterisk設置如下: - 我有2個潮流GXP 2000個手機連接到我的路由器 - 我的小Linux服務器(帶星號)連接到路由器以及星號+ NAT。無論是被調用或者被稱爲

我從我的isp提供商處獲得一個動態IP,但我註冊了DynDNS

當我開始時,我可以打電話給人們並與他們交談。如果有人給我打電話,電話會響,我可以聽到他們說話。他們聽不到我。我發現這是因爲directmedia/canreinvite設置。所以我設置爲:

canreinvite =沒有 直接媒體=沒有

現在,人們可以打電話給我,我可以回答。但是,由於這種變化,我可以給人打電話,但一旦他們回答,我就聽不到他們,我只聽到靜止的聲音。當我刪除我添加的兩條線時,一切都恢復原樣。

可能是什麼問題? 5060端口被轉發到我的服務器,以及1000 - 2000 udp鈴聲。

問候, 位數

回答

0

好吧,對於處於同一情況下的其他人的一些信息: - 檢查您的編解碼器,確保在Asterisk CLI(命令行界面)中沒有錯誤。我有錯誤,但它工作,所以我不在乎。這是一個錯誤 - 升級到星號1.8 - 設置directmedia =沒有 - 它的更新範圍10000到20000(我錯過了0)。

這一切都解決了這個問題。

0

首先,你應該閱讀與Asterisk提供的sip.conf.sample文件。具體來說,閱讀NAT SUPPORT部分。 canreinvite和directmedia(它們的設置都是相同的)嘗試直接在涉及呼叫的UA之間建立RTP流,繞過Asterisk。因此,儘管該設置受到NAT的影響,但它不一定會控制與NAT有關的通道驅動程序行爲 - 因此,您仍然遇到問題並不令人驚訝。

不知道有問題的UA是否正在發送rport,它很難確定你的設置應該是什麼。話雖這麼說,可根據您的問題的描述,您可能需要在[常規]部分設置「NAT」參數設置爲:

nat = force_rport,comedia 
; or, depending your version 
nat = yes 

請注意,您可以設置NAT對等的基礎同行,但出於安全原因,這是不鼓勵的。

此外,您可能還需要探索extern *設置,例如externhost。

+0

我確實設置了nat設置,我使用了externhost。我使用的編解碼器設置爲「禁止:全部/允許:全部」 我正在使用星號1.6 – Digits

+1

好吧。然後,就像我說的,沒有看到SIP消息流量和你的sip.conf,沒有任何方法可以有人回答這個問題,而不必以你的方式扔掉大量的隨機信息,並看到什麼棒。您應該嘗試在星號用戶列表或者#asterisk IRC頻道上提出這個問題。這些地方往往會對系統配置等多項查詢做得更好(另外,對於1.6.x版本的Asterisk,您還應該包含次要版本號 - 1.6.0和1.6.2) –