Skip to content

Commit 36e3917

Browse files
Package name change for callingserver to callautomation (Azure#30736)
Changing name of callingserver to callautomation. This change will be done by the following steps: 1. Duplicate the code with new package name(sdk/communication/azure-communication-callautomation) [Done in this step] 2. Based on the new code, a new pipeline will be automatically created. Verify the pipeline and do sanity test on the generated artifact. Make sure everything works perfectly under the new package name. [Will be done by merging this PR] 3. Merge a PR to remove sdk/communication/azure-communication-callingserver 4. Submit request to Engineering System channel in Teams for removing the old pipeline(callingserver pipeline)
1 parent b059d5d commit 36e3917

File tree

204 files changed

+19066
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

204 files changed

+19066
-0
lines changed

eng/versioning/version_client.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ com.azure:azure-aot-graalvm-samples;1.0.0-beta.1;1.0.0-beta.1
5959
com.azure:azure-aot-graalvm-perf;1.0.0-beta.1;1.0.0-beta.1
6060
com.azure:azure-communication-chat;1.3.0;1.4.0-beta.1
6161
com.azure:azure-communication-callingserver;1.0.0-beta.4;1.0.0-beta.5
62+
com.azure:azure-communication-callautomation;1.0.0-beta.1;1.0.0-beta.1
6263
com.azure:azure-communication-common;1.2.0;1.3.0-beta.2
6364
com.azure:azure-communication-common-perf;1.0.0-beta.1;1.0.0-beta.1
6465
com.azure:azure-communication-sms;1.1.5;1.2.0-beta.1
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
# Release History
2+
3+
## 1.0.0-beta.5 (Unreleased)
4+
This is the first version of the restart of Azure Communication Service Calling Server. For more information, please see the [README][read_me].
5+
6+
- Name changed to Azure Communication Service Call Automation.
7+
- Feature re-designed.
8+
- Added interfaces from `com.azure.core.client.traits` to `CallAutomationClientBuilder`
9+
- Added `retryOptions` to `CallAutomationClientBuilder`
10+
11+
### Features Added
12+
- Create outbound call to an Azure Communication Service user or a phone number.
13+
- Answer/Redirect/Reject incoming call from an Azure Communication Service user or a phone number.
14+
- Hangup and terminate the existing call.
15+
- Play audio in the call.
16+
- Call recording.
17+
- Get, add and remove participants from the call.
18+
- Recording download apis.
19+
20+
### Breaking Changes
21+
- Incompatible with previous version of service
22+
23+
## 1.0.0-beta.4 (2021-10-06)
24+
### Features Added
25+
- Add support for TokenCredential authentication with CallingServerClientBuilder.
26+
- Added support for custom options(Recordingcontenttype, Recordingchanneltype, Recordingformattype) for Mixed Audio feature
27+
28+
### Bugs Fixed
29+
- Using released version of azure-communication-common.
30+
31+
### Other Changes
32+
#### Dependency updates
33+
- Upgraded `azure-communication-common` to 1.0.4
34+
35+
## 1.0.0-beta.3 (2021-07-26)
36+
### Features Added
37+
- Added RedirectPolicy as a new HttpPolicy to redirect requests based on the HttpResponse.
38+
39+
## 1.0.0-beta.2 (2021-06-25)
40+
- Updated sdk and apis documentation.
41+
42+
### Bug Fixes
43+
- Fixed bug with AddParticipant api.
44+
45+
## 1.0.0-beta.1 (2021-06-24)
46+
This is the first release of Azure Communication Service Calling Server. For more information, please see the [README][read_me].
47+
48+
This is a Public Preview version, so breaking changes are possible in subsequent releases as we improve the product. To provide feedback, please submit an issue in our [Azure SDK for Java GitHub repo](https://github.com/Azure/azure-sdk-for-java/issues).
49+
50+
### Features Added
51+
- Create outbound call to an Azure Communication Service user or a phone number.
52+
- Hangup and delete the existing call.
53+
- Play audio in the call.
54+
- Out-call apis for call recording including start, pause, resume stop and get state.
55+
- Subscribe to and receive [DTMF][DTMF] tones via events.
56+
- Add and remove participants from the call.
57+
- Recording download apis.
58+
59+
<!-- LINKS -->
60+
[read_me]: https://github.com/Azure/azure-sdk-for-java/tree/main/sdk/communication/azure-communication-callautomation/README.md
61+
[DTMF]: https://en.wikipedia.org/wiki/Dual-tone_multi-frequency_signaling
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
# Azure Communication CallingServer Service client library for Java
2+
3+
This package contains a Java SDK for Azure Communication CallingServer Service. Server Test
4+
5+
[Source code][source] | [Package (Maven)][package] | [API reference documentation][api_documentation]
6+
| [Product documentation][product_docs]
7+
8+
## Getting started
9+
10+
### Prerequisites
11+
12+
- An Azure account with an active subscription. [Create an account for free](https://azure.microsoft.com/free/?WT.mc_id=A261C142F).
13+
- [Java Development Kit (JDK)](https://docs.microsoft.com/java/azure/jdk/?view=azure-java-stable) version 8 or above.
14+
- [Apache Maven](https://maven.apache.org/download.cgi).
15+
- A deployed Communication Services resource. You can use the [Azure Portal](https://docs.microsoft.com/azure/communication-services/quickstarts/create-communication-resource?tabs=windows&pivots=platform-azp) or the [Azure PowerShell](https://docs.microsoft.com/powershell/module/az.communication/new-azcommunicationservice) to set it up.
16+
17+
### Include the package
18+
19+
[//]: # ({x-version-update-start;com.azure:azure-communication-callautomation;current})
20+
```xml
21+
<dependency>
22+
<groupId>com.azure</groupId>
23+
<artifactId>azure-communication-callautomation</artifactId>
24+
<version>1.0.0-beta.5</version>
25+
</dependency>
26+
```
27+
[//]: # ({x-version-update-end})
28+
29+
## Key concepts
30+
This is the restart of CallingServer Service. It is renamed to Call Automation service and being more intuitive to use.
31+
32+
`CallAutomationClient` provides the functionality to make call, answer/reject incoming call and redirect a call.
33+
34+
`CallConnection` provides the functionality to perform actions in an established call connection such as adding participants and terminate the call.
35+
36+
`CallMedia` introduces media related functionalities into the call.
37+
38+
`CallRecording` provides the functionality of recording the call.
39+
40+
`EventHandler` provides the functionality to handle events from the ACS resource.
41+
42+
## Examples
43+
44+
To be determined.
45+
46+
## Troubleshooting
47+
48+
If you recieve a CommunicationErrorException with the messagae: "Action is invalid when call is not in Established state." This usually means the call has ended. This can occur if the participants all leave
49+
the call, or participants did not accept the call before the call timed out.
50+
51+
If you fail to start a call because of an HMAC validation error, be sure your access key is correct, and
52+
that you are passing in a valid conversation id.
53+
54+
## Contributing
55+
56+
This project welcomes contributions and suggestions. Most contributions require you to agree to a [Contributor License Agreement (CLA)][cla] declaring that you have the right to, and actually do, grant us the rights to use your contribution.
57+
58+
When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.
59+
60+
This project has adopted the [Microsoft Open Source Code of Conduct][coc]. For more information see the [Code of Conduct FAQ][coc_faq] or contact [opencode@microsoft.com][coc_contact] with any additional questions or comments.
61+
62+
## Next steps
63+
64+
- [Read more about CallingServer Call Automation in Azure Communication Services][call_automation_apis_overview]
65+
- [Read more about CallingServer Call Recording in Azure Communication Services][call_recording_overview]
66+
- For a basic guide on how to record and download calls with Event Grid please refer to the [Record and download calls with Event Grid][record_and_download_calls_with_event_grid].
67+
68+
<!-- LINKS -->
69+
[cla]: https://cla.microsoft.com
70+
[coc]: https://opensource.microsoft.com/codeofconduct/
71+
[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/
72+
[coc_contact]: mailto:opencode@microsoft.com
73+
[product_docs]: https://docs.microsoft.com/azure/communication-services/
74+
[package]: https://dev.azure.com/azure-sdk/public/_artifacts/feed/azure-sdk-for-java-communication-interaction
75+
[api_documentation]: https://aka.ms/java-docs
76+
[call_automation_apis_overview]:https://docs.microsoft.com/azure/communication-services/concepts/voice-video-calling/call-automation-apis
77+
[call_recording_overview]:https://docs.microsoft.com/azure/communication-services/concepts/voice-video-calling/call-recording
78+
[record_and_download_calls_with_event_grid]:https://docs.microsoft.com/azure/communication-services/quickstarts/voice-video-calling/download-recording-file-sample
79+
[source]: https://github.com/Azure/azure-sdk-for-java/tree/main/sdk/communication/azure-communication-callautomation/src
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file.
2+
3+
trigger:
4+
branches:
5+
include:
6+
- main
7+
- hotfix/*
8+
- release/*
9+
paths:
10+
include:
11+
- sdk/communication/azure-communication-callautomation
12+
exclude:
13+
- sdk/communication/azure-communication-callautomation/pom.xml
14+
15+
pr:
16+
branches:
17+
include:
18+
- main
19+
- feature/*
20+
- hotfix/*
21+
- release/*
22+
paths:
23+
include:
24+
- sdk/communication/azure-communication-callautomation/
25+
exclude:
26+
- sdk/communication/azure-communication-callautomation/pom.xml
27+
28+
extends:
29+
template: /eng/pipelines/templates/stages/archetype-sdk-client.yml
30+
parameters:
31+
ServiceDirectory: communication
32+
Artifacts:
33+
- name: azure-communication-callautomation
34+
groupId: com.azure
35+
safeName: azurecommunicationcallautomation
36+
Lines changed: 175 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,175 @@
1+
<!-- Copyright (c) Microsoft Corporation. All rights reserved.
2+
Licensed under the MIT License. -->
3+
<project xmlns="http://maven.apache.org/POM/4.0.0"
4+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
5+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
6+
<modelVersion>4.0.0</modelVersion>
7+
8+
<parent>
9+
<groupId>com.azure</groupId>
10+
<artifactId>azure-client-sdk-parent</artifactId>
11+
<version>1.7.0</version> <!-- {x-version-update;com.azure:azure-client-sdk-parent;current} -->
12+
<relativePath>../../parents/azure-client-sdk-parent</relativePath>
13+
</parent>
14+
15+
<groupId>com.azure</groupId>
16+
<artifactId>azure-communication-callautomation</artifactId>
17+
<packaging>jar</packaging>
18+
<version>1.0.0-beta.1</version> <!-- {x-version-update;com.azure:azure-communication-callautomation;current} -->
19+
20+
<name>Microsoft Azure client library for CallingServer service</name>
21+
<description>
22+
This package contains clients and data structures used to make call with Azure Communication CallingServer Service.
23+
For this release, see notes - https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/communication/azure-communication-callautomation/README.md and https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/communication/azure-communication-callautomation/CHANGELOG.md.
24+
</description>
25+
<url>https://github.com/Azure/azure-sdk-for-java</url>
26+
27+
<distributionManagement>
28+
<site>
29+
<id>azure-java-build-docs</id>
30+
<url>${site.url}/site/${project.artifactId}</url>
31+
</site>
32+
</distributionManagement>
33+
34+
<scm>
35+
<url>https://github.com/Azure/azure-sdk-for-java</url>
36+
<connection>scm:git:git@github.com:Azure/azure-sdk-for-java.git</connection>
37+
<tag>HEAD</tag>
38+
</scm>
39+
40+
<properties>
41+
<src.dir>src/main</src.dir>
42+
<test.dir>src/test</test.dir>
43+
<jacoco.min.linecoverage>0.75</jacoco.min.linecoverage>
44+
<jacoco.min.branchcoverage>0.65</jacoco.min.branchcoverage>
45+
<jacoco.skip>false</jacoco.skip>
46+
<!-- Configures the Java 9+ run to perform the required module exports, opens, and reads that are necessary for testing but shouldn't be part of the module-info. -->
47+
<javaModulesSurefireArgLine>
48+
--add-opens com.azure.communication.callautomation/com.azure.communication.callautomation.implementation=ALL-UNNAMED
49+
--add-opens com.azure.communication.common/com.azure.communication.common.implementation=ALL-UNNAMED
50+
</javaModulesSurefireArgLine>
51+
</properties>
52+
53+
<dependencies>
54+
<dependency>
55+
<groupId>com.azure</groupId>
56+
<artifactId>azure-core</artifactId>
57+
<version>1.32.0</version> <!-- {x-version-update;com.azure:azure-core;dependency} -->
58+
</dependency>
59+
<dependency>
60+
<groupId>com.azure</groupId>
61+
<artifactId>azure-communication-common</artifactId>
62+
<version>1.3.0-beta.2</version> <!-- {x-version-update;com.azure:azure-communication-common;current} -->
63+
</dependency>
64+
<dependency>
65+
<groupId>com.azure</groupId>
66+
<artifactId>azure-communication-identity</artifactId>
67+
<version>1.3.0</version> <!-- {x-version-update;com.azure:azure-communication-identity;dependency} -->
68+
<scope>test</scope>
69+
</dependency>
70+
<dependency>
71+
<groupId>com.azure</groupId>
72+
<artifactId>azure-core-test</artifactId>
73+
<version>1.12.0</version> <!-- {x-version-update;com.azure:azure-core-test;dependency} -->
74+
<scope>test</scope>
75+
</dependency>
76+
<dependency>
77+
<groupId>com.nimbusds</groupId>
78+
<artifactId>nimbus-jose-jwt</artifactId>
79+
<version>9.22</version> <!-- {x-version-update;com.nimbusds:nimbus-jose-jwt;external_dependency} -->
80+
<scope>test</scope>
81+
</dependency>
82+
<dependency>
83+
<groupId>org.junit.jupiter</groupId>
84+
<artifactId>junit-jupiter-api</artifactId>
85+
<version>5.8.2</version> <!-- {x-version-update;org.junit.jupiter:junit-jupiter-api;external_dependency} -->
86+
<scope>test</scope>
87+
</dependency>
88+
<dependency>
89+
<groupId>org.junit.jupiter</groupId>
90+
<artifactId>junit-jupiter-engine</artifactId>
91+
<version>5.8.2</version> <!-- {x-version-update;org.junit.jupiter:junit-jupiter-engine;external_dependency} -->
92+
<scope>test</scope>
93+
</dependency>
94+
<dependency>
95+
<groupId>org.junit.jupiter</groupId>
96+
<artifactId>junit-jupiter-params</artifactId>
97+
<version>5.8.2</version> <!-- {x-version-update;org.junit.jupiter:junit-jupiter-params;external_dependency} -->
98+
<scope>test</scope>
99+
</dependency>
100+
<dependency>
101+
<groupId>org.hamcrest</groupId>
102+
<artifactId>hamcrest-all</artifactId>
103+
<version>1.3</version> <!-- {x-version-update;org.hamcrest:hamcrest-all;external_dependency} -->
104+
<scope>test</scope>
105+
</dependency>
106+
<dependency>
107+
<groupId>org.mockito</groupId>
108+
<artifactId>mockito-core</artifactId>
109+
<version>4.5.1</version> <!-- {x-version-update;org.mockito:mockito-core;external_dependency} -->
110+
<scope>test</scope>
111+
</dependency>
112+
<dependency>
113+
<groupId>io.projectreactor</groupId>
114+
<artifactId>reactor-test</artifactId>
115+
<version>3.4.22</version> <!-- {x-version-update;io.projectreactor:reactor-test;external_dependency} -->
116+
<scope>test</scope>
117+
</dependency>
118+
<dependency>
119+
<groupId>com.azure</groupId>
120+
<artifactId>azure-core-http-okhttp</artifactId>
121+
<version>1.11.2</version> <!-- {x-version-update;com.azure:azure-core-http-okhttp;dependency} -->
122+
<scope>test</scope>
123+
</dependency>
124+
<dependency>
125+
<groupId>com.azure</groupId>
126+
<artifactId>azure-identity</artifactId>
127+
<version>1.5.4</version> <!-- {x-version-update;com.azure:azure-identity;dependency} -->
128+
<scope>test</scope>
129+
</dependency>
130+
<dependency>
131+
<groupId>org.jacoco</groupId>
132+
<artifactId>org.jacoco.agent</artifactId>
133+
<classifier>runtime</classifier>
134+
<scope>test</scope>
135+
<version>0.8.8</version> <!-- {x-version-update;org.jacoco:org.jacoco.agent;external_dependency} -->
136+
</dependency>
137+
</dependencies>
138+
<build>
139+
<plugins>
140+
<plugin>
141+
<groupId>org.jacoco</groupId>
142+
<artifactId>jacoco-maven-plugin</artifactId>
143+
<version>0.8.8</version> <!-- {x-version-update;org.jacoco:jacoco-maven-plugin;external_dependency} -->
144+
<configuration>
145+
<includes>
146+
<include>com/azure/communication/callautomation/*.class</include>
147+
</includes>
148+
</configuration>
149+
<executions>
150+
<execution>
151+
<id>coverage-report</id>
152+
<phase>verify</phase>
153+
<goals>
154+
<goal>report</goal>
155+
</goals>
156+
</execution>
157+
</executions>
158+
</plugin>
159+
<plugin>
160+
<groupId>org.apache.maven.plugins</groupId>
161+
<artifactId>maven-enforcer-plugin</artifactId>
162+
<version>3.0.0-M3</version> <!-- {x-version-update;org.apache.maven.plugins:maven-enforcer-plugin;external_dependency} -->
163+
<configuration>
164+
<rules>
165+
<bannedDependencies>
166+
<includes>
167+
<include>com.azure:*</include>
168+
</includes>
169+
</bannedDependencies>
170+
</rules>
171+
</configuration>
172+
</plugin>
173+
</plugins>
174+
</build>
175+
</project>

0 commit comments

Comments
 (0)