Holding, transferring, and conferencing

From Genesys Documentation
Jump to: navigation, search
This topic is part of the manual Voice Microservices Events and Models Reference for version Current of Voice Microservices.

Learn about the functions and events related to placing calls on hold, transferring calls, and creating conference calls.

For simplicity, the examples on this page use abbreviated attribute values. For example, ConnID 1, which – in actual events – displays as <ConnID>@<metainformation>.

The following comments and abbreviations are used in the call models:

  • OPT—Optional.
  • DIAL—Might be a dialed number or is not present if Voice Microservices have no information about the other party.

Hold/Retrieve function, consulted party answers

Party A Party B Party C
Call-establishing phase (ConnID 1)
Hold (THoldCall)
EventHeld

ConnID 1
ThisDN B
OtherDN A

Make call to C (Consultation) (TMakeCall)
Call-establishing phase (ConnID 2)
Release phase (ConnID 2)
Retrieve call from A (TRetrieveCall)
EventRetrieved a

ConnID 1
ThisDN B
OtherDN A
CallState OK

Release phase (ConnID 1)

a. With EventRetrieved, the values for attributes ThisDNRole and ThisQueue are the same as those for the attributes of the same names, if any, in the events preceding EventRetrieved (EventEstablished and EvenRinging). For non-ACD calls, however, ThisQueue is not reported.

Abnormal call flow

Interruption point Party A Party B
* EventReleased

ConnID 1
ThisDN A
OtherDN B
CallState OK

EventReleased

ConnID 1
ThisDN B
OtherDN A
CallState OK

** EventReleased

ConnID 1
ThisDN A
OtherDN B
CallState OK

EventReleased

ConnID 1
ThisDN B
OtherDN A
CallState OK

*** EventReleased

ConnID 1
ThisDN A
OtherDN B
CallState OK

EventReleased

ConnID 1
ThisDN B
OtherDN A
CallState OK

Hold/Retrieve function, consulted party does not answer

Party A Party B Party C
Call-establishing phase (ConnID 1)
Hold (THoldCall)
EventHeld

ConnID 1
ThisDN B
OtherDN A

Unsuccessful internal call (party does not answer) (ConnID 2)
Retrieve call from A (TRetrieveCall)
EventRetrieved a

ConnID 1
ThisDN B
OtherDN A
CallState OK

Release phase (ConnID 1)

a. With EventRetrieved, the values for attributes ThisDNRole and ThisQueue are the same as those for the attributes of the same names, if any, in the events preceding EventRetrieved (EventEstablished and EvenRinging). For non-ACD calls, however, ThisQueue is not reported.

Abnormal call flow

Interruption point Party A Party B
* EventReleased

ConnID 1
ThisDN A
OtherDN B
CallState OK

EventReleased

ConnID 1
ThisDN B
OtherDN A
CallState OK

** EventReleased

ConnID 1
ThisDN A
OtherDN B
CallState OK

EventReleased

ConnID 1
ThisDN B
OtherDN A
CallState OK

Single-step transfer

Party A Party B Party C
Call-establishing phase (ConnID 1)
Single-step transfer to C (TSingleStepTransfer)
 

 
 
 
 
EventPartyChanged
ConnID 1
PreviousConnID 1
ThisDN A
OtherDN C
ThirdPartyDN B
ThirdPartyDNRole TransferredBy
CallState Transferred

EventReleased

ConnID 1
ThisDN B
ThirdPartyDN C
OtherDN A
CallState Transferred
Cause 1stepTransfer

 

 
 
 
 
EventRinging
ConnID 1
ThisDN C
OtherDN A
ThirdPartyDN B
ThirdPartyDNRole TransferredBy
CallState Transferred

Answer (TAnswerCall)
EventEstablished

ConnID 1
ThisDN C
OtherDN A

Abnormal call flow

Interruption point Party A Party B Party C
* EventReleased

ConnID 1
ThisDN A
OtherDN C
CallState OK

** EventReleased

ConnID 1
ThisDN A
OtherDN C
CallState OK

EventAbandoned

ConnID 1
ThisDN C
OtherDN A
CallState OK

Single-step transfer (outbound)

Party A Party B Party C
Call-establishing phase (ConnID 1)
Single-step transfer to C (TSingleStepTransfer)
EventPartyChanged

