SIP クライアントを完成させましたが、1 対 1、または参加者が通話の最初に定義されている場合は x on x であれば機能します。
通話の途中で発信者または着信者を接続したいのですが、主な問題はメディアセッション参加の実装にあることは理解していますが、新しい参加者に関係するすべての参加者の詳細を伝える必要があります。これを実装するのが最善ですか?
ありがとう、アダム。
SIP クライアントを完成させましたが、1 対 1、または参加者が通話の最初に定義されている場合は x on x であれば機能します。
通話の途中で発信者または着信者を接続したいのですが、主な問題はメディアセッション参加の実装にあることは理解していますが、新しい参加者に関係するすべての参加者の詳細を伝える必要があります。これを実装するのが最善ですか?
ありがとう、アダム。
新しい参加者に、関係するすべての参加者の詳細を伝えるとは思いません。代わりに、いくつかのコール レッグからのメディアを混合するメディア サーバと話している参加者がいると思います。
元の参加者の 1 人 (サード パーティを招待する人) がメディア サーバーとして機能します。したがって、この UAC は 2 つの別々の呼び出しを行い、1 つずつ他の 2 つのパーティに送信し、メディアを混合します。
または、元の参加者が別の専用メディア サーバーに転送されます。その後、3 つの通話 (3 者それぞれに 1 つずつ) が行われ、メディアが混合されます。
編集:
前者の例:三者会議 (第三者が参加)
後者の方法の例を次に示します。セッション開始プロトコル (SIP) を使用した会議のフレームワーク
ChrisW が言うように、ここではRFC 4353があなたの味方です。
会議に関するロジックを実際に実装する前に、いくつかの要素が必要です。Joinヘッダー、REFERメソッド ( events パッケージ上に構築)をサポートする必要があります。また、 Replacesヘッダーが必要で、通話転送をサポートする必要がある場合もあります。
Call Control RFCは、参加者の追加/削除などに関する実際のコール フローを示します。
また、Hitchhiker's Guide to SIP の関連セクションも参照してください。
そして、いつものように、sip-implementorsリストは役立つ情報源です。