Skip to content

Recorded the live tests and Resolved the issues. #50139

New issue

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

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

Already on GitHub? Sign in to your account

Draft
wants to merge 1 commit into
base: callautomation/release/ga5
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,7 @@ protected CallAutomationClient() { }
public CallAutomationClient(string connectionString) { }
public CallAutomationClient(string connectionString, Azure.Communication.CallAutomation.CallAutomationClientOptions options) { }
public CallAutomationClient(System.Uri endpoint, Azure.Core.TokenCredential credential, Azure.Communication.CallAutomation.CallAutomationClientOptions options = null) { }
public CallAutomationClient(System.Uri pmaEndpoint, string connectionString, Azure.Communication.CallAutomation.CallAutomationClientOptions options = null) { }
public Azure.Communication.CommunicationUserIdentifier Source { get { throw null; } }
public virtual Azure.Response<Azure.Communication.CallAutomation.AnswerCallResult> AnswerCall(Azure.Communication.CallAutomation.AnswerCallOptions options, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; }
public virtual Azure.Response<Azure.Communication.CallAutomation.AnswerCallResult> AnswerCall(string incomingCallContext, System.Uri callbackUri, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; }
Expand Down Expand Up @@ -1501,13 +1502,15 @@ internal TranscriptionFailed() { }
}
public partial class TranscriptionMetadata : Azure.Communication.CallAutomation.StreamingData
{
public TranscriptionMetadata() { }
internal TranscriptionMetadata() { }
[System.Text.Json.Serialization.JsonPropertyNameAttribute("callConnectionId")]
public string CallConnectionId { get { throw null; } }
[System.Text.Json.Serialization.JsonPropertyNameAttribute("correlationId")]
public string CorrelationId { get { throw null; } }
[System.Text.Json.Serialization.JsonPropertyNameAttribute("locale")]
public string Locale { get { throw null; } }
[System.Text.Json.Serialization.JsonPropertyNameAttribute("speechRecognitionModelEndpointId")]
public string SpeechRecognitionModelEndpointId { get { throw null; } }
[System.Text.Json.Serialization.JsonPropertyNameAttribute("subscriptionId")]
public string TranscriptionSubscriptionId { get { throw null; } }
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,7 @@ protected CallAutomationClient() { }
public CallAutomationClient(string connectionString) { }
public CallAutomationClient(string connectionString, Azure.Communication.CallAutomation.CallAutomationClientOptions options) { }
public CallAutomationClient(System.Uri endpoint, Azure.Core.TokenCredential credential, Azure.Communication.CallAutomation.CallAutomationClientOptions options = null) { }
public CallAutomationClient(System.Uri pmaEndpoint, string connectionString, Azure.Communication.CallAutomation.CallAutomationClientOptions options = null) { }
public Azure.Communication.CommunicationUserIdentifier Source { get { throw null; } }
public virtual Azure.Response<Azure.Communication.CallAutomation.AnswerCallResult> AnswerCall(Azure.Communication.CallAutomation.AnswerCallOptions options, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; }
public virtual Azure.Response<Azure.Communication.CallAutomation.AnswerCallResult> AnswerCall(string incomingCallContext, System.Uri callbackUri, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; }
Expand Down Expand Up @@ -1500,13 +1501,15 @@ internal TranscriptionFailed() { }
}
public partial class TranscriptionMetadata : Azure.Communication.CallAutomation.StreamingData
{
public TranscriptionMetadata() { }
internal TranscriptionMetadata() { }
[System.Text.Json.Serialization.JsonPropertyNameAttribute("callConnectionId")]
public string CallConnectionId { get { throw null; } }
[System.Text.Json.Serialization.JsonPropertyNameAttribute("correlationId")]
public string CorrelationId { get { throw null; } }
[System.Text.Json.Serialization.JsonPropertyNameAttribute("locale")]
public string Locale { get { throw null; } }
[System.Text.Json.Serialization.JsonPropertyNameAttribute("speechRecognitionModelEndpointId")]
public string SpeechRecognitionModelEndpointId { get { throw null; } }
[System.Text.Json.Serialization.JsonPropertyNameAttribute("subscriptionId")]
public string TranscriptionSubscriptionId { get { throw null; } }
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@
"AssetsRepo": "Azure/azure-sdk-assets",
"AssetsRepoPrefixPath": "net",
"TagPrefix": "net/communication/Azure.Communication.CallAutomation",
"Tag": "net/communication/Azure.Communication.CallAutomation_fdf269ce94"
"Tag": "net/communication/Azure.Communication.CallAutomation_c4901cf840"
}
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,17 @@ public CallAutomationClient(Uri endpoint, TokenCredential credential, CallAutoma
Argument.CheckNotNull(credential, nameof(credential)),
options ?? new CallAutomationClientOptions())
{ }

