User`s guide

Dialogic
®
System Release 6.0 PCI for Windows
®
Release Update, Rev 62 — January 30, 2008 103
Dialogic Corporation
int gc_err; /* GlobalCall Error Code */
int cclibid; /* Call Control library ID */
long cclib_err; /* Call Control Error Code */
char *msg; /* Error Message */
LINEDEV ldev; /* Line device */
char str[MAX_STRING_SIZE];
GC_IE_BLK gcIEBlk;
IE_BLK ie_Blk;
memset((unsigned char *)&ie_Blk, 0, sizeof(IE_BLK));
gcIEBlk.gclib = NULL;
gcIEBlk.cclib = &ie_Blk;
ie_Blk.length = 7; //length of the raw DPNSS EEM data
/* EEM(C) = 0x22, EEM(I) = 0x23 */
ie_Blk.data[0] = 0x22; // raw DPNSS EEM data
ie_Blk.data[1] = '*'; // raw DPNSS EEM data
ie_Blk.data[2] = '1'; // raw DPNSS EEM data
ie_Blk.data[3] = '1'; // raw DPNSS EEM data
ie_Blk.data[4] = '0'; // raw DPNSS EEM data
ie_Blk.data[5] = 'B'; // raw DPNSS EEM data
ie_Blk.data[6] = '#'; // raw DPNSS EEM data
if(gc_CRN2LineDev(crn, &ldev) != GC_SUCCESS) {
gc_ErrorValue(&gc_err, &cclibid, &cclib_err);
gc_ResultMsg(cclibid, cclib_err, &msg);
sprintf(str, "Error on Device handle : 0x%lx ",ldev);
printandlog(0, GC_APICALL, NULL, str, 0);
return(cclib_err);
}
if(gc_SndMsg(ldev, crn, SndMsg_RawEEM, &gcIEBlk) != GC_SUCCESS) {
gc_ErrorValue(&gc_err, &cclibid, &cclib_err);
gc_ResultMsg(cclibid, cclib_err, &msg);
sprintf(str, "Error on Device handle : 0x%lx ",ldev);
printandlog(0, GC_APICALL, NULL, str, 0);
return(cclib_err);
}
return 0 ;
}
To Enable the GCEV_EXTENSION Event to Receive Raw EEM Events
int EnableRawEEMInformation(int DeviceHdl)
{
GC_PARM_BLKP pParmBlock = NULL;
long requestID;
char str[MAX_STRING_SIZE];
int iRetCode = gc_util_insert_parm_val(&pParmBlock, CCSET_EXTENSIONEVT_MSK,
GCACT_ADDMSK, sizeof(long), EXTENSIONEVT_RAWEEM);
int rc = gc_SetConfigData(GCTGT_CCLIB_CHAN, DeviceHdl, pParmBlock,0,
GCUPDATE_IMMEDIATE, &requestID, EV_ASYNC);
if(rc != GC_SUCCESS) {
sprintf(str, "failed to set evt mask");
printandlog(0, GC_APICALL, NULL, str, 0);
return GC_ERROR;
} else {
sprintf(str, "gc_SetConfigData() called - Raw EEM event reception enabled");
printandlog(0, GC_APICALL, NULL, str, 0);
}
gc_util_delete_parm_blk(pParmBlock);