Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
06f22eb
ga5 changes
v-dharmarajv May 9, 2025
f5cebcd
ga5 api changes
v-dharmarajv May 13, 2025
a7a071d
Made GA5 changes and recorded the live tests. (#45409)
v-pivamshi May 20, 2025
4c30693
Addressing arb comments
v-dharmarajv May 21, 2025
cf508ed
Added the parser for the dtmf data. (#45347)
v-pivamshi May 21, 2025
6300665
updating the white space difference
v-dharmarajv May 21, 2025
a34f372
addressing the arb comments
v-dharmarajv May 21, 2025
3beae7c
GA5 Javadoc Issues (#45432)
v-saasomani May 21, 2025
47bb9e9
Re-recorded tests and fixed linting issues (unused imports). (#45448)
v-saasomani May 22, 2025
99dccc2
updating java missing fields
v-dharmarajv May 22, 2025
0baee07
Merge branch 'callautomation/release/ga5' of https://github.com/Azure…
v-dharmarajv May 22, 2025
50ad4c7
lint errors
v-dharmarajv May 22, 2025
6fafaf3
moving transport url
v-dharmarajv May 23, 2025
0b8acfa
Addressing the ARB Comments
v-dharmarajv May 27, 2025
2fe8f65
addressing the arb comments
v-dharmarajv May 27, 2025
b83c48e
addressing all arb comments
v-dharmarajv May 27, 2025
e5964c9
merge from main
v-dharmarajv May 27, 2025
1a568e4
updating the transcription and media streaming options
v-dharmarajv May 28, 2025
2a11acf
Fixed Javadoc issues + updated ga5 version. (#45496)
v-saasomani May 28, 2025
0722329
Fixing the lint errors
v-dharmarajv May 28, 2025
f0b6caa
fixing the lint error
v-dharmarajv May 28, 2025
f2faa81
updating the changelog
v-dharmarajv May 30, 2025
c8f0c56
merge from main
v-dharmarajv Jun 3, 2025
2e374f3
Updating the changelog and release date
v-dharmarajv Jun 4, 2025
d1a04d5
changing the release date
v-dharmarajv Jun 5, 2025
b1b754d
Increment package versions for communication/azure-communication-call…
azure-sdk Jun 16, 2025
cbc7241
Resolving the conflicts and merging from main
v-dharmarajv Jun 30, 2025
3ff7870
taking the main changes for the dependancy package updates
v-dharmarajv Jun 30, 2025
801001f
dependancy package updates
v-dharmarajv Jun 30, 2025
999d294
updating the identity package
v-dharmarajv Jun 30, 2025
a9b3ffb
updating the cutomization for the getparticipant
v-dharmarajv Jul 1, 2025
09fe53b
version number update
v-dharmarajv Jul 7, 2025
8b4c32d
running latest autorest
v-dharmarajv Jul 7, 2025
7082219
merging from main
v-dharmarajv Jul 7, 2025
59c9ca4
version update
v-dharmarajv Jul 7, 2025
66b9748
updating readme version
v-dharmarajv Jul 7, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
updating the cutomization for the getparticipant
  • Loading branch information
v-dharmarajv committed Jul 1, 2025
commit a9b3ffbbb9733e863490affa1514718f7a756bad
Original file line number Diff line number Diff line change
Expand Up @@ -556,3 +556,17 @@ directive:
transform: >
$.name = "AudioFormatInternal";
```

### Configure participantRawId to skip path encoding

getParticipant participantRawId is not encoded which results HMAC failures on the backend, to fix the issue, currently
overriding the getParticipant signature and sending the participantRawId as encoded
This needs to be fixed in the GA release

``` yaml
directive:
- from: swagger-document
where: $.paths["/calling/callConnections/{callConnectionId}/participants/{participantRawId}"].get.parameters
transform: >
$.find(param => param.name === "participantRawId")["x-ms-skip-url-encoding"] = true;
```
Original file line number Diff line number Diff line change
@@ -1,63 +1,36 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.

import com.azure.autorest.customization.ClassCustomization;
import com.azure.autorest.customization.PropertyCustomization;
import com.azure.autorest.customization.Customization;
import com.azure.autorest.customization.LibraryCustomization;
import com.azure.autorest.customization.PackageCustomization;
import org.slf4j.Logger;

/**
* Contains customizations for call automation configuration.
*/
public class CallautomationCustomizations extends Customization {
private static final String BASE_PACKAGE = "com.azure.communication.callautomation.";
private static final String IMPLEMENTATION_MODELS_PACKAGE = BASE_PACKAGE + "implementation.models";

// Enum class names
public static final String RECORDING_STORAGE_TYPE_INTERNAL_CLASS = "RecordingStorageTypeInternal";
public static final String AUDIO_FORMAT_INTERNAL_CLASS = "AudioFormatInternal";
public static final String MEDIA_STREAMING_STATUS_DETAILS_CLASS = "MediaStreamingStatusDetails";

@Override
public void customize(LibraryCustomization customization, Logger logger) {

try {
customizeCallAutomationEnumMembers(customization);
encodePathParam(customization, logger);
} catch (IllegalArgumentException e) {
logger.info("Package Not Found: " + e.getMessage());
} catch (Exception e) {
logger.info("Exception Thrown: " + e.getMessage());
}
logger.info("Customization pass");
customizeCallAutomationEnumMembers(customization.getPackage("com.azure.communication.callautomation.implementation.models"));
}

// getParticipant participantRawId is not encoded which results HMAC failures on the backend,
// to fix the issue, currently overriding the getParticipant signature and sending the participantRawId as encoded
// This needs to be fixed in the GA release
private void encodePathParam(LibraryCustomization customization, Logger logger) {
String replace = customization.getRawEditor().getFileContent("src/main/java/com/azure/communication/callautomation/implementation/CallConnectionsImpl.java")
.replace("@PathParam(\"participantRawId\") String participantRawId,", "@PathParam(value = \"participantRawId\", encoded = true) String participantRawId,");
customization.getRawEditor().replaceFile("src/main/java/com/azure/communication/callautomation/implementation/CallConnectionsImpl.java", replace);
}

private void customizeCallAutomationEnumMembers(LibraryCustomization customization) {
ClassCustomization recordingStorageTypeInternalConfigurationClass = customization.getPackage(IMPLEMENTATION_MODELS_PACKAGE)
.getClass(RECORDING_STORAGE_TYPE_INTERNAL_CLASS);
recordingStorageTypeInternalConfigurationClass
.renameEnumMember("AZURE_COMMUNICATION_SERVICES", "ACS");
private void customizeCallAutomationEnumMembers(PackageCustomization customization) {
customization.getClass("RecordingStorageTypeInternal").customizeAst(ast -> ast.getClassByName(
"RecordingStorageTypeInternal")
.flatMap(clazz -> clazz.getFieldByName("AZURE_COMMUNICATION_SERVICES"))
.ifPresent(field -> field.getVariable(0).setName("ACS")));

// As per azure board review renaming the PCM16KMONO to PCM_16K_MONO,PCM24KMONO to PCM_24K_MONO
ClassCustomization audioFormatInternalClass = customization.getPackage(IMPLEMENTATION_MODELS_PACKAGE)
.getClass(AUDIO_FORMAT_INTERNAL_CLASS);
audioFormatInternalClass
.renameEnumMember("PCM16KMONO", "PCM_16K_MONO")
.renameEnumMember("PCM24KMONO", "PCM_24K_MONO");

ClassCustomization mediaStreamingStatusDetailsClass = customization.getPackage(IMPLEMENTATION_MODELS_PACKAGE)
.getClass(MEDIA_STREAMING_STATUS_DETAILS_CLASS);
mediaStreamingStatusDetailsClass
.renameEnumMember("INITIAL_WEB_SOCKET_CONNECTION_FAILED", "INITIAL_WEBSOCKET_CONNECTION_FAILED");
customization.getClass("AudioFormatInternal").customizeAst(ast -> ast.getClassByName("AudioFormatInternal")
.ifPresent(clazz -> {
clazz.getFieldByName("PCM16KMONO").ifPresent(field -> field.getVariable(0).setName("PCM_16K_MONO"));
clazz.getFieldByName("PCM24KMONO").ifPresent(field -> field.getVariable(0).setName("PCM_24K_MONO"));
}));

customization.getClass("MediaStreamingStatusDetails").customizeAst(ast -> ast.getClassByName(
"MediaStreamingStatusDetails")
.flatMap(clazz -> clazz.getFieldByName("INITIAL_WEB_SOCKET_CONNECTION_FAILED"))
.ifPresent(field -> field.getVariable(0).setName("INITIAL_WEBSOCKET_CONNECTION_FAILED")));
}
}
}