Domain
You may explore this data model via the API Playground, by clicking here
The Cloudonix domain model is used to represent an application domain for a customer. Subscribers, calls, applications and DNIDs can only exist and interact in a single domain. For calls to be received from or to be sent to outside the domain, a call must be routed through an outbound or inbound trunk.
API Reference
Base Path /customers/{customer}/domains[/{domain}]
$ curl 'https://api.cloudonix.io/customers/self/domains' \
--header 'Authorization: Bearer XI•••••••••••••••' -s
Properties
Property | Type | Editable | Description |
---|---|---|---|
domain | String | Create | The domain name for this domain. The name is unique across the Cloudonix Platform. |
profile | Object | Create, Update | A set of metadata properties that can be assigned to the domain. The Cloudonix Platform recognizes and reads some specific properties, while the customer may also update the profile with whatever metadata they wish to store in Cloudonix. |
active | Boolean | Update | Whether this domain is active or has been deactivated. Inactive domains cannot be used to handle voice calls or most API calls. |
application | Application | Update | The default application for the domain. See below for details. |
aliases | Array[Alias] | Update | Domain name aliases. Calls will be routed to this domain if they match any of the aliases in the list. See the Domain Aliases model for details. |
tenant | Object | No | The customer account that owns this domain. |
Domain Profile Properties
The following properties are recognized by Cloudonix when set in the domain's profile
field:
Property | Type | Description |
---|---|---|
authorization-api-key | String | An API key to be used as default for all HTTP calls to customer endpoints, as an authorization bearer token |
call-timeout | Number | The default ringing timeout for a call in this domain, unless overridden for a session, in seconds. Default: 60 |
registration-free-control-endpoint | String | A URL to receive Registration-Free™ incoming call notifications |
registration-free-control-endpoint-api-key | String | An API key to be sent to the Registration-Free™ control end-point as an authorization bearer token |
allowed-border | Boolean | Whether to allow calls from inbound trunks to be dialed back out through an outbound trunk. Default: false |
redirect-unknown-to-border | Boolean | Whether to allow calls with no LCR plan to be routed automaticaly through an outbound trunk if the destination is not a subscriber. Default: true |
subscribers-auto-progress | Boolean | Whether to automatically send SIP 183 status ("PROGRESS ") when a call is received by Cloudonix. Default: true |
session-update-endpoint | String | A URL to receive session update notifications if no session callback is specified on a session being updated. |
lcr-address | String | The LCR URL endpoint to query for least cost routing configuration for oubound calls without a pre-determined last cost routing plan. If set, this URL will be queried, using the Cloudonix LCR protocol, to generate an LCR plan for such outbound calls. |
allow-passthrough-caller-name | Boolean | Whether to pass the unauthenticated display name provided by the caller, to the receiver, when the voice application did not set a callerName attribute on the Dial command. Default: true |
allow-subscriber-authorized-calls | Boolean | Whether a subscriber can issue an API call to create a new sessions (authorize a call) with a subscriber API key. Default true . |
messaging-notification-url | URL | URL to receive notifications when an API.Messaging message is sent by a subscriber. The supported URI schemas are http , https , ws , and wss . |
messaging-archive-bucket-name | String | Name of an alternative S3 bucket to store the API.Messaging message archive for the domain. |
cdr-endpoint | String or Array (String ) | An address, or a list of addresses, that will receive Call Data Records for every call that completes in the domain. The value, or values, must be a URL with the schema http , https , ws , wss , or nats for the an API endpoint that supports HTTP, WebSocket or NATS |
connection-timeout | Number | Seconds to wait, in an outbound call, for the remote trunk to return a "progress" (ringing) or "answer" response, before trying the next trunk (or canceling). Default: 10. |
provisional-timeout | Number | Seconds to wait, in an outbound call, for the remote trunk to return a provisional response, before trying the next trunk (or canceling). Default: 2. |
recording-media-type | String | Prefered audio format for recording - can be one of wav or mp3 . |
speech-engine | google or aws | The default Speech-To-Text engine to use for CXML <Gather> verbs, if not specified. |
say-voice | String | The default Text-To-Speech engine or voice to use for CXML <Say> verbs, if not specified. See the <Say> documentation for details. |
converse-model | String | The default large language model provider or model to use for CXML <Converse> verbs, if not specified. See the <Converse> documentation for details. |
All profile fields can be updated or specified during creation.
Default Voice Application
When a call is routed in the domain (either a call from a subscriber in the domain, or a call routed through a domain trunk), the Cloudonix Platform launches a voice application to handle the call. If the Cloudonix Platform finds a matching DNID to the call's destination number (see the DNID documentation), then the Cloudonix Platform will launch the voice application bound to that DNID. If no matching DNID is found, the Cloudonix Platform will launch the default voice application specified for the domain.
Whenever a domain is created, Cloudonix installs into the domain a set of built-in voice applications that may be used by the customer immediately with minimal or no configuration. One of those built-in voice application is the Cloudonix Call Routing voice application, and this application is set as the default application for new domains. The built-in Cloudonix Call Routing voice application provides an out-of-the-box PBX experience as it allows calls to be routed between subscribers, from trunks to subscribers, and - by default - routes calls to unknown destinations (i.e. when the call's destination matches no subscriber) through the set of outbound trunks.
While the Cloudonix Call Routing voice application offers some customization through setting of domain profile properties (see above), if a non-standard routing strategy is desired, customer are encouraged to develop their own custom call routing voice application, with CXML and the Cloudonix Platform SDK, and configure it as the domain's default voice application.