|
以下の節では、Oracle Communications Converged Application Server ドメイン内の個々のサーバを Diameter ノードまたはリレー エージェントとして使用するためのコンフィグレーションの方法について説明します。
Oracle Communications Converged Application Server ドメインは、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 Communications Converged Application Server には Dh インタフェース アプリケーションは含まれていないため、Oracle Communications Converged Application Server で可能なのは単一の HSS を使用するコンフィグレーションだけです。 |
リレー エージェント サーバはエンジン層と SIP データ層のどちらのインスタンスとしても機能しません。そのため、リレー エージェントでは、アプリケーションをホストすることや、呼び出し状態データを保持すること、あるいは SIP タイマーを動作させることはできず、SIP プロトコルのネットワーク リソース (sip または sips ネットワーク チャネル) を使用することも避ける必要があります。
Oracle Communications Converged Application Server は Sh と Ro プロトコルのシミュレータ アプリケーションも提供します。Sh と Ro クライアントを開発するとき、シミュレータ アプリケーションをテストのために使用できます。シミュレータ アプリケーションはプロダクション システムのデプロイメント用のものではありません。
Oracle Communications Converged Application Server ドメインで Diameter のサポートをコンフィグレーションするには、以下の手順に従います。
config.xml] ファイルを編集します。
以下の節では、各手順について詳しく説明します。「ドメイン コンフィグレーションの例」も参照してください。
コンフィグレーション ウィザードには Diameter ドメインのテンプレートが用意されており、このテンプレートを使用すると、次の 4 つの Oracle Communications Converged Application Server インタスンスを含むドメインが作成されます。
テンプレートを使用してインストールした Diameter ドメインは、独自のドメインを作成するための土台として使用できます。また、カスタマイズした Diameter Web アプリケーションをテンプレートとして使用して、既存の Oracle Communications Converged Application Server インスタンスを HSS クライアントまたはリレー エージェント ノードとして機能するようにコンフィグレーションすることもできます。以下の節で示すコンフィグレーションの手順は、Diameter ドメインのコンフィグレーションにアクセスできることを前提としたものです。ドメインをインストールするには、以下の手順に従います。
WLS_HOME\common\bin デレクトリに変更します。WLS_HOME は Oracle WebLogic Server 10g Release 3 の Oracle Communications Converged Application Server をインストールしたディレクトリです (例えば、c:\bea\wlserver_10.3\common\bin)。config.cmd または config.sh スクリプトを実行して、コンフィグレーション ウィザードを起動します。diameterdomain.jar を選択して [OK] をクリックします。BEA_HOME/user_projects/domains/diameter) に作成されます。
表 4-1 は、Diameter ドメインにインストールされるサーバのコンフィグレーションの概要をまとめたものです。
Oracle Communications Converged Application Server は、Diameter ノードを作成してコンフィグレーションするためのコンソール拡張を提供します。拡張による実際のコンフィグレーションは、ドメイン ディレクトリのサブディレクトリ config/custom にある diameter.xml ファイルに格納されます。
サンプル Diameter ドメインでは、Diameter コンソール拡張がすでに利用できます。拡張子を有効化しないドメインで作業している場合、拡張子に対してカスタム リソースを指定するためドメインに対する [config.xml] ファイルを編集します。コード リスト 4-1 は、コンソール拡張子を有効にするために [config.xml] ファイルの必要なエントリをハイライトします。テキスト エディタを使用して、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>
Oracle Communications Converged Application Server の Diameter 実装では、TCP、TLS または SCTP 転送プロトコル上の Diameter プロトコルがサポートされています。(SCTP 転送には、「Diameter メッセージングのため SCTP のコンフィグレーションと使用」に説明したような特定な制限があります。)
サーバで着信 Diameter 接続が利用できるようにするには、適切なプロトコルタイプの専用ネットワーク チャネルを設定する必要があります。
Diameter 用の TCP/TLS チャネル (diameters チャネル) を使用するサーバでは、双方向 SSL も有効にする必要があります。Diameter 仕様 (RFC 3558) に記述されているように、Oracle Communications Converged Application Server は、TLS を使用するために Diameter TCP 接続を自動的にアップグレードする場合があります。
Diameter プロバイダで使用する TCP チャネルまたは TCP/TLS チャネルをコンフィグレーションするには、以下の手順に従います。
| 注意 : | デフォルト値を変更しないと、アイドル状態の継続時間が 65 秒に達するたびに Diameter 接続の切断と再確立が行われます。 |
Diameter ドメイン テンプレートを使用してインストールされたサーバでは、TCP 転送を使用する Diameter 用のネットワーク チャネルがコンフィグレーションされています。リレー サーバでは diameter チャネルのみがコンフィグレーションされ、sip チャネルや sips チャネルは作成されません。リレー エージェントは SIP サーブレットやその他のアプリケーションのホストとしては使用できないので、リレー サーバ ノード上では SIP 転送をコンフィグレーションしないでください。
TLS 上の Diameter チャネル (diameters チャネル) を使用するには双方向 SSL を有効にする必要がありますが、双方向 SSL はデフォルトでは無効になっています。サーバで双方向 SSL を有効にするには、以下の手順に従います。SSL をコンフィグレーションしていない場合、Oracle WebLogic Server 10g Release 3 ドキュメントの「SSL のコンフィグレーション」を参照してください。
SCTP は、テレフォニ ネットワークで使用するために設計された、メッセージに基づく信頼性の高い転送プロトコルです。SCTP は TCP に比べていくつかの利点があります。
Oracle Communications Converged Application Server は、Diameter ネットワーク トラフィック用の SCTP をサポートしますが、いくつかの制限があります。
さらに、Oracle Communications Converged Application Server は、以下のソフトウェア プラットホームの SCTP チャネルのみサポートします。
SCTP チャネルは IPv4 か IPv6 ネットワークで動作します。「Diameter プロトコルの TCP、TLS、および SCTP ネットワーク チャネルの作成」では、新規 SCTP チャネルの作成方法について説明します。既存の SCTP チャネルに対してマルチホーム機能を使用するには、IPv4 アドレス 0.0.0.0 をチャネルのリスン アドレスとして指定します (IPv6 ネットワークには :: アドレスを使用します)。
Oracle Communications Converged Application Server エンジンの Diameter ノード コンフィグレーションは、diameter.xml コンフィグレーション ファイルに保存されます。(domain_home/config/custom/diameter.xml)エンジン層サーバで diameter サービス(クライアント、サーバまたはリレー機能)を提供するには、新しいノード コンフィグレーションを作成して、既存のエンジン サーバ インスタンスに適用します。
Diameter ノード コンフィグレーションにはいくつかのカテゴリがあります。
次の節では Diameter ノードの各特徴を設定する方法について説明します。
以下の手順に従って、新しい Diameter ノード コンフィグレーションを作成して、既存の Oracle Communications Converged Application Server エンジン層インスタンスに適用します。
一般ノード コンフィグレーションを作成すると、Diameter ノードのリストにコンフィグレーション名が表示されます。次の節に説明したように、Diameter アプリケーション、ピアおよびルートをコンフィグレーションするためにノードが選択できます。
各 Diameter ノードは、1 つまたは複数のアプリケーションをデプロイできます。選択した Diameter ノードに対して [コンフィグレーション|アプリケーション] を使用して、Administration Console で Diameter アプリケーションを設定します。次の手順に従います。
Oracle Communications Converged Application Server には Sh、Rf、Ro インタフェイス、Diameter リレーおよび Sh と Ro インタフェースのシミュレータを使用するクライアントをサポートするため、複数の Diameter アプリケーションが含まれています。次の節では、こうした Oracle Communications Converged Application Server Diameter アプリケーションの設定について詳しく説明します。
ユーザ独自の Diameter アプリケーションを作成してデプロィするために、Oracle Communications Converged Application Server に含まれる基本的 Diameter API も使用できます。詳細については、『Diameter アプリケーションの開発 』の「Diameter 基本プロトコル API の使用」を参照してください。
Sh クライアント アプリケーションは、Oracle Communications Converged Application Server で基本的な Diameter プロトコルをサポートするためのプロバイダとして実装されています。このアプリケーションは、Sh アプリケーション仕様で定義されている Diameter コマンド コードに対して透過的に生成と応答を行います。より高レベルの API を使用すると、SIP サーブレットで XML ドキュメント オブジェクト モデル (DOM) を使ってユーザ プロファイル データを XML ドキュメントとして管理できます。変更されたプロファイル データに関するサブスクリプションと通知を管理するには、SIP サーブレット内でプロファイル リスナ インタフェースを実装します。API の詳細については、『Diameter アプリケーションの開発 』の「Diameter
Sh インタフェース アプリケーションの使用」を参照してください。
Sh クライアント アプリケーションをデプロイする Diameter ノードは、以下のように設定する必要があります。
Sh クライアント アプリケーションを設定するため、com.bea.wcp.diameter.sh.WlssShApplication クラスを指定します。WlssShApplication は以下のパラメータを受け取ります。
コード リスト 4-2 はリレーを使用する Sh クライアント ノードのサンプル ノード コンフィグレーションを表しています。
<?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>
<!-- host 要素と realm 要素の記述を省略すると、各エンジン層サーバのホスト名と
ドメイン名が動的に割り当てられる。
<message-debug-enabled>true</message-debug-enabled>
<application>
<name>WlssShApplication</name>
<class-name>com.bea.wcp.diameter.sh.WlssShApplication</class-name>
<param>
<!-- destination.host パラメータの定義を記述する必要があるのは、サーバがリレー エージェントを
使用せずに、直接 HSS と通信する (静的ルーティングを行う) 場合のみ。
リレー エージェントを使用する場合は、destination.host パラメータを完全に省略する。
ドメインでリレー エージェントを使用する場合はリレー エージェント サーバのレルム名を、
リレー エージェントを使用しない場合は HSS のレルム名を指定する。
<name>destination.realm</name>
<value>hss.com</value>
</param>
</application>
<peer>
同様に、ドメインで使用する各リレー エージェント サーバの peer エントリを記述する。
リレー エージェントを 1 つも使用しない場合は、HSS 自体の peer エントリと
その他のすべての Sh クライアント ノード (ドメイン内のこのサーバ以外のすべての
エンジン層サーバ) の peer エントリを記述する。
もう 1 つ別の方法として、allow-dynamic-peers 機能を
TLS 転送と共に使用することによって、ピアが自動的に
認識されるように設定することもできる。
<host>relay</host>
<address>localhost</address>
address 要素には DNS 名と IP アドレスのどちらを指定してもかまわないが
host 要素には diameter ホスト識別名を指定する必要がある。
diameter ホスト識別名は DNS 名に一致しても一致しなくてもかまわない。
<port>3869</port>
</peer>
選択した特定のリレー エージェントへのルートをデフォルト ルートとして指定する。ドメインで
リレー エージェントを使用しない場合は、メッセージを HSS に直接送信するルートを
デフォルト ルートとして指定する。
<default-route>
<action>relay</action>
<server>relay</server>
</default-route>
</configuration>
</diameter>
Oracle Communications Converged Application Server Rf クライアント アプリケーションでは、IMS Rf インタフェースを使用してオフライン チャージング メッセージを発行する SIP サーブレットが使用できます。Rf アプリケーションをコンフィグレーションするには、com.bea.wcp.diameter.charging.RfApplication クラスを指定してください。Rf アプリケーションは以下のパラメータを受け取ります。
デプロイされたアプリケーションで Rf アプリケーション API を使用する詳細は、『Diameter アプリケーションの開発』の「オフライン チャージング用の Diameter Rf インタフェース アプリケーションの使用」を参照してください。
Oracle Communications Converged Application Server Ro クライアント アプリケーションでは、IMS Ro インタフェースを使用してオンライン チャージング メッセージを発行する SIP サーブレットが使用できます。Rf アプリケーションをコンフィグレーションするには、com.bea.wcp.diameter.charging.RoApplication クラスを指定してください。Ro アプリケーションは以下のパラメータを受け取ります。
デプロイされるアプリケーションで Ro アプリケーション API を使用する詳細については、『Diameter アプリケーションの開発』の「オンライン チャージング用の Diameter Ro インタフェース アプリケーションの使用」を参照してください。
Diameter のコンフィグレーションではリレー エージェントの使用は必須ではありませんが、HSS への直接接続の数を制限し、障害の発生に備えて HSS への複数のルートを確保するためにも、少なくとも 2 つのリレー エージェント サーバを使用することをお勧めします。
| 注意 : | Oracle Communications Converged Application Server エンジン層サーバまたは SIP データ層サーバとしてリレー サーバが動作していないことを確認してください。つまり、サーバは「sip」または「sips」ネットワーク チャネルとともに設定されないことが必要です。 |
リレー エージェント ノードはクライアント ノードと HSS の間の Sh メッセージのルーティングを行いますが、Diameter Sh 仕様で定義されている処理以外の変更をメッセージに加えることはありません。リレー エージェントは HSS からの応答を必ずそのメッセージの発信元のクライアント ノードに返信し、そのノードに接続できないときは、その応答を破棄します。
Diameter リレー エージェントを設定には、com.bea.wcp.diameter.relay.RelayApplication クラスでアプリケーションをデプロイするノードを設定します。
コード リスト 4-3 では、リレー エージェント ノードのサンプル 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>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>
Oracle Communications Converged Application Server には、Diameter クライアント アプリケーションを評価する環境を開発したりテストする際に使用できる 2 つのシミュレータ アプリケーションが含まれています。シミュレータ アプリケーションをコンフィグレーションするには、関連するクラスを設定された Diameter ノードにデプロイします。
| 注意 : | こうしたシミュレータは、テストまたは開発目的でのみ提供されており、プロダクション環境の HSS や CDF の代用として使用されることを想定していません。 |
シミュレータ アプリケーションをデプロイする Diameter ノードは、起動しているエンジン層サーバの対象にすることができます。または、スタンドアロン Diameter ノードとして起動できます。スタンドアロン モードで起動すると、シミュレータ アプリケーションは表 4-3 に説明されたコマンドライン オプションを取得します。詳細について、『Diameter アプリケーションの開発』の「Diameter ノードの設定」を参照してください。
Diameter ノードは、レルムにある互いの Diameter ノードに対してピア接続情報を定義します。または、ピアが自動認識されるようにするために、TLS 転送と組み合わせて動的なピアが使用できるようにします。選択した Diameter ノードに対して [コンフィグレーション|Peers] ページを使用して、Administration Console に Diameter ピア ノードを設定します。次の手順に従います。
| 注意 : | Oracle Communications Converged Application Server は、指定したプロトコル (TCP または SCTP) のみを使用したピアに接続させようとします。選択したプロトコルを使用して接続に失敗しても、他のプロトコルは使用されません。プロトコルを指定しなければ、デフォルトとして TCP を使用します。 |
リレーとしてのいくつかの Diameter ノードでは、Diameter メッセージを解決する際に使用するためのレルム ベース ルートを設定する必要があります。選択した Diameter ノードに対して [コンフィグレーション|Routes] ページを使用して、Administration Console に Diameter ルートを設定します。次の手順に従います。
ルートエントリを含む diameter.xml ノード コンフィグレーションの例については、「コード リスト 4-3 Diameter リレー ノード コンフィグレーション」を参照してください。
この節では、基本的な Diameter Sh プロトコルの機能を提供する Oracle Communications Converged Application Server のサンプル コンフィグレーションを示します。サンプル ドメインのレイアウトを構成しているサーバは以下のとおりです。
図 4-1 に、サンプル コンフィグレーションの各サーバを示します。

