Integrating Snom phones and Mac

February 5, 2011

So recently we setup our Arena installation to process the CDR records from our Asterisk phone server. This allows us to lookup a persons record and see who called them (and once we get our Telco lines switched to a PRI so we get caller ID information it will show who they called in to talk to as well).

For the past few months a few of our staff have been testing some new software that will interface with their desk phone. First a little about our environment. All our desktops are either Leopard or Snow Leopard. We have 2 different types of desk phones, the Snom 300 and the Snom 320. Basically the same phone but the 320 comes with more buttons.  Both phones work great as phones but do poorly when it comes to  accessing more “advanced” features like call history; they are just cumbersome to work with and navigate the menu and history with a simple 2-line display.

So this new software, we designed it to provide 2 primary features. The first is the ability to quickly and easily access call history information from your Mac through a simple popup menu interface. The phone app runs as a menu bar item only so it does not take up precious Dock space. The second feature is on-screen incoming call notification. Call history works by clicking on the phone icon in the menu bar and then highlighting the “call history” menu. The sub-menu displays the 5 most recent outgoing, incoming and missed calls. And by clicking on one of these calls your phone will instantly re-dial the number for you.

The incoming notification popup by default will show just the basic information about the call that the phone system sends along, which amounts to the phone number and sometimes the name of the caller. The popup also provides two buttons, one to dismiss the popup and one to send the call directly to voicemail. Additional caller information can be derived via two optional modules. The first is to lookup the phone number in your local address book for a match. The second will use the Arena API to look up the phone number. Both can return more information about the person, such as the “proper name”, picture and address. When the Arena feature is turned on a third button appears on the popup which allows the user to open the person’s record in Arena.

Our staff loves this integration. As a number of people have put it, their desk phone is suddenly useful to them. The fact that it is now easy to see who called them and easily return that call means they actually do so instead of just waiting for somebody to call back. As I.T. I often work on huge projects that are strictly internal and never see the light of day.  Switching our servers to VMWare is a good example, it was a great project, very helpful to our staff but they really know nothing about it, it doesn’t effect them directly. Rolling out enterprise level phone features is a project that directly effects the staff and improves their day-to-day work, which is very gratifying knowing that what I did is a direct help to others.

While I would consider the code open-source I have not yet published it anywhere.  I will probably try to do some final cleanup pieces and then post it up on code.google.com so other Snom/Mac users have access to it. I must give props to Snom for building a great phone in both hardware and software. The hardware is solid and easy to use (with the exception of the display, but few phones under $350 have decent displays) and the software provides access to just about every single option on the phone.

Screen-shot-2011-02-05-at-1.45.47-PM.png