--- 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 com.azure azure-communication-callingserver 1.0.0-beta.5 com.azure azure-communication-callautomation 1.6.0 ``` ## 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("") .buildClient(); // NEW WAY import com.azure.communication.callautomation.CallAutomationClient; import com.azure.communication.callautomation.CallAutomationClientBuilder; CallAutomationClient automationClient = new CallAutomationClientBuilder() .connectionString("") .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.