HOWTO on Virtual Voice Rack







Full text


HOWTO on Virtual Voice Rack

Petr Lapukhov

CCIE #16379 (R&S/Security/SP) InternetworkExpert Inc.


One day it happens. You decide to go after your Voice CCIE, and nothing can stop you. It takes some time, but you pass the written test, and plan to take the lab exam. You got a moment to look at the list of the lab gear, and now it does not look so good anymore. Too many of it, not to mention, that it’s probably going to cost some big money to obtain. Now do not fall into despair, and take a quick look on a list of things that you need for a full-blown voice rack:

• Catalyst 6503 SUP2 with 6608/6348 blades • Catalyst 3560 PoE

• Bunch of 2811 with NM-HDV2/PVDM2s and WIC-2MFT-T1/E1 • About six 7960 IP Phones

• At least one ATA 186 • VG 248 gateway • NM-CUE or AIM-CUE

• Three servers to run CCM Publisher/Subscriber and Unity

Let us hold for a second and think about virtualization. Is there anything we could do to offload a deal of work to virtual routers and servers? Definitely, there is a lot of it. To begin with, we can run CCM and Unity under VMware, as well as use SCCP softphones to simulate the real 7960.

Next, for the routers emulation, we can use the product everyone loves - Dynamips. Of course, we cannot simulate NM-HDVs, PVDMs, FXO/FXS or E1/T1 digital trunks with Dynamips (yet). While this is sad, to say at least, it is not really that bad as someone may think, because the good news is that we can use virtual routers as IPIP gateways to simulate PSTN switch behavior and provide H.323/SIP signaling interface to CCM. Surely enough, we can provide CME and SRST functionality to IP telephony endpoints, as well as run H.323 Gatekeepers on Dynamips. Combining all that with virtual CCM and Unity servers, we may quickly get a virtual lab that smoothly emulates the very “core” of Voice exam: applications and services along with IP telephony endpoints. Before we move any further, let us clearly outline what we are going to miss within our virtual lab:

• Hardware Media Resources (XCONF, CFB) on NM-HDVs and 6608 DSPs • PSTN Signaling (ISDN PRI, E1 R2, FXS/FXO)

• MGCP and Q.931 backhaul

• ATA186 and VG248 analog gateways • Catalysts 6500 and 3550/3560 port config • Catalyst QoS

• 6608 blade functions (CFB/XCODE/GW) • CUE


On contrary, here is a list of stuff we can still play with:

• Cisco CallManager 4.x with all it’s Applications and Features • Unity 4.0 Voice Mail

• Cisco CallManager Express • SRST

• H.323 gateways and gatekeepers • IP Phones

• IP PSTN Simulation (IPIP GW) • WAN QoS

If you try to compare those two lists, you will quickly note that all the things we miss in the virtual lab come form “non-core” part of the exam. They are strightforward to set up, and are not that feature rich. More than that, I would dare to say, that by simply playing around with the virtual lab you might be able to practice 70% of the real exam content. Naturally, after you have built the solid understanding of core topics, you may go ahead and practice the missing stuff on voice rental racks.



Here is the topology of the voice rack that we are going to simulate:

CCM PUB IPMA IPCC Unity AC Fa0/0 Phone#1 1001 1011 Phone#2 1002 1012 PSTN Phone 911/999 775-501-1111 312-201-2222 44-20-3001-3333 310-555-1234 900-555-0001 Phone#1 2001 2011 Phone#2 2002 2012 Phone#1 3001 3011 Phone#2 3002 3012 S2/1 S2/1 S2/1 S2/0 S2/0 S2/0 Frame-Relay 203 102 103 302 .2 .1 .1 .1 10.2 .110. 0/24 10 .3.1X 0 .0/2 4 .1 .100 .150 .3 Remote Site #2 UK 44-20-3000-3xxx Remote Site #1 Chicago 312-200-2xxx Corporate HQ Reno 775-100-1xxx 201 301 .2 .3 .1 RS1 RS2 HQ PSTN S2/1 Frame-Relay 214 .254 412 114 114 31 4 4 1 3 Lo0: Lo0: Lo0: Lo0: OSPF Area 0 EIGRP 1 Fa0/0 Fa0/0


