系统状态与排队监控接口
适用于:对接方的健康检查/存活探测(
IS_SYSTEM_OK)、排队看板(QUEUE_INFO)、时间对时(GET_SERVER_DATE)、版本查询(ABOUT)、网页软电话账号获取(GET_FREE_WEB_PHONE)等系统能力类需求。 这些接口轻量、幂等,适合轮询(建议 ≥2 秒间隔)。
所有接口均为 GET http://{cti_host}:12121/bridge/callctrl,HTTP 状态码恒为 200(README §3)。
1. 系统健康:IS_SYSTEM_OK
GET http://{cti_host}:12121/bridge/callctrl?opt=IS_SYSTEM_OK
- 响应体文本
200:系统服务就绪,可正常接单; - 系统不健康时无响应体(空内容)——检测方按"非 200 文本即不健康"处理;
- 本接口免鉴权(不消耗 IP 白名单/Basic 配置),适合做负载均衡/看门狗的存活探测。
2. 排队信息:QUEUE_INFO
返回当前所有排队组的实时排队明细(转接/智能路由排队中的呼叫):
GET http://{cti_host}:12121/bridge/callctrl?opt=QUEUE_INFO
响应示例
[
{
"group": "8000",
"count": 2,
"queue": [
{ "caller": "13512340001", "callee": "8000", "target": "8000",
"origcallee": "8000", "waitingtime": 45, "viplevel": 0 },
{ "caller": "13712340002", "callee": "8000", "target": "8000",
"origcallee": "8000", "waitingtime": 12, "viplevel": 3 }
]
}
]
| 字段 | 说明 |
|---|---|
| group | 排队组号(技能组/接入号) |
| count | 该组当前排队人数 |
| queue.caller / callee | 排队呼叫的主叫 / 原被叫(接入号) |
| queue.target | 排队目标组 |
| queue.origcallee | 最初拨打的被叫号码 |
| queue.waitingtime | 已等待秒数(组内按等待时间降序) |
| queue.viplevel | 客户 VIP 等级(影响排队优先级) |
无排队时返回 []。正在振铃/通话中的出队呼叫不在列表中。适合 2-5 秒轮询渲染"当前排队 N 人/最长等待 M 秒"看板。
3. 服务器时间:GET_SERVER_DATE
GET http://{cti_host}:12121/bridge/callctrl?opt=GET_SERVER_DATE
# → 2026-09-24 10:30:00
返回 CTI 服务器当前时间(yyyy-MM-dd HH:mm:ss 文本)。接口涉及按日鉴权的(如语音验证码 pwd)或对时敏感的对接,先取本接口对时。
4. 版本信息:ABOUT
GET http://{cti_host}:12121/bridge/callctrl?opt=ABOUT
返回系统"关于"信息 JSON(产品版本、构建时间等,字段以现场为准)。本接口同样免鉴权,可用于对接前确认现场版本。
5. 网页软电话账号:GET_FREE_WEB_PHONE
获取一个空闲的 WebRTC 网页话机账号(第三方网页内嵌软电话场景),密码是否随账号返回由软参控制:
GET http://{cti_host}:12121/bridge/callctrl?opt=GET_FREE_WEB_PHONE
响应(有空闲账号时):
{ "extnum": "821", "accessNum": "9", "password": "..." }
| 字段 | 说明 |
|---|---|
| extnum | 分配的空闲分机号(WebRTC 账号) |
| accessNum | 网页话机的接入号配置 |
| password | 分机密码,仅当软参 website.webrtc.client.carry.pwd.offon 开启时返回 |
返回空串表示无空闲账号或接入号未配置(账号池耗尽,稍后重试)。账号密码也可事先在管理后台配置到对接方系统中,不开通密码回传。
6. 其他能力探测
| opt | 说明 |
|---|---|
| CONTROL_SERVER_IP | 返回控制服务器 IP 文本(多网卡环境确认业务地址用) |
| RMI_TEST | 热备(RMI)链路连通性测试,返回 true/false |
7. curl 示例
CTI=http://192.168.1.80:12121
# 健康检查(容器/看门狗探测)
curl -s "$CTI/bridge/callctrl?opt=IS_SYSTEM_OK" # → 200
# 排队看板
curl -s "$CTI/bridge/callctrl?opt=QUEUE_INFO" # → [{"group":"8000",...}]
# 对时 / 版本
curl -s "$CTI/bridge/callctrl?opt=GET_SERVER_DATE"
curl -s "$CTI/bridge/callctrl?opt=ABOUT"
# 取一个网页话机账号
curl -s "$CTI/bridge/callctrl?opt=GET_FREE_WEB_PHONE" # → {"extnum":"821",...}
8. 常见问题排查
| 现象 | 原因与处理 |
|---|---|
| IS_SYSTEM_OK 返回空体 | 即"不健康":系统启动中或核心服务未就绪;持续为空联系管理员,勿在此时提交业务请求 |
QUEUE_INFO 一直 [] | 无排队属正常;若业务上有呼入在等,确认呼入是否走了排队组(直接呼叫分机不产生排队) |
| GET_FREE_WEB_PHONE 返回空串 | WebRTC 账号池耗尽或未配置;释放空闲账号或扩池后重试 |
| 排队明细里的 callee 与呼入号码不同 | callee/target 为排队组号,客户原始号码在 caller;origcallee 是最初被叫 |
