소개
이 문서에서는 음성 변환 규칙을 결정하고 정의하는 방법에 대해 설명합니다.
사전 요구 사항
요구 사항
이 문서에 대한 특정 요건이 없습니다.
사용되는 구성 요소
이 문서는 특정 소프트웨어 및 하드웨어 버전으로 한정되지 않습니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
표기 규칙
문서 규칙에 대한 자세한 내용은 Cisco 기술 팁 규칙을 참조하십시오.
배경 정보
이 문서 전체에서 사용되는 구문은 다음과 같습니다.
구문 |
정의 |
규칙 우선순위 /match pattern/ /replacement pattern/ |
/ — /전체 숫자를 정의합니다. |
규칙 우선순위 /match pattern/ /replacement pattern/ |
/ — /전체 숫자를 정의합니다. |
간단한 일치 및 바꾸기
예 1
이 예는 숫자 123의 첫 번째 발생을 456으로 대체합니다.
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
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/
다음은 최고의 음성 변환 규칙 예입니다.
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
와일드카드를 사용한 패턴 일치
이 테이블에서는 와일드카드 및 와일드카드 조합을 정의하며 몇 가지 예를 보여 줍니다.
와일드카드 |
정의 |
. |
모든 단일 숫자 |
0~9,*,# |
모든 특정 문자 |
[0-9] |
문자 범위 또는 시퀀스 |
* |
수정자 - 일치 항목 없음 또는 이상 |
+ |
수정자 - 하나 이상의 어커런스 일치 |
? |
수정자 - 일치 항목 없음 또는 하나 |
와일드카드 조합 |
정의 |
.* |
모든 숫자 뒤에 없음 또는 더 많은 항목이 옵니다. null 또는 기타 모든 숫자를 포함합니다. |
.+ |
모든 숫자 뒤에 없음 또는 더 많은 항목이 옵니다. null 또는 기타 모든 숫자를 포함합니다. |
^$ |
숫자 없음, null |
예 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을 제외한 모든 숫자를 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 |
첫 번째 세트를 교체 번호에 복사합니다. |
일반적인 예
이 예에서는 일반적인 설명을 제공합니다.
/ (x\) y\ (z\) / /w\1\2/
일치하는 숫자를 x, y, z의 세 세트로 나눕니다. 백슬래시(\)는 숫자를 분할할 위치를 나타냅니다. 대괄호()는 대체 패턴에서 재사용할 세트를 나타냅니다. 대체 번호에 삽입할 추가 숫자를 나타냅니다.
-
집합 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을 추가합니다. 유형이 international이면 규칙은 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
이 기능은 전화 회사(Telcos)에서 국가 및 국제 번호에 대한 액세스 코드를 제거할 때 유용합니다. 숫자 유형을 기준으로 올바른 접두사를 추가할 수 있습니다.
예 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 다이얼 피어 또는 음성 포트에 적용할 수 있으며 인바운드 또는 아웃바운드 통화에 적용할 수 있습니다. 프로필은 Called(수신), Calling(통화) 또는 Redirecting(재전송) 번호를 변환할 수 있습니다.
voice translation-rule 3
rule 1 /123/ /456/
voice translation-profile profile1
translate calling 3
dial-peer voice 10 pots
translation-profile outgoing profile1
추가 예
숫자를 마지막 두 자리 숫자로 자름
rule 1 /^.*\(..\)/ /\1/
이것은 하나의 집합과 하나의 무시된 문으로 나누어진 숫자입니다.
replacement 문은 Set 1을 지정합니다. 이 규칙은 번호의 마지막 두 자리를 복사합니다.
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
번호에서 원하지 않는 숫자 제거
이 예는 특정 Telcos에서 발신자 번호에 하이픈을 삽입하는 것으로 알려져 있으므로 유용합니다. 이는 표준에 위배되므로 발신자 번호가 무시됩니다. Telco는 두 가지 형식으로 발신 번호를 전송하며, 하이픈은 1개, 때로는 2개를 사용합니다. 음성 변환 규칙에는 두 가지 규칙이 필요합니다. 또한 첫 번째 형식은 하이픈 뒤에 5자리 또는 6자리 숫자를 포함할 수 있습니다. '?' 문자가 포함된 하나의 규칙으로 이 두 조건을 모두 일치시킬 수 있습니다(match none 또는 one occurrence).
특수 문자:
-
하이픈 문자는 [0-9]와 같이 일치 패턴의 범위를 나타내는 데 사용됩니다. 이 규칙에서 하이픈 문자에 대해 매칭할 것임을 나타내려면 '\' 문자를 사용하여 그 의미를 이스케이프해야 합니다. 하이픈 문자는 특수 문자이기 때문입니다. '\-' 문자는 하이픈을 의미합니다. 끝 '\'은 숫자가 여기서 잘렸음을 나타냅니다.
-
?직접 입력할 경우 Cisco IOS®에서는 이를 지원 요청으로 간주합니다. Control-Vthen?을 입력해야 합니다.
voice translation-rule 12
rule 1 /^\(01...\)\-\(......?$\)/ /\1\2/
rule 2 /^\(0[12]..\)\-\(...\)\-\(....$\)/ /\1\2\3/
규칙 1: 번호가 세 개의 시퀀스로 분할되며 두 개의 세트가 유지됩니다.
-
세트 1: 01...
무시: -
세트 2: ...... 또는 .....
규칙 2: 이 숫자는 다섯 개의 시퀀스로 분할되며 세 개의 세트가 보존됩니다.
-
설정 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
관련 정보