ヘッダをスキップ
Oracle® WebLogic Communication Services 管理ガイド
11g リリース 1 (11.1.1)
B55505-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

10 Diameter クライアント ノードとリレー エージェントのコンフィグレーション

以下の節では、Oracle WebLogic Communication Services ドメイン内の個々のサーバを Diameter ノードまたはリレー エージェントとして使用するためのコンフィグレーションの方法について説明します。

10.1 Diameter プロトコルのコンフィグレーションの概要

Oracle WebLogic Communication Services ドメインは、Diameter ベースのプロトコルと、Diameter クライアント ノードとして動作するエンジン属サーバにデプロイされる 1 つまたは複数の IMS Diameter インタフェース アプリケーション (Sh、Ro、Rf) をサポートしています。エンジン上にデプロイされる SIP サーブレットでは、利用可能な Diameter アプリケーションを使用して、ユーザ プロファイル データ、アカウンティングおよびクレジット管理に対するリクエストを発信することや、プロファイル データの変更通知のサブスクライブおよび受信することができます。

1 つまたは複数のサーバ インスタンスを Diameter リレー エージェントとしてコンフィグレーションすることもできます。Diameter リレー エージェントは、クライアント ノードからの Diameter メッセージをルーティングして、ネットワーク内でコンフィグレーションされている Home Subscriber Server (HSS) や他のノードに転送しますが、メッセージを変更する処理は行いません。ドメイン内の 1 つまたは複数のサーバをリレー エージェントとしてコンフィグレーションすることをお勧めします。リレー エージェントを使用すると Diameter クライアント ノードのコンフィグレーションが容易になり、HSS へのネットワーク接続の数を削減できます。少なくとも 2 つのリレー エージェントを使用すると、1 つのリレー エージェントに障害が発生した場合でも、HSS へのルートを必ず確立することができます。


注意 :

3GPP では、複数の HSS をサポートできるように、適切な HSS を検索するための Dh インタフェースが定義されています。Oracle WebLogic Communication Services には Dh インタフェース アプリケーションは含まれていないため、Oracle WebLogic Communication Services で可能なのは単一の HSS を使用するコンフィグレーションだけです。

リレー エージェント サーバはエンジン層と SIP データ層のどちらのインスタンスとしても機能しません。そのため、リレー エージェントでは、アプリケーションをホストすることや、呼状態データを保持すること、あるいは SIP タイマーを動作させることはできず、SIP プロトコルのネットワーク リソース (sip または sips ネットワーク チャネル) を使用することも避ける必要があります。

Oracle WebLogic Communication Services は Sh と Ro プロトコルのシミュレータ アプリケーションも提供します。Sh と Ro クライアントを開発するとき、シミュレータ アプリケーションをテストのために使用できます。シミュレータ アプリケーションはプロダクション システムのデプロイメント用のものではありません。

10.2 Diameter クライアント ノードとリレー エージェントをコンフィグレーションする手順

Oracle WebLogic Communication Services ドメインで Diameter のサポートをコンフィグレーションするには、以下の手順に従います。

  1. Oracle WebLogic Communication Services Diameter のインストール。 Diameter ドメインをインストールします。このドメインには、各種の Diameter ノード タイプ用にコンフィグレーションされたサンプル コンフィグレーションとテンプレート アプリケーションが含まれています。Diameter ドメインは、ユーザ独自のドメインのテンプレートとして使用したり、様々な Diameter ノード タイプをコンフィグレーションする方法について理解を深めるために使用できます。

  2. Diameter コンソール拡張の有効化。 サンプルの Diameter ドメインで作業している場合、Diameter コンソール拡張はすでに利用できる状態になっています。基本的な Oracle WebLogic Communication Services ドメインから作業を開始している場合は、拡張を有効にするため [config.xml] ファイルを編集します。

  3. Diameter ネットワーク チャネルの作成。 エンジン層サーバおよびリレー エージェント上で、TCP、TLS または SCTP 転送の Diameter をサポートするために必要なネットワーク チャネルを作成します。

  4. Diameter ノードの作成およびコンフィグレーション。 エンジン層サーバ上で Diameter プロトコル クライアント アプリケーションをコンフィグレーションするには、リレー エージェントや HSS のような他のネットワーク要素へのルート、ホスト名およびピアを指定します。Oracle WebLogic Communication Services インスタンスなしで、スタンドアロン モードで動作する Diameter ノードもコンフィグレーションすることができます。

以下の節では、各手順について詳しく説明します。節 10.7「ドメインのコンフィグレーション例」も参照してください。

10.3 Diameter ドメインのインストール

コンフィグレーション ウィザードには Diameter ドメインのテンプレートが用意されており、このテンプレートを使用すると、次の 4 つの Oracle WebLogic Communication Services インタスンスを含むドメインが作成されます。

