Call Detail Records (CDR)
If you hadn't yet read the intro part of this section, please click here to read it first.
A call detail record (CDR) is a data record produced by a telephone exchange or other telecommunications equipment that documents the details of a telephone call or other telecommunications transactions (e.g., text message) that passes through that facility or device. The record contains various attributes of the call, such as time, duration, completion status, source number, and destination number. It is the automated equivalent of the paper toll tickets that were written and timed by operators for long-distance calls in a manual telephone exchange.
In Cloudonix, CDR records are produced automatically at the end of a voice call session. A CDR record will always be generated - regardless of the final session status. CDR records are used for billing, accounting and reporting purposes - and as such, it represents the final, most authoritative source of truth, regarding the voice call session.
Module Usage
Setup Overview
Click the Create a new scenario button to create a new scenario, the following view will appear:

Cloudonix Connection Setup
In the search box write Cloudonix to look for the Cloudonix application you installed. We will now create a
new Call Detail Records
trigger:

The following image will appear on your view canvas:

Click the Create a webhook button to create a new CDR webhook.

Give a unique name to your new webhook and click the Add button, to create a new connection to Cloudonix. The following dialog will appear:

Make sure to paste your Domain API Key that you created.

You are now ready to start working on your external voice application.
Webhook Input Parameters
TL;DR Reference
While the complete JSON object input includes multiple parameters, the following table includes that most common
parameters used. Some of the parameters are returned by action
- which means, they are only made available, when
the webhook is invoked as a result of an action
defined in a module
.
Parameter | Type | Description |
---|---|---|
timestamp | Integer | Epoch based timestamp of the CDR record. |
subscriber | String | If the call originated from a Cloudonix subscriber endpoint, it will appear here. |
from or callerId | String | The SIP From Header in human readable form. |
to or destination | String | The SIP To Header in human readable form. |
Domain | String | The Cloudonix domain name |
duration | Integer | How long did the call last? (from call dial till hangup). |
billsec | Integer | How long was the call connected with audio services? (from call answer till hangup). |
disposition | String | Final status of the call. May be any of the following:ANSWER , BUSY , CONNECTED , CONGESTION , ERROR , FAILED , NOANSWER |
callStartTime | Integer | Epoch based timestamp of the call start time. |
callEndTime | Integer | Epoch based timestamp of the call end time. |
callAnswerTime | Integer | Epoch based timestamp of the call media establishment time. |
token | String | A unique identifier for this session. This is important - when reporting an issue to Cloudonix, this token will help identify the problematic session and will enable faster resultion. |
Input Reference
When invoked, a JSON object will be made available to Make.com, that looks like this:
CDR Request Parameters
[
{
"timestamp": 1716239100,
"domain": "xxxxxxxx.yyyyyyyyy.com",
"subscriber": null,
"from": "iiiiiiiiii",
"to": "jjjjjjjjj",
"cx_trunk_id": null,
"application": null,
"route": null,
"duration": 33,
"billsec": 31,
"disposition": "CONNECTED",
"rated_cost": null,
"approx_cost": null,
"sell_cost": null,
"vapp_server": "172.24.xxx.xxx",
"call_id": "0b515a4c3c683a5c51048b2c3758719f@xxx.xxx.xxx.xxx:5060",
"session": {
"id": 9812750,
"domainId": 755,
"domain": null,
"destination": "jjjjjjjjj",
"callerId": "iiiiiiiiii",
"token": "3caa3541d5f8497e9c79ea30ef689677",
"timeLimit": 0,
"profile": {
"callId": [
"0b515a4c3c683a5c51048b2c3758719f@xxx.xxx.xxx.xxx:5060"
],
"inbound-trunk-name": "fromTrunk-Name",
"qos": {
"CHANNELQOS": "ssrc=1909495585;themssrc=0;lp=0;rxjitter=0.000000;rxcount=0;txjitter=0.000000;txcount=106;rlp=0;rtt=0.000000;rxmes=0.000000;txmes=0.000000",
"ssrc": "1909495585",
"themssrc": "0",
"lp": 0,
"rxjitter": 0,
"rxcount": 0,
"txjitter": 0,
"txcount": 106,
"rlp": 0,
"rtt": 0,
"rxmes": 0,
"txmes": 0,
"rx_mos": "NaN",
"tx_mos": 4.4
},
"application": [
{
"time": "2024-05-20T21:05:02Z",
"url": "https://hook.eu1.make.com/ml2u7j35hid88toh41diir5tnocmj9w7",
"source": "[Your Voice Application CXML Document will appear here]",
"context": "applicationRequest",
"error": null
}
],
"inbound-trunk-id": 610
},
"callStartTime": 1716239100387,
"callEndTime": 1716239134343,
"callAnswerTime": 1716239102610,
"status": "connected",
"vappServer": "172.24.xxx.xxx"
}
}
]