Dialogic 05-0867-005 Table Top Game User Manual


 
cc_GetChanId( ) gets the last channel information
98
{
if( cc_DropCall (crn, NORMAL_CLEARING, EV_ASYNC)<0)
callfail(crn);
}
break;
case DCHAN_IND: /* non circuit switched calls */
/* Ignore this call */
break;
default: /* normal call */
normal_crn = crn;
switch(chanId.mode)
{
case PREFFERED:
if( cc_AcceptCall(crn, EV_ASYNC)<0)
callfail(crn);
break;
case EXCLUSIVE:
if( cc_AcceptCall (crn, 0, EV_ASYNC)<0)
callfail(crn);
break;
}
}
break;
case CCEV_ACCEPT:
if( cc_AnswerCall (crn, 0, EV_ASYNC)<0)
callfail(crn);
break;
case CCEV_ANSWERED:
if(crn == waitingcall_crn)
{
normal_crn = crn;
waitingcall_crn = 0;
}
break;
case CCEV_HOLDACK:
if( (crn == normal_crn) && (callwaiting_crn != 0) )
{
cc_GetChanId(crn, &chanId);
freed_device = chanId.channel;
if( cc_AcceptCall(callwaiting_crn, num_rings, EV_ASYNC)<0)
callfail(crn);
active_crn = 0;
}
break;
case CCEV_DROPCALL:
if( cc_ReleaseCallEx (crn)<0)
callfail(crn);
if( (crn == normal_crn) && (callwaiting_crn != 0) )
{