Voice Translation Rules

来源:本站原创 CISCO 超过985 views围观 0条评论

Voice Translation Rules Downloads

Voice Translation Rules
Document ID: 61083

Contents

Introduction
Prerequisites
Requirements
Components Used
Conventions
Simple Match and Replace
Pattern Match with Wildcards
Number Slice
Number Type and Plan
Reject Calls
Apply Rules
More Examples
Truncate Numbers Down to the Last Two Digits
Remove Unwanted Digits in a Number
Cisco Support Community – Featured Conversations
Related Information
Introduction

This document discusses how to define voice translation rules.

Note: The syntax used throughout this document is:

rule precedence /match pattern/ /replacement pattern/

Note: / — / delimits the whole number.

Prerequisites Requirements

There are no specific requirements for this document.

Components Used

This document is not restricted to specific software and hardware versions.

Conventions

Refer to Cisco Technical Tips Conventions for more information on document conventions.

Simple Match and Replace Example 1

This example replaces the first occurrence of the number “123” with “456”.

voice translation-rule 1 rule 1 /123/ /456/
These are test voice translation-rule examples:

router#test voice translation-rule 1 123Matched with rule 1Original number: 123 Translated number: 456router#test voice translation-rule 1 1234Matched with rule 1Original number: 1234 Translated number: 4564router#test voice translation-rule 1 6123Matched with rule 1Original number: 6123 Translated number: 6456
router#test voice translation-rule 1 6123123Matched with rule 1Original number: 6123123 Translated number: 6456123Original number type: none Translated number type: noneOriginal number plan: none Translated number plan: none

In this example, the rule matches the first occurrence of the number that contains the pattern “123” anywhere in the number. Specifically, you can use the start and end of number indicators. The Example 2 and Example 3 sections show this.

Example 2

This example shows how to replace any occurrence of “123” at the start of a number with “456”.

voice translation-rule 1 rule 1 /^123/ /456/
These are test voice translation-rule examples.

router#test voice translation-rule 1 123 Matched with rule 1Original number: 123 Translated number: 456router#test voice translation-rule 1 1234Matched with rule 1Original number: 1234 Translated number: 4564router#test voice translation-rule 1 61236123 Didn’t match with any of rules
Example 3

If you want only the match of an exact number, specify both the start and end number indicators:

voice translation-rule 1 rule 1 /^123$/ /456/
router#test voice translation-rule 1 123 Matched with rule 1Original number: 123 Translated number: 456router#test voice translation-rule 1 12341234 Didn’t match with any of rulesrouter#test voice translation-rule 1 61236123 Didn’t match with any of rules

Pattern Match with Wildcards

These tables define wildcard and wildcard combinations and show some examples.

Wildcard

Definition

.

Any single digit

0 to 9,*,#

Any specific character

[0-9]

Any range or sequence of characters

*

Modifier—match none or more occurrences

+

Modifier—match one or more occurrences

?

Modifier—match none or one occurrence

Wildcard Combination

Definition

.*

Any digit followed by none or more ocurrences. This is effectively anything, including null.

.+

Any digit followed by one or more ocurrences. This is effectively anything, except null.

^$

No digits, null

Example 1

This example replaces any five-digit number that begins with “40” with the number “6666000”.

voice translation-rule 1 rule 1 /^40…/ /6666000/
router#test voice translation-rule 1 40123Matched with rule 1Original number: 40123 Translated number: 6666000

Example 2

This example replaces all numbers with “5554000”.

voice translation-rule 2 rule 1 /.*/ /5554000/
router#test voice translation-rule 2 123Matched with rule 1Original number: 123 Translated number: 5554000router#test voice translation-rule 2 86573Matched with rule 1Original number: 86573 Translated number: 5554000router#test voice translation-rule 2 “”Matched with rule 1Original number: Translated number: 5554000

Example 3

This example replaces all numbers, except null, with “5554000”.

voice translation-rule 2 rule 1 /.+/ /5554000/
router#test voice translation-rule 2 123Matched with rule 1Original number: 123 Translated number: 5554000router#test voice translation-rule 2 “” Didn’t match with any of rules

Example 4

This example replaces any number that starts with a combination of zeros (0, 00, and so forth) with “909”.

voice translation-rule 5 rule 1 /^0+/ /909/
router#test voice translation-rule 5 0123456Matched with rule 1Original number: 0123456 Translated number: 909123456router#test voice translation-rule 5 00123456Matched with rule 1Original number: 00123456 Translated number: 909123456router#test voice translation-rule 5 000123456Matched with rule 1Original number: 000123456 Translated number: 909123456router#test voice translation-rule 5 123456 123456 Didn’t match with any of rules

Number Slice

You can use number slice when you need to copy parts of a matched number across to the replacement number. You slice the matched number into sets that you can keep or ignore.

Character

Description

\

In the match pattern, indicates where to slice up the number.

\

In the replacement pattern, indicates where to copy the sets to keep.

( )

Indicates which sets in the matched number to keep.

Character Usage

Description

(a\)

Keep expression “a”.

b\

Ignore expression “b”.

\1

Copy the first set into the replacement number.

Generic Example

This example provides a general explanation.

/ (x\) y\ (z\) / /w\1\2/
Split the matched number into three sets of x, y, and z. The backward slash (\) indicates the places to slice up the number. The brackets () indicate which sets you want to reuse in the replacement pattern. The w represents additional digits to insert into the replacement number.

