Skip to content

GA6 Release changes #50342

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 45 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
f3ff2ae
Adding the ga5 changes
v-dharmarajv May 2, 2025
89d27bd
updating the azure board review comments
v-dharmarajv May 6, 2025
62cf3da
updating the version
v-dharmarajv May 6, 2025
a7c6412
Fixing the apiviews
v-dharmarajv May 13, 2025
0ea0a17
updating the answer failed comment
v-dharmarajv May 13, 2025
ab052f8
ARB Comments GA5 Changes (#50124)
v-saasomani May 20, 2025
a1eeb0d
addressing comments
v-dharmarajv May 20, 2025
b5a1eff
addressing comments
v-dharmarajv May 20, 2025
b4a0a71
Added dtmf data in streaming data parser and added unit test. (#49992)
v-pivamshi May 21, 2025
d89b55d
fixing the connect failed event serializer error
v-dharmarajv May 22, 2025
c7ac817
fixing the media streaming error
v-dharmarajv May 22, 2025
eefe834
Adding the locale in the transcription subscription
v-dharmarajv May 22, 2025
404fce8
removing the required fields for the transport url
v-dharmarajv May 23, 2025
630be82
removing the couple of properties for the dtmf data
v-dharmarajv May 27, 2025
152fcd9
merge from main
v-dharmarajv May 27, 2025
a750409
merging from main
v-dharmarajv May 27, 2025
350619c
fixing the tests
v-dharmarajv May 28, 2025
cc36a14
Merge branch 'main' into callautomation/release/ga6
v-dharmarajv May 28, 2025
277fd3b
adding the ga6 changes
v-dharmarajv May 30, 2025
6b7891a
version change to beta to unblock creating the apiview
v-dharmarajv May 30, 2025
9394bf4
removing merge conflicts files
v-dharmarajv May 30, 2025
abcb710
updating the common package
v-dharmarajv Jun 5, 2025
8fab065
latest from main
v-dharmarajv Jun 5, 2025
859329c
adding the custom header and startrecordingfailed event
v-dharmarajv Jun 6, 2025
6446ff9
resolving merge conflicts
v-dharmarajv Jun 6, 2025
e047be2
updating the change log
v-dharmarajv Jun 6, 2025
9119411
updating to ga communication identifier
v-dharmarajv Jun 6, 2025
7f6e08b
GA6 Recorded Tests (#50557)
v-saasomani Jun 20, 2025
9da42d9
merging from main
v-dharmarajv Jun 20, 2025
0a36395
merging from main
v-dharmarajv Jun 20, 2025
c7deb0b
running generate code
v-dharmarajv Jun 20, 2025
bcf36a3
merge from main
v-dharmarajv Jul 8, 2025
c980280
updating the GA communication identifier
v-dharmarajv Jul 8, 2025
a088548
Added call connected event fix on the event processor
v-dharmarajv Jul 9, 2025
db4d5fa
updating readme link
v-dharmarajv Jul 10, 2025
080ca35
Adding the appsource
v-dharmarajv Jul 11, 2025
8697cba
updating the CommunicationIdentifierSerializer_2025_06_30 communicati…
v-dharmarajv Jul 11, 2025
60e0b9b
fixing the connect call event processor issue
v-dharmarajv Jul 11, 2025
81cd7a4
updating comments
v-dharmarajv Jul 11, 2025
caf3e09
updating changelog
v-dharmarajv Jul 11, 2025
06b88d7
Addressing the apiview comments
v-dharmarajv Jul 14, 2025
86133c2
Addressing the apiview comments
v-dharmarajv Jul 14, 2025
e93d9a1
removing the reason code as its applicable on ly for media
v-dharmarajv Jul 14, 2025
a95e216
Addressing Apiview comments
v-dharmarajv Jul 15, 2025
c26e992
updating changelog
v-dharmarajv Jul 25, 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
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
# Release History

## 1.5.0-beta.2 (Unreleased)
## 1.5.0 (2025-07-25)

### Features Added

### Breaking Changes

### Bugs Fixed

### Other Changes
- Added support for Teams multipersona users in create call, add participant, transfer, and redirect scenarios in OPS calls
- Added TeamsAppSource for use when creating outbound OPS calls
- Recording with the call connection ID is now supported. OPS calls can be recorded using the call connection ID.
- Added StartRecordingFailed event to indicate when the start recording API is unable to initiate the recording.
- Adds support for SIP headers prefixed with 'X-' and 'X-MS-Custom-' within the CustomCallingContext.

## 1.4.0 (2025-06-04)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,7 @@ public CallAutomationClient(System.Uri endpoint, Azure.Core.TokenCredential cred
}
public partial class CallAutomationClientOptions : Azure.Core.ClientOptions
{
public CallAutomationClientOptions(Azure.Communication.CallAutomation.CallAutomationClientOptions.ServiceVersion version = Azure.Communication.CallAutomation.CallAutomationClientOptions.ServiceVersion.V2025_05_15) { }
public CallAutomationClientOptions(Azure.Communication.CallAutomation.CallAutomationClientOptions.ServiceVersion version = Azure.Communication.CallAutomation.CallAutomationClientOptions.ServiceVersion.V2025_06_15) { }
public Azure.Communication.CommunicationUserIdentifier Source { get { throw null; } set { } }
public enum ServiceVersion
{
Expand All @@ -158,6 +158,7 @@ public enum ServiceVersion
V2024_04_15 = 3,
V2024_09_15 = 4,
V2025_05_15 = 5,
V2025_06_15 = 6,
}
}
public abstract partial class CallAutomationEventBase
Expand Down Expand Up @@ -237,6 +238,7 @@ public static partial class CallAutomationModelFactory
public static Azure.Communication.CallAutomation.SendDtmfTonesFailed SendDtmfTonesFailed(string callConnectionId = null, string serverCallId = null, string correlationId = null, string operationContext = null, Azure.Communication.CallAutomation.ResultInformation resultInformation = null) { throw null; }
public static Azure.Communication.CallAutomation.SendDtmfTonesResult SendDtmfTonesResult(string operationContext = null) { throw null; }
public static Azure.Communication.CallAutomation.SpeechResult SpeechResult(string speech = null, double? confidence = default(double?)) { throw null; }
public static Azure.Communication.CallAutomation.StartRecordingFailed StartRecordingFailed(string recordingId = null, string callConnectionId = null, string serverCallId = null, string correlationId = null, string operationContext = null, Azure.Communication.CallAutomation.ResultInformation resultInformation = null) { throw null; }
public static Azure.Communication.CallAutomation.TranscriptionFailed TranscriptionFailed(Azure.Communication.CallAutomation.TranscriptionUpdate transcriptionUpdate = null, string callConnectionId = null, string serverCallId = null, string correlationId = null, string operationContext = null, Azure.Communication.CallAutomation.ResultInformation resultInformation = null) { throw null; }
public static Azure.Communication.CallAutomation.TranscriptionStarted TranscriptionStarted(Azure.Communication.CallAutomation.TranscriptionUpdate transcriptionUpdate = null, string callConnectionId = null, string serverCallId = null, string correlationId = null, string operationContext = null, Azure.Communication.CallAutomation.ResultInformation resultInformation = null) { throw null; }
public static Azure.Communication.CallAutomation.TranscriptionStopped TranscriptionStopped(Azure.Communication.CallAutomation.TranscriptionUpdate transcriptionUpdate = null, string callConnectionId = null, string serverCallId = null, string correlationId = null, string operationContext = null, Azure.Communication.CallAutomation.ResultInformation resultInformation = null) { throw null; }
Expand Down Expand Up @@ -338,6 +340,7 @@ public partial class CallInvite
public CallInvite(Azure.Communication.CommunicationUserIdentifier targetIdentity) { }
public CallInvite(Azure.Communication.MicrosoftTeamsUserIdentifier targetIdentity) { }
public CallInvite(Azure.Communication.PhoneNumberIdentifier targetPhoneNumberIdentity, Azure.Communication.PhoneNumberIdentifier callerIdNumber) { }
public CallInvite(Azure.Communication.TeamsExtensionUserIdentifier targetIdentity) { }
public Azure.Communication.CallAutomation.CustomCallingContext CustomCallingContext { get { throw null; } }
public Azure.Communication.PhoneNumberIdentifier SourceCallerIdNumber { get { throw null; } set { } }
public string SourceDisplayName { get { throw null; } set { } }
Expand Down Expand Up @@ -678,6 +681,7 @@ public CreateCallOptions(Azure.Communication.CallAutomation.CallInvite callInvit
public Azure.Communication.CallAutomation.CallInvite CallInvite { get { throw null; } }
public Azure.Communication.CallAutomation.MediaStreamingOptions MediaStreamingOptions { get { throw null; } set { } }
public string OperationContext { get { throw null; } set { } }
public Azure.Communication.MicrosoftTeamsAppIdentifier TeamsAppSource { get { throw null; } set { } }
public Azure.Communication.CallAutomation.TranscriptionOptions TranscriptionOptions { get { throw null; } set { } }
}
public partial class CreateCallResult
Expand All @@ -698,6 +702,7 @@ public CreateGroupCallOptions(System.Collections.Generic.IEnumerable<Azure.Commu
public Azure.Communication.PhoneNumberIdentifier SourceCallerIdNumber { get { throw null; } set { } }
public string SourceDisplayName { get { throw null; } set { } }
public System.Collections.Generic.IEnumerable<Azure.Communication.CommunicationIdentifier> Targets { get { throw null; } }
public Azure.Communication.MicrosoftTeamsAppIdentifier TeamsAppSource { get { throw null; } set { } }
public Azure.Communication.CallAutomation.TranscriptionOptions TranscriptionOptions { get { throw null; } set { } }
}
public partial class CustomCallingContext
Expand All @@ -707,6 +712,7 @@ internal CustomCallingContext() { }
public System.Collections.Generic.IDictionary<string, string> VoipHeaders { get { throw null; } }
public void AddSipUui(string value) { }
public void AddSipX(string key, string value) { }
public void AddSipX(string key, string value, Azure.Communication.CallAutomation.SipHeaderPrefix prefix) { }
public void AddVoip(string key, string value) { }
}
public partial class DtmfData : Azure.Communication.CallAutomation.StreamingData
Expand Down Expand Up @@ -1373,6 +1379,12 @@ public ServerCallLocator(string id) { }
public override int GetHashCode() { throw null; }
public override string ToString() { throw null; }
}
[System.Text.Json.Serialization.JsonConverterAttribute(typeof(System.Text.Json.Serialization.JsonStringEnumConverter))]
public enum SipHeaderPrefix
{
XmsCustom = 0,
X = 1,
}
public partial class SpeechResult : Azure.Communication.CallAutomation.RecognizeResult
{
internal SpeechResult() { }
Expand Down Expand Up @@ -1405,9 +1417,16 @@ internal StartRecognizingEventResult() { }
public bool IsSuccess { get { throw null; } }
public Azure.Communication.CallAutomation.RecognizeCompleted SuccessResult { get { throw null; } }
}
public partial class StartRecordingFailed : Azure.Communication.CallAutomation.CallAutomationEventBase
{
internal StartRecordingFailed() { }
public string RecordingId { get { throw null; } }
public static Azure.Communication.CallAutomation.StartRecordingFailed Deserialize(string content) { throw null; }
}
public partial class StartRecordingOptions
{
public StartRecordingOptions(Azure.Communication.CallAutomation.CallLocator callLocator) { }
public StartRecordingOptions(string callConnectionId) { }
public System.Collections.Generic.IList<Azure.Communication.CommunicationIdentifier> AudioChannelParticipantOrdering { get { throw null; } }
public System.Collections.Generic.IList<Azure.Communication.CallAutomation.ChannelAffinity> ChannelAffinity { get { throw null; } set { } }
public bool PauseOnStart { get { throw null; } set { } }
Expand Down Expand Up @@ -1665,6 +1684,7 @@ public partial class TransferToParticipantOptions
public TransferToParticipantOptions(Azure.Communication.CommunicationUserIdentifier targetIdentity) { }
public TransferToParticipantOptions(Azure.Communication.MicrosoftTeamsUserIdentifier targetIdentity) { }
public TransferToParticipantOptions(Azure.Communication.PhoneNumberIdentifier targetPhoneNumberIdentity) { }
public TransferToParticipantOptions(Azure.Communication.TeamsExtensionUserIdentifier targetIdentity) { }
public Azure.Communication.CallAutomation.CustomCallingContext CustomCallingContext { get { throw null; } }
public System.Uri OperationCallbackUri { get { throw null; } set { } }
public string OperationContext { get { throw null; } set { } }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,7 @@ public CallAutomationClient(System.Uri endpoint, Azure.Core.TokenCredential cred
}
public partial class CallAutomationClientOptions : Azure.Core.ClientOptions
{
public CallAutomationClientOptions(Azure.Communication.CallAutomation.CallAutomationClientOptions.ServiceVersion version = Azure.Communication.CallAutomation.CallAutomationClientOptions.ServiceVersion.V2025_05_15) { }
public CallAutomationClientOptions(Azure.Communication.CallAutomation.CallAutomationClientOptions.ServiceVersion version = Azure.Communication.CallAutomation.CallAutomationClientOptions.ServiceVersion.V2025_06_15) { }
public Azure.Communication.CommunicationUserIdentifier Source { get { throw null; } set { } }
public enum ServiceVersion
{
Expand All @@ -158,6 +158,7 @@ public enum ServiceVersion
V2024_04_15 = 3,
V2024_09_15 = 4,
V2025_05_15 = 5,
V2025_06_15 = 6,
}
}
public abstract partial class CallAutomationEventBase
Expand Down Expand Up @@ -237,6 +238,7 @@ public static partial class CallAutomationModelFactory
public static Azure.Communication.CallAutomation.SendDtmfTonesFailed SendDtmfTonesFailed(string callConnectionId = null, string serverCallId = null, string correlationId = null, string operationContext = null, Azure.Communication.CallAutomation.ResultInformation resultInformation = null) { throw null; }
public static Azure.Communication.CallAutomation.SendDtmfTonesResult SendDtmfTonesResult(string operationContext = null) { throw null; }
public static Azure.Communication.CallAutomation.SpeechResult SpeechResult(string speech = null, double? confidence = default(double?)) { throw null; }
public static Azure.Communication.CallAutomation.StartRecordingFailed StartRecordingFailed(string recordingId = null, string callConnectionId = null, string serverCallId = null, string correlationId = null, string operationContext = null, Azure.Communication.CallAutomation.ResultInformation resultInformation = null) { throw null; }
public static Azure.Communication.CallAutomation.TranscriptionFailed TranscriptionFailed(Azure.Communication.CallAutomation.TranscriptionUpdate transcriptionUpdate = null, string callConnectionId = null, string serverCallId = null, string correlationId = null, string operationContext = null, Azure.Communication.CallAutomation.ResultInformation resultInformation = null) { throw null; }
public static Azure.Communication.CallAutomation.TranscriptionStarted TranscriptionStarted(Azure.Communication.CallAutomation.TranscriptionUpdate transcriptionUpdate = null, string callConnectionId = null, string serverCallId = null, string correlationId = null, string operationContext = null, Azure.Communication.CallAutomation.ResultInformation resultInformation = null) { throw null; }
public static Azure.Communication.CallAutomation.TranscriptionStopped TranscriptionStopped(Azure.Communication.CallAutomation.TranscriptionUpdate transcriptionUpdate = null, string callConnectionId = null, string serverCallId = null, string correlationId = null, string operationContext = null, Azure.Communication.CallAutomation.ResultInformation resultInformation = null) { throw null; }
Expand Down Expand Up @@ -338,6 +340,7 @@ public partial class CallInvite
public CallInvite(Azure.Communication.CommunicationUserIdentifier targetIdentity) { }
public CallInvite(Azure.Communication.MicrosoftTeamsUserIdentifier targetIdentity) { }
public CallInvite(Azure.Communication.PhoneNumberIdentifier targetPhoneNumberIdentity, Azure.Communication.PhoneNumberIdentifier callerIdNumber) { }
public CallInvite(Azure.Communication.TeamsExtensionUserIdentifier targetIdentity) { }
public Azure.Communication.CallAutomation.CustomCallingContext CustomCallingContext { get { throw null; } }
public Azure.Communication.PhoneNumberIdentifier SourceCallerIdNumber { get { throw null; } set { } }
public string SourceDisplayName { get { throw null; } set { } }
Expand Down Expand Up @@ -677,6 +680,7 @@ public CreateCallOptions(Azure.Communication.CallAutomation.CallInvite callInvit
public Azure.Communication.CallAutomation.CallInvite CallInvite { get { throw null; } }
public Azure.Communication.CallAutomation.MediaStreamingOptions MediaStreamingOptions { get { throw null; } set { } }
public string OperationContext { get { throw null; } set { } }
public Azure.Communication.MicrosoftTeamsAppIdentifier TeamsAppSource { get { throw null; } set { } }
public Azure.Communication.CallAutomation.TranscriptionOptions TranscriptionOptions { get { throw null; } set { } }
}
public partial class CreateCallResult
Expand All @@ -697,6 +701,7 @@ public CreateGroupCallOptions(System.Collections.Generic.IEnumerable<Azure.Commu
public Azure.Communication.PhoneNumberIdentifier SourceCallerIdNumber { get { throw null; } set { } }
public string SourceDisplayName { get { throw null; } set { } }
public System.Collections.Generic.IEnumerable<Azure.Communication.CommunicationIdentifier> Targets { get { throw null; } }
public Azure.Communication.MicrosoftTeamsAppIdentifier TeamsAppSource { get { throw null; } set { } }
public Azure.Communication.CallAutomation.TranscriptionOptions TranscriptionOptions { get { throw null; } set { } }
}
public partial class CustomCallingContext
Expand All @@ -706,6 +711,7 @@ internal CustomCallingContext() { }
public System.Collections.Generic.IDictionary<string, string> VoipHeaders { get { throw null; } }
public void AddSipUui(string value) { }
public void AddSipX(string key, string value) { }
public void AddSipX(string key, string value, Azure.Communication.CallAutomation.SipHeaderPrefix prefix) { }
public void AddVoip(string key, string value) { }
}
public partial class DtmfData : Azure.Communication.CallAutomation.StreamingData
Expand Down Expand Up @@ -1372,6 +1378,12 @@ public ServerCallLocator(string id) { }
public override int GetHashCode() { throw null; }
public override string ToString() { throw null; }
}
[System.Text.Json.Serialization.JsonConverterAttribute(typeof(System.Text.Json.Serialization.JsonStringEnumConverter))]
public enum SipHeaderPrefix
{
XmsCustom = 0,
X = 1,
}
public partial class SpeechResult : Azure.Communication.CallAutomation.RecognizeResult
{
internal SpeechResult() { }
Expand Down Expand Up @@ -1404,9 +1416,16 @@ internal StartRecognizingEventResult() { }
public bool IsSuccess { get { throw null; } }
public Azure.Communication.CallAutomation.RecognizeCompleted SuccessResult { get { throw null; } }
}
public partial class StartRecordingFailed : Azure.Communication.CallAutomation.CallAutomationEventBase
{
internal StartRecordingFailed() { }
public string RecordingId { get { throw null; } }
public static Azure.Communication.CallAutomation.StartRecordingFailed Deserialize(string content) { throw null; }
}
public partial class StartRecordingOptions
{
public StartRecordingOptions(Azure.Communication.CallAutomation.CallLocator callLocator) { }
public StartRecordingOptions(string callConnectionId) { }
public System.Collections.Generic.IList<Azure.Communication.CommunicationIdentifier> AudioChannelParticipantOrdering { get { throw null; } }
public System.Collections.Generic.IList<Azure.Communication.CallAutomation.ChannelAffinity> ChannelAffinity { get { throw null; } set { } }
public bool PauseOnStart { get { throw null; } set { } }
Expand Down Expand Up @@ -1664,6 +1683,7 @@ public partial class TransferToParticipantOptions
public TransferToParticipantOptions(Azure.Communication.CommunicationUserIdentifier targetIdentity) { }
public TransferToParticipantOptions(Azure.Communication.MicrosoftTeamsUserIdentifier targetIdentity) { }
public TransferToParticipantOptions(Azure.Communication.PhoneNumberIdentifier targetPhoneNumberIdentity) { }
public TransferToParticipantOptions(Azure.Communication.TeamsExtensionUserIdentifier targetIdentity) { }
public Azure.Communication.CallAutomation.CustomCallingContext CustomCallingContext { get { throw null; } }
public System.Uri OperationCallbackUri { get { throw null; } set { } }
public string OperationContext { get { throw null; } set { } }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@
"AssetsRepo": "Azure/azure-sdk-assets",
"AssetsRepoPrefixPath": "net",
"TagPrefix": "net/communication/Azure.Communication.CallAutomation",
"Tag": "net/communication/Azure.Communication.CallAutomation_752c087c19"
"Tag": "net/communication/Azure.Communication.CallAutomation_1a93edd9eb"
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
Microsoft Azure Communication Call Automation quickstart - https://learn.microsoft.com/azure/communication-services/quickstarts/voice-video-calling/callflows-for-customer-interactions?pivots=programming-language-csharp
</Description>
<AssemblyTitle>Azure Communication CallAutomation Service</AssemblyTitle>
<Version>1.5.0-beta.2</Version>
<Version>1.5.0</Version>
<!--The ApiCompatVersion is managed automatically and should not generally be modified manually.-->
<PackageTags>Microsoft Azure Communication CallAutomation Service;Microsoft;Azure;Azure Communication Service;Azure Communication CallAutomation Service;Calling;Communication;$(PackageCommonTags)</PackageTags>
<TargetFrameworks>$(RequiredTargetFrameworks)</TargetFrameworks>
Expand All @@ -21,6 +21,7 @@
<Compile Include="..\..\Shared\src\ClientOptionsExtensions.cs" LinkBase="Shared\Communication" />
<Compile Include="..\..\Shared\src\HMACAuthenticationPolicy.cs" LinkBase="Shared\Communication" />
<Compile Include="..\..\Shared\src\CommunicationIdentifierSerializer.cs" LinkBase="Shared\Communication" />
<Compile Include="..\..\Shared\src\CommunicationIdentifierSerializer_2025_06_30.cs" LinkBase="Shared\Communication" />
<Compile Include="$(AzureCoreSharedSources)ArrayBufferWriter.cs" LinkBase="Shared" />
<Compile Include="$(AzureCoreSharedSources)AzureResourceProviderNamespaceAttribute.cs" LinkBase="Shared" />
<Compile Include="$(AzureCoreSharedSources)ConnectionString.cs" LinkBase="Shared" />
Expand Down
Loading