nccTransferCall

Performs a supervised transfer or a two channel transfer.

Prototype

DWORD nccTransferCall ( NCC_CALLHD callhd1, NCC_CALLHD callhd2, void *transferparms )

Argument

Description

callhd1

Handle of a call to be transferred.

callhd2

Handle of a call to be transferred.

transferparms

A pointer to a protocol-dependent NaturalAccess call transfer parameter structure. Protocol-independent applications can pass NULL for this argument to use the defaults. See the protocol-specific documentation for details.

If you are doing a supervised transfer for SIP, set transferparms to SIP_SUPERVISED_TRANSFER.

Return values

Return value

Description

SUCCESS

 

CTAERR_INVALID_HANDLE

A call handle is not valid. It may have been released.

CTAERR_INVALID_STATE

The line is not in the appropriate state to invoke this function Returned only in supervised transfer.

CTAERR_SVR_COMM

A server communication error occurred.

NCCERR_INVALID_CALL_STATE

In supervised transfer, one call must be in the connected state and be on hold. The other call must be in the connected state and not be on hold. If these conditions are not satisfied, this error code is returned.

NCCERR_NO_CALLID

Could not find a call identifier for a two channel transfer.

NCCERR_NOT_CAPABLE

The protocol does not support the capability to perform a supervised transfer or a two channel transfer.

Events

Event

Description

NCCEVN_CALL_DISCONNECTED

In a supervised transfer, this event is received twice: once for each call.

In a two channel transfer, this event is received twice if the transfer is successful.

NCCEVN_PROTOCOL_ERROR

In a two channel transfer, this event is received if call transfer fails. The value field contains NCC_PROTERR_TCT_FAILED. The size field contains the protocol-specific reason code. For more information, refer to the protocol-specific documentation.

Details

nccTransferCall performs a supervised call transfer or a two channel call transfer. For details, refer to Supervised transfer and Two channel transfer.

Note: Supervised call transfer is not supported in all variants. The application can determine if the protocol supports this state by examining the NCC_CAP_SUPERVISED_TRANSFER bit in the capabilitymask returned by nccQueryCapability. For QSIG, set the CC_USE_PATH_REPLACEMENT out calls behavior bit so that nccTransferCall invokes the path replacement supplementary service instead of the transfer service.

See also

nccAutomaticTransfer