gc_ReleaseCallEx( )
Termination Events | Cautions | Errors | Example | See Also
Description
The gc_ReleaseCallEx( ) function releases the call and the associated internal resources. Every gc_DropCall( ) must be followed by gc_ReleaseCallEx( ).
For some technologies, an inbound call will be rejected after gc_DropCall( ) and prior to gc_ReleaseCallEx( ). Refer to the appropriate Global Call Technology User's Guide for technology-specific information.
crn call reference number for the call mode set to EV_ASYNC for asynchronous execution or to EV_SYNC for synchronous execution Termination Events
- GCEV_RELEASECALL
- indicates that the function call is successful and the call resources have been released.
- GCEV_RELEASECALL_FAIL
- indicates that the function failed.
Cautions
Errors
If this function returns <0 to indicate failure, use the gc_ErrorInfo( ) function for error information. If the GCEV_RELEASECALL_FAIL event is received, use the gc_ResultInfo( ) function to retrieve information about the event. See the "Error Handling" section in the Global Call API Programming Guide. All Global Call error codes are defined in the gcerr.h file. If the error returned is technology specific, see the technology-specific error header file(s) for the error definition (for example, ccerr.h or isdnerr.h file for the ISDN call control library).
Example
#include <stdio.h> #include <srllib.h> #include <gclib.h> #include <gcerr.h> /* * Assume the following has been done: * 1. Opened line devices for each time slot on DTIB1. * 2. The call has been dropped with gc_DropCall() */ int release_callEx(CRN crn) { GC_INFO gc_error_info; /* GlobalCall error information data */ /* * Release the system resources using gc_ReleaseCallEx(). */ if (gc_ReleaseCallEx(crn, EV_ASYNC) != GC_SUCCESS) { /* process error return as shown */ gc_ErrorInfo( &gc_error_info ); printf ("Error: gc_ReleaseCallEx() on device handle: 0x%lx, GC ErrorValue: 0x%hx - %s, CCLibID: %i - %s, CC ErrorValue: 0x%lx - %s\n", metaevent.evtdev, gc_error_info.gcValue, gc_error_info.gcMsg, gc_error_info.ccLibId, gc_error_info.ccLibName, gc_error_info.ccValue, gc_error_info.ccMsg); return (gc_error_info.gcValue); } /* * Once gc_ReleaseCallEx() returns, the system must wait for the * GCEV_RELEASECALL event. When this event is received, the * system is then ready to generate or accept another call on * this line device. */ return (0); }See Also
Click here to contact Telecom Support Resources
Copyright 2003, Intel Corporation