2

私はまだ SIP とそのすべてのプロトコルについて学んでいます。具体的には、PJSIP を iPhone アプリケーションに統合して p2p 通話を行うことを試みています。PJSUA を使用したピア 2 ピア接続について質問があります。URI を使用して直接呼び出すことで、ローカル ネットワーク上の他のクライアントに完全に呼び出すことができます。

  • 一口:192。. .*:5060

これがサーバー構成を使用せずにローカルネットワーク上にない他の SIP URI への直接呼び出しを行うために機能するかどうかに興味があります-この方法ではない場合、サーバー構成なしで p2p 呼び出しを行う別の方法はありますか?

前もって感謝します、

4

2 に答える 2

1

一般的な原則として、サーバー構成なしで通話を発信できますが、何か構成が必要です。あなたの質問の下のコメントで mattjgaloway が指摘しているように、最も堅牢なソリューションは、STUN のようなものに一種の「傘」プロトコルを提供するICEを含むワームの缶です。

前回この問題に触れたとき、インターネットベースの SIP サーバーを使用できないという要件がありました。私は一種のレジストリのアイデアを思いつきました。クライアントは、特定のルーティング要件を持つ一連の「アドレス空間」を定義できます。LAN 内の SIP URI の場合、ルーティングを定義しません。会社の VPN アクセス ネットワーク内の URI については、VPN 接続を通過するルートを定義します。それ以外の場合は、インターネット ルーターを経由するルートを定義します。

「ルートを定義する」とは、ある特定のアドレス空間で URI に呼び出しを行うときに、どの IP が Contact ヘッダーに入るか、どの Route ヘッダーが必要になるかなどを保存することを意味します。

したがって、呼び出しを行うプロセスは次のようになります。

  1. 一致するアドレス空間のセットを調べます。
  2. 実行可能な INVITE を作成するために必要な適切なビット (適切な Contact ヘッダーの詳細、Route ヘッダーなど) について、そのアドレス空間に問い合わせます。
  3. 通常の INVITE を構築し、前のステップで必要に応じて変更します。
  4. 通常どおり INVITE を送信します。

これは基本的に、手動で管理された形式で ICE が提供するものの半分を再現します。「半分」。これにより、SIP ルーティングがすべて機能するように、1 つの SIP エージェントがコールを発信できるようになるためです。不足している半分は、何らかのレジストラがどこかにまだ必要であり、連絡先リストの各エージェントが着信を受信するために必要な設定を行う必要があることです。(エージェントがNATtingインターネットルーターの背後にある場合、ルーターはSIPプロキシを実行するか、ポート5060、5061を特定のマシン(エージェント、またはLANのエージェントにサービスを提供するプロキシ)に転送する必要があります.

それは確かに、ワームの大きな缶です。

于 2012-01-03T08:05:14.667 に答える
1

基本的な問題は、マルチメディア トラフィック用にインターネット上の任意の場所にトランスポート ポートを取得するという問題を解決することです。多くの企業/専門家がこの状況を解決しようとしています。考えられる回避策は、ドメインを購入し、インターネットからアクセス可能なアドレスで YATE またはアスタリスクを使用して基本的なレジストラーをセットアップし、必要に応じて ICE も使用するように構成することです。両端の iPhone アプリケーションは、開始時に自動的に登録できます。次に、P2P 通話を行います。

于 2012-10-24T08:40:19.483 に答える