Thursday, October 30, 2008

Exciting Cisco UC 7.0 Features

I had the wonderful opportunity to spend the week of October 13 - 17 attending the Cisco Unified Communications Partner VT (Virtual Team) meeting in San Jose, CA. This week long partner training session focused on many of the new UC 7.0 products updates as well as product roadmap discussions. Below is a look at the agenda:

Sessions:
  • IP Phone/CUCM/CUCMBE Update and Roadmap
  • Unified Communications Business Unit Messaging Solutions Update
  • UCBU Conferencing Solutions Updat
  • UCBU/IPCBU Mobility Strategy and Solution Update
  • Voice Gateway Update
  • Update on CUCME/CUE/SRST/UCC/UMG
  • UCBU Presence and Client Update
  • SIP Trunk/CUBE Update
  • Contact Center Business Unit Solution Update
  • UC Capacity Sizing Tools

Labs:
  • Contact Center Applications
  • Secure UC with Mobility
  • MeetingPlace Configuration
  • Messaging Solutions
  • Client Side Applications
  • CUCME/CUE/UCC/UMG
Unity Design Sessions:

While I am bound by Partner NDA, I can say that the two most exciting sessions were those focused on Collaboration (MeetingPlace & WebEx), Presence, and Unity in VMWare ESX (not yet supported). I believe that Cisco is well positioned with some of their roadmaps to present a very powerful and compelling story when it comes to Collaboration and Presence, especially as it begins to integrate their WebEx and Jabber acquisitions.

Tuesday, October 7, 2008

VOIP Lab 7 – Final Configs

There are certainly a number of additional topics that could be covered under the topic of “VOIP Fundamentals”, such as basic gatekeeper functionality and IntServ (RSVP). However, rather than exploring these and other topics now, I have chosen to instead table these until we introduce further VOIP and UC technologies. For my next series of labs, I intend to introduce and explore Cisco Unified Communications Manager Express and Cisco Unity Express, using the same lab topology described in Lab 1.

Below are the final configurations for both the Baltimore, New York City, and “ISP” routers, with some edits and omissions for the sake of brevity. Note, my “ISP” router also doubles as an access server for my home lab, allowing reverse telnet to my router console ports.

