The fundamental challenge in implementing a telephony architecture for predictive dialing support is real-time resource allocation and deallocation. Resources in this context are trunk lines, stations and dialing ports (either dummy stations or DSP resources).
Softdial CallGem™ provides 2 different schemas, as follows, for ensuring that Softdial CallGem™ only uses telephony resources that are actually available.
Softdial CallGem™ will assume that immediately on receipt of a command to dial a number or hang up a call, relevant resources are allocated or deallocated. Under this schema it will be necessary for the telephony layer to delay or buffer requests if the resource has not yet freed up. How this works in practice is as follows:
This situation also applies to stations (particularly analog stations) and to dialing ports (should they exist).
This schema has been the standard for all integrators until now. It has suited most business partners and has been economical of message traffic.
To implement a telephony layer using this schema, request buffering is required. You will need to do the following things in addition to providing support for the general telephony layer messages:
This potentially causes delays between the called party picking up the telephone and being connected with an agent. The delays may only be 500 milliseconds but they have a material impact on whether the solution will comply with the DMA regulations governing predictive dialing. In order to ensure compliance you should notify Softdial CallGem™ of the elapsed time between the called party going off hook and sending the Line Connected [LC] message to Softdial CallGem™. The Line Connected [LC] message has an optional parameter Offhook Delay [OD] to allow you to do this.
With Version 8, we introduced an extra layer of functionality to Softdial CallGem™. This allows an exchange of information, so that no actions are initiated to deploy resources until responses have been given indicating that the resources are in fact free.
As in Schema 1, Softdial CallGem™ will assume that resources are allocated when a request is made by Softdial CallGem™, but it will wait for the telephony layer to notify it that the resources have actually been freed.
In this way Softdial CallGem™ will never make requests that consume resources not yet available.
Consider our scenario described above in Schema 1, where there is a connected call and the agent has completed their transaction.