AirTable Data Store
We'll use AirTable as our data store for campaign and destinations management. In addition, we'll store our voice applications in Airtable and we'll also log status updates to a log table. Below you will find the structures of these tables.
Campaign Table
Column Name | Type | Description |
---|---|---|
Name | Single line text | The campaign name. |
Caller ID | Single line text | The Caller ID to present to the destination being dialled. Different countries may have various regulations about this setting. |
Owner Email | email | The Campaign owner email, to be used for reporting purposes and/or error notifcations. |
Date Start | Date | The Campaign start date. Prior to thie date, the Campaign is considered DISABLED. |
Date End | Date | The Campaign end date. After this date, the Campaign is considered DISABLED. |
Hour Start | number | The Campaign start time. Prior to this hour of the day, the Campaign is considered DISABLED. |
Hour End | number | The Campaign end time. After this hour of the day, the Campaign is considered DISABLED. |
CallbackURL | string | The Status Updates Watcher endpoint. Status updates will be sent to this URL as the call progresses. |
Status | Single Select | Either of the following: New , Active , Completed , Disabled . Only Campaigns with the Active status will be considered for execution. |
Created | Created Time | Campaign creation date and time. |
Modified | Last Modified Time | Campaign last modification date and time. |
Queue | Link to Queue Table | A link to the Queue Table, showing the assocaited phone numbers to this Campaign. |
Voice Application Table
Column Name | Type | Description |
---|---|---|
Name | Single line text | The Voice Application Name. |
Type | Single Select | Either of the following: CXML Document or HTTP Endpoint .Read More Below |
Data | Long Text | Either a valid CXML Document or a remote URL. |
Status | Single Select | Either of the following: Enabled , Disabled . |
Created | Created Time | Voice Application creation date and time. |
Modified | Last Modified Time | Voice Application last modification date and time. |
Queue | Link to Queue Table | A link to the Queue Table, showing the assocaited phone numbers to this Voice Application. |
Voice Application Types
CXML Document
A CXML Document
is a valid CXML call-flow script as defined by the CXML Referece. This Voice Application Type is recommended
when you want to achieve optimal response performance, following the remote destination call answer.
HTTP Endpoint
An HTTP Endpoint
may be a Make scenario, or a remotely served CXML Document
. This option is a little slower than CXML Document
type,
as the remote endpoint must be queried first, prior to Voice Application execution.
Queue Table
Column Name | Type | Description |
---|---|---|
Phone Number | Single line text | The destination phone number to be used. |
Campaign | Link to Campaign Table | A link to the Campaign Table, showing the Campaign name for this destination. |
Voice Application | Link to Voice Application Table | A link to the Voice Application Table, showing the Voice Application name for this destination. |
Status | Single Select | Either of the following: Pending , Busy , No Answer , Answer , Failed , Congestion , Processing , Ringing , New . Read More Below |
Token | Single line text | A Cloudonix platform token, that uniquely identifies this call entry in Cloudonix. Use this when querying the Sessions API. |
Duration | number | If the call was answered, what was its duration? |
Retry | number | The maximum number of dial attempts to reach the destination. |
Dial Counter | number | The number of dial attempts that was made, to reach the destination. |
Created | Created Time | Queue entry creation date and time. |
Modified | Last Modified Time | Queue entry modification date and time. |
Name | Lookup from Voice Application Table | The Voice Application name associated with this queue entry. |
Type | Lookup from Voice Application Table | The Voice Application type associated with this queue entry. |
Data | Lookup from Voice Application Table | The Voice Application data assocaited with this queue entry. |
Queue Statuses
When creating a new record in the Queue Table, the default Status will be Pending
, indicating it's ready for processing.
The table below explains each of the possible Statuses and the transitions between them.
Status | Description | Next Status |
---|---|---|
New | A record carrying this status will not be processed, till the status is changed to Pending . | |
Pending | A record carrying this status will be processed for dialing. | Processing |
Processing | A record carrying this status is being processed by the Queue Processor. | Ringing |
Ringing | Call is currently ringing at the remote destination. | See Result Statuses table below. |
Result Statuses
Result Status | Description |
---|---|
Answer | The call was answered by the remote party and the Voice Application was executed. |
No Answer | The call timed out while ringing at the destination. |
Busy | The call received a network busy signal from the remote destination. |
Failed | The call had failed to properly initiate. (eg. the destination provided isn't available via any outbound voice trunk) |
Congestion | The call had failed to properly initiate due to lack of resources. >(eg. no more available channels with the telephony carrier) |
Log Table
Column Name | Type | Description |
---|---|---|
Token | Single line text | A Cloudonix platform token, that uniquely identifies this call entry in Cloudonix. Use this when querying the Sessions API. |
Object | Long Text | The log entry object, encoded as a String value. |
Created | Created Time | The log entry creation date and time. |