2016-09-03 3 views
0

私は呼び出しのためのSIPクライアントを作るために取り組んでいます。私の会社はサーバーとしてアスタリスク(VOS3000)を使用しています。サーバーはWebソケットをサポートしていません。そして今、私の状況でJa​​vaScriptを使ってSIPクライアントを作る方法があるかどうかを知りたい。ノードjsサーバー経由のリクエストを別のアスタリスクサーバーに転送することはできますか?

愚かかもしれませんが、ノードjs SIPサーバ(おそらくsip.jsを使用しています)を作成してから、このサーバに来るすべての要求が私のアスタリスクサーバにリダイレクトされるような解決策を考えています。出来ますか?

その他の回避策はありますか?

答えて

1

私はVOS3000に精通していませんが、アスタリスクのバージョン11以降ではWebRTCとSIP over WebSocketがサポートされています。しかし、VOS3000が古いバージョンのアスタリスクをベースにしている場合や、そうでない場合は、WebRTC呼び出し用のゲートウェイを設定できます。合理的な道案内がいくつかあります。

  1. B2BUA - あなたはアスタリスク(またはFreeSWITCH)の新しいバージョンを実行し、それをsip.js通話とあなたのVOS3000間のブリッジコールを持つことができます。基本的にはコールの仲介者として働き、WebRTCをsip.jsベースのアプリケーションと標準の古いSIPとVOS3000に話すだけです。 VOS3000がWebRTCコーデックをサポートしていない場合(ビデオ用ではない場合、少なくとも音声用)、これはおそらく2つのルートのほうが簡単で、VOS3000がWebRTCコーデックをサポートしていない場合、音声コーデック変換を実行できるという利点があります。

  2. Proxy + Media Gateway - WebSocket上のSIPシグナリングをUDP経由でSIPにプロキシするためにKamailioのようなものを実行し、rtpengineを使用してWebRTC DTLS-SRTPをRTPに変換できます。これは拡張性が向上しますが、セットアップを正しく行うにはかなり複雑です。必要な場合は、コーデックの翻訳もできません。

  3. 自分で操作したくない場合は、サービスを提供するサービスプロバイダもあります。

sip.jsは、Node.jsの上でうまく実行され、そのノード上で実行されている何かのカスタムのために本当によく働き、またアップコーディング、(何らかの理由で)SIPユーザエージェントとして機能する必要がありますが他のオプションが利用可能な場合、ゲートウェイ全体および/またはプロキシは多くの仕事のように見えるでしょう。

関連する問題