Saturday, May 14, 2011

Migrate Cisco CUCM SMB to Asterisk proof of concept

Had a request of a customer to upgrade a small (50 user) Cisco VoIP solution to the latest revisions to maintain manufacturer support. In the discussion process, it became clear additional features were desirable and as a result the licensing models would have to be changed, upgrade and recurring costs would increase, and third party applications would have to be employed.

This post will serve as a log of a really casual attempt to reproduce the desired functionality using Asterisk and / or FOSS software. My desire is to actually perform the install and configs vs. reading about them to verify what people discuss on the Internet re: Asterisk is actually what people want and / or would accept transitioning to.

The goals are:
  • 50 hardphone deployment over 2 sites. currently call control exists at site A only, and the phones are Cisco 7940s
  • BLF functionality on phones
  • IVR to answer incoming calls and provide options via DTMF
  • ACD / Call Queueing environment to distribute calls among 10 agents
    • all calls should be able to be recorded
    • calls should be able to be recorded on demand
    • historical reports of call distribution and abandoned calls should be available
    • agents should be able to identify what option was chosen from the IVR to reach them
  • voicemail with retrieval from Outlook
  • audio paging
  • texting 
  • all signaling and RTP traffic must stay on LAN

Ubuntu 11.04 download
  • decided on the Ubuntu OS to keep things easy knowing this may not be the production OS of choice
  • burned using Sonic RecordNow CD
  • simple next-next-next install on an old Dell Dimension desktop
  • found issues with the default display options
    • used "Ubuntu (no effects)" setting during login
    • changed top and bottom bars to 32 height for easier reading
  • changed Eth0 from DHCP to static address
  • changed / created root user password via "sudo password root" (I am not concerned about the hashed / blank / secure root password at this time). 
Asterisk on Ubuntu 10.04
  • decided to use the guide above as basic install steps vs. a live CD etc. to be able to dissect issues later if necessary
  • found corporate desktop using IE7 made copying code difficult from site
  • decided to simply download the script and review
Asterisk on Ubuntu script
  • used scripted install due to issues copying documented install elements
  • changed PASSWORD variable in script to something I could remember
  • used text editor find / replace to change "aptitude" to "apt-get"
  • ran in terminal via "bash"
Added Generic IAX Extension via FreePBX

Installed Attractel Zoiper softphone for easy testing
Installed Counterpath X-Lite softphone
  • configured new IAX account (basically user / password) and registered Zoiper phone
  • configured new SIP account (basically user / password) and registered X-Lite phone
  • called voicemail, myself, some feature codes, etc. to test basic functionality.
Added IVR module using FreePBX Module Admin option.
  • added Test IVR with a few useless options
  • added feature code in FreePBX to access from softphone
  • added blank inbound route to same IVR and used 7777 to simulate call from softphone

Made some test calls between Zoiper and X-Lite.  Found X-Lite seems to support Asterisk's implementation of presence basically natively.  After some very simple configuration in X-Lite that involved adding the other Zoiper extension to the contact list, the X-Lite contact list was updated when a call was in / was not in progress on the other Zoiper extension.  See setup and updated list below:

X-Lite contact list config
X-Lite reflects Zoiper is in call
A little research on Voip-Info indicates it is as well. Although Asterisk doesn't seem to use the Presence Information Data Format (PIDF) defined in RFC 3863, this functionality / type of support is what my customer is looking for regarding BLF buttons.


Added Queueing and Queuing Priorities Asterisk modules via FreePBX. 
  • Don't need Queuing  Priorities except for testing.
  • Added test queue as option from test IVR.
  • Basic call routing and queuing features function as expected.
  • CID Prefix does not work.  Was expecting "Test" to prefix caller ID on test agent phone display. Will need to research dependencies / bugs.
  • Agent audio prompt to agent on answer works nicely.

No comments:

Post a Comment