はじめに
このドキュメントでは、ボイストランスレーションルールを決定して定義する方法について説明します。
前提条件
要件
このドキュメントに関する固有の要件はありません。
使用するコンポーネント
このドキュメントの内容は、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
表記法
ドキュメント表記の詳細は、『シスコテクニカルティップスの表記法』を参照してください。
背景説明
このドキュメントを通じて使用する構文は次のとおりです。
構文 |
定義 |
ルールの優先順位/match pattern/ /replacement pattern/ |
/ — /は整数を区切ります。 |
ルールの優先順位/match pattern/ /replacement pattern/ |
/ — /は整数を区切ります。 |
単純な照合と置換
例 1
次の使用例は、123という数値が最初に出現する箇所を456に置き換えます。
voice translation-rule 1
rule 1 /123/ /456/
次に、test voice translation-rule の例を示します。
router#test voice translation-rule 1 123
Matched with rule 1
Original number: 123 Translated number: 456
router#test voice translation-rule 1 1234
Matched with rule 1
Original number: 1234 Translated number: 4564
router#test voice translation-rule 1 6123
Matched with rule 1
Original number: 6123 Translated number: 6456
router#test voice translation-rule 1 6123123
Matched with rule 1
Original number: 6123123 Translated number: 6456123
Original number type: none Translated number type: none
Original number plan: none Translated number plan: none
この例では、ルールは番号内の任意の場所でパターン123を含む番号の最初のオカレンスと一致します。任意の位置ではなく、最初と最後を意味する記号を使用できます。次の例は、これを示しています。
例 2
次の例は、番号の先頭に123が出現する場合に456に置き換える方法を示しています。
voice translation-rule 1
rule 1 /^123/ /456/
次に、test voice translation-ruleの例を示します。
router#test voice translation-rule 1 123
Matched with rule 1
Original number: 123 Translated number: 456
router#test voice translation-rule 1 1234
Matched with rule 1
Original number: 1234 Translated number: 4564
router#test voice translation-rule 1 6123
6123 Didn't match with any of rules
例 3
完全に一致する番号だけを照合するには、数値の開始インジケータと終了インジケータの両方を指定します。
voice translation-rule 1
rule 1 /^123$/ /456/
router#test voice translation-rule 1 123
Matched with rule 1
Original number: 123 Translated number: 456
router#test voice translation-rule 1 1234
1234 Didn't match with any of rules
router#test voice translation-rule 1 6123
6123 Didn't match with any of rules
ワイルドカードを使用したパターン照合
次の表は、ワイルドカードとワイルドカードの組み合わせを定義し、いくつかの例を示しています。
ワイルドカード |
定義 |
を参照。 |
任意の数字 1 字 |
0 ~ 9、*、# |
任意の 1 文字 |
[0-9] |
文字の任意の範囲または任意のシーケンス |
* |
修飾子:直前の文字 0 回以上の繰り返しと照合 |
+ |
修飾子:直前の文字 1 回以上の繰り返しと照合 |
? |
修飾子:直前の文字が 0 または 1 回の繰り返しと照合 |
ワイルドカードの組み合わせ |
定義 |
.* |
数字の後に何も続かない、または繰り返される数字。ヌルまたは他の数字が含まれます。 |
.+ |
数字の後に何も続かない、または繰り返される数字。ヌルまたは他の数字が含まれます。 |
^$ |
数字なし、ヌル |
例 1
この例では、40で始まる5桁の番号を6666000で置き換えます。
voice translation-rule 1
rule 1 /^40.../ /6666000/
router#test voice translation-rule 1 40123
Matched with rule 1
Original number: 40123 Translated number: 6666000
例 2
この例では、すべての数値が5554000に置き換えられます。
voice translation-rule 2
rule 1 /.*/ /5554000/
router#test voice translation-rule 2 123
Matched with rule 1
Original number: 123 Translated number: 5554000
router#test voice translation-rule 2 86573
Matched with rule 1
Original number: 86573 Translated number: 5554000
router#test voice translation-rule 2 ""
Matched with rule 1
Original number: Translated number: 5554000
例 3
次の使用例は、nullを除くすべての数値を5554000に置き換えます。
voice translation-rule 2
rule 1 /.+/ /5554000/
router#test voice translation-rule 2 123
Matched with rule 1
Original number: 123 Translated number: 5554000
router#test voice translation-rule 2 ""
Didn't match with any of rules
例 4
この例では、ゼロの組み合わせで始まる番号(0、00など)を909に置き換えます。
voice translation-rule 5
rule 1 /^0+/ /909/
router#test voice translation-rule 5 0123456
Matched with rule 1
Original number: 0123456 Translated number: 909123456
router#test voice translation-rule 5 00123456
Matched with rule 1
Original number: 00123456 Translated number: 909123456
router#test voice translation-rule 5 000123456
Matched with rule 1
Original number: 000123456 Translated number: 909123456
router#test voice translation-rule 5 123456
123456 Didn't match with any of rules
番号区切り
一致した番号の一部を置換数値にコピーする必要がある場合は、番号区切りを使用できます。一致した番号を、保持または無視できるセットに区切ります。
文字 |
説明 |
\ |
照合パターンで使用される場合は、どこで番号を区切るかを示します。 |
\ |
置換パターンで使用される場合は、どこで保持したセットをコピーするかを示します。 |
( ) |
一致した番号のどのセットを保持するかを示します。 |
文字の使用方法 |
説明 |
(a\) |
式aを保持します。 |
b\ |
式bを無視します。 |
\1 |
1 番目のセットをコピーします。 |
一般例
次の例では、一般的な説明が示されています。
/ (x\) y\ (z\) / /w\1\2/
一致する番号を、x、y、zの3つのセットに分割します。円記号(¥)は、番号をスライスする場所を示しています。カッコ () は、置換パターン内で再利用したいセットに対して使用します。置換番号に挿入する追加の数字を表します。
-
セット1はexpressionxになります。
-
セット2はexpressionzになります。
-
式は無視されます。
置換数値は、連結された数値「wxz」になります。
関連する例
この例では、さらに詳細な説明が示されています。
voice translation-rule 1
rule 1 /^\(12\)3\(45\)$/ /6\1\2/
router#test voice translation-rule 1 12345
Matched with rule 1
Original number: 12345 Translated number: 61245
番号種別と番号計画
照合を特定の番号種別や番号計画に制限できます。また、番号種別や番号計画を置換することもできます。
例 1
この例では、番号が4で始まり、タイプがnationalの場合、プレフィクスとして90が追加されます。タイプが国際の場合、ルールはプレフィックスとして900を追加します。
voice translation-rule 7
rule 1 /^4/ /904/ type national national
rule 2 /^4/ /9004/ type international international
router#test voice translation-rule 7 493456567 type national
Matched with rule 1
Original number: 493456567 Translated number: 90493456567
Original number type: national Translated number type: national
Original number plan: none Translated number plan: none
router#test voice translation-rule 7 493456567 type international
Matched with rule 2
Original number: 493456567 Translated number: 900493456567
Original number type: international Translated number type: international
Original number plan: none Translated number plan: none
これは、電話会社が国番号および国際番号アクセス コードを削除する場合に便利です。番号種別を基準として、正しいプレフィクスを追加できます。
例 2
この例では、番号種別と番号計画を変更しています。
voice translation-rule 8
rule 1 /^2\(...$\)/ /01779345\1/ type unknown national plan unknown isdn
このルールは、2で始まる4桁の番号すべてに一致します。このルールは2を削除し、番号01779345をプレフィクスとして追加し、プランをisdnに、タイプをnationalに設定します。
router#test voice translation-rule 8 2001 type unknown plan unknown
Matched with rule 1
Original number: 2001 Translated number: 01779345001
Original number type: unknown Translated number type: national
Original number plan: unknown Translated number plan: isdn
コールの拒否
一致するコールを拒否するには、rejectkeywordを使用します。この例では、「234」で始まるすべてのコールを拒否します
rule 1 reject /^234/
router#test voice translation-rule 10 1234
1234 Didn't match with any of rules
router#test voice translation-rule 10 2345
blocked on rule 1
ルールの適用
ボイス トランスレーション ルールはボイス トランスレーション プロファイルに適用されます。次に、これらのプロファイルはダイヤル ピアや音声ポートに適用されます。プロファイルは、VoIPまたはPOTSダイヤルピアまたは音声ポートに適用でき、着信コールまたは発信コールに適用できます。プロファイルにより、着番号、発番号、リダイレクト番号を変換できます。
voice translation-rule 3
rule 1 /123/ /456/
voice translation-profile profile1
translate calling 3
dial-peer voice 10 pots
translation-profile outgoing profile1
その他の例
最後の 2 桁までの番号の切捨て
rule 1 /^.*\(..\)/ /\1/
これは、1 つのセットと、1 つの無視されるステートメントに分割された番号です。
置換ステートメントはセット1を指定します。このルールは、番号の最後の2桁をコピーします。
router#test voice translation-rule 9 12345
Matched with rule 1
Original number: 12345 Translated number: 45
router#test voice translation-rule 9 123456
Matched with rule 1
Original number: 123456 Translated number: 56
番号内の不要な桁の削除
この例は、特定の電話会社が発信側番号にハイフンを挿入することがわかっているため便利です。これは標準に反しているので、発番号は無視されることになります。電話会社は、1つのハイフンを使用する形式と、2つのハイフンを使用する形式の2つの形式で発番号を送信します。そのため、ボイス トランスレーション ルールには 2 つのルールが必要です。また、最初の形式では、ハイフンの後に5桁または6桁の数字を使用できます。これら両方の条件を、「?」文字を持つ1つのルールと一致させることができます(一致しないルールと1つのルール)。
特殊文字:
-
ハイフン文字は、[0-9] のように照合パターン内の範囲を示すために使用されます。この規則でハイフン文字と一致させるには、その意味をエスケープするために'\'文字を使用する必要があります。これは、ハイフン文字が特殊文字であるために起こる問題です。「¥–」と表記すると、ハイフンそのものを表します。末尾の'\'は、この数値がスライスされることを示します。
-
?を直接入力すると、Cisco IOS®ではヘルプの要求と見なされます。Control-Vthen?と入力する必要があります。
voice translation-rule 12
rule 1 /^\(01...\)\-\(......?$\)/ /\1\2/
rule 2 /^\(0[12]..\)\-\(...\)\-\(....$\)/ /\1\2\3/
ルール1:数値は3つのシーケンスに区切られ、2つのセットが保持されます。
-
セット1: 01...
無視: -
セット2: ......または.....
ルール2:数値は5つのシーケンスに区切られ、3つのセットが保持されます。
-
セット1: 0[12]..
無視: -
セット2: ...
無視: -
セット3: ....
router#test voice translation-rule 12 "01208-333444"
Matched with rule 1
Original number: 01208-333444 Translated number: 01208333444
router#test voice translation-rule 12 "01208-72345"
Matched with rule 1
Original number: 01208-72345 Translated number: 0120872345
router#test voice translation-rule 12 "0161-333-4444"
Matched with rule 2
Original number: 0161-333-4444 Translated number: 01613334444
router#test voice translation-rule 12 "0208-123-4567"
Matched with rule 2
Original number: 0208-123-4567 Translated number: 02081234567
関連情報