Intel 05-2409-003 Manual Do Utilizador
Global Call API for HMP on Windows Programming Guide — August 2006
67
Call State Models
Supervised transfers use the following Global Call API functions:
gc_SetupTransfer( )
initiates a supervised transfer
gc_CompleteTransfer( )
completes a supervised transfer
gc_SwapHold( )
switches between the consultation call and the call pending transfer
Unsupervised transfers use the following Global Call API function:
gc_BlindTransfer( )
initiates and completes an unsupervised (one-step) transfer
3.5.4.2
Supervised Transfers
A supervised transfer begins with a successful call to the gc_SetupTransfer( ) function. The
following steps describe how the transfer is completed:
following steps describe how the transfer is completed:
1. Successful call to the gc_SetupTransfer( ) function changes the state of the original call to the
GCST_ONHOLDPENDINGTRANSFER state.
2. A consultation CRN is allocated with the initial state of GCST_DIALTONE and is returned by
the gc_SetupTransfer( ) function.
3. The gc_MakeCall( ) function is called to establish a connection on the consultation call. The
CRN returned by gc_MakeCall( ) is the same CRN as was returned by gc_SetupTransfer( ).
4. The consultation call proceeds similarly to a singular outbound call proceeding through the
GCST_DIALING and GCST_ALERTING (if enabled) call states. (See
for more information.)
5. If the consultation call is successfully established, the state of the consultation call changes to
the GCST_CONNECTED state, and the state of the original call remains unchanged.
6. While the consultation call is in the GCST_CONNECTED state, the gc_SwapHold( ) function
may be used to switch between the call pending transfer and the consultation call.
7. A call to the gc_CompleteTransfer( ) function transfers the original call to the consultation
call and internally drops both channels.
8. The states of the original and the consultation call both change to the GCST_IDLE state upon
receipt of the GCEV_COMPLETETRANSFER event.
9. The application must call gc_ReleaseCallEx( ) for both of the calls to release the resources
allocated for both channels.
Note:
The consultation call may be terminated at any point in the process by the application or by the
detection of a call disconnect from the network.
detection of a call disconnect from the network.
The call state transitions that occur during a supervised transfer are shown in Figure 19 (which also
shows the call state transitions for an unsupervised transfer).
shows the call state transitions for an unsupervised transfer).