テンプレートを使用してインストールした Diameter ドメインは、独自のドメインを作成するための土台として使用できます。また、カスタマイズした Diameter Web アプリケーションをテンプレートとして使用して、既存の Oracle WebLogic Communication Services インスタンスを HSS クライアントまたはリレー エージェント ノードとして機能するようにコンフィグレーションすることもできます。以下の節で示すコンフィグレーションの手順は、Diameter ドメインのコンフィグレーションにアクセスできることを前提としたものです。ドメインをインストールするには、以下の手順に従います。

  1. WLS_HOME\common\bin デレクトリに変更します。WLS_HOME は Oracle WebLogic Server 10g リリース 3 の Oracle WebLogic Communication Services をインストールしたディレクトリです (たとえば、c:\bea\wlserver_10.3\common\bin)。

  2. config.cmd または config.sh スクリプトを実行して、コンフィグレーション ウィザードを起動します。

  3. [新しい WebLogic ドメインの作成] を選択し、[Next] をクリックします。

  4. [既存のテンプレートを、このドメインのベースにする] を選択し、[参照] をクリックします。

  5. diameterdomain.jar を選択して [OK] をクリックします。

  6. [次へ] をクリックします。

  7. 新しいドメインの管理者のユーザ名とパスワードを入力し、[次へ] をクリックします。

  8. 新しいドメインで使用する起動モードと JDK を選択し、[次へ] をクリックします。

  9. デフォルト テンプレート オプションを取得するため [いいえ] を選択して [Next] をクリックします。

  10. [作成] をクリックします。これにより、デフォルトのドメイン名を持つ新しいドメインが、ドメインのデフォルトの場所 (/user_projects/domains/diameter) に作成されます。

  11. [完了] をクリックします。

表 10-2 は、Diameter ドメインにインストールされるサーバのコンフィグレーションの概要をまとめたものです。

表 10-1 Diameter ドメインの主要なコンフィグレーション要素

サーバ名 ネットワーク チャネルのコンフィグレーション Diameter アプリケーション 注意
AdminServer

なし

なし

Administration Server は SIP または Diameter のプロトコル機能を提供しません。

hssclient

diameter (ポート 3868 上の TCP)

sip (ポート 5060 上の UDP/TCP)

WlssShApplication

hssclient エンジンは、Diameter Sh クライアント ノードとして機能します。このサーバでは、SIP と Diameter トラフィックの両方をサポートするネットワーク チャネルが定義されています。Diameter ノード コンフィグレーションは、デプロイされている SIP サーブレットの IMS Sh インタフェース機能を提供するために、WlssShApplication (com.bea.wcp.diameter.sh.WlssShApplication) をデプロイします。

relay

diameter (ポート 3869 上の TCP)

RelayApplication

relay エンジンは、Diameter Sh リレー ノードとして機能します。このサーバでは、Diameter トラフィックをサポートするネットワーク チャネルが定義されています。リレー ノードは SIP メッセージを処理しないため、SIP トラフィックをサポートするチャネルは定義されていません。

Diameter ノード コンフィグレーションは、リレー サービスを提供するため RelayApplication (com.bea.wcp.diameter.relay.RelayApplication) をデプロイします。ノード コンフィグレーションは hssclient エンジンからメッセージをリレーするために、realm に基づくルートも定義します。

hss

diameter (ポート 3870 上の TCP)

HssSimulator

hss エンジンの Diameter ノード コンフィグレーションは、HssSimulator アプリケーション (com.bea.wcp.diameter.sh.HssSimulator) だけをデプロイします。サーバは Diameter ネットワーク チャネルとともにコンフィグレーションされます。


10.4 Diameter コンソール拡張の有効化

Oracle WebLogic Communication Services は、Diameter ノードを作成してコンフィグレーションするためのコンソール拡張を提供します。拡張による実際のコンフィグレーションは、ドメイン ディレクトリのサブディレクトリ config/custom にある diameter.xml ファイルに格納されます。

サンプル Diameter ドメインでは、Diameter コンソール拡張がすでに利用できます。拡張子を有効化しないドメインで作業している場合、拡張子に対してカスタム リソースを指定するためドメインに対する [config.xml] ファイルを編集します。例 10-1 は、コンソール拡張子を有効にするために [config.xml] ファイルの必要なエントリをハイライトします。テキスト エディタを使用して、config.xml の正しい位置にハイライトされたラインを追加します。

例 10-1 Diameter コンソール拡張子を有効にするための config.xml エントリ

<custom-resource>
    <name>sipserver</name>
    <target>hssclient</target>
    <descriptor-file-name>custom/sipserver.xml</descriptor-file-name>
    <resource-class>com.bea.wcp.sip.management.descriptor.resource.SipServerResource</resource-class>
    <descriptor-bean-class>com.bea.wcp.sip.management.descriptor.beans.SipServerBean</descriptor-bean-class>
  </custom-resource>
  <custom-resource>
    <name>diameter</name>
    <target>hssclient,relay,hss</target>
    <deployment-order>200</deployment-order>
    <descriptor-file-name>custom/diameter.xml</descriptor-file-name>
    <resource-class>com.bea.wcp.diameter.DiameterResource</resource-class>
    <descriptor-bean-class>com.bea.wcp.diameter.management.descriptor.beans.DiameterBean</descriptor-bean-class>
  </custom-resource>
  <custom-resource>
    <name>ProfileService</name>
    <target>hssclient</target>
    <deployment-order>300</deployment-order>
    <descriptor-file-name>custom/profile.xml</descriptor-file-name>
    <resource-class>com.bea.wcp.profile.descriptor.resource.ProfileServiceResource</resource-class>
    <descriptor-bean-class>com.bea.wcp.profile.descriptor.beans.ProfileServiceBean</descriptor-bean-class>
  </custom-resource>
  <admin-server-name>AdminServer</admin-server-name>
</domain>

10.5 Diameter プロトコルの TCP、TLS、および SCTP ネットワーク チャネルの作成

Oracle WebLogic Communication Services の Diameter 実装では、TCP、TLS または SCTP 転送プロトコル上の Diameter プロトコルがサポートされています。(SCTP 転送には、節 10.5.2「Diameter メッセージングのため SCTP のコンフィグレーションと使用」に説明したような特定な制限があります。)

サーバで着信 Diameter 接続が利用できるようにするには、適切なプロトコルタイプの専用ネットワーク チャネルを設定する必要があります。

