SIP ルール式ビルダー

副次式ビルダーは、AND、OR、NOT、および括弧によるグループ化を使用して、副次式から複雑なルール条件を作成する場合に使用します。ルール・ビルダーは、変更内容を適用するときにルールを妥当性検査して、括弧数の不一致およびサポートされない論理演算子について警告します。

この管理コンソール・ページを表示するには、「サーバー」>「オンデマンド・ルーター」>「odr_name」 >「SIP オンデマンド・ルーターのプロパティー」 >「ルーティング・ポリシー SIP ルール」 > 「追加」 > 「副次式ビルダー」とクリックします。

ルール・ビルダーでルールを変更するには、管理者の管理特権が必要です。

オペランドの選択

ルーティングおよびサービス・ポリシー・オペランド

選択したプロトコルによって、異なるオペランドが表示されます。 次の表に、コンソールに表示されるオペランド名、式に表示される実際のオペランド、オペランドごとの有効なプロトコル、および各オペランドの説明を示します。

表 1. オペランド
要求変数 有効なプロトコル 説明

application

IIOP EJB が含まれているエンタープライズ・アプリケーションの名前。
clienthost

HTTP

SOAP

IIOP

SIP

完全修飾クライアント・ホスト名。インターネット・プロトコル (IP) コマンドのホスト名の値です。このオペランドは>、>=、<、<= などの数値演算子はサポートしません

clientport

IIOP クライアント・ポート名。
clientipv4

HTTP

SOAP

SIP

インターネット・プロトコル・バージョン 4 (IPv4) のドット付きクワッド・アドレス・タイプ n.n.n.n を使用した、クライアント・コンピューターの IP アドレス。
clientipv6

HTTP

SOAP

SIP

Request for Comments 1924 (RFC 1924) に準拠した、クライアント・コンピューターのインターネット・プロトコル・バージョン 6 (IPv6) 128 ビット・アドレス・タイプ x:x:x:x:x:x:x:x
連絡先ヘッダー

SIP

連絡先ヘッダー・フィールド

連絡先 URI

SIP

連絡先ヘッダー・フィールドの URI

cookie$<name>

HTTP

SOAP

Cookie 名。例えば、式 cookie$My_Cookie_Name='My_Cookie_Value' は、My_Cookie_Name という名前で値が My_Cookie_Value の Cookie が含まれているかどうかをテストします。特定の Cookie が存在するかどうかをテストするには、次のいずれかの式を使用します。
cookie$MyCookieName IS NOT NULL 
cookie$MyCookieName IS NULL

ejbmodule

IIOP EJB のモジュール名。

ejbname

IIOP EJB の名前。

ejbmethod

IIOP EJB 内のメソッドの名前。
要求元ヘッダー

SIP

要求元ヘッダー・フィールド

要求元ヘッダー表示名

SIP

要求元ヘッダー・フィールドの表示名

要求元 URI

SIP

要求元ヘッダー・フィールドの URI

要求元 URI ホスト

SIP

要求元ヘッダー・フィールドのホスト

要求元 URI ポート

SIP

要求元ヘッダー・フィールドの URI 内のポート

要求元 URI ユーザー

SIP

要求元ヘッダー・フィールドのユーザー

header$<name>

HTTP

SOAP

SIP

ヘッダー名および値。例えば、式 header$Host='localhost' は、要求に値が localhost の HTTP ホスト・ヘッダーが含まれているかどうかをテストします。ホスト・ヘッダーが存在するかどうかをテストするには、 次のいずれかを使用します。
header$Host IS NOT NULL
header$Host IS NULL
HTTPMethod

HTTP

SOAP

要求の HTTP メソッド。可能な値は、POST、GET、PUT、および DELETE です。
MIMEType

HTTP

SOAP

要求の MIME タイプ。
操作 SOAP Web サービス・オペレーションの名前
percentage$<val>

HTTP

SOAP

IIOP

SIP

percentage オペランドは、時間の固定パーセンテージを true に評価します。例えば、 percentage$50 は、時間の平均 50% で trueに評価します。
port

HTTP

SOAP

IIOP

SIP

要求が受信された listen ポート。
protocol

HTTP

SOAP

要求を伝送する通信プロトコル。現在サポートされているプロトコルは、HTTP、HTTPS、SOAP、および SOAPS です。
queryparm$<name>

HTTP

SOAP

ヘッダー名および値。例えば、式 queryparm$timezone='EST' は、 要求に timezone という名前で値が EST の HTTP 照会パラメーターが含まれているかどうかをテストします。照会パラメーターが存在するかどうかをテストするには、 次の形式のいずれかを使用します。
queryparm$timezone IS NOT NULL 
queryparm$timezone IS NULL
rampup$<startTime>$<completionTime>

HTTP

SOAP

IIOP

SIP

