User`s guide

Dialogic
®
System Release 6.0 PCI for Windows
®
Release Update, Rev 62 — January 30, 2008 195
Dialogic Corporation
Successful SIP Attended Call Transfer
Figure 6 illustrates the basic scenario for successful SIP attended call transfer. The
scenario illustrates the use of a gc_InitXfer( ) function call, which is not required in SIP.
The GCEV_INIT_XFER completion event in this case contains a dummy rerouting
address.
Figure 6. Successful SIP Attended Call Transfer
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_REQ_
XFER(CRNp)
202 Accepted
GCEV_ACCEPT_
XFER(CRNp)
GCEV_
INVOKE_XFER_
ACCEPTED(CRNp)
NOTIFY(100 Trying)
Subscription-State=active; expires=300
REFER (Refer-To:sip:
TransferredTo?Replaces=secondaryCall)
gc_InitXfer
(CRNs)
INVITE (Replaces:secondaryCall)
GCEV_OFFERED
(CRNt & xfer flag)
gc_MakeCall
(CRNt, CRNp)
GCEV_DIALING
(CRNt)
gc_AcceptXfer
(CRNp)
GCEV_DROPCALL
(CRNp)
gc_ReleaseCallEx
(CRNp)
GCEV_RELEASECALL
(CRNp)
GCEV_XFER_
CMPLT(CRNp)
gc_DropCall(CRNp)
Transferred call between B and C offered (option whether connected or not).
Primary call between A and B dropped and released.
Secondary (consultation) call between A and C dropped and released.
Post condition:
NOTIFY (200 OK)
Subscription-State = terminated
200 OK
GCEV_DROPCALL
(CRNs)
gc_ReleaseCallEx
(CRNs)
GCEV_RELEASECALL
(CRNs)
gc_DropCall(CRNs)
GCEV_INVOKE_
XFER_(CRNp)
GCEV_DISCONNECTED
(CRNs)
200 OK
gc_InvokeXfer
(CRNp, CNRs)
GCEV_INIT
XFER_(CRNs)
Dispatch "dummy" event
to synchronize with GC
state machine.
GCEV_CONNECTED
(CRNt)
gc_AnswerCall(CRNt)
GCEV_ANSWERED
(CRNt)
Primary call between A and B is connected (not shown).
Secondary (consultation) call between A and C is connected (not shown).
Pre condition:
BYE
200 OK
GCEV_
DISCONNECTED
(CRNp)
GCEV_
DISCONNECTED
(CRNp)
gc_DropCall(CRNp)
GCEV_DROPCALL
(CRNp)
gc_ReleaseCallEx
(CRNp)
GCEV_RELEASECALL
(CRNp)
GCEV_
DISCONNECTED
(CRNs)
gc_DropCall(CRNs)
GCEV_DROPCALL
(CRNs)
gc_ReleaseCallEx
(CRNs)
GCEV_RELEASECALL
(CRNs)
200 OK
BYE
KEY:
CRNp - primary call
CRNs - secondary (consultation) call
CRNt - transferred call
200 OK