Diameter 用の TCP/TLS チャネル (diameters チャネル) を使用するサーバでは、双方向 SSL も有効にする必要があります。Diameter 仕様 (RFC 3558) に記述されているように、Oracle WebLogic Communication Services は、TLS を使用するために Diameter TCP 接続を自動的にアップグレードする場合があります。

Diameter プロバイダで使用する TCP チャネルまたは TCP/TLS チャネルをコンフィグレーションするには、以下の手順に従います。

  1. Oracle WebLogic Communication Services ドメインの Administration Console にアクセスします。

  2. コンフィグレーション ロックを取得するには、[Lock & Edit] をクリックします。

  3. 左ペインで、コンフィグレーションする対象のサーバの名前を選択します。

  4. 右ペインで、[プロトコル|チャネル] を選択して、コンフィグレーション済みのチャネルを表示します。

  5. [New] をクリックして、新しいチャネルをコンフィグレーションします。

  6. [Identity Properties] ページの各フィールドに、次の情報を入力します。

    • [名前] : このチャネルに付ける管理用の名前 (たとえば「Diameter TCP/TLS Channel」) を入力します。

    • [プロトコル] : TCP 転送のサポートに「diameter」、TCP および TLS 転送のサポートに「diameters」、または TCP 転送のサポートに「diameter-sctp」を選択します。


      注意 :

      TLS チャネルが 1 つでもコンフィグレーションされているサーバは TLS モードで動作し、TLS をサポートしていないノードからのピア接続を拒否します (相手が TLS をサポートしているかどうかは、機能情報の交換時に確認されます)。

  7. [次へ] をクリックして続行します。

  8. [ネットワーク チャネル|アドレス] ページの各フィールドに、次の情報を入力します。

    • [リスン アドレス] : このチャネルの IP アドレスまたは DNS 名を入力します。マルチホーム マシンの場合は、コンフィグレーション対象のインタフェースの正確な IP アドレス、またはその正確な IP アドレスにマッピングされている DNS 名を入力します。

    • [リスン ポート] : このチャネルを介した通信に使用するポート番号を入力します。Diameter ノードでは、通常は着信接続ポートとしてポート 3868 が使用されます。

    • [外部 リスン ポート] : リスン ポートの値を再入します。

  9. [次へ] をクリックして続行します。

  10. 以下のように [ネットワーク チャネル プロパティ] ページの属性を選択します。

    • [Enabled] : 新しいチャネルがネットワーク トラフィックを受信できるようにこの属性を選択します。

    • [Tunneling Enabled] : Diameter チャネルに対してこの属性の選択を解除します。

    • [HTTP Enabled for this Protocol] : Diameter チャネルに対してこの属性の選択を解除します。

    • [Outbound Enabled] : チャネルを使用してノードが Diameter メッセージを開始できるようにこの属性を選択します。

  11. [次へ] をクリックして続行します。

  12. 「diameters」チャネルに対して、以下の 2 つの属性を選択します。

    • [Two Way SSL Enabled] : TLS 送信には双方向 SSL が必要です。

    • [Client Certificate Enforced] : セキュアな通信のために利用できるクライアント証明書を使用するためにこの属性を選択します。

  13. [Finish] をクリックして、新しいチャネルを作成します。

  14. ネットワーク チャネル テーブルに新たに作成されたチャネルの名前を選択します。

  15. [Advanced] リンクをクリックして、新たに作成したチャネルの詳細なコンフィグレーション項目を表示します。

  16. [アイドル接続タイムアウト] のデフォルト値 (65 秒) をより大きな値に変更して、Diameter 接続を一貫して利用し続けられるようにします。


    注意 :

    デフォルト値を変更しないと、アイドル状態の継続時間が 65 秒に達するたびに Diameter 接続の切断と再確立が行われます。

  17. [保存] をクリックします。

  18. [Activate Changes] をクリックします。

Diameter ドメイン テンプレートを使用してインストールされたサーバでは、TCP 転送を使用する Diameter 用のネットワーク チャネルがコンフィグレーションされています。リレー サーバでは diameter チャネルのみがコンフィグレーションされ、sip チャネルや sips チャネルは作成されません。リレー エージェントは SIP サーブレットやその他のアプリケーションのホストとしては使用できないので、リレー サーバ ノード上では SIP 転送をコンフィグレーションしないでください。

10.5.1 Diameter TLS チャネル用の双方向 SSL のコンフィグレーション

TLS 上の Diameter チャネル (diameters チャネル) を使用するには双方向 SSL も有効にする必要がありますが、双方向 SSL はデフォルトでは無効になっています。上の手順で、[Two Way Enabled SSL] を選択して双方向 SSL を有効にしてください。

10.5.2Diameter メッセージングのための SCTP のコンフィグレーションと使用

SCTP は、テレフォニ ネットワークで使用するために設計された、メッセージに基づく信頼性の高い転送プロトコルです。SCTP は TCP に比べていくつかの利点があります。

  • データをエンドポイントに送信する場合、SCTP はメッセージの内部構造を保存します。一方、TCP は順番に受信する必要のある生のバイトを送信します。

  • SCTP はマルチホームをサポートし、各エンドポイントに複数の IP アドレスを割り当てることができます。SCTP プロトコルは接続に失敗すると、他の IP アドレスに透過的にフェイルオーバできます。

  • SCTP はマルチ ストリーミング機能を提供します。接続された複数のストリームは、互いに関係なくデータを送信します。

Oracle WebLogic Communication Services は、Diameter ネットワーク トラフィック用の SCTP をサポートしますが、いくつかの制限があります。

  • 現在サポートされているのは、接続ごとに 1 つのストリームだけです。

  • SCTP は Diameter ネットワーク トラフィックにのみ使用できます。SIP トラフィックは設定された SCTP チャネルを使用できません。

  • TLS は SCTP でサポートされません。

