User`s guide

Dialogic
®
System Release 6.0 PCI for Windows
®
Release Update, Rev 62 — January 30, 2008 104
Dialogic Corporation
return 0;
}
To Receive Raw EEM and Extract Raw DPNSS Data
void process_event(void)
{ ....
....
....
switch (evttype)
{
case GCEV_EXTENSION:
ExtractDPNSSInfo(pline, &metaevent);
break;
}
}
void ExtractDPNSSInfo(struct channel *pline,METAEVENT *metaeventp)
{
GC_PARM_BLKP gcParmBlkp = NULL;
GC_PARM_DATAP t_gcParmDatap = NULL;
EXTENSIONEVTBLK *ext_evtblkp = NULL;
GC_IE_BLK * t_gcIEBlk = NULL;
IE_BLK * ie_blk = NULL;
char rawData[100];
char str[MAX_STRING_SIZE];
int i=0;
ext_evtblkp = (EXTENSIONEVTBLK *)metaeventp->extevtdatap;
gcParmBlkp = &ext_evtblkp->parmblk;
sprintf(str, "Received GCEV_EXTENSION event with ExtID = 0x%x",ext_evtblkp->ext_id);
printandlog(0, GC_APICALL, NULL, str, 0);
while (t_gcParmDatap = gc_util_next_parm(gcParmBlkp, t_gcParmDatap))
{
switch (t_gcParmDatap->set_ID)
{
case CCSET_RAWEEM:
switch(t_gcParmDatap->parm_ID)
{
case CCPARM_RAWEEM_DATA:
t_gcIEBlk = (GC_IE_BLK *)t_gcParmDatap->value_buf;
ie_blk = t_gcIEBlk -> cclib;
memcpy(rawData, ie_blk->data,ie_blk->length);
sprintf(str, "RAWEEM_DATA : length = %d\n", ie_blk->length);
printandlog(0, GC_APICALL, NULL, str, 0);
memset(str, 0, MAX_STRING_SIZE);
for (i=0; i < ie_blk->length; i++)
{
if((i!=0) && (isascii(rawData[i]))) {
printf(str, "%c ", rawData[i]);
fprintf(port[0].log_fp, "%c ", rawData[i]);
}
else {
printf(str, "%02X ", rawData[i]);
fprintf(port[0].log_fp, "%02X ", rawData[i]);
}
}
printf("\n");
fprintf(port[0].log_fp, "\n ");