2016-04-12 19 views
1

私はwebRTCとアスタリスクを統合しようとしています。投稿されたクエリはhereでしたが、ほとんど解決策はありません。WebRTCにアスタリスクを組み込む - グラウンドアップ

私は概念の証明のためにテストした基本的なwebRTCインフラストラクチャを既に用意しています。私はシグナリングにsocket.ioを使用し、node.jsでSTUN/TURNにCOTURNを使用し、Webサーバー用にモジュールをサポートしています。 私はセッションの永続化のためにMySQLを使用します。 アスタリスクのインストールは、SIP電話機とPSTNインターフェイス用のPRIカードでうまく動作します。私のアスタリスク、ウェブサーバ、および他のサポートサーバは同じボックスで動作します。

アスタリスクhereとsipjs here(および他の同様の製品のサイト)に、アスタリスクとWebRTCを統合する方法があります。 私の読んだところでは、Asteriskにwssサポート用の組み込みWebサーバーがあり、ICE、TURN/STUNサーバー用にpjprojectを使用しているようです。 ここでアプローチをとることは、インフラストラクチャを複製することを意味します。

WebRTCからSIPまたはDAHDIチャネルへのオーディオゲートウェイを実装したいと考えています。これは本質的に、ブラウザからPSTN番号またはSIPエンドポイントへのオーディオコールです。オーディオ用

  • コーデックのトランスコーダ(アスタリスクコーデックにブラウザのコーデック)、 おそらくKurento:私はそれを参照してください 方法は、私が所定の位置に持っているもので、私は次のものが必要になるということです。
  • WebRTC SDPをアスタリスク SDPに変換するいくつかの方法。
  • 論理webRTCピアをSIP プロキシ(アスタリスク)に「登録」する方法
  • アスタリスクの中間モジュールの中には、 というWebRTCピアをSIPエンドポイントと考えるものがあります。
  • 他に何か?

これは前に実装されていたはずです。私はこの方向で解決策や議論を見つけることができません。

間違っていますか? 私は車輪を再発明していますか? ガイダンスがあれば幸いです。

+0

これはプログラミングの質問ではありません、私のコメント:アスタリスク自体は多くのメディアトランスコードと "SDP変換"を行います。 WebRTCは単なるAPIであり、トランスポートは一般的にWSSであり、JSスクリプトはsipjs、sipml5はクライアントSIPスタックを実装し、WSSはトランスポートとして使用するため、アスタリスクはSIPエンドポイントと見なします(別のトランスポート) – spicyramen

答えて

1

ここで「実装する」ことは何もありません。リストされたポイントはすべてAsteriskで既に実装されています。

ここで紹介したリンクは主に古いバージョンのアスタリスクについて説明しています。 WebRTC on Asterisk 13の最近のガイドを使用することをおすすめします。

音声用コーデックトランスコーダ(アスタリスクコーデックへのブラウザコーデック)、 おそらくクレント。

トランスコードはデフォルトで組み込まれています。しかし、WebRTCはG.711(PCMUとPCMA)もサポートしているので、トランスコードする必要はほとんどありません。

WebRTC SDPをAsterisk SDPに変換するいくつかの方法です。

これは既にアスタリスクとRFC 7118(SIPプロトコル用のWebSocket)を使用して、すべての人気のWebRTC SIPクライアント(sip.jswebphonesipml5)によって処理されます。カスタムプロトコルでsocket.ioを使用する代わりに、これを使用することを強くお勧めします。 SIP プロキシ(アスタリスク)に論理のWebRTCピアを「登録」するためにいくつかの方法を(Socket.ioは、すべての最新ブラウザでとにかくのWebSocketを使用しているとのWebRTCが利用できないときのWebRTCはあまりにも失われます)

これは

アスタリスクは SIPエンドポイントとしてのWebRTCピアを考えるためのいくつかの中間モジュール上述のWebSocketに、通常のSIP REGISTERようなものです。

これには特別なことは必要ありません。上記のWebRTCエクステンションをセットアップするためのガイドに従ってください(これは他のSIP拡張機能と同じですが、WebRTCは一度設定したSIPと話すことができます)。

アスタリスクにパブリック静的IPがある場合は、おそらくTURNとSTUNは必要ありません。 (ICEプロトコルの一部であり、既にアスタリスクで構築されている基本的なSTUNを除いて)

+0

確かに役立ちます。あなたの答えを詳細に調べて、あなたが参照している新しいガイドと、ほとんどの場合、レビュー後にあなたの答えを受け入れます。 Upvoted now。どうもありがとう。 – Sam

+0

**リンク内のアーキテクチャは、既存のサポートを活用していません。ノードサーバに埋め込まれたWebRTC APIは、組み込みwebRTCピアをSIPエンドポイントに結び付けた方が良いアプローチです。そうすれば、アスタリスクはWebサーバーやICEのサポートを必要としません。疑問点: **クライアントが中継を必要とするタイプのNATの背後にある場合、アスタリスクサーバがパブリックアドレスにあっても、TURNは必要ありませんか? **ブラウザとAsteriskのG.711のサポートについては、基本的には分かりませんでした。ありがとう。 **あなたのリンクを読む私はSDP変換が必要ないと感じています。右? – Sam

+0

確かにあなたの答えを受け入れるか、私の質問に答えます。私はちょうど別のアプローチを考えている...ライン[ここ](http://stackoverflow.com/questions/18872712/node-js-webrtc-client) – Sam

関連する問題