Skip to content

Commit 55a58b9

Browse files
Added recording result api (#41704)
* init commit * init commit * run live tests * run live tests * fix linter * run live tests * run live tests * remove whitespace
1 parent bf950e7 commit 55a58b9

File tree

28 files changed

+165
-103
lines changed

28 files changed

+165
-103
lines changed

sdk/communication/azure-communication-callautomation/assets.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@
22
"AssetsRepo": "Azure/azure-sdk-assets",
33
"AssetsRepoPrefixPath": "python",
44
"TagPrefix": "python/communication/azure-communication-callautomation",
5-
"Tag": "python/communication/azure-communication-callautomation_4be693f217"
5+
"Tag": "python/communication/azure-communication-callautomation_2e3a66461b"
66
}

sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_call_automation_client.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
from ._models import (
3131
CallConnectionProperties,
3232
RecordingProperties,
33+
RecordingResult,
3334
ChannelAffinity,
3435
CallInvite,
3536
AzureCommunicationsRecordingStorage,
@@ -906,6 +907,20 @@ def get_recording_properties(self, recording_id: str, **kwargs) -> RecordingProp
906907
)
907908
return RecordingProperties._from_generated(recording_state_result) # pylint:disable=protected-access
908909

910+
@distributed_trace
911+
def get_recording_response(self, recording_id: str, **kwargs) -> RecordingResult:
912+
"""Get call recording result.
913+
:param recording_id: The recording id.
914+
:type recording_id: str
915+
:return: recording result
916+
:rtype: ~azure.communication.callautomation.RecordingResult
917+
:raises ~azure.core.exceptions.HttpResponseError:
918+
"""
919+
recording_result = self._call_recording_client.get_recording_result(
920+
recording_id=recording_id, **kwargs
921+
)
922+
return RecordingResult._from_generated(recording_result) # pylint:disable=protected-access
923+
909924
@distributed_trace
910925
def download_recording(
911926
self, recording_url: str, *, offset: int = None, length: int = None, **kwargs

sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_models.py

Lines changed: 80 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
# Licensed under the MIT License. See License.txt in the project root for
44
# license information.
55
# --------------------------------------------------------------------------
6+
from datetime import datetime
67
from typing import List, Optional, Union, TYPE_CHECKING
78
from typing_extensions import Literal
89
from ._generated.models import (
@@ -16,7 +17,9 @@
1617
Choice as ChoiceInternal,
1718
ChannelAffinity as ChannelAffinityInternal,
1819
MediaStreamingSubscription as MediaStreamingSubscriptionInternal,
19-
TranscriptionSubscription as TranscriptionSubscriptionInternal
20+
TranscriptionSubscription as TranscriptionSubscriptionInternal,
21+
RecordingStorageInfo,
22+
Error
2023
)
2124
from ._shared.models import (
2225
CommunicationIdentifier,
@@ -25,6 +28,7 @@
2528
)
2629
from ._generated.models._enums import PlaySourceType
2730
from ._generated.models._enums import RecordingStorageKind
31+
from ._generated.models._enums import CallSessionEndReason
2832
from ._utils import (
2933
deserialize_phone_identifier,
3034
deserialize_identifier,
@@ -55,6 +59,7 @@
5559
RemoveParticipantResponse as RemoveParticipantResultRest,
5660
TransferCallResponse as TransferParticipantResultRest,
5761
RecordingStateResponse as RecordingStateResultRest,
62+
RecordingResultResponse as RecordingResultRest,
5863
MuteParticipantsResult as MuteParticipantsResultRest,
5964
SendDtmfTonesResult as SendDtmfTonesResultRest,
6065
CancelAddParticipantResponse as CancelAddParticipantResultRest,
@@ -713,7 +718,6 @@ def _from_generated(cls, call_connection_properties_generated: "CallConnectionPr
713718
else None,
714719
)
715720

716-
717721
class RecordingProperties:
718722
"""Detailed recording properties of the call.
719723
@@ -740,6 +744,80 @@ def _from_generated(cls, recording_state_result: "RecordingStateResultRest"):
740744
recording_id=recording_state_result.recording_id, recording_state=recording_state_result.recording_state
741745
)
742746

747+
class RecordingResult:
748+
"""Recording result data.
749+
Variables are only populated by the server, and will be ignored when sending a request.
750+
:ivar recording_id:
751+
:vartype recording_id: str
752+
:ivar recording_storage_info: Container for chunks.
753+
:vartype recording_storage_info:
754+
~azure.communication.callautomation.models.RecordingStorageInfo
755+
:ivar errors:
756+
:vartype errors: list[~azure.communication.callautomation.models.Error]
757+
:ivar recording_start_time:
758+
:vartype recording_start_time: ~datetime.datetime
759+
:ivar recording_duration_ms:
760+
:vartype recording_duration_ms: int
761+
:ivar session_end_reason: Known values are: "sessionStillOngoing", "callEnded",
762+
"initiatorLeft", "handedOverOrTransferred", "maximumSessionTimeReached", "callStartTimeout",
763+
"mediaTimeout", "audioStreamFailure", "allInstancesBusy", "teamsTokenConversionFailed",
764+
"reportCallStateFailed", "reportCallStateFailedAndSessionMustBeDiscarded",
765+
"couldNotRejoinCall", "invalidBotData", "couldNotStart",
766+
"appHostedMediaFailureOutcomeWithError", "appHostedMediaFailureOutcomeGracefully",
767+
"handedOverDueToMediaTimeout", "handedOverDueToAudioStreamFailure",
768+
"speechRecognitionSessionNonRetriableError",
769+
"speechRecognitionSessionRetriableErrorMaxRetryCountReached",
770+
"handedOverDueToChunkCreationFailure", "chunkCreationFailed",
771+
"handedOverDueToProcessingTimeout", "processingTimeout", and "transcriptObjectCreationFailed".
772+
:vartype session_end_reason: str or
773+
~azure.communication.callautomation.models.CallSessionEndReason
774+
:ivar recording_expiration_time:
775+
:vartype recording_expiration_time: ~datetime.datetime
776+
"""
777+
778+
recording_id: Optional[str]
779+
"""Id of this recording operation."""
780+
recording_storage_info: Optional[RecordingStorageInfo]
781+
"""recording storage info."""
782+
errors: Optional[List[Error]]
783+
"""Error."""
784+
session_end_reason: Optional[Union[str, 'CallSessionEndReason']]
785+
"""session end reason."""
786+
recording_start_time: Optional[datetime]
787+
"""recording start time."""
788+
recording_duration_ms: Optional[int]
789+
"""recording duration ms."""
790+
recording_expiration_time: Optional[datetime]
791+
"""recording expiration time."""
792+
793+
def __init__(
794+
self, *, recording_id: Optional[str] = None,
795+
recording_storage_info: Optional[RecordingStorageInfo] = None,
796+
session_end_reason: Optional[Union[str, 'CallSessionEndReason']] = None,
797+
recording_start_time: Optional[datetime] = None,
798+
recording_duration_ms: Optional[int] = None,
799+
recording_expiration_time: Optional[datetime] = None,
800+
errors: Optional[List[Error]]
801+
):
802+
self.recording_id = recording_id
803+
self.recording_storage_info = recording_storage_info
804+
self.session_end_reason = session_end_reason
805+
self.recording_start_time = recording_start_time
806+
self.recording_duration_ms = recording_duration_ms
807+
self.recording_expiration_time = recording_expiration_time
808+
self.errors = errors
809+
810+
@classmethod
811+
def _from_generated(cls, recording_result: "RecordingResultRest"):
812+
return cls(
813+
recording_id=recording_result.recording_id,
814+
recording_storage_info=recording_result.recording_storage_info,
815+
session_end_reason=recording_result.session_end_reason,
816+
recording_start_time=recording_result.recording_start_time,
817+
recording_duration_ms=recording_result.recording_duration_ms,
818+
recording_expiration_time=recording_result.recording_expiration_time,
819+
errors=recording_result.errors
820+
)
743821

744822
class CallParticipant:
745823
"""Details of an Azure Communication Service call participant.

sdk/communication/azure-communication-callautomation/azure/communication/callautomation/aio/_call_automation_client_async.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
from .._models import (
2929
CallConnectionProperties,
3030
RecordingProperties,
31+
RecordingResult,
3132
ChannelAffinity,
3233
CallInvite,
3334
AzureCommunicationsRecordingStorage,
@@ -905,6 +906,20 @@ async def get_recording_properties(self, recording_id: str, **kwargs) -> Recordi
905906
)
906907
return RecordingProperties._from_generated(recording_state_result) # pylint:disable=protected-access
907908

909+
@distributed_trace_async
910+
async def get_recording_response(self, recording_id: str, **kwargs) -> RecordingResult:
911+
"""Get call recording result.
912+
:param recording_id: The recording id.
913+
:type recording_id: str
914+
:return: recording result
915+
:rtype: ~azure.communication.callautomation.RecordingResult
916+
:raises ~azure.core.exceptions.HttpResponseError:
917+
"""
918+
recording_result = await self._call_recording_client.get_recording_result(
919+
recording_id=recording_id, **kwargs
920+
)
921+
return RecordingResult._from_generated(recording_result) # pylint:disable=protected-access
922+
908923
@distributed_trace_async
909924
async def download_recording(
910925
self, recording_url: str, *, offset: int = None, length: int = None, **kwargs
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# This file configures spell checking. Items in "words" were initially populated
2+
# with words that might be spelling errors. Review these words and take
3+
# appropriate action. For more information, see: https://aka.ms/ci-fix#spell-check
4+
5+
# Spell checking is not case sensitive
6+
# Keep word lists in alphabetical order so the file is easier to manage
7+
version: "0.2"
8+
words:
9+
- Retriable
10+
- PSTN
11+
- Dtmf
12+
- ssml
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"IncomingCall": {"to": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4519-f268-85f4-343a0d000338", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4519-f268-85f4-343a0d000338"}}, "from": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4519-f16b-85f4-343a0d000337", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4519-f16b-85f4-343a0d000337"}}, "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9zb3haUEFtWFRVRy1OcDQzWWljTGZnP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "callerDisplayName": "REDACTED", "incomingCallContext": "REDACTED", "correlationId": "3d1b219c-677a-4a16-96c3-77cec088292a"}, "CallConnected": {"id": "b55ab8f8-38fb-473d-aa78-6c1fcda267d2", "source": "calling/callConnections/08002380-b89d-4304-a8dd-9f353482d7bf", "type": "Microsoft.Communication.CallConnected", "data": {"version": "2024-09-01-preview", "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "callConnectionId": "08002380-b89d-4304-a8dd-9f353482d7bf", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9zb3haUEFtWFRVRy1OcDQzWWljTGZnP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "3d1b219c-677a-4a16-96c3-77cec088292a", "publicEventType": "Microsoft.Communication.CallConnected"}, "time": "2025-03-17T17:48:16.384762+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-b89d-4304-a8dd-9f353482d7bf"}, "ParticipantsUpdated": {"id": "3ebb5150-1436-4451-8c76-54dc3b9ec6b8", "source": "calling/callConnections/08002380-b89d-4304-a8dd-9f353482d7bf", "type": "Microsoft.Communication.ParticipantsUpdated", "data": {"participants": [{"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4519-f16b-85f4-343a0d000337", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4519-f16b-85f4-343a0d000337"}}, "isMuted": false, "isOnHold": false}, {"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4519-f268-85f4-343a0d000338", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4519-f268-85f4-343a0d000338"}}, "isMuted": false, "isOnHold": false}], "sequenceNumber": 3, "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "version": "2024-09-01-preview", "callConnectionId": "08002380-b89d-4304-a8dd-9f353482d7bf", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9zb3haUEFtWFRVRy1OcDQzWWljTGZnP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "3d1b219c-677a-4a16-96c3-77cec088292a", "publicEventType": "Microsoft.Communication.ParticipantsUpdated"}, "time": "2025-03-17T17:48:20.1274372+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-b89d-4304-a8dd-9f353482d7bf"}, "CancelAddParticipantSucceeded": {"id": "522c611f-f4a1-4061-aaaa-629054d0dd75", "source": "calling/callConnections/08002380-b89d-4304-a8dd-9f353482d7bf", "type": "Microsoft.Communication.CancelAddParticipantSucceeded", "data": {"invitationId": "ec414aa2-e017-452e-a077-3d188382a0aa", "version": "2024-09-01-preview", "resultInformation": {"code": 200, "subCode": 5300, "message": "addParticipants failed for participant 8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4519-f35e-85f4-343a0d000339. Underlying reason: The conversation has ended. DiagCode: 0#5300.@"}, "callConnectionId": "08002380-b89d-4304-a8dd-9f353482d7bf", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9zb3haUEFtWFRVRy1OcDQzWWljTGZnP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "3d1b219c-677a-4a16-96c3-77cec088292a", "publicEventType": "Microsoft.Communication.CancelAddParticipantSucceeded"}, "time": "2025-03-17T17:48:22.0638623+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-b89d-4304-a8dd-9f353482d7bf"}, "CallDisconnected": {"id": "50806cde-a554-4e8c-8b05-e4bdd3bca645", "source": "calling/callConnections/08002380-b89d-4304-a8dd-9f353482d7bf", "type": "Microsoft.Communication.CallDisconnected", "data": {"version": "2024-09-01-preview", "resultInformation": {"code": 200, "subCode": 7000, "message": "The conversation has ended. DiagCode: 0#7000.@"}, "callConnectionId": "08002380-b89d-4304-a8dd-9f353482d7bf", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9zb3haUEFtWFRVRy1OcDQzWWljTGZnP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "3d1b219c-677a-4a16-96c3-77cec088292a", "publicEventType": "Microsoft.Communication.CallDisconnected"}, "time": "2025-03-17T17:48:23.1850512+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-b89d-4304-a8dd-9f353482d7bf"}}
1+
{"IncomingCall": {"to": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-2f1b-a487-e64a-5c3a0d006c62", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-2f1b-a487-e64a-5c3a0d006c62"}}, "from": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-2f1b-a45c-e64a-5c3a0d006c61", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-2f1b-a45c-e64a-5c3a0d006c61"}}, "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzZWEtMDEtc2RmLWFrcy5jb252LnNreXBlLmNvbS9jb252L1RZSHdMQUtHTjBtY0V0VG5tNWRZMWc/aT0xMC0xMjgtMTQtMjM3JmU9NjM4ODU5NzI4MTc3OTEwNDQ2", "callerDisplayName": "REDACTED", "incomingCallContext": "REDACTED", "correlationId": "23a9616f-514c-429a-a15e-8f121fe62896"}, "CallConnected": {"id": "236db7d1-5d6c-41e4-99e5-15cb74599b58", "source": "calling/callConnections/15002280-703d-4a59-b921-7c4b641a4617", "type": "Microsoft.Communication.CallConnected", "data": {"version": "2024-09-01-preview", "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "callConnectionId": "15002280-703d-4a59-b921-7c4b641a4617", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzZWEtMDEtc2RmLWFrcy5jb252LnNreXBlLmNvbS9jb252L1RZSHdMQUtHTjBtY0V0VG5tNWRZMWc/aT0xMC0xMjgtMTQtMjM3JmU9NjM4ODU5NzI4MTc3OTEwNDQ2", "correlationId": "23a9616f-514c-429a-a15e-8f121fe62896", "publicEventType": "Microsoft.Communication.CallConnected"}, "time": "2025-06-20T21:23:57.2757696+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/15002280-703d-4a59-b921-7c4b641a4617"}, "ParticipantsUpdated": {"id": "4831e539-7566-4393-900b-1f9e45899c61", "source": "calling/callConnections/15002280-703d-4a59-b921-7c4b641a4617", "type": "Microsoft.Communication.ParticipantsUpdated", "data": {"participants": [{"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-2f1b-a487-e64a-5c3a0d006c62", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-2f1b-a487-e64a-5c3a0d006c62"}}, "isMuted": false, "isOnHold": false}, {"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-2f1b-a45c-e64a-5c3a0d006c61", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-2f1b-a45c-e64a-5c3a0d006c61"}}, "isMuted": false, "isOnHold": false}], "sequenceNumber": 3, "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "version": "2024-09-01-preview", "callConnectionId": "15002280-703d-4a59-b921-7c4b641a4617", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzZWEtMDEtc2RmLWFrcy5jb252LnNreXBlLmNvbS9jb252L1RZSHdMQUtHTjBtY0V0VG5tNWRZMWc/aT0xMC0xMjgtMTQtMjM3JmU9NjM4ODU5NzI4MTc3OTEwNDQ2", "correlationId": "23a9616f-514c-429a-a15e-8f121fe62896", "publicEventType": "Microsoft.Communication.ParticipantsUpdated"}, "time": "2025-06-20T21:23:59.7242617+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/15002280-703d-4a59-b921-7c4b641a4617"}, "CancelAddParticipantSucceeded": {"id": "bc5176dd-0b3e-4f6a-a250-b8fc8d1b5861", "source": "calling/callConnections/15002280-703d-4a59-b921-7c4b641a4617", "type": "Microsoft.Communication.CancelAddParticipantSucceeded", "data": {"invitationId": "cee7fd45-8adb-4543-a127-82bb5ac8be65", "version": "2024-09-01-preview", "resultInformation": {"code": 200, "subCode": 5300, "message": "addParticipants failed for participant 8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-2f1b-a4b2-e64a-5c3a0d006c63. Underlying reason: The conversation has ended. DiagCode: 0#5300.@"}, "callConnectionId": "15002280-703d-4a59-b921-7c4b641a4617", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzZWEtMDEtc2RmLWFrcy5jb252LnNreXBlLmNvbS9jb252L1RZSHdMQUtHTjBtY0V0VG5tNWRZMWc/aT0xMC0xMjgtMTQtMjM3JmU9NjM4ODU5NzI4MTc3OTEwNDQ2", "correlationId": "23a9616f-514c-429a-a15e-8f121fe62896", "publicEventType": "Microsoft.Communication.CancelAddParticipantSucceeded"}, "time": "2025-06-20T21:24:01.9228096+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/15002280-703d-4a59-b921-7c4b641a4617"}, "CallDisconnected": {"id": "c9827aee-a8d0-4e89-a898-c856bce9f554", "source": "calling/callConnections/15002280-703d-4a59-b921-7c4b641a4617", "type": "Microsoft.Communication.CallDisconnected", "data": {"version": "2024-09-01-preview", "resultInformation": {"code": 200, "subCode": 7000, "message": "Call was ended by Azure Communication Service Call Automation API or a server bot. DiagCode: 0#7000.@"}, "callConnectionId": "15002280-703d-4a59-b921-7c4b641a4617", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzZWEtMDEtc2RmLWFrcy5jb252LnNreXBlLmNvbS9jb252L1RZSHdMQUtHTjBtY0V0VG5tNWRZMWc/aT0xMC0xMjgtMTQtMjM3JmU9NjM4ODU5NzI4MTc3OTEwNDQ2", "correlationId": "23a9616f-514c-429a-a15e-8f121fe62896", "publicEventType": "Microsoft.Communication.CallDisconnected"}, "time": "2025-06-20T21:24:02.9461645+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/15002280-703d-4a59-b921-7c4b641a4617"}}

0 commit comments

Comments
 (0)