PREV TOC HOME INDEX NEXT


gc_ReleaseCallEx( )


Termination Events | Cautions | Errors | Example | See Also

Name: int gc_ReleaseCallEx(crn, mode)
Inputs:

CRN crn

  • call reference number
 

unsigned long mode

  • async or sync
Returns:

0 if successful


<0 if failure.

Includes:

gcerr.h

Category:

basic

Mode:

asynchronous or synchronous

Platform and Technology:

Springware: T-1/E-1, ISDN, Analog (PDKRT only)

DM3: T-1/E-1, ISDN, Analog

SS7

IP (host-based stack and embedded stack)

See the Global Call Technology User's Guides for additional information.

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.

Parameter

Description

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

None

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

None


PREV TOC HOME INDEX NEXT

Click here to contact Telecom Support Resources

Copyright 2003, Intel Corporation
All rights reserved
This page generated February, 2003