Voice IN Service CDR Streaming
Voice IN CDR Streamer enables its users to receive near real-time CDRs. CDRs are delivered within 3 seconds after call completion to the customer’s designated HTTP endpoint.
HTTP request payload example:
{"type":"inbound-cdr", "id":"3d6af8ac-5ed1-11ea-bc9d-005056845b1e","attributes" : {"sub_customer_tf_connection_fee":0,"trm_initial_interval":null,"sub_customer_trm_duration":null,"metered_channels_duration":null,"sub_customer_trm_next_interval":null,"metered_channels_amount_no_vat":null,"local_tag":"10-04336EB9-5DBAF4AA000E6DDB-6A41F700","metered_channels_next_interval":null,"sub_customer_trm_rate":0,"disconnect_initiator":1,"legb_disconnect_reason":"","metered_channels_connection_fee":null,"duration":0,"is_last_cdr":true,"sub_customer_tf_duration":null,"customer_vat":0,"tf_connection_fee":0,"metered_channels_rate":null,"sub_customer_trm_connection_fee":0,"success":false,"dst_number":"97239723915909200","trm_duration":null,"tf_duration":null,"time_connect":null,"time_start":"2019-10-31 14:50:18.930234","sub_customer_trm_amount":null,"term_call_id":"","src_name":"","did_number":"972397239159092","early_media_present":false,"tf_initial_interval":null,"metered_channels_amount":null,"time_end":"2019-10-31 14:50:18.946403","trm_rate":0,"sub_customer_tf_next_interval":null,"trm_amount":null,"internal_disconnect_code":480,"trm_amount_no_vat":null,"sub_customer_tf_initial_interval":null,"trunk_destination":"iax:324@34234234","tf_rate":0,"out_pop_id":1,"sub_customer_tf_rate":0,"sub_customer_tf_amount":null,"sub_customer_trm_initial_interval":null,"tf_amount":null,"legb_disconnect_code":0,"routing_attempt":1,"is_redirected":false,"tf_next_interval":null,"metered_channels_initial_interval":null,"transport_protocol_id":null,"tf_amount_no_vat":null,"trm_next_interval":null,"trm_connection_fee":0,"src_number":"","user_agent":null,"internal_disconnect_reason":"DID number overloaded"}}
{"type":"inbound-cdr", "id" : "1c3f702a-5ed0-11ea-bc9c-005056845b1e","attributes" : {"sub_customer_tf_connection_fee":0,"trm_initial_interval":null,"sub_customer_trm_duration":null,"metered_channels_duration":null,"sub_customer_trm_next_interval":null,"metered_channels_amount_no_vat":null,"local_tag":"10-6C9724C3-5DBAF487000C0583-6A520700","metered_channels_next_interval":null,"sub_customer_trm_rate":0,"disconnect_initiator":3,"legb_disconnect_reason":"Bye","metered_channels_connection_fee":null,"duration":35,"is_last_cdr":true,"sub_customer_tf_duration":null,"customer_vat":0,"tf_connection_fee":0,"metered_channels_rate":null,"sub_customer_trm_connection_fee":0,"success":true,"dst_number":"972397239159092","trm_duration":null,"tf_duration":null,"time_connect":"2019-10-31 14:49:43.796925","time_start":"2019-10-31 14:49:43.775349","sub_customer_trm_amount":null,"term_call_id":"10-10-7ED7C3EC-5DBAF487000C1C19-8FCFC700","src_name":"4","did_number":"972397239159092","early_media_present":false,"tf_initial_interval":null,"metered_channels_amount":null,"time_end":"2019-10-31 14:50:18.85648","trm_rate":0,"sub_customer_tf_next_interval":null,"trm_amount":null,"internal_disconnect_code":200,"trm_amount_no_vat":null,"sub_customer_tf_initial_interval":null,"trunk_destination":"sip:972397239159092@didww.com","tf_rate":0,"out_pop_id":1,"sub_customer_tf_rate":0,"sub_customer_tf_amount":null,"sub_customer_trm_initial_interval":null,"tf_amount":null,"legb_disconnect_code":200,"routing_attempt":2,"is_redirected":false,"tf_next_interval":null,"metered_channels_initial_interval":null,"transport_protocol_id":1,"tf_amount_no_vat":null,"trm_next_interval":null,"trm_connection_fee":0,"src_number":"4","user_agent":"Asterisk PBX 11.13.1~dfsg-2+deb8u5","internal_disconnect_reason":"Bye"}}
Warning
Request Payload encoded as gzip so customer’s API should support gzip.
CDR attributes description:
- type
String
CDR type. Voice IN CDR will be marked as inbound-cdr- id
String
Unique CDR identifier in UUID format.- attributes
Hash
Structure contains all CDR attributes. See description below.- time_start
Timestamp
Start time when the initial INVITE is received.- time_connect
Timestamp
Time after the successful handshake (200OK SIP).- time_end
Timestamp
Time when the call was disconnected.- duration
Integer
Call duration in seconds. For the non-connected calls duration will be 0.- disconnect_initiator
Integer
Indicates which part initiated disconnection. Possible values:
0 Routing engine
1 SBC
2 Disconnect was initiated by called destination network
3 Disconnect was initiated by call originator
- internal_disconnect_code
Integer
DIDWW internal disconnect code.- internal_disconnect_reason
String
DIDWW internal disconnect reason.- legb_disconnect_code
Integer
SIP response code received from the destination network.- legb_disconnect_reason
String
SIP disconnect reason received from the destination network.
- routing_attempt
Integer
Routing attempts to reach the destination network.
- is_last_cdr
Boolean
Indicates the last attempt to reach the destination network in the event of fail-over.- success
Boolean
Indicates that the call was successful.- term_call_id
String
SIP Call-ID of call leg between the DIDWW and customer equipment.- local_tag
String
Internal identifier of the call record.- did_number
String
DID number in the full format.- src_name
String
Incoming caller name .- src_number
String
Incoming Caller-ID.- dst_number
String
Called destination number.- trunk_destination
String
Call destination in URI format.- customer_vat
Numeric
Charged VAT amount for the call.- tf_rate
Numeric
Customer Toll-Free rate.- tf_connection_fee
Numeric
Customer Toll-Free connection fee.- tf_initial_interval
Integer
Initial billing interval for Toll-Free service.- tf_next_interval
Integer
Next billing interval for Toll-Free service.- tf_duration
Integer
Call duration rounded to configured billing interval for Toll-Free service.- tf_amount
Numeric
Customer Toll-Free accumulated amount.- tf_amount_no_vat
Numeric
Customer Toll-Free accumulated amount without VAT.- trm_rate
Numeric
Customer termination rate. Applies when PSTN forwarding is used- trm_connection_fee
Numeric
Customer termination connection fee. Applies when PSTN forwarding is used.- trm_initial_interval
Integer
Initial billing interval length in seconds for the PSTN forwarding.- trm_next_interval
Integer
Next billing interval length seconds for the PSTN forwarding.- trm_duration
Integer
Call duration rounded to configured billing interval for the PSTN forwarding.- trm_amount
Numeric
Customer PSTN termination accumulated amount.- trm_amount_no_vat
Numeric
Customer PSTN termination accumulated amount without VAT.- metered_channels_rate
Numeric
Metered capacity rate.- metered_channels_connection_fee
Numeric
Metered capacity connection fee.- metered_channels_initial_interval
Integer
Metered capacity initial billing interval in seconds.- metered_channels_next_interval
Integer
Metered capacity next billing interval length.- metered_channels_duration
Integer
Metered capacity charged duration.- metered_channels_amount
Numeric
Customer metered capacity accumulated amount.- metered_channels_amount_no_vat
Numeric
Customer metered capacity accumulated amount excluding VAT.sub_customer_id Numeric
Sub customer ID value.- sub_customer_tf_rate
Numeric
Sub customer rate for the Toll-Free service.- sub_customer_tf_connection_fee
Numeric
Sub customer connection fee for the Toll-Free service.- sub_customer_tf_initial_interval
Integer
Initial billing interval length in seconds for the Toll-Free service.- sub_customer_tf_next_interval
Integer
Next billing interval length in seconds for the Toll-Free service.- sub_customer_tf_duration
Integer
Sub customer call duration for the Toll-Free service and billing interval lengths.- sub_customer_tf_amount
Numeric
Sub customer amount for the Toll-Free service.- sub_customer_trm_rate
Numeric
Sub customer rate for the PSTN forwarding service.- sub_customer_trm_connection_fee
Numeric
Sub customer connection fee for the PSTN forwarding service.- sub_customer_trm_initial_interval
Integer
Initial billing interval for the PSTN forwarding service.- sub_customer_trm_next_interval
Integer
Next billing interval for the PSTN forwarding service.- sub_customer_trm_duration
Integer
Sub customer call duration for the PSTN forwarding service and billing interval lengths.- sub_customer_trm_amount
Numeric
Sub customer amount for the PSTN forwarding service.- out_pop_id
Integer
DIDWW Point of Presence for the call leg from DIDWW to customer. Possible values:1 USA New-York
2 EU Frankfurt
4 USA Los-Angeles
5 USA Miami
6 AS Singapore
7 AS Hong Kong
8 EU Amsterdam
- transport_protocol_id
Integer
Transport protocol used between DIDWW and the customer gateway: Possible values:1 UDP
2 TCP
3 TLS
- user_agent
String
User-Agent and Server header values from the customer gateway.- is_redirected
Boolean
Used to indicate if call was redirected by 3xx SIP response. Possible values:
True
False
- early_media_present
Boolean
Indicates if early media stream is present in the destination gateway. Possible values:
True
False
Batching
CDRs are delivered in batches, HTTP POST request can contain multiple CDRs. Maximum batch size is 1000. Destination API should be able to process multiple CDRs in same request.
Error handling
If the destination API responds with 2xx HTTP code, streaming interface will consider all CDRs sent in that request as processed and they will be automatically deleted from the queue. In case of HTTP error (non 2xx response or timeout), CDRs will be stored in the queue and will re-attempt to deliver them after 3 seconds.
Warning
The queue length is limited to 10,000 records per customer. Extended downtime or increased delays in processing requests may result in data loss on the customer’s endpoint. For this reason, the CDR Streaming mechanism should not be relied upon as the sole method for receiving CDRs. Refer to the API documentation for additional CDR retrieval methods.
If the HTTP endpoint does not respond within 10 seconds, the request will time out, triggering an automatic retry.