データ中心ファイルの name、parameter、および return 属性と 「exist」 および 「notexist」 要素では、変数が使用されます。 文字列 resolve を含む変数には、TEL URI の ENUM 検索を実行することで取得された値が含まれます。一部の変数には、置換可能なテキストが含まれます。たとえば、request. header 変数では、header は SIP または HTTP ヘッダーの名前に置き換えられます。SIP および HTTP 要求を一致させるための構文は多少異なります。
次の SIP 変数がサポートされます。
request.uri request.uri.scheme request.uri.user request.uri.host request.uri.port request.method request.uri.resolve request.uri.resolve.user request.uri.resolve.host request.header request.header.uri request.header.uri.scheme request.header.uri.user request.header.uri.host request.header.uri.port request.header.uri.display-name request.header.uri.resolve request.header.uri.resolve.user request.header.uri.resolve.host request.header.match request.header.match.resolve.user match match.resolve.user
次の HTTP 変数がサポートされます。
request.header request.header.uri request.header.uri.user request.header.uri.host request.header.uri.resolve request.header.uri.resolve.user request.header.uri.resolve.host parameter.parameter parameter.parameter.uri parameter.parameter.uri.user parameter.parameter.uri.host parameter.parameter.uri.resolve parameter.parameter.uri.resolve.user parameter.parameter.uri.resolve.host match match.resolve.user cookie.cookie-name
HTTP 変数 parameter. parameter.uri.resolve.user の解決は複雑です。この変数は HTTP 要求のパラメータ値と一致します。この値は 1 つの name-addr か、またはそのシーケンス (コンマ区切り) です。name-addr 要素は、使用可能なユーザー中心ハッシュキーが見つかるまで解決されます。分解の順序は次のとおりです。
name-addr に user=phone パラメータが含まれている場合、TEL URL として解決されます。それ以外の場合、URI のユーザー部が抽出されます。したがって、ENUM で解決できない電話番号エンティティーを指定している場合、または SIP URI にユーザー部がない場合、SIP URI の分解は失敗することがあります。
すべての SIP URI が考察された後、2 回目の試行が行われ、TEL URL は左から右に読み取られます。使用可能なユーザー中心キーが見つかった時点で、評価はただちに停止します。
分解がすべての試行で失敗した場合、ユーザー中心キーは見つかりません。HTTP 要求が DCR ファイルルールにまったく一致しない場合、ハッシュキーはリモートホストおよびポートを使用して生成されます。SIP 要求が DCR ファイルルールにまったく一致しない場合、ハッシュキーは from-tag,call-id を使用して生成されます。
たとえば、変数が parameter.from.uri.resolve.user で HTTP 要求が GET ...?...&from=...&...HTTP/1.1である場合、結果は次の表の値に基づきます。実際には、例示されている文字の一部は、URL エンコード処理の必要がある場合があります (例: < が %3C のように表示されることがある)。
表 2–3 from パラメータ値の例
from パラメータの値 |
ユーザー中心キー |
---|---|
<sip:server.xx.yy> |
なし |
<sip:alice@server.xx.yy> |
alice |
<tel:+1-333-555>,<sip:+1-22-22@server.xx.yy;user=phone> |
ENUM から |