さらに、Oracle WebLogic Communication Services は、以下のソフトウェア プラットホームの SCTP チャネルのみサポートします。

  • 32 または 64 ビット ハードウェア上の Red Hat Enterprise Linux 4.0 AS、ES、WS (カーネル 2.6.9、GCC 3.4 以上)

  • SPARC 上の Sun Solaris 10

SCTP チャネルは IPv4 か IPv6 ネットワークで動作します。節 10.5 は、新しい SCTP チャネルを作成する方法を説明します。既存の SCTP チャネルに対してマルチホーム機能を使用するには、IPv4 アドレス 0.0.0.0 をチャネルのリスン アドレスとして指定します (IPv6 ネットワークには :: アドレスを使用します)。

10.6 Diameter ノードのコンフィグレーション

Oracle WebLogic Communication Services エンジンの Diameter ノード コンフィグレーションは、diameter.xml コンフィグレーション ファイルに保存されます。(domain_home/config/custom/diameter.xml)エンジン層サーバで diameter サービス(クライアント、サーバまたはリレー機能)を提供するには、新しいノード コンフィグレーションを作成して、既存のエンジン サーバ インスタンスに適用します。

Diameter ノード コンフィグレーションにはいくつかのカテゴリがあります。

次の節では Diameter ノードの各特徴を設定する方法について説明します。

10.6.1 新しいノード コンフィグレーションの作成 (一般ノード コンフィグレーション)

以下の手順に従って、新しい Diameter ノード コンフィグレーションを作成して、既存の Oracle WebLogic Communication Services エンジン層インスタンスに適用します。

  1. コンフィグレーションする Oracle WebLogic Communication Services ドメインの Administration Console にログインします。

  2. コンフィグレーション ロックを取得するには、[Lock & Edit] をクリックします。

  3. コンソールの左ペインの [Diameter] ノードを選択します。

  4. 新しい Diameter コンフィグレーションを作成するため右ペインの [新規] をクリックします。

  5. [新しいコンフィグレーションの作成] ページのフィールドに 表 10-2 に説明したように記入して [完了] をクリックします。

    表 10-2 Diameter ノード一般コンフィグレーション プロパティ

    プロパティ名 説明

    名前

    この Diameter ノード コンフィグレーションの管理名を入力します。

    ホスト

    この Diameter ノードのホスト ID を入力します。または、対象となるエンジン層サーバのホスト名を Diameter ノードのホスト ID として自動的に割り当てるには、フィールドを空白のままにします。このホスト ID は DNS 名と同じであっても違っていてもかまいません。

    複数の sh クライアント ノードを対象に diameter サポートをコンフィグレーションする場合、[diameter.xml] ファイルの host 要素を省略することをお勧めします。これにより、同じ Diameter Web アプリケーションをエンジン層クラスタのすべてのサーバにデプロイすることができる。その際、各サーバ インスタンスのホスト名が動的に取得されます。

    レルム

    このノードに責任があるレルム名を入力します。または、対象となるエンジン層サーバの完全なホスト名 (host@oracle.com など) のドメイン名を使用するには、フィールドを空白のままにします。

    異なるレルムとリスン ポート番号を使用すると、同一ホスト上で複数の Diameter ノードを運用することができます。

    注意 : HSS、アプリケーション サーバ、リレー エージェントは、レルム名がすべて決められている必要があります。HSS とアプリケーション サーバのレルム名は一致していなくてもかまいません。

    アドレス

    DNS 名か IP アドレスを使用して、この Diameter ノードのリスン アドレスを入力します。または、ホスト ID をリスン アドレスとして使用する場合はフィールドを空白のままにします。

    注意 : ホスト ID は Diameter ノードの DNS 名と同じであっても違っていてもかまいません。コンフィグレーション エラーを回避するため、アドレス プロパティを明示的な DNS 名または IP アドレスでコンフィグレーションすることをお勧めします。

    TLS

    Diameter ノードを TLS サポートとともにコンフィグレーションする場合は、このオプションを選択します(diameter のネットワーク チャネル)。このフィールドは、ノードが他の Diameter ノードから問い合わせを受けるときに TLS 機能を公開するためのものです。

    デバッグ

    デバッグ メッセージを出力するには、このオプションを選択します。デフォルトでは、デバッグ メッセージの出力は無効化されています。

    メッセージ デバッグ

    このノードで処理される Diameter メッセージに対してトレーシングを使用する場合は、このオプションを選択します。デフォルトではメッセージ トレーシングは無効です。

    動的ピア使用可能

    Diameter ピア ノードの動的な検索を可能にするには、このオプションを選択します。デフォルトでは、動的なピアは無効化されています。動的なピアを有効にするのは、TLS 転送を使用する場合のみにします。ピアになるホストを制限するためのアクセス制御メカニズムがないからです。

    ピア再試行遅延

    このノードがリクエストを Diameter ピアに再要求するまでの時間を秒で入力します。デフォルト値は 30 秒です。

    リクエスト タイムアウト

    このノードがタイム アウトまで回答メッセージを待つ時間をミリセカンドで入力します。

    Watchdog タイムアウト

    このノードが Diameter Tw watchdog タイマー間隔のため使用する秒数を入力します。

    ターゲット

    1 つまたは複数のターゲット エンジン層サーバ名を入力します。Diameter ノード コンフィグレーションは、このフィールドで指定されたサーバにのみ適用されます。

    デフォルト ルート アクション

    デフォルト ルートを使用するときのこの Diameter ノードのロールを説明するアクションのタイプを指定します。この要素には次の値のいずれかを指定できます。

    • none

    • local

    • relay

    • proxy

    • redirect

    デフォルト ルート サーバ

    デフォルト ルートに対して、1 つまたは複数の対象サーバを指定します。この要素に含めるどのサーバも、この Diameter ノードのピアとしても定義されている必要があります。また、動的ピアのサポートが有効化されている必要があります。


  6. 対象サーバにコンフィグレーションを適用するには、[Activate Changes] をクリックします。