Baltimore Router
version 12.4
service timestamps debug datetime msec localtime show-timezone year
service timestamps log datetime msec localtime show-timezone year
no service password-encryption
!
hostname Baltimore
!
!
card type t1 0 0
logging buffered 4096
!
no aaa new-model
clock timezone EST -5
clock summer-time EDT recurring
network-clock-participate wic 0
!
!
!
ip cef
!
!
no ip domain lookup
!
multilink bundle-name authenticated
!
isdn switch-type primary-ni
!
!
voice-card 0
dspfarm
dsp services dspfarm
!
!
username cisco privilege 15 password 0 cisco
archive
log config
hidekeys
!
!
controller T1 0/0/0
framing esf
linecode b8zs
cablelength short 133
pri-group timeslots 1-24
!
!
class-map match-all VOIP-TRAFFIC
match access-group name VOIP-PORTS
class-map match-all SECURE-WWW
match access-group name SSL
class-map match-all VOIP-SIGNALING
match access-group name VOIP-SETUP
!
!
policy-map VOIP-POLICY
class VOIP-TRAFFIC
priority 80
class VOIP-SIGNALING
bandwidth 8
class SECURE-WWW
bandwidth 150
class class-default
fair-queue
!
!
interface Loopback0
ip address 1.1.1.1 255.255.255.255
ip ospf network point-to-point
!
interface FastEthernet0/0
no ip address
shutdown
duplex auto
speed auto
!
interface Service-Engine0/0
no ip address
shutdown
!
interface FastEthernet0/1
no ip address
shutdown
duplex auto
speed auto
!
interface Serial0/0/0:23
no ip address
encapsulation hdlc
isdn switch-type primary-ni
isdn incoming-voice voice
no cdp enable
!
interface Serial0/2/0
bandwidth 1544
ip address 172.16.1.2 255.255.255.0
encapsulation ppp
service-policy output VOIP-POLICY
!
interface Serial0/2/1
no ip address
shutdown
clock rate 2000000
!
router ospf 1
router-id 1.1.1.1
log-adjacency-changes
network 1.1.1.1 0.0.0.0 area 1
network 172.16.1.0 0.0.0.255 area 0
!
!
ip http server
no ip http secure-server
!
ip access-list extended SSL
permit tcp any eq 443 any
permit tcp any any eq 443
ip access-list extended VOIP-PORTS
permit udp any any range 16384 32767
ip access-list extended VOIP-SETUP
permit tcp any eq 1720 any
permit tcp any any eq 1720
!
!
control-plane
!
!
voice-port 0/0/0:23
timeouts interdigit 3
description PRI ciruit to PSTN
!
voice-port 0/1/0
timeouts interdigit 3
connection plar opx 5001
description 410-555-5001
caller-id enable
!
voice-port 0/1/1
timeouts interdigit 3
connection plar opx 5002
description 410-555-5002
caller-id enable
!
voice-port 0/3/0
description Cal Ripken
station-id name Cal Ripken
station-id number 5001
caller-id enable
!
voice-port 0/3/1
cptone GR
description Nick Markakis
station-id name Nick Markakis
station-id number 5002
caller-id enable
!
!
dial-peer voice 5001 pots
destination-pattern 5001
port 0/3/0
!
dial-peer voice 5002 pots
destination-pattern 5002
port 0/3/1
!
dial-peer voice 6000 voip
description VOIP Peer to NYC
preference 1
max-conn 1
destination-pattern 600[12]
session target ipv4:172.16.2.2
codec g711ulaw
!
dial-peer voice 1 pots
description outbound via 410-555-5001
preference 2
destination-pattern 9T
port 0/1/0
!
dial-peer voice 2 pots
description outbound via 410-555-5002
preference 2
destination-pattern 9T
port 0/1/1
!
dial-peer voice 3 pots
description inbound PRI dial-peer
preference 1
incoming called-number 41055510..
direct-inward-dial
port 0/0/0:23
!
dial-peer voice 4 pots
description outbound PRI dial-peer
destination-pattern 9T
port 0/0/0:23
!
dial-peer voice 6001 pots
preference 2
destination-pattern 600[12]
port 0/0/0:23
forward-digits all
prefix 212555
!
dial-peer voice 6002 pots
preference 3
destination-pattern 600[12]
port 0/1/0
forward-digits all
prefix 212555
!
dial-peer voice 6003 pots
preference 3
destination-pattern 600[12]
port 0/1/1
forward-digits all
prefix 212555
!
!
gatekeeper
shutdown
!
!
line con 0
exec-timeout 0 0
password cisco
logging synchronous
login local
line aux 0
line 194
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
exec-timeout 0 0
password cisco
logging synchronous
login local
!
scheduler allocate 20000 1000
ntp clock-period 17179656
ntp server 7.7.7.7
!
webvpn cef
!
end



