Versions Compared
Version | Old Version 4 | New Version Current |
---|---|---|
Changes made by | ||
Saved on |
Key
- This line was added.
- This line was removed.
- Formatting was changed.
...
CDRs are sent after every call, whether or not it was answered/handled. These are used for call accounting both on the providers side as well as in the 3rd party application. As CDRs are critical we make use of a persistent Redis List to send them. A single worker must exist which handles/processes these notifications.
Redis |
|
---|
...
Key
|
...
Payload
|
...
- extension: <agent ext>
- recording_url: <location where you can fetch recording>
- call_ref: <client_call_ref>
- dialed_at: <the time the call was placed>
- contact_ref: <the matter this cdr relates to>
- end_reason: <Dispositions>
- end_code: <The SIP termination code>
- call_time: <call_time>
- call_dir: <whether this was inbound or outbound>
- ref: <campaign_ref>
Values:
...
...
|
Values:
<ext> | The agent extension number |
---|---|
<internal_call_ref> | Internal dialler call reference, this is used to disposition the call and download recordings |
<custom_call_ref> | Your custom call reference specified for this callee (use this for your lookups) |
<disposition> | Dispositions: how the call ended |
<SIP_termination_code> | The SIP termination code |
<campaign_ref> | Your Campaign reference |
<client_number> | The clients number (as opposed to the agent)
|
<dial_number> | The dialers number (as opposed to the callee)
|
Example:
Code Block | ||||
---|---|---|---|---|
| ||||
# get cdr's for all campaigns
brpop enigma:notifications:campaigns |
When will you get a CDR?
You will receive a CDR for each call that the dialer makes, at the end of the call.
If a callee has multiple numbers, it will try the numbers in order and send a CDR for each number it tried to call, if a call is connected then the callee has been contacted and the rest of the numbers won't be called.
Key CDR Indicators
Conditions | Meaning |
---|---|
extension is null | Callee hangup in queue (before being connected to an agent) |
Warning |
---|
Only one integrator can consume CDR's currently. This is a limitation in how a Redis List was designed, and we use a Redis List here to be reliable. Its an unfortunate limitation that will be fixed in the future but requires a lot of planned features to be implemented first and the completion of a fairly large rearchitecting of the application. |