Custom server functions

This section describes the custom server functions supplied with the VoIP Call Transfer application.

Custom server function definitions

Three functions are provided with the VOIP_Call_Transfer Custom Server:

MakeCallStatus
The outbound state table uses this function to return information about the success of the outbound call to the third party. MakeCallStatus is described in MakeCallStatus.
GetUserStatus and SetUserData
Use these functions only if you need a method of communication between the inbound and outbound state tables during a transfer operation that uses VoIP Call Transfer. For example, you might want to specify the prompts played to the third party during consultation, and to gather the third party responses and return them to the caller state table. The caller state table could then decide either to complete the transfer or to reconnect to the original caller. GetUserStatus is described in GetUserStatus, and SetUserData is described in SetUserData.

Messages from the custom server

The VOIP_Call_Transfer Custom Server issues the following types of message:

The messages are issued as standard custom server messages. The VOIP_Call_Transfer Custom Server error title and ID are shown in parameters 1 and 2 of the standard custom server errors. The error IDs have the form ISDN_XFERnnn. The remaining parameters contain information specific to the particular error.

With any of these errors, if you have followed the suggestions in the User Response, and you are unable to solve the problem, contact IBM Support. When you call, you will need details of any errors, your system setup, and details of the conditions that cause the problem. You may also require an AIX system trace taken when the problem occurs. Before taking the trace, set the -d option in the custom server.

Error messages generated by the VOIP_Call_Transfer Custom Server, together with explanations and suggested responses, are listed in the Blueworx Voice Response for AIX: Problem Determination information.

GetUserStatus

Description:

The GetUserStatus function is called by the inbound state table after a transfer. Use it to retrieve any user data set by the outbound state table during the transfer operation. This call must be made after the TransferCall action and before the TerminateCall or ReconnectCall actions.

Input parameters:

None.

Output parameters:

short status

The status of the call to get the user status information. The possible values are:

0
User status data is present.
1
Request to get user status is not valid at this time.
2
No user status data is available.

char user_status1[64]

User-defined data field sent by the outbound state table to the inbound state table during a transfer after the outbound call has been made.

char user_status2[16]

User-defined data field sent by the outbound state table to the inbound state table during a transfer after the outbound call has been made.

char user_status3[16]

User-defined data field sent by the outbound state table to the inbound state table during a transfer after the outbound call has been made.

char user_status4[16]

User-defined data field sent by the outbound state table to the inbound state table during a transfer after the outbound call has been made.

char user_status5[16]

User-defined data field sent by the outbound state table to the inbound state table during a transfer after the outbound call has been made.

MakeCallStatus

Description:

The MakeCallStatus function is called by the outbound state table after the outbound call has been made. If there is any user data to return (for example, data from a third party consultation), it can be placed in the user_status parameters.

Input parameters:

short call_status

The return code from the MakeCall state table action.

char user_status1[64]

User-defined data field sent to the inbound state table during a transfer after the outbound call has been made.

char user_status2[16]

User-defined data field sent to the inbound state table during a transfer after the outbound call has been made.

char user_status3[16]

User-defined data field sent to the inbound state table during a transfer after the outbound call has been made.

char user_status4[16]

User-defined data field sent to the inbound state table during a transfer after the outbound call has been made.

char user_status5[16]

User-defined data field sent to the inbound state table during a transfer after the outbound call has been made.

Output parameters:

None.

SetUserData

Description:

The SetUserData function is called with several parameters to send information to the outbound state table used during the transfer operation. This call must be made before the TransferCall action is performed.

The parameters are all strings, and the format of the data contained within the strings is user defined.

Input parameters:

char user_data_1[64]

User-defined data field sent to the outbound state table during a transfer.

char user_data_2[16]

User-defined data field sent to the outbound state table during a transfer.

char user_data_3[16]

User-defined data field sent to the outbound state table during a transfer.

char user_data_4[16]

User-defined data field sent to the outbound state table during a transfer.

char user_data_5[16]

User-defined data field sent to the outbound state table during a transfer.

Output parameters:

None.