Azure CallingServer Java Legacy Maintainer
Maintain legacy CallingServer Java code and migrate it toward Azure Communication Services Call Automation.
The documentation explicitly marks the SDK as deprecated and directs new projects to Call Automation. It shows no credential theft, covert exfiltration, destructive default, or grossly excessive permission behavior. However, it uses a connection-string placeholder without guidance on secret storage, least privilege, rollback, or recording-data protection, so 7 points are deducted.
The main document and references/examples.md are internally consistent on migration direction, class-name changes, and dependency examples, and they include a legacy recording example. There are no skill-specific tests, compatibility matrix, exception-handling guidance, or diagnosable failure messages; under static calibration the score is capped at 10, with 14 points deducted.
The audience and scope are reasonably clear: maintain legacy CallingServer code only, with explicit trigger phrases and a non-fit boundary for new development. Inputs, outputs, edge boundaries, and Java environment requirements remain incomplete, and Chinese support or mainland-China network reachability is not documented, so 5 points are deducted.
The skill has a clear deprecation warning, migration sections, dependency metadata, MIT licensing, a version field, examples, and trigger phrases. It lacks a changelog, explicit maintenance responsibility, update path, installation notes, troubleshooting, and complete limitation disclosure, so 6 points are deducted.
Migration dependencies, client class mappings, and recording snippets can directly assist with part of a legacy-code task, giving the skill clear core value. However, the new API is largely deferred to another skill, legacy coverage is narrow, and example usability is not verified by files containing execution evidence; 9 points are deducted.
The skill provides auditable snippets, class mappings, and dependency versions, while the repository includes general CI and test-harness infrastructure. It does not provide skill-specific tests, real execution results, or corroborating sources, so evidence remains limited and 7 points are deducted.
- Use this skill only for maintaining existing CallingServer code; new projects should use the Call Automation skill.
- Do not hard-code connection strings in source code or logs; the files provide no secret-management or permission guidance.
- Recording may involve sensitive communications data; the files do not address consent, retention, access control, callback-URI security, or recovery.
- Dependency versions and APIs were not executed or validated in this static review; confirm compatibility in the target Java project.
- No evidence is provided for Chinese documentation or mainland-China network reachability.
What it does & when to use it
This skill targets legacy applications using the Azure Communication Services CallingServer Java SDK. It states that CallingServer is deprecated and that new projects should use azure-communication-callautomation instead. The guidance covers Maven dependency changes, client class renames, legacy client construction, and recording APIs. It is suitable for migration and maintenance work, not new development.
It provides side-by-side Maven dependency examples for CallingServer and Call Automation, maps old client classes to new ones, and shows Java examples for creating a CallingServerClient. It demonstrates starting, pausing, resuming, and stopping legacy recordings, and explains that ServerCall was removed in favor of CallConnection. It directs new development scenarios to the azure-communication-callautomation-java skill.
- Maintain a Java legacy application that still depends on azure-communication-callingserver.
- Replace CallingServerClient and CallingServerClientBuilder with CallAutomationClient and CallAutomationClientBuilder.
- Migrate older call-recording code toward the Call Automation SDK.
- Handle coding tasks that mention callingserver legacy or deprecated calling SDK.
Pros & cons
- Clearly identifies the SDK as deprecated and limits the intended use to legacy maintenance.
- Includes dependency, class-name, and recording-API migration comparisons.
- Provides directly usable Java examples for client creation and recording operations.
- Distributed under the MIT license.
- It is explicitly unsuitable for new projects.
- The new recording implementation is not detailed in this skill.
- The source provides no skill-specific test coverage or extensive troubleshooting guidance.
- Installation instructions cover the collection rather than this individual skill.
How to install
Install the repository collection with npx skills add microsoft/skills, then select the needed skill in the wizard. The README says skills are installed in the selected agent directory, such as .github/skills/ for GitHub Copilot. The source does not document a separate installation command for this individual skill.
How to use
Invoke the skill with a trigger phrase such as callingserver legacy, deprecated calling SDK, or migrate callingserver to callautomation. Use .github/plugins/azure-sdk-java/skills/azure-communication-callingserver-java/SKILL.md when maintaining legacy code; use azure-communication-callautomation-java for new projects.
Compared to similar skills
The skill explicitly compares azure-communication-callingserver with azure-communication-callautomation: CallingServer is the deprecated legacy SDK, while Call Automation is recommended for new projects. CallingServerClient and CallingServerClientBuilder map to CallAutomationClient and CallAutomationClientBuilder; CallConnection remains the same, while ServerCall is removed.