diff --git a/sdk/communication/Azure.Communication.CallAutomation/CHANGELOG.md b/sdk/communication/Azure.Communication.CallAutomation/CHANGELOG.md
index 40a3e8a0d5624..9fc5e04166480 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/CHANGELOG.md
+++ b/sdk/communication/Azure.Communication.CallAutomation/CHANGELOG.md
@@ -1,14 +1,21 @@
# Release History
-## 1.1.0-beta.1 (Unreleased)
+## 1.0.0 (2023-06-14)
-### Features Added
-
-### Breaking Changes
-
-### Bugs Fixed
+### Features Added
+- Outbound calls can now be created without providing a User Identifier. This value can be specified in the CallAutomationClientOption if desired.
+- AnswerCall now accepts OperationContext.
+- Calls can be answered by a specific communication identifier user.
+- RemoveParticipant now sends success and failure events with the request.
+- ParticipantsUpdated event now includes a sequence number to distinguish the ordering of events.
+- CallConnectionProperties now includes CorrelationId.
+- StartRecording now accepts ChannelAffinity.
+- Added EventProcessor, an easy and powerful way to handle Call Automation events. See README for details.
-### Other Changes
+### Breaking Changes
+- AddParticipant and RemoveParticipant now only accept one participant at a time.
+- CallSource has been flattened out.
+- CallInvite model replaces previous models for handling outbound calls.
## 1.0.0 (2023-06-14)
diff --git a/sdk/communication/Azure.Communication.CallAutomation/README.md b/sdk/communication/Azure.Communication.CallAutomation/README.md
index ac399b2469c72..ecb9714cabd88 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/README.md
+++ b/sdk/communication/Azure.Communication.CallAutomation/README.md
@@ -87,11 +87,11 @@ public IActionResult OnMidConnectionCallBackEvent([FromBody] CloudEvent[] events
# cast the event into a ParticipantUpdated event and do something with it. Eg. iterate through the participants
ParticipantsUpdated updatedEvent = (ParticipantsUpdated)ev;
break;
- case AddParticipantsSucceeded ev:
- # logic to handle an AddParticipantsSucceeded event
+ case AddParticipantSucceeded ev:
+ # logic to handle an AddParticipantSucceeded event
break;
- case AddParticipantsFailed ev:
- # logic to handle an AddParticipantsFailed event
+ case AddParticipantFailed ev:
+ # logic to handle an AddParticipantFailed event
break;
case CallTransferAccepted ev:
# logic to handle CallTransferAccepted event
@@ -155,10 +155,10 @@ CancellationToken token = cts.Token;
try
{
// this will wait until CreateCall is completed or Timesout!
- CreateCallEventResult eventResult = await createCallResult.WaitForEventAsync(token);
+ CreateCallEventResult eventResult = await createCallResult.WaitForEventProcessorAsync(token);
// Once this is recieved, you know the call is now connected.
- CallConnected returnedEvent = eventResult.SuccessEvent;
+ CallConnected returnedEvent = eventResult.SuccessResult;
// ...Do more actions, such as Play or AddParticipant, since the call is established...
}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Azure.Communication.CallAutomation.csproj b/sdk/communication/Azure.Communication.CallAutomation/src/Azure.Communication.CallAutomation.csproj
index 3e6e9c1a8210b..f89d55b578cc0 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Azure.Communication.CallAutomation.csproj
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Azure.Communication.CallAutomation.csproj
@@ -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
Azure Communication CallAutomation Service
- 1.1.0-beta.1
+ 1.0.0
Microsoft Azure Communication CallAutomation Service;Microsoft;Azure;Azure Communication Service;Azure Communication CallAutomation Service;Calling;Communication;$(PackageCommonTags)
$(RequiredTargetFrameworks)
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/CallAutomationClient.cs b/sdk/communication/Azure.Communication.CallAutomation/src/CallAutomationClient.cs
index 462fcb6864628..58a9203c5cf7f 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/CallAutomationClient.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/CallAutomationClient.cs
@@ -34,6 +34,7 @@ public class CallAutomationClient
/// This can be provided by providing CallAutomationClientOption during construction of CallAutomationClient.
/// If left blank, service will create one each request.
///
+ ///
public CommunicationUserIdentifier Source { get; }
#region public constructors
@@ -64,31 +65,6 @@ public CallAutomationClient(Uri endpoint, TokenCredential credential, CallAutoma
Argument.CheckNotNull(credential, nameof(credential)),
options ?? new CallAutomationClientOptions())
{ }
-
- /// Initializes a new instance of with custom PMA endpoint.
- /// Endpoint for PMA
- /// Connection string acquired from the Azure Communication Services resource.
- /// Client option exposing , , , etc.
- public CallAutomationClient(Uri pmaEndpoint, string connectionString, CallAutomationClientOptions options = default)
- : this(
- pmaEndpoint,
- options ?? new CallAutomationClientOptions(),
- ConnectionString.Parse(connectionString))
- { }
-
- /// Initializes a new instance of .
- /// Endpoint for PMA
- /// The URI of the Azure Communication Services resource.
- /// The TokenCredential used to authenticate requests, such as DefaultAzureCredential.
- /// Client option exposing , , , etc.
- public CallAutomationClient(Uri pmaEndpoint, Uri acsEndpoint, TokenCredential credential, CallAutomationClientOptions options = default)
- : this(
- pmaEndpoint,
- acsEndpoint,
- options ?? new CallAutomationClientOptions(),
- credential
- )
- { }
#endregion
#region private constructors
@@ -120,14 +96,6 @@ private CallAutomationClient(Uri endpoint, HttpPipeline httpPipeline, CallAutoma
EventProcessor = new CallAutomationEventProcessor();
Source = options.Source;
}
-
- private CallAutomationClient(
- Uri pmaEndpoint,
- Uri acsEndpoint,
- CallAutomationClientOptions options,
- TokenCredential tokenCredential)
- : this(pmaEndpoint, options.CustomBuildHttpPipeline(acsEndpoint, tokenCredential), options)
- { }
#endregion
/// Initializes a new instance of for mocking.
@@ -245,8 +213,7 @@ private AnswerCallRequestInternal CreateAnswerCallRequest(AnswerCallOptions opti
{
request.AzureCognitiveServicesEndpointUrl = options.AzureCognitiveServicesEndpointUri.AbsoluteUri;
}
- request.MediaStreamingConfiguration = CreateMediaStreamingOptionsInternal(options.MediaStreamingOptions);
- request.AnsweredByIdentifier = Source == null ? null : new CommunicationUserIdentifierModel(Source.Id);
+ request.AnsweredBy = Source == null ? null : new CommunicationUserIdentifierModel(Source.Id);
request.OperationContext = options.OperationContext;
return request;
@@ -282,9 +249,6 @@ public virtual async Task RedirectCallAsync(RedirectCallOptions option
RedirectCallRequestInternal request = new RedirectCallRequestInternal(options.IncomingCallContext, CommunicationIdentifierSerializer.Serialize(options.CallInvite.Target));
- request.CustomContext = new CustomContextInternal(
- options.CallInvite.CustomContext.SipHeaders == null ? new ChangeTrackingDictionary() : options.CallInvite.CustomContext.SipHeaders,
- options.CallInvite.CustomContext.VoipHeaders == null ? new ChangeTrackingDictionary() : options.CallInvite.CustomContext.VoipHeaders);
return await AzureCommunicationServicesRestClient.RedirectCallAsync(request, cancellationToken).ConfigureAwait(false);
}
@@ -325,10 +289,6 @@ public virtual Response RedirectCall(RedirectCallOptions options, CancellationTo
RedirectCallRequestInternal request = new RedirectCallRequestInternal(options.IncomingCallContext, CommunicationIdentifierSerializer.Serialize(options.CallInvite.Target));
- request.CustomContext = new CustomContextInternal(
- options.CallInvite.CustomContext.SipHeaders == null ? new ChangeTrackingDictionary() : options.CallInvite.CustomContext.SipHeaders,
- options.CallInvite.CustomContext.VoipHeaders == null ? new ChangeTrackingDictionary() : options.CallInvite.CustomContext.VoipHeaders);
-
return AzureCommunicationServicesRestClient.RedirectCall(request, cancellationToken);
}
catch (Exception ex)
@@ -610,20 +570,15 @@ private CreateCallRequestInternal CreateCallRequest(CreateCallOptions options)
? null
: new PhoneNumberIdentifierModel(options?.CallInvite?.SourceCallerIdNumber?.PhoneNumber),
SourceDisplayName = options?.CallInvite?.SourceDisplayName,
- SourceIdentity = Source == null ? null : new CommunicationUserIdentifierModel(Source.Id),
+ Source = Source == null ? null : new CommunicationUserIdentifierModel(Source.Id),
};
- request.CustomContext = new CustomContextInternal(
- options.CallInvite.CustomContext.SipHeaders == null ? new ChangeTrackingDictionary() : options.CallInvite.CustomContext.SipHeaders,
- options.CallInvite.CustomContext.VoipHeaders == null ? new ChangeTrackingDictionary() : options.CallInvite.CustomContext.VoipHeaders);
-
// Add custom cognitive service domain name
if (options.AzureCognitiveServicesEndpointUri != null)
{
request.AzureCognitiveServicesEndpointUrl = options.AzureCognitiveServicesEndpointUri.AbsoluteUri;
}
request.OperationContext = options.OperationContext;
- request.MediaStreamingConfiguration = CreateMediaStreamingOptionsInternal(options.MediaStreamingOptions);
return request;
}
@@ -638,21 +593,15 @@ private CreateCallRequestInternal CreateCallRequest(CreateGroupCallOptions optio
? null
: new PhoneNumberIdentifierModel(options?.SourceCallerIdNumber?.PhoneNumber),
SourceDisplayName = options?.SourceDisplayName,
- SourceIdentity = Source == null ? null : new CommunicationUserIdentifierModel(Source.Id),
+ Source = Source == null ? null : new CommunicationUserIdentifierModel(Source.Id),
};
- request.CustomContext = new CustomContextInternal(
- options.CustomContext.SipHeaders == null ? new ChangeTrackingDictionary() : options.CustomContext.SipHeaders,
- options.CustomContext.VoipHeaders == null ? new ChangeTrackingDictionary() : options.CustomContext.VoipHeaders);
-
// Add custom cognitive service domain name
if (options.AzureCognitiveServicesEndpointUri != null)
{
request.AzureCognitiveServicesEndpointUrl = options.AzureCognitiveServicesEndpointUri.AbsoluteUri;
}
request.OperationContext = options.OperationContext;
- request.MediaStreamingConfiguration = CreateMediaStreamingOptionsInternal(options.MediaStreamingOptions);
-
return request;
}
@@ -668,14 +617,6 @@ private static bool IsValidHttpsUri(Uri uri) {
return Uri.IsWellFormedUriString(uriString, UriKind.Absolute) && new Uri(uriString).Scheme == Uri.UriSchemeHttps;
}
- private static MediaStreamingOptionsInternal CreateMediaStreamingOptionsInternal(MediaStreamingOptions configuration)
- {
- return configuration == default
- ? default
- : new MediaStreamingOptionsInternal(configuration.TransportUri.AbsoluteUri, configuration.MediaStreamingTransport, configuration.MediaStreamingContent,
- configuration.MediaStreamingAudioChannel);
- }
-
/// Initializes a new instance of CallConnection. .
/// The call connection id for the GetCallConnection instance.
public virtual CallConnection GetCallConnection(string callConnectionId)
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/CallAutomationClientOptions.cs b/sdk/communication/Azure.Communication.CallAutomation/src/CallAutomationClientOptions.cs
index cdb8687367e21..17645318596f2 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/CallAutomationClientOptions.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/CallAutomationClientOptions.cs
@@ -16,7 +16,7 @@ public class CallAutomationClientOptions : ClientOptions
///
/// The latest version of the CallAutomation service.
///
- internal const ServiceVersion LatestVersion = ServiceVersion.V2023_01_15_Preview;
+ internal const ServiceVersion LatestVersion = ServiceVersion.V2023_03_06;
internal string ApiVersion { get; }
@@ -32,7 +32,7 @@ public CallAutomationClientOptions(ServiceVersion version = LatestVersion)
{
ApiVersion = version switch
{
- ServiceVersion.V2023_01_15_Preview => "2023-01-15-preview",
+ ServiceVersion.V2023_03_06 => "2023-03-06",
_ => throw new ArgumentOutOfRangeException(nameof(version)),
};
}
@@ -43,10 +43,10 @@ public CallAutomationClientOptions(ServiceVersion version = LatestVersion)
public enum ServiceVersion
{
///
- /// The Beta of the CallAutomation service.
+ /// The GA1 of the CallAutomation service.
///
#pragma warning disable CA1707 // Identifiers should not contain underscores
- V2023_01_15_Preview = 1
+ V2023_03_06 = 1
#pragma warning restore CA1707 // Identifiers should not contain underscores
}
}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/CallAutomationEventProcessor/EventResult/SendDtmfEventResult.cs b/sdk/communication/Azure.Communication.CallAutomation/src/CallAutomationEventProcessor/EventResult/SendDtmfEventResult.cs
deleted file mode 100644
index aae51d7e1d704..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/CallAutomationEventProcessor/EventResult/SendDtmfEventResult.cs
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-namespace Azure.Communication.CallAutomation
-{
- /// is returned from WaitForEvent of .
- public class SendDtmfEventResult
- {
- ///
- /// Indicates whether the returned event is considered successful or not.
- ///
- public bool IsSuccess { get; internal set; }
-
- ///
- /// event will be returned once the dtmf tones have been sent successfully.
- ///
- public SendDtmfCompleted SuccessResult { get; }
-
- ///
- /// event will be returned if send dtmf tones completed unsuccessfully.
- ///
- public SendDtmfFailed FailureResult { get; }
-
- internal SendDtmfEventResult(bool isSuccess, SendDtmfCompleted successResult, SendDtmfFailed failureResult)
- {
- IsSuccess = isSuccess;
- SuccessResult = successResult;
- FailureResult = failureResult;
- }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/CallConnection.cs b/sdk/communication/Azure.Communication.CallAutomation/src/CallConnection.cs
index e07eb37e97a39..a9facf1b86174 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/CallConnection.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/CallConnection.cs
@@ -278,18 +278,8 @@ private static TransferToParticipantRequestInternal CreateTransferToParticipantR
{
TransferToParticipantRequestInternal request = new TransferToParticipantRequestInternal(CommunicationIdentifierSerializer.Serialize(options.Target));
- request.CustomContext = new CustomContextInternal(
- options.CustomContext.SipHeaders == null ? new ChangeTrackingDictionary() : options.CustomContext.SipHeaders,
- options.CustomContext.VoipHeaders == null ? new ChangeTrackingDictionary() : options.CustomContext.VoipHeaders);
-
request.OperationContext = options.OperationContext == default ? Guid.NewGuid().ToString() : options.OperationContext;
- if (options.Transferee != null)
- {
- request.Transferee = CommunicationIdentifierSerializer.Serialize(options.Transferee);
- }
-
- request.CallbackUri = options.CallbackUri?.AbsoluteUri;
return request;
}
@@ -392,11 +382,6 @@ private static AddParticipantRequestInternal CreateAddParticipantRequest(AddPart
};
request.InvitationTimeoutInSeconds = options.InvitationTimeoutInSeconds;
- request.CallbackUri = options.CallbackUri?.AbsoluteUri;
-
- request.CustomContext = new CustomContextInternal(
- options.ParticipantToAdd.CustomContext.SipHeaders == null ? new ChangeTrackingDictionary() : options.ParticipantToAdd.CustomContext.SipHeaders,
- options.ParticipantToAdd.CustomContext.VoipHeaders == null ? new ChangeTrackingDictionary() : options.ParticipantToAdd.CustomContext.VoipHeaders);
return request;
}
@@ -470,7 +455,7 @@ public virtual async Task>> GetParticipa
cancellationToken: cancellationToken
).ConfigureAwait(false);
- IReadOnlyList result = response.Value.Values.Select(t => new CallParticipant(t)).ToList();
+ IReadOnlyList result = response.Value.Value.Select(t => new CallParticipant(t)).ToList();
return Response.FromValue(result, response.GetRawResponse());
}
@@ -496,7 +481,7 @@ public virtual Response> GetParticipants(Cancella
cancellationToken: cancellationToken
);
- IReadOnlyList result = response.Value.Values.Select(t => new CallParticipant(t)).ToList();
+ IReadOnlyList result = response.Value.Value.Select(t => new CallParticipant(t)).ToList();
return Response.FromValue(result, response.GetRawResponse());
}
@@ -544,7 +529,6 @@ public virtual async Task> RemoveParticipantAs
request.OperationContext = options.OperationContext == default ? Guid.NewGuid().ToString() : options.OperationContext;
- request.CallbackUri = options.CallbackUri?.AbsoluteUri;
var response = await RestClient.RemoveParticipantAsync(CallConnectionId, request, cancellationToken).ConfigureAwait(false);
var result = new RemoveParticipantResult(response);
@@ -624,22 +608,6 @@ public virtual CallMedia GetCallMedia()
}
}
- /// Initializes a new instance of CallDialog.
- public virtual CallDialog GetCallDialog()
- {
- using DiagnosticScope scope = _clientDiagnostics.CreateScope($"{nameof(CallConnection)}.{nameof(GetCallDialog)}");
- scope.Start();
- try
- {
- return new CallDialog(CallConnectionId, CallDialogRestClient, _clientDiagnostics, EventProcessor);
- }
- catch (Exception ex)
- {
- scope.Failed(ex);
- throw;
- }
- }
-
///
/// Mute participant from the call.
/// Only Acs Users are currently supported.
@@ -791,54 +759,5 @@ public async virtual Task> MuteParticipantsAsyn
throw;
}
}
-
- ///
- /// Unmute participants on the call.
- /// Only Acs Users are currently supported.
- ///
- /// Participant to unmute.
- /// The Operation Context.
- /// The cancellation token.
- /// The server returned an error. See for details returned from the server.
- ///
- public async virtual Task> UnmuteParticipantsAsync(CommunicationIdentifier targetParticipant, string operationContext = default, CancellationToken cancellationToken = default)
- {
- var options = new UnmuteParticipantsOptions(new List { targetParticipant })
- {
- OperationContext = operationContext
- };
-
- return await UnmuteParticipantsAsync(options, cancellationToken).ConfigureAwait(false);
- }
-
- ///
- /// Unmute participants from the call.
- /// Only Acs Users are currently supported.
- ///
- /// Options for the UnmuteParticipant operation.
- /// The cancellation token.
- /// is null.
- /// OperationContext is too long.
- /// The server returned an error. See for details returned from the server.
- ///
- public async virtual Task> UnmuteParticipantsAsync(UnmuteParticipantsOptions options, CancellationToken cancellationToken = default)
- {
- using DiagnosticScope scope = _clientDiagnostics.CreateScope($"{nameof(CallConnection)}.{nameof(UnmuteParticipants)}");
- scope.Start();
- try
- {
- UnmuteParticipantsRequestInternal request = new UnmuteParticipantsRequestInternal(
- options.TargetParticipants.Select(participant => CommunicationIdentifierSerializer.Serialize(participant)).ToList());
-
- request.OperationContext = options.OperationContext;
-
- return await RestClient.UnmuteAsync(CallConnectionId, request, cancellationToken).ConfigureAwait(false);
- }
- catch (Exception ex)
- {
- scope.Failed(ex);
- throw;
- }
- }
}
}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/CallMedia.cs b/sdk/communication/Azure.Communication.CallAutomation/src/CallMedia.cs
index 52ccc63ba0873..46fd720d27429 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/CallMedia.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/CallMedia.cs
@@ -82,7 +82,7 @@ public virtual async Task> PlayAsync(PlaySource playSource,
scope.Start();
try
{
- var playOptions = new PlayOptions(playSource, playTo)
+ var playOptions = new PlayOptions(new List { playSource }, playTo)
{
Loop = false,
OperationContext = null
@@ -145,7 +145,7 @@ public virtual Response Play(PlaySource playSource, IEnumerable { playSource }, playTo)
{
Loop = false,
OperationContext = null
@@ -169,30 +169,22 @@ public virtual Response Play(PlaySource playSource, IEnumerable TranslatePlaySourceToInternal(t)).ToList());
- if (sourceInternal != null)
- {
- PlayRequestInternal request = new PlayRequestInternal(sourceInternal);
- request.PlayTo = options.PlayTo.Select(t => CommunicationIdentifierSerializer.Serialize(t)).ToList();
-
- if (options != null)
- {
- request.PlayOptions = new PlayOptionsInternal(options.Loop);
- request.OperationContext = options.OperationContext;
- }
-
- if (request.OperationContext == default)
- {
- request.OperationContext = Guid.NewGuid().ToString();
- }
+ request.PlayTo = options.PlayTo.Select(t => CommunicationIdentifierSerializer.Serialize(t)).ToList();
- request.CallbackUri = options.CallbackUri?.AbsoluteUri;
+ if (options != null)
+ {
+ request.PlayOptions = new PlayOptionsInternal(options.Loop);
+ request.OperationContext = options.OperationContext;
+ }
- return request;
+ if (request.OperationContext == default)
+ {
+ request.OperationContext = Guid.NewGuid().ToString();
}
- throw new NotSupportedException(options.PlaySource.GetType().Name);
+ return request;
}
///
@@ -207,7 +199,7 @@ public virtual async Task> PlayToAllAsync(PlayToAllOptions
scope.Start();
try
{
- PlayOptions playOptions = new PlayOptions(options.PlaySource, Enumerable.Empty());
+ PlayOptions playOptions = new PlayOptions(options.PlaySources, Enumerable.Empty());
playOptions.OperationContext = options.OperationContext;
playOptions.Loop = options.Loop;
playOptions.CallbackUri = options.CallbackUri;
@@ -253,7 +245,7 @@ public virtual Response PlayToAll(PlayToAllOptions options, Cancella
scope.Start();
try
{
- PlayOptions playOptions = new PlayOptions(options.PlaySource, Enumerable.Empty());
+ PlayOptions playOptions = new PlayOptions(options.PlaySources, Enumerable.Empty());
playOptions.OperationContext = options.OperationContext;
playOptions.Loop = options.Loop;
playOptions.CallbackUri = options.CallbackUri;
@@ -272,7 +264,7 @@ public virtual Response PlayToAll(PlayToAllOptions options, Cancella
///
///
/// Returns , which can be used to wait for Play's related events.
- public virtual Response PlayToAll(PlaySource playSource, CancellationToken cancellationToken = default)
+ public virtual Response PlayToAll(PlaySource playSource, CancellationToken cancellationToken = default)
{
using DiagnosticScope scope = _clientDiagnostics.CreateScope($"{nameof(CallMedia)}.{nameof(PlayToAll)}");
scope.Start();
@@ -419,7 +411,6 @@ private static RecognizeRequestInternal CreateRecognizeRequest(CallMediaRecogniz
request.PlayPrompt = TranslatePlaySourceToInternal(recognizeDtmfOptions.Prompt);
request.InterruptCallMediaOperation = recognizeOptions.InterruptCallMediaOperation;
request.OperationContext = recognizeOptions.OperationContext == default ? Guid.NewGuid().ToString() : recognizeOptions.OperationContext;
- request.CallbackUri = recognizeOptions.CallbackUri?.AbsoluteUri;
return request;
}
@@ -523,7 +514,6 @@ private static RecognizeRequestInternal CreateRecognizeRequest(CallMediaRecogniz
request.PlayPrompt = TranslatePlaySourceToInternal(recognizeSpeechOrDtmfOptions.Prompt);
request.InterruptCallMediaOperation = recognizeOptions.InterruptCallMediaOperation;
request.OperationContext = recognizeOptions.OperationContext == default ? Guid.NewGuid().ToString() : recognizeOptions.OperationContext;
- request.CallbackUri = recognizeOptions.CallbackUri?.AbsoluteUri;
return request;
}
@@ -540,8 +530,8 @@ private static PlaySourceInternal TranslatePlaySourceToInternal(PlaySource playS
if (playSource != null && playSource is FileSource fileSource)
{
sourceInternal = new PlaySourceInternal(PlaySourceTypeInternal.File);
- sourceInternal.FileSource = new FileSourceInternal(fileSource.FileUri.AbsoluteUri);
- sourceInternal.PlaySourceId = fileSource.PlaySourceCacheId;
+ sourceInternal.File = new FileSourceInternal(fileSource.FileUri.AbsoluteUri);
+ sourceInternal.PlaySourceCacheId = fileSource.PlaySourceCacheId;
return sourceInternal;
}
else if (playSource != null && playSource is TextSource textSource)
@@ -552,7 +542,7 @@ private static PlaySourceInternal TranslatePlaySourceToInternal(PlaySource playS
sourceInternal.TextSource.VoiceGender = textSource.VoiceGender ?? GenderType.Male;
sourceInternal.TextSource.VoiceName = textSource.VoiceName ?? null;
sourceInternal.TextSource.CustomVoiceEndpointId = textSource.CustomVoiceEndpointId ?? null;
- sourceInternal.PlaySourceId = textSource.PlaySourceCacheId;
+ sourceInternal.PlaySourceCacheId = textSource.PlaySourceCacheId;
return sourceInternal;
}
else if (playSource != null && playSource is SsmlSource ssmlSource)
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/CallRecording.cs b/sdk/communication/Azure.Communication.CallAutomation/src/CallRecording.cs
index b75ace67fe1a2..b1b1d1b71ad01 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/CallRecording.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/CallRecording.cs
@@ -85,11 +85,6 @@ public virtual Response Start(StartRecordingOptions option
}
}
- if (options.ExternalStorage is not null)
- {
- request.ExternalStorage = TranslateExternalStorageToInternal(options.ExternalStorage);
- }
-
return _callRecordingRestClient.StartRecording(request, cancellationToken: cancellationToken);
}
catch (Exception ex)
@@ -142,11 +137,6 @@ public virtual async Task> StartAsync(StartRecord
}
}
- if (options.ExternalStorage is not null)
- {
- request.ExternalStorage = TranslateExternalStorageToInternal(options.ExternalStorage);
- }
-
return await _callRecordingRestClient.StartRecordingAsync(request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
catch (Exception ex)
@@ -621,24 +611,5 @@ public virtual async Task DeleteAsync(Uri recordingLocation, Cancellat
throw;
}
}
-
- #region private functions
-
- private static ExternalStorageInternal TranslateExternalStorageToInternal(ExternalStorage externalStorage)
- {
- ExternalStorageInternal result = null;
-
- if (externalStorage is BlobStorage blobStorage)
- {
- result = new ExternalStorageInternal(blobStorage.StorageType)
- {
- BlobStorage = new BlobStorageInternal(blobStorage.ContainerUri.AbsoluteUri),
- };
- }
-
- return result;
- }
-
- #endregion private functions
}
}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/CustomBuildHttpPieline.cs b/sdk/communication/Azure.Communication.CallAutomation/src/CustomBuildHttpPieline.cs
deleted file mode 100644
index 47ed002268d9f..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/CustomBuildHttpPieline.cs
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-using Azure.Core;
-using Azure.Core.Pipeline;
-
-namespace Azure.Communication.Pipeline
-{
- internal static class CustomBuildHttpPieline
- {
- public static HttpPipeline CustomBuildHttpPipeline(this ClientOptions options, ConnectionString connectionString)
- {
- string stringSign = new Uri(connectionString.GetRequired("endpoint")).Host;
-
- var authPolicy = new CustomHMACAuthenticationPolicy(new AzureKeyCredential(connectionString.GetRequired("accesskey")), stringSign);
- HttpPipelineOptions httpPipelineOptions = new(options) { PerRetryPolicies = { authPolicy } };
- HttpPipelineTransportOptions httpPipelineTransportOptions = new() { IsClientRedirectEnabled = true };
- return HttpPipelineBuilder.Build(httpPipelineOptions, httpPipelineTransportOptions);
- }
-
- public static HttpPipeline CustomBuildHttpPipeline(this ClientOptions options, Uri acsEndpoint, TokenCredential tokenCredential)
- {
- string stringSign = acsEndpoint.Host;
-
- var authPolicy = new CustomBearerTokenAuthenticationPolicy(tokenCredential, "https://communication.azure.com//.default", stringSign);
- return HttpPipelineBuilder.Build(options, authPolicy);
- }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/CustomHMACAuthenticationPolicy.cs b/sdk/communication/Azure.Communication.CallAutomation/src/CustomHMACAuthenticationPolicy.cs
deleted file mode 100644
index 50cd937ad59d8..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/CustomHMACAuthenticationPolicy.cs
+++ /dev/null
@@ -1,108 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using Azure.Core;
-using Azure.Core.Pipeline;
-using System;
-using System.Globalization;
-using System.IO;
-using System.Security.Cryptography;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace Azure.Communication.Pipeline
-{
- internal class CustomHMACAuthenticationPolicy : HttpPipelinePolicy
- {
- private readonly string DATE_HEADER_NAME = "x-ms-date";
- private readonly AzureKeyCredential _keyCredential;
- private readonly string _acsEndpoint;
-
- public CustomHMACAuthenticationPolicy(AzureKeyCredential keyCredential, string acsEndpoint)
- {
- _keyCredential = keyCredential;
- _acsEndpoint = acsEndpoint;
- }
-
- public override void Process(HttpMessage message, ReadOnlyMemory pipeline)
- {
- var contentHash = CreateContentHash(message);
- AddHeaders(message, contentHash);
- ProcessNext(message, pipeline);
- }
-
- public override async ValueTask ProcessAsync(HttpMessage message, ReadOnlyMemory pipeline)
- {
- var contentHash = await CreateContentHashAsync(message).ConfigureAwait(false);
- AddHeaders(message, contentHash);
- await ProcessNextAsync(message, pipeline).ConfigureAwait(false);
- }
-
- private static string CreateContentHash(HttpMessage message)
- {
- var alg = SHA256.Create();
-
- using (var memoryStream = new MemoryStream())
- using (var contentHashStream = new CryptoStream(memoryStream, alg, CryptoStreamMode.Write))
- {
- message.Request.Content?.WriteTo(contentHashStream, message.CancellationToken);
- }
-
- return Convert.ToBase64String(alg.Hash!);
- }
-
- private static async ValueTask CreateContentHashAsync(HttpMessage message)
- {
- var alg = SHA256.Create();
-
- using (var memoryStream = new MemoryStream())
- using (var contentHashStream = new CryptoStream(memoryStream, alg, CryptoStreamMode.Write))
- {
- if (message.Request.Content != null)
- await message.Request.Content.WriteToAsync(contentHashStream, message.CancellationToken).ConfigureAwait(false);
- }
-
- return Convert.ToBase64String(alg.Hash!);
- }
-
- private void AddHeaders(HttpMessage message, string contentHash)
- {
- var utcNowString = DateTimeOffset.UtcNow.ToString("r", CultureInfo.InvariantCulture);
- string authorization;
-
- message.TryGetProperty("uriToSignRequestWith", out var uriToSignWith);
- if (uriToSignWith != null && uriToSignWith.GetType() == typeof(Uri))
- {
- authorization = GetAuthorizationHeader(message.Request.Method, (Uri)uriToSignWith, contentHash, utcNowString);
- }
- else
- {
- authorization = GetAuthorizationHeader(message.Request.Method, message.Request.Uri.ToUri(), contentHash, utcNowString);
- }
-
- message.Request.Headers.SetValue("X-FORWARDED-HOST", _acsEndpoint);
- message.Request.Headers.SetValue("x-ms-content-sha256", contentHash);
- message.Request.Headers.SetValue(DATE_HEADER_NAME, utcNowString);
- message.Request.Headers.SetValue(HttpHeader.Names.Authorization, authorization);
- }
-
- private string GetAuthorizationHeader(RequestMethod method, Uri uri, string contentHash, string date)
- {
- var host = uri.Authority;
- var pathAndQuery = uri.PathAndQuery;
-
- var stringToSign = $"{method.Method}\n{pathAndQuery}\n{date};{_acsEndpoint};{contentHash}";
- var signature = ComputeHMAC(stringToSign);
-
- string signedHeaders = $"{DATE_HEADER_NAME};host;x-ms-content-sha256";
- return $"HMAC-SHA256 SignedHeaders={signedHeaders}&Signature={signature}";
- }
-
- private string ComputeHMAC(string value)
- {
- using var hmac = new HMACSHA256(Convert.FromBase64String(_keyCredential.Key));
- var hash = hmac.ComputeHash(Encoding.ASCII.GetBytes(value));
- return Convert.ToBase64String(hash);
- }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/AzureCommunicationServicesRestClient.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/AzureCommunicationServicesRestClient.cs
index 838300cdcc4f0..02e4a66c74f35 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/AzureCommunicationServicesRestClient.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/AzureCommunicationServicesRestClient.cs
@@ -30,7 +30,7 @@ internal partial class AzureCommunicationServicesRestClient
/// The endpoint of the Azure Communication resource.
/// Api Version.
/// , , or is null.
- public AzureCommunicationServicesRestClient(ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Uri endpoint, string apiVersion = "2023-01-15-preview")
+ public AzureCommunicationServicesRestClient(ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Uri endpoint, string apiVersion = "2023-03-06")
{
ClientDiagnostics = clientDiagnostics ?? throw new ArgumentNullException(nameof(clientDiagnostics));
_pipeline = pipeline ?? throw new ArgumentNullException(nameof(pipeline));
@@ -38,7 +38,7 @@ public AzureCommunicationServicesRestClient(ClientDiagnostics clientDiagnostics,
_apiVersion = apiVersion ?? throw new ArgumentNullException(nameof(apiVersion));
}
- internal HttpMessage CreateCreateCallRequest(CreateCallRequestInternal createCallRequest)
+ internal HttpMessage CreateCreateCallRequest(CreateCallRequestInternal createCallRequest, Guid? repeatabilityRequestID, DateTimeOffset? repeatabilityFirstSent)
{
var message = _pipeline.CreateMessage();
var request = message.Request;
@@ -48,8 +48,14 @@ internal HttpMessage CreateCreateCallRequest(CreateCallRequestInternal createCal
uri.AppendPath("/calling/callConnections", false);
uri.AppendQuery("api-version", _apiVersion, true);
request.Uri = uri;
- request.Headers.Add("Repeatability-Request-ID", Guid.NewGuid());
- request.Headers.Add("Repeatability-First-Sent", DateTimeOffset.Now, "R");
+ if (repeatabilityRequestID != null)
+ {
+ request.Headers.Add("Repeatability-Request-ID", repeatabilityRequestID.Value);
+ }
+ if (repeatabilityFirstSent != null)
+ {
+ request.Headers.Add("Repeatability-First-Sent", repeatabilityFirstSent.Value, "R");
+ }
request.Headers.Add("Accept", "application/json");
request.Headers.Add("Content-Type", "application/json");
var content = new Utf8JsonRequestContent();
@@ -60,16 +66,18 @@ internal HttpMessage CreateCreateCallRequest(CreateCallRequestInternal createCal
/// Create an outbound call.
/// The create call request.
+ /// If specified, the client directs that the request is repeatable; that is, that the client can make the request multiple times with the same Repeatability-Request-Id and get back an appropriate response without the server executing the request multiple times. The value of the Repeatability-Request-Id is an opaque string representing a client-generated unique identifier for the request. It is a version 4 (random) UUID.
+ /// If Repeatability-Request-ID header is specified, then Repeatability-First-Sent header must also be specified. The value should be the date and time at which the request was first created, expressed using the IMF-fixdate form of HTTP-date. Example: Sun, 06 Nov 1994 08:49:37 GMT.
/// The cancellation token to use.
/// is null.
- public async Task> CreateCallAsync(CreateCallRequestInternal createCallRequest, CancellationToken cancellationToken = default)
+ public async Task> CreateCallAsync(CreateCallRequestInternal createCallRequest, Guid? repeatabilityRequestID = null, DateTimeOffset? repeatabilityFirstSent = null, CancellationToken cancellationToken = default)
{
if (createCallRequest == null)
{
throw new ArgumentNullException(nameof(createCallRequest));
}
- using var message = CreateCreateCallRequest(createCallRequest);
+ using var message = CreateCreateCallRequest(createCallRequest, repeatabilityRequestID, repeatabilityFirstSent);
await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false);
switch (message.Response.Status)
{
@@ -87,16 +95,18 @@ public async Task> CreateCallAsync(Cr
/// Create an outbound call.
/// The create call request.
+ /// If specified, the client directs that the request is repeatable; that is, that the client can make the request multiple times with the same Repeatability-Request-Id and get back an appropriate response without the server executing the request multiple times. The value of the Repeatability-Request-Id is an opaque string representing a client-generated unique identifier for the request. It is a version 4 (random) UUID.
+ /// If Repeatability-Request-ID header is specified, then Repeatability-First-Sent header must also be specified. The value should be the date and time at which the request was first created, expressed using the IMF-fixdate form of HTTP-date. Example: Sun, 06 Nov 1994 08:49:37 GMT.
/// The cancellation token to use.
/// is null.
- public Response CreateCall(CreateCallRequestInternal createCallRequest, CancellationToken cancellationToken = default)
+ public Response CreateCall(CreateCallRequestInternal createCallRequest, Guid? repeatabilityRequestID = null, DateTimeOffset? repeatabilityFirstSent = null, CancellationToken cancellationToken = default)
{
if (createCallRequest == null)
{
throw new ArgumentNullException(nameof(createCallRequest));
}
- using var message = CreateCreateCallRequest(createCallRequest);
+ using var message = CreateCreateCallRequest(createCallRequest, repeatabilityRequestID, repeatabilityFirstSent);
_pipeline.Send(message, cancellationToken);
switch (message.Response.Status)
{
@@ -112,7 +122,7 @@ public Response CreateCall(CreateCallRequestIn
}
}
- internal HttpMessage CreateAnswerCallRequest(AnswerCallRequestInternal answerCallRequest)
+ internal HttpMessage CreateAnswerCallRequest(AnswerCallRequestInternal answerCallRequest, Guid? repeatabilityRequestID, DateTimeOffset? repeatabilityFirstSent)
{
var message = _pipeline.CreateMessage();
var request = message.Request;
@@ -122,8 +132,14 @@ internal HttpMessage CreateAnswerCallRequest(AnswerCallRequestInternal answerCal
uri.AppendPath("/calling/callConnections:answer", false);
uri.AppendQuery("api-version", _apiVersion, true);
request.Uri = uri;
- request.Headers.Add("Repeatability-Request-ID", Guid.NewGuid());
- request.Headers.Add("Repeatability-First-Sent", DateTimeOffset.Now, "R");
+ if (repeatabilityRequestID != null)
+ {
+ request.Headers.Add("Repeatability-Request-ID", repeatabilityRequestID.Value);
+ }
+ if (repeatabilityFirstSent != null)
+ {
+ request.Headers.Add("Repeatability-First-Sent", repeatabilityFirstSent.Value, "R");
+ }
request.Headers.Add("Accept", "application/json");
request.Headers.Add("Content-Type", "application/json");
var content = new Utf8JsonRequestContent();
@@ -134,17 +150,19 @@ internal HttpMessage CreateAnswerCallRequest(AnswerCallRequestInternal answerCal
/// Answer a Call.
/// The answer call request.
+ /// If specified, the client directs that the request is repeatable; that is, that the client can make the request multiple times with the same Repeatability-Request-Id and get back an appropriate response without the server executing the request multiple times. The value of the Repeatability-Request-Id is an opaque string representing a client-generated unique identifier for the request. It is a version 4 (random) UUID.
+ /// If Repeatability-Request-ID header is specified, then Repeatability-First-Sent header must also be specified. The value should be the date and time at which the request was first created, expressed using the IMF-fixdate form of HTTP-date. Example: Sun, 06 Nov 1994 08:49:37 GMT.
/// The cancellation token to use.
/// is null.
/// Answer a call using the IncomingCallContext from Event Grid.
- public async Task> AnswerCallAsync(AnswerCallRequestInternal answerCallRequest, CancellationToken cancellationToken = default)
+ public async Task> AnswerCallAsync(AnswerCallRequestInternal answerCallRequest, Guid? repeatabilityRequestID = null, DateTimeOffset? repeatabilityFirstSent = null, CancellationToken cancellationToken = default)
{
if (answerCallRequest == null)
{
throw new ArgumentNullException(nameof(answerCallRequest));
}
- using var message = CreateAnswerCallRequest(answerCallRequest);
+ using var message = CreateAnswerCallRequest(answerCallRequest, repeatabilityRequestID, repeatabilityFirstSent);
await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false);
switch (message.Response.Status)
{
@@ -162,17 +180,19 @@ public async Task> AnswerCallAsync(An
/// Answer a Call.
/// The answer call request.
+ /// If specified, the client directs that the request is repeatable; that is, that the client can make the request multiple times with the same Repeatability-Request-Id and get back an appropriate response without the server executing the request multiple times. The value of the Repeatability-Request-Id is an opaque string representing a client-generated unique identifier for the request. It is a version 4 (random) UUID.
+ /// If Repeatability-Request-ID header is specified, then Repeatability-First-Sent header must also be specified. The value should be the date and time at which the request was first created, expressed using the IMF-fixdate form of HTTP-date. Example: Sun, 06 Nov 1994 08:49:37 GMT.
/// The cancellation token to use.
/// is null.
/// Answer a call using the IncomingCallContext from Event Grid.
- public Response AnswerCall(AnswerCallRequestInternal answerCallRequest, CancellationToken cancellationToken = default)
+ public Response AnswerCall(AnswerCallRequestInternal answerCallRequest, Guid? repeatabilityRequestID = null, DateTimeOffset? repeatabilityFirstSent = null, CancellationToken cancellationToken = default)
{
if (answerCallRequest == null)
{
throw new ArgumentNullException(nameof(answerCallRequest));
}
- using var message = CreateAnswerCallRequest(answerCallRequest);
+ using var message = CreateAnswerCallRequest(answerCallRequest, repeatabilityRequestID, repeatabilityFirstSent);
_pipeline.Send(message, cancellationToken);
switch (message.Response.Status)
{
@@ -188,7 +208,7 @@ public Response AnswerCall(AnswerCallRequestIn
}
}
- internal HttpMessage CreateRedirectCallRequest(RedirectCallRequestInternal redirectCallRequest)
+ internal HttpMessage CreateRedirectCallRequest(RedirectCallRequestInternal redirectCallRequest, Guid? repeatabilityRequestID, DateTimeOffset? repeatabilityFirstSent)
{
var message = _pipeline.CreateMessage();
var request = message.Request;
@@ -198,8 +218,14 @@ internal HttpMessage CreateRedirectCallRequest(RedirectCallRequestInternal redir
uri.AppendPath("/calling/callConnections:redirect", false);
uri.AppendQuery("api-version", _apiVersion, true);
request.Uri = uri;
- request.Headers.Add("Repeatability-Request-ID", Guid.NewGuid());
- request.Headers.Add("Repeatability-First-Sent", DateTimeOffset.Now, "R");
+ if (repeatabilityRequestID != null)
+ {
+ request.Headers.Add("Repeatability-Request-ID", repeatabilityRequestID.Value);
+ }
+ if (repeatabilityFirstSent != null)
+ {
+ request.Headers.Add("Repeatability-First-Sent", repeatabilityFirstSent.Value, "R");
+ }
request.Headers.Add("Accept", "application/json");
request.Headers.Add("Content-Type", "application/json");
var content = new Utf8JsonRequestContent();
@@ -210,16 +236,18 @@ internal HttpMessage CreateRedirectCallRequest(RedirectCallRequestInternal redir
/// Redirect a call.
/// The redirect call request.
+ /// If specified, the client directs that the request is repeatable; that is, that the client can make the request multiple times with the same Repeatability-Request-Id and get back an appropriate response without the server executing the request multiple times. The value of the Repeatability-Request-Id is an opaque string representing a client-generated unique identifier for the request. It is a version 4 (random) UUID.
+ /// If Repeatability-Request-ID header is specified, then Repeatability-First-Sent header must also be specified. The value should be the date and time at which the request was first created, expressed using the IMF-fixdate form of HTTP-date. Example: Sun, 06 Nov 1994 08:49:37 GMT.
/// The cancellation token to use.
/// is null.
- public async Task RedirectCallAsync(RedirectCallRequestInternal redirectCallRequest, CancellationToken cancellationToken = default)
+ public async Task RedirectCallAsync(RedirectCallRequestInternal redirectCallRequest, Guid? repeatabilityRequestID = null, DateTimeOffset? repeatabilityFirstSent = null, CancellationToken cancellationToken = default)
{
if (redirectCallRequest == null)
{
throw new ArgumentNullException(nameof(redirectCallRequest));
}
- using var message = CreateRedirectCallRequest(redirectCallRequest);
+ using var message = CreateRedirectCallRequest(redirectCallRequest, repeatabilityRequestID, repeatabilityFirstSent);
await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false);
switch (message.Response.Status)
{
@@ -232,16 +260,18 @@ public async Task RedirectCallAsync(RedirectCallRequestInternal redire
/// Redirect a call.
/// The redirect call request.
+ /// If specified, the client directs that the request is repeatable; that is, that the client can make the request multiple times with the same Repeatability-Request-Id and get back an appropriate response without the server executing the request multiple times. The value of the Repeatability-Request-Id is an opaque string representing a client-generated unique identifier for the request. It is a version 4 (random) UUID.
+ /// If Repeatability-Request-ID header is specified, then Repeatability-First-Sent header must also be specified. The value should be the date and time at which the request was first created, expressed using the IMF-fixdate form of HTTP-date. Example: Sun, 06 Nov 1994 08:49:37 GMT.
/// The cancellation token to use.
/// is null.
- public Response RedirectCall(RedirectCallRequestInternal redirectCallRequest, CancellationToken cancellationToken = default)
+ public Response RedirectCall(RedirectCallRequestInternal redirectCallRequest, Guid? repeatabilityRequestID = null, DateTimeOffset? repeatabilityFirstSent = null, CancellationToken cancellationToken = default)
{
if (redirectCallRequest == null)
{
throw new ArgumentNullException(nameof(redirectCallRequest));
}
- using var message = CreateRedirectCallRequest(redirectCallRequest);
+ using var message = CreateRedirectCallRequest(redirectCallRequest, repeatabilityRequestID, repeatabilityFirstSent);
_pipeline.Send(message, cancellationToken);
switch (message.Response.Status)
{
@@ -252,7 +282,7 @@ public Response RedirectCall(RedirectCallRequestInternal redirectCallRequest, Ca
}
}
- internal HttpMessage CreateRejectCallRequest(RejectCallRequestInternal rejectCallRequest)
+ internal HttpMessage CreateRejectCallRequest(RejectCallRequestInternal rejectCallRequest, Guid? repeatabilityRequestID, DateTimeOffset? repeatabilityFirstSent)
{
var message = _pipeline.CreateMessage();
var request = message.Request;
@@ -262,8 +292,14 @@ internal HttpMessage CreateRejectCallRequest(RejectCallRequestInternal rejectCal
uri.AppendPath("/calling/callConnections:reject", false);
uri.AppendQuery("api-version", _apiVersion, true);
request.Uri = uri;
- request.Headers.Add("Repeatability-Request-ID", Guid.NewGuid());
- request.Headers.Add("Repeatability-First-Sent", DateTimeOffset.Now, "R");
+ if (repeatabilityRequestID != null)
+ {
+ request.Headers.Add("Repeatability-Request-ID", repeatabilityRequestID.Value);
+ }
+ if (repeatabilityFirstSent != null)
+ {
+ request.Headers.Add("Repeatability-First-Sent", repeatabilityFirstSent.Value, "R");
+ }
request.Headers.Add("Accept", "application/json");
request.Headers.Add("Content-Type", "application/json");
var content = new Utf8JsonRequestContent();
@@ -274,16 +310,18 @@ internal HttpMessage CreateRejectCallRequest(RejectCallRequestInternal rejectCal
/// Reject the call.
/// The reject call request.
+ /// If specified, the client directs that the request is repeatable; that is, that the client can make the request multiple times with the same Repeatability-Request-Id and get back an appropriate response without the server executing the request multiple times. The value of the Repeatability-Request-Id is an opaque string representing a client-generated unique identifier for the request. It is a version 4 (random) UUID.
+ /// If Repeatability-Request-ID header is specified, then Repeatability-First-Sent header must also be specified. The value should be the date and time at which the request was first created, expressed using the IMF-fixdate form of HTTP-date. Example: Sun, 06 Nov 1994 08:49:37 GMT.
/// The cancellation token to use.
/// is null.
- public async Task RejectCallAsync(RejectCallRequestInternal rejectCallRequest, CancellationToken cancellationToken = default)
+ public async Task RejectCallAsync(RejectCallRequestInternal rejectCallRequest, Guid? repeatabilityRequestID = null, DateTimeOffset? repeatabilityFirstSent = null, CancellationToken cancellationToken = default)
{
if (rejectCallRequest == null)
{
throw new ArgumentNullException(nameof(rejectCallRequest));
}
- using var message = CreateRejectCallRequest(rejectCallRequest);
+ using var message = CreateRejectCallRequest(rejectCallRequest, repeatabilityRequestID, repeatabilityFirstSent);
await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false);
switch (message.Response.Status)
{
@@ -296,16 +334,18 @@ public async Task RejectCallAsync(RejectCallRequestInternal rejectCall
/// Reject the call.
/// The reject call request.
+ /// If specified, the client directs that the request is repeatable; that is, that the client can make the request multiple times with the same Repeatability-Request-Id and get back an appropriate response without the server executing the request multiple times. The value of the Repeatability-Request-Id is an opaque string representing a client-generated unique identifier for the request. It is a version 4 (random) UUID.
+ /// If Repeatability-Request-ID header is specified, then Repeatability-First-Sent header must also be specified. The value should be the date and time at which the request was first created, expressed using the IMF-fixdate form of HTTP-date. Example: Sun, 06 Nov 1994 08:49:37 GMT.
/// The cancellation token to use.
/// is null.
- public Response RejectCall(RejectCallRequestInternal rejectCallRequest, CancellationToken cancellationToken = default)
+ public Response RejectCall(RejectCallRequestInternal rejectCallRequest, Guid? repeatabilityRequestID = null, DateTimeOffset? repeatabilityFirstSent = null, CancellationToken cancellationToken = default)
{
if (rejectCallRequest == null)
{
throw new ArgumentNullException(nameof(rejectCallRequest));
}
- using var message = CreateRejectCallRequest(rejectCallRequest);
+ using var message = CreateRejectCallRequest(rejectCallRequest, repeatabilityRequestID, repeatabilityFirstSent);
_pipeline.Send(message, cancellationToken);
switch (message.Response.Status)
{
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/CallConnectionRestClient.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/CallConnectionRestClient.cs
index e6a8096690734..7d3a95b6db026 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/CallConnectionRestClient.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/CallConnectionRestClient.cs
@@ -30,7 +30,7 @@ internal partial class CallConnectionRestClient
/// The endpoint of the Azure Communication resource.
/// Api Version.
/// , , or is null.
- public CallConnectionRestClient(ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Uri endpoint, string apiVersion = "2023-01-15-preview")
+ public CallConnectionRestClient(ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Uri endpoint, string apiVersion = "2023-03-06")
{
ClientDiagnostics = clientDiagnostics ?? throw new ArgumentNullException(nameof(clientDiagnostics));
_pipeline = pipeline ?? throw new ArgumentNullException(nameof(pipeline));
@@ -53,7 +53,7 @@ internal HttpMessage CreateGetCallRequest(string callConnectionId)
return message;
}
- /// Get call connection.
+ /// Get the detail properties of an ongoing call.
/// The call connection id.
/// The cancellation token to use.
/// is null.
@@ -80,7 +80,7 @@ public async Task> GetCallAsync(strin
}
}
- /// Get call connection.
+ /// Get the detail properties of an ongoing call.
/// The call connection id.
/// The cancellation token to use.
/// is null.
@@ -122,7 +122,7 @@ internal HttpMessage CreateHangupCallRequest(string callConnectionId)
return message;
}
- /// Hangup the call.
+ /// Hang up call automation service from the call. This will make call automation service leave the call, but does not terminate if there are more than 1 caller in the call.
/// The call connection id.
/// The cancellation token to use.
/// is null.
@@ -144,7 +144,7 @@ public async Task HangupCallAsync(string callConnectionId, Cancellatio
}
}
- /// Hangup the call.
+ /// Hang up call automation service from the call. This will make call automation service leave the call, but does not terminate if there are more than 1 caller in the call.
/// The call connection id.
/// The cancellation token to use.
/// is null.
@@ -166,7 +166,7 @@ public Response HangupCall(string callConnectionId, CancellationToken cancellati
}
}
- internal HttpMessage CreateTerminateCallRequest(string callConnectionId)
+ internal HttpMessage CreateTerminateCallRequest(string callConnectionId, Guid? repeatabilityRequestID, DateTimeOffset? repeatabilityFirstSent)
{
var message = _pipeline.CreateMessage();
var request = message.Request;
@@ -178,24 +178,32 @@ internal HttpMessage CreateTerminateCallRequest(string callConnectionId)
uri.AppendPath(":terminate", false);
uri.AppendQuery("api-version", _apiVersion, true);
request.Uri = uri;
- request.Headers.Add("Repeatability-Request-ID", Guid.NewGuid());
- request.Headers.Add("Repeatability-First-Sent", DateTimeOffset.Now, "R");
+ if (repeatabilityRequestID != null)
+ {
+ request.Headers.Add("Repeatability-Request-ID", repeatabilityRequestID.Value);
+ }
+ if (repeatabilityFirstSent != null)
+ {
+ request.Headers.Add("Repeatability-First-Sent", repeatabilityFirstSent.Value, "R");
+ }
request.Headers.Add("Accept", "application/json");
return message;
}
/// Terminate a call using CallConnectionId.
/// The terminate call request.
+ /// If specified, the client directs that the request is repeatable; that is, that the client can make the request multiple times with the same Repeatability-Request-Id and get back an appropriate response without the server executing the request multiple times. The value of the Repeatability-Request-Id is an opaque string representing a client-generated unique identifier for the request. It is a version 4 (random) UUID.
+ /// If Repeatability-Request-ID header is specified, then Repeatability-First-Sent header must also be specified. The value should be the date and time at which the request was first created, expressed using the IMF-fixdate form of HTTP-date. Example: Sun, 06 Nov 1994 08:49:37 GMT.
/// The cancellation token to use.
/// is null.
- public async Task TerminateCallAsync(string callConnectionId, CancellationToken cancellationToken = default)
+ public async Task TerminateCallAsync(string callConnectionId, Guid? repeatabilityRequestID = null, DateTimeOffset? repeatabilityFirstSent = null, CancellationToken cancellationToken = default)
{
if (callConnectionId == null)
{
throw new ArgumentNullException(nameof(callConnectionId));
}
- using var message = CreateTerminateCallRequest(callConnectionId);
+ using var message = CreateTerminateCallRequest(callConnectionId, repeatabilityRequestID, repeatabilityFirstSent);
await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false);
switch (message.Response.Status)
{
@@ -208,16 +216,18 @@ public async Task TerminateCallAsync(string callConnectionId, Cancella
/// Terminate a call using CallConnectionId.
/// The terminate call request.
+ /// If specified, the client directs that the request is repeatable; that is, that the client can make the request multiple times with the same Repeatability-Request-Id and get back an appropriate response without the server executing the request multiple times. The value of the Repeatability-Request-Id is an opaque string representing a client-generated unique identifier for the request. It is a version 4 (random) UUID.
+ /// If Repeatability-Request-ID header is specified, then Repeatability-First-Sent header must also be specified. The value should be the date and time at which the request was first created, expressed using the IMF-fixdate form of HTTP-date. Example: Sun, 06 Nov 1994 08:49:37 GMT.
/// The cancellation token to use.
/// is null.
- public Response TerminateCall(string callConnectionId, CancellationToken cancellationToken = default)
+ public Response TerminateCall(string callConnectionId, Guid? repeatabilityRequestID = null, DateTimeOffset? repeatabilityFirstSent = null, CancellationToken cancellationToken = default)
{
if (callConnectionId == null)
{
throw new ArgumentNullException(nameof(callConnectionId));
}
- using var message = CreateTerminateCallRequest(callConnectionId);
+ using var message = CreateTerminateCallRequest(callConnectionId, repeatabilityRequestID, repeatabilityFirstSent);
_pipeline.Send(message, cancellationToken);
switch (message.Response.Status)
{
@@ -228,7 +238,7 @@ public Response TerminateCall(string callConnectionId, CancellationToken cancell
}
}
- internal HttpMessage CreateTransferToParticipantRequest(string callConnectionId, TransferToParticipantRequestInternal transferToParticipantRequest)
+ internal HttpMessage CreateTransferToParticipantRequest(string callConnectionId, TransferToParticipantRequestInternal transferToParticipantRequest, Guid? repeatabilityRequestID, DateTimeOffset? repeatabilityFirstSent)
{
var message = _pipeline.CreateMessage();
var request = message.Request;
@@ -240,8 +250,14 @@ internal HttpMessage CreateTransferToParticipantRequest(string callConnectionId,
uri.AppendPath(":transferToParticipant", false);
uri.AppendQuery("api-version", _apiVersion, true);
request.Uri = uri;
- request.Headers.Add("Repeatability-Request-ID", Guid.NewGuid());
- request.Headers.Add("Repeatability-First-Sent", DateTimeOffset.Now, "R");
+ if (repeatabilityRequestID != null)
+ {
+ request.Headers.Add("Repeatability-Request-ID", repeatabilityRequestID.Value);
+ }
+ if (repeatabilityFirstSent != null)
+ {
+ request.Headers.Add("Repeatability-First-Sent", repeatabilityFirstSent.Value, "R");
+ }
request.Headers.Add("Accept", "application/json");
request.Headers.Add("Content-Type", "application/json");
var content = new Utf8JsonRequestContent();
@@ -253,9 +269,11 @@ internal HttpMessage CreateTransferToParticipantRequest(string callConnectionId,
/// Transfer the call to a participant.
/// The call connection id.
/// The transfer to participant request.
+ /// If specified, the client directs that the request is repeatable; that is, that the client can make the request multiple times with the same Repeatability-Request-Id and get back an appropriate response without the server executing the request multiple times. The value of the Repeatability-Request-Id is an opaque string representing a client-generated unique identifier for the request. It is a version 4 (random) UUID.
+ /// If Repeatability-Request-ID header is specified, then Repeatability-First-Sent header must also be specified. The value should be the date and time at which the request was first created, expressed using the IMF-fixdate form of HTTP-date. Example: Sun, 06 Nov 1994 08:49:37 GMT.
/// The cancellation token to use.
/// or is null.
- public async Task> TransferToParticipantAsync(string callConnectionId, TransferToParticipantRequestInternal transferToParticipantRequest, CancellationToken cancellationToken = default)
+ public async Task> TransferToParticipantAsync(string callConnectionId, TransferToParticipantRequestInternal transferToParticipantRequest, Guid? repeatabilityRequestID = null, DateTimeOffset? repeatabilityFirstSent = null, CancellationToken cancellationToken = default)
{
if (callConnectionId == null)
{
@@ -266,7 +284,7 @@ public async Task> TransferToParticipa
throw new ArgumentNullException(nameof(transferToParticipantRequest));
}
- using var message = CreateTransferToParticipantRequest(callConnectionId, transferToParticipantRequest);
+ using var message = CreateTransferToParticipantRequest(callConnectionId, transferToParticipantRequest, repeatabilityRequestID, repeatabilityFirstSent);
await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false);
switch (message.Response.Status)
{
@@ -285,9 +303,11 @@ public async Task> TransferToParticipa
/// Transfer the call to a participant.
/// The call connection id.
/// The transfer to participant request.
+ /// If specified, the client directs that the request is repeatable; that is, that the client can make the request multiple times with the same Repeatability-Request-Id and get back an appropriate response without the server executing the request multiple times. The value of the Repeatability-Request-Id is an opaque string representing a client-generated unique identifier for the request. It is a version 4 (random) UUID.
+ /// If Repeatability-Request-ID header is specified, then Repeatability-First-Sent header must also be specified. The value should be the date and time at which the request was first created, expressed using the IMF-fixdate form of HTTP-date. Example: Sun, 06 Nov 1994 08:49:37 GMT.
/// The cancellation token to use.
/// or is null.
- public Response TransferToParticipant(string callConnectionId, TransferToParticipantRequestInternal transferToParticipantRequest, CancellationToken cancellationToken = default)
+ public Response TransferToParticipant(string callConnectionId, TransferToParticipantRequestInternal transferToParticipantRequest, Guid? repeatabilityRequestID = null, DateTimeOffset? repeatabilityFirstSent = null, CancellationToken cancellationToken = default)
{
if (callConnectionId == null)
{
@@ -298,7 +318,7 @@ public Response TransferToParticipant(string ca
throw new ArgumentNullException(nameof(transferToParticipantRequest));
}
- using var message = CreateTransferToParticipantRequest(callConnectionId, transferToParticipantRequest);
+ using var message = CreateTransferToParticipantRequest(callConnectionId, transferToParticipantRequest, repeatabilityRequestID, repeatabilityFirstSent);
_pipeline.Send(message, cancellationToken);
switch (message.Response.Status)
{
@@ -384,7 +404,7 @@ public Response GetParticipants(string callConn
}
}
- internal HttpMessage CreateAddParticipantRequest(string callConnectionId, AddParticipantRequestInternal addParticipantRequest)
+ internal HttpMessage CreateAddParticipantRequest(string callConnectionId, AddParticipantRequestInternal addParticipantRequest, Guid? repeatabilityRequestID, DateTimeOffset? repeatabilityFirstSent)
{
var message = _pipeline.CreateMessage();
var request = message.Request;
@@ -396,8 +416,14 @@ internal HttpMessage CreateAddParticipantRequest(string callConnectionId, AddPar
uri.AppendPath("/participants:add", false);
uri.AppendQuery("api-version", _apiVersion, true);
request.Uri = uri;
- request.Headers.Add("Repeatability-Request-ID", Guid.NewGuid());
- request.Headers.Add("Repeatability-First-Sent", DateTimeOffset.Now, "R");
+ if (repeatabilityRequestID != null)
+ {
+ request.Headers.Add("Repeatability-Request-ID", repeatabilityRequestID.Value);
+ }
+ if (repeatabilityFirstSent != null)
+ {
+ request.Headers.Add("Repeatability-First-Sent", repeatabilityFirstSent.Value, "R");
+ }
request.Headers.Add("Accept", "application/json");
request.Headers.Add("Content-Type", "application/json");
var content = new Utf8JsonRequestContent();
@@ -406,12 +432,14 @@ internal HttpMessage CreateAddParticipantRequest(string callConnectionId, AddPar
return message;
}
- /// Add participants to the call.
+ /// Add a participant to the call.
/// The call connection Id.
/// The AddParticipantRequest to use.
+ /// If specified, the client directs that the request is repeatable; that is, that the client can make the request multiple times with the same Repeatability-Request-Id and get back an appropriate response without the server executing the request multiple times. The value of the Repeatability-Request-Id is an opaque string representing a client-generated unique identifier for the request. It is a version 4 (random) UUID.
+ /// If Repeatability-Request-ID header is specified, then Repeatability-First-Sent header must also be specified. The value should be the date and time at which the request was first created, expressed using the IMF-fixdate form of HTTP-date. Example: Sun, 06 Nov 1994 08:49:37 GMT.
/// The cancellation token to use.
/// or is null.
- public async Task> AddParticipantAsync(string callConnectionId, AddParticipantRequestInternal addParticipantRequest, CancellationToken cancellationToken = default)
+ public async Task> AddParticipantAsync(string callConnectionId, AddParticipantRequestInternal addParticipantRequest, Guid? repeatabilityRequestID = null, DateTimeOffset? repeatabilityFirstSent = null, CancellationToken cancellationToken = default)
{
if (callConnectionId == null)
{
@@ -422,7 +450,7 @@ public async Task> AddParticipantAsync(
throw new ArgumentNullException(nameof(addParticipantRequest));
}
- using var message = CreateAddParticipantRequest(callConnectionId, addParticipantRequest);
+ using var message = CreateAddParticipantRequest(callConnectionId, addParticipantRequest, repeatabilityRequestID, repeatabilityFirstSent);
await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false);
switch (message.Response.Status)
{
@@ -438,12 +466,14 @@ public async Task> AddParticipantAsync(
}
}
- /// Add participants to the call.
+ /// Add a participant to the call.
/// The call connection Id.
/// The AddParticipantRequest to use.
+ /// If specified, the client directs that the request is repeatable; that is, that the client can make the request multiple times with the same Repeatability-Request-Id and get back an appropriate response without the server executing the request multiple times. The value of the Repeatability-Request-Id is an opaque string representing a client-generated unique identifier for the request. It is a version 4 (random) UUID.
+ /// If Repeatability-Request-ID header is specified, then Repeatability-First-Sent header must also be specified. The value should be the date and time at which the request was first created, expressed using the IMF-fixdate form of HTTP-date. Example: Sun, 06 Nov 1994 08:49:37 GMT.
/// The cancellation token to use.
/// or is null.
- public Response AddParticipant(string callConnectionId, AddParticipantRequestInternal addParticipantRequest, CancellationToken cancellationToken = default)
+ public Response AddParticipant(string callConnectionId, AddParticipantRequestInternal addParticipantRequest, Guid? repeatabilityRequestID = null, DateTimeOffset? repeatabilityFirstSent = null, CancellationToken cancellationToken = default)
{
if (callConnectionId == null)
{
@@ -454,7 +484,7 @@ public Response AddParticipant(string callConnec
throw new ArgumentNullException(nameof(addParticipantRequest));
}
- using var message = CreateAddParticipantRequest(callConnectionId, addParticipantRequest);
+ using var message = CreateAddParticipantRequest(callConnectionId, addParticipantRequest, repeatabilityRequestID, repeatabilityFirstSent);
_pipeline.Send(message, cancellationToken);
switch (message.Response.Status)
{
@@ -470,7 +500,7 @@ public Response AddParticipant(string callConnec
}
}
- internal HttpMessage CreateRemoveParticipantRequest(string callConnectionId, RemoveParticipantRequestInternal removeParticipantRequest)
+ internal HttpMessage CreateRemoveParticipantRequest(string callConnectionId, RemoveParticipantRequestInternal removeParticipantRequest, Guid? repeatabilityRequestID, DateTimeOffset? repeatabilityFirstSent)
{
var message = _pipeline.CreateMessage();
var request = message.Request;
@@ -482,8 +512,14 @@ internal HttpMessage CreateRemoveParticipantRequest(string callConnectionId, Rem
uri.AppendPath("/participants:remove", false);
uri.AppendQuery("api-version", _apiVersion, true);
request.Uri = uri;
- request.Headers.Add("Repeatability-Request-ID", Guid.NewGuid());
- request.Headers.Add("Repeatability-First-Sent", DateTimeOffset.Now, "R");
+ if (repeatabilityRequestID != null)
+ {
+ request.Headers.Add("Repeatability-Request-ID", repeatabilityRequestID.Value);
+ }
+ if (repeatabilityFirstSent != null)
+ {
+ request.Headers.Add("Repeatability-First-Sent", repeatabilityFirstSent.Value, "R");
+ }
request.Headers.Add("Accept", "application/json");
request.Headers.Add("Content-Type", "application/json");
var content = new Utf8JsonRequestContent();
@@ -492,12 +528,14 @@ internal HttpMessage CreateRemoveParticipantRequest(string callConnectionId, Rem
return message;
}
- /// Remove participant from the call using identifier.
+ /// Remove a participant from the call using identifier.
/// The call connection id.
/// The participant to be removed from the call.
+ /// If specified, the client directs that the request is repeatable; that is, that the client can make the request multiple times with the same Repeatability-Request-Id and get back an appropriate response without the server executing the request multiple times. The value of the Repeatability-Request-Id is an opaque string representing a client-generated unique identifier for the request. It is a version 4 (random) UUID.
+ /// If Repeatability-Request-ID header is specified, then Repeatability-First-Sent header must also be specified. The value should be the date and time at which the request was first created, expressed using the IMF-fixdate form of HTTP-date. Example: Sun, 06 Nov 1994 08:49:37 GMT.
/// The cancellation token to use.
/// or is null.
- public async Task> RemoveParticipantAsync(string callConnectionId, RemoveParticipantRequestInternal removeParticipantRequest, CancellationToken cancellationToken = default)
+ public async Task> RemoveParticipantAsync(string callConnectionId, RemoveParticipantRequestInternal removeParticipantRequest, Guid? repeatabilityRequestID = null, DateTimeOffset? repeatabilityFirstSent = null, CancellationToken cancellationToken = default)
{
if (callConnectionId == null)
{
@@ -508,7 +546,7 @@ public async Task> RemoveParticipant
throw new ArgumentNullException(nameof(removeParticipantRequest));
}
- using var message = CreateRemoveParticipantRequest(callConnectionId, removeParticipantRequest);
+ using var message = CreateRemoveParticipantRequest(callConnectionId, removeParticipantRequest, repeatabilityRequestID, repeatabilityFirstSent);
await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false);
switch (message.Response.Status)
{
@@ -524,12 +562,14 @@ public async Task> RemoveParticipant
}
}
- /// Remove participant from the call using identifier.
+ /// Remove a participant from the call using identifier.
/// The call connection id.
/// The participant to be removed from the call.
+ /// If specified, the client directs that the request is repeatable; that is, that the client can make the request multiple times with the same Repeatability-Request-Id and get back an appropriate response without the server executing the request multiple times. The value of the Repeatability-Request-Id is an opaque string representing a client-generated unique identifier for the request. It is a version 4 (random) UUID.
+ /// If Repeatability-Request-ID header is specified, then Repeatability-First-Sent header must also be specified. The value should be the date and time at which the request was first created, expressed using the IMF-fixdate form of HTTP-date. Example: Sun, 06 Nov 1994 08:49:37 GMT.
/// The cancellation token to use.
/// or is null.
- public Response RemoveParticipant(string callConnectionId, RemoveParticipantRequestInternal removeParticipantRequest, CancellationToken cancellationToken = default)
+ public Response RemoveParticipant(string callConnectionId, RemoveParticipantRequestInternal removeParticipantRequest, Guid? repeatabilityRequestID = null, DateTimeOffset? repeatabilityFirstSent = null, CancellationToken cancellationToken = default)
{
if (callConnectionId == null)
{
@@ -540,7 +580,7 @@ public Response RemoveParticipant(string call
throw new ArgumentNullException(nameof(removeParticipantRequest));
}
- using var message = CreateRemoveParticipantRequest(callConnectionId, removeParticipantRequest);
+ using var message = CreateRemoveParticipantRequest(callConnectionId, removeParticipantRequest, repeatabilityRequestID, repeatabilityFirstSent);
_pipeline.Send(message, cancellationToken);
switch (message.Response.Status)
{
@@ -556,178 +596,6 @@ public Response RemoveParticipant(string call
}
}
- internal HttpMessage CreateMuteRequest(string callConnectionId, MuteParticipantsRequestInternal muteParticipantsRequest)
- {
- var message = _pipeline.CreateMessage();
- var request = message.Request;
- request.Method = RequestMethod.Post;
- var uri = new RawRequestUriBuilder();
- uri.Reset(_endpoint);
- uri.AppendPath("/calling/callConnections/", false);
- uri.AppendPath(callConnectionId, true);
- uri.AppendPath("/participants:mute", false);
- uri.AppendQuery("api-version", _apiVersion, true);
- request.Uri = uri;
- request.Headers.Add("Repeatability-Request-ID", Guid.NewGuid());
- request.Headers.Add("Repeatability-First-Sent", DateTimeOffset.Now, "R");
- request.Headers.Add("Accept", "application/json");
- request.Headers.Add("Content-Type", "application/json");
- var content = new Utf8JsonRequestContent();
- content.JsonWriter.WriteObjectValue(muteParticipantsRequest);
- request.Content = content;
- return message;
- }
-
- /// Mute participants from the call using identifier.
- /// The call connection id.
- /// The participants to be muted from the call.
- /// The cancellation token to use.
- /// or is null.
- public async Task> MuteAsync(string callConnectionId, MuteParticipantsRequestInternal muteParticipantsRequest, CancellationToken cancellationToken = default)
- {
- if (callConnectionId == null)
- {
- throw new ArgumentNullException(nameof(callConnectionId));
- }
- if (muteParticipantsRequest == null)
- {
- throw new ArgumentNullException(nameof(muteParticipantsRequest));
- }
-
- using var message = CreateMuteRequest(callConnectionId, muteParticipantsRequest);
- await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false);
- switch (message.Response.Status)
- {
- case 202:
- {
- MuteParticipantsResult value = default;
- using var document = await JsonDocument.ParseAsync(message.Response.ContentStream, default, cancellationToken).ConfigureAwait(false);
- value = MuteParticipantsResult.DeserializeMuteParticipantsResult(document.RootElement);
- return Response.FromValue(value, message.Response);
- }
- default:
- throw new RequestFailedException(message.Response);
- }
- }
-
- /// Mute participants from the call using identifier.
- /// The call connection id.
- /// The participants to be muted from the call.
- /// The cancellation token to use.
- /// or is null.
- public Response Mute(string callConnectionId, MuteParticipantsRequestInternal muteParticipantsRequest, CancellationToken cancellationToken = default)
- {
- if (callConnectionId == null)
- {
- throw new ArgumentNullException(nameof(callConnectionId));
- }
- if (muteParticipantsRequest == null)
- {
- throw new ArgumentNullException(nameof(muteParticipantsRequest));
- }
-
- using var message = CreateMuteRequest(callConnectionId, muteParticipantsRequest);
- _pipeline.Send(message, cancellationToken);
- switch (message.Response.Status)
- {
- case 202:
- {
- MuteParticipantsResult value = default;
- using var document = JsonDocument.Parse(message.Response.ContentStream);
- value = MuteParticipantsResult.DeserializeMuteParticipantsResult(document.RootElement);
- return Response.FromValue(value, message.Response);
- }
- default:
- throw new RequestFailedException(message.Response);
- }
- }
-
- internal HttpMessage CreateUnmuteRequest(string callConnectionId, UnmuteParticipantsRequestInternal unmuteParticipantsRequest)
- {
- var message = _pipeline.CreateMessage();
- var request = message.Request;
- request.Method = RequestMethod.Post;
- var uri = new RawRequestUriBuilder();
- uri.Reset(_endpoint);
- uri.AppendPath("/calling/callConnections/", false);
- uri.AppendPath(callConnectionId, true);
- uri.AppendPath("/participants:unmute", false);
- uri.AppendQuery("api-version", _apiVersion, true);
- request.Uri = uri;
- request.Headers.Add("Repeatability-Request-ID", Guid.NewGuid());
- request.Headers.Add("Repeatability-First-Sent", DateTimeOffset.Now, "R");
- request.Headers.Add("Accept", "application/json");
- request.Headers.Add("Content-Type", "application/json");
- var content = new Utf8JsonRequestContent();
- content.JsonWriter.WriteObjectValue(unmuteParticipantsRequest);
- request.Content = content;
- return message;
- }
-
- /// Unmute participants from the call using identifier.
- /// The call connection id.
- /// The participants to be unmuted from the call.
- /// The cancellation token to use.
- /// or is null.
- public async Task> UnmuteAsync(string callConnectionId, UnmuteParticipantsRequestInternal unmuteParticipantsRequest, CancellationToken cancellationToken = default)
- {
- if (callConnectionId == null)
- {
- throw new ArgumentNullException(nameof(callConnectionId));
- }
- if (unmuteParticipantsRequest == null)
- {
- throw new ArgumentNullException(nameof(unmuteParticipantsRequest));
- }
-
- using var message = CreateUnmuteRequest(callConnectionId, unmuteParticipantsRequest);
- await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false);
- switch (message.Response.Status)
- {
- case 202:
- {
- UnmuteParticipantsResult value = default;
- using var document = await JsonDocument.ParseAsync(message.Response.ContentStream, default, cancellationToken).ConfigureAwait(false);
- value = UnmuteParticipantsResult.DeserializeUnmuteParticipantsResult(document.RootElement);
- return Response.FromValue(value, message.Response);
- }
- default:
- throw new RequestFailedException(message.Response);
- }
- }
-
- /// Unmute participants from the call using identifier.
- /// The call connection id.
- /// The participants to be unmuted from the call.
- /// The cancellation token to use.
- /// or is null.
- public Response Unmute(string callConnectionId, UnmuteParticipantsRequestInternal unmuteParticipantsRequest, CancellationToken cancellationToken = default)
- {
- if (callConnectionId == null)
- {
- throw new ArgumentNullException(nameof(callConnectionId));
- }
- if (unmuteParticipantsRequest == null)
- {
- throw new ArgumentNullException(nameof(unmuteParticipantsRequest));
- }
-
- using var message = CreateUnmuteRequest(callConnectionId, unmuteParticipantsRequest);
- _pipeline.Send(message, cancellationToken);
- switch (message.Response.Status)
- {
- case 202:
- {
- UnmuteParticipantsResult value = default;
- using var document = JsonDocument.Parse(message.Response.ContentStream);
- value = UnmuteParticipantsResult.DeserializeUnmuteParticipantsResult(document.RootElement);
- return Response.FromValue(value, message.Response);
- }
- default:
- throw new RequestFailedException(message.Response);
- }
- }
-
internal HttpMessage CreateGetParticipantRequest(string callConnectionId, string participantRawId)
{
var message = _pipeline.CreateMessage();
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/CallMediaRestClient.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/CallMediaRestClient.cs
index c518ab9f4cf09..7f78968da3510 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/CallMediaRestClient.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/CallMediaRestClient.cs
@@ -29,7 +29,7 @@ internal partial class CallMediaRestClient
/// The endpoint of the Azure Communication resource.
/// Api Version.
/// , , or is null.
- public CallMediaRestClient(ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Uri endpoint, string apiVersion = "2023-01-15-preview")
+ public CallMediaRestClient(ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Uri endpoint, string apiVersion = "2023-03-06")
{
ClientDiagnostics = clientDiagnostics ?? throw new ArgumentNullException(nameof(clientDiagnostics));
_pipeline = pipeline ?? throw new ArgumentNullException(nameof(pipeline));
@@ -244,227 +244,5 @@ public Response Recognize(string callConnectionId, RecognizeRequestInternal reco
throw new RequestFailedException(message.Response);
}
}
-
- internal HttpMessage CreateStartContinuousDtmfRecognitionRequest(string callConnectionId, ContinuousDtmfRecognitionRequestInternal continuousDtmfRecognitionRequest)
- {
- var message = _pipeline.CreateMessage();
- var request = message.Request;
- request.Method = RequestMethod.Post;
- var uri = new RawRequestUriBuilder();
- uri.Reset(_endpoint);
- uri.AppendPath("/calling/callConnections/", false);
- uri.AppendPath(callConnectionId, true);
- uri.AppendPath(":startContinuousDtmfRecognition", false);
- uri.AppendQuery("api-version", _apiVersion, true);
- request.Uri = uri;
- request.Headers.Add("Accept", "application/json");
- request.Headers.Add("Content-Type", "application/json");
- var content = new Utf8JsonRequestContent();
- content.JsonWriter.WriteObjectValue(continuousDtmfRecognitionRequest);
- request.Content = content;
- return message;
- }
-
- /// Start continuous Dtmf recognition by subscribing to tones.
- /// The call connection id.
- /// The continuous recognize request.
- /// The cancellation token to use.
- /// or is null.
- public async Task StartContinuousDtmfRecognitionAsync(string callConnectionId, ContinuousDtmfRecognitionRequestInternal continuousDtmfRecognitionRequest, CancellationToken cancellationToken = default)
- {
- if (callConnectionId == null)
- {
- throw new ArgumentNullException(nameof(callConnectionId));
- }
- if (continuousDtmfRecognitionRequest == null)
- {
- throw new ArgumentNullException(nameof(continuousDtmfRecognitionRequest));
- }
-
- using var message = CreateStartContinuousDtmfRecognitionRequest(callConnectionId, continuousDtmfRecognitionRequest);
- await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false);
- switch (message.Response.Status)
- {
- case 200:
- return message.Response;
- default:
- throw new RequestFailedException(message.Response);
- }
- }
-
- /// Start continuous Dtmf recognition by subscribing to tones.
- /// The call connection id.
- /// The continuous recognize request.
- /// The cancellation token to use.
- /// or is null.
- public Response StartContinuousDtmfRecognition(string callConnectionId, ContinuousDtmfRecognitionRequestInternal continuousDtmfRecognitionRequest, CancellationToken cancellationToken = default)
- {
- if (callConnectionId == null)
- {
- throw new ArgumentNullException(nameof(callConnectionId));
- }
- if (continuousDtmfRecognitionRequest == null)
- {
- throw new ArgumentNullException(nameof(continuousDtmfRecognitionRequest));
- }
-
- using var message = CreateStartContinuousDtmfRecognitionRequest(callConnectionId, continuousDtmfRecognitionRequest);
- _pipeline.Send(message, cancellationToken);
- switch (message.Response.Status)
- {
- case 200:
- return message.Response;
- default:
- throw new RequestFailedException(message.Response);
- }
- }
-
- internal HttpMessage CreateStopContinuousDtmfRecognitionRequest(string callConnectionId, ContinuousDtmfRecognitionRequestInternal continuousDtmfRecognitionRequest)
- {
- var message = _pipeline.CreateMessage();
- var request = message.Request;
- request.Method = RequestMethod.Post;
- var uri = new RawRequestUriBuilder();
- uri.Reset(_endpoint);
- uri.AppendPath("/calling/callConnections/", false);
- uri.AppendPath(callConnectionId, true);
- uri.AppendPath(":stopContinuousDtmfRecognition", false);
- uri.AppendQuery("api-version", _apiVersion, true);
- request.Uri = uri;
- request.Headers.Add("Accept", "application/json");
- request.Headers.Add("Content-Type", "application/json");
- var content = new Utf8JsonRequestContent();
- content.JsonWriter.WriteObjectValue(continuousDtmfRecognitionRequest);
- request.Content = content;
- return message;
- }
-
- /// Stop continuous Dtmf recognition by unsubscribing to tones.
- /// The call connection id.
- /// The continuous recognize request.
- /// The cancellation token to use.
- /// or is null.
- public async Task StopContinuousDtmfRecognitionAsync(string callConnectionId, ContinuousDtmfRecognitionRequestInternal continuousDtmfRecognitionRequest, CancellationToken cancellationToken = default)
- {
- if (callConnectionId == null)
- {
- throw new ArgumentNullException(nameof(callConnectionId));
- }
- if (continuousDtmfRecognitionRequest == null)
- {
- throw new ArgumentNullException(nameof(continuousDtmfRecognitionRequest));
- }
-
- using var message = CreateStopContinuousDtmfRecognitionRequest(callConnectionId, continuousDtmfRecognitionRequest);
- await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false);
- switch (message.Response.Status)
- {
- case 200:
- return message.Response;
- default:
- throw new RequestFailedException(message.Response);
- }
- }
-
- /// Stop continuous Dtmf recognition by unsubscribing to tones.
- /// The call connection id.
- /// The continuous recognize request.
- /// The cancellation token to use.
- /// or is null.
- public Response StopContinuousDtmfRecognition(string callConnectionId, ContinuousDtmfRecognitionRequestInternal continuousDtmfRecognitionRequest, CancellationToken cancellationToken = default)
- {
- if (callConnectionId == null)
- {
- throw new ArgumentNullException(nameof(callConnectionId));
- }
- if (continuousDtmfRecognitionRequest == null)
- {
- throw new ArgumentNullException(nameof(continuousDtmfRecognitionRequest));
- }
-
- using var message = CreateStopContinuousDtmfRecognitionRequest(callConnectionId, continuousDtmfRecognitionRequest);
- _pipeline.Send(message, cancellationToken);
- switch (message.Response.Status)
- {
- case 200:
- return message.Response;
- default:
- throw new RequestFailedException(message.Response);
- }
- }
-
- internal HttpMessage CreateSendDtmfRequest(string callConnectionId, SendDtmfRequestInternal sendDtmfRequest)
- {
- var message = _pipeline.CreateMessage();
- var request = message.Request;
- request.Method = RequestMethod.Post;
- var uri = new RawRequestUriBuilder();
- uri.Reset(_endpoint);
- uri.AppendPath("/calling/callConnections/", false);
- uri.AppendPath(callConnectionId, true);
- uri.AppendPath(":sendDtmf", false);
- uri.AppendQuery("api-version", _apiVersion, true);
- request.Uri = uri;
- request.Headers.Add("Accept", "application/json");
- request.Headers.Add("Content-Type", "application/json");
- var content = new Utf8JsonRequestContent();
- content.JsonWriter.WriteObjectValue(sendDtmfRequest);
- request.Content = content;
- return message;
- }
-
- /// Send dtmf tones.
- /// The call connection id.
- /// The send dtmf request.
- /// The cancellation token to use.
- /// or is null.
- public async Task SendDtmfAsync(string callConnectionId, SendDtmfRequestInternal sendDtmfRequest, CancellationToken cancellationToken = default)
- {
- if (callConnectionId == null)
- {
- throw new ArgumentNullException(nameof(callConnectionId));
- }
- if (sendDtmfRequest == null)
- {
- throw new ArgumentNullException(nameof(sendDtmfRequest));
- }
-
- using var message = CreateSendDtmfRequest(callConnectionId, sendDtmfRequest);
- await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false);
- switch (message.Response.Status)
- {
- case 202:
- return message.Response;
- default:
- throw new RequestFailedException(message.Response);
- }
- }
-
- /// Send dtmf tones.
- /// The call connection id.
- /// The send dtmf request.
- /// The cancellation token to use.
- /// or is null.
- public Response SendDtmf(string callConnectionId, SendDtmfRequestInternal sendDtmfRequest, CancellationToken cancellationToken = default)
- {
- if (callConnectionId == null)
- {
- throw new ArgumentNullException(nameof(callConnectionId));
- }
- if (sendDtmfRequest == null)
- {
- throw new ArgumentNullException(nameof(sendDtmfRequest));
- }
-
- using var message = CreateSendDtmfRequest(callConnectionId, sendDtmfRequest);
- _pipeline.Send(message, cancellationToken);
- switch (message.Response.Status)
- {
- case 202:
- return message.Response;
- default:
- throw new RequestFailedException(message.Response);
- }
- }
}
}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/CallRecordingRestClient.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/CallRecordingRestClient.cs
index 90fcfad75f0f4..4ea436288ff20 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/CallRecordingRestClient.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/CallRecordingRestClient.cs
@@ -30,7 +30,7 @@ internal partial class CallRecordingRestClient
/// The endpoint of the Azure Communication resource.
/// Api Version.
/// , , or is null.
- public CallRecordingRestClient(ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Uri endpoint, string apiVersion = "2023-01-15-preview")
+ public CallRecordingRestClient(ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Uri endpoint, string apiVersion = "2023-03-06")
{
ClientDiagnostics = clientDiagnostics ?? throw new ArgumentNullException(nameof(clientDiagnostics));
_pipeline = pipeline ?? throw new ArgumentNullException(nameof(pipeline));
@@ -38,7 +38,7 @@ public CallRecordingRestClient(ClientDiagnostics clientDiagnostics, HttpPipeline
_apiVersion = apiVersion ?? throw new ArgumentNullException(nameof(apiVersion));
}
- internal HttpMessage CreateStartRecordingRequest(StartCallRecordingRequestInternal startCallRecording)
+ internal HttpMessage CreateStartRecordingRequest(StartCallRecordingRequestInternal startCallRecording, Guid? repeatabilityRequestID, DateTimeOffset? repeatabilityFirstSent)
{
var message = _pipeline.CreateMessage();
var request = message.Request;
@@ -48,8 +48,14 @@ internal HttpMessage CreateStartRecordingRequest(StartCallRecordingRequestIntern
uri.AppendPath("/calling/recordings", false);
uri.AppendQuery("api-version", _apiVersion, true);
request.Uri = uri;
- request.Headers.Add("Repeatability-Request-ID", Guid.NewGuid());
- request.Headers.Add("Repeatability-First-Sent", DateTimeOffset.Now, "R");
+ if (repeatabilityRequestID != null)
+ {
+ request.Headers.Add("Repeatability-Request-ID", repeatabilityRequestID.Value);
+ }
+ if (repeatabilityFirstSent != null)
+ {
+ request.Headers.Add("Repeatability-First-Sent", repeatabilityFirstSent.Value, "R");
+ }
request.Headers.Add("Accept", "application/json");
request.Headers.Add("Content-Type", "application/json");
var content = new Utf8JsonRequestContent();
@@ -60,16 +66,18 @@ internal HttpMessage CreateStartRecordingRequest(StartCallRecordingRequestIntern
/// Start recording the call.
/// The request body of start call recording request.
+ /// If specified, the client directs that the request is repeatable; that is, that the client can make the request multiple times with the same Repeatability-Request-Id and get back an appropriate response without the server executing the request multiple times. The value of the Repeatability-Request-Id is an opaque string representing a client-generated unique identifier for the request. It is a version 4 (random) UUID.
+ /// If Repeatability-Request-ID header is specified, then Repeatability-First-Sent header must also be specified. The value should be the date and time at which the request was first created, expressed using the IMF-fixdate form of HTTP-date. Example: Sun, 06 Nov 1994 08:49:37 GMT.
/// The cancellation token to use.
/// is null.
- public async Task> StartRecordingAsync(StartCallRecordingRequestInternal startCallRecording, CancellationToken cancellationToken = default)
+ public async Task> StartRecordingAsync(StartCallRecordingRequestInternal startCallRecording, Guid? repeatabilityRequestID = null, DateTimeOffset? repeatabilityFirstSent = null, CancellationToken cancellationToken = default)
{
if (startCallRecording == null)
{
throw new ArgumentNullException(nameof(startCallRecording));
}
- using var message = CreateStartRecordingRequest(startCallRecording);
+ using var message = CreateStartRecordingRequest(startCallRecording, repeatabilityRequestID, repeatabilityFirstSent);
await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false);
switch (message.Response.Status)
{
@@ -87,16 +95,18 @@ public async Task> StartRecordingAsync(StartCallR
/// Start recording the call.
/// The request body of start call recording request.
+ /// If specified, the client directs that the request is repeatable; that is, that the client can make the request multiple times with the same Repeatability-Request-Id and get back an appropriate response without the server executing the request multiple times. The value of the Repeatability-Request-Id is an opaque string representing a client-generated unique identifier for the request. It is a version 4 (random) UUID.
+ /// If Repeatability-Request-ID header is specified, then Repeatability-First-Sent header must also be specified. The value should be the date and time at which the request was first created, expressed using the IMF-fixdate form of HTTP-date. Example: Sun, 06 Nov 1994 08:49:37 GMT.
/// The cancellation token to use.
/// is null.
- public Response StartRecording(StartCallRecordingRequestInternal startCallRecording, CancellationToken cancellationToken = default)
+ public Response StartRecording(StartCallRecordingRequestInternal startCallRecording, Guid? repeatabilityRequestID = null, DateTimeOffset? repeatabilityFirstSent = null, CancellationToken cancellationToken = default)
{
if (startCallRecording == null)
{
throw new ArgumentNullException(nameof(startCallRecording));
}
- using var message = CreateStartRecordingRequest(startCallRecording);
+ using var message = CreateStartRecordingRequest(startCallRecording, repeatabilityRequestID, repeatabilityFirstSent);
_pipeline.Send(message, cancellationToken);
switch (message.Response.Status)
{
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/CommunicationCallAutomationModelFactory.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/CommunicationCallAutomationModelFactory.cs
index 8fb755f5d3353..e3df3f8248385 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/CommunicationCallAutomationModelFactory.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/CommunicationCallAutomationModelFactory.cs
@@ -12,7 +12,7 @@
namespace Azure.Communication.CallAutomation
{
/// Model factory for models.
- public static partial class CommunicationCallAutomationModelFactory
+ public static partial class CallAutomationModelFactory
{
/// Initializes a new instance of TransferCallToParticipantResult.
/// The operation context provided by client.
@@ -22,22 +22,6 @@ public static TransferCallToParticipantResult TransferCallToParticipantResult(st
return new TransferCallToParticipantResult(operationContext);
}
- /// Initializes a new instance of MuteParticipantsResult.
- /// The operation context provided by client.
- /// A new instance for mocking.
- public static MuteParticipantsResult MuteParticipantsResult(string operationContext = null)
- {
- return new MuteParticipantsResult(operationContext);
- }
-
- /// Initializes a new instance of UnmuteParticipantsResult.
- /// The operation context provided by client.
- /// A new instance for mocking.
- public static UnmuteParticipantsResult UnmuteParticipantsResult(string operationContext = null)
- {
- return new UnmuteParticipantsResult(operationContext);
- }
-
/// Initializes a new instance of RecordingStateResult.
///
///
@@ -79,12 +63,24 @@ public static CallDisconnected CallDisconnected(string callConnectionId = null,
return new CallDisconnected(callConnectionId, serverCallId, correlationId, operationContext);
}
+ /// Initializes a new instance of CallTransferAccepted.
+ /// Call connection ID.
+ /// Server call ID.
+ /// Correlation ID for event to call correlation. Also called ChainId for skype chain ID.
+ /// Used by customers when calling mid-call actions to correlate the request to the response event.
+ /// Contains the resulting SIP code, sub-code and message.
+ /// A new instance for mocking.
+ public static CallTransferAccepted CallTransferAccepted(string callConnectionId = null, string serverCallId = null, string correlationId = null, string operationContext = null, ResultInformation resultInformation = null)
+ {
+ return new CallTransferAccepted(callConnectionId, serverCallId, correlationId, operationContext, resultInformation);
+ }
+
/// Initializes a new instance of CallTransferFailed.
/// Call connection ID.
/// Server call ID.
/// Correlation ID for event to call correlation. Also called ChainId for skype chain ID.
/// Used by customers when calling mid-call actions to correlate the request to the response event.
- /// Contains the resulting SIP code/sub-code and message from NGC services.
+ /// Contains the resulting SIP code, sub-code and message.
/// A new instance for mocking.
public static CallTransferFailed CallTransferFailed(string callConnectionId = null, string serverCallId = null, string correlationId = null, string operationContext = null, ResultInformation resultInformation = null)
{
@@ -139,16 +135,6 @@ public static PlayCanceled PlayCanceled(string callConnectionId = null, string s
return new PlayCanceled(callConnectionId, serverCallId, correlationId, operationContext);
}
- /// Initializes a new instance of CollectTonesResult.
- ///
- /// A new instance for mocking.
- public static CollectTonesResult CollectTonesResult(IEnumerable tones = null)
- {
- tones ??= new List();
-
- return new CollectTonesResult(tones?.ToList());
- }
-
/// Initializes a new instance of DtmfResult.
///
/// A new instance for mocking.
@@ -159,26 +145,6 @@ public static DtmfResult DtmfResult(IEnumerable tones = null)
return new DtmfResult(tones?.ToList());
}
- /// Initializes a new instance of ChoiceResult.
- /// Label is the primary identifier for the choice detected.
- ///
- /// Phrases are set to the value if choice is selected via phrase detection.
- /// If Dtmf input is recognized, then Label will be the identifier for the choice detected and phrases will be set to null
- ///
- /// A new instance for mocking.
- public static ChoiceResult ChoiceResult(string label = null, string recognizedPhrase = null)
- {
- return new ChoiceResult(label, recognizedPhrase);
- }
-
- /// Initializes a new instance of SpeechResult.
- /// The recognized speech in string.
- /// A new instance for mocking.
- public static SpeechResult SpeechResult(string speech = null)
- {
- return new SpeechResult(speech);
- }
-
/// Initializes a new instance of RecognizeFailed.
/// Call connection ID.
/// Server call ID.
@@ -201,83 +167,5 @@ public static RecognizeCanceled RecognizeCanceled(string callConnectionId = null
{
return new RecognizeCanceled(callConnectionId, serverCallId, correlationId, operationContext);
}
-
- /// Initializes a new instance of UserConsent.
- ///
- /// A new instance for mocking.
- public static UserConsent UserConsent(int? recording = null)
- {
- return new UserConsent(recording);
- }
-
- /// Initializes a new instance of ContinuousDtmfRecognitionToneFailed.
- /// Call connection ID.
- /// Server call ID.
- /// Correlation ID for event to call correlation.
- /// Contains the resulting SIP code, sub-code and message.
- /// Used by customers when calling mid-call actions to correlate the request to the response event.
- /// A new instance for mocking.
- public static ContinuousDtmfRecognitionToneFailed ContinuousDtmfRecognitionToneFailed(string callConnectionId = null, string serverCallId = null, string correlationId = null, ResultInformation resultInformation = null, string operationContext = null)
- {
- return new ContinuousDtmfRecognitionToneFailed(callConnectionId, serverCallId, correlationId, resultInformation, operationContext);
- }
-
- /// Initializes a new instance of ContinuousDtmfRecognitionToneReceived.
- /// Information about Tone.
- /// Call connection ID.
- /// Server call ID.
- /// Correlation ID for event to call correlation. Also called ChainId or skype chain ID.
- /// Contains the resulting SIP code, sub-code and message.
- /// Used by customers when calling mid-call actions to correlate the request to the response event.
- /// A new instance for mocking.
- public static ContinuousDtmfRecognitionToneReceived ContinuousDtmfRecognitionToneReceived(ToneInfo toneInfo = null, string callConnectionId = null, string serverCallId = null, string correlationId = null, ResultInformation resultInformation = null, string operationContext = null)
- {
- return new ContinuousDtmfRecognitionToneReceived(toneInfo, callConnectionId, serverCallId, correlationId, resultInformation, operationContext);
- }
-
- /// Initializes a new instance of ToneInfo.
- /// The sequence id which can be used to determine if the same tone was played multiple times or if any tones were missed.
- ///
- /// A new instance for mocking.
- public static ToneInfo ToneInfo(int sequenceId = default, DtmfTone tone = default)
- {
- return new ToneInfo(sequenceId, tone);
- }
-
- /// Initializes a new instance of ContinuousDtmfRecognitionStopped.
- /// Call connection ID.
- /// Server call ID.
- /// Correlation ID for event to call correlation.
- /// Used by customers when calling mid-call actions to correlate the request to the response event.
- /// Contains the resulting SIP code, sub-code and message.
- /// A new instance for mocking.
- public static ContinuousDtmfRecognitionStopped ContinuousDtmfRecognitionStopped(string callConnectionId = null, string serverCallId = null, string correlationId = null, string operationContext = null, ResultInformation resultInformation = null)
- {
- return new ContinuousDtmfRecognitionStopped(callConnectionId, serverCallId, correlationId, operationContext, resultInformation);
- }
-
- /// Initializes a new instance of SendDtmfCompleted.
- /// Call connection ID.
- /// Server call ID.
- /// Correlation ID for event to call correlation.
- /// Used by customers when calling mid-call actions to correlate the request to the response event.
- /// Contains the resulting SIP code, sub-code and message.
- /// A new instance for mocking.
- public static SendDtmfCompleted SendDtmfCompleted(string callConnectionId = null, string serverCallId = null, string correlationId = null, string operationContext = null, ResultInformation resultInformation = null)
- {
- return new SendDtmfCompleted(callConnectionId, serverCallId, correlationId, operationContext, resultInformation);
- }
-
- /// Initializes a new instance of SendDtmfFailed.
- /// Call connection ID.
- /// Server call ID.
- /// Correlation ID for event to call correlation.
- /// Used by customers when calling mid-call actions to correlate the request to the response event.
- /// Contains the resulting SIP code, sub-code and message.
- /// A new instance for mocking.
- public static SendDtmfFailed SendDtmfFailed(string callConnectionId = null, string serverCallId = null, string correlationId = null, string operationContext = null, ResultInformation resultInformation = null)
- {
- return new SendDtmfFailed(callConnectionId, serverCallId, correlationId, operationContext, resultInformation);
- }
}
}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/AddParticipantFailedInternal.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/AddParticipantFailedInternal.cs
index cb5f2081fc562..0b5dc694250f4 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/AddParticipantFailedInternal.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/AddParticipantFailedInternal.cs
@@ -9,7 +9,7 @@
namespace Azure.Communication.CallAutomation
{
- /// The failed to add participant event.
+ /// The failed to add participants event.
internal partial class AddParticipantFailedInternal
{
/// Initializes a new instance of AddParticipantFailedInternal.
@@ -22,7 +22,7 @@ internal AddParticipantFailedInternal()
/// Server call ID.
/// Correlation ID for event to call correlation. Also called ChainId for skype chain ID.
/// Used by customers when calling mid-call actions to correlate the request to the response event.
- /// Contains the resulting SIP code/sub-code and message from NGC services.
+ /// Contains the resulting SIP code, sub-code and message.
/// Participant.
internal AddParticipantFailedInternal(string callConnectionId, string serverCallId, string correlationId, string operationContext, ResultInformation resultInformation, CommunicationIdentifierModel participant)
{
@@ -42,7 +42,7 @@ internal AddParticipantFailedInternal(string callConnectionId, string serverCall
public string CorrelationId { get; }
/// Used by customers when calling mid-call actions to correlate the request to the response event.
public string OperationContext { get; }
- /// Contains the resulting SIP code/sub-code and message from NGC services.
+ /// Contains the resulting SIP code, sub-code and message.
public ResultInformation ResultInformation { get; }
/// Participant.
public CommunicationIdentifierModel Participant { get; }
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/AddParticipantRequestInternal.Serialization.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/AddParticipantRequestInternal.Serialization.cs
index 1247be0dccd22..ca430f38f04f1 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/AddParticipantRequestInternal.Serialization.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/AddParticipantRequestInternal.Serialization.cs
@@ -37,16 +37,6 @@ void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
writer.WritePropertyName("operationContext"u8);
writer.WriteStringValue(OperationContext);
}
- if (Optional.IsDefined(CustomContext))
- {
- writer.WritePropertyName("customContext"u8);
- writer.WriteObjectValue(CustomContext);
- }
- if (Optional.IsDefined(CallbackUri))
- {
- writer.WritePropertyName("callbackUri"u8);
- writer.WriteStringValue(CallbackUri);
- }
writer.WriteEndObject();
}
}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/AddParticipantRequestInternal.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/AddParticipantRequestInternal.cs
index 5953ac8580db7..94dc36e214bcf 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/AddParticipantRequestInternal.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/AddParticipantRequestInternal.cs
@@ -25,7 +25,7 @@ public AddParticipantRequestInternal(CommunicationIdentifierModel participantToA
}
///
- /// The source caller Id, a phone number, that's shown to the PSTN participant being invited.
+ /// The source caller Id, a phone number, that's shown to the PSTN participant being invited.
/// Required only when inviting a PSTN participant.
///
public PhoneNumberIdentifierModel SourceCallerIdNumber { get; set; }
@@ -43,9 +43,5 @@ public AddParticipantRequestInternal(CommunicationIdentifierModel participantToA
public int? InvitationTimeoutInSeconds { get; set; }
/// Used by customers when calling mid-call actions to correlate the request to the response event.
public string OperationContext { get; set; }
- /// Used by customer to send custom context to targets.
- public CustomContextInternal CustomContext { get; set; }
- /// The callback URI to override the main callback URI.
- public string CallbackUri { get; set; }
}
}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/AddParticipantSucceededInternal.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/AddParticipantSucceededInternal.cs
index 16ced7486b88e..803ac1cc91f8d 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/AddParticipantSucceededInternal.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/AddParticipantSucceededInternal.cs
@@ -9,7 +9,7 @@
namespace Azure.Communication.CallAutomation
{
- /// The participant successfully added event.
+ /// The participants successfully added event.
internal partial class AddParticipantSucceededInternal
{
/// Initializes a new instance of AddParticipantSucceededInternal.
@@ -22,7 +22,7 @@ internal AddParticipantSucceededInternal()
/// Server call ID.
/// Correlation ID for event to call correlation. Also called ChainId for skype chain ID.
/// Used by customers when calling mid-call actions to correlate the request to the response event.
- /// Contains the resulting SIP code/sub-code and message from NGC services.
+ /// Contains the resulting SIP code, sub-code and message.
/// Participant.
internal AddParticipantSucceededInternal(string callConnectionId, string serverCallId, string correlationId, string operationContext, ResultInformation resultInformation, CommunicationIdentifierModel participant)
{
@@ -42,7 +42,7 @@ internal AddParticipantSucceededInternal(string callConnectionId, string serverC
public string CorrelationId { get; }
/// Used by customers when calling mid-call actions to correlate the request to the response event.
public string OperationContext { get; }
- /// Contains the resulting SIP code/sub-code and message from NGC services.
+ /// Contains the resulting SIP code, sub-code and message.
public ResultInformation ResultInformation { get; }
/// Participant.
public CommunicationIdentifierModel Participant { get; }
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/AnswerCallRequestInternal.Serialization.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/AnswerCallRequestInternal.Serialization.cs
index 2687ff70177ae..aadc7fffc4954 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/AnswerCallRequestInternal.Serialization.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/AnswerCallRequestInternal.Serialization.cs
@@ -24,20 +24,10 @@ void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
writer.WritePropertyName("operationContext"u8);
writer.WriteStringValue(OperationContext);
}
- if (Optional.IsDefined(MediaStreamingConfiguration))
+ if (Optional.IsDefined(AnsweredBy))
{
- writer.WritePropertyName("mediaStreamingConfiguration"u8);
- writer.WriteObjectValue(MediaStreamingConfiguration);
- }
- if (Optional.IsDefined(AzureCognitiveServicesEndpointUrl))
- {
- writer.WritePropertyName("azureCognitiveServicesEndpointUrl"u8);
- writer.WriteStringValue(AzureCognitiveServicesEndpointUrl);
- }
- if (Optional.IsDefined(AnsweredByIdentifier))
- {
- writer.WritePropertyName("answeredByIdentifier"u8);
- writer.WriteObjectValue(AnsweredByIdentifier);
+ writer.WritePropertyName("answeredBy"u8);
+ writer.WriteObjectValue(AnsweredBy);
}
writer.WriteEndObject();
}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/AnswerCallRequestInternal.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/AnswerCallRequestInternal.cs
index 52a98a9d01f2b..5776177479121 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/AnswerCallRequestInternal.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/AnswerCallRequestInternal.cs
@@ -33,11 +33,7 @@ public AnswerCallRequestInternal(string incomingCallContext, string callbackUri)
public string CallbackUri { get; }
/// A customer set value used to track the answering of a call.
public string OperationContext { get; set; }
- /// Media Streaming Configuration.
- public MediaStreamingOptionsInternal MediaStreamingConfiguration { get; set; }
- /// The endpoint URL of the Azure Cognitive Services resource attached.
- public string AzureCognitiveServicesEndpointUrl { get; set; }
/// The identifier of the call automation entity which answers the call.
- public CommunicationUserIdentifierModel AnsweredByIdentifier { get; set; }
+ public CommunicationUserIdentifierModel AnsweredBy { get; set; }
}
}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/BlobStorageInternal.Serialization.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/BlobStorageInternal.Serialization.cs
deleted file mode 100644
index ebe44d96f6029..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/BlobStorageInternal.Serialization.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-//
-
-#nullable disable
-
-using System.Text.Json;
-using Azure.Core;
-
-namespace Azure.Communication.CallAutomation
-{
- internal partial class BlobStorageInternal : IUtf8JsonSerializable
- {
- void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
- {
- writer.WriteStartObject();
- writer.WritePropertyName("containerUri"u8);
- writer.WriteStringValue(ContainerUri);
- writer.WriteEndObject();
- }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/BlobStorageInternal.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/BlobStorageInternal.cs
deleted file mode 100644
index bc445e794727f..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/BlobStorageInternal.cs
+++ /dev/null
@@ -1,29 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-//
-
-#nullable disable
-
-using System;
-using Azure.Core;
-
-namespace Azure.Communication.CallAutomation
-{
- /// Used to specify Blob container url to recording storage.
- internal partial class BlobStorageInternal
- {
- /// Initializes a new instance of BlobStorageInternal.
- /// Url of a container or a location within a container.
- /// is null.
- public BlobStorageInternal(string containerUri)
- {
- Argument.AssertNotNull(containerUri, nameof(containerUri));
-
- ContainerUri = containerUri;
- }
-
- /// Url of a container or a location within a container.
- public string ContainerUri { get; }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/CallConnectionPropertiesInternal.Serialization.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/CallConnectionPropertiesInternal.Serialization.cs
index c423598401c66..662448b4a3dac 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/CallConnectionPropertiesInternal.Serialization.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/CallConnectionPropertiesInternal.Serialization.cs
@@ -25,12 +25,11 @@ internal static CallConnectionPropertiesInternal DeserializeCallConnectionProper
Optional> targets = default;
Optional callConnectionState = default;
Optional callbackUri = default;
- Optional mediaSubscriptionId = default;
Optional sourceCallerIdNumber = default;
Optional sourceDisplayName = default;
- Optional sourceIdentity = default;
+ Optional source = default;
Optional correlationId = default;
- Optional answeredByIdentifier = default;
+ Optional answeredBy = default;
foreach (var property in element.EnumerateObject())
{
if (property.NameEquals("callConnectionId"u8))
@@ -71,11 +70,6 @@ internal static CallConnectionPropertiesInternal DeserializeCallConnectionProper
callbackUri = property.Value.GetString();
continue;
}
- if (property.NameEquals("mediaSubscriptionId"u8))
- {
- mediaSubscriptionId = property.Value.GetString();
- continue;
- }
if (property.NameEquals("sourceCallerIdNumber"u8))
{
if (property.Value.ValueKind == JsonValueKind.Null)
@@ -90,13 +84,13 @@ internal static CallConnectionPropertiesInternal DeserializeCallConnectionProper
sourceDisplayName = property.Value.GetString();
continue;
}
- if (property.NameEquals("sourceIdentity"u8))
+ if (property.NameEquals("source"u8))
{
if (property.Value.ValueKind == JsonValueKind.Null)
{
continue;
}
- sourceIdentity = CommunicationIdentifierModel.DeserializeCommunicationIdentifierModel(property.Value);
+ source = CommunicationIdentifierModel.DeserializeCommunicationIdentifierModel(property.Value);
continue;
}
if (property.NameEquals("correlationId"u8))
@@ -104,17 +98,17 @@ internal static CallConnectionPropertiesInternal DeserializeCallConnectionProper
correlationId = property.Value.GetString();
continue;
}
- if (property.NameEquals("answeredByIdentifier"u8))
+ if (property.NameEquals("answeredBy"u8))
{
if (property.Value.ValueKind == JsonValueKind.Null)
{
continue;
}
- answeredByIdentifier = CommunicationUserIdentifierModel.DeserializeCommunicationUserIdentifierModel(property.Value);
+ answeredBy = CommunicationUserIdentifierModel.DeserializeCommunicationUserIdentifierModel(property.Value);
continue;
}
}
- return new CallConnectionPropertiesInternal(callConnectionId.Value, serverCallId.Value, Optional.ToList(targets), Optional.ToNullable(callConnectionState), callbackUri.Value, mediaSubscriptionId.Value, sourceCallerIdNumber.Value, sourceDisplayName.Value, sourceIdentity.Value, correlationId.Value, answeredByIdentifier.Value);
+ return new CallConnectionPropertiesInternal(callConnectionId.Value, serverCallId.Value, Optional.ToList(targets), Optional.ToNullable(callConnectionState), callbackUri.Value, sourceCallerIdNumber.Value, sourceDisplayName.Value, source.Value, correlationId.Value, answeredBy.Value);
}
}
}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/CallConnectionPropertiesInternal.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/CallConnectionPropertiesInternal.cs
index 923217d55125d..bc98ab51b9b13 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/CallConnectionPropertiesInternal.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/CallConnectionPropertiesInternal.cs
@@ -26,28 +26,26 @@ internal CallConnectionPropertiesInternal()
/// The targets of the call.
/// The state of the call connection.
/// The callback URI.
- /// SubscriptionId for media streaming.
///
/// The source caller Id, a phone number, that's shown to the PSTN participant being invited.
/// Required only when calling a PSTN callee.
///
/// Display name of the call if dialing out to a pstn number.
- /// Source identity.
+ /// Source identity.
/// The correlation ID.
- /// Identity of the answering entity. Only populated when identity is provided in the request.
- internal CallConnectionPropertiesInternal(string callConnectionId, string serverCallId, IReadOnlyList targets, CallConnectionState? callConnectionState, string callbackUri, string mediaSubscriptionId, PhoneNumberIdentifierModel sourceCallerIdNumber, string sourceDisplayName, CommunicationIdentifierModel sourceIdentity, string correlationId, CommunicationUserIdentifierModel answeredByIdentifier)
+ /// Identity of the answering entity. Only populated when identity is provided in the request.
+ internal CallConnectionPropertiesInternal(string callConnectionId, string serverCallId, IReadOnlyList targets, CallConnectionState? callConnectionState, string callbackUri, PhoneNumberIdentifierModel sourceCallerIdNumber, string sourceDisplayName, CommunicationIdentifierModel source, string correlationId, CommunicationUserIdentifierModel answeredBy)
{
CallConnectionId = callConnectionId;
ServerCallId = serverCallId;
Targets = targets;
CallConnectionState = callConnectionState;
CallbackUri = callbackUri;
- MediaSubscriptionId = mediaSubscriptionId;
SourceCallerIdNumber = sourceCallerIdNumber;
SourceDisplayName = sourceDisplayName;
- SourceIdentity = sourceIdentity;
+ Source = source;
CorrelationId = correlationId;
- AnsweredByIdentifier = answeredByIdentifier;
+ AnsweredBy = answeredBy;
}
/// The call connection id.
@@ -60,8 +58,6 @@ internal CallConnectionPropertiesInternal(string callConnectionId, string server
public CallConnectionState? CallConnectionState { get; }
/// The callback URI.
public string CallbackUri { get; }
- /// SubscriptionId for media streaming.
- public string MediaSubscriptionId { get; }
///
/// The source caller Id, a phone number, that's shown to the PSTN participant being invited.
/// Required only when calling a PSTN callee.
@@ -70,10 +66,10 @@ internal CallConnectionPropertiesInternal(string callConnectionId, string server
/// Display name of the call if dialing out to a pstn number.
public string SourceDisplayName { get; }
/// Source identity.
- public CommunicationIdentifierModel SourceIdentity { get; }
+ public CommunicationIdentifierModel Source { get; }
/// The correlation ID.
public string CorrelationId { get; }
/// Identity of the answering entity. Only populated when identity is provided in the request.
- public CommunicationUserIdentifierModel AnsweredByIdentifier { get; }
+ public CommunicationUserIdentifierModel AnsweredBy { get; }
}
}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/CallMediaRecognitionType.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/CallMediaRecognitionType.cs
index d5346548c6599..81ec9e2a3e0a4 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/CallMediaRecognitionType.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/CallMediaRecognitionType.cs
@@ -26,15 +26,9 @@ public CallMediaRecognitionType(string value)
}
private const string DtmfValue = "dtmf";
- private const string SpeechValue = "speech";
- private const string ChoicesValue = "choices";
/// dtmf.
public static CallMediaRecognitionType Dtmf { get; } = new CallMediaRecognitionType(DtmfValue);
- /// speech.
- public static CallMediaRecognitionType Speech { get; } = new CallMediaRecognitionType(SpeechValue);
- /// choices.
- public static CallMediaRecognitionType Choices { get; } = new CallMediaRecognitionType(ChoicesValue);
/// Determines if two values are the same.
public static bool operator ==(CallMediaRecognitionType left, CallMediaRecognitionType right) => left.Equals(right);
/// Determines if two values are not the same.
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/CallParticipantInternal.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/CallParticipantInternal.cs
index 2aeed43973024..51dfd7db26a6b 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/CallParticipantInternal.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/CallParticipantInternal.cs
@@ -9,7 +9,7 @@
namespace Azure.Communication.CallAutomation
{
- /// Contract model of an ACS call participant.
+ /// A call participant.
internal partial class CallParticipantInternal
{
/// Initializes a new instance of CallParticipantInternal.
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/SendDtmfFailed.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/CallTransferAccepted.cs
similarity index 62%
rename from sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/SendDtmfFailed.cs
rename to sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/CallTransferAccepted.cs
index 15e625d941d74..2d557eb9daca2 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/SendDtmfFailed.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/CallTransferAccepted.cs
@@ -7,21 +7,21 @@
namespace Azure.Communication.CallAutomation
{
- /// The SendDtmfFailed.
- public partial class SendDtmfFailed
+ /// The call transfer accepted event.
+ public partial class CallTransferAccepted
{
- /// Initializes a new instance of SendDtmfFailed.
- internal SendDtmfFailed()
+ /// Initializes a new instance of CallTransferAccepted.
+ internal CallTransferAccepted()
{
}
- /// Initializes a new instance of SendDtmfFailed.
+ /// Initializes a new instance of CallTransferAccepted.
/// Call connection ID.
/// Server call ID.
- /// Correlation ID for event to call correlation.
+ /// Correlation ID for event to call correlation. Also called ChainId for skype chain ID.
/// Used by customers when calling mid-call actions to correlate the request to the response event.
/// Contains the resulting SIP code, sub-code and message.
- internal SendDtmfFailed(string callConnectionId, string serverCallId, string correlationId, string operationContext, ResultInformation resultInformation)
+ internal CallTransferAccepted(string callConnectionId, string serverCallId, string correlationId, string operationContext, ResultInformation resultInformation)
{
CallConnectionId = callConnectionId;
ServerCallId = serverCallId;
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/CallTransferFailed.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/CallTransferFailed.cs
index 73c3d3f9a70fe..c2e4e3d17bf88 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/CallTransferFailed.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/CallTransferFailed.cs
@@ -20,7 +20,7 @@ internal CallTransferFailed()
/// Server call ID.
/// Correlation ID for event to call correlation. Also called ChainId for skype chain ID.
/// Used by customers when calling mid-call actions to correlate the request to the response event.
- /// Contains the resulting SIP code/sub-code and message from NGC services.
+ /// Contains the resulting SIP code, sub-code and message.
internal CallTransferFailed(string callConnectionId, string serverCallId, string correlationId, string operationContext, ResultInformation resultInformation)
{
CallConnectionId = callConnectionId;
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/ChoiceResult.Serialization.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/ChoiceResult.Serialization.cs
deleted file mode 100644
index 50f18be24e912..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/ChoiceResult.Serialization.cs
+++ /dev/null
@@ -1,39 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-//
-
-#nullable disable
-
-using System.Text.Json;
-using Azure.Core;
-
-namespace Azure.Communication.CallAutomation
-{
- public partial class ChoiceResult
- {
- internal static ChoiceResult DeserializeChoiceResult(JsonElement element)
- {
- if (element.ValueKind == JsonValueKind.Null)
- {
- return null;
- }
- Optional label = default;
- Optional recognizedPhrase = default;
- foreach (var property in element.EnumerateObject())
- {
- if (property.NameEquals("label"u8))
- {
- label = property.Value.GetString();
- continue;
- }
- if (property.NameEquals("recognizedPhrase"u8))
- {
- recognizedPhrase = property.Value.GetString();
- continue;
- }
- }
- return new ChoiceResult(label.Value, recognizedPhrase.Value);
- }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/ChoiceResult.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/ChoiceResult.cs
deleted file mode 100644
index 1eb8655ae0b41..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/ChoiceResult.cs
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-//
-
-#nullable disable
-
-namespace Azure.Communication.CallAutomation
-{
- /// The ChoiceResult.
- public partial class ChoiceResult
- {
- /// Initializes a new instance of ChoiceResult.
- internal ChoiceResult()
- {
- }
-
- /// Initializes a new instance of ChoiceResult.
- /// Label is the primary identifier for the choice detected.
- ///
- /// Phrases are set to the value if choice is selected via phrase detection.
- /// If Dtmf input is recognized, then Label will be the identifier for the choice detected and phrases will be set to null
- ///
- internal ChoiceResult(string label, string recognizedPhrase)
- {
- Label = label;
- RecognizedPhrase = recognizedPhrase;
- }
-
- /// Label is the primary identifier for the choice detected.
- public string Label { get; }
- ///
- /// Phrases are set to the value if choice is selected via phrase detection.
- /// If Dtmf input is recognized, then Label will be the identifier for the choice detected and phrases will be set to null
- ///
- public string RecognizedPhrase { get; }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/CollectTonesResult.Serialization.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/CollectTonesResult.Serialization.cs
deleted file mode 100644
index 1b0a553c6fac4..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/CollectTonesResult.Serialization.cs
+++ /dev/null
@@ -1,43 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-//
-
-#nullable disable
-
-using System.Collections.Generic;
-using System.Text.Json;
-using Azure.Core;
-
-namespace Azure.Communication.CallAutomation
-{
- public partial class CollectTonesResult
- {
- internal static CollectTonesResult DeserializeCollectTonesResult(JsonElement element)
- {
- if (element.ValueKind == JsonValueKind.Null)
- {
- return null;
- }
- Optional> tones = default;
- foreach (var property in element.EnumerateObject())
- {
- if (property.NameEquals("tones"u8))
- {
- if (property.Value.ValueKind == JsonValueKind.Null)
- {
- continue;
- }
- List array = new List();
- foreach (var item in property.Value.EnumerateArray())
- {
- array.Add(new DtmfTone(item.GetString()));
- }
- tones = array;
- continue;
- }
- }
- return new CollectTonesResult(Optional.ToList(tones));
- }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/CollectTonesResult.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/CollectTonesResult.cs
deleted file mode 100644
index 0bd35b05d5a98..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/CollectTonesResult.cs
+++ /dev/null
@@ -1,29 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-//
-
-#nullable disable
-
-using System.Collections.Generic;
-using Azure.Core;
-
-namespace Azure.Communication.CallAutomation
-{
- /// The CollectTonesResult.
- public partial class CollectTonesResult
- {
- /// Initializes a new instance of CollectTonesResult.
- internal CollectTonesResult()
- {
- Tones = new ChangeTrackingList();
- }
-
- /// Initializes a new instance of CollectTonesResult.
- ///
- internal CollectTonesResult(IReadOnlyList tones)
- {
- Tones = tones;
- }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/CommunicationIdentifierModelKind.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/CommunicationIdentifierModelKind.cs
index d6fc6f9cede1e..8a02aca1cd035 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/CommunicationIdentifierModelKind.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/CommunicationIdentifierModelKind.cs
@@ -10,7 +10,7 @@
namespace Azure.Communication
{
- /// The identifier kind, for example 'communicationUser' or 'phoneNumber'.
+ /// The identifier kind, for example 'communicationUser' or 'phoneNumber'.
internal readonly partial struct CommunicationIdentifierModelKind : IEquatable
{
private readonly string _value;
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/ContinuousDtmfRecognitionRequestInternal.Serialization.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/ContinuousDtmfRecognitionRequestInternal.Serialization.cs
deleted file mode 100644
index 2205d8a22d686..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/ContinuousDtmfRecognitionRequestInternal.Serialization.cs
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-//
-
-#nullable disable
-
-using System.Text.Json;
-using Azure.Core;
-
-namespace Azure.Communication.CallAutomation
-{
- internal partial class ContinuousDtmfRecognitionRequestInternal : IUtf8JsonSerializable
- {
- void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
- {
- writer.WriteStartObject();
- writer.WritePropertyName("targetParticipant"u8);
- writer.WriteObjectValue(TargetParticipant);
- if (Optional.IsDefined(OperationContext))
- {
- writer.WritePropertyName("operationContext"u8);
- writer.WriteStringValue(OperationContext);
- }
- if (Optional.IsDefined(CallbackUri))
- {
- writer.WritePropertyName("callbackUri"u8);
- writer.WriteStringValue(CallbackUri);
- }
- writer.WriteEndObject();
- }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/ContinuousDtmfRecognitionRequestInternal.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/ContinuousDtmfRecognitionRequestInternal.cs
deleted file mode 100644
index bc6188582a171..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/ContinuousDtmfRecognitionRequestInternal.cs
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-//
-
-#nullable disable
-
-using System;
-using Azure.Communication;
-using Azure.Core;
-
-namespace Azure.Communication.CallAutomation
-{
- /// The ContinuousDtmfRecognitionRequest.
- internal partial class ContinuousDtmfRecognitionRequestInternal
- {
- /// Initializes a new instance of ContinuousDtmfRecognitionRequestInternal.
- /// Defines options for recognition.
- /// is null.
- public ContinuousDtmfRecognitionRequestInternal(CommunicationIdentifierModel targetParticipant)
- {
- Argument.AssertNotNull(targetParticipant, nameof(targetParticipant));
-
- TargetParticipant = targetParticipant;
- }
-
- /// Defines options for recognition.
- public CommunicationIdentifierModel TargetParticipant { get; }
- /// The value to identify context of the operation.
- public string OperationContext { get; set; }
- /// The callback URI to override the main callback URI.
- public string CallbackUri { get; set; }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/ContinuousDtmfRecognitionStopped.Serialization.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/ContinuousDtmfRecognitionStopped.Serialization.cs
deleted file mode 100644
index ea7fae65cdf34..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/ContinuousDtmfRecognitionStopped.Serialization.cs
+++ /dev/null
@@ -1,61 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-//
-
-#nullable disable
-
-using System.Text.Json;
-using Azure.Core;
-
-namespace Azure.Communication.CallAutomation
-{
- public partial class ContinuousDtmfRecognitionStopped
- {
- internal static ContinuousDtmfRecognitionStopped DeserializeContinuousDtmfRecognitionStopped(JsonElement element)
- {
- if (element.ValueKind == JsonValueKind.Null)
- {
- return null;
- }
- Optional callConnectionId = default;
- Optional serverCallId = default;
- Optional correlationId = default;
- Optional operationContext = default;
- Optional resultInformation = default;
- foreach (var property in element.EnumerateObject())
- {
- if (property.NameEquals("callConnectionId"u8))
- {
- callConnectionId = property.Value.GetString();
- continue;
- }
- if (property.NameEquals("serverCallId"u8))
- {
- serverCallId = property.Value.GetString();
- continue;
- }
- if (property.NameEquals("correlationId"u8))
- {
- correlationId = property.Value.GetString();
- continue;
- }
- if (property.NameEquals("operationContext"u8))
- {
- operationContext = property.Value.GetString();
- continue;
- }
- if (property.NameEquals("resultInformation"u8))
- {
- if (property.Value.ValueKind == JsonValueKind.Null)
- {
- continue;
- }
- resultInformation = ResultInformation.DeserializeResultInformation(property.Value);
- continue;
- }
- }
- return new ContinuousDtmfRecognitionStopped(callConnectionId.Value, serverCallId.Value, correlationId.Value, operationContext.Value, resultInformation.Value);
- }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/ContinuousDtmfRecognitionStopped.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/ContinuousDtmfRecognitionStopped.cs
deleted file mode 100644
index 4837bf8255a40..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/ContinuousDtmfRecognitionStopped.cs
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-//
-
-#nullable disable
-
-namespace Azure.Communication.CallAutomation
-{
- /// The ContinuousDtmfRecognitionStopped.
- public partial class ContinuousDtmfRecognitionStopped
- {
- /// Initializes a new instance of ContinuousDtmfRecognitionStopped.
- internal ContinuousDtmfRecognitionStopped()
- {
- }
-
- /// Initializes a new instance of ContinuousDtmfRecognitionStopped.
- /// Call connection ID.
- /// Server call ID.
- /// Correlation ID for event to call correlation.
- /// Used by customers when calling mid-call actions to correlate the request to the response event.
- /// Contains the resulting SIP code, sub-code and message.
- internal ContinuousDtmfRecognitionStopped(string callConnectionId, string serverCallId, string correlationId, string operationContext, ResultInformation resultInformation)
- {
- CallConnectionId = callConnectionId;
- ServerCallId = serverCallId;
- CorrelationId = correlationId;
- OperationContext = operationContext;
- ResultInformation = resultInformation;
- }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/ContinuousDtmfRecognitionToneFailed.Serialization.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/ContinuousDtmfRecognitionToneFailed.Serialization.cs
deleted file mode 100644
index 1c9adc999ce4d..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/ContinuousDtmfRecognitionToneFailed.Serialization.cs
+++ /dev/null
@@ -1,61 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-//
-
-#nullable disable
-
-using System.Text.Json;
-using Azure.Core;
-
-namespace Azure.Communication.CallAutomation
-{
- public partial class ContinuousDtmfRecognitionToneFailed
- {
- internal static ContinuousDtmfRecognitionToneFailed DeserializeContinuousDtmfRecognitionToneFailed(JsonElement element)
- {
- if (element.ValueKind == JsonValueKind.Null)
- {
- return null;
- }
- Optional callConnectionId = default;
- Optional serverCallId = default;
- Optional correlationId = default;
- Optional resultInformation = default;
- Optional operationContext = default;
- foreach (var property in element.EnumerateObject())
- {
- if (property.NameEquals("callConnectionId"u8))
- {
- callConnectionId = property.Value.GetString();
- continue;
- }
- if (property.NameEquals("serverCallId"u8))
- {
- serverCallId = property.Value.GetString();
- continue;
- }
- if (property.NameEquals("correlationId"u8))
- {
- correlationId = property.Value.GetString();
- continue;
- }
- if (property.NameEquals("resultInformation"u8))
- {
- if (property.Value.ValueKind == JsonValueKind.Null)
- {
- continue;
- }
- resultInformation = ResultInformation.DeserializeResultInformation(property.Value);
- continue;
- }
- if (property.NameEquals("operationContext"u8))
- {
- operationContext = property.Value.GetString();
- continue;
- }
- }
- return new ContinuousDtmfRecognitionToneFailed(callConnectionId.Value, serverCallId.Value, correlationId.Value, resultInformation.Value, operationContext.Value);
- }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/ContinuousDtmfRecognitionToneFailed.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/ContinuousDtmfRecognitionToneFailed.cs
deleted file mode 100644
index 83d1320d36260..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/ContinuousDtmfRecognitionToneFailed.cs
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-//
-
-#nullable disable
-
-namespace Azure.Communication.CallAutomation
-{
- /// The ContinuousDtmfRecognitionToneFailed.
- public partial class ContinuousDtmfRecognitionToneFailed
- {
- /// Initializes a new instance of ContinuousDtmfRecognitionToneFailed.
- internal ContinuousDtmfRecognitionToneFailed()
- {
- }
-
- /// Initializes a new instance of ContinuousDtmfRecognitionToneFailed.
- /// Call connection ID.
- /// Server call ID.
- /// Correlation ID for event to call correlation.
- /// Contains the resulting SIP code, sub-code and message.
- /// Used by customers when calling mid-call actions to correlate the request to the response event.
- internal ContinuousDtmfRecognitionToneFailed(string callConnectionId, string serverCallId, string correlationId, ResultInformation resultInformation, string operationContext)
- {
- CallConnectionId = callConnectionId;
- ServerCallId = serverCallId;
- CorrelationId = correlationId;
- ResultInformation = resultInformation;
- OperationContext = operationContext;
- }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/ContinuousDtmfRecognitionToneReceived.Serialization.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/ContinuousDtmfRecognitionToneReceived.Serialization.cs
deleted file mode 100644
index 7552e3a70424d..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/ContinuousDtmfRecognitionToneReceived.Serialization.cs
+++ /dev/null
@@ -1,71 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-//
-
-#nullable disable
-
-using System.Text.Json;
-using Azure.Core;
-
-namespace Azure.Communication.CallAutomation
-{
- public partial class ContinuousDtmfRecognitionToneReceived
- {
- internal static ContinuousDtmfRecognitionToneReceived DeserializeContinuousDtmfRecognitionToneReceived(JsonElement element)
- {
- if (element.ValueKind == JsonValueKind.Null)
- {
- return null;
- }
- Optional toneInfo = default;
- Optional callConnectionId = default;
- Optional serverCallId = default;
- Optional correlationId = default;
- Optional resultInformation = default;
- Optional operationContext = default;
- foreach (var property in element.EnumerateObject())
- {
- if (property.NameEquals("toneInfo"u8))
- {
- if (property.Value.ValueKind == JsonValueKind.Null)
- {
- continue;
- }
- toneInfo = ToneInfo.DeserializeToneInfo(property.Value);
- continue;
- }
- if (property.NameEquals("callConnectionId"u8))
- {
- callConnectionId = property.Value.GetString();
- continue;
- }
- if (property.NameEquals("serverCallId"u8))
- {
- serverCallId = property.Value.GetString();
- continue;
- }
- if (property.NameEquals("correlationId"u8))
- {
- correlationId = property.Value.GetString();
- continue;
- }
- if (property.NameEquals("resultInformation"u8))
- {
- if (property.Value.ValueKind == JsonValueKind.Null)
- {
- continue;
- }
- resultInformation = ResultInformation.DeserializeResultInformation(property.Value);
- continue;
- }
- if (property.NameEquals("operationContext"u8))
- {
- operationContext = property.Value.GetString();
- continue;
- }
- }
- return new ContinuousDtmfRecognitionToneReceived(toneInfo.Value, callConnectionId.Value, serverCallId.Value, correlationId.Value, resultInformation.Value, operationContext.Value);
- }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/ContinuousDtmfRecognitionToneReceived.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/ContinuousDtmfRecognitionToneReceived.cs
deleted file mode 100644
index cd2fb276deec2..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/ContinuousDtmfRecognitionToneReceived.cs
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-//
-
-#nullable disable
-
-namespace Azure.Communication.CallAutomation
-{
- /// The ContinuousDtmfRecognitionToneReceived.
- public partial class ContinuousDtmfRecognitionToneReceived
- {
- /// Initializes a new instance of ContinuousDtmfRecognitionToneReceived.
- internal ContinuousDtmfRecognitionToneReceived()
- {
- }
-
- /// Initializes a new instance of ContinuousDtmfRecognitionToneReceived.
- /// Information about Tone.
- /// Call connection ID.
- /// Server call ID.
- /// Correlation ID for event to call correlation. Also called ChainId or skype chain ID.
- /// Contains the resulting SIP code, sub-code and message.
- /// Used by customers when calling mid-call actions to correlate the request to the response event.
- internal ContinuousDtmfRecognitionToneReceived(ToneInfo toneInfo, string callConnectionId, string serverCallId, string correlationId, ResultInformation resultInformation, string operationContext)
- {
- ToneInfo = toneInfo;
- CallConnectionId = callConnectionId;
- ServerCallId = serverCallId;
- CorrelationId = correlationId;
- ResultInformation = resultInformation;
- OperationContext = operationContext;
- }
-
- /// Information about Tone.
- public ToneInfo ToneInfo { get; }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/CreateCallRequestInternal.Serialization.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/CreateCallRequestInternal.Serialization.cs
index 81b288e5932f3..e54c86fdfade7 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/CreateCallRequestInternal.Serialization.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/CreateCallRequestInternal.Serialization.cs
@@ -32,10 +32,10 @@ void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
writer.WritePropertyName("sourceDisplayName"u8);
writer.WriteStringValue(SourceDisplayName);
}
- if (Optional.IsDefined(SourceIdentity))
+ if (Optional.IsDefined(Source))
{
- writer.WritePropertyName("sourceIdentity"u8);
- writer.WriteObjectValue(SourceIdentity);
+ writer.WritePropertyName("source"u8);
+ writer.WriteObjectValue(Source);
}
if (Optional.IsDefined(OperationContext))
{
@@ -44,21 +44,6 @@ void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
}
writer.WritePropertyName("callbackUri"u8);
writer.WriteStringValue(CallbackUri);
- if (Optional.IsDefined(MediaStreamingConfiguration))
- {
- writer.WritePropertyName("mediaStreamingConfiguration"u8);
- writer.WriteObjectValue(MediaStreamingConfiguration);
- }
- if (Optional.IsDefined(AzureCognitiveServicesEndpointUrl))
- {
- writer.WritePropertyName("azureCognitiveServicesEndpointUrl"u8);
- writer.WriteStringValue(AzureCognitiveServicesEndpointUrl);
- }
- if (Optional.IsDefined(CustomContext))
- {
- writer.WritePropertyName("customContext"u8);
- writer.WriteObjectValue(CustomContext);
- }
writer.WriteEndObject();
}
}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/CreateCallRequestInternal.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/CreateCallRequestInternal.cs
index b7cd614b126fe..5d4028bb79e3b 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/CreateCallRequestInternal.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/CreateCallRequestInternal.cs
@@ -39,16 +39,10 @@ public CreateCallRequestInternal(IEnumerable targe
/// Display name of the call if dialing out to a pstn number.
public string SourceDisplayName { get; set; }
/// The identifier of the source of the call.
- public CommunicationUserIdentifierModel SourceIdentity { get; set; }
+ public CommunicationUserIdentifierModel Source { get; set; }
/// A customer set value used to track the answering of a call.
public string OperationContext { get; set; }
/// The callback URI.
public string CallbackUri { get; }
- /// Media Streaming Configuration.
- public MediaStreamingOptionsInternal MediaStreamingConfiguration { get; set; }
- /// The identifier of the Cognitive Service resource assigned to this call.
- public string AzureCognitiveServicesEndpointUrl { get; set; }
- /// Used by customer to send custom context to targets.
- public CustomContextInternal CustomContext { get; set; }
}
}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/CustomContextInternal.Serialization.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/CustomContextInternal.Serialization.cs
deleted file mode 100644
index 27f2b7bdc7492..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/CustomContextInternal.Serialization.cs
+++ /dev/null
@@ -1,43 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-//
-
-#nullable disable
-
-using System.Text.Json;
-using Azure.Core;
-
-namespace Azure.Communication.CallAutomation
-{
- internal partial class CustomContextInternal : IUtf8JsonSerializable
- {
- void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
- {
- writer.WriteStartObject();
- if (Optional.IsCollectionDefined(VoipHeaders))
- {
- writer.WritePropertyName("voipHeaders"u8);
- writer.WriteStartObject();
- foreach (var item in VoipHeaders)
- {
- writer.WritePropertyName(item.Key);
- writer.WriteStringValue(item.Value);
- }
- writer.WriteEndObject();
- }
- if (Optional.IsCollectionDefined(SipHeaders))
- {
- writer.WritePropertyName("sipHeaders"u8);
- writer.WriteStartObject();
- foreach (var item in SipHeaders)
- {
- writer.WritePropertyName(item.Key);
- writer.WriteStringValue(item.Value);
- }
- writer.WriteEndObject();
- }
- writer.WriteEndObject();
- }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/CustomContextInternal.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/CustomContextInternal.cs
deleted file mode 100644
index dd327b4ae9e5d..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/CustomContextInternal.cs
+++ /dev/null
@@ -1,28 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-//
-
-#nullable disable
-
-using System.Collections.Generic;
-using Azure.Core;
-
-namespace Azure.Communication.CallAutomation
-{
- /// The CustomContext.
- internal partial class CustomContextInternal
- {
- /// Initializes a new instance of CustomContextInternal.
- public CustomContextInternal()
- {
- VoipHeaders = new ChangeTrackingDictionary();
- SipHeaders = new ChangeTrackingDictionary();
- }
-
- /// Dictionary of <string>.
- public IDictionary VoipHeaders { get; }
- /// Dictionary of <string>.
- public IDictionary SipHeaders { get; }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/ExternalStorageInternal.Serialization.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/ExternalStorageInternal.Serialization.cs
deleted file mode 100644
index d3b19f82ccfa6..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/ExternalStorageInternal.Serialization.cs
+++ /dev/null
@@ -1,28 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-//
-
-#nullable disable
-
-using System.Text.Json;
-using Azure.Core;
-
-namespace Azure.Communication.CallAutomation
-{
- internal partial class ExternalStorageInternal : IUtf8JsonSerializable
- {
- void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
- {
- writer.WriteStartObject();
- writer.WritePropertyName("storageType"u8);
- writer.WriteStringValue(StorageType.ToString());
- if (Optional.IsDefined(BlobStorage))
- {
- writer.WritePropertyName("blobStorage"u8);
- writer.WriteObjectValue(BlobStorage);
- }
- writer.WriteEndObject();
- }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/ExternalStorageInternal.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/ExternalStorageInternal.cs
deleted file mode 100644
index dc5ad1971596f..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/ExternalStorageInternal.cs
+++ /dev/null
@@ -1,25 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-//
-
-#nullable disable
-
-namespace Azure.Communication.CallAutomation
-{
- /// The ExternalStorage.
- internal partial class ExternalStorageInternal
- {
- /// Initializes a new instance of ExternalStorageInternal.
- /// Defines the type of external storage.
- public ExternalStorageInternal(RecordingStorageType storageType)
- {
- StorageType = storageType;
- }
-
- /// Defines the type of external storage.
- public RecordingStorageType StorageType { get; }
- /// Defines the blob storage location where the recording will be stored.
- public BlobStorageInternal BlobStorage { get; set; }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/GenderType.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/GenderType.cs
deleted file mode 100644
index 4af066513fd15..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/GenderType.cs
+++ /dev/null
@@ -1,51 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-//
-
-#nullable disable
-
-using System;
-using System.ComponentModel;
-
-namespace Azure.Communication.CallAutomation
-{
- /// Voice gender type.
- public readonly partial struct GenderType : IEquatable
- {
- private readonly string _value;
-
- /// Initializes a new instance of .
- /// is null.
- public GenderType(string value)
- {
- _value = value ?? throw new ArgumentNullException(nameof(value));
- }
-
- private const string MaleValue = "male";
- private const string FemaleValue = "female";
-
- /// male.
- public static GenderType Male { get; } = new GenderType(MaleValue);
- /// female.
- public static GenderType Female { get; } = new GenderType(FemaleValue);
- /// Determines if two values are the same.
- public static bool operator ==(GenderType left, GenderType right) => left.Equals(right);
- /// Determines if two values are not the same.
- public static bool operator !=(GenderType left, GenderType right) => !left.Equals(right);
- /// Converts a string to a .
- public static implicit operator GenderType(string value) => new GenderType(value);
-
- ///
- [EditorBrowsable(EditorBrowsableState.Never)]
- public override bool Equals(object obj) => obj is GenderType other && Equals(other);
- ///
- public bool Equals(GenderType other) => string.Equals(_value, other._value, StringComparison.InvariantCultureIgnoreCase);
-
- ///
- [EditorBrowsable(EditorBrowsableState.Never)]
- public override int GetHashCode() => _value?.GetHashCode() ?? 0;
- ///
- public override string ToString() => _value;
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/GetParticipantsResponseInternal.Serialization.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/GetParticipantsResponseInternal.Serialization.cs
index be99cbf7e5dc6..7545da1ae51fb 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/GetParticipantsResponseInternal.Serialization.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/GetParticipantsResponseInternal.Serialization.cs
@@ -19,22 +19,18 @@ internal static GetParticipantsResponseInternal DeserializeGetParticipantsRespon
{
return null;
}
- Optional> values = default;
+ IReadOnlyList value = default;
Optional nextLink = default;
foreach (var property in element.EnumerateObject())
{
- if (property.NameEquals("values"u8))
+ if (property.NameEquals("value"u8))
{
- if (property.Value.ValueKind == JsonValueKind.Null)
- {
- continue;
- }
List array = new List();
foreach (var item in property.Value.EnumerateArray())
{
array.Add(CallParticipantInternal.DeserializeCallParticipantInternal(item));
}
- values = array;
+ value = array;
continue;
}
if (property.NameEquals("nextLink"u8))
@@ -43,7 +39,7 @@ internal static GetParticipantsResponseInternal DeserializeGetParticipantsRespon
continue;
}
}
- return new GetParticipantsResponseInternal(Optional.ToList(values), nextLink.Value);
+ return new GetParticipantsResponseInternal(value, nextLink.Value);
}
}
}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/GetParticipantsResponseInternal.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/GetParticipantsResponseInternal.cs
index 9890fd592b64d..6c09cc7412199 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/GetParticipantsResponseInternal.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/GetParticipantsResponseInternal.cs
@@ -5,7 +5,9 @@
#nullable disable
+using System;
using System.Collections.Generic;
+using System.Linq;
using Azure.Core;
namespace Azure.Communication.CallAutomation
@@ -14,22 +16,26 @@ namespace Azure.Communication.CallAutomation
internal partial class GetParticipantsResponseInternal
{
/// Initializes a new instance of GetParticipantsResponseInternal.
- internal GetParticipantsResponseInternal()
+ /// List of the current participants in the call.
+ /// is null.
+ internal GetParticipantsResponseInternal(IEnumerable value)
{
- Values = new ChangeTrackingList();
+ Argument.AssertNotNull(value, nameof(value));
+
+ Value = value.ToList();
}
/// Initializes a new instance of GetParticipantsResponseInternal.
- /// List of the current participants in the call.
+ /// List of the current participants in the call.
/// Continue of the list of participants.
- internal GetParticipantsResponseInternal(IReadOnlyList values, string nextLink)
+ internal GetParticipantsResponseInternal(IReadOnlyList value, string nextLink)
{
- Values = values;
+ Value = value;
NextLink = nextLink;
}
/// List of the current participants in the call.
- public IReadOnlyList Values { get; }
+ public IReadOnlyList Value { get; }
/// Continue of the list of participants.
public string NextLink { get; }
}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/MediaStreamingAudioChannel.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/MediaStreamingAudioChannel.cs
deleted file mode 100644
index 30756acd736f7..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/MediaStreamingAudioChannel.cs
+++ /dev/null
@@ -1,51 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-//
-
-#nullable disable
-
-using System;
-using System.ComponentModel;
-
-namespace Azure.Communication.CallAutomation
-{
- /// Audio channel type to stream, eg. unmixed audio, mixed audio.
- public readonly partial struct MediaStreamingAudioChannel : IEquatable
- {
- private readonly string _value;
-
- /// Initializes a new instance of .
- /// is null.
- public MediaStreamingAudioChannel(string value)
- {
- _value = value ?? throw new ArgumentNullException(nameof(value));
- }
-
- private const string MixedValue = "mixed";
- private const string UnmixedValue = "unmixed";
-
- /// mixed.
- public static MediaStreamingAudioChannel Mixed { get; } = new MediaStreamingAudioChannel(MixedValue);
- /// unmixed.
- public static MediaStreamingAudioChannel Unmixed { get; } = new MediaStreamingAudioChannel(UnmixedValue);
- /// Determines if two values are the same.
- public static bool operator ==(MediaStreamingAudioChannel left, MediaStreamingAudioChannel right) => left.Equals(right);
- /// Determines if two values are not the same.
- public static bool operator !=(MediaStreamingAudioChannel left, MediaStreamingAudioChannel right) => !left.Equals(right);
- /// Converts a string to a .
- public static implicit operator MediaStreamingAudioChannel(string value) => new MediaStreamingAudioChannel(value);
-
- ///
- [EditorBrowsable(EditorBrowsableState.Never)]
- public override bool Equals(object obj) => obj is MediaStreamingAudioChannel other && Equals(other);
- ///
- public bool Equals(MediaStreamingAudioChannel other) => string.Equals(_value, other._value, StringComparison.InvariantCultureIgnoreCase);
-
- ///
- [EditorBrowsable(EditorBrowsableState.Never)]
- public override int GetHashCode() => _value?.GetHashCode() ?? 0;
- ///
- public override string ToString() => _value;
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/MediaStreamingContent.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/MediaStreamingContent.cs
deleted file mode 100644
index 20aa52094e669..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/MediaStreamingContent.cs
+++ /dev/null
@@ -1,48 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-//
-
-#nullable disable
-
-using System;
-using System.ComponentModel;
-
-namespace Azure.Communication.CallAutomation
-{
- /// Content type to stream, eg. audio, audio/video.
- public readonly partial struct MediaStreamingContent : IEquatable
- {
- private readonly string _value;
-
- /// Initializes a new instance of .
- /// is null.
- public MediaStreamingContent(string value)
- {
- _value = value ?? throw new ArgumentNullException(nameof(value));
- }
-
- private const string AudioValue = "audio";
-
- /// audio.
- public static MediaStreamingContent Audio { get; } = new MediaStreamingContent(AudioValue);
- /// Determines if two values are the same.
- public static bool operator ==(MediaStreamingContent left, MediaStreamingContent right) => left.Equals(right);
- /// Determines if two values are not the same.
- public static bool operator !=(MediaStreamingContent left, MediaStreamingContent right) => !left.Equals(right);
- /// Converts a string to a .
- public static implicit operator MediaStreamingContent(string value) => new MediaStreamingContent(value);
-
- ///
- [EditorBrowsable(EditorBrowsableState.Never)]
- public override bool Equals(object obj) => obj is MediaStreamingContent other && Equals(other);
- ///
- public bool Equals(MediaStreamingContent other) => string.Equals(_value, other._value, StringComparison.InvariantCultureIgnoreCase);
-
- ///
- [EditorBrowsable(EditorBrowsableState.Never)]
- public override int GetHashCode() => _value?.GetHashCode() ?? 0;
- ///
- public override string ToString() => _value;
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/MediaStreamingOptionsInternal.Serialization.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/MediaStreamingOptionsInternal.Serialization.cs
deleted file mode 100644
index 424812f03b4cf..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/MediaStreamingOptionsInternal.Serialization.cs
+++ /dev/null
@@ -1,29 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-//
-
-#nullable disable
-
-using System.Text.Json;
-using Azure.Core;
-
-namespace Azure.Communication.CallAutomation
-{
- internal partial class MediaStreamingOptionsInternal : IUtf8JsonSerializable
- {
- void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
- {
- writer.WriteStartObject();
- writer.WritePropertyName("transportUrl"u8);
- writer.WriteStringValue(TransportUrl);
- writer.WritePropertyName("transportType"u8);
- writer.WriteStringValue(TransportType.ToString());
- writer.WritePropertyName("contentType"u8);
- writer.WriteStringValue(ContentType.ToString());
- writer.WritePropertyName("audioChannelType"u8);
- writer.WriteStringValue(AudioChannelType.ToString());
- writer.WriteEndObject();
- }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/MediaStreamingOptionsInternal.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/MediaStreamingOptionsInternal.cs
deleted file mode 100644
index 5d1de2685201c..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/MediaStreamingOptionsInternal.cs
+++ /dev/null
@@ -1,41 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-//
-
-#nullable disable
-
-using System;
-using Azure.Core;
-
-namespace Azure.Communication.CallAutomation
-{
- /// Configuration of Media streaming.
- internal partial class MediaStreamingOptionsInternal
- {
- /// Initializes a new instance of MediaStreamingOptionsInternal.
- /// Transport URL for media streaming.
- /// The type of transport to be used for media streaming, eg. Websocket.
- /// Content type to stream, eg. audio, audio/video.
- /// Audio channel type to stream, eg. unmixed audio, mixed audio.
- /// is null.
- public MediaStreamingOptionsInternal(string transportUrl, MediaStreamingTransport transportType, MediaStreamingContent contentType, MediaStreamingAudioChannel audioChannelType)
- {
- Argument.AssertNotNull(transportUrl, nameof(transportUrl));
-
- TransportUrl = transportUrl;
- TransportType = transportType;
- ContentType = contentType;
- AudioChannelType = audioChannelType;
- }
-
- /// Transport URL for media streaming.
- public string TransportUrl { get; }
- /// The type of transport to be used for media streaming, eg. Websocket.
- public MediaStreamingTransport TransportType { get; }
- /// Content type to stream, eg. audio, audio/video.
- public MediaStreamingContent ContentType { get; }
- /// Audio channel type to stream, eg. unmixed audio, mixed audio.
- public MediaStreamingAudioChannel AudioChannelType { get; }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/MediaStreamingTransport.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/MediaStreamingTransport.cs
deleted file mode 100644
index 5f32ea2d2564e..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/MediaStreamingTransport.cs
+++ /dev/null
@@ -1,48 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-//
-
-#nullable disable
-
-using System;
-using System.ComponentModel;
-
-namespace Azure.Communication.CallAutomation
-{
- /// The type of transport to be used for media streaming, eg. Websocket.
- public readonly partial struct MediaStreamingTransport : IEquatable
- {
- private readonly string _value;
-
- /// Initializes a new instance of .
- /// is null.
- public MediaStreamingTransport(string value)
- {
- _value = value ?? throw new ArgumentNullException(nameof(value));
- }
-
- private const string WebsocketValue = "websocket";
-
- /// websocket.
- public static MediaStreamingTransport Websocket { get; } = new MediaStreamingTransport(WebsocketValue);
- /// Determines if two values are the same.
- public static bool operator ==(MediaStreamingTransport left, MediaStreamingTransport right) => left.Equals(right);
- /// Determines if two values are not the same.
- public static bool operator !=(MediaStreamingTransport left, MediaStreamingTransport right) => !left.Equals(right);
- /// Converts a string to a .
- public static implicit operator MediaStreamingTransport(string value) => new MediaStreamingTransport(value);
-
- ///
- [EditorBrowsable(EditorBrowsableState.Never)]
- public override bool Equals(object obj) => obj is MediaStreamingTransport other && Equals(other);
- ///
- public bool Equals(MediaStreamingTransport other) => string.Equals(_value, other._value, StringComparison.InvariantCultureIgnoreCase);
-
- ///
- [EditorBrowsable(EditorBrowsableState.Never)]
- public override int GetHashCode() => _value?.GetHashCode() ?? 0;
- ///
- public override string ToString() => _value;
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/MicrosoftTeamsUserIdentifierModel.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/MicrosoftTeamsUserIdentifierModel.cs
index 20dfff30e6fed..70d6f6e84a419 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/MicrosoftTeamsUserIdentifierModel.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/MicrosoftTeamsUserIdentifierModel.cs
@@ -26,7 +26,7 @@ public MicrosoftTeamsUserIdentifierModel(string userId)
/// Initializes a new instance of MicrosoftTeamsUserIdentifierModel.
/// The Id of the Microsoft Teams user. If not anonymous, this is the AAD object Id of the user.
/// True if the Microsoft Teams user is anonymous. By default false if missing.
- /// The cloud that the Microsoft Teams user belongs to. By default 'public' if missing.
+ /// The cloud that the Microsoft Teams user belongs to. By default 'public' if missing.
internal MicrosoftTeamsUserIdentifierModel(string userId, bool? isAnonymous, CommunicationCloudEnvironmentModel? cloud)
{
UserId = userId;
@@ -38,7 +38,7 @@ internal MicrosoftTeamsUserIdentifierModel(string userId, bool? isAnonymous, Com
public string UserId { get; set; }
/// True if the Microsoft Teams user is anonymous. By default false if missing.
public bool? IsAnonymous { get; set; }
- /// The cloud that the Microsoft Teams user belongs to. By default 'public' if missing.
+ /// The cloud that the Microsoft Teams user belongs to. By default 'public' if missing.
public CommunicationCloudEnvironmentModel? Cloud { get; set; }
}
}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/MuteParticipantsRequestInternal.Serialization.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/MuteParticipantsRequestInternal.Serialization.cs
deleted file mode 100644
index a522f12aa8f58..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/MuteParticipantsRequestInternal.Serialization.cs
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-//
-
-#nullable disable
-
-using System.Text.Json;
-using Azure.Core;
-
-namespace Azure.Communication.CallAutomation
-{
- internal partial class MuteParticipantsRequestInternal : IUtf8JsonSerializable
- {
- void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
- {
- writer.WriteStartObject();
- writer.WritePropertyName("targetParticipants"u8);
- writer.WriteStartArray();
- foreach (var item in TargetParticipants)
- {
- writer.WriteObjectValue(item);
- }
- writer.WriteEndArray();
- if (Optional.IsDefined(OperationContext))
- {
- writer.WritePropertyName("operationContext"u8);
- writer.WriteStringValue(OperationContext);
- }
- writer.WriteEndObject();
- }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/MuteParticipantsRequestInternal.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/MuteParticipantsRequestInternal.cs
deleted file mode 100644
index 99191de0fe37f..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/MuteParticipantsRequestInternal.cs
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-//
-
-#nullable disable
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using Azure.Communication;
-using Azure.Core;
-
-namespace Azure.Communication.CallAutomation
-{
- /// The request payload for muting participants from the call.
- internal partial class MuteParticipantsRequestInternal
- {
- /// Initializes a new instance of MuteParticipantsRequestInternal.
- ///
- /// Participants to be muted from the call.
- /// Only ACS Users are supported.
- ///
- /// is null.
- public MuteParticipantsRequestInternal(IEnumerable targetParticipants)
- {
- Argument.AssertNotNull(targetParticipants, nameof(targetParticipants));
-
- TargetParticipants = targetParticipants.ToList();
- }
-
- ///
- /// Participants to be muted from the call.
- /// Only ACS Users are supported.
- ///
- public IList TargetParticipants { get; }
- /// Used by customers when calling mid-call actions to correlate the request to the response event.
- public string OperationContext { get; set; }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/MuteParticipantsResult.Serialization.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/MuteParticipantsResult.Serialization.cs
deleted file mode 100644
index 617bafaa5485d..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/MuteParticipantsResult.Serialization.cs
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-//
-
-#nullable disable
-
-using System.Text.Json;
-using Azure.Core;
-
-namespace Azure.Communication.CallAutomation
-{
- public partial class MuteParticipantsResult
- {
- internal static MuteParticipantsResult DeserializeMuteParticipantsResult(JsonElement element)
- {
- if (element.ValueKind == JsonValueKind.Null)
- {
- return null;
- }
- Optional operationContext = default;
- foreach (var property in element.EnumerateObject())
- {
- if (property.NameEquals("operationContext"u8))
- {
- operationContext = property.Value.GetString();
- continue;
- }
- }
- return new MuteParticipantsResult(operationContext.Value);
- }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/MuteParticipantsResult.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/MuteParticipantsResult.cs
deleted file mode 100644
index aca681bb64142..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/MuteParticipantsResult.cs
+++ /dev/null
@@ -1,28 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-//
-
-#nullable disable
-
-namespace Azure.Communication.CallAutomation
-{
- /// The response payload for muting participants from the call.
- public partial class MuteParticipantsResult
- {
- /// Initializes a new instance of MuteParticipantsResult.
- internal MuteParticipantsResult()
- {
- }
-
- /// Initializes a new instance of MuteParticipantsResult.
- /// The operation context provided by client.
- internal MuteParticipantsResult(string operationContext)
- {
- OperationContext = operationContext;
- }
-
- /// The operation context provided by client.
- public string OperationContext { get; }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/PlayRequestInternal.Serialization.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/PlayRequestInternal.Serialization.cs
index 143d2d58fee64..89a0d1a2ee92f 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/PlayRequestInternal.Serialization.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/PlayRequestInternal.Serialization.cs
@@ -15,8 +15,13 @@ internal partial class PlayRequestInternal : IUtf8JsonSerializable
void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
{
writer.WriteStartObject();
- writer.WritePropertyName("playSourceInfo"u8);
- writer.WriteObjectValue(PlaySourceInfo);
+ writer.WritePropertyName("playSources"u8);
+ writer.WriteStartArray();
+ foreach (var item in PlaySources)
+ {
+ writer.WriteObjectValue(item);
+ }
+ writer.WriteEndArray();
if (Optional.IsCollectionDefined(PlayTo))
{
writer.WritePropertyName("playTo"u8);
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/PlayRequestInternal.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/PlayRequestInternal.cs
index aa290fb3caa34..919c3d9307c35 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/PlayRequestInternal.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/PlayRequestInternal.cs
@@ -7,6 +7,7 @@
using System;
using System.Collections.Generic;
+using System.Linq;
using Azure.Communication;
using Azure.Core;
@@ -16,18 +17,18 @@ namespace Azure.Communication.CallAutomation
internal partial class PlayRequestInternal
{
/// Initializes a new instance of PlayRequestInternal.
- /// The source of the audio to be played.
- /// is null.
- public PlayRequestInternal(PlaySourceInternal playSourceInfo)
+ /// The source of the audio to be played.
+ /// is null.
+ public PlayRequestInternal(IEnumerable playSources)
{
- Argument.AssertNotNull(playSourceInfo, nameof(playSourceInfo));
+ Argument.AssertNotNull(playSources, nameof(playSources));
- PlaySourceInfo = playSourceInfo;
+ PlaySources = playSources.ToList();
PlayTo = new ChangeTrackingList();
}
/// The source of the audio to be played.
- public PlaySourceInternal PlaySourceInfo { get; }
+ public IList PlaySources { get; }
/// Defines options for playing the audio.
public PlayOptionsInternal PlayOptions { get; set; }
/// The value to identify context of the operation.
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/PlaySourceInternal.Serialization.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/PlaySourceInternal.Serialization.cs
index eca5ba2cf7f76..f6ae51776edf3 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/PlaySourceInternal.Serialization.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/PlaySourceInternal.Serialization.cs
@@ -15,27 +15,17 @@ internal partial class PlaySourceInternal : IUtf8JsonSerializable
void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
{
writer.WriteStartObject();
- writer.WritePropertyName("sourceType"u8);
- writer.WriteStringValue(SourceType.ToString());
- if (Optional.IsDefined(PlaySourceId))
+ writer.WritePropertyName("kind"u8);
+ writer.WriteStringValue(Kind.ToString());
+ if (Optional.IsDefined(PlaySourceCacheId))
{
- writer.WritePropertyName("playSourceId"u8);
- writer.WriteStringValue(PlaySourceId);
+ writer.WritePropertyName("playSourceCacheId"u8);
+ writer.WriteStringValue(PlaySourceCacheId);
}
- if (Optional.IsDefined(FileSource))
+ if (Optional.IsDefined(File))
{
- writer.WritePropertyName("fileSource"u8);
- writer.WriteObjectValue(FileSource);
- }
- if (Optional.IsDefined(TextSource))
- {
- writer.WritePropertyName("textSource"u8);
- writer.WriteObjectValue(TextSource);
- }
- if (Optional.IsDefined(SsmlSource))
- {
- writer.WritePropertyName("ssmlSource"u8);
- writer.WriteObjectValue(SsmlSource);
+ writer.WritePropertyName("file"u8);
+ writer.WriteObjectValue(File);
}
writer.WriteEndObject();
}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/PlaySourceInternal.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/PlaySourceInternal.cs
index c6b69e0b497e6..003ff6fe52a98 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/PlaySourceInternal.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/PlaySourceInternal.cs
@@ -11,21 +11,17 @@ namespace Azure.Communication.CallAutomation
internal partial class PlaySourceInternal
{
/// Initializes a new instance of PlaySourceInternal.
- /// Defines the type of the play source.
- public PlaySourceInternal(PlaySourceTypeInternal sourceType)
+ /// Defines the type of the play source.
+ public PlaySourceInternal(PlaySourceTypeInternal kind)
{
- SourceType = sourceType;
+ Kind = kind;
}
/// Defines the type of the play source.
- public PlaySourceTypeInternal SourceType { get; }
+ public PlaySourceTypeInternal Kind { get; }
/// Defines the identifier to be used for caching related media.
- public string PlaySourceId { get; set; }
+ public string PlaySourceCacheId { get; set; }
/// Defines the file source info to be used for play.
- public FileSourceInternal FileSource { get; set; }
- /// Defines the text source info to be used for play.
- public TextSourceInternal TextSource { get; set; }
- /// Defines the ssml(Speech Synthesis Markup Language) source info to be used for play.
- public SsmlSourceInternal SsmlSource { get; set; }
+ public FileSourceInternal File { get; set; }
}
}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/PlaySourceTypeInternal.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/PlaySourceTypeInternal.cs
index 19ed421d235d3..2d41ac4bb40ad 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/PlaySourceTypeInternal.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/PlaySourceTypeInternal.cs
@@ -23,15 +23,9 @@ public PlaySourceTypeInternal(string value)
}
private const string FileValue = "file";
- private const string TextValue = "text";
- private const string SsmlValue = "ssml";
/// file.
public static PlaySourceTypeInternal File { get; } = new PlaySourceTypeInternal(FileValue);
- /// text.
- public static PlaySourceTypeInternal Text { get; } = new PlaySourceTypeInternal(TextValue);
- /// ssml.
- public static PlaySourceTypeInternal Ssml { get; } = new PlaySourceTypeInternal(SsmlValue);
/// Determines if two values are the same.
public static bool operator ==(PlaySourceTypeInternal left, PlaySourceTypeInternal right) => left.Equals(right);
/// Determines if two values are not the same.
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/RecognizeChoice.Serialization.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/RecognizeChoice.Serialization.cs
deleted file mode 100644
index a3aee2b3360fd..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/RecognizeChoice.Serialization.cs
+++ /dev/null
@@ -1,75 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-//
-
-#nullable disable
-
-using System.Collections.Generic;
-using System.Text.Json;
-using Azure.Core;
-
-namespace Azure.Communication.CallAutomation
-{
- public partial class RecognizeChoice : IUtf8JsonSerializable
- {
- void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
- {
- writer.WriteStartObject();
- writer.WritePropertyName("label"u8);
- writer.WriteStringValue(Label);
- writer.WritePropertyName("phrases"u8);
- writer.WriteStartArray();
- foreach (var item in Phrases)
- {
- writer.WriteStringValue(item);
- }
- writer.WriteEndArray();
- if (Optional.IsDefined(Tone))
- {
- writer.WritePropertyName("tone"u8);
- writer.WriteStringValue(Tone.Value.ToString());
- }
- writer.WriteEndObject();
- }
-
- internal static RecognizeChoice DeserializeRecognizeChoice(JsonElement element)
- {
- if (element.ValueKind == JsonValueKind.Null)
- {
- return null;
- }
- string label = default;
- IList phrases = default;
- Optional tone = default;
- foreach (var property in element.EnumerateObject())
- {
- if (property.NameEquals("label"u8))
- {
- label = property.Value.GetString();
- continue;
- }
- if (property.NameEquals("phrases"u8))
- {
- List array = new List();
- foreach (var item in property.Value.EnumerateArray())
- {
- array.Add(item.GetString());
- }
- phrases = array;
- continue;
- }
- if (property.NameEquals("tone"u8))
- {
- if (property.Value.ValueKind == JsonValueKind.Null)
- {
- continue;
- }
- tone = new DtmfTone(property.Value.GetString());
- continue;
- }
- }
- return new RecognizeChoice(label, phrases, Optional.ToNullable(tone));
- }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/RecognizeChoice.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/RecognizeChoice.cs
deleted file mode 100644
index cd2a29ac9f467..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/RecognizeChoice.cs
+++ /dev/null
@@ -1,49 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-//
-
-#nullable disable
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using Azure.Core;
-
-namespace Azure.Communication.CallAutomation
-{
- /// The Choice.
- public partial class RecognizeChoice
- {
- /// Initializes a new instance of RecognizeChoice.
- /// Identifier for a given choice.
- /// List of phrases to recognize.
- /// or is null.
- public RecognizeChoice(string label, IEnumerable phrases)
- {
- Argument.AssertNotNull(label, nameof(label));
- Argument.AssertNotNull(phrases, nameof(phrases));
-
- Label = label;
- Phrases = phrases.ToList();
- }
-
- /// Initializes a new instance of RecognizeChoice.
- /// Identifier for a given choice.
- /// List of phrases to recognize.
- ///
- internal RecognizeChoice(string label, IList phrases, DtmfTone? tone)
- {
- Label = label;
- Phrases = phrases;
- Tone = tone;
- }
-
- /// Identifier for a given choice.
- public string Label { get; set; }
- /// List of phrases to recognize.
- public IList Phrases { get; }
- /// Gets or sets the tone.
- public DtmfTone? Tone { get; set; }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/RecognizeCompletedInternal.Serialization.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/RecognizeCompletedInternal.Serialization.cs
index 5dac41a9dfb6a..1f9cf9d90f72c 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/RecognizeCompletedInternal.Serialization.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/RecognizeCompletedInternal.Serialization.cs
@@ -24,10 +24,7 @@ internal static RecognizeCompletedInternal DeserializeRecognizeCompletedInternal
Optional operationContext = default;
Optional resultInformation = default;
Optional recognitionType = default;
- Optional collectTonesResult = default;
Optional dtmfResult = default;
- Optional choiceResult = default;
- Optional speechResult = default;
foreach (var property in element.EnumerateObject())
{
if (property.NameEquals("callConnectionId"u8))
@@ -68,15 +65,6 @@ internal static RecognizeCompletedInternal DeserializeRecognizeCompletedInternal
recognitionType = new CallMediaRecognitionType(property.Value.GetString());
continue;
}
- if (property.NameEquals("collectTonesResult"u8))
- {
- if (property.Value.ValueKind == JsonValueKind.Null)
- {
- continue;
- }
- collectTonesResult = CollectTonesResult.DeserializeCollectTonesResult(property.Value);
- continue;
- }
if (property.NameEquals("dtmfResult"u8))
{
if (property.Value.ValueKind == JsonValueKind.Null)
@@ -86,26 +74,8 @@ internal static RecognizeCompletedInternal DeserializeRecognizeCompletedInternal
dtmfResult = DtmfResult.DeserializeDtmfResult(property.Value);
continue;
}
- if (property.NameEquals("choiceResult"u8))
- {
- if (property.Value.ValueKind == JsonValueKind.Null)
- {
- continue;
- }
- choiceResult = ChoiceResult.DeserializeChoiceResult(property.Value);
- continue;
- }
- if (property.NameEquals("speechResult"u8))
- {
- if (property.Value.ValueKind == JsonValueKind.Null)
- {
- continue;
- }
- speechResult = SpeechResult.DeserializeSpeechResult(property.Value);
- continue;
- }
}
- return new RecognizeCompletedInternal(callConnectionId.Value, serverCallId.Value, correlationId.Value, operationContext.Value, resultInformation.Value, recognitionType, collectTonesResult.Value, dtmfResult.Value, choiceResult.Value, speechResult.Value);
+ return new RecognizeCompletedInternal(callConnectionId.Value, serverCallId.Value, correlationId.Value, operationContext.Value, resultInformation.Value, recognitionType, dtmfResult.Value);
}
}
}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/RecognizeCompletedInternal.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/RecognizeCompletedInternal.cs
index d51b3839657cf..0299325ce1854 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/RecognizeCompletedInternal.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/RecognizeCompletedInternal.cs
@@ -25,14 +25,8 @@ internal RecognizeCompletedInternal()
/// Determines the sub-type of the recognize operation.
/// In case of cancel operation the this field is not set and is returned empty
///
- ///
- /// Defines the result for RecognitionType = Dtmf
- /// Would be replaced by DtmfResult after server sdk renewed
- ///
/// Defines the result for RecognitionType = Dtmf.
- /// Defines the result for RecognitionType = Choices.
- /// Defines the result for RecognitionType = Speech and SpeechOrDtmf.
- internal RecognizeCompletedInternal(string callConnectionId, string serverCallId, string correlationId, string operationContext, ResultInformation resultInformation, CallMediaRecognitionType recognitionType, CollectTonesResult collectTonesResult, DtmfResult dtmfResult, ChoiceResult choiceResult, SpeechResult speechResult)
+ internal RecognizeCompletedInternal(string callConnectionId, string serverCallId, string correlationId, string operationContext, ResultInformation resultInformation, CallMediaRecognitionType recognitionType, DtmfResult dtmfResult)
{
CallConnectionId = callConnectionId;
ServerCallId = serverCallId;
@@ -40,21 +34,9 @@ internal RecognizeCompletedInternal(string callConnectionId, string serverCallId
OperationContext = operationContext;
ResultInformation = resultInformation;
RecognitionType = recognitionType;
- CollectTonesResult = collectTonesResult;
DtmfResult = dtmfResult;
- ChoiceResult = choiceResult;
- SpeechResult = speechResult;
}
- ///
- /// Defines the result for RecognitionType = Dtmf
- /// Would be replaced by DtmfResult after server sdk renewed
- ///
- public CollectTonesResult CollectTonesResult { get; }
/// Defines the result for RecognitionType = Dtmf.
public DtmfResult DtmfResult { get; }
- /// Defines the result for RecognitionType = Choices.
- public ChoiceResult ChoiceResult { get; }
- /// Defines the result for RecognitionType = Speech and SpeechOrDtmf.
- public SpeechResult SpeechResult { get; }
}
}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/RecognizeInputType.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/RecognizeInputType.cs
index d88a45fdda370..bf8f57d152c73 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/RecognizeInputType.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/RecognizeInputType.cs
@@ -23,18 +23,9 @@ public RecognizeInputType(string value)
}
private const string DtmfValue = "dtmf";
- private const string SpeechValue = "speech";
- private const string SpeechOrDtmfValue = "speechOrDtmf";
- private const string ChoicesValue = "choices";
/// dtmf.
public static RecognizeInputType Dtmf { get; } = new RecognizeInputType(DtmfValue);
- /// speech.
- public static RecognizeInputType Speech { get; } = new RecognizeInputType(SpeechValue);
- /// speechOrDtmf.
- public static RecognizeInputType SpeechOrDtmf { get; } = new RecognizeInputType(SpeechOrDtmfValue);
- /// choices.
- public static RecognizeInputType Choices { get; } = new RecognizeInputType(ChoicesValue);
/// Determines if two values are the same.
public static bool operator ==(RecognizeInputType left, RecognizeInputType right) => left.Equals(right);
/// Determines if two values are not the same.
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/RecognizeOptionsInternal.Serialization.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/RecognizeOptionsInternal.Serialization.cs
index 64e6574562213..c30a995f668f4 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/RecognizeOptionsInternal.Serialization.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/RecognizeOptionsInternal.Serialization.cs
@@ -27,36 +27,11 @@ void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
}
writer.WritePropertyName("targetParticipant"u8);
writer.WriteObjectValue(TargetParticipant);
- if (Optional.IsDefined(SpeechLanguage))
- {
- writer.WritePropertyName("speechLanguage"u8);
- writer.WriteStringValue(SpeechLanguage);
- }
- if (Optional.IsDefined(SpeechRecognitionModelEndpointId))
- {
- writer.WritePropertyName("speechRecognitionModelEndpointId"u8);
- writer.WriteStringValue(SpeechRecognitionModelEndpointId);
- }
if (Optional.IsDefined(DtmfOptions))
{
writer.WritePropertyName("dtmfOptions"u8);
writer.WriteObjectValue(DtmfOptions);
}
- if (Optional.IsCollectionDefined(Choices))
- {
- writer.WritePropertyName("choices"u8);
- writer.WriteStartArray();
- foreach (var item in Choices)
- {
- writer.WriteObjectValue(item);
- }
- writer.WriteEndArray();
- }
- if (Optional.IsDefined(SpeechOptions))
- {
- writer.WritePropertyName("speechOptions"u8);
- writer.WriteObjectValue(SpeechOptions);
- }
writer.WriteEndObject();
}
}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/RecognizeOptionsInternal.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/RecognizeOptionsInternal.cs
index 75c7747ba747a..f86b94378fb75 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/RecognizeOptionsInternal.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/RecognizeOptionsInternal.cs
@@ -6,7 +6,6 @@
#nullable disable
using System;
-using System.Collections.Generic;
using Azure.Communication;
using Azure.Core;
@@ -23,7 +22,6 @@ public RecognizeOptionsInternal(CommunicationIdentifierModel targetParticipant)
Argument.AssertNotNull(targetParticipant, nameof(targetParticipant));
TargetParticipant = targetParticipant;
- Choices = new ChangeTrackingList();
}
/// Determines if we interrupt the prompt and start recognizing.
@@ -32,15 +30,7 @@ public RecognizeOptionsInternal(CommunicationIdentifierModel targetParticipant)
public int? InitialSilenceTimeoutInSeconds { get; set; }
/// Target participant of DTMF tone recognition.
public CommunicationIdentifierModel TargetParticipant { get; }
- /// Speech language to be recognized, If not set default is en-US.
- public string SpeechLanguage { get; set; }
- /// Endpoint where the custom model was deployed.
- public string SpeechRecognitionModelEndpointId { get; set; }
/// Defines configurations for DTMF.
public DtmfOptionsInternal DtmfOptions { get; set; }
- /// Defines Ivr choices for recognize.
- public IList Choices { get; }
- /// Defines continuous speech recognition option.
- public SpeechOptionsInternal SpeechOptions { get; set; }
}
}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/RecordingStorageType.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/RecordingStorageType.cs
deleted file mode 100644
index 92c9c1dabb003..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/RecordingStorageType.cs
+++ /dev/null
@@ -1,51 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-//
-
-#nullable disable
-
-using System;
-using System.ComponentModel;
-
-namespace Azure.Communication.CallAutomation
-{
- /// Defines the type of external storage.
- public readonly partial struct RecordingStorageType : IEquatable
- {
- private readonly string _value;
-
- /// Initializes a new instance of .
- /// is null.
- public RecordingStorageType(string value)
- {
- _value = value ?? throw new ArgumentNullException(nameof(value));
- }
-
- private const string AcsValue = "acs";
- private const string BlobStorageValue = "blobStorage";
-
- /// acs.
- public static RecordingStorageType Acs { get; } = new RecordingStorageType(AcsValue);
- /// blobStorage.
- public static RecordingStorageType BlobStorage { get; } = new RecordingStorageType(BlobStorageValue);
- /// Determines if two values are the same.
- public static bool operator ==(RecordingStorageType left, RecordingStorageType right) => left.Equals(right);
- /// Determines if two values are not the same.
- public static bool operator !=(RecordingStorageType left, RecordingStorageType right) => !left.Equals(right);
- /// Converts a string to a .
- public static implicit operator RecordingStorageType(string value) => new RecordingStorageType(value);
-
- ///
- [EditorBrowsable(EditorBrowsableState.Never)]
- public override bool Equals(object obj) => obj is RecordingStorageType other && Equals(other);
- ///
- public bool Equals(RecordingStorageType other) => string.Equals(_value, other._value, StringComparison.InvariantCultureIgnoreCase);
-
- ///
- [EditorBrowsable(EditorBrowsableState.Never)]
- public override int GetHashCode() => _value?.GetHashCode() ?? 0;
- ///
- public override string ToString() => _value;
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/RedirectCallRequestInternal.Serialization.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/RedirectCallRequestInternal.Serialization.cs
index c4d7608f7978b..fce4f5e9a9ee1 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/RedirectCallRequestInternal.Serialization.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/RedirectCallRequestInternal.Serialization.cs
@@ -19,11 +19,6 @@ void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
writer.WriteStringValue(IncomingCallContext);
writer.WritePropertyName("target"u8);
writer.WriteObjectValue(Target);
- if (Optional.IsDefined(CustomContext))
- {
- writer.WritePropertyName("customContext"u8);
- writer.WriteObjectValue(CustomContext);
- }
writer.WriteEndObject();
}
}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/RedirectCallRequestInternal.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/RedirectCallRequestInternal.cs
index 6f96b735c5e29..68d04df6f6912 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/RedirectCallRequestInternal.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/RedirectCallRequestInternal.cs
@@ -31,7 +31,5 @@ public RedirectCallRequestInternal(string incomingCallContext, CommunicationIden
public string IncomingCallContext { get; }
/// The target identity to redirect the call to.
public CommunicationIdentifierModel Target { get; }
- /// Used by customer to send custom context to targets.
- public CustomContextInternal CustomContext { get; set; }
}
}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/RemoveParticipantFailedInternal.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/RemoveParticipantFailedInternal.cs
index 50e3b793ab411..fbcbb469adaa8 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/RemoveParticipantFailedInternal.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/RemoveParticipantFailedInternal.cs
@@ -22,7 +22,7 @@ internal RemoveParticipantFailedInternal()
/// Server call ID.
/// Correlation ID for event to call correlation. Also called ChainId for skype chain ID.
/// Used by customers when calling mid-call actions to correlate the request to the response event.
- /// Contains the resulting SIP code/sub-code and message from NGC services.
+ /// Contains the resulting SIP code, sub-code and message.
/// Participant.
internal RemoveParticipantFailedInternal(string callConnectionId, string serverCallId, string correlationId, string operationContext, ResultInformation resultInformation, CommunicationIdentifierModel participant)
{
@@ -42,7 +42,7 @@ internal RemoveParticipantFailedInternal(string callConnectionId, string serverC
public string CorrelationId { get; }
/// Used by customers when calling mid-call actions to correlate the request to the response event.
public string OperationContext { get; }
- /// Contains the resulting SIP code/sub-code and message from NGC services.
+ /// Contains the resulting SIP code, sub-code and message.
public ResultInformation ResultInformation { get; }
/// Participant.
public CommunicationIdentifierModel Participant { get; }
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/RemoveParticipantSucceededInternal.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/RemoveParticipantSucceededInternal.cs
index c159aac3febf3..3a0e7193c4b92 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/RemoveParticipantSucceededInternal.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/RemoveParticipantSucceededInternal.cs
@@ -22,7 +22,7 @@ internal RemoveParticipantSucceededInternal()
/// Server call ID.
/// Correlation ID for event to call correlation. Also called ChainId for skype chain ID.
/// Used by customers when calling mid-call actions to correlate the request to the response event.
- /// Contains the resulting SIP code/sub-code and message from NGC services.
+ /// Contains the resulting SIP code, sub-code and message.
/// Participant.
internal RemoveParticipantSucceededInternal(string callConnectionId, string serverCallId, string correlationId, string operationContext, ResultInformation resultInformation, CommunicationIdentifierModel participant)
{
@@ -42,7 +42,7 @@ internal RemoveParticipantSucceededInternal(string callConnectionId, string serv
public string CorrelationId { get; }
/// Used by customers when calling mid-call actions to correlate the request to the response event.
public string OperationContext { get; }
- /// Contains the resulting SIP code/sub-code and message from NGC services.
+ /// Contains the resulting SIP code, sub-code and message.
public ResultInformation ResultInformation { get; }
/// Participant.
public CommunicationIdentifierModel Participant { get; }
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/SendDtmfCompleted.Serialization.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/SendDtmfCompleted.Serialization.cs
deleted file mode 100644
index b7eaaf96bc456..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/SendDtmfCompleted.Serialization.cs
+++ /dev/null
@@ -1,61 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-//
-
-#nullable disable
-
-using System.Text.Json;
-using Azure.Core;
-
-namespace Azure.Communication.CallAutomation
-{
- public partial class SendDtmfCompleted
- {
- internal static SendDtmfCompleted DeserializeSendDtmfCompleted(JsonElement element)
- {
- if (element.ValueKind == JsonValueKind.Null)
- {
- return null;
- }
- Optional callConnectionId = default;
- Optional serverCallId = default;
- Optional correlationId = default;
- Optional operationContext = default;
- Optional resultInformation = default;
- foreach (var property in element.EnumerateObject())
- {
- if (property.NameEquals("callConnectionId"u8))
- {
- callConnectionId = property.Value.GetString();
- continue;
- }
- if (property.NameEquals("serverCallId"u8))
- {
- serverCallId = property.Value.GetString();
- continue;
- }
- if (property.NameEquals("correlationId"u8))
- {
- correlationId = property.Value.GetString();
- continue;
- }
- if (property.NameEquals("operationContext"u8))
- {
- operationContext = property.Value.GetString();
- continue;
- }
- if (property.NameEquals("resultInformation"u8))
- {
- if (property.Value.ValueKind == JsonValueKind.Null)
- {
- continue;
- }
- resultInformation = ResultInformation.DeserializeResultInformation(property.Value);
- continue;
- }
- }
- return new SendDtmfCompleted(callConnectionId.Value, serverCallId.Value, correlationId.Value, operationContext.Value, resultInformation.Value);
- }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/SendDtmfCompleted.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/SendDtmfCompleted.cs
deleted file mode 100644
index 2f35cff847967..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/SendDtmfCompleted.cs
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-//
-
-#nullable disable
-
-namespace Azure.Communication.CallAutomation
-{
- /// The SendDtmfCompleted.
- public partial class SendDtmfCompleted
- {
- /// Initializes a new instance of SendDtmfCompleted.
- internal SendDtmfCompleted()
- {
- }
-
- /// Initializes a new instance of SendDtmfCompleted.
- /// Call connection ID.
- /// Server call ID.
- /// Correlation ID for event to call correlation.
- /// Used by customers when calling mid-call actions to correlate the request to the response event.
- /// Contains the resulting SIP code, sub-code and message.
- internal SendDtmfCompleted(string callConnectionId, string serverCallId, string correlationId, string operationContext, ResultInformation resultInformation)
- {
- CallConnectionId = callConnectionId;
- ServerCallId = serverCallId;
- CorrelationId = correlationId;
- OperationContext = operationContext;
- ResultInformation = resultInformation;
- }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/SendDtmfFailed.Serialization.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/SendDtmfFailed.Serialization.cs
deleted file mode 100644
index 4bf095ef32604..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/SendDtmfFailed.Serialization.cs
+++ /dev/null
@@ -1,61 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-//
-
-#nullable disable
-
-using System.Text.Json;
-using Azure.Core;
-
-namespace Azure.Communication.CallAutomation
-{
- public partial class SendDtmfFailed
- {
- internal static SendDtmfFailed DeserializeSendDtmfFailed(JsonElement element)
- {
- if (element.ValueKind == JsonValueKind.Null)
- {
- return null;
- }
- Optional callConnectionId = default;
- Optional serverCallId = default;
- Optional correlationId = default;
- Optional operationContext = default;
- Optional resultInformation = default;
- foreach (var property in element.EnumerateObject())
- {
- if (property.NameEquals("callConnectionId"u8))
- {
- callConnectionId = property.Value.GetString();
- continue;
- }
- if (property.NameEquals("serverCallId"u8))
- {
- serverCallId = property.Value.GetString();
- continue;
- }
- if (property.NameEquals("correlationId"u8))
- {
- correlationId = property.Value.GetString();
- continue;
- }
- if (property.NameEquals("operationContext"u8))
- {
- operationContext = property.Value.GetString();
- continue;
- }
- if (property.NameEquals("resultInformation"u8))
- {
- if (property.Value.ValueKind == JsonValueKind.Null)
- {
- continue;
- }
- resultInformation = ResultInformation.DeserializeResultInformation(property.Value);
- continue;
- }
- }
- return new SendDtmfFailed(callConnectionId.Value, serverCallId.Value, correlationId.Value, operationContext.Value, resultInformation.Value);
- }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/SendDtmfRequestInternal.Serialization.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/SendDtmfRequestInternal.Serialization.cs
deleted file mode 100644
index eb1c265cbddfd..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/SendDtmfRequestInternal.Serialization.cs
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-//
-
-#nullable disable
-
-using System.Text.Json;
-using Azure.Core;
-
-namespace Azure.Communication.CallAutomation
-{
- internal partial class SendDtmfRequestInternal : IUtf8JsonSerializable
- {
- void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
- {
- writer.WriteStartObject();
- writer.WritePropertyName("tones"u8);
- writer.WriteStartArray();
- foreach (var item in Tones)
- {
- writer.WriteStringValue(item.ToString());
- }
- writer.WriteEndArray();
- writer.WritePropertyName("targetParticipant"u8);
- writer.WriteObjectValue(TargetParticipant);
- if (Optional.IsDefined(OperationContext))
- {
- writer.WritePropertyName("operationContext"u8);
- writer.WriteStringValue(OperationContext);
- }
- if (Optional.IsDefined(CallbackUri))
- {
- writer.WritePropertyName("callbackUri"u8);
- writer.WriteStringValue(CallbackUri);
- }
- writer.WriteEndObject();
- }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/SendDtmfRequestInternal.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/SendDtmfRequestInternal.cs
deleted file mode 100644
index b08a0e1e5a68d..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/SendDtmfRequestInternal.cs
+++ /dev/null
@@ -1,41 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-//
-
-#nullable disable
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using Azure.Communication;
-using Azure.Core;
-
-namespace Azure.Communication.CallAutomation
-{
- /// The SendDtmfRequest.
- internal partial class SendDtmfRequestInternal
- {
- /// Initializes a new instance of SendDtmfRequestInternal.
- /// List of tones to be sent to target participant.
- /// Target participant of send DTMF.
- /// or is null.
- public SendDtmfRequestInternal(IEnumerable tones, CommunicationIdentifierModel targetParticipant)
- {
- Argument.AssertNotNull(tones, nameof(tones));
- Argument.AssertNotNull(targetParticipant, nameof(targetParticipant));
-
- Tones = tones.ToList();
- TargetParticipant = targetParticipant;
- }
-
- /// List of tones to be sent to target participant.
- public IList Tones { get; }
- /// Target participant of send DTMF.
- public CommunicationIdentifierModel TargetParticipant { get; }
- /// The value to identify context of the operation.
- public string OperationContext { get; set; }
- /// The callback URI to override the main callback URI.
- public string CallbackUri { get; set; }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/SpeechOptionsInternal.Serialization.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/SpeechOptionsInternal.Serialization.cs
deleted file mode 100644
index d13218841d36d..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/SpeechOptionsInternal.Serialization.cs
+++ /dev/null
@@ -1,26 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-//
-
-#nullable disable
-
-using System.Text.Json;
-using Azure.Core;
-
-namespace Azure.Communication.CallAutomation
-{
- internal partial class SpeechOptionsInternal : IUtf8JsonSerializable
- {
- void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
- {
- writer.WriteStartObject();
- if (Optional.IsDefined(EndSilenceTimeoutInMs))
- {
- writer.WritePropertyName("endSilenceTimeoutInMs"u8);
- writer.WriteNumberValue(EndSilenceTimeoutInMs.Value);
- }
- writer.WriteEndObject();
- }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/SpeechOptionsInternal.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/SpeechOptionsInternal.cs
deleted file mode 100644
index 46988d0eff6ac..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/SpeechOptionsInternal.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-//
-
-#nullable disable
-
-namespace Azure.Communication.CallAutomation
-{
- /// Options for continuous speech recognition.
- internal partial class SpeechOptionsInternal
- {
- /// Initializes a new instance of SpeechOptionsInternal.
- public SpeechOptionsInternal()
- {
- }
-
- /// The length of end silence when user stops speaking and cogservice send response.
- public long? EndSilenceTimeoutInMs { get; set; }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/SpeechResult.Serialization.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/SpeechResult.Serialization.cs
deleted file mode 100644
index 4a2cb48576233..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/SpeechResult.Serialization.cs
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-//
-
-#nullable disable
-
-using System.Text.Json;
-using Azure.Core;
-
-namespace Azure.Communication.CallAutomation
-{
- public partial class SpeechResult
- {
- internal static SpeechResult DeserializeSpeechResult(JsonElement element)
- {
- if (element.ValueKind == JsonValueKind.Null)
- {
- return null;
- }
- Optional speech = default;
- foreach (var property in element.EnumerateObject())
- {
- if (property.NameEquals("speech"u8))
- {
- speech = property.Value.GetString();
- continue;
- }
- }
- return new SpeechResult(speech.Value);
- }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/SpeechResult.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/SpeechResult.cs
deleted file mode 100644
index 627320d3b2859..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/SpeechResult.cs
+++ /dev/null
@@ -1,28 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-//
-
-#nullable disable
-
-namespace Azure.Communication.CallAutomation
-{
- /// The speech status as a result.
- public partial class SpeechResult
- {
- /// Initializes a new instance of SpeechResult.
- internal SpeechResult()
- {
- }
-
- /// Initializes a new instance of SpeechResult.
- /// The recognized speech in string.
- internal SpeechResult(string speech)
- {
- Speech = speech;
- }
-
- /// The recognized speech in string.
- public string Speech { get; }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/SsmlSourceInternal.Serialization.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/SsmlSourceInternal.Serialization.cs
deleted file mode 100644
index 0794b308c93ae..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/SsmlSourceInternal.Serialization.cs
+++ /dev/null
@@ -1,28 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-//
-
-#nullable disable
-
-using System.Text.Json;
-using Azure.Core;
-
-namespace Azure.Communication.CallAutomation
-{
- internal partial class SsmlSourceInternal : IUtf8JsonSerializable
- {
- void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
- {
- writer.WriteStartObject();
- writer.WritePropertyName("ssmlText"u8);
- writer.WriteStringValue(SsmlText);
- if (Optional.IsDefined(CustomVoiceEndpointId))
- {
- writer.WritePropertyName("customVoiceEndpointId"u8);
- writer.WriteStringValue(CustomVoiceEndpointId);
- }
- writer.WriteEndObject();
- }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/SsmlSourceInternal.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/SsmlSourceInternal.cs
deleted file mode 100644
index 3ad406964e336..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/SsmlSourceInternal.cs
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-//
-
-#nullable disable
-
-using System;
-using Azure.Core;
-
-namespace Azure.Communication.CallAutomation
-{
- /// The SsmlSource.
- internal partial class SsmlSourceInternal
- {
- /// Initializes a new instance of SsmlSourceInternal.
- /// Ssml string for the cognitive service to be played.
- /// is null.
- public SsmlSourceInternal(string ssmlText)
- {
- Argument.AssertNotNull(ssmlText, nameof(ssmlText));
-
- SsmlText = ssmlText;
- }
-
- /// Ssml string for the cognitive service to be played.
- public string SsmlText { get; }
- /// Endpoint where the custom voice was deployed.
- public string CustomVoiceEndpointId { get; set; }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/StartCallRecordingRequestInternal.Serialization.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/StartCallRecordingRequestInternal.Serialization.cs
index 233a426655f40..6cf9b160497d8 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/StartCallRecordingRequestInternal.Serialization.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/StartCallRecordingRequestInternal.Serialization.cs
@@ -57,11 +57,6 @@ void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
}
writer.WriteEndArray();
}
- if (Optional.IsDefined(ExternalStorage))
- {
- writer.WritePropertyName("externalStorage"u8);
- writer.WriteObjectValue(ExternalStorage);
- }
writer.WriteEndObject();
}
}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/StartCallRecordingRequestInternal.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/StartCallRecordingRequestInternal.cs
index f6339c95c77a8..597d9d974fd75 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/StartCallRecordingRequestInternal.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/StartCallRecordingRequestInternal.cs
@@ -51,7 +51,5 @@ public StartCallRecordingRequestInternal(CallLocatorInternal callLocator)
/// ///
///
public IList ChannelAffinity { get; }
- /// Optional property to specify location where recording will be stored.
- public ExternalStorageInternal ExternalStorage { get; set; }
}
}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/TextSourceInternal.Serialization.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/TextSourceInternal.Serialization.cs
deleted file mode 100644
index 27ad60ec81075..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/TextSourceInternal.Serialization.cs
+++ /dev/null
@@ -1,43 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-//
-
-#nullable disable
-
-using System.Text.Json;
-using Azure.Core;
-
-namespace Azure.Communication.CallAutomation
-{
- internal partial class TextSourceInternal : IUtf8JsonSerializable
- {
- void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
- {
- writer.WriteStartObject();
- writer.WritePropertyName("text"u8);
- writer.WriteStringValue(Text);
- if (Optional.IsDefined(SourceLocale))
- {
- writer.WritePropertyName("sourceLocale"u8);
- writer.WriteStringValue(SourceLocale);
- }
- if (Optional.IsDefined(VoiceGender))
- {
- writer.WritePropertyName("voiceGender"u8);
- writer.WriteStringValue(VoiceGender.Value.ToString());
- }
- if (Optional.IsDefined(VoiceName))
- {
- writer.WritePropertyName("voiceName"u8);
- writer.WriteStringValue(VoiceName);
- }
- if (Optional.IsDefined(CustomVoiceEndpointId))
- {
- writer.WritePropertyName("customVoiceEndpointId"u8);
- writer.WriteStringValue(CustomVoiceEndpointId);
- }
- writer.WriteEndObject();
- }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/TextSourceInternal.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/TextSourceInternal.cs
deleted file mode 100644
index 1d18a5067e12d..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/TextSourceInternal.cs
+++ /dev/null
@@ -1,43 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-//
-
-#nullable disable
-
-using System;
-using Azure.Core;
-
-namespace Azure.Communication.CallAutomation
-{
- /// The TextSource.
- internal partial class TextSourceInternal
- {
- /// Initializes a new instance of TextSourceInternal.
- /// Text for the cognitive service to be played.
- /// is null.
- public TextSourceInternal(string text)
- {
- Argument.AssertNotNull(text, nameof(text));
-
- Text = text;
- }
-
- /// Text for the cognitive service to be played.
- public string Text { get; }
- ///
- /// Source language locale to be played
- /// Refer to available locales here: <seealso href="https://learn.microsoft.com/en-us/azure/cognitive-services/speech-service/language-support?tabs=stt-tts" />
- ///
- public string SourceLocale { get; set; }
- /// Voice gender type.
- public GenderType? VoiceGender { get; set; }
- ///
- /// Voice name to be played
- /// Refer to available Text-to-speech voices here: <seealso href="https://learn.microsoft.com/en-us/azure/cognitive-services/speech-service/language-support?tabs=stt-tts" />
- ///
- public string VoiceName { get; set; }
- /// Endpoint where the custom voice was deployed.
- public string CustomVoiceEndpointId { get; set; }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/ToneInfo.Serialization.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/ToneInfo.Serialization.cs
deleted file mode 100644
index 1f8bbf9bfeb6d..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/ToneInfo.Serialization.cs
+++ /dev/null
@@ -1,39 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-//
-
-#nullable disable
-
-using System.Text.Json;
-using Azure.Core;
-
-namespace Azure.Communication.CallAutomation
-{
- public partial class ToneInfo
- {
- internal static ToneInfo DeserializeToneInfo(JsonElement element)
- {
- if (element.ValueKind == JsonValueKind.Null)
- {
- return null;
- }
- int sequenceId = default;
- DtmfTone tone = default;
- foreach (var property in element.EnumerateObject())
- {
- if (property.NameEquals("sequenceId"u8))
- {
- sequenceId = property.Value.GetInt32();
- continue;
- }
- if (property.NameEquals("tone"u8))
- {
- tone = new DtmfTone(property.Value.GetString());
- continue;
- }
- }
- return new ToneInfo(sequenceId, tone);
- }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/ToneInfo.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/ToneInfo.cs
deleted file mode 100644
index 9d8bec0d80132..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/ToneInfo.cs
+++ /dev/null
@@ -1,27 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-//
-
-#nullable disable
-
-namespace Azure.Communication.CallAutomation
-{
- /// The information about the tone.
- public partial class ToneInfo
- {
- /// Initializes a new instance of ToneInfo.
- /// The sequence id which can be used to determine if the same tone was played multiple times or if any tones were missed.
- ///
- internal ToneInfo(int sequenceId, DtmfTone tone)
- {
- SequenceId = sequenceId;
- Tone = tone;
- }
-
- /// The sequence id which can be used to determine if the same tone was played multiple times or if any tones were missed.
- public int SequenceId { get; }
- /// Gets the tone.
- public DtmfTone Tone { get; }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/TransferToParticipantRequestInternal.Serialization.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/TransferToParticipantRequestInternal.Serialization.cs
index 4209a8a10b308..6e78a4db3a09f 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/TransferToParticipantRequestInternal.Serialization.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/TransferToParticipantRequestInternal.Serialization.cs
@@ -17,11 +17,6 @@ void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
writer.WriteStartObject();
writer.WritePropertyName("targetParticipant"u8);
writer.WriteObjectValue(TargetParticipant);
- if (Optional.IsDefined(CustomContext))
- {
- writer.WritePropertyName("customContext"u8);
- writer.WriteObjectValue(CustomContext);
- }
if (Optional.IsDefined(OperationContext))
{
writer.WritePropertyName("operationContext"u8);
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/TransferToParticipantRequestInternal.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/TransferToParticipantRequestInternal.cs
index 0fdd0ceb227e9..35a0e3c518125 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/TransferToParticipantRequestInternal.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/TransferToParticipantRequestInternal.cs
@@ -26,8 +26,6 @@ public TransferToParticipantRequestInternal(CommunicationIdentifierModel targetP
/// The identity of the target where call should be transferred to.
public CommunicationIdentifierModel TargetParticipant { get; }
- /// Used by customer to send custom context to targets.
- public CustomContextInternal CustomContext { get; set; }
/// Used by customers when calling mid-call actions to correlate the request to the response event.
public string OperationContext { get; set; }
/// Transferee is the participant who is transferring the call.
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/UnmuteParticipantsRequestInternal.Serialization.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/UnmuteParticipantsRequestInternal.Serialization.cs
deleted file mode 100644
index 059a7742b5551..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/UnmuteParticipantsRequestInternal.Serialization.cs
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-//
-
-#nullable disable
-
-using System.Text.Json;
-using Azure.Core;
-
-namespace Azure.Communication.CallAutomation
-{
- internal partial class UnmuteParticipantsRequestInternal : IUtf8JsonSerializable
- {
- void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
- {
- writer.WriteStartObject();
- writer.WritePropertyName("targetParticipants"u8);
- writer.WriteStartArray();
- foreach (var item in TargetParticipants)
- {
- writer.WriteObjectValue(item);
- }
- writer.WriteEndArray();
- if (Optional.IsDefined(OperationContext))
- {
- writer.WritePropertyName("operationContext"u8);
- writer.WriteStringValue(OperationContext);
- }
- writer.WriteEndObject();
- }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/UnmuteParticipantsRequestInternal.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/UnmuteParticipantsRequestInternal.cs
deleted file mode 100644
index 5f8a73cd3f746..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/UnmuteParticipantsRequestInternal.cs
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-//
-
-#nullable disable
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using Azure.Communication;
-using Azure.Core;
-
-namespace Azure.Communication.CallAutomation
-{
- /// The request payload for unmuting participant from the call.
- internal partial class UnmuteParticipantsRequestInternal
- {
- /// Initializes a new instance of UnmuteParticipantsRequestInternal.
- ///
- /// Participants to be unmuted from the call.
- /// Only ACS Users are supported.
- ///
- /// is null.
- public UnmuteParticipantsRequestInternal(IEnumerable targetParticipants)
- {
- Argument.AssertNotNull(targetParticipants, nameof(targetParticipants));
-
- TargetParticipants = targetParticipants.ToList();
- }
-
- ///
- /// Participants to be unmuted from the call.
- /// Only ACS Users are supported.
- ///
- public IList TargetParticipants { get; }
- /// Used by customers when calling mid-call actions to correlate the request to the response event.
- public string OperationContext { get; set; }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/UnmuteParticipantsResult.Serialization.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/UnmuteParticipantsResult.Serialization.cs
deleted file mode 100644
index a23c2a91a993f..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/UnmuteParticipantsResult.Serialization.cs
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-//
-
-#nullable disable
-
-using System.Text.Json;
-using Azure.Core;
-
-namespace Azure.Communication.CallAutomation
-{
- public partial class UnmuteParticipantsResult
- {
- internal static UnmuteParticipantsResult DeserializeUnmuteParticipantsResult(JsonElement element)
- {
- if (element.ValueKind == JsonValueKind.Null)
- {
- return null;
- }
- Optional operationContext = default;
- foreach (var property in element.EnumerateObject())
- {
- if (property.NameEquals("operationContext"u8))
- {
- operationContext = property.Value.GetString();
- continue;
- }
- }
- return new UnmuteParticipantsResult(operationContext.Value);
- }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/UnmuteParticipantsResult.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/UnmuteParticipantsResult.cs
deleted file mode 100644
index 80dc112b86e36..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Generated/Models/UnmuteParticipantsResult.cs
+++ /dev/null
@@ -1,28 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-//
-
-#nullable disable
-
-namespace Azure.Communication.CallAutomation
-{
- /// The response payload for unmuting participants from the call.
- public partial class UnmuteParticipantsResult
- {
- /// Initializes a new instance of UnmuteParticipantsResult.
- internal UnmuteParticipantsResult()
- {
- }
-
- /// Initializes a new instance of UnmuteParticipantsResult.
- /// The operation context provided by client.
- internal UnmuteParticipantsResult(string operationContext)
- {
- OperationContext = operationContext;
- }
-
- /// The operation context provided by client.
- public string OperationContext { get; }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Models/AnswerCallOptions.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Models/AnswerCallOptions.cs
index 9b52e394413a6..c5edc6f2edfcb 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Models/AnswerCallOptions.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Models/AnswerCallOptions.cs
@@ -31,11 +31,6 @@ public AnswerCallOptions(string incomingCallContext, Uri callbackUri)
///
public Uri CallbackUri { get; }
- ///
- /// Media Streaming Configuration.
- ///
- public MediaStreamingOptions MediaStreamingOptions { get; set; }
-
///
/// The endpoint uri of the Azure Cognitive Services resource attached
///
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Models/BlobStorage.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Models/BlobStorage.cs
deleted file mode 100644
index adb0a435cd638..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Models/BlobStorage.cs
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-using Azure.Core;
-
-namespace Azure.Communication.CallAutomation
-{
- ///
- /// Used to specify Blob container url for storing recordings.
- ///
- public class BlobStorage : ExternalStorage
- {
- ///
- /// Url of a container or a location within a container.
- ///
- public Uri ContainerUri { get; }
-
- ///
- /// Initializes a new instance of BlobStorage.
- ///
- /// Url of a container or a location within a container.
- public BlobStorage(Uri containerUri)
- {
- Argument.AssertNotNull(containerUri, nameof(containerUri));
- ContainerUri = containerUri;
- StorageType = RecordingStorageType.BlobStorage;
- }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Models/BlobStorageInternal.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Models/BlobStorageInternal.cs
deleted file mode 100644
index 80ddf8188d838..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Models/BlobStorageInternal.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using Azure.Core;
-
-namespace Azure.Communication.CallAutomation
-{
- [CodeGenModel("BlobStorage")]
- internal partial class BlobStorageInternal
- {
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Models/CallConnectionProperties.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Models/CallConnectionProperties.cs
index 1c125a42848c1..c838c6816af0e 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Models/CallConnectionProperties.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Models/CallConnectionProperties.cs
@@ -19,8 +19,7 @@ internal CallConnectionProperties(
CommunicationIdentifier sourceIdentity,
PhoneNumberIdentifier sourceCallerIdNumber,
string sourceDisplayName,
- string mediaSubscriptionId
- )
+ CommunicationIdentifier answeredBy)
{
CallConnectionId = callConnectionId;
ServerCallId = serverCallId;
@@ -30,7 +29,7 @@ string mediaSubscriptionId
Source = sourceIdentity;
SourceCallerIdNumber = sourceCallerIdNumber;
SourceDisplayName = sourceDisplayName;
- MediaSubscriptionId = mediaSubscriptionId;
+ AnsweredBy = new CommunicationUserIdentifier(answeredBy.RawId);
}
internal CallConnectionProperties(CallConnectionPropertiesInternal callConnectionPropertiesDtoInternal)
@@ -49,11 +48,10 @@ internal CallConnectionProperties(CallConnectionPropertiesInternal callConnectio
}
CallbackUri = new Uri(callConnectionPropertiesDtoInternal.CallbackUri);
- MediaSubscriptionId = callConnectionPropertiesDtoInternal.MediaSubscriptionId;
- Source = callConnectionPropertiesDtoInternal.SourceIdentity == null? null : CommunicationIdentifierSerializer.Deserialize(callConnectionPropertiesDtoInternal.SourceIdentity);
+ Source = callConnectionPropertiesDtoInternal.Source == null? null : CommunicationIdentifierSerializer.Deserialize(callConnectionPropertiesDtoInternal.Source);
SourceDisplayName = callConnectionPropertiesDtoInternal.SourceDisplayName;
CorrelationId = callConnectionPropertiesDtoInternal.CorrelationId;
- AnsweredBy = callConnectionPropertiesDtoInternal.AnsweredByIdentifier == null? null : new CommunicationUserIdentifier(callConnectionPropertiesDtoInternal.AnsweredByIdentifier.Id);
+ AnsweredBy = callConnectionPropertiesDtoInternal.AnsweredBy == null? null : new CommunicationUserIdentifier(callConnectionPropertiesDtoInternal.AnsweredBy.Id);
if (callConnectionPropertiesDtoInternal.SourceCallerIdNumber != null)
{
@@ -71,8 +69,6 @@ internal CallConnectionProperties(CallConnectionPropertiesInternal callConnectio
public CallConnectionState CallConnectionState { get; }
/// The callback URI.
public Uri CallbackUri { get; }
- /// SubscriptionId for media streaming.
- public string MediaSubscriptionId { get; }
///
/// Caller ID phone number to appear on the invitee.
///
@@ -90,7 +86,6 @@ internal CallConnectionProperties(CallConnectionPropertiesInternal callConnectio
/// The correlation ID.
///
public string CorrelationId { get; }
-
///
/// Identity of the answering entity. Only populated when identity is provided in the request.
///
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Models/CallInvite.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Models/CallInvite.cs
index c34ddbbf08bcc..619678381ee25 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Models/CallInvite.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Models/CallInvite.cs
@@ -19,7 +19,6 @@ public CallInvite(PhoneNumberIdentifier targetPhoneNumberIdentity, PhoneNumberId
{
Target = targetPhoneNumberIdentity;
SourceCallerIdNumber = callerIdNumber;
- CustomContext = new CustomContext(sipHeaders: new Dictionary(), voipHeaders: null);
}
///
@@ -29,7 +28,6 @@ public CallInvite(PhoneNumberIdentifier targetPhoneNumberIdentity, PhoneNumberId
public CallInvite(CommunicationUserIdentifier targetIdentity)
{
Target = targetIdentity;
- CustomContext = new CustomContext(sipHeaders: null, voipHeaders: new Dictionary());
}
///
@@ -39,7 +37,6 @@ public CallInvite(CommunicationUserIdentifier targetIdentity)
public CallInvite(MicrosoftTeamsUserIdentifier targetIdentity)
{
Target = targetIdentity;
- CustomContext = new CustomContext(sipHeaders: null, voipHeaders: new Dictionary());
}
///
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Models/CallMediaRecognizeOptions.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Models/CallMediaRecognizeOptions.cs
index fb8e810217c6c..7dec3acb8161c 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Models/CallMediaRecognizeOptions.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Models/CallMediaRecognizeOptions.cs
@@ -64,10 +64,5 @@ protected CallMediaRecognizeOptions(RecognizeInputType inputType, CommunicationI
/// Endpoint where the speech custom model was deployed.
public string SpeechModelEndpointId { get; set; }
-
- ///
- /// The callback URI override for this transfer call request.
- ///
- public Uri CallbackUri { get; set; }
}
}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Models/ChannelAffinity.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Models/ChannelAffinity.cs
index bb8e1182e7d89..1fc0c7e8950b0 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Models/ChannelAffinity.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Models/ChannelAffinity.cs
@@ -26,7 +26,7 @@ public ChannelAffinity(CommunicationIdentifier participant)
/// The identifier for the participant whose bitstream will be written to the channel.
/// represented by the channel number.
///
- public CommunicationIdentifier Participant { get;}
+ public CommunicationIdentifier Participant { get; }
/// Channel number to which bitstream from a particular participant will be written.
public int? Channel { get; set; }
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Models/CommunicationCallAutomationModelFactory.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Models/CommunicationCallAutomationModelFactory.cs
index 16f7299a524ff..e07e3ba7ffa35 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Models/CommunicationCallAutomationModelFactory.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Models/CommunicationCallAutomationModelFactory.cs
@@ -39,7 +39,7 @@ public static AnswerCallResult AnswerCallResult(CallConnection callConnection =
/// Source identity.
/// Caller ID phone number to appear on the invitee.
/// Display name to appear on the invitee.
- /// The subscriptionId for Media Streaming.
+ /// AnsweredBy identity.
/// A new instance for mocking.
public static CallConnectionProperties CallConnectionProperties(
string callConnectionId = default,
@@ -50,9 +50,9 @@ public static CallConnectionProperties CallConnectionProperties(
CommunicationIdentifier sourceIdentity = default,
PhoneNumberIdentifier sourceCallerIdNumber = default,
string sourceDisplayName = default,
- string mediaSubscriptionId = default)
+ CommunicationIdentifier answeredBy = default)
{
- return new CallConnectionProperties(callConnectionId, serverCallId, targets, callConnectionState, callbackUri, sourceIdentity, sourceCallerIdNumber, sourceDisplayName, mediaSubscriptionId);
+ return new CallConnectionProperties(callConnectionId, serverCallId, targets, callConnectionState, callbackUri, sourceIdentity, sourceCallerIdNumber, sourceDisplayName, answeredBy);
}
/// Initializes a new instance of CallParticipant.
@@ -193,7 +193,7 @@ public static RemoveParticipantSucceeded RemoveParticipantSucceeded(string callC
/// Determines the sub-type of the recognize operation.
/// In case of cancel operation the this field is not set and is returned empty
///
- /// Defines the result for RecognitionType = Dtmf,Choice,Speech.
+ /// Defines the result for RecognitionType = Dtmf.
/// A new instance for mocking.
public static RecognizeCompleted RecognizeCompleted(string callConnectionId = null, string serverCallId = null, string correlationId = null, string operationContext = null, ResultInformation resultInformation = null, CallMediaRecognitionType recognitionType = default, RecognizeResult recognizeResult = null)
{
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Models/ContinuousDtmfRecognitionRequestInternal.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Models/ContinuousDtmfRecognitionRequestInternal.cs
deleted file mode 100644
index ff04d533b00f3..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Models/ContinuousDtmfRecognitionRequestInternal.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using Azure.Core;
-
-namespace Azure.Communication.CallAutomation
-{
- [CodeGenModel("ContinuousDtmfRecognitionRequest")]
- internal partial class ContinuousDtmfRecognitionRequestInternal
- {
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Models/CreateCallOptions.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Models/CreateCallOptions.cs
index 228b4545aaaab..b434a34f3a364 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Models/CreateCallOptions.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Models/CreateCallOptions.cs
@@ -35,11 +35,6 @@ public CreateCallOptions(CallInvite callInvite, Uri callbackUri)
///
public string OperationContext { get; set; }
- ///
- /// Media Streaming Configuration.
- ///
- public MediaStreamingOptions MediaStreamingOptions { get; set; }
-
///
/// The endpoint URL of the Azure Cognitive Services resource attached
///
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Models/CreateGroupCallOptions.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Models/CreateGroupCallOptions.cs
index e392efff8f491..0bb69d956fdb0 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Models/CreateGroupCallOptions.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Models/CreateGroupCallOptions.cs
@@ -47,19 +47,9 @@ public CreateGroupCallOptions(IEnumerable targets, Uri
///
public string OperationContext { get; set; }
- ///
- /// Media Streaming Configuration.
- ///
- public MediaStreamingOptions MediaStreamingOptions { get; set; }
-
///
/// The endpoint URL of the Azure Cognitive Services resource attached
///
public Uri AzureCognitiveServicesEndpointUri { get; set; }
-
- ///
- /// The Custom Context which contains SIP and voip headers.
- ///
- public CustomContext CustomContext { get; }
}
}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Models/CustomContextInternal.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Models/CustomContextInternal.cs
deleted file mode 100644
index 14141d2f55b66..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Models/CustomContextInternal.cs
+++ /dev/null
@@ -1,19 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System.Collections;
-using System.Collections.Generic;
-using Azure.Core;
-
-namespace Azure.Communication.CallAutomation
-{
- [CodeGenModel("CustomContext")]
- internal partial class CustomContextInternal
- {
- public CustomContextInternal(IDictionary sipHeaders, IDictionary voipHeaders)
- {
- this.SipHeaders = sipHeaders;
- this.VoipHeaders = voipHeaders;
- }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Models/Events/CallAutomationEventParser.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Models/Events/CallAutomationEventParser.cs
index 6fdd0f83362b3..8001502e0ffcc 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Models/Events/CallAutomationEventParser.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Models/Events/CallAutomationEventParser.cs
@@ -134,24 +134,6 @@ private static CallAutomationEventBase Deserialize(string eventData, string type
return SendDtmfCompleted.Deserialize(eventData);
case nameof(SendDtmfFailed):
return SendDtmfFailed.Deserialize(eventData);
- #region Dialog
- case nameof(DialogCompleted):
- return DialogCompleted.Deserialize(eventData);
- case nameof(DialogFailed):
- return DialogFailed.Deserialize(eventData);
- case nameof(DialogConsent):
- return DialogConsent.Deserialize(eventData);
- case nameof(DialogStarted):
- return DialogStarted.Deserialize(eventData);
- case nameof(DialogHangup):
- return DialogHangup.Deserialize(eventData);
- case nameof(DialogTransfer):
- return DialogTransfer.Deserialize(eventData);
- case nameof(DialogSensitivityUpdate):
- return DialogSensitivityUpdate.Deserialize(eventData);
- case nameof(DialogLanguageChange):
- return DialogLanguageChange.Deserialize(eventData);
- #endregion
default:
return null;
}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Models/Events/ChoiceResult.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Models/Events/ChoiceResult.cs
deleted file mode 100644
index d558897b16604..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Models/Events/ChoiceResult.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using Azure.Core;
-
-namespace Azure.Communication.CallAutomation
-{
- [CodeGenModel("ChoiceResult", Usage = new string[] { "output" }, Formats = new string[] { "json" })]
- public partial class ChoiceResult : RecognizeResult
- {
- ///
- /// The RecognizeResultType of this RecognizeResult.
- ///
- public override RecognizeResultType ResultType => RecognizeResultType.ChoiceResult;
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Models/Events/CollectTonesResult.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Models/Events/CollectTonesResult.cs
deleted file mode 100644
index 5037871e2d4d8..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Models/Events/CollectTonesResult.cs
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using Azure.Core;
-
-namespace Azure.Communication.CallAutomation
-{
- [CodeGenModel("CollectTonesResult", Usage = new string[] { "output" }, Formats = new string[] { "json" })]
- public partial class CollectTonesResult : RecognizeResult
- {
- ///
- /// The Tones colelcted.
- ///
- [CodeGenMember("Tones")]
- public IReadOnlyList Tones { get; }
-
- ///
- /// The RecognizeResultType of this RecognizeResult.
- ///
- public override RecognizeResultType ResultType => RecognizeResultType.CollectTonesResult;
-
- ///
- /// Convert the collection of tones to a string like "12345#".
- ///
- public string ConvertToString()
- {
- return string.Join("", Tones.Select(x => x.ToChar()));
- }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Models/Events/ContinuousDtmfRecognitionStopped.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Models/Events/ContinuousDtmfRecognitionStopped.cs
deleted file mode 100644
index db77588bebcd4..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Models/Events/ContinuousDtmfRecognitionStopped.cs
+++ /dev/null
@@ -1,29 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System.Text.Json;
-using Azure.Core;
-
-namespace Azure.Communication.CallAutomation
-{
- ///
- /// The ContinuousDtmfRecognitionStopped event.
- ///
-
- [CodeGenModel("ContinuousDtmfRecognitionStopped", Usage = new string[] { "output" }, Formats = new string[] { "json" })]
- public partial class ContinuousDtmfRecognitionStopped : CallAutomationEventBase
- {
- ///
- /// Deserialize event.
- ///
- /// The json content.
- /// The new object.
- public static ContinuousDtmfRecognitionStopped Deserialize(string content)
- {
- using var document = JsonDocument.Parse(content);
- JsonElement element = document.RootElement;
-
- return DeserializeContinuousDtmfRecognitionStopped(element);
- }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Models/Events/ContinuousDtmfRecognitionToneFailed.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Models/Events/ContinuousDtmfRecognitionToneFailed.cs
deleted file mode 100644
index 3c557859dd54b..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Models/Events/ContinuousDtmfRecognitionToneFailed.cs
+++ /dev/null
@@ -1,29 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System.Text.Json;
-using Azure.Core;
-
-namespace Azure.Communication.CallAutomation
-{
- ///
- /// The ContinuousDtmfRecognitionToneFailed event.
- ///
-
- [CodeGenModel("ContinuousDtmfRecognitionToneFailed", Usage = new string[] { "output" }, Formats = new string[] { "json" })]
- public partial class ContinuousDtmfRecognitionToneFailed : CallAutomationEventBase
- {
- ///
- /// Deserialize event.
- ///
- /// The json content.
- /// The new object.
- public static ContinuousDtmfRecognitionToneFailed Deserialize(string content)
- {
- using var document = JsonDocument.Parse(content);
- JsonElement element = document.RootElement;
-
- return DeserializeContinuousDtmfRecognitionToneFailed(element);
- }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Models/Events/ContinuousDtmfRecognitionToneReceived.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Models/Events/ContinuousDtmfRecognitionToneReceived.cs
deleted file mode 100644
index 1b90dd3082d9d..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Models/Events/ContinuousDtmfRecognitionToneReceived.cs
+++ /dev/null
@@ -1,29 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System.Text.Json;
-using Azure.Core;
-
-namespace Azure.Communication.CallAutomation
-{
- ///
- /// The ContinuousDtmfRecognitionToneReceived event.
- ///
-
- [CodeGenModel("ContinuousDtmfRecognitionToneReceived", Usage = new string[] { "output" }, Formats = new string[] { "json" })]
- public partial class ContinuousDtmfRecognitionToneReceived : CallAutomationEventBase
- {
- ///
- /// Deserialize event.
- ///
- /// The json content.
- /// The new object.
- public static ContinuousDtmfRecognitionToneReceived Deserialize(string content)
- {
- using var document = JsonDocument.Parse(content);
- JsonElement element = document.RootElement;
-
- return DeserializeContinuousDtmfRecognitionToneReceived(element);
- }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Models/Events/DtmfResult.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Models/Events/DtmfResult.cs
index b0b4a47d038c2..85b25ff5bee77 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Models/Events/DtmfResult.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Models/Events/DtmfResult.cs
@@ -30,4 +30,4 @@ public string ConvertToString()
return string.Join("", Tones.Select(x => x.ToChar()));
}
}
-}
\ No newline at end of file
+}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Models/Events/MediaEventReasonCode.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Models/Events/MediaEventReasonCode.cs
index 686b054272e26..e13808d9cec4c 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Models/Events/MediaEventReasonCode.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Models/Events/MediaEventReasonCode.cs
@@ -24,18 +24,11 @@ public MediaEventReasonCode(string value)
private const string RecognizeInterDigitTimedOutValue = "8532";
private const string RecognizeDtmfOptionMatchedValue = "8533";
private const string RecognizePlayPromptFailedValue = "8511";
-
private const string RecognizeMaxDigitsReceivedValue = "8531";
private const string RecognizeIncorrectToneDetectedValue = "8534";
private const string RecognizeStopToneDetectedValue = "8514";
- private const string RecognizeSpeechOptionMatchedValue = "8545";
- private const string RecognizeSpeechOptionNotMatchedValue = "8547";
- private const string RecognizeSpeechNotRecognizedValue = "8563";
- private const string RecognizeSpeechServiceConnectionErrorValue = "8564";
-
private const string PlayDownloadFailedValue = "8536";
private const string PlayInvalidFileFormatValue = "8535";
- private const string PlayCognitiveServicesPlayErrorValue = "8565";
private const string CompletedSuccessfullyValue = "0";
private const string UnspecifiedErrorValue = "9999";
@@ -54,24 +47,14 @@ public MediaEventReasonCode(string value)
/// Action failed, play source not working.
public static MediaEventReasonCode RecognizeDtmfOptionMatched { get; } = new MediaEventReasonCode(RecognizeDtmfOptionMatchedValue);
- /// Speech option matched.
- public static MediaEventReasonCode RecognizeSpeechOptionMatched { get; } = new MediaEventReasonCode(RecognizeSpeechOptionMatchedValue);
- /// Speech option not matched.
- public static MediaEventReasonCode RecognizeSpeechOptionNotMatched { get; } = new MediaEventReasonCode(RecognizeSpeechOptionNotMatchedValue);
- /// Recognize with Choice that incorrect tone detected.
- public static MediaEventReasonCode RecognizeIncorrectToneDetected { get; } = new MediaEventReasonCode(RecognizeIncorrectToneDetectedValue);
- /// Speech not recognized.
- public static MediaEventReasonCode RecognizeSpeechNotRecognized { get; } = new MediaEventReasonCode(RecognizeSpeechNotRecognizedValue);
- /// Speech service connection error.
- public static MediaEventReasonCode RecognizeSpeechServiceConnectionError { get; } = new MediaEventReasonCode(RecognizeSpeechServiceConnectionErrorValue);
+ /// Recognize with DTMF that incorrect tone detected.
+ public static MediaEventReasonCode RecognizeIncorrectToneDetected { get; } = new MediaEventReasonCode(RecognizeIncorrectToneDetectedValue);
/// Action failed, file could not be downloaded.
public static MediaEventReasonCode PlayDownloadFailed { get; } = new MediaEventReasonCode(PlayDownloadFailedValue);
/// Action failed, file could not be downloaded.
public static MediaEventReasonCode PlayInvalidFileFormat { get; } = new MediaEventReasonCode(PlayInvalidFileFormatValue);
- /// Action failed, cognitive service error.
- public static MediaEventReasonCode PlayCognitiveServicesPlayError { get; } = new MediaEventReasonCode(PlayCognitiveServicesPlayErrorValue);
/// Action completed successfully.
public static MediaEventReasonCode CompletedSuccessfully { get; } = new MediaEventReasonCode (CompletedSuccessfullyValue);
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Models/Events/RecognizeCompleted.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Models/Events/RecognizeCompleted.cs
index 4eb372e6dc7f1..198f9fa065062 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Models/Events/RecognizeCompleted.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Models/Events/RecognizeCompleted.cs
@@ -134,18 +134,6 @@ public string Serialize()
writer.WritePropertyName("dtmfResult");
JsonSerializer.Serialize(writer, dtmfResult, jsonSeializerOptionForObject);
}
- else if (RecognitionType == CallMediaRecognitionType.Choices)
- {
- ChoiceResult choiceResult = (ChoiceResult)RecognizeResult;
- writer.WritePropertyName("choiceResult");
- JsonSerializer.Serialize(writer, choiceResult, jsonSeializerOptionForObject);
- }
- else if (RecognitionType == CallMediaRecognitionType.Speech)
- {
- SpeechResult speechResult = (SpeechResult)RecognizeResult;
- writer.WritePropertyName("speechResult");
- JsonSerializer.Serialize(writer, speechResult, jsonSeializerOptionForObject);
- }
writer.WriteEndObject();
writer.Flush();
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Models/Events/RecognizeCompletedInternal.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Models/Events/RecognizeCompletedInternal.cs
index 295749867d6b8..3c57b9364434d 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Models/Events/RecognizeCompletedInternal.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Models/Events/RecognizeCompletedInternal.cs
@@ -18,6 +18,26 @@ internal partial class RecognizeCompletedInternal : CallAutomationEventBase
///
public MediaEventReasonCode ReasonCode { get; internal set; }
+ /// Initializes a new instance of RecognizeCompleted.
+ /// Call connection ID.
+ /// Server call ID.
+ /// Correlation ID for event to call correlation. Also called ChainId for skype chain ID.
+ /// Used by customers when calling mid-call actions to correlate the request to the response event.
+ /// Contains the resulting SIP code/sub-code and message from NGC services.
+ ///
+ /// Determines the sub-type of the recognize operation.
+ /// In case of cancel operation the this field is not set and is returned empty
+ ///
+ internal RecognizeCompletedInternal(string callConnectionId, string serverCallId, string correlationId, string operationContext, ResultInformation resultInformation, CallMediaRecognitionType recognitionType)
+ {
+ CallConnectionId = callConnectionId;
+ ServerCallId = serverCallId;
+ CorrelationId = correlationId;
+ OperationContext = operationContext;
+ ResultInformation = resultInformation;
+ RecognitionType = recognitionType;
+ }
+
///
/// The recognition type.
///
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Models/Events/RecognizeResult.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Models/Events/RecognizeResult.cs
index d08529e910787..aa2103e942ab0 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Models/Events/RecognizeResult.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Models/Events/RecognizeResult.cs
@@ -6,7 +6,7 @@
namespace Azure.Communication.CallAutomation
{
///
- /// The Recognize result which could be tone or choice result.
+ /// The Recognize result which could be tone result.
///
public abstract class RecognizeResult
{
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Models/Events/SendDtmfCompleted.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Models/Events/SendDtmfCompleted.cs
deleted file mode 100644
index 323390ccfbe5d..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Models/Events/SendDtmfCompleted.cs
+++ /dev/null
@@ -1,29 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System.Text.Json;
-using Azure.Core;
-
-namespace Azure.Communication.CallAutomation
-{
- ///
- /// The SendDtmfCompleted event.
- ///
-
- [CodeGenModel("SendDtmfCompleted", Usage = new string[] { "output" }, Formats = new string[] { "json" })]
- public partial class SendDtmfCompleted : CallAutomationEventBase
- {
- ///
- /// Deserialize event.
- ///
- /// The json content.
- /// The new object.
- public static SendDtmfCompleted Deserialize(string content)
- {
- using var document = JsonDocument.Parse(content);
- JsonElement element = document.RootElement;
-
- return DeserializeSendDtmfCompleted(element);
- }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Models/Events/SendDtmfFailed.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Models/Events/SendDtmfFailed.cs
deleted file mode 100644
index f957c2b3a6e82..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Models/Events/SendDtmfFailed.cs
+++ /dev/null
@@ -1,29 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System.Text.Json;
-using Azure.Core;
-
-namespace Azure.Communication.CallAutomation
-{
- ///
- /// The SendDtmfFailed event.
- ///
-
- [CodeGenModel("SendDtmfFailed", Usage = new string[] { "output" }, Formats = new string[] { "json" })]
- public partial class SendDtmfFailed : CallAutomationEventBase
- {
- ///
- /// Deserialize event.
- ///
- /// The json content.
- /// The new object.
- public static SendDtmfFailed Deserialize(string content)
- {
- using var document = JsonDocument.Parse(content);
- JsonElement element = document.RootElement;
-
- return DeserializeSendDtmfFailed(element);
- }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Models/Events/SpeechResult.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Models/Events/SpeechResult.cs
deleted file mode 100644
index cb3890826d75f..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Models/Events/SpeechResult.cs
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using Azure.Communication.CallAutomation;
-using Azure.Core;
-
-namespace Azure.Communication.CallAutomation
-{
- [CodeGenModel("SpeechResult", Usage = new string[] { "output" }, Formats = new string[] { "json" })]
- public partial class SpeechResult : RecognizeResult
- {
- ///
- /// The RecognizeResultType of this RecognizeResult.
- ///
- public override RecognizeResultType ResultType => RecognizeResultType.SpeechResult;
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Models/Events/ToneInfo.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Models/Events/ToneInfo.cs
deleted file mode 100644
index cba371d155e3c..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Models/Events/ToneInfo.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using Azure.Core;
-
-namespace Azure.Communication.CallAutomation
-{
- [CodeGenModel("ToneInfo", Usage = new string[] { "output" }, Formats = new string[] { "json" })]
- public partial class ToneInfo
- {
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Models/ExternalStorage.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Models/ExternalStorage.cs
deleted file mode 100644
index f6f7a70a48e43..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Models/ExternalStorage.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-namespace Azure.Communication.CallAutomation
-{
- ///
- /// Abstract base class used for different storage options used for storing call recording.
- ///
- public abstract class ExternalStorage
- {
- ///
- /// Identifier of storage type.
- ///
- public RecordingStorageType StorageType { get; protected set; }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Models/ExternalStorageInternal.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Models/ExternalStorageInternal.cs
deleted file mode 100644
index c6fe165fdd9a8..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Models/ExternalStorageInternal.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using Azure.Core;
-
-namespace Azure.Communication.CallAutomation
-{
- [CodeGenModel("ExternalStorage")]
- internal partial class ExternalStorageInternal
- {
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Models/GenderType.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Models/GenderType.cs
deleted file mode 100644
index 89274e4e5a236..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Models/GenderType.cs
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using Azure.Core;
-using System.Text.Json.Serialization;
-
-namespace Azure.Communication.CallAutomation
-{
- ///
- /// The possible Dtmf Tones.
- ///
- [CodeGenModel("Gender", Usage = new string[] { "output" }, Formats = new string[] { "json" })]
- [JsonConverter(typeof(EquatableEnumJsonConverter))]
- public readonly partial struct GenderType
- {
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Models/MediaStreaming/MediaStreamingAudioData.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Models/MediaStreaming/MediaStreamingAudioData.cs
deleted file mode 100644
index 4a47ab5fb064c..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Models/MediaStreaming/MediaStreamingAudioData.cs
+++ /dev/null
@@ -1,43 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-
-namespace Azure.Communication.CallAutomation
-{
- ///
- /// Streaming audio.
- ///
- public class MediaStreamingAudioData : MediaStreamingPackageBase
- {
- internal MediaStreamingAudioData(string data, DateTime timestamp, string participantId, bool silent)
- {
- Data = data;
- Timestamp = timestamp;
- if (participantId != null)
- {
- Participant = new CommunicationUserIdentifier(participantId);
- }
- IsSilent = silent;
- }
-
- ///
- /// The audio data in base64 string.
- ///
- public string Data { get; }
-
- ///
- /// The timestamp of thwn the media was sourced.
- ///
- public DateTime Timestamp { get; }
- ///
- /// Participant ID
- ///
- public CommunicationIdentifier Participant { get; }
-
- ///
- /// Indicates if the received audio buffer contains only silence.
- ///
- public bool IsSilent { get; }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Models/MediaStreaming/MediaStreamingAudioDataInternal.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Models/MediaStreaming/MediaStreamingAudioDataInternal.cs
deleted file mode 100644
index 1559575a6a517..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Models/MediaStreaming/MediaStreamingAudioDataInternal.cs
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-using System.Text.Json.Serialization;
-
-namespace Azure.Communication.CallAutomation
-{
- ///
- /// Streaming audio.
- ///
- internal class MediaStreamingAudioDataInternal
- {
- ///
- /// The audio data in base64 string.
- ///
- [JsonPropertyName("data")]
- public string Data { get; set; }
-
- ///
- /// The timestamp of thwn the media was sourced.
- ///
- [JsonPropertyName("timestamp")]
- public DateTime Timestamp { get; set; }
-
- ///
- /// Participant ID.
- ///
- [JsonPropertyName("participantRawID")]
- public string ParticipantRawId { get; set; }
- ///
- /// Indicates if the received audio buffer contains only silence.
- ///
- [JsonPropertyName("silent")]
- public bool Silent { get; set; }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Models/MediaStreaming/MediaStreamingMetadata.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Models/MediaStreaming/MediaStreamingMetadata.cs
deleted file mode 100644
index 1c9ac71d9bbd3..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Models/MediaStreaming/MediaStreamingMetadata.cs
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System.Text.Json.Serialization;
-
-namespace Azure.Communication.CallAutomation
-{
- ///
- /// Metadata package for Media Streaming.
- ///
- public class MediaStreamingMetadata : MediaStreamingPackageBase
- {
- ///
- /// Subscription Id.
- ///
- [JsonPropertyName("subscriptionId")]
- public string MediaSubscriptionId { get; set; }
-
- ///
- /// The Encoding.
- ///
- [JsonPropertyName("encoding")]
- public string Encoding { get; set; }
- ///
- /// Sample Rate.
- ///
- [JsonPropertyName("sampleRate")]
- public int SampleRate { get; set; }
- ///
- /// Channels.
- ///
- [JsonPropertyName("channels")]
- public int Channels { get; set; }
- ///
- /// Length.
- ///
- [JsonPropertyName("length")]
- public int Length { get; set; }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Models/MediaStreaming/MediaStreamingPackageBase.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Models/MediaStreaming/MediaStreamingPackageBase.cs
deleted file mode 100644
index f2bd0163b37a0..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Models/MediaStreaming/MediaStreamingPackageBase.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-namespace Azure.Communication.CallAutomation
-{
- ///
- /// Media Streaming Package.
- ///
- public abstract class MediaStreamingPackageBase
- {
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Models/MediaStreaming/MediaStreamingPackageParser.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Models/MediaStreaming/MediaStreamingPackageParser.cs
deleted file mode 100644
index 86446536215b1..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Models/MediaStreaming/MediaStreamingPackageParser.cs
+++ /dev/null
@@ -1,59 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-using System.Text;
-using System.Text.Json;
-
-namespace Azure.Communication.CallAutomation
-{
- ///
- /// Parser of the different packages received as part of
- /// Media streaming.
- ///
- public static class MediaStreamingPackageParser
- {
- ///
- /// Parsing a MediaStreaming package from BinaryData.
- ///
- ///
- ///
- public static MediaStreamingPackageBase Parse(BinaryData json)
- {
- return Parse(json.ToString());
- }
-
- ///
- /// Parsing a MediaStreaming package from a byte array.
- ///
- /// a UTF8 byte array.
- ///
- public static MediaStreamingPackageBase Parse(byte[] receivedBytes)
- {
- return Parse(Encoding.UTF8.GetString(receivedBytes));
- }
-
- ///
- /// Parse the incoming package.
- ///
- ///
- ///
- ///
- public static MediaStreamingPackageBase Parse(string stringJson)
- {
- JsonElement package = JsonDocument.Parse(stringJson).RootElement;
- if (package.GetProperty("kind").ToString() == "AudioMetadata")
- {
- return JsonSerializer.Deserialize(package.GetProperty("audioMetadata").ToString());
- }
- else if (package.GetProperty("kind").ToString() == "AudioData")
- {
- MediaStreamingAudioDataInternal audioInternal = JsonSerializer.Deserialize(package.GetProperty("audioData").ToString());
- return new MediaStreamingAudioData(
- audioInternal.Data, audioInternal.Timestamp, audioInternal.ParticipantRawId, audioInternal.Silent);
- }
- else
- throw new NotSupportedException(stringJson);
- }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Models/MediaStreamingAudioChannel.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Models/MediaStreamingAudioChannel.cs
deleted file mode 100644
index 88e4d3a5faf9a..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Models/MediaStreamingAudioChannel.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using Azure.Core;
-
-namespace Azure.Communication.CallAutomation
-{
- ///
- /// The states of a call.
- ///
- [CodeGenModel("MediaStreamingAudioChannelType", Usage = new string[] { "input" }, Formats = new string[] { "json" })]
- public readonly partial struct MediaStreamingAudioChannel
- {
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Models/MediaStreamingConfiguration.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Models/MediaStreamingConfiguration.cs
deleted file mode 100644
index 5a6fb4056a93e..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Models/MediaStreamingConfiguration.cs
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-
-namespace Azure.Communication.CallAutomation
-{
- /// The MediaStreamingConfiguration.
- public class MediaStreamingConfiguration
- {
- /// Initializes a new instance of MediaStreamingConfiguration.
- public MediaStreamingConfiguration(Uri transportUrl, MediaStreamingTransport transportType,
- MediaStreamingContent contentType, MediaStreamingAudioChannel audioChannelType)
- {
- TransportUrl = transportUrl;
- TransportType = transportType;
- ContentType = contentType;
- AudioChannelType = audioChannelType;
- }
-
- /// Transport URL for media streaming.
- public Uri TransportUrl { get; }
- /// The type of tranport to be used for media streaming, eg. Websocket.
- public MediaStreamingTransport TransportType { get; }
- /// Content type to stream, eg. audio, audio/video.
- public MediaStreamingContent ContentType { get; }
- /// Audio channel type to stream, eg. unmixed audio, mixed audio.
- public MediaStreamingAudioChannel AudioChannelType { get; }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Models/MediaStreamingContent.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Models/MediaStreamingContent.cs
deleted file mode 100644
index 89234cc8b867b..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Models/MediaStreamingContent.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using Azure.Core;
-
-namespace Azure.Communication.CallAutomation
-{
- ///
- /// The states of a call.
- ///
- [CodeGenModel("MediaStreamingContentType", Usage = new string[] { "input" }, Formats = new string[] { "json" })]
- public readonly partial struct MediaStreamingContent
- {
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Models/MediaStreamingOptions.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Models/MediaStreamingOptions.cs
deleted file mode 100644
index a6725f3cbcf5f..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Models/MediaStreamingOptions.cs
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-
-namespace Azure.Communication.CallAutomation
-{
- /// The MediaStreamingOptions.
- public class MediaStreamingOptions
- {
- /// Initializes a new instance of MediaStreamingOptions.
- public MediaStreamingOptions(Uri transportUri, MediaStreamingTransport transportType,
- MediaStreamingContent contentType, MediaStreamingAudioChannel audioChannelType)
- {
- TransportUri = transportUri;
- MediaStreamingTransport = transportType;
- MediaStreamingContent = contentType;
- MediaStreamingAudioChannel = audioChannelType;
- }
-
- /// Transport URL for media streaming.
- public Uri TransportUri { get; }
- /// The type of tranport to be used for media streaming, eg. Websocket.
- public MediaStreamingTransport MediaStreamingTransport { get; }
- /// Content type to stream, eg. audio, audio/video.
- public MediaStreamingContent MediaStreamingContent { get; }
- /// Audio channel type to stream, eg. unmixed audio, mixed audio.
- public MediaStreamingAudioChannel MediaStreamingAudioChannel { get; }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Models/MediaStreamingOptionsInternal.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Models/MediaStreamingOptionsInternal.cs
deleted file mode 100644
index a316fd34c49c5..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Models/MediaStreamingOptionsInternal.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using Azure.Core;
-
-namespace Azure.Communication.CallAutomation
-{
- [CodeGenModel("MediaStreamingConfiguration")]
- internal partial class MediaStreamingOptionsInternal
- {
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Models/MediaStreamingTransport.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Models/MediaStreamingTransport.cs
deleted file mode 100644
index 5b6336fa34a89..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Models/MediaStreamingTransport.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using Azure.Core;
-
-namespace Azure.Communication.CallAutomation
-{
- ///
- /// The states of a call.
- ///
- [CodeGenModel("MediaStreamingTransportType", Usage = new string[] { "input" }, Formats = new string[] { "json" })]
- public readonly partial struct MediaStreamingTransport
- {
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Models/MuteParticipantsOptions.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Models/MuteParticipantsOptions.cs
deleted file mode 100644
index 422913bd9665a..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Models/MuteParticipantsOptions.cs
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System.Collections.Generic;
-using System.Linq;
-
-namespace Azure.Communication.CallAutomation
-{
- ///
- /// Options for the Mute Participant Request.
- ///
- public class MuteParticipantsOptions
- {
- ///
- /// Creates a new MuteParticipantOptions object.
- ///
- public MuteParticipantsOptions(IEnumerable targetParticipants)
- {
- TargetParticipants = targetParticipants.ToList();
- }
-
- ///
- /// The identity of participants to be muted from the call.
- /// Only one participant is currently supported.
- /// Only ACS Users are currently supported.
- ///
- public IReadOnlyList TargetParticipants { get; }
-
- ///
- /// The operation context.
- ///
- public string OperationContext { get; set; }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Models/MuteParticipantsRequestInternal.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Models/MuteParticipantsRequestInternal.cs
deleted file mode 100644
index e94b986f72dfb..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Models/MuteParticipantsRequestInternal.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using Azure.Core;
-
-namespace Azure.Communication.CallAutomation
-{
- [CodeGenModel("MuteParticipantsRequest")]
- internal partial class MuteParticipantsRequestInternal
- {
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Models/PlayOptions.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Models/PlayOptions.cs
index 99bf5797cb4c0..e24843fcbe6c7 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Models/PlayOptions.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Models/PlayOptions.cs
@@ -13,9 +13,9 @@ namespace Azure.Communication.CallAutomation
public class PlayOptions
{
///
- /// A PlaySource object representing the source to play.
+ /// PlaySource objecs representing the sources to play.
///
- public PlaySource PlaySource { get; }
+ public IReadOnlyList PlaySources { get; }
///
/// A list of target identifiers to play the file to.
@@ -40,9 +40,9 @@ public class PlayOptions
///
/// Creates a new PlayOptions object.
///
- public PlayOptions(PlaySource playSource, IEnumerable playTo)
+ public PlayOptions(IEnumerable playSources, IEnumerable playTo)
{
- PlaySource = playSource;
+ PlaySources = playSources.ToList();
PlayTo = playTo.ToList();
}
}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Models/PlayToAllOptions.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Models/PlayToAllOptions.cs
index 46033ca4aa99a..73d11eb70927e 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Models/PlayToAllOptions.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Models/PlayToAllOptions.cs
@@ -3,6 +3,7 @@
using System;
using System.Collections.Generic;
+using System.Linq;
namespace Azure.Communication.CallAutomation
{
@@ -12,9 +13,9 @@ namespace Azure.Communication.CallAutomation
public class PlayToAllOptions
{
///
- /// A PlaySource object representing the source to play.
+ /// PlaySource objecs representing the sources to play.
///
- public PlaySource PlaySource { get; }
+ public IReadOnlyList PlaySources { get; }
///
/// The option to play the provided audio source in loop when set to true.
@@ -34,9 +35,9 @@ public class PlayToAllOptions
///
/// Creates a new PlayToAllOptions object.
///
- public PlayToAllOptions(PlaySource playSource)
+ public PlayToAllOptions(IEnumerable playSources)
{
- PlaySource = playSource;
+ PlaySources = playSources.ToList();
}
}
}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Models/RecognizeChoice.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Models/RecognizeChoice.cs
deleted file mode 100644
index 2eb566e9632dd..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Models/RecognizeChoice.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System.Text.Json.Serialization;
-using Azure.Core;
-
-namespace Azure.Communication.CallAutomation
-{
- ///
- /// The possible Dtmf Tones.
- ///
- [CodeGenModel("Choice", Usage = new string[] { "output" }, Formats = new string[] { "json" })]
- public partial class RecognizeChoice
- {
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Models/RecognizeResultType.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Models/RecognizeResultType.cs
index 1011e0a693a59..1a4b6434d501e 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Models/RecognizeResultType.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Models/RecognizeResultType.cs
@@ -21,12 +21,9 @@ public RecognizeResultType(string value)
}
private const string DtmfResultValue = "DtmfResultValue";
- private const string CollectTonesResultValue = "CollectTonesResultValue";
private const string ChoiceResultValue = "ChoiceResultValue";
private const string SpeechResultValue = "SpeechResultValue";
- /// CollectTonesResult.
- public static RecognizeResultType CollectTonesResult { get; } = new RecognizeResultType(CollectTonesResultValue);
/// DtmfResult.
public static RecognizeResultType DtmfResult { get; } = new RecognizeResultType(DtmfResultValue);
/// ChoiceResult.
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Models/SendDtmfRequestInternal.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Models/SendDtmfRequestInternal.cs
deleted file mode 100644
index 74b7537f275c8..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Models/SendDtmfRequestInternal.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using Azure.Core;
-
-namespace Azure.Communication.CallAutomation
-{
- [CodeGenModel("SendDtmfRequest")]
- internal partial class SendDtmfRequestInternal
- {
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Models/SendDtmfResult.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Models/SendDtmfResult.cs
deleted file mode 100644
index 568156e7193ce..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Models/SendDtmfResult.cs
+++ /dev/null
@@ -1,90 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System.Threading.Tasks;
-using System;
-using System.Threading;
-
-namespace Azure.Communication.CallAutomation
-{
- /// The result from send dtmf request.
- public class SendDtmfResult
- {
- private CallAutomationEventProcessor _evHandler;
- private string _callConnectionId;
- private string _operationContext;
-
- internal SendDtmfResult()
- {
- }
-
- internal void SetEventProcessor(CallAutomationEventProcessor evHandler, string callConnectionId, string operationContext)
- {
- _evHandler = evHandler;
- _callConnectionId = callConnectionId;
- _operationContext = operationContext;
- }
-
- ///
- /// This is blocking call. Wait for using .
- ///
- /// Cancellation Token can be used to set timeout or cancel this WaitForEventProcessor.
- /// Returns which contains either event or event.
- public SendDtmfEventResult WaitForEventProcessor(CancellationToken cancellationToken = default)
- {
- if (_evHandler is null)
- {
- throw new NullReferenceException(nameof(_evHandler));
- }
-
- var returnedEvent = _evHandler.WaitForEventProcessor(filter
- => filter.CallConnectionId == _callConnectionId
- && (filter.OperationContext == _operationContext || _operationContext is null)
- && (filter.GetType() == typeof(SendDtmfCompleted)
- || filter.GetType() == typeof(SendDtmfFailed)),
- cancellationToken);
-
- return SetReturnedEvent(returnedEvent);
- }
-
- ///
- /// Wait for using .
- ///
- /// Cancellation Token can be used to set timeout or cancel this WaitForEventProcessor.
- /// Returns which contains either event or event.
- public async Task WaitForEventProcessorAsync(CancellationToken cancellationToken = default)
- {
- if (_evHandler is null)
- {
- throw new NullReferenceException(nameof(_evHandler));
- }
-
- var returnedEvent = await _evHandler.WaitForEventProcessorAsync(filter
- => filter.CallConnectionId == _callConnectionId
- && (filter.OperationContext == _operationContext || _operationContext is null)
- && (filter.GetType() == typeof(SendDtmfCompleted)
- || filter.GetType() == typeof(SendDtmfFailed)),
- cancellationToken).ConfigureAwait(false);
-
- return SetReturnedEvent(returnedEvent);
- }
-
- private static SendDtmfEventResult SetReturnedEvent(CallAutomationEventBase returnedEvent)
- {
- SendDtmfEventResult result = default;
- switch (returnedEvent)
- {
- case SendDtmfCompleted:
- result = new SendDtmfEventResult(true, (SendDtmfCompleted)returnedEvent, null);
- break;
- case SendDtmfFailed:
- result = new SendDtmfEventResult(false, null, (SendDtmfFailed)returnedEvent);
- break;
- default:
- throw new NotSupportedException(returnedEvent.GetType().Name);
- }
-
- return result;
- }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Models/SpeechOptionsInternal.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Models/SpeechOptionsInternal.cs
deleted file mode 100644
index 3c1bdf643f2e6..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Models/SpeechOptionsInternal.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using Azure.Core;
-
-namespace Azure.Communication.CallAutomation
-{
- [CodeGenModel("SpeechOptions")]
- internal partial class SpeechOptionsInternal
- {
- }
-}
\ No newline at end of file
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Models/SsmlSourceInternal.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Models/SsmlSourceInternal.cs
deleted file mode 100644
index 0b91f0a9c9393..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Models/SsmlSourceInternal.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using Azure.Core;
-
-namespace Azure.Communication.CallAutomation
-{
- [CodeGenModel("SsmlSource")]
- internal partial class SsmlSourceInternal
- {
- }
-}
\ No newline at end of file
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Models/StartRecordingOptions.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Models/StartRecordingOptions.cs
index a2b92901a3850..d68c96feabe29 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Models/StartRecordingOptions.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Models/StartRecordingOptions.cs
@@ -14,34 +14,34 @@ public class StartRecordingOptions
///
/// Parameters for the Start Recording operation.
///
- /// .
+ /// Call locator to locate ongoing call.
public StartRecordingOptions(CallLocator callLocator)
{
CallLocator = callLocator ?? throw new ArgumentNullException(nameof(callLocator));
}
///
- /// The callLocator.
+ /// The callLocator to locate ongoing call. Use either GroupCallLocator or ServerCallLocator to locate ongoing call.
///
internal CallLocator CallLocator { get; }
///
- /// The callLocator.
+ /// Callback uri to recieve callback events of this call recording request.
///
public Uri RecordingStateCallbackUri { get; set; }
///
- /// The recording channel.
+ /// The recording channel of this call recording request.
///
public RecordingChannel RecordingChannel { get; set; }
///
- /// The recording content.
+ /// The recording content of this call recording request.
///
public RecordingContent RecordingContent { get; set; }
///
- /// The recording format.
+ /// The recording format of this call recording request.
///
public RecordingFormat RecordingFormat { get; set; }
@@ -58,11 +58,7 @@ public StartRecordingOptions(CallLocator callLocator)
/// The channel affinity of call recording
/// When 'recordingChannelType' is set to 'unmixed', if channelAffinity is not specified, 'channel' will be automatically assigned.
/// Channel-Participant mapping details can be found in the metadata of the recording.
- /// ///
///
public IList ChannelAffinity { get; set; }
-
- /// (Optional) Used to specify external storage for call recording.
- public ExternalStorage ExternalStorage { get; set; }
}
}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Models/TextSourceInternal.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Models/TextSourceInternal.cs
deleted file mode 100644
index becd928cf7109..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Models/TextSourceInternal.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using Azure.Core;
-
-namespace Azure.Communication.CallAutomation
-{
- [CodeGenModel("TextSource")]
- internal partial class TextSourceInternal
- {
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Models/TransferToParticipantOptions.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Models/TransferToParticipantOptions.cs
index 4d4eb541558e4..dd7e1fc3b1543 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Models/TransferToParticipantOptions.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/Models/TransferToParticipantOptions.cs
@@ -18,7 +18,6 @@ public class TransferToParticipantOptions
public TransferToParticipantOptions(PhoneNumberIdentifier targetPhoneNumberIdentity)
{
Target = targetPhoneNumberIdentity;
- CustomContext = new CustomContext(sipHeaders: new Dictionary(), null);
}
///
@@ -28,7 +27,6 @@ public TransferToParticipantOptions(PhoneNumberIdentifier targetPhoneNumberIdent
public TransferToParticipantOptions(CommunicationUserIdentifier targetIdentity)
{
Target = targetIdentity;
- CustomContext = new CustomContext(sipHeaders: null, voipHeaders: new Dictionary());
}
///
@@ -38,7 +36,6 @@ public TransferToParticipantOptions(CommunicationUserIdentifier targetIdentity)
public TransferToParticipantOptions(MicrosoftTeamsUserIdentifier targetIdentity)
{
Target = targetIdentity;
- CustomContext = new CustomContext(sipHeaders: null, voipHeaders: new Dictionary());
}
///
@@ -47,21 +44,6 @@ public TransferToParticipantOptions(MicrosoftTeamsUserIdentifier targetIdentity)
///
public CommunicationIdentifier Target { get; }
- ///
- /// The operationContext for this transfer call.
- ///
- public string OperationContext { get; set; }
-
- ///
- /// The Custom Context which contains SIP and voip headers
- ///
- public CustomContext CustomContext { get; }
-
- ///
- /// The callee that being transferred
- ///
- public CommunicationIdentifier Transferee { get; set; }
-
///
/// The callback URI override for this transfer call request.
///
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Models/UnmuteParticipantsOptions.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Models/UnmuteParticipantsOptions.cs
deleted file mode 100644
index b343ebcc925d9..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Models/UnmuteParticipantsOptions.cs
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System.Collections.Generic;
-using System.Linq;
-
-namespace Azure.Communication.CallAutomation
-{
- ///
- /// Options for the Unmute Participant Request.
- ///
- public class UnmuteParticipantsOptions
- {
- ///
- /// Creates a new UnmuteParticipantOptions object.
- ///
- public UnmuteParticipantsOptions(IEnumerable targetParticipant)
- {
- TargetParticipants = targetParticipant.ToList();
- }
-
- ///
- /// The identity of participants to be unmuted from the call.
- /// Only one participant is currently supported.
- /// Only ACS Users are currently supported.
- ///
- public IReadOnlyList TargetParticipants { get; }
-
- ///
- /// The operation context.
- ///
- public string OperationContext { get; set; }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/Models/UnmuteParticipantsRequestInternal.cs b/sdk/communication/Azure.Communication.CallAutomation/src/Models/UnmuteParticipantsRequestInternal.cs
deleted file mode 100644
index bb10b324f0576..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/src/Models/UnmuteParticipantsRequestInternal.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using Azure.Core;
-
-namespace Azure.Communication.CallAutomation
-{
- [CodeGenModel("UnmuteParticipantsRequest")]
- internal partial class UnmuteParticipantsRequestInternal
- {
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/src/autorest.md b/sdk/communication/Azure.Communication.CallAutomation/src/autorest.md
index 8fc75322189dd..5917887008a55 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/src/autorest.md
+++ b/sdk/communication/Azure.Communication.CallAutomation/src/autorest.md
@@ -6,11 +6,12 @@ From Folder that contains autorest.md, Run `dotnet msbuild /t:GenerateCode` to g
> see https://aka.ms/autorest
```yaml
+tag: package-2023-03-06
model-namespace: false
tag: package-2023-01-15-preview
require:
- - https://github.com/williamzhao87/azure-rest-api-specs/blob/18fef29e753a6637d5639874ab20825003ae2077/specification/communication/data-plane/CallAutomation/readme.md
+ - https://github.com/Azure/azure-rest-api-specs/blob/7f115517cc6d5c57ee8a89b9ba4187f937bfe6dc/specification/communication/data-plane/CallAutomation/readme.md
title: Azure Communication Services
diff --git a/sdk/communication/Azure.Communication.CallAutomation/tests/CallAutomationClients/CallAutomationClientTests.cs b/sdk/communication/Azure.Communication.CallAutomation/tests/CallAutomationClients/CallAutomationClientTests.cs
index 79eecb444b28f..aa119e5d5199b 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/tests/CallAutomationClients/CallAutomationClientTests.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/tests/CallAutomationClients/CallAutomationClientTests.cs
@@ -12,12 +12,6 @@ namespace Azure.Communication.CallAutomation.Tests.CallAutomationClients
{
public class CallAutomationClientTests : CallAutomationTestBase
{
- private readonly MediaStreamingOptions _mediaStreamingConfiguration = new MediaStreamingOptions(
- new Uri("https://websocket"),
- MediaStreamingTransport.Websocket,
- MediaStreamingContent.Audio,
- MediaStreamingAudioChannel.Mixed);
-
[TestCaseSource(nameof(TestData_AnswerCall))]
public async Task AnswerCallAsync_200OK(string incomingCallContext, Uri callbackUri)
{
@@ -27,7 +21,6 @@ public async Task AnswerCallAsync_200OK(string incomingCallContext, Uri callback
Assert.NotNull(response);
Assert.AreEqual((int)HttpStatusCode.OK, response.GetRawResponse().Status);
verifyCallConnectionProperties(response.Value.CallConnectionProperties);
- Assert.Null(response.Value.CallConnectionProperties.MediaSubscriptionId);
Assert.AreEqual(CallConnectionId, response.Value.CallConnection.CallConnectionId);
}
@@ -40,7 +33,6 @@ public void AnswerCall_200OK(string incomingCallContext, Uri callbackUri)
Assert.NotNull(response);
Assert.AreEqual((int)HttpStatusCode.OK, response.GetRawResponse().Status);
verifyCallConnectionProperties(response.Value.CallConnectionProperties);
- Assert.Null(response.Value.CallConnectionProperties.MediaSubscriptionId);
Assert.AreEqual(CallConnectionId, response.Value.CallConnection.CallConnectionId);
}
@@ -50,7 +42,6 @@ public async Task AnswerCallWithOptionsAsync_200OK(string incomingCallContext, U
CallAutomationClient callAutomationClient = CreateMockCallAutomationClient(200, CreateOrAnswerCallOrGetCallConnectionWithMediaSubscriptionPayload);
AnswerCallOptions options = new AnswerCallOptions(incomingCallContext: incomingCallContext, callbackUri: callbackUri)
{
- MediaStreamingOptions = _mediaStreamingConfiguration,
OperationContext = "operation_context"
};
@@ -59,7 +50,6 @@ public async Task AnswerCallWithOptionsAsync_200OK(string incomingCallContext, U
Assert.AreEqual((int)HttpStatusCode.OK, response.GetRawResponse().Status);
verifyCallConnectionProperties(response.Value.CallConnectionProperties);
Assert.AreEqual(CallConnectionId, response.Value.CallConnection.CallConnectionId);
- Assert.AreEqual("mediaSubscriptionId", response.Value.CallConnectionProperties.MediaSubscriptionId);
}
[TestCaseSource(nameof(TestData_AnswerCall))]
@@ -68,7 +58,6 @@ public void AnswerCallWithOptions_200OK(string incomingCallContext, Uri callback
CallAutomationClient callAutomationClient = CreateMockCallAutomationClient(200, CreateOrAnswerCallOrGetCallConnectionWithMediaSubscriptionPayload);
AnswerCallOptions options = new AnswerCallOptions(incomingCallContext: incomingCallContext, callbackUri: callbackUri)
{
- MediaStreamingOptions = _mediaStreamingConfiguration
};
var response = callAutomationClient.AnswerCall(options);
@@ -76,7 +65,6 @@ public void AnswerCallWithOptions_200OK(string incomingCallContext, Uri callback
Assert.AreEqual((int)HttpStatusCode.OK, response.GetRawResponse().Status);
verifyCallConnectionProperties(response.Value.CallConnectionProperties);
Assert.AreEqual(CallConnectionId, response.Value.CallConnection.CallConnectionId);
- Assert.AreEqual("mediaSubscriptionId", response.Value.CallConnectionProperties.MediaSubscriptionId);
}
[TestCaseSource(nameof(TestData_AnswerCall))]
@@ -202,7 +190,6 @@ public async Task CreateCallAsync_201Created(CallInvite target, Uri callbackUri)
Assert.NotNull(result);
Assert.AreEqual((int)HttpStatusCode.Created, response.GetRawResponse().Status);
verifyCallConnectionProperties(result.CallConnectionProperties);
- Assert.Null(result.CallConnectionProperties.MediaSubscriptionId);
Assert.AreEqual(CallConnectionId, result.CallConnection.CallConnectionId);
}
@@ -217,7 +204,6 @@ public void CreateCall_201Created(CallInvite target, Uri callbackUri)
Assert.NotNull(result);
Assert.AreEqual((int)HttpStatusCode.Created, response.GetRawResponse().Status);
verifyCallConnectionProperties(result.CallConnectionProperties);
- Assert.Null(result.CallConnectionProperties.MediaSubscriptionId);
Assert.AreEqual(CallConnectionId, result.CallConnection.CallConnectionId);
}
@@ -229,7 +215,6 @@ public async Task CreateCallWithOptionsAsync_201Created(CallInvite target, Uri c
callInvite: target,
callbackUri: callbackUri)
{
- MediaStreamingOptions = _mediaStreamingConfiguration
};
var response = await callAutomationClient.CreateCallAsync(options).ConfigureAwait(false);
@@ -238,7 +223,6 @@ public async Task CreateCallWithOptionsAsync_201Created(CallInvite target, Uri c
Assert.AreEqual((int)HttpStatusCode.Created, response.GetRawResponse().Status);
verifyCallConnectionProperties(result.CallConnectionProperties);
Assert.AreEqual(CallConnectionId, result.CallConnection.CallConnectionId);
- Assert.AreEqual("mediaSubscriptionId", result.CallConnectionProperties.MediaSubscriptionId);
}
[TestCaseSource(nameof(TestData_CreateCall))]
@@ -249,7 +233,6 @@ public void CreateCallWithOptions_201Created(CallInvite target, Uri callbackUri)
callInvite: target,
callbackUri: callbackUri)
{
- MediaStreamingOptions = _mediaStreamingConfiguration
};
var response = callAutomationClient.CreateCall(options);
@@ -258,7 +241,6 @@ public void CreateCallWithOptions_201Created(CallInvite target, Uri callbackUri)
Assert.AreEqual((int)HttpStatusCode.Created, response.GetRawResponse().Status);
verifyCallConnectionProperties(result.CallConnectionProperties);
Assert.AreEqual(CallConnectionId, result.CallConnection.CallConnectionId);
- Assert.AreEqual("mediaSubscriptionId", result.CallConnectionProperties.MediaSubscriptionId);
}
[TestCaseSource(nameof(TestData_CreateCall))]
@@ -305,7 +287,6 @@ public async Task CreateGroupCallAsync_201Created(IEnumerable(callConnectionId, TimeSpan.FromSeconds(20));
- Assert.IsNotNull(disconnectedEvent);
- Assert.IsTrue(disconnectedEvent is CallDisconnected);
- Assert.AreEqual(callConnectionId, ((CallDisconnected)disconnectedEvent!).CallConnectionId);
+ try
+ {
+ // test get properties
+ _ = await response.CallConnection.GetCallConnectionPropertiesAsync().ConfigureAwait(false);
+ }
+ catch (RequestFailedException ex)
+ {
+ if (ex.Status == 404)
+ {
+ callConnectionId = null;
+ return;
+ }
+ }
+
callConnectionId = null;
}
catch (Exception)
diff --git a/sdk/communication/Azure.Communication.CallAutomation/tests/CallConnections/CallConnectionTests.cs b/sdk/communication/Azure.Communication.CallAutomation/tests/CallConnections/CallConnectionTests.cs
index dffb57eb2f112..fa6c6d188105f 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/tests/CallConnections/CallConnectionTests.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/tests/CallConnections/CallConnectionTests.cs
@@ -27,7 +27,7 @@ public class CallConnectionTests : CallAutomationTestBase
"}";
private const string GetParticipantsPayload = "{" +
- "\"values\":[" +
+ "\"value\":[" +
"{\"identifier\":{\"rawId\":\"participantId1\",\"kind\":\"communicationUser\",\"communicationUser\":{\"id\":\"participantId1\"}},\"isMuted\":false}," +
"{\"identifier\":{\"rawId\":\"participantId2\",\"kind\":\"phoneNumber\",\"phoneNumber\":{\"value\":\"+11234567\"}},\"isMuted\":true}" +
"]" +
@@ -391,141 +391,6 @@ public void GetCallMediaTest()
Assert.AreEqual(connectionId, response.CallConnectionId);
}
- [TestCaseSource(nameof(TestData_MuteParticipant))]
- public void MuteParticipant_202Accepted(CommunicationIdentifier participant)
- {
- var callConnection = CreateMockCallConnection(202, OperationContextPayload);
-
- var response = callConnection.MuteParticipants(participant, OperationContext);
- Assert.AreEqual((int)HttpStatusCode.Accepted, response.GetRawResponse().Status);
- Assert.AreEqual(OperationContext, response.Value.OperationContext);
- }
-
- [TestCaseSource(nameof(TestData_MuteParticipant))]
- public void UnmuteParticipant_202Accepted(CommunicationIdentifier participant)
- {
- var callConnection = CreateMockCallConnection(202, OperationContextPayload);
-
- var response = callConnection.UnmuteParticipants(participant, OperationContext);
- Assert.AreEqual((int)HttpStatusCode.Accepted, response.GetRawResponse().Status);
- Assert.AreEqual(OperationContext, response.Value.OperationContext);
- }
-
- [TestCaseSource(nameof(TestData_MuteParticipant))]
- public void MuteParticipant_WithOptions_202Accepted(CommunicationIdentifier participant)
- {
- var callConnection = CreateMockCallConnection(202, OperationContextPayload);
- var options = new MuteParticipantsOptions(new List { participant })
- {
- OperationContext = OperationContext
- };
- var response = callConnection.MuteParticipants(options);
- Assert.AreEqual((int)HttpStatusCode.Accepted, response.GetRawResponse().Status);
- Assert.AreEqual(OperationContext, response.Value.OperationContext);
- }
-
- [TestCaseSource(nameof(TestData_MuteParticipant))]
- public void UnmuteParticipant_WithOptions_202Accepted(CommunicationIdentifier participant)
- {
- var callConnection = CreateMockCallConnection(202, OperationContextPayload);
- var options = new UnmuteParticipantsOptions(new List { participant })
- {
- OperationContext = OperationContext
- };
-
- var response = callConnection.UnmuteParticipants(options);
- Assert.AreEqual((int)HttpStatusCode.Accepted, response.GetRawResponse().Status);
- Assert.AreEqual(OperationContext, response.Value.OperationContext);
- }
-
- [TestCaseSource(nameof(TestData_MuteParticipant))]
- public async Task MuteParticipantAsync_202Accepted(CommunicationIdentifier participant)
- {
- var callConnection = CreateMockCallConnection(202, OperationContextPayload);
-
- var response = await callConnection.MuteParticipantsAsync(participant, OperationContext);
- Assert.AreEqual((int)HttpStatusCode.Accepted, response.GetRawResponse().Status);
- Assert.AreEqual(OperationContext, response.Value.OperationContext);
- }
-
- [Test]
- public void MuteParticipantAsync_NotAcsUser_400BadRequest()
- {
- var callConnection = CreateMockCallConnection(400);
- var participant = new PhoneNumberIdentifier("+15559501234");
- Assert.ThrowsAsync(typeof(RequestFailedException), async () => await callConnection.MuteParticipantsAsync(participant, OperationContext));
- }
-
- [TestCaseSource(nameof(TestData_MuteParticipant))]
- public async Task UnmuteParticipantAsync_202Accepted(CommunicationIdentifier participant)
- {
- var callConnection = CreateMockCallConnection(202, OperationContextPayload);
-
- var response = await callConnection.UnmuteParticipantsAsync(participant, OperationContext);
- Assert.AreEqual((int)HttpStatusCode.Accepted, response.GetRawResponse().Status);
- Assert.AreEqual(OperationContext, response.Value.OperationContext);
- }
-
- [Test]
- public void UnmuteParticipantAsync_NotAcsUser_400BadRequest()
- {
- var callConnection = CreateMockCallConnection(400);
- var participant = new PhoneNumberIdentifier("+15559501234");
- Assert.ThrowsAsync(typeof(RequestFailedException), async () => await callConnection.UnmuteParticipantsAsync(participant, OperationContext));
- }
-
- [TestCaseSource(nameof(TestData_MuteParticipant))]
- public async Task MuteParticipantAsync_WithOptions_202Accepted(CommunicationIdentifier participant)
- {
- var callConnection = CreateMockCallConnection(202, OperationContextPayload);
- var options = new MuteParticipantsOptions(new List { participant })
- {
- OperationContext = OperationContext,
- };
-
- var response = await callConnection.MuteParticipantsAsync(options);
- Assert.AreEqual((int)HttpStatusCode.Accepted, response.GetRawResponse().Status);
- Assert.AreEqual(OperationContext, response.Value.OperationContext);
- }
-
- [TestCaseSource(nameof(TestData_MuteParticipant))]
- public void MuteParticipantAsync_WithOptions_MoreThanOneParticipant_400BadRequest(CommunicationIdentifier participant)
- {
- var callConnection = CreateMockCallConnection(400);
- var options = new MuteParticipantsOptions(new List { participant, participant })
- {
- OperationContext = OperationContext,
- };
-
- Assert.ThrowsAsync(typeof(RequestFailedException), async () => await callConnection.MuteParticipantsAsync(options));
- }
-
- [TestCaseSource(nameof(TestData_MuteParticipant))]
- public async Task UnmuteParticipantAsync_WithOptions_202Accepted(CommunicationIdentifier participant)
- {
- var callConnection = CreateMockCallConnection(202, OperationContextPayload);
- var options = new UnmuteParticipantsOptions(new List { participant })
- {
- OperationContext = OperationContext,
- };
-
- var response = await callConnection.UnmuteParticipantsAsync(options);
- Assert.AreEqual((int)HttpStatusCode.Accepted, response.GetRawResponse().Status);
- Assert.AreEqual(OperationContext, response.Value.OperationContext);
- }
-
- [TestCaseSource(nameof(TestData_MuteParticipant))]
- public void UnmuteParticipantAsync_WithOptions_MoreThanOneParticipant_400BadRequest(CommunicationIdentifier participant)
- {
- var callConnection = CreateMockCallConnection(400);
- var options = new UnmuteParticipantsOptions(new List { participant, participant })
- {
- OperationContext = OperationContext,
- };
-
- Assert.ThrowsAsync(typeof(RequestFailedException), async () => await callConnection.UnmuteParticipantsAsync(options));
- }
-
private CallConnection CreateMockCallConnection(int responseCode, string? responseContent = null, string callConnectionId = "9ec7da16-30be-4e74-a941-285cfc4bffc5")
{
return CreateMockCallAutomationClient(responseCode, responseContent).GetCallConnection(callConnectionId);
@@ -539,7 +404,7 @@ private CallConnection CreateMockCallConnection(int responseCode, string? respon
{
new object?[]
{
- callInvite
+ new CallInvite(new CommunicationUserIdentifier("userId"))
},
};
}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/tests/CallMedias/CallMediaTests.cs b/sdk/communication/Azure.Communication.CallAutomation/tests/CallMedias/CallMediaTests.cs
index ede7e47b1346c..285f42635c1af 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/tests/CallMedias/CallMediaTests.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/tests/CallMedias/CallMediaTests.cs
@@ -26,37 +26,13 @@ public class CallMediaTests : CallAutomationTestBase
CustomVoiceEndpointId = "customVoiceEndpointId"
};
- private static readonly PlayOptions _fileOptions = new PlayOptions(_fileSource, _target)
+ private static readonly PlayOptions _fileOptions = new PlayOptions(new List { _fileSource }, _target)
{
Loop = false,
OperationContext = "context"
};
- private static readonly PlayOptions _textOptions = new PlayOptions(_textSource, _target)
- {
- Loop = false,
- OperationContext = "context"
- };
-
- private static readonly PlayOptions _ssmlOptions = new PlayOptions(_ssmlSource, _target)
- {
- Loop = false,
- OperationContext = "context"
- };
-
- private static readonly PlayToAllOptions _filePlayToAllOptions = new PlayToAllOptions(_fileSource)
- {
- Loop = false,
- OperationContext = "context"
- };
-
- private static readonly PlayToAllOptions _textPlayToAllOptions = new PlayToAllOptions(_textSource)
- {
- Loop = false,
- OperationContext = "context"
- };
-
- private static readonly PlayToAllOptions _ssmlPlayToAllOptions = new PlayToAllOptions(_ssmlSource)
+ private static readonly PlayToAllOptions _filePlayToAllOptions = new PlayToAllOptions(new List { _fileSource })
{
Loop = false,
OperationContext = "context"
@@ -69,15 +45,6 @@ public class CallMediaTests : CallAutomationTestBase
"The third test string to be recognized by cognition service"
};
- private static RecognizeChoice _recognizeChoice1 = new RecognizeChoice("testLabel1", s_strings);
- private static RecognizeChoice _recognizeChoice2 = new RecognizeChoice("testLabel2", s_strings);
-
- private static readonly List s_recognizeChoices = new List()
- {
- _recognizeChoice1,
- _recognizeChoice2
- };
-
private static readonly CallMediaRecognizeOptions _dmtfRecognizeOptions = new CallMediaRecognizeDtmfOptions(new CommunicationUserIdentifier("targetUserId"), maxTonesToCollect: 5)
{
InterruptCallMediaOperation = true,
@@ -146,7 +113,7 @@ public class CallMediaTests : CallAutomationTestBase
[SetUp]
public void Setup()
{
- _fileSource.PlaySourceCacheId = "playSourceId";
+ _fileSource.PlaySourceCacheId = "PlaySourceCacheId";
}
private CallMedia GetCallMedia(int responseCode)
@@ -182,33 +149,6 @@ public async Task RecognizeOperationsAsync_Return202Accepted(Func>> operation)
- {
- _callMedia = GetCallMedia(202);
- var result = await operation(_callMedia);
- Assert.IsNotNull(result);
- Assert.AreEqual((int)HttpStatusCode.Accepted, result.GetRawResponse().Status);
- }
-
- [TestCaseSource(nameof(TestData_StartContinuousRecognitionOperationsAsync))]
- public async Task StartContinuousRecognitionOperationssAsync_Return200Accepted(Func> operation)
- {
- _callMedia = GetCallMedia(200);
- var result = await operation(_callMedia);
- Assert.IsNotNull(result);
- Assert.AreEqual((int)HttpStatusCode.OK, result.Status);
- }
-
- [TestCaseSource(nameof(TestData_StopContinuousRecognitionOperationsAsync))]
- public async Task StopContinuousRecognitionOperationssAsync_Return200Accepted(Func> operation)
- {
- _callMedia = GetCallMedia(200);
- var result = await operation(_callMedia);
- Assert.IsNotNull(result);
- Assert.AreEqual((int)HttpStatusCode.OK, result.Status);
- }
-
[TestCaseSource(nameof(TestData_PlayOperations))]
public void MediaOperations_Return202Accepted(Func> operation)
{
@@ -236,33 +176,6 @@ public void RecognizeOperations_Return202Accepted(Func> operation)
- {
- _callMedia = GetCallMedia(202);
- var result = operation(_callMedia);
- Assert.IsNotNull(result);
- Assert.AreEqual((int)HttpStatusCode.Accepted, result.GetRawResponse().Status);
- }
-
- [TestCaseSource(nameof(TestData_StartContinuousRecognitionOperations))]
- public void StartContinuousRecognitionOperations_Return200OK(Func operation)
- {
- _callMedia = GetCallMedia(200);
- var result = operation(_callMedia);
- Assert.IsNotNull(result);
- Assert.AreEqual((int)HttpStatusCode.OK, result.Status);
- }
-
- [TestCaseSource(nameof(TestData_StopContinuousRecognitionOperations))]
- public void StopContinuousRecognizeOperations_Return200OK(Func operation)
- {
- _callMedia = GetCallMedia(200);
- var result = operation(_callMedia);
- Assert.IsNotNull(result);
- Assert.AreEqual((int)HttpStatusCode.OK, result.Status);
- }
-
[TestCaseSource(nameof(TestData_PlayOperationsAsync))]
public void PlayOperationsAsync_Return404NotFound(Func>> operation)
{
@@ -293,37 +206,6 @@ public void RecognizeOperationsAsync_Return404NotFound(Func>> operation)
- {
- _callMedia = GetCallMedia(404);
- RequestFailedException? ex = Assert.ThrowsAsync(
- async () => await operation(_callMedia));
- Assert.NotNull(ex);
- Assert.AreEqual(ex?.Status, 404);
- }
-
- [TestCaseSource(nameof(TestData_StartContinuousRecognitionOperationsAsync))]
- public void StartContinuousRecognitionOperationsAsync_Return404NotFound(Func> operation)
- {
- _callMedia = GetCallMedia(404);
- RequestFailedException? ex = Assert.ThrowsAsync(
- async () => await operation(_callMedia));
- Assert.NotNull(ex);
- Assert.AreEqual(ex?.Status, 404);
- }
-
- [TestCaseSource(nameof(TestData_StopContinuousRecognitionOperationsAsync))]
-
- public void StopContinuousRecognitionOperationsAsync_Return404NotFound(Func> operation)
- {
- _callMedia = GetCallMedia(404);
- RequestFailedException? ex = Assert.ThrowsAsync(
- async () => await operation(_callMedia));
- Assert.NotNull(ex);
- Assert.AreEqual(ex?.Status, 404);
- }
-
[TestCaseSource(nameof(TestData_PlayOperations))]
public void PlayOperations_Return404NotFound(Func> operation)
{
@@ -344,16 +226,6 @@ public void RecognizeOperations_Return404NotFound(Func> operation)
- {
- _callMedia = GetCallMedia(404);
- RequestFailedException? ex = Assert.Throws(
- () => operation(_callMedia));
- Assert.NotNull(ex);
- Assert.AreEqual(ex?.Status, 404);
- }
-
[TestCaseSource(nameof(TestData_CancelOperations))]
public void CancelOperations_Return404NotFound(Func> operation)
{
@@ -374,27 +246,6 @@ public void MediaOperations_Return404NotFound(Func operation)
- {
- _callMedia = GetCallMedia(404);
- RequestFailedException? ex = Assert.Throws(
- () => operation(_callMedia));
- Assert.NotNull(ex);
- Assert.AreEqual(ex?.Status, 404);
- }
-
- [TestCaseSource(nameof(TestData_StopContinuousRecognitionOperations))]
-
- public void StopContinuousRecognizeOperations_Return404NotFound(Func operation)
- {
- _callMedia = GetCallMedia(404);
- RequestFailedException? ex = Assert.Throws(
- () => operation(_callMedia));
- Assert.NotNull(ex);
- Assert.AreEqual(ex?.Status, 404);
- }
-
private static IEnumerable
public string TargetPhoneNumber => GetRecordedVariable(TargetNumber, options => options.IsSecret("+16041234567"));
- ///
- /// Endpoint for the targetted PMA in string. If not set, default endpoint is used.
- ///
- public string PMAEndpoint => GetRecordedOptionalVariable(Endpoint, options => options.IsSecret("https://sanitized.com"));
-
///
/// Dispatcher endpoint for automated testing
///
diff --git a/sdk/communication/Azure.Communication.CallAutomation/tests/Infrastructure/CallAutomationTestBase.cs b/sdk/communication/Azure.Communication.CallAutomation/tests/Infrastructure/CallAutomationTestBase.cs
index 68b642e140dd0..bb0e69bda72de 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/tests/Infrastructure/CallAutomationTestBase.cs
+++ b/sdk/communication/Azure.Communication.CallAutomation/tests/Infrastructure/CallAutomationTestBase.cs
@@ -23,7 +23,7 @@ public class CallAutomationTestBase
"}}" +
"]," +
"\"sourceDisplayName\": \"displayName\"," +
- "\"sourceIdentity\":{{" +
+ "\"source\":{{" +
"\"rawId\":\"sourceId\"," +
"\"kind\":\"communicationUser\"," +
"\"communicationUser\":{{\"id\":\"sourceId\"}}" +
diff --git a/sdk/communication/Azure.Communication.CallAutomation/tests/MediaStreaming/CallAutomationStreamingParserTests.cs b/sdk/communication/Azure.Communication.CallAutomation/tests/MediaStreaming/CallAutomationStreamingParserTests.cs
deleted file mode 100644
index 48d79f5519af2..0000000000000
--- a/sdk/communication/Azure.Communication.CallAutomation/tests/MediaStreaming/CallAutomationStreamingParserTests.cs
+++ /dev/null
@@ -1,126 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-using System.Text.Json;
-using Newtonsoft.Json.Linq;
-using NUnit.Framework;
-
-namespace Azure.Communication.CallAutomation.Tests.MediaStreaming
-{
- internal class CallAutomationStreamingParserTests
- {
- [Test]
- public void ParseMetadata_Test()
- {
- string metadataJson = "{"
- + "\"kind\": \"AudioMetadata\","
- + "\"audioMetadata\": {"
- + "\"subscriptionId\": \"subscriptionId\","
- + "\"encoding\": \"encodingType\","
- + "\"sampleRate\": 8,"
- + "\"channels\": 2,"
- + "\"length\": 640"
- + "}"
- + "}";
-
- MediaStreamingMetadata streamingMetadata = (MediaStreamingMetadata)MediaStreamingPackageParser.Parse(metadataJson);
- ValidateMetadata(streamingMetadata);
- }
-
- [Test]
- public void ParseAudio_Test()
- {
- string audioJson = "{"
- + "\"kind\": \"AudioData\","
- + "\"audioData\": {"
- + "\"data\": \"AQIDBAU=\"," // [1, 2, 3, 4, 5]
- + "\"timestamp\": \"2022-08-23T11:48:05Z\","
- + "\"participantRawID\": \"participantId\","
- + "\"silent\": false"
- + "}"
- + "}";
-
- MediaStreamingAudioData streamingAudio = (MediaStreamingAudioData) MediaStreamingPackageParser.Parse(audioJson);
- ValidateAudioData(streamingAudio);
- }
-
- [Test]
- public void ParseAudio_NoParticipantIdSilent_Test()
- {
- string audioJson = "{"
- + "\"kind\": \"AudioData\","
- + "\"audioData\": {"
- + "\"data\": \"AQIDBAU=\"," // [1, 2, 3, 4, 5]
- + "\"timestamp\": \"2022-08-23T11:48:05Z\""
- + "}"
- + "}";
-
- MediaStreamingAudioData streamingAudio = (MediaStreamingAudioData)MediaStreamingPackageParser.Parse(audioJson);
- ValidateAudioDataNoParticipant(streamingAudio);
- }
-
- [Test]
- public void ParseBinaryData()
- {
- JObject jsonData = new JObject();
- jsonData["kind"] = "AudioData";
- jsonData["audioData"] = new JObject();
- jsonData["audioData"]["data"] = "AQIDBAU=";
- jsonData["audioData"]["timestamp"] = "2022-08-23T11:48:05Z";
- jsonData["audioData"]["participantRawID"] = "participantId";
- jsonData["audioData"]["silent"] = false;
-
- var binaryData = BinaryData.FromString(jsonData.ToString());
-
- MediaStreamingAudioData streamingAudio = (MediaStreamingAudioData)MediaStreamingPackageParser.Parse(binaryData);
- ValidateAudioData(streamingAudio);
- }
-
- [Test]
- public void ParseAudioEventsWithBynaryArray()
- {
- JObject jsonData = new JObject();
- jsonData["kind"] = "AudioData";
- jsonData["audioData"] = new JObject();
- jsonData["audioData"]["data"] = "AQIDBAU=";
- jsonData["audioData"]["timestamp"] = "2022-08-23T11:48:05Z";
- jsonData["audioData"]["participantRawID"] = "participantId";
- jsonData["audioData"]["silent"] = false;
-
- byte[] receivedBytes = System.Text.Encoding.UTF8.GetBytes(jsonData.ToString());
- MediaStreamingAudioData parsedPackage = (MediaStreamingAudioData) MediaStreamingPackageParser.Parse(receivedBytes);
-
- Assert.NotNull(parsedPackage);
- ValidateAudioData(parsedPackage);
- }
-
- private static void ValidateMetadata(MediaStreamingMetadata streamingMetadata)
- {
- Assert.IsNotNull(streamingMetadata);
- Assert.AreEqual("subscriptionId", streamingMetadata.MediaSubscriptionId);
- Assert.AreEqual("encodingType", streamingMetadata.Encoding);
- Assert.AreEqual(8, streamingMetadata.SampleRate);
- Assert.AreEqual(2, streamingMetadata.Channels);
- Assert.AreEqual(640, streamingMetadata.Length);
- }
-
- private static void ValidateAudioData(MediaStreamingAudioData streamingAudio)
- {
- Assert.IsNotNull(streamingAudio);
- Assert.AreEqual("AQIDBAU=", streamingAudio.Data);
- Assert.AreEqual(2022, streamingAudio.Timestamp.Year);
- Assert.IsTrue(streamingAudio.Participant is CommunicationIdentifier);
- Assert.AreEqual("participantId", streamingAudio.Participant.RawId);
- Assert.IsFalse(streamingAudio.IsSilent);
- }
- private static void ValidateAudioDataNoParticipant(MediaStreamingAudioData streamingAudio)
- {
- Assert.IsNotNull(streamingAudio);
- Assert.AreEqual("AQIDBAU=", streamingAudio.Data);
- Assert.AreEqual(2022, streamingAudio.Timestamp.Year);
- Assert.IsNull(streamingAudio.Participant);
- Assert.IsFalse(streamingAudio.IsSilent);
- }
- }
-}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/tests/SessionRecordedEvents/CallAutomationClientAutomatedLiveTests/CreateCallAndReject.json b/sdk/communication/Azure.Communication.CallAutomation/tests/SessionRecordedEvents/CallAutomationClientAutomatedLiveTests/CreateCallAndReject.json
index e71a2084ce05e..485323e8c4fb0 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/tests/SessionRecordedEvents/CallAutomationClientAutomatedLiveTests/CreateCallAndReject.json
+++ b/sdk/communication/Azure.Communication.CallAutomation/tests/SessionRecordedEvents/CallAutomationClientAutomatedLiveTests/CreateCallAndReject.json
@@ -1,8 +1,8 @@
{
"entries": [
{
- "body": "{\u0022to\u0022:{\u0022kind\u0022:\u0022communicationUser\u0022,\u0022rawId\u0022:\u0022Sanitized\u0022,\u0022communicationUser\u0022:{\u0022id\u0022:\u0022Sanitized\u0022}},\u0022from\u0022:{\u0022kind\u0022:\u0022communicationUser\u0022,\u0022rawId\u0022:\u0022Sanitized\u0022,\u0022communicationUser\u0022:{\u0022id\u0022:\u0022Sanitized\u0022}},\u0022serverCallId\u0022:\u0022aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDIuY29udi5za3lwZS5jb20vY29udi92Q2hzNFdqZVdrNnloRUx0OTQybTlBP2k9MTQmZT02MzgxOTI3NDY1OTU4NzQ3OTM=\u0022,\u0022callerDisplayName\u0022:\u0022\u0022,\u0022incomingCallContext\u0022:\u0022eyJhbGciOiJub25lIiwidHlwIjoiSldUIn0.eyJjYyI6Ikg0c0lBQUFBQUFBQUNzMVliVy9iT0JMK0s0SVB1QStIMGlZcFNxSUlHQXZYZHR1a1NacEw4OUpkQkJkUUpHVXJrU1dWa3QvUzdYL2ZvZXdrVHR6cjl1NTJEK3NBc2trT24rZmhpRVBPNUV0SHlUdy9LWnNzelpSc3NyTG9pQytkMUpZejk1M3BqdWh3SVZVdFNLS2xwRW1NNGdCSGlBV01vaVFKR1pKUlFxbkNXSExOYm5EN0lSekpVQ21VcEQ1SHZ2Wmp4STB2c2NaWWt6RHR2T3Jvcks1eXVUNlJNd1A0MEdFS1haVlowUnc0UGo5Vk9xSlJpTkxZVHhFTHFVR3hIeXJFTkZZa3dxa0tFeC9tNUxLWXpPWEV1RG5GUE05ZmRTcHBtMHhsbGR3Q3hRbnp1WThwU29PQUk1YVNDTWs0RFpDU1NxZWFNa1VTQ1VEVFRHc0R5MDVsWHBzbkxlZnJ5cW1yalYwWU82Z3FzS3hzV1JuYnJGL0x5WWJ6NjZ0T1UvNFJqa3FpbDQ2SzhPODZhZ09DTWZyRzQrSHpRNDdDbk5NMDFUN0NqRWp3T0pkSTRpUkZPbUtSb2FrMmtVcjJIV1ZOWGM2dGFuRTdQN0xxZitQQlBDdnVhdWRFMlRSU1RRRnMyalJWTFhvOVdXWGROTThtMHdibXJkYmQrZzdlU1ZlVk16ZlNXOUNlcW5yZ3ZubHRKRVdZZHBYYU1WR3F0eUM5dExSM1J2ZDBCRUo0ckZIQ1FCbmpxVUVjTTNoRVdtTkthWmdrcEVlalhrWjZQb3Q3R3lVL1pYMENtbWRHWjNKUTFFdGpRWnRTSUd6bTlnMW9tb0FQNnIrQzRBY3RXOG5XM0JyVi9CV0ViWlJzWmMxMWRXNWxVVmVsZGVLZ0NkSUMyaVdFZFFtRDc1Z0luMFc4MS9tNmRmdXdMQnBUZ1BHWGp0cjgzSWFscktwOGUyRDFhdTJDTThuTEJBWVdmWHh0cjR1eWp6eENHV09oaDcyREUrL2dsRUU3Nm1MNEk4Nmc3dGZnTDVqdUdxcS9OV0c0Ry9FdXdYNlhSTnlOSlAzaHVTRGJZSElkVFI5NzdZOVpYODUxVm5vQnhqNzJ6czVQZTRQTFU0OWc1c1h3OUQxQ2lFYzRzSE12anFBSFdxNlRnd3o4ZlU3WnQ0MnFrSzJ6ZTdQVFRoUHhEMitGWmlBYm90a0REM2cxbkFkQzExUFBHclZ3UHpibUsxUm5rMEpDWUUyK04rc0pXN2hGdEc2Ui9Vd1pORSt0bkFoMUt1MVRYN1hVWXZUdVlsWVdBWjRNNGtNMkdoenArOCtYNjlIdGFFZmxiTDdhdEpRc2RLWmxZd1NzM0xzWW5YcVUrRGpDSWZQSjh6VnZYZGlzUVpwTjg1Vm5wZFlXWE5hbGhMdjN4VHpydHN6R2JoK2Q3cUFITVhoNEg1MzhJRHA1aVU1QnUxdVdWQTB3VU5nSklZNWVNckNZQlBRSEdGcTdmUWI2SnpQQXRtczlSR2pBYVl4SkZIZ1BRY2RiQ2crQ0xtN1JyWUhyWm92K1hNSE9HL0NPenkvT1RnNUdIZ2w5bUVrWmljT1FFWUlEL2kxeStrVE93WkQrVCtUa2tUeUVkZURJWnl5SWZNcjl5TWY4SlRlRWZPdmFTdGExT3cyNEU0ckQ1d0tnQ1RjeC9rRUZNV2I3TFBUL3dCTHNiRVJIRXZEWUI3dy9tb1QrV1NTNVRFd3VaaklyVUh0dWJucG5tUmJibUZ1aFpHbGtQaWx0MWt4bklsa3FyNUxxempTVnpLeTNOQWtjTDF1OWRsMDFKUVQrWVB6eFpuaDhReWkvZVhjOEdONThmRGNnTnh4N1dRRkhueEdYMmNHSHQrbXlLZU82eUVhdnI5Ni9XUTFaTUs1dWt5TDZwNHJmdjdIbDJzNUdSNy9TZi9ua1YvSWdaQXRQZncvKy9TZk8wc04zeS9sRTg4UHErUFNYOGR2NzQ2dHBjVkhkWjdkblIreXUvank1UE1GVkMvOXdRbFl6V2NGOXdyeVBCMGZ2ZXlUYzNpcVBRN0gzTnFLMHgxLzJ1MEJwcCt5UHdEM3o4ZUJzZkxLTGxzNmF6VWlTTlJiZWJIK2ZDYzVKb0lwM0FEZVR1Q2VMd3F5U2ZsRStzOGZlNmZENFlwK2Z1LzdCZmo5Y2VtZmowYmRXQWh2WjVLYWFsb1ZCWmdGMytwNEdNTUdJaE0vbitkN3c1RnZMNTY3L0crdWoyQTJ3cHhsVms4M2d2SDFnZ3R2UjJNcENOaTNxcVVRMENMMTRMTWF4aUdQQlg0dGhMRVpjREFaaU9CWjBKQVpNdkg0amdxRVlNUkg3clUwb1dDaDhHS1ZpSElvSWVrYmlEUmR2WU5SM1UwSW04Rmd3eUdrQXh4ZUQ0WWJZckpwV24rZVNNM0VObitWeTJkMXM4RzVwSjlmWFpnVkpNbWd0bXZyNkdwYURwdHJDck90cm1kVEkzZDdJcmVRWm12K0U5cGk0ZlFjb2xYVnprMERjTHpQZFRHOVNZM1FDd2ZZM0tIVmNUblRqUHlZU3RWVUljcllKWExTdXRuQVBOL2FRRngrWlNadi9KeUhSUVNvNUNsVWNJSlpBTVNGWklCSHhJeDJFakFZK2M1V2ZxYUhjYkxPMkQwck5MVGgvOGxoUEZHYjVJVTFka3QxMlFBb0lDZUo3czNiSjN6WlhhMXNkOW9FZVhPYW40ZUk0cmFyNVlYUjJtQjNjVC9wOXdJZXlCazRNc0luT1l2YnpiWDcxK2RPSHhidnlsN2R2ODAvcm41ZGdBN0FXaEVQQzVGU2NidXFSekxRRlNGYWZiWWNHZVY0dURTeXNzWFB6RmVaQTl1bDgwMG8vS0JaWjgxZ3I3NDY0ZE5XV2VkNVdDdjlSN2cwZ2tIMHZUWnQ4UTJNMy9ZWm1iekdjMXV6cTFsemRoZXZwK0tpSkdaM0ZBNWRYczcrYmZ1akRwVU1qRmdaeHdLRm9pMTJCbk5YSDg3ekpJSWxyd0d0YkoyZjFhMXRLcmVEOVAvbFptMlErMlUyMTRWOEM3VnVsUktZU3h4VEZ4b2NDUEtVRXlZQ0dpSVk0OFZNb1cybGJpdjlYOVNUd1RtdzVyMXJlRmZDMjVlQnZjSVBIOFpBUUFBQT0iLCJzaHJUb2tlbiI6ImV5SmhiR2NpT2lKU1V6STFOaUlzSW5SNWNDSTZJbkJ2Y0NKOS5leUpoZENJNkltVjVTakJsV0VGcFQybEtTMVl4VVdsTVEwcG9Za2RqYVU5cFNsTlZla2t4VG1sSmMwbHVaekZrUTBrMlNXa3hURk5VVGxKUFZ6VlBWV3BrYVZWdE9XMWxSekZzVjIwNVdXTlhTa2xYYTJSc1pIbEpjMGx0ZEhCYVEwazJTV2t4VEZOVVRsSlBWelZQVldwa2FWVnRPVzFsUnpGc1YyMDVXV05YU2tsWGEyUnNaSGxLT1M1bGVVcG9aRmRSYVU5cFNtbE9SRlpzVFVScmQxbFRNV3RaVjBwdFRGUlJlRTVFVlhSWlZFRXlUME13ZDA5SFJUUk5hbXhwVFhwQ2JFOUhVV2xNUTBwd1l6Tk5hVTlwU205a1NGSjNZM3B2ZGt3elRqQmplVFV6WVZjMWEySXpaSHBNYlRWc1pFTTVhbHBIVFRGWlYxWnNXVk13ZUU1WFRURk1WRkpyV1dwWmRGbHFRVE5QVXpGdFdUSkdhMXBFU1RGTlJGWnJXWHBKZGtscGQybGhWMFl3U1dwdmVFNXFaM3BPZWtGNlQxUkZNa3hEU25WWmJWbHBUMnBGTWs5RVRUTk5SRTAxVFZSWmMwbHRWalJqUTBrMlRWUlpORTE2WXpWTlJGbDRUbWwzYVZsWGJIWkphbTlwVWxSS1lWb3hiRTloYlRGclVqSkplazF1VW5OVVdIQllUVVUxZEU1NlZuTmpiWFJ3WTBWS00xRlVNR2xNUTBwb1kwaENjRnBEU1RaSmJVVjZXVlJOZWxsNlNtaE1WRWsxVDBkVmRFNUVSbXROVXpBMVRWUk5NMHhYUlRGT1JGbDVUVzFWTWs5RVJtcFplVWx6U1cxR2QyTkhiR3RaVjA1NVNXcHZhVTFwU1hOSmJVNTFXbWxKTm1WNVNuRmtNbk5wVDI1emFXRXpValZKYW05cFZXeE9Ra2xwZDJsaWFVazJTV3BDTldOdFJtWmhNbEpPVVZkb2QxRlhUa3BrVm1nMFRGWk9NRk5IZEU1T2JGazBVVzVzTVZKNlFtcFBSWFJDVGxWa05VNHpiSFpVUmxreVVUQXhTazU2YUhSVFNFNVdWVVJLZWxWSFZreGtiVkl4VlVaV2VHSkdTalZpU0VaUFVqQm9ZVmx1Vm1GbFJXeDRWMFZTY0ZZeVpFOU1WRlUwVkROQ1RtSnNjREZNVlVwSVlteHdTMk5GYTNkUk1VNXhXbFZhZUdSWWFGUmxibWd4VkVoS1NHTllXa3BhVjJOM1VWUm9TR05XVm1aTldFcHpXVmhhUkUxWFdUQmFNRGxTVFRCMFMyTlhVWGRQVkd3MVYwWnNiMDFxWkdwUlZGWklXSHBDZGxOR1FtcFdTRkpSVkdwQ2JFOUZaM2RpYkhCMVpWZDBkMDV1V1hoT1Z6RmFUMGQ0VWxOcVZuUlhWRUpaVld0R1EySkdUazVQU0VFMVlsaE5lbFJXYkRSYU1GcHVZVWhPVFZwRVdrSlhXRko0VFZkMFRtSXpiREZhUlZwVFRXdFNORTB3YkhsV1ZURlBWRlpHVVU5VVpGbGxWWFJQWkRCak1XVnNPVEpsUlRWUVkwVk9VbUpUTVU1alIyOTRWbGRrVG1ScmREQldNRFF5VFVoT2IxcHJiM2RXVmpreVZGUmpkR1JZYUZKVmJFSXpWRzVvY2s1dGRFbE5WRnAwVmpKdmVsTkViSE5aVlhNMFpFWmFNRkZZWkZsa1JGWnpWbGR3UlZFeFVrdFRhbVJ0WkZoQk5FMUlZM2hqVld4M1ZWTkpjMGx0VldsUGFVcENWVlZHUTBscGQybFpWM2h1U1dwdmFWVnNUWGxPVkZscFRFTktjbUZYVVdsUGFVcHdVMGhXVTFkWVVsUmFiSEJzWlZoQ2RsVnJjRlpTTURsSlZsZG5lR1ZHUW5OWGJFSkZVbXQ0TW1KNlduZFBWVW8xWWxWb1VVOUZiR3BKYmpFNVRFTktjRnBJUVdsUGFVcHZaRWhTZDJONmIzWk1NMDR3WTNrMU0yRlhOV3RpTTJSNlRHMDFiR1JET1dwYVIwMHhXVmRXYkZsVE1IaE9WMDB4VEZSU2ExbHFXWFJaYWtFelQxTXhiVmt5Um10YVJFa3hUVVJXYTFsNlNYWkphWGRwWWpKc2EwbHFiMmxOYlUwelQxZE9hVTU2WjNSTk1rNXFXVk13TUUweVZtbE1WMHBzV1dwSmRGbHFRVFZPYlZacFQxUkpNRTV0UlRSSmFYZHBZMjFuYVU5cFNYZE1hMFpUVTFWRk1tTlVaRWRsYlU1V1ZtNVNjazF1Wkd4YWJtd3dUVWQ0UTFwSVpHNWlNSEJaWTJ4T1prMXRkRmRSYlRsSVdqQnNlRkV5TVRaU1J6aDNWVEJHUWxGVE5HbE1RMHA2WkZkSmFVOXBTWGxaZW1NMVdUSkpNMDlETUhwWk1rNW9URlJSZWxwWFNYUlpiVlpwVFdreGFVMUVhekphVjBrMVRXcFJNbGxVWjJsTVEwb3dZVmRSYVU5cFNtcGFSMDB4V1ZkV2JGbFRNSGhPVjAweFRGUlNhMWxxV1hSWmFrRXpUMU14YlZreVJtdGFSRWt4VFVSV2ExbDZTV2xNUTBveFpFZHJhVTlwU21sVGJEbG9XVmRXZW1GV2NGWk5hM1JZVkRGc2VVMUZhRzFXUlVaQ1NXbDNhV1J0Vm5sSmFtOXBUVk0wZDBsdU1DNXdjRjlNZEhOVVgzQTRVMGx6UTJsSFgxaEdUWFJSTTNwZmNEUkRXRXR0WW1WNGNIQk5OelpTY1RFMk5XTk9hVEpLY0U1SlZFeElNV0ZFTlZsNFExTk1aMGgyYjNrMGJUZFBURUp4U0VGMVdYcERkM0JpWlVWVlIyWlZaMWd0ZGtKRWFUZHVVVkZqZEdkdGNWbEhNRE00TFV4VWR6TkdPVTB6V25oSlZYQnZiMmhRVkdaa1kydE5aMHB1T0hGWk0zTm5VbmQzYjJZeVRYUkJSVUp4VGxCcGFsOHlWMGN0T1VVeUxUZ3dlbU5hTm5ZdFlUY3lUbVZDVmtGWFh6VXRYM1I1TFZsdWNrTlFMVUZXUm1JMFJXTjRibGd4ZFRWTFJWUnNVVmd3Y1RKSE1IUm5TVXR2ZWxwM1MzZFVVRlpuVVZkaFZqVTFZVmN5VnpKRlZIbGZOREF3VVc1ak0yaG9SalkzYVdNeU9WOVVMVlJyTW1kVWFVeFdjR1pqTkhBdFJsQnFaemRqV1Vsa01YbGFRVUl6YlVOdFVGbGFTMHBxV1d4UVkwdE5Na1ZaTTFCVmEwVjZkM1ZHTkRkR2FHNUNZbU5CYzJGVlpuY2lMQ0owY3lJNk1UWTRNemMwTXpJMU5Dd2lZaUk2SWtkQmEzUktjMnhrV1hKS01tMHliVmwzY0dWbU1VNVNRMnAzV25SemJrMUhaR2QwVTFaNGExUXlha2tpTENKdWIyNWpaU0k2SW1GaE1UQXhZamswTW1abVlUUTVZbUppTVdVM09UZzNZbVUwWmpWaE5tRm1JaXdpWTI1bUlqcDdJbXAzYXlJNmV5SnJhV1FpT2lJME1IWk1YemxHUTFoVGIyWlZiMFJ3V0U5MmN6WmhVbXAzVlc1bldVUjNkRlJNTURoWFdsTkRhVWRySWl3aVpTSTZJa0ZSUVVJaUxDSnJkSGtpT2lKU1UwRWlMQ0p1SWpvaU1IbHlZVjlyWkUxQmFIQkJZMGwxV0hndFUzUklhMDAyVmpoQ2VYVkhNR000UzBFMVIzazNlVzlNVmpaRFRVazNPRzFJYzFWUU1uTlFaVXQyWkhWUVZYRnNVbmxzY1U1SFNGcGlkVnA0U1hGWVJHbFhaMDR0TlRoUGNFMXVXblV0UWtkdVdrcHdTVEJEVTJwbFJuRjFlRk42ZUhWTWNrZHhka2xsWnpCQk9FZHhWVjh4Y214aGRrTXhaalJuVDFFelMwcHhaREE1T1hsWVdXZ3lOMk5CTlVkZk1HOUlVR05VZEZCT01HVTRTREJ1V201NWEzQTJkakUxYlZrNGJGRktOVzFaTUZoU1FVSnNVMDA0Y0RsdGN6Tk5XWGhuUm1kb2MweGtOa0ZaZEhFeGEwMXZlWFZrUmxJeVJIZ3pTWEpWVFU1TlVWQTVOMWg1UzA1M1J6VjZYM1o0VGs5d1ExRnRMVTF3YWpGVlowMTJTM1JYVGpZd2MyaG1TakJWWDNaTk55MTFlRkZTVUhkT2VHczJhMGd4Tm0xWGFqTklPV3hoU3poMFZuUkJkMWgwTld4VmFrUkRWRXBLTjJaMWNEZ3dkekZ4U1hCUkluMTlmUS5aYW42UGRxZmxocHBKNFlneE8xZWZOTjNrRDZDa25oT0JDaklqOWNEMVFuU2ZvR01nLWVPUkUxUGh2NFdWbVYtUXNxMTVsam9mSVQzMUZXUEdCNHZnVURHNERHYjFPMXhuV2tMYzUyM2M3TXh6Vkx3dk9YNWcxNWNaQmhCaklkenZ6LTVtdjh5Yk1GQmI0OEhwV0ZfcnljRDZUbnVuVUE3akliYnd5VHV5Q2xSZk1jMHREX3RqWnVBbk1LWHc1dlhDRVJMbWlISm11SXVxUmUtVWZOcHFjQl9tRHNoS2pJTkV6UFYtT0w0RW1oZTF0d1czSXJXUGZrUnJfdW9CTXZEWTVKNGl2WUR3eTJQLWFUMmVnQTQ1TEtudXZIRXh3cnpxRGI2MXlUeHM4MDIzZWRINDF3T0tKTTNPMDd1X1A1aDBhZkVOUkdDM3NYVU9rYzdyUU5XVHcifQ.\u0022,\u0022correlationId\u0022:\u002221afa092-9e3c-4f21-a526-260b3fbfb2b3\u0022}",
- "messageId": "760f3d97bdc142bd816cd7f39e4a73a3",
+ "body": "{\u0022to\u0022:{\u0022kind\u0022:\u0022communicationUser\u0022,\u0022rawId\u0022:\u0022Sanitized\u0022,\u0022communicationUser\u0022:{\u0022id\u0022:\u0022Sanitized\u0022}},\u0022from\u0022:{\u0022kind\u0022:\u0022communicationUser\u0022,\u0022rawId\u0022:\u0022Sanitized\u0022,\u0022communicationUser\u0022:{\u0022id\u0022:\u0022Sanitized\u0022}},\u0022serverCallId\u0022:\u0022aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC94LWNvbnYtZXVuby0wMS5jb252LnNreXBlLmNvbS9jb252L3FtcURjYWxlV1UyeTY2TWtNVHhwNUE/aT0xJmU9NjM4MjA2NTUyNjc1OTIxMDI3\u0022,\u0022callerDisplayName\u0022:\u0022\u0022,\u0022incomingCallContext\u0022:\u0022eyJhbGciOiJub25lIiwidHlwIjoiSldUIn0.eyJjYyI6Ikg0c0lBQUFBQUFBQUNzMVliVy9qdUJIK0s0SUw5RU83dEVsS2xFZ0NSdUhZU1RhM3NaUE5PdzVCQTRxaWJDV3lwS1hrMkxtOS9lOGR5azdpamJlMzIvYXVPQWV3eGJmbmVXWkVjbWJ5dWFOVm5rL0tKa3N6clpxc0xEcnljeWUxNWR6OVprbEhkcmhVdXBZa1RwU2lzVUNDNFFnRkxLQW9qc01BcVNpbVZHT3NlQkxjNGZaRE9FcEZLRkNjQmlFeXZvNFFFNzdDQ2NaYXhMVHpycE5rZFpXcnA0bWFHOENIRGxNa1Zaa1Z6VkhMRjRlVWN4MGo1aXNmQlRyZ0tNYVlJcDJtTFBKVHFvSll3SnBjRmRPRm1ocTNwbGprK2J0T3BXeVQ2YXhTR3lCdGxDQXNqcENLalVJQmppbW9OZEFrUEFBd0xiQnlRTE1zU1F5WW5hcThOcTlhTHA0cXA2NDI5dEhZUVZYQnpNcVdsYkhOMDU2YXJqbS92T3MwNWUvaEtLVjJIT1YvMTFGckVJelJONzZlUHova0tCcWtCQ2VLSVVOeENCNDNJZUlwVGhERlJ2Z3Npa09jaEx1T3NxWXVGMWEzdUowZnNmcmZlRERQaW9mYU9WRTFqZEl6QUpzMVRWWExYazlWV1RmTnMrbXNnWFdycDI3OUFPK2txOHU1RytrOTBwNnVlaXVrTlRLTG9rU1lkTFhlbXFOMTc1SDAwdEkrbUtSSGNCU0wyQkNrU1p5aUlFNG9LRFUrSXI3aUlpUXFwamp0MGFpWGtaNGZpTjVheWoreVBnSFJjNU5rYWxEVVMyUGRydEtnYks3V3hrekJDZldmUXZHem1JMW1hKzZOYnY0VXl0WlNOcm9XU1hWaFZWRlhwWFhxb0FuYWlOK05naTRKL1M3RnZ2U0RpUGM2WHpaK0g1WkZZd3FZKzdtajE0K2JnNm1xS3Q5Y1diMDZjY2N6enNzWUJoNzcrTmJlRm1VZmVaVFJ5TVBlMGNRN09nMDhRcU11aGovaWh1dCtEZDZDeGE2aCs4OVRRdDROYVpjUzBpWENkME54ZjNnaHllWTB1WTZtajczMllkNVhpeVFyUFViREtQRE9MazU3ZzZ0VGorREFFL0R0ZTRRUWozQ2c1NTZJb0FkYXJwT0REdndkVXRXM2phNlFyYk5mekZZN2plWGZ2QldhZzNBNHp4NTR3S3ZoUnBCSlBmT3MwWS91WVQxOWhlcHNXaWc0V3RQZld2V0tMWjBWYk4zT3RFR0wxS3FwVEs2dkgxNzdxbVVpZjdsaTRvUStQSDQ4cWFyOTBmbjRtRC9kVCs2UHl5MlY4OFZxM2RLcVNMSkVOVWFDNmQ3bDZOU2p4TWNSRGdPZnZERjY0OFRtQ2JUWk5GOTVWaVdKQmFmQkJBNnZqSG5XN1pqMXRGMTB1b1hPaEhQeExqcjdNWFQyRnAyQ2RtZVcwZzB3VU5nS0lZNTJHQUtJTlBUN0RPMjBYUWI2QnpQQXZtczlSQ2pqVkdBQ3ptQzBTd2djT3M2N0l2VGd6SWtXMnhxSU44L1lYd3ZZZWdQZStPTHliSEkwOGdqek1RMERETGdSNXZCZXNSL3VrdE5YY3JnZ1F2by9rYk1YY2hGUndSZ0pNVXlpalBpY3Y2V0dzOVY2dGxKMURmd0JKMENQd3pmOExQUUQrbU1DQXVINy9pNEwvVCt3c0sxOTZFZ1lGK0R1MzUyRS9sRWtPV1JodVp5cnJFRHR2Ym51bldlSkpNOTNWcncwS3ArV05tdG1jeGt2dFZjcC9XQ2FTbVhXVzVvWWJwZU5YdnRVTlNXYys4SCsrZDF3ZkVjb3Yzcy9IZ3p2enQ4UHlCM0hYbGJBelFjNzc2WTRzSWNEc1R3NnZpUlg0OE5pOEtGTVJveDkrUHRGZkxEWW4zMjgvbWw1U0ZqK0svMm5UMzRsejBJMjhQUjc4UGMzOTNoUDNIUHVEN0lnM1hzL09ZR28rRGc4WGx4OTVQczNsMlU4dWE2UEgyYVhMZnp6QlZuTlZRWHhKUERPajQ0LzlHRHpycVBLeTVEd0RpTktlL3h0djRzbzdaTGRFWWd6NTBkbis1TnR0SFRlckVmaXJMSHdadnU3VEhCTkFwWFlBbHd2NHA0cUNyT0srMFg1MVh6c25RN0hsN3Y4M1BVUGR2c2g2SjN0ajc1bENXeGtrNXRxVmhZR21VY0k2VHNhWUFwR0pQeDZuZThOSjk4eW43ditiOWhIc1JzSVhsZFVUVGFINi9hWkNZS2pzWldGZEZyV000VW9DNzBna0NTU2JDVDNCcElQNVpES1lTZ1BJamtLcFdCU3dMT1FReUVwbC9zajl6REFNaHhLc2llSEI1THRTWDhvaFM4aktnZEVCcjQ4T0pCaUtQZUpwQU5KUmhKdk5vRlpOYTAreitWbThoWSt5K1d5dTk3ZzNkSk9iMi9OQ3JKazBGbzA5ZTB0bUlObWlZVlZ0N2NxcnBFTDNzaFo4aFdhLzRyMmtyYjlCbENxNnVZdWhuTy96SkptZHBjYWs4UncyUDRDdFk1TGl1NzhsenlpdGhwQnhqYUZPT3VLQy9mbHhwN3o0bU16WFJkYm9hRkNxd0NSS0tJbzhJMUJJcVFFbVlCR1VVeUlyMm5rQ3BnYTZzMDJhVHZSZW1IQitkT1hncUl3eTVNMGRVbDIyd0VaSUtTSEg4eVR5LzAyeVZyYjZsU2YyTS8yT2p6YXU3bGl4emVENjZ5c0J1Y2YrMzNBaDdvR2JneFgwL0NmRDZ0SmRaZ2RYbzczczlXSmYvaitWTGs1QUd0Qk9PUkxUc1hwdWlESlRGdUJaUFhaWm1pUTUrWFNnR0dOWFpndnNBYVNUK2ViVnZwUjhaZzFMOFh5OW9qTFZtMlo1MjJsOEIrbTNnRHptbnhEWXp2OWhtYnYwL3pUQ0p4bnJpL3BVeGlPSDhZWHE0b05YRjc5VjlNUGZRNjFHMnNEcElBVW9uVjJWbzhYZVpPZFFya0hidHQ0T2F2M2JLa1NEUnZnMWRHSmlSZlQ3VlFiL2luUXZ0WVVDdWhRbXdCS2NLZ05nc0M0YXBWQmxZQlRFM0dSY3FvZDAzOVZVUUx2MUphTHF1VmRBVzliRVA0TEdVSU0yWklRQUFBPSIsInNoclRva2VuIjoiZXlKaGJHY2lPaUpTVXpJMU5pSXNJblI1Y0NJNkluQnZjQ0o5LmV5SmhkQ0k2SW1WNVNqQmxXRUZwVDJsS1MxWXhVV2xNUTBwb1lrZGphVTlwU2xOVmVra3hUbWxKYzBsdVp6RmtRMGsyU1dreFRGTlVUbEpQVnpWUFZXcGthVlZ0T1cxbFJ6RnNWMjA1V1dOWFNrbFhhMlJzWkhsSmMwbHRkSEJhUTBrMlNXa3hURk5VVGxKUFZ6VlBWV3BrYVZWdE9XMWxSekZzVjIwNVdXTlhTa2xYYTJSc1pIbEtPUzVsZVVwb1pGZFJhVTlwU21sT1JGWnNUVVJyZDFsVE1XdFpWMHB0VEZSUmVFNUVWWFJaVkVFeVQwTXdkMDlIUlRSTmFteHBUWHBDYkU5SFVXbE1RMHB3WXpOTmFVOXBTbTlrU0ZKM1kzcHZka3d6VGpCamVUVXpZVmMxYTJJelpIcE1iVFZzWkVNNWFscEhUVEZaVjFac1dWTXdlRTVYVFRGTVZGSnJXV3BaZEZscVFUTlBVekZ0V1RKR2ExcEVTVEZOUkZacldYcEpka2xwZDJsaFYwWXdTV3B2ZUU1cVp6Rk5WRWw0VGtSak5FeERTblZaYlZscFQycEZNazlFVlhoTmFrVXdUbnBuYzBsdFZqUmpRMGsyVFZSWk5FNVVTWGRQUkVVelQwTjNhVmxYYkhaSmFtOXBVbFJLWVZveGJGRmFNMlIwVmxSQ2MwOUhTbEZVYlZwNVdtNWtlVkl3T1ZoT00yTnlUMVZLTTFGVU1HbE1RMHBvWTBoQ2NGcERTVFpKYlVWNldWUk5lbGw2U21oTVZFazFUMGRWZEU1RVJtdE5VekExVFZSTk0weFhSVEZPUkZsNVRXMVZNazlFUm1wWmVVbHpTVzFHZDJOSGJHdFpWMDU1U1dwdmFVMXBTWE5KYlU1MVdtbEpObVY1U25Ga01uTnBUMjV6YVdFelVqVkphbTlwVld4T1FrbHBkMmxpYVVrMlNXNWFZVlpxUmtKYVJsa3dXSHBDUzJKWVJYaE5NRFI2V2tWYVYxVklhRzFhVlhSd1pWZHNOV1ZZVm5sUFdHaElWak5TUlZJelZrOVpibWhyVTFaR1RXRnFTblpSYkhCdFRsZEtWMk5XV1hSU1Z6UTFaREJPZVdGRk9ESmhiVGxyVDBkcmVVMXViSGhsYmxwdlpXcG9hVlpxVVRGV1Iyc3hVVmhaTWxRd2MzUmxSR1J1V0RKMFVXRnRXa0pYUmtKR1ZEQTVZVTlFYUhKT2JXaHVVakZrY0ZGWWFGZE5WVXBVWldwWmVGZHNSa1ZTVnpGSFpGZG9jMlZ1UmtkVmVscEZVMGhLYjFnemNFOU9XR3hLVW0xNFNGRXhTa2hpYXpreVdrVnpkMDFWT0hkVmJYZDVWMGR3Y0dGdE1VOWxSRVpJVTFWMFIxTnNWbXhNVlVwV1dteENNVTVJVmtoVldHZzBWRVpXYkZrelpGaFNNRnBJV1cxRk5FNVdVazVrZWtwWFkydHdNRXhYWkd4V1V6RlpVVE5PUzFsc1FtOVpNVll4WTBaQ1RtUnJPVFZaYmxwMlRYcGpOVnB0Um05VFdGcG1UVlphVFZaVVZtMWpSMXBLVG10YWRsZElaRzFqVXpGVFdXdHNWVlJJUmxCUFdFMDBZbGM0TW1NelNsbFRWWFJ4VkVSVk1HTnVaSGhaV0VaeFRURndUbGRzU2pKVFNFcE9VbFJPVW1KdGFFUldSRlpMVWxjNVFtVkZkelZVTVVsNFpESmFRMUY2WkdwT00yeHBaREphVWxReVRubFdXRUpXVlZOSmMwbHRWV2xQYVVwQ1ZWVkdRMGxwZDJsWlYzaHVTV3B2YVZWc1RYbE9WRmxwVEVOS2NtRlhVV2xQYVVreldXdHNTV05ZYkhKWFIwVjRVMVZXVGxKclRtbE1WbEpQWVZSb1RsbHFhRXhYYlhSNVlYcEdXRTFVWXpCUk1VcHZZVEZTUWxGNlRUUkpiakU1VEVOS2NGcElRV2xQYVVwdlpFaFNkMk42YjNaTU0wNHdZM2sxTTJGWE5XdGlNMlI2VEcwMWJHUkRPV3BhUjAweFdWZFdiRmxUTUhoT1YwMHhURlJTYTFscVdYUlpha0V6VDFNeGJWa3lSbXRhUkVreFRVUldhMWw2U1haSmFYZHBZakpzYTBscWIybE5iVTB6VDFkT2FVNTZaM1JOTWs1cVdWTXdNRTB5Vm1sTVYwcHNXV3BKZEZscVFUVk9iVlpwVDFSSk1FNXRSVFJKYVhkcFkyMW5hVTlwU1hkTWEwWlRVMVZGTW1OVVpFZGxiVTVXVm01U2NrMXVaR3hhYm13d1RVZDRRMXBJWkc1aU1IQlpZMnhPWmsxdGRGZFJiVGxJV2pCc2VGRXlNVFpTUnpoM1ZUQkdRbEZUTkdsTVEwcDZaRmRKYVU5cFNYbFplbU0xV1RKSk0wOURNSHBaTWs1b1RGUlJlbHBYU1hSWmJWWnBUV2t4YVUxRWF6SmFWMGsxVFdwUk1sbFVaMmxNUTBvd1lWZFJhVTlwU21wYVIwMHhXVmRXYkZsVE1IaE9WMDB4VEZSU2ExbHFXWFJaYWtFelQxTXhiVmt5Um10YVJFa3hUVVJXYTFsNlNXbE1RMG94WkVkcmFVOXBTVFJOYlRCNlpWUlpNRnBVVFhkUk1sSjZaR3hvU1dJeVVqWlJhMFpDU1dsM2FXUnRWbmxKYW05cFRWTTBkMGx1TUM1clNIRjVlbnBvVFhsUVYweGtiREptY25kWGQyczNhVXcyVVZScGNtZEhjalp3TVZOSFdURTBTM2hwYlZkeVREQnNORGQ2VFd4MlMxcHJaVEZXUTJKcFZFZG9kakp3VWxsTFptUnhVVE5TYmxGSE1YcFZWamRKUVhwaVYyUkNjRTQxY0RKUGRUaDZUWHBOUkhkNUxYUTVaMmRRVWpkZlZqTkJWREEyUVVGdVJHZFBla1ppU0hKM1JIaGhibGRFUmpSemRETkhaVmRpWTJwcU56WnlTMHRUUzBnMGVrSnVZMHRXUVROM1NFazRlRlZTVWpaSlNXdGxVRFJ2ZWxSc1FtdE1SVVl5VFRkMFdDMUtYMHBDYmxKd1NYaHJSelptWms1MmVITXdUVUZQV1RsdFpWQXRhWFJxV2pCNVEzTTNNVTloY1hOaU1VZFpabVZ5YkRoNFQwSTFkRVpoU1dwaVRtRlVUR0pJU2w5M1gyaFdSbTVmZWxOaU9HcHBka2xYVWpWSGJGVkNNRTV1Wlc5UVpVRmxPSGN5U21wR1NqbEVaVEpvYldGNFVsTlRMVTFQWHkwd01GcFFNa1pHVW14elMwMHpYMkptV25jaUxDSjBjeUk2TVRZNE5URXlPVEkzT0N3aVlpSTZJbmt3WVZobVJHVlFSRnBqVVMxT2VITjZaRGw1YlhwRlJVdExYMWhsVFV0WU1uUXpYemhQTlZWWGRsRWlMQ0p1YjI1alpTSTZJbU5qWlRKaE5HUXhZVFkzT1RReU5URTVaRE0zT0RGbU16SXdaRFkwTlRRNElpd2lZMjVtSWpwN0ltcDNheUk2ZXlKcmFXUWlPaUpFWjA1NVZ6WklhMVJDTUhWck5tNU1VRUZ5VTE5MVVsOTVibVY2YW1oTlJWRXdlWGR0TFRGdFIwbzBJaXdpWlNJNklrRlJRVUlpTENKcmRIa2lPaUpTVTBFaUxDSnVJam9pZGxwV01VRmtWalJmTUVwdGNURXpUak5rUmxaUWVHWmxTMmw1YVhsNWRYSTVlRWRYZEVSSGRVNWllR1JKVVV4cU1tOUNXbVkxWWxaeFZpMUZiamwzUTNKb1R6WnFiMlE0YVRJeWVYRjZkbWg2T0dKV05EVlVhVFZCZGpaUFN5MTROMmRmYTFCcVprRllVRVZQVDFvNE9HczJhR2RIVjJsQmVGWXhRbE42TmpGYVVVUkZiVVoxYUd4NmNVWlROa1JJY21oZmVrNDFlVWxHYkVkRFVrZHVUM1prU3pBeFR6QlNiREpZYW1scWJVNTRNVWRKUzBaS1ZXVXRRbFZtVUhVMGRVZFJlSGhNVldWamQxZEhSa2RpWVRnMVZFMTNNbFp5U25RdFoyVlZMVmhEYzBwaVVHaGpWWFZ3VUUxMlQzbGlkbTh6TnpsbVlXaEpkbDh4Vmt4Vk5XWndaa2syUm05WWQyWnhMVkppU1ZSTWNVODVjemh0YnpaemNsaEpTMnBNTlRSeWQzRmhjV296V2sxYVVuWkljazFGTTFGdWFFTlVOVXBGYjBGNFREbFBVakYzWmtKRE4yTTNlV0ozWmxGUFkzSlZjRlZSSW4xOWZRLlA3OHphbF9CaWV2T2JxdWp4WFZVQXQxZjVwMUtJV1d6XzFYbkdodHpwWlZlUUw4c09rZVIyRDBwYldhUFRWR3JFN2lQZHlmc1VhcUNzUnZORmVoU0VfTEQwZUhidHJqNDBwSklhVU9mWGc3Y2tfQ0FhbGFnOGJDb1NseXdtc0FfWE1QX040MnFrTFBlSTdlWXN4TVhTOGl3cHBQOFQxT2RtSTVUTmxXaHlINDJ0ZVFWOUhOOGNiMTNzdndYei13X2hKUmZlUjJTeU5wYWJ5TXczTWJ3WlFKTlU2YzEtRWc2ZGdTeWZfeWlhU1JzV0FZS0NUS0FUTU9CU3pkUnpzLWxJdjFISVdjbUk5REV2Nm5JZEFIY01hdWZoYjRRYi15S0xMbEZCRWNiaDFUX0JEbENvamEwU2UwODJLblcwNVJmT29EclFBbkNHaWtYZFFFYnBPWVROdyJ9.\u0022,\u0022correlationId\u0022:\u0022f15b6ce4-b0cc-44e9-bf5c-e0fe789f82c7\u0022}",
+ "messageId": "dff02ef289484cc19a852a493fb81a51",
"partitionKey": null,
"sessionId": null,
"replyToSessionId": null,
@@ -11,7 +11,22 @@
"contentType": null,
"replyTo": null,
"applicationProperties": {
- "Diagnostic-Id": "00-dc8d811704453d82fc63a3cee5416b61-bfd1bad631a591d7-00"
+ "Diagnostic-Id": "00-711ca188744421c4d0ba3550b48b5e16-d3510d08b8d1a415-00"
+ },
+ "enqueuedTime": "0001-01-01T00:00:00+00:00"
+ },
+ {
+ "body": "{\u0022to\u0022:{\u0022kind\u0022:\u0022communicationUser\u0022,\u0022rawId\u0022:\u0022Sanitized\u0022,\u0022communicationUser\u0022:{\u0022id\u0022:\u0022Sanitized\u0022}},\u0022from\u0022:{\u0022kind\u0022:\u0022communicationUser\u0022,\u0022rawId\u0022:\u0022Sanitized\u0022,\u0022communicationUser\u0022:{\u0022id\u0022:\u0022Sanitized\u0022}},\u0022serverCallId\u0022:\u0022aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC94LWNvbnYtZXVuby0wMS5jb252LnNreXBlLmNvbS9jb252L3FtcURjYWxlV1UyeTY2TWtNVHhwNUE/aT0xJmU9NjM4MjA2NTUyNjc1OTIxMDI3\u0022,\u0022callerDisplayName\u0022:\u0022\u0022,\u0022incomingCallContext\u0022:\u0022eyJhbGciOiJub25lIiwidHlwIjoiSldUIn0.eyJjYyI6Ikg0c0lBQUFBQUFBQUNzMVliVy9qdUJIK0s0SUw5RU83dEVsS2xFZ0NSdUhZU1RhM3NaUE5PdzVCQTRxaWJDV3lwS1hrMkxtOS9lOGR5azdpamJlMzIvYXVPQWV3eGJmbmVXWkVjbWJ5dWFOVm5rL0tKa3N6clpxc0xEcnljeWUxNWR6OVprbEhkcmhVdXBZa1RwU2lzVUNDNFFnRkxLQW9qc01BcVNpbVZHT3NlQkxjNGZaRE9FcEZLRkNjQmlFeXZvNFFFNzdDQ2NaYXhMVHpycE5rZFpXcnA0bWFHOENIRGxNa1Zaa1Z6VkhMRjRlVWN4MGo1aXNmQlRyZ0tNYVlJcDJtTFBKVHFvSll3SnBjRmRPRm1ocTNwbGprK2J0T3BXeVQ2YXhTR3lCdGxDQXNqcENLalVJQmppbW9OZEFrUEFBd0xiQnlRTE1zU1F5WW5hcThOcTlhTHA0cXA2NDI5dEhZUVZYQnpNcVdsYkhOMDU2YXJqbS92T3MwNWUvaEtLVjJIT1YvMTFGckVJelJONzZlUHova0tCcWtCQ2VLSVVOeENCNDNJZUlwVGhERlJ2Z3Npa09jaEx1T3NxWXVGMWEzdUowZnNmcmZlRERQaW9mYU9WRTFqZEl6QUpzMVRWWExYazlWV1RmTnMrbXNnWFdycDI3OUFPK2txOHU1RytrOTBwNnVlaXVrTlRLTG9rU1lkTFhlbXFOMTc1SDAwdEkrbUtSSGNCU0wyQkNrU1p5aUlFNG9LRFUrSXI3aUlpUXFwamp0MGFpWGtaNGZpTjVheWoreVBnSFJjNU5rYWxEVVMyUGRydEtnYks3V3hrekJDZldmUXZHem1JMW1hKzZOYnY0VXl0WlNOcm9XU1hWaFZWRlhwWFhxb0FuYWlOK05naTRKL1M3RnZ2U0RpUGM2WHpaK0g1WkZZd3FZKzdtajE0K2JnNm1xS3Q5Y1diMDZjY2N6enNzWUJoNzcrTmJlRm1VZmVaVFJ5TVBlMGNRN09nMDhRcU11aGovaWh1dCtEZDZDeGE2aCs4OVRRdDROYVpjUzBpWENkME54ZjNnaHllWTB1WTZtajczMllkNVhpeVFyUFViREtQRE9MazU3ZzZ0VGorREFFL0R0ZTRRUWozQ2c1NTZJb0FkYXJwT0REdndkVXRXM2phNlFyYk5mekZZN2plWGZ2QldhZzNBNHp4NTR3S3ZoUnBCSlBmT3MwWS91WVQxOWhlcHNXaWc0V3RQZld2V0tMWjBWYk4zT3RFR0wxS3FwVEs2dkgxNzdxbVVpZjdsaTRvUStQSDQ4cWFyOTBmbjRtRC9kVCs2UHl5MlY4OFZxM2RLcVNMSkVOVWFDNmQ3bDZOU2p4TWNSRGdPZnZERjY0OFRtQ2JUWk5GOTVWaVdKQmFmQkJBNnZqSG5XN1pqMXRGMTB1b1hPaEhQeExqcjdNWFQyRnAyQ2RtZVcwZzB3VU5nS0lZNTJHQUtJTlBUN0RPMjBYUWI2QnpQQXZtczlSQ2pqVkdBQ3ptQzBTd2djT3M2N0l2VGd6SWtXMnhxSU44L1lYd3ZZZWdQZStPTHliSEkwOGdqek1RMERETGdSNXZCZXNSL3VrdE5YY3JnZ1F2by9rYk1YY2hGUndSZ0pNVXlpalBpY3Y2V0dzOVY2dGxKMURmd0JKMENQd3pmOExQUUQrbU1DQXVINy9pNEwvVCt3c0sxOTZFZ1lGK0R1MzUyRS9sRWtPV1JodVp5cnJFRHR2Ym51bldlSkpNOTNWcncwS3ArV05tdG1jeGt2dFZjcC9XQ2FTbVhXVzVvWWJwZU5YdnRVTlNXYys4SCsrZDF3ZkVjb3Yzcy9IZ3p2enQ4UHlCM0hYbGJBelFjNzc2WTRzSWNEc1R3NnZpUlg0OE5pOEtGTVJveDkrUHRGZkxEWW4zMjgvbWw1U0ZqK0svMm5UMzRsejBJMjhQUjc4UGMzOTNoUDNIUHVEN0lnM1hzL09ZR28rRGc4WGx4OTVQczNsMlU4dWE2UEgyYVhMZnp6QlZuTlZRWHhKUERPajQ0LzlHRHpycVBLeTVEd0RpTktlL3h0djRzbzdaTGRFWWd6NTBkbis1TnR0SFRlckVmaXJMSHdadnU3VEhCTkFwWFlBbHd2NHA0cUNyT0srMFg1MVh6c25RN0hsN3Y4M1BVUGR2c2g2SjN0ajc1bENXeGtrNXRxVmhZR21VY0k2VHNhWUFwR0pQeDZuZThOSjk4eW43ditiOWhIc1JzSVhsZFVUVGFINi9hWkNZS2pzWldGZEZyV000VW9DNzBna0NTU2JDVDNCcElQNVpES1lTZ1BJamtLcFdCU3dMT1FReUVwbC9zajl6REFNaHhLc2llSEI1THRTWDhvaFM4aktnZEVCcjQ4T0pCaUtQZUpwQU5KUmhKdk5vRlpOYTAreitWbThoWSt5K1d5dTk3ZzNkSk9iMi9OQ3JKazBGbzA5ZTB0bUlObWlZVlZ0N2NxcnBFTDNzaFo4aFdhLzRyMmtyYjlCbENxNnVZdWhuTy96SkptZHBjYWs4UncyUDRDdFk1TGl1NzhsenlpdGhwQnhqYUZPT3VLQy9mbHhwN3o0bU16WFJkYm9hRkNxd0NSS0tJbzhJMUJJcVFFbVlCR1VVeUlyMm5rQ3BnYTZzMDJhVHZSZW1IQitkT1hncUl3eTVNMGRVbDIyd0VaSUtTSEg4eVR5LzAyeVZyYjZsU2YyTS8yT2p6YXU3bGl4emVENjZ5c0J1Y2YrMzNBaDdvR2JneFgwL0NmRDZ0SmRaZ2RYbzczczlXSmYvaitWTGs1QUd0Qk9PUkxUc1hwdWlESlRGdUJaUFhaWm1pUTUrWFNnR0dOWFpndnNBYVNUK2ViVnZwUjhaZzFMOFh5OW9qTFZtMlo1MjJsOEIrbTNnRHptbnhEWXp2OWhtYnYwL3pUQ0p4bnJpL3BVeGlPSDhZWHE0b05YRjc5VjlNUGZRNjFHMnNEcElBVW9uVjJWbzhYZVpPZFFya0hidHQ0T2F2M2JLa1NEUnZnMWRHSmlSZlQ3VlFiL2luUXZ0WVVDdWhRbXdCS2NLZ05nc0M0YXBWQmxZQlRFM0dSY3FvZDAzOVZVUUx2MUphTHF1VmRBVzliRVA0TEdVSU0yWklRQUFBPSIsInNoclRva2VuIjoiZXlKaGJHY2lPaUpTVXpJMU5pSXNJblI1Y0NJNkluQnZjQ0o5LmV5SmhkQ0k2SW1WNVNqQmxXRUZwVDJsS1MxWXhVV2xNUTBwb1lrZGphVTlwU2xOVmVra3hUbWxKYzBsdVp6RmtRMGsyU1dreFRGTlVUbEpQVnpWUFZXcGthVlZ0T1cxbFJ6RnNWMjA1V1dOWFNrbFhhMlJzWkhsSmMwbHRkSEJhUTBrMlNXa3hURk5VVGxKUFZ6VlBWV3BrYVZWdE9XMWxSekZzVjIwNVdXTlhTa2xYYTJSc1pIbEtPUzVsZVVwb1pGZFJhVTlwU21sT1JGWnNUVVJyZDFsVE1XdFpWMHB0VEZSUmVFNUVWWFJaVkVFeVQwTXdkMDlIUlRSTmFteHBUWHBDYkU5SFVXbE1RMHB3WXpOTmFVOXBTbTlrU0ZKM1kzcHZka3d6VGpCamVUVXpZVmMxYTJJelpIcE1iVFZzWkVNNWFscEhUVEZaVjFac1dWTXdlRTVYVFRGTVZGSnJXV3BaZEZscVFUTlBVekZ0V1RKR2ExcEVTVEZOUkZacldYcEpka2xwZDJsaFYwWXdTV3B2ZUU1cVp6Rk5WRWw0VGtSak5FeERTblZaYlZscFQycEZNazlFVlhoTmFrVXdUbnBuYzBsdFZqUmpRMGsyVFZSWk5FNVVTWGRQUkVVelQwTjNhVmxYYkhaSmFtOXBVbFJLWVZveGJGRmFNMlIwVmxSQ2MwOUhTbEZVYlZwNVdtNWtlVkl3T1ZoT00yTnlUMVZLTTFGVU1HbE1RMHBvWTBoQ2NGcERTVFpKYlVWNldWUk5lbGw2U21oTVZFazFUMGRWZEU1RVJtdE5VekExVFZSTk0weFhSVEZPUkZsNVRXMVZNazlFUm1wWmVVbHpTVzFHZDJOSGJHdFpWMDU1U1dwdmFVMXBTWE5KYlU1MVdtbEpObVY1U25Ga01uTnBUMjV6YVdFelVqVkphbTlwVld4T1FrbHBkMmxpYVVrMlNXNWFZVlpxUmtKYVJsa3dXSHBDUzJKWVJYaE5NRFI2V2tWYVYxVklhRzFhVlhSd1pWZHNOV1ZZVm5sUFdHaElWak5TUlZJelZrOVpibWhyVTFaR1RXRnFTblpSYkhCdFRsZEtWMk5XV1hSU1Z6UTFaREJPZVdGRk9ESmhiVGxyVDBkcmVVMXViSGhsYmxwdlpXcG9hVlpxVVRGV1Iyc3hVVmhaTWxRd2MzUmxSR1J1V0RKMFVXRnRXa0pYUmtKR1ZEQTVZVTlFYUhKT2JXaHVVakZrY0ZGWWFGZE5WVXBVWldwWmVGZHNSa1ZTVnpGSFpGZG9jMlZ1UmtkVmVscEZVMGhLYjFnemNFOU9XR3hLVW0xNFNGRXhTa2hpYXpreVdrVnpkMDFWT0hkVmJYZDVWMGR3Y0dGdE1VOWxSRVpJVTFWMFIxTnNWbXhNVlVwV1dteENNVTVJVmtoVldHZzBWRVpXYkZrelpGaFNNRnBJV1cxRk5FNVdVazVrZWtwWFkydHdNRXhYWkd4V1V6RlpVVE5PUzFsc1FtOVpNVll4WTBaQ1RtUnJPVFZaYmxwMlRYcGpOVnB0Um05VFdGcG1UVlphVFZaVVZtMWpSMXBLVG10YWRsZElaRzFqVXpGVFdXdHNWVlJJUmxCUFdFMDBZbGM0TW1NelNsbFRWWFJ4VkVSVk1HTnVaSGhaV0VaeFRURndUbGRzU2pKVFNFcE9VbFJPVW1KdGFFUldSRlpMVWxjNVFtVkZkelZVTVVsNFpESmFRMUY2WkdwT00yeHBaREphVWxReVRubFdXRUpXVlZOSmMwbHRWV2xQYVVwQ1ZWVkdRMGxwZDJsWlYzaHVTV3B2YVZWc1RYbE9WRmxwVEVOS2NtRlhVV2xQYVVreldXdHNTV05ZYkhKWFIwVjRVMVZXVGxKclRtbE1WbEpQWVZSb1RsbHFhRXhYYlhSNVlYcEdXRTFVWXpCUk1VcHZZVEZTUWxGNlRUUkpiakU1VEVOS2NGcElRV2xQYVVwdlpFaFNkMk42YjNaTU0wNHdZM2sxTTJGWE5XdGlNMlI2VEcwMWJHUkRPV3BhUjAweFdWZFdiRmxUTUhoT1YwMHhURlJTYTFscVdYUlpha0V6VDFNeGJWa3lSbXRhUkVreFRVUldhMWw2U1haSmFYZHBZakpzYTBscWIybE5iVTB6VDFkT2FVNTZaM1JOTWs1cVdWTXdNRTB5Vm1sTVYwcHNXV3BKZEZscVFUVk9iVlpwVDFSSk1FNXRSVFJKYVhkcFkyMW5hVTlwU1hkTWEwWlRVMVZGTW1OVVpFZGxiVTVXVm01U2NrMXVaR3hhYm13d1RVZDRRMXBJWkc1aU1IQlpZMnhPWmsxdGRGZFJiVGxJV2pCc2VGRXlNVFpTUnpoM1ZUQkdRbEZUTkdsTVEwcDZaRmRKYVU5cFNYbFplbU0xV1RKSk0wOURNSHBaTWs1b1RGUlJlbHBYU1hSWmJWWnBUV2t4YVUxRWF6SmFWMGsxVFdwUk1sbFVaMmxNUTBvd1lWZFJhVTlwU21wYVIwMHhXVmRXYkZsVE1IaE9WMDB4VEZSU2ExbHFXWFJaYWtFelQxTXhiVmt5Um10YVJFa3hUVVJXYTFsNlNXbE1RMG94WkVkcmFVOXBTVFJOYlRCNlpWUlpNRnBVVFhkUk1sSjZaR3hvU1dJeVVqWlJhMFpDU1dsM2FXUnRWbmxKYW05cFRWTTBkMGx1TUM1clNIRjVlbnBvVFhsUVYweGtiREptY25kWGQyczNhVXcyVVZScGNtZEhjalp3TVZOSFdURTBTM2hwYlZkeVREQnNORGQ2VFd4MlMxcHJaVEZXUTJKcFZFZG9kakp3VWxsTFptUnhVVE5TYmxGSE1YcFZWamRKUVhwaVYyUkNjRTQxY0RKUGRUaDZUWHBOUkhkNUxYUTVaMmRRVWpkZlZqTkJWREEyUVVGdVJHZFBla1ppU0hKM1JIaGhibGRFUmpSemRETkhaVmRpWTJwcU56WnlTMHRUUzBnMGVrSnVZMHRXUVROM1NFazRlRlZTVWpaSlNXdGxVRFJ2ZWxSc1FtdE1SVVl5VFRkMFdDMUtYMHBDYmxKd1NYaHJSelptWms1MmVITXdUVUZQV1RsdFpWQXRhWFJxV2pCNVEzTTNNVTloY1hOaU1VZFpabVZ5YkRoNFQwSTFkRVpoU1dwaVRtRlVUR0pJU2w5M1gyaFdSbTVmZWxOaU9HcHBka2xYVWpWSGJGVkNNRTV1Wlc5UVpVRmxPSGN5U21wR1NqbEVaVEpvYldGNFVsTlRMVTFQWHkwd01GcFFNa1pHVW14elMwMHpYMkptV25jaUxDSjBjeUk2TVRZNE5URXlPVEkzT0N3aVlpSTZJbmt3WVZobVJHVlFSRnBqVVMxT2VITjZaRGw1YlhwRlJVdExYMWhsVFV0WU1uUXpYemhQTlZWWGRsRWlMQ0p1YjI1alpTSTZJbU5qWlRKaE5HUXhZVFkzT1RReU5URTVaRE0zT0RGbU16SXdaRFkwTlRRNElpd2lZMjVtSWpwN0ltcDNheUk2ZXlKcmFXUWlPaUpFWjA1NVZ6WklhMVJDTUhWck5tNU1VRUZ5VTE5MVVsOTVibVY2YW1oTlJWRXdlWGR0TFRGdFIwbzBJaXdpWlNJNklrRlJRVUlpTENKcmRIa2lPaUpTVTBFaUxDSnVJam9pZGxwV01VRmtWalJmTUVwdGNURXpUak5rUmxaUWVHWmxTMmw1YVhsNWRYSTVlRWRYZEVSSGRVNWllR1JKVVV4cU1tOUNXbVkxWWxaeFZpMUZiamwzUTNKb1R6WnFiMlE0YVRJeWVYRjZkbWg2T0dKV05EVlVhVFZCZGpaUFN5MTROMmRmYTFCcVprRllVRVZQVDFvNE9HczJhR2RIVjJsQmVGWXhRbE42TmpGYVVVUkZiVVoxYUd4NmNVWlROa1JJY21oZmVrNDFlVWxHYkVkRFVrZHVUM1prU3pBeFR6QlNiREpZYW1scWJVNTRNVWRKUzBaS1ZXVXRRbFZtVUhVMGRVZFJlSGhNVldWamQxZEhSa2RpWVRnMVZFMTNNbFp5U25RdFoyVlZMVmhEYzBwaVVHaGpWWFZ3VUUxMlQzbGlkbTh6TnpsbVlXaEpkbDh4Vmt4Vk5XWndaa2syUm05WWQyWnhMVkppU1ZSTWNVODVjemh0YnpaemNsaEpTMnBNTlRSeWQzRmhjV296V2sxYVVuWkljazFGTTFGdWFFTlVOVXBGYjBGNFREbFBVakYzWmtKRE4yTTNlV0ozWmxGUFkzSlZjRlZSSW4xOWZRLlA3OHphbF9CaWV2T2JxdWp4WFZVQXQxZjVwMUtJV1d6XzFYbkdodHpwWlZlUUw4c09rZVIyRDBwYldhUFRWR3JFN2lQZHlmc1VhcUNzUnZORmVoU0VfTEQwZUhidHJqNDBwSklhVU9mWGc3Y2tfQ0FhbGFnOGJDb1NseXdtc0FfWE1QX040MnFrTFBlSTdlWXN4TVhTOGl3cHBQOFQxT2RtSTVUTmxXaHlINDJ0ZVFWOUhOOGNiMTNzdndYei13X2hKUmZlUjJTeU5wYWJ5TXczTWJ3WlFKTlU2YzEtRWc2ZGdTeWZfeWlhU1JzV0FZS0NUS0FUTU9CU3pkUnpzLWxJdjFISVdjbUk5REV2Nm5JZEFIY01hdWZoYjRRYi15S0xMbEZCRWNiaDFUX0JEbENvamEwU2UwODJLblcwNVJmT29EclFBbkNHaWtYZFFFYnBPWVROdyJ9.\u0022,\u0022correlationId\u0022:\u0022f15b6ce4-b0cc-44e9-bf5c-e0fe789f82c7\u0022}",
+ "messageId": "dff02ef289484cc19a852a493fb81a51",
+ "partitionKey": null,
+ "sessionId": null,
+ "replyToSessionId": null,
+ "correlationId": null,
+ "subject": null,
+ "contentType": null,
+ "replyTo": null,
+ "applicationProperties": {
+ "Diagnostic-Id": "00-711ca188744421c4d0ba3550b48b5e16-d3510d08b8d1a415-00"
},
"enqueuedTime": "0001-01-01T00:00:00+00:00"
}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/tests/SessionRecordedEvents/CallAutomationClientAutomatedLiveTests/CreateCallAndRejectAsync.json b/sdk/communication/Azure.Communication.CallAutomation/tests/SessionRecordedEvents/CallAutomationClientAutomatedLiveTests/CreateCallAndRejectAsync.json
index 4f660bd56725e..640372cf223f6 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/tests/SessionRecordedEvents/CallAutomationClientAutomatedLiveTests/CreateCallAndRejectAsync.json
+++ b/sdk/communication/Azure.Communication.CallAutomation/tests/SessionRecordedEvents/CallAutomationClientAutomatedLiveTests/CreateCallAndRejectAsync.json
@@ -1,8 +1,8 @@
{
"entries": [
{
- "body": "{\u0022to\u0022:{\u0022kind\u0022:\u0022communicationUser\u0022,\u0022rawId\u0022:\u0022Sanitized\u0022,\u0022communicationUser\u0022:{\u0022id\u0022:\u0022Sanitized\u0022}},\u0022from\u0022:{\u0022kind\u0022:\u0022communicationUser\u0022,\u0022rawId\u0022:\u0022Sanitized\u0022,\u0022communicationUser\u0022:{\u0022id\u0022:\u0022Sanitized\u0022}},\u0022serverCallId\u0022:\u0022aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDIuY29udi5za3lwZS5jb20vY29udi9DV2F1NWJ4T19FaWE5NXpyZkNmMExnP2k9OCZlPTYzODE5Mjc2MjMyMzU0NzYzOQ==\u0022,\u0022callerDisplayName\u0022:\u0022\u0022,\u0022incomingCallContext\u0022:\u0022eyJhbGciOiJub25lIiwidHlwIjoiSldUIn0.eyJjYyI6Ikg0c0lBQUFBQUFBQUNzMVliWFBiTmhMK0t4eDE1ajVjQXhFQUNiNWdSdE9SWkRWeDQ3ZlljcExMZUtvQkFaQmlUWkU4a0xLa3BQbnZYVkN5TFVlNTFIZTlkc3JNeUFTd2VKNEhTd0M3bTA4OUtZcmlyR3J6TkplaXphdXl4ei8xVWxNdDdOOWM5WGd2NGtJMm5DUktDSnJFS0dZNFJEN3pLVXFTd0VjaVRDaVZHSXRJK1RQY1BTUkNJcEFTNlRSS2tLZThHRVhhRTFoaHJFakllaTk2S20vcVFtek94RUlEUG5Ub1V0VlZYcmJIbGsvRUhoRU1vRDJsSmZMajFNN1hLY0tZYVNvQ3BtTVJ3SnhDbE5sU1pOck9LWmRGOGFKWEM5UG1NcS9GRGlqeUdORWhFMGdyRmlFZlk0MEVTU2tpekFzU2hhbFdrUWFnZWE2VWhtV25vbWowbzVicHByYnFHbTN1dEJuV05WaldwcXExYVRjamtXMDVQNy9vdGRVZmQxUUtyd2VPQ243WFVWc1FqTUV6QnovM3o3TWNsYWFhTVVKakZLZ2dSYjZQRXhTQjg1R0hrMFRHTEVpWjd4MDZ5dWltV2hyWjRmYWVzK3IvNE1FaUwyOGI2MFRSdGtMT0FXemV0blhEWFZmVWVUOHQ4bXpld3J6MXB0L2N3amZweTJwaFI5dzc2c3JhQmZjdG01VkdtUGFsM0xPUTByMGpibHFaVzYzY0lJZ0NuTklVUlRMdzdFNEFUeWVLSUQ4QjJTa2p2bVRDcGFHYkU5ZnpZM2NyNUlkOFlOMjMwQ29Yd3hJNERFaVRFblF0eEhZcEdiaWcrUnZvdlpleVUyejBMMXEyZndOZFd5RTdWVXRWVDQwb203b3lWaHMwUVJtamZVTDhQbUZ4bndRZTkvd3djbnVmZDA0ZlYyV3JTekQrMUpQYjE5MlpGSFZkN0c0cnQxSDJaQ1pGbGNEQTNRRGZtSnV5R2lDSFVOOFBzSU9kNHpQbitNS0hkdGpIOEk5WWcyYlFnTHRndW0zSXdjN0V4LzB3NmhNTVJyakRTUWJqS1lmMzdyRWQ3UUFRN2N0aUlKWXFyeHcvRGdsMUxxY1g3dkR0aFVPdzc4VHc2em1FRUlkRXdCNDVjUWc5MExLZEVjakEzK1lVQTlQS0dwa20vNmozMm1uQy8rbXMwUUprdzFGMndBTk9BNWNCVjgzY01WcmUyWmV0K1JvMWVWWUtPRlhadDJZOVluTzdDRy9ienFWR3k5U0lqSTgvVkQ4Kzl0VXJ4U2V2emwrT3lHYTYvbmNkbkN6MHBCRkRMYzJIMTNzcUY4djF0aVZGcVhJbFdzMWg1YzcxMFlWRGlZZERIUGdlZWJybW5RdmJEVWd6YWJGMmpGREtnTXY2bEVUd3ZYenFHTHRsdG5hSDZIUVBuY1hnNFVOMDc1bm8zcGZvRkxUYlpRblpBZ01GdkFDSGh3eUVQVTgvMkIweTBEK1pBYlpkNXlGQ1dVUmpEQUhZdVQ5MGthVmdEaHk2dUVNM0dtTE5EdjJwZ3IwdjRKeE9yeS9Qam84Y3drTEcvQkQ3MUEvOGdKQXcybTd0cCtUMGtUeUtnNEQrSVhMdmdUejBTVWhaRU1HcEpwN3ZoUUdOdnVTR0k5KzV0aFpOWTIrRGlBQS9EcDRLZ0NZbVh2Z3NCWXd5ekE1WjZGL0F3dlkyb2lWaEVlUkkrUDlPUXY4c2trSWt1dUFMa1plb3V6ZTN2WXRjY1hKL2FTVXJMWXFzTW5rN1gvQmtKWjFheUZ2ZDFpSTN6a29uY0wzczlKcE4zVlp3OEllVHE5bjRkRVpvTkh0MU9oelBybDROeVN6Q1RsN0MxYWY1ZkRWSm0zZHYvbFdVbDZlWHAyN0ZodFByWHdnYnRwY3NlQi9NOC9mVFZNeXoyM2UvMHA4OThpdTVGN0tEcDc4SHY4eE9GN2NmV1o0Y1picDVqNzkvKzVPN21GKzNtK3B1OVhMdGpkNk1HdktoVGFqdTRPOXZ5SG9oYW9nbnZuTjFmUExhSmNFdXFqd014YzdMa0ZJMytyTGZScFJ1eXVFSXhKbXI0OHZKMlQ1YXVtaTNJMG5lR3ZpeWcwTW11Q2VCS3Q0RDNFNktIRkdXZXAwTXl1cUpQWFl1eHFmWGgveVI3UjhlOWtQUXU1d2NmVzBsc0pGMW9ldDVWV3FrN3lDbUgyZ0FFNHhJOEhTZTU0elB2cmI4eVBaL1pYMFUyd0gvY1ViZDVndTRiKytaSURwcVV4dElwWGt6RndqdUVyaFRlRFRtb3lNK0d2Snd5TW1RajBjOGh2Y0p4d0gzTVBlcE5SakhQQjd4WU1oajJEUWpIaEpPb1RuaEllTUIySTg0OWptRFRvK1BZajVrL0Nqa2t5TSszcDBFdlc0N2ZZN056ZmdOUEt2VnFyL2Q0UDNLWkRjM2VnMFpNbWd0MitibUJwYUQ1c3JBckpzYmtUVElSbTlrVi9JRXpYdEVlMGpjdmdHVWlxYWRKWER1VjdscTU3TlVhNVhBWWZzTzZoeWJFODI4aDBTaU1SSkJ6cFpCb0xXRmhmMnhZL2RaOFluT3V1UmZ4WWt2V0V4UnlCU0RaREJTS0thaFJKRDMrMFNsSVltOTFCWXZEZFNhWGRaMkx1WFNnUE96aDJLaTFLdHpLRVBNcmdOU1FFZ1FYK3VOVGY1MnVWclg2cFZ2enNac2VxV2x1SFhqYTNFWkw4L1AzdzRIQThDSG1nWnVER3N6cWN2cDNZZFhSeGZ6K1dhOEdJL3h5ZmR0QmpZQWEwQTRKRXhXeGNXMkdNbDFWMzNremVWdWFGZ1UxVXJEd2xxejFKOWhEbVNmMWplZDlPUHlMbThmQ3VYOUVadXVtcW9vdWpyaHYwcTlBZVF4K1liR2Z2b05UWGY4VGl4WnNqNmZUWElSczQ4bUhhZjRKSU84T3ZxSEhnUWV4QndLRWRDakhzVGp3SXZCRlhsenVpemEvQUlLUFhEYXpzZDVNektWVUJJKy82T2JsVTZXMlg2bURmOGRzSzB1QmZhOXhGY29FRUxEUjJVTVJZSW9sT0JVS3NqNlV4VkZ0Z3o2WDJwSjRNMU10YXc3M2pYd2RxWGdid1pwN0tXTUVBQUEiLCJzaHJUb2tlbiI6ImV5SmhiR2NpT2lKU1V6STFOaUlzSW5SNWNDSTZJbkJ2Y0NKOS5leUpoZENJNkltVjVTakJsV0VGcFQybEtTMVl4VVdsTVEwcG9Za2RqYVU5cFNsTlZla2t4VG1sSmMwbHVaekZrUTBrMlNXa3hURk5VVGxKUFZ6VlBWV3BrYVZWdE9XMWxSekZzVjIwNVdXTlhTa2xYYTJSc1pIbEpjMGx0ZEhCYVEwazJTV2t4VEZOVVRsSlBWelZQVldwa2FWVnRPVzFsUnpGc1YyMDVXV05YU2tsWGEyUnNaSGxLT1M1bGVVcG9aRmRSYVU5cFNtbE9SRlpzVFVScmQxbFRNV3RaVjBwdFRGUlJlRTVFVlhSWlZFRXlUME13ZDA5SFJUUk5hbXhwVFhwQ2JFOUhVV2xNUTBwd1l6Tk5hVTlwU205a1NGSjNZM3B2ZGt3elRqQmplVFV6WVZjMWEySXpaSHBNYlRWc1pFTTVhbHBIVFRGWlYxWnNXVk13ZUU1WFRURk1WRkpyV1dwWmRGbHFRVE5QVXpGdFdUSkdhMXBFU1RGTlJGWnJXWHBKZGtscGQybGhWMFl3U1dwdmVFNXFaM3BPZWxGNVRVUnJNa3hEU25WWmJWbHBUMnBGTWs5RVRUTk9SRWwzVDFSWmMwbHRWalJqUTBrMlRWUlpORTE2WjNsUFJHTTFUbWwzYVZsWGJIWkphbTlwVWxSS1lWb3hiRTloYlRGclVqSkplazF1VW5OVVdIQllUVVUxZEU1NlZuTmpiWFJ3WTBWS00xRlVNR2xNUTBwb1kwaENjRnBEU1RaSmJVVjZXVlJOZWxsNlNtaE1WRWsxVDBkVmRFNUVSbXROVXpBMVRWUk5NMHhYUlRGT1JGbDVUVzFWTWs5RVJtcFplVWx6U1cxR2QyTkhiR3RaVjA1NVNXcHZhVTFwU1hOSmJVNTFXbWxKTm1WNVNuRmtNbk5wVDI1emFXRXpValZKYW05cFZXeE9Ra2xwZDJsaWFVazJTV3BLVms1c1drWlVhM0JYWVdzd2QyUjZSa3BpU0U1NFlURk9UMVpWT1hGUmFrRXhUbnBPVWxJeWNGaFNiVzkzWTFkbmVXRlhUbmxhUkUxNFpESTViVk5WYUVOVU1rNTVVbXhKTlZGc1RtbFVWMUoyVW14Q2FtRnJPVWRXYW14bVVucGFXR05WV2xaWlZVNUxWbTAxTTFONlduWk5hM0JIV1RCT1RHRnRaRWxTYWtwTVZGaFZlRm96VGxOU01taHZVbGQzZVZVeVZsWlRSemxhV2pCYVRGUklWblZhV0doYVdteG9WRTR3Y0ZWU2VsWndZa1JLVmsxRlZrMVRXRXBtVkZST1IxcFhTWGhTYW1od1dsVTFiMUZyV1RKU1JsSnFaRmRPZFdONlFtWmtWR1J4V1cwMGRGcEhTbWhSYTNod1YwUmFhRTR6YUV0TmFteDZURlpWTW1Fd2NHaE9WamxXVlRGS00wOVlVakJUTUVwUVpEQjBTRTFYZUROak1qVlVaREZHTWxaWFVuZE9WMUpFVmpCc1RXUkdiR1pSTVhCMVlqRndXRk50T1c5bFZYUjZUa1pXV1dWdGJISlBSbHBJVlRCb1JHVlZTbE5oTVRsTldqRldVV1ZJUW5SaGJFSTBVbFpGTkdNelFrcGpTRmt3VlZkT2NsSkVVbXhqVmpsV1dYcGFkVXhZUmxKTmJtc3lZakZPZDFsV2NESlpWbHBZVm1wa1VHVlhTbEJrUkdoYVVqQk9SV1ZHUm14bFZUVkRZVVJhZDJOdWFFcFNWVGt4VFZVNVJWUlZkRWhUUjFaMFZWTkpjMGx0VldsUGFVcENWVlZHUTBscGQybFpWM2h1U1dwdmFWVnNUWGxPVkZscFRFTktjbUZYVVdsUGFVazBWbXN4VUZFeVZuRlZNR2cyV1hwWk5GZHFiRTFNVmxKbVYwWk9UVkl4Y0haWFZVWkVVMVpvVkZFeFVsTllNMmhtWkd4U1MySlZNWFpKYmpFNVRFTktjRnBJUVdsUGFVcHZaRWhTZDJONmIzWk1NMDR3WTNrMU0yRlhOV3RpTTJSNlRHMDFiR1JET1dwYVIwMHhXVmRXYkZsVE1IaE9WMDB4VEZSU2ExbHFXWFJaYWtFelQxTXhiVmt5Um10YVJFa3hUVVJXYTFsNlNYWkphWGRwWWpKc2EwbHFiMmxOYlUwelQxZE9hVTU2WjNSTk1rNXFXVk13TUUweVZtbE1WMHBzV1dwSmRGbHFRVFZPYlZacFQxUkpNRTV0UlRSSmFYZHBZMjFuYVU5cFNYZE1hMFpUVTFWRk1tTlVaRWRsYlU1V1ZtNVNjazF1Wkd4YWJtd3dUVWQ0UTFwSVpHNWlNSEJaWTJ4T1prMXRkRmRSYlRsSVdqQnNlRkV5TVRaU1J6aDNWVEJHUWxGVE5HbE1RMHA2WkZkSmFVOXBTWGxaZW1NMVdUSkpNMDlETUhwWk1rNW9URlJSZWxwWFNYUlpiVlpwVFdreGFVMUVhekphVjBrMVRXcFJNbGxVWjJsTVEwb3dZVmRSYVU5cFNtcGFSMDB4V1ZkV2JGbFRNSGhPVjAweFRGUlNhMWxxV1hSWmFrRXpUMU14YlZreVJtdGFSRWt4VFVSV2ExbDZTV2xNUTBveFpFZHJhVTlwU2t4VGJWSXhUMGRXVG1Sc2IzZGhWRkowVTJ4bk0yTXhTazlWVlVaQ1NXbDNhV1J0Vm5sSmFtOXBUVk0wZDBsdU1DNXdPVmgwUTAxRmRYSldiVkl0Y205VVQzSnRUblUyYUhGb2JVZHpjbUV5Y0RGd2VFVTNTbEJxV0ZNemIyaEJXRXMxZUdwek9UWk9jbVExU0ZGTGFISkVSRWhPYjBwdU1XSk1lSEZ4UTBsd1ZYVkxWVVZ1YTFWWFpIQnpOMFpYWjA5RU1VVlpOVlZ2TTBKeGJUUktSMHBJUTJ4bkxYRlRkbmRsZEdwdlozVjNZVWMwY1hOTmN6Z3dRM05zY3pkSlVXdDJhek4zYmpCVFZWaFVabDh3TUhWb1pFRlVhbnBxZWxGWWNEbFhUbU5hV0hBNWFXMTRRVjlCWjFaalJIRTBjM052YTJSMlRXOWFjMU5JTFVjNGQxWnhNMGhhVGpGWlVrWnJkelF4YkdscFZVWkdTWGgzUjBOeU4yeGlWVTFXV1V0dVRtUTROMkY2Ymt0NVEzTllhVkYyWXpKSVpEbFphR0Y2T1VNM1VHOVJUR1ZUVmtnNFREQlVOalpvV2pjMFFqTlhaM3BsZURFeGJGQkNVR3Q1TmpOME5GTjBURTFzYlhVNWVYSktZVzFVTmxaZlZqUm5hVXRQZDE5TldUSXlSbGh6T1ZOWGVuY2lMQ0owY3lJNk1UWTRNemMwTXpJMk5pd2lZaUk2SWxGR1lqQkhUVVpUVmpCR2RXc3phVnB5UjJNd1prTldORlY2VGpOVFptSTNaVUpFWDBZdE5qZEZiVUVpTENKdWIyNWpaU0k2SWpZMU1ERm1ZakExTnpjM1pUUTVaalE1WkRreVlUUXhZV0ZoWTJJM09EY3pJaXdpWTI1bUlqcDdJbXAzYXlJNmV5SnJhV1FpT2lKZlNHTXRWbHAxV0VOVFNIUlNWVTFWZUdkSWJrUlRWVGRTWW1wbU5WaHhhbkJ5UkRBMlFVMWxRemRSSWl3aVpTSTZJa0ZSUVVJaUxDSnJkSGtpT2lKU1UwRWlMQ0p1SWpvaU1sVTJWa1ZPU2xacVRUQjNNVWxzYzNGclUwNVZUMnBDTURVM00xRkhhbGRHYWpCeGFESnBZM0prTXpGM2IyWkpTRUpQWTNKR1VqbENVMkpOWkc5R1VHTnFUMFpXT1Y5SE5sZHhSbFZoUTBwV2JuZExObTh5U2taalEwdHFaMGhHTWt0TmRURm5jMUpIYUdoRmJESlRaVlZJYjFsblJrdE1kVzVsZUZsbVdGTTNTbFJITldsc01sVXdSVXhKY2w5Tk0wWmxZakZHT0dsbFRtaENSalpFVkdOMVkyNXpNRjkxTjJwaWJpMWtZbUZDVEdsWU5tRTNlRW95T1hNdFZUWnJTbUUxWDFWVFVuYzVkSFJMUWs5M1MwY3hiSGR6YmxOM1VYWlZaSEExWkVOWFNVeDBXVjlEV201dldsZEtiMmg1UzNNMFZWaDZhV3M0VmtkVFNFTjVRbEpyWDB4blZWQjRjRzFxVUhoRlVUaHpjRWx3ZGpSUlkydEVOR1Z4WDFWak5tNHRjVkV5ZVRadlUzQmhXblpoVmxkV04wOTVZazkwT0ZsSFEwUjRVV1Y1VGtKb05uQnllRWxGVDNVeFQwUk5TMGRJWlcxUkluMTlmUS5lRXlnSmV2NUFGa1RUQVZQSG9HOHkzeWFpRUdEa3J4QndScE1wNEdTNG5RelhVSUFIdzNGQ1AtRkZ2LVd5eUlldGZDcHRiQ1paSWQwZUtkZmUzVHBwM3lPMndYc2dLR3ZrX3djYXBaYXdNR1ZaRDViN20tVzIxNE42emNtYjhQRlMzLTlkVHA2MzFZbHlyeWlPZkhmcjdTRGw3eElTNlpEZTlYeEk1dFIyTm9tQWhjSmVGOHBWX3p2eGtKaUY0QWs4dWdYVURrbDg2UEt1N29ZeFFnT2xoOEEwelFIdUxJb1RXejNXeDJsbjNRdXM5V1RLVWZBWEJJanlFdzNQdDZjcEgtTVZjYUZuLTNVQ2ZIQzJGZ015cmw2ZU44N2RwSWE0MFpBeEdobXlCZTB3eXFTMnRLamx1RG1ENW5uWGJJdHl6WVhONlJScFBkQkp4Q0ktV2JZZlEifQ.\u0022,\u0022correlationId\u0022:\u00220a043b4d-6aae-4b55-8a1d-b0fcd8bdfd88\u0022}",
- "messageId": "a1407e64da7642e1934b1d3c7281488e",
+ "body": "{\u0022to\u0022:{\u0022kind\u0022:\u0022communicationUser\u0022,\u0022rawId\u0022:\u0022Sanitized\u0022,\u0022communicationUser\u0022:{\u0022id\u0022:\u0022Sanitized\u0022}},\u0022from\u0022:{\u0022kind\u0022:\u0022communicationUser\u0022,\u0022rawId\u0022:\u0022Sanitized\u0022,\u0022communicationUser\u0022:{\u0022id\u0022:\u0022Sanitized\u0022}},\u0022serverCallId\u0022:\u0022aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC94LWNvbnYtZXVuby0wMS5jb252LnNreXBlLmNvbS9jb252L2RKQndqcWMyRkVxSlBxWEZBVGxoTWc/aT0yJmU9NjM4MjA2NTU3OTUyMzYxMDc1\u0022,\u0022callerDisplayName\u0022:\u0022\u0022,\u0022incomingCallContext\u0022:\u0022eyJhbGciOiJub25lIiwidHlwIjoiSldUIn0.eyJjYyI6Ikg0c0lBQUFBQUFBQUNzMVlhMi9iT0JiOUs0SVgyQTg3cFVWU0w1S0FzVkRzcEhVenlYanltR21BWUFPS29tUk5aRW1oNU5oSnAvOTlMMlVuY2VQT3RMczdzeGdWY01USFBlZndpdVM5dHg4SFNwYmxhZDBWV2FGa1Y5VFZRSHdjWktaZTJMOUZPaEFESnFScUJVbFNLV25DRVE5d2hQekFweWhKUWgvSktLRlVZU3haNnQvZy9pRU1aVHlVaU9BZ1F0cFRFUXE0SjNHS3NlSXFHcndacEVYYmxQTGhWQzQwNEVPSHJ0S21McXB1YXZtaTBHY1pEM3pFQ2RmSTE5aEhqRVlwb2xobkhETWU0Y2dEbTFKVytWTG0ydHBVeTdKOE0yaWs2UXBWTkhJTFJHWEd0WXd3QW9zTStkSVBrV1IrZ0VoQ0VvOEZTbk9kQWRDOFNGTU55ODVrMmVvWExSY1BqVlhYYW5PdlRkdzBNTE14ZGFOTjkzQWc4dzNucHplRHJ2NGpITVdUUFVleHJ6cHFBNEl4K3NMUDAvTk5qZ3BTamJOQUVVUWlHaUtmQmg1aWtZNlFseEJGRktXSkgvRjlSeG5kMWt1amV0ekJ0Nno2Tnp4WUZ0VnRhNTBvdTA2cU9ZRE51NjVwaGV2S3BoaG1aWkhQTzdCYlB3emJXL2dtUTFVdjdJaDdUMTNWdUd1a0ZOTExxa2FZREpYYW1hT1VlMC9jckRhM09uWFRVSWN5eVNnS2toVDJncDlraUhtU28weG5qSE5OVXo5TlhCcTVCWEU5bjdzYktmOHNSdGFCQzUwV01xN2FsVFlnVGlsUXRwQ2J4ZVRnaFBZdm9maEp6RmF6MGI5bzFmMGxsRzJrYkhVdDArYkN5S3B0YW1QVlFSTzBFVzhZK1VNU2VrT0tQZUg1RVhNSG43WitIOWRWcHl1WSszR2dOcS9iZ3ltYnB0eGVXVzZiMnVPWmxIVUNBL2NqZkcydXEzcUVITmpKMk1ITzlOU1p6bnlIMEdpSTRSK3h3KzJvQlcrQnNXMm8wZE9Va0ExRE9xU0VEQW4zN0ZBeUdsOElzajFOdHFNYkFhUjlXWXprTWkxcUovQUlvYzdaeGN5TmY1bzVCUHNPaDEvUElZUTRoQUU5YzNnRVBkQ3luUXgwNEsrUXlwSHBWSU5NV3p6cW5YYVdpSDg0YTdRQTRYQ2VIZkNBMDhLTklOSjI3aGl0N3UzTFp2b2F0VVZlU1RoYStlOVp2V0FMdTRvdGQ2RTBXbVpHNXVLZ2piOTc2V3RXcVpnY3o4ZEhyU3JWM2RYZDQ0ZXAzOVMzN2ZReHBqc3FGOHYxcHFWa2xSYXA3TFNBcFR1WGs1bERpWWNqSFBvZWViWG9yUk83QjlCbXNuTHRHSm1tQnB3R0V4aDhzc0F4ZHNkc3B1MmoweDMwZ0ZzWDc2TjczNGJ1dlVhbm9OMHVTNm9PR0Noc2hSQkhld3crSjhFMzZPK243VFBRUDVrQjlsM3ZJVUlEUmprbVVlQUVkRWdJSERyR2hqeDA0TXp4SHR0b2lEZFAySjhMMlBrQ3pzbkY1ZG5wZE9MNEpDUXNDa0Z6U0RFTmNlRGpmVzc2d3MxNEdOTC9pZHQ3NWdaQUgzc2gwQVlZVTI2ZjhEVTVISzdldFkxc1d6RHdHUUVCT0h5bEFLTFZkbnQ4VllMUFBTL2FaNkgvQjVaZ1p5TmFrb0J4aitBL25JVCtXU1NsVEhRcEZyS29VSDl4Ym5vWFJTckkwNldWckxRczg5b1UzWHdoa3BWeUdxbHVkZGZJd2pncm5jRDFzdFZySHBxdWhvTWZINTdmakU5dUNHVTM3MDdpOGMzNXU1amNNT3dVRlZ4OVduejM4SE41OUY1bjUzUkIydnRJUFo0ZllSNi8rekRuNjJ3Y3ovMUgvdTdIc3piSmY2WC84c2l2NUVuSUZwNStEZjVLVS9tMkxPNFc3OTltdk1TMGh0Z1lkUGoyREZEanRBdkxLUHJ3OXFTYzlmQlBOMlN6a0EwRUZOODVuMzUvN0pKd0cxYWVoN2p6TnFMVVphLzdiVWpwVGZaSElOQ2NUODhPVDNmUnNrVzNHVW1LenNDWEhlMHp3VDBKVkh3SGNHUEVIRmxWZXAyTXF2cXorZGlaalU4dTkvbVo3WS8zK3lIcW5SMU92clFTMk1pNjFNMjhyalRTOXhEVDl6VEFGSXhJK0xtZDU0eFB2N1I4WnZ1L3NENks3WUQvWXRGMHhRTHUyeWNtaUk3YU5BYnlhZEhPSmFKQjZQaStJSkVJSnVJZ0Ztd3N4bFNNUTNFVWlVa29lQ0E0dkhNeDVvSXljVGl4THpFVzRWaVFBekUrRXNHQjhNYUNleUtpSWliQzk4VFJrZUJqY1VnRWpRV1pDTHpkQkhyZDlmb2NtNXlKYTNoV3E5VndzOEdIdGNtdnIvVWEwbVRRV25YdDlUVXNCODFUQTFiWDF6SnBrWTNleUs3a016VHZCZTA1Yi9zZG9FeTIzVTBDNTM1VnBOMzhKdE02VGVDdy9RMktIWnNWM1hqUGlVUnJGSUtVTFlkQWE2c0wrMlBIbmhMajczWGVWd0NLRVMwMUpKQ1o4aVZraGI2SHVJTDhrSkpFcFRqVllSUWt0b0pwb2VEc3M3WWZsRm9hY0g3K1hGRlVldlZEbHRrc3UrK0FGQkR5dzJQOVlKTy9iYmJXdHdaWHl6eHJmejdtSmp1K3ZHK3VGdDNrclVkK0hJMEFId29idURGZ3pqUTM2eUkwcDY0dW1xdko3SkpmMWJQekdPWUFyQUhoa0RCWkZiTk5SVkxvdmdRcDJyUHRVRnlXOVVyRHdqcXoxSi9BQnJKUDY1dGUrclM2TDdybmFubDN4S2FycGk3THZsVDREM052Z0huSnZxR3htMzlEMDAzZkg2eCt1VlAwNlBEdS9lenV3MUY4VWM1UGNraXM2ZC8xS1BRWXhXRVFSRHlnWGtod0ZJQXppdlprV1hiRkRPbzljTnZXeTBWN1lHcVpLdGdBTDQ1T2RiTE1kM050K0YrQlRaR1o0Z1FpTkh6M3pFK2dHdmRTSkNHTUk2WWxZNFFGSkF2N3d1Ni9LU21CTnpmMXN1bDUxOERiVjRUL0J0L0hUcEtURUFBQSIsInNoclRva2VuIjoiZXlKaGJHY2lPaUpTVXpJMU5pSXNJblI1Y0NJNkluQnZjQ0o5LmV5SmhkQ0k2SW1WNVNqQmxXRUZwVDJsS1MxWXhVV2xNUTBwb1lrZGphVTlwU2xOVmVra3hUbWxKYzBsdVp6RmtRMGsyU1dreFRGTlVUbEpQVnpWUFZXcGthVlZ0T1cxbFJ6RnNWMjA1V1dOWFNrbFhhMlJzWkhsSmMwbHRkSEJhUTBrMlNXa3hURk5VVGxKUFZ6VlBWV3BrYVZWdE9XMWxSekZzVjIwNVdXTlhTa2xYYTJSc1pIbEtPUzVsZVVwb1pGZFJhVTlwU21sT1JGWnNUVVJyZDFsVE1XdFpWMHB0VEZSUmVFNUVWWFJaVkVFeVQwTXdkMDlIUlRSTmFteHBUWHBDYkU5SFVXbE1RMHB3WXpOTmFVOXBTbTlrU0ZKM1kzcHZka3d6VGpCamVUVXpZVmMxYTJJelpIcE1iVFZzWkVNNWFscEhUVEZaVjFac1dWTXdlRTVYVFRGTVZGSnJXV3BaZEZscVFUTlBVekZ0V1RKR2ExcEVTVEZOUkZacldYcEpka2xwZDJsaFYwWXdTV3B2ZUU1cVp6Rk5WRVV5VGxSUmVFeERTblZaYlZscFQycEZNazlFVlhoTlZGa3hUa1JGYzBsdFZqUmpRMGsyVFZSWk5FNVVTWGROZWtrd1RWTjNhVmxYYkhaSmFtOXBVbFJLWVZveGJFZFNSMVl3V21wT01tRnBkR2xXUlhob1pXNWFlRXd6Ykd0aGJYQnlUREJLTTFGVU1HbE1RMHBvWTBoQ2NGcERTVFpKYlVWNldWUk5lbGw2U21oTVZFazFUMGRWZEU1RVJtdE5VekExVFZSTk0weFhSVEZPUkZsNVRXMVZNazlFUm1wWmVVbHpTVzFHZDJOSGJHdFpWMDU1U1dwdmFVMXBTWE5KYlU1MVdtbEpObVY1U25Ga01uTnBUMjV6YVdFelVqVkphbTlwVld4T1FrbHBkMmxpYVVrMlNXNXdOazlWUms1aFJWWk5Za1ZGTUZSRVVuWk5SbkJQVGxaQ2RrMVhNVXRNVlRsMFpGVktSbVF5TldGV1ZFNTZWakF4ZGxReGFEUlVVekZFWWtkdk1sWkZkR1poTVdNd1ZXMXdNV1JyUmpaUmJYUktZVzVXTTJSR1ZUSmFTRUV4VWtWVk1tUXpWa1JaYkZFd1dqTk9iV0o2YUd4T01IaFpWbTFzVkZGWGNITmlhMDVXVmxoR1dHRnJiekpYVmtaaFVqSmtVMVJETVhsYVZuQkdVbXBDVm1SSFpGVk5NMDV0WXpCYU5sTnVjRnBpUlZKS1pWaE5kRnBGY0UxaFZVNVNZa1ZHZGxadVRuUmtia1pJWTNwYVFsbHVValJSYW14cFQxVmtkbVZXU2tWWlZWWlJXakJvY21KcVNucE5WMnh2WkRCT2RXRklRa3hrUkVadlZqQTFOV0pyY0VWa2JUa3paRWhTWmsxNmFHMWphMW95VkZoc2VWWklWa2hoVkd4U1ZVUkdWR0pGYkUxVVYxWlBVMGMxVUZSWE9VTmtlazVIV1ZSS1VGTXlVa3hOYlU1d1RUSjBiVk5JVVhsVWJFcFNVVE5rTVZkVlVYbGxhbHBPVGxaT1pscHRNVWRXUldoUlUwWTROVk50WnpGa1JsWkZWRVYwTlZWRVFrTmtWbXhxWkd0T2NWUlhWVEJWYmxwbVVqTmFlbU5XVm5GaFZteHdaR3RzYkZSWFpETmhWWE0xV2tWdk5GTldRbkZpYldoV1VYcFNNVk16WjNkYWFrSlZXVmMxVEZGV09UQlZNbkEyVlZOSmMwbHRWV2xQYVVwQ1ZWVkdRMGxwZDJsWlYzaHVTV3B2YVZWc1RYbE9WRmxwVEVOS2NtRlhVV2xQYVVwaFVsaHdUVkZWTlVoYWJUQXpVWHBrVUZWR2JFbE1XRXBWV1ROU1ZWRXlOVzFZTTNCSFRGaHNZV1F3Ums5WFdIQm1ZekJhUjJORVpIWkpiakU1VEVOS2NGcElRV2xQYVVwdlpFaFNkMk42YjNaTU0wNHdZM2sxTTJGWE5XdGlNMlI2VEcwMWJHUkRPV3BhUjAweFdWZFdiRmxUTUhoT1YwMHhURlJTYTFscVdYUlpha0V6VDFNeGJWa3lSbXRhUkVreFRVUldhMWw2U1haSmFYZHBZakpzYTBscWIybE5iVTB6VDFkT2FVNTZaM1JOTWs1cVdWTXdNRTB5Vm1sTVYwcHNXV3BKZEZscVFUVk9iVlpwVDFSSk1FNXRSVFJKYVhkcFkyMW5hVTlwU1hkTWEwWlRVMVZGTW1OVVpFZGxiVTVXVm01U2NrMXVaR3hhYm13d1RVZDRRMXBJWkc1aU1IQlpZMnhPWmsxdGRGZFJiVGxJV2pCc2VGRXlNVFpTUnpoM1ZUQkdRbEZUTkdsTVEwcDZaRmRKYVU5cFNYbFplbU0xV1RKSk0wOURNSHBaTWs1b1RGUlJlbHBYU1hSWmJWWnBUV2t4YVUxRWF6SmFWMGsxVFdwUk1sbFVaMmxNUTBvd1lWZFJhVTlwU21wYVIwMHhXVmRXYkZsVE1IaE9WMDB4VEZSU2ExbHFXWFJaYWtFelQxTXhiVmt5Um10YVJFa3hUVVJXYTFsNlNXbE1RMG94WkVkcmFVOXBTbkZPUlZwc1lsUkdiVm96YUVaaVYyUjJWVmR3V1ZVelNsRmhhMFpDU1dsM2FXUnRWbmxKYW05cFRWTTBkMGx1TUM1U1VEVlJOVmhyU214TmVEazNPR2R6YW1VNFgyMVJlbTExWlRCM2NHMUdaa1JJTW1GeVdtMUdOelppWHpaUWNYbzBUVUl6YVdkaGQyaEpTVTVMYUdkNUxUUlVVMWxEVW1wcFEwNVZUMmRMZUc1NFVXTjZZbVpmUm5wR2NXa3pNVTFaUlRGdVVHNDBPWFYyZW5SaWEyZG5NelY0Y0RodVRHWjRSakE0TURKWFRYUXlibnBXTm5GaFZYWm1iRTFJUTNnM1IxUlhWVTg1ZFZad1IxcG1iVk5zU1V4Nk5tUjJaME5DVkRJNGQweDVaRnA0Ym5OWVUwSnFkMGw0YTNWQmRtUldORU0xYWxSQ2VDMW5abTluZDJOS00wUnpRbDlZYmpaUmFWZGllbUZQTURsclprNXFlRGh1YkdOa1NYVm1lV3BNZFdFd2JXbG1jWEJrYTA1R1NsTlZPRXh1TVRKelEwSkNSSGhxUWs1cmF6VkNTWEZZUmtoNVdtTmFWVlZIYlUxMlMyMDFjemhpWVhkVldVdGhWVXROY0dSeldWTnNOMFZmYUhKS2RISm9hek5TZUZoeGFGOHlUMnhQUld0clFrUkxTamh3ZGxFaUxDSjBjeUk2TVRZNE5URXlPVEk1Tml3aVlpSTZJbVJFWlcxS2JuWlpXRWhEV25SNWNtNHhZWGxWT1hFelQxUkdabGMxWDFWRlMzQmpRM2N0YVdkVGJ6Z2lMQ0p1YjI1alpTSTZJamxoT1dFNVlXVTBNemN3TURRNFl6RmlObUV5TVdObU1XRmpNREF3WmpVeUlpd2lZMjVtSWpwN0ltcDNheUk2ZXlKcmFXUWlPaUpaWmpCaFpXbDNlRU5wTVROaU5EUjNaMW8zUTFGUlVUTkxWVE5WY0hWSFIwTm5PVlJXZEVWSlZHRXdJaXdpWlNJNklrRlJRVUlpTENKcmRIa2lPaUpTVTBFaUxDSnVJam9pZW5vNVFVMW9SVXhzUVRSTU5HOHdXazQxVUc4eGJVb3RUMjExUWtWM2JscFZNM05YVFc5UFdIaE5MVU5zYWpaVVMxOXJWelJTYW5WMlFYcENhMGxxZFhkMFZUWmtjRFZFUlRaM2RVTmlWRFJuYzJadk9HVTNURmhXYVZOQmFteHVRMVZWY1ZkcVNqWlpVVnBIWjFKTUxYSmxXa1ZHTUZWMFoxUXpjMlp6Um5wS2VsbHNSRWw1Y3kxa1NreHBRMUZzUVc5V2MyMTJjVWR6TmtGaWRIaENPV0k1UjI5NVVrUmhSVkJuU0d0dU1uTXhhV2gzUTI1b2NFdDBNV2hYVG5sdVNrUjJiM2QwZEY4ek9HWnlSblpOZVhKVWRVZHBPVkZRTVZOc1NVeE5aVTVJYms5TmIwSjNNMFpoTWs5TFpFc3lZMmt6YTJaSWRESk9VbEZEZDNWWlJESjZOazAxVTE5bWJVWlVTRkJJWHpsS2FEVjBWVVJNUzNsUU1FSjFXV04yUTJwTlpUUlNkbDlIZG5OeFZXcHBXV2wyU1dWTlozZHBTemxrU2poSlVHcHVhRlZETkhWTGVEQm1NRlJoYmt0QlgzUlRhbnBSSW4xOWZRLlZ1NmpDSmRDY2ZJZ0VyblZ1eVhGSU13VnMtTFh0eWEwZ0Nzay1GUXVBT2xYS3NZR1RmcjVWV080UDUyQnl4T1E4elVDRVBsOWdYal9qaE9MQU5STDBCTE1hQlJKdDlhTzkxSWxkN0pEc2stRUlxbFRlNE9ILWphaDdhOHliTkxhc0V1amNsYzlGTUs4RDZVUE1ibFU2bFJNNjBtdFNQMzVJTTBzZnFFSzZVdDhFX1B4eldaRkpKeXl2X002LV8yZlBON09MX19zbDMwY0tWX00tTTRobHdBTWRmbElyRVlxdGFib2JlX1RnTmZKMldReDR4MFVEcmQ4b0JqSzFEeVdfUnl0Z2pmZFV4SXpFaFNWNV9CUWZmekZwZDhUbWtrNDhvTVFLY0oxeXRzSXhmdlQ0WTJlWHR1MThKdVBEWHl2N1p2dnFZcmhwVzU5alBrckhndGEtQSJ9.\u0022,\u0022correlationId\u0022:\u00220d0b3470-1f4b-4e3d-a289-8ea881851f64\u0022}",
+ "messageId": "efb5d493a34f4937b2c414cb1e591d97",
"partitionKey": null,
"sessionId": null,
"replyToSessionId": null,
@@ -11,7 +11,22 @@
"contentType": null,
"replyTo": null,
"applicationProperties": {
- "Diagnostic-Id": "00-b48884c5a1b4659c08698a89959e4ddf-abb95a4b2217e57e-00"
+ "Diagnostic-Id": "00-b221ec77bff6bc691668b32bf7a88242-36cd64a71753bc25-00"
+ },
+ "enqueuedTime": "0001-01-01T00:00:00+00:00"
+ },
+ {
+ "body": "{\u0022to\u0022:{\u0022kind\u0022:\u0022communicationUser\u0022,\u0022rawId\u0022:\u0022Sanitized\u0022,\u0022communicationUser\u0022:{\u0022id\u0022:\u0022Sanitized\u0022}},\u0022from\u0022:{\u0022kind\u0022:\u0022communicationUser\u0022,\u0022rawId\u0022:\u0022Sanitized\u0022,\u0022communicationUser\u0022:{\u0022id\u0022:\u0022Sanitized\u0022}},\u0022serverCallId\u0022:\u0022aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC94LWNvbnYtZXVuby0wMS5jb252LnNreXBlLmNvbS9jb252L2RKQndqcWMyRkVxSlBxWEZBVGxoTWc/aT0yJmU9NjM4MjA2NTU3OTUyMzYxMDc1\u0022,\u0022callerDisplayName\u0022:\u0022\u0022,\u0022incomingCallContext\u0022:\u0022eyJhbGciOiJub25lIiwidHlwIjoiSldUIn0.eyJjYyI6Ikg0c0lBQUFBQUFBQUNzMVlhMi9iT0JiOUs0SVgyQTg3cFVWU0w1S0FzVkRzcEhVenlYanltR21BWUFPS29tUk5aRW1oNU5oSnAvOTlMMlVuY2VQT3RMczdzeGdWY01USFBlZndpdVM5dHg4SFNwYmxhZDBWV2FGa1Y5VFZRSHdjWktaZTJMOUZPaEFESnFScUJVbFNLV25DRVE5d2hQekFweWhKUWgvSktLRlVZU3haNnQvZy9pRU1aVHlVaU9BZ1F0cFRFUXE0SjNHS3NlSXFHcndacEVYYmxQTGhWQzQwNEVPSHJ0S21McXB1YXZtaTBHY1pEM3pFQ2RmSTE5aEhqRVlwb2xobkhETWU0Y2dEbTFKVytWTG0ydHBVeTdKOE0yaWs2UXBWTkhJTFJHWEd0WXd3QW9zTStkSVBrV1IrZ0VoQ0VvOEZTbk9kQWRDOFNGTU55ODVrMmVvWExSY1BqVlhYYW5PdlRkdzBNTE14ZGFOTjkzQWc4dzNucHplRHJ2NGpITVdUUFVleHJ6cHFBNEl4K3NMUDAvTk5qZ3BTamJOQUVVUWlHaUtmQmg1aWtZNlFseEJGRktXSkgvRjlSeG5kMWt1amV0ekJ0Nno2Tnp4WUZ0VnRhNTBvdTA2cU9ZRE51NjVwaGV2S3BoaG1aWkhQTzdCYlB3emJXL2dtUTFVdjdJaDdUMTNWdUd1a0ZOTExxa2FZREpYYW1hT1VlMC9jckRhM09uWFRVSWN5eVNnS2toVDJncDlraUhtU28weG5qSE5OVXo5TlhCcTVCWEU5bjdzYktmOHNSdGFCQzUwV01xN2FsVFlnVGlsUXRwQ2J4ZVRnaFBZdm9maEp6RmF6MGI5bzFmMGxsRzJrYkhVdDArYkN5S3B0YW1QVlFSTzBFVzhZK1VNU2VrT0tQZUg1RVhNSG43WitIOWRWcHl1WSszR2dOcS9iZ3ltYnB0eGVXVzZiMnVPWmxIVUNBL2NqZkcydXEzcUVITmpKMk1ITzlOU1p6bnlIMEdpSTRSK3h3KzJvQlcrQnNXMm8wZE9Va0ExRE9xU0VEQW4zN0ZBeUdsOElzajFOdHFNYkFhUjlXWXprTWkxcUovQUlvYzdaeGN5TmY1bzVCUHNPaDEvUElZUTRoQUU5YzNnRVBkQ3luUXgwNEsrUXlwSHBWSU5NV3p6cW5YYVdpSDg0YTdRQTRYQ2VIZkNBMDhLTklOSjI3aGl0N3UzTFp2b2F0VVZlU1RoYStlOVp2V0FMdTRvdGQ2RTBXbVpHNXVLZ2piOTc2V3RXcVpnY3o4ZEhyU3JWM2RYZDQ0ZXAzOVMzN2ZReHBqc3FGOHYxcHFWa2xSYXA3TFNBcFR1WGs1bERpWWNqSFBvZWViWG9yUk83QjlCbXNuTHRHSm1tQnB3R0V4aDhzc0F4ZHNkc3B1MmoweDMwZ0ZzWDc2TjczNGJ1dlVhbm9OMHVTNm9PR0Noc2hSQkhld3crSjhFMzZPK243VFBRUDVrQjlsM3ZJVUlEUmprbVVlQUVkRWdJSERyR2hqeDA0TXp4SHR0b2lEZFAySjhMMlBrQ3pzbkY1ZG5wZE9MNEpDUXNDa0Z6U0RFTmNlRGpmVzc2d3MxNEdOTC9pZHQ3NWdaQUgzc2gwQVlZVTI2ZjhEVTVISzdldFkxc1d6RHdHUUVCT0h5bEFLTFZkbnQ4VllMUFBTL2FaNkgvQjVaZ1p5TmFrb0J4aitBL25JVCtXU1NsVEhRcEZyS29VSDl4Ym5vWFJTckkwNldWckxRczg5b1UzWHdoa3BWeUdxbHVkZGZJd2pncm5jRDFzdFZySHBxdWhvTWZINTdmakU5dUNHVTM3MDdpOGMzNXU1amNNT3dVRlZ4OVduejM4SE41OUY1bjUzUkIydnRJUFo0ZllSNi8rekRuNjJ3Y3ovMUgvdTdIc3piSmY2WC84c2l2NUVuSUZwNStEZjVLVS9tMkxPNFc3OTltdk1TMGh0Z1lkUGoyREZEanRBdkxLUHJ3OXFTYzlmQlBOMlN6a0EwRUZOODVuMzUvN0pKd0cxYWVoN2p6TnFMVVphLzdiVWpwVGZaSElOQ2NUODhPVDNmUnNrVzNHVW1LenNDWEhlMHp3VDBKVkh3SGNHUEVIRmxWZXAyTXF2cXorZGlaalU4dTkvbVo3WS8zK3lIcW5SMU92clFTMk1pNjFNMjhyalRTOXhEVDl6VEFGSXhJK0xtZDU0eFB2N1I4WnZ1L3NENks3WUQvWXRGMHhRTHUyeWNtaUk3YU5BYnlhZEhPSmFKQjZQaStJSkVJSnVJZ0Ztd3N4bFNNUTNFVWlVa29lQ0E0dkhNeDVvSXljVGl4THpFVzRWaVFBekUrRXNHQjhNYUNleUtpSWliQzk4VFJrZUJqY1VnRWpRV1pDTHpkQkhyZDlmb2NtNXlKYTNoV3E5VndzOEdIdGNtdnIvVWEwbVRRV25YdDlUVXNCODFUQTFiWDF6SnBrWTNleUs3a016VHZCZTA1Yi9zZG9FeTIzVTBDNTM1VnBOMzhKdE02VGVDdy9RMktIWnNWM1hqUGlVUnJGSUtVTFlkQWE2c0wrMlBIbmhMajczWGVWd0NLRVMwMUpKQ1o4aVZraGI2SHVJTDhrSkpFcFRqVllSUWt0b0pwb2VEc3M3WWZsRm9hY0g3K1hGRlVldlZEbHRrc3UrK0FGQkR5dzJQOVlKTy9iYmJXdHdaWHl6eHJmejdtSmp1K3ZHK3VGdDNrclVkK0hJMEFId29idURGZ3pqUTM2eUkwcDY0dW1xdko3SkpmMWJQekdPWUFyQUhoa0RCWkZiTk5SVkxvdmdRcDJyUHRVRnlXOVVyRHdqcXoxSi9BQnJKUDY1dGUrclM2TDdybmFubDN4S2FycGk3THZsVDREM052Z0huSnZxR3htMzlEMDAzZkg2eCt1VlAwNlBEdS9lenV3MUY4VWM1UGNraXM2ZC8xS1BRWXhXRVFSRHlnWGtod0ZJQXppdlprV1hiRkRPbzljTnZXeTBWN1lHcVpLdGdBTDQ1T2RiTE1kM050K0YrQlRaR1o0Z1FpTkh6M3pFK2dHdmRTSkNHTUk2WWxZNFFGSkF2N3d1Ni9LU21CTnpmMXN1bDUxOERiVjRUL0J0L0hUcEtURUFBQSIsInNoclRva2VuIjoiZXlKaGJHY2lPaUpTVXpJMU5pSXNJblI1Y0NJNkluQnZjQ0o5LmV5SmhkQ0k2SW1WNVNqQmxXRUZwVDJsS1MxWXhVV2xNUTBwb1lrZGphVTlwU2xOVmVra3hUbWxKYzBsdVp6RmtRMGsyU1dreFRGTlVUbEpQVnpWUFZXcGthVlZ0T1cxbFJ6RnNWMjA1V1dOWFNrbFhhMlJzWkhsSmMwbHRkSEJhUTBrMlNXa3hURk5VVGxKUFZ6VlBWV3BrYVZWdE9XMWxSekZzVjIwNVdXTlhTa2xYYTJSc1pIbEtPUzVsZVVwb1pGZFJhVTlwU21sT1JGWnNUVVJyZDFsVE1XdFpWMHB0VEZSUmVFNUVWWFJaVkVFeVQwTXdkMDlIUlRSTmFteHBUWHBDYkU5SFVXbE1RMHB3WXpOTmFVOXBTbTlrU0ZKM1kzcHZka3d6VGpCamVUVXpZVmMxYTJJelpIcE1iVFZzWkVNNWFscEhUVEZaVjFac1dWTXdlRTVYVFRGTVZGSnJXV3BaZEZscVFUTlBVekZ0V1RKR2ExcEVTVEZOUkZacldYcEpka2xwZDJsaFYwWXdTV3B2ZUU1cVp6Rk5WRVV5VGxSUmVFeERTblZaYlZscFQycEZNazlFVlhoTlZGa3hUa1JGYzBsdFZqUmpRMGsyVFZSWk5FNVVTWGROZWtrd1RWTjNhVmxYYkhaSmFtOXBVbFJLWVZveGJFZFNSMVl3V21wT01tRnBkR2xXUlhob1pXNWFlRXd6Ykd0aGJYQnlUREJLTTFGVU1HbE1RMHBvWTBoQ2NGcERTVFpKYlVWNldWUk5lbGw2U21oTVZFazFUMGRWZEU1RVJtdE5VekExVFZSTk0weFhSVEZPUkZsNVRXMVZNazlFUm1wWmVVbHpTVzFHZDJOSGJHdFpWMDU1U1dwdmFVMXBTWE5KYlU1MVdtbEpObVY1U25Ga01uTnBUMjV6YVdFelVqVkphbTlwVld4T1FrbHBkMmxpYVVrMlNXNXdOazlWUms1aFJWWk5Za1ZGTUZSRVVuWk5SbkJQVGxaQ2RrMVhNVXRNVlRsMFpGVktSbVF5TldGV1ZFNTZWakF4ZGxReGFEUlVVekZFWWtkdk1sWkZkR1poTVdNd1ZXMXdNV1JyUmpaUmJYUktZVzVXTTJSR1ZUSmFTRUV4VWtWVk1tUXpWa1JaYkZFd1dqTk9iV0o2YUd4T01IaFpWbTFzVkZGWGNITmlhMDVXVmxoR1dHRnJiekpYVmtaaFVqSmtVMVJETVhsYVZuQkdVbXBDVm1SSFpGVk5NMDV0WXpCYU5sTnVjRnBpUlZKS1pWaE5kRnBGY0UxaFZVNVNZa1ZHZGxadVRuUmtia1pJWTNwYVFsbHVValJSYW14cFQxVmtkbVZXU2tWWlZWWlJXakJvY21KcVNucE5WMnh2WkRCT2RXRklRa3hrUkVadlZqQTFOV0pyY0VWa2JUa3paRWhTWmsxNmFHMWphMW95VkZoc2VWWklWa2hoVkd4U1ZVUkdWR0pGYkUxVVYxWlBVMGMxVUZSWE9VTmtlazVIV1ZSS1VGTXlVa3hOYlU1d1RUSjBiVk5JVVhsVWJFcFNVVE5rTVZkVlVYbGxhbHBPVGxaT1pscHRNVWRXUldoUlUwWTROVk50WnpGa1JsWkZWRVYwTlZWRVFrTmtWbXhxWkd0T2NWUlhWVEJWYmxwbVVqTmFlbU5XVm5GaFZteHdaR3RzYkZSWFpETmhWWE0xV2tWdk5GTldRbkZpYldoV1VYcFNNVk16WjNkYWFrSlZXVmMxVEZGV09UQlZNbkEyVlZOSmMwbHRWV2xQYVVwQ1ZWVkdRMGxwZDJsWlYzaHVTV3B2YVZWc1RYbE9WRmxwVEVOS2NtRlhVV2xQYVVwaFVsaHdUVkZWTlVoYWJUQXpVWHBrVUZWR2JFbE1XRXBWV1ROU1ZWRXlOVzFZTTNCSFRGaHNZV1F3Ums5WFdIQm1ZekJhUjJORVpIWkpiakU1VEVOS2NGcElRV2xQYVVwdlpFaFNkMk42YjNaTU0wNHdZM2sxTTJGWE5XdGlNMlI2VEcwMWJHUkRPV3BhUjAweFdWZFdiRmxUTUhoT1YwMHhURlJTYTFscVdYUlpha0V6VDFNeGJWa3lSbXRhUkVreFRVUldhMWw2U1haSmFYZHBZakpzYTBscWIybE5iVTB6VDFkT2FVNTZaM1JOTWs1cVdWTXdNRTB5Vm1sTVYwcHNXV3BKZEZscVFUVk9iVlpwVDFSSk1FNXRSVFJKYVhkcFkyMW5hVTlwU1hkTWEwWlRVMVZGTW1OVVpFZGxiVTVXVm01U2NrMXVaR3hhYm13d1RVZDRRMXBJWkc1aU1IQlpZMnhPWmsxdGRGZFJiVGxJV2pCc2VGRXlNVFpTUnpoM1ZUQkdRbEZUTkdsTVEwcDZaRmRKYVU5cFNYbFplbU0xV1RKSk0wOURNSHBaTWs1b1RGUlJlbHBYU1hSWmJWWnBUV2t4YVUxRWF6SmFWMGsxVFdwUk1sbFVaMmxNUTBvd1lWZFJhVTlwU21wYVIwMHhXVmRXYkZsVE1IaE9WMDB4VEZSU2ExbHFXWFJaYWtFelQxTXhiVmt5Um10YVJFa3hUVVJXYTFsNlNXbE1RMG94WkVkcmFVOXBTbkZPUlZwc1lsUkdiVm96YUVaaVYyUjJWVmR3V1ZVelNsRmhhMFpDU1dsM2FXUnRWbmxKYW05cFRWTTBkMGx1TUM1U1VEVlJOVmhyU214TmVEazNPR2R6YW1VNFgyMVJlbTExWlRCM2NHMUdaa1JJTW1GeVdtMUdOelppWHpaUWNYbzBUVUl6YVdkaGQyaEpTVTVMYUdkNUxUUlVVMWxEVW1wcFEwNVZUMmRMZUc1NFVXTjZZbVpmUm5wR2NXa3pNVTFaUlRGdVVHNDBPWFYyZW5SaWEyZG5NelY0Y0RodVRHWjRSakE0TURKWFRYUXlibnBXTm5GaFZYWm1iRTFJUTNnM1IxUlhWVTg1ZFZad1IxcG1iVk5zU1V4Nk5tUjJaME5DVkRJNGQweDVaRnA0Ym5OWVUwSnFkMGw0YTNWQmRtUldORU0xYWxSQ2VDMW5abTluZDJOS00wUnpRbDlZYmpaUmFWZGllbUZQTURsclprNXFlRGh1YkdOa1NYVm1lV3BNZFdFd2JXbG1jWEJrYTA1R1NsTlZPRXh1TVRKelEwSkNSSGhxUWs1cmF6VkNTWEZZUmtoNVdtTmFWVlZIYlUxMlMyMDFjemhpWVhkVldVdGhWVXROY0dSeldWTnNOMFZmYUhKS2RISm9hek5TZUZoeGFGOHlUMnhQUld0clFrUkxTamh3ZGxFaUxDSjBjeUk2TVRZNE5URXlPVEk1Tml3aVlpSTZJbVJFWlcxS2JuWlpXRWhEV25SNWNtNHhZWGxWT1hFelQxUkdabGMxWDFWRlMzQmpRM2N0YVdkVGJ6Z2lMQ0p1YjI1alpTSTZJamxoT1dFNVlXVTBNemN3TURRNFl6RmlObUV5TVdObU1XRmpNREF3WmpVeUlpd2lZMjVtSWpwN0ltcDNheUk2ZXlKcmFXUWlPaUpaWmpCaFpXbDNlRU5wTVROaU5EUjNaMW8zUTFGUlVUTkxWVE5WY0hWSFIwTm5PVlJXZEVWSlZHRXdJaXdpWlNJNklrRlJRVUlpTENKcmRIa2lPaUpTVTBFaUxDSnVJam9pZW5vNVFVMW9SVXhzUVRSTU5HOHdXazQxVUc4eGJVb3RUMjExUWtWM2JscFZNM05YVFc5UFdIaE5MVU5zYWpaVVMxOXJWelJTYW5WMlFYcENhMGxxZFhkMFZUWmtjRFZFUlRaM2RVTmlWRFJuYzJadk9HVTNURmhXYVZOQmFteHVRMVZWY1ZkcVNqWlpVVnBIWjFKTUxYSmxXa1ZHTUZWMFoxUXpjMlp6Um5wS2VsbHNSRWw1Y3kxa1NreHBRMUZzUVc5V2MyMTJjVWR6TmtGaWRIaENPV0k1UjI5NVVrUmhSVkJuU0d0dU1uTXhhV2gzUTI1b2NFdDBNV2hYVG5sdVNrUjJiM2QwZEY4ek9HWnlSblpOZVhKVWRVZHBPVkZRTVZOc1NVeE5aVTVJYms5TmIwSjNNMFpoTWs5TFpFc3lZMmt6YTJaSWRESk9VbEZEZDNWWlJESjZOazAxVTE5bWJVWlVTRkJJWHpsS2FEVjBWVVJNUzNsUU1FSjFXV04yUTJwTlpUUlNkbDlIZG5OeFZXcHBXV2wyU1dWTlozZHBTemxrU2poSlVHcHVhRlZETkhWTGVEQm1NRlJoYmt0QlgzUlRhbnBSSW4xOWZRLlZ1NmpDSmRDY2ZJZ0VyblZ1eVhGSU13VnMtTFh0eWEwZ0Nzay1GUXVBT2xYS3NZR1RmcjVWV080UDUyQnl4T1E4elVDRVBsOWdYal9qaE9MQU5STDBCTE1hQlJKdDlhTzkxSWxkN0pEc2stRUlxbFRlNE9ILWphaDdhOHliTkxhc0V1amNsYzlGTUs4RDZVUE1ibFU2bFJNNjBtdFNQMzVJTTBzZnFFSzZVdDhFX1B4eldaRkpKeXl2X002LV8yZlBON09MX19zbDMwY0tWX00tTTRobHdBTWRmbElyRVlxdGFib2JlX1RnTmZKMldReDR4MFVEcmQ4b0JqSzFEeVdfUnl0Z2pmZFV4SXpFaFNWNV9CUWZmekZwZDhUbWtrNDhvTVFLY0oxeXRzSXhmdlQ0WTJlWHR1MThKdVBEWHl2N1p2dnFZcmhwVzU5alBrckhndGEtQSJ9.\u0022,\u0022correlationId\u0022:\u00220d0b3470-1f4b-4e3d-a289-8ea881851f64\u0022}",
+ "messageId": "efb5d493a34f4937b2c414cb1e591d97",
+ "partitionKey": null,
+ "sessionId": null,
+ "replyToSessionId": null,
+ "correlationId": null,
+ "subject": null,
+ "contentType": null,
+ "replyTo": null,
+ "applicationProperties": {
+ "Diagnostic-Id": "00-b221ec77bff6bc691668b32bf7a88242-36cd64a71753bc25-00"
},
"enqueuedTime": "0001-01-01T00:00:00+00:00"
}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/tests/SessionRecordedEvents/CallAutomationClientAutomatedLiveTests/CreateCallToACSGetCallAndHangUpCallTest.json b/sdk/communication/Azure.Communication.CallAutomation/tests/SessionRecordedEvents/CallAutomationClientAutomatedLiveTests/CreateCallToACSGetCallAndHangUpCallTest.json
index 8e1d09cf10dc1..4863d30dc5d41 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/tests/SessionRecordedEvents/CallAutomationClientAutomatedLiveTests/CreateCallToACSGetCallAndHangUpCallTest.json
+++ b/sdk/communication/Azure.Communication.CallAutomation/tests/SessionRecordedEvents/CallAutomationClientAutomatedLiveTests/CreateCallToACSGetCallAndHangUpCallTest.json
@@ -1,8 +1,8 @@
{
"entries": [
{
- "body": "{\u0022to\u0022:{\u0022kind\u0022:\u0022communicationUser\u0022,\u0022rawId\u0022:\u0022Sanitized\u0022,\u0022communicationUser\u0022:{\u0022id\u0022:\u0022Sanitized\u0022}},\u0022from\u0022:{\u0022kind\u0022:\u0022communicationUser\u0022,\u0022rawId\u0022:\u0022Sanitized\u0022,\u0022communicationUser\u0022:{\u0022id\u0022:\u0022Sanitized\u0022}},\u0022serverCallId\u0022:\u0022aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDIuY29udi5za3lwZS5jb20vY29udi9iekNWZmdhZUJFVzJuc1JvYmlwOWZ3P2k9MSZlPTYzODE5Mjc1MTQyOTUxMDU4NA==\u0022,\u0022callerDisplayName\u0022:\u0022\u0022,\u0022incomingCallContext\u0022:\u0022eyJhbGciOiJub25lIiwidHlwIjoiSldUIn0.eyJjYyI6Ikg0c0lBQUFBQUFBQUNzMVlhMi9qdUJYOUs0SUw5RU4zYVBHbEZ3R2pjSnhNSnk5UDFrazJtQ0pvUUpHVXJZa3NxWlQ4U0dibnYvZFNkaEpuUFoxTjI5MWlIY0FXeWN0enpyMFV5WHZ6cGFka1VZeXJOczl5SmR1OEtudmlTeSt6MWR6OTVyb25lckdRcWhFazFWTFNORUZKZ0NQRUEwNVJtb1ljeVNpbFZHRXNZODN2Y1BjaE1aS2hVa2pUTEVWTXN3VEZoa21zTWRZa29yMTNQWjAzZFNFZnhuSnVBQjg2VEtucktpL2JZOGNYUkNiRUNZc1F5MWlJT0tNR3BRb0RuZEVtekdRY0VCWEFuRUtXMDRXY0dqZW5YQlRGdTE0dGJadXJ2Slpib0RDSk0wVWxBS1VKQUNrU29EVFRGQ21OZ3pTaERFdk1BV2lXYTIzQTdVd1dqWG5SY3ZWUU8zV05zVXRqaDNVTmxyV3RhbVBiaHdNNTNYQitmZGRycTk4aVVIRzhGeWp5cTRIYWdHQ012dkgxOUhsVG9EVFZPQ0k4UlJIUE9PSVJaU2hoUnFNMFRySlFSaUhPcE5vUGxEVk50YkNxdysyOXhldC9FOEVpTCs4YkYwVFp0bExOQUd6V3RuVWpmRi9XZVQ4cjh1bXNoWG5yaDM1ekQydlNWOVhjamZoTDZxdmFoL0F0R2lNcHdyU3YxSTZKVXY2UytGbGw3NDMyWXhYam1HVWFoVndaeEdXUW9KUW1LYUlxaVhGS2VaeW8xS2VSbnhPZjhjVGZLUGxyUG5DYTUwYm5jbGcySzJOQm0xSWdiQzQzdmt3aEJzMGZRZkNUbHExa2F6NGIxZjRSaEcyVWJHVXRkSDFsWmRuVWxYWGlvQW5TQXRvbmhQY0poOStFQ01hajJPOTkzWVo5VkpXdEtjSDRTMDl0SHJmYlV0WjFzVDJ3L0VhN3paa1dWUW9EeXdHK3RiZGxOVUFlb1p3SHpNUGU4ZGc3dnVEUWp2b1kvb2d6YUFZTnhBdW11NFlhYkUwNDdrZHhuMkF3d2gxT09oaGRDWGp1UHE2akhXQ3ZlNWdQNUVMbmxjZVRNSWk5eWRXRlAvenB3aU9ZZXdsOE00OFE0cEVZMkdNdmlhQUhXcTR6QmhuNCs1eHlZRnRWSTl2a2oyYW5uYVhpTDk0YXpVRTI3R1lQSXVBMWNCNEkzY3c4YTlUU1BXek0xNmpKcDZXRWpUWDkzcXdYYk9HY1NEYnRISloxa1ZrNUZVZVQ5N09Ydm5xbHhlaW1ZU2ZITncrVHlmbnFmaldwN1ZCOXV0TDZma2ZsZkxIZXRKUXNkYTVsYXdSNDdsMGZYbmlVTUJ6aGtEUHkydWR0Q05zSGtHYXpZdTFacWJXRmtQVXBpV0c5T1BXc2UyVTJkdnZvZEFjOVNDREMrK2pKRzlHVFg2SlQwTzdja3FvRkJncDRJWTcyR1VoQTM4UUFkdnNNOUhkbWdOZXVpeENoUVV3VFRLTEFlOXAwc2FOZ0hteTZUWVNzZ2V0bWkvNWF3YzRLZU9kWDE1UHg4YUZIZ2lTa09NQXNESU9Rd01ZTjRyM2xZZHZsNmNqakpBenAvMFNldkpCanh0elVJT1pKUkNrTEk3Ym5PZXo1THJhMWJCcDNITVFFQk9Ed3RRSU16WURoTjBrSUtFL1lQZ3Y5UDdBRU8yK2lJd25paEJIOG01UFEzNHVra0trcHhGem1KZW9PemszdlBOZUNQSjFhNmNySVlsclp2SjNOUmJwU1hpM1Z2V2xybVZ0dlpWSTRYN1o2N1VQZFZyRHpoMGVYZDZQek8wTGp1dy9udzlIZDVZY2h1WXV4bDVkdzloblJSSmFFUHhRbkkvOFREMytNVHRuSnlZOVN0cWVMTkR5MXAvUnl1UjZQYjI0ZXlwL3BQeGo1bVR3SjJjTFRYNFAvSlAzeThQTDg2bW9xUiszRjJmSVJMNnBFajIreVpWYjhjTDMrTUZWTHY5WEZXUWYvZEVUV2MxbkRoY0s5eStPelU1K0UyMnZsZVNqeC9nWnZzeC8vc3QvdGxHN0svZ2hjTkpmSGs2UHhMbG8yYnpjamFkNWFXTm5CUGhNY2xFQ1Y3QUJ1SnNXZUxFdXpUZ2RsOWNvZWV4ZWo4K3Q5L3RqMUQvZjc0ZGFiSEIxK3l4TjRrVTFoNmxsVkdtU1djS252YVFBVGpFajRlaDd6UnVOdnVSKzcvbS80UjdFYjRDOHo2amFmdzRIN3hBVFhvN0cxaFhSYU5ET0phQkI2RVJmeFNCd2Npb09oaUlhQ0RNWG9RQ1R3ZkNSd0tCZ1duRHFEVVNLU0F4RU9CU1FzNUVCRVJGQm9Ib2tvRUNIWUh3ak1SUUNkVEJ3a1loaUl3MGdjSFlwUnNDRTI2N2JUNTduc1ROekNaN1ZhOVRjdmVMK3kwOXRiczRZc0diU1diWE43Qys2Z21iWXc2L1pXcGcxeTF6ZHlucnhDWXk5b3o1bmJkNEF5MmJSM0tlejdWYTdiMlYxbWpFNWhzLzBKYWgyWEZOMng1MHlpc1FwQjBqYUZtOVlWRis3TGpUMGx4bWRtMmhVQW1lR1o1cG9oRGdjeGduc29oTHlRWWhRU1YydVpUTFBNdUFLbWdYcXpTOXMrS3JXd0VQenBjMEZSbXRYSExITlpkdGNCT1NCa2lLZm13V1YvMjJTdGEvWCtmbklXTGNmdDlCR1hKKzhmUDBmTnhYbXVwb01CNEVOZEF5Y0cyTFRzK253WWZyeGNGNS8vZWMyUGw0dkY5ZVA3SWRnQXJBWGhrREU1RlJlYmdpUTNYUVdTTjVQdDBMQW9xcFVCeDFxN01GOWhEcVNmTGphZDlPTnltYmZQeGZMdWlNdFhiVlVVWGFud0h5WGZBQUxwOThwMDJUYzBkdk52YVBycDQraW5iQ3JOd2RFTkxadEpsZVoxa3EwZ3NTWi9Ob09Rd1oxRG93Q1M2Q1FnR0s1RUNFWGVuQytLTnIrQVlnK0N0bzF4M2h6WVNtb0Z5LzhTWm0zU3hYUTMxWVovQ1hTTGF1Sk1wcHFIaUhhTGlwbENpVTdnaVVNSnJYU1ljUk82U3VpL3FTZUJkMnFyUmQzeHJvRzNLd2YvQllncG1nNlFFQUFBIiwic2hyVG9rZW4iOiJleUpoYkdjaU9pSlNVekkxTmlJc0luUjVjQ0k2SW5CdmNDSjkuZXlKaGRDSTZJbVY1U2pCbFdFRnBUMmxLUzFZeFVXbE1RMHBvWWtkamFVOXBTbE5WZWtreFRtbEpjMGx1WnpGa1EwazJTV2t4VEZOVVRsSlBWelZQVldwa2FWVnRPVzFsUnpGc1YyMDVXV05YU2tsWGEyUnNaSGxKYzBsdGRIQmFRMGsyU1dreFRGTlVUbEpQVnpWUFZXcGthVlZ0T1cxbFJ6RnNWMjA1V1dOWFNrbFhhMlJzWkhsS09TNWxlVXBvWkZkUmFVOXBTbWxPUkZac1RVUnJkMWxUTVd0WlYwcHRURlJSZUU1RVZYUlpWRUV5VDBNd2QwOUhSVFJOYW14cFRYcENiRTlIVVdsTVEwcHdZek5OYVU5cFNtOWtTRkozWTNwdmRrd3pUakJqZVRVellWYzFhMkl6WkhwTWJUVnNaRU01YWxwSFRURlpWMVpzV1ZNd2VFNVhUVEZNVkZKcldXcFpkRmxxUVROUFV6RnRXVEpHYTFwRVNURk5SRlpyV1hwSmRrbHBkMmxoVjBZd1NXcHZlRTVxWjNwT2VrRjNUMVJKTVV4RFNuVlpiVmxwVDJwRk1rOUVUVE5OUkVFMVRXcFZjMGx0VmpSalEwazJUVlJaTkUxNll6Uk9lbGw1VGxOM2FWbFhiSFpKYW05cFVsUktZVm94YkZGYU0wNTNWRWh2ZVdGNlNrNVpWV3QyV2tSS1QxcDZWbUZOUkVKWlZtdEdRbEJVTUdsTVEwcG9ZMGhDY0ZwRFNUWkpiVVY2V1ZSTmVsbDZTbWhNVkVrMVQwZFZkRTVFUm10TlV6QTFUVlJOTTB4WFJURk9SRmw1VFcxVk1rOUVSbXBaZVVselNXMUdkMk5IYkd0WlYwNTVTV3B2YVUxcFNYTkpiVTUxV21sSk5tVjVTbkZrTW5OcFQyNXphV0V6VWpWSmFtOXBWV3hPUWtscGQybGlhVWsyU1c1TmVGTnJXalZVYlhnd1pXMWpOR1ZzWkhaYWJtY3lUMFZPTldGcVZrOWlSRXBYVW10S1lWTlZkRzlYYms0MVRteEpNMXBIV20xaVJ6RjVWRU13TVZScVpETmhNa3AzVkdwc2JFOUZjRVphUmxwcFZVVm9hbGRITldwU1JHaHBZakJhVjFOc1NuUlZTRVpOVjBoa2ExcEdhSE5XVlVaNFltNUNVbFZYVFRCUmJuQmhXVmhrUjFsdVFrNU5SRTQyVVZWMGJHUnNWWGxpTWpsaFZVVlNRMVpFUm5CalZrRjNaREpPYzFwSFdtbFdWRkpZVlhwc2VtSkhVbEJNVjA1T1pGaE9NbFZJVG10amJrSllWMGROZVV4WWFGUmlWRkpIVjI1YVYxcHJNV3hhYlRRMVZqRldUR0l5Y0c1T01Vb3daRVZzWVdNeE9WaFhSVVpFWTFWSmVFOVZXazlUVm5CMldURnNRMU5JUWpGbFIyaGhZekZzTlV4VVJsbFdWMlJ5WW0xU05Gb3phSGRTUnpVMFRYcFZNMVJYY0RaT1ZGcDVVMGhrVFU5RldrSlZSV3d6VkRKNFVWVlhPVmhTYTI4MFZsVjBNMlJIZUhoa2F6UjNaRlUxYUUweWJHcGxXRkpMVm0xMGIxcFhVakpOVmtJMFZtNWthMkZGYkVWU1IyaE9ZVEZPUjFac1NtMWtSelUxWTJ3NVJrNHlVVFJSYkVJMVdXMTRiRTlYV25Oa00zQkNVakJLZUZKNlVURlZha295VVROR1YxUnJSazFTYlVwMVdUSk9jVkpITlVsa1JWWnRWVk5KYzBsdFZXbFBhVXBDVlZWR1EwbHBkMmxaVjNodVNXcHZhVlZzVFhsT1ZGbHBURU5LY21GWFVXbFBhVXBTVG14YU1rNUZSakZNV0ZWNlkwUmtVR1J1Y0hWU2EyaE5VekU1V1ZZelVuWk5TRXBRV0hwc2RscHJiRnBTYWxwcFZrVldhMVJFVGxwSmJqRTVURU5LY0ZwSVFXbFBhVXB2WkVoU2QyTjZiM1pNTTA0d1kzazFNMkZYTld0aU0yUjZURzAxYkdSRE9XcGFSMDB4V1ZkV2JGbFRNSGhPVjAweFRGUlNhMWxxV1hSWmFrRXpUMU14YlZreVJtdGFSRWt4VFVSV2ExbDZTWFpKYVhkcFlqSnNhMGxxYjJsTmJVMHpUMWRPYVU1NlozUk5NazVxV1ZNd01FMHlWbWxNVjBwc1dXcEpkRmxxUVRWT2JWWnBUMVJKTUU1dFJUUkphWGRwWTIxbmFVOXBTWGRNYTBaVFUxVkZNbU5VWkVkbGJVNVdWbTVTY2sxdVpHeGFibXd3VFVkNFExcElaRzVpTUhCWlkyeE9aazF0ZEZkUmJUbElXakJzZUZFeU1UWlNSemgzVlRCR1FsRlROR2xNUTBwNlpGZEphVTlwU1hsWmVtTTFXVEpKTTA5RE1IcFpNazVvVEZSUmVscFhTWFJaYlZacFRXa3hhVTFFYXpKYVYwazFUV3BSTWxsVVoybE1RMG93WVZkUmFVOXBTbXBhUjAweFdWZFdiRmxUTUhoT1YwMHhURlJTYTFscVdYUlpha0V6VDFNeGJWa3lSbXRhUkVreFRVUldhMWw2U1dsTVEwb3haRWRyYVU5cFNuUlViVGxYWVdwQ2FXTjVNVVprVmxsNlYwWkpOV0pVVWpOa1JVWkNTV2wzYVdSdFZubEphbTlwVFZNMGQwbHVNQzVrUVhGZmFEa3ROMUEyZVMwM2MyTjJXVVV4V1RaMExWcDVUREozVDJKa2EzUXRNbWhOVmtabk0wMWlXUzF3YlZsRE4zbElkWGRqVUZNdFJuTjVlV1Z0ZEU5eGRuSkdlVWxtVXpWVmEwSlhZbGRtY0RSaGNFdERkRGRKZUZSSFdIRnBkR3gwZEdWRmRGWktMVkpuY0cxT1NUSXhPSEkzU2paYU0wOVlTblJ2ZGxoa1RVbFpaaTFQVkRreVlsVkRZVEZMVmtWcWRYQkRiMVoyT1dneVlsVlBObTlsVlZZMVRWbDBRazl2YWtoQk1FZFNRMVp3Y0ZkNFRYTm1jVWQ1WDFSMlprOUxOVzEwY0dSbFJFWnZVWGRQWVhKcWIxTnVZMDQ0TVd4UFdUQnZiV0l4YlZreU1sUlVWbVZOTkZKak56RlpOWEZtT1VVMlpWVlBkbVI1TmpKaFdFTnJWblozU1ZWVVQwSTRVRVZ3WjBodWFWQmZWMTkzYnpWSU1tc3lUVUpsVDIxUlRuSm9NbGxyV0RWUVZUUnZZMnRoZUd0SVdWOUZhVGhOY0dWT1prbFBlakF0UWxGMVdUUnllbU5uYzBWaFJ6UnhObmNpTENKMGN5STZNVFk0TXpjME16STFPU3dpWWlJNklucE1iMkV0WmpVeU1XVTVPRFJhVTNGQ1VEQllXak5TTkZsclFURkpPV2h1TUhobWJVUTBSV2g2UjNjaUxDSnViMjVqWlNJNkltVXhOVGt3TlRWaFltTXhOelE0WkRRNU1EWTFNVE16WWpjeFkyRTJNVEV3SWl3aVkyNW1JanA3SW1wM2F5STZleUpyYVdRaU9pSmtSMFl5Tm5wTE16TXhaMDlQZDE4MGVWOVZVMlkyWmpaelVVdFNiakUzVUdsUlZYSjJhVlV4TFZSdklpd2laU0k2SWtGUlFVSWlMQ0pyZEhraU9pSlNVMEVpTENKdUlqb2ljekZLUm5sT2JIUjZaemg2VjI5bWVEWTRRM2xxTlU1c01sWkdRbHBKUzJoYWMzazJVamRrWm1ac2JYSk1MVFZPTjNkclluQk9PV1U0U2tWa1ZtSlFTR05ZYm1ORU9HSnZSbFpLVW0xUWNVeFlkMlJrV0d4VlFYRnVjRkZSWXpSQ2VscGhkMFppY0Uwd00zcEJTMlYyVlRKdmIxcFFSRUpVTVdseFVEQjNZMnhrWm1KVk5GZFRPWE5zWkU4dFkwMTFjM1pRYzJSeWNGZFlZekl0ZUZOdE5FWmFkbFptVFdWbWJqbFhWVXR2YW1jM1VuUjBTVnB6WDFkWVFVTnhRakU1Ums1SldtOWpXVUpJY0hWNGFGcHpXWGt0TVZoVloydHVaSGhuZUhCRWJuZ3pOVGROYW5vMU5uSklkMHc0UmtGUVNYZFBiRkJSYjFkR1NqaFZTM2QwYkhGMlRqQjFUbUV6YVdONWRFcFdhMmhsWkhZeFVIaFdkMlJvU1VSRWFFMXJVMFpXVW1aMGJubHlYMFUzWkRoQ1VIbGliR1U1Wm14M2VrRkhRbkZITkRWU01uWkRjVlpPUVV4R1ltNWpZMnBFYmtoMFJXWlJJbjE5ZlEuSmhJNnFuejlTMDB5S3dXODYzSkloRnQ2alU3cWQ4Yk1fWHJjMDNWZ2FLdm1nV1dtSG5DeldaOVgtdXZPLWNQNEFOQWIwam9lSTJWVjA0RkEwS25FSXBidXktM0IwbjVKaG00OG5CbERxRm50dktSdEVoNGhCc0ZGdnFpN1ZUSVlFR1MyaGYzTlFGWmlIM3luMlZQZG84cEZ3Q0pnajZrUGlfMFl6aUE3ZTQyVF91a0otbHhGaGx4MWdJVndSSHJiNV9vSzdiNVEzM2lIVW9YNGZEcFdtSHMxZnFGTU9BVlFsTVJMdkcxZHFqZk0tU0t3c1k4N3NkLWZsdmh4U04yWThHVGNwMWdyX09ucE9SblZwTGp1YVRXVWhnNFJpdFpZVE5pbFVjMFN4aG0tZGg1ZGtKc1lCY0J5akRRU0ktb0swQ29ZTk1UZjdzN3dQdHJSYm9RMjVRIn0.\u0022,\u0022correlationId\u0022:\u0022e8fabd46-2673-403c-9d93-44d05cd6f4e6\u0022}",
- "messageId": "2c96ce11eb94463c9db2c5cfbb177af6",
+ "body": "{\u0022to\u0022:{\u0022kind\u0022:\u0022communicationUser\u0022,\u0022rawId\u0022:\u0022Sanitized\u0022,\u0022communicationUser\u0022:{\u0022id\u0022:\u0022Sanitized\u0022}},\u0022from\u0022:{\u0022kind\u0022:\u0022communicationUser\u0022,\u0022rawId\u0022:\u0022Sanitized\u0022,\u0022communicationUser\u0022:{\u0022id\u0022:\u0022Sanitized\u0022}},\u0022serverCallId\u0022:\u0022aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC94LWNvbnYtZXVuby0wMS5jb252LnNreXBlLmNvbS9jb252L3NlYUZjT1o3QkVPcHNLekFkRUU2VEE/aT0wJmU9NjM4MjA2NTQ3NTE3MzQxMDc0\u0022,\u0022callerDisplayName\u0022:\u0022\u0022,\u0022incomingCallContext\u0022:\u0022eyJhbGciOiJub25lIiwidHlwIjoiSldUIn0.eyJjYyI6Ikg0c0lBQUFBQUFBQUNzMVlhMi9iT0JiOUs0SVgyQS9iMGlhcEJ4K0FzWEJzWjVKSjQ2U0oyMFVId1FZVVNjbWF5SkpHa21Pbm5mNzN2WlNkeEsyejArN3V6R0ljd0JaZjU1eDdSZkxlbTA4OXJmSjhWclpaa21uVlptWFJrNTk2U1YwdTNXOW1lckxIcGRLTkpMRlJpc1lDaVJBekZJUUJSWEVjQlVpeG1GS05zZUltdU1YZGgzQ1VpRWdnRytNRVdWOHpGQXBmWVlPeEZuSGNlOTB6V1ZQbDZtR21saGJ3b2NNV3BpcXpvajExZk1KRUprcXdSZ24xQlFwRW9wR0lLRUZKRWlZQnNSSEJBWU0xdVNyU2xVcXRXMU9zOHZ4MXIxSjFtK21zVWp1Z21HZ1RzQ2hFSktZYUJVeHpwQklkSWgzRzFtZlVXazBVQUMweVl5eVluYWk4c2M5YTVnK1ZVOWZZK3Q3V282cUNtVlZkVnJadUg0NVV1dVg4L0xyWGxyK0RvNVFKa1ltNFFwZ0huRktNNDRpRjMzVFVGZ1JqOU1MWDQrZTdIR1dFN3hNcUFzU2l4RWVCSWdFQ0l4Z3loaGxsTURjK1pvZU9xbTFUcm1yZDRmYSt4K3AvNDhFOEsrNGE1MFRWdGtvdkFHelJ0bFVqQndOVlpmMGt6OUpGQytzMkQvM21EdDVKWDVkTE56SzRwd05kRFRaSWEyUlhSWWt3Nld1OU4wZnJ3VDBaSkdWOVo4MkFZMnVEVURDVVJDSkJnU0UrRXBhRDF4bE5LSTZ0VmJFWVVEYkl5TUFQeEdBcjVlL1prSUxvcFRXWkdoWE4ydFlnVG10UXRuUWJCMFNsNElUbVQ2SDRVY3hPYzIxL3RycjlVeWpiU3RucFdwbHFYcXVpcWNyYXFZTW1hQ04rbndWOUV2bDlpbjNwQjR3UGVwOTNmaCtYUldzTG1QdXBwN2VQdTRPcHFpcmZYVm1EeHJqakdlZGxEQVAzUTN4VDN4VGxFSGswcE56RDN1bk1PNzBNUEVKWkg4TWZjY1BOc0FGdndXTFgwTVBIS1JIdlI3UlBDZWtUNGJ1aGVEaWVTN0k3VGE2akhXS3ZlMWdPMWNwa3BSZFNFbUx2YW40NUdMMi85T0IyOGdSOCt4NGh4Q09Pbm51Q1FRKzBYQ2NISGZnYnBHcFl0N3BDZFpOOXRIdnRKSlovOHpab0NjTGhQSHZnQWErQkcwR2FadUhWVnQrN2grMzBEV3F5dEZCd3ROTGZXdldNTFowVm5XUFVNTk1XclpKYXBSSmZuWncvOTFWckk2OW03eGZweFVTOWk5NWVURjd4WTFWOGJGcmZEdlpVTGxlYmJVdXJ3bVJHdFZhQzZkNjd5YVZIQ2R3a09BcDg4cFhST3llMkQ2Q3RUdktOVnl0amFuQWFUT0R3eWtLdmRqdG1PKzBRbmU2aGg4SzUrQkNkZkI4NitScWRnblpubHRJdE1GRFlDaEZtQnd5QklDSDlOa00zN1pDQi9zRU1zTzg2RHhFYWNpb3dZU0hZMmljRURoM25mUkY1Y09aRWgxMWJpRGVQMkY4SzJIc0Qzdm44M2RYc2RBSTdXakRPbzBENEVHYzVYUDNCUytUMG1aeUxLS0wvRXpsNUlnOVl5SDBodUdBTTg0ajdMM0RENGVwY1c2bW1BUUVCSjhDUG82OEVoQUVtK1BzVWdLVitlTWhDL3c4czRkNUdkQ1FoRno0QS90NGs5SThpeVZWc2M3bFVXWUc2aTNQYnU4eU0zSjI1RFlyWFZ1VnBXV2Z0WWluanRmWXFwZTlzVzZtczl0WTJodXRscDdkK3FOb1NEdjVvZW4wN1ByOGxsTitlbkkvR3Q5Y25JM0xMc1pjVmNQVloyYjZablp5Mjc4WEZ6L09USXNvLy9MaGErL1BadkJXYnlHZkI5TzVWcHM2cWJMWDZsZjdUSjcrU1J5RTdlUG90K0kyUHhmSEhFOEdyVTc2WjVWZnBxN01Oem96V3Y0UlhhdjNobUgrWXBQRUhzK2pnSDIvSWFxa3FDQ2lCZDMzNjVteEFvbDFZZVJvUzNnK01VZ2l5WC9XN2tOSXRPUnlCUUhOOWVqV2Q3YU1seTNZN0VtZHREVzkyZU1nRTl5UlFpVDNBN1NMdXFhS3dtM2hZbEYvTXg5N2wrUHpkSVQ5My9hUERmb2g2VjlQSlM1YkFScmE1clJabFlaRzloNWgrb0FHbVlFU2lMOWY1M25qMmt2bmM5YjlnSDhWdUlIaGVVYlhaRXU3YlJ5YUlqcmF1YXNpblpiTlFpSWFSRndTU01CbE81TkZJOHJFY1V6bU81REdUazBpS1VBcDRGbklzSk9WeU9uRVBJeXlqc1NSSGNud3N3eVBwajZYd0phTnlSR1RneStOaktjWnlTaVFkU1RLUmVMY0o3S2J0OUhrdU9aTTM4Rm12MS8zdEJ1K1hkWHB6WXplUUpvUFdvbTF1YnNBY3REQTFyTHE1VVhHRFhQUkd6cEl2MFB4bnRLZTg3VGVBRXRXMHR6R2MrM1ZtMnNWdFlxMko0YkQ5QllvZGx4WGQraytKUkZOckJDbGJDb0hXVlJmdXk0MDlKc1p2Yk5wVkFDcmhRU0pJaktpeUdBWGNKaWlHK3hwUnc0MzJDYmVXSnE2Q2FhRGc3TEsyQzYxWE5UZy9mYW9vQ3J1K1NCS1haWGNka0FKQ2ZuaG1IMXp5dDh2V3VsWlA0SVZPeFk4bnhjYUcvNWd2OHV6dFQrYnU3WEFJK0ZEWXdJM1JwWlpIWTNaNWZMMEs4ZnNmSHZMeGZOcEcwelhNQWRnYWhFUEM1RlJjYml1U3pIWWxTTlpjN1laR2VWNnVMUmpXMWl2N0dkWkE5dWw4MDBrL0xlNno5cWxhM2g5eDZXcGQ1bmxYS3Z5SHVUZkFQR2ZmME5qUHY2RTVhS3c2MWhjL3NhUHBSZFdjZlJ5WjZUU2FqeUN4eG4rMXc4am5GRWNoeEVUQy9JQkFKQVpuWk0zNUttK3pTNmozd0cwN0wyZk5VVjBxbzJFRFBEdmEySGlWN3VmYThGK0JiUkZOUmNLSVlTaG1qS1BBV25qUzhJSnhBaEdYbVNDaXlyM1cvNnFrQk42MExsZFZ4N3NCM3E0aS9CY3pKTDdxa3hBQUFBPT0iLCJzaHJUb2tlbiI6ImV5SmhiR2NpT2lKU1V6STFOaUlzSW5SNWNDSTZJbkJ2Y0NKOS5leUpoZENJNkltVjVTakJsV0VGcFQybEtTMVl4VVdsTVEwcG9Za2RqYVU5cFNsTlZla2t4VG1sSmMwbHVaekZrUTBrMlNXa3hURk5VVGxKUFZ6VlBWV3BrYVZWdE9XMWxSekZzVjIwNVdXTlhTa2xYYTJSc1pIbEpjMGx0ZEhCYVEwazJTV2t4VEZOVVRsSlBWelZQVldwa2FWVnRPVzFsUnpGc1YyMDVXV05YU2tsWGEyUnNaSGxLT1M1bGVVcG9aRmRSYVU5cFNtbE9SRlpzVFVScmQxbFRNV3RaVjBwdFRGUlJlRTVFVlhSWlZFRXlUME13ZDA5SFJUUk5hbXhwVFhwQ2JFOUhVV2xNUTBwd1l6Tk5hVTlwU205a1NGSjNZM3B2ZGt3elRqQmplVFV6WVZjMWEySXpaSHBNYlRWc1pFTTVhbHBIVFRGWlYxWnNXVk13ZUU1WFRURk1WRkpyV1dwWmRGbHFRVE5QVXpGdFdUSkdhMXBFU1RGTlJGWnJXWHBKZGtscGQybGhWMFl3U1dwdmVFNXFaekZOVkVVMVRsUlplVXhEU25WWmJWbHBUMnBGTWs5RVZYaE5WR3N4VG1wSmMwbHRWalJqUTBrMlRWUlpORTVVU1hkT2Fra3lUV2wzYVZsWGJIWkphbTlwVWxSS1lWb3hiRVJoV0hCclpGVmplbFZIVm1GbGFtUllZMms1ZEZaVGRFMWtNbU16WWxWR00xRlVNR2xNUTBwb1kwaENjRnBEU1RaSmJVVjZXVlJOZWxsNlNtaE1WRWsxVDBkVmRFNUVSbXROVXpBMVRWUk5NMHhYUlRGT1JGbDVUVzFWTWs5RVJtcFplVWx6U1cxR2QyTkhiR3RaVjA1NVNXcHZhVTFwU1hOSmJVNTFXbWxKTm1WNVNuRmtNbk5wVDI1emFXRXpValZKYW05cFZXeE9Ra2xwZDJsaWFVazJTVzVTUzFsdE5VdFVNMWw0VmpCNE5GcHRkekpPVldSU1RsUkthMDFYT0ROaE1ITjBaRE5HZVZOR1FuaFZNVkpTVFVad00weFZNSGxXTURWWFZFaEthMU5yVmxkWlZYQkZUa2hzYlZWdVZrVmlNV3hUVVdzMVJGUlZlRU5qYW14UVVXMXdXVk5yUm1wWmJXTjVaR3BTU0dOclZrcGFWMVYzVGxkc2QxVlVTWHBrZWxwM1RqTmFiRTE2UWt4T1YxSktVbXRzZFdOSFdubFZiRnBxWkdwV01tUlhTbkZVV0hCWlRta3dkMVl6YkhGUlYxSjVWMVJTZFU1WGVGZGlNRGwxVGtWS2NWSldiM1JPYlVaMVVXNWFhMVZ0Vm10V1JYQTBVbXQwYjFVeWNIQk1WbWh5V1ZoS2Fsb3lVWGRPVjFwcFl6TnZOVlV4YkZOVk1IaEVWbTFhZEZOdWFFNVBWRkp1VmtSb00xTnRhR2hUZWtwRlRtMU9hVlZJVFhsWlZFSlhWVVZ3VFdGc09WZFNSVkY1V1d4b2FWZHJlR3BSTTJ4NlUxaHdhRTVZYXpSWmExSTJUbFYwZDFZd1RtNVhVekZVV2pGR1dWTlVSa2RpZWxGMFZXcG9iVlF5YUROYWJYUldXbXRXYkZaSE1UTlRSMUo1Wkd3NWNsVkZjRTlWYWxaQ1lXNUpORk5xWTNkaVJVWXhaVWRuTVZGdFdraFBWbkIzVFZST2IyRlZlSFpqTTBVMFVqSTVSMUV6VWt4bGJYaHZZVWQ0ZUU1c1JYZGlWVTU1WTI1b2Jsa3dkM2hVYm1oVVZWTkpjMGx0VldsUGFVcENWVlZHUTBscGQybFpWM2h1U1dwdmFWVnNUWGxPVkZscFRFTktjbUZYVVdsUGFVcDVWV3hPY2xWRVFsZE9iWGN6Wld3NVRsUlhUbVpVZWxKelZsVmFTbHBIUmxOWk0xbDVZWHBzVTFKRlJUTmpWMVpNVmpGV1JHUXpSa1pKYmpFNVRFTktjRnBJUVdsUGFVcHZaRWhTZDJONmIzWk1NMDR3WTNrMU0yRlhOV3RpTTJSNlRHMDFiR1JET1dwYVIwMHhXVmRXYkZsVE1IaE9WMDB4VEZSU2ExbHFXWFJaYWtFelQxTXhiVmt5Um10YVJFa3hUVVJXYTFsNlNYWkphWGRwWWpKc2EwbHFiMmxOYlUwelQxZE9hVTU2WjNSTk1rNXFXVk13TUUweVZtbE1WMHBzV1dwSmRGbHFRVFZPYlZacFQxUkpNRTV0UlRSSmFYZHBZMjFuYVU5cFNYZE1hMFpUVTFWRk1tTlVaRWRsYlU1V1ZtNVNjazF1Wkd4YWJtd3dUVWQ0UTFwSVpHNWlNSEJaWTJ4T1prMXRkRmRSYlRsSVdqQnNlRkV5TVRaU1J6aDNWVEJHUWxGVE5HbE1RMHA2WkZkSmFVOXBTWGxaZW1NMVdUSkpNMDlETUhwWk1rNW9URlJSZWxwWFNYUlpiVlpwVFdreGFVMUVhekphVjBrMVRXcFJNbGxVWjJsTVEwb3dZVmRSYVU5cFNtcGFSMDB4V1ZkV2JGbFRNSGhPVjAweFRGUlNhMWxxV1hSWmFrRXpUMU14YlZreVJtdGFSRWt4VFVSV2ExbDZTV2xNUTBveFpFZHJhVTlwU2s1YWF6QTFVMVpDVlZkVlZrWmFWVkpKWkVVNGQyTldUbkJsYTBaQ1NXbDNhV1J0Vm5sSmFtOXBUVk0wZDBsdU1DNU9ObEZ4TWsxamMwdDFhVFpVZG5KTFp6QlVhWFpwZDFKNFgwdEthMUpWWW1oWE1ETkVMWGxQZVUxeVMweE1jMWxCVlc5R01XZHRSMHRrUlMxakxWTktZVGRzVEcxVU1tdFVaWGRWU2pSRFltRkZZbmxCZG1OSlZYQk1lVkpOWldWVFFTMTBhUzFvYWtkRlNFeHVTM2N6TWxONWFtWldkWE55YUdNelZHZHVWM1pYYTFCamIxODNSSFpSWWpoWWRuZzBlRGxwUWs5eFNHOVVRazEzVTJGSlpuSlVSbXQ1T0ZGRE9YcElTbVJuYzFoTFVFeDZNV3B6TWxCd1J5MXROVlZZVW1kRk5YSnRUVlpEVEVKZk1saEpiVGR3VGpsdlUyODVTbGRDYUdweU0yUmhNREZmVEVWb2VubERWMFJYU2xZM2JYWnBUbkYwU1MxUlVqRXdOMHBQTVZsWE4wVTJOeTFIUXkxaFltbDNSa3BXZWtsM1ZYaExOVTlNYzNCT04ydHBObmswTkdORlJIb3RZVXhzY1RnelNqWnhNM2ROVDJNemJsQmtka2RHT1cxT1ZVUkhkREJSVVZSZmVtMURNbEJ0TVZoVFZFRWlMQ0owY3lJNk1UWTROVEV5T1RJNE55d2lZaUk2SWs1c2NEbHRYMUZYUVc1T04xVmhjVk5TY2tKQmVYVlBkRTVSYlZWWFJtb3plSFZ1ZUZoSFlWSkxhakFpTENKdWIyNWpaU0k2SW1WalpEVXhOVEUxWmpZME1EUTBPV1ZoWmpFek5UVTBPVGcxWWpBNE9EYzBJaXdpWTI1bUlqcDdJbXAzYXlJNmV5SnJhV1FpT2lJM2RWOHljMjFFU201VE1WcGFUemhEUkZONWRVWk9XVTVZUjNNdGFXbEZhVVpITURabVJHeEtZM2hqSWl3aVpTSTZJa0ZSUVVJaUxDSnJkSGtpT2lKU1UwRWlMQ0p1SWpvaWRFcGlia3BQZGpGWFRIaG1iRFkxUjFFMU1tUXhiemRyU3kxM2NYSklVSEZUVkZFd1duY3RUVEpYVGxaTWNtUktSVlpoU2tRMGVXWlNkVVJ2V1ZKQ1RrTk5URUp5T1U5Q2FsaEtRV05pWnpKMk5FZHlSVWxsWlRBMWFYQlJNak4zTm5BM2RtVXpNRXMxWkVsR1NXNXdabkpTVm1OMk5YWjFZbXBOZWxnMkxUQlhlV3BCWkhKWk5HNDFiRlp2VDI0MFFtcEZXaTAyWVc1Q2RtUlNaV1JVU25oR1MyaFRhbWt0V0d0aGNtTm5aREExWm1KemVqbFRXVkpUVEVOV1ptMUtlRTA1TkdkVU9IZEthR0ZMTWtRMlkySlFjekpoTUZaUVNreHFYMVpFUkRKaVdHSmFUR05EZVhOSmVtRTFlVGhpUkhvMVMzQlhRMmRaTFZOblVWaEpNVVp2TkMxU09HWlBhSGRtYTFWbVJXVlViWGRJWkhKMlgydFFTazVTTlVGcWNqaEtOekJzUVhWNGFEVkNaa2M1V25BeE0yaHBURzl6Y1RoSGIwWkRkRXQ2Ykdob2JIRTJVVEJ0UTNKeWVHZGpUREZPZUZOUkluMTlmUS5zaWktaDNybUFMdkxoc2l6eDVPRWoxVnFXMjF3Z2tZOFEyelNLcTFnUlp3OTN4dVZ4U1Ytd21DYVYwZ3VZZFhvMDg0NFJUcU5KQVJ4OXRWekFQcFU1TFR4Q1dYSTFTMFFxUlZFQzFHSFRfUzBvZG9NU2lTZmxxV0hBMzJ6S2I0ZjBab2liVWJ5OWdmbnpZcVppTHFWNDNkaW1QRHlwVy1uRV9IVk5VWUZfemVlalU1OWt1ZWU2b3JoU2ptM3loc3cyWVhkWG5tZDk0OEdid1dJUlF6N0VyQUtNVEItNWgxdVNpYXdxV1lVMFc0WGhVcXdhR2NGN1ZzeWluZldYQ2cyblAyNjBERWNLTFdZZEtZb0tzUjl4YjE3bDVncWlGdHBKb0ZFMkMxOG4tc0tkYmVYUk1kZkp2UzlUb3J5dGxGcmpwZmN2SjhrbTBBNHNYWmZCUTd5S2cifQ.\u0022,\u0022correlationId\u0022:\u0022b29f71d7-b778-4ee7-bce0-0f6837d462af\u0022}",
+ "messageId": "e9502be2d0ad40eba8125a9616efa72e",
"partitionKey": null,
"sessionId": null,
"replyToSessionId": null,
@@ -11,13 +11,13 @@
"contentType": null,
"replyTo": null,
"applicationProperties": {
- "Diagnostic-Id": "00-ebc6f1111019886fdd529cbf199a461d-143bc4e0c2b1e34b-00"
+ "Diagnostic-Id": "00-5d7c0122784207fc451776a3fa5c1080-2538fa0444e58ee9-00"
},
"enqueuedTime": "0001-01-01T00:00:00+00:00"
},
{
- "body": "[{\u0022id\u0022:\u0022Sanitized\u0022,\u0022source\u0022:\u0022calling/callConnections/401f3500-0632-4aed-8aa2-e1bd0116d7e3\u0022,\u0022type\u0022:\u0022Microsoft.Communication.CallConnected\u0022,\u0022data\u0022:{\u0022callConnectionId\u0022:\u0022401f3500-0632-4aed-8aa2-e1bd0116d7e3\u0022,\u0022serverCallId\u0022:\u0022aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDIuY29udi5za3lwZS5jb20vY29udi9iekNWZmdhZUJFVzJuc1JvYmlwOWZ3P2k9MSZlPTYzODE5Mjc1MTQyOTUxMDU4NA==\u0022,\u0022correlationId\u0022:\u0022e8fabd46-2673-403c-9d93-44d05cd6f4e6\u0022},\u0022time\u0022:\u00222023-05-10T18:27:41.5837754\\u002B00:00\u0022,\u0022specversion\u0022:\u00221.0\u0022,\u0022datacontenttype\u0022:\u0022application/json\u0022,\u0022subject\u0022:\u0022calling/callConnections/401f3500-0632-4aed-8aa2-e1bd0116d7e3\u0022}]",
- "messageId": "e261d96ea4b64924981e261af7948e56",
+ "body": "[{\u0022id\u0022:\u0022Sanitized\u0022,\u0022source\u0022:\u0022calling/callConnections/411f1200-b763-4317-b5bc-9b58fb43507f\u0022,\u0022type\u0022:\u0022Microsoft.Communication.CallConnected\u0022,\u0022data\u0022:{\u0022callConnectionId\u0022:\u0022411f1200-b763-4317-b5bc-9b58fb43507f\u0022,\u0022serverCallId\u0022:\u0022aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC94LWNvbnYtZXVuby0wMS5jb252LnNreXBlLmNvbS9jb252L3NlYUZjT1o3QkVPcHNLekFkRUU2VEE/aT0wJmU9NjM4MjA2NTQ3NTE3MzQxMDc0\u0022,\u0022correlationId\u0022:\u0022b29f71d7-b778-4ee7-bce0-0f6837d462af\u0022},\u0022time\u0022:\u00222023-05-26T19:28:10.5807105\\u002B00:00\u0022,\u0022specversion\u0022:\u00221.0\u0022,\u0022datacontenttype\u0022:\u0022application/json\u0022,\u0022subject\u0022:\u0022calling/callConnections/411f1200-b763-4317-b5bc-9b58fb43507f\u0022}]",
+ "messageId": "dd2bec75226249f3b4779ca8a5abbc14",
"partitionKey": null,
"sessionId": null,
"replyToSessionId": null,
@@ -26,13 +26,13 @@
"contentType": null,
"replyTo": null,
"applicationProperties": {
- "Diagnostic-Id": "00-cb8c248960fac76b39235dc9fc9358a9-06b0e8f10948efe3-00"
+ "Diagnostic-Id": "00-ad8d5b248ba7e69867fb71629bf769a7-4f8733f2291b3e8f-00"
},
"enqueuedTime": "0001-01-01T00:00:00+00:00"
},
{
- "body": "[{\u0022id\u0022:\u0022Sanitized\u0022,\u0022source\u0022:\u0022calling/callConnections/401f3500-0632-4aed-8aa2-e1bd0116d7e3\u0022,\u0022type\u0022:\u0022Microsoft.Communication.ParticipantsUpdated\u0022,\u0022data\u0022:{\u0022participants\u0022:[{\u0022identifier\u0022:{\u0022rawId\u0022:\u0022Sanitized\u0022,\u0022kind\u0022:\u0022communicationUser\u0022,\u0022communicationUser\u0022:{\u0022id\u0022:\u0022Sanitized\u0022}},\u0022isMuted\u0022:false},{\u0022identifier\u0022:{\u0022rawId\u0022:\u0022Sanitized\u0022,\u0022kind\u0022:\u0022communicationUser\u0022,\u0022communicationUser\u0022:{\u0022id\u0022:\u0022Sanitized\u0022}},\u0022isMuted\u0022:false}],\u0022sequenceNumber\u0022:1,\u0022callConnectionId\u0022:\u0022401f3500-0632-4aed-8aa2-e1bd0116d7e3\u0022,\u0022serverCallId\u0022:\u0022aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDIuY29udi5za3lwZS5jb20vY29udi9iekNWZmdhZUJFVzJuc1JvYmlwOWZ3P2k9MSZlPTYzODE5Mjc1MTQyOTUxMDU4NA==\u0022,\u0022correlationId\u0022:\u0022e8fabd46-2673-403c-9d93-44d05cd6f4e6\u0022},\u0022time\u0022:\u00222023-05-10T18:27:41.5837754\\u002B00:00\u0022,\u0022specversion\u0022:\u00221.0\u0022,\u0022datacontenttype\u0022:\u0022application/json\u0022,\u0022subject\u0022:\u0022calling/callConnections/401f3500-0632-4aed-8aa2-e1bd0116d7e3\u0022}]",
- "messageId": "8baf26cda6f74acb979dd97a7f74bb09",
+ "body": "[{\u0022id\u0022:\u0022Sanitized\u0022,\u0022source\u0022:\u0022calling/callConnections/411f1200-b763-4317-b5bc-9b58fb43507f\u0022,\u0022type\u0022:\u0022Microsoft.Communication.ParticipantsUpdated\u0022,\u0022data\u0022:{\u0022participants\u0022:[{\u0022identifier\u0022:{\u0022rawId\u0022:\u0022Sanitized\u0022,\u0022kind\u0022:\u0022communicationUser\u0022,\u0022communicationUser\u0022:{\u0022id\u0022:\u0022Sanitized\u0022}},\u0022isMuted\u0022:false},{\u0022identifier\u0022:{\u0022rawId\u0022:\u0022Sanitized\u0022,\u0022kind\u0022:\u0022communicationUser\u0022,\u0022communicationUser\u0022:{\u0022id\u0022:\u0022Sanitized\u0022}},\u0022isMuted\u0022:false}],\u0022sequenceNumber\u0022:1,\u0022callConnectionId\u0022:\u0022411f1200-b763-4317-b5bc-9b58fb43507f\u0022,\u0022serverCallId\u0022:\u0022aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC94LWNvbnYtZXVuby0wMS5jb252LnNreXBlLmNvbS9jb252L3NlYUZjT1o3QkVPcHNLekFkRUU2VEE/aT0wJmU9NjM4MjA2NTQ3NTE3MzQxMDc0\u0022,\u0022correlationId\u0022:\u0022b29f71d7-b778-4ee7-bce0-0f6837d462af\u0022},\u0022time\u0022:\u00222023-05-26T19:28:10.5807105\\u002B00:00\u0022,\u0022specversion\u0022:\u00221.0\u0022,\u0022datacontenttype\u0022:\u0022application/json\u0022,\u0022subject\u0022:\u0022calling/callConnections/411f1200-b763-4317-b5bc-9b58fb43507f\u0022}]",
+ "messageId": "81d2110e8a3e4d82bddbc03026bc7791",
"partitionKey": null,
"sessionId": null,
"replyToSessionId": null,
@@ -41,13 +41,13 @@
"contentType": null,
"replyTo": null,
"applicationProperties": {
- "Diagnostic-Id": "00-11f70a1003900c74620b3f99f642542c-0c27311de93b4c55-00"
+ "Diagnostic-Id": "00-18bfac2076f3853d95db4e355a191bb6-4ba194c700574bd3-00"
},
"enqueuedTime": "0001-01-01T00:00:00+00:00"
},
{
- "body": "[{\u0022id\u0022:\u0022Sanitized\u0022,\u0022source\u0022:\u0022calling/callConnections/401f3500-0632-4aed-8aa2-e1bd0116d7e3\u0022,\u0022type\u0022:\u0022Microsoft.Communication.CallDisconnected\u0022,\u0022data\u0022:{\u0022callConnectionId\u0022:\u0022401f3500-0632-4aed-8aa2-e1bd0116d7e3\u0022,\u0022serverCallId\u0022:\u0022aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDIuY29udi5za3lwZS5jb20vY29udi9iekNWZmdhZUJFVzJuc1JvYmlwOWZ3P2k9MSZlPTYzODE5Mjc1MTQyOTUxMDU4NA==\u0022,\u0022correlationId\u0022:\u0022e8fabd46-2673-403c-9d93-44d05cd6f4e6\u0022},\u0022time\u0022:\u00222023-05-10T18:27:42.6306614\\u002B00:00\u0022,\u0022specversion\u0022:\u00221.0\u0022,\u0022datacontenttype\u0022:\u0022application/json\u0022,\u0022subject\u0022:\u0022calling/callConnections/401f3500-0632-4aed-8aa2-e1bd0116d7e3\u0022}]",
- "messageId": "c24140908ac94028ac858ff179ced625",
+ "body": "[{\u0022id\u0022:\u0022Sanitized\u0022,\u0022source\u0022:\u0022calling/callConnections/411f1200-b763-4317-b5bc-9b58fb43507f\u0022,\u0022type\u0022:\u0022Microsoft.Communication.CallDisconnected\u0022,\u0022data\u0022:{\u0022callConnectionId\u0022:\u0022411f1200-b763-4317-b5bc-9b58fb43507f\u0022,\u0022serverCallId\u0022:\u0022aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC94LWNvbnYtZXVuby0wMS5jb252LnNreXBlLmNvbS9jb252L3NlYUZjT1o3QkVPcHNLekFkRUU2VEE/aT0wJmU9NjM4MjA2NTQ3NTE3MzQxMDc0\u0022,\u0022correlationId\u0022:\u0022b29f71d7-b778-4ee7-bce0-0f6837d462af\u0022},\u0022time\u0022:\u00222023-05-26T19:28:11.706554\\u002B00:00\u0022,\u0022specversion\u0022:\u00221.0\u0022,\u0022datacontenttype\u0022:\u0022application/json\u0022,\u0022subject\u0022:\u0022calling/callConnections/411f1200-b763-4317-b5bc-9b58fb43507f\u0022}]",
+ "messageId": "a49afd7ba9cf49c9b3a4a2716fbb9e96",
"partitionKey": null,
"sessionId": null,
"replyToSessionId": null,
@@ -56,7 +56,7 @@
"contentType": null,
"replyTo": null,
"applicationProperties": {
- "Diagnostic-Id": "00-3049050651943be549ad3db8a636e7de-069a5e66e208eb64-00"
+ "Diagnostic-Id": "00-e4f579d1c2275a88cf0fee0be970ccbc-5b8d6d17c25c1746-00"
},
"enqueuedTime": "0001-01-01T00:00:00+00:00"
}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/tests/SessionRecordedEvents/CallAutomationClientAutomatedLiveTests/CreateCallToACSGetCallAndHangUpCallTestAsync.json b/sdk/communication/Azure.Communication.CallAutomation/tests/SessionRecordedEvents/CallAutomationClientAutomatedLiveTests/CreateCallToACSGetCallAndHangUpCallTestAsync.json
index 05f9f46074bc0..d1b17f1df0697 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/tests/SessionRecordedEvents/CallAutomationClientAutomatedLiveTests/CreateCallToACSGetCallAndHangUpCallTestAsync.json
+++ b/sdk/communication/Azure.Communication.CallAutomation/tests/SessionRecordedEvents/CallAutomationClientAutomatedLiveTests/CreateCallToACSGetCallAndHangUpCallTestAsync.json
@@ -1,8 +1,8 @@
{
"entries": [
{
- "body": "{\u0022to\u0022:{\u0022kind\u0022:\u0022communicationUser\u0022,\u0022rawId\u0022:\u0022Sanitized\u0022,\u0022communicationUser\u0022:{\u0022id\u0022:\u0022Sanitized\u0022}},\u0022from\u0022:{\u0022kind\u0022:\u0022communicationUser\u0022,\u0022rawId\u0022:\u0022Sanitized\u0022,\u0022communicationUser\u0022:{\u0022id\u0022:\u0022Sanitized\u0022}},\u0022serverCallId\u0022:\u0022aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDIuY29udi5za3lwZS5jb20vY29udi92NHpXZ25YekNrQ1FVaXZIWkd0a1d3P2k9MTkmZT02MzgxOTI3NDY3NzYzOTI1MTk=\u0022,\u0022callerDisplayName\u0022:\u0022\u0022,\u0022incomingCallContext\u0022:\u0022eyJhbGciOiJub25lIiwidHlwIjoiSldUIn0.eyJjYyI6Ikg0c0lBQUFBQUFBQUNzMVlhMi9iUmhiOUs0UVc2SWQxUnB3WEh6T0FzSkJsMlhFVHU0NGZTUnNZYXd5SFE0b1JSUklrOVhLYS83NTNLTm1XbzJ6cWR0dEZHWURXdk00NTkzTHV6TDM1M05NcXo4L0xOa3N5cmRxc0xIcnljeStweTVuOW04VTkyUXVsMG8wa1Vhd1VqUVFTSGc0UTl6aEZVZVJ6cElLSVVvMnhDbU4raDd1SGhFajVPa1lZeHo1aU1STW9ORXpoR05va0NIdXZlbkhXVkxsYW42dVpBWHpvTUVWY2xWblJubG8rTFNKQmZFYVFvRDVEWERHRmxDQUpvbDRRNHpERXd0Y1UxdVNxU09jcU5YWk5NYy96VjcxSzFXMm1zMHB0Z1Zoa3RGSlJnRVFzSXNSWkhDUEZxRVlpb1N4TUlrOHp4Z0Zva3NXeEFiTVRsVGZtU2N2MXVyTHFHbE12VEQyc0twaFoxV1ZsNm5aOXFOSU41NWRYdmJiOE14d0Zobjd0cU9BM0hiVUJ3UmpXNzcwZW5oYzVLdlk5N2hHQ1VSQ0EyM2xNQ1FwRFRsQmt2RVNvaEdyS2tuMUgxYVlwNTdYdWNIc3ZzZnEvZUREUGltbGpuYWphVnVrSmdFM2F0bXFrNjZvcTZ5ZDVsazVhV0xkYTk1c3BmSk8rTG1kMnhGMVFWMWV1MW1qZUxBM0N0Sy8xemd5dDNRVnhrN0tlbXRqbDFBK29GZ3laUUlFNlRRVlNDWThSVGFJNENzRTY2Z3VYQm01R1hNYUZ1eEh5cjJ4QVFQTE14SmthRnNCUjI4MnBRZGRNYlV4SndRWE4zMER2ZzVTdDR0cDhNcnI5RytqYUNObXFtc2ZWZGEyS3BpcHJxdzJhb015amZVSjRuM2lpRHlFdkdROUN0L2RsNi9SUldiU21nTW1mZTNyemN4dVRxcXJ5N1dubE5yR056Q2d2SXhoWURQQnRmVnVVQStRUTZ2a3NjTEJ6ZXU2Y1huQm9CMzBNLzRpZDBBd2FjQmNzdHcwOTJFN2h1QitFZllKeG4xSm1SNkxCNkZwQ3UzdHNSenZBVHZkak5sRHpPQ3NkajNMbU81ZlhGKzd3L1lWRE1IY0V2SmxEQ0hGSUNPeWhJd0xvZ1pidERFRUcvajZuR3RTdHJsRGRaUGRtcDUxRThwL09DczFBTm9TeUF4NXdHamdNWk54TW5Ocm9oZjJ4bWI1Q1RaWVdDcUlxL2Q2cUoyeHBqUWcyN1V3Yk5FOXFsY28wK09YNnFhOWF4akk1ZTNNelA2QjBuVSt1VC96czV1QWRTVTNwRDNkVXp1YXJUVXVySXM1aTFSb0psanMzUnhjT0pRd0gyT2VNUExkNTY4SjJEZExxSkY4NXRZcmpHbHpXcHlTRTd4VmdwN1piWmpOdkg1M3VvSHNDUEx5UEhyd1FQZmdhbllKMmE1YlNMVEJRd1BSeDhEVURGOFNqTDJEbzV1MHowTCtZQWJaZDV5R0loNUFLVEFMUGVRaTYwRkl3QjRKT2RPaTFnYnRtaS81Y3djNFhjTTZ1Ynk3UFQ0OWdlelBDT053VEFjemd6T1ArWm1zL0o2ZFA1S0h3ZmZvL2tRZVA1RFRnT01Ud3BqNWhvVThaMnpNY1FyNXpiYVdhQmdUd2tBQS85cDhMQUQxQ0VQd3lCWmdKYjUrRi9oOVl2SjJOYUVtOFVEREErN05KNkY5Rmtxdkk1SEttc2dKMTUrYW1kNWJGa2p3Y1d0SFNxRHd0NjZ5ZHpHUzAxRTZsOU5TMGxjcHFaMmtpT0Y2MmV1dDExWllRK01QeDFkM283STdROE83MTJYQjBkL1Y2U081QzdHUUZISDFHcHUvb21pOHpXdm5tZnZMUng1OE9EdHpGOHVUOTlkSEo5Q3BUczJOQ2w4SHgxUDJWL3B1Ulg4bURrQzA4L1MzNHF0U0x3K1RnVXp5ZWZ5Ukg2WGg4c0JoOVBCNmZuWnh6TWcyblUwYlc2WEd6VWgzOHd3bFp6VlFGOXdsM3JrN2Z2bkdKdjcxVkhvZUVjd0xCNUlaZjk5dEE2WmJzajhBOWMzVjZPVDdmUlV0bTdXWWt5dG9hdnV4Z253bk9TYUFTTzRDYlJhR2ppc0tzb2tGUlBwdVBuWXZSMmMwK2YyajdoL3Y5Y09sZGpvKytaUWxzWkpPYmFsSVdCcGtGM09sN0dtQUtSc1Ivdm80NW8vTnZtUi9hL20vWVI3RWQ0RThycWphYndYbjd3QVMzbzZtckdsSnAyVXdVMUJhK0EvbUhONUpIeDNJMGx2eFlIbnJTRDZVL2xtUWtENFVjQlRJY3kwTW1LWlhEUUE0UHdWbVNITWxnTEptUTNsZ2VjZWtKZVV5azhLVEFFaDlKNGx2QVl5NTlJZG4ybWpTcnR0UG4yTnhNM3NLelhDNzdtdzNlTCt2MDl0YXNJRU1HclVYYjNONkNPV2dTMTdEcTlsWkZEYkszTjdLV1BFTmpUMmlQaWR0M2dCTFZ0SGNSeFAweWk5dkpYV0pNSEVHdy9RUHFISnNUM2JISFJLS3BOWUtjTFlXTDFoWVc5bVhISHJMaXR5YnRrbjlQS2MvWHpFTStuQktJR3dWcG9RazQ0dFJFeHZnYUxuM1BGaThOMUpwZDF2YVQxdk1hbko4K0ZoT0ZXZjZVSkRiRjdqb2dCWVFFOFkxWjIrUnZtNnQxcmQ3YjRkblNWTFAycWdsV2E2aFhKcXYzTjlWeU1BQjhxR25neElBNUI0bFozZGZWcC9TWGs0Tm9Hbi80K2NmVmovd2R6QUhZR29SRHdtUlZYR3lLa2N4MDFVZldYRzZIaG5sZUxnMFkxdFp6OHdYV1FQWnBmZE5KUHkwV1dmdFlLTytPMkhTMUx2TzhxeE4rVitvTklFL0pOelIyMDI5b3VndCsveUV0ZnI0ZlRVZnZickxGNjQ4bjdmVEQwdWJWNGdjejhCbGNPbkFWK2tIZ00wRTlJc0FYV1hNMno5dnNBaW85OE5yV3lWbHpXSmNxMXZEOW4vd2NtMmllN3FiYThQOEJtNi9xWVc2Z1ZrWW1EQTNpZ1FjVmVhUVYwa2tjZWNLUHVCOXFXd2Y5a1dJU2VOTzZuRmNkN3dwNHUxcndQeFY5QTRhTkVBQUEiLCJzaHJUb2tlbiI6ImV5SmhiR2NpT2lKU1V6STFOaUlzSW5SNWNDSTZJbkJ2Y0NKOS5leUpoZENJNkltVjVTakJsV0VGcFQybEtTMVl4VVdsTVEwcG9Za2RqYVU5cFNsTlZla2t4VG1sSmMwbHVaekZrUTBrMlNXa3hURk5VVGxKUFZ6VlBWV3BrYVZWdE9XMWxSekZzVjIwNVdXTlhTa2xYYTJSc1pIbEpjMGx0ZEhCYVEwazJTV2t4VEZOVVRsSlBWelZQVldwa2FWVnRPVzFsUnpGc1YyMDVXV05YU2tsWGEyUnNaSGxLT1M1bGVVcG9aRmRSYVU5cFNtbE9SRlpzVFVScmQxbFRNV3RaVjBwdFRGUlJlRTVFVlhSWlZFRXlUME13ZDA5SFJUUk5hbXhwVFhwQ2JFOUhVV2xNUTBwd1l6Tk5hVTlwU205a1NGSjNZM3B2ZGt3elRqQmplVFV6WVZjMWEySXpaSHBNYlRWc1pFTTVhbHBIVFRGWlYxWnNXVk13ZUU1WFRURk1WRkpyV1dwWmRGbHFRVE5QVXpGdFdUSkdhMXBFU1RGTlJGWnJXWHBKZGtscGQybGhWMFl3U1dwdmVFNXFaM3BPZWswMVQxUkZlRXhEU25WWmJWbHBUMnBGTWs5RVRUTk5lbXMxVFZSRmMwbHRWalJqUTBrMlRWUlpORTE2WjNsT2FsbDRUVk4zYVZsWGJIWkphbTlwVWxSS1lWb3hiRkJhTVdNeVYwaGFUbVJGV2taaGFsRjRWVzV3VkZsV1VrdFhhemxPV1RCR1FsQlVNR2xNUTBwb1kwaENjRnBEU1RaSmJVVjZXVlJOZWxsNlNtaE1WRWsxVDBkVmRFNUVSbXROVXpBMVRWUk5NMHhYUlRGT1JGbDVUVzFWTWs5RVJtcFplVWx6U1cxR2QyTkhiR3RaVjA1NVNXcHZhVTFwU1hOSmJVNTFXbWxKTm1WNVNuRmtNbk5wVDI1emFXRXpValZKYW05cFZXeE9Ra2xwZDJsaWFVazJTV3BTUWxkSVVtOVdNMlJRV1ZVeFNHVkZOWHBqVlRsWVYyMUtaazFYYkdwU1ZWcExWVWhPWms1RVpGSmFWM2Q0VmxSV2MxWnJjRTFPYW1SNFRUTlNVVTB5V2toTlJGRjBWbE14U1dGc1dtbGxibEpoWW0xYWFXTXlOREJpYlVWNVZteHdRMUpJV2xwaWExcFJVbGhzWmxadVZucGxWV1JaVVdzNVNHRXhUbFZUUkdSV1VWVjBiR1ZIU25sTmJHeGhZak5PTlZSck1ETmpNazR4VFRKSmRHUXlUbnBTVlRVMVZrWnNTbU5xWnpKaVJYQnpZakp3YlZRd1VtRlRibVJvWVZjeGVFMUZUVFZhV0dSdlRtdGFUazVHUWtkU2JXaEVUVVpLVjFkdGNGSlZiRnBRVFVkR1FtTkhSVEZXU0ZJeVZGWlNUbUV5V21aaldGRTBVek5KTWxneFJsTlphMUl3V25wb2FWSnRaRmxTTTJoRVVXNW9VRnByTlZGa1ZGSk5VbTF3YlZkdFNsQk9hMDVNWlVkbmQweFlRbEpOUmxwbVRWYzFVMWRxVWtaV00wa3hZVlZvZFZGcVpIWlNWbVI1Vmxkc1RGWnNXa3RWYkRsMVRUSTVRMU15WkVsU2VtUlRVbmt4TmxkVk9YQlhWVnA1VkZkS1JsZFdWa3hSTWtZMlVXdHNhVlV6VGpOaWFsWldZVzVDYWxKNlRsVk5XSEJtWlcxT2QyUXdWazFZTTFwSlZHdGFiR015Y0hOWFZtaHpZMjVDZFZaVk9URmtXRXAyVkVoV1JsbFhNVEpUVlZwV1ZWTkpjMGx0VldsUGFVcENWVlZHUTBscGQybFpWM2h1U1dwdmFWVnNUWGxPVkZscFRFTktjbUZYVVdsUGFVcFhUVEU1UTJGWGFFdFdSV3d5VlRKUmVWWXpXWFJWUmxKd1V6QTFOVmR0T1dGV2JXaGFUbXRPYjJGR1dsWlJWRlpPVVd4R1lWcHVZM2RKYmpFNVRFTktjRnBJUVdsUGFVcHZaRWhTZDJONmIzWk1NMDR3WTNrMU0yRlhOV3RpTTJSNlRHMDFiR1JET1dwYVIwMHhXVmRXYkZsVE1IaE9WMDB4VEZSU2ExbHFXWFJaYWtFelQxTXhiVmt5Um10YVJFa3hUVVJXYTFsNlNYWkphWGRwWWpKc2EwbHFiMmxOYlUwelQxZE9hVTU2WjNSTk1rNXFXVk13TUUweVZtbE1WMHBzV1dwSmRGbHFRVFZPYlZacFQxUkpNRTV0UlRSSmFYZHBZMjFuYVU5cFNYZE1hMFpUVTFWRk1tTlVaRWRsYlU1V1ZtNVNjazF1Wkd4YWJtd3dUVWQ0UTFwSVpHNWlNSEJaWTJ4T1prMXRkRmRSYlRsSVdqQnNlRkV5TVRaU1J6aDNWVEJHUWxGVE5HbE1RMHA2WkZkSmFVOXBTWGxaZW1NMVdUSkpNMDlETUhwWk1rNW9URlJSZWxwWFNYUlpiVlpwVFdreGFVMUVhekphVjBrMVRXcFJNbGxVWjJsTVEwb3dZVmRSYVU5cFNtcGFSMDB4V1ZkV2JGbFRNSGhPVjAweFRGUlNhMWxxV1hSWmFrRXpUMU14YlZreVJtdGFSRWt4VFVSV2ExbDZTV2xNUTBveFpFZHJhVTlwU1ROU2EzZ3lUak5TUWxSc1ZuSlVNREZ6WkZVeGRXRlliRXRrVlVaQ1NXbDNhV1J0Vm5sSmFtOXBUVk0wZDBsdU1DNW1TMnBVVUU1ZlptWkVhMFJ1TW1oVFlXSldPWEpGUlRsMWR6UldPVW8yVVhVM2QzbFBiRzh4Y2kxbGRVczNNM1pHUld0eFgwMXpYMnRSYXpKTWJYcHlSalpaVFdGaFJERjBiMms0V0hkVFNsTnNhVGN3VWxoQ1VFcE1VMGxGVEZKNWVqTTFjalozVTJORFRIWkVMV3BaYjNCZk1GRTFjVzlaYTJGeFVIRmlVWE5rYURCUmEwbDRaMkowY1hOb2NUQkJUQzFXTWtsWGFuUkJjbWR2U210dmVtMTVVbE5UZEVndFkxWnZWekUxV21kNFUwNXBXRTV6U0RaNlYxcDZiRFJFTXpJNFMzVkxZMHhyUW0xU2NtMVpWemxNVUhCNFRVMUxMWHAyYjI5a1JWUXdWbTVLZFRZM05ubDRZbE4yYm00MlEwZEZNWHBhWkZoU1dqVkNZbWhCYmxkeFZqZ3hNbXBZVm5aUWIwVnhiR3BYYVhCb09GRkJlbkZpUjJwc1REWmllVEEzYTJOU1NESldZbkpKTkd0QlpHaE1WRFUxVm0weGJuVkdWelJzUVROWFFYVnFSamhCTTFSQlNEQmFOMGd3VUZSVVNuY2lMQ0owY3lJNk1UWTRNemMwTXpJM01Dd2lZaUk2SWs1MFJUSnlSRUpPVkZSc2RsOXphVXh2TTFkemMwdFRjMEp0TFZwcFVEQXpSMVo2UVhRMVlqZHVWamdpTENKdWIyNWpaU0k2SWpBM1pqaG1ZalkwT1dZd1pUUm1Nalk1WXpjeE1HSTBOMlU1T0dWbFpqSXdJaXdpWTI1bUlqcDdJbXAzYXlJNmV5SnJhV1FpT2lKalprTXhXVXBrU2twb2JuRmpTVzlNUTNsT01FbHhhSFI1Y1VOYVJrTTBhV1ZMT0dWNFEycFNWSGxySWl3aVpTSTZJa0ZSUVVJaUxDSnJkSGtpT2lKU1UwRWlMQ0p1SWpvaU5FRllkR2hYZDA5aFRVZDRUbk54VDFkYVlsOHhhV05GUmtwUWMxODBOMUZsYkRGVk5XeFdTa3cyTjNFemRGQXpaa2N3TkMxVkxVaHFWbUo2ZEZwdVptSnpialJ1WVRKV1drSkVkbGx1UmxCRmVWOVdkWE41UjFoQ1QwZHJVMVJJTjFWQlMyVjRZbkl5V1ZwdmMzbE9UVGR6WTNVellpMTNZM05GVG5sVVdVbHlPRFpzU214dmFtWlBSRnBLZDJGcGJYRXdRemxsZDJnMlJrMDBVRVpHYUVNd1VsWmFhbEZTVms4d1lVRndZVFZVZEhaTlZFMXJabDl4ZERoTGNqWmZVVkppUkhSbk9HSkdaMWhIZUVOQ2VFOW1UbEIxTkV4R2FtWmFZazgyUTB0NGFEQXRjRkV3Vmw4eGJsSmFORVZYY2pWcFNHNUNOMjlGVjNKVmFVdFdWa3BTWDI0emIwSkxaMGhITjFKSExYcFpUMmxaUm5KTllrVlpWVXREWVhwQ1NXSlRjM2R1TlZWcWNHTkhNMVF4ZWw5NlkzQjNSVXhmZGtoT1JtVnphbXhaV0d4eWNHNVZUM1YxY205TWRVVmhiWFpKUmxWUkluMTlmUS5HXy1jR1RlNXF1WWNtclpybEExR29XOGh2YWpnYWtiLWxTXzNuMEdxNlpxcDU0T0djZ183cXJiT1RhMW54VXpOelhsdzFlQkZYajhRdkV0RldJazVfcHlPZ2NNYk9lUE9BYWVDbnN4T2VNVTV3SGNmVFgyMG9NblFNbkpsU2VhcDc2M2dodkZqSXgwNkFhMjdwa2RyWk1DNFBtNUt3OGI0Q3BMWGx5S1hkLWRjaVdDNjNuSHIwZHExV2NzUDMtUTB3dWxFMk5tZ1FYQUFCTlhwT0VvQjlRWlZ5SmZFRnQwd1JtUkRoaEF2Q2x4c2JFNkxMUjlDV0J6LW5HVUZ5b0lVRnpMZG00aGxQVnFQblJTblR4X0RFMjEzdjlfcFhrZHJDRjA3RVFQdnhtU1RtSlpjTEtudWR6SmxMQU1DWHNXcGxVVjA0Nms2V1VNX0RtZVNzMlJ5YVEifQ.\u0022,\u0022correlationId\u0022:\u00225504e9f2-e88e-4751-9bca-cfdb596b468c\u0022}",
- "messageId": "a89cffe7da0e41e49b1dc2597e8e387c",
+ "body": "{\u0022to\u0022:{\u0022kind\u0022:\u0022communicationUser\u0022,\u0022rawId\u0022:\u0022Sanitized\u0022,\u0022communicationUser\u0022:{\u0022id\u0022:\u0022Sanitized\u0022}},\u0022from\u0022:{\u0022kind\u0022:\u0022communicationUser\u0022,\u0022rawId\u0022:\u0022Sanitized\u0022,\u0022communicationUser\u0022:{\u0022id\u0022:\u0022Sanitized\u0022}},\u0022serverCallId\u0022:\u0022aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC94LWNvbnYtZXVuby0wMS5jb252LnNreXBlLmNvbS9jb252L19BWE1CZmZuMGtHZGJuRTBRMTRqdEE/aT0wJmU9NjM4MjA2NTQ3NTE3MzQxMDc0\u0022,\u0022callerDisplayName\u0022:\u0022\u0022,\u0022incomingCallContext\u0022:\u0022eyJhbGciOiJub25lIiwidHlwIjoiSldUIn0.eyJjYyI6Ikg0c0lBQUFBQUFBQUNzMVlhMi9qdUJYOUs0SUw5RU14dFBqUWd5UmdGSTZUekdSbjhwakVTYlpCVUlPaUtKc1RXZEpLY3V4a2R2NTdMLzFJbkhHNms3YTd4U3FBTFBLUzV4eGV2dTdOMTQ1V2VYNVN0amF6V3JXMkxEcnlheWVyeTZuN3RXbEhkcmhVdXBFa1NaV2lpVUFpeERFS3dvQ2lKSWtDcE9LRVVvMng0bWt3d3N1SGNKU0pTQ0VheEFvWnBtTVVDcVp3aXJFV1duZmVkVkxiVkxsNk9GRlRBL2hRWVlxMEttM1JIamsrbFNpaEU2cVJNUUZHUWNRSVVta1dvREJqY1d5d0NxbWgwQ2RYeFhpbXhzYjFLV1o1L3E1VHFicTEybFpxRFlSNWxuTE9HR0k0QWFCQVlNUU55MUNtTU1PVWlsZ3BCVUFUbTZZR2hwMnB2REhQV29ZUGxWUFhtUHJlMVAycWdwWlZYVmFtYmgvMjFIakYrZTFkcHkxL0QwZXhhTWRSeVE4ZHRRTEJHTDN5Mmp4dmNoVG5SQW1oQklyQ0xBT1BKeHJ4MkFTSXBWSE1jSlNKT0dTN2pxcE5VODVxdmNUdHZHWFUvOGFEdVMzdUd1ZEUxYlpLVHdCczByWlZJMzFmVmJhYjVYWThhYUhmNHFIYjNNR2NkSFU1ZFJiL252cTY4aGRJdzBxWkZTWENwS3YxVmh1dC9YdmlaMlY5WjFLZkpZRkphYVNSU2loSFFaSXlsQWh1a0dJa2kya2FoanJLZkJyN2x2Z3NFUDVLeXQ5dHo2MjBxVW10NmhmTjNOUWdUbXRRTm5VTEIwU053UW5ObjBMeFJzeGFjMjIrR04zK0taU3RwS3gxemRKcVdLdWlxY3JhcVlNaWFDT3NHd2RkRXJFdXhVeXlJT1orNTl2YTc0T3lhRTBCYmI5MjlPcHp2VEZWVmVYckk4dHZVcmM5azd4TXdIRGZ3N2YxYlZIMmtFZERSanpzSFoxNFIyZUJSMmpjeGZCSG5MbnBOZUF0Nk93S3VyZHBFdkZ1Ukx1VWtDNFJ6Sm1TM21Bb3lYbzN1WXEyaDczbHg3U25acWt0dlVBd0Vuam53ek8vZjNYbUVSeDRBdDdNSTRSNGhBTTk5MFFNTlZCeWxSeDA0QitRcWw3ZDZnclZqWDAwVytVc2tYL3pGbWdLd21FL2UrQUJyNEVUUWFiTnhLdU52bmNmcStZTDFOaHhvV0JyalgrcjF6TzJkS01JVjJXckRacGx0UnJMK1dMdjhibXVtcWR5OFBQTjRWVjh2WDgyRnlmdmY1cmF5L0hEa2VIaXc1Yks2V3l4S21sVnBEWlZyWkV3ZE85eS84eWpoT0VZUndITXlzdEJyNTNZUG9DMk9zc1hYcTNTdEFhblFRTU9VeFo2dFZzeHEyYTc2SFFMUFJUT3hidm80ZHZRdysvUktXaDN3MUs2QlFZS1N5SEM4U3NNSktSdllZQm11d3owRDJhQWRiZjBFS0VocHdLVE9QUkMyaVVFTmgzblhSRjVzT2ZFRXJzMmNOOXNzRjhLMkpvQjczaDRlWDV5dE8vUkNDeVU4b2dFTEloQ2dmSE83TEQxN0N5NXVZZ2krajl4aDAvY2pFUUJ4NEdBTzBvUUVNRlcrM09iRy9iVzByT1ZhaG9RRUhBQy9EajZUa0NJc1FqZnJJQ0pYUmI2ZjJBSnQ5YWhJd2s1ZUFQLzdpVDBqeUxKVldKeU9WVzJRTXR6YzFVN3Rha2ttek1ybVJ1Vmo4dmF0cE9wVE9iYXE1UytNMjJsYk8zTlRRS255MXB2L1ZDMUplejcvc0hGYUhBOElwU1BQaHozQjZPTEQzMHk0dGl6Qlp4OFJzNkhOM3RYMlZ5UVQ4UGhXWmlwMDV0Q2ZZamI2djdqcElwL0tpZW5qL3pFdi9DVFgray9HZm1WYklTczRlbVA0TC9FNWZYcHJQaEhkWHlSMWJQSlFYN0g3bEwrMkFaSCt1NHEvV3o2cy8yMnNPUmdDYjg1SUt1cHF1QStDYnlMbzA4ZmZSS3RiNVVuay9EZXg1VDYvUHQ2ZDZNc3UreGE0SjY1T0RvL09ObEd5NmJ0eXBMWXRvYVo3ZTB5d1RFSlZHSUxjTldKZTZvb3pDTHBGZVdMOXRnN0d4eGY3dkp6VjkvZnJZZEw3L3hnLzdXUndFSTJ1YWttWldHUXVZY3JmVWNETk1HSVJDLzdNVzl3OHRyd3VhdC9aWHdVT3dPY0VSdEQxZG9wSExjYkpyZ2NUVjNWRUU3TFpnSlJlQmg1UVNCSkxNTjl1ZGVYZkNBSFZBNGllUmpML1VpS1VBcjRGbklnSk9YeVlOOTk5TEdNQnBMc3ljR2hEUGNrRzBqQlpFeGxuOGlBeWNOREtRYnlnRWphbDJSZjR2VWlNSXQycWM5enNabThoV2MrbjNkWEM3eGIxdVBiVzdPQUtCbTBGbTF6ZXd2RFFaTzBobDYzdHlwcGtMdThrUnZKQ3pUMmpQWVV0djBHVUthYWRwVEF2cC9idEoyTU1tUFNCRGJiWHlEWGNVSFJpRDNGRVUydEVVUnNZN2huWFhMaFhzNjJpWXMvbWZFeUFXQXh6MEk0ZzEzQ2xrQ3lGWVlvNFpEZ0NCV2JCUEtIU0tYQ0pUQU41SnZMb08xVTYxa056aDgvSlJTRm1aOW1tUXV5bHhVUUFVSjQrTkU4dU5odkhhd3RTeDFmVDZ5d29iMytaWEl6U0xMRjVlSG42OGR4cndmNGtOZkFpUUZ0UHB5ZkZzSDRRcDhPcXRsVmNUTzhIcjZmSHZlaERjRFdJQnppSmFmaWJKV1FXTFBNUUd4enZqYjE4N3ljR3hoWVc4L01OK2dEd2FmenpWTDZVWEZ2MjZka2VkdmlvdFc2elBObHB2QWZodDRBOHh4OFEyRTcvSWFpUCtyL2ZMeVhaUVcrZTU4bXhRSCtUSUl2YlIvaWF2eFgwNHNZcHpnS2d6Z2tNUXNJamwyMlpadmpXZDdhTTBqM3dHMXJMOXRtcnk1VnFtRUJQRHM2TmNsc3ZCMXF3ejhGVnRNSzF6cG1FVWFSQ1dCYU02MFFaeWFCZ0Q4bHNZb1VEaFBpVXFIL0pxTUUzbkZkenFvbDd3SjRsd25odndCMWNYdVBraEFBQUE9PSIsInNoclRva2VuIjoiZXlKaGJHY2lPaUpTVXpJMU5pSXNJblI1Y0NJNkluQnZjQ0o5LmV5SmhkQ0k2SW1WNVNqQmxXRUZwVDJsS1MxWXhVV2xNUTBwb1lrZGphVTlwU2xOVmVra3hUbWxKYzBsdVp6RmtRMGsyU1dreFRGTlVUbEpQVnpWUFZXcGthVlZ0T1cxbFJ6RnNWMjA1V1dOWFNrbFhhMlJzWkhsSmMwbHRkSEJhUTBrMlNXa3hURk5VVGxKUFZ6VlBWV3BrYVZWdE9XMWxSekZzVjIwNVdXTlhTa2xYYTJSc1pIbEtPUzVsZVVwb1pGZFJhVTlwU21sT1JGWnNUVVJyZDFsVE1XdFpWMHB0VEZSUmVFNUVWWFJaVkVFeVQwTXdkMDlIUlRSTmFteHBUWHBDYkU5SFVXbE1RMHB3WXpOTmFVOXBTbTlrU0ZKM1kzcHZka3d6VGpCamVUVXpZVmMxYTJJelpIcE1iVFZzWkVNNWFscEhUVEZaVjFac1dWTXdlRTVYVFRGTVZGSnJXV3BaZEZscVFUTlBVekZ0V1RKR2ExcEVTVEZOUkZacldYcEpka2xwZDJsaFYwWXdTV3B2ZUU1cVp6Rk5WRVUxVGxSWmVVeERTblZaYlZscFQycEZNazlFVlhoTlZHc3hUbXBKYzBsdFZqUmpRMGsyVFZSWk5FNVVTWGRPYWtreVRXbDNhVmxYYkhaSmFtOXBVbFJLWVZveGJFUmhXSEJyWkZWamVsVkhWbUZsYW1SWVkyazVkRlpUZEUxa01tTXpZbFZHTTFGVU1HbE1RMHBvWTBoQ2NGcERTVFpKYlVWNldWUk5lbGw2U21oTVZFazFUMGRWZEU1RVJtdE5VekExVFZSTk0weFhSVEZPUkZsNVRXMVZNazlFUm1wWmVVbHpTVzFHZDJOSGJHdFpWMDU1U1dwdmFVMXBTWE5KYlU1MVdtbEpObVY1U25Ga01uTnBUMjV6YVdFelVqVkphbTlwVld4T1FrbHBkMmxpYVVrMlNXNVNTMWx0TlV0VU0xbDRWakI0TkZwdGR6Sk9WV1JTVGxSS2EwMVhPRE5oTUhOMFpETkdlVk5HUW5oVk1WSlNUVVp3TTB4Vk1IbFdNRFZYVkVoS2ExTnJWbGRaVlhCRlRraHNiVlZ1VmtWaU1XeFRVV3MxUkZSVmVFTmphbXhRVVcxd1dWTnJSbXBaYldONVpHcFNTR05yVmtwYVYxVjNUbGRzZDFWVVNYcGtlbHAzVGpOYWJFMTZRa3hPVjFKS1VtdHNkV05IV25sVmJGcHFaR3BXTW1SWFNuRlVXSEJaVG1rd2QxWXpiSEZSVjFKNVYxUlNkVTVYZUZkaU1EbDFUa1ZLY1ZKV2IzUk9iVVoxVVc1YWExVnRWbXRXUlhBMFVtdDBiMVV5Y0hCTVZtaHlXVmhLYWxveVVYZE9WMXBwWXpOdk5WVXhiRk5WTUhoRVZtMWFkRk51YUU1UFZGSnVWa1JvTTFOdGFHaFRla3BGVG0xT2FWVklUWGxaVkVKWFZVVndUV0ZzT1ZkU1JWRjVXV3hvYVZkcmVHcFJNMng2VTFod2FFNVlhelJaYTFJMlRsVjBkMVl3VG01WFV6RlVXakZHV1ZOVVJrZGllbEYwVldwb2JWUXlhRE5hYlhSV1dtdFdiRlpITVROVFIxSjVaR3c1Y2xWRmNFOVZhbFpDWVc1Sk5GTnFZM2RpUlVZeFpVZG5NVkZ0V2toUFZuQjNUVlJPYjJGVmVIWmpNMFUwVWpJNVIxRXpVa3hsYlhodllVZDRlRTVzUlhkaVZVNTVZMjVvYmxrd2QzaFVibWhVVlZOSmMwbHRWV2xQYVVwQ1ZWVkdRMGxwZDJsWlYzaHVTV3B2YVZWc1RYbE9WRmxwVEVOS2NtRlhVV2xQYVVwNVZXeE9jbFZFUWxkT2JYY3paV3c1VGxSWFRtWlVlbEp6VmxWYVNscEhSbE5aTTFsNVlYcHNVMUpGUlROalYxWk1WakZXUkdRelJrWkpiakU1VEVOS2NGcElRV2xQYVVwdlpFaFNkMk42YjNaTU0wNHdZM2sxTTJGWE5XdGlNMlI2VEcwMWJHUkRPV3BhUjAweFdWZFdiRmxUTUhoT1YwMHhURlJTYTFscVdYUlpha0V6VDFNeGJWa3lSbXRhUkVreFRVUldhMWw2U1haSmFYZHBZakpzYTBscWIybE5iVTB6VDFkT2FVNTZaM1JOTWs1cVdWTXdNRTB5Vm1sTVYwcHNXV3BKZEZscVFUVk9iVlpwVDFSSk1FNXRSVFJKYVhkcFkyMW5hVTlwU1hkTWEwWlRVMVZGTW1OVVpFZGxiVTVXVm01U2NrMXVaR3hhYm13d1RVZDRRMXBJWkc1aU1IQlpZMnhPWmsxdGRGZFJiVGxJV2pCc2VGRXlNVFpTUnpoM1ZUQkdRbEZUTkdsTVEwcDZaRmRKYVU5cFNYbFplbU0xV1RKSk0wOURNSHBaTWs1b1RGUlJlbHBYU1hSWmJWWnBUV2t4YVUxRWF6SmFWMGsxVFdwUk1sbFVaMmxNUTBvd1lWZFJhVTlwU21wYVIwMHhXVmRXYkZsVE1IaE9WMDB4VEZSU2ExbHFXWFJaYWtFelQxTXhiVmt5Um10YVJFa3hUVVJXYTFsNlNXbE1RMG94WkVkcmFVOXBTazVhYXpBMVUxWkNWVmRWVmtaYVZWSkpaRVU0ZDJOV1RuQmxhMFpDU1dsM2FXUnRWbmxKYW05cFRWTTBkMGx1TUM1T05sRnhNazFqYzB0MWFUWlVkbkpMWnpCVWFYWnBkMUo0WDB0S2ExSlZZbWhYTURORUxYbFBlVTF5UzB4TWMxbEJWVzlHTVdkdFIwdGtSUzFqTFZOS1lUZHNURzFVTW10VVpYZFZTalJEWW1GRllubEJkbU5KVlhCTWVWSk5aV1ZUUVMxMGFTMW9ha2RGU0V4dVMzY3pNbE41YW1aV2RYTnlhR016VkdkdVYzWlhhMUJqYjE4M1JIWlJZamhZZG5nMGVEbHBRazl4U0c5VVFrMTNVMkZKWm5KVVJtdDVPRkZET1hwSVNtUm5jMWhMVUV4Nk1XcHpNbEJ3UnkxdE5WVllVbWRGTlhKdFRWWkRURUpmTWxoSmJUZHdUamx2VTI4NVNsZENhR3B5TTJSaE1ERmZURVZvZW5sRFYwUlhTbFkzYlhacFRuRjBTUzFSVWpFd04wcFBNVmxYTjBVMk55MUhReTFoWW1sM1JrcFdla2wzVlhoTE5VOU1jM0JPTjJ0cE5uazBOR05GUkhvdFlVeHNjVGd6U2paeE0zZE5UMk16YmxCa2RrZEdPVzFPVlVSSGREQlJVVlJmZW0xRE1sQnRNVmhUVkVFaUxDSjBjeUk2TVRZNE5URXlPVE13TUN3aVlpSTZJalJ1WTA0eFNsSklUVGczYlUwM1FrNUNUMjQ0U0ZCclZUQklNMDlWYldoalQwSkpZM1JSTUhwUlFsRWlMQ0p1YjI1alpTSTZJbVk1TkRrNE1qRm1PREpsT1RSbFl6QTROemN4TWpOaFpETm1aRGxtTldNeklpd2lZMjVtSWpwN0ltcDNheUk2ZXlKcmFXUWlPaUkzZFY4eWMyMUVTbTVUTVZwYVR6aERSRk41ZFVaT1dVNVlSM010YVdsRmFVWkhNRFptUkd4S1kzaGpJaXdpWlNJNklrRlJRVUlpTENKcmRIa2lPaUpTVTBFaUxDSnVJam9pZEVwaWJrcFBkakZYVEhobWJEWTFSMUUxTW1ReGJ6ZHJTeTEzY1hKSVVIRlRWRkV3V25jdFRUSlhUbFpNY21SS1JWWmhTa1EwZVdaU2RVUnZXVkpDVGtOTlRFSnlPVTlDYWxoS1FXTmlaekoyTkVkeVJVbGxaVEExYVhCUk1qTjNObkEzZG1Vek1FczFaRWxHU1c1d1puSlNWbU4yTlhaMVltcE5lbGcyTFRCWGVXcEJaSEpaTkc0MWJGWnZUMjQwUW1wRldpMDJZVzVDZG1SU1pXUlVTbmhHUzJoVGFta3RXR3RoY21OblpEQTFabUp6ZWpsVFdWSlRURU5XWm0xS2VFMDVOR2RVT0hkS2FHRkxNa1EyWTJKUWN6SmhNRlpRU2t4cVgxWkVSREppV0dKYVRHTkRlWE5KZW1FMWVUaGlSSG8xUzNCWFEyZFpMVk5uVVZoSk1VWnZOQzFTT0daUGFIZG1hMVZtUldWVWJYZElaSEoyWDJ0UVNrNVNOVUZxY2poS056QnNRWFY0YURWQ1prYzVXbkF4TTJocFRHOXpjVGhIYjBaRGRFdDZiR2hvYkhFMlVUQnRRM0p5ZUdkalRERk9lRk5SSW4xOWZRLlBYNVUxdURMSEcwemRfdW1yMGxBN3dfME5KNG40dEFnRHRSbDh2X0JpZmV6SUZnNHFlT0V6c0djSjRaT3NDVWdKZS12YlI3WGtsWXQxODVUSk9KYmFTUDJQWjVnYklZcUhzOGVtTEEtb193WWxYanBPSS1XWi1YcGt3czVCUjc4OTJ3OGw4ZnpySXpxZGtBRnlPZldlYWwwNVdzaE9Venh6U2lBME81U3ZSQTJGcjVCbGxLcUhiRmNDalhkcU9mdWNyTWdSUGljVzdGemdaYVhIYnljOWhXV0VuQWNhLURLYmtjX1ZmQk1LTDVHWTlSdWJYbXdLelk0ejZZMk53b1lOdUVQV2F1Y09SMU5kWG5WZ3ZYbGxTdUFDQzZ5SncyMndSX1dnc3lTUWNFSC10blJGN3dfMS1mT3dYRDJ4dVl3cUtQMjlQdUdicUU4UVl0OEZRbER6ZyJ9.\u0022,\u0022correlationId\u0022:\u002233460360-6e4b-4fca-83eb-b9d17a6a05b1\u0022}",
+ "messageId": "061f9b832ce34b058b2d302c201d30d3",
"partitionKey": null,
"sessionId": null,
"replyToSessionId": null,
@@ -11,13 +11,13 @@
"contentType": null,
"replyTo": null,
"applicationProperties": {
- "Diagnostic-Id": "00-b6182ce8942ffc61dc2b134f73b1bdbe-64daa5f587658e59-00"
+ "Diagnostic-Id": "00-0ecbcf84b41883cd808a00d489d5854c-c5fac45631dc368f-00"
},
"enqueuedTime": "0001-01-01T00:00:00+00:00"
},
{
- "body": "[{\u0022id\u0022:\u0022Sanitized\u0022,\u0022source\u0022:\u0022calling/callConnections/401f3500-5c7c-4781-8adc-3e51774e8bf7\u0022,\u0022type\u0022:\u0022Microsoft.Communication.ParticipantsUpdated\u0022,\u0022data\u0022:{\u0022participants\u0022:[{\u0022identifier\u0022:{\u0022rawId\u0022:\u0022Sanitized\u0022,\u0022kind\u0022:\u0022communicationUser\u0022,\u0022communicationUser\u0022:{\u0022id\u0022:\u0022Sanitized\u0022}},\u0022isMuted\u0022:false},{\u0022identifier\u0022:{\u0022rawId\u0022:\u0022Sanitized\u0022,\u0022kind\u0022:\u0022communicationUser\u0022,\u0022communicationUser\u0022:{\u0022id\u0022:\u0022Sanitized\u0022}},\u0022isMuted\u0022:false}],\u0022sequenceNumber\u0022:1,\u0022callConnectionId\u0022:\u0022401f3500-5c7c-4781-8adc-3e51774e8bf7\u0022,\u0022serverCallId\u0022:\u0022aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDIuY29udi5za3lwZS5jb20vY29udi92NHpXZ25YekNrQ1FVaXZIWkd0a1d3P2k9MTkmZT02MzgxOTI3NDY3NzYzOTI1MTk=\u0022,\u0022correlationId\u0022:\u00225504e9f2-e88e-4751-9bca-cfdb596b468c\u0022},\u0022time\u0022:\u00222023-05-10T18:27:53.0086127\\u002B00:00\u0022,\u0022specversion\u0022:\u00221.0\u0022,\u0022datacontenttype\u0022:\u0022application/json\u0022,\u0022subject\u0022:\u0022calling/callConnections/401f3500-5c7c-4781-8adc-3e51774e8bf7\u0022}]",
- "messageId": "f5e2d2f45f6645d4aae712323d9a0c89",
+ "body": "[{\u0022id\u0022:\u0022Sanitized\u0022,\u0022source\u0022:\u0022calling/callConnections/411f1200-98cc-4751-9ef8-3072073ef879\u0022,\u0022type\u0022:\u0022Microsoft.Communication.ParticipantsUpdated\u0022,\u0022data\u0022:{\u0022participants\u0022:[{\u0022identifier\u0022:{\u0022rawId\u0022:\u0022Sanitized\u0022,\u0022kind\u0022:\u0022communicationUser\u0022,\u0022communicationUser\u0022:{\u0022id\u0022:\u0022Sanitized\u0022}},\u0022isMuted\u0022:false},{\u0022identifier\u0022:{\u0022rawId\u0022:\u0022Sanitized\u0022,\u0022kind\u0022:\u0022communicationUser\u0022,\u0022communicationUser\u0022:{\u0022id\u0022:\u0022Sanitized\u0022}},\u0022isMuted\u0022:false}],\u0022sequenceNumber\u0022:1,\u0022callConnectionId\u0022:\u0022411f1200-98cc-4751-9ef8-3072073ef879\u0022,\u0022serverCallId\u0022:\u0022aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC94LWNvbnYtZXVuby0wMS5jb252LnNreXBlLmNvbS9jb252L19BWE1CZmZuMGtHZGJuRTBRMTRqdEE/aT0wJmU9NjM4MjA2NTQ3NTE3MzQxMDc0\u0022,\u0022correlationId\u0022:\u002233460360-6e4b-4fca-83eb-b9d17a6a05b1\u0022},\u0022time\u0022:\u00222023-05-26T19:28:23.6285642\\u002B00:00\u0022,\u0022specversion\u0022:\u00221.0\u0022,\u0022datacontenttype\u0022:\u0022application/json\u0022,\u0022subject\u0022:\u0022calling/callConnections/411f1200-98cc-4751-9ef8-3072073ef879\u0022}]",
+ "messageId": "2d4d0e01c3c04dfe9c30ceb5fe7d1317",
"partitionKey": null,
"sessionId": null,
"replyToSessionId": null,
@@ -26,13 +26,13 @@
"contentType": null,
"replyTo": null,
"applicationProperties": {
- "Diagnostic-Id": "00-675c19d9f6d8778d8b7c601485b82748-6cc975fc9739a8f9-00"
+ "Diagnostic-Id": "00-88a3903cc473fe86a8104f6125e5e00b-a31ad6cbaa6880bc-00"
},
"enqueuedTime": "0001-01-01T00:00:00+00:00"
},
{
- "body": "[{\u0022id\u0022:\u0022Sanitized\u0022,\u0022source\u0022:\u0022calling/callConnections/401f3500-5c7c-4781-8adc-3e51774e8bf7\u0022,\u0022type\u0022:\u0022Microsoft.Communication.CallConnected\u0022,\u0022data\u0022:{\u0022callConnectionId\u0022:\u0022401f3500-5c7c-4781-8adc-3e51774e8bf7\u0022,\u0022serverCallId\u0022:\u0022aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDIuY29udi5za3lwZS5jb20vY29udi92NHpXZ25YekNrQ1FVaXZIWkd0a1d3P2k9MTkmZT02MzgxOTI3NDY3NzYzOTI1MTk=\u0022,\u0022correlationId\u0022:\u00225504e9f2-e88e-4751-9bca-cfdb596b468c\u0022},\u0022time\u0022:\u00222023-05-10T18:27:53.0086127\\u002B00:00\u0022,\u0022specversion\u0022:\u00221.0\u0022,\u0022datacontenttype\u0022:\u0022application/json\u0022,\u0022subject\u0022:\u0022calling/callConnections/401f3500-5c7c-4781-8adc-3e51774e8bf7\u0022}]",
- "messageId": "43de13d5e6ae432d8b4db1fcc065f9bd",
+ "body": "[{\u0022id\u0022:\u0022Sanitized\u0022,\u0022source\u0022:\u0022calling/callConnections/411f1200-98cc-4751-9ef8-3072073ef879\u0022,\u0022type\u0022:\u0022Microsoft.Communication.CallConnected\u0022,\u0022data\u0022:{\u0022callConnectionId\u0022:\u0022411f1200-98cc-4751-9ef8-3072073ef879\u0022,\u0022serverCallId\u0022:\u0022aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC94LWNvbnYtZXVuby0wMS5jb252LnNreXBlLmNvbS9jb252L19BWE1CZmZuMGtHZGJuRTBRMTRqdEE/aT0wJmU9NjM4MjA2NTQ3NTE3MzQxMDc0\u0022,\u0022correlationId\u0022:\u002233460360-6e4b-4fca-83eb-b9d17a6a05b1\u0022},\u0022time\u0022:\u00222023-05-26T19:28:23.6285642\\u002B00:00\u0022,\u0022specversion\u0022:\u00221.0\u0022,\u0022datacontenttype\u0022:\u0022application/json\u0022,\u0022subject\u0022:\u0022calling/callConnections/411f1200-98cc-4751-9ef8-3072073ef879\u0022}]",
+ "messageId": "01ba42ed7e594c0089c44f2c56b2231b",
"partitionKey": null,
"sessionId": null,
"replyToSessionId": null,
@@ -41,13 +41,13 @@
"contentType": null,
"replyTo": null,
"applicationProperties": {
- "Diagnostic-Id": "00-abb01a7d6618d61b2a28c747ecf3d7f2-79623a6cba571038-00"
+ "Diagnostic-Id": "00-ad531225a128dece44bb2fc87548bb2d-114418b99e60507c-00"
},
"enqueuedTime": "0001-01-01T00:00:00+00:00"
},
{
- "body": "[{\u0022id\u0022:\u0022Sanitized\u0022,\u0022source\u0022:\u0022calling/callConnections/401f3500-5c7c-4781-8adc-3e51774e8bf7\u0022,\u0022type\u0022:\u0022Microsoft.Communication.CallDisconnected\u0022,\u0022data\u0022:{\u0022callConnectionId\u0022:\u0022401f3500-5c7c-4781-8adc-3e51774e8bf7\u0022,\u0022serverCallId\u0022:\u0022aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDIuY29udi5za3lwZS5jb20vY29udi92NHpXZ25YekNrQ1FVaXZIWkd0a1d3P2k9MTkmZT02MzgxOTI3NDY3NzYzOTI1MTk=\u0022,\u0022correlationId\u0022:\u00225504e9f2-e88e-4751-9bca-cfdb596b468c\u0022},\u0022time\u0022:\u00222023-05-10T18:27:54.1336256\\u002B00:00\u0022,\u0022specversion\u0022:\u00221.0\u0022,\u0022datacontenttype\u0022:\u0022application/json\u0022,\u0022subject\u0022:\u0022calling/callConnections/401f3500-5c7c-4781-8adc-3e51774e8bf7\u0022}]",
- "messageId": "1b60936819694af0992efcb2b25fc380",
+ "body": "[{\u0022id\u0022:\u0022Sanitized\u0022,\u0022source\u0022:\u0022calling/callConnections/411f1200-98cc-4751-9ef8-3072073ef879\u0022,\u0022type\u0022:\u0022Microsoft.Communication.CallDisconnected\u0022,\u0022data\u0022:{\u0022callConnectionId\u0022:\u0022411f1200-98cc-4751-9ef8-3072073ef879\u0022,\u0022serverCallId\u0022:\u0022aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC94LWNvbnYtZXVuby0wMS5jb252LnNreXBlLmNvbS9jb252L19BWE1CZmZuMGtHZGJuRTBRMTRqdEE/aT0wJmU9NjM4MjA2NTQ3NTE3MzQxMDc0\u0022,\u0022correlationId\u0022:\u002233460360-6e4b-4fca-83eb-b9d17a6a05b1\u0022},\u0022time\u0022:\u00222023-05-26T19:28:25.1910817\\u002B00:00\u0022,\u0022specversion\u0022:\u00221.0\u0022,\u0022datacontenttype\u0022:\u0022application/json\u0022,\u0022subject\u0022:\u0022calling/callConnections/411f1200-98cc-4751-9ef8-3072073ef879\u0022}]",
+ "messageId": "cc7b79ff7e614f9ca6dca90b9d02b7e3",
"partitionKey": null,
"sessionId": null,
"replyToSessionId": null,
@@ -56,7 +56,7 @@
"contentType": null,
"replyTo": null,
"applicationProperties": {
- "Diagnostic-Id": "00-038554d73514645a0cd6b3cb54649fe2-454bd3cd0c4c0349-00"
+ "Diagnostic-Id": "00-036dbe73a6fa3216c3e7fa9491af84da-b0d562c2ad84e61f-00"
},
"enqueuedTime": "0001-01-01T00:00:00+00:00"
}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/tests/SessionRecordedEvents/CallConnectionAutomatedLiveTests/RemoveAUserCallTest.json b/sdk/communication/Azure.Communication.CallAutomation/tests/SessionRecordedEvents/CallConnectionAutomatedLiveTests/RemoveAUserCallTest.json
index 6dc5502e04da8..34ea64f717358 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/tests/SessionRecordedEvents/CallConnectionAutomatedLiveTests/RemoveAUserCallTest.json
+++ b/sdk/communication/Azure.Communication.CallAutomation/tests/SessionRecordedEvents/CallConnectionAutomatedLiveTests/RemoveAUserCallTest.json
@@ -1,8 +1,8 @@
{
"entries": [
{
- "body": "{\u0022to\u0022:{\u0022kind\u0022:\u0022communicationUser\u0022,\u0022rawId\u0022:\u0022Sanitized\u0022,\u0022communicationUser\u0022:{\u0022id\u0022:\u0022Sanitized\u0022}},\u0022from\u0022:{\u0022kind\u0022:\u0022communicationUser\u0022,\u0022rawId\u0022:\u0022Sanitized\u0022,\u0022communicationUser\u0022:{\u0022id\u0022:\u0022Sanitized\u0022}},\u0022serverCallId\u0022:\u0022aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDIuY29udi5za3lwZS5jb20vY29udi93RExtMll6WEFFLXVZOThYVWJmVDl3P2k9MjAmZT02MzgxOTI3NTY3ODYzNzY4NjM=\u0022,\u0022callerDisplayName\u0022:\u0022\u0022,\u0022incomingCallContext\u0022:\u0022eyJhbGciOiJub25lIiwidHlwIjoiSldUIn0.eyJjYyI6Ikg0c0lBQUFBQUFBQUNzMVliVS9qT2hiK0sxRlgyZzk3eDYzdEpFNWlxVnFWVWk0c1E0Y3BNRHRjb1VXTzdhU0JOTWwxVWxLWU8vOTlqOU1DWmNyT1pYZnZTRGRJYWZ6MlBJK1BYODQ1Zk9sSmtlZlRzc21TVElvbUs0c2UvOUpMVExtd3Y1bnE4VjdJaGF3NWlaVVFOSTVRNU9NQWViNUhVUnd6RDRrZ3BsUmlMRUxsWGVQdUlTRVNUQ3BFWkNpUXE5d0loZG9WV0dHc1NDQjc3M29xcTZ0YzNFL0ZRZ00rVk9oQ1ZXVldORWVXVHdpUFNKWEVLQlMranp6bCtpaVd6RVhLRHdUVGhBQS9nVEc1S05LbFNMVWRVeXp6L0YydkVxYkpaRmFKRFZBaUVrL0tRQ0tsZklJODdHTVVLUm9oUHdoVmtHaWxoUllBTk0rVTBqRHRST1MxZnRaeWZsOVpkYlUyZDlxTXFncDZWcWFzdEdudTkwUzY1dno2cnRlVWY0U2hFclZqS1BXN2hscURZSXhlZVQwK2J6SlVSTDFFeWpoR09LRVllVzZVb0ppUkdERU5aa3BJeUtqM2lxR01yc3Vsa1IxdTd5MnovZzhXekxQaXRyWkdGRTBqNUJ6QTVrMVQxWHd3RUZYV1QvSXNuVGN3Ym5YZnIyOWhUZnF5WE5pV3dSMGR5R29nSlZyV1dsQ0VhVi9LclM1U0R1N0lJQ25OclZZREZTZUVDajlHd2xVSzlwVFdTUGhNb2pCMC9WZ3oxMDBvRzlCZ2tKR0I2MFdEdFpLL1owT3JlYUZWSmtaRjNXb0QycVFFWVF0ckR0Q1VnZzNxUDRQZ1J5MGJ5VWJmYU5uOEdZU3RsV3hrTFZWMWJrUlJWNld4NHFBSTBuemFKOFRyRXc5K0k4SmRMd2dIdmE4YnM0L0xvdEVGZFA3U2srdlB6YkVVVlpWdkxxeEJyZXpoalBNeWhvYTdJYjR5VjBVNVJBNmhQdk9JZzUyanFYTjA2a0U1NkdQNEk3WkRQYXpCWGpEY0Z1UncwOFhEL1NEc0U0ejdsTHEySlI2T3p6bVV1OGRXTkVQc2RCK0xvVmlxckhSOHlrTHN6TTVQQjZOUHB3N0JuaFBCMjNVSUlRNEpnVDEwb2dCcW9HUXJRNUNCdjg4cGhxYVJGVEoxOXFDM3lrbk0vK2FzMEFKa3cybDJ3QUpPRGZjQlYvWGNNVnJlMlk5MTl4V3FzN1FRY0xEUzc0MTZ4dVoyRXAxWnhEQ1RHaTBUSTFLdTNJZmd1YTVxRlQ5VG1YZjY2ZU5QaHRTWGwrNFlqKzZtMDAvekpOaFN1Vml1MWlVcENwVXAwV2dPTTNjdTlrOGRTbHdjWU9hNTVPV2NOeVpzN2tHYVNmS1ZZNFJTQmt6V3B5U0U5UXF3WSt5V1dmZmJSYWRiNkg0RUZ0NUZKMjlFSjkraVU5QnVweVZrQXd3VU1Ca092bVh3SXVMVE56QjAvWFlaNkE5bWdHM1hXUWpPUTBnalRBTGZlVHgwb2FXZ0RoeTZxRU0zR3R6TkJ2MmxncTBWY0U3T0wyYlRvMzNZM2k0T1NZU3g2NFBoV1JDeFhXcjZUQjFHak5IL2k1bzhVd2MraXdMZmkveUFobUVVWVhlWEhFNThaOWxLMURVbzhFQXFZNWk5VklBZFB5VGtqUkt3aDNkMmlMZFp2eC9MNG0vdFEwdmloNUZMOEI5T1FuOFVTUzVpbmZPRnlBclVYWnZyMmtXbStLYkRDc1d0Rm5sYW1xeVpMM2pjU3FjUzhsWTNsY2lNMCtvWWJwZU5Ybk5mTlNXYys5SGs3SHA4Y2sxb2VIMTRNaHBmbngyT3lEVnN6NnlBbTAvejRuTTdkK3VmMmwrbkh4Y0hleEY5bUFUdlI4RW5mVFA1VmYvOHo5SFp6RHY4Qi80d2MzK2ovM0xKYitSUnlBYWUvaDc4QXQ4azhTL2x4VjM5Y0tHUGo4ZHRXK1kzN2VYbE5QZlQ4eHZDem5EeHkreGpldC9CUDE2UTFVSlU0RTQ4NSt6by9mR0FzSTFUZVdxS25KOERTZ2ZodC9YV29YUkRkbHZBelp3ZHpTYlRiYlJrMGF4YjRxd3hzTExEWFNhNEpvRXEyZ0pjRHdvZFVSUjZGUStMOGtWLzdKeU9UeTUyK1VOYlA5cXRCNTgzbSt5L05oUFl5RHJYMWJ3c05OSjM0TkozTkVBWGpBaDdPYzUxeHRQWHBoL2ErbGZtUjdGdDhKNUhWRTIyZ092MmtRbWNvemFWZ1dDYTEzT0JJRlp3bU12OU1kOC80T01KOXc3NG5zOVp5Tm1Fa3pIZmkvZzQ0T0dFNzdtY1VqNEsrR2dQak1YSlBnOG0zSTI0UCtIN0h2Y2pma0I0NVBNSWM3elBDYk9BQng1bkVYZEhhMks5YWpwOWpvM04rQlU4YmR2MjF4dThYNXIwNmtxdklFWUdyVVZUWDEzQmROQmNHUmgxZFNYaUdsbm5qZXhNWHFDNXoyaFBjZHQzZ0JKUk45Y3huUHMyVTgzOE90RmF4WERZL2dLWmpnMkpydDJuT0tJMkVrSElsb0tmdGFtRmZkbTJ4N0Q0dlU2NzhKL0Z2dFMraEtBZkZnSjVURVJJRUt4UndqemhoM0JocU5qbWJMcUdiTE1MMmo1SXVUUmcvUFFwblNoMCt5RkpiSXpkVlVBRUNQSGhzYjYzc2Q4bVZPdEt2VVZHMDRQazV2WndkbklmNWVkNzhqejFacVBoRVBBaHE0RWJ3NlppUzNXNzc1MjRKNmVMbzhsbmQzYnNIOHEwaFQ0QWEwQTR4RXRXeGVrNkhjbDBsMzlrOVd6VE5NcnpzdFV3c2NZczlWY1lBOEdudFUwbi9haTR5NXFuVkhtN3hVYXJwc3p6TGxINHIwSnZBSUhndTlWZDdBMkY3ZWdiaW9OMi8vMkNYajU4SGszUThqSUtQMS9FeVhuVVFsaE44Vi8xa0xuZ2RDaDR4Q0JrYnNEZ0JiYkk2cE5sM21TbmtPdUIxVFpHenVvOVV3b2xZZjJmN2F4MHZFeTNJMjM0ajBDM3FyQ2dyc0xDZzZRdWhxU09TVmpWS0pGSXh6SFdNZ2lvb3N3bVF2OUxPZ204cVNtWFZjZTdBdDR1Ry93MzY0Rng5SThRQUFBPSIsInNoclRva2VuIjoiZXlKaGJHY2lPaUpTVXpJMU5pSXNJblI1Y0NJNkluQnZjQ0o5LmV5SmhkQ0k2SW1WNVNqQmxXRUZwVDJsS1MxWXhVV2xNUTBwb1lrZGphVTlwU2xOVmVra3hUbWxKYzBsdVp6RmtRMGsyU1dreFRGTlVUbEpQVnpWUFZXcGthVlZ0T1cxbFJ6RnNWMjA1V1dOWFNrbFhhMlJzWkhsSmMwbHRkSEJhUTBrMlNXa3hURk5VVGxKUFZ6VlBWV3BrYVZWdE9XMWxSekZzVjIwNVdXTlhTa2xYYTJSc1pIbEtPUzVsZVVwb1pGZFJhVTlwU21sT1JGWnNUVVJyZDFsVE1XdFpWMHB0VEZSUmVFNUVWWFJaVkVFeVQwTXdkMDlIUlRSTmFteHBUWHBDYkU5SFVXbE1RMHB3WXpOTmFVOXBTbTlrU0ZKM1kzcHZka3d6VGpCamVUVXpZVmMxYTJJelpIcE1iVFZzWkVNNWFscEhUVEZaVjFac1dWTXdlRTVYVFRGTVZGSnJXV3BaZEZscVFUTlBVekZ0V1RKR2ExcEVTVEZOUkZacldYcEpka2xwZDJsaFYwWXdTV3B2ZUU1cVozcE9la0YzVDFSSk1VeERTblZaYlZscFQycEZNazlFVFROTlJFRTFUV3BWYzBsdFZqUmpRMGsyVFZSWk5FMTZZelJPZWxsNVRsTjNhVmxYYkhaSmFtOXBVbFJLWVZveGJGRmFNMDUzVkVodmVXRjZTazVaVld0MldrUktUMXA2Vm1GTlJFSlpWbXRHUWxCVU1HbE1RMHBvWTBoQ2NGcERTVFpKYlVWNldWUk5lbGw2U21oTVZFazFUMGRWZEU1RVJtdE5VekExVFZSTk0weFhSVEZPUkZsNVRXMVZNazlFUm1wWmVVbHpTVzFHZDJOSGJHdFpWMDU1U1dwdmFVMXBTWE5KYlU1MVdtbEpObVY1U25Ga01uTnBUMjV6YVdFelVqVkphbTlwVld4T1FrbHBkMmxpYVVrMlNXNU5lRk5yV2pWVWJYZ3daVzFqTkdWc1pIWmFibWN5VDBWT05XRnFWazlpUkVwWFVtdEtZVk5WZEc5WGJrNDFUbXhKTTFwSFdtMWlSekY1VkVNd01WUnFaRE5oTWtwM1ZHcHNiRTlGY0VaYVJscHBWVVZvYWxkSE5XcFNSR2hwWWpCYVYxTnNTblJWU0VaTlYwaGthMXBHYUhOV1ZVWjRZbTVDVWxWWFRUQlJibkJoV1Zoa1IxbHVRazVOUkU0MlVWVjBiR1JzVlhsaU1qbGhWVVZTUTFaRVJuQmpWa0YzWkRKT2MxcEhXbWxXVkZKWVZYcHNlbUpIVWxCTVYwNU9aRmhPTWxWSVRtdGpia0pZVjBkTmVVeFlhRlJpVkZKSFYyNWFWMXByTVd4YWJUUTFWakZXVEdJeWNHNU9NVW93WkVWc1lXTXhPVmhYUlVaRVkxVkplRTlWV2s5VFZuQjJXVEZzUTFOSVFqRmxSMmhoWXpGc05VeFVSbGxXVjJSeVltMVNORm96YUhkU1J6VTBUWHBWTTFSWGNEWk9WRnA1VTBoa1RVOUZXa0pWUld3elZESjRVVlZYT1ZoU2EyODBWbFYwTTJSSGVIaGthelIzWkZVMWFFMHliR3BsV0ZKTFZtMTBiMXBYVWpKTlZrSTBWbTVrYTJGRmJFVlNSMmhPWVRGT1IxWnNTbTFrUnpVMVkydzVSazR5VVRSUmJFSTFXVzE0YkU5WFduTmtNM0JDVWpCS2VGSjZVVEZWYWtveVVUTkdWMVJyUmsxU2JVcDFXVEpPY1ZKSE5VbGtSVlp0VlZOSmMwbHRWV2xQYVVwQ1ZWVkdRMGxwZDJsWlYzaHVTV3B2YVZWc1RYbE9WRmxwVEVOS2NtRlhVV2xQYVVwU1RteGFNazVGUmpGTVdGVjZZMFJrVUdSdWNIVlNhMmhOVXpFNVdWWXpVblpOU0VwUVdIcHNkbHByYkZwU2FscHBWa1ZXYTFSRVRscEpiakU1VEVOS2NGcElRV2xQYVVwdlpFaFNkMk42YjNaTU0wNHdZM2sxTTJGWE5XdGlNMlI2VEcwMWJHUkRPV3BhUjAweFdWZFdiRmxUTUhoT1YwMHhURlJTYTFscVdYUlpha0V6VDFNeGJWa3lSbXRhUkVreFRVUldhMWw2U1haSmFYZHBZakpzYTBscWIybE5iVTB6VDFkT2FVNTZaM1JOTWs1cVdWTXdNRTB5Vm1sTVYwcHNXV3BKZEZscVFUVk9iVlpwVDFSSk1FNXRSVFJKYVhkcFkyMW5hVTlwU1hkTWEwWlRVMVZGTW1OVVpFZGxiVTVXVm01U2NrMXVaR3hhYm13d1RVZDRRMXBJWkc1aU1IQlpZMnhPWmsxdGRGZFJiVGxJV2pCc2VGRXlNVFpTUnpoM1ZUQkdRbEZUTkdsTVEwcDZaRmRKYVU5cFNYbFplbU0xV1RKSk0wOURNSHBaTWs1b1RGUlJlbHBYU1hSWmJWWnBUV2t4YVUxRWF6SmFWMGsxVFdwUk1sbFVaMmxNUTBvd1lWZFJhVTlwU21wYVIwMHhXVmRXYkZsVE1IaE9WMDB4VEZSU2ExbHFXWFJaYWtFelQxTXhiVmt5Um10YVJFa3hUVVJXYTFsNlNXbE1RMG94WkVkcmFVOXBTblJVYlRsWFlXcENhV041TVVaa1ZsbDZWMFpKTldKVVVqTmtSVVpDU1dsM2FXUnRWbmxKYW05cFRWTTBkMGx1TUM1a1FYRmZhRGt0TjFBMmVTMDNjMk4yV1VVeFdUWjBMVnA1VERKM1QySmthM1F0TW1oTlZrWm5NMDFpV1Mxd2JWbEROM2xJZFhkalVGTXRSbk41ZVdWdGRFOXhkbkpHZVVsbVV6VlZhMEpYWWxkbWNEUmhjRXREZERkSmVGUkhXSEZwZEd4MGRHVkZkRlpLTFZKbmNHMU9TVEl4T0hJM1NqWmFNMDlZU25SdmRsaGtUVWxaWmkxUFZEa3lZbFZEWVRGTFZrVnFkWEJEYjFaMk9XZ3lZbFZQTm05bFZWWTFUVmwwUWs5dmFraEJNRWRTUTFad2NGZDRUWE5tY1VkNVgxUjJaazlMTlcxMGNHUmxSRVp2VVhkUFlYSnFiMU51WTA0NE1XeFBXVEJ2YldJeGJWa3lNbFJVVm1WTk5GSmpOekZaTlhGbU9VVTJaVlZQZG1SNU5qSmhXRU5yVm5aM1NWVlVUMEk0VUVWd1owaHVhVkJmVjE5M2J6VklNbXN5VFVKbFQyMVJUbkpvTWxscldEVlFWVFJ2WTJ0aGVHdElXVjlGYVRoTmNHVk9aa2xQZWpBdFFsRjFXVFJ5ZW1ObmMwVmhSelJ4Tm5jaUxDSjBjeUk2TVRZNE16YzBNekkzT0N3aVlpSTZJazlRWDFGcmFXTmhUV1ZRZVZBMVptZHdTblY0WmtsV2QxbDVUSGsyVUVsa2RtWjJNV1o0YURsT1RHOGlMQ0p1YjI1alpTSTZJbVE1WVRsak1EazVNemN5WXpReU9HVTRZbU16TmpZeVpESmlNVFJsWlRkbElpd2lZMjVtSWpwN0ltcDNheUk2ZXlKcmFXUWlPaUprUjBZeU5ucExNek14WjA5UGQxODBlVjlWVTJZMlpqWnpVVXRTYmpFM1VHbFJWWEoyYVZVeExWUnZJaXdpWlNJNklrRlJRVUlpTENKcmRIa2lPaUpTVTBFaUxDSnVJam9pY3pGS1JubE9iSFI2WnpoNlYyOW1lRFk0UTNscU5VNXNNbFpHUWxwSlMyaGFjM2syVWpka1ptWnNiWEpNTFRWT04zZHJZbkJPT1dVNFNrVmtWbUpRU0dOWWJtTkVPR0p2UmxaS1VtMVFjVXhZZDJSa1dHeFZRWEZ1Y0ZGUll6UkNlbHBoZDBaaWNFMHdNM3BCUzJWMlZUSnZiMXBRUkVKVU1XbHhVREIzWTJ4a1ptSlZORmRUT1hOc1pFOHRZMDExYzNaUWMyUnljRmRZWXpJdGVGTnRORVphZGxabVRXVm1iamxYVlV0dmFtYzNVblIwU1ZwelgxZFlRVU54UWpFNVJrNUpXbTlqV1VKSWNIVjRhRnB6V1hrdE1WaFZaMnR1WkhobmVIQkVibmd6TlRkTmFubzFObkpJZDB3NFJrRlFTWGRQYkZCUmIxZEdTamhWUzNkMGJIRjJUakIxVG1FemFXTjVkRXBXYTJobFpIWXhVSGhXZDJSb1NVUkVhRTFyVTBaV1VtWjBibmx5WDBVM1pEaENVSGxpYkdVNVpteDNla0ZIUW5GSE5EVlNNblpEY1ZaT1FVeEdZbTVqWTJwRWJraDBSV1pSSW4xOWZRLnJjckZBX25NdlMydW9HRjNQMExZb3U0dldKVlNWTWhFUVEzM2ZERHdBVTFyTDFtaTg5Zk1oZ3FYdFFkU0NlUmNNLWdsM1ZPN29PRUlwdVQ4cjBNdmtPd09VZmRtaUlZakhDTWtIcV81YjFaZjV4TDdLXzJvU29TbUNCaV9vZHI4cElfM1l1LV9XNHJiejU2Zno1dW1RQU1TeU9HMV9DTU10T0wyS25iM002R0JCbHMtaDVCVXdMY09lQnVVeUMydzZmeEJmbWVfR1JWZ2RMYVlfdC1USGJsWVNmdVpuOGFrbGFqb0xTVHpZZXg4RVpOM0xlTjRxZTA1S3lGZnlVLWRiSGM1c1NWeTFuczdQaGVJTXYwWFRVZ3VJV1ZEZzhQSzluNElaUU1CT3VBSVdqUmc4VGprRUNiMnNUR3dBeDdaTDAxdjFFRHh2anE1dHAwWExPd0F2QSJ9.\u0022,\u0022correlationId\u0022:\u00225c23d0a4-95b7-46c9-a9fc-ebb0ec772d26\u0022}",
- "messageId": "7ac30fc7b0c34e80a245a080f0ad89fd",
+ "body": "{\u0022to\u0022:{\u0022kind\u0022:\u0022communicationUser\u0022,\u0022rawId\u0022:\u0022Sanitized\u0022,\u0022communicationUser\u0022:{\u0022id\u0022:\u0022Sanitized\u0022}},\u0022from\u0022:{\u0022kind\u0022:\u0022communicationUser\u0022,\u0022rawId\u0022:\u0022Sanitized\u0022,\u0022communicationUser\u0022:{\u0022id\u0022:\u0022Sanitized\u0022}},\u0022serverCallId\u0022:\u0022aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC94LWNvbnYtZXVuby0wMS5jb252LnNreXBlLmNvbS9jb252L0hLSlNVMk9XNDBDdGhVS2tBNGlWOHc/aT0xJmU9NjM4MjA2NTUyNjc1OTIxMDI3\u0022,\u0022callerDisplayName\u0022:\u0022\u0022,\u0022incomingCallContext\u0022:\u0022eyJhbGciOiJub25lIiwidHlwIjoiSldUIn0.eyJjYyI6Ikg0c0lBQUFBQUFBQUNzMVliVy9iT0JMK0s0SVAyQTkzcFVWU2xFUVNNQTZPazdScG1qUk40clE0QkJkUUZDVnJJMHNxSmNkT3UvM3ZPNVNkeEttNzI5N2Q3bUVWUUJiSjRjd3p3NWQ1SnA4SFdwWGxhZDBWV2FGVlY5VFZRSDRlWkxhZXU5OGlIY2dCbDBxM2tpU3BValFSU0lRNFJpeGtGQ1ZKeEpDS0UwbzF4b3FuN0FiM0QrRW9FNEloVHRNRXhRd3JSRWlnY0lveHkxUXdlREZJaTdZcDFmMnBtaHZRRHgybVNwdTZxTG9qWnk5S2pBa05OaWloSkVETUJCd3BsV3FVSlZFWXFaU213cVF3cDFSVnZsQzVjWE9xUlZtK0dEVEtkb1V1R3JWUlJFeVVabW1Ha2NaUmlwZ2dCSEVGcnl4TjRpeElDZVdFZ2FKWmthWUczTTVVMlpvbkxKZjNqVVBYR250bjdMaHBRTEt4ZFdOc2Q3K244clhOTHk4R1hmMEhCQ3BRQWhtVkJTaGttMEJGU244M1VHc2xHS052dkI2ZUh3cFVvalZMVTBGUlNKbEdqT2dZS1pFeFJJUWdJalVKeVhTNkd5aHIybnBoZGE5MzhDTmUvMFlFeTZLNmJWMFFWZGNwUFFObHM2NXJXdW43cWltR1dWbmtzdzdtcmU2SDdTMnN5VkRYY3pmaTMxRmZOLzRLYVkzTW9xb1JKa090dDJTMDl1K0luOVgyMXFSK0ZyQkVoeVpCbk5NRVhCUVJTdUtZSTZZenczVkVJb3dUbjhaK1FmeUFDWDhONVovRmlBRG91VWtMTmE3YXBiRUFUbXRBTmxkclozSUlRdnVYUVB3QVpvUFptcCtON3Y0U3lOWlFOcmdXYVhOcFZkVTJ0WFhvb0FuWVNEQ00yWkJFd1pEaVFBWXM1djdneXlidWs3cnFUQVd5bndkNi9iazVtS3BweXMyVjViZXBPNTVKV1Njd2NEZkMxL2E2cWtmSW95RUxQZXdkblhwSFo4d2pOQjVpK0NOdXVCMjFFQzJZN0JwNjlDQVM4V0ZFaDVTUUlSR0JHMHBHazB0Sk5xZkpkWFFqN1BVZjg1RmFwRVh0aFhDT0krLzg4c3dmWDUxNUJETlB3RHZ3Q0NFZTRXQ2VleUtHSG1pNVRnNDQ4SGVNcXBIdGRJTnNXM3d5Vyswc2tYLzNWbWdPd09FOGV4QUJyNFViUWFidHpMTkczN21QdGZnS3RVVmVLVGhhK2UvTmV0SXRuUmZ4dWwxb2d4YVpWYm4wUHh6blQzM05NcFZ2N3ZDN1czMDFyaXR6TlQxVXg1Zjc3MTd5S1I1dm9ad3ZWdXVXVmxWYXBLb3pFbHozcHZ0bkhsem9PTVlSQzhoWFRtK0MyTjBETnB1Vks4K3FOTFVRTkJEZ3NHU2haOTJPV1l2dGFxZGIya1BoUXJ5clBmNHg3ZkhYMmlsZ2QyNHAzWUVGQ2xzaHd2R09CY2d1SWYyK2hWNXMxd0w5a3kzQXZ1c2pSR2pJcWNBa0RyMlFEZ21CUThmNVVFUWVuRG5SNjdZRzhzMkQ3dWNBdGxiQU83bWNucDhlN1FQY01NSWhqMElTQzhETUdkczFUWjlNY3hGRjlIOHlIVCthanVJUWxqc0drWkRGZ1dBMDJOa1ljTFQ2d0RhcWJRRUE0M0JWUlRqNkNrQ0lneWo2TVFSTUFOcGRLL1QvWUNYYzJvYk9TTWhGUVBBZmJvVCtXVVpLbFpoU3psVlJvZjdhWFBmT2kxU1NoeXNyV1JwVjVyVXR1dGxjSmt2dE5VcmZtcTVSaGZXV0pvSExaWVBYM2pkZERjZCtmSEJ4TXptNUFTSjM4K3BrUExtNWVEVW1OeHg3UlFVWG41SHZEOHV6OFhneC9kZkhLcGhoVlgwNFZjMkhsLzg0bWRXWHVqMmY1djVia3gxZFRLOStvZjhPeUMva0FjaEdQZjJlK3Vwb1BIbXR4NGRNdkpxeGVWWk8ycGY2NUZEYzU3NDJ5YUxGcTlONU9iOHYzL1hxSCs3SFpxNGFTQ2ZNdXpoNmMreTdWSW1mRFFudlpVeXB6Ny91ZHdtbG43STdBbW5tNHVqODRIUmJXemJ2MWlOSjBWbFkyZEd1SmJnbHdaVFlVcmlleEQxVlZXYVZqS3I2bVR6MnppWW4wMTM3M1BXUGQvc2g1NTBmN0gvTEU5aklwalROREhJSU1uZVEwWGN3Z0FoR0pIbytML0FtcDk5eW43ditiL2hIc1J0Z1R6T2FycGpEYmZ0Z0NYS2pzWTBGTmkzYm1VSTBqRHpHSklsbHVDLzN4cEpQNUlUS1NTUVBZN2tmU1JGS0FkOUNUb1NrWEI3c3U0OHhsdEZFa2owNU9aVGhuZ3dtVWdReXBuSk1KQXZrNGFFVUUzbEFKQjFMc2kveFpoT1lWZGZqOHh3MWs5ZndMSmZMNFhxREQydWJYMStiRlpCa3dGcDE3ZlUxdUlObXFZVloxOWNxYVpITDNjaDU4a3hiOEtUdGtiWDlqcUpNdGQxTkF1ZCtXYVRkN0NZekprM2dzUDBOU2gzSGlXNkNSeHJSV28yQXNPV1FabDF0NFY1dTdJRVd2ekg1dW9TSU5BMUV6QkNqUkNFV2NJRjRURUlFWGRpd1dCc2xIUDB6TFpTYlBXZDdxL1hDUXZEengzcWlNc3UzV2VZNGR0OEJCQkRZNGJHNWQ5UnZ3OVg2MWlENEVPYjVsTktEeWZuUG4zajdtczJxa3pmTDBRajBRMWtETndiSStORXllWGUzUEx3dDNzZWZQcFluWWZLYWZIUXlvTllDY0tCTERzWFp1aDRwVEYrQUZPMzVabWhjbHZVU3lreloyWVg1QW5PQWU3clk5TkNQcXJ1aWU2eVZ0MGNjV2JWMVdmYUZ3bi9JdkVITkUvZUd4amI3aHFiLzZ2ajF4WlMrZmMvd3BKdE5qMi9IckxqaVMwZXJmektqS09BVVIyRklJU3NLWUJBMGhtQVU3Y21pN0lvenFQWWdiSnNvRisyZXJhR2NoZzN3RkdpbzhSYjVOdE9HL3duMHk1b0ZVTGN4VHFHbTFFRDFvWkJHU1dBNE1vU0ZobVpRNjhXdVR2MnZDa3F3bTl0NjBmUjJWMkMzcndkL0JjRGt6ekNSRUFBQSIsInNoclRva2VuIjoiZXlKaGJHY2lPaUpTVXpJMU5pSXNJblI1Y0NJNkluQnZjQ0o5LmV5SmhkQ0k2SW1WNVNqQmxXRUZwVDJsS1MxWXhVV2xNUTBwb1lrZGphVTlwU2xOVmVra3hUbWxKYzBsdVp6RmtRMGsyU1dreFRGTlVUbEpQVnpWUFZXcGthVlZ0T1cxbFJ6RnNWMjA1V1dOWFNrbFhhMlJzWkhsSmMwbHRkSEJhUTBrMlNXa3hURk5VVGxKUFZ6VlBWV3BrYVZWdE9XMWxSekZzVjIwNVdXTlhTa2xYYTJSc1pIbEtPUzVsZVVwb1pGZFJhVTlwU21sT1JGWnNUVVJyZDFsVE1XdFpWMHB0VEZSUmVFNUVWWFJaVkVFeVQwTXdkMDlIUlRSTmFteHBUWHBDYkU5SFVXbE1RMHB3WXpOTmFVOXBTbTlrU0ZKM1kzcHZka3d6VGpCamVUVXpZVmMxYTJJelpIcE1iVFZzWkVNNWFscEhUVEZaVjFac1dWTXdlRTVYVFRGTVZGSnJXV3BaZEZscVFUTlBVekZ0V1RKR2ExcEVTVEZOUkZacldYcEpka2xwZDJsaFYwWXdTV3B2ZUU1cVp6Rk5WRVV6VFZSQk1FeERTblZaYlZscFQycEZNazlFVlhoTlZHTjRUVVJSYzBsdFZqUmpRMGsyVFZSWk5FNVVTWGROZW1kM1RrTjNhVmxYYkhaSmFtOXBVbFJLWVZveGJFOWhhemxRWld4Q2RscHJhR2xUZW1oNVQwWndjbVJ1VWpGT01HUXdUVlZLYmxGVU1HbE1RMHBvWTBoQ2NGcERTVFpKYlVWNldWUk5lbGw2U21oTVZFazFUMGRWZEU1RVJtdE5VekExVFZSTk0weFhSVEZPUkZsNVRXMVZNazlFUm1wWmVVbHpTVzFHZDJOSGJHdFpWMDU1U1dwdmFVMXBTWE5KYlU1MVdtbEpObVY1U25Ga01uTnBUMjV6YVdFelVqVkphbTlwVld4T1FrbHBkMmxpYVVrMlNXNW5NR1Z1VG5KU1JGWnRXbFpTWms5VlJsRllNamt3WlZjNU0xUXdkRkZrUld3MlRtMDVOVlZzYUVka1ZqbHBWRE5rZDFwVlVraGxSVW95VFRKYWQxSlZVbGxaYTBsM1pGZGFRazlFYkRCYWJHdzJVV3BrZEZWWE5EQlphM0JyVkZSR1RsWlZjSEZPYmxaM1ZVVTFXRk5XUm5wWk1sWkZVMWRrV1ZOSFpFWlJWbXgxVXpGR1NXSnNRbFJrYTA1TFpVWndkRmt5Vmtaa1NHZzBVekJ3YzFKNlRqSlhhemg2WVZWd1RGUXdXa05SV0VWM1dtMXNlVlZJUWxGTlZqa3pWa1JzYzJReE9VSldWR00wVWtaR1IxUldRblpZTVd3MllrZEtOV0pzWkZSaVZtUkNZV3huZUZKWVVsZGpha1p1WVROT1VtSjZhM1JPTURsMlRUTm9iMkZWY0cxWmJGSlFVMGRHYTFwSFNscE9SbFUwVlZoR1ZGSnNaSE5pV0ZaMFlqRkdjMUpGU25aYU1rbDNZak5qTUZwVlpFZGFSR1JxWTNwWk5FMUdUWGRYYW1SRllVVkdlVmxZVG1sWFZ6ZzFWVEprUlV4VlJuTlBWMHBxVTFkT1RsRXdaRFZoUjBaNFlrVk5kMkV5V2tWVk0wNUVWa1pPVVZWV09XMVRWV3cyVDBSU01HVkhaRlJOVlU1SFVtMDVhVk5ITVVaV2JFcE9aRmRSTUZaSGFFbFZWbVEwVFZVMWQySXpiSFprU0ZvMFZGVldlVlpFV21aWFV6Rm9UVmhHUkU1R09WcE9SWFExVlZOSmMwbHRWV2xQYVVwQ1ZWVkdRMGxwZDJsWlYzaHVTV3B2YVZWc1RYbE9WRmxwVEVOS2NtRlhVV2xQYVVreFRGUk9jMlJxYkZOa1NFa3hWMVJTUWxwRlpFdGlSWFJVWW1reE1tSkdWWFJrVld4SlQxVmFORTFXWkcxWFJFNUlWRWhLVkZwSGJGSkpiakU1VEVOS2NGcElRV2xQYVVwdlpFaFNkMk42YjNaTU0wNHdZM2sxTTJGWE5XdGlNMlI2VEcwMWJHUkRPV3BhUjAweFdWZFdiRmxUTUhoT1YwMHhURlJTYTFscVdYUlpha0V6VDFNeGJWa3lSbXRhUkVreFRVUldhMWw2U1haSmFYZHBZakpzYTBscWIybE5iVTB6VDFkT2FVNTZaM1JOTWs1cVdWTXdNRTB5Vm1sTVYwcHNXV3BKZEZscVFUVk9iVlpwVDFSSk1FNXRSVFJKYVhkcFkyMW5hVTlwU1hkTWEwWlRVMVZGTW1OVVpFZGxiVTVXVm01U2NrMXVaR3hhYm13d1RVZDRRMXBJWkc1aU1IQlpZMnhPWmsxdGRGZFJiVGxJV2pCc2VGRXlNVFpTUnpoM1ZUQkdRbEZUTkdsTVEwcDZaRmRKYVU5cFNYbFplbU0xV1RKSk0wOURNSHBaTWs1b1RGUlJlbHBYU1hSWmJWWnBUV2t4YVUxRWF6SmFWMGsxVFdwUk1sbFVaMmxNUTBvd1lWZFJhVTlwU21wYVIwMHhXVmRXYkZsVE1IaE9WMDB4VEZSU2ExbHFXWFJaYWtFelQxTXhiVmt5Um10YVJFa3hUVVJXYTFsNlNXbE1RMG94WkVkcmFVOXBTbTFsV0ZaWlVsaGtXbFpYV1hkalZYaHdaRE5vUm1KVmFIUllNRVpDU1dsM2FXUnRWbmxKYW05cFRWTTBkMGx1TUM1d1JtUklMV05IVVhkRFExcE5OREJmVjBOQldFbG1aak0xYmtZM2RFbzBabUp1YVcweVZIaFdiVXBpTkRSQmVrMWhaMjV1ZGtoTmVGUlpXVU01TjNsRU0wazBRbTFWVldKc2JrMVdOVmRKYWtSeVRVSlRabFJ3TW1zM1kxSjRaR2s1Ym5SVVEwWXdhMlZoU2taU01VUlJOVE5JVFVab1ptbHBZekpETmw4dGJGOVpRVFpLV2sxWlMwNVFhREY0VDBWb1ozQnlhbWhyVG1sbVdqQlBYMlZtU2xkaU4ycHVjbFZVY0RCVFVGZzFSMHRtVm1Ga2JqQnpiVlZ5YWs5SUxVSk1NMlpaWjBrNFdqWktSMGxWTUU1RlZuRktkVlUyVUUxdmVIRnhWMXB0TTNSNFMyUm1SV3Q1YUhRMU1GZ3RNbTVVV25aMGFETkhVVFIxYkhwak9GQXdRelZtU2xaak1IWjFSRzQxV0RjNWRYaDBXRk5tU0d0VU4wMVNZelJpTWpVeFRsbE5WRWRGYTNab05uY3dSRmt6UzBReFNGZHZka1U0ZWxNMlEwSldjMFp3Y1VGbVVGRTBhRnBZWlVnM1UwMHhUV1pYYm1jaUxDSjBjeUk2TVRZNE5URXpNakE0TWl3aVlpSTZJbVp3VTNVeU5XUmpSRVUwY1VaT1QwdE1iRFpaWDFGS1dtaERkQzFuYjNJemNsSmlka2xuT1dnM2NYTWlMQ0p1YjI1alpTSTZJamc0TURjMU9UYzVZalF4TWpReVl6YzVabVJsTlRBMk16azVNalF3TXpRNUlpd2lZMjVtSWpwN0ltcDNheUk2ZXlKcmFXUWlPaUk0VnpONGIzTkhTR0oyZUZSQlEwdENkVVI0T1c1UVlrSmlOMWRtUWtkWGNWRlhRME55TVc1bExYa3dJaXdpWlNJNklrRlJRVUlpTENKcmRIa2lPaUpTVTBFaUxDSnVJam9pZURSNmMydEVOV1psVkY4NVFWQmZiM1I1YjNkUFMxQjBTWG8yYjNsU1dFWjFYMkpQZDNCbFJFZDRRbll6Wm5CRlJGaGlRakIxWmtFNE9YUm1XWHBDTjIxUmJqUmlTbVJOTVUxVlNtbzJkWEJRVGxkSlVYTmpaVVJKWjFoSVowVkJXVzVMVVVodVVGTjJRMHA0V20xalpVVjBlSGhMU214SE0zWmFUek5wU2t0UFJrSkJjVEJtYVhKUWNGQXhYM2RVT1d4M1gwRlZOemhFVVVaTlVHOWZXWHBzWW5sdVYxTnRWMEZxV0RGRmRGWnlNV2RyYzFGdk9TMDNUMjh6ZUdocFNtWmlWRTlJWVdSa1lsazBWVGhSY1ZOR1YyeHRkVzF2VVd4RVFtOW5ZakJ2ZHpSbFIwWmtOMk56Tmpnd1V6QmFOMFJvUVhKaGMySlpiemxUWjBRdFFXdzVZbU5KWTAxRFIzbG9ZWEZzUXpCclprUlRjME5VVTFCUlgyWkpTWG80TkhSNFoxTXhRMFpHYjJKSWJVVldVazExWkRSVWFFaFJWM2d4VG5CdmVXOTBkbmhOUlhKVU5sOVpMV0V4Y1VNMFgxazBTM2xSSW4xOWZRLm5JY3pmbW5veWUtMDZZcGQ0bl90dWh0T0hJTXI2Zmdqcm1lWE95cUxiTy1BNzFjZHU3UmRxYTRacFZYTEVkVEJvb285LV8xTlhnSUpQdHBvdkEzUHhVOWE2eVNfSmhVMVI5UzJfZmFZNjYxTFRpU0M5ZURxd2ZxZHlXRGMtRzVXRUlwRFpSQnZ1c3k0YThVei03QlFfYk9iZzhxa2pvMlNTaG9IMGpUUDVULU5VUTdSMTQ5WHRMcC04TGFqMHZGQ3Q2TEhUTDlEQWt4cVpLaWpLbDlwTHhzNmJhankyNmltQU1pR2hMaDc0UjBkM2pkMWVzS1FuWk42Q2JvOWdubmhiMUwteXRkcE9PTzdFSHZHUjdGdG9JLTluSUt0VXg2UGc0RGlzWUJuWkl4OUxLX09Qdzd6b2Y4Y016My1nRzN2Ql9kdnBqOUEtUTJvUDJaRUloUlp5dyJ9.\u0022,\u0022correlationId\u0022:\u0022f38d4482-00cb-4c06-b3e8-e145e2f5077c\u0022}",
+ "messageId": "143185a38b0b4a5b926ad0c7ceb82336",
"partitionKey": null,
"sessionId": null,
"replyToSessionId": null,
@@ -11,13 +11,13 @@
"contentType": null,
"replyTo": null,
"applicationProperties": {
- "Diagnostic-Id": "00-008d8f07a0b6a0079b6ff63060e1add5-fbe662959019253c-00"
+ "Diagnostic-Id": "00-aefe132521c390779c3e7f65c4d7cdc4-4717dc8cb7e47274-00"
},
"enqueuedTime": "0001-01-01T00:00:00+00:00"
},
{
- "body": "[{\u0022id\u0022:\u0022Sanitized\u0022,\u0022source\u0022:\u0022calling/callConnections/401f3500-18a6-4ec3-8c05-415a2f0a3c09\u0022,\u0022type\u0022:\u0022Microsoft.Communication.CallConnected\u0022,\u0022data\u0022:{\u0022callConnectionId\u0022:\u0022401f3500-18a6-4ec3-8c05-415a2f0a3c09\u0022,\u0022serverCallId\u0022:\u0022aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDIuY29udi5za3lwZS5jb20vY29udi93RExtMll6WEFFLXVZOThYVWJmVDl3P2k9MjAmZT02MzgxOTI3NTY3ODYzNzY4NjM=\u0022,\u0022correlationId\u0022:\u00225c23d0a4-95b7-46c9-a9fc-ebb0ec772d26\u0022},\u0022time\u0022:\u00222023-05-10T18:28:00.1649744\\u002B00:00\u0022,\u0022specversion\u0022:\u00221.0\u0022,\u0022datacontenttype\u0022:\u0022application/json\u0022,\u0022subject\u0022:\u0022calling/callConnections/401f3500-18a6-4ec3-8c05-415a2f0a3c09\u0022}]",
- "messageId": "856b0bec10974dfa9fc381f23c2cca27",
+ "body": "[{\u0022id\u0022:\u0022Sanitized\u0022,\u0022source\u0022:\u0022calling/callConnections/421f1200-0b6d-4499-9060-01d269293aa1\u0022,\u0022type\u0022:\u0022Microsoft.Communication.CallConnected\u0022,\u0022data\u0022:{\u0022callConnectionId\u0022:\u0022421f1200-0b6d-4499-9060-01d269293aa1\u0022,\u0022serverCallId\u0022:\u0022aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC94LWNvbnYtZXVuby0wMS5jb252LnNreXBlLmNvbS9jb252L0hLSlNVMk9XNDBDdGhVS2tBNGlWOHc/aT0xJmU9NjM4MjA2NTUyNjc1OTIxMDI3\u0022,\u0022correlationId\u0022:\u0022f38d4482-00cb-4c06-b3e8-e145e2f5077c\u0022},\u0022time\u0022:\u00222023-05-26T20:14:47.9489239\\u002B00:00\u0022,\u0022specversion\u0022:\u00221.0\u0022,\u0022datacontenttype\u0022:\u0022application/json\u0022,\u0022subject\u0022:\u0022calling/callConnections/421f1200-0b6d-4499-9060-01d269293aa1\u0022}]",
+ "messageId": "da698ed5a44d4f7f9d6cb999d931ce41",
"partitionKey": null,
"sessionId": null,
"replyToSessionId": null,
@@ -26,13 +26,13 @@
"contentType": null,
"replyTo": null,
"applicationProperties": {
- "Diagnostic-Id": "00-a00cef52d5986dc3ebd3b62499f933c6-5dd3109c4772628a-00"
+ "Diagnostic-Id": "00-f0b5044470fac60edae5104cc63c09df-84c219e7be74b8fb-00"
},
"enqueuedTime": "0001-01-01T00:00:00+00:00"
},
{
- "body": "[{\u0022id\u0022:\u0022Sanitized\u0022,\u0022source\u0022:\u0022calling/callConnections/401f3500-18a6-4ec3-8c05-415a2f0a3c09\u0022,\u0022type\u0022:\u0022Microsoft.Communication.ParticipantsUpdated\u0022,\u0022data\u0022:{\u0022participants\u0022:[{\u0022identifier\u0022:{\u0022rawId\u0022:\u0022Sanitized\u0022,\u0022kind\u0022:\u0022communicationUser\u0022,\u0022communicationUser\u0022:{\u0022id\u0022:\u0022Sanitized\u0022}},\u0022isMuted\u0022:false},{\u0022identifier\u0022:{\u0022rawId\u0022:\u0022Sanitized\u0022,\u0022kind\u0022:\u0022communicationUser\u0022,\u0022communicationUser\u0022:{\u0022id\u0022:\u0022Sanitized\u0022}},\u0022isMuted\u0022:false}],\u0022sequenceNumber\u0022:1,\u0022callConnectionId\u0022:\u0022401f3500-18a6-4ec3-8c05-415a2f0a3c09\u0022,\u0022serverCallId\u0022:\u0022aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDIuY29udi5za3lwZS5jb20vY29udi93RExtMll6WEFFLXVZOThYVWJmVDl3P2k9MjAmZT02MzgxOTI3NTY3ODYzNzY4NjM=\u0022,\u0022correlationId\u0022:\u00225c23d0a4-95b7-46c9-a9fc-ebb0ec772d26\u0022},\u0022time\u0022:\u00222023-05-10T18:28:00.1649744\\u002B00:00\u0022,\u0022specversion\u0022:\u00221.0\u0022,\u0022datacontenttype\u0022:\u0022application/json\u0022,\u0022subject\u0022:\u0022calling/callConnections/401f3500-18a6-4ec3-8c05-415a2f0a3c09\u0022}]",
- "messageId": "b36f622d29554e219654627d1c6cf61f",
+ "body": "[{\u0022id\u0022:\u0022Sanitized\u0022,\u0022source\u0022:\u0022calling/callConnections/421f1200-0b6d-4499-9060-01d269293aa1\u0022,\u0022type\u0022:\u0022Microsoft.Communication.ParticipantsUpdated\u0022,\u0022data\u0022:{\u0022participants\u0022:[{\u0022identifier\u0022:{\u0022rawId\u0022:\u0022Sanitized\u0022,\u0022kind\u0022:\u0022communicationUser\u0022,\u0022communicationUser\u0022:{\u0022id\u0022:\u0022Sanitized\u0022}},\u0022isMuted\u0022:false},{\u0022identifier\u0022:{\u0022rawId\u0022:\u0022Sanitized\u0022,\u0022kind\u0022:\u0022communicationUser\u0022,\u0022communicationUser\u0022:{\u0022id\u0022:\u0022Sanitized\u0022}},\u0022isMuted\u0022:false}],\u0022sequenceNumber\u0022:1,\u0022callConnectionId\u0022:\u0022421f1200-0b6d-4499-9060-01d269293aa1\u0022,\u0022serverCallId\u0022:\u0022aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC94LWNvbnYtZXVuby0wMS5jb252LnNreXBlLmNvbS9jb252L0hLSlNVMk9XNDBDdGhVS2tBNGlWOHc/aT0xJmU9NjM4MjA2NTUyNjc1OTIxMDI3\u0022,\u0022correlationId\u0022:\u0022f38d4482-00cb-4c06-b3e8-e145e2f5077c\u0022},\u0022time\u0022:\u00222023-05-26T20:14:47.8551793\\u002B00:00\u0022,\u0022specversion\u0022:\u00221.0\u0022,\u0022datacontenttype\u0022:\u0022application/json\u0022,\u0022subject\u0022:\u0022calling/callConnections/421f1200-0b6d-4499-9060-01d269293aa1\u0022}]",
+ "messageId": "618d88a4510a4a458153b1775a502856",
"partitionKey": null,
"sessionId": null,
"replyToSessionId": null,
@@ -41,13 +41,13 @@
"contentType": null,
"replyTo": null,
"applicationProperties": {
- "Diagnostic-Id": "00-88bfcf133e1b1050331cea5ad8fc3959-3768960d0aca0729-00"
+ "Diagnostic-Id": "00-0218ae645630e4b0a4d0114e67ccdb5d-4df71995a265244c-00"
},
"enqueuedTime": "0001-01-01T00:00:00+00:00"
},
{
- "body": "[{\u0022id\u0022:\u0022Sanitized\u0022,\u0022source\u0022:\u0022calling/callConnections/401f3500-18a6-4ec3-8c05-415a2f0a3c09\u0022,\u0022type\u0022:\u0022Microsoft.Communication.RemoveParticipantSucceeded\u0022,\u0022data\u0022:{\u0022operationContext\u0022:\u0022MyTestOperationcontext\u0022,\u0022participant\u0022:{\u0022rawId\u0022:\u0022Sanitized\u0022,\u0022communicationUser\u0022:{\u0022id\u0022:\u0022Sanitized\u0022}},\u0022callConnectionId\u0022:\u0022401f3500-18a6-4ec3-8c05-415a2f0a3c09\u0022,\u0022serverCallId\u0022:\u0022aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDIuY29udi5za3lwZS5jb20vY29udi93RExtMll6WEFFLXVZOThYVWJmVDl3P2k9MjAmZT02MzgxOTI3NTY3ODYzNzY4NjM=\u0022,\u0022correlationId\u0022:\u00225c23d0a4-95b7-46c9-a9fc-ebb0ec772d26\u0022},\u0022time\u0022:\u00222023-05-10T18:28:01.4149362\\u002B00:00\u0022,\u0022specversion\u0022:\u00221.0\u0022,\u0022datacontenttype\u0022:\u0022application/json\u0022,\u0022subject\u0022:\u0022calling/callConnections/401f3500-18a6-4ec3-8c05-415a2f0a3c09\u0022}]",
- "messageId": "40d59a0145724ea8b8647d0e3afb7e70",
+ "body": "[{\u0022id\u0022:\u0022Sanitized\u0022,\u0022source\u0022:\u0022calling/callConnections/421f1200-0b6d-4499-9060-01d269293aa1\u0022,\u0022type\u0022:\u0022Microsoft.Communication.RemoveParticipantSucceeded\u0022,\u0022data\u0022:{\u0022operationContext\u0022:\u0022MyTestOperationcontext\u0022,\u0022participant\u0022:{\u0022rawId\u0022:\u0022Sanitized\u0022,\u0022communicationUser\u0022:{\u0022id\u0022:\u0022Sanitized\u0022}},\u0022callConnectionId\u0022:\u0022421f1200-0b6d-4499-9060-01d269293aa1\u0022,\u0022serverCallId\u0022:\u0022aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC94LWNvbnYtZXVuby0wMS5jb252LnNreXBlLmNvbS9jb252L0hLSlNVMk9XNDBDdGhVS2tBNGlWOHc/aT0xJmU9NjM4MjA2NTUyNjc1OTIxMDI3\u0022,\u0022correlationId\u0022:\u0022f38d4482-00cb-4c06-b3e8-e145e2f5077c\u0022},\u0022time\u0022:\u00222023-05-26T20:14:50.2614342\\u002B00:00\u0022,\u0022specversion\u0022:\u00221.0\u0022,\u0022datacontenttype\u0022:\u0022application/json\u0022,\u0022subject\u0022:\u0022calling/callConnections/421f1200-0b6d-4499-9060-01d269293aa1\u0022}]",
+ "messageId": "a44563218ffc450f8f38db649b382496",
"partitionKey": null,
"sessionId": null,
"replyToSessionId": null,
@@ -56,22 +56,7 @@
"contentType": null,
"replyTo": null,
"applicationProperties": {
- "Diagnostic-Id": "00-233c71f05877cb7f3b7ae59a13f23c55-71080373753e1c01-00"
- },
- "enqueuedTime": "0001-01-01T00:00:00+00:00"
- },
- {
- "body": "[{\u0022id\u0022:\u0022Sanitized\u0022,\u0022source\u0022:\u0022calling/callConnections/401f3500-18a6-4ec3-8c05-415a2f0a3c09\u0022,\u0022type\u0022:\u0022Microsoft.Communication.CallDisconnected\u0022,\u0022data\u0022:{\u0022callConnectionId\u0022:\u0022401f3500-18a6-4ec3-8c05-415a2f0a3c09\u0022,\u0022serverCallId\u0022:\u0022aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDIuY29udi5za3lwZS5jb20vY29udi93RExtMll6WEFFLXVZOThYVWJmVDl3P2k9MjAmZT02MzgxOTI3NTY3ODYzNzY4NjM=\u0022,\u0022correlationId\u0022:\u00225c23d0a4-95b7-46c9-a9fc-ebb0ec772d26\u0022},\u0022time\u0022:\u00222023-05-10T18:28:01.7743192\\u002B00:00\u0022,\u0022specversion\u0022:\u00221.0\u0022,\u0022datacontenttype\u0022:\u0022application/json\u0022,\u0022subject\u0022:\u0022calling/callConnections/401f3500-18a6-4ec3-8c05-415a2f0a3c09\u0022}]",
- "messageId": "750c11ab9e4541a1a20459d09a5788f1",
- "partitionKey": null,
- "sessionId": null,
- "replyToSessionId": null,
- "correlationId": null,
- "subject": null,
- "contentType": null,
- "replyTo": null,
- "applicationProperties": {
- "Diagnostic-Id": "00-a2904e5fc9787cebb0569c227e1cd2ec-46c55b40995d4470-00"
+ "Diagnostic-Id": "00-47a52e29845fcd34ca14fe738bf5fd9e-1d0f805a7bb543d9-00"
},
"enqueuedTime": "0001-01-01T00:00:00+00:00"
}
diff --git a/sdk/communication/Azure.Communication.CallAutomation/tests/SessionRecordedEvents/CallConnectionAutomatedLiveTests/RemoveAUserCallTestAsync.json b/sdk/communication/Azure.Communication.CallAutomation/tests/SessionRecordedEvents/CallConnectionAutomatedLiveTests/RemoveAUserCallTestAsync.json
index 02d13a249b80c..0ed8ed141d919 100644
--- a/sdk/communication/Azure.Communication.CallAutomation/tests/SessionRecordedEvents/CallConnectionAutomatedLiveTests/RemoveAUserCallTestAsync.json
+++ b/sdk/communication/Azure.Communication.CallAutomation/tests/SessionRecordedEvents/CallConnectionAutomatedLiveTests/RemoveAUserCallTestAsync.json
@@ -1,8 +1,8 @@
{
"entries": [
{
- "body": "{\u0022to\u0022:{\u0022kind\u0022:\u0022communicationUser\u0022,\u0022rawId\u0022:\u0022Sanitized\u0022,\u0022communicationUser\u0022:{\u0022id\u0022:\u0022Sanitized\u0022}},\u0022from\u0022:{\u0022kind\u0022:\u0022communicationUser\u0022,\u0022rawId\u0022:\u0022Sanitized\u0022,\u0022communicationUser\u0022:{\u0022id\u0022:\u0022Sanitized\u0022}},\u0022serverCallId\u0022:\u0022aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDIuY29udi5za3lwZS5jb20vY29udi9Dek9ZZU1ETWhVLXo2SFhoaTBTZ3lnP2k9NCZlPTYzODE5Mjc2NzYxNTIzODI1Mg==\u0022,\u0022callerDisplayName\u0022:\u0022\u0022,\u0022incomingCallContext\u0022:\u0022eyJhbGciOiJub25lIiwidHlwIjoiSldUIn0.eyJjYyI6Ikg0c0lBQUFBQUFBQUNzMVkrMi9iT0JMK1Z3UWZzRDljUzV1a0hxUUlHQWZIaVZzM2o3cDVkTGVMNEFLS29tVFZzcVNsNUZlNi9kOTNLRHVKVS9lNnZic3RzQXFpaU9Sd3ZtK0dqNW5KcDQ2U2VYNVJObG1TS2Rsa1pkRVJuenFKS2VmMmJ4WjNSSWNMcVdwQm9saEtHb1VvOURGRG51OVJGRVdCaHlTTEtGVVlTeDU3ZDdoOUNFY3lVREZ5SldQSWpkMFFjZTFLSEdNY0U2WTdMenR4VmxlNTNGekl1UWI5MEtHTHVDcXpvaGxiUEJyaWhDZGFJUytNSlBLa0JCQS9aQ2lodnArRW5tWTRjV0ZPTG90MElWTnQ1eFNMUEgvWnFhUnBNcFZWY3FkSU01VlFnaFdLWlJJaUQ4Y004VEJLa0l4WUZIbytWYkgwUWRFMGkyTU5aaWN5ci9VVGwrdE5aZG5WMml5MUdWUVZTRmFtckxScE5rY3kzV0orZnRscHlyL0NVVG82Y0ZUeXA0N2FLc0VZZmVYMThIeVhvMExpSy9CcWhFTHFCOGdqbUlPamRJS1NTQ1dNSmlya3NYdm9LS1ByY21GVXE3ZnpQVmIvQncvbVdUR3JyUk5sMDBnMUJXWFRwcWxxMGV2Skt1c21lWlpPRzVpMzNuVHJHYXhKVjVWek85SmIwcDZxZWtxaFJiM1NDQk5VeDdDMnM3cXIxSjZrVXIwbDZTV2xtZW00aDVsTHNZNEM1SU81c0NNOGduaWdDTUtlSmxwVHloSVo5eWpyWmFUbmVtRnZTK2hmV1o5Z0ZHQkVQRVJDNjlHNWpqTTVLQURXQUZ1bGdPcGNicTFMd1N2MTM4aUVCMHFIUmhqOVVhdm1iMFIxUytpUTZDS3VybzBzNnFvMGxpNDBnYXhQdTRUWVg2L3Jlc0wxR085MVB1OVdabGdXalM1QTlsTkhiVDkzWjFsV1ZiNjc1WHAxYkU5MGxKY1JEQ3o3K05iY0ZtVWZPY1RGQWZFZDdJd3ZuUEhFY3dobFhRdy94QXJVL1JwOENkTnRRL1YzSWg3dThxQkxBdEwxcVIySStzTnJRWFlIMEhZMGZleTBIL08rWE1SWjZmallEd0xuOG5yU0c3eWZPQVI3VGdodjF5R0VPSVFET0hkQ0JqM1FzcDBjV09CdlFzcSthVlNGVEozZDY3MTJFb2wvT21zMEI5SndBVGhndjFQREZTTGlldW9ZclpiMll5dStSbldXRmhMT1l2cXRXVSs2aGJXQmJkdVowbWlSR0prS0hiMllQdlZWSzVnMGE1SlIrTjRsVVQ1T1ZrVnhkcmw1ODRwY1puc3M1NHYxdHFWa0VXZXhiTFFBdzUyYjQ0bERZVGtZRGp5WFBETjU1OEJtQTh4TWtxOGRJK1BZZ01PNmxIQllySUE0eG02WHJkeWhjcnFuM0EvQnZ3ZksyWGNxWjE4cXA4RGNHaVZWQXdBUWZuQ0EyUmNBSGx5NDlEc0FXcmxEQVBwakFXREh0ZTRoMU9jUWl3bnpuZmEwZVYzQ2VaZGczNEhqRnJiYWpZYm90TlArak1DZTk1M3o2NXZMaS9HeDR4S1BrSUI3bEFRZUNSaWpubmNJVForZ2VSZ0U5UCtCWm8vUUZLeUFoZllBbkpFZ1lNRWhOSnowMXEyVnJHdkE5emdCZUJ3OHh3YzZKQWpwZHhFZ3NHa1BRZWlQQi9IM2RxREY4SG5vRXZ4WFk5QWZoSkhMU09kaUxyTUN0WGZsdG5lZXhXSW5zRWJSU3NzOExVM1dUT2NpV2ltbmttcW1tMHBteGxucENPNlVIVjJ6cVpvU2p2dmc1T3B1ZUg1SEtMOTdmVDRZM2wyOUhwQTdqcDJzZ1B0T0MvYnJ6OHZKaGJ0eGM4T09xMWdXZERBWjRRVTVHeTFuNy9sNmZobzNIK09qYXZZNy9iZExmaWNQUkhicTZaK3BmNFd2UHN5SzMyYVQwOUhaZlg1Vi96YXF5Q3YzV0wwZDk5NlY5Kzl1N3VrSFBrL2pkYXYrNFZxczVyS0NHT0k1VitPejB4NEpkcEhrY1NoMFhqRktlL3pMZmh0RjJpbUhJeEJicnNhWEp4ZjcycEo1c3gySnNzYkF3dllQa2VCMkJLaHdUK0YyRW5ka1VlaDExQy9LWi9MWW1RelBidzd4dWUwZkhQWkRvTHM4T2Y2YUpiQ05kYTZyYVZsb3BKY1F4Zzg0Z0Fna0NzSHplYTR6dlBpYStkejJmOFUraXUyQTl6U2phckk1M0xNUFNCQVN0YWtNWk4yaW5rb0VLYkl6WW1JWUNNYkZFUk00aEZBb1hDSkNDb1RFMEJlZUswWlkwSkZ3QjJMZ2lSUGZpaDI1SW9EbVFCd2ZpK0ZBOENNeFBCSHVpY0JVSElXQ2N4RlFFYmlDbllqUllBdXMxMDNMejdFSm1yaUZaN1ZhZGJjYnZGdWE5UFpXcnlHWkJxNUZVOS9lZ2psb0dodVlkWHNyb3hyWmtJMnNKYyswdVUvYUhyTzJieWhLWk4zY1JYRHNWMW5jVE84U3JlTUlEdHMvb0NTeWFkQ2QrNWc5MUVZaHlOSlNDSysyQnJFdk8vYVFMWi9wZEZ0cUpDd09Fc1VRZGFFdzgyek5FeVZTb2xEREhjMWRiak01VytmVVVKYTJpZHBicFJZR25KOCsxaDJGWHIxTkVwdDZ0eDJROVVGS2VLbzNOdC9icFdkdHE3TTZQWDRkM3I4NFMwZlQ4dzhmcjE3OGZEUCtWYWY5UHVpSDhnZHVESkRKenQvb1luUUI5UWs1OVdoMWRqS3YzbVR2UUFiVUdpQU9XWkpsTWRuV0xabHVDNVdzdnR3TkRmSzhYR2t3ckRFTC9Sbm1RTUpwZmROU0h4ZkxySG1zcWZkSGJJWnF5anh2NjRmL0t2OEdKYnNNbk1KUXNkelB2YUhaRzk2Ly9hRFBqOCtuTitnK2VQM0xOTU5YNlNhRnBOcjdTZmNERndJT1pSRC9JT3k3blBvVVhKSFY1NHU4eVNaUUU0TFRkajdPNmlOVHlsakI4ais1T2RiUkl0MVBydUUvQisyaUtyalhKWUVhbTdnSzZzY0lTdHJRandoeWlldEtqbDBKa2QrV1IvOUwyUW00cVNrWFZZdTdCdHkyYXZ3RDFKTlR5cmNRQUFBPSIsInNoclRva2VuIjoiZXlKaGJHY2lPaUpTVXpJMU5pSXNJblI1Y0NJNkluQnZjQ0o5LmV5SmhkQ0k2SW1WNVNqQmxXRUZwVDJsS1MxWXhVV2xNUTBwb1lrZGphVTlwU2xOVmVra3hUbWxKYzBsdVp6RmtRMGsyU1dreFRGTlVUbEpQVnpWUFZXcGthVlZ0T1cxbFJ6RnNWMjA1V1dOWFNrbFhhMlJzWkhsSmMwbHRkSEJhUTBrMlNXa3hURk5VVGxKUFZ6VlBWV3BrYVZWdE9XMWxSekZzVjIwNVdXTlhTa2xYYTJSc1pIbEtPUzVsZVVwb1pGZFJhVTlwU21sT1JGWnNUVVJyZDFsVE1XdFpWMHB0VEZSUmVFNUVWWFJaVkVFeVQwTXdkMDlIUlRSTmFteHBUWHBDYkU5SFVXbE1RMHB3WXpOTmFVOXBTbTlrU0ZKM1kzcHZka3d6VGpCamVUVXpZVmMxYTJJelpIcE1iVFZzWkVNNWFscEhUVEZaVjFac1dWTXdlRTVYVFRGTVZGSnJXV3BaZEZscVFUTlBVekZ0V1RKR2ExcEVTVEZOUkZacldYcEpka2xwZDJsaFYwWXdTV3B2ZUU1cVozcE9la0YzVDFSSk1VeERTblZaYlZscFQycEZNazlFVFROTlJFRTFUV3BWYzBsdFZqUmpRMGsyVFZSWk5FMTZZelJPZWxsNVRsTjNhVmxYYkhaSmFtOXBVbFJLWVZveGJGRmFNMDUzVkVodmVXRjZTazVaVld0MldrUktUMXA2Vm1GTlJFSlpWbXRHUWxCVU1HbE1RMHBvWTBoQ2NGcERTVFpKYlVWNldWUk5lbGw2U21oTVZFazFUMGRWZEU1RVJtdE5VekExVFZSTk0weFhSVEZPUkZsNVRXMVZNazlFUm1wWmVVbHpTVzFHZDJOSGJHdFpWMDU1U1dwdmFVMXBTWE5KYlU1MVdtbEpObVY1U25Ga01uTnBUMjV6YVdFelVqVkphbTlwVld4T1FrbHBkMmxpYVVrMlNXNU5lRk5yV2pWVWJYZ3daVzFqTkdWc1pIWmFibWN5VDBWT05XRnFWazlpUkVwWFVtdEtZVk5WZEc5WGJrNDFUbXhKTTFwSFdtMWlSekY1VkVNd01WUnFaRE5oTWtwM1ZHcHNiRTlGY0VaYVJscHBWVVZvYWxkSE5XcFNSR2hwWWpCYVYxTnNTblJWU0VaTlYwaGthMXBHYUhOV1ZVWjRZbTVDVWxWWFRUQlJibkJoV1Zoa1IxbHVRazVOUkU0MlVWVjBiR1JzVlhsaU1qbGhWVVZTUTFaRVJuQmpWa0YzWkRKT2MxcEhXbWxXVkZKWVZYcHNlbUpIVWxCTVYwNU9aRmhPTWxWSVRtdGpia0pZVjBkTmVVeFlhRlJpVkZKSFYyNWFWMXByTVd4YWJUUTFWakZXVEdJeWNHNU9NVW93WkVWc1lXTXhPVmhYUlVaRVkxVkplRTlWV2s5VFZuQjJXVEZzUTFOSVFqRmxSMmhoWXpGc05VeFVSbGxXVjJSeVltMVNORm96YUhkU1J6VTBUWHBWTTFSWGNEWk9WRnA1VTBoa1RVOUZXa0pWUld3elZESjRVVlZYT1ZoU2EyODBWbFYwTTJSSGVIaGthelIzWkZVMWFFMHliR3BsV0ZKTFZtMTBiMXBYVWpKTlZrSTBWbTVrYTJGRmJFVlNSMmhPWVRGT1IxWnNTbTFrUnpVMVkydzVSazR5VVRSUmJFSTFXVzE0YkU5WFduTmtNM0JDVWpCS2VGSjZVVEZWYWtveVVUTkdWMVJyUmsxU2JVcDFXVEpPY1ZKSE5VbGtSVlp0VlZOSmMwbHRWV2xQYVVwQ1ZWVkdRMGxwZDJsWlYzaHVTV3B2YVZWc1RYbE9WRmxwVEVOS2NtRlhVV2xQYVVwU1RteGFNazVGUmpGTVdGVjZZMFJrVUdSdWNIVlNhMmhOVXpFNVdWWXpVblpOU0VwUVdIcHNkbHByYkZwU2FscHBWa1ZXYTFSRVRscEpiakU1VEVOS2NGcElRV2xQYVVwdlpFaFNkMk42YjNaTU0wNHdZM2sxTTJGWE5XdGlNMlI2VEcwMWJHUkRPV3BhUjAweFdWZFdiRmxUTUhoT1YwMHhURlJTYTFscVdYUlpha0V6VDFNeGJWa3lSbXRhUkVreFRVUldhMWw2U1haSmFYZHBZakpzYTBscWIybE5iVTB6VDFkT2FVNTZaM1JOTWs1cVdWTXdNRTB5Vm1sTVYwcHNXV3BKZEZscVFUVk9iVlpwVDFSSk1FNXRSVFJKYVhkcFkyMW5hVTlwU1hkTWEwWlRVMVZGTW1OVVpFZGxiVTVXVm01U2NrMXVaR3hhYm13d1RVZDRRMXBJWkc1aU1IQlpZMnhPWmsxdGRGZFJiVGxJV2pCc2VGRXlNVFpTUnpoM1ZUQkdRbEZUTkdsTVEwcDZaRmRKYVU5cFNYbFplbU0xV1RKSk0wOURNSHBaTWs1b1RGUlJlbHBYU1hSWmJWWnBUV2t4YVUxRWF6SmFWMGsxVFdwUk1sbFVaMmxNUTBvd1lWZFJhVTlwU21wYVIwMHhXVmRXYkZsVE1IaE9WMDB4VEZSU2ExbHFXWFJaYWtFelQxTXhiVmt5Um10YVJFa3hUVVJXYTFsNlNXbE1RMG94WkVkcmFVOXBTblJVYlRsWFlXcENhV041TVVaa1ZsbDZWMFpKTldKVVVqTmtSVVpDU1dsM2FXUnRWbmxKYW05cFRWTTBkMGx1TUM1a1FYRmZhRGt0TjFBMmVTMDNjMk4yV1VVeFdUWjBMVnA1VERKM1QySmthM1F0TW1oTlZrWm5NMDFpV1Mxd2JWbEROM2xJZFhkalVGTXRSbk41ZVdWdGRFOXhkbkpHZVVsbVV6VlZhMEpYWWxkbWNEUmhjRXREZERkSmVGUkhXSEZwZEd4MGRHVkZkRlpLTFZKbmNHMU9TVEl4T0hJM1NqWmFNMDlZU25SdmRsaGtUVWxaWmkxUFZEa3lZbFZEWVRGTFZrVnFkWEJEYjFaMk9XZ3lZbFZQTm05bFZWWTFUVmwwUWs5dmFraEJNRWRTUTFad2NGZDRUWE5tY1VkNVgxUjJaazlMTlcxMGNHUmxSRVp2VVhkUFlYSnFiMU51WTA0NE1XeFBXVEJ2YldJeGJWa3lNbFJVVm1WTk5GSmpOekZaTlhGbU9VVTJaVlZQZG1SNU5qSmhXRU5yVm5aM1NWVlVUMEk0VUVWd1owaHVhVkJmVjE5M2J6VklNbXN5VFVKbFQyMVJUbkpvTWxscldEVlFWVFJ2WTJ0aGVHdElXVjlGYVRoTmNHVk9aa2xQZWpBdFFsRjFXVFJ5ZW1ObmMwVmhSelJ4Tm5jaUxDSjBjeUk2TVRZNE16YzBNekk0TlN3aVlpSTZJbE5xWWxkWmR6WTVWamh6YVdVMlFWbEtNM1pEUjJoRWRtWlBabVJRVTJ4MFJYQnpSMjFUVjAxbU56QWlMQ0p1YjI1alpTSTZJbUkyTWpsaVl6RmtZMkprTlRSbE9XTTVOVGMzTkRFNE5XUmxNakk1TVdObUlpd2lZMjVtSWpwN0ltcDNheUk2ZXlKcmFXUWlPaUprUjBZeU5ucExNek14WjA5UGQxODBlVjlWVTJZMlpqWnpVVXRTYmpFM1VHbFJWWEoyYVZVeExWUnZJaXdpWlNJNklrRlJRVUlpTENKcmRIa2lPaUpTVTBFaUxDSnVJam9pY3pGS1JubE9iSFI2WnpoNlYyOW1lRFk0UTNscU5VNXNNbFpHUWxwSlMyaGFjM2syVWpka1ptWnNiWEpNTFRWT04zZHJZbkJPT1dVNFNrVmtWbUpRU0dOWWJtTkVPR0p2UmxaS1VtMVFjVXhZZDJSa1dHeFZRWEZ1Y0ZGUll6UkNlbHBoZDBaaWNFMHdNM3BCUzJWMlZUSnZiMXBRUkVKVU1XbHhVREIzWTJ4a1ptSlZORmRUT1hOc1pFOHRZMDExYzNaUWMyUnljRmRZWXpJdGVGTnRORVphZGxabVRXVm1iamxYVlV0dmFtYzNVblIwU1ZwelgxZFlRVU54UWpFNVJrNUpXbTlqV1VKSWNIVjRhRnB6V1hrdE1WaFZaMnR1WkhobmVIQkVibmd6TlRkTmFubzFObkpJZDB3NFJrRlFTWGRQYkZCUmIxZEdTamhWUzNkMGJIRjJUakIxVG1FemFXTjVkRXBXYTJobFpIWXhVSGhXZDJSb1NVUkVhRTFyVTBaV1VtWjBibmx5WDBVM1pEaENVSGxpYkdVNVpteDNla0ZIUW5GSE5EVlNNblpEY1ZaT1FVeEdZbTVqWTJwRWJraDBSV1pSSW4xOWZRLkZLOG02S05yUXBtWkh0LVkzZF9zNlRhdDFEX0pGSkwybzdZWVFVY3NfVWdtYkZhdFQ5ZTZjNWhjNFIzUDdsOGFlZk5ha2QwWDlfNVgzUnF1Tm9CMWRHUUpSbDhrOFE0Qmxmc1lMeTdUNUp6NlpCcEQ3Z09kdkdXNzBqQlVQQXl4RHpmVGVpR0Qwck9qbThtQmJZWC1BQWFRRzJvaTRFbUNKS04xVm9iaENBOUJBN3NQMjV3NU1hc1oxbndkMVpyUGJRZkhJUDhHbW1BeHNMdndnZWhJNndXMm1IRm5JMFBMdGREdlN2a2htcU5zeXFPT3dOeUxvMTRIcnVfcDUwb0lOY3hPRktVLXNyZGVTR3FmQ2hOX2NZbm9PMGRrSi1ER0p1WVVzTndtVDkwcnlscC1YOWJ4NDJkOXBFVGtWRW5lcVE5OWExRkNJelBWUmtKamZWLXpsdyJ9.\u0022,\u0022correlationId\u0022:\u0022cadda1f9-13c6-4bcd-95b1-3133a803a141\u0022}",
- "messageId": "e98a070e3cb8429cbd22ad8ce470bbe6",
+ "body": "{\u0022to\u0022:{\u0022kind\u0022:\u0022communicationUser\u0022,\u0022rawId\u0022:\u0022Sanitized\u0022,\u0022communicationUser\u0022:{\u0022id\u0022:\u0022Sanitized\u0022}},\u0022from\u0022:{\u0022kind\u0022:\u0022communicationUser\u0022,\u0022rawId\u0022:\u0022Sanitized\u0022,\u0022communicationUser\u0022:{\u0022id\u0022:\u0022Sanitized\u0022}},\u0022serverCallId\u0022:\u0022aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC94LWNvbnYtZXVuby0wMS5jb252LnNreXBlLmNvbS9jb252L2N5NzJtN3B2VDAtR0JqLTBIQWJaSGc/aT0xJmU9NjM4MjA2NTUyNjc1OTIxMDI3\u0022,\u0022callerDisplayName\u0022:\u0022\u0022,\u0022incomingCallContext\u0022:\u0022eyJhbGciOiJub25lIiwidHlwIjoiSldUIn0.eyJjYyI6Ikg0c0lBQUFBQUFBQUNzMVlhMi9qdUJYOUs0SUw5RU4zYUpFVUtWRUVqTUp4a2gxdkVpZklZM2M2Q0JwUUZHVnJJa3RhU242a3MvUGZleWs3aVNkT2Q5SjJCMWdGa01YWE9lZGV2dTdONTU1V1JUR3AyanpMdFdyenF1ekp6NzNNVm5QM202YzkyUk5TNlVhU0pGV0tKakdLT1k0UTQ0eWlKQWtaVWxGQ3FjWllpWlRkNGU0aEFtVnhURkZLRTRyaVdJZUl4NEhDS2NhYWNOTjcxMHZ6cGk3VXcwVE5EZUJEaFNuVHVzckxkdXo0RWg0YXdTT09PSWxUeEVUR2tjQU1veWhraE9rNERCWEdNS1pRNVhTaHBzYU5LUmRGOGE1WEs5dm1PcS9WRmtpSExFNTBCSkpObUNDbXd4U3BWRE9Va01nRVNzVlVhdzVBc3p4TkRaaWRxYUl4ejFxdUgycW5yakYyYWV5d3JxRm5iYXZhMlBiaFFFMDNuRi9lOWRycWozQlVsdTA1S3Z1bW96WWdHS05YWG8vUG14d2xvb0NKV0RrMUFvT2pERWNxeVNJVWtEQWpxY2pTTU1QN2pyS21xUlpXZDdpOXQxajlIenhZNU9WOTQ1eW8ybGJwR1lETjJyWnVwTytyT3U5blJUNmR0VEJ1L2RCdjdtRk8rcnFhdXhaL1NYMWQrMnVrTlRLTHNrS1k5TFhlNmFPMXZ5UitWdGw3ay9wS1lNSkNxcEJSQ1VITWdENFZnSjFZTUJ3S0dqTXRzRThqUHlkK3dHSi9JK1h2K1lDQTZMbEpjelVzbTVXeGJsVnBVRFpYRzJPbTRJVG1UNkg0VWN4V3N6V2ZqRzcvRk1vMlVyYTZGbWw5YlZYWjFKVjE2cUFJMmtqUWoxaWZoRUdmNGtBR0xCSis3OHZXNzZPcWJFMEpmVC8zOU9aenV6RlZYUmZiSTh0dlVyYzlrNkpLb0dFNXdMZjJ0cXdHeUtNaDRSNzJ4aE52Zk1FOFFxTStoai9pbXB0QkE5NkN3YTZnQjQ5ZFF0RVBhWjhTMGlkeDRKcVN3ZWhha3UxdWNoWHRBSHZkeDN5Z0ZtbGVlU3dtSWZNdXJ5Lzg0YzhYSHNITWkrRWRlSVFRandpZ0YxNGNRUTJVWEtVQUhmZ2JwR3BnVzEwajIrVC9NanZsTEpGLzg5Wm9Ec0poUDN2Z0FhK0JFMEdtemN5elJpL2R4NmI3R2pYNXRGU3d0YWEvTitvWld6b3IrS2FjYTRNV21WVlR5YUw3eStlNmVwWEs4TU81bnJIVGoxcE1vcVBoNnY2bVZLYzNtUTUzVk00WDYwMUpxekxOVTlVYUNhWjdONGNYSGlVQmpuRElBdkxDNkswVDJ3ZlFack5pN1ZtVnBoYWNCaDBFVEJuM3JGc3htMjc3NkhRSG5jZk94ZnZvL0czby9DVTZCZTNPTEtWYllLQ3dGRUljdmNiQTZac1lPTjFub04rWkFkWmQ1eUZDT2V4UFRDTHVjZG9uQkRhZEVQMDQ5R0RQeFIyMk5YRGZQR0ovTFdCbkJyeXo2NXZMeWZqUUl6d1dFUlUwcEdGSVNjeERLdmFtSjloT1QwY3U0UDZtL3hjNWZ5Sm4wTWlFQUEyWUJoRVJYSWlYM0xDNU90ZldxbWxBQUJNRStISDRRZ0FQb1A2dENnSzJ0MFRZZGdLL0x3dmZXWWlPaElzNElQZ1BKNkhmaTZSUWlTbmtYT1VsNmc3T1RlMDhUeVY1UExTU2xWSEZ0TEo1TzV2TFpLVzlXdWw3MDlZcXQ5N0tKSEM4YlBYYWg3cXRZT01QajY3dVJtZDNoSXE3OTJmRDBkM1YreUc1RTlqTFN6ajZqTXlySTNQKzZicGQvSkJOVHZ5VGYveGdSNytjMFlQa3A2c1pQY2pHbjlvYlk4WSttLzlHL3htUTM4aWprQzA4L1JiOCtyamd4OWxpZmZtSkwwd3hPcWVqb3Y1SkxYOWVsbWVUVFA5NmNQUXhucCtlV056QlA1NlE5VnpWY0tFdzcycDhldUtUY0h1dFBEWEYzbzhScGI1NFdlK3VsRzdJZmd0Y05GZmp5NlBKTGxvMmJ6Y3RTZDVhbU5uQlBoT2NrMEFWN3dCdUJnbFBsYVZaSjRPeStxby85aTVHWnpmNy9NTFZEL2ZyNGRhN1BEcDh6UkpZeUtZdzlhd3FEVEpMdU5QM05FQVhqRWo0OWJqQUcwMWVNMSs0K2xmc285ZzFzT2NSZFp2UDRieDlaSUxiMGRqYVFqd3RtNWxDbEljZVk1SkVraC9LZzZFVUl6bWljaFRLNDBnZWhqTG1Nb2J2V0k1aVNZVThPblFmUXl6RGtTUUhjblFzK1lFTVJqSU9aRVRsa0VnV3lPTmpHWS9rRVpGMEtNbWh4TnRGWU5adHA4OXp3Wm04aFdlMVd2VTNDN3hmMmVudHJWbERtQXhheTdhNXZRVnowQ3kxTU9yMlZpVU5jcmMzY3BaOGhSWThvejNGYmI4RGxLbW12VXRnMzYveXRKM2RaY2FrQ1d5MnYwQ3k0NktpdStBcGtHaXNSaEN5VGVHaWRkbUZlN20yeDhENDFFeTdEQ0NLT01rSTVHbUNLMGdpRE9RQ0NSTVVaVG9ocVJGaGtobVgwcGdHRXM0dWFqdlhlbUhCK2RPbmpLSTBxL01zYzFGMlZ3RWhJTVNISitiQkJYL2JhSzByOVc1VzYvQ0VIZit5UGhaNGNqb2RuNFFmeWYxME1BQjhTR3pneElBK2grUk16eWRsck8wcCs2Q3kwL2JEV1pZTm9RL0FXaEFPQVpOVGNiSEpTSExUcFNCNWM3bHRHaFpGdFRKZ1dHc1g1Z3VNZ2VqVCthYVRQaTZYZWZ1VUxlKzJ1SERWVmtYUnBRci9aZXdOTU0vUk54UjI0MjhvK3ZvaG92T29YbDVqOU9QQko0VGZENU9QNzZjdXNQNnJHWVNCb0Rqa25JWVJqeUdHb0JFNEkyL09Ga1diWDBDK0IyN2Jlamx2RG13RmlUQXNnR2RIcHlaWlRIZGpiZml2d0daYTB5d2ljUFpBUnFnMFpPT3hRQW5tTU1zNFNnUkxVcHdKbHh2K1R5a2w4RTV0dGFnNzNqWHdkaG5odndIUHQ5NFBreEFBQUE9PSIsInNoclRva2VuIjoiZXlKaGJHY2lPaUpTVXpJMU5pSXNJblI1Y0NJNkluQnZjQ0o5LmV5SmhkQ0k2SW1WNVNqQmxXRUZwVDJsS1MxWXhVV2xNUTBwb1lrZGphVTlwU2xOVmVra3hUbWxKYzBsdVp6RmtRMGsyU1dreFRGTlVUbEpQVnpWUFZXcGthVlZ0T1cxbFJ6RnNWMjA1V1dOWFNrbFhhMlJzWkhsSmMwbHRkSEJhUTBrMlNXa3hURk5VVGxKUFZ6VlBWV3BrYVZWdE9XMWxSekZzVjIwNVdXTlhTa2xYYTJSc1pIbEtPUzVsZVVwb1pGZFJhVTlwU21sT1JGWnNUVVJyZDFsVE1XdFpWMHB0VEZSUmVFNUVWWFJaVkVFeVQwTXdkMDlIUlRSTmFteHBUWHBDYkU5SFVXbE1RMHB3WXpOTmFVOXBTbTlrU0ZKM1kzcHZka3d6VGpCamVUVXpZVmMxYTJJelpIcE1iVFZzWkVNNWFscEhUVEZaVjFac1dWTXdlRTVYVFRGTVZGSnJXV3BaZEZscVFUTlBVekZ0V1RKR2ExcEVTVEZOUkZacldYcEpka2xwZDJsaFYwWXdTV3B2ZUU1cVp6Rk5WRVV6VFZSQk1FeERTblZaYlZscFQycEZNazlFVlhoTlZHTjRUVVJSYzBsdFZqUmpRMGsyVFZSWk5FNVVTWGROZW1kM1RrTjNhVmxYYkhaSmFtOXBVbFJLWVZveGJFOWhhemxRWld4Q2RscHJhR2xUZW1oNVQwWndjbVJ1VWpGT01HUXdUVlZLYmxGVU1HbE1RMHBvWTBoQ2NGcERTVFpKYlVWNldWUk5lbGw2U21oTVZFazFUMGRWZEU1RVJtdE5VekExVFZSTk0weFhSVEZPUkZsNVRXMVZNazlFUm1wWmVVbHpTVzFHZDJOSGJHdFpWMDU1U1dwdmFVMXBTWE5KYlU1MVdtbEpObVY1U25Ga01uTnBUMjV6YVdFelVqVkphbTlwVld4T1FrbHBkMmxpYVVrMlNXNW5NR1Z1VG5KU1JGWnRXbFpTWms5VlJsRllNamt3WlZjNU0xUXdkRkZrUld3MlRtMDVOVlZzYUVka1ZqbHBWRE5rZDFwVlVraGxSVW95VFRKYWQxSlZVbGxaYTBsM1pGZGFRazlFYkRCYWJHdzJVV3BrZEZWWE5EQlphM0JyVkZSR1RsWlZjSEZPYmxaM1ZVVTFXRk5XUm5wWk1sWkZVMWRrV1ZOSFpFWlJWbXgxVXpGR1NXSnNRbFJrYTA1TFpVWndkRmt5Vmtaa1NHZzBVekJ3YzFKNlRqSlhhemg2WVZWd1RGUXdXa05SV0VWM1dtMXNlVlZJUWxGTlZqa3pWa1JzYzJReE9VSldWR00wVWtaR1IxUldRblpZTVd3MllrZEtOV0pzWkZSaVZtUkNZV3huZUZKWVVsZGpha1p1WVROT1VtSjZhM1JPTURsMlRUTm9iMkZWY0cxWmJGSlFVMGRHYTFwSFNscE9SbFUwVlZoR1ZGSnNaSE5pV0ZaMFlqRkdjMUpGU25aYU1rbDNZak5qTUZwVlpFZGFSR1JxWTNwWk5FMUdUWGRYYW1SRllVVkdlVmxZVG1sWFZ6ZzFWVEprUlV4VlJuTlBWMHBxVTFkT1RsRXdaRFZoUjBaNFlrVk5kMkV5V2tWVk0wNUVWa1pPVVZWV09XMVRWV3cyVDBSU01HVkhaRlJOVlU1SFVtMDVhVk5ITVVaV2JFcE9aRmRSTUZaSGFFbFZWbVEwVFZVMWQySXpiSFprU0ZvMFZGVldlVlpFV21aWFV6Rm9UVmhHUkU1R09WcE9SWFExVlZOSmMwbHRWV2xQYVVwQ1ZWVkdRMGxwZDJsWlYzaHVTV3B2YVZWc1RYbE9WRmxwVEVOS2NtRlhVV2xQYVVreFRGUk9jMlJxYkZOa1NFa3hWMVJTUWxwRlpFdGlSWFJVWW1reE1tSkdWWFJrVld4SlQxVmFORTFXWkcxWFJFNUlWRWhLVkZwSGJGSkpiakU1VEVOS2NGcElRV2xQYVVwdlpFaFNkMk42YjNaTU0wNHdZM2sxTTJGWE5XdGlNMlI2VEcwMWJHUkRPV3BhUjAweFdWZFdiRmxUTUhoT1YwMHhURlJTYTFscVdYUlpha0V6VDFNeGJWa3lSbXRhUkVreFRVUldhMWw2U1haSmFYZHBZakpzYTBscWIybE5iVTB6VDFkT2FVNTZaM1JOTWs1cVdWTXdNRTB5Vm1sTVYwcHNXV3BKZEZscVFUVk9iVlpwVDFSSk1FNXRSVFJKYVhkcFkyMW5hVTlwU1hkTWEwWlRVMVZGTW1OVVpFZGxiVTVXVm01U2NrMXVaR3hhYm13d1RVZDRRMXBJWkc1aU1IQlpZMnhPWmsxdGRGZFJiVGxJV2pCc2VGRXlNVFpTUnpoM1ZUQkdRbEZUTkdsTVEwcDZaRmRKYVU5cFNYbFplbU0xV1RKSk0wOURNSHBaTWs1b1RGUlJlbHBYU1hSWmJWWnBUV2t4YVUxRWF6SmFWMGsxVFdwUk1sbFVaMmxNUTBvd1lWZFJhVTlwU21wYVIwMHhXVmRXYkZsVE1IaE9WMDB4VEZSU2ExbHFXWFJaYWtFelQxTXhiVmt5Um10YVJFa3hUVVJXYTFsNlNXbE1RMG94WkVkcmFVOXBTbTFsV0ZaWlVsaGtXbFpYV1hkalZYaHdaRE5vUm1KVmFIUllNRVpDU1dsM2FXUnRWbmxKYW05cFRWTTBkMGx1TUM1d1JtUklMV05IVVhkRFExcE5OREJmVjBOQldFbG1aak0xYmtZM2RFbzBabUp1YVcweVZIaFdiVXBpTkRSQmVrMWhaMjV1ZGtoTmVGUlpXVU01TjNsRU0wazBRbTFWVldKc2JrMVdOVmRKYWtSeVRVSlRabFJ3TW1zM1kxSjRaR2s1Ym5SVVEwWXdhMlZoU2taU01VUlJOVE5JVFVab1ptbHBZekpETmw4dGJGOVpRVFpLV2sxWlMwNVFhREY0VDBWb1ozQnlhbWhyVG1sbVdqQlBYMlZtU2xkaU4ycHVjbFZVY0RCVFVGZzFSMHRtVm1Ga2JqQnpiVlZ5YWs5SUxVSk1NMlpaWjBrNFdqWktSMGxWTUU1RlZuRktkVlUyVUUxdmVIRnhWMXB0TTNSNFMyUm1SV3Q1YUhRMU1GZ3RNbTVVV25aMGFETkhVVFIxYkhwak9GQXdRelZtU2xaak1IWjFSRzQxV0RjNWRYaDBXRk5tU0d0VU4wMVNZelJpTWpVeFRsbE5WRWRGYTNab05uY3dSRmt6UzBReFNGZHZka1U0ZWxNMlEwSldjMFp3Y1VGbVVGRTBhRnBZWlVnM1UwMHhUV1pYYm1jaUxDSjBjeUk2TVRZNE5URXpNVGszTWl3aVlpSTZJa0YyY0hobk1ETjRNa2R3WVdGdFRGTlNNWGhXYVhoWVNqSmFlVkJvVm5aTFZERjZkRVZETlVSaFZ6Z2lMQ0p1YjI1alpTSTZJbU5pTkRBek1USm1PRGswWVRRMk5qWmhPRE0yWm1SaFpHRXlOelZoWWpVeUlpd2lZMjVtSWpwN0ltcDNheUk2ZXlKcmFXUWlPaUk0VnpONGIzTkhTR0oyZUZSQlEwdENkVVI0T1c1UVlrSmlOMWRtUWtkWGNWRlhRME55TVc1bExYa3dJaXdpWlNJNklrRlJRVUlpTENKcmRIa2lPaUpTVTBFaUxDSnVJam9pZURSNmMydEVOV1psVkY4NVFWQmZiM1I1YjNkUFMxQjBTWG8yYjNsU1dFWjFYMkpQZDNCbFJFZDRRbll6Wm5CRlJGaGlRakIxWmtFNE9YUm1XWHBDTjIxUmJqUmlTbVJOTVUxVlNtbzJkWEJRVGxkSlVYTmpaVVJKWjFoSVowVkJXVzVMVVVodVVGTjJRMHA0V20xalpVVjBlSGhMU214SE0zWmFUek5wU2t0UFJrSkJjVEJtYVhKUWNGQXhYM2RVT1d4M1gwRlZOemhFVVVaTlVHOWZXWHBzWW5sdVYxTnRWMEZxV0RGRmRGWnlNV2RyYzFGdk9TMDNUMjh6ZUdocFNtWmlWRTlJWVdSa1lsazBWVGhSY1ZOR1YyeHRkVzF2VVd4RVFtOW5ZakJ2ZHpSbFIwWmtOMk56Tmpnd1V6QmFOMFJvUVhKaGMySlpiemxUWjBRdFFXdzVZbU5KWTAxRFIzbG9ZWEZzUXpCclprUlRjME5VVTFCUlgyWkpTWG80TkhSNFoxTXhRMFpHYjJKSWJVVldVazExWkRSVWFFaFJWM2d4VG5CdmVXOTBkbmhOUlhKVU5sOVpMV0V4Y1VNMFgxazBTM2xSSW4xOWZRLkxxelVoVkMxek5nelNOMW9vZVQzazFCT1QtX3lYMVExM21xOXFHc3F2ZjlCNTlkMGplNlRBN0tXT1hocklwMUNOTkREZHVCSllqMXdYVmUyRWhxREN5VEZ4czZ3Q0d5RmNwQnNVMXpoYkVRSE1hdUZGZzI0bjI5WEUzRDh5Q1ZvX045MzJMcmVPRkZoQlpudk5vbi1kNWZuMUQ5SzJzQmMyYWFBNXFHbE5EaTFRN2VZSUxZXzdjZC1fVUxfMUVOdUR1eFJFVklMSHFEMi1fSExyTXN1c1NLUXE4VTkyOWdobGVyX2JuTlctQ1E3eFVlWS1zWjZtQlBjQkVBTkxwbVBqaUloUm5JQUlLZVQxRDhScWotcWN4TFhOWDJTeXllczR6QWszWVYxbF9TSjEzOUlyZ0pLRGZsRC1PQ051b2U2T1UwV1ZNSVV5SU1mS1piMTMwX3JLQSJ9.\u0022,\u0022correlationId\u0022:\u00227df71103-abac-4898-b050-807b84bd0f80\u0022}",
+ "messageId": "09d5820352144af79097c076ecfbd3f4",
"partitionKey": null,
"sessionId": null,
"replyToSessionId": null,
@@ -11,13 +11,13 @@
"contentType": null,
"replyTo": null,
"applicationProperties": {
- "Diagnostic-Id": "00-ddf4454b4558740ace17c162c2dda77b-86196039aa1282ba-00"
+ "Diagnostic-Id": "00-8f6dfab978812c6f5f744fca6dd87244-98cd4a749d09905d-00"
},
"enqueuedTime": "0001-01-01T00:00:00+00:00"
},
{
- "body": "[{\u0022id\u0022:\u0022Sanitized\u0022,\u0022source\u0022:\u0022calling/callConnections/401f3500-3e66-41b7-a9bb-2d7a775ac83b\u0022,\u0022type\u0022:\u0022Microsoft.Communication.CallConnected\u0022,\u0022data\u0022:{\u0022callConnectionId\u0022:\u0022401f3500-3e66-41b7-a9bb-2d7a775ac83b\u0022,\u0022serverCallId\u0022:\u0022aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDIuY29udi5za3lwZS5jb20vY29udi9Dek9ZZU1ETWhVLXo2SFhoaTBTZ3lnP2k9NCZlPTYzODE5Mjc2NzYxNTIzODI1Mg==\u0022,\u0022correlationId\u0022:\u0022cadda1f9-13c6-4bcd-95b1-3133a803a141\u0022},\u0022time\u0022:\u00222023-05-10T18:28:08.1181865\\u002B00:00\u0022,\u0022specversion\u0022:\u00221.0\u0022,\u0022datacontenttype\u0022:\u0022application/json\u0022,\u0022subject\u0022:\u0022calling/callConnections/401f3500-3e66-41b7-a9bb-2d7a775ac83b\u0022}]",
- "messageId": "e450a3a41b724c799b88a4ea654c2eb7",
+ "body": "[{\u0022id\u0022:\u0022Sanitized\u0022,\u0022source\u0022:\u0022calling/callConnections/441f1200-99ea-4773-9879-89c9f13fef83\u0022,\u0022type\u0022:\u0022Microsoft.Communication.ParticipantsUpdated\u0022,\u0022data\u0022:{\u0022participants\u0022:[{\u0022identifier\u0022:{\u0022rawId\u0022:\u0022Sanitized\u0022,\u0022kind\u0022:\u0022communicationUser\u0022,\u0022communicationUser\u0022:{\u0022id\u0022:\u0022Sanitized\u0022}},\u0022isMuted\u0022:false},{\u0022identifier\u0022:{\u0022rawId\u0022:\u0022Sanitized\u0022,\u0022kind\u0022:\u0022communicationUser\u0022,\u0022communicationUser\u0022:{\u0022id\u0022:\u0022Sanitized\u0022}},\u0022isMuted\u0022:false}],\u0022sequenceNumber\u0022:1,\u0022callConnectionId\u0022:\u0022441f1200-99ea-4773-9879-89c9f13fef83\u0022,\u0022serverCallId\u0022:\u0022aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC94LWNvbnYtZXVuby0wMS5jb252LnNreXBlLmNvbS9jb252L2N5NzJtN3B2VDAtR0JqLTBIQWJaSGc/aT0xJmU9NjM4MjA2NTUyNjc1OTIxMDI3\u0022,\u0022correlationId\u0022:\u00227df71103-abac-4898-b050-807b84bd0f80\u0022},\u0022time\u0022:\u00222023-05-26T20:12:57.7415219\\u002B00:00\u0022,\u0022specversion\u0022:\u00221.0\u0022,\u0022datacontenttype\u0022:\u0022application/json\u0022,\u0022subject\u0022:\u0022calling/callConnections/441f1200-99ea-4773-9879-89c9f13fef83\u0022}]",
+ "messageId": "7b071b1392e84948812eb10e63a265c9",
"partitionKey": null,
"sessionId": null,
"replyToSessionId": null,
@@ -26,13 +26,13 @@
"contentType": null,
"replyTo": null,
"applicationProperties": {
- "Diagnostic-Id": "00-c106a6726aabb73428bf4dcc3ff714b7-f24dc5f1dba6a06a-00"
+ "Diagnostic-Id": "00-d2a0d737fa6cf2fe1c0ac60823255499-e10959c073733888-00"
},
"enqueuedTime": "0001-01-01T00:00:00+00:00"
},
{
- "body": "[{\u0022id\u0022:\u0022Sanitized\u0022,\u0022source\u0022:\u0022calling/callConnections/401f3500-3e66-41b7-a9bb-2d7a775ac83b\u0022,\u0022type\u0022:\u0022Microsoft.Communication.ParticipantsUpdated\u0022,\u0022data\u0022:{\u0022participants\u0022:[{\u0022identifier\u0022:{\u0022rawId\u0022:\u0022Sanitized\u0022,\u0022kind\u0022:\u0022communicationUser\u0022,\u0022communicationUser\u0022:{\u0022id\u0022:\u0022Sanitized\u0022}},\u0022isMuted\u0022:false},{\u0022identifier\u0022:{\u0022rawId\u0022:\u0022Sanitized\u0022,\u0022kind\u0022:\u0022communicationUser\u0022,\u0022communicationUser\u0022:{\u0022id\u0022:\u0022Sanitized\u0022}},\u0022isMuted\u0022:false}],\u0022sequenceNumber\u0022:1,\u0022callConnectionId\u0022:\u0022401f3500-3e66-41b7-a9bb-2d7a775ac83b\u0022,\u0022serverCallId\u0022:\u0022aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDIuY29udi5za3lwZS5jb20vY29udi9Dek9ZZU1ETWhVLXo2SFhoaTBTZ3lnP2k9NCZlPTYzODE5Mjc2NzYxNTIzODI1Mg==\u0022,\u0022correlationId\u0022:\u0022cadda1f9-13c6-4bcd-95b1-3133a803a141\u0022},\u0022time\u0022:\u00222023-05-10T18:28:08.1181865\\u002B00:00\u0022,\u0022specversion\u0022:\u00221.0\u0022,\u0022datacontenttype\u0022:\u0022application/json\u0022,\u0022subject\u0022:\u0022calling/callConnections/401f3500-3e66-41b7-a9bb-2d7a775ac83b\u0022}]",
- "messageId": "261d242653154a639ee6e17e0cc6ffed",
+ "body": "[{\u0022id\u0022:\u0022Sanitized\u0022,\u0022source\u0022:\u0022calling/callConnections/441f1200-99ea-4773-9879-89c9f13fef83\u0022,\u0022type\u0022:\u0022Microsoft.Communication.CallConnected\u0022,\u0022data\u0022:{\u0022callConnectionId\u0022:\u0022441f1200-99ea-4773-9879-89c9f13fef83\u0022,\u0022serverCallId\u0022:\u0022aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC94LWNvbnYtZXVuby0wMS5jb252LnNreXBlLmNvbS9jb252L2N5NzJtN3B2VDAtR0JqLTBIQWJaSGc/aT0xJmU9NjM4MjA2NTUyNjc1OTIxMDI3\u0022,\u0022correlationId\u0022:\u00227df71103-abac-4898-b050-807b84bd0f80\u0022},\u0022time\u0022:\u00222023-05-26T20:12:57.835222\\u002B00:00\u0022,\u0022specversion\u0022:\u00221.0\u0022,\u0022datacontenttype\u0022:\u0022application/json\u0022,\u0022subject\u0022:\u0022calling/callConnections/441f1200-99ea-4773-9879-89c9f13fef83\u0022}]",
+ "messageId": "c112e2335db24d41a47b19e0518dcd27",
"partitionKey": null,
"sessionId": null,
"replyToSessionId": null,
@@ -41,13 +41,13 @@
"contentType": null,
"replyTo": null,
"applicationProperties": {
- "Diagnostic-Id": "00-8e92e8e292c0857b44d54660ff057313-d6414606c8fa1a0a-00"
+ "Diagnostic-Id": "00-8a34c57360e7b449bad5843a1b4cd616-5654833ec15edcda-00"
},
"enqueuedTime": "0001-01-01T00:00:00+00:00"
},
{
- "body": "[{\u0022id\u0022:\u0022Sanitized\u0022,\u0022source\u0022:\u0022calling/callConnections/401f3500-3e66-41b7-a9bb-2d7a775ac83b\u0022,\u0022type\u0022:\u0022Microsoft.Communication.RemoveParticipantSucceeded\u0022,\u0022data\u0022:{\u0022operationContext\u0022:\u0022MyTestOperationcontext\u0022,\u0022participant\u0022:{\u0022rawId\u0022:\u0022Sanitized\u0022,\u0022communicationUser\u0022:{\u0022id\u0022:\u0022Sanitized\u0022}},\u0022callConnectionId\u0022:\u0022401f3500-3e66-41b7-a9bb-2d7a775ac83b\u0022,\u0022serverCallId\u0022:\u0022aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDIuY29udi5za3lwZS5jb20vY29udi9Dek9ZZU1ETWhVLXo2SFhoaTBTZ3lnP2k9NCZlPTYzODE5Mjc2NzYxNTIzODI1Mg==\u0022,\u0022correlationId\u0022:\u0022cadda1f9-13c6-4bcd-95b1-3133a803a141\u0022},\u0022time\u0022:\u00222023-05-10T18:28:09.0556259\\u002B00:00\u0022,\u0022specversion\u0022:\u00221.0\u0022,\u0022datacontenttype\u0022:\u0022application/json\u0022,\u0022subject\u0022:\u0022calling/callConnections/401f3500-3e66-41b7-a9bb-2d7a775ac83b\u0022}]",
- "messageId": "711f7444c5c24c17b1e8a36dfc2f354c",
+ "body": "[{\u0022id\u0022:\u0022Sanitized\u0022,\u0022source\u0022:\u0022calling/callConnections/441f1200-99ea-4773-9879-89c9f13fef83\u0022,\u0022type\u0022:\u0022Microsoft.Communication.RemoveParticipantSucceeded\u0022,\u0022data\u0022:{\u0022operationContext\u0022:\u0022MyTestOperationcontext\u0022,\u0022participant\u0022:{\u0022rawId\u0022:\u0022Sanitized\u0022,\u0022communicationUser\u0022:{\u0022id\u0022:\u0022Sanitized\u0022}},\u0022callConnectionId\u0022:\u0022441f1200-99ea-4773-9879-89c9f13fef83\u0022,\u0022serverCallId\u0022:\u0022aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC94LWNvbnYtZXVuby0wMS5jb252LnNreXBlLmNvbS9jb252L2N5NzJtN3B2VDAtR0JqLTBIQWJaSGc/aT0xJmU9NjM4MjA2NTUyNjc1OTIxMDI3\u0022,\u0022correlationId\u0022:\u00227df71103-abac-4898-b050-807b84bd0f80\u0022},\u0022time\u0022:\u00222023-05-26T20:12:59.6008579\\u002B00:00\u0022,\u0022specversion\u0022:\u00221.0\u0022,\u0022datacontenttype\u0022:\u0022application/json\u0022,\u0022subject\u0022:\u0022calling/callConnections/441f1200-99ea-4773-9879-89c9f13fef83\u0022}]",
+ "messageId": "cd59d3169ed04caca4929c662b9689b7",
"partitionKey": null,
"sessionId": null,
"replyToSessionId": null,
@@ -56,13 +56,13 @@
"contentType": null,
"replyTo": null,
"applicationProperties": {
- "Diagnostic-Id": "00-17f6308df4056ebe2d7646b346ff218d-28eaa5d04e73aeeb-00"
+ "Diagnostic-Id": "00-3dff6bac80fe43b9eac06386e31470da-d41b6d457598e7b9-00"
},
"enqueuedTime": "0001-01-01T00:00:00+00:00"
},
{
- "body": "[{\u0022id\u0022:\u0022Sanitized\u0022,\u0022source\u0022:\u0022calling/callConnections/401f3500-3e66-41b7-a9bb-2d7a775ac83b\u0022,\u0022type\u0022:\u0022Microsoft.Communication.CallDisconnected\u0022,\u0022data\u0022:{\u0022callConnectionId\u0022:\u0022401f3500-3e66-41b7-a9bb-2d7a775ac83b\u0022,\u0022serverCallId\u0022:\u0022aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDIuY29udi5za3lwZS5jb20vY29udi9Dek9ZZU1ETWhVLXo2SFhoaTBTZ3lnP2k9NCZlPTYzODE5Mjc2NzYxNTIzODI1Mg==\u0022,\u0022correlationId\u0022:\u0022cadda1f9-13c6-4bcd-95b1-3133a803a141\u0022},\u0022time\u0022:\u00222023-05-10T18:28:09.118133\\u002B00:00\u0022,\u0022specversion\u0022:\u00221.0\u0022,\u0022datacontenttype\u0022:\u0022application/json\u0022,\u0022subject\u0022:\u0022calling/callConnections/401f3500-3e66-41b7-a9bb-2d7a775ac83b\u0022}]",
- "messageId": "a698736bb7d14a9dbd48009e1139d607",
+ "body": "[{\u0022id\u0022:\u0022Sanitized\u0022,\u0022source\u0022:\u0022calling/callConnections/441f1200-99ea-4773-9879-89c9f13fef83\u0022,\u0022type\u0022:\u0022Microsoft.Communication.CallDisconnected\u0022,\u0022data\u0022:{\u0022callConnectionId\u0022:\u0022441f1200-99ea-4773-9879-89c9f13fef83\u0022,\u0022serverCallId\u0022:\u0022aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC94LWNvbnYtZXVuby0wMS5jb252LnNreXBlLmNvbS9jb252L2N5NzJtN3B2VDAtR0JqLTBIQWJaSGc/aT0xJmU9NjM4MjA2NTUyNjc1OTIxMDI3\u0022,\u0022correlationId\u0022:\u00227df71103-abac-4898-b050-807b84bd0f80\u0022},\u0022time\u0022:\u00222023-05-26T20:12:59.7571024\\u002B00:00\u0022,\u0022specversion\u0022:\u00221.0\u0022,\u0022datacontenttype\u0022:\u0022application/json\u0022,\u0022subject\u0022:\u0022calling/callConnections/441f1200-99ea-4773-9879-89c9f13fef83\u0022}]",
+ "messageId": "52aa804ed18b4f60bafce92c806d84fc",
"partitionKey": null,
"sessionId": null,
"replyToSessionId": null,
@@ -71,7 +71,7 @@
"contentType": null,
"replyTo": null,
"applicationProperties": {
- "Diagnostic-Id": "00-f5c0c02350070be2ac49f3fe18f7a851-2ae865b446d1b046-00"
+ "Diagnostic-Id": "00-ae06dda9f3b8f32ba993338814e242e2-9adf1c870ee35473-00"
},
"enqueuedTime": "0001-01-01T00:00:00+00:00"
}