Stops the dial operation.
AG
CG
DWORD adiStopDial ( CTAHD ctahd)
|
Argument |
Description |
|
ctahd |
Context handle returned by ctaCreateContext or ctaAttachContext. |
|
Return value |
Description |
|
SUCCESS |
|
|
CTAERR_FUNCTION_NOT_ACTIVE |
Attempt made to stop a function that was not running. |
|
CTAERR_INVALID_CTAHD |
Context handle is invalid. |
|
CTAERR_INVALID_SEQUENCE |
Attempt made to stop a function that is already being stopped. |
|
CTAERR_INVALID_STATE |
Function not available in the current port state. |
|
CTAERR_SVR_COMM |
Server communication error. |
|
Event |
Description |
|
ADIEVN_DIAL_DONE |
After the dial operation stops, the ADI service generates a DONE event with the value field set to CTA_REASON_STOPPED. |
Use adiStopDial to stop the dial function started by adiStartDial. You can restart the dial operation (and any other operation requiring voice output) after you receive the DONE event.
int myStopDial( CTAHD ctahd )
{
CTA_EVENT event;
if( adiStopDial( ctahd ) != SUCCESS )
return MYFAILURE;
while( 1 )
{
myGetEvent( &event ); /* see ctaWaitEvent example */
switch( event.id )
{
case ADIEVN_DIAL_DONE:
if( event.value == CTA_REASON_RELEASED )
return MYDISCONNECT; /* call has been terminated */
else if( CTA_IS_ERROR( event.value ) )
return MYFAILURE; /* API error */
else
return SUCCESS; /* stopped normally */
break;
/* might include cases to handle disconnect, DTMFs, etc. */
}
}
}