一般ノード コンフィグレーションを作成すると、Diameter ノードのリストにコンフィグレーション名が表示されます。次の節に説明したように、Diameter アプリケーション、ピアおよびルートをコンフィグレーションするためにノードが選択できます。

10.6.2 Diameter アプリケーションのコンフィグレーション

各 Diameter ノードは、1 つまたは複数のアプリケーションをデプロイできます。選択した Diameter ノードに対して [コンフィグレーション|アプリケーション] を使用して、Administration Console で Diameter アプリケーションを設定します。次の手順に従います。

  1. コンフィグレーションする Oracle WebLogic Communication Services ドメインの Administration Console にログインします。

  2. コンフィグレーション ロックを取得するには、[Lock & Edit] をクリックします。

  3. コンソールの左ペインの [Diameter] ノードを選択します。

  4. コンソールの右ペインで Diameter ノード コンフィグレーションの名前を選択します。

  5. [コンフィグレーション|アプリケーション] タブを選択します。

  6. 新しい Diameter アプリケーションを設定するために [New] をクリックします。また、既存のアプリケーション コンフィグレーションを表から選択します。

  7. 以下のようにアプリケーション プロパティを記入します。

    • [アプリケーション名] : アプリケーション コンフィグレーションの名前を入力します。

    • [クラス名] : このノードでデプロィするアプリケーションのクラス名前を入力します。

    • [パラメータ] : 起動するとアプリケーションに渡されるオプションのパラメータを入力します。

  8. [Finish] をクリックして、新しいアプリケーション コンフィグレーションを作成します。

  9. Diameter ノードにコンフィグレーションを適用するために、[Activate Changes] をクリックします。

Oracle WebLogic Communication Services には Sh、Rf、Ro インタフェイス、Diameter リレーおよび Sh と Ro インタフェースのシミュレータを使用するクライアントをサポートするため、複数の Diameter アプリケーションが含まれています。次の節では、こうした Oracle WebLogic Communication Services Diameter アプリケーションの設定について詳しく説明します。

ユーザ独自の Diameter アプリケーションを作成してデプロィするために、Oracle WebLogic Communication Services に含まれる基本的 Diameter API も使用できます。

10.6.2.1 Sh クライアント アプリケーションのコンフィグレーション

Sh クライアントは、プロファイル サービス API へのプロバイダとして実装されます。このアプリケーションは、Sh アプリケーション仕様で定義されている Diameter コマンド コードに対して透過的に生成と応答を行います。プロファイル サービス API を使用すると、SIP サーブレットで XML ドキュメント オブジェクト モデル (DOM) を使ってユーザ プロファイル データを XML ドキュメントとして管理できます。変更されたプロファイル データに関するサブスクリプションと通知を管理するには、SIP サーブレット内でプロファイル リスナ インタフェースを実装します。

Sh クライアント アプリケーションをデプロイする Diameter ノードは、以下のように設定する必要があります。

  • ドメインに設定された任意のリレー エージェントのホスト名は、Diameter ピア ノードとして定義します。リレー エージェントを 1 つも使用しない場合は、すべてのエンジン層サーバをピアのリストに追加するか、または動的ピアを有効にする必要があります。

  • ドメイン内のリレー エージェント ノード (または HSS) には、1 つまたは複数のルートがアクセスします。

Sh クライアント アプリケーションを設定するため、com.bea.wcp.diameter.sh.WlssShApplication クラスを指定します。WlssShApplication は以下のパラメータを受け取ります。

  • destination.host - 目的のホストへの静的ルートを指定します。サーバがリレー エージェントなし直接に HSS (静的ルーティング) に接続する場合は、destination.host パラメータ定義を含めます。リレー エージェントを通じてルーティングする場合は、destination.host パラメータを完全に削除します。

  • destination.realm - 目的のホストへの静的ルートを指定します。ドメインがリレー エージェントを使用するかどうかに基づいて、リレー エージェント サーバのレルム名または HSS を指定します。

例 10-2 はリレーを使用する Sh クライアント ノードのサンプル ノード コンフィグレーションを表しています。

例 10-2 Sh クライアント アプリケーションとのサンプル Diameter ノード コンフィグレーション

