-
Notifications
You must be signed in to change notification settings - Fork 4.5k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Abhishesingh msft/dtmf actions live tests (#36557)
* Live test for Continuous Dtmf Detection and Send Dtmf scenario * Live test for Start Continuous Dtmf Recognition
- Loading branch information
1 parent
3078ed4
commit dd6aeeb
Showing
5 changed files
with
1,068 additions
and
0 deletions.
There are no files selected for viewing
102 changes: 102 additions & 0 deletions
102
...cation/Azure.Communication.CallAutomation/tests/CallMedias/CallMediaAutomatedLiveTests.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,102 @@ | ||
// Copyright (c) Microsoft Corporation. All rights reserved. | ||
// Licensed under the MIT License. | ||
|
||
using System; | ||
using System.Threading.Tasks; | ||
using NUnit.Framework; | ||
using Azure.Communication.CallAutomation.Tests.Infrastructure; | ||
using Azure.Core.TestFramework; | ||
using Microsoft.AspNetCore.Http; | ||
|
||
namespace Azure.Communication.CallAutomation.Tests.CallMedias | ||
{ | ||
internal class CallMediaAutomatedLiveTests : CallAutomationClientAutomatedLiveTestsBase | ||
{ | ||
public CallMediaAutomatedLiveTests(bool isAsync) : base(isAsync) | ||
{ | ||
} | ||
|
||
[RecordedTest] | ||
public async Task ContinuousRecognitionTest() | ||
{ | ||
/* Test case: ACS to ACS call | ||
* 1. create a CallAutomationClient and a target CallAutomationClient. | ||
* 2. create a call from source to one ACS target. | ||
* 3. get updated call properties and check for the connected state. | ||
* 4. start continuous dtmf recognition. | ||
* 5. again start continuous dtmf recognition and expect success. | ||
* 6. stop continuous dtmf recognition. | ||
* 7. wait for ContinuousDtmfRecognitionStopped event. | ||
* 8. again stop continuous dtmf recognition and expect success. | ||
* 10. clean up the call. | ||
*/ | ||
|
||
// create caller and receiver | ||
CommunicationUserIdentifier user = await CreateIdentityUserAsync().ConfigureAwait(false); | ||
CommunicationUserIdentifier target = await CreateIdentityUserAsync().ConfigureAwait(false); | ||
|
||
CallAutomationClient client = CreateInstrumentedCallAutomationClientWithConnectionString(user); | ||
CallAutomationClient targetClient = CreateInstrumentedCallAutomationClientWithConnectionString(target); | ||
|
||
// setup service bus | ||
var uniqueId = await ServiceBusWithNewCall(user, target); | ||
|
||
// create call and assert response | ||
CreateCallResult response = await client.CreateCallAsync(new CallInvite(target), new Uri(TestEnvironment.DispatcherCallback + $"?q={uniqueId}")); | ||
|
||
string callConnectionId = response.CallConnectionProperties.CallConnectionId; | ||
Assert.IsNotEmpty(response.CallConnectionProperties.CallConnectionId); | ||
|
||
// wait for incomingcall context | ||
string? incomingCallContext = await WaitForIncomingCallContext(uniqueId, TimeSpan.FromSeconds(20)); | ||
Assert.IsNotNull(incomingCallContext); | ||
|
||
// answer the call | ||
var answerCallOptions = new AnswerCallOptions(incomingCallContext, new Uri(TestEnvironment.DispatcherCallback)); | ||
var answerResponse = await targetClient.AnswerCallAsync(answerCallOptions); | ||
Assert.AreEqual(StatusCodes.Status200OK, answerResponse.GetRawResponse().Status); | ||
|
||
// wait for callConnected | ||
var connectedEvent = await WaitForEvent<CallConnected>(callConnectionId, TimeSpan.FromSeconds(20)); | ||
Assert.IsNotNull(connectedEvent); | ||
Assert.IsTrue(connectedEvent is CallConnected); | ||
Assert.IsTrue(((CallConnected)connectedEvent!).CallConnectionId == callConnectionId); | ||
|
||
// test get properties | ||
Response<CallConnectionProperties> properties = await response.CallConnection.GetCallConnectionPropertiesAsync().ConfigureAwait(false); | ||
Assert.AreEqual(CallConnectionState.Connected, properties.Value.CallConnectionState); | ||
|
||
try | ||
{ | ||
// start continuous dtmf recognition | ||
var startContinuousDtmfResponse = await client.GetCallConnection(callConnectionId).GetCallMedia().StartContinuousDtmfRecognitionAsync(user); | ||
Assert.AreEqual(StatusCodes.Status200OK, startContinuousDtmfResponse.Status); | ||
|
||
// again start continuous dtmf recognition and expect success | ||
startContinuousDtmfResponse = await client.GetCallConnection(callConnectionId).GetCallMedia().StartContinuousDtmfRecognitionAsync(user); | ||
Assert.AreEqual(startContinuousDtmfResponse.Status, StatusCodes.Status200OK); | ||
|
||
// stop continuous dtmf recognition | ||
var stopContinuousDtmfResponse = await client.GetCallConnection(callConnectionId).GetCallMedia().StopContinuousDtmfRecognitionAsync(user); | ||
Assert.AreEqual(StatusCodes.Status200OK, stopContinuousDtmfResponse.Status); | ||
|
||
// wait for ContinuousDtmfRecognitionStopped event | ||
var continuousDtmfRecognitionStopped = await WaitForEvent<ContinuousDtmfRecognitionStopped>(callConnectionId, TimeSpan.FromSeconds(20)); | ||
Assert.IsNotNull(continuousDtmfRecognitionStopped); | ||
Assert.IsTrue(continuousDtmfRecognitionStopped is ContinuousDtmfRecognitionStopped); | ||
|
||
// again call stop coninuous recognition and expect success | ||
stopContinuousDtmfResponse = await client.GetCallConnection(callConnectionId).GetCallMedia().StopContinuousDtmfRecognitionAsync(user); | ||
Assert.AreEqual(StatusCodes.Status200OK, stopContinuousDtmfResponse.Status); | ||
} | ||
catch (RequestFailedException ex) | ||
{ | ||
Assert.Fail($"Unexpected error: {ex}"); | ||
} | ||
finally | ||
{ | ||
await CleanUpCall(client, callConnectionId); | ||
} | ||
} | ||
} | ||
} |
64 changes: 64 additions & 0 deletions
64
...on/tests/SessionRecordedEvents/CallMediaAutomatedLiveTests/ContinuousRecognitionTest.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
{ | ||
"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:\u0022aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWFzc2UtMDEuY29udi5za3lwZS5jb20vY29udi9CajM5Mlhnc3hVMlc0M09JelVyYzRnP2k9NCZlPTYzODIwNzUwNzk1Njk0MDY1Ng==\u0022,\u0022callerDisplayName\u0022:\u0022\u0022,\u0022incomingCallContext\u0022:\u0022eyJhbGciOiJub25lIiwidHlwIjoiSldUIn0.eyJjYyI6Ikg0c0lBQUFBQUFBQUNzMVliVy9iT0JMK0s0SVB1QTkzcFVWU0ZDVVNNQlpPbk94Nm03Zm1wZWtCd1FVVVJjbHFaVWxMeWJHVDd2NzNHOHBPNHRUZGJ1NXVDNndEeUNabk9NOHpJNUl6azg4RHJjcnlwTzZLck5DcUsrcHFJRDhQTWx2UDNYZVJEdVFnbGtxM2tpU3BValFSU0lRNFFpeGtGQ1VKWjBoRkNhVWFZeFduN0JiM0h4S2p6UEFJaGJHT1VNYmhFWXBBNFJRa1ZLakJtMEZhdEUycDdrL1UzSUI5bURCVjJ0UkYxVTBkSGlqcE5HQWhFaVJMRURPQ29TUlRCdEU0ekV5V2FzcFZCR3RLVmVVTGxSdTNwbHFVNVp0Qm8yeFg2S0pSRzBPeFlOb29sUUhIakNLV2lRakZTV1FRVDNTY0ppTE1lT0lNellvME5lQjJwc3JXUEhPNXZHOGN1OWJZTzJQSFRRT2FqYTBiWTd2N1BaV3ZNWDk3TStqcVB5RlF5dENkUUNWL0dLaTFFWXpSVng2UG4xY0ZLbEpHc1lSR2lJZEdJNWJ3Rk1GTWdKSW9VNmt4R1ZFazNRMlVOVzI5c0xxM08zaU4xNzhUd2JLb1ByVXVpS3JybEo2QnNWblhOYTMwZmRVVXc2d3M4bGtINjFiM3cvWVR2Sk9ocnVkTzR0OVJYemUrMXVoall4VENaS2oxbG9iVy9oM3hzOXArTXFtZjZFd1FsV0VVMERpRm5jQmhUNWlBSXF4NG1tVnBHUEF3OFdua0Y4UVBRdXl2aWZ4UWpBaFFucHUwVU9PcVhSb0wxTFFHWG5PM2lZRlNEaUZvL3dKOEg2bHNHRnZ6MGVqdUw4QnJUV1REYXBFMmwxWlZiVk5ieHcyR3dDeWtRMEtESWVIeE1NWXlZRkhzRDM3YnhIeS9yanBUZ2U3bmdWNy8zQnhKMVRUbDVyTHkyOVFkektTc0V4RGNqZkNOdmFucUVmSW9Kb0lISHZhbUo5NzBqSG1FUmtNTWY4UXB0S01Xb2dYTDNVQ1BOaXBzU0VRd3BDUWVSckVUSktQOVMwazI1OGhOZENQczlUL21JN1ZJaTlxRHJSNHo3L3p5ekIrL1AvTUlacDZBWitBUlFqd1NBM2pzaVFobVlPUW1ZMkNCdndtcFJyYlREYkp0OFdDMnhsa2kvK0d0MEJ4SXd6bjJ3SCt2aFp0QXB1M01zMGJmdVI5cjlSVnFpN3hTY0tUeWI2MTZ0aTJkRCtGNlhHaURGcGxWdVd6ZXFZZm51V2FaeWk0K2l2anhQeWZadEZIQjZYditjUDZqbUZoNnY4Vnl2bGl0UjFwVmFaR3F6a2h3M0x1YW5IbVVCRGpDbkFYa2hjdWJBSGIzd014bTVjcXpLazB0Qkt5WHc4dkNublhiWmEyM2E1eHVHUThGeEhmSGVQaEs0K0dYeGlrd2QwNHAzUUVBaFczQVFlMGxBQk1rcEs4QTZQVjJBZWozQllBZDE0ZUgwRENtQXBNbzlOeHBJMnpJNFl0aEQwNmI2STFiQXpsbVkvd0YvbGJ3dmVQTHEvT1Q2Y1FUT0JBaTVqVG1FY1ZCR0FZQzd5TFRaK1JZY0U3L0QrVHdHVGxpT0dJeDU0d0xURWtJTkw1RWhuUGVCN1ZSYlF2d0xJWkxnR1ArQlh3WVJDeDRGVDRFYldmYnNjMkwrNTRZNGRidWN4QmhMQUo0MjM4dUJQMCtFS1ZLVENubnFxaFFmMHV1WitkRktzbmpIWlVzalNyejJoYmRiQzZUcGZZYXBUK1pybEdGOVpZbWdkdGt3OWJlTjEwTkIzMThjSEc3ZjN4TGFIejcwL0Y0Ly9iaXB6RzVqYkZYVkhEVEdmbXcrbVhhSFpjUkZlTTRKQmNaWElCM1IzdVRqSDZncXJ5ZUhrM3c3T0h1N2VYQnIvVGZBZm1WUEJMWm1LZC9aTDZkSHRjZjl1ZmxZZnR4Zm4xbWo4K25EN3doazEveWlhOC9YVGZkWWRhdUxpN2pvamYvZUNFMmM5VkE5bURleGZUb3JVLzRKb2M4aVlUM1kwU3BIMzg1Ny9KSHYyUlhBbG5sWW5wK2NMSnRMWnQzYTBsU2RCYmU2MmdYQ2U1RmdCSmJCdGVMWWs5VmxWa2xvNnArb1krOXMvM2pxMTM4Mk0yUGQrY2h4WjBmVEw3bUNXeGlVNXBtVmxjR21UdEk0RHNjUUFVandsK3VDN3o5azYrNUg3djVyL2hIc1JPdzV4Vk5WOHpoaG4xRWdtUm9iR09oYkpidFRDRWFjbSt5TC9sRWppT0pLWkNRZTZHY01NbXduR0I1T0pFaWxKaExmaUFQaFdTeFBDQlNITWhKTEVNcXNaQ1lTUjVJeHFRNGxPSEVTY2Y3Y25Jb28xQWU3RWtPUmlacllMUHFlbjZlcThQa0RYeVd5K1Z3dmNHSHRjMXZic3dLcW1IZ1duWHR6UTI0ZzJhcGhWVTNOeXBwa1V2V3lIbnl3bHJ3Yk8ycFNQdUdvVXkxM1cwQ3AzNVpwTjNzTmpNbVRlQ3cvUTE2R2xjQTNRWlBkVU5yTllMNkxJZkU2cG9JOTNDeXh3cjR5T1I5b1U5VEVmRTB3Y2lra1VDTXVmWktRRk1WTTU1U0VXRnNRdGRVbVJiNnlyNUVPOVY2WVNINCtWUGpVSm5sYVphNWNycWZnSG9QaXNHMzV0NVZlcHZDckI4Tjd0dm85Rit6c2p2NEtGWlg3MmlleFhsWHZCdU53RDcwTDNCamdNN2x6NVAzQzNXcUFudHhsYmR2RDlXNzYvZitHSFRBckFYaVVCODVGbWZyeHFNd2ZhZFJ0T2NiMGJnczY2VUJ4enE3Y0V6MG91M3FlVjk2cnJxbkZnWHFUeGV3M3A5cGRWZDBUNTN5dHNTdHNuVlo5bzNDZjFWN2d4RUU2Y1QwMVRjTXR1dHZHUHA3SHdOQlArVHQ2b3BlcytCMCtuQmxOY3Voc0daL055TWV4QlJIa0N0RnlBWERQT1FRbjZJOVhwUmRjUWFkSGtSeUUvaWkzYk8xU2pYc2llZllweVpaNU51MU52dy9vSC9UeWhnZE1HZ0lWY1FWWWxFWUl4RkVBU0tKZ3F5ZlpaU0kwUFZCLzBzekNiaTVyUmZOeTBEL0J6RktOaENORUFBQSIsInNoclRva2VuIjoiZXlKaGJHY2lPaUpTVXpJMU5pSXNJblI1Y0NJNkluQnZjQ0o5LmV5SmhkQ0k2SW1WNVNqQmxXRUZwVDJsS1MxWXhVV2xNUTBwb1lrZGphVTlwU2xOVmVra3hUbWxKYzBsdVp6RmtRMGsyU1dreFRGTlVUbEpQVnpWUFZXcGthVlZ0T1cxbFJ6RnNWMjA1V1dOWFNrbFhhMlJzWkhsSmMwbHRkSEJhUTBrMlNXa3hURk5VVGxKUFZ6VlBWV3BrYVZWdE9XMWxSekZzVjIwNVdXTlhTa2xYYTJSc1pIbEtPUzVsZVVwb1pGZFJhVTlwU21sT1JGWnNUVVJyZDFsVE1XdFpWMHB0VEZSUmVFNUVWWFJaVkVFeVQwTXdkMDlIUlRSTmFteHBUWHBDYkU5SFVXbE1RMHB3WXpOTmFVOXBTbTlrU0ZKM1kzcHZka3d6VGpCamVUVXpZVmMxYTJJelpIcE1iVFZzWkVNNWFscEhUVEZaVjFac1dWTXdlRTVYVFRGTVZGSnJXV3BaZEZscVFUTlBVekZ0V1RKR2ExcEVTVEZOUkZacldYcEpka2xwZDJsaFYwWXdTV3B2ZUU1cVp6Rk5WR013VFVSbk5VeERTblZaYlZscFQycEZNazlFVlhoT2VsRjNUMFJyYzBsdFZqUmpRMGsyVFZSWk5FNVVTVEpOUkdNMFQxTjNhVmxYYkhaSmFtOXBVbFJLWVZveGJFZGhSMDU1WlZaWmNrNUhUVEZTZWtKcFRETmFhV1JwT1U5TmJHUldZVVZPUWxGVU1HbE1RMHBvWTBoQ2NGcERTVFpKYlVWNldWUk5lbGw2U21oTVZFazFUMGRWZEU1RVJtdE5VekExVFZSTk0weFhSVEZPUkZsNVRXMVZNazlFUm1wWmVVbHpTVzFHZDJOSGJHdFpWMDU1U1dwdmFVMXBTWE5KYlU1MVdtbEpObVY1U25Ga01uTnBUMjV6YVdFelVqVkphbTlwVld4T1FrbHBkMmxpYVVrMlNXNUdkMXA2U2xCaVZrcEVZakZLUzFaRVVtcGFWM2h5WW5wU05tVnVSbkpqYlRsell6TlJlbUl6YUROVVZXZDZVbFpSTUZKSGJHdGhNV1IxVDFkR2FGUnNTakJOU0d4UVkxVmplRlpYWnpOT2JYaENXbnBPYTJGSGFGbGFSR3g2V2pKYVNGTXpiSEpWYTFWMFlUSjBRbFJzYkdaV01FcEpUVEZXU0ZSWFRURlRWVkp2WWpCR1NsRnRNRFJaYW1nd1lUTnNUVk5FVWtWalZteE9VVEowU0dJeWJFZFVNRkpRV1RJNVdsb3lPVzlrYlRFd1YydFJORTVHT1VsaE1GcEtZVlZSZEZSRlduSmpTRlV6WkRGTmVHVllhRVJpTWprMlVURlpkMlZVVGt0UmJVNXZVek5XVlZkR09IcFViRXBHVVZkS2VtSkhWbGRhYTJoMVkwY3hhbUpVVVRCbFIwcHJZbFJzTWxONmJFbFJiVlpHVWxoS2MxWnVjRWhYVms1RFdESlJkR0pIV21aa1ZUUjBUbTVXU1dGc1JYUlRhMmgxWlVkV1dsaDZUa3hoUkZKWlQwY3dNVmxWZEZWVlNGSTBaRlJzZFUxc1RtbFpWMk0xWWxSVk1GVXpUa2xoYTA1MVpXeE9TVmRwTVZsVU1tUkxWRzVPVUdGc1FrcFdSMVl3VG1wak1HSlhTWGxTUjNCdlUwWk9OR1ZVWkcxUFZXeHZUVEZ3VWxOWE5VMVRWR1JWWkhwamRGWXpSalZqTUdoUVpFZFpkMU14VW1aYU1GWlpaRWhaZUUxSWNGZE9hbVJFVlZOSmMwbHRWV2xQYVVwQ1ZWVkdRMGxwZDJsWlYzaHVTV3B2YVZWc1RYbE9WRmxwVEVOS2NtRlhVV2xQYVVrMVlteHdlR0pyT1hOVFJURjVXV3M1TTFGWFZqRmphMUkwVlRGd1VsRlVRbGxXYWtaUlRYcEtWMXBXVlRKTlJFNTBWMWMxYWxVeGJGSkpiakU1VEVOS2NGcElRV2xQYVVwdlpFaFNkMk42YjNaTU0wNHdZM2sxTTJGWE5XdGlNMlI2VEcwMWJHUkRPV3BhUjAweFdWZFdiRmxUTUhoT1YwMHhURlJTYTFscVdYUlpha0V6VDFNeGJWa3lSbXRhUkVreFRVUldhMWw2U1haSmFYZHBZakpzYTBscWIybE5iVTB6VDFkT2FVNTZaM1JOTWs1cVdWTXdNRTB5Vm1sTVYwcHNXV3BKZEZscVFUVk9iVlpwVDFSSk1FNXRSVFJKYVhkcFkyMW5hVTlwU1hkTWEwWlRVMVZGTW1OVVpFZGxiVTVXVm01U2NrMXVaR3hhYm13d1RVZDRRMXBJWkc1aU1IQlpZMnhPWmsxdGRGZFJiVGxJV2pCc2VGRXlNVFpTUnpoM1ZUQkdRbEZUTkdsTVEwcDZaRmRKYVU5cFNYbFplbU0xV1RKSk0wOURNSHBaTWs1b1RGUlJlbHBYU1hSWmJWWnBUV2t4YVUxRWF6SmFWMGsxVFdwUk1sbFVaMmxNUTBvd1lWZFJhVTlwU21wYVIwMHhXVmRXYkZsVE1IaE9WMDB4VEZSU2ExbHFXWFJaYWtFelQxTXhiVmt5Um10YVJFa3hUVVJXYTFsNlNXbE1RMG94WkVkcmFVOXBTVFZSVkdkNlZrVTVUbFpFU25Ka1Z6bGFUVEpPTVZONmJIbFlNRVpDU1dsM2FXUnRWbmxKYW05cFRWTTBkMGx1TUM1eVRHWXdiRFIwV0RsUWEyNDVWa3hHVmtwUlgzaHRRakIzTFVOb01ETXpRVWhQYkRaM1RHVjVkamxtYlZwcGEyaFpWMDlHY1Zsc2R6RTJZMFJyTjJKQlpVZGlXSEUzZEc1YVV6QjVZM00wYVRaUlptWnpRVVF6T1RacmVVeFNRbm90WkRnMU1XMUdaVEpKV0RSamFXWk1kVWRHWlZodU1VOVRWamd6ZFdaRWJWZFdlVE5tVDFvNVpIYzJUbXBRTldoVVluUnlPREZNYkZoVE9FbE1iVTl2VVhwUk0zQktMVmRPVTJsSVYwOU1XVEpwTlV4bGVHeFlMVXA0VXpGMmRGODJTa3MxT1VKS2JHeHJNM3BrYlROdGMyRnNha2RVYVVNeWJqQjZObHByY0ZKbmIzZzVjVzVFTW5GRk1FUmlZVlV0ZGtGT2FtOU9OWGxCVEhOV1drZDRVRkpRV0dodlVHcFVjVmxOUTJKc1QwbFdZMGhTU0d4VGJsZE9VV1J2VFhKbU5EWTRURmx4TjFWVFRFSjNia2hPVm1RNWNrSXdVRkozWlZKWFFXTnlaMVJvV1ZkWmVraERUeTFCZWxKRldqTjBOWEl5YVVFaUxDSjBjeUk2TVRZNE5USXhNekF3Tml3aVlpSTZJalI1V1dKcGEwZHFVbWxpZWxCS01GZ3hTbFJWTjBwWkxVNDRWRUpLUms1MVNURkJUMnhxV2pGTU9HY2lMQ0p1YjI1alpTSTZJak0xTjJWaU5qVXlabVU0WlRRNFlqRmhOamd3TjJFMVpEVmhNMkk0TnpOaElpd2lZMjVtSWpwN0ltcDNheUk2ZXlKcmFXUWlPaUpITTNKbWJGOVZYMmRUZWxnNVZIRndXWGhmVFdjNVdHc3RiRGw1UzJWZmRGSTRXR3BRY1hwUldpMUJJaXdpWlNJNklrRlJRVUlpTENKcmRIa2lPaUpTVTBFaUxDSnVJam9pY1hCbk1rOXRVa052VWtwVU5HTmxiR3R2TkhwNmNXdHliMnh6ZEROdmVIZE5TRE5GVkRSRWFXUnJWMjQ1WVdGT1VuUXdlVTl4UnpGVmFEYzJiRUZuTTJSb2FGaGtPWE5uWmtkTGVXdFNSUzFyYTBGT1dWOVhRa2d6VlVkTll6VkpSR2h2UVVsQ2JUaGlPSFJyZVV4SU5FUnhXVTFEYTBkdmFVWlBSRTlqYjFsbmIyaDJiWFJhUkRnMFgwaHJSa2xwUkMxTVJtdHdkVGQzVXpGNWVFTnZiM3BEVmpCNU0wcENZMmhMZFZSWVh6Tk9Va1ZCWW5Oc1pWWm1TRzV3YldOdE5EUjRZbVJ0T1haTE9VaENaVVZGY214V2VrZFpVMEpmWkMxc1psOTFUaTAyZFVocVVTMUtTRzU0WlZsZk0wdG9ORmc0YlRWaFMxUlFkSGgxT1c0eVUySmhaemx0TlRSVGMwaHFRMjU2VTBoYUxWaFBaMHBPYzA5cVVFbFVaWFEyTnpSdFlqSkVhbWhJVTNoNU4yWTVTV2d6V2xGSmJreEpOMVIzTnkxWGNYbHpTRTkwWmpCTFZGOW5SVmgwZGpFd2VsWTJOME5SSW4xOWZRLk1RRFJYaWZWMHN4VWM5Vno2R0ZPai0weFhvLWNTVmJhZHRDNmxha21pRno3R2t4RnRVOTRaSmx4NUZxVjhjVVF2eWo2TWpCSTNKV2dNeHZWckhmLXhab1BZRXdzeW5uYVh1QlFNZG5wVkFrZjNwbU9weFlEclFCMGJReWFBODBnQklnS3A4aDJjT1lnczBSVmJWNGxPa0tmNVU5bS03YzBhZWxIdW1tYllDaW02cUI4Vlg2VVVld2FRV2hQVW9KR29vanlhMzk5MzMzT2Zoamw4eC16UlJ5UFJhZlZRTU9wMlF6aWxNTUhnUFNCRzlWM0pVWG5JX3VEQlBBeEhLZHc0VzMtWWRzcGUzNUQxUVpSLWpvSE9TR1IwMUE1anFqdk5PZmVJdm5mRjBkY1E2N3ZEN1RoYVluLWpVR1JNSnVHQ2RwaEVWYkpoX0RsZlVBS1BYSTVqdyJ9.\u0022,\u0022correlationId\u0022:\u0022aeec34ec-a76a-4758-9373-1ba539ff2195\u0022}", | ||
"messageId": "9bc5fb7513d044699906cda431aa190b", | ||
"partitionKey": null, | ||
"sessionId": null, | ||
"replyToSessionId": null, | ||
"correlationId": null, | ||
"subject": null, | ||
"contentType": null, | ||
"replyTo": null, | ||
"applicationProperties": { | ||
"Diagnostic-Id": "00-6eccc7a315d80d3da37d2ba486edff34-63d779c939b79c10-00" | ||
}, | ||
"enqueuedTime": "0001-01-01T00:00:00+00:00" | ||
}, | ||
{ | ||
"body": "[{\u0022id\u0022:\u0022Sanitized\u0022,\u0022source\u0022:\u0022calling/callConnections/411f0700-6861-4f47-a70b-4e4d19840c61\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:\u0022411f0700-6861-4f47-a70b-4e4d19840c61\u0022,\u0022serverCallId\u0022:\u0022aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWFzc2UtMDEuY29udi5za3lwZS5jb20vY29udi9CajM5Mlhnc3hVMlc0M09JelVyYzRnP2k9NCZlPTYzODIwNzUwNzk1Njk0MDY1Ng==\u0022,\u0022correlationId\u0022:\u0022aeec34ec-a76a-4758-9373-1ba539ff2195\u0022},\u0022time\u0022:\u00222023-05-27T18:43:30.1303533\\u002B00:00\u0022,\u0022specversion\u0022:\u00221.0\u0022,\u0022datacontenttype\u0022:\u0022application/json\u0022,\u0022subject\u0022:\u0022calling/callConnections/411f0700-6861-4f47-a70b-4e4d19840c61\u0022}]", | ||
"messageId": "4b7bad0873a9437b99646f0e6aefb50a", | ||
"partitionKey": null, | ||
"sessionId": null, | ||
"replyToSessionId": null, | ||
"correlationId": null, | ||
"subject": null, | ||
"contentType": null, | ||
"replyTo": null, | ||
"applicationProperties": { | ||
"Diagnostic-Id": "00-ef383c003c4b741feee6d11dca0179c3-34d05641ce487f6d-00" | ||
}, | ||
"enqueuedTime": "0001-01-01T00:00:00+00:00" | ||
}, | ||
{ | ||
"body": "[{\u0022id\u0022:\u0022Sanitized\u0022,\u0022source\u0022:\u0022calling/callConnections/411f0700-6861-4f47-a70b-4e4d19840c61\u0022,\u0022type\u0022:\u0022Microsoft.Communication.CallConnected\u0022,\u0022data\u0022:{\u0022callConnectionId\u0022:\u0022411f0700-6861-4f47-a70b-4e4d19840c61\u0022,\u0022serverCallId\u0022:\u0022aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWFzc2UtMDEuY29udi5za3lwZS5jb20vY29udi9CajM5Mlhnc3hVMlc0M09JelVyYzRnP2k9NCZlPTYzODIwNzUwNzk1Njk0MDY1Ng==\u0022,\u0022correlationId\u0022:\u0022aeec34ec-a76a-4758-9373-1ba539ff2195\u0022},\u0022time\u0022:\u00222023-05-27T18:43:30.1303533\\u002B00:00\u0022,\u0022specversion\u0022:\u00221.0\u0022,\u0022datacontenttype\u0022:\u0022application/json\u0022,\u0022subject\u0022:\u0022calling/callConnections/411f0700-6861-4f47-a70b-4e4d19840c61\u0022}]", | ||
"messageId": "8d92f8272ae54ce7977136aad6e34567", | ||
"partitionKey": null, | ||
"sessionId": null, | ||
"replyToSessionId": null, | ||
"correlationId": null, | ||
"subject": null, | ||
"contentType": null, | ||
"replyTo": null, | ||
"applicationProperties": { | ||
"Diagnostic-Id": "00-cbfd26a9080cdc8b9f0cd979add3851c-fd071e5430caacb4-00" | ||
}, | ||
"enqueuedTime": "0001-01-01T00:00:00+00:00" | ||
}, | ||
{ | ||
"body": "[{\u0022id\u0022:\u0022Sanitized\u0022,\u0022source\u0022:\u0022calling/callConnections/411f0700-6861-4f47-a70b-4e4d19840c61\u0022,\u0022type\u0022:\u0022Microsoft.Communication.ContinuousDtmfRecognitionStopped\u0022,\u0022data\u0022:{\u0022callConnectionId\u0022:\u0022411f0700-6861-4f47-a70b-4e4d19840c61\u0022,\u0022serverCallId\u0022:\u0022aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWFzc2UtMDEuY29udi5za3lwZS5jb20vY29udi9CajM5Mlhnc3hVMlc0M09JelVyYzRnP2k9NCZlPTYzODIwNzUwNzk1Njk0MDY1Ng==\u0022,\u0022correlationId\u0022:\u0022aeec34ec-a76a-4758-9373-1ba539ff2195\u0022},\u0022time\u0022:\u00222023-05-27T18:43:36.599489\\u002B00:00\u0022,\u0022specversion\u0022:\u00221.0\u0022,\u0022datacontenttype\u0022:\u0022application/json\u0022,\u0022subject\u0022:\u0022calling/callConnections/411f0700-6861-4f47-a70b-4e4d19840c61\u0022}]", | ||
"messageId": "de85dbf97f844bb38c1cd0ca67bd6f6e", | ||
"partitionKey": null, | ||
"sessionId": null, | ||
"replyToSessionId": null, | ||
"correlationId": null, | ||
"subject": null, | ||
"contentType": null, | ||
"replyTo": null, | ||
"applicationProperties": { | ||
"Diagnostic-Id": "00-30b683352510e031bb3cf03dc90bf822-c67e809ec85455be-00" | ||
}, | ||
"enqueuedTime": "0001-01-01T00:00:00+00:00" | ||
} | ||
] | ||
} |
Oops, something went wrong.