TromboneCall

Description

TromboneCall is called with several parameters, most of them required for the MakeCall action itself, and to determine which state table to use to make the call.

Using the data provided by the input parameters, the custom server invokes a state table (by default IBMTromboneOut) to make a call to the third party. It then waits for a response in the form of a TromboneMakeCallStatus request from the invoked state table. If this response indicates that the outbound call was successful, the custom server requests TDM Manager to connect the caller and third party using the TDM bus. When this completes successfully, the TromboneCall request returns a zero response in the make_call_status to indicate that the trombone is in place and the two parties are connected.

If any of the steps in this process fails, the TromboneCall request returns a non-zero response in the make_call_status to indicate that the trombone operation has failed for the given reason.

Input parameters

char phone_number[40]:

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

char format[50]:

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

char permitted_channel_groups[64]:

The permitted channel groups for the outgoing part of the trombone (see the definition of SV178 for information on how to use this variable).

char permitted_channels[64]:

The permitted channels for the outgoing part of the trombone (see the definition of SV228 for information on how to use this variable).

char log_filename[64]:

The filename to receive event logging information. Leave this blank if you want no event logging.

char user_data[64]:

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 them to the caller.

char outbound_state_table_name[16]:

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.

char outbound_state_table_entry_point[16]:

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

char additional_call_info1[140]:

Reserved for Blueworx Voice Response.

char additional_call_info2[35]:

Reserved for Blueworx Voice Response.

char additional_call_info3[35]:

Reserved for Blueworx Voice Response.

char additional_call_info4[35]:

Reserved for Blueworx Voice Response.

char additional_call_info5[35]:

Reserved Blueworx Voice Response.

Output parameters

short trombone_make_call_status:

The trombone_make_call_status for the TromboneCall request indicates the status of the trombone operation. The trombone_make_call_status falls into various groups defined in Table 1.

Table 1. Return values for the trombone_make_call_status parameter of the TromboneCall function

Make Call Status

Error Description

0

The trombone request was successful.

1 - 99

Bad return code from the IBMTromboneOut state table

100

The IBMTromboneOut state table returned a trombone_make_call_status outside the valid range (0 to 99).

101

The IBMTromboneOut state table performed a CloseHostServerLink while the custom server was waiting for a response to the TromboneMakeCall request

102

The custom server request is invalid at this time (probably because of an error in the sequence of custom server calls).

103

CA_Open_CHP_Link() failed, probably because there are not enough free CHPs.

104

CA_Execute_State_Table() failed, probably because of an invalid state table name, entry point, or the state table not being validated.

105

CA_Get_Channel_Info() failed, probably because the outbound call has been terminated.

106

A TDM connect or disconnect request failed because of an adapter hardware problem.

107

A TDM connect or disconnect request failed because the requested port is already connected. This may be caused by other applications running that can make TDM connect and disconnect requests.

108

A TDM connect or disconnect request failed because there is no call present. One of the parties has probably hung up.

109

A TDM connect or disconnect request failed because the Timeslot Manager is not ready. It may be very busy, or not available.

110

A TDM connect or disconnect request failed because of an internal custom server problem.

111

A TDM connect or disconnect request failed because of an unexpected return code.

112-199

Spare: may be used for user-defined values.