/// <summary> Initializes a new instance of <see cref="CallAutomationClient"/> with custom PMA endpoint.</summary>
/// <param name="pmaEndpoint">Endpoint for PMA</param>
/// <param name="connectionString">Connection string acquired from the Azure Communication Services resource.</param>
/// <param name="options">Client option exposing <see cref="ClientOptions.Diagnostics"/>, <see cref="ClientOptions.Retry"/>, <see cref="ClientOptions.Transport"/>, etc.</param>
public CallAutomationClient(Uri pmaEndpoint, string connectionString, CallAutomationClientOptions options = default)
: this(
pmaEndpoint,
options ?? new CallAutomationClientOptions(),
ConnectionString.Parse(connectionString))
{ }
#endregion

#region private constructors
Expand All @@ -73,6 +84,13 @@ private CallAutomationClient(string endpoint, TokenCredential tokenCredential, C
: this(new Uri(endpoint), options.BuildHttpPipeline(tokenCredential), options)
{ }

private CallAutomationClient(Uri endpoint, CallAutomationClientOptions options, ConnectionString connectionString)
: this(
endpoint: endpoint,
httpPipeline: options.CustomBuildHttpPipeline(connectionString),
options: options)
{ }

private CallAutomationClient(Uri endpoint, HttpPipeline httpPipeline, CallAutomationClientOptions options)
{
_pipeline = httpPipeline;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,8 @@ private static StreamingData ParseStreamingData(string base64Data)

#region Transcription
case "TranscriptionMetadata":
return JsonSerializer.Deserialize<TranscriptionMetadata>(streamingData.GetProperty("transcriptionMetadata").ToString());
TranscriptionMetaDataInternal transcriptionMetadata = JsonSerializer.Deserialize<TranscriptionMetaDataInternal>(streamingData.GetProperty("transcriptionMetadata").ToString());
return new TranscriptionMetadata(transcriptionMetadata);

case "TranscriptionData":
TranscriptionDataInternal transcriptionDataInternal = JsonSerializer.Deserialize<TranscriptionDataInternal>(
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.

using System.Text.Json.Serialization;

namespace Azure.Communication.CallAutomation
{
internal class TranscriptionMetaDataInternal
{
/// <summary>
/// Transcription Subscription Id.
/// </summary>
[JsonPropertyName("subscriptionId")]
public string TranscriptionSubscriptionId { get; set; }

/// <summary>
/// The target locale in which the translated text needs to be
/// </summary>
[JsonPropertyName("locale")]
public string Locale { get; set; }

/// <summary>
/// call connection Id.
/// </summary>
[JsonPropertyName("callConnectionId")]
public string CallConnectionId { get; set; }

/// <summary>
/// correlation Id.
/// </summary>
[JsonPropertyName("correlationId")]
public string CorrelationId { get; set; }

/// <summary>
/// The custom speech recognition model endpoint id
/// </summary>
[JsonPropertyName("speechRecognitionModelEndpointId")]
public string SpeechRecognitionModelEndpointId { get; set; }
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,15 @@ namespace Azure.Communication.CallAutomation
/// </summary>
public class TranscriptionMetadata : StreamingData
{
internal TranscriptionMetadata(TranscriptionMetaDataInternal metaData)
{
TranscriptionSubscriptionId = metaData.TranscriptionSubscriptionId;
Locale = metaData.Locale;
CallConnectionId = metaData.CallConnectionId;
CorrelationId = metaData.CorrelationId;
SpeechRecognitionModelEndpointId = metaData.SpeechRecognitionModelEndpointId;
}

/// <summary>
/// Transcription Subscription Id.
/// </summary>
Expand All @@ -33,5 +42,11 @@ public class TranscriptionMetadata : StreamingData
/// </summary>
[JsonPropertyName("correlationId")]
public string CorrelationId { get; internal set; }

/// <summary>
/// The custom speech recognition model endpoint id
/// </summary>
[JsonPropertyName("speechRecognitionModelEndpointId")]
public string SpeechRecognitionModelEndpointId { get; internal set; }
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2484,7 +2484,8 @@ public async Task CreateCallAndTranscriptionTest()
TranscriptionOptions transcriptionOptions = new TranscriptionOptions(
new Uri(TestEnvironment.TransportUrl),
"en-CA",
false);
false,
StreamingTransport.Websocket);
var result = await CreateAndAnswerCallWithMediaOrTranscriptionOptions(client, targetClient, target, uniqueId, true,
null, transcriptionOptions);
callConnectionId = result.CallerCallConnectionId;
Expand Down Expand Up @@ -2547,7 +2548,8 @@ public async Task AnswerCallAndTranscriptionTest()
TranscriptionOptions transcriptionOptions = new TranscriptionOptions(
new Uri(TestEnvironment.TransportUrl),
"en-CA",
false);
false,
StreamingTransport.Websocket);
var result = await CreateAndAnswerCallWithMediaOrTranscriptionOptions(client, targetClient, target, uniqueId, false,
null, transcriptionOptions);
callConnectionId = result.TargetCallConnectionId;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,49 +1,49 @@
{
"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:\u0022aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzY2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9LVTByYW14dUJraXJkWndCT1RFY1RBP2k9MTAtNjAtMTgtOTUmZT02Mzg2OTcxOTcwNTg3NTUwNDE=\u0022,\u0022callerDisplayName\u0022:\u0022Sanitized\u0022,\u0022incomingCallContext\u0022:\u0022Sanitized\u0022,\u0022correlationId\u0022:\u00223610cec4-1b6a-4447-9aee-0904aaed9552\u0022}",
"messageId": "b69cc4c403a143b8ad1b7e639882eb03",
"partitionKey": null,
"sessionId": null,
"replyToSessionId": null,
"correlationId": null,
"subject": null,
"contentType": null,
"replyTo": null,
"applicationProperties": {
"Diagnostic-Id": "00-b5fab0355f60813345ae2b53afc99e9d-c80ad52c953786ab-00"
},
"enqueuedTime": "0001-01-01T00:00:00+00:00"
},
{
"body": "[{\u0022id\u0022:\u0022Sanitized\u0022,\u0022source\u0022:\u0022calling/callConnections/12002080-abca-4733-b3dd-853cb6236eed\u0022,\u0022type\u0022:\u0022Microsoft.Communication.CallDisconnected\u0022,\u0022data\u0022:{\u0022version\u0022:\u00222024-09-01-preview\u0022,\u0022resultInformation\u0022:{\u0022code\u0022:603,\u0022subCode\u0022:0,\u0022message\u0022:\u0022Decline. DiagCode: 603#0.@\u0022},\u0022callConnectionId\u0022:\u002212002080-abca-4733-b3dd-853cb6236eed\u0022,\u0022serverCallId\u0022:\u0022aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzY2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9LVTByYW14dUJraXJkWndCT1RFY1RBP2k9MTAtNjAtMTgtOTUmZT02Mzg2OTcxOTcwNTg3NTUwNDE=\u0022,\u0022correlationId\u0022:\u00223610cec4-1b6a-4447-9aee-0904aaed9552\u0022,\u0022publicEventType\u0022:\u0022Microsoft.Communication.CallDisconnected\u0022},\u0022time\u0022:\u00222024-12-14T00:36:06.8886544\\u002B00:00\u0022,\u0022specversion\u0022:\u00221.0\u0022,\u0022datacontenttype\u0022:\u0022application/json\u0022,\u0022subject\u0022:\u0022calling/callConnections/12002080-abca-4733-b3dd-853cb6236eed\u0022}]",
"messageId": "4c166da755bb4136a22ca7105c437c21",
"partitionKey": null,
"sessionId": null,
"replyToSessionId": null,
"correlationId": null,
"subject": null,
"contentType": null,
"replyTo": null,
"applicationProperties": {
"Diagnostic-Id": "00-44eb62096d79b79cdee635500a13b33a-911b9c403d2e7159-00"
},
"enqueuedTime": "0001-01-01T00:00:00+00:00"
},
{
"body": "[{\u0022id\u0022:\u0022Sanitized\u0022,\u0022source\u0022:\u0022calling/callConnections/12002080-abca-4733-b3dd-853cb6236eed\u0022,\u0022type\u0022:\u0022Microsoft.Communication.CreateCallFailed\u0022,\u0022data\u0022:{\u0022version\u0022:\u00222024-09-01-preview\u0022,\u0022resultInformation\u0022:{\u0022code\u0022:603,\u0022subCode\u0022:0,\u0022message\u0022:\u0022Decline. DiagCode: 603#0.@\u0022},\u0022callConnectionId\u0022:\u002212002080-abca-4733-b3dd-853cb6236eed\u0022,\u0022serverCallId\u0022:\u0022aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzY2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9LVTByYW14dUJraXJkWndCT1RFY1RBP2k9MTAtNjAtMTgtOTUmZT02Mzg2OTcxOTcwNTg3NTUwNDE=\u0022,\u0022correlationId\u0022:\u00223610cec4-1b6a-4447-9aee-0904aaed9552\u0022,\u0022publicEventType\u0022:\u0022Microsoft.Communication.CreateCallFailed\u0022},\u0022time\u0022:\u00222024-12-14T00:36:06.8886544\\u002B00:00\u0022,\u0022specversion\u0022:\u00221.0\u0022,\u0022datacontenttype\u0022:\u0022application/json\u0022,\u0022subject\u0022:\u0022calling/callConnections/12002080-abca-4733-b3dd-853cb6236eed\u0022}]",
"messageId": "a419a96d42ec4e13852f1abf51bcda77",
"partitionKey": null,
"sessionId": null,
"replyToSessionId": null,
"correlationId": null,
"subject": null,
"contentType": null,
"replyTo": null,
"applicationProperties": {
"Diagnostic-Id": "00-c4732118e2b1d2374ce0eac8af713856-476b5bfb085d30c9-00"
},
"enqueuedTime": "0001-01-01T00:00:00+00:00"
}
]
}
"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:\u0022aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDItc2RmLWFrcy5jb252LnNreXBlLmNvbS9jb252L2xCMmJvODFwekVXNldzYVM4bjAxWXc/aT0xMC0xMjgtMC0xODUmZT02Mzg4MzA3Njg4NzMwMjE2NTg=\u0022,\u0022callerDisplayName\u0022:\u0022Sanitized\u0022,\u0022incomingCallContext\u0022:\u0022Sanitized\u0022,\u0022correlationId\u0022:\u00229d0de1ee-37d0-49e0-af60-b9d7f07a0962\u0022}",
"messageId": "9fc0ee59ef5a4257824e58d7343f2c7d",
"partitionKey": null,
"sessionId": null,
"replyToSessionId": null,
"correlationId": null,
"subject": null,
"contentType": null,
"replyTo": null,
"applicationProperties": {
"Diagnostic-Id": "00-b4a96a2179a4e765203b0fae78664701-74778a36eae8c72d-00"
},
"enqueuedTime": "0001-01-01T00:00:00+00:00"
},
{
"body": "[{\u0022id\u0022:\u0022Sanitized\u0022,\u0022source\u0022:\u0022calling/callConnections/06002680-5c1d-4c25-9684-7d07e32f06ab\u0022,\u0022type\u0022:\u0022Microsoft.Communication.CallDisconnected\u0022,\u0022data\u0022:{\u0022version\u0022:\u00222025-05-15\u0022,\u0022resultInformation\u0022:{\u0022code\u0022:603,\u0022subCode\u0022:0,\u0022message\u0022:\u0022Decline. DiagCode: 603#0.@\u0022},\u0022callConnectionId\u0022:\u002206002680-5c1d-4c25-9684-7d07e32f06ab\u0022,\u0022serverCallId\u0022:\u0022aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDItc2RmLWFrcy5jb252LnNreXBlLmNvbS9jb252L2xCMmJvODFwekVXNldzYVM4bjAxWXc/aT0xMC0xMjgtMC0xODUmZT02Mzg4MzA3Njg4NzMwMjE2NTg=\u0022,\u0022correlationId\u0022:\u00229d0de1ee-37d0-49e0-af60-b9d7f07a0962\u0022,\u0022publicEventType\u0022:\u0022Microsoft.Communication.CallDisconnected\u0022},\u0022time\u0022:\u00222025-05-19T05:41:35.1972366\\u002B00:00\u0022,\u0022specversion\u0022:\u00221.0\u0022,\u0022datacontenttype\u0022:\u0022application/json\u0022,\u0022subject\u0022:\u0022calling/callConnections/06002680-5c1d-4c25-9684-7d07e32f06ab\u0022}]",
"messageId": "2806543d95a44b85aa2bd57a36eec379",
"partitionKey": null,
"sessionId": null,
"replyToSessionId": null,
"correlationId": null,
"subject": null,
"contentType": null,
"replyTo": null,
"applicationProperties": {
"Diagnostic-Id": "00-1aec1bcb855ee6b2123509c284e0ba56-1627f42414be51b2-00"
},
"enqueuedTime": "0001-01-01T00:00:00+00:00"
},
{
"body": "[{\u0022id\u0022:\u0022Sanitized\u0022,\u0022source\u0022:\u0022calling/callConnections/06002680-5c1d-4c25-9684-7d07e32f06ab\u0022,\u0022type\u0022:\u0022Microsoft.Communication.CreateCallFailed\u0022,\u0022data\u0022:{\u0022version\u0022:\u00222025-05-15\u0022,\u0022resultInformation\u0022:{\u0022code\u0022:603,\u0022subCode\u0022:0,\u0022message\u0022:\u0022Decline. DiagCode: 603#0.@\u0022},\u0022callConnectionId\u0022:\u002206002680-5c1d-4c25-9684-7d07e32f06ab\u0022,\u0022serverCallId\u0022:\u0022aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDItc2RmLWFrcy5jb252LnNreXBlLmNvbS9jb252L2xCMmJvODFwekVXNldzYVM4bjAxWXc/aT0xMC0xMjgtMC0xODUmZT02Mzg4MzA3Njg4NzMwMjE2NTg=\u0022,\u0022correlationId\u0022:\u00229d0de1ee-37d0-49e0-af60-b9d7f07a0962\u0022,\u0022publicEventType\u0022:\u0022Microsoft.Communication.CreateCallFailed\u0022},\u0022time\u0022:\u00222025-05-19T05:41:35.1972366\\u002B00:00\u0022,\u0022specversion\u0022:\u00221.0\u0022,\u0022datacontenttype\u0022:\u0022application/json\u0022,\u0022subject\u0022:\u0022calling/callConnections/06002680-5c1d-4c25-9684-7d07e32f06ab\u0022}]",
"messageId": "e0d17cf6c6f644ef9a8c2acc59b50c29",
"partitionKey": null,
"sessionId": null,
"replyToSessionId": null,
"correlationId": null,
"subject": null,
"contentType": null,
"replyTo": null,
"applicationProperties": {
"Diagnostic-Id": "00-a0e42bfbffec443181b0a9a107bd9d23-cb00fb7e67d51bfd-00"
},
"enqueuedTime": "0001-01-01T00:00:00+00:00"
}
]
}
Loading