コンフィグレーション ガイド

     前  次    新しいウィンドウで目次を開く     
コンテンツの開始位置

長期間維持する呼状態データの RDBMS への格納

以下の節では、RAM を保存するために Oracle または MySQL RDBMS を SIP データ層クラスタと使用する場合、Oracle Communications Converged Application Server ドメインをどのようにコンフィグレーションするかについて説明します。

 


長期間維持する呼状態の格納の概要

Oracle Communications Converged Application Server では、長期間維持する呼状態データを Oracle または MySQL RDBMS に格納して RAM を節約することができます。RDBMS 永続性を有効にすると、SIP データ層は、呼の接続が確立された後、呼状態データをデフォルトで RDBMS に保存します。それ以降のダイアログ境界で、呼状態を変更したり、削除する必要がある場合は、RDBMS に保存した呼状態データを抽出したり、削除します。

Oracle では、アプリケーション設計者用の API を用意し、どのようなときに呼状態データを SIP データ層に保持すべきかについてのヒントを提供しています。呼状態データを頻繁に RDBMS で永続性したり、一定の呼び出しの永続性を無効にするためにこれらのヒントを使用できます。

Oracle Communications Converged Application Server は、インメモリ レプリケーション機能の SIP データ層に追加するためだけに RDBMS を使用します。RDBMS の使用時にレイテンシ パフォーマンスを改善するため、SIP データ層はアクティブに変更されている呼状態 (たとえば、設定中の新しい呼に対応している状態) と共に、メモリにある SIP タイマーを維持します。呼状態はダイアログが確立された後に自動的に保持され、それ以降のダイアログ境界で呼は進行中か、アプリケーション開発者が加えた保持に関するヒントに対応しているかのどちらかです。

RDBMS と組み合わせて使用した場合、SIP データ層はデータベースに書き込む (またはデータベースから削除する) 呼状態を処理するために、レプリカ サーバ インスタンスを 1 つ選択します。使用可能なレプリカならどれでも、次の読み込みのために必要に応じて永続的な保持から呼状態を検索するために使用できます。

ドメインがエンジン層への接続を管理するため SIP 対応ロード バランサを使用している場合、RDBMS への呼状態の格納をエンジン層キャッシュと組み合わせて使用することができます。「エンジン層キャッシュの使用」を参照してください。

 


要件と制約

以下のすべての基準に一致した場合のみ、RDBMS への呼状態の格納が有効になります。

RDBMS への呼状態データの格納を選択する前に、特にレイテンシ要件をよく理解しておく必要があります。RDBMS への呼状態の格納のオプションは、SIP データ層クラスタを使用する場合と比較すると、SIP メッセージ処理を行うためにレイテンシがある程度増加します。システムで短い応答時間で多数の存続期間の短い SIP トランザクションを処理しなければならない場合、データ層に呼状態データを格納することをお勧めします。

注意 : RDBMS の永続性は、大規模な長期間維持する呼状態の SIP データ層で RAM 要件を抑えるように設計されています。永続性されたデータは、障害が発生した SIP データ層パーティションやレプリカを復元する目的では使用できません。

 


RDBMS への呼状態の格納を有効にする手順

RDBMS への呼状態の格納機能を使用するためには、Oracle Communications Converged Application Server ドメインに必要な JDBC コンフィグレーション、SIP サーブレット コンテナ コンフィグレーション、および呼状態の格納に必要なスキーマを持つデータベースが含まれている必要があります。RDBMS 呼状態テンプレートと共に新しいドメインを設定するコンフィグレーション ウィザードを使用して、ほとんどの必須コンフィグレーションを自動化できます。「コンフィグレーション ウィザード RDBMS 格納テンプレートの使用」を参照してください。

既存の Oracle Communications Converged Application Server ドメインがある場合、RDBMS ストアをユーザ自身がコンフィグレーションする場合、JDBC および RDBMS 格納を使用する WebLogic SIP Server のコンフィグレーション方法については、「RDBMS への呼状態の格納の手動コンフィグレーション」参照してください。

 


コンフィグレーション ウィザード RDBMS 格納テンプレートの使用

