web-dev-qa-db-ja.com

Linuxベースのアスタリスクサーバー、SIPソフトフォンは音声を聞くことはできますが、他の人に音声を送信することはできません

Ubuntu 14.04LTSとAsterisk11.7.0を実行しています。サーバーは、SIP電話がvoip.ms/didlogic経由でSIPトランクを使用するように設定されています(didlogicの国際料金が好きなので、2つの異なるサービスですがvoip.msが持っているすべての国内機能を備えているわけではありませんが、目前の問題には関係ありません)。私はIP電話の知識がほとんどないと言えば十分です。

在宅勤務の従業員からのSIPソフトフォンが、たとえば固定電話に電話をかけようとすると、SIPソフトフォンは音声を受信しますが、送信しません。陸上の人lineはsipソフトフォンからオーディオを受信しません。SIPを悩ませている古典的な一方向オーディオの問題。

問題を再現できません。従業員のソフトフォンの100%は、オフィスでローカルに動作します。また、自宅の接続からソフトフォンをテストしました。VPNを使用して、世界中の国々をトンネリングして接続し、遅延の問題をチェックしました。また、何マイルも離れた場所に住んでいた家族がテストを行いました。成功しました。私は困惑しています。

また、MacとPCの両方の従業員システムを組み合わせて試したり、ファイアウォールのポートを開いたり、ファイアウォールを完全にオフにしたりしたことにも注意してください。

テストの目的で、IPTablesにルールはなく、サーバーはローカルルーターのNAT(消費者ルーターはこれをDMZと呼びます)の背後にありません。

アスタリスク構成は、2つの例外を除いて、すぐに使用できるバニラです。SIPバインドポートは5070、RTPポート範囲は20001〜30000です。これにより、外部からの接続スパムが回避されます。無料の乗り物を探しているロボダイヤラー。

以下は、Asteriskのsip.confからの抜粋です(特定の詳細は編集されています。このサンプルをスクロールする必要がある場合があります)

[general]
register => REDACTED:[email protected]:5060
register => REDACTED:[email protected]:5060

externip=REDACTED
localnet=192.168.0.0/255.255.255.0

bindaddr=0.0.0.0
bindport=5070

allowguest=no
alwaysauthreject=yes
cancallforward=yes
canreinvite=nonat
disallow=all
allow=g722
allow=ulaw
allow=alaw
qualify=yes
nat=force_rport,comedia

[didlogic]
Host=sip.didlogic.net
username=REDACTED
authname=REDACTED
secret=REDACTED
insecure=port
type=peer

[vms-incoming]
Host=losangeles.voip.ms
user=REDACTED
username=REDACTED
fromuser=REDACTED
authuser=REDACTED
secret=REDACTED
context=vms-incoming
insecure=invite
type=peer
trustrpid=yes
sendrpid=yes

[sip-softphone]
context=Sales
secret=REDACTED
type=friend
Host=dynamic
fromuser=sip-softphone
authuser=sip-softphone
insecure=port

サーバー側では2つの考えが思い浮かびます。トランクサービスをtype = friendに設定する必要がありますか?そして、私のNAT関連する構成設定は正しく、適切な場所にありますか?特にcanreinvite = nonatおよびnat = force_rport、comedia

ソフトフォンを交換する運がなかった。私たちのテストでは、すぐに使用できるZoiperのインストールについて考えてみましょう。これは、IPアドレスと非標準SIPポート5070に接続するように設定されており、デフォルトのSTUNサービスであるstun.zoiper.comを使用するように設定されています。登録とダイヤルは正常に行われるため、次のようになります= SIPシグナリングは問題ありません、それはRTPオーディオの問題です。固定のRTPポートを選択する必要があるのではないかと疑われています([設定]> [詳細])は20001〜30000の範囲ですが、個人的なテストでは、すぐに使用できるセットアップが機能することが確認されているようです。

従業員と一緒にテストできる場合は、SIPデバッグの抜粋を投稿できますが、いくつかの状況で私と私の親戚に役立つが、一般の従業員にはうまくいかない理由はありますか?自宅の一部の人々が、ひどく壊れたNAT実装のルーターを持っているのでしょうか、それともiLBCのようなはるかに低い帯域幅のコーデックに切り替える必要があるのでしょうか?

もう1つの可能性は、私の家、親戚(40マイル離れたところ)、およびオフィスがすべてTimeWarnerをISPとして使用していることです。おそらく、巧妙な構成で回避する必要があるISPの問題がいくつかあります。

編集:オープンランダムWiFiネットワークを見つけることで、いくつかの興味深いテストを行うことができました。 rtp.confで、strictrtp = noを設定しました。 sip.confで、natとcanreinviteの設定を個々のユーザーに移動したので、一般的な設定ではありません。次のようになります。

[sip-softphone]
context=Sales
secret=REDACTED
type=friend
Host=dynamic
fromuser=sip-softphone
authuser=sip-softphone
insecure=port
canreinvite=nonat
nat=force_rport,comedia

ソフトフォンでStunを無効にし(Zoiperではオフ、X-LiteではICEに設定)、確実に双方向オーディオを取得します。私はまだ従業員と一緒にテストしていませんが、物事は面白そうです。

1
Angelo Lorenzo

あなたのように、私はVoIPの世界について何も知りませんが、sip.confで次のことを試してください。

[general]
  directmedia=no

それでうまくいくが、チェックインしていないので説明できない場合は、 ここ を開始してください。

1
gwillie