<?xml version='1.0' encoding='utf-8'?>
<diameter xmlns="http://www.bea.com/ns/wlcp/diameter/300" xmlns:sec="http://www.bea.com/ns/weblogic/90/security" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wls="http://www.bea.com/ns/weblogic/90/security/wls">
  <configuration>
    <name>hssclient</name>
    <target>hssclient</target>
    <host>hssclient</host>
    <realm>oracle.com</realm>
    <!-- ホストおよびレルム要素を省略して、個別のエンジン層サーバの
     ホスト名およびドメイン名を動的に割り当てます。 - > 
    <message-debug-enabled>true</message-debug-enabled>
    <application>
      <name>WlssShApplication</name>
      <class-name>com.bea.wcp.diameter.sh.WlssShApplication</class-name>
      <param>
      <!-- サーバがリレー エージェントを使用せず直接 HSS (静的ルーティング) に通信する場合にのみ
           destination.host param 定義を
           含めます。 リレー エージェントを通じてルーティングする場合は
           destination.host param を完全に省略します。 - > 
      <!-- ドメインがリレー エージェントを使用するかどうかに応じて
           リレー エージェント サーバまたは HSS のレルム名を指定します。 - > 
        <name>destination.realm</name>
        <value>hss.com</value>
      </param>
    </application>
    <peer>
    <!-- ドメインで使用される各リレー エージェント サーバごとにピア エントリを含めます。
         リレー エージェントを使用しない場合は、HSS 自体、および
         他のすべての Sh クライアント ノード (ドメイン内の他のすべての
         エンジン層サーバ) のピア エントリを含めます。
         または、ピアが自動的に認識されるように、
         allow-dynamic-peers 機能を TLS 転送と組み合わせて
         使用します。 - >       <host>relay</host>
      <address>localhost</address>
      <!-- アドレス要素は DNS 名または IP アドレスのどちらかを指定できます。
           一方で、ホスト要素は Diameter ホスト ID を指定する必要があります。
           Diameter ホスト ID は、DNS 名と一致してもしなくてもかまいません。 - > 
      <port>3869</port>
    </peer>
    <!-- 選択したリレー エージェントへのデフォルトのルートを入力します。ドメインが
         リレー エージェントを使用しない場合は、直接 HHS にメッセージをリレーする
         デフォルトのルートを指定します。 - > 
    <default-route>
      <action>relay</action>
      <server>relay</server>
    </default-route>
  </configuration>
</diameter>

10.6.2.2 Rf クライアント アプリケーションのコンフィグレーション

Oracle WebLogic Communication Services Rf クライアント アプリケーションでは、IMS Rf インタフェースを使用してオフライン チャージング メッセージを発行する SIP サーブレットが使用できます。Rf アプリケーションをコンフィグレーションするには、com.bea.wcp.diameter.charging.RfApplication クラスを指定してください。Rf アプリケーションは以下のパラメータを受け取ります。

  • cdf.host はチャージング データ機能 (CDF) のホスト名前を指定します。

  • cdf.realm は CDF のレルムを指定します。

10.6.2.3 Ro クライアント アプリケーションのコンフィグレーション

Oracle WebLogic Communication Services Ro クライアント アプリケーションでは、IMS Ro インタフェースを使用してオンライン チャージング メッセージを発行する SIP サーブレットが使用できます。Rf アプリケーションを設定するには、com.bea.wcp.diameter.charging.RoApplication クラスを指定します。 Ro アプリケーションに以下のパラメータが記入できます。

  • ocs.host はオンライン チャージング データ関数 (CDF) のホスト名前を指定します。指定された OCF ホストは、Ro アプリケーションがデプロイされる Diameter ノードのピアとして設定されていることも必要です。

  • 1 つまたは複数の OCF ホストを使用する場合、ocs.realm をレルムベース ルーティング用の ocs.host の代わりに使用できます。関連するレルム定義は、Diameter ノードのコンフィグレーションにも指定されている必要があります。

10.6.2.4 Diameter リレー エージェントのコンフィグレーション

Diameter のコンフィグレーションではリレー エージェントの使用は必須ではありませんが、HSS への直接接続の数を制限し、障害の発生に備えて HSS への複数のルートを確保するためにも、少なくとも 2 つのリレー エージェント サーバを使用することをお勧めします。


注意 :

Oracle WebLogic Communication Services エンジン層サーバまたは SIP データ層サーバとしてリレー サーバが動作していないことを確認してください。つまり、サーバは「sip」または「sips」ネットワーク チャネルとともに設定されないことが必要です。

リレー エージェント ノードはクライアント ノードと HSS の間の Sh メッセージのルーティングを行いますが、Diameter Sh 仕様で定義されている処理以外の変更をメッセージに加えることはありません。リレー エージェントは HSS からの応答を必ずそのメッセージの発信元のクライアント ノードに返信し、そのノードに接続できないときは、その応答を破棄します。

Diameter リレー エージェントを設定には、com.bea.wcp.diameter.relay.RelayApplication クラスでアプリケーションをデプロイするノードを設定します。

リレー アプリケーションをデプロイするノードも設定します。

  • リレー ノードへのピアとして他のすべてノード

  • リレー アクションを指定するデフォルト ルート

例 10-3 では、リレー エージェント ノードのサンプル diameter.xml コンフィグレーションを表しています。

例 10-3 Diameter リレー ノード コンフィグレーション

<?xml version='1.0' encoding='utf-8'?>
<diameter xmlns="http://www.bea.com/ns/wlcp/diameter/300" xmlns:sec="http://www.bea.com/ns/weblogic/90/security" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wls="http://www.bea.com/ns/weblogic/90/security/wls">
  <configuration>
<name>relay</name>
    <target>relay</target>
    <host>relay</host>
    <realm>oracle.com</realm>
    <message-debug-enabled>true</message-debug-enabled>
    <application>
      <name>RelayApplication</name>
      <class-name>com.bea.wcp.diameter.relay.RelayApplication</class-name>
    </application>
    <!-- 各 Diameter ノードのピア接続情報を定義するか、
         allow-dynamic-peers 機能を TLS 転送と組み合わせて使用して、
         ピアが自動的に認識されるようにします。 - > 
    <peer>
      <host>hssclient</host>
      <address>localhost</address>
      <port>3868</port>
    </peer>
    <peer>
      <host>hss</host>
      <address>localhost</address>
      <port>3870</port>
    </peer>
    <route>
      <realm>oracle.com</realm>
      <application-id>16777217</application-id>
      <action>relay</action>
      <server>hssclient</server>
    </route>
    <!-- HSS にメッセージをリレーするこのエージェントの
         デフォルトのルートを入力します。 - > 
    <default-route>
      <action>relay</action>
      <server>hss</server>
    </default-route>
  </configuration>
