Skip to main content

Domain

For the impatient

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}]

Request Example
$ curl 'https://api.cloudonix.io/customers/self/domains' \
--header 'Authorization: Bearer XI•••••••••••••••' -s

Properties

PropertyTypeEditableDescription
domainStringCreateThe domain name for this domain. The name is unique across the Cloudonix Platform.
profileObjectCreate, UpdateA 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.
activeBooleanUpdateWhether this domain is active or has been deactivated. Inactive domains cannot be used to handle voice calls or most API calls.
applicationApplicationUpdateThe default application for the domain. See below for details.
aliasesArray[Alias]UpdateDomain 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.
tenantObjectNoThe customer account that owns this domain.

Domain Profile Properties

The following properties are recognized by Cloudonix when set in the domain's profile field:

PropertyTypeDescription
authorization-api-keyStringAn API key to be used as default for all HTTP calls to customer endpoints, as an authorization bearer token
call-timeoutNumberThe default ringing timeout for a call in this domain, unless overridden for a session, in seconds. Default: 60
registration-free-control-endpointStringA URL to receive Registration-Free™ incoming call notifications
registration-free-control-endpoint-api-keyStringAn API key to be sent to the Registration-Free™ control end-point as an authorization bearer token
allowed-borderBooleanWhether to allow calls from inbound trunks to be dialed back out through an outbound trunk. Default: false
redirect-unknown-to-borderBooleanWhether 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-progressBooleanWhether to automatically send SIP 183 status ("PROGRESS") when a call is received by Cloudonix. Default: true
session-update-endpointStringA URL to receive session update notifications if no session callback is specified on a session being updated.
lcr-addressStringThe 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-nameBooleanWhether 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-callsBooleanWhether a subscriber can issue an API call to create a new sessions (authorize a call) with a subscriber API key. Default true.
messaging-notification-urlURLURL 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-nameStringName of an alternative S3 bucket to store the API.Messaging message archive for the domain.
cdr-endpointString 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-timeoutNumberSeconds 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-timeoutNumberSeconds 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-typeStringPrefered audio format for recording - can be one of wav or mp3.
speech-enginegoogle or awsThe default Speech-To-Text engine to use for CXML <Gather> verbs, if not specified.
say-voiceStringThe default Text-To-Speech engine or voice to use for CXML <Say> verbs, if not specified. See the <Say> documentation for details.
converse-modelStringThe 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.