Voice Application Verbs
The Cloudonix Platform offers the ability to deploy voice interactive applications quickly and easily without messing around with SIP protocol and media transports. Cloudonix Voice Applications are written as simple web sites that respond to incoming voice calls by serving CXML applications.
A CXML application is just an XML file using the Cloudonix Voice Application Markup Language (which is mostly compatible with TwiML). The CXML application instructs the Cloudonix Platform how to handle the voice call, including: playing audio or synthesized speech, listening for DTMF signals or speech, dialing out to various destinations (both local domain subscribers and outbound SIP trunks), conference calls, queues and much more.
Cloudonix Voice Application can be hosted on a standard web servers or implemented in any web service technology and can be deployed on a variety of hosting platforms, from classic stand-alone web server software such as Apache and Nginx through various hosting environments such Heroku and AWS Lambda and even hosted directly on the Cloudonix platform itself using the Cloudonix Container Applications feature.
How A Cloudonix Voice Application Works
A Cloudonix Voice Application is run by the Cloudonix APP.Core Application Runtime when a call is received for one of the DNIDs (Dialed Number Identifier) that are configured for the application. When such a call is received by the Cloudonix Application Runtime, the engine sends an HTTP request the Voice Application to notify it of the call and request instructions on how to proceed.
The Voice Application logic can read all the call details from the HTTP request and will then produce a CXML document with instructions for the runtime how to proceed with the call (one might think of it as "compiling code for the runtime"). The runtime then performs whatever actions the Voice Application asked to execute and will then call the Voice Application again with the results (according to the specific callback URLs the application has set up).