rampup オペランドは、時間の可変パーセンテージを true に評価します。常に <startTime> の前には false に評価し、<completionTime> の後に true に評価します。 時間が <startTime> から <completionTime> に進むにつれ、true に評価します。パーセンテージは直線的に増加します。

<startTime><completionTime> の形式は day/month/year::hour:min:sec です。

day は日、month は月 (Jan、Feb、Mar、Apr、May、Jun、Jul、Aug、Sep、Oct、Nov、Dec)、year は 4 桁の年、hour は 24 時間クロックの 2 桁の時、min は 2 桁の分、sec は 2 桁の秒です。

例えば、

rampup$01/Jan/2007::08:00:00$01/Jan/2007::17:00:00 は、2007 年 1 月 1 日の午前 8 時に true への評価を開始する場合がありますが、常に同日の午後 5 時の増加完了時点で true と評価します。
要求のトランスポート

SIP

要求のトランスポート。

要求 URI

SIP

要求 URI

要求 URI ホスト

SIP

要求 URI 内のホスト

要求 URI ポート

SIP

要求 URI 内のポート

要求 URI ユーザー

SIP

要求 URI 内のユーザー

要求元ヘッダーのスキーム

SIP

要求元ヘッダー・フィールドのスキーム

宛先ヘッダーのスキーム

SIP

宛先ヘッダー・フィールドのスキーム

URI のスキーム

SIP

URI のスキーム

serverhost

HTTP

SOAP

IIOP

SIP

サーバーの完全修飾ホスト名。 このオペランドは >、>=、<、<= などの数値演算子はサポートしません
serveripv4

HTTP

SOAP

SIP

IPv4 のドット付きクワッド・アドレス・タイプ n.n.n.n を使用した、サーバー・コンピューターの IP アドレス。
serveripv6

HTTP

SOAP

SIP

RFC 1924 に準拠した、サーバー・コンピューターの IPv6 128 ビット・アドレス・タイプ x:x:x:x:x:x:x:x
service

SOAP

Web サービスの名前
SIP メソッド

SIP

要求の SIP メソッド。可能な値は INVITE、TRYING、RINGING、ACK、OK、および BYE です。メッセージが要求でない場合、このオペランドは NULL を返します。

SIP 応答コード

SIP

応答の応答コード。メッセージが応答でない場合、このオペランドは -1 を返します。

time

HTTP

SOAP

IIOP

このオペランドは、一定の要求を認可する必要がある日時を定義するのに使用されます。StartTime と EndTime という 2 つのオプション・フィールドがあります。要求がこの定義された時間枠外で受信された場合、その要求は処理されません。

開始時刻と終了時刻のフィールドの形式は dayOfWeek/dayOfMonth/month/year::hour:minute:second です。

例えば、2007 年 4 月 11 日 午後 1:03:45 は次のように指定します。

Thu/11/Apr/2007::13:03:45

いずれのフィールドも値 * でワイルドカードを使用できます。例えば、毎月の 1 日は */1 と指定します。

dayofWeek の値は Sun、Mon、Tue、Wed、Thu、Fri、Sat で、dayOfMonth の値は 1 から 31 です。

month 値は、12 の月を表わす非数値 (Jan、Feb、Mar、Apr、May、Jun、Jul、Aug、Sep、Oct、Nov、Dec) です。

year 値は、4 桁の年です。例えば 2007。

hour 値は 24 時間クロックの時刻です。例えば、8am は ::8 と表わします。minutesecond は 0 から 59 の整数です。

日付パラメーターを区切るにはスラッシュ (/) が使用され、日時の値を区切るには 2 重コロン (::) が使用され、時刻パラメーターを区切るにはコロン (:) が使用されます。 時刻オペランドが使用されるルール全体のブール結果が、ルーティング・アクションを決定するために使用されます。

宛先クライアント・ホスト

SIP

宛先ヘッダー・フィールド内のクライアント・ホスト

宛先ヘッダー

SIP

宛先ヘッダー・フィールド

宛先ヘッダー表示名

SIP

宛先ヘッダー・フィールド内の表示名

宛先 URI

SIP

宛先ヘッダー・フィールドの URI

要求先 URI ホスト

SIP

宛先ヘッダー・フィールドの URI 内のポート

要求先 URI ユーザー

SIP

宛先ヘッダー・フィールド内のユーザー

仮想ホスト

HTTP

SOAP

仮想ポータルは WebSphere® Portal Server 内で作成され、WebSphere Extended Deployment は、WebSphere Portal Server と適切に統合するためにこのオペランドをサポートします。仮想ポートは、要求 URL から WebSphere Portal アプリケーションの Web モジュールのコンテキスト・ルートを取り去ったものです。指定された要求が定義された仮想ポータルに一致すると、該当ルールに定義されたルーティング・アクションが実行されます。
xpathexpr

SOAP

