Transfer Call Module

The Transfer Call module will transfer the call to another extension or telephone number.

All types of call transfers are supported:

  • 'Hookflash' transfers
  • 'Dial and Conference' / 'Trombone' / 'Bridge' transfers
  • TBCT transfers (used on ISDN trunks)
  • SIP REFER transfers (used on VoIP - SIP)

The 'Dial and Conference' ('Trombone' / 'Bridge') transfer uses two lines for the entire length of the call. In all other transfers types the line becomes free to take another call as soon as the transfer is made.

All PBXs support hookflash transfers, and some phone companies support hookflash transfers as well. You will need to check with your phone company to see if it supports hookflash transfers on it's lines. If your system is using telephone lines which do not support hookflash transfers and you do not have a PBX then you will need to use the "Dial and Conference" (Trombone / Bridge) transfer method.

 

 

When specifying the number to dial you can use commas ',' to indicate pauses in the dialing sequence, ie: to allow a pause between the hookflash and the telephone number being dialed add a couple of commas before the phone number. (eg: the text box in the screenshot above would read ",,8843

Note that this can only be done on analog lines. On ISDN and VoIP connections commas cannot be used.

Result Variables can be used when specifying the telephone number or extension.

 

Hookflash Transfer - Blind

  1. Dials the signal specified (usually just a hookflash),
  2. Dials the telephone number,
  3. Hangs up immediately

The caller will now be connected to another extension. VoiceGuide no longer monitors the call. 

Some PBXs/Switches require that the destination extension starts ringing before VoiceGuide can hang up. When using such systems it may be necessary to add a comma or two at the end of the destination number to make VoiceGuide pause for a while after dialing the number and before hanging up the call.

Some PBXs/Switches require that the destination extension is answered before VoiceGuide can hangup. In such situations the "Announced" or "Monitored" transfer option will need to be used.

 

Hookflash Transfer - Monitored

  1. Dials the signal specified (usually just a hookflash),
  2. Dials the telephone number,
  3. Listens to see if a call is answered by a human or an answering machine. If a human or answering machine answer is detected then VoiceGuide hangs up, which completes the transfer. If no answer is detected or the extension is busy then VoiceGuide will dial the 'retrieve call from announced transfer' signal (usually just a hookflash) and go down the Fail path.

 

Hookflash Transfer - Announced

  1. Dials the signal specified (usually just a hookflash), 
  2. Dials the telephone number,
  3. Plays a message announcing the Caller's ID, and awaits the selection from the called person whether to accept the call or not. "1" is used to accept the call, any other digit is used to decline the call. If "VoiceGuide for Dialogic" is used then the announce message will only start when VoiceGuide detects that the outgoing call has been answered.
  4. If the call is accepted VoiceGuide will dial the 'complete announced call transfer' signal (usually nothing is needed) and hang up and allow the two new parties to continue conversation. If the Success path is defined then that path will be taken, but script should be designed in such a way that VoiceGuide hangs up soon, so that the two parties can speak to one another.  
  5. If the call is declined, the called party does not answer, or the extension is busy then VoiceGuide will dial the 'retrieve call from announced transfer' signal (usually just a hookflash) and then the "Fail" path is taken. If other more appropriate path is defined then that path is taken instead.

 

SIP REFER Transfer (RFC 3515)

VoiceGuide v7 can perform SIP transfers. All that is required to perform the RFC3515 REFER transfer is to select "Blind Hookflash Transfer" option and type in the IP address of the transfer destination.

 

3 Way Conference - Blind

  1. Dials the signal specified (usually just a hookflash),
  2. Dials the telephone number,
  3. Dials the signal as specified in 'Complete blind conference call' setting (usually "!3")
  4. Waits until the call is finished.
VoiceGuide will take the Success path if it is defined, otherwise VoiceGuide will wait and hang up when:
  • either party hangs up.
  • maximum conference time limit is reached (settable in VG.INI file)
  • digit "*" is pressed during conversation

 

3 Way Conference - Monitored

  1. Dials the signal specified (usually just a hookflash),
  2. Dials the telephone number,
  3. Listens to see if a call is answered by a human or an answering machine. If a human or answering machine answer is detected that VoiceGuide hangs up. If no answer is detected then VoiceGuide will dial the 'retrieve call from announced transfer' signal (usually just a hookflash).
  4. If a human or answering machine answer is detected VoiceGuide will dial the 'complete announced conference' signal (usually "!3"). Then if the Success path is defined then that path will be taken, otherwise VoiceGuide will wait until end of call.  If no answer is detected or the extension is busy then VoiceGuide will dial the 'retrieve call from announced conference' signal and then the Fail path is taken (If other more appropriate path is defined then that path is taken instead).

If call is accepted VoiceGuide will take the Success path if it is defined, otherwise VoiceGuide will wait and hang up when:

  • either party hangs up.
  • maximum conference time limit is reached (settable in VG.INI file)
  • digit "*" is pressed during conversation

 

3 Way Conference - Announced

  1. Dials the signal specified (usually just a hookflash),
  2. Dials the telephone number,
  3. Plays a message announcing the Caller's ID, and awaits the selection from the called person whether to accept the call or not. "1" is used to accept the call, any other digit is used to decline the call. If "VoiceGuide for Dialogic" is used then the announce message will only start when VoiceGuide detects that the outgoing call has been answered.
  4. If the call is accepted VoiceGuide will dial the 'complete announced conference' signal (usually "!3"). Then if the Success path is defined then that path will be taken, otherwise VoiceGuide will wait until end of call.  If the call is declined, the called party does not answer, or the extension is busy then VoiceGuide will dial the “retrieve call from announced conference” signal and then the Fail path is taken.

If call is accepted VoiceGuide will take the Success path if it is defined, otherwise VoiceGuide will wait and hang up when:

  • either party hangs up.
  • maximum conference time limit is reached (settable in VG.INI file)
  • digit "*" is pressed during conversation

 

Dial and Conference - General Notes:

The D4PCIU* family cards do not support "Dial and Conference". You need a JCT or DMV series card (eg. D/41JCT, D/120JCT, DMV160, D/240JCT, DMV600B etc.)

The ports which can be used to place the call can also be specified. The allowed posts need to be specified in comma delimited format. eg: 2,3,4

If ports are not specified then any free port will be used.

VG Dialer add-on is required to use the "Dial and Conference" option.

End of call detection on analog lines is done by listening for disconnect tone. Some phone companies hold off with playing the disconnect tone until some time after hangup, and sometimes the time before the disconnect tone is played differs depending on whether the person who hung up was the one who made the call or received the call.

To be able to hangup calls immediately the phone company must either play the disconnect tone immediately after either party hangs up, or you should use T1/E1 ISDN lines. If the application needs to detect the precise time of when either party hung up then T1/E1 ISDN lines should be used.

 

Dial and Conference - Blind

  1. Dials the second number on another line.
  2. Connects the two calls together.

VoiceGuide will take the Success path if it is defined, otherwise VoiceGuide will wait and hang up when:

  • busy
  • maximum conference time limit is reached (settable in VG.INI file)
  • digit "*" is pressed during conversation

 

Dial and Conference - Monitored

  1. Dials the number on another line.
  2. Listens to see if the outgoing call is answered by a human or an answering machine. If a human or answering machine answer is detected then VoiceGuide connects the two calls together. If an announce mesage is specified the announce mesage is played to the call recipient before the call is connected.

If call is connected VoiceGuide will take the Success path if it is defined, otherwise VoiceGuide will wait and hang up when:

  • busy
  • maximum conference time limit is reached (settable in VG.INI file)
  • digit "*" is pressed during conversation

 

Dial and Conference - Announced

  1. Dials the second number on another line.
  2. Waits until the outgoing call is answered. When call is answered VoiceGuide plays a message announcing the Caller's ID, and awaits the selection from the called person whether to accept the call or not. "1" is used to accept the call, any other digit is used to decline the call.

If call is accepted VoiceGuide will take the Success path if it is defined, otherwise VoiceGuide will wait and hang up when:

  • busy
  • maximum conference time limit is reached (settable in VG.INI file)
  • digit "*" is pressed during conversation

 

Group Transfer

Multiple parties can be dialed at the same time, with call connected to the party that answers first. Upon first call being answered all other calls are hung up.
This option can only be used on "Dial and Conference" (ie. 'Tromboned') type transfers.

To place a Group Transfer the multiple telephone numbers are specified separated by the & character.

eg:

5551111&5552222&5553333&5554444

Will result in calls to 4 numbers being placed, with the caller connected with the party that answers first.

 

ACD Queue Transfer

Call can be placed in ACD queue, and from the queue the call will then be transferred to an agent when the appropriate agent becomes available.
To place call in an ACD queue the following expression is used: acd:QueueName

eg:

acd:sales

VoiceGuide will search for agents that are qualified to receive calls from specified queue, and the call is then connected (using a 'tromboned' connection) to the agent.
To receive ACD calls, agents need to use the 'VoiceGuide Agent' application on their PC.

 

'Announced' transfers timeout

The default length for how long VoiceGuide will await a confirmation to receive a call is 30 seconds. If you would like to change this, specify a timeout path in the 'Announced' modules to indicate the number of seconds you would like VoiceGuide to wait.

 

Dial and Conference Options

Following user settable fields are available in Transfer module when "Dial and Conference" transfers are used:

  • On-hold sound file to play while connection is made
  • Line selection list
  • When to connect the two callers
  • Options

The Options field can be used to specify the outgoing CallerID used for the call by using the XML syntax. eg: specifying <CallerId>5551234</CallerId> would result in CallerId to be set to 5551234 on outgoing calls. Note that the CallerID settings in Config.xml can be used to override the settings made here as the Config.xml CallerId settings would take precedence.

 

Two B-Channel Transfer (TBCT)

VoiceGuide v7 can perform TBCT transfers on ISDN lines which support this feature. To perform a TBCT transfer a 'Dial and Conference' transfer type needs to be selected, and then in the 'Dial and Conference Options' text box you need to include either:

<tbct_on>2ND_LEG_ALERTING</tbct_on>

or

<tbct_on>2ND_LEG_CONNECTED</tbct_on>

The <tbct_on>2ND_LEG_ALERTING</tbct_on> option will result in TBCT command being issued to the switch at the time when the 2nd leg of the call is in Alerting phase (2nd number begins to ring), and the <tbct_on>2ND_LEG_CONNECTED</tbct_on> option will result in TBCT commend being issued to the switch at the time when the 2nd leg of the call has connected (2nd call was answered).

 

Running Scripts on Outgoing Call Legs

By default no script runs on the port that is used to make the outgoing call for the 2-line "Dial and Conference" transfer.
If needed, a script on that port can be started using the Script_Goto command.
This may be useful if for example it is required that the outgoing leg of the transferred call continues after the call on the other leg has ended.

 

3 Way Conference Calls

3-Way Call Service must be enabled on the telephone line by the telephone company or PBX administrator before you can use this feature.

Some telephone systems do not allow 3 Way Blind Conference Calling, and will only allow a 3 way conference call connection to be made when the called person has answered the phone. In those situations you must use the 3 Way Announced Conference Call option.

Many North American telephone networks allow immediate blind conferencing.

 

Paths

The following paths can be taken from the module:

SUCCESS

the call was transferred successfully

FAIL

the call was not transferred, or transfer was declined

TIMEOUT

there was a timeout awaiting for transfer to be accepted (announced transfers only)

When using a Dialogic card the following paths can also be specified in the module:

BUSY number was busy
FAX call was answered by a fax
NOANSWER there was no answer
NODIALTONE there was no dialtone
NORINGBACK call was not answered and no ringback was heard
OPERATOR SIT tone was heard indicating number is most likely disconnected
   
CONNECT transfer completed successfully
AM transfer completed successfully with Answering Machine answering the call.
VOICE transfer completed successfully with a live Human answering the call.
CADENCE transfer completed successfully based on cadence analysis.
LOOPCURRENT transfer completed successfully based on loop current detection.

 

Result Variables

For Tromboned transfers the following $RVs are created on both lines:

$RV[Conf_DevName_1]
$RV[Conf_LineId_1]
$RV[Conf_LineNbr_1]
$RV[ModuleTitle_DevName_1]
$RV[ModuleTitle_LineId_1]
$RV[ModuleTitle_LineNbr_1]

$RV[Conf_DevName_2]
$RV[Conf_LineId_2]
$RV[Conf_LineNbr_2]
$RV[ModuleTitle_DevName_2]
$RV[ModuleTitle_LineId_2]
$RV[ModuleTitle_LineNbr_2]

These $RVs can be further used to manage the connected calls in the future. vgEngine trace file contains more information on other $RVs created during the call transfer process.

 

Troubleshooting

If the call transfers are not working for you please go through this checklist:

  1. Can you do the call transfer manually on that line using a normal telephone handset?
  2. Is the hookflash the right length? (ie. is the original caller placed on hold?)
  3. Do settings in VG's "PBX Command Strings" config screen match the keys you need to press when doing it manually?
  4. If transfers are still not working please post a question on our online Support Forum.

a)  Full detailed step-by-step description of how you just did the call transfer manually on this system,
b)  Your VoiceGuide script
c)  VG.INI file, and
d)  Copy of the trace log capturing the entire call.

 

Note:

If your system requires other specialized PBX signaling keep in mind that Hookflash and DTMF signals can also be generated using the “Play” module.
“!” is used to generate a hookflash and digits are used to generate DTMF tones.

Timeout paths between successive Play modules can be used if specific delays between successive PBX signals are required.