
# 音视频切换
#### 前置条件
- 座席已签入。
- 座席有正在通话中的语音呼叫。 目前音视频切换支持如下场景：
  - 客服代表呼出音频通话或者用户通过拨打被叫接入座席，语音通话后，支持音视频切换。
  
  - 呼叫保持、取消保持和静音取消静音后支持音视频切换。
  
  - 呼叫转移时，转移对象为座席、技能队列时，支持音视频切换。
   
- 如果您需要使用单向视频能力来指定用户视频方向，如用户只接收视频不发送视频、用户只发送视频不接收视频，请登录UAP9600的客户端CDE执行下面MML命令修改参数。
  1. 查询软参**P978** 的**比特位** 、**比特位值** 是否都为**0** 。
     ```
     LST SFP: ID=P978;
     ```
     
  
  2. 若不是执行如下命令修改。
     ```
     MOD SFP: ID=P978, MODTYPE=P1, BIT=0, BITVAL=0;
     ```
     
   
 
#### 场景描述
视频座席将音频通话切换成视频通话。
#### 接口方法
设置成"POST"。该接口仅支持POST方法，不支持PUT、GET和DELETE等方法。
#### 接口URI
https://ip:port/agentgateway/resource/voicecall/{agentid}/mediaswitch?mediaType=3\&videoDirection=4
![](https://support.huaweicloud.com/api-ccfs-cec/public_sys-resources/note_3.0-zh-cn.png)
如果CC-Gateway单机部署，IP地址为CC-Gateway服务器地址，port为CC-Gateway服务器的HTTPS端口号，默认值为8043；如果CC-Gateway采用集群模式部署，IP请配置为NSLB地址， Port请配置为默认值8043。
NSLB上的CC-Gateway端口号，请以nslb用户登录任意一个NSLB节点，执行./nslbctl l查询，查询结果中，如下端口表示CC-Gateway通过NSLB面向第三方系统开放的端口。
![](https://support.huaweicloud.com/api-ccfs-cec/figure/zh-cn_image_0000002204207349.png)
SaaS场景下请咨询运维人员获取IP和Port。
表1URI中携带的参数说明 
| 序号 | 参数名            | 数据类型   | 选取原则  | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|:---|:---|
| 1  | agentid        | string | True  | 座席的工号，取值范围：101～999999。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| 2  | mediaType      | int    | True  | 切换的目标媒体类型，取值范围： - 1：音频  - 3：视频                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| 3  | videoDirection | int    | False | 视频方向，取值范围： - 1：用户只接收视频不发送视频  - 2：用户只发送视频不接收视频  - 3：用户既发送也接收视频  - 4：不设置接收发送方向   缺省值：4。 说明： 仅在mediaType配置为3时，可使用该参数。 |
   
#### 日志中的方法名
mediaSwitch
#### 请求说明
- 消息头
  表2请求头参数说明 
  | 序号 | 名称           | 参数类型   | 是否必选 | 说明                                          |
  |:---|:---|:---|:---|:---|
  | 1  | Content-Type | string | True | 消息主体编码方式，缺省值：application/json;charset=UTF-8 |
     
  

- 消息体 无。
  
 
#### 响应说明
表3消息体参数说明 
| 序号 | 名称      | 参数类型   | 说明                                                                                                                                                                                                                       |
|:---|:---|:---|:---|
| 1  | message | string | 描述                                                                                                                                                                                                                       |
| 2  | retcode | string | 错误码。取值如下： 0：成功 非0：失败 |
| 3  | result  | object | 预留字段                                                                                                                                                                                                                     |
   
#### 触发事件
- 音视频切换（AgentEvent_MediaSwith）
- 停止录音成功（AgentMediaEvent_StopRecordDone）
- 座席退出通话（AgentEvent_Call_Release）
 
#### 错误结果码
- 200-027
- 200-028
- 200-029
- 200-030
 
#### 报文样例
- 消息头
  ```
  Content-Type:application/json;charset=UTF-8
  ```
  
- 请求参数 无。
  
- 响应参数
  ```
  {
    "result": {},
    "message": "success",
    "retcode": "0"
  }
  ```
  
 