ConnID 1
PreviousConnID 1
ThisDN A
OtherDN C
ThirdPartyDN B
ThirdPartyDNRole TransferredBy
CallState Transferred

EventNetworkReached
ConnID 1
ThisDN A
OtherDN C *DIAL
OtherDNRole Destination *DIAL

EventReleased

ConnID 1
ThisDN B
ThirdPartyDN C
OtherDN A
CallState Transferred
Cause 1stepTransfer

 

 
 
 
 
EventRinging
ConnID 1
ThisDN C
OtherDN A
ThirdPartyDN B
ThirdPartyDNRole TransferredBy
CallState Transferred

Answer (TAnswerCall)
EventEstablished

ConnID 1
ThisDN C
OtherDN A

Abnormal call flow

Interruption point Party A Party B Party C
* EventReleased

ConnID 1
ThisDN A
OtherDN C
CallState OK

** EventReleased

ConnID 1
ThisDN A
OtherDN C
CallState OK

EventAbandoned

ConnID 1
ThisDN C
OtherDN A
CallState OK

Mute transfer

Party A Party B Party C
Call-establishing phase (ConnID 1)
Mute transfer to C (TMuteTransfer*)
EventHeld

ConnID 1
ThisDN B
OtherDN A

EventDialing

ConnID 2
ThisDN B
ThisDNRole Origination
OtherDN C
OtherDNRole Destination

EventRinging

ConnID 2
ThisDN C
ThisDNRole Destination
OtherDN B
OtherDNRole Origination
CallState OK

EventPartyChanged

ConnID 1
PreviousConnID 1
ThisDN A
OtherDN C
ThirdPartyDN B
ThirdPartyDNRole TransferredBy
CallState Transferred

EventReleased

ConnID 1
ThisDN B
OtherDN A
CallState Transferred


EventReleased
ConnID 2
ThisDN B
ThisDNRole Origination
OtherDN C
OtherDNRole Destination
CallState Transferred

EventPartyChanged

ConnID 1
PreviousConnID 2
ThisDN C
OtherDN A
ThirdPartyDN B
ThirdPartyDNRole TransferredBy
CallState Transferred

Answer (TAnswerCall)
EventEstablished

ConnID 1
ThisDN C
OtherDN A

Release phase (ConnID 1)

Abnormal call flow

Interruption point Party A Party B Party C
* EventReleased

ConnID 1
ThisDN A
OtherDN B
CallState OK

EventReleased

ConnID 1
ThisDN B
OtherDN A
CallState OK

** EventReleased

ConnID 1
ThisDN A
OtherDN C
CallState OK

EventReleased

ConnID 1
ThisDN B
OtherDN A
CallState OK

EventReleased
ConnID 2
ThisDN B
OtherDN C
CallState OK

EventAbandoned

ConnID 2
ThisDN C
OtherDN B
CallState OK

*** EventReleased

ConnID 1
ThisDN B
OtherDN C
CallState OK

EventAbandoned

ConnID 1
ThisDN C
OtherDN B
CallState OK

Two-step transfer: complete after consulted party answers

Party A Party B Party C
Call-establishing phase (ConnID 1)
Hold (TInitiateTransfer*)
EventHeld

ConnID 1
ThisDN B
OtherDN A

Consultation call to C (TInitiateTransfer continues)
Call-establishing phase (ConnID 2)
Transfer held call to C (TCompleteTransfer)
EventPartyChanged

ConnID 1
PreviousConnID 1
ThisDN A
OtherDN C
ThirdPartyDN B
ThirdPartyDNRole TransferredBy
CallState Transferred

EventReleased

ConnID 1
ThisDN B
OtherDN A
CallState Transferred


EventReleased
ConnID 2
ThisDN B
OtherDN C
CallState Transferred

EventPartyChanged

ConnID 1
PreviousConnID 2
ThisDN C
OtherDN A
ThirdPartyDN B
ThirdPartyDNRole TransferredBy
CallState Transferred

Release phase (ConnID 1)

Abnormal call flow

Interruption point Party A Party B Party C
* EventReleased

ConnID 1
ThisDN A
OtherDN B
CallState OK

EventReleased

ConnID 1
ThisDN B
OtherDN A
CallState OK

** EventReleased