Configuration Steps

It is possible to run all the virtual routers and servers on a single host. However, many people nowdays are able to use more than one PC for virtual rack emulation. Just to show how the things could be done on a distributed system, we will use 4 PCs system to simulate our voice rack.

Let us call them PC1, PC2, PC3 and PC4. We will use PC1 to host the CCM and Unity along with the HQ router. PC2 will host a Windows XP machine running IP softphones (2001, 2002) for Remote Site 1 along with RS1 router. PC3 will host a Windows XP machine running IP sofphones (3001, 3002) for Remote Site 2 along with RS2 router. Finally, PC4 will just host PSTN router along with simulating Frame-Relay switch. For our examples we uppose the “real” systems have the following IP addresses:

Name IP Address PC1 PC2 PC3 PC4 Step 1

First, download VMware Server from Install it on PC1, PC2 and PC3. Obtain a trial copy of IP Blue’s VTGO from

Create VMware images for the CCM and Unity servers. This is probably the most painful thing, if you do not have the images already. You may want to read the steps outlined here to install the CCM under VMware. (The instructions as well apply to the Unity installation). Also, check out the following article that comes right from cisco guys.

For the PCs running softphones you may simply choose to install Windows XP on both virtual machines.

From now now on, we will be referring to the Vmware images as “CCM, Unity, XP1, XP2” for simplicity. By the end of this step, you should have images of CCM and Unity on PC1 and images of XP1 and XP2 machines on PC2 and PC3.

Configure the IP address for the CCM and Unity as per the diagram. That is, the CCM should have the IP address of and Unity Both should use as a default gateway. Configure the respective IP addressing for XP1 and XP2, and install VTGO softphone onto the CCM, Unity, XP1 and XP2.

DISCLAIMER: You have to obtain copies of Windows operating systems and Cisco

software via some legal way. InternetworkExpert Inc. does not provide or distribute VMware images or software copies.

Step 2

Download the latest Dynagen from and install it on all the PCs. Unapack the archive containing dynamips topology files for the virtual Voice rack into


Dynamips directory. For our example, the Dynamips directories will be set as following: IOS images =

“F:\Program Files\Dynamips\images” Working directory =

“F:\Program Files\Dynamips\sample_labs\internetworkexpert\working”

You should be able to find the .net file called

inside “sample_labs\internetworkexpert” subdirectory.

Step 3

Obtain an appropriate IOS image for Dynamips. You may use any image that supports H.323 gateway/gatekeeper functionality along with IPIP gateway. The one used in the documents is “C7200-ADVENTERPRISEK9 12.4(11)T2”. Unpack the image and put it into IOS images directory on every PC (PC1, PC2, PC3 and PC4). You may need to change file to match your IOS image name:



workingdir = F:\Program Files\Dynamips\sample_labs\internetworkexpert\working [[7200]]


# Specify 7200 IOS image on Windows here; replace with the one you

# put into the images directory


image = F:\Program Files\Dynamips\images\c7200-adventerprisek9-mz.124-11.t2.extracted.bin


and so forth, for all the router instances, through the file. Now, you need to calculate the IdlePC value for your new image. Follow the instructions outlined in the tutorial at to find out how to do that within Dynagen shell.

Additionally, you may want to adjust file to match your PCs IP addressing. For example, if your’s PC1 has IP address of then open and change the following: ...


workingdir = F:\Program Files\Dynamips\sample_labs\internetworkexpert\working ...

Step 4

Now we need to bind the virtual networks of VMware servers to the ethernet interfaces of respective routers. Specifically, the CCM and Unity should connect to the HQ router, XP1 to RS1 and XP2 to RS2. The PSTN router’s ethernet should bridge to the real ethernet inerface of PC4, so that you can configure the PSTN router as CME and register your “backbone” IP Phone with it for testing purposes.


First, you have to configure VMware virtual networks. Let us take PC1 for example. Start the VMware console and go to Host > Virtual Network Settings

