SkillCoding & development
Trace a request through a codebase
Follow one request from entry point to storage or external boundary with concrete file references.
✳Claude Code
MIT · FreeView skill
⚠️ 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.
---
name: azure-communication-callingserver-java
description: "⚠️ 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."
risk: critical
source: community
date_added: "2026-02-27"
---
# 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 legacyClient = new CallingServerClientBuilder()
.connectionString("<connection-string>")
.buildClient();
// NEW WAY
import com.azure.communication.callautomation.CallAutomationClient;
import com.azure.communication.callautomation.CallAutomationClientBuilder;
CallAutomationClient automationClient = new CallAutomationClientBuilder()
.connectionString("<connection-string>")
.buildClient();
```
## Legacy Recording
```java
// OLD WAY
StartRecordingOptions options = new StartRecordingOptions(serverCallId)
.setRecordingStateCallbackUri(callbackUri);
StartCallRecordingResult result = legacyClient.startRecording(options);
String recordingId = result.getRecordingId();
legacyClient.pauseRecording(recordingId);
legacyClient.resumeRecording(recordingId);
legacyClient.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"
## When to Use
Use only when maintaining historical CallingServer code or planning migration to azure-communication-callautomation-java; do not start new integrations with the retired package.
## Limitations
- Legacy and new snippets are alternative fragments, not a drop-in migration. Pin reviewed package versions and verify the exact replacement API; the legacy recording options are not assumed compatible with Call Automation.
- Call control and recording can affect real participants, costs and sensitive communications. Obtain call/account authorization and required participant consent, keep credentials out of code/logs, and never place or record a call merely to validate these examples.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
---
name: azure-communication-callingserver-java
description: "⚠️ 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."
risk: critical
source: community
date_added: "2026-02-27"
---
# 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 legacyClient = new CallingServerClientBuilder()
.connectionString("<connection-string>")
.buildClient();
// NEW WAY
import com.azure.communication.callautomation.CallAutomationClient;
import com.azure.communication.callautomation.CallAutomationClientBuilder;
CallAutomationClient automationClient = new CallAutomationClientBuilder()
.connectionString("<connection-string>")
.buildClient();
```
## Legacy Recording
```java
// OLD WAY
StartRecordingOptions options = new StartRecordingOptions(serverCallId)
.setRecordingStateCallbackUri(callbackUri);
StartCallRecordingResult result = legacyClient.startRecording(options);
String recordingId = result.getRecordingId();
legacyClient.pauseRecording(recordingId);
legacyClient.resumeRecording(recordingId);
legacyClient.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"
## When to Use
Use only when maintaining historical CallingServer code or planning migration to azure-communication-callautomation-java; do not start new integrations with the retired package.
## Limitations
- Legacy and new snippets are alternative fragments, not a drop-in migration. Pin reviewed package versions and verify the exact replacement API; the legacy recording options are not assumed compatible with Call Automation.
- Call control and recording can affect real participants, costs and sensitive communications. Obtain call/account authorization and required participant consent, keep credentials out of code/logs, and never place or record a call merely to validate these examples.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
Imported SKILL.md format for Claude Code, Codex and Cursor. Review the complete instructions and required tools before use. Package integrity checked; individual agent behavior has not been tested.