SIP ルール式ビルダー

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

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

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

オペランドの選択

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

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

表 1. オペランド以下の表で、コンソールで表示されるオペランド名について説明します。
オペランド 構文 説明
SIP メソッド request.method

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

SIP 応答コード response.code

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

宛先ヘッダーのスキーム to.uri.scheme

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

URI のスキーム request.uri.scheme

URI のスキーム

要求元ヘッダーのスキーム request.from.uri.scheme

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

要求 URI request.uri

要求 URI

宛先 URI request.to.uri

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

要求元 URI request.from.uri

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

要求元ヘッダー request.from

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

宛先ヘッダー request.to

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

宛先ヘッダー表示名 request.to.display-name

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

要求元ヘッダー表示名 request.from.display-name

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

要求先 URI ホスト request.to.uri.host

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

サーバー・ホスト serverhost サーバーの完全修飾ホスト名。 このオペランドは >、>=、<、<= などの数値演算子はサポートしません
ポート port 要求が受信された listen ポート。
連絡先ヘッダー request.contact

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

連絡先 URI request.contact.uri

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

クライアント・ホスト clienthost 完全修飾クライアント・ホスト名。インターネット・プロトコル (IP) コマンドのホスト名の値です。このオペランドは>、>=、<、<= などの数値演算子はサポートしません
clientipv4 clientipv4 インターネット・プロトコル・バージョン 4 (IPv4) のドット付きクワッド・アドレス・タイプ n.n.n.n を使用した、クライアント・コンピューターの IP アドレス。
clientipv6 clientipv6 Request for Comments 1924 (RFC 1924) に準拠した、クライアント・コンピューターのインターネット・プロトコル・バージョン 6 (IPv6) 128 ビット・アドレス・タイプ x:x:x:x:x:x:x:x
serveripv4 serveripv4 IPv4 のドット付きクワッド・アドレス・タイプ n.n.n.n を使用した、サーバー・コンピューターの IP アドレス。
serveripv6 serveripv6 RFC 1924 に準拠した、サーバー・コンピューターの IPv6 128 ビット・アドレス・タイプ x:x:x:x:x:x:x:x
要求トランスポート request.transport

要求のトランスポート。

要求 URI ユーザー request.uri.user

要求 URI 内のユーザー

要求元 URI ユーザー request.from.uri.user

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

要求先 URI ユーザー request.to.uri.user

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

要求 URI ホスト request.uri.host

要求 URI 内のホスト

要求元 URI ホスト request.from.uri.host

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

要求 URI ポート request.uri.port

要求 URI 内のポート

要求元 URI ポート request.from.uri.port

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

要求先 URI ホスト request.to.uri.host

宛先ヘッダー・フィールド内のホスト

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

このオペランドは、一定の要求を認可する必要がある日時を定義するのに使用されます。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 重コロン (::) が使用され、時刻パラメーターを区切るにはコロン (:) が使用されます。 時刻オペランドが使用されるルール全体のブール結果が、ルーティング・アクションを決定するために使用されます。

比率 percentage$<val> percentage オペランドは、時間の固定パーセンテージを true に評価します。例えば、 percentage$50 は、時間の平均 50% で trueに評価します。
起動 rampup$<startTime>

  $<completionTime>

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 と評価します。

オペレーター

表 2. トレース仕様演算子
オペレーター 説明
等しい - 大/小文字を無視 (EQUALSIGNORECASE) 等価 (大/小文字の区別なし) 演算子。ストリングの大/小文字は無視されます。 'ABC' EQUALSIGNORECASE 'abc' は true です。('ABC' = 'abc') は false です。
等しくない (< >) 非等価演算子は、オペランド値が入力された値に等しくないことを表します。
次に含まれる (IN)
  • string IN list of strings は、左方のストリングが右方にリストされたストリングの 1 つと完全に一致する場合に (大/小文字の区別があります) true に評価されます。以下に例を示します。
    • ’adrian’ in ('keith','eric','kalyan','david', 'adrian and etc') は false です。
    • 'adrian' in ('tom','adrian') は true です。
    • ’adrian’ in ('Tom','Adrian') は false です。
  • integer IN list of integers :
    • 1 in (1,2,3,4,5) は true です。
    • 6 in (1,2,3,4,5) は false です。
類似 (LIKE)

ストリング・オペランド値のパターン・マッチングを表します。値には、パターン・マッチングの始まりが予期される位置にワイルドカード文字 (%) が含まれている必要があります。

例えば、式
host LIKE %blanca
は、ワード blanca および blanca で終わる他のすべてのワードと一致し、式
host LIKE blanca%
は、ワード blanca および blanca で始まる他のすべてのワードと一致します。式
host LIKE %blanca%
は、blanca、およびトークン blanca が埋め込まれているすべてのワードと一致します。
類似 - 大/小文字を無視 (LIKEIGNORECASE) この演算子は、ストリング・オペランド値のパターン・マッチングを表します。 ストリングの大/小文字は無視されます。
NULL 以外 (IS NOT NULL) 照会の妥当性検査は、要求されたパラメーターが存在することを示しています。
連結 (+) この演算子は、'abc'+'def''abcdef' と評価します。
類似 - 次に含まれる (LIKEIN) この演算子は、string likein (string1, string2, string3,...) とすると、likein の左方のストリングが stringN の 1 つ以上のストリングと一致している場合に true と評価されることを表します。
NULL (IS NULL) 照会の妥当性検査は、要求されたパラメーターが存在しないことを示しています。オペランドに NULL 値が含まれているかどうかをテストします。
等号 ( = ) 等価演算子は、大/小文字を区別した一致を表します。
より大 (>) 標準的な論理結果に評価されます。
以上 (>=) 標準的な論理結果に評価されます。
より小 (<) 標準的な論理結果に評価されます。
以下 (<=) 標準的な論理結果に評価されます。
間 (BETWEEN) AND とともに使用して、最初の (低い) 値と最後の (高い) 値を含む、ある範囲の値を選択します。この演算子の組み合わせは、数と日付の値に対して機能します。

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

副次式の生成

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

付加

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



ファイル名: sip_rulebuilder_detail.html