The sipsorcery switchboard project was released with great fanfare 6 months ago now. Despite the fact that I wrote it I still think it’s a great product with a lot of potential. The biggest problem the early adopters have had is the extra effort required to configure their dial plans; sipsorcery dial plans are tough enough as they are without having to include yet another trick for a product that’s supposed to make life easier. Consequently shortly after its release I set about to remedy the situation by creating a new dial plan wizard to make creating dial plans a lot simpler and avoid the need for users to be Ruby experts. However I got sidetracked with various things such as digging into Google Voice’s XMPP support and the sipsorcery AJAX client.
I’m still yet to finish the dial plan wizard although in the last couple of weeks I’ve made some good progress. What I’ve also been working on in parallel is another aspect of the switchboard that I realised could be a lot better. In the current version the switchboard can match incoming calls against a list of contacts that are maintained in a sipsorcery maintained contacts list. That works fine but for the small business users the switchboard is aimed at they are already likely to already have their contacts maintained in a CRM system somewhere else. To make it more attractive to such users I’ve chosen SharePoint 2010 and Highrise from 37Signals to integrate the switchboard with. I have also done some proof of concept work with SugarCRM. Salesforce would be another obvious candidate but I’ve got to start somewhere.
The screenshots below demonstrate the integration with Highrise.
SharePoint 2010 Integration
With SharePoint the integration can be very tight since the switchboard is a Silverlight application and SharePoint 2010 can host Silverlight web parts out of the box. However the standard SharePoint contact management is nowhere near as good as a dedicated application like Highrise. That being said there are a multitude of companies that produce web parts to enhance SharePoint and there’s bound to be a few good contact management ones around.
In case you are still wondering the whole point of the switchboard is to be a virtual replacement for a small business PBX system. One of the painful things about starting work at a new company is working out the black magic that’s required to operate the phone system. The switchboard would remove that burden by being the application to handle all the normal PBX functions like transfers, call hold, line presence and of course CRM integration. With the switchboard a small biz could purchase any old SIP phones and not have to worry about maintaining their own SIP server or PBX system. It would also be better than a hosted VoIP or SIP offering as there are very few of those that offer any real-time call handling capability and invariably they want to get in the call path adding extra latency. The switchboard actually runs a SIP stack within the Silverlight application which means when the operator presses the menu buttons or extensions the call handling is all done via SIP signalling. This gains anywhere from one to five seconds over a mechanism that overlays HTTP or Web Services on top of SIP and means there’s no danger of a caller hanging on the other end of the line while a web server sorts itself out or does the data crunching to wrap up a SOAP request.