User`s guide

Dialogic
®
System Release 6.0 PCI for Windows
®
Release Update, Rev 62 — January 30, 2008 204
Dialogic Corporation
.
.
INIT_IPCCLIB_START_DATA(&ipcclibstart, 2, ip_virtboard);
INIT_IP_VIRTBOARD(&ip_virtboard[0]);
INIT_IP_VIRTBOARD(&ip_virtboard[1]);
ip_virtboard[0].sup_serv_mask = IP_SUP_SERV_CALL_XFER; /* override supp services default */
ip_virtboard[1].sup_serv_mask = IP_SUP_SERV_CALL_XFER; /* override supp services default */
.
.
Note: If the application tries to use one of the six IP call transfer functions when call transfer was
not explicitly enabled via the IP_VIRTBOARD structure during gc_Start( ), the function
call fails with an IPERR_SUP_SERV_DISABLED indication.
1.51.3 Using SIP Call Transfer
This section describes specific call transfer procedures when using SIP protocol. The
topics covered here include:
Enabling GCEV_INVOKE_XFER_ACCEPTED Events
Invoking an Unattended Call Transfer
Invoking an Attended Call Transfer
Processing Asynchronous Call Transfer Events
Handling a Transfer Request
Making a Transferred Call
1.51.3.1 Enabling GCEV_INVOKE_XFER_ACCEPTED Events
The following code snippet illustrates how to enable the
GCEV_INVOKE_XFER_ACCEPTED event type, which is optionally used to notify the
application at party A that party B has accepted a transfer request. This event type is
disabled by default. This event can be enabled for an individual line device at any time
after the line device is opened. The event is enabled in the party A (Transferor)
application, and need only be enabled if the application wishes to receive the events. Note
that there is no equivalent event in H.450.2.
//enable GCEV_INVOKE_XFER_ACCEPTED event
GC_PARM_BLK *t_pParmBlk = NULL;
long request_id;
gc_util_insert_parm_val(&t_pParmBlk, GCSET_CALLEVENT_MSK, GCACT_ADDMSK,
sizeof(long), GCMSK_INVOKEXFER_ACCEPTED);
gc_SetConfigData(GCTGT_GCLIB_CHAN,ldev,t_pParmBlk, 0, GCUPDATE_IMMEDIATE, &request_id, EV_SYNC);
gc_util_delete_parm_blk(t_pParmBlk);
Disabling the event is done in exactly the same way except that the parameter ID that is
set in the GC_PARM_BLK would be GCACT_SUBMSK instead of GCACT_ADDMSK.