Updated on 2024-03-05 GMT+08:00

Transferring a Call

  • Application scenario

    After a call between agent A and user B is set up, the agent must transfer the call to another agent or an external line. Call transfer is classified into internal transfer and external transfer.

    • Internal transfer indicates that a call is transferred to an internal device such as the agent, IVR, skill queue, and access code.
      • Success transfer and blind transfer for transferring a call to another agent
      • Success transfer for transferring a call to another skill queue
      • Blind transfer and hang-up transfer for transferring a call to another IVR
      • Success transfer and blind transfer for transferring a call to another access code
    • External transfer indicates that a call is transferred to an external user, that is, a phone number. External transfer supports talk transfer and three-party transfer, that is, agent A, user B, and user C form a third-party call (in the three-party call formed by talk transfer, user B is actually in the holding state). After the talk transfer or three-party transfer is successful:
      • If agent A releases the call first, a call is set up between user B and user C.
      • If user B releases the call first, a call is set up between user C and agent A.
      • If user C releases the call first, a call is set up between user B and agent A.
      • If agent A must retrieve the call with user B, agent A invokes the interface described in ‎Canceling Transfer to retrieve the call. The call with user C is ended, and agent A talks with user B.
    Figure 1 Transferring a call to another agent – success transfer process
  • Prerequisites

    The agent is making a call.

  • Implementation process

    For details, see Transferring a Call.

  • Triggered events
    • AgentEvent_Customer_Alerting
    • AgentEvent_Call_Release
    • AgentEvent_Customer_Release
    • AgentOther_PhoneRelease
    • AgentState_Ready
    • Success transfer: AgentEvent_SuccTransResult
    • Talk transfer or three-party transfer: AgentEvent_Conference