Azure CallingServer Java 遗留维护技能
帮助 Java 开发者维护旧版 CallingServer 代码并迁移到 Call Automation。
文档明确标注 SDK 已弃用并将新项目引导至 Call Automation,未包含凭据窃取、隐蔽外传、破坏性默认操作或超范围权限;但示例直接使用 connectionString 占位符,未说明机密存储、最小权限、回滚或录音数据保护,因此扣 7 分。
主文档与 references/examples.md 的迁移方向、类名和依赖示例基本一致,且说明了旧版录音 API;但未提供技能专属测试、版本兼容矩阵、异常处理或可诊断失败反馈,静态评估受限,得分不超过 10,扣 14 分。
目标受众和适用范围较清楚:仅维护 legacy CallingServer 代码,并给出触发短语;同时明确新开发不适用。但输入、输出、边界条件和 Java 环境要求不完整,也没有中文支持或中国大陆网络可达性说明,因此扣 5 分。
具备清晰的弃用提示、迁移章节、依赖元数据、MIT 许可、版本字段、示例和触发短语;但缺少变更日志、明确维护责任、更新路径、安装说明、故障排查和完整 API 限制说明,因此扣 6 分。
迁移依赖、客户端类名和录音调用示例可直接帮助处理部分遗留代码,核心价值明确;但新 API 主要依赖另一个技能,旧 API 覆盖有限,版本和示例可用性未由文件内测试验证,按静态上限扣 9 分。
技能包含可审阅的代码片段、类名映射和依赖版本,仓库还提供通用 CI 与测试基础设施;但没有该技能的专属测试、真实执行结果或多来源交叉验证,静态证据有限,扣 7 分。
- 仅将此技能用于维护现有 CallingServer 代码;新项目应改用 Call Automation 技能。
- 不要把 connection string 硬编码到源码或日志中;源文件未提供机密管理和权限配置指南。
- 录音涉及敏感通信数据;源文件未说明同意、保留、访问控制、回调 URI 安全或失败恢复。
- 示例依赖版本和 API 未经本次静态审查执行验证,使用前应在目标 Java 项目中确认版本兼容性。
- 未提供中文文档或中国大陆网络可达性证据。
它能做什么 & 适用场景
该技能面向 Azure Communication Services CallingServer Java SDK 的遗留代码维护。它明确指出 CallingServer SDK 已弃用,新项目应使用 azure-communication-callautomation。内容涵盖新旧 Maven 依赖、客户端类名变化、旧版客户端创建方式和录音 API。它适合迁移或维护旧系统,不适合新项目开发。
提供旧版 CallingServer 与新版 Call Automation 的 Maven 依赖对照、客户端类名映射和 Java 代码示例。它展示如何创建 CallingServerClient、启动及暂停、恢复、停止录音,并指出 ServerCall 已移除、应改用 CallConnection。它还将新开发场景指向 azure-communication-callautomation-java 技能。
- 维护仍依赖 azure-communication-callingserver 的 Java 遗留项目。
- 将 CallingServerClient 和 CallingServerClientBuilder 迁移到 CallAutomationClient 和 CallAutomationClientBuilder。
- 将旧版呼叫录音代码迁移到新的 Call Automation 方案。
- 排查包含 callingserver legacy 或 deprecated calling SDK 需求的代码任务。
优缺点一览
- 明确标注 SDK 弃用状态和适用范围。
- 提供依赖、类名和录音 API 的迁移对照。
- 包含可直接参考的 Java 客户端与录音代码示例。
- 采用 MIT 许可证。
- 仅面向遗留代码维护,不适合新项目。
- 新版录音实现未在该技能中展开。
- 没有提供该单个技能的测试覆盖或详细故障排查信息。
- README 的安装流程针对整个集合,单技能安装细节未说明。
如何安装
安装整个技能集合:运行 npx skills add microsoft/skills,然后在向导中选择所需技能。README 说明技能会安装到所选 Agent 的目录,例如 GitHub Copilot 使用 .github/skills/;未提供该单个技能的独立安装命令。
如何使用
在编码 Agent 中使用触发语句,例如 callingserver legacy、deprecated calling SDK 或 migrate callingserver to callautomation。维护旧代码时参考 .github/plugins/azure-sdk-java/skills/azure-communication-callingserver-java/SKILL.md;新项目应改用 azure-communication-callautomation-java 技能。
对比同类
它明确将 azure-communication-callingserver 与 azure-communication-callautomation 进行比较:前者是弃用的旧 SDK,后者是新项目应采用的 SDK。CallingServerClient 和 CallingServerClientBuilder 分别迁移为 CallAutomationClient 和 CallAutomationClientBuilder;CallConnection 保持不变,ServerCall 被移除。