Envoy® Updates – Building a “Better” Soft Phone, Part One

By | January 8, 2016

The concept of the “soft phone” has been around a long time – so why do they all still look the same (boring) and why do they still support basic call control only? Sure, you can put software running on your agent desktop that offers some call control functionality, and maybe it even incorporates a data display for data that is associated with the active call. But does that soft phone work as if it were a part of your custom desktop applications? Can you add new call data fields to it with no programming required? Can you embed it in your custom applications? Can you make it “alert” other applications on your desktop about CTI related events from the switch? Can it exchange data with your other applications? Can you continue to use it if you were to move your phone system to another switch vendor?

If you answered “no” to any of the questions above, you are not alone; unfortunately most call centers have to “put up with” a vendor specific soft phone. A soft phone that is a separate application – that is necessary – yet gets relegated to doing nothing more than logging your agent into an ACD and perhaps being used for some basic call control features. But why should you “put up with” an application that runs on all your agent desktops and is one of a handful of critical touch points within your business’ customer interactions? What if, you could have a soft phone made for your environment – what would be on your wish list?

Event Driven – The Envoy® Soft Phone is very efficient because it operates within an architecture that supports the “push” model. So rather than the normal soft phone being “blind” to the switch state and thus trying to issue a command to the switch and synchronously wait for a response, Envoy® Soft Phone is “notified” about events happening on the switch; it stays “informed” – after all, telephony events can occur at any time. Envoy® Soft Phone stays synchronized with things such as call states, data changes associated with a call, CTI link status, it can even be notified when other agents join or leave the monitored domain. A great advantage of the push model is also that the efficiency of the network is improved; rather than clients polling the CTI link for “new” events – unnecessarily putting more traffic on the network – the Envoy® Soft Phone is alerted to events only when the events actually occur.

Event Subscription – Building upon the above stated support of event driven code and the push model architecture, we can further optimize a soft phone client of the framework such that it only requests to be notified of specific events. In other words, the Envoy® Soft Phone can subscribe for events on a named basis so as to only be notified of events it is interested in receiving or processing. Event subscription allows for further reductions in network traffic – for instance, a soft phone may be interested in a “Conference” event while an IVR port running the same soft phone application logic may not want this event because the IVR will never do a conference. So the IVR can choose to set its’ “event mask” to inform the server to filter out conference event notifications; this will not only save network traffic but will also reduce server side processing as the server would otherwise process the event and build a notification to be sent to the client.

Event Actions – In order for a soft phone to show a status or call state, the telephony event (that happened to change the status / state) is going to need to be transported from the switch to the CTI link and finally to the soft phone in order for the display to be accurate. So why settle for simple display only logic? The Envoy® Soft Phone combined with advanced event processing logic in Envoy® Server can be configured to perform operations – based upon events – thus taking full advantage of the fact that the event “occurred”. The results of this “event action” can be transported up the wire to the soft phone just as easily as the original event notification. The Envoy® Soft Phone takes full advantage of this built in event notification mechanism that is already in place to provide more power to your desktop applications.

Custom Data Integration – Using the previous building blocks above – one can see the true power of a push model combined with configurable “event actions”. Now your previously passive soft phone is an active desktop element – receiving telephony event notifications that can be associated with results of “event action” operations. So why not make this “fact” of telephony events work for you? Use event actions combined with your own data stores. The Envoy® Server can efficiently manage a pool of connections to your data store. This model is much more efficient than having every single desktop client connect to your data store. Not only can Envoy® Server manage the connections for you, it can route data sets to a specific clients much the same way the telephony event itself is delivered to the correct agent desktop. In a “normal” soft phone (with no event action capability), once the soft phone is aware of the inbound call, a backend system must be queried (usually by a secondary application, not the soft phone) for associated data. With Envoy® Server the backend system query can be done when the event occurs, prior to delivering to the agent desktop. Now think about it – less clients hitting your data store and also less network trips to get the same data. What if an IVR, a visual event monitor (or reader board), and a supervisor panel are all interested in the same event? This would usually mean the CTI Server or CTI link would need to produce three events and send them to three different clients. Why process an event three times and then build the same message three times, once each for the IVR port, the event monitor, and the supervisor panel? Envoy® Server processes the event one time, builds the notification one time, and then multi-casts the notification to all interested parties. Envoy® Server multi-cast – the data store and network optimizations really stack up fast now! Couple that with better data integration…

Hang on to your seats for Part 2 of this article and then stay tuned for additional “Envoy® Updates” in the next VEXIS Voice!

Richard Wolff, Director of Software R&D