cc_CallAck( ) send the first response to an incoming call
58
* The cc_CallAck() function needs to be called after
* cc_WaitCall and before cc_CallProgress(), cc_AcceptCall()
* and cc_AnswerCall()
*/
if ( cc_CallAck(crn,0,CALL_PROCEEDING) <0)
callfail(crn);
printf("Accepting call\n");
if ( cc_AcceptCall(crn, 0, EV_SYNC)<0)
callfail(crn);
if ( cc_AnswerCall(crn, 0, EV_SYNC)<0)
callfail(crn);
.
.
.
.
.
if ( cc_DropCall(crn, NORMAL_CLEARING, EV_SYNC)<0)
callfail(crn);
if ( cc_ReleaseCall(crn)<0)
callfail(crn);
if ( cc_Close( devhdl)<0)
printf("Error closing device, errno = %d\n", errno);
}
int callfail(CRN crn)
{
LINEDEV ld;
cc_CRN2LineDev(crn,&ld);
procdevfail(ld);
}
int procdevfail(LINEDEV handle)
{
int reason;
char *msg;
reason = cc_CauseValue(handle);
cc_ResultMsg(handle,reason,&msg);
printf("reason = %x - %s\n",reason,msg);
}
!
! !
!
Errors
If the function returns a value < 0 to indicate failure, use the cc_CauseValue( )
function to retrieve the reason code for the failure. The cc_ResultMsg( ) function
can be used to interpret the reason code. Error codes are defined in the files
ccerr.h, isdnerr.h and isdncmd.h.