New York City Router
version 12.4
service timestamps debug datetime msec localtime show-timezone year
service timestamps log datetime msec localtime show-timezone year
no service password-encryption
!
hostname NewYork
!
!
card type t1 0 0
!
no aaa new-model
clock timezone EST -5
clock summer-time EST recurring
network-clock-participate wic 0
!
!
ip cef
!
!
no ip domain lookup
!
multilink bundle-name authenticated
!
isdn switch-type primary-ni
!
!
voice translation-rule 1
rule 1 /\(500[12]\)/ /410555\1/
!
voice translation-rule 2
rule 1 // /410555/
!
!
voice translation-profile prefix
translate called 1
!
!
voice-card 0
no dspfarm
!
!
username cisco privilege 15 password 0 cisco
archive
log config
hidekeys
!
!
controller T1 0/0/0
framing esf
linecode b8zs
cablelength short 133
pri-group timeslots 1-24
!
!
class-map match-all VOIP-TRAFFIC
match access-group name VOIP-PORTS
class-map match-all SECURE-WWW
match access-group name SSL
class-map match-all VOIP-SIGNALING
match access-group name VOIP-SETUP
!
!
policy-map VOIP-POLICY
class VOIP-TRAFFIC
priority 80
class VOIP-SIGNALING
bandwidth 8
class SECURE-WWW
bandwidth 150
class class-default
fair-queue
!
!
interface Loopback0
ip address 2.2.2.2 255.255.255.255
ip ospf network point-to-point
!
interface FastEthernet0/0
no ip address
shutdown
duplex auto
speed auto!
interface FastEthernet0/1
no ip address
shutdown
duplex auto
speed auto
!
interface Serial0/0/0:23
no ip address
encapsulation hdlc
isdn switch-type primary-ni
isdn incoming-voice voice
no cdp enable
!
interface Serial0/2/0
description Link to Baltimore via Hub (R7)
bandwidth 1544
ip address 172.16.2.2 255.255.255.0
encapsulation ppp
service-policy output VOIP-POLICY
!
interface Serial0/2/1
no ip address
shutdown
!
router ospf 1
router-id 2.2.2.2
log-adjacency-changes
network 2.2.2.2 0.0.0.0 area 2
network 172.16.2.0 0.0.0.255 area 0
!
!
ip http server
no ip http secure-server
!
ip access-list extended SSL
permit tcp any eq 443 any
permit tcp any any eq 443
ip access-list extended VOIP-PORTS
permit udp any any range 16384 32767
ip access-list extended VOIP-SETUP
permit tcp any eq 1720 any
permit tcp any any eq 1720
!
!
voice-port 0/0/0:23
description PRI to PSTN
!
voice-port 0/1/0
connection plar opx 6001
description 212-555-6001
caller-id enable
!
voice-port 0/1/1
connection plar opx 6002
description 212-555-6002
caller-id enable
!
voice-port 0/3/0
ring cadence pattern04
description Tom Seaver
station-id name Tom Seaver
station-id number 6001
caller-id enable
!
voice-port 0/3/1
description David Wright
station-id name David Wright
station-id number 6002
caller-id enable
!
!
dial-peer voice 6001 pots
destination-pattern 6001
port 0/3/0
!
dial-peer voice 6002 pots
destination-pattern 6002
port 0/3/1
!
dial-peer voice 5000 voip
description VOIP Peer to Baltimore
preference 1
max-conn 1
destination-pattern 500[12]
session target ipv4:172.16.1.2
codec g711ulaw
!
dial-peer voice 1 pots
description outbound via 212-555-6001
preference 2
destination-pattern 9[2-9].........
port 0/1/0
!
dial-peer voice 2 pots
description outbound via 212-555-6002
preference 2
destination-pattern 9[2-9].........
port 0/1/1
!
dial-peer voice 3 pots
description Inbound Dial-Peer via PRI
incoming called-number 21255520..
direct-inward-dial
port 0/0/0:23
!
dial-peer voice 4 pots
description Outbound Dial-Peer via PRI
preference 1
destination-pattern 9[2-9].........
port 0/0/0:23
!
dial-peer voice 5001 pots
translation-profile outgoing prefix
preference 2
destination-pattern 500[12]
port 0/0/0:23
forward-digits all
!
dial-peer voice 5002 pots
translation-profile outgoing prefix
preference 3
destination-pattern 500[12]
port 0/1/0
forward-digits all
!
dial-peer voice 5003 pots
translation-profile outgoing prefix
preference 3
destination-pattern 500[12]
port 0/1/1
forward-digits all
!
!
gatekeeper
shutdown
!
!
line con 0
exec-timeout 0 0
logging synchronous
login local
line aux 0
line vty 0 4
exec-timeout 0 0
logging synchronous
login local
!
scheduler allocate 20000 1000
ntp clock-period 17179816
ntp server 7.7.7.7
!
webvpn cef
!
end

