Transfer a Call
The following code example demonstrates a call transfer.
Before using this code example, a call must be in progress, and you must perform the operations in Make a Call or Receive a Call.
Note
This example does not have the error checking and releases appropriate for production code.
// From elsewhere in your code, you have obtained pAddress and pBasicCall,
// which are pointers to the ITAddress and ITBasicCallControl interfaces
// of the call in progress that will be transferred.
// Create the call object for transfer. bstrAddressToCall and dwAddressType
// have been retrieved from a UI.
ITBasicCallControl * pConsultCall
HRESULT hr = pAddress->CreateCall(
bstrAddressToCall,
dwAddressType,
&pConsultCall
);
// If ( hr != S_OK ) process the error here.
// Start the transfer.
hr = pBasicCall->Transfer(
pConsultCall,
VARIANT_TRUE
);
// If ( hr != S_OK ) process the error here.
// Depending on the service provider, additional operations may be available
// or required.
// Finish the transfer.
hr = pConsultCall->Finish(FM_ASTRANSFER);
// If ( hr != S_OK ) process the error here.
// The consultation call transitions to CS_DISCONNECTED.
// The objects associated with pConsultCall and pBasicCall can be released immediately or
// used for information purposes and released later.
Related topics
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for