2016-10-12 15 views
0

正常にインストールされたsipster/pjsipを使用して、basic sipster exampleを実行して、sip接続のサウンドをそのsipサーバーに記録します。今、私はこれは音が完全に記録しますローカルアーチのLinuxマシン上で実行されますが、私は、ドッキングウィンドウのマシンで同じやるならば、私はdockerと外の世界でsipster/pjsip間のサウンド接続を有効にするにはどうすればいいですか?

docker run -p 5060:5060/udp -it myContainer 

SIP接続が機能し始めることが、記録された音が存在しない場合。私は

docker run -p 5060:5060/udp -p 16384-32767:16384-32767/udp -it myContainer 

をすれば

友人はSIPが音の輸送のためのRTPを使用していることを教えてくれましたし、このプロトコルは、16384〜32767に

からUDPポートを結合することさて、これは最終的には年齢やクラッシュをとります。

sipsterまたはpjsipでRTPポートの範囲を絞り込む方法はありますか?そして私は正しい道を歩いていますか、問題はサウンドデバイスを持っていないドッカーに接続されていますか?

+0

Dockerは、使用可能なすべてのポートのほぼ4分の1を転送しようとしていると満足できない場合があります。あなたがより小さな範囲を使用するなら、それはまだクラッシュしますか?その範囲が正しいと確信していますか? –

+0

@ChrisTannerこれはRTP標準からの範囲です。 https://supportforums.cisco.com/discussion/10718041/rtp-port-range。私はこのpjsipのどの部分が使用されているのか、それをどのように制限するのか分かりません。もちろん、ドッカー(または私のMacホスト)は、このような広い範囲に不満です。 100ポートの範囲で、それはうまく動作します。だから私は範囲を絞り込むためのオプションを探しています。 –

答えて

1

Dockerは多数のポートを一度にマッピングすることはできません。私の場合は、rtpproxyイメージを作成し、コンテナあたり1000 x 1000のポートをマッピングするいくつかのドッカーコンテナインスタンスを作成します。

私はそれについてみんなの多くに話していると誰もが私はクレイジーだと私はマッピングされた10Kのポートを必要とする理由...そして、私は、VoIPがどのように動作するかを説明する必要が言う...

よろしく

ルイス

+0

ありがとうございます。これは生産に展開するソリューションのように見えます。私が理解する限り、SIPは通信を開始するためのポート(通常は5060)を必要とし、次に各パラレルRTP音声接続に対して16384-3276の範囲からUDPポートをバインドします。 1つの並列接続だけが必要であることが分かっている場合、どのように開発を進めますか? –

+1

開発中、rtp.confで低いRTP範囲を設定できます。 10000-10100を使用して-p 10000-10100:10000-10100/udpを使用して、ドッカーで使用することができます –

+0

@ Luis:AsteriskのNice solution。しかし私の考えは、pjsipをnode/sipster用のライブラリとして実行することでした。しかし、pjsipディレクトリやsipster docuでは、関連する設定を見つけることができません。多分、それはpjsipを消費するソフトウェアによって設定されなければならない選択であり、sipsterはそれをまだ実装していません。 –

関連する問題