Container Applications Primer
A Container Application executes a Voice Application, that is stored and served directly from Cloudonix's servers. Unlike a remotely hosted Voice Application, a Container Application is executed on-demand, much like AWS Lambda™ or GCP AppEngine™. In order to use a Container Application, it MUST BE connected to a Voice Application.
You can think of the relationship between the various Cloudonix resources (models) as following:
- A Customer Account owns Domains and Container Applications.
- A Domain owns DNID/Phone Numbers and Voice Applications.
- DNID/Phone Numbers are connected to Voice Applications, to activate them.
- Voice Applications are connected to Container Applications, for their execution runtime and logic.
To learn more about Container Application Management, click here.
Container Application Resources
Container Application URL
A Container Application is addressed using a URL with the cx:
schema, with a URL authority ("host name") hardcoded as hosted-app,
with the path part of the URL denoting the application name and the block name. For example, to deploy an domain voice application
configuration that invokes the customer hosted voice application installation named my-app
, set the voice application URL to cx://hosted/my-app/main
.
Container Application Blocks
Container Application blocks can be implemented using any of the runtimes supported by the Cloudonix's Container Applications environment, which currently include the following:
static
: Static CXML documentsforward
: Forward the request to an external HTTP/HTTPS resource to provide the block responseselect
: A static document that maps caller's input to other blocks - useful for quickly implementing IVR routing treesjavascript
: ECMAScript 2018 compatibleruby
: Ruby 2.5 compatible
Switching Between Blocks
Container Application blocks can setup event callbacks to trigger another named stage by just specifying the name of the block in the callback URL.
For example to send the result of a <Dial>
CXML operation to the block named dial-result
, use <Dial action="dial-result">
- Cloudonix will
correctly parse this relative URL to execute the next block in the same application.