(Page 4 of 23 in this chapter) Version


nccAutomaticTransfer

Description

Transfers a call on a PBX, Centrex, or Centrex-like, line.

Prototype

DWORD nccAutomaticTransfer ( NCC_CALLHD callhd,
char *digitstr,
unsigned transferwhen,
void *transferparms,
void *mgrcallparms,
void *protcallparms )

callhd Handle for a call that is in the Connected state. This call must not be held.

digitstr Pointer to address of the party to transfer to (e.g., the party's extension).

transferwhen Determines when call is to be transferred. The value can be any of the following:
NCC_TRANSFER_PROCEEDING: After digitstr dialed.
NCC_TRANSFER_ALERTING: When ring detected.
NCC_TRANSFER_CONNECTED: When called party answers.

transferparms Pointer to protocol-specific CT Access call transfer parameter structure. Specify NULL to use default values. See protocol-specific documentation for details.

mgrcallparms Pointer to manager-specific CT Access call placement parameter structure. Specify NULL to use default values. See protocol-specific documentation for details.

protcallparms Pointer to protocol-specific CT Access parameter structure. Specify NULL to use default values. See protocol-specific documentation for details.

Return Values

Events

Details

This function executes a "blind" transfer by performing placement of a "second" call and completing call transfer. This function will operate only when the first call handle is in the Connected state, or is on hold.

nccAutomaticTransfer works as follows:

  1. The function places the first party on hold. NCCEVN_CALL_HELD is returned to the application.

    
    
  2. The function places a second call to the specified address.

    
    
  3. If the placed call reaches the transferwhen stage, the transfer is performed. NCCEVN_CALL_DISCONNECTED is returned, with reason NCC_DIS_TRANSFER, indicating that the transfer succeeded and the first call is in the Disconnected call state from the point of view of the application. The application should now invoke nccReleaseCall to destroy the call handle and release resources.

    
    
  4. If the transfer fails, the first call is retrieved from hold and remains in the Connected state. NCCEVN_CALL_RETRIEVED is returned, with a value field containing one of the NCC_DIS_xxx reason codes indicating why the transfer failed. For a list of possible NCC_DIS_xxx values, see NCCEVN_CALL_DISCONNECTED in Chapter 9.

Not all protocols support automatic call transfer. The application can determine if the protocol supports this state by examining the NCC_CAP_AUTOMATIC_TRANSFER bit in the capabilitymask returned by nccQueryCapability.

See Also

nccTransferCall



(Page 4 of 23 in this chapter) Version


tech_support@nmss.com
Copyright © 1999, Natural MicroSystems, Inc. All rights reserved.