第300章 SIP コンポーネント
Camel バージョン 2.5 以降で利用可能
Camel の sip コンポーネントは、Jain SIP 実装 (JCP ライセンスで利用可能) に基づく通信コンポーネントです。
Session Initiation Protocol (SIP) は、IETF で定義されたシグナリングプロトコルであり、インターネットプロトコル (IP) 上で音声やビデオ通話などのマルチメディア通信セッションを制御するために広く使われています。SIP プロトコルは、基盤となるトランスポート層から独立するように設計されたアプリケーション層のプロトコルであり、TCP (送信制御プロトコル)、UDP (ユーザーデータグラムプロトコル)、SCTP (ストリーム制御伝送プロトコル) で実行可能です。
Jain SIP 実装は、TCP と UDP のみをサポートします。
Camel SIP コンポーネント は、RFC3903 - Session Initiation Protocol (SIP) Extension for Event で説明されているように、SIP Publish および Subscribe 機能 のみ をサポートします。
この camel コンポーネントは、プロデューサーエンドポイントとコンシューマーエンドポイントの両方をサポートします。
Camel SIP プロデューサー (イベントパブリッシャー) と SIP コンシューマー (イベントサブスクライバー) は、SIP プレゼンスエージェント (ステートフルブローカーエンティティー) と呼ばれる中間エンティティーを使用して、イベントと状態の情報を相互に通信します。
SIP ベースの通信の場合、リスナーを持つ SIP スタックは、SIP プロデューサーとコンシューマーの両方でインスタンス化する 必要があります (ローカルホストを使用する場合は別のポートを使用)。これは、通信中に SIP スタック間で交換されるハンドシェイクと確認応答をサポートするために必要です。
Maven ユーザーは、このコンポーネントの pom.xml
に以下の依存関係を追加する必要があります。
<dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-sip</artifactId> <version>x.x.x</version> <!-- use the same version as your Camel core version --> </dependency>
300.1. URI 形式
一口エンドポイントの URI スキームは次のとおりです。
sip://johndoe@localhost:99999[?options] sips://johndoe@localhost:99999/[?options]
このコンポーネントは、TCP と UDP の両方のプロデューサーエンドポイントとコンシューマーエンドポイントをサポートします。
URI には、?option=value&option=value&…
の形式でクエリーオプションを追加できます。