Part II: Developing Outbound Applications - Get Call Status

To get the call status, use the following:

if (! VgateClient::GetCallStatus(callId, log, true)) {
    AfxMessageBox(VgateClient::GetLastError());
    return;
}

if (log.GetSize() == 0)
    continue; // still in progress

// last one is the final status
rec = (VgateCallRecord*)log.GetAt(log.GetSize()-1);

 

The call status and message can be accessed from the VgateCallRecord. There might be more than one call records because of retries.

Once the call is made or failed, you should clean up the call request and other call specific files on the gateway.

VgateClient::RemoveCall(callId);
VgateClient::RemoveFile(targetdir + "\\callnow.vxml");