IBMTromboneMake

This state table encapsulates the code needed to initiate a trombone operation that is performed in several parts. It requests an outbound call to be made by the trombone custom server ready for a trombone operation.

If the wait_time parameter is set to zero, it returns as soon as the request for an outbound call has been sent. On successful completion, the outbound call to the third party should be in progress. The IBMTromboneRdy state table can then be used to determine if the outbound call is successful, has failed, or is still progressing.

If the wait_time parameter is non-zero, it waits for that amount of time for a response to the make call request. On successful completion, a third party has been called, and is connected to Blueworx Voice Response. The caller and third party are not connected on the TDM bus at this time. The IBMTromboneConn state table should be used to complete the connection.

This state table is called by the user’s application, along with a number of parameters using the InvokeStateTable action. See IBMTromboneXmpA and IBMTromboneXmpB for examples of how to use this state table.

The source code is well commented and customization should be easy. The functionality 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.

Parameters

String phone_number (40 character max):

The number to dial for the outgoing part of the trombone (see the definition of phone_number in the MakeCall state table action for details).

String format (50 characters max):

The format string for the number to dial for the outgoing part of the trombone (see the definition of format in the MakeCall state table action for details).

String log_filename (64 characters max):

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.

String user_data (64 characters max):

Some user-defined data for simple communications from the IBMTromboneCall state table to the IBMTromboneOut state table.

This may be used, for example, to reference a prompt to be played as an announcement to the third party before the trombone operation connects the third party to the caller.

String out_stbl_name (16 characters max):

The name of the state table to use for the outbound part of the trombone operation. If this is blank, the default state table IBMTromboneOut is used.

String out_stbl_entry (16 characters max):

The entry point within the state table to use for the outbound part of the trombone operation. If this is blank, the default label begin is used.

Number wait_time (value is in seconds):

The amount of time to wait for a response to the MakeCall request that is sent to IBM_Trombone_Custom_Server.

If this is set to zero, the state table returns as soon as the MakeCall request has been sent, without checking to see if the MakeCall has failed or succeeded.

If this is set to a non-zero value, the state table waits for up to this amount of time to see if the MakeCall has failed or succeeded. The IBMTromboneRdy state table is used to perform this test.

Number call_status (this value is returned):

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 IBMTromboneMake.

The IBMTromboneMake state table can return any of the following values:

  • If wait_time is set to zero: 201, 202, or 229
  • If wait_time is non-zero: 0 to 207 or 229
Number partner_call_id (this value is returned).:

The Call Reference (SV237) of the outbound part of the trombone operation. It is supplied to provide a unique link between the two halves of the trombone operation for debug purposes. This value is set only if the wait_time is non-zero and the outbound call is successful within the wait_time specified.

String user_status (this value is returned, up to 64 characters).:

Some user-defined data for simple communications from the outbound state table to the inbound state table. This may be used, for example, to indicate the response of the third party to the trombone request (such as a reason code for connection refused). The inbound state table can then play a prompt to the caller appropriate to the third party response. This value is set only if the wait_time is non-zero and the outbound call is successful within the wait_time specified.