User`s guide

Dialogic
®
System Release 6.0 PCI for Windows
®
Release Update, Rev 62 — January 30, 2008 192
Dialogic Corporation
Figure 5. Successful SIP Unattended Call Transfer, Party B Clears Primary Call prior to
Transfer Completion
1.51.1.4 Endpoint Behavior in Attended SIP Transfers
The assumed preconditions for attended SIP call transfer (commonly referred to as
“supervised call transfer” in other technologies and protocols) are:
The transferring endpoint (party A, or Transferor in SIP terminology) and the
transferred endpoint (party B, or Transferee in SIP terms) are participating in an active
call, known as the primary call. From the perspective of the Global Call API, party A
and party B are both in the GCST_CONNNECTED state.
The Transferor and the transferred-to party (party C or the Transfer Target in SIP
terminology) are participating in an active call, known as the secondary or
consultation call. From the perspective of the Global Call call control library, party A
and party C are both in the GCST_CONNNECTED state.
A
(Transferring,
Transferor)
App
A
(Transferring,
Transferor)
IP CCLib
B
(Transferred,
Transferee)
App
B
(Transferred,
Transferee)
IP CCLib
C
(Transferred To,
Transfer Target)
App
C
(Transferred To,
Transfer Target)
IP CCLib
GCEV_OFFERED
(CRNt)
gc_DropCall(CRNp)
GCEV_DROPCALL
(CRNp)
gc_ReleaseCallEx
(CRNp)
GCEV_
RELEASECALL
(CRNp)
GCEV_REQ_
XFER(CRNp)
Pre condition: Primary call between A and B is connected (not shown).
GCEV_DIALING
(CRNt)
GCEV_
DISCONNECTED
(CRNp)
GCEV_DROPCALL
(CRNp)
gc_ReleaseCallEx
(CRNp)
GCEV_RELEASECALL
(CRNp)
202 Accepted
GCEV_ACCEPT_
XFER(CRNp)
GCEV_
INVOKE_XFER_
ACCEPTED(CRNp)
NOTIFY(100 Trying)
Subscription-State=active; expires=300
GCEV_INVOKE_
XFER(CRNp)
BYE
BYE
200 OK
200 OK
NOTIFY(200 OK)
Subscription-State = terminated
GCEV_XFER_
CMPLT(CRNp)
REFER
gc_MakeCall
(CRNt, CRNp)
gc_InvokeXfer
(CRNp)
INVITE
GCEV_ANSWERED
(CRNt)
gc_AnswerCall(CRNt)
ACK
200 OK
gc_DropCall(CRNp)
GCEV_CONNECTED
(CRNt)
Primary call is dropped and released.
Transferred call is connected.
Post condition:
Before C responds...
gc_AcceptXfer
(CRNp)