Make sure you have VMnet1 adapter enabled. You may remove VMnet8 adapter here, (since we won’t need it), so that it won’t mess the output from “dynamips –e”.


Now go to Start > Control Panel > Network Connections > VMware Network Adapter VMnet1 > Properties > Internet Protocol (TCP/IP):


Next, you need to learn the interface identifier of VMnet1 adapter. Go to Dynamips directory and run “dynamips –e” from there (or “Network device list.cmd” script):

With this information on hands, you may now configure the HQ router’s ethernet interface. Open file and locate the entry for the HQ router. Change the interface identifier to match VMnet1. ... [[Router HQ]] model = 7200 autostart = false slot0 = PA-C7200-IO-FE slot2 = PA-4T #

# The following string should match the adapter ID you discovered earlier


F0/0 = NIO_gen_eth:\Device\NPF_{26C2357B-8EE3-4D29-B88B-A361F53D1750} S2/0 = FRSW 1

S2/1 = FRSW 11

Now the only thing left to do is to bind the ethernet adapted of the CCM (and Unity) to VMnet1 interface. Open VM > Settings and map Ethernet adapter to VMnet1:


You should repeat these steps on PC2 and PC3 to bind the respective ethernet interfaces to their VMnet1 adapters. For PC4 and PSTN router, choose to bind the PSTN ethernet interface to the physical network interface card of PC4. You may then configure the “real” IP address on the PSTN router and have access to it from your physical network.

For our example setup, the PSTN router has the “real” IP address of and has a default route pointing to You should change these settings to match your network in the configuration of the PSTN router.

Step 5

Start Dynamips server process on every PC (port 7200). Then, choose a PC that will act as “supervisor” and launch Dynagen on top of

For our example, this should be PC1. If you have all the things set up properly, you should be able to start all the virtual routers.


At this point, you should be able to ping the CCM server from the HQ router:


Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to, timeout is 2 seconds: !!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 12/18/36 ms Step 6

Since the PSTN router has connectivity to the real network you may want to register a “real” IP phone with the CME running on the PSTN. For example, let us say your PC is running a VTGO softphone - you then need to adjust ephone-1 MAC address in the PSTN router to match that of yours and configure the softphone to register with the “real” IP address of the PSTN router.

Step 7

The PSTN router comes with some basic dialplan configured for IP to IP calls. You may want to adjust it, but it is enough for the most of the tasks. To make your gateways (HQ, RS1 and RS2) work with the IPIP PSTN, you may configure something like this:


voice service voip

allow-connections h323 to h323 !

! Use Loopback0 for gateway IP address


interface Loopback0

ip address h323-gateway voip interface

h323-gateway voip bind srcaddr !

! Long-distance outgoing calls goes to PSTN router


dial-peer voice 100 voip

destination-pattern 1... session target ipv4:



! Incoming calls from the PSTN are routed to the CCM


dial-peer voice 200 voip

destination-pattern 7751001... session target ipv4: !


That’s it, so far. To run the second instance of VTGO phone on a single virtual machine, run it with “/d” command-line key. Use VTGO profiles to separate the configurations for the two phones. Then go ahead and configure the CCM to register your phones and set up voice gateways to start playing around.

Have fun!


1. VMware Server: 2. CCM on VMWare:

3. Dynagen:

4. VTGO SoftPhone:

Appendix A

If you plan to run all the stuff inside a single box, the above steps will only need a little modification. For a two-processor PC, you may want to use the topology .net file which is configured to run two dynamips

processes on a single host (this works well provided that you have 2 CPUs). Next, you need to create additional VMnet interfaces in such a way that VMnet1 connects to the CCM and Unity, VMnet2 to XP1, VMnet3 to XP2.

To do that, go to Host > Virtual Network Settings > Host Virtual Adapters > Add.

Disable DHCP on all the adapters and configure IP addresses from Start > Control Panel > Network Connections > Vmware Network Adapter VmnetX > Properties > Internet Protocol (TCP/IP).

Finally, obtain VMware adapter IDs with “dynamips –e” and re-configure the topology file accordingly.



Related subjects :