Azure 通信呼叫自动化 Java 技能
帮助 Java 开发者构建 IVR、呼叫路由、录音和语音交互工作流。
提供 DefaultAzureCredential、托管身份和连接字符串示例,部分体现了凭据选择;但未说明最小权限、Webhook 验证、录音/语音/通话数据的敏感性、外部通话费用与用户确认,也没有回滚或数据流边界,因此扣分。
主文档与 references/examples.md 使用了 1.6.0 和 1.5.2 两个依赖版本,且客户端 API、构造器和事件结果类型存在明显不一致风险;有基础 HTTP 错误处理,但没有针对该技能的测试或静态可复现证据,因此限于静态上限并扣分。
目标场景和触发短语明确,覆盖 IVR、DTMF、录音、转接和 Java;但未充分声明不适用范围、输入输出契约、权限/基础设施前提,也没有中文示例或中国大陆网络与区域可用性说明,因此扣分。
具备名称、描述、MIT 许可证、作者、版本元数据、安装说明、分层示例和错误代码表;但依赖版本不一致,缺少 changelog、维护责任/更新路径、FAQ、已知限制和安全配置说明,因此扣分。
示例覆盖主要 Call Automation 操作,理论上可作为代码起点并有一定直接价值;但 API 不一致、缺少完整 webhook 验证和生产部署细节,输出很可能需要较多人工核对,且未提供执行验证,因此未达到高分。
源文件包含可审计的代码、依赖坐标和仓库级 CI/测试材料;但提供的 CI 与测试并未证明该技能关键路径,缺少技能专属测试、第三方执行结果或交叉核验,因此静态条件下仅给有限分。
- 提交前应统一并核对 SDK 版本及所有示例 API,尤其是 CreateCallOptions、PlayOptions、RecognizeCompleted 结果类型和录音下载接口。
- 生产使用前应补充 Entra/RBAC 最小权限、Webhook 签名或来源验证、连接字符串保密、录音/转写同意与保留策略,以及拨号、录音和转接等外部副作用的确认与失败恢复。
- 应增加技能专属编译/集成测试,并明确中国大陆区域、网络和语音服务可用性;当前评估未执行代码或网络验证。
它能做什么 & 适用场景
该技能面向使用 Azure Communication Services Call Automation Java SDK 的开发者。它涵盖出站呼叫、接听来电、音频播放、文本转语音、DTMF 和语音识别、录音、参与者管理、呼叫转接及 webhook 事件处理。内容提供 Maven 依赖、客户端认证、核心类和可运行风格的 Java 示例。适合需要在 Java 服务端实现自动化电话流程的项目,但不包含部署架构、定价或具体测试结果。
指导开发者添加 com.azure:azure-communication-callautomation:1.6.0 依赖,使用 DefaultAzureCredential、托管身份或连接字符串创建客户端;创建和接听呼叫;播放文本或音频文件;收集 DTMF 和语音输入;启动、暂停、恢复、停止并下载录音;添加参与者、转接和挂断呼叫;解析 webhook 事件;并根据 HTTP 400 或 404 异常处理无效请求及已结束的呼叫。
- Java 开发者需要为客户服务电话构建按键式 IVR 菜单时,可使用 DTMF 识别和文本转语音示例。
- 后端团队需要自动接听来电、播放提示音并根据用户语音执行操作时,可参考来电处理和语音识别流程。
- 通信应用需要发起 PSTN 外呼、添加参与者或转接到其他号码时,可使用呼叫创建和转接示例。
- 合规或运营团队需要录制通话并在录音文件状态事件后下载文件时,可参考录音控制流程。
优缺点一览
- 覆盖呼叫自动化的主要服务端操作,包括 IVR、DTMF、语音识别、录音和转接。
- 同时展示 Entra ID 凭据和连接字符串两种客户端认证方式。
- 提供 Maven 依赖、环境变量、核心类和 webhook 事件处理示例。
- 源材料未提供该技能的专属测试结果或测试套件覆盖信息。
- 需要配置 Azure Communication Services 资源、回调 URL 和认证信息;资源创建与部署不在范围内。
- 未说明服务定价、权限配置细节或生产级安全与合规注意事项。
如何安装
将仓库添加到支持的 Agent Skills 客户端:npx skills add microsoft/skills。在安装向导中选择所需技能;README 说明技能会安装到所选代理的目录,例如 GitHub Copilot 使用 .github/skills/。Java 项目还需添加 Maven 依赖:com.azure:azure-communication-callautomation:1.6.0。
如何使用
在已安装该技能的编码代理中输入例如“用 Java 构建 Azure Communication Services IVR,播放文本提示并识别 DTMF”或“实现 Java 呼叫录音和 webhook 事件处理”。随后按技能中的客户端创建、呼叫操作、事件解析和异常处理示例实现代码。具体 Azure 资源创建和应用部署步骤未在该技能中说明。