3.6.4 Call Transfer
This section describes the different types of call transfer. Topics include:
3.6.4.1 Call Transfer Overview
There are two types of call transfers:
- Supervised transfers
- the person transferring the call stays on the line, announces the call, and consults with the party to whom the call is being transferred before the transfer is completed
- Unsupervised transfers
- the call is sent without any consultation or announcement by the person transferring the call. Unsupervised transfers are also known as one-step transfers or blind transfers
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.6.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:
- Successful call to the gc_SetUpTransfer( ) function changes the state of the original call to the GCST_ONHOLDPENDINGTRANSFER state.
- A consultation CRN is allocated with the initial state of GCST_DIALTONE and is returned by the gc_SetUpTransfer( ) function.
- 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( ).
- The consultation call proceeds similarly to a singular outbound call proceeding through the GCST_DIALING and GCST_ALERTING (if enabled) call states. (See Section 3.4, "Basic Call Control in Asynchronous Mode" and Section 3.5, "Basic Call Control in Synchronous Mode" for more information.)
- 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.
- 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.
- A call to the gc_CompleteTransfer( ) function transfers the original call to the consultation call and internally drops both channels.
- The states of the original and the consultation call both change to the GCST_IDLE state upon receipt of the GCEV_COMPLETETRANSFER event.
- 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.
The following diagram illustrates the call state transitions that occur in a supervised transfer.
Figure 27. Supervised Transfer Call State Model
3.6.4.3 Unsupervised Transfers
In an unsupervised transfer, a successful call to the gc_BlindTransfer( ) function transfers the call in a single step, without any consultation or announcement by the person transferring the call. Internally, the currently connected call is placed on hold, the new party is dialed, and, finally, the connection to both parties is relinquished. When the application receives the GCEV_BLINDTRANSFER event, the original call enters the GCST_IDLE state. At this point the application must call gc_ReleaseCallEx( ) for the call to release the allocated resources.
Once the new party is dialed, the control and responsibility for the results of the transfer, whether successfully connected or not, lie totally with the remote party once the transfer is relinquished. Only one call is controlled by the application as the transfer is initiated internally via the protocol.
Unsupervised transfers do not provide call progress results for the transfer nor do they support terminating the transfer at any point via the gc_DropCall( ) function.
The following diagram illustrates the call state transitions that occur in an unsupervised transfer.
Click here to contact Telecom Support Resources
Copyright 2002, Intel Corporation