XPath ストリング式には、XPath 式を含めるのに使用する必須フィールドと、ローカル名前空間を定義するためのオプションのフィールドがあります。XPath 式に含まれる名前空間がすべて標準の場合、2 番目のフィールドはオプションです。複数のローカル名前空間がある場合は、それぞれをコンマ (,) で区切ります。以下に、1 つのローカル名前空間が定義された、xpathexpr の例を示します。
xpathexpr$/soap:Envelope/soap:Body/m:getTimeZone/n:clientId$m\\=http://test.classify.ws.ibm.com,n\\=http://test2.classify.ws.ibm.com = \\'1000\\' or operation IS NOT NULL

前の式では、XPath 式は /soap:Envelope/soap:Body/n:getTimeZone/n:clientId です。 これには n というローカル名前空間が含まれます。このため xpathexpr の 2 番目のフィールドは n \\=http://test.classify.ws.ibm.com として定義されています。 フィールド定義の始まりを示すために、ドル記号 ($) が使用されています。 この例では、2 重逆スラッシュがエスケープ・シーケンスです。最初の等号 (=) は、ローカル名前空間定義の一部であるためエスケープされ、2 番目の等号 (=) は種別式の演算子であるので、エスケープできません。

以下は、2 つのローカル名前空間を持つ xpathexpr の例です。

xpathexpr$/soap:Envelope/soap:Body/m:getTimeZone/n:clientId$m\\=http://test.classify.ws.ibm.com,n\\=http://test2.classify.ws.ibm.com = \\'1000\\' or operation IS NOT NULL

以下は、xpathexpr の標準名前空間のリストです。

表 1. 名前空間
名前空間 URL
soap http://schemas.xmlsoap.org/soap/envelope/
soap-env http://schemas.xmlsoap.org/soap/envelope/
soapenc http://schemas.xmlsoap.org/soap/encoding/
soapbind http://schemas.xmlsoap.org/wsdl/soap/
xsd http://www.w3.org/2001/XMLSchema
xsi http://www.w3.org/2001/XMLSchema-instance
xsi http://ws-i.org/schemas/conformanceClaim/
wsdl http://schemas.xmlsoap.org/wsdl/
演算子
  • = 等価演算子は、大/小文字を区別した一致を表します。
  • <> not equal 演算子は、オペランド値が入力された値に等しくないことを表します。
  • > より大演算子は、数値に使用されます。
  • >= 以上演算子は、数値に使用されます。
  • < より小演算子は、数値に使用されます。
  • <= 以下演算子は、数値に使用されます。
  • AND: xx AND yy は、 xx および yy の両方を含む一致を表します。
  • BETWEEN: この演算子は AND とともに使用されて、最初 (低い) の値と最後 (高い) の値の間の範囲の値を選択します (両端を含む)。数値および日付にも使用できます。
  • EXISTS: このブール演算子は、 例えば、特定の HTTP ヘッダー・エレメントの属性を検査しながら、 複合副次式のオペランドまたは結果を検査します。
  • IN: 複数の値を持つオペランドを単一の式で表します。例えば、port というオペランドで、ポート値が 908090909091 などの任意またはすべての値を表す場合、式フラグメントは port IN (9080,9090, 9091) となります。 大括弧内の値の表現方法は、ポートのデータ・タイプにより異なります。ポートが整数の場合、正しい構文は引用符なしの値です。ポートがストリングの場合、正しい構文は port IN (‘9080’, ‘9090’, ‘9091’) です。
  • IS NULL: この演算子は、照会の妥当性検査で、要求されたパラメーターが存在しないことを示します。
  • IS NOT NULL: この演算子は、照会の妥当性検査で、要求されたパラメーターが存在することを示します。
  • LIKE: この演算子は、ストリング・オペランド値のパターン・マッチングを示します。値には、パターン・マッチングを開始する位置にワイルドカード文字の % 記号 (%) が含まれている必要があります。例えば、式 host LIKE %blanca は、ワード blanca または blanca で終わる他のすべてのワードと一致し、式 host LIKE blanca% は、ワード blanca または blanca で始まる他のすべてのワードと一致し、式 host LIKE %blanca% はワード blanca またはスペルに blanca があるすべてのワードと一致します。
  • NOT: NOT xx の場合、この演算子は、xx を含まない一致を表します。
  • OR: xx OR yy の場合、この演算子は、xx または yy のいずれかを含む一致を表します。

選択する演算子に応じて、作成のために選択する副次式の値を入力します。

副次式の生成

指定したオペランド、演算子、および値の結果として副次式を生成します。

付加

ルール・パネルのボックスに付加する場合にクリックします。




WebSphere Virtual Enterprise インフォメーション・センター (オンライン)

関連情報
ルーティング・ポリシー SIP ルール
サービス・ポリシー SIP ルール

sip_rulebuilder_detail