Click2Dial Release v3.0.1

Date 
Issues3 issues

Summary

BC Breaks: We generally avoid introducing backwards compatibility breaks, but in order to fix numerous API design issues between Click2Dial and Dialer, and leveraging that this is a major version, we used this opportunity to make quite a few API changes as it's better to do it now when integrators are more likely to make the switch to WebRTC. Please be careful.

WebRTC Support added. WebRTC allows integrators to completely bring the call control into their application, stopping agents from misbehaving with desktop softphones and reducing support loads.

It also allows a level of workflow control that previously wasn't possible with standalone softphones. WebRTC is the recommended way to integrate, but by no means will we do away with the Rest API, both will be supported. 

In the process of adding WebRTC, key infrastructure components needed to be upgraded. Making Asterisk 13 a minimum requirement for the PBX that C2D is installed on.

This does mean that rolling out Click2Dial v3 from v2 can require coordination with the PBX provider.

Also unfortunately a bug exists in Asterisk 13 ASTERISK-24620 that makes durations on outbound calls placed through the Rest API buggy, and with no good solution. Thus durations on outbound calls placed through the Rest API will be off by 1-2 seconds for the majority to a maximum of 10sec. All other durations are still accurate.

All updates for this release

Features

  • WebRTC
    • Specifying X-Platforma-Outbound-ID and X-Platforma-Contact-Ref for a call will work the same way as if it were specified in a Rest API call.
    • X-Platforma-Error key for errors when placing a call.

Backwards Compatibility Breaks

  • Call: when creating a call call_ref was renamed to contact_ref to fit dialer spec, since contact_ref should always imply custom reference
    • If no custom reference is specified on the REST API call then one is generated, although it serves no real purpose.
  • CDR Notification: the clients number now has its own field as number, in line with the dialer spec. 
    • As a consequence to prepare for the future the ref field in the CDR will currently return "click-dial" and no longer the clients number 
  • Call Connection Notification: the misused campaign_ref field was dropped and now replaced by a call_dir field, with the exact same values

Bugfixes

  • Call-Ref/Contact-Ref bug in creating a call fixed.

Limitations

  • No custom headers are passed back for inbound calls in this release.
  • Rest API Outbound calls duration is inaccurate by 1-2 sec to a maximum of 10 sec due to an infrastructure bug that is currently unfixable.

Recommended Changes

  • Update call_ref to contact_ref on call create.
  • Update ref in the CDR notification to number for the clients number
  • Update campaign_ref in the Call Connection notification to call_dir
  • Using a built in WebRTC phone in a web application allows far more flexibility than ever possible with a desktop client softphone.