コンフィグレーション ウィザードでは、RDBMS への呼状態の格納の使用とテストを簡単に行うための単純なテンプレートを提供します。テンプレートから新しいドメインを作成するには、以下の手順に従います。

  1. 次のように、コンフィグレーション ウィザード アプリケーションを起動します。
  2. cd ~/bea/wlserver_10.3	/common/bin
    ./config.sh
  3. デフォルト選択をそのまま使用して、新しい WebLogic ドメインを作成し、[次へ] をクリックします。
  4. [Base this domain on an existing template] を選択し、[Browse] をクリックして [Select a Template] ダイアログを表示します。
  5. replicateddomain.jar という名前のテンプレートを選択し、[OK] をクリックします。
  6. [次へ] をクリックします。
  7. 新しいドメインの管理者のユーザ名とパスワードを入力し、[次へ] をクリックします。
  8. 使用する JDK を選択し、[次へ] をクリックします。
  9. ソース テンプレート ファイルに定義されている設定をそのまま使用する場合は [いいえ] を選択し、[次へ] をクリックします。
  10. [作成] をクリックしてドメインを作成します。
  11. テンプレートはクラスタに 2 つのエンジン層サーバと SIP データ層サーバ、および管理サーバ (AdminServer) を持つ新しいドメインを作成します。エンジン層クラスタには、以下のリソースおよびコンフィグレーションが含まれます。

    • 長期間維持する呼状態データの格納に必要な JDBC データソース、wlss.callstate.datasource。お使いの RDBMS サーバのデータソースをコンフィグレーションするには、このコンフィグレーションを変更する必要があります。「JDBC データソース接続情報の変更」を参照してください。
    • RDBMS と地理的冗長、両方の保持に関するヒントのデフォルト処理を定義する永続性コンフィグレーション (Administration Console の [SipServer] ノードにある [コンフィグレーション|永続性] タブに表示)。
  12. [完了] をクリックして、コンフィグレーション ウィザードを終了します。
  13. RDBMS に必要なテーブルを変更するには、「JDBC データソース接続情報の変更」にある手順に従います。
  14. RDBMS に必要なテーブルを作成するには、「データベース スキーマの作成」にある手順に従います。

JDBC データソース接続情報の変更

新しいドメインのインストール後、RDBMS サーバの接続情報を含めるようテンプレート JDBC データソースを変更します。

  1. ブラウザを使用して http://address:port/console にアクセスします。address には管理サーバの実際のリスン アドレスを指定し、port の位置には実際のリスン ポートを指定してください。
  2. 左ペインの [サービス|JDBC|データ ソース] タブを選択します。
  3. 右ペインの wlss.callstate.datasource というデータソースを選択します。
  4. 右ペインの [コンフィグレーション|接続プール] タブを選択します。
  5. 以下の接続プール プロパティを変更します。
    • URL : RDBMS サーバのホスト名とポート数を指定するため URL を変更します。
    • プロパティ : RDBMS の接続情報と一致するようにユーザ、portNumber、SID および serverName プロパティの値を変更します。
    • パスワード] および [パスワードの確認] : 指定された RDBMS ユーザのパースワードを記入します。
  6. [保存] をクリックして変更内容を保存します。
  7. 右ペインで [対象] タブを選択します。
  8. [Select targets] ページで、SIP データ層クラスタ名 (例えば、BEA_DATA_TIER_CLUST) を選択して [保存] をクリックします。
  9. [保存] をクリックします。
  10. RDBMS に必要なテーブルを作成するには、「データベース スキーマの作成」にある手順に従います。

 


RDBMS への呼状態の格納の手動コンフィグレーション

既存の Oracle Communications Converged Application Server ドメインを変更して Oracle または MySQL RDBMS で呼状態データを格納するためには、必要な JDBC データソースをコンフィグレーションし、Oracle Communications Converged Application Server コンフィグレーションを編集し、データベースに必要なスキーマを追加しなければなりません。Oracle データベースをコンフィグレーションするには、以下の節にある手順に従います。

JDBC リソースのコンフィグレーション

ドメインに必要な JDBC リソースを作成するため、以下の手順に従います。

  1. ドメインの管理サーバが実行中でなければ、起動します。
  2. ドメインの Administration Console にアクセスします。
  3. 左ペインの [サービス|JDBC|データ ソース] タブを選択します。
  4. [New] をクリックして、新しいデータ ソースを作成します。
  5. [Create a New JDBC Data Source] ページの各フィールドに、次の情報を入力します。
    • [Name] : wlss.callstate.datasource と入力します。
    • [JNDI Name] : wlss.callstate.datasource と入力します。
    • [Database Type] : [Oracle] を選択します。
    • [Database Driver] : [Database Driver] リストから適切な JDBC ドライバを選択します。このフィールドのリストに記載されたドライバの一部は、ユーザのシステムにデフォルトでインストールできない場合があります。RDBMS ベンダが提供する説明に従い、必要に応じてサード パーティーのドライバをインストールします。
  6. [次へ] をクリックします。
  7. 使用するデータベースの接続情報を使用して、[接続プロパティ] タブのフィールドに入力します。[次へ] をクリックして続行します。
  8. [コンフィグレーションをテスト] をクリックして RDBMS への接続をテストするか、[次へ] をクリックして続行します。
  9. [Select Targets] ページで、SIP データ層クラスタ名 (例えば、BEA_DATA_TIER_CLUST) を選択します。
  10. [Finish] をクリックして変更内容を保存します。

