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

Switching Between Voice and Video Calls

Prerequisites

  • The agent has signed in.
  • The agent has an ongoing voice call.

    Currently, the voice and video switchover is supported in the following scenarios:

    • An agent makes an audio call or a subscriber dials the called number to connect to the agent.
    • A call is held, unheld, muted, or unmuted.
    • A call is transferred to an agent or a skill queue.

Description

A video agent can switch a voice call to a video call.

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}/mediaswitch?mediaType=3

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 Parameters in the URI

No.

Parameter

Data Type

Mandatory (Yes/No)

Description

1

agentid

string

Yes

Agent ID. The value ranges from 101 to 59999.

2

mediaType

int

No

Target media type. The options are as follows:

  • 1: audio
  • 3: video

Method Name in Logs

mediaSwitch

Request Description

  • Message header
    Table 2 Parameter 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.

  • Message body

    None

Response Description

Table 3 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_MediaSwith
  • AgentMediaEvent_StopRecordDone
  • AgentEvent_Call_Release

Error Code

  • 200-027
  • 200-028
  • 200-029
  • 200-030

Example

  • Message header
    Content-Type:application/json; charset=UTF-8
  • Request parameter

    None

  • Response parameter
    {
      "result": {},
      "message": "success",
      "retcode": "0"
    }