The VoIP call transfer application is supplied in the VoIP installp image that you install using the System Management Interface Tool (SMIT). The application components, include some source code to help you customize the VoIP call transfer capability to your specific needs. For a straightforward use of the VoIP call transfer capability, no customizing should be required.
The source code for these state tables is supplied in an ASCII file in the same directory as the custom server: $CUR_DIR/ca/VOIP_Call_Transfer_dir.
Before you can install the VoIP call transfer application, you must have:
If you intend to use the VoIP call transfer application, you must import the VOIP_Call_Transfer custom server and associated state table:
The VOIP_Call_Transfer custom server has some command line parameters that you can set to help you debug problems, or to fine-tune the operation of the custom server.
The parameters are defined in Table 1. For information on how to set the parameters, see Setting configuration options.
Parameter |
Default setting |
Description |
---|---|---|
-a |
off |
Send extra information alarms to the error log. |
-d |
off |
Provide extra debugging information (in addition to the information that always gets sent). |
-en |
n=0 |
The event data (n) sent by the custom server if the third party hangs up (see CA_Report_Channel_Event() in the Blueworx Voice Response for AIX: Custom Servers information). |
-in |
n=0 |
The information field (n) sent by the custom server if the 3rd party hangs up (see CA_Report_Channel_Event() in the Blueworx Voice Response for AIX: Custom Servers information). |
-s |
off |
Print debugging information to stdout, as well as to AIX system trace. |
-z |
off |
This parameter is for test purposes only. It causes the custom server to enrol one of each type of error possible on custom server startup, then terminates. The enrolment of errors takes about 30s. |
-Eentry_point |
entry_point = begin |
The name of the state table entry point to use in the outbound state table. This must be the same for all of the outbound state tables used in VoIP transfer operations. |
-Lfile_name |
file_name = null |
Name of the log file to be used for logging debug information. If this is blank, no logging information will be sent. |
-Ssttbl_name |
sttbl_name = VOIP_SupA_Xfer |
Name of the state table to use for attended transfers (that follow the Blueworx Voice Response signaling model for transfer operations). |
To set one or more of the configuration options, follow the procedure below:
The system displays the Custom Server (VOIP_Call_Transfer) window.
The system displays the Properties (VOIP_Call_Transfer) window.
The system closes the Properties (VOIP_Call_Transfer) window.
The system displays the available custom servers in a window.
The Run Status button should display None, after a short while.
After a short while the Run Status button should display Waiting. The new command line parameters are now in effect. If the Run Status remains at None, there is probably an error with one of the command line parameters. Check the error log for details.
#
# =================================================
# Description
DESCRIPTION("SIP Attended transfer using the VOIP_Call_Transfer custom
server. AIX Blueworx Voice Response");
# The out bound call is answered in this state table
# using transfer with a CONSULT tag.
# =================================================
# Prompt Directory
PROMPT_DIRECTORY(Welcome);
#
# =================================================
# Entry Point(s)
ENTRY_POINT(begin,answer);
#
# =================================================
# Variables
#
# =================================================
# Actions
answer: "answer the phone"
AnswerCall()
edge EDGE_AC_NOT_RINGING: hup
;
"play 'Welcome' segment"
PlayPrompt("FALSE", Welcome)
edge EDGE_PP_LINE_PROBLEM: hup
edge EDGE_PP_NOTHING_PLAYED: hup
edge EDGE_HUP: hup
;
#This section sets up the out bound call leg.
"CONSULT TAG"
AssignData(SV541, "PUT_TAG", "CONSULT", "0")
;
"TO_HDR - ray"
AssignData(SV541, "PUT_TAG", "TO_HDR", "sip:ray@99.99.55.55:5060")
;
TransferCall("", "", 0, 0, 30)
edge EDGE_TC_INVALID_PHONE_NO: hup
edge EDGE_TC_PHONE_BUSY: hup
edge EDGE_TC_NETWORK_BUSY: hup
edge EDGE_TC_NO_ANSWER: hup
edge EDGE_TC_OUTBOUND_LINE_PROBLEM: hup
edge EDGE_TC_UNEXPECTED_TONE: hup
edge EDGE_HUP: hup
;
# The original caller call can be consulted here.
# The outbound callee can be consulted from the
# SuperXferA state table.
good: "play 'Welcome' segment"
PlayPrompt("FALSE", Welcome)
edge EDGE_PP_LINE_PROBLEM: hup
edge EDGE_PP_NOTHING_PLAYED: hup
edge EDGE_HUP: hup
;
# The Transfer takes place when the transfer action
# is executed with a TRANSFER tag.
"TRANSFER TAG"
AssignData(SV541, "PUT_TAG", "TRANSFER", "0")
;
TransferCall("", "", 0, 0, 30)
edge EDGE_TC_SUCCESSFUL: hup
edge EDGE_HUP: hup
;
hup: "terminate call"
CloseEverything()
;