The blueworx.cdr topic contains both Call and Conference Detail Records (CDRs)
Call Detail Records are created after a successful call.
The blueworx.cdr topic supports the following headers.
Header | Value |
---|---|
Type | Call or Conference |
Call
A single call entry is generated for each successful call processed by BVR.
Name | Type | Optional | Description |
---|---|---|---|
type | string | No | Always contains "Call" |
callIndex | string | No | Call index on the BVR |
callIndexFull | string | No | Call index unique across all BVRs |
applicationUUID | uuid | No | Application unique instance handling the call |
launchedType | string | No | How the call was launched, one of INBOUND_CALL, OUTBOUND_API |
accountId | string | No | Account handling the call |
start | date | No | Call start time/date |
startEpoch | epoch | No | Call start epoch time |
end | date | No | Call end time/date |
endEpoch | epoch | No | Call end epoch time |
duration | duration | No | Call duration |
miscellaneousDuration | duration | No | Call duration outside of a conference |
conferenceDuration | duration | No | Call duration during a conference |
tts | object | No | TTS Media Resource |
asr | object | No | ASR Media Resource |
stt | object | No | STT Media Resource |
amazon | object | No | Amazon Resource |
ibm | object | No | IBM Resource |
object | No | Google Resource | |
record | object | No | SIPREC Record information |
tromboneStreamDuration | duration | No | Time spent tromboned to another RTP stream |
dialogs | array | No | List of dialogs Resource Information |
direction | string | No | Inbound or Outbound call |
ani | string | No | ANI/user of caller |
dnis | string | No | DNIS/user of called/BVR |
terminationReason | string | No | Call Termination Reason - listed below |
conferenceId | string | No | Last conference index if the call was in a conference |
bvrMachine | string | No | Local host IP Address of the BVR |
applicationId | string | No | Application handling the call |
from | uri | No | SIP URI of caller |
to | uri | No | SIP URI of called/BVR |
sip | object | No | SIP Information |
xml | object | No | Initial/final Call XML |
Call Termination Reason
List of the call termination reasons.
Value | Description |
---|---|
Far end hangup | Remote party has hung up |
Far end reject | Remote party has rejected the call |
Busy | Remote party is busy |
Near end hangup | BVR has hung up |
Near end reject | BVR has rejected the call |
Attended transfer | Call was transferred |
Blind transfer | Call was transferred |
Proxy auth failed | SIP proxy authentication failed |
WWW auth failed | SIP proxy authentication failed |
Force quit | Forced BVR shutdown |
Amazon
Information about the Amazon resource.
Name | Type | Optional | Description |
---|---|---|---|
tts | object | No | TTS Media Resource |
virtual_assistant | object | No | Virtual Assistant Media Resource |
IBM
Information about the IBM Watson resource.
Name | Type | Optional | Description |
---|---|---|---|
stt | object | No | STT Media Resource |
tts | object | No | TTS Media Resource |
virtual_assistant | object | No | Virtual Assistant Media Resource |
Information about the Google resource.
Name | Type | Optional | Description |
---|---|---|---|
stt | object | No | STT Media Resource |
tts | object | No | TTS Media Resource |
virtual_assistant | object | No | Virtual Assistant Media Resource |
Media Resource
Information about a type of media resource, for example TTS. The durations are the totals across all sub resources. If multiple locales are used the total across all locales is here. The breakdown of the specific locales is within the resources array.
Name | Type | Optional | Description |
---|---|---|---|
sessionDuration | duration | No | Duration of the media session |
sessionUsage | number | No | Usage of the media session |
streamDuration | duration | No | Duration of the RTP stream |
streamUsage | number | No | Usage of the RTP stream |
resources | array | No | List of Media Subresource |
Media Subresource
Information about a particular media subresource, for example TTS on a specific locale.
Name | Type | Optional | Description |
---|---|---|---|
locale | string | Yes | Configured locale of the media resource |
callFeatureId | number | Yes | Call feature ID of the media resource |
sessionDuration | duration | No | Duration of the media session |
sessionUsage | number | No | Usage of the media session |
streamDuration | duration | No | Duration of the RTP stream |
streamUsage | number | No | Usage of the RTP stream |
Recording
Information about SIPRec recording. This is entirely SIPRec based recording and does not contain any information concerning recordings via VXML.
Name | Type | Optional | Description |
---|---|---|---|
sessionDuration | duration | No | Duration of the SIPREC session/call |
inboundStreamDuration | duration | No | Duration of the recording of the inbound RTP stream |
outboundStreamDuration | duration | No | Duration of the recording of the outbound RTP stream |
session | object | No | SIPREC Session Resource Information |
inbound | object | No | Inbound RTP Resource Information |
outbound | object | No | Outbound RTP Resource Information |
Call XML
The initial and termination XML documents processed for this call.
Name | Type | Optional | Description |
---|---|---|---|
initial | string | No | Initial XML document parsed by the call |
terminate | string | No | Final XML document parsed by the call |
Resource Information
Information about a specific type of resource, this can be dialog's or record related resources.
Name | Type | Optional | Description |
---|---|---|---|
name | string | Yes | Resource name |
usage | number | No | Number of times the resource is used |
duration | duration | No | Total duration |
start | date | No | Start time/date |
startEpoch | epoch | No | Start epoch time |
end | date | No | End time/date |
endEpoch | epoch | No | End epoch time |
SIP Information
Information about call SIP session.
Name | Type | Optional | Description |
---|---|---|---|
user | string | No | SIP user |
callId | string | No | SIP CallId |
to | object | No | To SIP Address |
from | object | No | From SIP Address |
proxy | string | No | Configured SIP proxy group |
headers | array | No | List of SIP headers |
rtp | object | No | SIP RTP Information |
SIP Address
Information about the SIP address.
Name | Type | Optional | Description |
---|---|---|---|
uri | uri | No | SIP URI |
header | string | No | SIP header value |
user | string | No | SIP user |
RTP Information
Information about the RTP session.
Name | Type | Optional | Description |
---|---|---|---|
local | object | No | Local IP Address |
remote | object | No | Remote IP Address |
IP Address
IP address information.
Name | Type | Optional | Description |
---|---|---|---|
ip | string | No | Host or IP address |
port | number | No | Port number |
Example
{ "type": "Call", "callIndex": "091431A800000001", "callIndexFull": "9.20.49.168-20210211104628-091431A800000001", "applicationUUID": "008e8779-aa8a-4080-9bbc-808517e9248e", "launchedType": "INBOUND_CALL", "accountId": "0x00000000", "start": "2021-02-11 10:46:28.182", "startEpoch": 1613058388182, "end": "2021-02-11 10:46:46.345", "endEpoch": 1613058406345, "duration": 18163, "miscellaneousDuration": 18163, "conferenceDuration": 0, "tts": { "resources": [], "sessionDuration": 0, "sessionUsage": 0, "streamDuration": 0, "streamUsage": 0 }, "asr": { "resources": [], "sessionDuration": 0, "sessionUsage": 0, "streamDuration": 0, "streamUsage": 0 }, "stt": { "resources": [], "sessionDuration": 0, "sessionUsage": 0, "streamDuration": 0, "streamUsage": 0 }, "polly": { "tts": { "resources": [], "sessionDuration": 0, "sessionUsage": 0, "streamDuration": 0, "streamUsage": 0 } }, "watson": { "stt": { "resources": [], "sessionDuration": 0, "sessionUsage": 0, "streamDuration": 0, "streamUsage": 0 }, "tts": { "resources": [], "sessionDuration": 0, "sessionUsage": 0, "streamDuration": 0, "streamUsage": 0 }, "assistant": { "resources": [], "sessionDuration": 0, "sessionUsage": 0, "streamDuration": 0, "streamUsage": 0 } }, "google": { "stt": { "resources": [], "sessionDuration": 0, "sessionUsage": 0, "streamDuration": 0, "streamUsage": 0 }, "tts": { "resources": [], "sessionDuration": 0, "sessionUsage": 0, "streamDuration": 0, "streamUsage": 0 }, "dialogflow": { "resources": [ { "sessionDuration": 17139, "sessionUsage": 1, "streamDuration": 11016, "streamUsage": 3 } ], "sessionDuration": 17139, "sessionUsage": 1, "streamDuration": 11016, "streamUsage": 3 } }, "record": { "sessionDuration": 0, "inboundStreamDuration": 0, "outboundStreamDuration": 0, "session": { "usage": 0, "duration": 0 }, "inbound": { "usage": 0, "duration": 0 }, "outbound": { "usage": 0, "duration": 0 } }, "tromboneStreamDuration": 0, "dialogs": [ { "name": "CCXML", "usage": 1, "duration": 18059, "start": "2021-02-11 10:46:28.265", "startEpoch": 1613058388265, "end": "2021-02-11 10:46:46.324", "endEpoch": 1613058406324 }, { "name": "DialogFlow", "usage": 1, "duration": 17033, "start": "2021-02-11 10:46:29.291", "startEpoch": 1613058389291, "end": "2021-02-11 10:46:46.324", "endEpoch": 1613058406324 } ], "direction": "Inbound", "ani": "phil", "dnis": "dialogflow", "terminationReason": "Far end hangup", "conferenceId": "N/A", "bvrMachine": "9.20.49.168", "applicationId": "0x00000013", "from": "sip:phil@10.12.12.7:5060;transport=udp", "to": "sip:dialogflow@mortyphilcos8", "sip": { "user": "dialogflow", "callId": "fc8627bb006e1d0e8f8b3cb6236ca6ff@0:0:0:0:0:0:0:0", "to": { "uri": "sip:dialogflow@mortyphilcos8", "header": "<sip:dialogflow@mortyphilcos8>", "user": "dialogflow" }, "from": { "uri": "sip:phil@10.12.12.7:5060;transport=udp", "header": "phil <sip:phil@10.12.12.7:5060;transport=udp>", "user": "phil" }, "proxy": "inbound_call_proxy_group", "headers": { "Call-ID": "fc8627bb006e1d0e8f8b3cb6236ca6ff@0:0:0:0:0:0:0:0", "CSeq": "1 INVITE", "Max-Forwards": "70", "User-Agent": "Jitsi2.10.5550Windows 10", "From": "phil <sip:phil@10.12.12.7:5060;transport=udp>;tag=500a7d71", "To": "<sip:dialogflow@mortyphilcos8>", "Content-Length": "323", "req": "sip:dialogflow@mortyphilcos8", "Contact": "phil <sip:phil@10.12.12.7:5060;transport=udp>", "Content-Type": "application/sdp", "Via": "SIP/2.0/UDP 10.12.12.7:5060;branch=z9hG4bK-313030-ebc6eda47ec0433f24f7bb13be6200b5;received=10.12.12.7" }, "rtp": { "local": { "ip": "mortyphilcos8.hursley.blueworx.com/9.20.49.168", "port": 56126 }, "remote": { "ip": "/10.12.12.7", "port": 5012 } } }, "xml": { "initial": "file:///bvr_apps/DialogFlowSample.ccxml", "terminate": "file:///bvr_apps/DialogFlowSample.ccxml" } }
When BVR handles a bridge transfer, Conference Detail Records are logged, in addition to Call Detail Records.
Conference
A single conference entry is generated for each completed conference. The members contains a list of all the parties involved in the conference.
Name | Type | Optional | Description |
---|---|---|---|
type | string | No | Always contains "Conference" |
conferenceId | string | No | Conference index unique across all BVRs |
accountId | string | No | Account handling the conference |
applicationId | string | No | Application handling the conference |
applicationUUID | uuid | No | Application unique instance handling the conference |
start | date | No | Conference start time/date |
startEpoch | epoch | No | Conference start epoch time |
end | date | No | Conference end time/date |
endEpoch | epoch | No | Conference end epoch time |
duration | duration | No | Total duration |
members | array | No | List of conference members - see below Conference Member |
Conference Member
Information about a particular conference member.
Name | Type | Optional | Description |
---|---|---|---|
callIndex | string | No | Call index on the BVR |
callIndexFull | string | No | Call index unique across all BVRs |
start | date | No | Call start time/date |
startEpoch | epoch | No | Call start epoch time |
end | date | No | Call end time/date |
endEpoch | epoch | No | Call end epoch time |
Example
{ "members":[ { "callIndex":"0102030400000001", "callIndexFull":"1.2.3.4-20180628145856-0102030400000001", "start": "2021-02-11 10:46:28.182", "startEpoch": 1613058388182, "end": "2021-02-11 10:46:46.345", "endEpoch": 1613058406345, }, { "callIndex":"0102030400000002", "callIndexFull":"1.2.3.4-20180628145902-0102030400000002", "start": "2021-02-11 10:46:28.182", "startEpoch": 1613058388182, "end": "2021-02-11 10:46:46.345", "endEpoch": 1613058406345, } ], "conferenceId":"1.2.3.4-20180628145902-00000000", "applicationUUID": "008e8779-aa8a-4080-9bbc-808517e9248e", "applicationId": "0x00000013", "accountId": "0x00000000", "start": "2021-02-11 10:46:28.182", "startEpoch": 1613058388182, "end": "2021-02-11 10:46:46.345", "endEpoch": 1613058406345, "duration":3560, "type":"Conference" }