Updated on 2023-09-27 GMT+08:00

Transferring a Call

Prerequisites

  • The agent has signed in.
  • The agent is making a call.
  • Blind transfer is not supported when an outbound call is transferred to an outbound number (devicetype is set to 5).
  • When the agent transfers the inbound call in blind transfer mode, the transfer may fail because the call is transferred to the original calling number that may be restricted from making outbound calls by the carrier.

Description

This interface is used by an agent to transfer an established call.

Video calls do not support the following scenario:

The call is transferred to an external number in blind transfer mode.

Interface Method

The request method must be set to POST. This interface supports only the POST method.

URI

https://ip:port/agentgateway/resource/voicecall/{agentid}/transfer

In the URL, ip indicates the IP address of the CC-Gateway server, and port indicates the HTTPS port number of the CC-Gateway server.

Table 1 Parameter in the URI

No.

Parameter

Data Type

Mandatory (Yes/No)

Description

1

agentid

String

Yes

Agent ID. The value ranges from 101 to 59999.

Method Name in Logs

transfer

Request Description

  • Message header
    Table 2 Parameters in the request message header

    No.

    Parameter

    Value Type

    Mandatory (Yes/No)

    Description

    1

    Content-Type

    String

    Yes

    Coding mode of the message body. The default value is application/json; charset=UTF-8.

    2

    Guid

    String

    Yes

    GUID returned by the sign-in interface during static authentication (AUTHMODE is set to 1) or GUID returned by the polling event query interface during dynamic authentication (AUTHMODE is set to 2).

  • Message body
    Table 3 Parameters in the message body

    No.

    Parameter

    Value Type

    Mandatory (Yes/No)

    Description

    1

    devicetype

    Integer

    Yes

    Type of the device to which a call is transferred. The options are as follows: 1: skill queue; 2: agent; 3: IVR; 4: system access code; 5: outbound number.

    2

    address

    String

    Yes

    Address to which a call is transferred. The value can contain a maximum of 24 characters. The options are as follows:

    • When devicetype is set to 1, set this parameter to the skill queue ID.
    • When devicetype is set to 2, set this parameter to the ID of the agent to whom the call is transferred.
    • When devicetype is set to 3, set this parameter to the IVR flow access code.
    • When devicetype is set to 4, set this parameter to the system access code.
    • When devicetype is set to 5, set this parameter to the outbound number.

    3

    mode

    Integer

    Yes

    Indicates the transfer mode.

    When devicetype is set to 1, the options are as follows:

    0: blind transfer

    2: release-after-transfer

    When devicetype is set to 2, the options are as follows:

    0: blind transfer

    2: release-after-transfer

    When devicetype is set to 3, the options are as follows:

    0: blind transfer

    1: hang-up transfer

    NOTE:

    During hang-up transfer, a call can be transferred to a voice or video IVR flow but cannot be transferred to an agent.

    When devicetype is set to 4, the options are as follows:

    0: blind transfer

    2: release-after-transfer

    When devicetype is set to 5, the options are as follows:

    1: blind transfer (An outbound call cannot be transferred to a specified number in blind transfer mode.)

    2: release-after-transfer

    3: talk forwarding

    4: three-party transfer

    4

    callappdata

    String

    No

    Call-associated data to be configured. It can be left empty. The maximum value is 16 KB.

    5

    caller

    String

    No

    Calling number. (The value can be empty. If the value is empty, the default calling number configured on the platform is used. The value is a string of 0 to 24 digits.) This parameter is valid when a call is forwarded to an external number. When the transfer mode is blind transfer, this parameter is invalid, that is, the specified calling number cannot be carried.

    6

    mediaability

    Integer

    No

    Indicates the media capability. The default value is 0. The options are 0 (voice), 1 (video), and 2 (call with the maximum capability, which is negotiated by the host with the terminal). This parameter is valid when a call is transferred to an external number. In other transfer modes, whether the media capability is carried is determined based on the agent type.

    7

    holdflag

    Boolean

    No

    Whether to hold a call during three-party transfer. The options are false (no) and true (yes). The default value is true.

    8

    skillId

    Integer

    No

    Skill ID. This parameter is valid only when devicetype is set to 2.

Response Description

Table 4 Parameters in the message body

No.

Parameter

Value Type

Description

1

message

String

Description.

2

retcode

String

Error code. The options are as follows:

0: success

Other values: failure

3

result

Object

Reserved field.

Triggered Event

  • AgentEvent_Talking
  • AgentEvent_Connect_Fail
  • AgentEvent_Call_Release
  • When the transfer mode is release-after-transfer, the following events are triggered:

    AgentEvent_SuccTransResult

    AgentMediaEvent_StopRecordDone

  • When the transfer mode is three-party transfer, the following event is triggered:

    AgentEvent_Conference

  • When the transfer mode is hang-up transfer, the following event is triggered:

    AgentEvent_ReturnFromIvr

Error Code

  • 000-002
  • 100-006
  • 100-007
  • 200-012

Example

  • Message header
    Content-Type:application/json; charset=UTF-8
    Guid: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.AgentGateway1
  • Request parameter
    {
        "devicetype": 2,
        "mode": 3,
        "address": "49998",
        "callappdata": "",
        "caller": "40040",
        "mediaability": 0,
        "holdflag": "true"
    }
  • Response parameter
    {
      "result": {},
      "message": "success",
      "retcode": "0"
    }