CUC (6) CUCM (28) Jabber (6) Python (2) Routing (3) Solarwinds Orion NPM (4) switching (1) Video (6) voice (3)

Monday, 4 June 2012

Cisco Voice LAB using GNS3

OK, for those voice nerds, just kicking off with GNS3;congrats it is the dogs bollocks. Especially if R&S is one of your hobbys as well.

I will explain what I have set up, and what you can do with it.

First of all the components I am using for this example are:

-VMARE image of CUCM 8.6
-VMWARE image of UCCX 8.5
-2 GNS3 3725 routers, with an IOS capable of running voice features (one as a H323  GW and one as a SIP gateway)
-call manager express
-softphones, IP communicator, 3CX, IP Blue (uses SCCP)

What it can't do? Well as this lab has no physical components, it has no DSP's and can therefore do no transcoding (disconting CUCM media XCODE resources), and it does not have any TDM and/or analog ports. 

The voice lab I built is as follows:

You can add basically anything you want that you can run on VMWARE (or Virtual Box), which would include Presence, Unity Connection, AD etcetera. I will not go into building vritual machine, I will just explain how to connect them to the GNS3 lab. Before I do this, you have to make sure that you have plenty of memory, so go out and get 16Gig! this particular lab is done on an laptop with 8 Gig of RAM and an Intel Core i3 M380 at 2.53Ghz. 

OK so add the routers to GNS3, you can add as many as you seet fit, but use the idle PC values, also if you monitor CPU usage, you will see it spike when you spin the routers up or when you write the config.

Add a VMWARE machine to GNS3

Spin up your VMWARE machine, Add a cloud to GNS3, configure this cloud to use the virtual interface of the virtualmachine (vmnet x interface) connect the cloud with its virtual interface to an ether switch. Make sure that the virtual machine's network settings are set to "host only". If you previously used the virtual machine with a bridged interface; you can change this on the fly.

Please that I had it a few times where my vmware links to GNS3 failed after I started up my lab again, and I had to manually remove the links and re-add them in my GNS3 topology, after which I could ping my VM's again. My sheer lazyness inhibits me to find out why.

Add your PC or Laptop to GNS3

Not 100% necessary in case you have a VMWARE image of  an OS that can run some softphones, you can use that to connect it to GNS3, but why bother. I run Win7, not because I think it's the best, but because I can't be bothered screwing around with some linux distro. So, based on Win7, add a Loopback interface to your machine. How? Easy, run the hardware wizard (hdwwiz.exe) and add a network adapter, manufacturer Microsoft. Now assign an IP address to your loopback adapter. So now back to GNS3.  Add a "cloud", when you go to configure this cloud, you should be able to select the loopback interface that you have just added:

I have had a few cases where I was unable to select the freshly added loopback interface and had to restart GNS3. You should now be able to ping your routers, VMWare machines and whatever else you have in GNS3 topology from you laptop/desktop. This also allows you to run things like wireshark or RTMT locally.
Please also remember that if you expand your GNS3 subnets beyond the direct connected subnet of the loopback interface, you will need to add static routes to your laptop or desktop (and change your proxy setting exlcusions to include these networks).

To add to this, I have connected my home network subnet to GNS3 through the same loopback interface as described above. The way to do this is to have the laptop perform routing between your home network and GNS3. This is quite easy to set up and for this you will need to ebale IP routing in the registry (again using Win7 64bit). HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters and set the IPEnableRouter value to "1", and then reboot. This, combined with adding static routes in your home network to point to the GNS3 subnets, should allow you to connect to GNS3 from any machine. I use this so I can actually run multiple softphones on different physical machines. I find better than running 2 or more softphones on a single laptop.

CME and GNS3

For the record, I don't like CME, I actually avoid it like the plague. If CME would be a car, it would be a Tata Nano. Anyway, you can run it on GNS3 as well.  I have installed an older version to go with 12.4.15T on a 3725. Extract the cme files as follows:

SIP_CME#archive tar /xtract ftp://cisco:cisco@ flash:/

You can't do it straight from flash to flash, because it will give you a message saying "Device in exclusive use", you can use tftp as well, its just that ftp is much faster.

Also, the standard flash size is 16Mb, so you might want to increase that. Do this by as follows:

right click your router-->configure-->memories and disks and just increase the size  of the first PCMCIA disk0     (verify the size by issuing a dir flash: from the router CLI)

After that, configure cme the same as on a physical router.


Well, shit loads

-digit manipulation




  1. I can't get my softphones to pull an IP from my VOICE DHCP pool for the life of me. The vmware pc gets an IP from the data dhcp pool and can ping both vlans. The exact same configuration works perfect in packet tracer (which we all know is not as fun as gns3, nor as in depth). The switch doesn't see the phones in the cdp neighbors either. VMware is using host only network adapter type. Any ideas? Or did it just work out of the box for you?

  2. This blog is very interesting for Linksys Router Support.if you find more information
    Really a nice and useful post i was looking for this kind of stuff from long time.. thank you.
    visit:- Cisco Router Support

  3. i like this post and i feel very happy to read this article...
    thanks for sharing...
    more info:- Cisco Router Support

  4. "If CME would be a car, it would be a Tata Nano." That's funny mate.

  5. Hi. Do you have a article of installation UCCX on VM on home pc ? can you share a link ?
    thank you