azure-communication-callingserver-java — Claude Code skill
A Microsoft skill for maintaining Java projects built on the deprecated Azure Communication Services CallingServer SDK and moving their code to Call Automation.
npx skills add microsoft/skills --skill azure-communication-callingserver-java -a claude-codeWhat azure-communication-callingserver-java does
This skill covers the legacy Java package com.azure:azure-communication-callingserver. It helps developers maintain existing integrations that create a CallingServerClient, work with call connections, or control recordings. Microsoft directs new development toward azure-communication-callautomation instead.
The examples cover client construction with a connection string and recording controls for starting, pausing, resuming, and stopping a recording. A class mapping explains the migration: CallingServerClient becomes CallAutomationClient, while the removed ServerCall class is replaced by CallConnection.
For Maven projects, the documented dependency change is from com.azure:azure-communication-callingserver version 1.0.0-beta.5 to com.azure:azure-communication-callautomation version 1.6.0. Code that uses the old client classes must also be updated. The CallingServer SDK is deprecated, so this skill belongs in legacy maintenance work rather than new implementations. It supports Claude Code and GitHub Copilot.
What it helps with
- Locate legacy CallingServer classes in a Java codebase
- Replace the deprecated SDK dependency with Call Automation
- Update client construction to use the new builder
- Move call recording controls to the replacement SDK
- Replace references to the removed ServerCall class
Example prompts for the agent
- Help me maintain this existing Java integration built on
azure-communication-callingserver-java. - Migrate
azure-communication-callingservertoazure-communication-callautomationand update the affected client classes. - Show me how to move recording start, pause, resume, and stop operations to Call Automation.
How to install azure-communication-callingserver-java
1Skills CLI (Vercel)
npx skills add microsoft/skills --skill azure-communication-callingserver-java -a claude-code2Manually: put the files in place
~/.claude/skills/azure-communication-callingserver-java/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/azure-communication-callingserver-java/
Manually: put the files in place
.agents/skills/azure-communication-callingserver-java/SKILL.mdFor all projects use ~/.agents/skills/
Manually: put the files in place
.cursor/skills/azure-communication-callingserver-java/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install microsoft/skills azure-communication-callingserver-java2Manually: put the files in place
.github/skills/azure-communication-callingserver-java/SKILL.mdPlatform CLI
gemini skills install https://github.com/microsoft/skills --path .github/plugins/azure-sdk-java/skills/azure-communication-callingserver-javaManually: put the files in place
.devin/skills/azure-communication-callingserver-java/SKILL.mdThe legacy .windsurf/skills/ path still works
Claude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about azure-communication-callingserver-java
How do I install azure-communication-callingserver-java in Claude Code?
Run npx skills add microsoft/skills --skill azure-communication-callingserver-java -a claude-code. The skill file is located at ~/.claude/skills/azure-communication-callingserver-java/SKILL.md.
What does azure-communication-callingserver-java do?
It guides maintenance of Java applications using the deprecated Azure Communication Services CallingServer SDK. Its examples cover client creation, call connections, recording controls, and migration to Call Automation.
Which classes change when migrating from CallingServer to Call Automation?
CallingServerClient and CallingServerClientBuilder become CallAutomationClient and CallAutomationClientBuilder. ServerCall is removed and replaced by CallConnection.
Source text
SKILL.md · MIT
---
name: azure-communication-callingserver-java
description: Azure Communication Services CallingServer (legacy) Java SDK. Note - This SDK is deprecated. Use azure-communication-callautomation instead for new projects. Only use this skill when maintaining legacy code.
license: MIT
metadata:
author: Microsoft
version: "1.0.0"
package: com.azure:azure-communication-callingserver
---
# Azure Communication CallingServer (Java) - DEPRECATED
> **⚠️ DEPRECATED**: This SDK has been renamed to **Call Automation**. For new projects, use `azure-communication-callautomation` instead. This skill is for maintaining legacy code only.
## Migration to Call Automation
```xml
<!-- OLD (deprecated) -->
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-communication-callingserver</artifactId>
<version>1.0.0-beta.5</version>
</dependency>
<!-- NEW (use this instead) -->
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-communication-callautomation</artifactId>
<version>1.6.0</version>
</dependency>
```
## Class Name Changes
| CallingServer (Old) | Call Automation (New) |
|---------------------|----------------------|
| `CallingServerClient` | `CallAutomationClient` |
| `CallingServerClientBuilder` | `CallAutomationClientBuilder` |
| `CallConnection` | `CallConnection` (same) |
| `ServerCall` | Removed - use `CallConnection` |
## Legacy Client Creation
```java
// OLD WAY (deprecated)
import com.azure.communication.callingserver.CallingServerClient;
import com.azure.communication.callingserver.CallingServerClientBuilder;
CallingServerClient client = new CallingServerClientBuilder()
.connectionString("<connection-string>")
.buildClient();
// NEW WAY
import com.azure.communication.callautomation.CallAutomationClient;
import com.azure.communication.callautomation.CallAutomationClientBuilder;
CallAutomationClient client = new CallAutomationClientBuilder()
.connectionString("<connection-string>")
.buildClient();
```
## Legacy Recording
```java
// OLD WAY
StartRecordingOptions options = new StartRecordingOptions(serverCallId)
.setRecordingStateCallbackUri(callbackUri);
StartCallRecordingResult result = client.startRecording(options);
String recordingId = result.getRecordingId();
client.pauseRecording(recordingId);
client.resumeRecording(recordingId);
client.stopRecording(recordingId);
// NEW WAY - see azure-communication-callautomation skill
```
## For New Development
**Do not use this SDK for new projects.**
See the `azure-communication-callautomation-java` skill for:
- Making outbound calls
- Answering incoming calls
- Call recording
- DTMF recognition
- Text-to-speech / speech-to-text
- Adding/removing participants
- Call transfer
## Trigger Phrases
- "callingserver legacy", "deprecated calling SDK"
- "migrate callingserver to callautomation"
© Microsoft · MIT · microsoft/skills