ConnID 1
ThisDN A
OtherDN B
CallState OK

EventReleased

ConnID 1
ThisDN B
OtherDN A
CallState OK

EventReleased
ConnID 2
ThisDN B
OtherDN C
CallState OK

EventAbandoned

ConnID 2
ThisDN C
OtherDN B
CallState OK

Two-step transfer: complete before consulted party answers (blind)

Party A Party B Party C
Call-establishing phase (ConnID 1)
Hold (TInitiateTransfer)
EventHeld

ConnID 1
ThisDN B
OtherDN A

Consultation call to C (TInitiateTransfer continues)
EventDialing

ConnID 2
ThisDN B
ThisDNRole Origination
OtherDN C *DIAL
OtherDNRole Destination *DIAL

EventRinging

ConnID 2
ThisDN C
ThisDNRole Destination
OtherDN B
OtherDNRole Origination
CallState OK

Transfer held call to C (TCompleteTransfer)
EventPartyChanged

ConnID 1
PreviousConnID 1
ThisDN A
OtherDN C
ThirdPartyDN B
ThirdPartyDNRole TransferredBy
CallState Transferred

EventReleased

ConnID 1
ThisDN B
OtherDN A
CallState Transferred



EventReleased
ConnID 2
ThisDN B
OtherDN C
CallState Transferred

EventPartyChanged

ConnID 1
PreviousConnID 2
ThisDN C
OtherDN A
ThirdPartyDN B
ThirdPartyDNRole TransferredBy
CallState Transferred

Answer (TAnswerCall)
EventEstablished

ConnID 1
ThisDN C
OtherDN A

Release phase (ConnID 1)

If a call appears on the terminating party after transfer completion, the ConnID field of EventRinging is equal to the connection ID of the original call (ConnID 1), and EventPartyChanged is not generated.


Abnormal call flow

Interruption point Party A Party B Party C
* EventReleased

ConnID 1
ThisDN A
OtherDN B
CallState OK

EventReleased

ConnID 1
ThisDN B
OtherDN A
CallState OK

** EventReleased

ConnID 1
ThisDN A
OtherDN B
CallState OK

EventReleased

ConnID 1
ThisDN B
OtherDN A
CallState OK

EventReleased
ConnID 2
ThisDN B
OtherDN C
CallState OK

EventAbandoned

ConnID 2
ThisDN C
OtherDN B
CallState OK

*** EventReleased

ConnID 1
ThisDN A
OtherDN C
CallState OK

EventAbandoned

ConnID 1
ThisDN C
OtherDN A
CallState OK

Two-step transfer to ACD

Two-step transfer to ACD means that a call is waiting in a queue, and the transfer completed before any ACD agent is available to receive the call.

The following table describes a two-step transfer to ACD.

Party A Party B Party C (ACD) Party D
Call-establishing phase (ConnID 1)
Hold (TInitiateTransfer)
EventHeld

ConnID 1
ThisDN B
OtherDN A

Consultation call to C (TInitiateTransfer continues)
EventDialing

ConnID 2
ThisDN B
OtherDN C *DIAL

EventQueued

ConnID 2
ThisDN C
ThisQueue C
OtherDN B

Transfer held call to C (TCompleteTransfer)
EventPartyChanged

ConnID 1
PreviousConnID 1
ThisDN A
OtherDN C
ThirdPartyDN B
ThirdPartyDNRole TransferredBy
CallState Transferred

EventReleased

ConnID 2
ThisDN B
ThisDNRole Origination
OtherDN C
OtherDNRole Destination
CallState Transferred


EventReleased
ConnID 1
ThisDN B
OtherDN A
CallState Transferred

EventPartyChanged

ConnID 1
PreviousConnID 2
ThisDN C
ThisQueue C
OtherDN A
ThirdPartyDN B
ThirdPartyDNRole TransferredBy
CallState Transferred

Diverts call to D
EventDiverted

ConnID 1
ThisDN C
OtherDN A
ThirdPartyDN C *OPT
ThirdPartyDNRole Destination *OPT

EventRinging

ConnID 1
ThisDN D
ThisQueue C
OtherDN A
CallState OK

Answer (TAnswerCall)
EventEstablished

ConnID 1
ThisDN D
ThisQueue C
OtherDN A
CallState OK

Release phase (ConnID 1)