Set 1 becomes expression x.

Set 2 becomes expression z.

Expression y is ignored.

The replacement number is a concatenated number: wxz.

Specific Example

This example provides further detail:

voice translation-rule 1 rule 1 /^\(12\)3\(45\)$/ /6\1\2/
Set 1: 12

Set 2: 45

Ignore: 3

router#test voice translation-rule 1 12345Matched with rule 1Original number: 12345 Translated number: 61245

Number Type and Plan

You can restrict matches to particular number or plan types. Also, you can alter the replacement plan or type.

Example 1

In this example, if a number starts with “4” and the type is “national”, the rule adds “90” as a prefix. If the type is “international”, the rule adds “900” as the prefix.

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 nationalMatched with rule 1Original number: 493456567 Translated number: 90493456567Original number type: national Translated number type: nationalOriginal number plan: none Translated number plan: none router#test voice translation-rule 7 493456567 type internationalMatched with rule 2Original number: 493456567 Translated number: 900493456567Original number type: international Translated number type: internationalOriginal number plan: none Translated number plan: none

This is useful when telephone companies (Telcos) remove access codes on national and international numbers. You can add the correct prefix with the number type as a basis.

Example 2

This example changes the number type and plan.

voice translation-rule 8 rule 1 /^2\(…$\)/ /01779345\1/ type unknown national plan unknown isdn
This rule matches any four-digit number that starts with “2”. The rule removes the “2”, adds the number “01779345” as a prefix, and sets the plan to “isdn” and the type to “national”.

router#test voice translation-rule 8 2001 type unknown plan unknown Matched with rule 1Original number: 2001 Translated number: 01779345001Original number type: unknown Translated number type: nationalOriginal number plan: unknown Translated number plan: isdn
Reject Calls

Use the reject keyword to reject calls that match. This example rejects all calls that start with “234”.

rule 1 reject /^234/
router#test voice translation-rule 10 12341234 Didn’t match with any of rulesrouter#test voice translation-rule 10 2345 blocked on rule 1

Apply Rules

Voice Translation Rules are applied to Voice Translation Profiles. These profiles are then applied to dial peers or voice ports. Profiles can be applied to VoIP or POTS dial peers or voice ports, and can be applied to inbound or outbound calls. A profile can translate Called, Calling, or Redirecting numbers.

voice translation-rule 3 rule 1 /123/ /456/ voice translation-profile profile1 translate calling 3 dial-peer voice 10 pots translation-profile outgoing profile1
More Examples Truncate Numbers Down to the Last Two Digits

rule 1 /^.*\(..\)/ /\1/
This is a number divided into one set and one ignored statement.

Ignored: ^.* None or more digits from the beginning of number

Set 1: .. two digits

The replacement statement specifies Set 1. This rule copies the last two digits of the number.

router#test voice translation-rule 9 12345Matched with rule 1Original number: 12345 Translated number: 45router#test voice translation-rule 9 123456Matched with rule 1Original number: 123456 Translated number: 56
Remove Unwanted Digits in a Number

This example is useful because certain Telcos have been known to insert hypens into calling party numbers. Since this is against standards, it causes the calling party number to be ignored. The Telco sends the calling numbers in two formats, with one hypen and sometimes with two. Two rules are required in the voice translation rule. Additionally, the first format can have five or six digit numbers after the hypen. You can match both of these conditions using one rule with the ‘?’ character (match none or one occurrence).

Notes on special characters:

The hyphen character is used to indicate a range in a match pattern, for example [0-9]. In order to indicate in this rule that you want to match on the hypen character, it is necessary to use the ‘\’ character to escape its meaning. This is because the hyphen character is a special character. The ‘\-‘ characters really means hyphen. The trailing ‘\’ indicates that the number is sliced here.

If you type ? directly, IOS thinks it is a request for help. You must type Control-V then ?.

voice translation-rule 12 rule 1 /^\(01…\)\-\(……?$\)/ /\1\2/ rule 2 /^\(0[12]..\)\-\(…\)\-\(….$\)/ /\1\2\3/

Rule 1: The number is sliced into three sequences, with two sets to be kept.

Set 1: 01…

Ignore: –

Set 2: …… or …..

Rule 2: The number is sliced into five sequences with three sets to be kept.

Set 1: 0[12]..

Ignore: –

Set 2: …

Ignore: –

Set 3: ….

router#test voice translation-rule 12 “01208-333444″Matched with rule 1Original number: 01208-333444 Translated number: 01208333444router#test voice translation-rule 12 “01208-72345” Matched with rule 1Original number: 01208-72345 Translated number: 0120872345router#test voice translation-rule 12 “0161-333-4444″Matched with rule 2Original number: 0161-333-4444 Translated number: 01613334444router#test voice translation-rule 12 “0208-123-4567″Matched with rule 2Original number: 0208-123-4567 Translated number: 02081234567

文章出自:CCIE那点事 http://www.jdccie.com/ 版权所有。本站文章除注明出处外,皆为作者原创文章,可自由引用,但请注明来源。 禁止全文转载。
本文链接:http://www.jdccie.com/?p=285转载请注明转自CCIE那点事
如果喜欢:点此订阅本站
  • 相关文章
  • 为您推荐
  • 各种观点

暂时还木有人评论,坐等沙发!
发表评论

您必须 [ 登录 ] 才能发表留言!