Dialogic Dialogic Global Call IP IP Phone User Manual


 
322
Dialogic Corporation
4.26.2 Specifying Manual Operating Mode
An application must be configured in “Manual” mode to control the association and disassociation
of Media and T.38 Fax devices during each call. The mode of operation is set on a board device
basis. Once the GCEV_OPENEX event is received to confirm that the board device is open, the
gc_SetConfigData( ) function can be used to configure “Manual” mode as indicated in the code
example below:
INT32 processEvtHandler()
{
GC_PARM_BLK *parmblkp = NULL;
long t = 0;
:
:
switch (evtType)
{
:
:
case GCEV_OPENEX:
gc_util_insert_parm_val(&parmblkp, IPSET_CONFIG, IPPARM_OPERATING_MODE,
sizeof(int), IP_MANUAL_MODE);
gc_SetConfigData(GCTGT_CCLIB_NETIF, pline->ldev, parmblkp, 0,
GCUPDATE_IMMEDIATE, &t, EV_ASYNC);
gc_util_delete_parm_blk(parmblkp);
break;
:
:
}
:
:
}
4.26.3 Initiating a Switch from Audio to T.38 Fax
After an audio session has been established, the application can use the gc_Extension( ) function
to initiate a RequestMode (H.323) or re-INVITE (SIP) to change the coder. Prior to initiating a
coder change, the T.38 Fax device must be associated with the Media device. This can be achieved
using the gc_SetUserInfo( ) function. The application receives a GCEV_EXTENSION event to
indicate that T.38 media is ready to send and receive fax information. The following code provides
an example:
INT32 processEvtHandler()
{
METAEVENT metaEvent;
GC_PARM_BLK *parmblkp = NULL;
IP_CONNECT ipConnect;
:
switch (evtType)
{
:
case GCEV_CONNECTED:
/* received Connect event */
/* in conversation */
ipConnect.version = 0x100;
ipConnect.mediaHandle = pline->mediaH;
ipConnect.faxHandle = pline->faxH;
ipConnect.connectType = IP_FULLDUP;