Dialogic Dialogic Global Call IP IP Phone User Manual


 
317
Dialogic Corporation
INT32 processEvtHandler()
{
METAEVENT metaEvent;
GC_PARM_BLK *parmblkp = NULL;
:
int rc = gc_GetMetaEvent(&metaEvent);
if (GC_SUCCESS != rc)
{
printf("GC_APP : gc_GetMetaEvent() failed\n");
return rc;
}
long evtType = sr_getevttype();
long evtDev = sr_getevtdev();
int g_extIndex = g_lArray[g_evtdev];
switch (evtType)
{
///////////////////////////////////////////
// Party A events
///////////////////////////////////////////
case GCEV_INVOKE_XFER_ACCEPTED:
// remote party has accepted REFER by 2xx response
printf("Invoke Transfer Accepted By Remote\n");
break;
case GCEV_INVOKE_XFER:
// remote party has notified transfer success in NOTIFY
printf("Invoke Transfer Successful\n");
break;
case GCEV_INVOKE_XFER_FAIL:
// Invoke Transfer failed by remote NOTIFY or locally
PrintEventError(&metaEvent);
break;
case GCEV_INVOKE_XFER_REJ:
// Invoke Transfer Rejected by Remote party
PrintEventError(&metaEvent);
break;
/////////////////////////////////////////
// Party B events
/////////////////////////////////////////
case GCEV_REQ_XFER:
// Incoming transfer request
GC_REROUTING_INFO *pRerouteInfo = (GC_REROUTING_INFO *)metaEvent.extevtdatap;
printf("Reroute number = %s\n", pRerouteInfo->rerouting_num);
if(NULL != pRerouteInfo->parm_blkp)
{
// Handle parm blocks
}
strcpy(session[g_extIndex].rerouting_num,pRerouteInfo->rerouting_num);
session[g_extIndex].rerouting_addrblk = *pRerouteInfo->rerouting_addrblkp;
GC_HandleXferReq(g_extIndex)
break;
case GCEV_ACCEPT_XFER:
// Accepted incoming transfer request
break;