Bước 8: Tìm hiểu khái niệm Wildcard trong Dial Peers
Wildcards cho phép ta nhóm các numbers vào trong một statement duy nhất trong tiến trình cấu hình “dial peer”. Để thực hiện được điều này, Wildcard sử dụng đến một số ký tự đặc biệt (special characters) để thay thế cho dải numbers.
Ký tự asterisk (*) và pound sign (#) không phải là ký tự wildcards; chúng được xem là các digits hợp lệ có thể được quay số trên phone tương tự như các numbers từ 0 cho tới 9. Ký tự pound sign (#) có ý nghĩa đặc biệt trên CUCME đại diện cho tín hiệu thu thập các số digit collection để chuyển hướng cuộc gọi, bằng cách nhấn phím (#) router sẽ thực cuộc gọi call ngay lập tức mà không cần phải trì hoãn hết khoảng thời gian interdigit timeout khi thực hiện các cuộc gọi quốc tế (international call) hoặc thực hiện các cuộc gọi tới các số đầu cuối có chiều dài không không xác định (unknown digit lengths) trên hệ thống IP telephony hiện tại.
Các ký tự Wildcards được sử dụng trên CUCME trong câu lệnh destination-pattern |
|
Wildcard |
Ý nghĩa |
Period (.) |
Match với bất kỳ single digit nào từ 0 tới 9 và * key. Một destination-pattern 30.. command sẽ match với các digits từ 3000 tới 3099. Một destination-pattern 30.0 command sẽ match với 3000, 3010 , 3020, 3030, 3040, 3050, 3060, 3070, 3080, 3090, hoặc 30*0. |
Brackets ([]) |
Match với dải numbers hoặc một bộ tập các numbers tương ứng với các single digit độc lập được khai báo. Các numbers có thể được liệt kê dưới dạng một dải numbers hoặc các numbers riêng biệt ngăn cách nhau bởi ký tự commas (,). Ký tự hyphen (-) được sử dụng cho một dải numbers liên tiếp nhau (consecutive range). Với destination-pattern [5-8] hoặc [5,6,7,8] hoặc [5678] tương ứng với dải numbers từ 5 cho tới 8. Một destination-pattern 300[0-3] command sẽ match với các numbers từ 3000 tới 3003. Brackets chỉ match với một single digit, và không thể match với một dải numbers trải dài nhiều hơn một single digit. Do đó, các numbers từ 5523 tới 5546 không thể match với pattern 55[23-46], pattern 55[23-46] chỉ match với các numbers 552, 553, 554, và 556. Do đó, ta có thể sử dụng 2 bracket để match các numbers từ 5523 tới 5546 với pattern 55[2-4][3-6]. Pattern 55[2-4][3-6] sẽ match cách numbers từ 5523 tới 5526, từ 5533 tới 5536, và từ 5543 tới 5546. Mỗi bracket sẽ hoạt động một cách độc lập. Một giải pháp khác nữa để match các numbers từ 5523 tới 5546 là sử dụng 3 dial peers riêng biệt match với mỗi destination pattern:
|
Caret (^) |
Caret (đôi khi còn được gọi là circumflex) khi được sử dụng bên trong brackets để phủ định các number. Với destination-pattern 300[^0-6] command sẽ match với các numbers từ 3007 tới 3009. Với destination-pattern 300[^0^2] command sẽ match với numbers 3001 và dải number từ 3003 tới 3009. Caret sẽ xuất hiện phía trước các digit nào bị loại trừ. |
T |
Match với mọi digits tương ứng với dialed string có chiều dài tối đa (maximum length) là 32 digits. Wildcard này phù hợp để dial peers tới các cuộc gọi quốc tế (international calls), dial peer tới các digits khác biệt của PSTNs. Tuy nhiên, do số lượng digits không xác định trước nên Call Agent cần phải nhấn phím pound sign (#) sau khi hoàn tất số dialed string gọi đi, hoặc Call Agent sẽ phải chờ hết khoảng thời gian interdigit timeout (mặc định là 10 giây) trước khi cuộc gọi call được thực hiện. Thông thường, ta sử dụng pattern “.T” vì nếu không có ký tự period (.), khi phone nhấc máy (phone rơi vào trạng thái off hook) sẽ match với no digits và quá trình thực hiện cuộc gọi call sẽ không dial peer tới đâu cả. Bằng cách thêm vào ký tự period (.) ở phía trước, dial peer đòi hỏi Call Agent bắt buộc phải nhấn ít nhất một digit để tiến trình dial peer được thực hiện một cách đúng đắn. |
Comma (,) |
Chèn khoảng delay 1 giây giữa những lần nhấn số dialed digits. Trong trường hợp ký tự comma (,) khi được sử dụng bên trong brackets, nó được sử dụng để phân biệt các digits với nhau. |
Brackets ([]) |
Match với dải numbers hoặc một bộ tập các numbers tương ứng với các single digit độc lập được khai báo. Các numbers có thể được liệt kê dưới dạng một dải numbers hoặc các numbers riêng biệt ngăn cách nhau bởi ký tự commas (,). Ký tự hyphen (-) được sử dụng cho một dải numbers liên tiếp nhau (consecutive range). Với destination-pattern [5-8] hoặc [5,6,7,8] hoặc [5678] tương ứng với dải numbers từ 5 cho tới 8. Một destination-pattern 300[0-3] command sẽ match với các numbers từ 3000 tới 3003. Brackets chỉ match với một single digit, và không thể match với một dải numbers trải dài nhiều hơn một single digit. Do đó, các numbers từ 5523 tới 5546 không thể match với pattern 55[23-46], pattern 55[23-46] chỉ match với các numbers 552, 553, 554, và 556. Do đó, ta có thể sử dụng 2 bracket để match các numbers từ 5523 tới 5546 với pattern 55[2-4][3-6]. Pattern 55[2-4][3-6] sẽ match cách numbers từ 5523 tới 5526, từ 5533 tới 5536, và từ 5543 tới 5546. Mỗi bracket sẽ hoạt động một cách độc lập. Một giải pháp khác nữa để match các numbers từ 5523 tới 5546 là sử dụng 3 dial peers riêng biệt match với mỗi destination pattern:
|
Caret (^) |
Caret (đôi khi còn được gọi là circumflex) khi được sử dụng bên trong brackets để phủ định các number. Với destination-pattern 300[^0-6] command sẽ match với các numbers từ 3007 tới 3009. Với destination-pattern 300[^0^2] command sẽ match với numbers 3001 và dải number từ 3003 tới 3009. Caret sẽ xuất hiện phía trước các digit nào bị loại trừ. |
T |
Match với mọi digits tương ứng với dialed string có chiều dài tối đa (maximum length) là 32 digits. Wildcard này phù hợp để dial peers tới các cuộc gọi quốc tế (international calls), dial peer tới các digits khác biệt của PSTNs. Tuy nhiên, do số lượng digits không xác định trước nên Call Agent cần phải nhấn phím pound sign (#) sau khi hoàn tất số dialed string gọi đi, hoặc Call Agent sẽ phải chờ hết khoảng thời gian interdigit timeout (mặc định là 10 giây) trước khi cuộc gọi call được thực hiện. Thông thường, ta sử dụng pattern “.T” vì nếu không có ký tự period (.), khi phone nhấc máy (phone rơi vào trạng thái off hook) sẽ match với no digits và quá trình thực hiện cuộc gọi call sẽ không dial peer tới đâu cả. Bằng cách thêm vào ký tự period (.) ở phía trước, dial peer đòi hỏi Call Agent bắt buộc phải nhấn ít nhất một digit để tiến trình dial peer được thực hiện một cách đúng đắn. |
Comma (,) |
Chèn khoảng delay 1 giây giữa những lần nhấn số dialed digits. Trong trường hợp ký tự comma (,) khi được sử dụng bên trong brackets, nó được sử dụng để phân biệt các digits với nhau. |
Wildcards được sử dụng trên CUCME không hoàn toàn giống với hệ thống wildcards được sử dụng trên Cisco Unified Communications Manager.
Wildcards có thể được sử dụng phối hợp với nhau. Chẳng hạn, để match với các numbers từ 3300 tới 3599, ta sử dụng destination-pattern 3[3-5]..
Bảng ví dụ một số Wildcard Pattern |
|
Phone Number Range |
Destination Pattern sẽ Match với “Phone Number Range” |
Từ 8740 tới 8779 |
87[4-7]. hoặc 87[4567]. hoặc 87[4,5,6,7]. hoặc 87[4-7][0-9] |
Từ 123 tới 136 |
Sử dụng 2 patterns: 12[3-9] và 13[0-6] |
Từ 5551000 tới 5552999 |
555[12]... hoặc 555[1-2]... hoặc 555[1,2]... hoặc 555[12][0-9][0-9][0-9] |
4. Cấu hình đầy đủ của các thiết bị
CME1# show running-config
Building configuration...
Current configuration : 2742 bytes
!
! Last configuration change at 06:32:29 UTC Wed May 13 2015
version 15.1
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname CME1
!
boot-start-marker
boot-end-marker
!
!
! card type command needed for slot/vwic-slot 0/2
!
no aaa new-model
!
dot11 syslog
ip source-route
!
ip cef
!
ip dhcp excluded-address 10.1.10.254
ip dhcp excluded-address 10.1.20.254
!
ip dhcp pool Voice
network 10.1.10.0 255.255.255.0
default-router 10.1.10.254
option 150 ip 10.1.10.254
!
ip dhcp pool Data
network 10.1.20.0 255.255.255.0
default-router 10.1.20.254
!
no ip domain lookup
no ipv6 cef
!
multilink bundle-name authenticated
!
voice-card 0
!
crypto pki token default removal timeout 0
!
license udi pid CISCO2811 sn FHK1434F1N0
!
redundancy
!
interface FastEthernet0/0
description Ket noi toi switch PoE
no ip address
duplex auto
speed auto
!
interface FastEthernet0/0.1
description Ket noi toi Management VLAN
encapsulation dot1Q 1 native
ip address 10.1.1.254 255.255.255.0
!
interface FastEthernet0/0.10
description Ket noi toi Voice VLAN
encapsulation dot1Q 10
ip address 10.1.10.254 255.255.255.0
!
interface FastEthernet0/0.20
description Ket noi toi Data VLAN
encapsulation dot1Q 20
ip address 10.1.20.254 255.255.255.0
!
interface Service-Engine0/1
no ip address
shutdown
!
interface FastEthernet0/1
description Ket noi toi router CME2
ip address 1.1.1.1 255.255.255.0
duplex auto
speed auto
!
ip forward-protocol nd
no ip http server
no ip http secure-server
!
ip route 2.2.2.2 255.255.255.255 FastEthernet0/1
!
control-plane
!
mgcp profile default
!
dial-peer voice 2001 voip
destination-pattern 2001
session target ipv4:2.2.2.2
!
telephony-service
no auto-reg-ephone
max-ephones 42
max-dn 144
ip source-address 10.1.10.254 port 2000
max-conferences 8 gain -6
transfer-system full-consult
create cnf-files version-stamp 7960 May 13 2015 06:32:20
!
ephone-dn 1 dual-line
number 1001
!
ephone-dn 2 dual-line
number 1002
!
ephone-dn 3 dual-line
number 1003
!
ephone 1
device-security-mode none
mac-address B000.B4D8.8E95
type 7965
button 1:1
!
ephone 2
device-security-mode none
mac-address B000.B4D9.A3B1
type 7965
button 1:2
!
ephone 3
device-security-mode none
mac-address 24B6.FD47.139E
type CIPC
button 1:3
!
line con 0
logging synchronous
line aux 0
line 258
no activation-character
no exec
transport preferred none
transport input all
transport output lat pad telnet rlogin lapb-ta mop udptn v120 ssh
line vty 0 4
privilege level 15
no login
transport input all
!
scheduler allocate 20000 1000
end
CME1#
PoE#show running-config
Building configuration...
Current configuration : 1848 bytes
!
version 12.2
no service pad
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname PoE
!
no aaa new-model
ip subnet-zero
no ip domain-lookup
!
no file verify auto
spanning-tree mode pvst
spanning-tree extend system-id
!
vlan internal allocation policy ascending
!
interface FastEthernet0/1
description Ket noi toi IP Phone 1001
switchport access vlan 20
switchport mode access
switchport voice vlan 10
spanning-tree portfast
!
interface FastEthernet0/2
description Ket noi toi IP Phone 1002
switchport access vlan 20
switchport mode access
switchport voice vlan 10
spanning-tree portfast
!
interface FastEthernet0/3
description Ket noi toi IP Phone CIPC 1003
switchport access vlan 10
switchport mode access
spanning-tree portfast
!
interface FastEthernet0/4
!
interface FastEthernet0/5
!
interface FastEthernet0/6
!
interface FastEthernet0/7
!
interface FastEthernet0/8
!
interface FastEthernet0/9
!
interface FastEthernet0/10
!
interface FastEthernet0/11
!
interface FastEthernet0/12
!
interface FastEthernet0/13
!
interface FastEthernet0/14
!
interface FastEthernet0/15
!
interface FastEthernet0/16
!
interface FastEthernet0/17
!
interface FastEthernet0/18
!
interface FastEthernet0/19
!
interface FastEthernet0/20
!
interface FastEthernet0/21
!
interface FastEthernet0/22
!
interface FastEthernet0/23
!
interface FastEthernet0/24
description Ket noi toi router CME
switchport trunk encapsulation dot1q
switchport mode trunk
!
interface GigabitEthernet0/1
!
interface GigabitEthernet0/2
!
interface Vlan1
description Dat IP quan ly cho switch
ip address 10.1.1.253 255.255.255.0
!
ip classless
ip http server
ip http secure-server
line con 0
logging synchronous
line vty 0 4
privilege level 15
no login
line vty 5 15
no login
!
end
PoE#
CME2#show running-config
Building configuration...
Current configuration : 1922 bytes
!
! Last configuration change at 06:47:09 UTC Wed May 13 2015
version 15.1
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname CME2
!
boot-start-marker
boot-end-marker
!
! card type command needed for slot/vwic-slot 0/2
!
no aaa new-model
!
dot11 syslog
ip source-route
!
ip cef
!
ip dhcp excluded-address 10.2.10.254
!
ip dhcp pool Voice
network 10.2.10.0 255.255.255.0
default-router 10.2.10.254
option 150 ip 10.2.10.254
!
no ip domain lookup
no ipv6 cef
!
multilink bundle-name authenticated
!
voice-card 0
!
crypto pki token default removal timeout 0
!
license udi pid CISCO2811 sn FTX0940A3K9
!
redundancy
!
interface FastEthernet0/0
description Ket noi toi PC cai CIPC
ip address 10.2.10.254 255.255.255.0
duplex auto
speed auto
!
interface Service-Engine0/1
no ip address
shutdown
!
interface FastEthernet0/1
description Ket noi toi router CME1
ip address 2.2.2.2 255.255.255.0
duplex auto
speed auto
!
ip forward-protocol nd
no ip http server
no ip http secure-server
!
ip route 1.1.1.1 255.255.255.255 FastEthernet0/1
!
control-plane
!
mgcp profile default
!
dial-peer voice 1000 voip
destination-pattern 100.
session target ipv4:1.1.1.1
!
telephony-service
no auto-reg-ephone
max-ephones 42
max-dn 144
ip source-address 10.2.10.254 port 2000
max-conferences 8 gain -6
transfer-system full-consult
!
ephone-dn 1 dual-line
number 2001
!
ephone 1
device-security-mode none
mac-address 24B6.FD47.139E
type CIPC
button 1:1
!
line con 0
logging synchronous
line aux 0
line 258
no activation-character
no exec
transport preferred none
transport input all
transport output lat pad telnet rlogin lapb-ta mop udptn v120 ssh
line vty 0 4
privilege level 15
no login
transport input all
!
scheduler allocate 20000 1000
end
CME2#
Link phần 1: LAB CME. Call Legs, Dial Peers, và Wildcards (Phần 1)