</diameter>

10.6.2.5 Sh および Rf シミュレータ アプリケーションのコンフィグレーション

Oracle WebLogic Communication Services には、Diameter クライアント アプリケーションを評価する環境を開発したりテストする際に使用できる 2 つのシミュレータ アプリケーションが含まれています。シミュレータ アプリケーションをコンフィグレーションするには、関連するクラスを設定された Diameter ノードにデプロイします。

  • com.bea.wcp.diameter.sh.HssSimulator は、Sh クライアント アプリケーションをテストするため、ユーザのドメインで HSS をシミュレートします。

  • com.bea.wcp.diameter.rf.RfSimulator は、Rf クライアント アプリケーションをテストするため、CDF ホストをシミュレートします。


    注意 :

    こうしたシミュレータは、テストまたは開発目的でのみ提供されており、プロダクション環境の HSS や CDF の代用として使用されることを想定していません。

シミュレータ アプリケーションをデプロイする Diameter ノードは、起動しているエンジン層サーバの対象にすることができます。または、スタンドアロン Diameter ノードとして起動できます。スタンドアロン モードで起動すると、シミュレータ アプリケーションは表 10-2 に説明されたコマンドライン オプションを取得します。

表 10-3 シミュレータ アプリケーションのコマンドライン オプション

オプション 説明
-r、-realm realm_name

Diameter ノードのレルム名を指定します。

-h、-host host_name

ノードのホスト ID を指定します。

-a、-address address

このノードに対してリスン アドレスを指定します。

-、-port port_number

このノードに対してリスン ポート番号を指定します。

-d、-debug

デバッグ出力を有効にします。

-m、-mdebug

Diameter メッセージ トレーシングを有効にします。


10.6.2.6 プロファイル サービスの有効化 (Sh バックエンドの使用)

前に述べたように、Sh、Ro、および Rf アプリケーションは個別にコンフィグレーションおよび使用できますが、Sh はプロファイル サービス API を活用できます。これを行うには、以下の操作を行います。

  1. diameter.xml で ShApplication をコンフィグレーションします (詳細については、例 10-5 を参照してください)。

  2. domain_home/config/custom/profile.xml に profile.xml ファイルを追加します。Diameter ドメインをテンプレートとしてインストールしてファイルを変更するか、例 10-4 に示すように手動で profile.xml を作成することもできます。

    例 10-4 profile.xml のサンプル

    <profile-service xmlns="http://www.bea.com/ns/wlcp/wlss/profile/300">
      <mapping>
        <map-by>prefix</map-by>
        <map-by-prefix>
          <provider-prefix-set>
            <name>sh</name>
            <prefix>sh</prefix>
          </provider-prefix-set>
        </map-by-prefix>
      </mapping>
      <provider>
        <name>sh</name>
        <provider-class>com.bea.wcp.profile.ShProviderCached</provider-class>
      </provider>
    </profile-service>
    

10.6.3 ピア ノードのコンフィグレーション

Diameter ノードは、レルムにある互いの Diameter ノードに対してピア接続情報を定義します。または、ピアが自動認識されるようにするために、TLS 転送と組み合わせて動的なピアが使用できるようにします。選択した Diameter ノードに対して [コンフィグレーション|Peers] ページを使用して、Administration Console に Diameter ピア ノードを設定します。次の手順に従います。

  1. コンフィグレーションする Oracle WebLogic Communication Services ドメインの Administration Console にログインします。

  2. コンフィグレーション ロックを取得するには、[Lock & Edit] をクリックします。

  3. コンソールの左ペインの [Diameter] ノードを選択します。

  4. コンソールの右ペインで Diameter ノード コンフィグレーションの名前を選択します。

  5. [コンフィグレーション|Peers] タブを選択します。

  6. 新しいピア エントリを定義するため [New] をクリックします。

  7. [Create a New Peer] ページの各フィールドに、次の情報を入力します。

    • [Host] : ピアノードのホスト ID を入力します。

    • [Address] : ピア ノードのアドレス (DNS 名または IP アドレス) を入力します。

    • [Port Number] : ピアノードのリスン ポート番号を入力します。

    • [プロトコル] : ピア (TCP または SCTP) で通信するために使用するプロトコルを選択します。


      注意 :

      Oracle WebLogic Communication Services は、指定したプロトコル (TCP または SCTP) のみを使用したピアに接続させようとします。選択したプロトコルを使用して接続に失敗しても、他のプロトコルは使用されません。プロトコルを指定しなければ、デフォルトとして TCP を使用します。

    • [Watchdog] : ピアが Diameter Tw watchdog タイマー間隔をサポートするかどうかを示します。

  8. [Finish] をクリックして、新しいピア エントリを作成します。

  9. コンフィグレーションを適用するには、[Activate Changes] をクリックします。

10.6.4 ルートのコンフィグレーション

