Use TransferCall to transfer a caller to another number.
A voice mail application may offer the option of transferring rather than leaving a message, or an "automated attendant" may transfer a caller who hesitates for too long, to a human agent. Your ability to transfer a call depends on the capabilities of your switch.
The operation of TransferCall assumes that the voice application is running on a channel that is already active (handling an incoming call). Blueworx Voice Response assumes that the transfer is a screened transfer, the caller is put on hold before the signals are sent to the switch, and the transfer is completed only if the third party answers. If your switch only supports blind transfer, you need to set the Ring Wait and Ring Time parameters to 0 (see Ring Wait ).
TransferCall causes an automatic fade out of any background music.
TransferCall supports use of the system variable SV541 to pass additional call information from a state table to SIP, and SV542 to receive information back from SIP. See Transferring information between a state table and SIP for more details on how information can be communicated between the application and SIP.
A successful TransferCall action can be followed by a PlayPrompt to announce the caller to the third party (see Figure 1).
An unsuccessful TransferCall action must be followed by a ReconnectCall action or a TerminateCall action, as appropriate. Figure 1 shows the possible outcomes and what the voice application should try to do in each case.
The TransferCall action works in three distinct steps:
While dialing the number, a period (.) in the dial string causes the action to wait for a dial tone before proceeding. If the action does not receive a dial tone within the time specified in the Pause parameter, it terminates with an Outbound Line Problem result. If it receives a tone other than a dial tone, it terminates with an Unexpected Tone, Phone Busy or Network Busy result, depending on the tone received.
After the number has been dialed, TransferCall waits for a ring tone. Because some protocols do not provide ring tones, and because it is possible for the call to be answered before a ring tone is generated, the action can also detect that the call has been answered during this time. This means that, depending on the protocol, an answer is detected either by signaling or by voice energy. If a ring tone or an answer is not detected within the time specified in the Ring Wait parameter, the action terminates with an Outbound Line Problem result. If an answer is detected, the action terminates with a Succeeded result. If the action receives a tone other than a ring tone, the action terminates with an Unexpected Tone, Phone Busy, or Network Busy result, depending on the tone received.
In the final step, the action waits for up to the time specified in the Ring Time parameter for the call to be answered. This is detected by signaling for protocols that support answer detection or by voice energy for protocols that do not (loop start and ground start). If the call is not answered in the specified time, the action terminates with a No Answer result.
Like MakeCall and Dial, TransferCall can detect voice energy. When TransferCall transfers a call, the call is considered "answered" in most signaling protocols when the receiver on the ringing phone is lifted (off hook). In some protocols, the call is not considered answered until voice energy is detected. If TransferCall detects voice energy, independent of the signaling protocol used, the transfer is successful.
If the transfer is successful, you must issue a TerminateCall action to disconnect the original call, because this does not happen automatically.
If the transfer is unsuccessful, reconnection to the original call is dependent on the type of switch. You should issue the ReconnectCall action in any case, to allow for portability between switches.
TransferCall can recognize the call progress tones. The tones that are received when an application executes a TransferCall action depend on the precise switch configuration for your system. To display the call progress tone values, from the Welcome window, select Configuration, then Pack Configuration. The information on the call progress tones is under the Direction & Tones button. For more information see the Blueworx Voice Response for AIX: Configuring the System information.
To succeed, TransferCall expects certain call progress tones (for example, a dial tone after the transfer signal, and a ring tone after dialing). If other tones are detected (for example, a busy tone), the System: Progress tone type (SV176) and System: Progress tone ID (SV175) system variables are set to identify the tone received. The tones that TransferCall recognizes are assigned specific results that identify the tone, as listed under Possible results. If TransferCall does not recognize a tone, it returns the Unexpected Tone result.
Note that the dial tone provided by the public switched telephone network in Italy is not recognized.
The parameters for TransferCall identify the number and format of the digit string. They also include three timing parameters.
The Transfer Call Feature Code and Transfer Call Request Signal system parameters in the signaling Type parameters group identify the digit string that your switch recognizes as a request to transfer a call to another number. Some switches require only a hook flash action to initiate a transfer. In this case, make Blueworx Voice Response generate a hook flash by setting the Transfer Call Request Signal system parameter to the default (signaling). For information about configuring these parameters as required by your switch, see the Blueworx Voice Response for AIX: Configuring the System information.
If you are using MF signaling, see Phone number and format for MF signaling for more information.
When TransferCall is invoked, the parameter values define both the digit string that contains all the numbers TransferCall sends to the switch and a format for the digit string. The format defines where TransferCall should pause as it sends the digits specified in the digit string.
TransferCall recognizes three format characters:
If the Dial Tone Detection system parameter is set to no dial tone, the period has the same effect as a comma.
For example, the format of a digit string that dials 9 to get a trunk, followed by a seven-digit telephone number, could be either #,####### or #.#######, depending on whether you want Blueworx Voice Response to proceed immediately after pausing, or proceed only when the dial tone is received.
If the switch does not send a standard dial tone, use a comma rather than a period to format the digit string. This will ensure that the digits are sent after the time specified by the Pause parameter, regardless of the tone received.
When you define the digit string and format for a call that is to be made using multifrequency (MF) signaling, the digit string must include the characters that define the MF auxiliary signals that send a start digit (KP) and stop digit (ST). MF auxiliary signals as follows:
Character |
MFAuxiliarySignal |
---|---|
* |
Codeop11 |
# |
Codeop12 |
D |
KPorKP1 |
B |
KP2 |
C |
ST |
For example, using MF signaling, the digit string and format used to send an area code and telephone number preceded by a 9 would look like this:
D9CD4085551212C ###,############
The switch reads this combination as KP (start of a digit sequence), 9 (get a trunk), ST (end of a digit sequence), pause, KP (start of a digit sequence), 4085551212 (the telephone number), ST (end of a digit sequence).
MF signaling can also be specified in the Transfer Feature code system parameter, because digits in that string are also mapped in this way.
If both Ring Wait and Ring Time are set to 0, this is a request for a blind transfer. TransferCall transfers the call, then immediately returns the Succeeded result without waiting for any further activity on the channel. For example, if your switch and protocol allow blind transfer, you can use it to transfer incoming calls to an automatic call distributor (ACD) call group for handling.
If both Ring Wait and Ring Time are set to 0, this is a request for a blind transfer. For more information, see Ring Wait.
TransferCall can have one of the following results:
Issue a ReconnectCall action next.
When using an ASCII editor, code this action with these parameters in the following order:
For example:
label: "Check Edges" TransferCall("735789", "######", 4, 15, 15) edge EDGE_TC_SUCCESSFUL: successful edge EDGE_TC_INVALID_PHONE_NO: invalid_phone_no edge EDGE_TC_PHONE_BUSY: phone_busy edge EDGE_TC_NETWORK_BUSY: network_busy edge EDGE_TC_NO_ANSWER: no_answer edge EDGE_TC_OUTBOUND_LINE_PROBLEM: outbound_line_problem edge EDGE_TC_UNEXPECTED_TONE: unexpected_tone edge EDGE_HUP: hup ;
The parameters and edges are described above under "Parameters" and "Possible results". For more information, see Testing a state table using the debugger.