(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.
(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.