リレーとしてのいくつかの Diameter ノードでは、Diameter メッセージを解決する際に使用するためのレルム ベース ルートを設定する必要があります。選択した Diameter ノードに対して [コンフィグレーション|Routes] ページを使用して、Administration Console に Diameter ルートを設定します。次の手順に従います。

  1. コンフィグレーションする Oracle WebLogic Communication Services ドメインの Administration Console にログインします。

  2. コンフィグレーション ロックを取得するには、[Lock & Edit] をクリックします。

  3. コンソールの左ペインの [Diameter] ノードを選択します。

  4. コンソールの右ペインで Diameter ノード コンフィグレーションの名前を選択します。

  5. [コンフィグレーション|Routes] タブを選択します。

  6. 新しいルートを設定するため [New] をクリックします。

  7. [Create a New Route] ページの各フィールドに、次の情報を入力します。

    • [Name] : ルートの管理名を入力します。

    • [Realm] : このルートのターゲット レルムを入力します。

    • [Application ID] : このルートに対するターゲット Diameter アプリケーション ID を入力します。

    • [Action] : 設定したルートを使用する際にこのノードが実行する対応を選択します。対応の種類は none、local、relay、proxy または redirect です。

    • [Server Names] : ルートを使用する対象サーバの名前を入力します。

  8. [Finish] をクリックして、新しいルート エントリを作成します。

  9. コンフィグレーションを適用するには、[Activate Changes] をクリックします。

ルートエントリを含む diameter.xml ノード コンフィグレーションの例については、例 10-3 を参照してください。

10.7 ドメインのコンフィグレーション例

この節では、基本的な Diameter Sh プロトコルの機能を提供する Oracle WebLogic Communication Services のサンプル コンフィグレーションを示します。サンプル ドメインのレイアウトを構成しているサーバは以下のとおりです。

図 10-1 に、サンプル コンフィグレーションの各サーバを示します。

図 10-1 Diameter ドメインの例

図 10-1 の説明
「図 10-1 Diameter ドメインの例」の説明

例 10-5 に、サンプル ドメインでエンジン層サーバ (Sh クライアント) をコンフィグレーションするために使用される [diameter.xml] ファイルの内容を示します。例 10-6 に、リレー エージェントをコンフィグレーションするために使用して [diameter.xml] ファイルを示します。

例 10-5 サンプル エンジン層クラスタ (Sh クライアント) の diameter.xml コンフィグレーション ファイル

<?xml version='1.0' encoding='utf-8'?>
<diameter xmlns="http://www.bea.com/ns/wlcp/diameter/300" xmlns:sec="http://www.bea.com/ns/weblogic/90/security" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wls="http://www.bea.com/ns/weblogic/90/security/wls">
<configuration>
    <name>clientnodes</name>
    <target>Engine1</target>
    <target>Engine2</target>
    <target>Engine3</target>
    <realm>sh_wlss.com</realm>
    <application>
      <name>WlssShApplication</name>
      <class-name>com.bea.wcp.diameter.sh.WlssShApplication</class-name>
      <param>
        <name>destination.realm</name>
        <value>relay_wlss.com</value>
      </param>
    </application>
    <peer>
      <host>Relay1</host>
      <address>10.0.1.20</address>
      <port>3821</port>
    </peer>
    <peer>
      <host>Relay2</host>
      <address>10.0.1.21</address>
      <port>3821</port>
    </peer>
    <default-route>
      <action>relay</action>
      <server>Relay1</server>
    </default-route>
    <route>
      <action>relay</action>
      <server>Relay2</server>
    </route>
  </configuration>
</diameter>

例 10-6 サンプル リレー エージェントの diameter.xml コンフィグレーション

<?xml version='1.0' encoding='utf-8'?>
<diameter xmlns="http://www.bea.com/ns/wlcp/diameter/300" xmlns:sec="http://www.bea.com/ns/weblogic/90/security" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wls="http://www.bea.com/ns/weblogic/90/security/wls">
  <configuration>
    <name>relaynodes</name>
    <target>Relay1</target>
    <target>Relay2</target>
    <realm>relay_wlss.com</realm>
    <application>
      <name>RelayApplication</name>
      <class-name>com.bea.wcp.diameter.relay.RelayApplication</class-name>
    </application>
    <peer>
      <host>Engine1</host>
      <address>10.0.1.1</address>
      <port>3821</port>
    </peer>
    <peer>
      <host>Engine2</host>
      <address>10.0.1.2</address>
      <port>3821</port>
    </peer>
    <peer>
      <host>Engine3</host>
      <address>10.0.1.3</address>
      <port>3821</port>
    </peer>
    <peer>
      <host>Relay1</host>
      <address>10.0.1.20</address>
      <port>3821</port>
    </peer>
    <peer>
      <host>Relay2</host>
      <address>10.0.1.21</address>
      <port>3821</port>
    </peer>
    <peer>
      <host>hss</host>
      <address>hssserver</address>
      <port>3870</port>
    </peer>
    <default-route>
      <action>relay</action>
      <server>hss</server>
    </default-route>
  </configuration>
</diameter>

10.8 Diameter コンフィグレーションのトラブルシューティング

Oracle WebLogic Communication Services 上にデプロイされる sip サーブレットでは、利用可能な diameter アプリケーションを使用して、ユーザ プロファイル データ、アカウンティングおよびクレジット管理に対するリクエストを発信したり、プロファイル データの変更通知のサブスクライブして受信したりできます。これらの要求の処理中に SIP サーブレットで次のエラー

Failed to dispatch Sip message to servlet ServletName
java.lang.IllegalArgumentException: No registered provider for protocol: Protocol

が発生した場合、このメッセージは、プロトコルに対して関連付けられた Diameter アプリケーションが適切にコンフィグレーションされていないことを示します。詳細については、節 10.6.2「Diameter アプリケーションのコンフィグレーション」を参照してください。

Diameter ピア ノードへの接続に失敗した場合、節 10.6.3「ピア ノードのコンフィグレーション」を使用して、ピアと通信するために正しいプロトコルがコンフィグレーションされていることを確認します。Oracle WebLogic Communication Services はピア コンフィグレーションに対して指定したプロトコル (指定されていない場合、TCP) のみを使用してピアに接続をさせようとすることに注意してください。