The call back to the customer is treated just as any other call after the callback timer has elapsed. Fortunately the formula to set the callback timer is within your control.
There are several systems that can produce this functionality however they mostly come with the requirement to hand of treatment and queuing functionality to that 3rd party. We determined this was not worth the additional investment, adding a new point of failure, and reporting chaos.
CCB is a great option if you invest the time upfront to implement it corectly and communicate the staffing requirements to your CC leadership.
Alternatively you could use your outbound option (sipDialer) to perform the same task, in our prototype we use Aqueon LCM for campaign management, which has Api's we can call to inject contact with meta-data (LCM refers to it as "Business" data) and build rules to place the call based on parameters supplied. This permitted LCM to trigger a, almost real-time, callback. However this would require some fancy reporting to correlate data for the initial call and the subsequent call to derive "true" cradle to grave metrics. We overcame this by attaching a unique UUID to the call and the subsequent outbound task, this UUID has been in use for sometime as it allows for us to use a unique Token to refer to a customer and none of the actual account info for the customer. By introducing this method we can provide the UUID as somewhat of a "primary-key" to the business to obtain ACD metrics and correlate it to a customer without exposing sensitive customer data to UCCE/CVP and associated logs further reducing PCI/HIPPA liability.