跳到正文

callout-server

callout-server 是系统二“智能外呼与协同系统”的管理 API 与后台任务服务,负责流程脚本、 名单、线路、任务调度、重试、坐席状态、软电话、转人工、情绪分析和结果闭环。

通话媒体、ASR / TTS 与 FreeSWITCH outbound ESL 执行由 callflow-esl 承担;本模块通过 HTTP、通道变量与数据库契约协调这些能力。

系统二定位

系统二由 callout-servercallout-webpagecallflow-eslcallout-flow-business、NLU / Chat、情绪分析和 FreeSWITCH 共同组成。它与系统一共享 语音底座,但独立维护外呼经营数据、角色权限和任务生命周期。

核心流程

text
创建流程/线路/名单 → 启动 campaign → scheduler 领取联系人
  → callflow-esl originate 并执行流程脚本
  → NLU / Chat 决策、坐席协同或转人工
  → 回写通话结果、转写、业务字段和情绪分析

端到端状态边界见任务生命周期集成契约

流程脚本能力

流程脚本支持播报、收集、路由、字段抽取、Chat 和转人工等节点,由 callout-flow-business 在通话内执行。开发规范见:

运行

在仓库根目录:

bash
bun run dev:callout-server

或进入本目录:

bash
bun run dev
bun run start
bun run typecheck
bun test

默认监听和健康检查见服务目录。服务依赖 PostgreSQL、Redis, 并按启用功能访问 FreeSWITCH、callflow-esl、NLU / Chat 和情绪分析服务。

配置

最小联调需检查:

  • server / auth / logging
  • db / redis
  • schedulercells[]
  • internalApi.callResultToken
  • nlu / chat
  • emotionAnalysis
  • liveMonitorsoftphoneturnringbackDetection

字段语义、默认值与 cell 配置见配置参考

专题导航

角色与权限

鉴权方式、角色权限矩阵和用户管理接口统一见 HTTP API

HTTP API

接口路径、请求参数、响应信封和错误约定只在 HTTP API维护。

数据库结构

核心记录及其生命周期见任务生命周期;运行所需的数据库 准备和后台任务使用方式见运行与后台任务

结果回写

内部回写端点见HTTP API,业务结果、转写和 NLU 摘要 结构见结果结构

情绪分析

worker 配置、重试与运行事件见运行与后台任务

调度与重试

领取、容量、提交和终态边界见任务生命周期;调度参数与后台 循环见运行与后台任务

运行事件与告警

并发模型、日志事件和告警建议见运行与后台任务

回铃音检测

回铃识别的配置和运行边界见运行与后台任务

坐席间流转与转人工会议

坐席路由、会议成员操作和僵尸会话收尾见转人工

集成方式

originate、通道变量、状态机和两层并发契约见集成契约

日志

日志目录、滚动策略与关键事件见运行与后台任务。 任务中启动的服务必须在结束前停止;常见故障见全仓排障手册

文档与代码在同一仓库维护,现有 Markdown 是唯一内容源。