Dograh Vonage集成教程:欧洲企业级语音AI接入实战指南
【免费下载链接】dograhOpen source voice AI platform. Self-hosted alternative to Vapi and Retell. On Prem, BYOK across Speech to Speech or LLM/STT/TTS, with a visual workflow builder, MCP native and telephony support.项目地址: https://gitcode.com/GitHub_Trending/do/dograh
Dograh 是一个开源、可自托管的语音 AI 平台(Voice AI Platform),是 Vapi 和 Retell 的自托管替代品,支持语音到语音(Speech-to-Speech)或 LLM/STT/TTS 架构,并内置可视化工作流编排器。本教程带你从零完成 Dograh 的 Vonage 集成:配置真实电话号码、打通呼入/呼出电话,让你的 AI 语音坐席在欧洲及全球客户之间稳定通话。
为什么欧洲企业选择 Vonage 接入语音AI?
Vonage(原 Nexmo)是全球领先的云通信平台,在欧洲企业市场有三大独特优势:
- 16kHz 高音质音频:Vonage 支持 16kHz 线性 PCM 音频流,相比传统 8kHz 电话音质更清晰、语音识别准确率更高、TTS 播报更自然
- 出色的国际覆盖:欧洲本地号码与跨国呼叫覆盖完整,非常适合跨国客服与营销外呼
- JWT 安全认证 + 签名回调:Dograh 使用 JWT(RS256)调用 Vonage 语音 API,并用签名 Secret 校验回调请求,企业级安全
Dograh 内置了 Twilio、Vonage、Telnyx、Plivo、Vobiz、Cloudonix 与 Asterisk ARI 等电信集成(见 README.md),Vonage 是其中面向欧洲市场的推荐方案。
开始前的准备工作
配置 Dograh Vonage 集成前,请准备好以下材料:
| 材料 | 获取位置 |
|---|---|
| Vonage 账号 | Vonage 官网注册 |
| Voice 能力的应用(Application) | Vonage Dashboard → Applications |
| Application ID + Private Key | 创建应用时生成(务必妥善保存) |
| API Key + API Secret | Vonage Dashboard → API Settings |
| Signature Secret | Vonage 账号级别 |
| 至少一个号码 | Vonage Dashboard → Numbers |
| 可公网访问的 Dograh 实例 | 自托管部署已完成 |
⚠️ 自托管用户注意:Vonage 必须能从公网访问你的后端域名,
localhost地址是无法收到回调的。
第一步:在 Vonage 控制台创建语音应用
- 登录 Vonage Dashboard,进入Applications → Create a new application
- 启用Voice能力
- 生成Private Key(保存完整文件,包含 BEGIN/END 行,后面要原样粘贴)
- 记下Application ID
随后在API Settings中复制API Key和API Secret,并复制账号级别的Signature Secret(Dograh 用它验证 Vonage 的签名 Webhook)。
最后在Numbers → Your Numbers中购买或关联号码,并将每个用于呼入的号码绑定到上面创建的 Voice 应用——这一步最关键:如果号码没有绑定到应用,Vonage 根本不会回调 Dograh 的 Answer URL,你只会听到忙音,而 Dograh 日志里什么都看不到。
第二步:在 Dograh 中配置 Vonage 电信参数
进入 Dograh 面板,这是配置的完整流程:
- 打开Telephony Configurations页面,点击Add configuration
- 提供商选择Vonage
- 填写凭据:
- Application ID
- Private Key(完整密钥,含 BEGIN/END 行)
- API Key
- API Secret
- Signature Secret
- 点击保存,进入刚创建的配置,添加至少一个电话号码(注意:不带
+前缀,写14155551234而不是+14155551234),默认主叫号码用于外呼
配置表单的字段定义见 config.py,其中 API Secret、Private Key、Signature Secret 在读取接口中会被自动脱敏(masked),只有 Application ID 明文可见。
第三步:配置呼入来电(Inbound Calling)
Vonage 的呼入路由以"应用"为单位:同一个 Voice 应用下所有号码共享一个 Answer URL。Dograh 通过号码在Inbound workflow中的分配,把来电路由到正确的 AI 坐席。
1. 绑定号码:在 Vonage Dashboard 中,把每个呼入号码的 Voice 应用(app_id)设置为你在 Dograh 里配置的同一个应用。
2. 分配呼入工作流:回到 Dograh 的 Telephony 配置页,编辑需要接收来电的号码,将Inbound workflow设置为应答的坐席,保存。
保存后 Dograh 会自动完成两件事(由 provider.py 中的configure_inbound实现):
- 将应用的Answer URL更新为
https://<你的后端域名>/api/v1/telephony/inbound/run(POST) - 将Event URL更新为
https://<你的后端域名>/api/v1/telephony/vonage/events(POST),并自动启用签名回调
💡 如果保存时出现同步警告,请检查 API Key、API Secret、Application ID 和 Signature Secret 是否正确后重新保存呼入工作流。
3. 验证:打开 Vonage 应用的Capabilities → Voice,确认 Answer URL / Event URL 已正确写入且 Signed callbacks 已开启。用另一部手机拨打该号码,Dograh 的 AI 坐席即可自动应答。
第四步:测试外呼并查看通话记录
外呼测试很简单:创建一个测试工作流,在面板中点击Call按钮发起呼叫。Dograh 会通过 Vonage Voice API(POST /v1/calls)发起呼叫,返回 NCCO(Nexmo Call Control Objects)指令,把通话音频通过 WebSocket 桥接到 AI 管道(16kHz PCM)。
几个值得了解的实现细节:
- 呼叫控制用 NCCO(JSON 格式),区别于 Twilio 的 XML(TwiML),核心指令是把通话
connect到带鉴权参数的 WebSocket - 事件回调统一打到 routes.py 中的
/vonage/events/{workflow_run_id}端点,覆盖 started、ringing、answered、complete、failed 等全生命周期状态,每次回调都会先做 JWT 签名校验,不通过直接返回 401 - 号码归属校验:保存号码时 Dograh 会调用 Vonage 的 owned-numbers 接口确认号码确实属于当前账号,避免配置张冠李戴
常见问题排查清单
| 现象 | 排查方向 |
|---|---|
| JWT 认证失败 | Private Key 不完整(需含 BEGIN/END 行)、Application ID 错误、密钥被重新生成过 |
| 签名校验失败 | Signature Secret 两边不一致;应用未启用签名回调;确认回调带Authorization头 |
| 号码无效报错 | 去掉+前缀,保持 E.164 格式(国家码+号码,无空格横线) |
| 来电忙音且无日志 | 号码未绑定到 Dograh 配置的 Voice 应用;后端域名必须公网可达 |
| 通话中途断开 | 检查 WebSocket 心跳、负载均衡器/代理的空闲超时设置 |
| 无声通话 | 检查音频管道是否为 16kHz PCM,确认 VAD(语音活动检测)正常工作 |
另外提醒一点:目前 Dograh 的 Vonage 提供商尚不支持通话转接(call transfer),如果你的业务流程依赖转人工坐席,可以先用 Twilio 或 Cloudonix 等支持该功能的提供商。
企业级最佳实践
- 安全:Private Key 加密存储于数据库;始终保持签名回调开启并同步最新 Signature Secret
- 冗余:为同一应用配置多个号码,避免单点故障
- 监控:在 Vonage Dashboard 配置呼叫失败告警,配合 Dograh 面板的通话日志双向核对
- 成本控制:Vonage 按分钟计费 + 号码月租,建议在 Dashboard 设置用量监控
完整官方文档可参考 vonage.mdx,更多提供商对比见 overview.mdx,行为测试用例位于 test_provider.py。
至此,你的 Dograh 语音 AI 已通过 Vonage 接入欧洲企业级电话网络:外呼、呼入、状态追踪、签名安全一站搞定。下一步可以为坐席添加工具(Tools)、知识库(Knowledge Base),或启用活动外呼(Campaigns)批量触达客户。
【免费下载链接】dograhOpen source voice AI platform. Self-hosted alternative to Vapi and Retell. On Prem, BYOK across Speech to Speech or LLM/STT/TTS, with a visual workflow builder, MCP native and telephony support.项目地址: https://gitcode.com/GitHub_Trending/do/dograh
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考