Previous Topic

Next Topic

Book Contents

Book Index

Home Page

Three Way (or Conference) Calling

Three way calling has been a difficult feature to support primarily because Brooktrout cards and many other TAPI devices don't provide good conference calling support through TAPI. Voice modems are not acceptable devices for making 3 way calls - they do not support conference calling at all. It is a waste of time to attempt to implement three way calling without a hardware configuration that supports it.

Don't believe us about conference calling with voice modems? If you choose to try to do three way calling with a voice modem, expect to fail and please don't ask us for help.

Supported Hardware Configurations for Three-Way Calling

There are two hardware configurations that can correctly support three-way calling with Active Call Center:

  1. Using a telephony device that provides TAPI support for conference calling and a phone service or PBX that supports three-way calling. The Dialogic D/4 PCI and some other Dialogic cards provide three-way call support. Standard Brooktrout telephony cards (RDSP 432, Vantage PCI4L, etc.) do not support three-way/conference calling through TAPI.
  2. Using a Brooktrout ATI (Analog Trunk Interface) card in conjunction with one or more Brooktrout voice processing cards on an MVIP interface (we have tested these configurations and can vouch that they are as complicated as they sound). If you plan on using a Brooktrout ATI card, please read our section on Three-Way Calling with a Brooktrout ATI Card.

Three Way Calling Overview

Three way calling encompasses a variety of different scenarios, the most elementary of which is the following:

  1. An incoming call arrives and is answered by Active Call Center.
  2. The caller enters some information regarding the third party to call.
  3. Active Call Center places the caller on hold and calls the third party.
  4. Active Call Center asks the third party if he can accept the call.
  5. If the third party agrees, a three-way call is created between the incoming caller, Active Call Center and the third party.
  6. The Call Tree continues processing after the three way call is started. Note: Brooktrout ATI users will not be able to hear Active Call Center after the three-way call has started but Active Call Center can still record data and detect touch tones.
  7. Active Call Center keeps the call open until the hardware lets Active Call Center know the call was disconnected or the Call Tree ends.

Some advanced applications for three-way calling include call recording ("this call will be recorded for quality assurance purposes"), pre-paid calling card applications, and integrated call routing applications without using a PBX.

Three Way Calling Features

Active Call Center provides powerful three-way calling features that allow you nearly complete flexibility when configuring a call routing application. There are three three-way calling features that are available:

  1. The Call feature is used to call the third party to whom the call might be transferred. The party waiting to be conferenced is placed on hold. Activate the Call feature by setting the TransferCallTo variable to "Call ###" where ### is the phone number to call. For example, the following line of VBScript could be used to initiate a transfer to 555-1212:
  2. TransferCallTo = "Call 5551212"

  3. The Abort feature is used to disconnect the party that was called using the Call feature. Abort is used to abort a a three-way call prior to the three-way call being completed. Active Call Center can continue the original call after an aborted three-way call. Abort a three-way call in progress by setting the TransferCallTo variable to "Abort" in a macro:
  4. TransferCallTo = "Abort"

    Note: At this time, the Abort features uses an "Unhold" function to retrieve the main call. This information will be useful if you are configuring dialing commands for a Brooktrout or other telephony card.

  5. The Conference feature completes the three-way call. Active Call Center will continue processing the Call Tree after the three-way call is completed. Complete a three-way call by setting the TransferCallTo variable to "Conference" in a macro:
  6. TransferCallTo = "Conference"

Implementing Three-Way Calling

Implementing three-way calling requires calling the party to whom the call will be transferred, asking some questions to that party, and then responding to the feedback by either creating a three-way call or not creating a three-way call. During a three-way call, the Call Tree will continue processing just as if it were on a normal phone call. This facilitates conditional branching, looping, and other sophisticated call handling both before and after the three-way call has started.

Here are the basic steps to implementing a three-way call:

Step 1. Call the third party.

Specify the number to call in a VBScript macro by setting the TransferCallTo variable to "Call ###", where ### represents the number to call. For example:

TransferCallTo = "Call 5551212"

If the call is dialed successfully, the Call Tree will continue at the next Node as determined by the GotoNode variable or the branching rules specified on the Responses Tab.

If the call cannot be completed (for example, busy, no answer, no available line, or a random disconnect), the call will end by default. To override this default behavior, set the TransferFailedGotoNode variable to the name of a Node to which the Call Tree should branch on a failed transfer. The TransferFailedGotoNode variable overrides the value that may be set in the GotoNode variable. In the example below, Fail_Node is a node that handles failed call transfers:

TransferFailedGotoNode = "Fail_Node"

The TransferFailedGotoNode variable setting will work even in future Nodes until the three-way call is either successfully completed or aborted.

Step 2. Interact with the third party.

You can use all the features that are available in a Call Tree to interact with the dialed party. The objective should be to determine whether or not the dialed party wishes to accept a three-way call, and if not, whether any information or action should be relayed to the waiting party.

For example, Active Call Center could have asked the waiting caller to speak their name and saved the audio to a temporary wave file. It could then mention to the dialed party that "You have an incoming call from ..." and play back the wave file to the dialed party. The dialed party could be given a touch tone menu: "Press 1 to accept the call, 2 to take a message, 3 to send the call to voice mail."

Step 3. Based on the input of the dialed party, abort or complete the three-way call.

To abort a three-way call attempt and return the Call Tree to the waiting party, simply set the TransferCallTo variable to "Abort". The Call Tree will continue at the next Node with the waiting party. Keep in mind that the TransferCallTo variable, like all variables, is processed after the macro has executed. Therefore, any such secondary TransferCallTo requests must be made in a Node other than the one in which the transfer is initiated.

To complete a three-way call, set the TransferCallTo variable to "Conference". Active Call Center will create a three-way call between the original caller, Active Call Center, and the third party.

The sample VBScript macro below shows how a user's response may be used to either abort or complete a transfer:

' This code assumes the caller was
' asked to press 1 to accept the call
' or anything else to reject the call.
If Response = "1" Then
' Three-way call was accepted, finish it.
TransferCallTo = "Conference"

' Continue the call at the next node.
GotoNode = "NextNode"
Else
' Transfer was rejected, abort.
TransferCallTo = "Abort"
End If

Applications for Three Way Calling

Some sample applications for three-way calling include:

In This Section

Three-Way Calling with a Brooktrout ATI Card

See Also

TransferCallTo Variable

Blind Call Transfers

Announced Call Transfers