Dialogic Dialogic Global Call IP IP Phone User Manual


 
Dialogic
®
Global Call IP Technology Guide — November 2007 153
Dialogic Corporation
IP-Specific Operations
int print_call_info(CRN crn, METAEVENT *pEvt)
{
EXTENSIONEVTBLK *ext_data = NULL;
GC_PARM_DATA *parmp = NULL;
GC_PARM_BLK *parm_blkp;
if (pEvt)
{
if (pEvt->evttype == GCEV_EXTENSIONCMPLT)
{
ext_data = (EXTENSIONEVTBLK *)(pEvt->extevtdatap);
}
}
if (!ext_data)
{
printf("\tNot a GCEV_EXTENSIONCMPLT event.\n");
return GC_ERROR;
}
parm_blk = &(ext_data->parmblk);
parmp = gc_util_next_parm(parm_blkp,parmp);
if (!parmp)
{
printf("\tNo data returned in extension event for crn: 0x%lx\n", crn);
return GC_ERROR;
}
while (NULL != parmp)
{
switch (parmp->set_ID)
{
case IPSET_CALLINFO:
switch (parmp->parm_ID)
{
case IPPARM_CALLID:
if(parmp->value_size != 0)
{
/* Here's where we print the SIP Call ID */
printf("\tReceived extension data IPPARM_CALLID: %s\n",
parmp->value_buf);
}
break;
default:
printf("\tReceived unexpected IPSET_CALLINFO parmID %d\n",
parmp->parm_ID);
break;
} /* end switch (parmp->parm_ID) */
break;
default:
printf("\t Received unexpected extension setID %d\n",
parmp->set_ID);
break;
} /* end switch (parmp->set_ID) */
parmp = gc_util_next_parm(parm_blkp,parmp);
} /* end while (parmp != NULL) */
return GC_SUCCESS;
}