他のネットワークのクライアントからの呼び出しを受け入れるようにアスタリスクサーバーをセットアップしようとしています。サーバーとクライアントはNATの背後にあります。
クライアントですでにSTUNをアクティブ化していますが、両方でまだ反対側の音声を聞くことができません。しばらくすると通話が終了し、Asteriskに再送信タイムアウトに達したことを示すメッセージが記録され、受信したクリティカルパケットに対する応答が表示されません。
これを回避する最も簡単で怠惰な方法は、1:1のnat構成(DMZホストと呼ばれるホームルーター)にアスタリスクボックスを設定し、sip.confでexternip =が設定されていることを確認することです。
SIPおよびNATの場合の通常の問題は次のとおりです。
1:1 NATアスタリスク)ができないと仮定して、これらを試してください:
Sip.confの一般セクション:
問題のある電話のデバイスセクションで:-qualify = 5000(これにより、5秒ごとにアスタリスクが内線を確認します。NATタイムアウトになるまで、必要に応じて調整してください。マッピングを維持する必要があります)
NAT /ファイアウォール-rtp.confにリストされているUDPポートの全範囲に、アスタリスクサーバーへの転送エントリがあることを確認します。通常、これは10000〜12000のようなものです(各呼び出しは最大4つのRTPチャネルを使用できるため、設定により少なくとも500の同時呼び出しを処理できます)。そしてもちろん5060(SIPシグナリング)
このページは過去に役に立ちました: http://asteriskguru.com/tutorials/sip_nat_oneway_or_no_audio_asterisk.html
Webインターフェイス(FreePBX、Elastix、Trixbox、PBX-in-a-flashなど)でアスタリスクディストリビューションのいずれかを使用している場合は、私に知らせてください。confファイルを直接編集するのではなく、いくつかのGUI設定を提案できます。私はそれらのほとんどで問題をデバッグすることに不快感を覚えました...
外部IPアドレスを設定した後は、ローカルネットワークアドレスを設定する必要がない可能性があります(必要ない場合もあります)。 Jamesのコメントによると:ファイアウォールがこれを処理している場合、信じられないほど不可解なループバック状況が発生する可能性があります。