Working for one of our clients I was asked to integrate CRM2011 with the Altitude VoIP Call Center Aplication. At the beggining i thought it would be an imposible task mainly because CRM2011 executes on a web server different from the client machine with IEplorer where the VoIP Phone Device was connected.
Talking to the altitute development team, they provided me with a test windows form application that installed on the client machine would do the work of connecting to the Call Center.
Once i got the windows form aplication working i had the idea of connecting both systems (CRM2011 and the Windows Form App) using a SIlverlight application on the CRM2011 EndPoint that will work just as a Control Panel of the Windows form application. This silverlight APP will send simple commands as text messages to the Windows Form and viceversa. All the hard work will be done by the Windows Form app and the Silverlight will have just come buttons and will just send and receive simple commands looking like this.
To be able to communicate a Silverlight app with any windows form application we can use the famous Eneter Libraries the way described in this great post of Ondrej Uzovic.
This way the silverlight control panel will send messages like:
- “Call 648332222”
- “Hold phoneCall” or “Restore it”.
- “Mute phonecall”
- “Trasfer call”
And the Windows Form application after reciving the messages, will just call the same functions invoked by its buttons (call, hold…). The windows form app looks like this.
Following this architechture we will be able to conect CRM with any external system as far as this system is able to connect to a Windows Form Aplication.