This method of transfer assumes that two calls are already active and are being managed by a Blueworx Voice Response application. To invoke a SIP transfer using a state table, the call reference of the call that is to accept the transfer must be known to the state table requesting the TransferCall action. The Call Reference is available in SV237.
The VOIP_Call_Transfer custom server is not required when using the call reference method
#
# =================================================
# Description stable managing Call A
DESCRIPTION("SIP Attended transfer using a call reference.
AIX Blueworx Voice Response");
# =================================================
# 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
;
# The original caller call can be consulted here.
# The outbound callee can be consulted from the
# state table controlling call B.
# The Transfer takes place when the transfer action
# is executed with a TRANSFER tag and a CALLREF tag
# set to the call reference value of call B.
# the application must provide this CALLREF value. This could
# for example be passed from call B to call A using a custom server.
"TRANSFER TAG"
AssignData(SV541, "PUT_TAG", "TRANSFER", "0")
;
AssignData(SV541, "PUT_TAG", "CALLREF", "654321")
;
TransferCall("", "", 0, 0, 30)
edge EDGE_TC_SUCCESSFUL: hup
edge EDGE_HUP: hup
;
hup: "terminate call"
CloseEverything()
;