If a call transfer is completed before it is put in an ACD queue, an EventPartyChanged is not generated.

Abnormal call flow

Interruption point Party A Party B Party C Party D
* EventReleased

ConnID 1
ThisDN A
OtherDN B
CallState OK

EventReleased

ConnID 1
ThisDN B
OtherDN A
CallState OK

** EventReleased

ConnID 1
ThisDN A
OtherDN B
CallState OK

EventReleased

ConnID 1
ThisDN B
OtherDN A
CallState OK

EventReleased
ConnID 2
ThisDN B
OtherDN C
CallState OK

EventAbandoned

ConnID 2
ThisDN C
OtherDN B
CallState OK

*** EventReleased

ConnID 1
ThisDN A
OtherDN D
CallState OK

EventAbandoned

ConnID 1
ThisDN D
OtherDN A
CallState OK

Two-step transfer to a Routing Point

Party A Party B Party C (ACD) Party D
Call-establishing phase (ConnID 1)
Hold (TInitiateTransfer)
EventHeld

ConnID 1
ThisDN B
OtherDN A

Consultation call to C (TInitiateTransfer continues)
EventDialing

ConnID 2
ThisDN B
ThisDNRole Origination
OtherDN C *DIAL
OtherDNRole Destination
CallType Consult

EventRouteRequest

ConnID 2
ThisDN C
ThisDNRole Destination
OtherDN B
OtherDNRole Origination

Transfer held call to C (TCompleteTransfer)
EventPartyChanged

ConnID 1
PreviousConnID 1
ThisDN A
ThisDNRole Origination a
OtherDN C
ThirdPartyDN B
ThirdPartyDNRole TransferredBy
CallState Transferred

EventReleased

ConnID 2
ThisDN B
ThisDNRole Origination
OtherDN C
OtherDNRole Destination
CallState Transferred

EventReleased
ConnID 1
ThisDN B
ThisDNRole Destination
OtherDN A
CallState Transferred

EventPartyChanged

ConnID 1
PreviousConnID 2
ThisDN C
OtherDN A
ThirdPartyDN B
ThirdPartyDNRole TransferredBy
CallState Transferred

Diverts call to D
EventRouteUsed

ConnID 1
ThisDN C
OtherDN A
ThirdPartyDN D *OPT

EventRinging

ConnID 1
ThisDN D
OtherDN A
CallState OK

Answer (TAnswerCall)
EventEstablished

ConnID 1
ThisDN D
OtherDN A

Release phase (ConnID 1)

a. ThisDNRole must be Destination if party B is the call originator.

Abnormal call flow

Interruption point Party A Party B Party C Party D
* EventReleased

ConnID 1
ThisDN A
OtherDN B
CallState OK

EventReleased

ConnID 1
ThisDN B
OtherDN A
CallState OK

** EventReleased

ConnID 1
ThisDN A
OtherDN B
CallState OK

EventReleased

ConnID 1
ThisDN B
OtherDN A
CallState OK

EventReleased
ConnID 2
ThisDN B
OtherDN C
CallState OK

EventAbandoned

ConnID 2
ThisDN C
OtherDN B
CallState OK

*** EventReleased

ConnID 1
ThisDN A
OtherDN C
CallState OK

EventAbandoned

ConnID 1
ThisDN C
OtherDN A
CallState OK

**** EventReleased

ConnID 1
ThisDN A
OtherDN D
CallState OK

EventAbandoned

ConnID 1
ThisDN D
OtherDN A
CallState OK

Single-step conference

Party A Party B Party C
Call-establishing phase (ConnID 1)
TSingleStepConference
EventPartyAdded

ConnID 1
ThisDN A
OtherDN C
ThirdPartyDN B a

EventPartyAdded

ConnID 1
ThisDN B
OtherDN C
ThirdPartyDN B a

EventRinging

ConnID 1
ThisDN C
ThisDNRole ConferenceMember
CallState OK

EventEstablished

ConnID 1
ThisDN C
ThisDNRole ConferenceMember
CallState Conferenced

Release from conference phase
Release phase (ConnID 1)

a. ThirdPartyDN has a value of C if Party C initiates the request for a conference.

Conference

Party A Party B Party C
Call-establishing phase (ConnID 1)
Hold
EventHeld