Oracle Communications Converged Application Server 永続性オプションのコンフィグレーション

RDBMS への呼状態の格納を使用するために Oracle Communications Converged Application Server の永続性オプションをコンフィグレーションするには、以下の手順に従います。

  1. ドメインの管理サーバが実行中でなければ、起動します。
  2. ドメインの Administration Console にアクセスします。
  3. 左ペインで [SipServer] ノードをクリックします。
  4. 右ペインの [コンフィグレーション|永続性] タブを選択します。
  5. [Default Handling] ドロップダウン メニューで「db」または「all」を選択します。[Geo Site ID] および [Geo Remote T3 URL] フィールドが設定されていないかぎり地理的に冗長なレプリケーションが行われないので、「all」を選択しても問題ありません。
  6. [保存] をクリックして変更内容を保存します。

データベース スキーマの作成

Oracle Communications Converged Application Server には呼状態情報の格納に必要なテーブルを作成するために使用可能な callstate.sql SQL スクリプトが含まれています。コンフィグレーション ウィザードを使用してレプリケートされたドメインをコンフィグレーションした場合、スクリプトはドメイン ディレクトリの user_staged_config サブディレクトリにインストールされます。スクリプトは WLSS_HOME/common/templates/scripts/db/oracle ディレクトリでも使用可能です。

callstate.sql SQL スクリプトの内容をコード リスト 4-1 に示します。

コード リスト 4-1 呼状態の格納スキーマの callstate.sql スクリプト
drop table callstate;
create table callstate (
  key1 int,
  key2 int,
  bytes blob default empty_blob(),
  constraint pk_callstate primary key (key1, key2)
);

SQL*Plus を使用してスクリプト コマンドを実行するには、以下の手順に従います。

  1. SQL スクリプトを格納する Oracle Communications Converged Application Server utils ディレクトリに移動します。
  2. cd ~/bea/wlcserver_10.3/common/templates/scripts/db/oracle
  3. 必要なテーブルを作成する Oracle データベースに接続し、SQL*Plus アプリケーションを起動します。同じユーザ名とパスワードを使用して、「JDBC リソースのコンフィグレーション」で JDBC ドライバのコンフィグレーション時に指定したのと同じデータベースに接続します。次に例を示します。
  4. sqlplus username/password@connect_identifier

    connect_identifier を使って JDBC 接続プールで指定されたデータベースに接続します。

  5. Oracle Communications Converged Application Server SQL スクリプト、callstate.sql を実行します。
  6. callstate.sql を起動します。
  7. SQL*Plus を終了します。
  8. 終了

 


SIP アプリケーションでの永続性ヒントの使用

Oracle Communications Converged Application Server では簡単な API を用意し、どのようなときに呼状態データを SIP データ層に保持すべきかについてのヒントを提供しています。特定の呼び出しまたは SIP リクエストの永続性を無効にしたり、デフォルト設定より (ダイアログ境界で) 頻繁にデータを永続性したりする場合には、API を使用できます。

API を使用するには、WlssSipApplicationSession インスタンスを取得して、永続性の有効化と無効化を行う setPersist メソッドを使用します。RDBMS 格納または地理的に冗長な Oracle Communications Converged Application Server インストールに対して永続性を有効化または無効化できます (「地理的に冗長なインストールのコンフィグレーション」を参照してください)。

たとえば、いくつかの SIP 対応ロード バランサ製品では、SIP サーバがアクティブであるかどうかを確認するために SIP OPTIONS メッセージが使用されています。これらのメッセージの RDBMS および地理的に冗長なサイトへの永続性を回避するには、サーブレットは doOptions コード リスト 4-2 に示すように、メソッドを実装して、リクエストをエコーし、永続性を無効にする可能性があります。

コード リスト 4-2 オプション メソッドに対する RDBMS 永続性の無効化
protected void doOptions(SipServletRequest req) throws IOException {
    WlssSipApplicationSession session =
      (WlssSipApplicationSession) req.getApplicationSession();
    session.setPersist(WlssSipApplicationSession.PersistenceType.DATABASE,
      false);
    session.setPersist(WlssSipApplicationSession.PersistenceType.GEO_REDUNDANCY, false);
    req.createResponse(200).send();
}

  ページの先頭       前  次