Predictive Dialing
Predictive dialing is an application that typically runs on a call center telephony server. It
uses a list of phone numbers, often obtained from a database, to attempt
outbound calls; when a call is 
completed, the call is automatically assigned to an agent for handling. The application
can make use of a 
predictive dialing port on a switch, which is a device that can make outbound calls and has special
abilities (through DSP, and so on) to detect call progress tones and other
audible indications of call state. When a call is made on a predictive dialing port,
it will typically be automatically transferred to another device on the switch
when the call reaches a particular state or upon detection of a particular
media mode; this target device might be a queue for agents handling outbound
calls. 
Applications identify a device as having predictive dialing capability by the
LINEADDRCAPFLAGS_PREDICTIVEDIALER bit in the 
dwAddrCapFlags member in 
LINEADDRESSCAPS. The 
dwPredictiveAutoTransferStates member in 
LINEADDRESSCAPS indicates the states upon which the predictive dialing port can be commanded
to automatically transfer a call; if this member is zero, it indicates that
automatic transfer is not available, and that it is the responsibility of the
application to transfer calls explicitly upon detecting the appropriate call state
(or media mode or other criteria). Preferably, switch manufacturers will make
available both automatic and manual transfer, and allow applications to select
the preferred mechanism, but service providers would have to model the behavior
of legacy equipment. A single predictive dialing port (line device/address) can
support making several outbound calls simultaneously, as indicated by the 
dwMaxNumActiveCalls member in 
LINEADDRESSCAPS. Predictive dialing capability can also be made available on 
any device, using a shared pool of predictive dialing signal processors, which
are bridged onto the line being dialed upon request. 
When the 
lineMakeCall function is used on a line capable of predictive dialing (a port with the
LINEADDRCAPFLAGS_PREDICTIVEDIALER set) and predictive dialing is requested using
LINECALLPARAMFLAGS_PREDICTIVEDIAL, then the call is made in a predictive fashion
with enhanced audible call progress detection. Additional fields and constants
are defined in the 
LINECALLPARAMS structure passed in to 
lineMakeCall to control the behavior of the predictive dialing port. The 
dwPredictiveAutoTransferStates member indicates the line call states which, upon entry of the call into any
of them, the predictive dialing port should automatically transfer the call to
the designated target (the bits must be a proper subset of the supported
auto-transfer states indicated in 
LINEADDRESSCAPS); the application can leave the field set to 0 if it desires to monitor call
states itself and use 
lineBlindTransfer to transfer the call when it reaches the desired condition. The application
must specify the desired address to which the call should be automatically
transferred in the variable field defined by the 
dwTargetAddressSize and 
dwTargetAddressOffset members in 
LINECALLPARAMS. 
Applications can also set a timeout for outbound calls so that the service
provider will automatically transition them to a disconnected state if they are
not answered. This is controlled using the 
dwNoAnswerTimeout member in 
LINECALLPARAMS.
			
				- Software for developers
				
- 
				Delphi Components
 .Net Components
 Software for Android Developers
- More information resources
				
- 
				MegaDetailed.Net
 Unix Manual Pages
 Delphi Examples