呼叫控制 API
呼叫控制模块负责发起各类通话请求。系统支持 SIP 直接拨号、双向回呼(双呼)等多种技术实现方案。
1. 直接外呼 (SIP / 分机)
通过系统指定线路,直接发起呼叫。通常用于已经注册了 SIP 分机的坐席。
GET /api/call/out
请求参数
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| caller | string | 是 | 主叫号码 (坐席分机号) |
| callee | string | 是 | 被叫号码 (客户电话) |
| line_group | string | 否 | 指定外呼线路组 Key |
| extra | string | 否 | 随路数据 (会存入详单) |
2. 双呼拨号 (点击拨号)
系统先拨打坐席绑定的手机号,坐席接通后再拨打客户电话。此方式不依赖 SIP 注册。
GET /api/call/dual
请求参数
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| caller | string | 是 | 坐席绑定的手机号码 |
| callee | string | 是 | 客户电话号码 |
| line | string | 否 | 指定双呼线路 Key (不填则使用默认) |
| extra | string | 否 | 随路数据 |
3. 背靠背呼叫 (B2B)
更加底层的呼叫控制,允许分别为发起端和接收端指定不同的中继线路组。
GET /api/call/back2back
请求参数
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| caller | string | 是 | 主叫端号码 |
| callee | string | 是 | 被叫端号码 |
| caller_line_group | string | 是 | 主叫端线路组 |
| callee_line_group | string | 是 | 被叫端线路组 |
4. 内部互拨
机构内部不同分机之间的直接通话。
GET /api/call/extension
请求参数
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| caller | string | 是 | 发起分机号 |
| callee | string | 是 | 目标分机号 |
最佳实践:如何处理呼叫反馈?
API 发起呼叫后会立即返回一个请求 ID 或结果码。具体的通话进度(如:振铃、接通、挂断)需要通过以下方式追踪:
- WebSocket 事件:监听
CallStatusChanged事件。 - 回调 URL: 在机构配置中设置 HTTP 回调地址。
- 轮询详情:使用详单接口查询通话状态。