Liberty での Session Initiation Protocol (SIP) アプリケーション

SIP アプリケーション とは、少なくとも 1 つの Session Initiation Protocol (SIP) サーブレットを使用する Java プログラムのことです。

SIP サーブレットは、SIP サーブレット・コンテナーによって管理され、SIP シグナリングを実行する Java™ アプリケーション・コンポーネントです。他の Java コンポーネントと同様に、サーブレットは、Liberty プロファイル・サーバーなどの Java 対応 SIP アプリケーション・サーバーによって動的にロードして実行できるプラットフォーム中立のバイトコードにコンパイルされるプラットフォーム独立の Java クラスです。コンテナー (サーブレット・エンジンと呼ばれることもある) は、サーブレットの対話を処理するサーバー拡張です。SIP サーブレットは、サーブレット・コンテナーを介して要求および応答メッセージを交換することで、クライアントと対話します。

SIP は、IP 電話、在席確認、インスタント・メッセージなどのマルチメディア IP セッションを確立、変更、および終了するために使用されます。このコンテキストの「在席確認」とは、「アクティブ」、「離席中」、「着信拒否」などのユーザー状況を指します。SIP ベースのサーブレット・アプリケーションを作成するためのプログラミング・モデルを定義している標準は、JSR 289 です。この仕様の背後には、簡単に使用できる SIP プログラミング・モデルを提供する、HTTP サーブレットに似た Java アプリケーション・プログラミング・インターフェース (API) を提供するという狙いがあります。HTTP サーブレット・プログラミング・モデルと同様に、使いやすさと価値実現までの期間を最適化するために、幾分柔軟性が制限されています。

ただし、SIP サーブレット API は、プロトコルが非常に異なるため、多くの点で HTTP サーブレットとは異なります。SIP は要求/応答プロトコルですが、すべての 1 つの要求に対して応答が 1 つだけであるわけではありません。この複雑さと、パフォーマンスが高いソリューションの必要性のため、SIP サーブレットはネイティブに非同期にする方が容易でした。また、HTTP サーブレットとは異なり、SIP サーブレットのプログラミング・モデルでは、多くのアプリケーションが他のサーバーまたはプロキシーのクライアントまたはプロキシーとして機能するため、相手側のロジックに沿ってクライアント要求を容易に作成できるようになっています。

SipServlet 要求

HTTP サーブレットと同様に、各 SIP サーブレットは、基本の javax.servlet.sip.SipServlet クラスを継承します。すべてのメッセージは、継承可能な service メソッドを介して着信します。ただし、SIP では要求と応答に 1 対 1 のマッピングはないため、代わりに doRequest メソッドまたは doResponse メソッドを継承することをお勧めします。doRequest メソッドまたは doResponse メソッドを継承した場合、処理を完了するために継承したメソッドを呼び出すことが重要になります。

HTTP と同様に、仕様でサポートする必要がある各要求メソッドには、doxxx メソッドがあります。HTTP では、GET 要求および POST 要求に対して、doGet や doPost などのメソッドが存在します。SIP では、各 SIP 要求メソッドに対して、doInvite、doAck、doOptions、doBye、doCancel、doRegister、doSubscribe、doNotify、doMessage、doInfo、doPrack の各メソッドが存在します。

HTTP サーブレットとは異なり、SIP サーブレットには、サポートされる各応答タイプに対してメソッドが用意されています。そのため、SIP サーブレットには、doProvisionalResponse、doSuccessResponse、doRedirectResponse、doErrorResponse の各応答が含まれています。具体的には、状況を示すために暫定応答 (1xx 応答) が使用され、トランザクションの正常な完了を示すために成功応答 (2xx 応答) が使用され、クライアントを移動先リソースまたはエンティティーにリダイレクトするためにリダイレクト応答 (3xx 応答) が使用され、失敗または特定のエラー状態を示すためにエラー応答 (4xx、5xx、6xx 応答) が使用されます。これらのタイプの応答メッセージは HTTP と似ていますが、SIP サーブレット・プログラミング・モデルにはクライアント・プログラミング・モデルが含まれているため、応答もプログラマチックに処理する必要があります。


トピックのタイプを示すアイコン 概念トピック



タイム・スタンプ・アイコン 最終更新: Tuesday, 6 December 2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cwlp_sip_introapps
ファイル名: cwlp_sip_introapps.html