コード リスト 4-4 に、サンプル ドメインでエンジン層サーバ (Sh クライアント) をコンフィグレーションするために使用される [diameter.xml] ファイルの内容を示します。コード リスト 4-5 に、リレー エージェントをコンフィグレーションするために使用して [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>
<?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>
Oracle Communications Converged Application Server 上にデプロイされる SIP サーブレットでは、利用可能な Diameter アプリケーションを使用して、ユーザ プロファイル データ、アカウンティングおよびクレジット管理に対するリクエストを発信したり、プロファイル データの変更通知のサブスクライブして受信したりできます。これらの要求の処理中に SIP サーブレットで次のエラー
Failed to dispatch Sip message to servlet ServletNamejava.lang.IllegalArgumentException : No registered provider for protocol : Protocol
が発生した場合、このメッセージは、プロトコルに対して関連付けられた Diameter アプリケーションが適切にコンフィグレーションされていないことを示します。詳細については「Diameter アプリケーションのコンフィグレーション」を参照してください。
Diameter ピア ノードへの接続に失敗した場合、「ピア ノードのコンフィグレーション」を使用して、ピアと通信するために正しいプロトコルがコンフィグレーションされていることを確認します。Oracle Communications Converged Application Server はピア コンフィグレーションに対して指定したプロトコル (指定されていない場合、TCP) のみを使用してピアに接続をさせようとすることに注意してください。
|