ISP Router
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname ISP
!
!
logging message-counter syslog
no logging buffered
!
no aaa new-model
clock timezone EST -5
clock summer-time EDT recurring
!
dot11 syslog
ip source-route
!
!
ip cef
!
!
no ip domain lookup
ip host r1 2066 10.1.1.3
ip host r2 2067 10.1.1.3
ip host r3 2068 10.1.1.3
ip host r4 2069 10.1.1.3
ip host r5 2070 10.1.1.3
ip host r6 2071 10.1.1.3
ip host s1 2072 10.1.1.3
no ipv6 cef
!
multilink bundle-name authenticated
!
!
voice-card 0
no dspfarm
!
!
!
!
!
username cisco privilege 15 password 0 cisco
archive
log config
hidekeys
!
!
interface Loopback0
ip address 7.7.7.7 255.255.255.255
ip ospf network point-to-point
!
interface FastEthernet0/0
no ip address
duplex auto
speed auto
!
interface FastEthernet0/1
ip address 10.1.1.3 255.255.255.0
duplex auto
speed auto
no keepalive
!
interface Serial0/0/0
description Link to Baltimore
bandwidth 128
ip address 172.16.1.1 255.255.255.0
encapsulation ppp
clock rate 128000
!
interface Serial0/0/1
description Link to New York
bandwidth 128
ip address 172.16.2.1 255.255.255.0
encapsulation ppp
clock rate 128000
!
interface Serial0/1/0
no ip address
shutdown
clock rate 2000000
!
interface Serial0/1/1
no ip address
shutdown
clock rate 2000000
!
interface Serial0/2/0
no ip address
shutdown
clock rate 2000000
!
interface Serial0/2/1
no ip address
shutdown
clock rate 2000000
!
router ospf 1
router-id 7.7.7.7
log-adjacency-changes
passive-interface default
no passive-interface Serial0/0/0
no passive-interface Serial0/0/1
network 7.7.7.7 0.0.0.0 area 0
network 172.16.1.0 0.0.0.255 area 0
network 172.16.2.0 0.0.0.255 area 0
!
ip forward-protocol nd
ip route 0.0.0.0 0.0.0.0 10.1.1.1
ip http server
no ip http secure-server
!
!
gatekeeper
shutdown
!
!
line con 0
exec-timeout 20 0
logging synchronous
login local
line aux 0
line 1/0 1/15
no exec
transport input all
line vty 0 4
exec-timeout 20 0
logging synchronous
login local
!
scheduler allocate 20000 1000
ntp master 3
ntp server 198.82.1.201
end

ISP#

Wednesday, October 1, 2008

VOIP Lab 6 – Local Call Admission Control & QoS

Fuzzy Dunlop did express a couple of concerns with the VOIP pilot. First, the organization is concerned about voice quality and it also has a critical secure web-based CRM tool. Secondly, Fuzzy Dunlop want to make sure that if the WAN link fails, internal calls can still be routed out the PTSN.

Tasks 6.1 – Local Call Admission Control & QoS Configuration
The following tasks are required for this lab:

1. Configure each voice gateway to route internal four-digit dial calls out the PSTN in the event of a WAN failure. Make sure the IP path is preferred first; the PRI circuit second; the POTS lines third.

2. You may not use any sort of digit translation on the Baltimore router to achieve task #1.

3. You must use digit translation on the NY router to achieve task #2.

4. Limit the WAN links to one call using a Local CAC mechanism.

5. Configure a QOS policy that gives voice traffic a strict priority for one call, provides call set-up with 8k of bandwidth, secure www with 150k of bandwidth, and everything else in a default class.

6. Verify calling, including routing calls to the PSTN during a WAN failure.

Tasks 6.2 – Local Call Admission Control & QoS Verification

1. In order to configure call routing of the four-digit dial calls via the PSTN, three additional POTS dial-peers need to be added to each router; one pointing to the PRI and the other two pointing to the two POTS connections. Additionally, preference values need to be added to these dial-peers, as well as the VOIP dial peers.

2. To meet configuration task #2 above, digits need to be prefixed under each of three new POTS dial-peers on the Baltimore router. Below is configuration additions and changes made to Baltimore.

Baltimore#sh run begin dial-peer voice 6000
dial-peer voice 6000 voip
description VOIP Peer to NYC
preference 1
max-conn 1
destination-pattern 600[12]
session target ipv4:172.16.2.2
codec g711ulaw
!
!
dial-peer voice 6001 pots
preference 2
destination-pattern 600[12]
port 0/0/0:23
forward-digits all
prefix 212555

!
dial-peer voice 6002 pots
preference 3
destination-pattern 600[12]
port 0/1/0
forward-digits all
prefix 212555

!
dial-peer voice 6003 pots
preference 3
destination-pattern 600[12]
port 0/1/1
forward-digits all
prefix 212555

!

