When a web or mobile application developer talks about their latest app, one of the very first questions they answer is what application server hosts the server side of the app. It is safe to guess that the answer is either Java EE, Ruby on Rails, PHP, Python Django, or Node.js. All of these technologies have fought their way into the hearts of mainstream developers. Its not a single technology lock-in, but its not a discouragingly long list either.
But when a telecom application developer talks about their new voice application, it is anyone’s guess what the hosting platform is for the app. The industry is littered with hundreds of “open” platforms, often tied to hardware and focused on telecom niche application categories such as Office PBX, Customer Support, Telemarketing, Inbound Sales and others.
Why is this the case? Why is the telecom application platform market suffering from the fragmentation that is frowned upon in almost any other technology field. Fragmentation limits economies of scale, creates walled gardens with high switching costs and ultimately suffocates innovation. This challenge will be addressed at the Telecom App Developer Summit in November by a number of sessions.
One such session will tell the story of Healthsense – a US based tele healthcare technology company. Healthsense built a sophisticated sensor system that monitors patients at home, in senior living and skilled nursing settings. Based on signals from the monitoring sensors, the system evaluates a complex set of rules and implements workflows which engage a senior’s caretakers in real time. The Healthsense system handles a continuous, large volume of sensor data that trigger thousands of life critical phone calls every day.
Here is a diagram of the Healthsense flagship system:
The Healthsense engineering team is lead by Dean Anderson, VP of Engineering. Dean is responsible for the overall system architecture including WiFi sensors, back-end decision support, database, reporting and telephony. One of the key difficulties for Dean was to identify a technology platform for the telephony subsystem that could accommodate a number of stringent requirements such as:
1. Open standards and preferably open source application platform with well defined and documented APIs.
2. Flexibility for integration with third party systems, backend database, and core application logic.
3. High availability and fault tolerance support.
4. Detailed audit trail of all call transitions for prompt debugging of potential problems.
5. Reliable performance on commodity hardware and OS.
6. Horizontal, incremental scalability that can keep up with the pace of Healthsense’ growth curve.
7. Secure storage of voice prompts and other sensitive data that falls under HIPAA guidelines.
During his due diligence process Dean found out that there are two mature telecom middleware technologies that could work for his project – JSLEE and SIP Servlets. Telestax provided implementations for both so Dean reached out for a discussion. In the discovery phase we identified use cases that required a combination of IVR, Text to Speech, Conferencing, Outbound Dialing and other features.
For the sake of time efficiency we suggested that Healthsense use a relatively new Telestax product named Restcomm, which is built on top of SIP Servlets but adds a web friendly Domain Specific Language (RCML) and a RESTful API designed for B2BUA type of apps. Restcomm also includes a media server and provides adapters for third party TTS,
ASR, origination, termination, SMS and USSD service providers.
Eventually Dean gave us the green light for a proof of concept. Within several weeks most of the business logic was implemented and working in the lab. Several weeks later we received approval for production grade implementation that had to load balance and fail over traffic between an on-premise PRI and two alternative ITSPs. Fast forward, the project succeeded and its currently running in production, 24×7, handling thousands of life saving calls every day and every night.
At the TADS session “Helping baby boomers age safely with Telecom APIs” [insert link], we will dive deeper in the system implementation, and share some of the experiences related to the high availability and scalability requirements mentioned above. We will also talk about the 3rd party integration problems that we had to overcome (hint: some of those were not technical problems.)
To learn more about the Healthsense tele-health monitoring system, please follow this link http://www.healthsense.com/
To learn more about Restcomm, SIP Servlets or JSLEE, please follow this link and download the corresponding product data sheets or contact Telestax.
Other technical articles related to Restcomm can be found here.