This state table encapsulates some of the code needed to continue a trombone operation that is performed in several parts. It disconnects the caller from a third party that has already been connected using the IBMTromboneMake and IBMTromboneConn state tables. The call and connection to the third party must have completed successfully for this state table to work successfully.
IBMTromboneDisc uses the TromboneDisconnectCall function of IBM_Trombone_Custom_Server. On successful completion, the caller is disconnected from the third party (the connection on the TDM bus is broken). If the application allows, the caller can now continue with the application that was being used before the trombone connection was made.
This state table can be called by the user’s application, along with a number of parameters using the InvokeStateTable action. This state table is used by the IBMTromboneWait state table, which can be used as an example of how to use it.
The source code is well commented and customization should be easy. The function to log data has been provided in a separate state table that may be invoked (IBMTromboneLog) to prevent this state table becoming too complex and cluttered.
If this is blank, no event logging is performed. If a filename is supplied, event logging of the trombone calls and the results are logged to an event log with the given filename. The logging is performed by the IBMTromboneLog state table.
The returned status of the trombone operation.
If the value is zero, the trombone operation was successful and was terminated either by the third party hanging up, or by the caller requesting a disconnection by dialling the correct DTMF sequence.
If this value is non-zero, the trombone operation did not complete successfully. Table 1 shows the meanings of the possible call_status values.
This state table returns different edges depending on which range of possible values the call_status lies in (also defined in Table 1). This allows the general area of the problem to be determined immediately by the return edge of the InvokeStateTable action that called IBMTromboneDisc.
The IBMTromboneDisc state table can return any of the following values: 221, 222 to 206, and 228.