3. For New York City, a voice-translation rule and voice translation pattern are created and then associated with each of the three new POTS dial-peers. Interestingly, there are a couple of ways to configure the voice-translation rule. The configuration below shows two viable options, although voice-translation rule 1 is the one being applied, which is the more specific rule for numbers 5001 and 5002.

You can also test the rule by issueing the test voice translation-rule [rule number] [phone number]
!
voice translation-rule 1
rule 1 /\(500[12]\)/ /410555\1/
!
voice translation-rule 2
rule 1 // /410555/
!
!
voice translation-profile prefix
translate called 1
!
!
!
dial-peer voice 5000 voip
description VOIP Peer to Baltimore
preference 1
max-conn 1
destination-pattern 500[12]
session target ipv4:172.16.1.2
codec g711ulaw
!
dial-peer voice 5001 pots
translation-profile outgoing prefix
preference 2

destination-pattern 500[12]
port 0/0/0:23
forward-digits all
!
dial-peer voice 5002 pots
translation-profile outgoing prefix
preference 3
destination-pattern 500[12]
port 0/1/0
forward-digits all
!
dial-peer voice 5003 pots
translation-profile outgoing prefix
preference 3

destination-pattern 500[12]
port 0/1/1
forward-digits all
!

NewYork#test voice translation-rule 1 5001
Matched with rule 1
Original number: 5001 Translated number: 4105555001
Original number type: none Translated number type: none
Original number plan: none Translated number plan: none

NewYork#test voice translation-rule 2 5001
Matched with rule 1
Original number: 5001 Translated number: 4105555001
Original number type: none Translated number type: none
Original number plan: none Translated number plan: none

4. A Low Latency Queuing (LLQ) policy is created and applied to the serial interface. The policy is identical on both ends.

!
ip access-list extended SSL
permit tcp any eq 443 any
permit tcp any any eq 443
ip access-list extended VOIP-PORTS
permit udp any any range 16384 32767
ip access-list extended VOIP-SETUP
permit tcp any eq 1720 any
permit tcp any any eq 1720
!
!
class-map match-all VOIP-TRAFFIC
match access-group name VOIP-PORTS
class-map match-all SECURE-WWW
match access-group name SSL
class-map match-all VOIP-SIGNALING
match access-group name VOIP-SETUP
!
!
policy-map VOIP-POLICY
class VOIP-TRAFFIC
priority 80
class VOIP-SIGNALING
bandwidth 8
class SECURE-WWW
bandwidth 150
class class-default
fair-queue
!
interface Serial0/2/0
service-policy output VOIP-POLICY



5. Finally, we verify the configuration by placing two phone calls. The first call is placed from Cal Ripken (ext. 5001) to Tom Seaver (ext. 6001). We know it is going across the WAN, because CallID 0xC5 verifies the Dial Peers.

A second call is placed from Nick Markakis (ext. 5002) to David Wright (ext. 6002.). Based on the output below, the router indicates the maximum number of connections on dial-peer 6000 as been reached, and the call is now being placed out the PRI as number 2125556002. CallID 0xC8 also verifies that the call is using dial-peer 6001, which is associated with the PRI.

Baltimore#
.Sep 30 2008 17:33:26.002 EDT: %CALL_CONTROL-6-MAX_CONNECTIONS: Maximum number of connections reached for dial-peer 6000

Baltimore#
.Sep 30 2008 17:33:32.286 EDT: %ISDN-6-CONNECT: Interface Serial0/0/0:22 is now connected to 2125556002 N/A

Baltimore#sh voice call stat
CallID CID ccVdb Port DSP/Ch Called # Codec Dial-peers
0xC5 13E2 0x486A7568 0/3/0 0/2:1 6001 g711ulaw 5001/6000
0xC7 13E7 0x47EB06D8 0/3/1 No DSP 6002 None 5002/6001
0xC8 13E7 0x48C50408 0/0/0:23.23 No DSP *6002 None 6001/5002
2 active calls found


Lab references:
Cisco Systems. Number Translation using Voice Translation Profiles.

Cisco Systems. VoIP over PPP Links with Quality of Service (LLQ / IP RTP Priority, LFI, cRTP).

Davidson, Jonathan, Kevin (2002). Deploying Cisco Voice over IP Solutions (Chapter 4). Indianapolis: Cisco Press.