Table of Contents Index NMS Glossary Previous Page Next Page (Page 68 of 69 in this chapter) Version


adiTransferCall

Description

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

Note: This function and all other ADI call control functions have been superseded by the NCC service. For more information, see the Natural Call Control Service Developer's Reference Manual.

Prototype

DWORD adiTransferCall ( CTAHD ctahd,
char *digitstr,
unsigned xferwhen,
ADI_PLACECALL_PARMS *parms )

ctahd CTA context handle returned by ctaCreateContext.

digitstr Pointer to address of the party to transfer to (for example, the party's extension).

xferwhen One of the following designations of when to complete the transfer:

ADI_XFER_PROCEEDING (as soon as the digitstr has been dialed),

ADI_XFER_ALERTING (as soon as ring is detected), or ADI_XFER_CONNECTED (as soon as the other party answers)

parms Pointer to an ADI_PLACECALL_PARMS structure, as shown (NULL uses default parameter values):

typedef struct
{
DWORD size; /* size of this structure */

DWORD connectmask; /* events that transition to connected */

DWORD disconnectmask;

/* events that transition to disconnected */

ADI_CALLPROG_PARMS callprog;

/* call progress analysis parameters */

} ADI_PLACECALL_PARMS;

For the ADI_CALLPROG_PARMS structure, refer to adiStartCallProgress.

Return Values

Events

Details

This function is an extension to the standard call control model. It requests the placing of a second call (or a transfer) via a PBX, Centrex, or Centrex-like switch. It can only be called when the port is in the ADI_CC_STATE_CONNECTED state.

This function causes a transition from the connected state to the placing second call state upon receiving the ADIEVN_PLACING_CALL2 event. Once this event is received, you can expect either a ADIEVN_CALL_DISCONNECTED event (transfer succeeded and the original call is disconnected) or a ADIEVN_CALL2_DISCONNECTED event (the transfer failed and you are connected back to the original caller in the connected state).

When the transfer is completed, call adiReleaseCall and receive an ADIEVN_CALL_RELEASED event. Once the CTA context re-enters the Idle state, it is eligible to receive or place new calls.

Some protocols allow you to use adiSetExtendedArgs to set additional arguments to adiTransferCall. For more information about controlling calls under specific TCPs, refer to the AG CAS for ADI Service Installation and Developer's Manual.

Note: This function is not available when using the NOCC protocol.

See Also

adiPlaceSecondCall, adiReleaseSecondCall, adiSetExtendedArgs

Example

Refer to the xferpbx demonstration program.



Table of Contents Index NMS Glossary Previous Page Next Page (Page 68 of 69 in this chapter) Version


Want to send us feedback on our documentation? Email: Tech_Pubs@nmss.com
Copyright © 2000, Natural MicroSystems, Inc. All rights reserved.