ConnID 1
ThisDN B
ThisDNRole Previous Role of DN
OtherDN A
OtherDNRole Previous Role of DN

Consultation call to C
Call-establishing phase (ConnID 2)
Conference
 

 
 
 
 
 
 
 
 
 
 
 
EventPartyAdded
ConnID 1
ThisDN A
OtherDN C
ThirdPartyDN B
ThirdPartyDNRole AddedBy
CallState Conferenced

EventReleased

ConnID 2
ThisDN B
OtherDN C
CallState Conferenced

EventRetrieved a
ConnID 1
ThisDN B
OtherDN A
CallState Conferenced

EventPartyAdded
ConnID 1
ThisDN B
OtherDN b C
OtherDNRole NewParty
ThirdPartyDN B
ThirdPartyDNRole AddedBy
CallState Conferenced

 

 
 
 
 
 
 
 
 
 
 
 
EventPartyChanged
ConnID 1
PreviousConnID 2
ThisDN C
ThirdPartyDN B
ThirdPartyDNRole ConferencedBy
CallState Conferenced

Release from conference phase
Release phase (ConnID 1)

a. With EventRetrieved, the values for attributes ThisDNRole and ThisQueue are the same as those for the attributes of the same names, if any, in the events preceding EventRetrieved (EventEstablished and EventRinging). For non-ACD calls, however, ThisQueue is not reported.
b. If only one party is added (as in the case of a simple conference call), the corresponding telephony object is specified in OtherDN. If more than one party is added, then the corresponding telephony objects are specified in Extensions.

Abnormal call flow

Interruption point Party A Party B
* EventReleased

ConnID 1
ThisDN A
OtherDN B
CallState OK

EventReleased

ConnID 1
ThisDN B
OtherDN A
CallState OK

Blind conference (complete before consulted party answers)

Party A Party B Party C
Call-establishing phase (ConnID 1)
Hold
EventHeld

ConnID 1
ThisDN B
OtherDN A

Consultation call to C
EventDialing

ConnID 2
ThisDN B
ThisDNRole Origination
OtherDN C *DIAL
OtherDNRole Destination *DIAL
CallType Consult

EventRinging

ConnID 2
ThisDN C
ThisDNRole Destination
OtherDN B
OtherDNRole Origination
CallType Consult

Conference
 

 
 
 
 
 
 
 
 
 
 
 
EventPartyAdded
ConnID 1
ThisDN A
OtherDN C
ThirdPartyDN B
ThirdPartyDNRole AddedBy
CallState Conferenced

EventReleased

ConnID 2
ThisDN B
OtherDN C
CallState Conferenced

EventRetrieved a
ConnID 1
ThisDN B
OtherDN A
CallState Conferenced

EventPartyAdded
ConnID 1
ThisDN B
OtherDN C
ThirdPartyDN B
ThirdPartyDNRole AddedBy
CallState Conferenced

 

 
 
 
 
 
 
 
 
 
 
 
EventPartyChanged
ConnID 1
PreviousConnID 2
ThisDN C
ThirdPartyDN B
ThirdPartyDNRole ConferencedBy
CallState Conferenced

Answer (TAnswerCall)
EventEstablished

ConnID 1
ThisDN C
CallState Conferenced

Release from conference phase
Release phase (ConnID 1)

a. With EventRetrieved, the values for attributes ThisDNRole and ThisQueue are the same as those for the attributes of the same names, if any, in the events preceding EventRetrieved (EventEstablished and EventRinging). For non-ACD calls, however, ThisQueue is not reported.

If a call appears on the terminating party after completion of conference, the ConnID field of EventRinging is equal to the connection ID of the original call (ConnID 1), and EventPartyChanged is not generated.

Abnormal call flow

Interruption point Party A Party B Party C
* EventReleased

ConnID 1
ThisDN A
OtherDN B
CallState OK

EventReleased

ConnID 1
ThisDN B
OtherDN A
CallState OK

** EventReleased

ConnID 1
ThisDN A
OtherDN B *DIAL
CallState OK

EventPartyDeleted

ConnID 1
ThisDN B
OtherDN A
OtherDNRole DeletedParty
ThirdPartyDN A
ThirdPartyDNRole DeletedBy
CallState OK

Comments or questions about this documentation? Contact us for support!