Versions Compared
Version | Old Version 15 | 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 |
|
---|
...
Payload
...
|
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. |