The various flavors of Cisco IOS

Cisco IOS comes in several different flavors including Cisco IOS, Cisco IOS XE and Cisco IOS XR.

Cisco IOS (Classic IOS)

The classic Cisco IOS network operating system uses a monolithic kernel that runs all of the necessary modules in the same memory space. Any issues within IOS can cause the entire operating system to stop responding or crash.

Cisco IOS XE

IOS XE leverages an underlying Linux operating system and runs IOS as a daemon called ‘IOSd’ and as such the underlying Linux operating system is able to exert monitoring and control over IOSd. Some of the possibilities of this type of virtualization include software based high availability by having two copies of IOSd running at the same time without the need for a completely duplicated route process or hardware layer. Another exciting possibility is to leverage in service software upgrade or ISSU which allows for much easier software upgrades without the need to reload and stop packet processing to change software versions.

Cisco IOS XR

IOS XR is a completely new network operating system running directly within a Linux operating system. This type of rewrite led to a truly modular operating system where different IOS XR features run as isolated and distinct processes which can individually be stopped and restarted.

Cisco NX-OS

Cisco NX-OS started life as SAN-OS which was used on Cisco’s line of storage switches. The Nexus line of switches use a modified version of SAN-OS which was re-written to include more data networking focused while still including the SAN features needed in a converged data center networking product. Cisco NX-OS is modular and in many ways similar to IOS XR from a very high level.

Useful Links IOS XE site – a generic overview of IOS XE

White Paper: Cisco IOS and NX-OS Software Reference Guide – an excellent overview of which flavor of IOS runs on what platform

Cisco Communications Manager Music on Hold Conversion

Cisco Communications Manager (CallManager) allows for customized audio files to be used for music on hold and announcements. A common request is to use an MP3 or legacy audio source (CD, tape, etc.)

The format of the audio files that are acceptable is as follows:

  • 16-bit PCM wav file
  • Stereo or mono
  • Sample rates of 48 kHz, 44.1 kHz, 32 kHz, 16 kHz, or 8 kHz

An excellent utility to convert audio files to this format is Audacity available at here.

Here are the steps to convert an existing audio file to one that is compatible with CallManager:

  1. Launch Audacity
  2. Open the source audio file you wish to convert
  3. Find ‘Project Rate (Hz):’ in the lower left corner. Change this to 8000.
  4. In the ‘Audio Track’ menu (upper left corner of the pane where your audio file is displayed) select ‘Set Sample Format’, and choose ’16-bit PCM’
  5. Click File > Export…
  6. Choose a file name, and verify that the File Name has no spaces or special characters
  7. Under ‘Save as type:’ select ‘Other uncompressed files’
  8. Click on the ‘Options…’ button
  9. Under Header select ‘WAV (Microsoft)’
  10. Under Encoding select “U-Law”
  11. Click OK and then click Save

You can now upload this file to your CallManager and it should be properly converted. If there are multiple music on hold servers in your cluster be sure to perform the upload on ALL servers.