Dialogic Dialogic Global Call IP IP Phone User Manual


 
Dialogic
®
Global Call IP Technology Guide — November 2007 417
Dialogic Corporation
request modification of call attributes — gc_ReqModifyCall( )
existing dialog or media session are performed and the current state remains as it was prior to
the attempting the modification request.
GCEV_CANCEL_MODIFY_CALL
Successful termination event for a request to cancel a pending call modification request.
Indicates that the remote UA accepted the CANCEL method and sent a 200OK, and the library
automatically sent an ensuing ACK. The previously sent re-INVITE dialog is terminated and
no attribute changes are performed. In this case the application will not receive a termination
event for the original gc_ReqModifyCall( ) call (the one which initiated the re-INVITE
dialog).
GCEV_CANCEL_MODIFY_CALL_FAIL
Unsuccessful termination event for a request to cancel a pending call modification request.
Indicates that the signaling of the CANCEL method failed, likely due to invalid state, such as
having received a final 2xx-6xx response to the subject re-INVITE. In this case, the
application will receive a termination event for the prior gc_ReqModifyCall( ) call (either
before or after this event) to indicate the successful or failed outcome of original re-INVITE
transaction.
Cautions
This function is only supported when the value of the parameter IPSET_CONFIG /
IPPARM_OPERATING_MODE has been set to IP_T38_MANUAL_MODIFY_MODE using
the gc_SetConfigData( ) function. If this parameter value has not been set, the function call
will fail with an error value of IPERR_BAD_PARM.
Only asynchronous mode is supported. Calling the function in synchronous mode will fail and
return an error value of GC_ERROR while setting CCLIB error to IPERR_BAD_PARAM.
This function can only be called in the connected call state. If the CRN is not valid, the
function fails and returns GC_ERROR while setting CCLIB error to IPERR_BAD_PARAM.
Only one re-INVITE transaction can be pending in a call at any given time. Any re-INVITE
transaction previously issued on the call must terminate (as indicated by a termination event)
before a new one is initiated, otherwise the function will fail.
Errors
The function returns GC_ERROR (with CCLIB error set to IPERR_BAD_PARM) if the CRN
is not valid, if the mode is not set to EV_ASYNC, or if the value of the configuration
parameter IPSET_CONFIG / IPPARM_OPERATING_MODE has not been set to
IP_T38_MANUAL_MODIFY_MODE in 1PCC operating mode.
Upon receiving a termination event that indicates a failure, use the gc_ResultInfo( ) function
to retrieve information about the event. See the “Error Handling” section in the Dialogic
®
Global Call API Programming Guide. All Global Call error codes are defined in the gcerr.h
file while IP-specific error codes are specified in gcip_defs.h.
Example
The first code example illustrates an application requesting the current media session be changed to
G.729 to limit bandwidth consumption.
The following code illustrates how this coder change is initiated in the first party call control
(1PCC) operating mode using the gc_ReqModifyCall( ) function.