Intel 05-2409-003 Manual Do Utilizador

Página de 154
Global Call API for HMP on Windows Programming Guide — August 2006
65
Call State Models
describes the call state transitions that occur when the functions are used. This section also 
provides figures that illustrate the call state transitions for advanced call model functions. 
Note:
The hold, retrieve, and transfer functions are supported by particular protocols for the ISDN, E1 
(PDKRT only) and T1 (PDKRT only) technologies. For more information, see the function 
descriptions in the Global Call API Library Reference and the appropriate Global Call Technology 
Guide. 
3.5.2
Advanced Call States for Hold and Transfer
Two advanced call states are appended to the basic call model to support call hold and transfer. 
These advanced call states are as follows: 
On-Hold State (GCST_ONHOLD) 
A call must be in the Connected call state to be put on hold. When a call is put on hold, the 
remote party is often routed via the local switch or network to receive background music while 
temporarily suspended from conversing with the local party. The call remains on hold until the 
application retrieves the call, effectively re-transitioning it into the Connected, 
“conversational” state. The application may not issue a gc_MakeCall( ) or receive another call 
while a call is in the On-hold state. 
There is no limit to the number of times a call may be placed in and retrieved from the On-hold 
state. In addition, either the called party or the calling party can put the call in the On-hold 
state. 
The On-hold call state applies only to call scenarios where a single call is present on the 
specified channel. The On-hold call state does not apply to call transfer scenarios that use the 
On-Hold Pending Transfer call state instead. 
On-Hold Pending Transfer State (GCST_ONHOLDPENDINGTRANSFER) 
During a supervised call transfer, two calls are made accessible to the local channel. Both calls 
must be in the Connected call state. The call that is temporarily suspended from conversing is 
considered to be in the On-hold Pending Transfer call state. This call is often routed via the 
local switch or network to receive background music while awaiting completion of the call 
transfer. 
Both the suspended call and the currently active call may be swapped at any time so that the 
call that was in the On-hold Pending Transfer state is now actively connected, while the former 
active call is placed in the On-hold Pending Transfer state. There is no limit to the number of 
times two calls may be swapped between the On-hold Pending Transfer and “Connected” 
states. The completion of the call transfer is independent of which call is active or on hold. 
3.5.3
Call Hold
The advanced call model allows the application to place a call on hold. The Global Call API 
provides the following functions to place a call on hold and, subsequently, to retrieve the call on 
hold: 
gc_HoldCall( ) 
place a call on hold 
gc_RetrieveCall( ) 
retrieve a call from hold