Dialogic Dialogic Global Call IP IP Phone User Manual


 
148 Dialogic
®
Global Call IP Technology Guide — November 2007
Dialogic Corporation
IP-Specific Operations
Extracting Call-Related Information Associated with an Extension
Event
The following code demonstrates how an application can extract call information when a
GCEV_EXTENSIONCMPLT event is received as a result of a request for call-related information.
int OnExtensionAndComplete(GC_PARM_BLKP parm_blk,CRN crn)
{
GC_PARM_DATA *parmp = NULL;
parmp = gc_util_next_parm(parm_blk,parmp);
if (!parmp)
{
return GC_ERROR;
}
while (NULL != parmp)
{
switch (parmp->set_ID)
{
case IPSET_CALLINFO:
switch (parmp->parm_ID)
{
case IPPARM_DISPLAY:
if(parmp->value_size != 0)
{
printf("\tReceived extension data DISPLAY: %s\n", parmp->value_buf);
}
break;
case IPPARM_CALLID:
/* print the Call ID in parmp->value_buf as array of bytes */
for (int count = 0; count < parmp->value_size; count++)
{
printf("0x%2X ", value_buf[count]);
}
break;
case IPPARM_USERUSER_INFO:
if(parmp->value_size != 0)
{
printf("\tReceived extension data UUI: %s\n", parmp->value_buf);
}
break;
case IPPARM_PHONELIST:
if(parmp->value_size != 0)
{
printf("\tReceived extension data PHONELIST: %s\n",
parmp->value_buf);
}
break;
default:
printf("\tReceived unknown CALLINFO extension parmID %d\n",
parmp->parm_ID);
break;
}/* end switch (parmp->parm_ID) for IPSET_CALLINFO */
break;
case IPSET_CONFERENCE:
switch (parmp->parm_ID)
{
case IPPARM_CONFERENCE_GOAL:
if(parmp->value_size != 0)