Translation Rule Best Practice for CME

หลังจากที่ได้ปล่อยบทความ การอธิบาย Translation Rule ไปแล้วเมื่อครั้งก่อน http://ablenet.co.th/2017/03/30/voice-translation-rules บทความนี้จะมาต่อยอดด้วยการใช้งานต่าง ๆ ที่เป็น Best Practice หรือใช้งานบ่อย ๆ ในการทำงานนะครับ

ตัวอย่าง Rule ที่เราจะเขียนนะ คือแปลงจากตัวเลขอะไร ไปยังตัวเลขอะไร โดยใช้รูปแบบการเขียนตามด้านล่างนี้ครับ
“rule 1       /match-this/         /replace-with-this/”

1. ตัวอย่าง Rule ที่นำไปใช้งานบน CME (Cisco Callmanager Express) นะครับ 

rule 1 /2023331234/      /1234/
dial ‘2023331234’ translated output ⇒ 1234 ; DID converts to internal extension

rule 1 /2023331…/      /1…/
dial ‘2023331234’ translated output ⇒  1234

rule 1 /^1…$/      /2023331…/
dial ‘1234’ translated output ⇒  2023331234

rule 1 /2023331[0-2]../      /1…/
dial ‘2023331234’ translated output ⇒  1234 ; Internal extension 1000~2999

rule 1 /2023331[012]../      /1…/
dial ‘2023331234’ translated output ⇒  1234 ; Internal extension 1000~2999

rule 1 /\(….\)/       /645\1/
translated output ⇒  645xxxx; Adding 645 in front of 4 digits extension(calling party) that is displayed as caller ID.

rule 1 /^.*/      //
Anything will be translated to null string

rule 1 //      //
dial ‘2023331234’ translated output ⇒  2023331234 ; Nothing translated

rule 1 /\(^…\)123\(…\)/      /\1777\2/
dial ‘2021238822’ translated output ⇒  2027778822 ; Translate strings from the middle of the input string

rule 1 /\(.*\)1234/      /\15678/
dial ‘2025551234’ translated output ⇒  2025555678 ; Translate strings from the end of the input string

rule 1 /^202…\(….\)/      /555\1/
dial ‘2027771234’ translated output ⇒  5551234; Translate multiple patterns

rule 1 /\(9\)\(1234\)\(……\)/       /\1\3/
dial ‘9 1234 884422’ translated output  ⇒  9 884422; Eliminate middle of string. \1 = group1, \3 = group 3.

rule 1 /^…….$/      /9&/
dial ‘2027777’ translated output ⇒  92027777; “&” put everything from the match string.

rule 1 /^[2-9]..[2-9]…$/      /91&/
dial ‘2027777’ translated output ⇒  912027777; Translate multiple patterns

rule 1 /*/      /9011&/
dial ‘2027777’ translated output ⇒  90112027777; Translate multiple patterns

2. Translation Profile

– Translation Profile allows one voice translation rule for called party, one voice translation rule for calling party and one voice translation rule for redirect number.

– Translation Profile are most commonly applied to ports or dial-peers. Also, it applied on inbound and outbound each.

voice-port 0/0/0
translation-profile incoming E1-IN
translation-profile outgoing E1-OUT

dial-peer voice 10 pots
incoming called-number
translation-profile incoming E1-IN
direct-inward-dial

dial-peer voice 20 pots
destination-pattern 9[2-9]..[2-9]…
translation-profile incoming E1-OUT
direct-inward-dial
port 0/0/0:15

3. คำสั่งด้านล่างไว้สำหรับการ Testing and Troubleshooting การ translate และผลลัพธ์ที่ได้ เราสามารถทำ CLI บน Router CME ได้เลยครับ

– show voice translation-profile
– show voice translation-rule
– test voice translation-rule [number] [testing number]
– show dialplan incall 0/0/0:15 number [testing number]
– show call active voice
– debug voice translation and csim start xxxxxxxx
– show dialplan number xxxxxx