diff --git a/sdk/communication/azure-communication-callautomation/CHANGELOG.md b/sdk/communication/azure-communication-callautomation/CHANGELOG.md index 48a68ab0cf62..114f7620f7fd 100644 --- a/sdk/communication/azure-communication-callautomation/CHANGELOG.md +++ b/sdk/communication/azure-communication-callautomation/CHANGELOG.md @@ -1,14 +1,22 @@ # Release History -## 1.5.0b1 (Unreleased) +## 1.5.0 (Unreleased) ### Features Added -### Breaking Changes +- Added support for Teams multipersona users in add participant, transfer, and redirect scenarios in OPS calls +- Added TeamsAppSource for use when creating outbound OPS calls +- Recording with the call connection ID is now supported. OPS calls can be recorded using the call connection ID. +- Added StartRecordingFailed event to indicate when the start recording API is unable to initiate the recording. -### Bugs Fixed - -### Other Changes +## 1.4.0 (2025-06-02) + +### Features Added + +- Real-time transcription support +- Audio and DTMF streaming capabilities +- Integration of ConnectAPI for seamless streaming and transcription +- Improved media streaming with bidirectional functionality, allowing audio formats in both directions, currently supporting sample rates of 24kHz and 16kHz ## 1.4.0b1 (2024-11-22) diff --git a/sdk/communication/azure-communication-callautomation/assets.json b/sdk/communication/azure-communication-callautomation/assets.json index 568abc74996b..0a0a412fcee4 100644 --- a/sdk/communication/azure-communication-callautomation/assets.json +++ b/sdk/communication/azure-communication-callautomation/assets.json @@ -2,5 +2,5 @@ "AssetsRepo": "Azure/azure-sdk-assets", "AssetsRepoPrefixPath": "python", "TagPrefix": "python/communication/azure-communication-callautomation", - "Tag": "python/communication/azure-communication-callautomation_4be693f217" + "Tag": "python/communication/azure-communication-callautomation_2e2c2d8b13" } diff --git a/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/__init__.py b/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/__init__.py index daa8be2411d9..9472b4cf97f6 100644 --- a/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/__init__.py +++ b/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/__init__.py @@ -18,7 +18,6 @@ RecordingProperties, AddParticipantResult, RemoveParticipantResult, - MoveParticipantsResult, TransferCallResult, MediaStreamingOptions, TranscriptionOptions, @@ -46,12 +45,12 @@ RecordingContent, RecordingChannel, RecordingFormat, + RecordingKind, RecordingStorageKind, RecognizeInputType, MediaStreamingAudioChannelType, MediaStreamingContentType, - MediaStreamingTransportType, - TranscriptionTransportType, + StreamingTransportType, DtmfTone, CallConnectionState, RecordingState, @@ -81,7 +80,6 @@ "RecordingProperties", "AddParticipantResult", "RemoveParticipantResult", - "MoveParticipantsResult", "TransferCallResult", "MuteParticipantResult", "SendDtmfTonesResult", @@ -103,12 +101,12 @@ "RecordingContent", "RecordingChannel", "RecordingFormat", + "RecordingKind", "RecordingStorageKind", "RecognizeInputType", "MediaStreamingAudioChannelType", "MediaStreamingContentType", - "MediaStreamingTransportType", - "TranscriptionTransportType", + "StreamingTransportType", "DtmfTone", "CallConnectionState", "RecordingState", @@ -143,6 +141,14 @@ def __getattr__(name): from ._models import ServerCallLocator return ServerCallLocator + if name == "RoomCallLocator": + warnings.warn( + "RoomCallLocator is deprecated and should not be used. Please pass in 'room_id' directly.", + DeprecationWarning, + ) + from ._models import RoomCallLocator + + return RoomCallLocator if name == "MicrosoftBotIdentifier": warnings.warn( f"{name} is deprecated and should not be used. Please use 'MicrosoftTeamsAppIdentifier' instead.", diff --git a/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_api_versions.py b/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_api_versions.py index 7be0c3c6c50b..6fdac365ca88 100644 --- a/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_api_versions.py +++ b/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_api_versions.py @@ -9,13 +9,10 @@ class ApiVersion(str, Enum, metaclass=CaseInsensitiveEnumMeta): V2023_03_06 = "2023-03-06" - V2023_06_15_PREVIEW = "2023-06-15-preview" V2023_10_15 = "2023-10-15" - V2023_10_03_PREVIEW = "2023-10-03-preview" V2024_04_15 = "2024-04-15" - V2024_06_15_PREVIEW = "2024-06-15-preview" V2024_09_15 = "2024-09-15" - V2024_11_15_PREVIEW = "2024-11-15-preview" - V2024_09_01_PREVIEW = "2024-09-01-preview" + V2025_05_15 = "2025-05-15" + V2025_06_15 = "2025-06-15" -DEFAULT_VERSION = ApiVersion.V2024_09_01_PREVIEW.value +DEFAULT_VERSION = ApiVersion.V2025_06_15.value diff --git a/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_call_automation_client.py b/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_call_automation_client.py index bf03cb267b20..e53057863ada 100644 --- a/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_call_automation_client.py +++ b/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_call_automation_client.py @@ -3,7 +3,7 @@ # Licensed under the MIT License. See License.txt in the project root for # license information. # -------------------------------------------------------------------------- -from typing import List, Union, Optional, TYPE_CHECKING, Iterable, overload, Dict +from typing import List, Union, Optional, TYPE_CHECKING, Iterable, overload from urllib.parse import urlparse import warnings @@ -15,8 +15,6 @@ from ._generated._client import AzureCommunicationCallAutomationService from ._shared.auth_policy_utils import get_authentication_policy from ._shared.utils import parse_connection_str -from ._credential.call_automation_auth_policy_utils import get_call_automation_auth_policy -from ._credential.credential_utils import get_custom_enabled, get_custom_url from ._generated.models import ( CreateCallRequest, AnswerCallRequest, @@ -24,7 +22,6 @@ RejectCallRequest, StartCallRecordingRequest, CallIntelligenceOptions, - CustomCallingContext, ConnectRequest ) from ._models import ( @@ -62,7 +59,7 @@ CommunicationIdentifier, CommunicationUserIdentifier, PhoneNumberIdentifier, - MicrosoftTeamsAppIdentifier, + MicrosoftTeamsAppIdentifier ) from ._generated.models._enums import ( CallRejectReason, @@ -112,26 +109,14 @@ def __init__( if not parsed_url.netloc: raise ValueError(f"Invalid URL: {format(endpoint)}") - custom_enabled = get_custom_enabled() - custom_url = get_custom_url() - if custom_enabled and custom_url is not None: - self._client = AzureCommunicationCallAutomationService( - custom_url, - credential, - api_version=api_version or DEFAULT_VERSION, - authentication_policy=get_call_automation_auth_policy(custom_url, credential, acs_url=endpoint), - sdk_moniker=SDK_MONIKER, - **kwargs, - ) - else: - self._client = AzureCommunicationCallAutomationService( - endpoint, - credential, - api_version=api_version or DEFAULT_VERSION, - authentication_policy=get_authentication_policy(endpoint, credential), - sdk_moniker=SDK_MONIKER, - **kwargs, - ) + self._client = AzureCommunicationCallAutomationService( + endpoint, + credential, + api_version=api_version or DEFAULT_VERSION, + authentication_policy=get_authentication_policy(endpoint, credential), + sdk_moniker=SDK_MONIKER, + **kwargs, + ) self._call_recording_client = self._client.call_recording self._downloader = ContentDownloader(self._call_recording_client) @@ -174,7 +159,6 @@ def connect_call( *, server_call_id: str, cognitive_services_endpoint: Optional[str] = None, - backup_cognitive_services_endpoint:Optional[str] = None, operation_context: Optional[str] = None, media_streaming: Optional['MediaStreamingOptions'] = None, transcription: Optional['TranscriptionOptions'] = None, @@ -189,9 +173,6 @@ def connect_call( :keyword cognitive_services_endpoint: The identifier of the Cognitive Service resource assigned to this call. :paramtype cognitive_services_endpoint: str or None - :keyword backup_cognitive_services_endpoint: - The identifier of the Backup Cognitive Service resource assigned to this call. - :paramtype backup_cognitive_services_endpoint: str or None :keyword operation_context: Value that can be used to track the call and its associated events. :paramtype operation_context: str or None :keyword media_streaming: Media Streaming Options. @@ -212,7 +193,6 @@ def connect_call( *, group_call_id: str, cognitive_services_endpoint: Optional[str] = None, - backup_cognitive_services_endpoint:Optional[str] = None, operation_context: Optional[str] = None, media_streaming: Optional['MediaStreamingOptions'] = None, transcription: Optional['TranscriptionOptions'] = None, @@ -227,9 +207,6 @@ def connect_call( :keyword cognitive_services_endpoint: The identifier of the Cognitive Service resource assigned to this call. :paramtype cognitive_services_endpoint: str or None - :keyword backup_cognitive_services_endpoint: - The identifier of the Backup Cognitive Service resource assigned to this call. - :paramtype backup_cognitive_services_endpoint: str or None :keyword operation_context: Value that can be used to track the call and its associated events. :paramtype operation_context: str or None :keyword media_streaming: Media Streaming Options. @@ -250,7 +227,6 @@ def connect_call( *, room_id: str, cognitive_services_endpoint: Optional[str] = None, - backup_cognitive_services_endpoint:Optional[str] = None, operation_context: Optional[str] = None, media_streaming: Optional['MediaStreamingOptions'] = None, transcription: Optional['TranscriptionOptions'] = None, @@ -265,9 +241,6 @@ def connect_call( :keyword cognitive_services_endpoint: The identifier of the Cognitive Service resource assigned to this call. :paramtype cognitive_services_endpoint: str or None - :keyword backup_cognitive_services_endpoint: - The identifier of the Backup Cognitive Service resource assigned to this call. - :paramtype backup_cognitive_services_endpoint: str or None :keyword operation_context: Value that can be used to track the call and its associated events. :paramtype operation_context: str or None :keyword media_streaming: Media Streaming Options. @@ -289,10 +262,8 @@ def connect_call( ) -> CallConnectionProperties: cognitive_services_endpoint=kwargs.pop("cognitive_services_endpoint", None) - backup_cognitive_services_endpoint=kwargs.pop("backup_cognitive_services_endpoint", None) call_intelligence_options = CallIntelligenceOptions( cognitive_services_endpoint=cognitive_services_endpoint, - backup_cognitive_services_endpoint=backup_cognitive_services_endpoint ) if cognitive_services_endpoint else None media_streaming_options : Optional[MediaStreamingOptions] = None @@ -310,8 +281,8 @@ def connect_call( callback_uri=callback_url, operation_context=kwargs.pop("operation_context", None), call_intelligence_options=call_intelligence_options, - media_streaming_options=media_streaming_options.to_generated() if media_streaming_options else None, - transcription_options=transcription_options.to_generated() if transcription_options else None + media_streaming_options=media_streaming_options._to_generated() if media_streaming_options else None, # pylint:disable=protected-access + transcription_options=transcription_options._to_generated() if transcription_options else None # pylint:disable=protected-access ) process_repeatability_first_sent(kwargs) @@ -332,12 +303,9 @@ def create_call( source_display_name: Optional[str] = None, operation_context: Optional[str] = None, cognitive_services_endpoint: Optional[str] = None, - backup_cognitive_services_endpoint:Optional[str] = None, - sip_headers: Optional[Dict[str, str]] = None, - voip_headers: Optional[Dict[str, str]] = None, media_streaming: Optional['MediaStreamingOptions'] = None, transcription: Optional['TranscriptionOptions'] = None, - teams_app_source: Optional['MicrosoftTeamsAppIdentifier'] = None, + teams_app_source: Optional["MicrosoftTeamsAppIdentifier"] = None, **kwargs ) -> CallConnectionProperties: """Create a call connection request to a target identity. @@ -358,23 +326,14 @@ def create_call( :keyword cognitive_services_endpoint: The identifier of the Cognitive Service resource assigned to this call. :paramtype cognitive_services_endpoint: str or None - :keyword backup_cognitive_services_endpoint: - The identifier of the Backup Cognitive Service resource assigned to this call. - :paramtype backup_cognitive_services_endpoint: str or None - :keyword sip_headers: Sip Headers for PSTN Call - :paramtype sip_headers: Dict[str, str] or None - :keyword voip_headers: Voip Headers for Voip Call - :paramtype voip_headers: Dict[str, str] or None :keyword media_streaming: Media Streaming Options. :paramtype media_streaming: ~azure.communication.callautomation.MediaStreamingOptions or None :keyword transcription: Configuration of live transcription. :paramtype transcription: ~azure.communication.callautomation.TranscriptionOptions or None - :keyword teams_app_source: Overrides default client source by a MicrosoftTeamsAppIdentifier type source. - Required for creating call with Teams resource account ID. - This is per-operation setting and does not change the client's default source. - :paramtype teams_app_source: ~azure.communication.callautomation.MicrosoftTeamsAppIdentifier or None + :keyword teams_app_source: The Microsoft Teams App Identifier. + :paramtype teams_app_source: ~azure.communication.callautomation.MicrosoftTeamsAppIdentifier :return: CallConnectionProperties :rtype: ~azure.communication.callautomation.CallConnectionProperties :raises ~azure.core.exceptions.HttpResponseError: @@ -385,15 +344,9 @@ def create_call( source_display_name = source_display_name or target_participant.source_display_name target_participant = target_participant.target - user_custom_context = None - if sip_headers or voip_headers: - user_custom_context = CustomCallingContext(voip_headers=voip_headers, sip_headers=sip_headers) - call_intelligence_options = ( CallIntelligenceOptions( - cognitive_services_endpoint=cognitive_services_endpoint, - backup_cognitive_services_endpoint=backup_cognitive_services_endpoint - if backup_cognitive_services_endpoint else None + cognitive_services_endpoint=cognitive_services_endpoint ) if cognitive_services_endpoint else None @@ -403,21 +356,19 @@ def create_call( targets = [serialize_identifier(p) for p in target_participant] except TypeError: targets = [serialize_identifier(target_participant)] - media_config = media_streaming.to_generated() if media_streaming else None - transcription_config = transcription.to_generated() if transcription else None + media_config = media_streaming._to_generated() if media_streaming else None # pylint:disable=protected-access + transcription_config = transcription._to_generated() if transcription else None # pylint:disable=protected-access create_call_request = CreateCallRequest( targets=targets, callback_uri=callback_url, source_caller_id_number=serialize_phone_identifier(source_caller_id_number), source_display_name=source_display_name, source=serialize_communication_user_identifier(self.source), - teams_app_source=serialize_msft_teams_app_identifier(teams_app_source), operation_context=operation_context, call_intelligence_options=call_intelligence_options, media_streaming_options=media_config, transcription_options=transcription_config, - cognitive_services_endpoint=cognitive_services_endpoint, - custom_calling_context=user_custom_context, + teams_app_source=serialize_msft_teams_app_identifier(teams_app_source), ) process_repeatability_first_sent(kwargs) result = self._client.create_call(create_call_request=create_call_request, **kwargs) @@ -433,6 +384,7 @@ def create_group_call( source_display_name: Optional[str] = None, operation_context: Optional[str] = None, cognitive_services_endpoint: Optional[str] = None, + teams_app_source: Optional["MicrosoftTeamsAppIdentifier"] = None, **kwargs, ) -> CallConnectionProperties: """Create a call connection request to a list of multiple target identities. @@ -453,6 +405,8 @@ def create_group_call( :keyword cognitive_services_endpoint: The identifier of the Cognitive Service resource assigned to this call. :paramtype cognitive_services_endpoint: str + :keyword teams_app_source: The Microsoft Teams App Identifier. + :paramtype teams_app_source: ~azure.communication.callautomation.MicrosoftTeamsAppIdentifier :return: CallConnectionProperties :rtype: ~azure.communication.callautomation.CallConnectionProperties :raises ~azure.core.exceptions.HttpResponseError: @@ -468,6 +422,7 @@ def create_group_call( source_display_name=source_display_name, operation_context=operation_context, cognitive_services_endpoint=cognitive_services_endpoint, + teams_app_source=teams_app_source, **kwargs, ) @@ -478,9 +433,6 @@ def answer_call( callback_url: str, *, cognitive_services_endpoint: Optional[str] = None, - backup_cognitive_services_endpoint:Optional[str] = None, - sip_headers: Optional[Dict[str, str]] = None, - voip_headers: Optional[Dict[str, str]] = None, operation_context: Optional[str] = None, media_streaming: Optional['MediaStreamingOptions'] = None, transcription: Optional['TranscriptionOptions'] = None, @@ -497,13 +449,6 @@ def answer_call( :keyword cognitive_services_endpoint: The endpoint url of the Azure Cognitive Services resource attached. :paramtype cognitive_services_endpoint: str - :keyword backup_cognitive_services_endpoint: - The endpoint url of the Azure Backup Cognitive Services resource attached. - :paramtype backup_cognitive_services_endpoint: str - :keyword sip_headers: Sip Headers for PSTN Call - :paramtype sip_headers: Dict[str, str] or None - :keyword voip_headers: Voip Headers for Voip Call - :paramtype voip_headers: Dict[str, str] or None :keyword operation_context: The operation context. :paramtype operation_context: str :keyword media_streaming: Media Streaming Options. @@ -516,17 +461,9 @@ def answer_call( :rtype: ~azure.communication.callautomation.CallConnectionProperties :raises ~azure.core.exceptions.HttpResponseError: """ - user_custom_context = None - if sip_headers or voip_headers: - user_custom_context = CustomCallingContext( - voip_headers=voip_headers, - sip_headers=sip_headers - ) call_intelligence_options = CallIntelligenceOptions( - cognitive_services_endpoint=cognitive_services_endpoint, - backup_cognitive_services_endpoint=backup_cognitive_services_endpoint - if backup_cognitive_services_endpoint else None + cognitive_services_endpoint=cognitive_services_endpoint ) if cognitive_services_endpoint else None answer_call_request = AnswerCallRequest( @@ -535,13 +472,9 @@ def answer_call( call_intelligence_options=call_intelligence_options, answered_by=serialize_communication_user_identifier( self.source) if self.source else None, - media_streaming_options=media_streaming.to_generated( - ) if media_streaming else None, - transcription_options=transcription.to_generated() - if transcription else None, - cognitive_services_endpoint=cognitive_services_endpoint, - operation_context=operation_context, - custom_calling_context=user_custom_context + media_streaming_options=media_streaming._to_generated() if media_streaming else None, # pylint:disable=protected-access + transcription_options=transcription._to_generated() if transcription else None, # pylint:disable=protected-access + operation_context=operation_context ) process_repeatability_first_sent(kwargs) @@ -554,9 +487,6 @@ def redirect_call( self, incoming_call_context: str, target_participant: "CommunicationIdentifier", - *, - sip_headers: Optional[Dict[str, str]] = None, - voip_headers: Optional[Dict[str, str]] = None, **kwargs, ) -> None: """Redirect incoming call to a specific target. @@ -566,10 +496,6 @@ def redirect_call( :type incoming_call_context: str :param target_participant: The target identity to redirect the call to. :type target_participant: ~azure.communication.callautomation.CommunicationIdentifier - :keyword sip_headers: Sip Headers for PSTN Call - :paramtype sip_headers: Dict[str, str] or None - :keyword voip_headers: Voip Headers for Voip Call - :paramtype voip_headers: Dict[str, str] or None :return: None :rtype: None :raises ~azure.core.exceptions.HttpResponseError: @@ -578,13 +504,9 @@ def redirect_call( if isinstance(target_participant, CallInvite): target_participant = target_participant.target - user_custom_context = None - if sip_headers or voip_headers: - user_custom_context = CustomCallingContext(voip_headers=voip_headers, sip_headers=sip_headers) redirect_call_request = RedirectCallRequest( incoming_call_context=incoming_call_context, - target=serialize_identifier(target_participant), - custom_calling_context=user_custom_context, + target=serialize_identifier(target_participant) ) process_repeatability_first_sent(kwargs) self._client.redirect_call(redirect_call_request=redirect_call_request, **kwargs) @@ -619,7 +541,7 @@ def reject_call( def start_recording( self, *, - server_call_id: str, + call_connection_id: str, recording_state_callback_url: Optional[str] = None, recording_content_type: Optional[Union[str, 'RecordingContent']] = None, recording_channel_type: Optional[Union[str, 'RecordingChannel']] = None, @@ -631,9 +553,9 @@ def start_recording( pause_on_start: Optional[bool] = None, **kwargs, ) -> RecordingProperties: - """Start recording for a ongoing call. Locate the call with call locator. + """Start recording for a ongoing call. Locate the call with call connection id. - :keyword str server_call_id: The server call ID to locate ongoing call. + :keyword str call_connection_id: The call connection ID to locate ongoing call. :keyword recording_state_callback_url: The url to send notifications to. :paramtype recording_state_callback_url: str or None :keyword recording_content_type: The content type of call recording. @@ -670,7 +592,7 @@ def start_recording( def start_recording( self, *, - group_call_id: str, + server_call_id: str, recording_state_callback_url: Optional[str] = None, recording_content_type: Optional[Union[str, 'RecordingContent']] = None, recording_channel_type: Optional[Union[str, 'RecordingChannel']] = None, @@ -684,7 +606,7 @@ def start_recording( ) -> RecordingProperties: """Start recording for a ongoing call. Locate the call with call locator. - :keyword str group_call_id: The group call ID to locate ongoing call. + :keyword str server_call_id: The server call ID to locate ongoing call. :keyword recording_state_callback_url: The url to send notifications to. :paramtype recording_state_callback_url: str or None :keyword recording_content_type: The content type of call recording. @@ -721,7 +643,7 @@ def start_recording( def start_recording( self, *, - room_id: str, + group_call_id: str, recording_state_callback_url: Optional[str] = None, recording_content_type: Optional[Union[str, 'RecordingContent']] = None, recording_channel_type: Optional[Union[str, 'RecordingChannel']] = None, @@ -731,11 +653,11 @@ def start_recording( recording_storage: Optional[Union['AzureCommunicationsRecordingStorage', 'AzureBlobContainerRecordingStorage']] = None, pause_on_start: Optional[bool] = None, - **kwargs + **kwargs, ) -> RecordingProperties: """Start recording for a ongoing call. Locate the call with call locator. - :keyword str room_id: The room ID to locate ongoing call. + :keyword str group_call_id: The group call ID to locate ongoing call. :keyword recording_state_callback_url: The url to send notifications to. :paramtype recording_state_callback_url: str or None :keyword recording_content_type: The content type of call recording. @@ -772,7 +694,7 @@ def start_recording( def start_recording( self, *, - call_connection_id: str, + room_id: str, recording_state_callback_url: Optional[str] = None, recording_content_type: Optional[Union[str, 'RecordingContent']] = None, recording_channel_type: Optional[Union[str, 'RecordingChannel']] = None, @@ -784,9 +706,9 @@ def start_recording( pause_on_start: Optional[bool] = None, **kwargs ) -> RecordingProperties: - """Start recording for a ongoing call. Locate the call with call connection id. + """Start recording for a ongoing call. Locate the call with call locator. - :keyword str call_connection_id: Call connection ID to locate ongoing call. + :keyword str room_id: The room ID to locate ongoing call. :keyword recording_state_callback_url: The url to send notifications to. :paramtype recording_state_callback_url: str or None :keyword recording_content_type: The content type of call recording. @@ -835,8 +757,11 @@ def start_recording( kwargs.pop("room_id", None), args ) - external_storage = build_external_storage(kwargs.pop("recording_storage", None)) call_connection_id = kwargs.pop("call_connection_id", None) + if not call_locator and not call_connection_id: + raise ValueError("Either a call locator or a call_connection_id must be provided to start recording.") + + external_storage = build_external_storage(kwargs.pop("recording_storage", None)) start_recording_request = StartCallRecordingRequest( call_locator=call_locator if call_locator else None, call_connection_id=call_connection_id if call_connection_id else None, diff --git a/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_call_connection_client.py b/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_call_connection_client.py index 29dacfe5bb8a..cc3960f86627 100644 --- a/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_call_connection_client.py +++ b/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_call_connection_client.py @@ -21,7 +21,6 @@ CallConnectionProperties, AddParticipantResult, RemoveParticipantResult, - MoveParticipantsResult, TransferCallResult, MuteParticipantResult, SendDtmfTonesResult, @@ -32,7 +31,6 @@ from ._generated.models import ( AddParticipantRequest, RemoveParticipantRequest, - MoveParticipantsRequest, TransferToParticipantRequest, PlayRequest, RecognizeRequest, @@ -52,13 +50,10 @@ UnholdRequest, StartMediaStreamingRequest, StopMediaStreamingRequest, - InterruptAudioAndAnnounceRequest, ) from ._generated.models._enums import RecognizeInputType from ._shared.auth_policy_utils import get_authentication_policy from ._shared.utils import parse_connection_str -from ._credential.call_automation_auth_policy_utils import get_call_automation_auth_policy -from ._credential.credential_utils import get_custom_enabled, get_custom_url if TYPE_CHECKING: from ._call_automation_client import CallAutomationClient @@ -105,26 +100,14 @@ def __init__( if not parsed_url.netloc: raise ValueError(f"Invalid URL: {format(endpoint)}") - custom_enabled = get_custom_enabled() - custom_url = get_custom_url() - if custom_enabled and custom_url is not None: - self._client = AzureCommunicationCallAutomationService( - custom_url, - credential, - api_version=api_version or DEFAULT_VERSION, - authentication_policy=get_call_automation_auth_policy(custom_url, credential, acs_url=endpoint), - sdk_moniker=SDK_MONIKER, - **kwargs, - ) - else: - self._client = AzureCommunicationCallAutomationService( - endpoint, - credential, - api_version=api_version or DEFAULT_VERSION, - authentication_policy=get_authentication_policy(endpoint, credential), - sdk_moniker=SDK_MONIKER, - **kwargs, - ) + self._client = AzureCommunicationCallAutomationService( + endpoint, + credential, + api_version=api_version or DEFAULT_VERSION, + authentication_policy=get_authentication_policy(endpoint, credential), + sdk_moniker=SDK_MONIKER, + **kwargs, + ) else: self._client = call_automation_client @@ -376,46 +359,6 @@ def remove_participant( return RemoveParticipantResult._from_generated(response) # pylint:disable=protected-access - @distributed_trace - def move_participants( - self, - target_participants: List["CommunicationIdentifier"], - from_call: str, - *, - operation_context: Optional[str] = None, - operation_callback_url: Optional[str] = None, - **kwargs, - ) -> MoveParticipantsResult: - """Move participants from another call to this call. - - :param target_participants: The participants to move to this call. - :type target_participants: list[~azure.communication.callautomation.CommunicationIdentifier] - :param from_call: The CallConnectionId for the call you want to move the participant from. - :type from_call: str - :keyword operation_context: Value that can be used to track this call and its associated events. - :paramtype operation_context: str - :keyword operation_callback_url: Set a callback URL that overrides the default callback URL set - by CreateCall/AnswerCall for this operation. - This setup is per-action. If this is not set, the default callback URL set by - CreateCall/AnswerCall will be used. - :paramtype operation_callback_url: str or None - :return: MoveParticipantsResult - :rtype: ~azure.communication.callautomation.MoveParticipantsResult - :raises ~azure.core.exceptions.HttpResponseError: - """ - move_participants_request = MoveParticipantsRequest( - target_participants=[serialize_identifier(participant) for participant in target_participants], - from_call=from_call, - operation_context=operation_context, - operation_callback_uri=operation_callback_url, - ) - process_repeatability_first_sent(kwargs) - response = self._call_connection_client.move_participants( - self._call_connection_id, move_participants_request, **kwargs - ) - - return MoveParticipantsResult._from_generated(response) # pylint:disable=protected-access - @overload def play_media( self, @@ -426,7 +369,6 @@ def play_media( loop: bool = False, operation_context: Optional[str] = None, operation_callback_url: Optional[str] = None, - interrupt_hold_audio : bool = False, **kwargs ) -> None: """Play media to specific participant(s) in this call. @@ -450,9 +392,6 @@ def play_media( This setup is per-action. If this is not set, the default callback URL set by CreateCall/AnswerCall will be used. :paramtype operation_callback_url: str or None - :keyword interrupt_hold_audio: If set, hold audio will be interrupted, then this request will be - played, and then the hold audio will be resumed. - :paramtype interrupt_hold_audio: bool :return: None :rtype: None :raises ~azure.core.exceptions.HttpResponseError: @@ -556,7 +495,6 @@ def _play_media( operation_context: Optional[str] = None, operation_callback_url: Optional[str] = None, interrupt_call_media_operation: Optional[bool] = False, - interrupt_hold_audio : bool = False, **kwargs ) -> None: """Play media to specific participant(s) in this call. @@ -583,9 +521,6 @@ def _play_media( :keyword interrupt_call_media_operation: If set play can barge into other existing queued-up/currently-processing requests. :paramtype interrupt_call_media_operation: bool - :keyword interrupt_hold_audio: If set, hold audio will be interrupted, then this request will be - played, and then the hold audio will be resumed. - :paramtype interrupt_hold_audio: bool :return: None :rtype: None :raises ~azure.core.exceptions.HttpResponseError: @@ -600,13 +535,12 @@ def _play_media( audience = [] if play_to == "all" else [serialize_identifier(i) for i in play_to] interrupt_call_media_operation = interrupt_call_media_operation if play_to == "all" else False - interrupt_hold_audio = interrupt_hold_audio if play_to != "all" else False play_request = PlayRequest( play_sources=[play_source_single._to_generated()] if play_source_single else # pylint:disable=protected-access [source._to_generated() for source in play_sources] if play_sources else None, # pylint:disable=protected-access play_to=audience, - play_options=PlayOptions(loop=loop,interrupt_call_media_operation=interrupt_call_media_operation, - interrupt_hold_audio=interrupt_hold_audio), + play_options=PlayOptions(loop=loop), + interrupt_call_media_operation=interrupt_call_media_operation, operation_context=operation_context, operation_callback_uri=operation_callback_url, **kwargs, @@ -676,7 +610,7 @@ def start_recognizing_media( interrupt_prompt: bool = False, dtmf_inter_tone_timeout: Optional[int] = None, dtmf_max_tones_to_collect: Optional[int] = None, - dtmf_stop_tones: Optional[List[str or "DtmfTone"]] = None, + dtmf_stop_tones: Optional[List[Union[str, 'DtmfTone']]] = None, speech_language: Optional[str] = None, choices: Optional[List["RecognitionChoice"]] = None, end_silence_timeout: Optional[int] = None, @@ -804,7 +738,6 @@ def start_continuous_dtmf_recognition( target_participant: "CommunicationIdentifier", *, operation_context: Optional[str] = None, - operation_callback_url: Optional[str] = None, **kwargs, ) -> None: """Start continuous Dtmf recognition by subscribing to tones. @@ -813,11 +746,6 @@ def start_continuous_dtmf_recognition( :type target_participant: ~azure.communication.callautomation.CommunicationIdentifier :keyword operation_context: The value to identify context of the operation. :paramtype operation_context: str - :keyword operation_callback_url: Set a callback URL that overrides the default callback URL set - by CreateCall/AnswerCall for this operation. - This setup is per-action. If this is not set, the default callback URL set by - CreateCall/AnswerCall will be used. - :paramtype operation_callback_url: str or None :return: None :rtype: None :raises ~azure.core.exceptions.HttpResponseError: @@ -825,7 +753,6 @@ def start_continuous_dtmf_recognition( continuous_dtmf_recognition_request = ContinuousDtmfRecognitionRequest( target_participant=serialize_identifier(target_participant), operation_context=operation_context, - operation_callback_uri=operation_callback_url, ) self._call_media_client.start_continuous_dtmf_recognition( self._call_connection_id, continuous_dtmf_recognition_request, **kwargs @@ -1026,16 +953,16 @@ def stop_transcription( @distributed_trace def update_transcription( self, - locale: str, *, + locale: str, operation_context: Optional[str] = None, speech_recognition_model_endpoint_id: Optional[str] = None, operation_callback_url: Optional[str] = None, **kwargs) -> None: """API to change transcription language. - :param locale: Defines new locale for transcription. - :type locale: str + :keyword locale: Defines new locale for transcription. + :paramtype locale: str :keyword operation_context: The value to identify context of the operation. :paramtype operation_context: str :keyword speech_recognition_model_endpoint_id: Endpoint where the custom model was deployed. @@ -1111,7 +1038,12 @@ def hold( @distributed_trace def unhold( - self, target_participant: "CommunicationIdentifier", *, operation_context: Optional[str] = None, **kwargs + self, + target_participant: "CommunicationIdentifier", + *, + operation_context: Optional[str] = None, + operation_callback_url: Optional[str] = None, + **kwargs ) -> None: """Play media to specific participant(s) in this call. @@ -1119,6 +1051,11 @@ def unhold( :type target_participant: ~azure.communication.callautomation.CommunicationIdentifier :keyword operation_context: Value that can be used to track this call and its associated events. :paramtype operation_context: str or None + :keyword operation_callback_url: Set a callback URL that overrides the default callback URL set + by CreateCall/AnswerCall for this operation. + This setup is per-action. If this is not set, the default callback URL set by + CreateCall/AnswerCall will be used. + :paramtype operation_callback_url: str or None :return: None :rtype: None :raises ~azure.core.exceptions.HttpResponseError: @@ -1127,6 +1064,7 @@ def unhold( unhold_request = UnholdRequest( target_participant=serialize_identifier(target_participant), operation_context=operation_context, + operation_callback_url=operation_callback_url, kwargs=kwargs, ) @@ -1186,46 +1124,9 @@ def stop_media_streaming( stop_media_streaming_request=StopMediaStreamingRequest( operation_callback_uri=operation_callback_url, operation_context=operation_context - ) + ) self._call_media_client.stop_media_streaming( self._call_connection_id, stop_media_streaming_request, **kwargs - ) - - @distributed_trace - def interrupt_audio_and_announce( - self, - target_participant: "CommunicationIdentifier", - play_sources: List[Union['FileSource', 'TextSource', 'SsmlSource']], - *, - operation_context: Optional[str] = None, - **kwargs, - ) -> None: - """Interrupt audio and announce to specific participant(s) in this call. - - :param target_participant: The participant being added. - :type target_participant: ~azure.communication.callautomation.CommunicationIdentifier - :param play_sources: A PlaySource representing the source to play. - :type play_sources: list[~azure.communication.callautomation.FileSource] or - list[~azure.communication.callautomation.TextSource] or - list[~azure.communication.callautomation.SsmlSource] - :keyword operation_context: Value that can be used to track this call and its associated events. - :paramtype operation_context: str or None - :return: None - :rtype: None - :raises ~azure.core.exceptions.HttpResponseError: - """ - - interrupt_audio_announce_request = InterruptAudioAndAnnounceRequest( - play_sources=[source._to_generated() for source in play_sources] if play_sources else None, # pylint: disable=protected-access - play_to=serialize_identifier(target_participant), - operation_context=operation_context, - kwargs=kwargs, ) - - self._call_media_client.interrupt_audio_and_announce( - self._call_connection_id, - interrupt_audio_announce_request, - **kwargs - ) diff --git a/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_generated/_client.py b/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_generated/_client.py index 7a10d79bcf77..642e9ea022e3 100644 --- a/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_generated/_client.py +++ b/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_generated/_client.py @@ -21,7 +21,6 @@ from .operations import ( AzureCommunicationCallAutomationServiceOperationsMixin, CallConnectionOperations, - CallDialogOperations, CallMediaOperations, CallRecordingOperations, ) @@ -35,16 +34,14 @@ class AzureCommunicationCallAutomationService(AzureCommunicationCallAutomationSe azure.communication.callautomation.operations.CallConnectionOperations :ivar call_media: CallMediaOperations operations :vartype call_media: azure.communication.callautomation.operations.CallMediaOperations - :ivar call_dialog: CallDialogOperations operations - :vartype call_dialog: azure.communication.callautomation.operations.CallDialogOperations :ivar call_recording: CallRecordingOperations operations :vartype call_recording: azure.communication.callautomation.operations.CallRecordingOperations :param endpoint: The endpoint of the Azure Communication resource. Required. :type endpoint: str :param credential: Credential needed for the client to connect to Azure. Required. :type credential: ~azure.core.credentials.AzureKeyCredential - :keyword api_version: Api Version. Default value is "2024-09-01-preview". Note that overriding - this default value may result in unsupported behavior. + :keyword api_version: Api Version. Default value is "2025-06-15". Note that overriding this + default value may result in unsupported behavior. :paramtype api_version: str """ @@ -80,7 +77,6 @@ def __init__(self, endpoint: str, credential: AzureKeyCredential, **kwargs: Any) self._serialize.client_side_validation = False self.call_connection = CallConnectionOperations(self._client, self._config, self._serialize, self._deserialize) self.call_media = CallMediaOperations(self._client, self._config, self._serialize, self._deserialize) - self.call_dialog = CallDialogOperations(self._client, self._config, self._serialize, self._deserialize) self.call_recording = CallRecordingOperations(self._client, self._config, self._serialize, self._deserialize) def send_request(self, request: HttpRequest, *, stream: bool = False, **kwargs: Any) -> HttpResponse: diff --git a/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_generated/_configuration.py b/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_generated/_configuration.py index b56e5e4e7401..b693a68750bc 100644 --- a/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_generated/_configuration.py +++ b/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_generated/_configuration.py @@ -25,13 +25,13 @@ class AzureCommunicationCallAutomationServiceConfiguration: # pylint: disable=t :type endpoint: str :param credential: Credential needed for the client to connect to Azure. Required. :type credential: ~azure.core.credentials.AzureKeyCredential - :keyword api_version: Api Version. Default value is "2024-09-01-preview". Note that overriding - this default value may result in unsupported behavior. + :keyword api_version: Api Version. Default value is "2025-06-15". Note that overriding this + default value may result in unsupported behavior. :paramtype api_version: str """ def __init__(self, endpoint: str, credential: AzureKeyCredential, **kwargs: Any) -> None: - api_version: str = kwargs.pop("api_version", "2024-09-01-preview") + api_version: str = kwargs.pop("api_version", "2025-06-15") if endpoint is None: raise ValueError("Parameter 'endpoint' must not be None.") diff --git a/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_generated/aio/_client.py b/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_generated/aio/_client.py index cd061f5c3313..032350695618 100644 --- a/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_generated/aio/_client.py +++ b/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_generated/aio/_client.py @@ -21,7 +21,6 @@ from .operations import ( AzureCommunicationCallAutomationServiceOperationsMixin, CallConnectionOperations, - CallDialogOperations, CallMediaOperations, CallRecordingOperations, ) @@ -35,8 +34,6 @@ class AzureCommunicationCallAutomationService(AzureCommunicationCallAutomationSe azure.communication.callautomation.aio.operations.CallConnectionOperations :ivar call_media: CallMediaOperations operations :vartype call_media: azure.communication.callautomation.aio.operations.CallMediaOperations - :ivar call_dialog: CallDialogOperations operations - :vartype call_dialog: azure.communication.callautomation.aio.operations.CallDialogOperations :ivar call_recording: CallRecordingOperations operations :vartype call_recording: azure.communication.callautomation.aio.operations.CallRecordingOperations @@ -44,8 +41,8 @@ class AzureCommunicationCallAutomationService(AzureCommunicationCallAutomationSe :type endpoint: str :param credential: Credential needed for the client to connect to Azure. Required. :type credential: ~azure.core.credentials.AzureKeyCredential - :keyword api_version: Api Version. Default value is "2024-09-01-preview". Note that overriding - this default value may result in unsupported behavior. + :keyword api_version: Api Version. Default value is "2025-06-15". Note that overriding this + default value may result in unsupported behavior. :paramtype api_version: str """ @@ -81,7 +78,6 @@ def __init__(self, endpoint: str, credential: AzureKeyCredential, **kwargs: Any) self._serialize.client_side_validation = False self.call_connection = CallConnectionOperations(self._client, self._config, self._serialize, self._deserialize) self.call_media = CallMediaOperations(self._client, self._config, self._serialize, self._deserialize) - self.call_dialog = CallDialogOperations(self._client, self._config, self._serialize, self._deserialize) self.call_recording = CallRecordingOperations(self._client, self._config, self._serialize, self._deserialize) def send_request( diff --git a/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_generated/aio/_configuration.py b/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_generated/aio/_configuration.py index f7e37b71ad84..de3ff7009e0d 100644 --- a/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_generated/aio/_configuration.py +++ b/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_generated/aio/_configuration.py @@ -25,13 +25,13 @@ class AzureCommunicationCallAutomationServiceConfiguration: # pylint: disable=t :type endpoint: str :param credential: Credential needed for the client to connect to Azure. Required. :type credential: ~azure.core.credentials.AzureKeyCredential - :keyword api_version: Api Version. Default value is "2024-09-01-preview". Note that overriding - this default value may result in unsupported behavior. + :keyword api_version: Api Version. Default value is "2025-06-15". Note that overriding this + default value may result in unsupported behavior. :paramtype api_version: str """ def __init__(self, endpoint: str, credential: AzureKeyCredential, **kwargs: Any) -> None: - api_version: str = kwargs.pop("api_version", "2024-09-01-preview") + api_version: str = kwargs.pop("api_version", "2025-06-15") if endpoint is None: raise ValueError("Parameter 'endpoint' must not be None.") diff --git a/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_generated/aio/operations/__init__.py b/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_generated/aio/operations/__init__.py index 90a72cf9e9e9..586f5f0bf5d0 100644 --- a/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_generated/aio/operations/__init__.py +++ b/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_generated/aio/operations/__init__.py @@ -15,7 +15,6 @@ from ._operations import AzureCommunicationCallAutomationServiceOperationsMixin # type: ignore from ._operations import CallConnectionOperations # type: ignore from ._operations import CallMediaOperations # type: ignore -from ._operations import CallDialogOperations # type: ignore from ._operations import CallRecordingOperations # type: ignore from ._patch import __all__ as _patch_all @@ -26,7 +25,6 @@ "AzureCommunicationCallAutomationServiceOperationsMixin", "CallConnectionOperations", "CallMediaOperations", - "CallDialogOperations", "CallRecordingOperations", ] __all__.extend([p for p in _patch_all if p not in __all__]) # pyright: ignore diff --git a/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_generated/aio/operations/_operations.py b/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_generated/aio/operations/_operations.py index bf365b02108c..903bc3523ae2 100644 --- a/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_generated/aio/operations/_operations.py +++ b/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_generated/aio/operations/_operations.py @@ -42,18 +42,12 @@ build_call_connection_get_participant_request, build_call_connection_get_participants_request, build_call_connection_hangup_call_request, - build_call_connection_move_participants_request, build_call_connection_mute_request, build_call_connection_remove_participant_request, build_call_connection_terminate_call_request, build_call_connection_transfer_to_participant_request, - build_call_connection_unmute_request, - build_call_dialog_start_dialog_request, - build_call_dialog_stop_dialog_request, - build_call_dialog_update_dialog_request, build_call_media_cancel_all_media_operations_request, build_call_media_hold_request, - build_call_media_interrupt_audio_and_announce_request, build_call_media_play_request, build_call_media_recognize_request, build_call_media_send_dtmf_tones_request, @@ -66,7 +60,6 @@ build_call_media_unhold_request, build_call_media_update_transcription_request, build_call_recording_get_recording_properties_request, - build_call_recording_get_recording_result_request, build_call_recording_pause_recording_request, build_call_recording_resume_recording_request, build_call_recording_start_recording_request, @@ -1023,7 +1016,7 @@ async def add_participant( :param call_connection_id: The call connection Id. Required. :type call_connection_id: str - :param add_participant_request: The add participants request. Required. + :param add_participant_request: Required. :type add_participant_request: ~azure.communication.callautomation.models.AddParticipantRequest :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". @@ -1048,7 +1041,7 @@ async def add_participant( :param call_connection_id: The call connection Id. Required. :type call_connection_id: str - :param add_participant_request: The add participants request. Required. + :param add_participant_request: Required. :type add_participant_request: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". @@ -1071,8 +1064,8 @@ async def add_participant( :param call_connection_id: The call connection Id. Required. :type call_connection_id: str - :param add_participant_request: The add participants request. Is either a AddParticipantRequest - type or a IO[bytes] type. Required. + :param add_participant_request: Is either a AddParticipantRequest type or a IO[bytes] type. + Required. :type add_participant_request: ~azure.communication.callautomation.models.AddParticipantRequest or IO[bytes] :return: AddParticipantResponse @@ -1388,133 +1381,6 @@ async def mute( return deserialized # type: ignore - @overload - async def unmute( - self, - call_connection_id: str, - unmute_participants_request: _models.UnmuteParticipantsRequest, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.UnmuteParticipantsResponse: - """Unmute participants from the call using identifier. - - Unmute participants from the call using identifier. - - :param call_connection_id: The call connection id. Required. - :type call_connection_id: str - :param unmute_participants_request: The participants to be unmuted from the call. Required. - :type unmute_participants_request: - ~azure.communication.callautomation.models.UnmuteParticipantsRequest - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: UnmuteParticipantsResponse - :rtype: ~azure.communication.callautomation.models.UnmuteParticipantsResponse - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def unmute( - self, - call_connection_id: str, - unmute_participants_request: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.UnmuteParticipantsResponse: - """Unmute participants from the call using identifier. - - Unmute participants from the call using identifier. - - :param call_connection_id: The call connection id. Required. - :type call_connection_id: str - :param unmute_participants_request: The participants to be unmuted from the call. Required. - :type unmute_participants_request: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: UnmuteParticipantsResponse - :rtype: ~azure.communication.callautomation.models.UnmuteParticipantsResponse - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace_async - async def unmute( - self, - call_connection_id: str, - unmute_participants_request: Union[_models.UnmuteParticipantsRequest, IO[bytes]], - **kwargs: Any - ) -> _models.UnmuteParticipantsResponse: - """Unmute participants from the call using identifier. - - Unmute participants from the call using identifier. - - :param call_connection_id: The call connection id. Required. - :type call_connection_id: str - :param unmute_participants_request: The participants to be unmuted from the call. Is either a - UnmuteParticipantsRequest type or a IO[bytes] type. Required. - :type unmute_participants_request: - ~azure.communication.callautomation.models.UnmuteParticipantsRequest or IO[bytes] - :return: UnmuteParticipantsResponse - :rtype: ~azure.communication.callautomation.models.UnmuteParticipantsResponse - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.UnmuteParticipantsResponse] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _json = None - _content = None - if isinstance(unmute_participants_request, (IOBase, bytes)): - _content = unmute_participants_request - else: - _json = self._serialize.body(unmute_participants_request, "UnmuteParticipantsRequest") - - _request = build_call_connection_unmute_request( - call_connection_id=call_connection_id, - content_type=content_type, - api_version=self._config.api_version, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.endpoint", self._config.endpoint, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _stream = False - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.CommunicationErrorResponse, pipeline_response) - raise HttpResponseError(response=response, model=error) - - deserialized = self._deserialize("UnmuteParticipantsResponse", pipeline_response.http_response) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - @overload async def cancel_add_participant( self, @@ -1642,133 +1508,6 @@ async def cancel_add_participant( return deserialized # type: ignore - @overload - async def move_participants( - self, - call_connection_id: str, - move_participant_request: _models.MoveParticipantsRequest, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.MoveParticipantsResponse: - """Add a participant to the call. - - Add a participant to the call. - - :param call_connection_id: The call connection Id. Required. - :type call_connection_id: str - :param move_participant_request: The move participants request. Required. - :type move_participant_request: - ~azure.communication.callautomation.models.MoveParticipantsRequest - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: MoveParticipantsResponse - :rtype: ~azure.communication.callautomation.models.MoveParticipantsResponse - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def move_participants( - self, - call_connection_id: str, - move_participant_request: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.MoveParticipantsResponse: - """Add a participant to the call. - - Add a participant to the call. - - :param call_connection_id: The call connection Id. Required. - :type call_connection_id: str - :param move_participant_request: The move participants request. Required. - :type move_participant_request: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: MoveParticipantsResponse - :rtype: ~azure.communication.callautomation.models.MoveParticipantsResponse - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace_async - async def move_participants( - self, - call_connection_id: str, - move_participant_request: Union[_models.MoveParticipantsRequest, IO[bytes]], - **kwargs: Any - ) -> _models.MoveParticipantsResponse: - """Add a participant to the call. - - Add a participant to the call. - - :param call_connection_id: The call connection Id. Required. - :type call_connection_id: str - :param move_participant_request: The move participants request. Is either a - MoveParticipantsRequest type or a IO[bytes] type. Required. - :type move_participant_request: - ~azure.communication.callautomation.models.MoveParticipantsRequest or IO[bytes] - :return: MoveParticipantsResponse - :rtype: ~azure.communication.callautomation.models.MoveParticipantsResponse - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.MoveParticipantsResponse] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _json = None - _content = None - if isinstance(move_participant_request, (IOBase, bytes)): - _content = move_participant_request - else: - _json = self._serialize.body(move_participant_request, "MoveParticipantsRequest") - - _request = build_call_connection_move_participants_request( - call_connection_id=call_connection_id, - content_type=content_type, - api_version=self._config.api_version, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.endpoint", self._config.endpoint, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _stream = False - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [202]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.CommunicationErrorResponse, pipeline_response) - raise HttpResponseError(response=response, model=error) - - deserialized = self._deserialize("MoveParticipantsResponse", pipeline_response.http_response) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - @distributed_trace_async async def get_participant( self, call_connection_id: str, participant_raw_id: str, **kwargs: Any @@ -2210,74 +1949,24 @@ async def stop_transcription( if cls: return cls(pipeline_response, None, {}) # type: ignore - @distributed_trace_async - async def cancel_all_media_operations(self, call_connection_id: str, **kwargs: Any) -> None: - """Cancel all media operations in a call. - - Cancel all media operations in a call. - - :param call_connection_id: The call connection id. Required. - :type call_connection_id: str - :return: None - :rtype: None - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[None] = kwargs.pop("cls", None) - - _request = build_call_media_cancel_all_media_operations_request( - call_connection_id=call_connection_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.endpoint", self._config.endpoint, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _stream = False - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [202]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.CommunicationErrorResponse, pipeline_response) - raise HttpResponseError(response=response, model=error) - - if cls: - return cls(pipeline_response, None, {}) # type: ignore - @overload - async def recognize( + async def update_transcription( self, call_connection_id: str, - recognize_request: _models.RecognizeRequest, + update_transcription_request: _models.UpdateTranscriptionRequest, *, content_type: str = "application/json", **kwargs: Any ) -> None: - """Recognize media from call. + """UpdateTranscription Api. - Recognize media from call. + API to change transcription language. :param call_connection_id: The call connection id. Required. :type call_connection_id: str - :param recognize_request: The media recognize request. Required. - :type recognize_request: ~azure.communication.callautomation.models.RecognizeRequest + :param update_transcription_request: The UpdateTranscription request. Required. + :type update_transcription_request: + ~azure.communication.callautomation.models.UpdateTranscriptionRequest :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -2287,7 +1976,180 @@ async def recognize( """ @overload - async def recognize( + async def update_transcription( + self, + call_connection_id: str, + update_transcription_request: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> None: + """UpdateTranscription Api. + + API to change transcription language. + + :param call_connection_id: The call connection id. Required. + :type call_connection_id: str + :param update_transcription_request: The UpdateTranscription request. Required. + :type update_transcription_request: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: None + :rtype: None + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def update_transcription( + self, + call_connection_id: str, + update_transcription_request: Union[_models.UpdateTranscriptionRequest, IO[bytes]], + **kwargs: Any + ) -> None: + """UpdateTranscription Api. + + API to change transcription language. + + :param call_connection_id: The call connection id. Required. + :type call_connection_id: str + :param update_transcription_request: The UpdateTranscription request. Is either a + UpdateTranscriptionRequest type or a IO[bytes] type. Required. + :type update_transcription_request: + ~azure.communication.callautomation.models.UpdateTranscriptionRequest or IO[bytes] + :return: None + :rtype: None + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[None] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _json = None + _content = None + if isinstance(update_transcription_request, (IOBase, bytes)): + _content = update_transcription_request + else: + _json = self._serialize.body(update_transcription_request, "UpdateTranscriptionRequest") + + _request = build_call_media_update_transcription_request( + call_connection_id=call_connection_id, + content_type=content_type, + api_version=self._config.api_version, + json=_json, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.endpoint", self._config.endpoint, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _stream = False + pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access + _request, stream=_stream, **kwargs + ) + + response = pipeline_response.http_response + + if response.status_code not in [202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.CommunicationErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error) + + if cls: + return cls(pipeline_response, None, {}) # type: ignore + + @distributed_trace_async + async def cancel_all_media_operations(self, call_connection_id: str, **kwargs: Any) -> None: + """Cancel all media operations in a call. + + Cancel all media operations in a call. + + :param call_connection_id: The call connection id. Required. + :type call_connection_id: str + :return: None + :rtype: None + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[None] = kwargs.pop("cls", None) + + _request = build_call_media_cancel_all_media_operations_request( + call_connection_id=call_connection_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.endpoint", self._config.endpoint, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _stream = False + pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access + _request, stream=_stream, **kwargs + ) + + response = pipeline_response.http_response + + if response.status_code not in [202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.CommunicationErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error) + + if cls: + return cls(pipeline_response, None, {}) # type: ignore + + @overload + async def recognize( + self, + call_connection_id: str, + recognize_request: _models.RecognizeRequest, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> None: + """Recognize media from call. + + Recognize media from call. + + :param call_connection_id: The call connection id. Required. + :type call_connection_id: str + :param recognize_request: The media recognize request. Required. + :type recognize_request: ~azure.communication.callautomation.models.RecognizeRequest + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: None + :rtype: None + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def recognize( self, call_connection_id: str, recognize_request: IO[bytes], @@ -2753,525 +2615,42 @@ async def send_dtmf_tones( return deserialized # type: ignore @overload - async def update_transcription( + async def hold( self, call_connection_id: str, - update_transcription_request: _models.UpdateTranscriptionRequest, + hold_request: _models.HoldRequest, *, content_type: str = "application/json", **kwargs: Any ) -> None: - """UpdateTranscription Api. + """Hold participant from the call using identifier. - API to change transcription language. + Hold participant from the call using identifier. :param call_connection_id: The call connection id. Required. :type call_connection_id: str - :param update_transcription_request: The UpdateTranscription request. Required. - :type update_transcription_request: - ~azure.communication.callautomation.models.UpdateTranscriptionRequest + :param hold_request: The participants to be hold from the call. Required. + :type hold_request: ~azure.communication.callautomation.models.HoldRequest :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str :return: None :rtype: None :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def update_transcription( - self, - call_connection_id: str, - update_transcription_request: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> None: - """UpdateTranscription Api. - - API to change transcription language. - - :param call_connection_id: The call connection id. Required. - :type call_connection_id: str - :param update_transcription_request: The UpdateTranscription request. Required. - :type update_transcription_request: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: None - :rtype: None - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace_async - async def update_transcription( - self, - call_connection_id: str, - update_transcription_request: Union[_models.UpdateTranscriptionRequest, IO[bytes]], - **kwargs: Any - ) -> None: - """UpdateTranscription Api. - - API to change transcription language. - - :param call_connection_id: The call connection id. Required. - :type call_connection_id: str - :param update_transcription_request: The UpdateTranscription request. Is either a - UpdateTranscriptionRequest type or a IO[bytes] type. Required. - :type update_transcription_request: - ~azure.communication.callautomation.models.UpdateTranscriptionRequest or IO[bytes] - :return: None - :rtype: None - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[None] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _json = None - _content = None - if isinstance(update_transcription_request, (IOBase, bytes)): - _content = update_transcription_request - else: - _json = self._serialize.body(update_transcription_request, "UpdateTranscriptionRequest") - - _request = build_call_media_update_transcription_request( - call_connection_id=call_connection_id, - content_type=content_type, - api_version=self._config.api_version, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.endpoint", self._config.endpoint, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _stream = False - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [202]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.CommunicationErrorResponse, pipeline_response) - raise HttpResponseError(response=response, model=error) - - if cls: - return cls(pipeline_response, None, {}) # type: ignore - - @overload - async def hold( - self, - call_connection_id: str, - hold_request: _models.HoldRequest, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> None: - """Hold participant from the call using identifier. - - Hold participant from the call using identifier. - - :param call_connection_id: The call connection id. Required. - :type call_connection_id: str - :param hold_request: The participants to be hold from the call. Required. - :type hold_request: ~azure.communication.callautomation.models.HoldRequest - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: None - :rtype: None - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def hold( - self, call_connection_id: str, hold_request: IO[bytes], *, content_type: str = "application/json", **kwargs: Any - ) -> None: - """Hold participant from the call using identifier. - - Hold participant from the call using identifier. - - :param call_connection_id: The call connection id. Required. - :type call_connection_id: str - :param hold_request: The participants to be hold from the call. Required. - :type hold_request: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: None - :rtype: None - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace_async - async def hold( - self, call_connection_id: str, hold_request: Union[_models.HoldRequest, IO[bytes]], **kwargs: Any - ) -> None: - """Hold participant from the call using identifier. - - Hold participant from the call using identifier. - - :param call_connection_id: The call connection id. Required. - :type call_connection_id: str - :param hold_request: The participants to be hold from the call. Is either a HoldRequest type or - a IO[bytes] type. Required. - :type hold_request: ~azure.communication.callautomation.models.HoldRequest or IO[bytes] - :return: None - :rtype: None - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[None] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _json = None - _content = None - if isinstance(hold_request, (IOBase, bytes)): - _content = hold_request - else: - _json = self._serialize.body(hold_request, "HoldRequest") - - _request = build_call_media_hold_request( - call_connection_id=call_connection_id, - content_type=content_type, - api_version=self._config.api_version, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.endpoint", self._config.endpoint, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _stream = False - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.CommunicationErrorResponse, pipeline_response) - raise HttpResponseError(response=response, model=error) - - if cls: - return cls(pipeline_response, None, {}) # type: ignore - - @overload - async def unhold( - self, - call_connection_id: str, - unhold_request: _models.UnholdRequest, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> None: - """Unhold participants from the call using identifier. - - Unhold participants from the call using identifier. - - :param call_connection_id: The call connection id. Required. - :type call_connection_id: str - :param unhold_request: The participants to be hold from the call. Required. - :type unhold_request: ~azure.communication.callautomation.models.UnholdRequest - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: None - :rtype: None - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def unhold( - self, - call_connection_id: str, - unhold_request: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> None: - """Unhold participants from the call using identifier. - - Unhold participants from the call using identifier. - - :param call_connection_id: The call connection id. Required. - :type call_connection_id: str - :param unhold_request: The participants to be hold from the call. Required. - :type unhold_request: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: None - :rtype: None - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace_async - async def unhold( - self, call_connection_id: str, unhold_request: Union[_models.UnholdRequest, IO[bytes]], **kwargs: Any - ) -> None: - """Unhold participants from the call using identifier. - - Unhold participants from the call using identifier. - - :param call_connection_id: The call connection id. Required. - :type call_connection_id: str - :param unhold_request: The participants to be hold from the call. Is either a UnholdRequest - type or a IO[bytes] type. Required. - :type unhold_request: ~azure.communication.callautomation.models.UnholdRequest or IO[bytes] - :return: None - :rtype: None - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[None] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _json = None - _content = None - if isinstance(unhold_request, (IOBase, bytes)): - _content = unhold_request - else: - _json = self._serialize.body(unhold_request, "UnholdRequest") - - _request = build_call_media_unhold_request( - call_connection_id=call_connection_id, - content_type=content_type, - api_version=self._config.api_version, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.endpoint", self._config.endpoint, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _stream = False - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.CommunicationErrorResponse, pipeline_response) - raise HttpResponseError(response=response, model=error) - - if cls: - return cls(pipeline_response, None, {}) # type: ignore - - @overload - async def start_media_streaming( - self, - call_connection_id: str, - start_media_streaming_request: _models.StartMediaStreamingRequest, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> None: - """Starts media streaming in the call. - - Starts media streaming in the call. - - :param call_connection_id: The call connection id. Required. - :type call_connection_id: str - :param start_media_streaming_request: Required. - :type start_media_streaming_request: - ~azure.communication.callautomation.models.StartMediaStreamingRequest - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: None - :rtype: None - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def start_media_streaming( - self, - call_connection_id: str, - start_media_streaming_request: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> None: - """Starts media streaming in the call. - - Starts media streaming in the call. - - :param call_connection_id: The call connection id. Required. - :type call_connection_id: str - :param start_media_streaming_request: Required. - :type start_media_streaming_request: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: None - :rtype: None - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace_async - async def start_media_streaming( - self, - call_connection_id: str, - start_media_streaming_request: Union[_models.StartMediaStreamingRequest, IO[bytes]], - **kwargs: Any - ) -> None: - """Starts media streaming in the call. - - Starts media streaming in the call. - - :param call_connection_id: The call connection id. Required. - :type call_connection_id: str - :param start_media_streaming_request: Is either a StartMediaStreamingRequest type or a - IO[bytes] type. Required. - :type start_media_streaming_request: - ~azure.communication.callautomation.models.StartMediaStreamingRequest or IO[bytes] - :return: None - :rtype: None - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[None] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _json = None - _content = None - if isinstance(start_media_streaming_request, (IOBase, bytes)): - _content = start_media_streaming_request - else: - _json = self._serialize.body(start_media_streaming_request, "StartMediaStreamingRequest") - - _request = build_call_media_start_media_streaming_request( - call_connection_id=call_connection_id, - content_type=content_type, - api_version=self._config.api_version, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.endpoint", self._config.endpoint, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _stream = False - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [202]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.CommunicationErrorResponse, pipeline_response) - raise HttpResponseError(response=response, model=error) - - if cls: - return cls(pipeline_response, None, {}) # type: ignore - - @overload - async def stop_media_streaming( - self, - call_connection_id: str, - stop_media_streaming_request: _models.StopMediaStreamingRequest, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> None: - """Stops media streaming in the call. - - Stops media streaming in the call. - - :param call_connection_id: The call connection id. Required. - :type call_connection_id: str - :param stop_media_streaming_request: stop media streaming request payload. Required. - :type stop_media_streaming_request: - ~azure.communication.callautomation.models.StopMediaStreamingRequest - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: None - :rtype: None - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def stop_media_streaming( - self, - call_connection_id: str, - stop_media_streaming_request: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any + """ + + @overload + async def hold( + self, call_connection_id: str, hold_request: IO[bytes], *, content_type: str = "application/json", **kwargs: Any ) -> None: - """Stops media streaming in the call. + """Hold participant from the call using identifier. - Stops media streaming in the call. + Hold participant from the call using identifier. :param call_connection_id: The call connection id. Required. :type call_connection_id: str - :param stop_media_streaming_request: stop media streaming request payload. Required. - :type stop_media_streaming_request: IO[bytes] + :param hold_request: The participants to be hold from the call. Required. + :type hold_request: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str @@ -3281,22 +2660,18 @@ async def stop_media_streaming( """ @distributed_trace_async - async def stop_media_streaming( - self, - call_connection_id: str, - stop_media_streaming_request: Union[_models.StopMediaStreamingRequest, IO[bytes]], - **kwargs: Any + async def hold( + self, call_connection_id: str, hold_request: Union[_models.HoldRequest, IO[bytes]], **kwargs: Any ) -> None: - """Stops media streaming in the call. + """Hold participant from the call using identifier. - Stops media streaming in the call. + Hold participant from the call using identifier. :param call_connection_id: The call connection id. Required. :type call_connection_id: str - :param stop_media_streaming_request: stop media streaming request payload. Is either a - StopMediaStreamingRequest type or a IO[bytes] type. Required. - :type stop_media_streaming_request: - ~azure.communication.callautomation.models.StopMediaStreamingRequest or IO[bytes] + :param hold_request: The participants to be hold from the call. Is either a HoldRequest type or + a IO[bytes] type. Required. + :type hold_request: ~azure.communication.callautomation.models.HoldRequest or IO[bytes] :return: None :rtype: None :raises ~azure.core.exceptions.HttpResponseError: @@ -3318,12 +2693,12 @@ async def stop_media_streaming( content_type = content_type or "application/json" _json = None _content = None - if isinstance(stop_media_streaming_request, (IOBase, bytes)): - _content = stop_media_streaming_request + if isinstance(hold_request, (IOBase, bytes)): + _content = hold_request else: - _json = self._serialize.body(stop_media_streaming_request, "StopMediaStreamingRequest") + _json = self._serialize.body(hold_request, "HoldRequest") - _request = build_call_media_stop_media_streaming_request( + _request = build_call_media_hold_request( call_connection_id=call_connection_id, content_type=content_type, api_version=self._config.api_version, @@ -3344,7 +2719,7 @@ async def stop_media_streaming( response = pipeline_response.http_response - if response.status_code not in [202]: + if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize.failsafe_deserialize(_models.CommunicationErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error) @@ -3353,23 +2728,22 @@ async def stop_media_streaming( return cls(pipeline_response, None, {}) # type: ignore @overload - async def interrupt_audio_and_announce( + async def unhold( self, call_connection_id: str, - interrupt_request: _models.InterruptAudioAndAnnounceRequest, + unhold_request: _models.UnholdRequest, *, content_type: str = "application/json", **kwargs: Any ) -> None: - """Plays audio to participants in the call. + """Unhold participants from the call using identifier. - Plays audio to participants in the call. + Unhold participants from the call using identifier. :param call_connection_id: The call connection id. Required. :type call_connection_id: str - :param interrupt_request: play request payload. Required. - :type interrupt_request: - ~azure.communication.callautomation.models.InterruptAudioAndAnnounceRequest + :param unhold_request: The participants to be hold from the call. Required. + :type unhold_request: ~azure.communication.callautomation.models.UnholdRequest :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -3379,22 +2753,22 @@ async def interrupt_audio_and_announce( """ @overload - async def interrupt_audio_and_announce( + async def unhold( self, call_connection_id: str, - interrupt_request: IO[bytes], + unhold_request: IO[bytes], *, content_type: str = "application/json", **kwargs: Any ) -> None: - """Plays audio to participants in the call. + """Unhold participants from the call using identifier. - Plays audio to participants in the call. + Unhold participants from the call using identifier. :param call_connection_id: The call connection id. Required. :type call_connection_id: str - :param interrupt_request: play request payload. Required. - :type interrupt_request: IO[bytes] + :param unhold_request: The participants to be hold from the call. Required. + :type unhold_request: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str @@ -3404,22 +2778,18 @@ async def interrupt_audio_and_announce( """ @distributed_trace_async - async def interrupt_audio_and_announce( - self, - call_connection_id: str, - interrupt_request: Union[_models.InterruptAudioAndAnnounceRequest, IO[bytes]], - **kwargs: Any + async def unhold( + self, call_connection_id: str, unhold_request: Union[_models.UnholdRequest, IO[bytes]], **kwargs: Any ) -> None: - """Plays audio to participants in the call. + """Unhold participants from the call using identifier. - Plays audio to participants in the call. + Unhold participants from the call using identifier. :param call_connection_id: The call connection id. Required. :type call_connection_id: str - :param interrupt_request: play request payload. Is either a InterruptAudioAndAnnounceRequest + :param unhold_request: The participants to be hold from the call. Is either a UnholdRequest type or a IO[bytes] type. Required. - :type interrupt_request: - ~azure.communication.callautomation.models.InterruptAudioAndAnnounceRequest or IO[bytes] + :type unhold_request: ~azure.communication.callautomation.models.UnholdRequest or IO[bytes] :return: None :rtype: None :raises ~azure.core.exceptions.HttpResponseError: @@ -3441,12 +2811,12 @@ async def interrupt_audio_and_announce( content_type = content_type or "application/json" _json = None _content = None - if isinstance(interrupt_request, (IOBase, bytes)): - _content = interrupt_request + if isinstance(unhold_request, (IOBase, bytes)): + _content = unhold_request else: - _json = self._serialize.body(interrupt_request, "InterruptAudioAndAnnounceRequest") + _json = self._serialize.body(unhold_request, "UnholdRequest") - _request = build_call_media_interrupt_audio_and_announce_request( + _request = build_call_media_unhold_request( call_connection_id=call_connection_id, content_type=content_type, api_version=self._config.api_version, @@ -3467,7 +2837,7 @@ async def interrupt_audio_and_announce( response = pipeline_response.http_response - if response.status_code not in [202]: + if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize.failsafe_deserialize(_models.CommunicationErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error) @@ -3475,106 +2845,76 @@ async def interrupt_audio_and_announce( if cls: return cls(pipeline_response, None, {}) # type: ignore - -class CallDialogOperations: - """ - .. warning:: - **DO NOT** instantiate this class directly. - - Instead, you should access the following operations through - :class:`~azure.communication.callautomation.aio.AzureCommunicationCallAutomationService`'s - :attr:`call_dialog` attribute. - """ - - models = _models - - def __init__(self, *args, **kwargs) -> None: - input_args = list(args) - self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: AzureCommunicationCallAutomationServiceConfiguration = ( - input_args.pop(0) if input_args else kwargs.pop("config") - ) - self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") - self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @overload - async def start_dialog( + async def start_media_streaming( self, call_connection_id: str, - dialog_id: str, - start_dialog_request: _models.StartDialogRequest, + start_media_streaming_request: _models.StartMediaStreamingRequest, *, content_type: str = "application/json", **kwargs: Any - ) -> _models.DialogStateResponse: - """Start a dialog targeting a particular participant on the call. + ) -> None: + """Starts media streaming in the call. - Start a dialog. + Starts media streaming in the call. :param call_connection_id: The call connection id. Required. :type call_connection_id: str - :param dialog_id: The dialog id. Required. - :type dialog_id: str - :param start_dialog_request: The start dialog request. Required. - :type start_dialog_request: ~azure.communication.callautomation.models.StartDialogRequest + :param start_media_streaming_request: Required. + :type start_media_streaming_request: + ~azure.communication.callautomation.models.StartMediaStreamingRequest :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :return: DialogStateResponse - :rtype: ~azure.communication.callautomation.models.DialogStateResponse + :return: None + :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ @overload - async def start_dialog( + async def start_media_streaming( self, call_connection_id: str, - dialog_id: str, - start_dialog_request: IO[bytes], + start_media_streaming_request: IO[bytes], *, content_type: str = "application/json", **kwargs: Any - ) -> _models.DialogStateResponse: - """Start a dialog targeting a particular participant on the call. + ) -> None: + """Starts media streaming in the call. - Start a dialog. + Starts media streaming in the call. :param call_connection_id: The call connection id. Required. :type call_connection_id: str - :param dialog_id: The dialog id. Required. - :type dialog_id: str - :param start_dialog_request: The start dialog request. Required. - :type start_dialog_request: IO[bytes] + :param start_media_streaming_request: Required. + :type start_media_streaming_request: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str - :return: DialogStateResponse - :rtype: ~azure.communication.callautomation.models.DialogStateResponse + :return: None + :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace_async - async def start_dialog( + async def start_media_streaming( self, call_connection_id: str, - dialog_id: str, - start_dialog_request: Union[_models.StartDialogRequest, IO[bytes]], + start_media_streaming_request: Union[_models.StartMediaStreamingRequest, IO[bytes]], **kwargs: Any - ) -> _models.DialogStateResponse: - """Start a dialog targeting a particular participant on the call. + ) -> None: + """Starts media streaming in the call. - Start a dialog. + Starts media streaming in the call. :param call_connection_id: The call connection id. Required. :type call_connection_id: str - :param dialog_id: The dialog id. Required. - :type dialog_id: str - :param start_dialog_request: The start dialog request. Is either a StartDialogRequest type or a + :param start_media_streaming_request: Is either a StartMediaStreamingRequest type or a IO[bytes] type. Required. - :type start_dialog_request: ~azure.communication.callautomation.models.StartDialogRequest or - IO[bytes] - :return: DialogStateResponse - :rtype: ~azure.communication.callautomation.models.DialogStateResponse + :type start_media_streaming_request: + ~azure.communication.callautomation.models.StartMediaStreamingRequest or IO[bytes] + :return: None + :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ error_map: MutableMapping = { @@ -3589,19 +2929,18 @@ async def start_dialog( _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.DialogStateResponse] = kwargs.pop("cls", None) + cls: ClsType[None] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(start_dialog_request, (IOBase, bytes)): - _content = start_dialog_request + if isinstance(start_media_streaming_request, (IOBase, bytes)): + _content = start_media_streaming_request else: - _json = self._serialize.body(start_dialog_request, "StartDialogRequest") + _json = self._serialize.body(start_media_streaming_request, "StartMediaStreamingRequest") - _request = build_call_dialog_start_dialog_request( + _request = build_call_media_start_media_streaming_request( call_connection_id=call_connection_id, - dialog_id=dialog_id, content_type=content_type, api_version=self._config.api_version, json=_json, @@ -3621,68 +2960,7 @@ async def start_dialog( response = pipeline_response.http_response - if response.status_code not in [201]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.CommunicationErrorResponse, pipeline_response) - raise HttpResponseError(response=response, model=error) - - deserialized = self._deserialize("DialogStateResponse", pipeline_response.http_response) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @distributed_trace_async - async def stop_dialog( - self, call_connection_id: str, dialog_id: str, *, operation_callback_uri: Optional[str] = None, **kwargs: Any - ) -> None: - """stop_dialog. - - :param call_connection_id: Required. - :type call_connection_id: str - :param dialog_id: Required. - :type dialog_id: str - :keyword operation_callback_uri: Default value is None. - :paramtype operation_callback_uri: str - :return: None - :rtype: None - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[None] = kwargs.pop("cls", None) - - _request = build_call_dialog_stop_dialog_request( - call_connection_id=call_connection_id, - dialog_id=dialog_id, - operation_callback_uri=operation_callback_uri, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.endpoint", self._config.endpoint, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _stream = False - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [204]: + if response.status_code not in [202]: map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize.failsafe_deserialize(_models.CommunicationErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error) @@ -3691,25 +2969,23 @@ async def stop_dialog( return cls(pipeline_response, None, {}) # type: ignore @overload - async def update_dialog( + async def stop_media_streaming( self, call_connection_id: str, - dialog_id: str, - update_dialog_request: _models.UpdateDialogRequest, + stop_media_streaming_request: _models.StopMediaStreamingRequest, *, content_type: str = "application/json", **kwargs: Any ) -> None: - """Update an ongoing dialog in a call. + """Stops media streaming in the call. - Update a dialog. + Stops media streaming in the call. :param call_connection_id: The call connection id. Required. :type call_connection_id: str - :param dialog_id: The dialog id. Required. - :type dialog_id: str - :param update_dialog_request: The update dialog request. Required. - :type update_dialog_request: ~azure.communication.callautomation.models.UpdateDialogRequest + :param stop_media_streaming_request: stop media streaming request payload. Required. + :type stop_media_streaming_request: + ~azure.communication.callautomation.models.StopMediaStreamingRequest :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -3719,25 +2995,22 @@ async def update_dialog( """ @overload - async def update_dialog( + async def stop_media_streaming( self, call_connection_id: str, - dialog_id: str, - update_dialog_request: IO[bytes], + stop_media_streaming_request: IO[bytes], *, content_type: str = "application/json", **kwargs: Any ) -> None: - """Update an ongoing dialog in a call. + """Stops media streaming in the call. - Update a dialog. + Stops media streaming in the call. :param call_connection_id: The call connection id. Required. :type call_connection_id: str - :param dialog_id: The dialog id. Required. - :type dialog_id: str - :param update_dialog_request: The update dialog request. Required. - :type update_dialog_request: IO[bytes] + :param stop_media_streaming_request: stop media streaming request payload. Required. + :type stop_media_streaming_request: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str @@ -3747,25 +3020,22 @@ async def update_dialog( """ @distributed_trace_async - async def update_dialog( + async def stop_media_streaming( self, call_connection_id: str, - dialog_id: str, - update_dialog_request: Union[_models.UpdateDialogRequest, IO[bytes]], + stop_media_streaming_request: Union[_models.StopMediaStreamingRequest, IO[bytes]], **kwargs: Any ) -> None: - """Update an ongoing dialog in a call. + """Stops media streaming in the call. - Update a dialog. + Stops media streaming in the call. :param call_connection_id: The call connection id. Required. :type call_connection_id: str - :param dialog_id: The dialog id. Required. - :type dialog_id: str - :param update_dialog_request: The update dialog request. Is either a UpdateDialogRequest type - or a IO[bytes] type. Required. - :type update_dialog_request: ~azure.communication.callautomation.models.UpdateDialogRequest or - IO[bytes] + :param stop_media_streaming_request: stop media streaming request payload. Is either a + StopMediaStreamingRequest type or a IO[bytes] type. Required. + :type stop_media_streaming_request: + ~azure.communication.callautomation.models.StopMediaStreamingRequest or IO[bytes] :return: None :rtype: None :raises ~azure.core.exceptions.HttpResponseError: @@ -3787,14 +3057,13 @@ async def update_dialog( content_type = content_type or "application/json" _json = None _content = None - if isinstance(update_dialog_request, (IOBase, bytes)): - _content = update_dialog_request + if isinstance(stop_media_streaming_request, (IOBase, bytes)): + _content = stop_media_streaming_request else: - _json = self._serialize.body(update_dialog_request, "UpdateDialogRequest") + _json = self._serialize.body(stop_media_streaming_request, "StopMediaStreamingRequest") - _request = build_call_dialog_update_dialog_request( + _request = build_call_media_stop_media_streaming_request( call_connection_id=call_connection_id, - dialog_id=dialog_id, content_type=content_type, api_version=self._config.api_version, json=_json, @@ -3814,7 +3083,7 @@ async def update_dialog( response = pipeline_response.http_response - if response.status_code not in [200]: + if response.status_code not in [202]: map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize.failsafe_deserialize(_models.CommunicationErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error) @@ -4162,58 +3431,3 @@ async def resume_recording(self, recording_id: str, **kwargs: Any) -> None: if cls: return cls(pipeline_response, None, {}) # type: ignore - - @distributed_trace_async - async def get_recording_result(self, recording_id: str, **kwargs: Any) -> _models.RecordingResultResponse: - """Get recording result. This includes the download URLs for the recording chunks. - - Get recording result. This includes the download URLs for the recording chunks. - - :param recording_id: The recording id. Required. - :type recording_id: str - :return: RecordingResultResponse - :rtype: ~azure.communication.callautomation.models.RecordingResultResponse - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[_models.RecordingResultResponse] = kwargs.pop("cls", None) - - _request = build_call_recording_get_recording_result_request( - recording_id=recording_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.endpoint", self._config.endpoint, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _stream = False - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.CommunicationErrorResponse, pipeline_response) - raise HttpResponseError(response=response, model=error) - - deserialized = self._deserialize("RecordingResultResponse", pipeline_response.http_response) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore diff --git a/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_generated/models/__init__.py b/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_generated/models/__init__.py index 3664c75f24ae..8102d9796c5f 100644 --- a/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_generated/models/__init__.py +++ b/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_generated/models/__init__.py @@ -20,9 +20,6 @@ AddParticipantSucceeded, AnswerCallRequest, AnswerFailed, - AzureOpenAIDialog, - AzureOpenAIDialogUpdate, - BaseDialog, CallConnected, CallConnectionProperties, CallDisconnected, @@ -51,30 +48,12 @@ CreateCallFailed, CreateCallRequest, CustomCallingContext, - DialogCompleted, - DialogConsent, - DialogFailed, - DialogHangup, - DialogLanguageChange, - DialogSensitivityUpdate, - DialogStarted, - DialogStateResponse, - DialogTransfer, - DialogUpdateBase, - DialogUpdated, DtmfOptions, DtmfResult, - Error, ExternalStorage, FileSource, - HoldAudioCompleted, - HoldAudioPaused, - HoldAudioResumed, - HoldAudioStarted, HoldFailed, HoldRequest, - IncomingCall, - InterruptAudioAndAnnounceRequest, MediaStreamingFailed, MediaStreamingOptions, MediaStreamingStarted, @@ -83,10 +62,6 @@ MediaStreamingUpdate, MicrosoftTeamsAppIdentifierModel, MicrosoftTeamsUserIdentifierModel, - MoveParticipantFailed, - MoveParticipantSucceeded, - MoveParticipantsRequest, - MoveParticipantsResponse, MuteParticipantsRequest, MuteParticipantsResult, ParticipantsUpdated, @@ -95,23 +70,16 @@ PlayCompleted, PlayFailed, PlayOptions, - PlayPaused, PlayRequest, - PlayResumed, PlaySource, PlayStarted, - PostProcessingOptions, - PowerVirtualAgentsDialog, RecognizeCanceled, RecognizeCompleted, RecognizeFailed, RecognizeOptions, RecognizeRequest, - RecordingChunkStorageInfo, - RecordingResultResponse, RecordingStateChanged, RecordingStateResponse, - RecordingStorageInfo, RedirectCallRequest, RejectCallRequest, RemoveParticipantFailed, @@ -127,19 +95,13 @@ SpeechResult, SsmlSource, StartCallRecordingRequest, - StartDialogRequest, StartMediaStreamingRequest, StartRecordingFailed, StartTranscriptionRequest, StopMediaStreamingRequest, StopTranscriptionRequest, - Summarization, TeamsExtensionUserIdentifierModel, - TeamsPhoneCallDetails, - TeamsPhoneCallerDetails, - TeamsPhoneSourceDetails, TextSource, - Transcription, TranscriptionFailed, TranscriptionOptions, TranscriptionStarted, @@ -150,11 +112,9 @@ TransferCallResponse, TransferToParticipantRequest, UnholdRequest, - UnmuteParticipantsRequest, - UnmuteParticipantsResponse, - UpdateDialogRequest, UpdateTranscriptionRequest, - UserConsent, + WebSocketMediaStreamingOptions, + WebSocketTranscriptionOptions, ) from ._enums import ( # type: ignore @@ -162,18 +122,14 @@ CallConnectionState, CallLocatorKind, CallRejectReason, - CallSessionEndReason, - ChunkEndReason, CommunicationCloudEnvironmentModel, CommunicationIdentifierModelKind, - DialogInputType, DtmfTone, MediaStreamingAudioChannelType, MediaStreamingContentType, MediaStreamingStatus, MediaStreamingStatusDetails, MediaStreamingSubscriptionState, - MediaStreamingTransportType, PlaySourceType, RecognitionType, RecognizeInputType, @@ -183,11 +139,11 @@ RecordingKind, RecordingState, RecordingStorageKind, + StreamingTransportType, TranscriptionResultType, TranscriptionStatus, TranscriptionStatusDetails, TranscriptionSubscriptionState, - TranscriptionTransportType, VoiceKind, ) from ._patch import __all__ as _patch_all @@ -201,9 +157,6 @@ "AddParticipantSucceeded", "AnswerCallRequest", "AnswerFailed", - "AzureOpenAIDialog", - "AzureOpenAIDialogUpdate", - "BaseDialog", "CallConnected", "CallConnectionProperties", "CallDisconnected", @@ -232,30 +185,12 @@ "CreateCallFailed", "CreateCallRequest", "CustomCallingContext", - "DialogCompleted", - "DialogConsent", - "DialogFailed", - "DialogHangup", - "DialogLanguageChange", - "DialogSensitivityUpdate", - "DialogStarted", - "DialogStateResponse", - "DialogTransfer", - "DialogUpdateBase", - "DialogUpdated", "DtmfOptions", "DtmfResult", - "Error", "ExternalStorage", "FileSource", - "HoldAudioCompleted", - "HoldAudioPaused", - "HoldAudioResumed", - "HoldAudioStarted", "HoldFailed", "HoldRequest", - "IncomingCall", - "InterruptAudioAndAnnounceRequest", "MediaStreamingFailed", "MediaStreamingOptions", "MediaStreamingStarted", @@ -264,10 +199,6 @@ "MediaStreamingUpdate", "MicrosoftTeamsAppIdentifierModel", "MicrosoftTeamsUserIdentifierModel", - "MoveParticipantFailed", - "MoveParticipantSucceeded", - "MoveParticipantsRequest", - "MoveParticipantsResponse", "MuteParticipantsRequest", "MuteParticipantsResult", "ParticipantsUpdated", @@ -276,23 +207,16 @@ "PlayCompleted", "PlayFailed", "PlayOptions", - "PlayPaused", "PlayRequest", - "PlayResumed", "PlaySource", "PlayStarted", - "PostProcessingOptions", - "PowerVirtualAgentsDialog", "RecognizeCanceled", "RecognizeCompleted", "RecognizeFailed", "RecognizeOptions", "RecognizeRequest", - "RecordingChunkStorageInfo", - "RecordingResultResponse", "RecordingStateChanged", "RecordingStateResponse", - "RecordingStorageInfo", "RedirectCallRequest", "RejectCallRequest", "RemoveParticipantFailed", @@ -308,19 +232,13 @@ "SpeechResult", "SsmlSource", "StartCallRecordingRequest", - "StartDialogRequest", "StartMediaStreamingRequest", "StartRecordingFailed", "StartTranscriptionRequest", "StopMediaStreamingRequest", "StopTranscriptionRequest", - "Summarization", "TeamsExtensionUserIdentifierModel", - "TeamsPhoneCallDetails", - "TeamsPhoneCallerDetails", - "TeamsPhoneSourceDetails", "TextSource", - "Transcription", "TranscriptionFailed", "TranscriptionOptions", "TranscriptionStarted", @@ -331,27 +249,21 @@ "TransferCallResponse", "TransferToParticipantRequest", "UnholdRequest", - "UnmuteParticipantsRequest", - "UnmuteParticipantsResponse", - "UpdateDialogRequest", "UpdateTranscriptionRequest", - "UserConsent", + "WebSocketMediaStreamingOptions", + "WebSocketTranscriptionOptions", "AudioFormat", "CallConnectionState", "CallLocatorKind", "CallRejectReason", - "CallSessionEndReason", - "ChunkEndReason", "CommunicationCloudEnvironmentModel", "CommunicationIdentifierModelKind", - "DialogInputType", "DtmfTone", "MediaStreamingAudioChannelType", "MediaStreamingContentType", "MediaStreamingStatus", "MediaStreamingStatusDetails", "MediaStreamingSubscriptionState", - "MediaStreamingTransportType", "PlaySourceType", "RecognitionType", "RecognizeInputType", @@ -361,11 +273,11 @@ "RecordingKind", "RecordingState", "RecordingStorageKind", + "StreamingTransportType", "TranscriptionResultType", "TranscriptionStatus", "TranscriptionStatusDetails", "TranscriptionSubscriptionState", - "TranscriptionTransportType", "VoiceKind", ] __all__.extend([p for p in _patch_all if p not in __all__]) # pyright: ignore diff --git a/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_generated/models/_enums.py b/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_generated/models/_enums.py index ab8cb7b44a75..1f0914fb266d 100644 --- a/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_generated/models/_enums.py +++ b/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_generated/models/_enums.py @@ -11,12 +11,12 @@ class AudioFormat(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """Specifies the audio format used for encoding, including sample rate and channel type.""" + """The audio format used for encoding, including sample rate and channel type. The default is + Pcm16KMono. + """ - PCM16_K_MONO = "Pcm16KMono" - """Pcm16KMono""" - PCM24_K_MONO = "Pcm24KMono" - """Pcm24KMono""" + PCM16_K_MONO = "pcm16KMono" + PCM24_K_MONO = "pcm24KMono" class CallConnectionState(str, Enum, metaclass=CaseInsensitiveEnumMeta): @@ -47,49 +47,6 @@ class CallRejectReason(str, Enum, metaclass=CaseInsensitiveEnumMeta): FORBIDDEN = "forbidden" -class CallSessionEndReason(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """CallSessionEndReason.""" - - SESSION_STILL_ONGOING = "sessionStillOngoing" - CALL_ENDED = "callEnded" - INITIATOR_LEFT = "initiatorLeft" - HANDED_OVER_OR_TRANSFERED = "handedOverOrTransfered" - MAXIMUM_SESSION_TIME_REACHED = "maximumSessionTimeReached" - CALL_START_TIMEOUT = "callStartTimeout" - MEDIA_TIMEOUT = "mediaTimeout" - AUDIO_STREAM_FAILURE = "audioStreamFailure" - ALL_INSTANCES_BUSY = "allInstancesBusy" - TEAMS_TOKEN_CONVERSION_FAILED = "teamsTokenConversionFailed" - REPORT_CALL_STATE_FAILED = "reportCallStateFailed" - REPORT_CALL_STATE_FAILED_AND_SESSION_MUST_BE_DISCARDED = "reportCallStateFailedAndSessionMustBeDiscarded" - COULD_NOT_REJOIN_CALL = "couldNotRejoinCall" - INVALID_BOT_DATA = "invalidBotData" - COULD_NOT_START = "couldNotStart" - APP_HOSTED_MEDIA_FAILURE_OUTCOME_WITH_ERROR = "appHostedMediaFailureOutcomeWithError" - APP_HOSTED_MEDIA_FAILURE_OUTCOME_GRACEFULLY = "appHostedMediaFailureOutcomeGracefully" - HANDED_OVER_DUE_TO_MEDIA_TIMEOUT = "handedOverDueToMediaTimeout" - HANDED_OVER_DUE_TO_AUDIO_STREAM_FAILURE = "handedOverDueToAudioStreamFailure" - SPEECH_RECOGNITION_SESSION_NON_RETRIABLE_ERROR = "speechRecognitionSessionNonRetriableError" - SPEECH_RECOGNITION_SESSION_RETRIABLE_ERROR_MAX_RETRY_COUNT_REACHED = ( - "speechRecognitionSessionRetriableErrorMaxRetryCountReached" - ) - HANDED_OVER_DUE_TO_CHUNK_CREATION_FAILURE = "handedOverDueToChunkCreationFailure" - CHUNK_CREATION_FAILED = "chunkCreationFailed" - HANDED_OVER_DUE_TO_PROCESSING_TIMEOUT = "handedOverDueToProcessingTimeout" - PROCESSING_TIMEOUT = "processingTimeout" - TRANSCRIPT_OBJECT_CREATION_FAILED = "transcriptObjectCreationFailed" - - -class ChunkEndReason(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """Reason this chunk ended.""" - - CHUNK_IS_BEING_RECORDED = "chunkIsBeingRecorded" - SESSION_ENDED = "sessionEnded" - CHUNK_MAXIMUM_SIZE_EXCEEDED = "chunkMaximumSizeExceeded" - CHUNK_MAXIMUM_TIME_EXCEEDED = "chunkMaximumTimeExceeded" - CHUNK_UPLOAD_FAILURE = "chunkUploadFailure" - - class CommunicationCloudEnvironmentModel(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The cloud that the identifier belongs to.""" @@ -109,13 +66,6 @@ class CommunicationIdentifierModelKind(str, Enum, metaclass=CaseInsensitiveEnumM TEAMS_EXTENSION_USER = "teamsExtensionUser" -class DialogInputType(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """Determines the type of the dialog.""" - - POWER_VIRTUAL_AGENTS = "powerVirtualAgents" - AZURE_OPEN_AI = "azureOpenAI" - - class DtmfTone(str, Enum, metaclass=CaseInsensitiveEnumMeta): """DtmfTone.""" @@ -138,14 +88,14 @@ class DtmfTone(str, Enum, metaclass=CaseInsensitiveEnumMeta): class MediaStreamingAudioChannelType(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """Audio channel type to stream, eg. unmixed audio, mixed audio.""" + """The audio channel type to stream, e.g., unmixed audio, mixed audio.""" MIXED = "mixed" UNMIXED = "unmixed" class MediaStreamingContentType(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """Content type to stream, eg. audio.""" + """MediaStreamingContentType.""" AUDIO = "audio" @@ -187,12 +137,6 @@ class MediaStreamingSubscriptionState(str, Enum, metaclass=CaseInsensitiveEnumMe ACTIVE = "active" -class MediaStreamingTransportType(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """The type of transport to be used for media streaming, eg. Websocket.""" - - WEBSOCKET = "websocket" - - class PlaySourceType(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Defines the type of the play source.""" @@ -269,6 +213,14 @@ class RecordingStorageKind(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Storage managed by provided Azure blob""" +class StreamingTransportType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """Defines the transport type used for streaming. Note that future values may be introduced that + are not currently documented. + """ + + WEBSOCKET = "websocket" + + class TranscriptionResultType(str, Enum, metaclass=CaseInsensitiveEnumMeta): """TranscriptionResultType.""" @@ -315,12 +267,6 @@ class TranscriptionSubscriptionState(str, Enum, metaclass=CaseInsensitiveEnumMet ACTIVE = "active" -class TranscriptionTransportType(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """The type of transport to be used for live transcription, eg. Websocket.""" - - WEBSOCKET = "websocket" - - class VoiceKind(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Voice kind type.""" diff --git a/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_generated/models/_models.py b/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_generated/models/_models.py index d7565bf566b6..423dc4762d97 100644 --- a/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_generated/models/_models.py +++ b/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_generated/models/_models.py @@ -1,4 +1,4 @@ -# pylint: disable=line-too-long,useless-suppression,too-many-lines +# pylint: disable=too-many-lines # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. @@ -7,14 +7,12 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from collections.abc import MutableMapping from typing import Any, Dict, List, Optional, TYPE_CHECKING, Union from .._utils import serialization as _serialization if TYPE_CHECKING: from .. import models as _models -JSON = MutableMapping[str, Any] class AddParticipantFailed(_serialization.Model): @@ -293,10 +291,6 @@ class AnswerCallRequest(_serialization.Model): :vartype incoming_call_context: str :ivar callback_uri: The callback uri. Required. :vartype callback_uri: str - :ivar custom_calling_context: Used by customer to send custom calling context to targets when - answering On-Behalf-Of call. - :vartype custom_calling_context: - ~azure.communication.callautomation.models.CustomCallingContext :ivar operation_context: A customer set value used to track the answering of a call. :vartype operation_context: str :ivar call_intelligence_options: AI options for the call. @@ -320,7 +314,6 @@ class AnswerCallRequest(_serialization.Model): _attribute_map = { "incoming_call_context": {"key": "incomingCallContext", "type": "str"}, "callback_uri": {"key": "callbackUri", "type": "str"}, - "custom_calling_context": {"key": "customCallingContext", "type": "CustomCallingContext"}, "operation_context": {"key": "operationContext", "type": "str"}, "call_intelligence_options": {"key": "callIntelligenceOptions", "type": "CallIntelligenceOptions"}, "answered_by": {"key": "answeredBy", "type": "CommunicationUserIdentifierModel"}, @@ -333,7 +326,6 @@ def __init__( *, incoming_call_context: str, callback_uri: str, - custom_calling_context: Optional["_models.CustomCallingContext"] = None, operation_context: Optional[str] = None, call_intelligence_options: Optional["_models.CallIntelligenceOptions"] = None, answered_by: Optional["_models.CommunicationUserIdentifierModel"] = None, @@ -346,10 +338,6 @@ def __init__( :paramtype incoming_call_context: str :keyword callback_uri: The callback uri. Required. :paramtype callback_uri: str - :keyword custom_calling_context: Used by customer to send custom calling context to targets - when answering On-Behalf-Of call. - :paramtype custom_calling_context: - ~azure.communication.callautomation.models.CustomCallingContext :keyword operation_context: A customer set value used to track the answering of a call. :paramtype operation_context: str :keyword call_intelligence_options: AI options for the call. @@ -368,7 +356,6 @@ def __init__( super().__init__(**kwargs) self.incoming_call_context = incoming_call_context self.callback_uri = callback_uri - self.custom_calling_context = custom_calling_context self.operation_context = operation_context self.call_intelligence_options = call_intelligence_options self.answered_by = answered_by @@ -433,140 +420,6 @@ def __init__( self.result_information = result_information -class BaseDialog(_serialization.Model): - """BaseDialog. - - You probably want to use the sub-classes and not this class directly. Known sub-classes are: - AzureOpenAIDialog, PowerVirtualAgentsDialog - - All required parameters must be populated in order to send to server. - - :ivar kind: Determines the type of the dialog. Required. Known values are: "powerVirtualAgents" - and "azureOpenAI". - :vartype kind: str or ~azure.communication.callautomation.models.DialogInputType - :ivar context: Dialog context. Required. - :vartype context: dict[str, JSON] - """ - - _validation = { - "kind": {"required": True}, - "context": {"required": True}, - } - - _attribute_map = { - "kind": {"key": "kind", "type": "str"}, - "context": {"key": "context", "type": "{object}"}, - } - - _subtype_map = {"kind": {"azureOpenAI": "AzureOpenAIDialog", "powerVirtualAgents": "PowerVirtualAgentsDialog"}} - - def __init__(self, *, context: Dict[str, JSON], **kwargs: Any) -> None: - """ - :keyword context: Dialog context. Required. - :paramtype context: dict[str, JSON] - """ - super().__init__(**kwargs) - self.kind: Optional[str] = None - self.context = context - - -class AzureOpenAIDialog(BaseDialog): - """Azure Open AI Dialog. - - All required parameters must be populated in order to send to server. - - :ivar kind: Determines the type of the dialog. Required. Known values are: "powerVirtualAgents" - and "azureOpenAI". - :vartype kind: str or ~azure.communication.callautomation.models.DialogInputType - :ivar context: Dialog context. Required. - :vartype context: dict[str, JSON] - """ - - _validation = { - "kind": {"required": True}, - "context": {"required": True}, - } - - _attribute_map = { - "kind": {"key": "kind", "type": "str"}, - "context": {"key": "context", "type": "{object}"}, - } - - def __init__(self, *, context: Dict[str, JSON], **kwargs: Any) -> None: - """ - :keyword context: Dialog context. Required. - :paramtype context: dict[str, JSON] - """ - super().__init__(context=context, **kwargs) - self.kind: str = "azureOpenAI" - - -class DialogUpdateBase(_serialization.Model): - """DialogUpdateBase. - - You probably want to use the sub-classes and not this class directly. Known sub-classes are: - AzureOpenAIDialogUpdate - - All required parameters must be populated in order to send to server. - - :ivar kind: Determines the type of the dialog. Required. Known values are: "powerVirtualAgents" - and "azureOpenAI". - :vartype kind: str or ~azure.communication.callautomation.models.DialogInputType - :ivar context: Dialog context. - :vartype context: dict[str, JSON] - """ - - _validation = { - "kind": {"required": True}, - } - - _attribute_map = { - "kind": {"key": "kind", "type": "str"}, - "context": {"key": "context", "type": "{object}"}, - } - - _subtype_map = {"kind": {"azureOpenAI": "AzureOpenAIDialogUpdate"}} - - def __init__(self, *, context: Optional[Dict[str, JSON]] = None, **kwargs: Any) -> None: - """ - :keyword context: Dialog context. - :paramtype context: dict[str, JSON] - """ - super().__init__(**kwargs) - self.kind: Optional[str] = None - self.context = context - - -class AzureOpenAIDialogUpdate(DialogUpdateBase): - """Azure Open AI Dialog for UpdateDialog API Call. - - All required parameters must be populated in order to send to server. - - :ivar kind: Determines the type of the dialog. Required. Known values are: "powerVirtualAgents" - and "azureOpenAI". - :vartype kind: str or ~azure.communication.callautomation.models.DialogInputType - :ivar context: Dialog context. - :vartype context: dict[str, JSON] - """ - - _validation = { - "kind": {"required": True}, - } - - _attribute_map = { - "kind": {"key": "kind", "type": "str"}, - "context": {"key": "context", "type": "{object}"}, - } - - def __init__(self, *, context: Optional[Dict[str, JSON]] = None, **kwargs: Any) -> None: - """ - :keyword context: Dialog context. - :paramtype context: dict[str, JSON] - """ - super().__init__(context=context, **kwargs) - self.kind: str = "azureOpenAI" - - class CallConnected(_serialization.Model): """The call connected event. @@ -655,10 +508,6 @@ class CallConnectionProperties(_serialization.Model): in the request. :vartype answered_by: ~azure.communication.callautomation.models.CommunicationUserIdentifierModel - :ivar media_subscription_id: SubscriptionId for media streaming. - :vartype media_subscription_id: str - :ivar data_subscription_id: SubscriptionId for transcription. - :vartype data_subscription_id: str :ivar media_streaming_subscription: The state of media streaming subscription for the call. :vartype media_streaming_subscription: ~azure.communication.callautomation.models.MediaStreamingSubscription @@ -681,8 +530,6 @@ class CallConnectionProperties(_serialization.Model): "source": {"key": "source", "type": "CommunicationIdentifierModel"}, "correlation_id": {"key": "correlationId", "type": "str"}, "answered_by": {"key": "answeredBy", "type": "CommunicationUserIdentifierModel"}, - "media_subscription_id": {"key": "mediaSubscriptionId", "type": "str"}, - "data_subscription_id": {"key": "dataSubscriptionId", "type": "str"}, "media_streaming_subscription": {"key": "mediaStreamingSubscription", "type": "MediaStreamingSubscription"}, "transcription_subscription": {"key": "transcriptionSubscription", "type": "TranscriptionSubscription"}, "answered_for": {"key": "answeredFor", "type": "PhoneNumberIdentifierModel"}, @@ -701,8 +548,6 @@ def __init__( source: Optional["_models.CommunicationIdentifierModel"] = None, correlation_id: Optional[str] = None, answered_by: Optional["_models.CommunicationUserIdentifierModel"] = None, - media_subscription_id: Optional[str] = None, - data_subscription_id: Optional[str] = None, media_streaming_subscription: Optional["_models.MediaStreamingSubscription"] = None, transcription_subscription: Optional["_models.TranscriptionSubscription"] = None, answered_for: Optional["_models.PhoneNumberIdentifierModel"] = None, @@ -738,10 +583,6 @@ def __init__( provided in the request. :paramtype answered_by: ~azure.communication.callautomation.models.CommunicationUserIdentifierModel - :keyword media_subscription_id: SubscriptionId for media streaming. - :paramtype media_subscription_id: str - :keyword data_subscription_id: SubscriptionId for transcription. - :paramtype data_subscription_id: str :keyword media_streaming_subscription: The state of media streaming subscription for the call. :paramtype media_streaming_subscription: ~azure.communication.callautomation.models.MediaStreamingSubscription @@ -763,8 +604,6 @@ def __init__( self.source = source self.correlation_id = correlation_id self.answered_by = answered_by - self.media_subscription_id = media_subscription_id - self.data_subscription_id = data_subscription_id self.media_streaming_subscription = media_streaming_subscription self.transcription_subscription = transcription_subscription self.answered_for = answered_for @@ -833,34 +672,20 @@ class CallIntelligenceOptions(_serialization.Model): :ivar cognitive_services_endpoint: The identifier of the Cognitive Service resource assigned to this call. :vartype cognitive_services_endpoint: str - :ivar backup_cognitive_services_endpoint: A backup identifier of the Cognitive Service resource - assigned to this call. - :vartype backup_cognitive_services_endpoint: str """ _attribute_map = { "cognitive_services_endpoint": {"key": "cognitiveServicesEndpoint", "type": "str"}, - "backup_cognitive_services_endpoint": {"key": "backupCognitiveServicesEndpoint", "type": "str"}, } - def __init__( - self, - *, - cognitive_services_endpoint: Optional[str] = None, - backup_cognitive_services_endpoint: Optional[str] = None, - **kwargs: Any - ) -> None: + def __init__(self, *, cognitive_services_endpoint: Optional[str] = None, **kwargs: Any) -> None: """ :keyword cognitive_services_endpoint: The identifier of the Cognitive Service resource assigned to this call. :paramtype cognitive_services_endpoint: str - :keyword backup_cognitive_services_endpoint: A backup identifier of the Cognitive Service - resource assigned to this call. - :paramtype backup_cognitive_services_endpoint: str """ super().__init__(**kwargs) self.cognitive_services_endpoint = cognitive_services_endpoint - self.backup_cognitive_services_endpoint = backup_cognitive_services_endpoint class CallLocator(_serialization.Model): @@ -1382,14 +1207,25 @@ class ChoiceResult(_serialization.Model): If Dtmf input is recognized, then Label will be the identifier for the choice detected and phrases will be set to null. :vartype recognized_phrase: str + :ivar confidence: The confidence level of the recognized speech, if available, ranges from 0.0 + to 1.0. + :vartype confidence: float """ _attribute_map = { "label": {"key": "label", "type": "str"}, "recognized_phrase": {"key": "recognizedPhrase", "type": "str"}, + "confidence": {"key": "confidence", "type": "float"}, } - def __init__(self, *, label: Optional[str] = None, recognized_phrase: Optional[str] = None, **kwargs: Any) -> None: + def __init__( + self, + *, + label: Optional[str] = None, + recognized_phrase: Optional[str] = None, + confidence: Optional[float] = None, + **kwargs: Any + ) -> None: """ :keyword label: Label is the primary identifier for the choice detected. :paramtype label: str @@ -1398,10 +1234,14 @@ def __init__(self, *, label: Optional[str] = None, recognized_phrase: Optional[s If Dtmf input is recognized, then Label will be the identifier for the choice detected and phrases will be set to null. :paramtype recognized_phrase: str + :keyword confidence: The confidence level of the recognized speech, if available, ranges from + 0.0 to 1.0. + :paramtype confidence: float """ super().__init__(**kwargs) self.label = label self.recognized_phrase = recognized_phrase + self.confidence = confidence class CommunicationError(_serialization.Model): @@ -2042,18 +1882,15 @@ class CreateCallRequest(_serialization.Model): :ivar call_intelligence_options: AI options for the call. :vartype call_intelligence_options: ~azure.communication.callautomation.models.CallIntelligenceOptions - :ivar teams_app_source: The identifier of the source for creating call with Teams resource - account ID. - :vartype teams_app_source: - ~azure.communication.callautomation.models.MicrosoftTeamsAppIdentifierModel - :ivar custom_calling_context: Used by customer to send custom calling context to targets. - :vartype custom_calling_context: - ~azure.communication.callautomation.models.CustomCallingContext :ivar media_streaming_options: Media Streaming Options. :vartype media_streaming_options: ~azure.communication.callautomation.models.MediaStreamingOptions :ivar transcription_options: Transcription Options. :vartype transcription_options: ~azure.communication.callautomation.models.TranscriptionOptions + :ivar teams_app_source: The identifier of the source for creating call with Teams resource + account ID. + :vartype teams_app_source: + ~azure.communication.callautomation.models.MicrosoftTeamsAppIdentifierModel """ _validation = { @@ -2069,10 +1906,9 @@ class CreateCallRequest(_serialization.Model): "operation_context": {"key": "operationContext", "type": "str"}, "callback_uri": {"key": "callbackUri", "type": "str"}, "call_intelligence_options": {"key": "callIntelligenceOptions", "type": "CallIntelligenceOptions"}, - "teams_app_source": {"key": "teamsAppSource", "type": "MicrosoftTeamsAppIdentifierModel"}, - "custom_calling_context": {"key": "customCallingContext", "type": "CustomCallingContext"}, "media_streaming_options": {"key": "mediaStreamingOptions", "type": "MediaStreamingOptions"}, "transcription_options": {"key": "transcriptionOptions", "type": "TranscriptionOptions"}, + "teams_app_source": {"key": "teamsAppSource", "type": "MicrosoftTeamsAppIdentifierModel"}, } def __init__( @@ -2085,10 +1921,9 @@ def __init__( source: Optional["_models.CommunicationUserIdentifierModel"] = None, operation_context: Optional[str] = None, call_intelligence_options: Optional["_models.CallIntelligenceOptions"] = None, - teams_app_source: Optional["_models.MicrosoftTeamsAppIdentifierModel"] = None, - custom_calling_context: Optional["_models.CustomCallingContext"] = None, media_streaming_options: Optional["_models.MediaStreamingOptions"] = None, transcription_options: Optional["_models.TranscriptionOptions"] = None, + teams_app_source: Optional["_models.MicrosoftTeamsAppIdentifierModel"] = None, **kwargs: Any ) -> None: """ @@ -2111,19 +1946,16 @@ def __init__( :keyword call_intelligence_options: AI options for the call. :paramtype call_intelligence_options: ~azure.communication.callautomation.models.CallIntelligenceOptions - :keyword teams_app_source: The identifier of the source for creating call with Teams resource - account ID. - :paramtype teams_app_source: - ~azure.communication.callautomation.models.MicrosoftTeamsAppIdentifierModel - :keyword custom_calling_context: Used by customer to send custom calling context to targets. - :paramtype custom_calling_context: - ~azure.communication.callautomation.models.CustomCallingContext :keyword media_streaming_options: Media Streaming Options. :paramtype media_streaming_options: ~azure.communication.callautomation.models.MediaStreamingOptions :keyword transcription_options: Transcription Options. :paramtype transcription_options: ~azure.communication.callautomation.models.TranscriptionOptions + :keyword teams_app_source: The identifier of the source for creating call with Teams resource + account ID. + :paramtype teams_app_source: + ~azure.communication.callautomation.models.MicrosoftTeamsAppIdentifierModel """ super().__init__(**kwargs) self.targets = targets @@ -2133,10 +1965,9 @@ def __init__( self.operation_context = operation_context self.callback_uri = callback_uri self.call_intelligence_options = call_intelligence_options - self.teams_app_source = teams_app_source - self.custom_calling_context = custom_calling_context self.media_streaming_options = media_streaming_options self.transcription_options = transcription_options + self.teams_app_source = teams_app_source class CustomCallingContext(_serialization.Model): @@ -2146,15 +1977,11 @@ class CustomCallingContext(_serialization.Model): :vartype voip_headers: dict[str, str] :ivar sip_headers: Custom calling context SIP headers. :vartype sip_headers: dict[str, str] - :ivar teams_phone_call_details: Custom calling context TeamsPhoneCallDetails. - :vartype teams_phone_call_details: - ~azure.communication.callautomation.models.TeamsPhoneCallDetails """ _attribute_map = { "voip_headers": {"key": "voipHeaders", "type": "{str}"}, "sip_headers": {"key": "sipHeaders", "type": "{str}"}, - "teams_phone_call_details": {"key": "teamsPhoneCallDetails", "type": "TeamsPhoneCallDetails"}, } def __init__( @@ -2162,7 +1989,6 @@ def __init__( *, voip_headers: Optional[Dict[str, str]] = None, sip_headers: Optional[Dict[str, str]] = None, - teams_phone_call_details: Optional["_models.TeamsPhoneCallDetails"] = None, **kwargs: Any ) -> None: """ @@ -2170,916 +1996,105 @@ def __init__( :paramtype voip_headers: dict[str, str] :keyword sip_headers: Custom calling context SIP headers. :paramtype sip_headers: dict[str, str] - :keyword teams_phone_call_details: Custom calling context TeamsPhoneCallDetails. - :paramtype teams_phone_call_details: - ~azure.communication.callautomation.models.TeamsPhoneCallDetails """ super().__init__(**kwargs) self.voip_headers = voip_headers self.sip_headers = sip_headers - self.teams_phone_call_details = teams_phone_call_details -class DialogCompleted(_serialization.Model): - """DialogCompleted. - - Variables are only populated by the server, and will be ignored when sending a request. +class DtmfOptions(_serialization.Model): + """Options for DTMF recognition. - :ivar dialog_input_type: Determines the type of the dialog. Known values are: - "powerVirtualAgents" and "azureOpenAI". - :vartype dialog_input_type: str or ~azure.communication.callautomation.models.DialogInputType - :ivar dialog_id: Dialog ID. - :vartype dialog_id: str - :ivar call_connection_id: Call connection ID. - :vartype call_connection_id: str - :ivar server_call_id: Server call ID. - :vartype server_call_id: str - :ivar correlation_id: Correlation ID for event to call correlation. Also called ChainId for - skype chain ID. - :vartype correlation_id: str - :ivar operation_context: Used by customers when calling mid-call actions to correlate the - request to the response event. - :vartype operation_context: str - :ivar result_information: Contains the resulting SIP code, sub-code and message. - :vartype result_information: ~azure.communication.callautomation.models.ResultInformation + :ivar inter_tone_timeout_in_seconds: Time to wait between DTMF inputs to stop recognizing. + :vartype inter_tone_timeout_in_seconds: int + :ivar max_tones_to_collect: Maximum number of DTMF tones to be collected. + :vartype max_tones_to_collect: int + :ivar stop_tones: List of tones that will stop recognizing. + :vartype stop_tones: list[str or ~azure.communication.callautomation.models.DtmfTone] """ _validation = { - "dialog_id": {"readonly": True}, + "inter_tone_timeout_in_seconds": {"maximum": 60, "minimum": 1}, } _attribute_map = { - "dialog_input_type": {"key": "dialogInputType", "type": "str"}, - "dialog_id": {"key": "dialogId", "type": "str"}, - "call_connection_id": {"key": "callConnectionId", "type": "str"}, - "server_call_id": {"key": "serverCallId", "type": "str"}, - "correlation_id": {"key": "correlationId", "type": "str"}, - "operation_context": {"key": "operationContext", "type": "str"}, - "result_information": {"key": "resultInformation", "type": "ResultInformation"}, + "inter_tone_timeout_in_seconds": {"key": "interToneTimeoutInSeconds", "type": "int"}, + "max_tones_to_collect": {"key": "maxTonesToCollect", "type": "int"}, + "stop_tones": {"key": "stopTones", "type": "[str]"}, } def __init__( self, *, - dialog_input_type: Optional[Union[str, "_models.DialogInputType"]] = None, - call_connection_id: Optional[str] = None, - server_call_id: Optional[str] = None, - correlation_id: Optional[str] = None, - operation_context: Optional[str] = None, - result_information: Optional["_models.ResultInformation"] = None, + inter_tone_timeout_in_seconds: Optional[int] = None, + max_tones_to_collect: Optional[int] = None, + stop_tones: Optional[List[Union[str, "_models.DtmfTone"]]] = None, **kwargs: Any ) -> None: """ - :keyword dialog_input_type: Determines the type of the dialog. Known values are: - "powerVirtualAgents" and "azureOpenAI". - :paramtype dialog_input_type: str or ~azure.communication.callautomation.models.DialogInputType - :keyword call_connection_id: Call connection ID. - :paramtype call_connection_id: str - :keyword server_call_id: Server call ID. - :paramtype server_call_id: str - :keyword correlation_id: Correlation ID for event to call correlation. Also called ChainId for - skype chain ID. - :paramtype correlation_id: str - :keyword operation_context: Used by customers when calling mid-call actions to correlate the - request to the response event. - :paramtype operation_context: str - :keyword result_information: Contains the resulting SIP code, sub-code and message. - :paramtype result_information: ~azure.communication.callautomation.models.ResultInformation + :keyword inter_tone_timeout_in_seconds: Time to wait between DTMF inputs to stop recognizing. + :paramtype inter_tone_timeout_in_seconds: int + :keyword max_tones_to_collect: Maximum number of DTMF tones to be collected. + :paramtype max_tones_to_collect: int + :keyword stop_tones: List of tones that will stop recognizing. + :paramtype stop_tones: list[str or ~azure.communication.callautomation.models.DtmfTone] """ super().__init__(**kwargs) - self.dialog_input_type = dialog_input_type - self.dialog_id: Optional[str] = None - self.call_connection_id = call_connection_id - self.server_call_id = server_call_id - self.correlation_id = correlation_id - self.operation_context = operation_context - self.result_information = result_information + self.inter_tone_timeout_in_seconds = inter_tone_timeout_in_seconds + self.max_tones_to_collect = max_tones_to_collect + self.stop_tones = stop_tones -class DialogConsent(_serialization.Model): - """DialogConsent. +class DtmfResult(_serialization.Model): + """DtmfResult. Variables are only populated by the server, and will be ignored when sending a request. - :ivar dialog_input_type: Determines the type of the dialog. Known values are: - "powerVirtualAgents" and "azureOpenAI". - :vartype dialog_input_type: str or ~azure.communication.callautomation.models.DialogInputType - :ivar user_consent: UserConsent data from the Conversation Conductor. - :vartype user_consent: ~azure.communication.callautomation.models.UserConsent - :ivar dialog_id: Dialog ID. - :vartype dialog_id: str - :ivar call_connection_id: Call connection ID. - :vartype call_connection_id: str - :ivar server_call_id: Server call ID. - :vartype server_call_id: str - :ivar correlation_id: Correlation ID for event to call correlation. Also called ChainId for - skype chain ID. - :vartype correlation_id: str - :ivar operation_context: Used by customers when calling mid-call actions to correlate the - request to the response event. - :vartype operation_context: str - :ivar result_information: Contains the resulting SIP code, sub-code and message. - :vartype result_information: ~azure.communication.callautomation.models.ResultInformation + :ivar tones: + :vartype tones: list[str or ~azure.communication.callautomation.models.DtmfTone] """ _validation = { - "user_consent": {"readonly": True}, - "dialog_id": {"readonly": True}, + "tones": {"readonly": True}, } _attribute_map = { - "dialog_input_type": {"key": "dialogInputType", "type": "str"}, - "user_consent": {"key": "userConsent", "type": "UserConsent"}, - "dialog_id": {"key": "dialogId", "type": "str"}, - "call_connection_id": {"key": "callConnectionId", "type": "str"}, - "server_call_id": {"key": "serverCallId", "type": "str"}, - "correlation_id": {"key": "correlationId", "type": "str"}, - "operation_context": {"key": "operationContext", "type": "str"}, - "result_information": {"key": "resultInformation", "type": "ResultInformation"}, + "tones": {"key": "tones", "type": "[str]"}, + } + + def __init__(self, **kwargs: Any) -> None: + """ """ + super().__init__(**kwargs) + self.tones: Optional[List[Union[str, "_models.DtmfTone"]]] = None + + +class ExternalStorage(_serialization.Model): + """ExternalStorage. + + All required parameters must be populated in order to send to server. + + :ivar recording_storage_kind: Defines the kind of external storage. Required. Known values are: + "AzureCommunicationServices" and "AzureBlobStorage". + :vartype recording_storage_kind: str or + ~azure.communication.callautomation.models.RecordingStorageKind + :ivar recording_destination_container_url: Uri of a container or a location within a container. + :vartype recording_destination_container_url: str + """ + + _validation = { + "recording_storage_kind": {"required": True}, + } + + _attribute_map = { + "recording_storage_kind": {"key": "recordingStorageKind", "type": "str"}, + "recording_destination_container_url": {"key": "recordingDestinationContainerUrl", "type": "str"}, } def __init__( self, *, - dialog_input_type: Optional[Union[str, "_models.DialogInputType"]] = None, - call_connection_id: Optional[str] = None, - server_call_id: Optional[str] = None, - correlation_id: Optional[str] = None, - operation_context: Optional[str] = None, - result_information: Optional["_models.ResultInformation"] = None, - **kwargs: Any - ) -> None: - """ - :keyword dialog_input_type: Determines the type of the dialog. Known values are: - "powerVirtualAgents" and "azureOpenAI". - :paramtype dialog_input_type: str or ~azure.communication.callautomation.models.DialogInputType - :keyword call_connection_id: Call connection ID. - :paramtype call_connection_id: str - :keyword server_call_id: Server call ID. - :paramtype server_call_id: str - :keyword correlation_id: Correlation ID for event to call correlation. Also called ChainId for - skype chain ID. - :paramtype correlation_id: str - :keyword operation_context: Used by customers when calling mid-call actions to correlate the - request to the response event. - :paramtype operation_context: str - :keyword result_information: Contains the resulting SIP code, sub-code and message. - :paramtype result_information: ~azure.communication.callautomation.models.ResultInformation - """ - super().__init__(**kwargs) - self.dialog_input_type = dialog_input_type - self.user_consent: Optional["_models.UserConsent"] = None - self.dialog_id: Optional[str] = None - self.call_connection_id = call_connection_id - self.server_call_id = server_call_id - self.correlation_id = correlation_id - self.operation_context = operation_context - self.result_information = result_information - - -class DialogFailed(_serialization.Model): - """DialogFailed. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar dialog_input_type: Determines the type of the dialog. Known values are: - "powerVirtualAgents" and "azureOpenAI". - :vartype dialog_input_type: str or ~azure.communication.callautomation.models.DialogInputType - :ivar dialog_id: Dialog ID. - :vartype dialog_id: str - :ivar call_connection_id: Call connection ID. - :vartype call_connection_id: str - :ivar server_call_id: Server call ID. - :vartype server_call_id: str - :ivar correlation_id: Correlation ID for event to call correlation. Also called ChainId for - skype chain ID. - :vartype correlation_id: str - :ivar operation_context: Used by customers when calling mid-call actions to correlate the - request to the response event. - :vartype operation_context: str - :ivar result_information: Contains the resulting SIP code, sub-code and message. - :vartype result_information: ~azure.communication.callautomation.models.ResultInformation - """ - - _validation = { - "dialog_id": {"readonly": True}, - } - - _attribute_map = { - "dialog_input_type": {"key": "dialogInputType", "type": "str"}, - "dialog_id": {"key": "dialogId", "type": "str"}, - "call_connection_id": {"key": "callConnectionId", "type": "str"}, - "server_call_id": {"key": "serverCallId", "type": "str"}, - "correlation_id": {"key": "correlationId", "type": "str"}, - "operation_context": {"key": "operationContext", "type": "str"}, - "result_information": {"key": "resultInformation", "type": "ResultInformation"}, - } - - def __init__( - self, - *, - dialog_input_type: Optional[Union[str, "_models.DialogInputType"]] = None, - call_connection_id: Optional[str] = None, - server_call_id: Optional[str] = None, - correlation_id: Optional[str] = None, - operation_context: Optional[str] = None, - result_information: Optional["_models.ResultInformation"] = None, - **kwargs: Any - ) -> None: - """ - :keyword dialog_input_type: Determines the type of the dialog. Known values are: - "powerVirtualAgents" and "azureOpenAI". - :paramtype dialog_input_type: str or ~azure.communication.callautomation.models.DialogInputType - :keyword call_connection_id: Call connection ID. - :paramtype call_connection_id: str - :keyword server_call_id: Server call ID. - :paramtype server_call_id: str - :keyword correlation_id: Correlation ID for event to call correlation. Also called ChainId for - skype chain ID. - :paramtype correlation_id: str - :keyword operation_context: Used by customers when calling mid-call actions to correlate the - request to the response event. - :paramtype operation_context: str - :keyword result_information: Contains the resulting SIP code, sub-code and message. - :paramtype result_information: ~azure.communication.callautomation.models.ResultInformation - """ - super().__init__(**kwargs) - self.dialog_input_type = dialog_input_type - self.dialog_id: Optional[str] = None - self.call_connection_id = call_connection_id - self.server_call_id = server_call_id - self.correlation_id = correlation_id - self.operation_context = operation_context - self.result_information = result_information - - -class DialogHangup(_serialization.Model): - """DialogHangup. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar dialog_input_type: Determines the type of the dialog. Known values are: - "powerVirtualAgents" and "azureOpenAI". - :vartype dialog_input_type: str or ~azure.communication.callautomation.models.DialogInputType - :ivar dialog_id: Dialog ID. - :vartype dialog_id: str - :ivar ivr_context: Ivr Context. - :vartype ivr_context: JSON - :ivar call_connection_id: Call connection ID. - :vartype call_connection_id: str - :ivar server_call_id: Server call ID. - :vartype server_call_id: str - :ivar correlation_id: Correlation ID for event to call correlation. Also called ChainId for - skype chain ID. - :vartype correlation_id: str - :ivar operation_context: Used by customers when calling mid-call actions to correlate the - request to the response event. - :vartype operation_context: str - :ivar result_information: Contains the resulting SIP code, sub-code and message. - :vartype result_information: ~azure.communication.callautomation.models.ResultInformation - """ - - _validation = { - "dialog_id": {"readonly": True}, - "ivr_context": {"readonly": True}, - } - - _attribute_map = { - "dialog_input_type": {"key": "dialogInputType", "type": "str"}, - "dialog_id": {"key": "dialogId", "type": "str"}, - "ivr_context": {"key": "ivrContext", "type": "object"}, - "call_connection_id": {"key": "callConnectionId", "type": "str"}, - "server_call_id": {"key": "serverCallId", "type": "str"}, - "correlation_id": {"key": "correlationId", "type": "str"}, - "operation_context": {"key": "operationContext", "type": "str"}, - "result_information": {"key": "resultInformation", "type": "ResultInformation"}, - } - - def __init__( - self, - *, - dialog_input_type: Optional[Union[str, "_models.DialogInputType"]] = None, - call_connection_id: Optional[str] = None, - server_call_id: Optional[str] = None, - correlation_id: Optional[str] = None, - operation_context: Optional[str] = None, - result_information: Optional["_models.ResultInformation"] = None, - **kwargs: Any - ) -> None: - """ - :keyword dialog_input_type: Determines the type of the dialog. Known values are: - "powerVirtualAgents" and "azureOpenAI". - :paramtype dialog_input_type: str or ~azure.communication.callautomation.models.DialogInputType - :keyword call_connection_id: Call connection ID. - :paramtype call_connection_id: str - :keyword server_call_id: Server call ID. - :paramtype server_call_id: str - :keyword correlation_id: Correlation ID for event to call correlation. Also called ChainId for - skype chain ID. - :paramtype correlation_id: str - :keyword operation_context: Used by customers when calling mid-call actions to correlate the - request to the response event. - :paramtype operation_context: str - :keyword result_information: Contains the resulting SIP code, sub-code and message. - :paramtype result_information: ~azure.communication.callautomation.models.ResultInformation - """ - super().__init__(**kwargs) - self.dialog_input_type = dialog_input_type - self.dialog_id: Optional[str] = None - self.ivr_context: Optional[JSON] = None - self.call_connection_id = call_connection_id - self.server_call_id = server_call_id - self.correlation_id = correlation_id - self.operation_context = operation_context - self.result_information = result_information - - -class DialogLanguageChange(_serialization.Model): - """DialogLanguageChange. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar dialog_input_type: Determines the type of the dialog. Known values are: - "powerVirtualAgents" and "azureOpenAI". - :vartype dialog_input_type: str or ~azure.communication.callautomation.models.DialogInputType - :ivar dialog_id: Dialog ID. - :vartype dialog_id: str - :ivar selected_language: Selected Language. - :vartype selected_language: str - :ivar ivr_context: Ivr Context. - :vartype ivr_context: JSON - :ivar call_connection_id: Call connection ID. - :vartype call_connection_id: str - :ivar server_call_id: Server call ID. - :vartype server_call_id: str - :ivar correlation_id: Correlation ID for event to call correlation. Also called ChainId for - skype chain ID. - :vartype correlation_id: str - :ivar operation_context: Used by customers when calling mid-call actions to correlate the - request to the response event. - :vartype operation_context: str - :ivar result_information: Contains the resulting SIP code, sub-code and message. - :vartype result_information: ~azure.communication.callautomation.models.ResultInformation - """ - - _validation = { - "dialog_id": {"readonly": True}, - "selected_language": {"readonly": True}, - "ivr_context": {"readonly": True}, - } - - _attribute_map = { - "dialog_input_type": {"key": "dialogInputType", "type": "str"}, - "dialog_id": {"key": "dialogId", "type": "str"}, - "selected_language": {"key": "selectedLanguage", "type": "str"}, - "ivr_context": {"key": "ivrContext", "type": "object"}, - "call_connection_id": {"key": "callConnectionId", "type": "str"}, - "server_call_id": {"key": "serverCallId", "type": "str"}, - "correlation_id": {"key": "correlationId", "type": "str"}, - "operation_context": {"key": "operationContext", "type": "str"}, - "result_information": {"key": "resultInformation", "type": "ResultInformation"}, - } - - def __init__( - self, - *, - dialog_input_type: Optional[Union[str, "_models.DialogInputType"]] = None, - call_connection_id: Optional[str] = None, - server_call_id: Optional[str] = None, - correlation_id: Optional[str] = None, - operation_context: Optional[str] = None, - result_information: Optional["_models.ResultInformation"] = None, - **kwargs: Any - ) -> None: - """ - :keyword dialog_input_type: Determines the type of the dialog. Known values are: - "powerVirtualAgents" and "azureOpenAI". - :paramtype dialog_input_type: str or ~azure.communication.callautomation.models.DialogInputType - :keyword call_connection_id: Call connection ID. - :paramtype call_connection_id: str - :keyword server_call_id: Server call ID. - :paramtype server_call_id: str - :keyword correlation_id: Correlation ID for event to call correlation. Also called ChainId for - skype chain ID. - :paramtype correlation_id: str - :keyword operation_context: Used by customers when calling mid-call actions to correlate the - request to the response event. - :paramtype operation_context: str - :keyword result_information: Contains the resulting SIP code, sub-code and message. - :paramtype result_information: ~azure.communication.callautomation.models.ResultInformation - """ - super().__init__(**kwargs) - self.dialog_input_type = dialog_input_type - self.dialog_id: Optional[str] = None - self.selected_language: Optional[str] = None - self.ivr_context: Optional[JSON] = None - self.call_connection_id = call_connection_id - self.server_call_id = server_call_id - self.correlation_id = correlation_id - self.operation_context = operation_context - self.result_information = result_information - - -class DialogSensitivityUpdate(_serialization.Model): - """DialogSensitivityUpdate. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar dialog_input_type: Determines the type of the dialog. Known values are: - "powerVirtualAgents" and "azureOpenAI". - :vartype dialog_input_type: str or ~azure.communication.callautomation.models.DialogInputType - :ivar dialog_id: Dialog ID. - :vartype dialog_id: str - :ivar sensitive_mask: SensitiveMask. - :vartype sensitive_mask: bool - :ivar call_connection_id: Call connection ID. - :vartype call_connection_id: str - :ivar server_call_id: Server call ID. - :vartype server_call_id: str - :ivar correlation_id: Correlation ID for event to call correlation. Also called ChainId for - skype chain ID. - :vartype correlation_id: str - :ivar operation_context: Used by customers when calling mid-call actions to correlate the - request to the response event. - :vartype operation_context: str - :ivar result_information: Contains the resulting SIP code, sub-code and message. - :vartype result_information: ~azure.communication.callautomation.models.ResultInformation - """ - - _validation = { - "dialog_id": {"readonly": True}, - "sensitive_mask": {"readonly": True}, - } - - _attribute_map = { - "dialog_input_type": {"key": "dialogInputType", "type": "str"}, - "dialog_id": {"key": "dialogId", "type": "str"}, - "sensitive_mask": {"key": "sensitiveMask", "type": "bool"}, - "call_connection_id": {"key": "callConnectionId", "type": "str"}, - "server_call_id": {"key": "serverCallId", "type": "str"}, - "correlation_id": {"key": "correlationId", "type": "str"}, - "operation_context": {"key": "operationContext", "type": "str"}, - "result_information": {"key": "resultInformation", "type": "ResultInformation"}, - } - - def __init__( - self, - *, - dialog_input_type: Optional[Union[str, "_models.DialogInputType"]] = None, - call_connection_id: Optional[str] = None, - server_call_id: Optional[str] = None, - correlation_id: Optional[str] = None, - operation_context: Optional[str] = None, - result_information: Optional["_models.ResultInformation"] = None, - **kwargs: Any - ) -> None: - """ - :keyword dialog_input_type: Determines the type of the dialog. Known values are: - "powerVirtualAgents" and "azureOpenAI". - :paramtype dialog_input_type: str or ~azure.communication.callautomation.models.DialogInputType - :keyword call_connection_id: Call connection ID. - :paramtype call_connection_id: str - :keyword server_call_id: Server call ID. - :paramtype server_call_id: str - :keyword correlation_id: Correlation ID for event to call correlation. Also called ChainId for - skype chain ID. - :paramtype correlation_id: str - :keyword operation_context: Used by customers when calling mid-call actions to correlate the - request to the response event. - :paramtype operation_context: str - :keyword result_information: Contains the resulting SIP code, sub-code and message. - :paramtype result_information: ~azure.communication.callautomation.models.ResultInformation - """ - super().__init__(**kwargs) - self.dialog_input_type = dialog_input_type - self.dialog_id: Optional[str] = None - self.sensitive_mask: Optional[bool] = None - self.call_connection_id = call_connection_id - self.server_call_id = server_call_id - self.correlation_id = correlation_id - self.operation_context = operation_context - self.result_information = result_information - - -class DialogStarted(_serialization.Model): - """DialogStarted. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar dialog_input_type: Determines the type of the dialog. Known values are: - "powerVirtualAgents" and "azureOpenAI". - :vartype dialog_input_type: str or ~azure.communication.callautomation.models.DialogInputType - :ivar dialog_id: Dialog ID. - :vartype dialog_id: str - :ivar call_connection_id: Call connection ID. - :vartype call_connection_id: str - :ivar server_call_id: Server call ID. - :vartype server_call_id: str - :ivar correlation_id: Correlation ID for event to call correlation. Also called ChainId for - skype chain ID. - :vartype correlation_id: str - :ivar operation_context: Used by customers when calling mid-call actions to correlate the - request to the response event. - :vartype operation_context: str - :ivar result_information: Contains the resulting SIP code, sub-code and message. - :vartype result_information: ~azure.communication.callautomation.models.ResultInformation - """ - - _validation = { - "dialog_id": {"readonly": True}, - } - - _attribute_map = { - "dialog_input_type": {"key": "dialogInputType", "type": "str"}, - "dialog_id": {"key": "dialogId", "type": "str"}, - "call_connection_id": {"key": "callConnectionId", "type": "str"}, - "server_call_id": {"key": "serverCallId", "type": "str"}, - "correlation_id": {"key": "correlationId", "type": "str"}, - "operation_context": {"key": "operationContext", "type": "str"}, - "result_information": {"key": "resultInformation", "type": "ResultInformation"}, - } - - def __init__( - self, - *, - dialog_input_type: Optional[Union[str, "_models.DialogInputType"]] = None, - call_connection_id: Optional[str] = None, - server_call_id: Optional[str] = None, - correlation_id: Optional[str] = None, - operation_context: Optional[str] = None, - result_information: Optional["_models.ResultInformation"] = None, - **kwargs: Any - ) -> None: - """ - :keyword dialog_input_type: Determines the type of the dialog. Known values are: - "powerVirtualAgents" and "azureOpenAI". - :paramtype dialog_input_type: str or ~azure.communication.callautomation.models.DialogInputType - :keyword call_connection_id: Call connection ID. - :paramtype call_connection_id: str - :keyword server_call_id: Server call ID. - :paramtype server_call_id: str - :keyword correlation_id: Correlation ID for event to call correlation. Also called ChainId for - skype chain ID. - :paramtype correlation_id: str - :keyword operation_context: Used by customers when calling mid-call actions to correlate the - request to the response event. - :paramtype operation_context: str - :keyword result_information: Contains the resulting SIP code, sub-code and message. - :paramtype result_information: ~azure.communication.callautomation.models.ResultInformation - """ - super().__init__(**kwargs) - self.dialog_input_type = dialog_input_type - self.dialog_id: Optional[str] = None - self.call_connection_id = call_connection_id - self.server_call_id = server_call_id - self.correlation_id = correlation_id - self.operation_context = operation_context - self.result_information = result_information - - -class DialogStateResponse(_serialization.Model): - """DialogStateResponse. - - :ivar dialog_id: The dialog ID. - :vartype dialog_id: str - :ivar dialog: Defines dialog. - :vartype dialog: ~azure.communication.callautomation.models.BaseDialog - :ivar operation_context: The value to identify context of the operation. - :vartype operation_context: str - """ - - _attribute_map = { - "dialog_id": {"key": "dialogId", "type": "str"}, - "dialog": {"key": "dialog", "type": "BaseDialog"}, - "operation_context": {"key": "operationContext", "type": "str"}, - } - - def __init__( - self, - *, - dialog_id: Optional[str] = None, - dialog: Optional["_models.BaseDialog"] = None, - operation_context: Optional[str] = None, - **kwargs: Any - ) -> None: - """ - :keyword dialog_id: The dialog ID. - :paramtype dialog_id: str - :keyword dialog: Defines dialog. - :paramtype dialog: ~azure.communication.callautomation.models.BaseDialog - :keyword operation_context: The value to identify context of the operation. - :paramtype operation_context: str - """ - super().__init__(**kwargs) - self.dialog_id = dialog_id - self.dialog = dialog - self.operation_context = operation_context - - -class DialogTransfer(_serialization.Model): - """DialogTransfer. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar dialog_input_type: Determines the type of the dialog. Known values are: - "powerVirtualAgents" and "azureOpenAI". - :vartype dialog_input_type: str or ~azure.communication.callautomation.models.DialogInputType - :ivar dialog_id: Dialog ID. - :vartype dialog_id: str - :ivar transfer_type: Transfer type. - :vartype transfer_type: str - :ivar transfer_destination: Transfer destination. - :vartype transfer_destination: str - :ivar ivr_context: IVR context. - :vartype ivr_context: JSON - :ivar call_connection_id: Call connection ID. - :vartype call_connection_id: str - :ivar server_call_id: Server call ID. - :vartype server_call_id: str - :ivar correlation_id: Correlation ID for event to call correlation. Also called ChainId for - skype chain ID. - :vartype correlation_id: str - :ivar operation_context: Used by customers when calling mid-call actions to correlate the - request to the response event. - :vartype operation_context: str - :ivar result_information: Contains the resulting SIP code, sub-code and message. - :vartype result_information: ~azure.communication.callautomation.models.ResultInformation - """ - - _validation = { - "dialog_id": {"readonly": True}, - "transfer_type": {"readonly": True}, - "transfer_destination": {"readonly": True}, - "ivr_context": {"readonly": True}, - } - - _attribute_map = { - "dialog_input_type": {"key": "dialogInputType", "type": "str"}, - "dialog_id": {"key": "dialogId", "type": "str"}, - "transfer_type": {"key": "transferType", "type": "str"}, - "transfer_destination": {"key": "transferDestination", "type": "str"}, - "ivr_context": {"key": "ivrContext", "type": "object"}, - "call_connection_id": {"key": "callConnectionId", "type": "str"}, - "server_call_id": {"key": "serverCallId", "type": "str"}, - "correlation_id": {"key": "correlationId", "type": "str"}, - "operation_context": {"key": "operationContext", "type": "str"}, - "result_information": {"key": "resultInformation", "type": "ResultInformation"}, - } - - def __init__( - self, - *, - dialog_input_type: Optional[Union[str, "_models.DialogInputType"]] = None, - call_connection_id: Optional[str] = None, - server_call_id: Optional[str] = None, - correlation_id: Optional[str] = None, - operation_context: Optional[str] = None, - result_information: Optional["_models.ResultInformation"] = None, - **kwargs: Any - ) -> None: - """ - :keyword dialog_input_type: Determines the type of the dialog. Known values are: - "powerVirtualAgents" and "azureOpenAI". - :paramtype dialog_input_type: str or ~azure.communication.callautomation.models.DialogInputType - :keyword call_connection_id: Call connection ID. - :paramtype call_connection_id: str - :keyword server_call_id: Server call ID. - :paramtype server_call_id: str - :keyword correlation_id: Correlation ID for event to call correlation. Also called ChainId for - skype chain ID. - :paramtype correlation_id: str - :keyword operation_context: Used by customers when calling mid-call actions to correlate the - request to the response event. - :paramtype operation_context: str - :keyword result_information: Contains the resulting SIP code, sub-code and message. - :paramtype result_information: ~azure.communication.callautomation.models.ResultInformation - """ - super().__init__(**kwargs) - self.dialog_input_type = dialog_input_type - self.dialog_id: Optional[str] = None - self.transfer_type: Optional[str] = None - self.transfer_destination: Optional[str] = None - self.ivr_context: Optional[JSON] = None - self.call_connection_id = call_connection_id - self.server_call_id = server_call_id - self.correlation_id = correlation_id - self.operation_context = operation_context - self.result_information = result_information - - -class DialogUpdated(_serialization.Model): - """DialogUpdated. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar dialog_input_type: Determines the type of the dialog. Known values are: - "powerVirtualAgents" and "azureOpenAI". - :vartype dialog_input_type: str or ~azure.communication.callautomation.models.DialogInputType - :ivar dialog_id: Dialog ID. - :vartype dialog_id: str - :ivar ivr_context: IVR context. - :vartype ivr_context: JSON - :ivar call_connection_id: Call connection ID. - :vartype call_connection_id: str - :ivar server_call_id: Server call ID. - :vartype server_call_id: str - :ivar correlation_id: Correlation ID for event to call correlation. Also called ChainId for - skype chain ID. - :vartype correlation_id: str - :ivar operation_context: Used by customers when calling mid-call actions to correlate the - request to the response event. - :vartype operation_context: str - :ivar result_information: Contains the resulting SIP code, sub-code and message. - :vartype result_information: ~azure.communication.callautomation.models.ResultInformation - """ - - _validation = { - "dialog_id": {"readonly": True}, - "ivr_context": {"readonly": True}, - } - - _attribute_map = { - "dialog_input_type": {"key": "dialogInputType", "type": "str"}, - "dialog_id": {"key": "dialogId", "type": "str"}, - "ivr_context": {"key": "ivrContext", "type": "object"}, - "call_connection_id": {"key": "callConnectionId", "type": "str"}, - "server_call_id": {"key": "serverCallId", "type": "str"}, - "correlation_id": {"key": "correlationId", "type": "str"}, - "operation_context": {"key": "operationContext", "type": "str"}, - "result_information": {"key": "resultInformation", "type": "ResultInformation"}, - } - - def __init__( - self, - *, - dialog_input_type: Optional[Union[str, "_models.DialogInputType"]] = None, - call_connection_id: Optional[str] = None, - server_call_id: Optional[str] = None, - correlation_id: Optional[str] = None, - operation_context: Optional[str] = None, - result_information: Optional["_models.ResultInformation"] = None, - **kwargs: Any - ) -> None: - """ - :keyword dialog_input_type: Determines the type of the dialog. Known values are: - "powerVirtualAgents" and "azureOpenAI". - :paramtype dialog_input_type: str or ~azure.communication.callautomation.models.DialogInputType - :keyword call_connection_id: Call connection ID. - :paramtype call_connection_id: str - :keyword server_call_id: Server call ID. - :paramtype server_call_id: str - :keyword correlation_id: Correlation ID for event to call correlation. Also called ChainId for - skype chain ID. - :paramtype correlation_id: str - :keyword operation_context: Used by customers when calling mid-call actions to correlate the - request to the response event. - :paramtype operation_context: str - :keyword result_information: Contains the resulting SIP code, sub-code and message. - :paramtype result_information: ~azure.communication.callautomation.models.ResultInformation - """ - super().__init__(**kwargs) - self.dialog_input_type = dialog_input_type - self.dialog_id: Optional[str] = None - self.ivr_context: Optional[JSON] = None - self.call_connection_id = call_connection_id - self.server_call_id = server_call_id - self.correlation_id = correlation_id - self.operation_context = operation_context - self.result_information = result_information - - -class DtmfOptions(_serialization.Model): - """Options for DTMF recognition. - - :ivar inter_tone_timeout_in_seconds: Time to wait between DTMF inputs to stop recognizing. - :vartype inter_tone_timeout_in_seconds: int - :ivar max_tones_to_collect: Maximum number of DTMF tones to be collected. - :vartype max_tones_to_collect: int - :ivar stop_tones: List of tones that will stop recognizing. - :vartype stop_tones: list[str or ~azure.communication.callautomation.models.DtmfTone] - """ - - _validation = { - "inter_tone_timeout_in_seconds": {"maximum": 60, "minimum": 1}, - } - - _attribute_map = { - "inter_tone_timeout_in_seconds": {"key": "interToneTimeoutInSeconds", "type": "int"}, - "max_tones_to_collect": {"key": "maxTonesToCollect", "type": "int"}, - "stop_tones": {"key": "stopTones", "type": "[str]"}, - } - - def __init__( - self, - *, - inter_tone_timeout_in_seconds: Optional[int] = None, - max_tones_to_collect: Optional[int] = None, - stop_tones: Optional[List[Union[str, "_models.DtmfTone"]]] = None, - **kwargs: Any - ) -> None: - """ - :keyword inter_tone_timeout_in_seconds: Time to wait between DTMF inputs to stop recognizing. - :paramtype inter_tone_timeout_in_seconds: int - :keyword max_tones_to_collect: Maximum number of DTMF tones to be collected. - :paramtype max_tones_to_collect: int - :keyword stop_tones: List of tones that will stop recognizing. - :paramtype stop_tones: list[str or ~azure.communication.callautomation.models.DtmfTone] - """ - super().__init__(**kwargs) - self.inter_tone_timeout_in_seconds = inter_tone_timeout_in_seconds - self.max_tones_to_collect = max_tones_to_collect - self.stop_tones = stop_tones - - -class DtmfResult(_serialization.Model): - """DtmfResult. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar tones: - :vartype tones: list[str or ~azure.communication.callautomation.models.DtmfTone] - """ - - _validation = { - "tones": {"readonly": True}, - } - - _attribute_map = { - "tones": {"key": "tones", "type": "[str]"}, - } - - def __init__(self, **kwargs: Any) -> None: - """ """ - super().__init__(**kwargs) - self.tones: Optional[List[Union[str, "_models.DtmfTone"]]] = None - - -class Error(_serialization.Model): - """Error details. - - :ivar code: Error code. - :vartype code: str - :ivar message: Error message. - :vartype message: str - :ivar inner_error: Inner error details. - :vartype inner_error: ~azure.communication.callautomation.models.Error - """ - - _attribute_map = { - "code": {"key": "code", "type": "str"}, - "message": {"key": "message", "type": "str"}, - "inner_error": {"key": "innerError", "type": "Error"}, - } - - def __init__( - self, - *, - code: Optional[str] = None, - message: Optional[str] = None, - inner_error: Optional["_models.Error"] = None, - **kwargs: Any - ) -> None: - """ - :keyword code: Error code. - :paramtype code: str - :keyword message: Error message. - :paramtype message: str - :keyword inner_error: Inner error details. - :paramtype inner_error: ~azure.communication.callautomation.models.Error - """ - super().__init__(**kwargs) - self.code = code - self.message = message - self.inner_error = inner_error - - -class ExternalStorage(_serialization.Model): - """ExternalStorage. - - All required parameters must be populated in order to send to server. - - :ivar recording_storage_kind: Defines the kind of external storage. Required. Known values are: - "AzureCommunicationServices" and "AzureBlobStorage". - :vartype recording_storage_kind: str or - ~azure.communication.callautomation.models.RecordingStorageKind - :ivar recording_destination_container_url: Uri of a container or a location within a container. - :vartype recording_destination_container_url: str - """ - - _validation = { - "recording_storage_kind": {"required": True}, - } - - _attribute_map = { - "recording_storage_kind": {"key": "recordingStorageKind", "type": "str"}, - "recording_destination_container_url": {"key": "recordingDestinationContainerUrl", "type": "str"}, - } - - def __init__( - self, - *, - recording_storage_kind: Union[str, "_models.RecordingStorageKind"], - recording_destination_container_url: Optional[str] = None, + recording_storage_kind: Union[str, "_models.RecordingStorageKind"], + recording_destination_container_url: Optional[str] = None, **kwargs: Any ) -> None: """ @@ -3092,300 +2107,72 @@ def __init__( :paramtype recording_destination_container_url: str """ super().__init__(**kwargs) - self.recording_storage_kind = recording_storage_kind - self.recording_destination_container_url = recording_destination_container_url - - -class FileSource(_serialization.Model): - """FileSource. - - All required parameters must be populated in order to send to server. - - :ivar uri: Uri for the audio file to be played. Required. - :vartype uri: str - """ - - _validation = { - "uri": {"required": True}, - } - - _attribute_map = { - "uri": {"key": "uri", "type": "str"}, - } - - def __init__(self, *, uri: str, **kwargs: Any) -> None: - """ - :keyword uri: Uri for the audio file to be played. Required. - :paramtype uri: str - """ - super().__init__(**kwargs) - self.uri = uri - - -class GetParticipantsResponse(_serialization.Model): - """The response payload for getting participants of the call. - - All required parameters must be populated in order to send to server. - - :ivar value: List of the current participants in the call. Required. - :vartype value: list[~azure.communication.callautomation.models.CallParticipant] - :ivar next_link: Continue of the list of participants. - :vartype next_link: str - """ - - _validation = { - "value": {"required": True}, - } - - _attribute_map = { - "value": {"key": "value", "type": "[CallParticipant]"}, - "next_link": {"key": "nextLink", "type": "str"}, - } - - def __init__( - self, *, value: List["_models.CallParticipant"], next_link: Optional[str] = None, **kwargs: Any - ) -> None: - """ - :keyword value: List of the current participants in the call. Required. - :paramtype value: list[~azure.communication.callautomation.models.CallParticipant] - :keyword next_link: Continue of the list of participants. - :paramtype next_link: str - """ - super().__init__(**kwargs) - self.value = value - self.next_link = next_link - - -class HoldAudioCompleted(_serialization.Model): - """Hold Audio Completed event. - - :ivar call_connection_id: Call connection ID. - :vartype call_connection_id: str - :ivar server_call_id: Server call ID. - :vartype server_call_id: str - :ivar correlation_id: Correlation ID for event to call correlation. Also called ChainId for - skype chain ID. - :vartype correlation_id: str - :ivar operation_context: Used by customers when calling mid-call actions to correlate the - request to the response event. - :vartype operation_context: str - :ivar result_information: Contains the resulting SIP code, sub-code and message. - :vartype result_information: ~azure.communication.callautomation.models.ResultInformation - """ - - _attribute_map = { - "call_connection_id": {"key": "callConnectionId", "type": "str"}, - "server_call_id": {"key": "serverCallId", "type": "str"}, - "correlation_id": {"key": "correlationId", "type": "str"}, - "operation_context": {"key": "operationContext", "type": "str"}, - "result_information": {"key": "resultInformation", "type": "ResultInformation"}, - } - - def __init__( - self, - *, - call_connection_id: Optional[str] = None, - server_call_id: Optional[str] = None, - correlation_id: Optional[str] = None, - operation_context: Optional[str] = None, - result_information: Optional["_models.ResultInformation"] = None, - **kwargs: Any - ) -> None: - """ - :keyword call_connection_id: Call connection ID. - :paramtype call_connection_id: str - :keyword server_call_id: Server call ID. - :paramtype server_call_id: str - :keyword correlation_id: Correlation ID for event to call correlation. Also called ChainId for - skype chain ID. - :paramtype correlation_id: str - :keyword operation_context: Used by customers when calling mid-call actions to correlate the - request to the response event. - :paramtype operation_context: str - :keyword result_information: Contains the resulting SIP code, sub-code and message. - :paramtype result_information: ~azure.communication.callautomation.models.ResultInformation - """ - super().__init__(**kwargs) - self.call_connection_id = call_connection_id - self.server_call_id = server_call_id - self.correlation_id = correlation_id - self.operation_context = operation_context - self.result_information = result_information + self.recording_storage_kind = recording_storage_kind + self.recording_destination_container_url = recording_destination_container_url -class HoldAudioPaused(_serialization.Model): - """Hold Audio Paused event. +class FileSource(_serialization.Model): + """FileSource. - :ivar call_connection_id: Call connection ID. - :vartype call_connection_id: str - :ivar server_call_id: Server call ID. - :vartype server_call_id: str - :ivar correlation_id: Correlation ID for event to call correlation. Also called ChainId for - skype chain ID. - :vartype correlation_id: str - :ivar operation_context: Used by customers when calling mid-call actions to correlate the - request to the response event. - :vartype operation_context: str - :ivar result_information: Contains the resulting SIP code, sub-code and message. - :vartype result_information: ~azure.communication.callautomation.models.ResultInformation + All required parameters must be populated in order to send to server. + + :ivar uri: Uri for the audio file to be played. Required. + :vartype uri: str """ - _attribute_map = { - "call_connection_id": {"key": "callConnectionId", "type": "str"}, - "server_call_id": {"key": "serverCallId", "type": "str"}, - "correlation_id": {"key": "correlationId", "type": "str"}, - "operation_context": {"key": "operationContext", "type": "str"}, - "result_information": {"key": "resultInformation", "type": "ResultInformation"}, + _validation = { + "uri": {"required": True}, } - def __init__( - self, - *, - call_connection_id: Optional[str] = None, - server_call_id: Optional[str] = None, - correlation_id: Optional[str] = None, - operation_context: Optional[str] = None, - result_information: Optional["_models.ResultInformation"] = None, - **kwargs: Any - ) -> None: - """ - :keyword call_connection_id: Call connection ID. - :paramtype call_connection_id: str - :keyword server_call_id: Server call ID. - :paramtype server_call_id: str - :keyword correlation_id: Correlation ID for event to call correlation. Also called ChainId for - skype chain ID. - :paramtype correlation_id: str - :keyword operation_context: Used by customers when calling mid-call actions to correlate the - request to the response event. - :paramtype operation_context: str - :keyword result_information: Contains the resulting SIP code, sub-code and message. - :paramtype result_information: ~azure.communication.callautomation.models.ResultInformation - """ - super().__init__(**kwargs) - self.call_connection_id = call_connection_id - self.server_call_id = server_call_id - self.correlation_id = correlation_id - self.operation_context = operation_context - self.result_information = result_information - - -class HoldAudioResumed(_serialization.Model): - """Hold Audio Resumed event. - - :ivar call_connection_id: Call connection ID. - :vartype call_connection_id: str - :ivar server_call_id: Server call ID. - :vartype server_call_id: str - :ivar correlation_id: Correlation ID for event to call correlation. Also called ChainId for - skype chain ID. - :vartype correlation_id: str - :ivar operation_context: Used by customers when calling mid-call actions to correlate the - request to the response event. - :vartype operation_context: str - :ivar result_information: Contains the resulting SIP code, sub-code and message. - :vartype result_information: ~azure.communication.callautomation.models.ResultInformation - """ - _attribute_map = { - "call_connection_id": {"key": "callConnectionId", "type": "str"}, - "server_call_id": {"key": "serverCallId", "type": "str"}, - "correlation_id": {"key": "correlationId", "type": "str"}, - "operation_context": {"key": "operationContext", "type": "str"}, - "result_information": {"key": "resultInformation", "type": "ResultInformation"}, + "uri": {"key": "uri", "type": "str"}, } - def __init__( - self, - *, - call_connection_id: Optional[str] = None, - server_call_id: Optional[str] = None, - correlation_id: Optional[str] = None, - operation_context: Optional[str] = None, - result_information: Optional["_models.ResultInformation"] = None, - **kwargs: Any - ) -> None: + def __init__(self, *, uri: str, **kwargs: Any) -> None: """ - :keyword call_connection_id: Call connection ID. - :paramtype call_connection_id: str - :keyword server_call_id: Server call ID. - :paramtype server_call_id: str - :keyword correlation_id: Correlation ID for event to call correlation. Also called ChainId for - skype chain ID. - :paramtype correlation_id: str - :keyword operation_context: Used by customers when calling mid-call actions to correlate the - request to the response event. - :paramtype operation_context: str - :keyword result_information: Contains the resulting SIP code, sub-code and message. - :paramtype result_information: ~azure.communication.callautomation.models.ResultInformation + :keyword uri: Uri for the audio file to be played. Required. + :paramtype uri: str """ super().__init__(**kwargs) - self.call_connection_id = call_connection_id - self.server_call_id = server_call_id - self.correlation_id = correlation_id - self.operation_context = operation_context - self.result_information = result_information + self.uri = uri -class HoldAudioStarted(_serialization.Model): - """Hold Audio Started event. +class GetParticipantsResponse(_serialization.Model): + """The response payload for getting participants of the call. - :ivar call_connection_id: Call connection ID. - :vartype call_connection_id: str - :ivar server_call_id: Server call ID. - :vartype server_call_id: str - :ivar correlation_id: Correlation ID for event to call correlation. Also called ChainId for - skype chain ID. - :vartype correlation_id: str - :ivar operation_context: Used by customers when calling mid-call actions to correlate the - request to the response event. - :vartype operation_context: str - :ivar result_information: Contains the resulting SIP code, sub-code and message. - :vartype result_information: ~azure.communication.callautomation.models.ResultInformation + All required parameters must be populated in order to send to server. + + :ivar value: List of the current participants in the call. Required. + :vartype value: list[~azure.communication.callautomation.models.CallParticipant] + :ivar next_link: Continue of the list of participants. + :vartype next_link: str """ + _validation = { + "value": {"required": True}, + } + _attribute_map = { - "call_connection_id": {"key": "callConnectionId", "type": "str"}, - "server_call_id": {"key": "serverCallId", "type": "str"}, - "correlation_id": {"key": "correlationId", "type": "str"}, - "operation_context": {"key": "operationContext", "type": "str"}, - "result_information": {"key": "resultInformation", "type": "ResultInformation"}, + "value": {"key": "value", "type": "[CallParticipant]"}, + "next_link": {"key": "nextLink", "type": "str"}, } def __init__( - self, - *, - call_connection_id: Optional[str] = None, - server_call_id: Optional[str] = None, - correlation_id: Optional[str] = None, - operation_context: Optional[str] = None, - result_information: Optional["_models.ResultInformation"] = None, - **kwargs: Any + self, *, value: List["_models.CallParticipant"], next_link: Optional[str] = None, **kwargs: Any ) -> None: """ - :keyword call_connection_id: Call connection ID. - :paramtype call_connection_id: str - :keyword server_call_id: Server call ID. - :paramtype server_call_id: str - :keyword correlation_id: Correlation ID for event to call correlation. Also called ChainId for - skype chain ID. - :paramtype correlation_id: str - :keyword operation_context: Used by customers when calling mid-call actions to correlate the - request to the response event. - :paramtype operation_context: str - :keyword result_information: Contains the resulting SIP code, sub-code and message. - :paramtype result_information: ~azure.communication.callautomation.models.ResultInformation + :keyword value: List of the current participants in the call. Required. + :paramtype value: list[~azure.communication.callautomation.models.CallParticipant] + :keyword next_link: Continue of the list of participants. + :paramtype next_link: str """ super().__init__(**kwargs) - self.call_connection_id = call_connection_id - self.server_call_id = server_call_id - self.correlation_id = correlation_id - self.operation_context = operation_context - self.result_information = result_information + self.value = value + self.next_link = next_link class HoldFailed(_serialization.Model): - """Hold Failed event. + """HoldFailed. :ivar call_connection_id: Call connection ID. :vartype call_connection_id: str @@ -3476,140 +2263,31 @@ def __init__( self, *, target_participant: "_models.CommunicationIdentifierModel", - play_source_info: Optional["_models.PlaySource"] = None, - operation_context: Optional[str] = None, - operation_callback_uri: Optional[str] = None, - **kwargs: Any - ) -> None: - """ - :keyword target_participant: Participant to be held from the call. Required. - :paramtype target_participant: - ~azure.communication.callautomation.models.CommunicationIdentifierModel - :keyword play_source_info: Prompt to play while in hold. - :paramtype play_source_info: ~azure.communication.callautomation.models.PlaySource - :keyword operation_context: Used by customers when calling mid-call actions to correlate the - request to the response event. - :paramtype operation_context: str - :keyword operation_callback_uri: Set a callback URI that overrides the default callback URI set - by CreateCall/AnswerCall for this operation. - This setup is per-action. If this is not set, the default callback URI set by - CreateCall/AnswerCall will be used. - :paramtype operation_callback_uri: str - """ - super().__init__(**kwargs) - self.target_participant = target_participant - self.play_source_info = play_source_info - self.operation_context = operation_context - self.operation_callback_uri = operation_callback_uri - - -class IncomingCall(_serialization.Model): - """The incoming call event. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar to: The communication identifier of the target user. - :vartype to: ~azure.communication.callautomation.models.CommunicationIdentifierModel - :ivar from_property: The communication identifier of the user who initiated the call. - :vartype from_property: ~azure.communication.callautomation.models.CommunicationIdentifierModel - :ivar caller_display_name: Display name of caller. - :vartype caller_display_name: str - :ivar server_call_id: The server call id. - :vartype server_call_id: str - :ivar custom_context: Custom Context of Incoming Call. - :vartype custom_context: ~azure.communication.callautomation.models.CustomCallingContext - :ivar incoming_call_context: Incoming call context. - :vartype incoming_call_context: str - :ivar on_behalf_of_callee: The communication identifier of the user on behalf of whom the call - is made. - :vartype on_behalf_of_callee: - ~azure.communication.callautomation.models.CommunicationIdentifierModel - :ivar correlation_id: Correlation ID for event to call correlation. Also called ChainId for - skype chain ID. - :vartype correlation_id: str - """ - - _validation = { - "to": {"readonly": True}, - "from_property": {"readonly": True}, - "caller_display_name": {"readonly": True}, - "server_call_id": {"readonly": True}, - "custom_context": {"readonly": True}, - "incoming_call_context": {"readonly": True}, - "on_behalf_of_callee": {"readonly": True}, - "correlation_id": {"readonly": True}, - } - - _attribute_map = { - "to": {"key": "to", "type": "CommunicationIdentifierModel"}, - "from_property": {"key": "from", "type": "CommunicationIdentifierModel"}, - "caller_display_name": {"key": "callerDisplayName", "type": "str"}, - "server_call_id": {"key": "serverCallId", "type": "str"}, - "custom_context": {"key": "customContext", "type": "CustomCallingContext"}, - "incoming_call_context": {"key": "incomingCallContext", "type": "str"}, - "on_behalf_of_callee": {"key": "onBehalfOfCallee", "type": "CommunicationIdentifierModel"}, - "correlation_id": {"key": "correlationId", "type": "str"}, - } - - def __init__(self, **kwargs: Any) -> None: - """ """ - super().__init__(**kwargs) - self.to: Optional["_models.CommunicationIdentifierModel"] = None - self.from_property: Optional["_models.CommunicationIdentifierModel"] = None - self.caller_display_name: Optional[str] = None - self.server_call_id: Optional[str] = None - self.custom_context: Optional["_models.CustomCallingContext"] = None - self.incoming_call_context: Optional[str] = None - self.on_behalf_of_callee: Optional["_models.CommunicationIdentifierModel"] = None - self.correlation_id: Optional[str] = None - - -class InterruptAudioAndAnnounceRequest(_serialization.Model): - """InterruptAudioAndAnnounceRequest. - - All required parameters must be populated in order to send to server. - - :ivar play_sources: The source of the audio to be played. Required. - :vartype play_sources: list[~azure.communication.callautomation.models.PlaySource] - :ivar play_to: The list of call participants play provided audio to. - Plays to everyone in the call when not provided. Required. - :vartype play_to: ~azure.communication.callautomation.models.CommunicationIdentifierModel - :ivar operation_context: The value to identify context of the operation. - :vartype operation_context: str - """ - - _validation = { - "play_sources": {"required": True}, - "play_to": {"required": True}, - } - - _attribute_map = { - "play_sources": {"key": "playSources", "type": "[PlaySource]"}, - "play_to": {"key": "playTo", "type": "CommunicationIdentifierModel"}, - "operation_context": {"key": "operationContext", "type": "str"}, - } - - def __init__( - self, - *, - play_sources: List["_models.PlaySource"], - play_to: "_models.CommunicationIdentifierModel", + play_source_info: Optional["_models.PlaySource"] = None, operation_context: Optional[str] = None, + operation_callback_uri: Optional[str] = None, **kwargs: Any ) -> None: """ - :keyword play_sources: The source of the audio to be played. Required. - :paramtype play_sources: list[~azure.communication.callautomation.models.PlaySource] - :keyword play_to: The list of call participants play provided audio to. - Plays to everyone in the call when not provided. Required. - :paramtype play_to: ~azure.communication.callautomation.models.CommunicationIdentifierModel - :keyword operation_context: The value to identify context of the operation. + :keyword target_participant: Participant to be held from the call. Required. + :paramtype target_participant: + ~azure.communication.callautomation.models.CommunicationIdentifierModel + :keyword play_source_info: Prompt to play while in hold. + :paramtype play_source_info: ~azure.communication.callautomation.models.PlaySource + :keyword operation_context: Used by customers when calling mid-call actions to correlate the + request to the response event. :paramtype operation_context: str + :keyword operation_callback_uri: Set a callback URI that overrides the default callback URI set + by CreateCall/AnswerCall for this operation. + This setup is per-action. If this is not set, the default callback URI set by + CreateCall/AnswerCall will be used. + :paramtype operation_callback_uri: str """ super().__init__(**kwargs) - self.play_sources = play_sources - self.play_to = play_to + self.target_participant = target_participant + self.play_source_info = play_source_info self.operation_context = operation_context + self.operation_callback_uri = operation_callback_uri class MediaStreamingFailed(_serialization.Model): @@ -3682,93 +2360,47 @@ def __init__( class MediaStreamingOptions(_serialization.Model): - """Configuration of Media streaming. + """Options for media streaming. + + You probably want to use the sub-classes and not this class directly. Known sub-classes are: + WebSocketMediaStreamingOptions All required parameters must be populated in order to send to server. - :ivar transport_url: Transport URL for media streaming. Required. - :vartype transport_url: str - :ivar transport_type: The type of transport to be used for media streaming, eg. Websocket. - Required. "websocket" + :ivar transport_type: Defines the transport type used for streaming. Note that future values + may be introduced that are not currently documented. Required. "websocket" :vartype transport_type: str or - ~azure.communication.callautomation.models.MediaStreamingTransportType - :ivar content_type: Content type to stream, eg. audio. Required. "audio" - :vartype content_type: str or - ~azure.communication.callautomation.models.MediaStreamingContentType - :ivar audio_channel_type: Audio channel type to stream, eg. unmixed audio, mixed audio. + ~azure.communication.callautomation.models.StreamingTransportType + :ivar audio_channel_type: The audio channel type to stream, e.g., unmixed audio, mixed audio. Required. Known values are: "mixed" and "unmixed". :vartype audio_channel_type: str or ~azure.communication.callautomation.models.MediaStreamingAudioChannelType - :ivar start_media_streaming: Determines if the media streaming should be started immediately - after call is answered or not. - :vartype start_media_streaming: bool - :ivar enable_bidirectional: A value indicating whether bidirectional streaming is enabled. - :vartype enable_bidirectional: bool - :ivar audio_format: Specifies the audio format used for encoding, including sample rate and - channel type. Known values are: "Pcm16KMono" and "Pcm24KMono". - :vartype audio_format: str or ~azure.communication.callautomation.models.AudioFormat """ _validation = { - "transport_url": {"required": True}, "transport_type": {"required": True}, - "content_type": {"required": True}, "audio_channel_type": {"required": True}, } _attribute_map = { - "transport_url": {"key": "transportUrl", "type": "str"}, "transport_type": {"key": "transportType", "type": "str"}, - "content_type": {"key": "contentType", "type": "str"}, "audio_channel_type": {"key": "audioChannelType", "type": "str"}, - "start_media_streaming": {"key": "startMediaStreaming", "type": "bool"}, - "enable_bidirectional": {"key": "enableBidirectional", "type": "bool"}, - "audio_format": {"key": "audioFormat", "type": "str"}, } + _subtype_map = {"transport_type": {"websocket": "WebSocketMediaStreamingOptions"}} + def __init__( - self, - *, - transport_url: str, - transport_type: Union[str, "_models.MediaStreamingTransportType"], - content_type: Union[str, "_models.MediaStreamingContentType"], - audio_channel_type: Union[str, "_models.MediaStreamingAudioChannelType"], - start_media_streaming: Optional[bool] = None, - enable_bidirectional: Optional[bool] = None, - audio_format: Optional[Union[str, "_models.AudioFormat"]] = None, - **kwargs: Any + self, *, audio_channel_type: Union[str, "_models.MediaStreamingAudioChannelType"], **kwargs: Any ) -> None: """ - :keyword transport_url: Transport URL for media streaming. Required. - :paramtype transport_url: str - :keyword transport_type: The type of transport to be used for media streaming, eg. Websocket. - Required. "websocket" - :paramtype transport_type: str or - ~azure.communication.callautomation.models.MediaStreamingTransportType - :keyword content_type: Content type to stream, eg. audio. Required. "audio" - :paramtype content_type: str or - ~azure.communication.callautomation.models.MediaStreamingContentType - :keyword audio_channel_type: Audio channel type to stream, eg. unmixed audio, mixed audio. - Required. Known values are: "mixed" and "unmixed". + :keyword audio_channel_type: The audio channel type to stream, e.g., unmixed audio, mixed + audio. Required. Known values are: "mixed" and "unmixed". :paramtype audio_channel_type: str or ~azure.communication.callautomation.models.MediaStreamingAudioChannelType - :keyword start_media_streaming: Determines if the media streaming should be started immediately - after call is answered or not. - :paramtype start_media_streaming: bool - :keyword enable_bidirectional: A value indicating whether bidirectional streaming is enabled. - :paramtype enable_bidirectional: bool - :keyword audio_format: Specifies the audio format used for encoding, including sample rate and - channel type. Known values are: "Pcm16KMono" and "Pcm24KMono". - :paramtype audio_format: str or ~azure.communication.callautomation.models.AudioFormat """ super().__init__(**kwargs) - self.transport_url = transport_url - self.transport_type = transport_type - self.content_type = content_type + self.transport_type: Optional[str] = None self.audio_channel_type = audio_channel_type - self.start_media_streaming = start_media_streaming - self.enable_bidirectional = enable_bidirectional - self.audio_format = audio_format class MediaStreamingStarted(_serialization.Model): @@ -4069,282 +2701,36 @@ class MicrosoftTeamsUserIdentifierModel(_serialization.Model): "user_id": {"required": True}, } - _attribute_map = { - "user_id": {"key": "userId", "type": "str"}, - "is_anonymous": {"key": "isAnonymous", "type": "bool"}, - "cloud": {"key": "cloud", "type": "str"}, - } - - def __init__( - self, - *, - user_id: str, - is_anonymous: Optional[bool] = None, - cloud: Optional[Union[str, "_models.CommunicationCloudEnvironmentModel"]] = None, - **kwargs: Any - ) -> None: - """ - :keyword user_id: The Id of the Microsoft Teams user. If not anonymous, this is the Entra ID - object Id of the user. Required. - :paramtype user_id: str - :keyword is_anonymous: True if the Microsoft Teams user is anonymous. By default false if - missing. - :paramtype is_anonymous: bool - :keyword cloud: The cloud that the Microsoft Teams user belongs to. By default 'public' if - missing. Known values are: "public", "dod", and "gcch". - :paramtype cloud: str or - ~azure.communication.callautomation.models.CommunicationCloudEnvironmentModel - """ - super().__init__(**kwargs) - self.user_id = user_id - self.is_anonymous = is_anonymous - self.cloud = cloud - - -class MoveParticipantFailed(_serialization.Model): - """Moving the participant failed event. - - :ivar from_call: The CallConnectionId for the call you want to move the participant from. - :vartype from_call: str - :ivar call_connection_id: Call connection ID. - :vartype call_connection_id: str - :ivar server_call_id: Server call ID. - :vartype server_call_id: str - :ivar correlation_id: Correlation ID for event to call correlation. Also called ChainId for - skype chain ID. - :vartype correlation_id: str - :ivar operation_context: Used by customers when calling mid-call actions to correlate the - request to the response event. - :vartype operation_context: str - :ivar result_information: Contains the resulting SIP code, sub-code and message. - :vartype result_information: ~azure.communication.callautomation.models.ResultInformation - :ivar participant: Participant. - :vartype participant: ~azure.communication.callautomation.models.CommunicationIdentifierModel - """ - - _attribute_map = { - "from_call": {"key": "fromCall", "type": "str"}, - "call_connection_id": {"key": "callConnectionId", "type": "str"}, - "server_call_id": {"key": "serverCallId", "type": "str"}, - "correlation_id": {"key": "correlationId", "type": "str"}, - "operation_context": {"key": "operationContext", "type": "str"}, - "result_information": {"key": "resultInformation", "type": "ResultInformation"}, - "participant": {"key": "participant", "type": "CommunicationIdentifierModel"}, - } - - def __init__( - self, - *, - from_call: Optional[str] = None, - call_connection_id: Optional[str] = None, - server_call_id: Optional[str] = None, - correlation_id: Optional[str] = None, - operation_context: Optional[str] = None, - result_information: Optional["_models.ResultInformation"] = None, - participant: Optional["_models.CommunicationIdentifierModel"] = None, - **kwargs: Any - ) -> None: - """ - :keyword from_call: The CallConnectionId for the call you want to move the participant from. - :paramtype from_call: str - :keyword call_connection_id: Call connection ID. - :paramtype call_connection_id: str - :keyword server_call_id: Server call ID. - :paramtype server_call_id: str - :keyword correlation_id: Correlation ID for event to call correlation. Also called ChainId for - skype chain ID. - :paramtype correlation_id: str - :keyword operation_context: Used by customers when calling mid-call actions to correlate the - request to the response event. - :paramtype operation_context: str - :keyword result_information: Contains the resulting SIP code, sub-code and message. - :paramtype result_information: ~azure.communication.callautomation.models.ResultInformation - :keyword participant: Participant. - :paramtype participant: ~azure.communication.callautomation.models.CommunicationIdentifierModel - """ - super().__init__(**kwargs) - self.from_call = from_call - self.call_connection_id = call_connection_id - self.server_call_id = server_call_id - self.correlation_id = correlation_id - self.operation_context = operation_context - self.result_information = result_information - self.participant = participant - - -class MoveParticipantsRequest(_serialization.Model): - """The request payload for moving participant to the call. - - All required parameters must be populated in order to send to server. - - :ivar target_participants: The participant to Move. Required. - :vartype target_participants: - list[~azure.communication.callautomation.models.CommunicationIdentifierModel] - :ivar operation_context: Used by customers when calling mid-call actions to correlate the - request to the response event. - :vartype operation_context: str - :ivar operation_callback_uri: Set a callback URI that overrides the default callback URI set by - CreateCall/AnswerCall for this operation. - This setup is per-action. If this is not set, the default callback URI set by - CreateCall/AnswerCall will be used. - :vartype operation_callback_uri: str - :ivar from_call: The CallConnectionId for the call you want to move the participant from. - Required. - :vartype from_call: str - """ - - _validation = { - "target_participants": {"required": True}, - "from_call": {"required": True}, - } - - _attribute_map = { - "target_participants": {"key": "targetParticipants", "type": "[CommunicationIdentifierModel]"}, - "operation_context": {"key": "operationContext", "type": "str"}, - "operation_callback_uri": {"key": "operationCallbackUri", "type": "str"}, - "from_call": {"key": "fromCall", "type": "str"}, - } - - def __init__( - self, - *, - target_participants: List["_models.CommunicationIdentifierModel"], - from_call: str, - operation_context: Optional[str] = None, - operation_callback_uri: Optional[str] = None, - **kwargs: Any - ) -> None: - """ - :keyword target_participants: The participant to Move. Required. - :paramtype target_participants: - list[~azure.communication.callautomation.models.CommunicationIdentifierModel] - :keyword operation_context: Used by customers when calling mid-call actions to correlate the - request to the response event. - :paramtype operation_context: str - :keyword operation_callback_uri: Set a callback URI that overrides the default callback URI set - by CreateCall/AnswerCall for this operation. - This setup is per-action. If this is not set, the default callback URI set by - CreateCall/AnswerCall will be used. - :paramtype operation_callback_uri: str - :keyword from_call: The CallConnectionId for the call you want to move the participant from. - Required. - :paramtype from_call: str - """ - super().__init__(**kwargs) - self.target_participants = target_participants - self.operation_context = operation_context - self.operation_callback_uri = operation_callback_uri - self.from_call = from_call - - -class MoveParticipantsResponse(_serialization.Model): - """The response payload for moving participants to the call. - - :ivar participants: List of current participants in the call. - :vartype participants: list[~azure.communication.callautomation.models.CallParticipant] - :ivar operation_context: The operation context provided by client. - :vartype operation_context: str - :ivar from_call: The CallConnectionId for the call you want to move the participant from. - :vartype from_call: str - """ - - _attribute_map = { - "participants": {"key": "participants", "type": "[CallParticipant]"}, - "operation_context": {"key": "operationContext", "type": "str"}, - "from_call": {"key": "fromCall", "type": "str"}, - } - - def __init__( - self, - *, - participants: Optional[List["_models.CallParticipant"]] = None, - operation_context: Optional[str] = None, - from_call: Optional[str] = None, - **kwargs: Any - ) -> None: - """ - :keyword participants: List of current participants in the call. - :paramtype participants: list[~azure.communication.callautomation.models.CallParticipant] - :keyword operation_context: The operation context provided by client. - :paramtype operation_context: str - :keyword from_call: The CallConnectionId for the call you want to move the participant from. - :paramtype from_call: str - """ - super().__init__(**kwargs) - self.participants = participants - self.operation_context = operation_context - self.from_call = from_call - - -class MoveParticipantSucceeded(_serialization.Model): - """Moving the participant successfully event. - - :ivar from_call: The CallConnectionId for the call you want to move the participant from. - :vartype from_call: str - :ivar call_connection_id: Call connection ID. - :vartype call_connection_id: str - :ivar server_call_id: Server call ID. - :vartype server_call_id: str - :ivar correlation_id: Correlation ID for event to call correlation. Also called ChainId for - skype chain ID. - :vartype correlation_id: str - :ivar operation_context: Used by customers when calling mid-call actions to correlate the - request to the response event. - :vartype operation_context: str - :ivar result_information: Contains the resulting SIP code, sub-code and message. - :vartype result_information: ~azure.communication.callautomation.models.ResultInformation - :ivar participant: Participant. - :vartype participant: ~azure.communication.callautomation.models.CommunicationIdentifierModel - """ - - _attribute_map = { - "from_call": {"key": "fromCall", "type": "str"}, - "call_connection_id": {"key": "callConnectionId", "type": "str"}, - "server_call_id": {"key": "serverCallId", "type": "str"}, - "correlation_id": {"key": "correlationId", "type": "str"}, - "operation_context": {"key": "operationContext", "type": "str"}, - "result_information": {"key": "resultInformation", "type": "ResultInformation"}, - "participant": {"key": "participant", "type": "CommunicationIdentifierModel"}, + _attribute_map = { + "user_id": {"key": "userId", "type": "str"}, + "is_anonymous": {"key": "isAnonymous", "type": "bool"}, + "cloud": {"key": "cloud", "type": "str"}, } def __init__( self, *, - from_call: Optional[str] = None, - call_connection_id: Optional[str] = None, - server_call_id: Optional[str] = None, - correlation_id: Optional[str] = None, - operation_context: Optional[str] = None, - result_information: Optional["_models.ResultInformation"] = None, - participant: Optional["_models.CommunicationIdentifierModel"] = None, + user_id: str, + is_anonymous: Optional[bool] = None, + cloud: Optional[Union[str, "_models.CommunicationCloudEnvironmentModel"]] = None, **kwargs: Any ) -> None: """ - :keyword from_call: The CallConnectionId for the call you want to move the participant from. - :paramtype from_call: str - :keyword call_connection_id: Call connection ID. - :paramtype call_connection_id: str - :keyword server_call_id: Server call ID. - :paramtype server_call_id: str - :keyword correlation_id: Correlation ID for event to call correlation. Also called ChainId for - skype chain ID. - :paramtype correlation_id: str - :keyword operation_context: Used by customers when calling mid-call actions to correlate the - request to the response event. - :paramtype operation_context: str - :keyword result_information: Contains the resulting SIP code, sub-code and message. - :paramtype result_information: ~azure.communication.callautomation.models.ResultInformation - :keyword participant: Participant. - :paramtype participant: ~azure.communication.callautomation.models.CommunicationIdentifierModel + :keyword user_id: The Id of the Microsoft Teams user. If not anonymous, this is the Entra ID + object Id of the user. Required. + :paramtype user_id: str + :keyword is_anonymous: True if the Microsoft Teams user is anonymous. By default false if + missing. + :paramtype is_anonymous: bool + :keyword cloud: The cloud that the Microsoft Teams user belongs to. By default 'public' if + missing. Known values are: "public", "dod", and "gcch". + :paramtype cloud: str or + ~azure.communication.callautomation.models.CommunicationCloudEnvironmentModel """ super().__init__(**kwargs) - self.from_call = from_call - self.call_connection_id = call_connection_id - self.server_call_id = server_call_id - self.correlation_id = correlation_id - self.operation_context = operation_context - self.result_information = result_information - self.participant = participant + self.user_id = user_id + self.is_anonymous = is_anonymous + self.cloud = cloud class MuteParticipantsRequest(_serialization.Model): @@ -4702,12 +3088,6 @@ class PlayOptions(_serialization.Model): :ivar loop: The option to play the provided audio source in loop when set to true. Required. :vartype loop: bool - :ivar interrupt_call_media_operation: If set play can barge into other existing - queued-up/currently-processing requests. - :vartype interrupt_call_media_operation: bool - :ivar interrupt_hold_audio: If set, hold audio will be interrupted, then this request will be - played, and then the hold audio will be resumed. - :vartype interrupt_hold_audio: bool """ _validation = { @@ -4716,89 +3096,15 @@ class PlayOptions(_serialization.Model): _attribute_map = { "loop": {"key": "loop", "type": "bool"}, - "interrupt_call_media_operation": {"key": "interruptCallMediaOperation", "type": "bool"}, - "interrupt_hold_audio": {"key": "interruptHoldAudio", "type": "bool"}, } - def __init__( - self, - *, - loop: bool, - interrupt_call_media_operation: Optional[bool] = None, - interrupt_hold_audio: Optional[bool] = None, - **kwargs: Any - ) -> None: + def __init__(self, *, loop: bool, **kwargs: Any) -> None: """ :keyword loop: The option to play the provided audio source in loop when set to true. Required. :paramtype loop: bool - :keyword interrupt_call_media_operation: If set play can barge into other existing - queued-up/currently-processing requests. - :paramtype interrupt_call_media_operation: bool - :keyword interrupt_hold_audio: If set, hold audio will be interrupted, then this request will - be played, and then the hold audio will be resumed. - :paramtype interrupt_hold_audio: bool """ super().__init__(**kwargs) self.loop = loop - self.interrupt_call_media_operation = interrupt_call_media_operation - self.interrupt_hold_audio = interrupt_hold_audio - - -class PlayPaused(_serialization.Model): - """Play Paused event. - - :ivar call_connection_id: Call connection ID. - :vartype call_connection_id: str - :ivar server_call_id: Server call ID. - :vartype server_call_id: str - :ivar correlation_id: Correlation ID for event to call correlation. Also called ChainId for - skype chain ID. - :vartype correlation_id: str - :ivar operation_context: Used by customers when calling mid-call actions to correlate the - request to the response event. - :vartype operation_context: str - :ivar result_information: Contains the resulting SIP code, sub-code and message. - :vartype result_information: ~azure.communication.callautomation.models.ResultInformation - """ - - _attribute_map = { - "call_connection_id": {"key": "callConnectionId", "type": "str"}, - "server_call_id": {"key": "serverCallId", "type": "str"}, - "correlation_id": {"key": "correlationId", "type": "str"}, - "operation_context": {"key": "operationContext", "type": "str"}, - "result_information": {"key": "resultInformation", "type": "ResultInformation"}, - } - - def __init__( - self, - *, - call_connection_id: Optional[str] = None, - server_call_id: Optional[str] = None, - correlation_id: Optional[str] = None, - operation_context: Optional[str] = None, - result_information: Optional["_models.ResultInformation"] = None, - **kwargs: Any - ) -> None: - """ - :keyword call_connection_id: Call connection ID. - :paramtype call_connection_id: str - :keyword server_call_id: Server call ID. - :paramtype server_call_id: str - :keyword correlation_id: Correlation ID for event to call correlation. Also called ChainId for - skype chain ID. - :paramtype correlation_id: str - :keyword operation_context: Used by customers when calling mid-call actions to correlate the - request to the response event. - :paramtype operation_context: str - :keyword result_information: Contains the resulting SIP code, sub-code and message. - :paramtype result_information: ~azure.communication.callautomation.models.ResultInformation - """ - super().__init__(**kwargs) - self.call_connection_id = call_connection_id - self.server_call_id = server_call_id - self.correlation_id = correlation_id - self.operation_context = operation_context - self.result_information = result_information class PlayRequest(_serialization.Model): @@ -4811,6 +3117,9 @@ class PlayRequest(_serialization.Model): :ivar play_to: The list of call participants play provided audio to. Plays to everyone in the call when not provided. :vartype play_to: list[~azure.communication.callautomation.models.CommunicationIdentifierModel] + :ivar interrupt_call_media_operation: If set play can barge into other existing + queued-up/currently-processing requests. + :vartype interrupt_call_media_operation: bool :ivar play_options: Defines options for playing the audio. :vartype play_options: ~azure.communication.callautomation.models.PlayOptions :ivar operation_context: The value to identify context of the operation. @@ -4829,6 +3138,7 @@ class PlayRequest(_serialization.Model): _attribute_map = { "play_sources": {"key": "playSources", "type": "[PlaySource]"}, "play_to": {"key": "playTo", "type": "[CommunicationIdentifierModel]"}, + "interrupt_call_media_operation": {"key": "interruptCallMediaOperation", "type": "bool"}, "play_options": {"key": "playOptions", "type": "PlayOptions"}, "operation_context": {"key": "operationContext", "type": "str"}, "operation_callback_uri": {"key": "operationCallbackUri", "type": "str"}, @@ -4839,6 +3149,7 @@ def __init__( *, play_sources: List["_models.PlaySource"], play_to: Optional[List["_models.CommunicationIdentifierModel"]] = None, + interrupt_call_media_operation: Optional[bool] = None, play_options: Optional["_models.PlayOptions"] = None, operation_context: Optional[str] = None, operation_callback_uri: Optional[str] = None, @@ -4851,6 +3162,9 @@ def __init__( Plays to everyone in the call when not provided. :paramtype play_to: list[~azure.communication.callautomation.models.CommunicationIdentifierModel] + :keyword interrupt_call_media_operation: If set play can barge into other existing + queued-up/currently-processing requests. + :paramtype interrupt_call_media_operation: bool :keyword play_options: Defines options for playing the audio. :paramtype play_options: ~azure.communication.callautomation.models.PlayOptions :keyword operation_context: The value to identify context of the operation. @@ -4864,68 +3178,12 @@ def __init__( super().__init__(**kwargs) self.play_sources = play_sources self.play_to = play_to + self.interrupt_call_media_operation = interrupt_call_media_operation self.play_options = play_options self.operation_context = operation_context self.operation_callback_uri = operation_callback_uri -class PlayResumed(_serialization.Model): - """Play Resumed event. - - :ivar call_connection_id: Call connection ID. - :vartype call_connection_id: str - :ivar server_call_id: Server call ID. - :vartype server_call_id: str - :ivar correlation_id: Correlation ID for event to call correlation. Also called ChainId for - skype chain ID. - :vartype correlation_id: str - :ivar operation_context: Used by customers when calling mid-call actions to correlate the - request to the response event. - :vartype operation_context: str - :ivar result_information: Contains the resulting SIP code, sub-code and message. - :vartype result_information: ~azure.communication.callautomation.models.ResultInformation - """ - - _attribute_map = { - "call_connection_id": {"key": "callConnectionId", "type": "str"}, - "server_call_id": {"key": "serverCallId", "type": "str"}, - "correlation_id": {"key": "correlationId", "type": "str"}, - "operation_context": {"key": "operationContext", "type": "str"}, - "result_information": {"key": "resultInformation", "type": "ResultInformation"}, - } - - def __init__( - self, - *, - call_connection_id: Optional[str] = None, - server_call_id: Optional[str] = None, - correlation_id: Optional[str] = None, - operation_context: Optional[str] = None, - result_information: Optional["_models.ResultInformation"] = None, - **kwargs: Any - ) -> None: - """ - :keyword call_connection_id: Call connection ID. - :paramtype call_connection_id: str - :keyword server_call_id: Server call ID. - :paramtype server_call_id: str - :keyword correlation_id: Correlation ID for event to call correlation. Also called ChainId for - skype chain ID. - :paramtype correlation_id: str - :keyword operation_context: Used by customers when calling mid-call actions to correlate the - request to the response event. - :paramtype operation_context: str - :keyword result_information: Contains the resulting SIP code, sub-code and message. - :paramtype result_information: ~azure.communication.callautomation.models.ResultInformation - """ - super().__init__(**kwargs) - self.call_connection_id = call_connection_id - self.server_call_id = server_call_id - self.correlation_id = correlation_id - self.operation_context = operation_context - self.result_information = result_information - - class PlaySource(_serialization.Model): """PlaySource. @@ -5008,138 +3266,41 @@ class PlayStarted(_serialization.Model): _attribute_map = { "call_connection_id": {"key": "callConnectionId", "type": "str"}, "server_call_id": {"key": "serverCallId", "type": "str"}, - "correlation_id": {"key": "correlationId", "type": "str"}, - "operation_context": {"key": "operationContext", "type": "str"}, - "result_information": {"key": "resultInformation", "type": "ResultInformation"}, - } - - def __init__( - self, - *, - call_connection_id: Optional[str] = None, - server_call_id: Optional[str] = None, - correlation_id: Optional[str] = None, - operation_context: Optional[str] = None, - result_information: Optional["_models.ResultInformation"] = None, - **kwargs: Any - ) -> None: - """ - :keyword call_connection_id: Call connection ID. - :paramtype call_connection_id: str - :keyword server_call_id: Server call ID. - :paramtype server_call_id: str - :keyword correlation_id: Correlation ID for event to call correlation. Also called ChainId for - skype chain ID. - :paramtype correlation_id: str - :keyword operation_context: Used by customers when calling mid-call actions to correlate the - request to the response event. - :paramtype operation_context: str - :keyword result_information: Contains the resulting SIP code, sub-code and message. - :paramtype result_information: ~azure.communication.callautomation.models.ResultInformation - """ - super().__init__(**kwargs) - self.call_connection_id = call_connection_id - self.server_call_id = server_call_id - self.correlation_id = correlation_id - self.operation_context = operation_context - self.result_information = result_information - - -class PostProcessingOptions(_serialization.Model): - """PostProcessingOptions. - - All required parameters must be populated in order to send to server. - - :ivar cognitive_services_endpoint: The identifier of the Cognitive Service resource assigned to - the post recording processing. - The Cognitive Service resource will be used by the summarization feature. - :vartype cognitive_services_endpoint: str - :ivar transcription: Define options of the transcription for the post recording processing. - Required. - :vartype transcription: ~azure.communication.callautomation.models.Transcription - :ivar summarization: Define options of the summarization for the post recording processing. - :vartype summarization: ~azure.communication.callautomation.models.Summarization - """ - - _validation = { - "transcription": {"required": True}, - } - - _attribute_map = { - "cognitive_services_endpoint": {"key": "cognitiveServicesEndpoint", "type": "str"}, - "transcription": {"key": "transcription", "type": "Transcription"}, - "summarization": {"key": "summarization", "type": "Summarization"}, - } - - def __init__( - self, - *, - transcription: "_models.Transcription", - cognitive_services_endpoint: Optional[str] = None, - summarization: Optional["_models.Summarization"] = None, - **kwargs: Any - ) -> None: - """ - :keyword cognitive_services_endpoint: The identifier of the Cognitive Service resource assigned - to the post recording processing. - The Cognitive Service resource will be used by the summarization feature. - :paramtype cognitive_services_endpoint: str - :keyword transcription: Define options of the transcription for the post recording processing. - Required. - :paramtype transcription: ~azure.communication.callautomation.models.Transcription - :keyword summarization: Define options of the summarization for the post recording processing. - :paramtype summarization: ~azure.communication.callautomation.models.Summarization - """ - super().__init__(**kwargs) - self.cognitive_services_endpoint = cognitive_services_endpoint - self.transcription = transcription - self.summarization = summarization - - -class PowerVirtualAgentsDialog(BaseDialog): - """Power Virtual Agents Dialog. - - All required parameters must be populated in order to send to server. - - :ivar kind: Determines the type of the dialog. Required. Known values are: "powerVirtualAgents" - and "azureOpenAI". - :vartype kind: str or ~azure.communication.callautomation.models.DialogInputType - :ivar context: Dialog context. Required. - :vartype context: dict[str, JSON] - :ivar bot_app_id: Bot identifier. Required. - :vartype bot_app_id: str - :ivar language: Language. - :vartype language: str - """ - - _validation = { - "kind": {"required": True}, - "context": {"required": True}, - "bot_app_id": {"required": True}, - } - - _attribute_map = { - "kind": {"key": "kind", "type": "str"}, - "context": {"key": "context", "type": "{object}"}, - "bot_app_id": {"key": "botAppId", "type": "str"}, - "language": {"key": "language", "type": "str"}, + "correlation_id": {"key": "correlationId", "type": "str"}, + "operation_context": {"key": "operationContext", "type": "str"}, + "result_information": {"key": "resultInformation", "type": "ResultInformation"}, } def __init__( - self, *, context: Dict[str, JSON], bot_app_id: str, language: Optional[str] = None, **kwargs: Any + self, + *, + call_connection_id: Optional[str] = None, + server_call_id: Optional[str] = None, + correlation_id: Optional[str] = None, + operation_context: Optional[str] = None, + result_information: Optional["_models.ResultInformation"] = None, + **kwargs: Any ) -> None: """ - :keyword context: Dialog context. Required. - :paramtype context: dict[str, JSON] - :keyword bot_app_id: Bot identifier. Required. - :paramtype bot_app_id: str - :keyword language: Language. - :paramtype language: str + :keyword call_connection_id: Call connection ID. + :paramtype call_connection_id: str + :keyword server_call_id: Server call ID. + :paramtype server_call_id: str + :keyword correlation_id: Correlation ID for event to call correlation. Also called ChainId for + skype chain ID. + :paramtype correlation_id: str + :keyword operation_context: Used by customers when calling mid-call actions to correlate the + request to the response event. + :paramtype operation_context: str + :keyword result_information: Contains the resulting SIP code, sub-code and message. + :paramtype result_information: ~azure.communication.callautomation.models.ResultInformation """ - super().__init__(context=context, **kwargs) - self.kind: str = "powerVirtualAgents" - self.bot_app_id = bot_app_id - self.language = language + super().__init__(**kwargs) + self.call_connection_id = call_connection_id + self.server_call_id = server_call_id + self.correlation_id = correlation_id + self.operation_context = operation_context + self.result_information = result_information class RecognizeCanceled(_serialization.Model): @@ -5525,135 +3686,6 @@ def __init__( self.operation_callback_uri = operation_callback_uri -class RecordingChunkStorageInfo(_serialization.Model): - """Recording chunk data. - - :ivar document_id: Chunk document id. - :vartype document_id: str - :ivar index: Chunks order in a multi chunk recording. - :vartype index: int - :ivar end_reason: Reason this chunk ended. Known values are: "chunkIsBeingRecorded", - "sessionEnded", "chunkMaximumSizeExceeded", "chunkMaximumTimeExceeded", and - "chunkUploadFailure". - :vartype end_reason: str or ~azure.communication.callautomation.models.ChunkEndReason - :ivar content_location: Location of the chunk. - :vartype content_location: str - :ivar metadata_location: Location of chunk metadata. - :vartype metadata_location: str - :ivar delete_location: Callback for deleting chunk. - :vartype delete_location: str - """ - - _attribute_map = { - "document_id": {"key": "documentId", "type": "str"}, - "index": {"key": "index", "type": "int"}, - "end_reason": {"key": "endReason", "type": "str"}, - "content_location": {"key": "contentLocation", "type": "str"}, - "metadata_location": {"key": "metadataLocation", "type": "str"}, - "delete_location": {"key": "deleteLocation", "type": "str"}, - } - - def __init__( - self, - *, - document_id: Optional[str] = None, - index: Optional[int] = None, - end_reason: Optional[Union[str, "_models.ChunkEndReason"]] = None, - content_location: Optional[str] = None, - metadata_location: Optional[str] = None, - delete_location: Optional[str] = None, - **kwargs: Any - ) -> None: - """ - :keyword document_id: Chunk document id. - :paramtype document_id: str - :keyword index: Chunks order in a multi chunk recording. - :paramtype index: int - :keyword end_reason: Reason this chunk ended. Known values are: "chunkIsBeingRecorded", - "sessionEnded", "chunkMaximumSizeExceeded", "chunkMaximumTimeExceeded", and - "chunkUploadFailure". - :paramtype end_reason: str or ~azure.communication.callautomation.models.ChunkEndReason - :keyword content_location: Location of the chunk. - :paramtype content_location: str - :keyword metadata_location: Location of chunk metadata. - :paramtype metadata_location: str - :keyword delete_location: Callback for deleting chunk. - :paramtype delete_location: str - """ - super().__init__(**kwargs) - self.document_id = document_id - self.index = index - self.end_reason = end_reason - self.content_location = content_location - self.metadata_location = metadata_location - self.delete_location = delete_location - - -class RecordingResultResponse(_serialization.Model): - """Recording result data. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar recording_id: - :vartype recording_id: str - :ivar recording_storage_info: Container for chunks. - :vartype recording_storage_info: - ~azure.communication.callautomation.models.RecordingStorageInfo - :ivar errors: - :vartype errors: list[~azure.communication.callautomation.models.Error] - :ivar recording_start_time: - :vartype recording_start_time: ~datetime.datetime - :ivar recording_duration_ms: - :vartype recording_duration_ms: int - :ivar session_end_reason: Known values are: "sessionStillOngoing", "callEnded", - "initiatorLeft", "handedOverOrTransfered", "maximumSessionTimeReached", "callStartTimeout", - "mediaTimeout", "audioStreamFailure", "allInstancesBusy", "teamsTokenConversionFailed", - "reportCallStateFailed", "reportCallStateFailedAndSessionMustBeDiscarded", - "couldNotRejoinCall", "invalidBotData", "couldNotStart", - "appHostedMediaFailureOutcomeWithError", "appHostedMediaFailureOutcomeGracefully", - "handedOverDueToMediaTimeout", "handedOverDueToAudioStreamFailure", - "speechRecognitionSessionNonRetriableError", - "speechRecognitionSessionRetriableErrorMaxRetryCountReached", - "handedOverDueToChunkCreationFailure", "chunkCreationFailed", - "handedOverDueToProcessingTimeout", "processingTimeout", and "transcriptObjectCreationFailed". - :vartype session_end_reason: str or - ~azure.communication.callautomation.models.CallSessionEndReason - :ivar recording_expiration_time: - :vartype recording_expiration_time: ~datetime.datetime - """ - - _validation = { - "recording_id": {"readonly": True}, - "recording_storage_info": {"readonly": True}, - "errors": {"readonly": True}, - "recording_start_time": {"readonly": True}, - "recording_duration_ms": {"readonly": True}, - "session_end_reason": {"readonly": True}, - "recording_expiration_time": {"readonly": True}, - } - - _attribute_map = { - "recording_id": {"key": "recordingId", "type": "str"}, - "recording_storage_info": {"key": "recordingStorageInfo", "type": "RecordingStorageInfo"}, - "errors": {"key": "errors", "type": "[Error]"}, - "recording_start_time": {"key": "recordingStartTime", "type": "iso-8601"}, - "recording_duration_ms": {"key": "recordingDurationMs", "type": "int"}, - "session_end_reason": {"key": "sessionEndReason", "type": "str"}, - "recording_expiration_time": {"key": "recordingExpirationTime", "type": "iso-8601"}, - } - - def __init__(self, **kwargs: Any) -> None: - """ """ - super().__init__(**kwargs) - self.recording_id: Optional[str] = None - self.recording_storage_info: Optional["_models.RecordingStorageInfo"] = None - self.errors: Optional[List["_models.Error"]] = None - self.recording_start_time: Optional[datetime.datetime] = None - self.recording_duration_ms: Optional[int] = None - self.session_end_reason: Optional[Union[str, "_models.CallSessionEndReason"]] = None - self.recording_expiration_time: Optional[datetime.datetime] = None - - class RecordingStateChanged(_serialization.Model): """RecordingStateChanged. @@ -5774,32 +3806,6 @@ def __init__( self.recording_kind = recording_kind -class RecordingStorageInfo(_serialization.Model): - """Container for chunks. - - :ivar recording_chunks: Collection of - {Microsoft.Skype.Platform.ExecutionAgent.Azure.Communication.Service.ServerCalling.Content.Contracts.ALPHA4_2024_09_01_preview.Models.RecordingChunkStorageInfo}. - :vartype recording_chunks: - list[~azure.communication.callautomation.models.RecordingChunkStorageInfo] - """ - - _attribute_map = { - "recording_chunks": {"key": "recordingChunks", "type": "[RecordingChunkStorageInfo]"}, - } - - def __init__( - self, *, recording_chunks: Optional[List["_models.RecordingChunkStorageInfo"]] = None, **kwargs: Any - ) -> None: - """ - :keyword recording_chunks: Collection of - {Microsoft.Skype.Platform.ExecutionAgent.Azure.Communication.Service.ServerCalling.Content.Contracts.ALPHA4_2024_09_01_preview.Models.RecordingChunkStorageInfo}. - :paramtype recording_chunks: - list[~azure.communication.callautomation.models.RecordingChunkStorageInfo] - """ - super().__init__(**kwargs) - self.recording_chunks = recording_chunks - - class RedirectCallRequest(_serialization.Model): """The request payload for redirecting the call. @@ -5809,9 +3815,6 @@ class RedirectCallRequest(_serialization.Model): :vartype incoming_call_context: str :ivar target: The target identity to redirect the call to. Required. :vartype target: ~azure.communication.callautomation.models.CommunicationIdentifierModel - :ivar custom_calling_context: Used by customer to send custom calling context to targets. - :vartype custom_calling_context: - ~azure.communication.callautomation.models.CustomCallingContext """ _validation = { @@ -5822,30 +3825,20 @@ class RedirectCallRequest(_serialization.Model): _attribute_map = { "incoming_call_context": {"key": "incomingCallContext", "type": "str"}, "target": {"key": "target", "type": "CommunicationIdentifierModel"}, - "custom_calling_context": {"key": "customCallingContext", "type": "CustomCallingContext"}, } def __init__( - self, - *, - incoming_call_context: str, - target: "_models.CommunicationIdentifierModel", - custom_calling_context: Optional["_models.CustomCallingContext"] = None, - **kwargs: Any + self, *, incoming_call_context: str, target: "_models.CommunicationIdentifierModel", **kwargs: Any ) -> None: """ :keyword incoming_call_context: The context associated with the call. Required. :paramtype incoming_call_context: str :keyword target: The target identity to redirect the call to. Required. :paramtype target: ~azure.communication.callautomation.models.CommunicationIdentifierModel - :keyword custom_calling_context: Used by customer to send custom calling context to targets. - :paramtype custom_calling_context: - ~azure.communication.callautomation.models.CustomCallingContext """ super().__init__(**kwargs) self.incoming_call_context = incoming_call_context self.target = target - self.custom_calling_context = custom_calling_context class RejectCallRequest(_serialization.Model): @@ -6357,7 +4350,8 @@ class SpeechResult(_serialization.Model): :ivar speech: The recognized speech in string. :vartype speech: str - :ivar confidence: The confidence of the recognized speech. + :ivar confidence: The confidence level of the recognized speech, if available, ranges from 0.0 + to 1.0. :vartype confidence: float """ @@ -6370,7 +4364,8 @@ def __init__(self, *, speech: Optional[str] = None, confidence: Optional[float] """ :keyword speech: The recognized speech in string. :paramtype speech: str - :keyword confidence: The confidence of the recognized speech. + :keyword confidence: The confidence level of the recognized speech, if available, ranges from + 0.0 to 1.0. :paramtype confidence: float """ super().__init__(**kwargs) @@ -6415,7 +4410,7 @@ class StartCallRecordingRequest(_serialization.Model): :ivar call_locator: The call locator. (Only one of callLocator or callConnectionId to be used). :vartype call_locator: ~azure.communication.callautomation.models.CallLocator - :ivar call_connection_id: The call connectionId. (Only one of callLocator or callConnectionId + :ivar call_connection_id: The call connection Id. (Only one of callLocator or callConnectionId to be used). :vartype call_connection_id: str :ivar recording_state_callback_uri: The uri to send notifications to. @@ -6453,9 +4448,6 @@ class StartCallRecordingRequest(_serialization.Model): :vartype pause_on_start: bool :ivar external_storage: Optional property to specify location where recording will be stored. :vartype external_storage: ~azure.communication.callautomation.models.ExternalStorage - :ivar post_processing_options: The post processing options for the recording. - :vartype post_processing_options: - ~azure.communication.callautomation.models.PostProcessingOptions """ _attribute_map = { @@ -6472,7 +4464,6 @@ class StartCallRecordingRequest(_serialization.Model): "channel_affinity": {"key": "channelAffinity", "type": "[ChannelAffinity]"}, "pause_on_start": {"key": "pauseOnStart", "type": "bool"}, "external_storage": {"key": "externalStorage", "type": "ExternalStorage"}, - "post_processing_options": {"key": "postProcessingOptions", "type": "PostProcessingOptions"}, } def __init__( @@ -6488,14 +4479,13 @@ def __init__( channel_affinity: Optional[List["_models.ChannelAffinity"]] = None, pause_on_start: Optional[bool] = None, external_storage: Optional["_models.ExternalStorage"] = None, - post_processing_options: Optional["_models.PostProcessingOptions"] = None, **kwargs: Any ) -> None: """ :keyword call_locator: The call locator. (Only one of callLocator or callConnectionId to be used). :paramtype call_locator: ~azure.communication.callautomation.models.CallLocator - :keyword call_connection_id: The call connectionId. (Only one of callLocator or + :keyword call_connection_id: The call connection Id. (Only one of callLocator or callConnectionId to be used). :paramtype call_connection_id: str :keyword recording_state_callback_uri: The uri to send notifications to. @@ -6534,9 +4524,6 @@ def __init__( :keyword external_storage: Optional property to specify location where recording will be stored. :paramtype external_storage: ~azure.communication.callautomation.models.ExternalStorage - :keyword post_processing_options: The post processing options for the recording. - :paramtype post_processing_options: - ~azure.communication.callautomation.models.PostProcessingOptions """ super().__init__(**kwargs) self.call_locator = call_locator @@ -6549,58 +4536,6 @@ def __init__( self.channel_affinity = channel_affinity self.pause_on_start = pause_on_start self.external_storage = external_storage - self.post_processing_options = post_processing_options - - -class StartDialogRequest(_serialization.Model): - """StartDialogRequest. - - All required parameters must be populated in order to send to server. - - :ivar dialog: Defines the dialog. Required. - :vartype dialog: ~azure.communication.callautomation.models.BaseDialog - :ivar operation_callback_uri: Set a callback URI that overrides the default callback URI set by - CreateCall/AnswerCall for this operation. - This setup is per-action. If this is not set, the default callback URI set by - CreateCall/AnswerCall will be used. - :vartype operation_callback_uri: str - :ivar operation_context: The value to identify context of the operation. - :vartype operation_context: str - """ - - _validation = { - "dialog": {"required": True}, - } - - _attribute_map = { - "dialog": {"key": "dialog", "type": "BaseDialog"}, - "operation_callback_uri": {"key": "operationCallbackUri", "type": "str"}, - "operation_context": {"key": "operationContext", "type": "str"}, - } - - def __init__( - self, - *, - dialog: "_models.BaseDialog", - operation_callback_uri: Optional[str] = None, - operation_context: Optional[str] = None, - **kwargs: Any - ) -> None: - """ - :keyword dialog: Defines the dialog. Required. - :paramtype dialog: ~azure.communication.callautomation.models.BaseDialog - :keyword operation_callback_uri: Set a callback URI that overrides the default callback URI set - by CreateCall/AnswerCall for this operation. - This setup is per-action. If this is not set, the default callback URI set by - CreateCall/AnswerCall will be used. - :paramtype operation_callback_uri: str - :keyword operation_context: The value to identify context of the operation. - :paramtype operation_context: str - """ - super().__init__(**kwargs) - self.dialog = dialog - self.operation_callback_uri = operation_callback_uri - self.operation_context = operation_context class StartMediaStreamingRequest(_serialization.Model): @@ -6642,12 +4577,20 @@ class StartRecordingFailed(_serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. + :ivar recording_id: The call recording Id. + :vartype recording_id: str :ivar call_connection_id: Call connection ID. :vartype call_connection_id: str - :ivar correlation_id: Correlation ID for event to call correlation. + :ivar server_call_id: Server call ID. + :vartype server_call_id: str + :ivar correlation_id: Correlation ID for event to call correlation. Also called ChainId for + skype chain ID. :vartype correlation_id: str - :ivar recording_id: The call recording id. - :vartype recording_id: str + :ivar operation_context: Used by customers when calling mid-call actions to correlate the + request to the response event. + :vartype operation_context: str + :ivar result_information: Contains the resulting SIP code, sub-code and message. + :vartype result_information: ~azure.communication.callautomation.models.ResultInformation """ _validation = { @@ -6655,32 +4598,54 @@ class StartRecordingFailed(_serialization.Model): } _attribute_map = { + "recording_id": {"key": "recordingId", "type": "str"}, "call_connection_id": {"key": "callConnectionId", "type": "str"}, + "server_call_id": {"key": "serverCallId", "type": "str"}, "correlation_id": {"key": "correlationId", "type": "str"}, - "recording_id": {"key": "recordingId", "type": "str"}, + "operation_context": {"key": "operationContext", "type": "str"}, + "result_information": {"key": "resultInformation", "type": "ResultInformation"}, } def __init__( - self, *, call_connection_id: Optional[str] = None, correlation_id: Optional[str] = None, **kwargs: Any + self, + *, + call_connection_id: Optional[str] = None, + server_call_id: Optional[str] = None, + correlation_id: Optional[str] = None, + operation_context: Optional[str] = None, + result_information: Optional["_models.ResultInformation"] = None, + **kwargs: Any ) -> None: """ :keyword call_connection_id: Call connection ID. :paramtype call_connection_id: str - :keyword correlation_id: Correlation ID for event to call correlation. + :keyword server_call_id: Server call ID. + :paramtype server_call_id: str + :keyword correlation_id: Correlation ID for event to call correlation. Also called ChainId for + skype chain ID. :paramtype correlation_id: str + :keyword operation_context: Used by customers when calling mid-call actions to correlate the + request to the response event. + :paramtype operation_context: str + :keyword result_information: Contains the resulting SIP code, sub-code and message. + :paramtype result_information: ~azure.communication.callautomation.models.ResultInformation """ super().__init__(**kwargs) + self.recording_id: Optional[str] = None self.call_connection_id = call_connection_id + self.server_call_id = server_call_id self.correlation_id = correlation_id - self.recording_id: Optional[str] = None + self.operation_context = operation_context + self.result_information = result_information class StartTranscriptionRequest(_serialization.Model): """StartTranscriptionRequest. - :ivar locale: Defines Locale for the transcription e,g en-US. + :ivar locale: Specifies the Locale used for transcription, e.g., en-CA or en-AU. :vartype locale: str - :ivar speech_model_endpoint_id: Endpoint where the custom model was deployed. + :ivar speech_model_endpoint_id: The ID of the deployed custom model in GUID format. The GUID is + generated by Azure Speech Studio, e.g., a259c255-1cdw-4ed7-a693-dd58563b6f6a. :vartype speech_model_endpoint_id: str :ivar operation_context: The value to identify context of the operation. :vartype operation_context: str @@ -6708,9 +4673,10 @@ def __init__( **kwargs: Any ) -> None: """ - :keyword locale: Defines Locale for the transcription e,g en-US. + :keyword locale: Specifies the Locale used for transcription, e.g., en-CA or en-AU. :paramtype locale: str - :keyword speech_model_endpoint_id: Endpoint where the custom model was deployed. + :keyword speech_model_endpoint_id: The ID of the deployed custom model in GUID format. The GUID + is generated by Azure Speech Studio, e.g., a259c255-1cdw-4ed7-a693-dd58563b6f6a. :paramtype speech_model_endpoint_id: str :keyword operation_context: The value to identify context of the operation. :paramtype operation_context: str @@ -6795,34 +4761,6 @@ def __init__( self.operation_callback_uri = operation_callback_uri -class Summarization(_serialization.Model): - """Summarization. - - All required parameters must be populated in order to send to server. - - :ivar enable_summarization: Determine if the summarization should be enabled for the post - recording processing. Required. - :vartype enable_summarization: bool - """ - - _validation = { - "enable_summarization": {"required": True}, - } - - _attribute_map = { - "enable_summarization": {"key": "enableSummarization", "type": "bool"}, - } - - def __init__(self, *, enable_summarization: bool, **kwargs: Any) -> None: - """ - :keyword enable_summarization: Determine if the summarization should be enabled for the post - recording processing. Required. - :paramtype enable_summarization: bool - """ - super().__init__(**kwargs) - self.enable_summarization = enable_summarization - - class TeamsExtensionUserIdentifierModel(_serialization.Model): """A Microsoft Teams Phone user who is using a Communication Services resource to extend their Teams Phone set up. @@ -6872,254 +4810,16 @@ def __init__( :paramtype tenant_id: str :keyword resource_id: The Communication Services resource Id. Required. :paramtype resource_id: str - :keyword cloud: The cloud that the Microsoft Teams Extension user belongs to. By default - 'public' if missing. Known values are: "public", "dod", and "gcch". - :paramtype cloud: str or - ~azure.communication.callautomation.models.CommunicationCloudEnvironmentModel - """ - super().__init__(**kwargs) - self.user_id = user_id - self.tenant_id = tenant_id - self.resource_id = resource_id - self.cloud = cloud - - -class TeamsPhoneCallDetails(_serialization.Model): - """The call details which will be sent to the target. - - :ivar teams_phone_caller_details: Container for details relating to the original caller of the - call. - :vartype teams_phone_caller_details: - ~azure.communication.callautomation.models.TeamsPhoneCallerDetails - :ivar teams_phone_source_details: Container for details relating to the entity responsible for - the creation of these call details. - :vartype teams_phone_source_details: - ~azure.communication.callautomation.models.TeamsPhoneSourceDetails - :ivar session_id: Id to exclusively identify this call session. IVR will use this for their - telemetry/reporting. - :vartype session_id: str - :ivar intent: The intent of the call. - :vartype intent: str - :ivar call_topic: A very short description (max 48 chars) of the reason for the call. To be - displayed in Teams CallNotification. - :vartype call_topic: str - :ivar call_context: A summary of the call thus far. It will be displayed on a side panel in the - Teams UI. - :vartype call_context: str - :ivar transcript_url: Url for fetching the transcript of the call. - :vartype transcript_url: str - :ivar call_sentiment: Sentiment of the call thus far. - :vartype call_sentiment: str - :ivar suggested_actions: Recommendations for resolving the issue based on the customer’s intent - and interaction history. - :vartype suggested_actions: str - """ - - _attribute_map = { - "teams_phone_caller_details": {"key": "teamsPhoneCallerDetails", "type": "TeamsPhoneCallerDetails"}, - "teams_phone_source_details": {"key": "teamsPhoneSourceDetails", "type": "TeamsPhoneSourceDetails"}, - "session_id": {"key": "sessionId", "type": "str"}, - "intent": {"key": "intent", "type": "str"}, - "call_topic": {"key": "callTopic", "type": "str"}, - "call_context": {"key": "callContext", "type": "str"}, - "transcript_url": {"key": "transcriptUrl", "type": "str"}, - "call_sentiment": {"key": "callSentiment", "type": "str"}, - "suggested_actions": {"key": "suggestedActions", "type": "str"}, - } - - def __init__( - self, - *, - teams_phone_caller_details: Optional["_models.TeamsPhoneCallerDetails"] = None, - teams_phone_source_details: Optional["_models.TeamsPhoneSourceDetails"] = None, - session_id: Optional[str] = None, - intent: Optional[str] = None, - call_topic: Optional[str] = None, - call_context: Optional[str] = None, - transcript_url: Optional[str] = None, - call_sentiment: Optional[str] = None, - suggested_actions: Optional[str] = None, - **kwargs: Any - ) -> None: - """ - :keyword teams_phone_caller_details: Container for details relating to the original caller of - the call. - :paramtype teams_phone_caller_details: - ~azure.communication.callautomation.models.TeamsPhoneCallerDetails - :keyword teams_phone_source_details: Container for details relating to the entity responsible - for the creation of these call details. - :paramtype teams_phone_source_details: - ~azure.communication.callautomation.models.TeamsPhoneSourceDetails - :keyword session_id: Id to exclusively identify this call session. IVR will use this for their - telemetry/reporting. - :paramtype session_id: str - :keyword intent: The intent of the call. - :paramtype intent: str - :keyword call_topic: A very short description (max 48 chars) of the reason for the call. To be - displayed in Teams CallNotification. - :paramtype call_topic: str - :keyword call_context: A summary of the call thus far. It will be displayed on a side panel in - the Teams UI. - :paramtype call_context: str - :keyword transcript_url: Url for fetching the transcript of the call. - :paramtype transcript_url: str - :keyword call_sentiment: Sentiment of the call thus far. - :paramtype call_sentiment: str - :keyword suggested_actions: Recommendations for resolving the issue based on the customer’s - intent and interaction history. - :paramtype suggested_actions: str - """ - super().__init__(**kwargs) - self.teams_phone_caller_details = teams_phone_caller_details - self.teams_phone_source_details = teams_phone_source_details - self.session_id = session_id - self.intent = intent - self.call_topic = call_topic - self.call_context = call_context - self.transcript_url = transcript_url - self.call_sentiment = call_sentiment - self.suggested_actions = suggested_actions - - -class TeamsPhoneCallerDetails(_serialization.Model): - """Container for details relating to the original caller of the call. - - All required parameters must be populated in order to send to server. - - :ivar caller: Caller's ID. Required. - :vartype caller: ~azure.communication.callautomation.models.CommunicationIdentifierModel - :ivar name: Caller's name. Required. - :vartype name: str - :ivar phone_number: Caller's phone number. Required. - :vartype phone_number: str - :ivar record_id: Caller's record ID (ex in CRM). - :vartype record_id: str - :ivar screen_pop_url: Caller's screen pop URL. - :vartype screen_pop_url: str - :ivar is_authenticated: Flag indicating whether the caller was authenticated. - :vartype is_authenticated: bool - :ivar additional_caller_information: A set of key value pairs (max 10, any additional entries - would be ignored) which a bot author wants to pass to the Teams Client for display to the - agent. - :vartype additional_caller_information: dict[str, str] - """ - - _validation = { - "caller": {"required": True}, - "name": {"required": True}, - "phone_number": {"required": True}, - } - - _attribute_map = { - "caller": {"key": "caller", "type": "CommunicationIdentifierModel"}, - "name": {"key": "name", "type": "str"}, - "phone_number": {"key": "phoneNumber", "type": "str"}, - "record_id": {"key": "recordId", "type": "str"}, - "screen_pop_url": {"key": "screenPopUrl", "type": "str"}, - "is_authenticated": {"key": "isAuthenticated", "type": "bool"}, - "additional_caller_information": {"key": "additionalCallerInformation", "type": "{str}"}, - } - - def __init__( - self, - *, - caller: "_models.CommunicationIdentifierModel", - name: str, - phone_number: str, - record_id: Optional[str] = None, - screen_pop_url: Optional[str] = None, - is_authenticated: Optional[bool] = None, - additional_caller_information: Optional[Dict[str, str]] = None, - **kwargs: Any - ) -> None: - """ - :keyword caller: Caller's ID. Required. - :paramtype caller: ~azure.communication.callautomation.models.CommunicationIdentifierModel - :keyword name: Caller's name. Required. - :paramtype name: str - :keyword phone_number: Caller's phone number. Required. - :paramtype phone_number: str - :keyword record_id: Caller's record ID (ex in CRM). - :paramtype record_id: str - :keyword screen_pop_url: Caller's screen pop URL. - :paramtype screen_pop_url: str - :keyword is_authenticated: Flag indicating whether the caller was authenticated. - :paramtype is_authenticated: bool - :keyword additional_caller_information: A set of key value pairs (max 10, any additional - entries would be ignored) which a bot author wants to pass to the Teams Client for display to - the agent. - :paramtype additional_caller_information: dict[str, str] - """ - super().__init__(**kwargs) - self.caller = caller - self.name = name - self.phone_number = phone_number - self.record_id = record_id - self.screen_pop_url = screen_pop_url - self.is_authenticated = is_authenticated - self.additional_caller_information = additional_caller_information - - -class TeamsPhoneSourceDetails(_serialization.Model): - """Container for details relating to the entity responsible for the creation of these call - details. - - All required parameters must be populated in order to send to server. - - :ivar source: ID of the source entity passing along the call details (ex. Application Instance - ID of - CQ/AA). Required. - :vartype source: ~azure.communication.callautomation.models.CommunicationIdentifierModel - :ivar language: Language of the source entity passing along the call details, passed in the - ISO-639 standard. Required. - :vartype language: str - :ivar status: Status of the source entity passing along the call details. Required. - :vartype status: str - :ivar intended_targets: Intended targets of the source entity passing along the call details. - :vartype intended_targets: dict[str, - ~azure.communication.callautomation.models.CommunicationIdentifierModel] - """ - - _validation = { - "source": {"required": True}, - "language": {"required": True}, - "status": {"required": True}, - } - - _attribute_map = { - "source": {"key": "source", "type": "CommunicationIdentifierModel"}, - "language": {"key": "language", "type": "str"}, - "status": {"key": "status", "type": "str"}, - "intended_targets": {"key": "intendedTargets", "type": "{CommunicationIdentifierModel}"}, - } - - def __init__( - self, - *, - source: "_models.CommunicationIdentifierModel", - language: str, - status: str, - intended_targets: Optional[Dict[str, "_models.CommunicationIdentifierModel"]] = None, - **kwargs: Any - ) -> None: - """ - :keyword source: ID of the source entity passing along the call details (ex. Application - Instance ID of - CQ/AA). Required. - :paramtype source: ~azure.communication.callautomation.models.CommunicationIdentifierModel - :keyword language: Language of the source entity passing along the call details, passed in the - ISO-639 standard. Required. - :paramtype language: str - :keyword status: Status of the source entity passing along the call details. Required. - :paramtype status: str - :keyword intended_targets: Intended targets of the source entity passing along the call - details. - :paramtype intended_targets: dict[str, - ~azure.communication.callautomation.models.CommunicationIdentifierModel] + :keyword cloud: The cloud that the Microsoft Teams Extension user belongs to. By default + 'public' if missing. Known values are: "public", "dod", and "gcch". + :paramtype cloud: str or + ~azure.communication.callautomation.models.CommunicationCloudEnvironmentModel """ super().__init__(**kwargs) - self.source = source - self.language = language - self.status = status - self.intended_targets = intended_targets + self.user_id = user_id + self.tenant_id = tenant_id + self.resource_id = resource_id + self.cloud = cloud class TextSource(_serialization.Model): @@ -7193,34 +4893,6 @@ def __init__( self.custom_voice_endpoint_id = custom_voice_endpoint_id -class Transcription(_serialization.Model): - """Transcription. - - All required parameters must be populated in order to send to server. - - :ivar enable_transcription: Determine if the Transcription should be enabled for the post - recording processing. Required. - :vartype enable_transcription: bool - """ - - _validation = { - "enable_transcription": {"required": True}, - } - - _attribute_map = { - "enable_transcription": {"key": "enableTranscription", "type": "bool"}, - } - - def __init__(self, *, enable_transcription: bool, **kwargs: Any) -> None: - """ - :keyword enable_transcription: Determine if the Transcription should be enabled for the post - recording processing. Required. - :paramtype enable_transcription: bool - """ - super().__init__(**kwargs) - self.enable_transcription = enable_transcription - - class TranscriptionFailed(_serialization.Model): """TranscriptionFailed. @@ -7290,78 +4962,41 @@ def __init__( class TranscriptionOptions(_serialization.Model): - """Configuration of live transcription. + """Options for live transcription. + + You probably want to use the sub-classes and not this class directly. Known sub-classes are: + WebSocketTranscriptionOptions All required parameters must be populated in order to send to server. - :ivar transport_url: Transport URL for live transcription. Required. - :vartype transport_url: str - :ivar transport_type: The type of transport to be used for live transcription, eg. Websocket. - Required. "websocket" + :ivar transport_type: Defines the transport type used for streaming. Note that future values + may be introduced that are not currently documented. Required. "websocket" :vartype transport_type: str or - ~azure.communication.callautomation.models.TranscriptionTransportType - :ivar locale: Defines the locale for the data e.g en-CA, en-AU. Required. + ~azure.communication.callautomation.models.StreamingTransportType + :ivar locale: Specifies the Locale used for transcription, e.g., en-CA or en-AU. Required. :vartype locale: str - :ivar speech_model_endpoint_id: Endpoint where the custom model was deployed. - :vartype speech_model_endpoint_id: str - :ivar start_transcription: Determines if the transcription should be started immediately after - call is answered or not. Required. - :vartype start_transcription: bool - :ivar enable_intermediate_results: Enables intermediate results for the transcribed speech. - :vartype enable_intermediate_results: bool """ _validation = { - "transport_url": {"required": True}, "transport_type": {"required": True}, "locale": {"required": True}, - "start_transcription": {"required": True}, } _attribute_map = { - "transport_url": {"key": "transportUrl", "type": "str"}, "transport_type": {"key": "transportType", "type": "str"}, "locale": {"key": "locale", "type": "str"}, - "speech_model_endpoint_id": {"key": "speechModelEndpointId", "type": "str"}, - "start_transcription": {"key": "startTranscription", "type": "bool"}, - "enable_intermediate_results": {"key": "enableIntermediateResults", "type": "bool"}, } - def __init__( - self, - *, - transport_url: str, - transport_type: Union[str, "_models.TranscriptionTransportType"], - locale: str, - start_transcription: bool, - speech_model_endpoint_id: Optional[str] = None, - enable_intermediate_results: Optional[bool] = None, - **kwargs: Any - ) -> None: + _subtype_map = {"transport_type": {"websocket": "WebSocketTranscriptionOptions"}} + + def __init__(self, *, locale: str, **kwargs: Any) -> None: """ - :keyword transport_url: Transport URL for live transcription. Required. - :paramtype transport_url: str - :keyword transport_type: The type of transport to be used for live transcription, eg. - Websocket. Required. "websocket" - :paramtype transport_type: str or - ~azure.communication.callautomation.models.TranscriptionTransportType - :keyword locale: Defines the locale for the data e.g en-CA, en-AU. Required. + :keyword locale: Specifies the Locale used for transcription, e.g., en-CA or en-AU. Required. :paramtype locale: str - :keyword speech_model_endpoint_id: Endpoint where the custom model was deployed. - :paramtype speech_model_endpoint_id: str - :keyword start_transcription: Determines if the transcription should be started immediately - after call is answered or not. Required. - :paramtype start_transcription: bool - :keyword enable_intermediate_results: Enables intermediate results for the transcribed speech. - :paramtype enable_intermediate_results: bool """ super().__init__(**kwargs) - self.transport_url = transport_url - self.transport_type = transport_type + self.transport_type: Optional[str] = None self.locale = locale - self.speech_model_endpoint_id = speech_model_endpoint_id - self.start_transcription = start_transcription - self.enable_intermediate_results = enable_intermediate_results class TranscriptionStarted(_serialization.Model): @@ -7512,12 +5147,15 @@ class TranscriptionSubscription(_serialization.Model): :ivar subscribed_result_types: Subscribed transcription result types. :vartype subscribed_result_types: list[str or ~azure.communication.callautomation.models.TranscriptionResultType] + :ivar locale: Specifies the locale used for transcription, e.g., en-CA or en-AU. + :vartype locale: str """ _attribute_map = { "id": {"key": "id", "type": "str"}, "state": {"key": "state", "type": "str"}, "subscribed_result_types": {"key": "subscribedResultTypes", "type": "[str]"}, + "locale": {"key": "locale", "type": "str"}, } def __init__( @@ -7526,6 +5164,7 @@ def __init__( id: Optional[str] = None, # pylint: disable=redefined-builtin state: Optional[Union[str, "_models.TranscriptionSubscriptionState"]] = None, subscribed_result_types: Optional[List[Union[str, "_models.TranscriptionResultType"]]] = None, + locale: Optional[str] = None, **kwargs: Any ) -> None: """ @@ -7538,11 +5177,14 @@ def __init__( :keyword subscribed_result_types: Subscribed transcription result types. :paramtype subscribed_result_types: list[str or ~azure.communication.callautomation.models.TranscriptionResultType] + :keyword locale: Specifies the locale used for transcription, e.g., en-CA or en-AU. + :paramtype locale: str """ super().__init__(**kwargs) self.id = id self.state = state self.subscribed_result_types = subscribed_result_types + self.locale = locale class TranscriptionUpdate(_serialization.Model): @@ -7775,6 +5417,11 @@ class UnholdRequest(_serialization.Model): :ivar operation_context: Used by customers when calling mid-call actions to correlate the request to the response event. :vartype operation_context: str + :ivar operation_callback_uri: Set a callback URI that overrides the default callback URI set by + CreateCall/AnswerCall for this operation. + This setup is per-action. If this is not set, the default callback URI set by + CreateCall/AnswerCall will be used. + :vartype operation_callback_uri: str """ _validation = { @@ -7784,6 +5431,7 @@ class UnholdRequest(_serialization.Model): _attribute_map = { "target_participant": {"key": "targetParticipant", "type": "CommunicationIdentifierModel"}, "operation_context": {"key": "operationContext", "type": "str"}, + "operation_callback_uri": {"key": "operationCallbackUri", "type": "str"}, } def __init__( @@ -7791,6 +5439,7 @@ def __init__( *, target_participant: "_models.CommunicationIdentifierModel", operation_context: Optional[str] = None, + operation_callback_uri: Optional[str] = None, **kwargs: Any ) -> None: """ @@ -7801,194 +5450,225 @@ def __init__( :keyword operation_context: Used by customers when calling mid-call actions to correlate the request to the response event. :paramtype operation_context: str + :keyword operation_callback_uri: Set a callback URI that overrides the default callback URI set + by CreateCall/AnswerCall for this operation. + This setup is per-action. If this is not set, the default callback URI set by + CreateCall/AnswerCall will be used. + :paramtype operation_callback_uri: str """ super().__init__(**kwargs) self.target_participant = target_participant self.operation_context = operation_context + self.operation_callback_uri = operation_callback_uri -class UnmuteParticipantsRequest(_serialization.Model): - """The request payload for unmuting participant from the call. - - All required parameters must be populated in order to send to server. +class UpdateTranscriptionRequest(_serialization.Model): + """UpdateTranscriptionRequest. - :ivar target_participants: Participants to be unmuted from the call. - Only ACS Users are supported. Required. - :vartype target_participants: - list[~azure.communication.callautomation.models.CommunicationIdentifierModel] - :ivar operation_context: Used by customers when calling mid-call actions to correlate the - request to the response event. + :ivar locale: Specifies the Locale used for transcription, e.g., en-CA or en-AU. + :vartype locale: str + :ivar speech_model_endpoint_id: The ID of the deployed custom model, in GUID format, e.g., + a259c255-1cdw-4ed7-a693-dd58563b6f6a. + :vartype speech_model_endpoint_id: str + :ivar operation_context: The value to identify context of the operation. :vartype operation_context: str + :ivar operation_callback_uri: Set a callback URI that overrides the default callback URI set by + CreateCall/AnswerCall for this operation. + This setup is per-action. If this is not set, the default callback URI set by + CreateCall/AnswerCall will be used. + :vartype operation_callback_uri: str """ - _validation = { - "target_participants": {"required": True}, - } - _attribute_map = { - "target_participants": {"key": "targetParticipants", "type": "[CommunicationIdentifierModel]"}, + "locale": {"key": "locale", "type": "str"}, + "speech_model_endpoint_id": {"key": "speechModelEndpointId", "type": "str"}, "operation_context": {"key": "operationContext", "type": "str"}, + "operation_callback_uri": {"key": "operationCallbackUri", "type": "str"}, } def __init__( self, *, - target_participants: List["_models.CommunicationIdentifierModel"], + locale: Optional[str] = None, + speech_model_endpoint_id: Optional[str] = None, operation_context: Optional[str] = None, + operation_callback_uri: Optional[str] = None, **kwargs: Any ) -> None: """ - :keyword target_participants: Participants to be unmuted from the call. - Only ACS Users are supported. Required. - :paramtype target_participants: - list[~azure.communication.callautomation.models.CommunicationIdentifierModel] - :keyword operation_context: Used by customers when calling mid-call actions to correlate the - request to the response event. - :paramtype operation_context: str - """ - super().__init__(**kwargs) - self.target_participants = target_participants - self.operation_context = operation_context - - -class UnmuteParticipantsResponse(_serialization.Model): - """The response payload for unmuting participants from the call. - - :ivar operation_context: The operation context provided by client. - :vartype operation_context: str - """ - - _attribute_map = { - "operation_context": {"key": "operationContext", "type": "str"}, - } - - def __init__(self, *, operation_context: Optional[str] = None, **kwargs: Any) -> None: - """ - :keyword operation_context: The operation context provided by client. + :keyword locale: Specifies the Locale used for transcription, e.g., en-CA or en-AU. + :paramtype locale: str + :keyword speech_model_endpoint_id: The ID of the deployed custom model, in GUID format, e.g., + a259c255-1cdw-4ed7-a693-dd58563b6f6a. + :paramtype speech_model_endpoint_id: str + :keyword operation_context: The value to identify context of the operation. :paramtype operation_context: str + :keyword operation_callback_uri: Set a callback URI that overrides the default callback URI set + by CreateCall/AnswerCall for this operation. + This setup is per-action. If this is not set, the default callback URI set by + CreateCall/AnswerCall will be used. + :paramtype operation_callback_uri: str """ super().__init__(**kwargs) + self.locale = locale + self.speech_model_endpoint_id = speech_model_endpoint_id self.operation_context = operation_context + self.operation_callback_uri = operation_callback_uri -class UpdateDialogRequest(_serialization.Model): - """UpdateDialogRequest. +class WebSocketMediaStreamingOptions(MediaStreamingOptions): + """Represents the options for WebSocket transport. All required parameters must be populated in order to send to server. - :ivar dialog: Dialog context. Required. - :vartype dialog: ~azure.communication.callautomation.models.DialogUpdateBase - :ivar operation_callback_uri: Set a callback URI that overrides the default callback URI set by - CreateCall/AnswerCall for this operation. - This setup is per-action. If this is not set, the default callback URI set by - CreateCall/AnswerCall will be used. - :vartype operation_callback_uri: str - :ivar operation_context: The value to identify context of the operation. - :vartype operation_context: str + :ivar transport_type: Defines the transport type used for streaming. Note that future values + may be introduced that are not currently documented. Required. "websocket" + :vartype transport_type: str or + ~azure.communication.callautomation.models.StreamingTransportType + :ivar audio_channel_type: The audio channel type to stream, e.g., unmixed audio, mixed audio. + Required. Known values are: "mixed" and "unmixed". + :vartype audio_channel_type: str or + ~azure.communication.callautomation.models.MediaStreamingAudioChannelType + :ivar transport_url: The transport URL for media streaming. + :vartype transport_url: str + :ivar content_type: "audio" + :vartype content_type: str or + ~azure.communication.callautomation.models.MediaStreamingContentType + :ivar start_media_streaming: A value indicating whether the media streaming should start + immediately after the call is answered. + :vartype start_media_streaming: bool + :ivar enable_bidirectional: A value indicating whether bidirectional streaming is enabled. + :vartype enable_bidirectional: bool + :ivar audio_format: The audio format used for encoding, including sample rate and channel type. + The default is Pcm16KMono. Known values are: "pcm16KMono" and "pcm24KMono". + :vartype audio_format: str or ~azure.communication.callautomation.models.AudioFormat + :ivar enable_dtmf_tones: A value that indicates whether to stream the DTMF tones. + :vartype enable_dtmf_tones: bool """ _validation = { - "dialog": {"required": True}, + "transport_type": {"required": True}, + "audio_channel_type": {"required": True}, } _attribute_map = { - "dialog": {"key": "dialog", "type": "DialogUpdateBase"}, - "operation_callback_uri": {"key": "operationCallbackUri", "type": "str"}, - "operation_context": {"key": "operationContext", "type": "str"}, + "transport_type": {"key": "transportType", "type": "str"}, + "audio_channel_type": {"key": "audioChannelType", "type": "str"}, + "transport_url": {"key": "transportUrl", "type": "str"}, + "content_type": {"key": "contentType", "type": "str"}, + "start_media_streaming": {"key": "startMediaStreaming", "type": "bool"}, + "enable_bidirectional": {"key": "enableBidirectional", "type": "bool"}, + "audio_format": {"key": "audioFormat", "type": "str"}, + "enable_dtmf_tones": {"key": "enableDtmfTones", "type": "bool"}, } def __init__( self, *, - dialog: "_models.DialogUpdateBase", - operation_callback_uri: Optional[str] = None, - operation_context: Optional[str] = None, + audio_channel_type: Union[str, "_models.MediaStreamingAudioChannelType"], + transport_url: Optional[str] = None, + content_type: Optional[Union[str, "_models.MediaStreamingContentType"]] = None, + start_media_streaming: Optional[bool] = None, + enable_bidirectional: Optional[bool] = None, + audio_format: Optional[Union[str, "_models.AudioFormat"]] = None, + enable_dtmf_tones: Optional[bool] = None, **kwargs: Any ) -> None: """ - :keyword dialog: Dialog context. Required. - :paramtype dialog: ~azure.communication.callautomation.models.DialogUpdateBase - :keyword operation_callback_uri: Set a callback URI that overrides the default callback URI set - by CreateCall/AnswerCall for this operation. - This setup is per-action. If this is not set, the default callback URI set by - CreateCall/AnswerCall will be used. - :paramtype operation_callback_uri: str - :keyword operation_context: The value to identify context of the operation. - :paramtype operation_context: str + :keyword audio_channel_type: The audio channel type to stream, e.g., unmixed audio, mixed + audio. Required. Known values are: "mixed" and "unmixed". + :paramtype audio_channel_type: str or + ~azure.communication.callautomation.models.MediaStreamingAudioChannelType + :keyword transport_url: The transport URL for media streaming. + :paramtype transport_url: str + :keyword content_type: "audio" + :paramtype content_type: str or + ~azure.communication.callautomation.models.MediaStreamingContentType + :keyword start_media_streaming: A value indicating whether the media streaming should start + immediately after the call is answered. + :paramtype start_media_streaming: bool + :keyword enable_bidirectional: A value indicating whether bidirectional streaming is enabled. + :paramtype enable_bidirectional: bool + :keyword audio_format: The audio format used for encoding, including sample rate and channel + type. The default is Pcm16KMono. Known values are: "pcm16KMono" and "pcm24KMono". + :paramtype audio_format: str or ~azure.communication.callautomation.models.AudioFormat + :keyword enable_dtmf_tones: A value that indicates whether to stream the DTMF tones. + :paramtype enable_dtmf_tones: bool """ - super().__init__(**kwargs) - self.dialog = dialog - self.operation_callback_uri = operation_callback_uri - self.operation_context = operation_context + super().__init__(audio_channel_type=audio_channel_type, **kwargs) + self.transport_type: str = "websocket" + self.transport_url = transport_url + self.content_type = content_type + self.start_media_streaming = start_media_streaming + self.enable_bidirectional = enable_bidirectional + self.audio_format = audio_format + self.enable_dtmf_tones = enable_dtmf_tones -class UpdateTranscriptionRequest(_serialization.Model): - """UpdateTranscriptionRequest. +class WebSocketTranscriptionOptions(TranscriptionOptions): + """Represents the options for WebSocket transport. + + All required parameters must be populated in order to send to server. - :ivar locale: Defines new locale for transcription. + :ivar transport_type: Defines the transport type used for streaming. Note that future values + may be introduced that are not currently documented. Required. "websocket" + :vartype transport_type: str or + ~azure.communication.callautomation.models.StreamingTransportType + :ivar locale: Specifies the Locale used for transcription, e.g., en-CA or en-AU. Required. :vartype locale: str - :ivar speech_model_endpoint_id: Sets Endpoint id where the custom model was deployed. + :ivar transport_url: The URL used for live transcription transport. + :vartype transport_url: str + :ivar speech_model_endpoint_id: The ID of the deployed custom model in GUID format. The GUID is + generated by Azure Speech Studio, e.g., a259c255-1cdw-4ed7-a693-dd58563b6f6a. :vartype speech_model_endpoint_id: str - :ivar operation_context: The value to identify context of the operation. - :vartype operation_context: str - :ivar operation_callback_uri: Set a callback URI that overrides the default callback URI set by - CreateCall/AnswerCall for this operation. - This setup is per-action. If this is not set, the default callback URI set by - CreateCall/AnswerCall will be used. - :vartype operation_callback_uri: str + :ivar start_transcription: Indicates whether the transcription should start immediately after + the call is answered. + :vartype start_transcription: bool + :ivar enable_intermediate_results: Enables intermediate results for the transcribed speech. + :vartype enable_intermediate_results: bool """ + _validation = { + "transport_type": {"required": True}, + "locale": {"required": True}, + } + _attribute_map = { + "transport_type": {"key": "transportType", "type": "str"}, "locale": {"key": "locale", "type": "str"}, + "transport_url": {"key": "transportUrl", "type": "str"}, "speech_model_endpoint_id": {"key": "speechModelEndpointId", "type": "str"}, - "operation_context": {"key": "operationContext", "type": "str"}, - "operation_callback_uri": {"key": "operationCallbackUri", "type": "str"}, + "start_transcription": {"key": "startTranscription", "type": "bool"}, + "enable_intermediate_results": {"key": "enableIntermediateResults", "type": "bool"}, } def __init__( self, *, - locale: Optional[str] = None, + locale: str, + transport_url: Optional[str] = None, speech_model_endpoint_id: Optional[str] = None, - operation_context: Optional[str] = None, - operation_callback_uri: Optional[str] = None, + start_transcription: Optional[bool] = None, + enable_intermediate_results: Optional[bool] = None, **kwargs: Any ) -> None: """ - :keyword locale: Defines new locale for transcription. + :keyword locale: Specifies the Locale used for transcription, e.g., en-CA or en-AU. Required. :paramtype locale: str - :keyword speech_model_endpoint_id: Sets Endpoint id where the custom model was deployed. + :keyword transport_url: The URL used for live transcription transport. + :paramtype transport_url: str + :keyword speech_model_endpoint_id: The ID of the deployed custom model in GUID format. The GUID + is generated by Azure Speech Studio, e.g., a259c255-1cdw-4ed7-a693-dd58563b6f6a. :paramtype speech_model_endpoint_id: str - :keyword operation_context: The value to identify context of the operation. - :paramtype operation_context: str - :keyword operation_callback_uri: Set a callback URI that overrides the default callback URI set - by CreateCall/AnswerCall for this operation. - This setup is per-action. If this is not set, the default callback URI set by - CreateCall/AnswerCall will be used. - :paramtype operation_callback_uri: str + :keyword start_transcription: Indicates whether the transcription should start immediately + after the call is answered. + :paramtype start_transcription: bool + :keyword enable_intermediate_results: Enables intermediate results for the transcribed speech. + :paramtype enable_intermediate_results: bool """ - super().__init__(**kwargs) - self.locale = locale + super().__init__(locale=locale, **kwargs) + self.transport_type: str = "websocket" + self.transport_url = transport_url self.speech_model_endpoint_id = speech_model_endpoint_id - self.operation_context = operation_context - self.operation_callback_uri = operation_callback_uri - - -class UserConsent(_serialization.Model): - """UserConsent. - - :ivar recording: - :vartype recording: int - """ - - _attribute_map = { - "recording": {"key": "recording", "type": "int"}, - } - - def __init__(self, *, recording: Optional[int] = None, **kwargs: Any) -> None: - """ - :keyword recording: - :paramtype recording: int - """ - super().__init__(**kwargs) - self.recording = recording + self.start_transcription = start_transcription + self.enable_intermediate_results = enable_intermediate_results diff --git a/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_generated/operations/__init__.py b/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_generated/operations/__init__.py index 90a72cf9e9e9..586f5f0bf5d0 100644 --- a/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_generated/operations/__init__.py +++ b/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_generated/operations/__init__.py @@ -15,7 +15,6 @@ from ._operations import AzureCommunicationCallAutomationServiceOperationsMixin # type: ignore from ._operations import CallConnectionOperations # type: ignore from ._operations import CallMediaOperations # type: ignore -from ._operations import CallDialogOperations # type: ignore from ._operations import CallRecordingOperations # type: ignore from ._patch import __all__ as _patch_all @@ -26,7 +25,6 @@ "AzureCommunicationCallAutomationServiceOperationsMixin", "CallConnectionOperations", "CallMediaOperations", - "CallDialogOperations", "CallRecordingOperations", ] __all__.extend([p for p in _patch_all if p not in __all__]) # pyright: ignore diff --git a/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_generated/operations/_operations.py b/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_generated/operations/_operations.py index 5c38cb5a7ae9..72f7955f7c61 100644 --- a/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_generated/operations/_operations.py +++ b/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_generated/operations/_operations.py @@ -47,7 +47,7 @@ def build_azure_communication_call_automation_service_create_call_request( # py _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-06-15")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -77,7 +77,7 @@ def build_azure_communication_call_automation_service_answer_call_request( # py _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-06-15")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -107,7 +107,7 @@ def build_azure_communication_call_automation_service_redirect_call_request( # _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-06-15")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -137,7 +137,7 @@ def build_azure_communication_call_automation_service_reject_call_request( # py _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-06-15")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -167,7 +167,7 @@ def build_azure_communication_call_automation_service_connect_request( # pylint _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-06-15")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -194,7 +194,7 @@ def build_call_connection_get_call_request(call_connection_id: str, **kwargs: An _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-06-15")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -220,7 +220,7 @@ def build_call_connection_hangup_call_request( # pylint: disable=name-too-long _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-06-15")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -246,7 +246,7 @@ def build_call_connection_terminate_call_request( # pylint: disable=name-too-lo _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-06-15")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -279,7 +279,7 @@ def build_call_connection_transfer_to_participant_request( # pylint: disable=na _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-06-15")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -313,7 +313,7 @@ def build_call_connection_get_participants_request( # pylint: disable=name-too- _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-06-15")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -340,7 +340,7 @@ def build_call_connection_add_participant_request( # pylint: disable=name-too-l _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-06-15")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -375,7 +375,7 @@ def build_call_connection_remove_participant_request( # pylint: disable=name-to _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-06-15")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -408,7 +408,7 @@ def build_call_connection_mute_request(call_connection_id: str, **kwargs: Any) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-06-15")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -436,16 +436,18 @@ def build_call_connection_mute_request(call_connection_id: str, **kwargs: Any) - return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) -def build_call_connection_unmute_request(call_connection_id: str, **kwargs: Any) -> HttpRequest: +def build_call_connection_cancel_add_participant_request( # pylint: disable=name-too-long + call_connection_id: str, **kwargs: Any +) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-06-15")) accept = _headers.pop("Accept", "application/json") # Construct URL - _url = "/calling/callConnections/{callConnectionId}/participants:unmute" + _url = "/calling/callConnections/{callConnectionId}/participants:cancelAddParticipant" path_format_arguments = { "callConnectionId": _SERIALIZER.url("call_connection_id", call_connection_id, "str"), } @@ -469,20 +471,20 @@ def build_call_connection_unmute_request(call_connection_id: str, **kwargs: Any) return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) -def build_call_connection_cancel_add_participant_request( # pylint: disable=name-too-long - call_connection_id: str, **kwargs: Any +def build_call_connection_get_participant_request( # pylint: disable=name-too-long + call_connection_id: str, participant_raw_id: str, **kwargs: Any ) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-06-15")) accept = _headers.pop("Accept", "application/json") # Construct URL - _url = "/calling/callConnections/{callConnectionId}/participants:cancelAddParticipant" + _url = "/calling/callConnections/{callConnectionId}/participants/{participantRawId}" path_format_arguments = { "callConnectionId": _SERIALIZER.url("call_connection_id", call_connection_id, "str"), + "participantRawId": _SERIALIZER.url("participant_raw_id", participant_raw_id, "str"), } _url: str = _url.format(**path_format_arguments) # type: ignore @@ -491,31 +493,21 @@ def build_call_connection_cancel_add_participant_request( # pylint: disable=nam _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - if "Repeatability-Request-ID" not in _headers: - _headers["Repeatability-Request-ID"] = str(uuid.uuid4()) - if "Repeatability-First-Sent" not in _headers: - _headers["Repeatability-First-Sent"] = _SERIALIZER.serialize_data( - datetime.datetime.now(datetime.timezone.utc), "rfc-1123" - ) - if content_type is not None: - _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) -def build_call_connection_move_participants_request( # pylint: disable=name-too-long - call_connection_id: str, **kwargs: Any -) -> HttpRequest: +def build_call_media_play_request(call_connection_id: str, **kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-06-15")) accept = _headers.pop("Accept", "application/json") # Construct URL - _url = "/calling/callConnections/{callConnectionId}/participants:moveHere" + _url = "/calling/callConnections/{callConnectionId}:play" path_format_arguments = { "callConnectionId": _SERIALIZER.url("call_connection_id", call_connection_id, "str"), } @@ -526,12 +518,6 @@ def build_call_connection_move_participants_request( # pylint: disable=name-too _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - if "Repeatability-Request-ID" not in _headers: - _headers["Repeatability-Request-ID"] = str(uuid.uuid4()) - if "Repeatability-First-Sent" not in _headers: - _headers["Repeatability-First-Sent"] = _SERIALIZER.serialize_data( - datetime.datetime.now(datetime.timezone.utc), "rfc-1123" - ) if content_type is not None: _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") @@ -539,43 +525,18 @@ def build_call_connection_move_participants_request( # pylint: disable=name-too return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) -def build_call_connection_get_participant_request( # pylint: disable=name-too-long - call_connection_id: str, participant_raw_id: str, **kwargs: Any +def build_call_media_start_transcription_request( # pylint: disable=name-too-long + call_connection_id: str, **kwargs: Any ) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = "/calling/callConnections/{callConnectionId}/participants/{participantRawId}" - path_format_arguments = { - "callConnectionId": _SERIALIZER.url("call_connection_id", call_connection_id, "str"), - "participantRawId": _SERIALIZER.url("participant_raw_id", participant_raw_id, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_call_media_play_request(call_connection_id: str, **kwargs: Any) -> HttpRequest: - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-06-15")) accept = _headers.pop("Accept", "application/json") # Construct URL - _url = "/calling/callConnections/{callConnectionId}:play" + _url = "/calling/callConnections/{callConnectionId}:startTranscription" path_format_arguments = { "callConnectionId": _SERIALIZER.url("call_connection_id", call_connection_id, "str"), } @@ -593,18 +554,18 @@ def build_call_media_play_request(call_connection_id: str, **kwargs: Any) -> Htt return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) -def build_call_media_start_transcription_request( # pylint: disable=name-too-long +def build_call_media_stop_transcription_request( # pylint: disable=name-too-long call_connection_id: str, **kwargs: Any ) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-06-15")) accept = _headers.pop("Accept", "application/json") # Construct URL - _url = "/calling/callConnections/{callConnectionId}:startTranscription" + _url = "/calling/callConnections/{callConnectionId}:stopTranscription" path_format_arguments = { "callConnectionId": _SERIALIZER.url("call_connection_id", call_connection_id, "str"), } @@ -622,18 +583,18 @@ def build_call_media_start_transcription_request( # pylint: disable=name-too-lo return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) -def build_call_media_stop_transcription_request( # pylint: disable=name-too-long +def build_call_media_update_transcription_request( # pylint: disable=name-too-long call_connection_id: str, **kwargs: Any ) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-06-15")) accept = _headers.pop("Accept", "application/json") # Construct URL - _url = "/calling/callConnections/{callConnectionId}:stopTranscription" + _url = "/calling/callConnections/{callConnectionId}:updateTranscription" path_format_arguments = { "callConnectionId": _SERIALIZER.url("call_connection_id", call_connection_id, "str"), } @@ -657,7 +618,7 @@ def build_call_media_cancel_all_media_operations_request( # pylint: disable=nam _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-06-15")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -682,7 +643,7 @@ def build_call_media_recognize_request(call_connection_id: str, **kwargs: Any) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-06-15")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -711,7 +672,7 @@ def build_call_media_start_continuous_dtmf_recognition_request( # pylint: disab _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-06-15")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -740,7 +701,7 @@ def build_call_media_stop_continuous_dtmf_recognition_request( # pylint: disabl _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-06-15")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -767,7 +728,7 @@ def build_call_media_send_dtmf_tones_request(call_connection_id: str, **kwargs: _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-06-15")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -795,41 +756,12 @@ def build_call_media_send_dtmf_tones_request(call_connection_id: str, **kwargs: return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) -def build_call_media_update_transcription_request( # pylint: disable=name-too-long - call_connection_id: str, **kwargs: Any -) -> HttpRequest: - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = "/calling/callConnections/{callConnectionId}:updateTranscription" - path_format_arguments = { - "callConnectionId": _SERIALIZER.url("call_connection_id", call_connection_id, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - if content_type is not None: - _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) - - def build_call_media_hold_request(call_connection_id: str, **kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-06-15")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -856,7 +788,7 @@ def build_call_media_unhold_request(call_connection_id: str, **kwargs: Any) -> H _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-06-15")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -885,7 +817,7 @@ def build_call_media_start_media_streaming_request( # pylint: disable=name-too- _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-06-15")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -914,7 +846,7 @@ def build_call_media_stop_media_streaming_request( # pylint: disable=name-too-l _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-06-15")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -936,126 +868,12 @@ def build_call_media_stop_media_streaming_request( # pylint: disable=name-too-l return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) -def build_call_media_interrupt_audio_and_announce_request( # pylint: disable=name-too-long - call_connection_id: str, **kwargs: Any -) -> HttpRequest: - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = "/calling/callConnections/{callConnectionId}:interruptAudioAndAnnounce" - path_format_arguments = { - "callConnectionId": _SERIALIZER.url("call_connection_id", call_connection_id, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - if content_type is not None: - _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_call_dialog_start_dialog_request(call_connection_id: str, dialog_id: str, **kwargs: Any) -> HttpRequest: - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = "/calling/callConnections/{callConnectionId}/dialogs/{dialogId}" - path_format_arguments = { - "callConnectionId": _SERIALIZER.url("call_connection_id", call_connection_id, "str"), - "dialogId": _SERIALIZER.url("dialog_id", dialog_id, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - if content_type is not None: - _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_call_dialog_stop_dialog_request( - call_connection_id: str, dialog_id: str, *, operation_callback_uri: Optional[str] = None, **kwargs: Any -) -> HttpRequest: - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = "/calling/callConnections/{callConnectionId}/dialogs/{dialogId}" - path_format_arguments = { - "callConnectionId": _SERIALIZER.url("call_connection_id", call_connection_id, "str"), - "dialogId": _SERIALIZER.url("dialog_id", dialog_id, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - if operation_callback_uri is not None: - _params["operationCallbackUri"] = _SERIALIZER.query("operation_callback_uri", operation_callback_uri, "str") - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_call_dialog_update_dialog_request(call_connection_id: str, dialog_id: str, **kwargs: Any) -> HttpRequest: - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = "/calling/callConnections/{callConnectionId}/dialogs/{dialogId}" - path_format_arguments = { - "callConnectionId": _SERIALIZER.url("call_connection_id", call_connection_id, "str"), - "dialogId": _SERIALIZER.url("dialog_id", dialog_id, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - if content_type is not None: - _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="PATCH", url=_url, params=_params, headers=_headers, **kwargs) - - def build_call_recording_start_recording_request(**kwargs: Any) -> HttpRequest: # pylint: disable=name-too-long _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-06-15")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1084,7 +902,7 @@ def build_call_recording_get_recording_properties_request( # pylint: disable=na _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-06-15")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1110,7 +928,7 @@ def build_call_recording_stop_recording_request( # pylint: disable=name-too-lon _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-06-15")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1136,7 +954,7 @@ def build_call_recording_pause_recording_request( # pylint: disable=name-too-lo _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-06-15")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1162,7 +980,7 @@ def build_call_recording_resume_recording_request( # pylint: disable=name-too-l _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-06-15")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1182,32 +1000,6 @@ def build_call_recording_resume_recording_request( # pylint: disable=name-too-l return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) -def build_call_recording_get_recording_result_request( # pylint: disable=name-too-long - recording_id: str, **kwargs: Any -) -> HttpRequest: - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = "/calling/recordings/{recordingId}/result" - path_format_arguments = { - "recordingId": _SERIALIZER.url("recording_id", recording_id, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - - class AzureCommunicationCallAutomationServiceOperationsMixin( # pylint: disable=name-too-long ClientMixinABC[PipelineClient[HttpRequest, HttpResponse], AzureCommunicationCallAutomationServiceConfiguration] ): @@ -2155,7 +1947,7 @@ def add_participant( :param call_connection_id: The call connection Id. Required. :type call_connection_id: str - :param add_participant_request: The add participants request. Required. + :param add_participant_request: Required. :type add_participant_request: ~azure.communication.callautomation.models.AddParticipantRequest :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". @@ -2180,7 +1972,7 @@ def add_participant( :param call_connection_id: The call connection Id. Required. :type call_connection_id: str - :param add_participant_request: The add participants request. Required. + :param add_participant_request: Required. :type add_participant_request: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". @@ -2203,8 +1995,8 @@ def add_participant( :param call_connection_id: The call connection Id. Required. :type call_connection_id: str - :param add_participant_request: The add participants request. Is either a AddParticipantRequest - type or a IO[bytes] type. Required. + :param add_participant_request: Is either a AddParticipantRequest type or a IO[bytes] type. + Required. :type add_participant_request: ~azure.communication.callautomation.models.AddParticipantRequest or IO[bytes] :return: AddParticipantResponse @@ -2521,75 +2313,75 @@ def mute( return deserialized # type: ignore @overload - def unmute( + def cancel_add_participant( self, call_connection_id: str, - unmute_participants_request: _models.UnmuteParticipantsRequest, + cancel_add_participant_request: _models.CancelAddParticipantRequest, *, content_type: str = "application/json", **kwargs: Any, - ) -> _models.UnmuteParticipantsResponse: - """Unmute participants from the call using identifier. + ) -> _models.CancelAddParticipantResponse: + """Cancel add participant operation. - Unmute participants from the call using identifier. + Cancel add participant operation. - :param call_connection_id: The call connection id. Required. + :param call_connection_id: The call connection Id. Required. :type call_connection_id: str - :param unmute_participants_request: The participants to be unmuted from the call. Required. - :type unmute_participants_request: - ~azure.communication.callautomation.models.UnmuteParticipantsRequest + :param cancel_add_participant_request: Cancellation request. Required. + :type cancel_add_participant_request: + ~azure.communication.callautomation.models.CancelAddParticipantRequest :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :return: UnmuteParticipantsResponse - :rtype: ~azure.communication.callautomation.models.UnmuteParticipantsResponse + :return: CancelAddParticipantResponse + :rtype: ~azure.communication.callautomation.models.CancelAddParticipantResponse :raises ~azure.core.exceptions.HttpResponseError: """ @overload - def unmute( + def cancel_add_participant( self, call_connection_id: str, - unmute_participants_request: IO[bytes], + cancel_add_participant_request: IO[bytes], *, content_type: str = "application/json", **kwargs: Any, - ) -> _models.UnmuteParticipantsResponse: - """Unmute participants from the call using identifier. + ) -> _models.CancelAddParticipantResponse: + """Cancel add participant operation. - Unmute participants from the call using identifier. + Cancel add participant operation. - :param call_connection_id: The call connection id. Required. + :param call_connection_id: The call connection Id. Required. :type call_connection_id: str - :param unmute_participants_request: The participants to be unmuted from the call. Required. - :type unmute_participants_request: IO[bytes] + :param cancel_add_participant_request: Cancellation request. Required. + :type cancel_add_participant_request: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str - :return: UnmuteParticipantsResponse - :rtype: ~azure.communication.callautomation.models.UnmuteParticipantsResponse + :return: CancelAddParticipantResponse + :rtype: ~azure.communication.callautomation.models.CancelAddParticipantResponse :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace - def unmute( + def cancel_add_participant( self, call_connection_id: str, - unmute_participants_request: Union[_models.UnmuteParticipantsRequest, IO[bytes]], + cancel_add_participant_request: Union[_models.CancelAddParticipantRequest, IO[bytes]], **kwargs: Any, - ) -> _models.UnmuteParticipantsResponse: - """Unmute participants from the call using identifier. + ) -> _models.CancelAddParticipantResponse: + """Cancel add participant operation. - Unmute participants from the call using identifier. + Cancel add participant operation. - :param call_connection_id: The call connection id. Required. + :param call_connection_id: The call connection Id. Required. :type call_connection_id: str - :param unmute_participants_request: The participants to be unmuted from the call. Is either a - UnmuteParticipantsRequest type or a IO[bytes] type. Required. - :type unmute_participants_request: - ~azure.communication.callautomation.models.UnmuteParticipantsRequest or IO[bytes] - :return: UnmuteParticipantsResponse - :rtype: ~azure.communication.callautomation.models.UnmuteParticipantsResponse + :param cancel_add_participant_request: Cancellation request. Is either a + CancelAddParticipantRequest type or a IO[bytes] type. Required. + :type cancel_add_participant_request: + ~azure.communication.callautomation.models.CancelAddParticipantRequest or IO[bytes] + :return: CancelAddParticipantResponse + :rtype: ~azure.communication.callautomation.models.CancelAddParticipantResponse :raises ~azure.core.exceptions.HttpResponseError: """ error_map: MutableMapping = { @@ -2604,140 +2396,13 @@ def unmute( _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.UnmuteParticipantsResponse] = kwargs.pop("cls", None) + cls: ClsType[_models.CancelAddParticipantResponse] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(unmute_participants_request, (IOBase, bytes)): - _content = unmute_participants_request - else: - _json = self._serialize.body(unmute_participants_request, "UnmuteParticipantsRequest") - - _request = build_call_connection_unmute_request( - call_connection_id=call_connection_id, - content_type=content_type, - api_version=self._config.api_version, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.endpoint", self._config.endpoint, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _stream = False - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.CommunicationErrorResponse, pipeline_response) - raise HttpResponseError(response=response, model=error) - - deserialized = self._deserialize("UnmuteParticipantsResponse", pipeline_response.http_response) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @overload - def cancel_add_participant( - self, - call_connection_id: str, - cancel_add_participant_request: _models.CancelAddParticipantRequest, - *, - content_type: str = "application/json", - **kwargs: Any, - ) -> _models.CancelAddParticipantResponse: - """Cancel add participant operation. - - Cancel add participant operation. - - :param call_connection_id: The call connection Id. Required. - :type call_connection_id: str - :param cancel_add_participant_request: Cancellation request. Required. - :type cancel_add_participant_request: - ~azure.communication.callautomation.models.CancelAddParticipantRequest - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: CancelAddParticipantResponse - :rtype: ~azure.communication.callautomation.models.CancelAddParticipantResponse - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def cancel_add_participant( - self, - call_connection_id: str, - cancel_add_participant_request: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any, - ) -> _models.CancelAddParticipantResponse: - """Cancel add participant operation. - - Cancel add participant operation. - - :param call_connection_id: The call connection Id. Required. - :type call_connection_id: str - :param cancel_add_participant_request: Cancellation request. Required. - :type cancel_add_participant_request: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: CancelAddParticipantResponse - :rtype: ~azure.communication.callautomation.models.CancelAddParticipantResponse - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace - def cancel_add_participant( - self, - call_connection_id: str, - cancel_add_participant_request: Union[_models.CancelAddParticipantRequest, IO[bytes]], - **kwargs: Any, - ) -> _models.CancelAddParticipantResponse: - """Cancel add participant operation. - - Cancel add participant operation. - - :param call_connection_id: The call connection Id. Required. - :type call_connection_id: str - :param cancel_add_participant_request: Cancellation request. Is either a - CancelAddParticipantRequest type or a IO[bytes] type. Required. - :type cancel_add_participant_request: - ~azure.communication.callautomation.models.CancelAddParticipantRequest or IO[bytes] - :return: CancelAddParticipantResponse - :rtype: ~azure.communication.callautomation.models.CancelAddParticipantResponse - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.CancelAddParticipantResponse] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _json = None - _content = None - if isinstance(cancel_add_participant_request, (IOBase, bytes)): - _content = cancel_add_participant_request + if isinstance(cancel_add_participant_request, (IOBase, bytes)): + _content = cancel_add_participant_request else: _json = self._serialize.body(cancel_add_participant_request, "CancelAddParticipantRequest") @@ -2774,133 +2439,6 @@ def cancel_add_participant( return deserialized # type: ignore - @overload - def move_participants( - self, - call_connection_id: str, - move_participant_request: _models.MoveParticipantsRequest, - *, - content_type: str = "application/json", - **kwargs: Any, - ) -> _models.MoveParticipantsResponse: - """Add a participant to the call. - - Add a participant to the call. - - :param call_connection_id: The call connection Id. Required. - :type call_connection_id: str - :param move_participant_request: The move participants request. Required. - :type move_participant_request: - ~azure.communication.callautomation.models.MoveParticipantsRequest - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: MoveParticipantsResponse - :rtype: ~azure.communication.callautomation.models.MoveParticipantsResponse - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def move_participants( - self, - call_connection_id: str, - move_participant_request: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any, - ) -> _models.MoveParticipantsResponse: - """Add a participant to the call. - - Add a participant to the call. - - :param call_connection_id: The call connection Id. Required. - :type call_connection_id: str - :param move_participant_request: The move participants request. Required. - :type move_participant_request: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: MoveParticipantsResponse - :rtype: ~azure.communication.callautomation.models.MoveParticipantsResponse - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace - def move_participants( - self, - call_connection_id: str, - move_participant_request: Union[_models.MoveParticipantsRequest, IO[bytes]], - **kwargs: Any, - ) -> _models.MoveParticipantsResponse: - """Add a participant to the call. - - Add a participant to the call. - - :param call_connection_id: The call connection Id. Required. - :type call_connection_id: str - :param move_participant_request: The move participants request. Is either a - MoveParticipantsRequest type or a IO[bytes] type. Required. - :type move_participant_request: - ~azure.communication.callautomation.models.MoveParticipantsRequest or IO[bytes] - :return: MoveParticipantsResponse - :rtype: ~azure.communication.callautomation.models.MoveParticipantsResponse - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.MoveParticipantsResponse] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _json = None - _content = None - if isinstance(move_participant_request, (IOBase, bytes)): - _content = move_participant_request - else: - _json = self._serialize.body(move_participant_request, "MoveParticipantsRequest") - - _request = build_call_connection_move_participants_request( - call_connection_id=call_connection_id, - content_type=content_type, - api_version=self._config.api_version, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.endpoint", self._config.endpoint, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _stream = False - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [202]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.CommunicationErrorResponse, pipeline_response) - raise HttpResponseError(response=response, model=error) - - deserialized = self._deserialize("MoveParticipantsResponse", pipeline_response.http_response) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - @distributed_trace def get_participant( self, call_connection_id: str, participant_raw_id: str, **kwargs: Any @@ -3342,35 +2880,158 @@ def stop_transcription( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) # type: ignore - @distributed_trace - def cancel_all_media_operations( # pylint: disable=inconsistent-return-statements - self, call_connection_id: str, **kwargs: Any + @overload + def update_transcription( + self, + call_connection_id: str, + update_transcription_request: _models.UpdateTranscriptionRequest, + *, + content_type: str = "application/json", + **kwargs: Any, ) -> None: - """Cancel all media operations in a call. + """UpdateTranscription Api. - Cancel all media operations in a call. + API to change transcription language. :param call_connection_id: The call connection id. Required. :type call_connection_id: str + :param update_transcription_request: The UpdateTranscription request. Required. + :type update_transcription_request: + ~azure.communication.callautomation.models.UpdateTranscriptionRequest + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str :return: None :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - cls: ClsType[None] = kwargs.pop("cls", None) - - _request = build_call_media_cancel_all_media_operations_request( - call_connection_id=call_connection_id, + @overload + def update_transcription( + self, + call_connection_id: str, + update_transcription_request: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any, + ) -> None: + """UpdateTranscription Api. + + API to change transcription language. + + :param call_connection_id: The call connection id. Required. + :type call_connection_id: str + :param update_transcription_request: The UpdateTranscription request. Required. + :type update_transcription_request: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: None + :rtype: None + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def update_transcription( # pylint: disable=inconsistent-return-statements + self, + call_connection_id: str, + update_transcription_request: Union[_models.UpdateTranscriptionRequest, IO[bytes]], + **kwargs: Any, + ) -> None: + """UpdateTranscription Api. + + API to change transcription language. + + :param call_connection_id: The call connection id. Required. + :type call_connection_id: str + :param update_transcription_request: The UpdateTranscription request. Is either a + UpdateTranscriptionRequest type or a IO[bytes] type. Required. + :type update_transcription_request: + ~azure.communication.callautomation.models.UpdateTranscriptionRequest or IO[bytes] + :return: None + :rtype: None + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[None] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _json = None + _content = None + if isinstance(update_transcription_request, (IOBase, bytes)): + _content = update_transcription_request + else: + _json = self._serialize.body(update_transcription_request, "UpdateTranscriptionRequest") + + _request = build_call_media_update_transcription_request( + call_connection_id=call_connection_id, + content_type=content_type, + api_version=self._config.api_version, + json=_json, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.endpoint", self._config.endpoint, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _stream = False + pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access + _request, stream=_stream, **kwargs + ) + + response = pipeline_response.http_response + + if response.status_code not in [202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.CommunicationErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error) + + if cls: + return cls(pipeline_response, None, {}) # type: ignore + + @distributed_trace + def cancel_all_media_operations( # pylint: disable=inconsistent-return-statements + self, call_connection_id: str, **kwargs: Any + ) -> None: + """Cancel all media operations in a call. + + Cancel all media operations in a call. + + :param call_connection_id: The call connection id. Required. + :type call_connection_id: str + :return: None + :rtype: None + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[None] = kwargs.pop("cls", None) + + _request = build_call_media_cancel_all_media_operations_request( + call_connection_id=call_connection_id, api_version=self._config.api_version, headers=_headers, params=_params, @@ -3886,129 +3547,6 @@ def send_dtmf_tones( return deserialized # type: ignore - @overload - def update_transcription( - self, - call_connection_id: str, - update_transcription_request: _models.UpdateTranscriptionRequest, - *, - content_type: str = "application/json", - **kwargs: Any, - ) -> None: - """UpdateTranscription Api. - - API to change transcription language. - - :param call_connection_id: The call connection id. Required. - :type call_connection_id: str - :param update_transcription_request: The UpdateTranscription request. Required. - :type update_transcription_request: - ~azure.communication.callautomation.models.UpdateTranscriptionRequest - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: None - :rtype: None - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def update_transcription( - self, - call_connection_id: str, - update_transcription_request: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any, - ) -> None: - """UpdateTranscription Api. - - API to change transcription language. - - :param call_connection_id: The call connection id. Required. - :type call_connection_id: str - :param update_transcription_request: The UpdateTranscription request. Required. - :type update_transcription_request: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: None - :rtype: None - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace - def update_transcription( # pylint: disable=inconsistent-return-statements - self, - call_connection_id: str, - update_transcription_request: Union[_models.UpdateTranscriptionRequest, IO[bytes]], - **kwargs: Any, - ) -> None: - """UpdateTranscription Api. - - API to change transcription language. - - :param call_connection_id: The call connection id. Required. - :type call_connection_id: str - :param update_transcription_request: The UpdateTranscription request. Is either a - UpdateTranscriptionRequest type or a IO[bytes] type. Required. - :type update_transcription_request: - ~azure.communication.callautomation.models.UpdateTranscriptionRequest or IO[bytes] - :return: None - :rtype: None - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[None] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _json = None - _content = None - if isinstance(update_transcription_request, (IOBase, bytes)): - _content = update_transcription_request - else: - _json = self._serialize.body(update_transcription_request, "UpdateTranscriptionRequest") - - _request = build_call_media_update_transcription_request( - call_connection_id=call_connection_id, - content_type=content_type, - api_version=self._config.api_version, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.endpoint", self._config.endpoint, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _stream = False - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [202]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.CommunicationErrorResponse, pipeline_response) - raise HttpResponseError(response=response, model=error) - - if cls: - return cls(pipeline_response, None, {}) # type: ignore - @overload def hold( self, @@ -4032,380 +3570,20 @@ def hold( :return: None :rtype: None :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def hold( - self, call_connection_id: str, hold_request: IO[bytes], *, content_type: str = "application/json", **kwargs: Any - ) -> None: - """Hold participant from the call using identifier. - - Hold participant from the call using identifier. - - :param call_connection_id: The call connection id. Required. - :type call_connection_id: str - :param hold_request: The participants to be hold from the call. Required. - :type hold_request: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: None - :rtype: None - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace - def hold( # pylint: disable=inconsistent-return-statements - self, call_connection_id: str, hold_request: Union[_models.HoldRequest, IO[bytes]], **kwargs: Any - ) -> None: - """Hold participant from the call using identifier. - - Hold participant from the call using identifier. - - :param call_connection_id: The call connection id. Required. - :type call_connection_id: str - :param hold_request: The participants to be hold from the call. Is either a HoldRequest type or - a IO[bytes] type. Required. - :type hold_request: ~azure.communication.callautomation.models.HoldRequest or IO[bytes] - :return: None - :rtype: None - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[None] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _json = None - _content = None - if isinstance(hold_request, (IOBase, bytes)): - _content = hold_request - else: - _json = self._serialize.body(hold_request, "HoldRequest") - - _request = build_call_media_hold_request( - call_connection_id=call_connection_id, - content_type=content_type, - api_version=self._config.api_version, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.endpoint", self._config.endpoint, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _stream = False - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.CommunicationErrorResponse, pipeline_response) - raise HttpResponseError(response=response, model=error) - - if cls: - return cls(pipeline_response, None, {}) # type: ignore - - @overload - def unhold( - self, - call_connection_id: str, - unhold_request: _models.UnholdRequest, - *, - content_type: str = "application/json", - **kwargs: Any, - ) -> None: - """Unhold participants from the call using identifier. - - Unhold participants from the call using identifier. - - :param call_connection_id: The call connection id. Required. - :type call_connection_id: str - :param unhold_request: The participants to be hold from the call. Required. - :type unhold_request: ~azure.communication.callautomation.models.UnholdRequest - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: None - :rtype: None - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def unhold( - self, - call_connection_id: str, - unhold_request: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any, - ) -> None: - """Unhold participants from the call using identifier. - - Unhold participants from the call using identifier. - - :param call_connection_id: The call connection id. Required. - :type call_connection_id: str - :param unhold_request: The participants to be hold from the call. Required. - :type unhold_request: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: None - :rtype: None - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace - def unhold( # pylint: disable=inconsistent-return-statements - self, call_connection_id: str, unhold_request: Union[_models.UnholdRequest, IO[bytes]], **kwargs: Any - ) -> None: - """Unhold participants from the call using identifier. - - Unhold participants from the call using identifier. - - :param call_connection_id: The call connection id. Required. - :type call_connection_id: str - :param unhold_request: The participants to be hold from the call. Is either a UnholdRequest - type or a IO[bytes] type. Required. - :type unhold_request: ~azure.communication.callautomation.models.UnholdRequest or IO[bytes] - :return: None - :rtype: None - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[None] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _json = None - _content = None - if isinstance(unhold_request, (IOBase, bytes)): - _content = unhold_request - else: - _json = self._serialize.body(unhold_request, "UnholdRequest") - - _request = build_call_media_unhold_request( - call_connection_id=call_connection_id, - content_type=content_type, - api_version=self._config.api_version, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.endpoint", self._config.endpoint, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _stream = False - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.CommunicationErrorResponse, pipeline_response) - raise HttpResponseError(response=response, model=error) - - if cls: - return cls(pipeline_response, None, {}) # type: ignore - - @overload - def start_media_streaming( - self, - call_connection_id: str, - start_media_streaming_request: _models.StartMediaStreamingRequest, - *, - content_type: str = "application/json", - **kwargs: Any, - ) -> None: - """Starts media streaming in the call. - - Starts media streaming in the call. - - :param call_connection_id: The call connection id. Required. - :type call_connection_id: str - :param start_media_streaming_request: Required. - :type start_media_streaming_request: - ~azure.communication.callautomation.models.StartMediaStreamingRequest - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: None - :rtype: None - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def start_media_streaming( - self, - call_connection_id: str, - start_media_streaming_request: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any, - ) -> None: - """Starts media streaming in the call. - - Starts media streaming in the call. - - :param call_connection_id: The call connection id. Required. - :type call_connection_id: str - :param start_media_streaming_request: Required. - :type start_media_streaming_request: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: None - :rtype: None - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace - def start_media_streaming( # pylint: disable=inconsistent-return-statements - self, - call_connection_id: str, - start_media_streaming_request: Union[_models.StartMediaStreamingRequest, IO[bytes]], - **kwargs: Any, - ) -> None: - """Starts media streaming in the call. - - Starts media streaming in the call. - - :param call_connection_id: The call connection id. Required. - :type call_connection_id: str - :param start_media_streaming_request: Is either a StartMediaStreamingRequest type or a - IO[bytes] type. Required. - :type start_media_streaming_request: - ~azure.communication.callautomation.models.StartMediaStreamingRequest or IO[bytes] - :return: None - :rtype: None - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[None] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _json = None - _content = None - if isinstance(start_media_streaming_request, (IOBase, bytes)): - _content = start_media_streaming_request - else: - _json = self._serialize.body(start_media_streaming_request, "StartMediaStreamingRequest") - - _request = build_call_media_start_media_streaming_request( - call_connection_id=call_connection_id, - content_type=content_type, - api_version=self._config.api_version, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.endpoint", self._config.endpoint, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _stream = False - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [202]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.CommunicationErrorResponse, pipeline_response) - raise HttpResponseError(response=response, model=error) - - if cls: - return cls(pipeline_response, None, {}) # type: ignore - - @overload - def stop_media_streaming( - self, - call_connection_id: str, - stop_media_streaming_request: _models.StopMediaStreamingRequest, - *, - content_type: str = "application/json", - **kwargs: Any, - ) -> None: - """Stops media streaming in the call. - - Stops media streaming in the call. - - :param call_connection_id: The call connection id. Required. - :type call_connection_id: str - :param stop_media_streaming_request: stop media streaming request payload. Required. - :type stop_media_streaming_request: - ~azure.communication.callautomation.models.StopMediaStreamingRequest - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: None - :rtype: None - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def stop_media_streaming( - self, - call_connection_id: str, - stop_media_streaming_request: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any, + """ + + @overload + def hold( + self, call_connection_id: str, hold_request: IO[bytes], *, content_type: str = "application/json", **kwargs: Any ) -> None: - """Stops media streaming in the call. + """Hold participant from the call using identifier. - Stops media streaming in the call. + Hold participant from the call using identifier. :param call_connection_id: The call connection id. Required. :type call_connection_id: str - :param stop_media_streaming_request: stop media streaming request payload. Required. - :type stop_media_streaming_request: IO[bytes] + :param hold_request: The participants to be hold from the call. Required. + :type hold_request: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str @@ -4415,22 +3593,18 @@ def stop_media_streaming( """ @distributed_trace - def stop_media_streaming( # pylint: disable=inconsistent-return-statements - self, - call_connection_id: str, - stop_media_streaming_request: Union[_models.StopMediaStreamingRequest, IO[bytes]], - **kwargs: Any, + def hold( # pylint: disable=inconsistent-return-statements + self, call_connection_id: str, hold_request: Union[_models.HoldRequest, IO[bytes]], **kwargs: Any ) -> None: - """Stops media streaming in the call. + """Hold participant from the call using identifier. - Stops media streaming in the call. + Hold participant from the call using identifier. :param call_connection_id: The call connection id. Required. :type call_connection_id: str - :param stop_media_streaming_request: stop media streaming request payload. Is either a - StopMediaStreamingRequest type or a IO[bytes] type. Required. - :type stop_media_streaming_request: - ~azure.communication.callautomation.models.StopMediaStreamingRequest or IO[bytes] + :param hold_request: The participants to be hold from the call. Is either a HoldRequest type or + a IO[bytes] type. Required. + :type hold_request: ~azure.communication.callautomation.models.HoldRequest or IO[bytes] :return: None :rtype: None :raises ~azure.core.exceptions.HttpResponseError: @@ -4452,12 +3626,12 @@ def stop_media_streaming( # pylint: disable=inconsistent-return-statements content_type = content_type or "application/json" _json = None _content = None - if isinstance(stop_media_streaming_request, (IOBase, bytes)): - _content = stop_media_streaming_request + if isinstance(hold_request, (IOBase, bytes)): + _content = hold_request else: - _json = self._serialize.body(stop_media_streaming_request, "StopMediaStreamingRequest") + _json = self._serialize.body(hold_request, "HoldRequest") - _request = build_call_media_stop_media_streaming_request( + _request = build_call_media_hold_request( call_connection_id=call_connection_id, content_type=content_type, api_version=self._config.api_version, @@ -4478,7 +3652,7 @@ def stop_media_streaming( # pylint: disable=inconsistent-return-statements response = pipeline_response.http_response - if response.status_code not in [202]: + if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize.failsafe_deserialize(_models.CommunicationErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error) @@ -4487,23 +3661,22 @@ def stop_media_streaming( # pylint: disable=inconsistent-return-statements return cls(pipeline_response, None, {}) # type: ignore @overload - def interrupt_audio_and_announce( + def unhold( self, call_connection_id: str, - interrupt_request: _models.InterruptAudioAndAnnounceRequest, + unhold_request: _models.UnholdRequest, *, content_type: str = "application/json", **kwargs: Any, ) -> None: - """Plays audio to participants in the call. + """Unhold participants from the call using identifier. - Plays audio to participants in the call. + Unhold participants from the call using identifier. :param call_connection_id: The call connection id. Required. :type call_connection_id: str - :param interrupt_request: play request payload. Required. - :type interrupt_request: - ~azure.communication.callautomation.models.InterruptAudioAndAnnounceRequest + :param unhold_request: The participants to be hold from the call. Required. + :type unhold_request: ~azure.communication.callautomation.models.UnholdRequest :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -4513,22 +3686,22 @@ def interrupt_audio_and_announce( """ @overload - def interrupt_audio_and_announce( + def unhold( self, call_connection_id: str, - interrupt_request: IO[bytes], + unhold_request: IO[bytes], *, content_type: str = "application/json", **kwargs: Any, ) -> None: - """Plays audio to participants in the call. + """Unhold participants from the call using identifier. - Plays audio to participants in the call. + Unhold participants from the call using identifier. :param call_connection_id: The call connection id. Required. :type call_connection_id: str - :param interrupt_request: play request payload. Required. - :type interrupt_request: IO[bytes] + :param unhold_request: The participants to be hold from the call. Required. + :type unhold_request: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str @@ -4538,22 +3711,18 @@ def interrupt_audio_and_announce( """ @distributed_trace - def interrupt_audio_and_announce( # pylint: disable=inconsistent-return-statements - self, - call_connection_id: str, - interrupt_request: Union[_models.InterruptAudioAndAnnounceRequest, IO[bytes]], - **kwargs: Any, + def unhold( # pylint: disable=inconsistent-return-statements + self, call_connection_id: str, unhold_request: Union[_models.UnholdRequest, IO[bytes]], **kwargs: Any ) -> None: - """Plays audio to participants in the call. + """Unhold participants from the call using identifier. - Plays audio to participants in the call. + Unhold participants from the call using identifier. :param call_connection_id: The call connection id. Required. :type call_connection_id: str - :param interrupt_request: play request payload. Is either a InterruptAudioAndAnnounceRequest + :param unhold_request: The participants to be hold from the call. Is either a UnholdRequest type or a IO[bytes] type. Required. - :type interrupt_request: - ~azure.communication.callautomation.models.InterruptAudioAndAnnounceRequest or IO[bytes] + :type unhold_request: ~azure.communication.callautomation.models.UnholdRequest or IO[bytes] :return: None :rtype: None :raises ~azure.core.exceptions.HttpResponseError: @@ -4575,12 +3744,12 @@ def interrupt_audio_and_announce( # pylint: disable=inconsistent-return-stateme content_type = content_type or "application/json" _json = None _content = None - if isinstance(interrupt_request, (IOBase, bytes)): - _content = interrupt_request + if isinstance(unhold_request, (IOBase, bytes)): + _content = unhold_request else: - _json = self._serialize.body(interrupt_request, "InterruptAudioAndAnnounceRequest") + _json = self._serialize.body(unhold_request, "UnholdRequest") - _request = build_call_media_interrupt_audio_and_announce_request( + _request = build_call_media_unhold_request( call_connection_id=call_connection_id, content_type=content_type, api_version=self._config.api_version, @@ -4601,7 +3770,7 @@ def interrupt_audio_and_announce( # pylint: disable=inconsistent-return-stateme response = pipeline_response.http_response - if response.status_code not in [202]: + if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize.failsafe_deserialize(_models.CommunicationErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error) @@ -4609,106 +3778,76 @@ def interrupt_audio_and_announce( # pylint: disable=inconsistent-return-stateme if cls: return cls(pipeline_response, None, {}) # type: ignore - -class CallDialogOperations: - """ - .. warning:: - **DO NOT** instantiate this class directly. - - Instead, you should access the following operations through - :class:`~azure.communication.callautomation.AzureCommunicationCallAutomationService`'s - :attr:`call_dialog` attribute. - """ - - models = _models - - def __init__(self, *args, **kwargs) -> None: - input_args = list(args) - self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: AzureCommunicationCallAutomationServiceConfiguration = ( - input_args.pop(0) if input_args else kwargs.pop("config") - ) - self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") - self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @overload - def start_dialog( + def start_media_streaming( self, call_connection_id: str, - dialog_id: str, - start_dialog_request: _models.StartDialogRequest, + start_media_streaming_request: _models.StartMediaStreamingRequest, *, content_type: str = "application/json", **kwargs: Any, - ) -> _models.DialogStateResponse: - """Start a dialog targeting a particular participant on the call. + ) -> None: + """Starts media streaming in the call. - Start a dialog. + Starts media streaming in the call. :param call_connection_id: The call connection id. Required. :type call_connection_id: str - :param dialog_id: The dialog id. Required. - :type dialog_id: str - :param start_dialog_request: The start dialog request. Required. - :type start_dialog_request: ~azure.communication.callautomation.models.StartDialogRequest + :param start_media_streaming_request: Required. + :type start_media_streaming_request: + ~azure.communication.callautomation.models.StartMediaStreamingRequest :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :return: DialogStateResponse - :rtype: ~azure.communication.callautomation.models.DialogStateResponse + :return: None + :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ @overload - def start_dialog( + def start_media_streaming( self, call_connection_id: str, - dialog_id: str, - start_dialog_request: IO[bytes], + start_media_streaming_request: IO[bytes], *, content_type: str = "application/json", **kwargs: Any, - ) -> _models.DialogStateResponse: - """Start a dialog targeting a particular participant on the call. + ) -> None: + """Starts media streaming in the call. - Start a dialog. + Starts media streaming in the call. :param call_connection_id: The call connection id. Required. :type call_connection_id: str - :param dialog_id: The dialog id. Required. - :type dialog_id: str - :param start_dialog_request: The start dialog request. Required. - :type start_dialog_request: IO[bytes] + :param start_media_streaming_request: Required. + :type start_media_streaming_request: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str - :return: DialogStateResponse - :rtype: ~azure.communication.callautomation.models.DialogStateResponse + :return: None + :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace - def start_dialog( + def start_media_streaming( # pylint: disable=inconsistent-return-statements self, call_connection_id: str, - dialog_id: str, - start_dialog_request: Union[_models.StartDialogRequest, IO[bytes]], + start_media_streaming_request: Union[_models.StartMediaStreamingRequest, IO[bytes]], **kwargs: Any, - ) -> _models.DialogStateResponse: - """Start a dialog targeting a particular participant on the call. + ) -> None: + """Starts media streaming in the call. - Start a dialog. + Starts media streaming in the call. :param call_connection_id: The call connection id. Required. :type call_connection_id: str - :param dialog_id: The dialog id. Required. - :type dialog_id: str - :param start_dialog_request: The start dialog request. Is either a StartDialogRequest type or a + :param start_media_streaming_request: Is either a StartMediaStreamingRequest type or a IO[bytes] type. Required. - :type start_dialog_request: ~azure.communication.callautomation.models.StartDialogRequest or - IO[bytes] - :return: DialogStateResponse - :rtype: ~azure.communication.callautomation.models.DialogStateResponse + :type start_media_streaming_request: + ~azure.communication.callautomation.models.StartMediaStreamingRequest or IO[bytes] + :return: None + :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ error_map: MutableMapping = { @@ -4723,19 +3862,18 @@ def start_dialog( _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.DialogStateResponse] = kwargs.pop("cls", None) + cls: ClsType[None] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(start_dialog_request, (IOBase, bytes)): - _content = start_dialog_request + if isinstance(start_media_streaming_request, (IOBase, bytes)): + _content = start_media_streaming_request else: - _json = self._serialize.body(start_dialog_request, "StartDialogRequest") + _json = self._serialize.body(start_media_streaming_request, "StartMediaStreamingRequest") - _request = build_call_dialog_start_dialog_request( + _request = build_call_media_start_media_streaming_request( call_connection_id=call_connection_id, - dialog_id=dialog_id, content_type=content_type, api_version=self._config.api_version, json=_json, @@ -4755,68 +3893,7 @@ def start_dialog( response = pipeline_response.http_response - if response.status_code not in [201]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.CommunicationErrorResponse, pipeline_response) - raise HttpResponseError(response=response, model=error) - - deserialized = self._deserialize("DialogStateResponse", pipeline_response.http_response) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @distributed_trace - def stop_dialog( # pylint: disable=inconsistent-return-statements - self, call_connection_id: str, dialog_id: str, *, operation_callback_uri: Optional[str] = None, **kwargs: Any - ) -> None: - """stop_dialog. - - :param call_connection_id: Required. - :type call_connection_id: str - :param dialog_id: Required. - :type dialog_id: str - :keyword operation_callback_uri: Default value is None. - :paramtype operation_callback_uri: str - :return: None - :rtype: None - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[None] = kwargs.pop("cls", None) - - _request = build_call_dialog_stop_dialog_request( - call_connection_id=call_connection_id, - dialog_id=dialog_id, - operation_callback_uri=operation_callback_uri, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.endpoint", self._config.endpoint, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _stream = False - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [204]: + if response.status_code not in [202]: map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize.failsafe_deserialize(_models.CommunicationErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error) @@ -4825,25 +3902,23 @@ def stop_dialog( # pylint: disable=inconsistent-return-statements return cls(pipeline_response, None, {}) # type: ignore @overload - def update_dialog( + def stop_media_streaming( self, call_connection_id: str, - dialog_id: str, - update_dialog_request: _models.UpdateDialogRequest, + stop_media_streaming_request: _models.StopMediaStreamingRequest, *, content_type: str = "application/json", **kwargs: Any, ) -> None: - """Update an ongoing dialog in a call. + """Stops media streaming in the call. - Update a dialog. + Stops media streaming in the call. :param call_connection_id: The call connection id. Required. :type call_connection_id: str - :param dialog_id: The dialog id. Required. - :type dialog_id: str - :param update_dialog_request: The update dialog request. Required. - :type update_dialog_request: ~azure.communication.callautomation.models.UpdateDialogRequest + :param stop_media_streaming_request: stop media streaming request payload. Required. + :type stop_media_streaming_request: + ~azure.communication.callautomation.models.StopMediaStreamingRequest :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -4853,25 +3928,22 @@ def update_dialog( """ @overload - def update_dialog( + def stop_media_streaming( self, call_connection_id: str, - dialog_id: str, - update_dialog_request: IO[bytes], + stop_media_streaming_request: IO[bytes], *, content_type: str = "application/json", **kwargs: Any, ) -> None: - """Update an ongoing dialog in a call. + """Stops media streaming in the call. - Update a dialog. + Stops media streaming in the call. :param call_connection_id: The call connection id. Required. :type call_connection_id: str - :param dialog_id: The dialog id. Required. - :type dialog_id: str - :param update_dialog_request: The update dialog request. Required. - :type update_dialog_request: IO[bytes] + :param stop_media_streaming_request: stop media streaming request payload. Required. + :type stop_media_streaming_request: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str @@ -4881,25 +3953,22 @@ def update_dialog( """ @distributed_trace - def update_dialog( # pylint: disable=inconsistent-return-statements + def stop_media_streaming( # pylint: disable=inconsistent-return-statements self, call_connection_id: str, - dialog_id: str, - update_dialog_request: Union[_models.UpdateDialogRequest, IO[bytes]], + stop_media_streaming_request: Union[_models.StopMediaStreamingRequest, IO[bytes]], **kwargs: Any, ) -> None: - """Update an ongoing dialog in a call. + """Stops media streaming in the call. - Update a dialog. + Stops media streaming in the call. :param call_connection_id: The call connection id. Required. :type call_connection_id: str - :param dialog_id: The dialog id. Required. - :type dialog_id: str - :param update_dialog_request: The update dialog request. Is either a UpdateDialogRequest type - or a IO[bytes] type. Required. - :type update_dialog_request: ~azure.communication.callautomation.models.UpdateDialogRequest or - IO[bytes] + :param stop_media_streaming_request: stop media streaming request payload. Is either a + StopMediaStreamingRequest type or a IO[bytes] type. Required. + :type stop_media_streaming_request: + ~azure.communication.callautomation.models.StopMediaStreamingRequest or IO[bytes] :return: None :rtype: None :raises ~azure.core.exceptions.HttpResponseError: @@ -4921,14 +3990,13 @@ def update_dialog( # pylint: disable=inconsistent-return-statements content_type = content_type or "application/json" _json = None _content = None - if isinstance(update_dialog_request, (IOBase, bytes)): - _content = update_dialog_request + if isinstance(stop_media_streaming_request, (IOBase, bytes)): + _content = stop_media_streaming_request else: - _json = self._serialize.body(update_dialog_request, "UpdateDialogRequest") + _json = self._serialize.body(stop_media_streaming_request, "StopMediaStreamingRequest") - _request = build_call_dialog_update_dialog_request( + _request = build_call_media_stop_media_streaming_request( call_connection_id=call_connection_id, - dialog_id=dialog_id, content_type=content_type, api_version=self._config.api_version, json=_json, @@ -4948,7 +4016,7 @@ def update_dialog( # pylint: disable=inconsistent-return-statements response = pipeline_response.http_response - if response.status_code not in [200]: + if response.status_code not in [202]: map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize.failsafe_deserialize(_models.CommunicationErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error) @@ -5302,58 +4370,3 @@ def resume_recording( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) # type: ignore - - @distributed_trace - def get_recording_result(self, recording_id: str, **kwargs: Any) -> _models.RecordingResultResponse: - """Get recording result. This includes the download URLs for the recording chunks. - - Get recording result. This includes the download URLs for the recording chunks. - - :param recording_id: The recording id. Required. - :type recording_id: str - :return: RecordingResultResponse - :rtype: ~azure.communication.callautomation.models.RecordingResultResponse - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[_models.RecordingResultResponse] = kwargs.pop("cls", None) - - _request = build_call_recording_get_recording_result_request( - recording_id=recording_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.endpoint", self._config.endpoint, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _stream = False - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.CommunicationErrorResponse, pipeline_response) - raise HttpResponseError(response=response, model=error) - - deserialized = self._deserialize("RecordingResultResponse", pipeline_response.http_response) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore diff --git a/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_models.py b/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_models.py index f6ca3e671e76..9da1c67c64b9 100644 --- a/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_models.py +++ b/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_models.py @@ -7,8 +7,8 @@ from typing_extensions import Literal from ._generated.models import ( CallLocator, - MediaStreamingOptions as MediaStreamingOptionsRest, - TranscriptionOptions as TranscriptionOptionsRest, + WebSocketMediaStreamingOptions as WebSocketMediaStreamingOptionsRest, + WebSocketTranscriptionOptions as WebSocketTranscriptionOptionsRest, FileSource as FileSourceInternal, TextSource as TextSourceInternal, SsmlSource as SsmlSourceInternal, @@ -35,12 +35,11 @@ if TYPE_CHECKING: from ._generated.models._enums import ( MediaStreamingSubscriptionState, - MediaStreamingTransportType, + StreamingTransportType, MediaStreamingContentType, MediaStreamingAudioChannelType, TranscriptionSubscriptionState, TranscriptionResultType, - TranscriptionTransportType, CallConnectionState, RecordingState, RecordingKind, @@ -58,7 +57,6 @@ MuteParticipantsResult as MuteParticipantsResultRest, SendDtmfTonesResult as SendDtmfTonesResultRest, CancelAddParticipantResponse as CancelAddParticipantResultRest, - MoveParticipantsResponse as MoveParticipantsResponseRest, ) @@ -361,7 +359,7 @@ class MediaStreamingOptions: :param transport_url: Transport URL for media streaming. :type transport_url: str :param transport_type: The type of transport to be used for media streaming. - :type transport_type: str or ~azure.communication.callautomation.MediaStreamingTransportType + :type transport_type: str or ~azure.communication.callautomation.StreamingTransport :param content_type: Content type to stream, eg. audio, audio/video. :type content_type: str or ~azure.communication.callautomation.MediaStreamingContentType :param audio_channel_type: Audio channel type to stream, eg. unmixed audio, mixed audio. @@ -377,7 +375,7 @@ class MediaStreamingOptions: transport_url: str """Transport URL for media streaming.""" - transport_type: Union[str, "MediaStreamingTransportType"] + transport_type: Union[str, "StreamingTransportType"] """The type of transport to be used for media streaming.""" content_type: Union[str, "MediaStreamingContentType"] """Content type to stream, eg. audio, audio/video.""" @@ -390,16 +388,20 @@ class MediaStreamingOptions: """A value indicating whether bidirectional streaming is enabled""" audio_format: Optional[Union[str, 'AudioFormat']] = None """Specifies the audio format used for encoding.""" + enable_dtmf_tones: Optional[bool] = None + """A value that indicates whether to stream the DTMF tones.""" def __init__( self, + *, transport_url: str, - transport_type: Union[str, 'MediaStreamingTransportType'], + transport_type: Union[str, 'StreamingTransportType'], content_type: Union[str, 'MediaStreamingContentType'], audio_channel_type: Union[str, 'MediaStreamingAudioChannelType'], start_media_streaming: Optional[bool] = None, enable_bidirectional: Optional[bool] = None, audio_format: Optional[Union[str, 'AudioFormat']] = None, + enable_dtmf_tones: Optional[bool] = None, ): self.transport_url = transport_url self.transport_type = transport_type @@ -408,16 +410,18 @@ def __init__( self.start_media_streaming = start_media_streaming self.enable_bidirectional = enable_bidirectional self.audio_format = audio_format + self.enable_dtmf_tones = enable_dtmf_tones - def to_generated(self): - return MediaStreamingOptionsRest( + def _to_generated(self): + return WebSocketMediaStreamingOptionsRest( transport_url=self.transport_url, transport_type=self.transport_type, content_type=self.content_type, audio_channel_type=self.audio_channel_type, start_media_streaming=self.start_media_streaming, enable_bidirectional = self.enable_bidirectional, - audio_format=self.audio_format + audio_format=self.audio_format, + enable_dtmf_tones=self.enable_dtmf_tones, ) class TranscriptionOptions: @@ -427,7 +431,7 @@ class TranscriptionOptions: :type transport_url: str :param transport_type: The type of transport to be used for live transcription, eg. Websocket. Required. "websocket" - :type transport_type: str or ~azure.communication.callautomation.TranscriptionTransportType + :type transport_type: str or ~azure.communication.callautomation.StreamingTransportType :param locale: Defines the locale for the data e.g en-CA, en-AU. Required. :type locale: str :param start_transcription: Determines if the transcription should be started immediately after @@ -441,7 +445,7 @@ class TranscriptionOptions: transport_url: str """Transport URL for live transcription.""" - transport_type: Union[str, "TranscriptionTransportType"] + transport_type: Union[str, "StreamingTransportType"] """The type of transport to be used for live transcription.""" locale: str """Defines the locale for the data.""" @@ -454,8 +458,9 @@ class TranscriptionOptions: def __init__( self, + *, transport_url: str, - transport_type: Union[str, "TranscriptionTransportType"], + transport_type: Union[str, "StreamingTransportType"], locale: str, start_transcription: bool, speech_recognition_model_endpoint_id: Optional[str] = None, @@ -468,8 +473,8 @@ def __init__( self.speech_recognition_model_endpoint_id = speech_recognition_model_endpoint_id self.enable_intermediate_results = enable_intermediate_results - def to_generated(self): - return TranscriptionOptionsRest( + def _to_generated(self): + return WebSocketTranscriptionOptionsRest( transport_url=self.transport_url, transport_type=self.transport_type, locale=self.locale, @@ -549,23 +554,28 @@ class TranscriptionSubscription: """transcription subscription state.""" subscribed_result_types: Optional[List[Union[str, 'TranscriptionResultType']]] """subscribed transcription result types.""" + locale: Optional[str] + """Specifies the locale used for transcription, e.g., en-CA or en-AU.""" def __init__( self, *, id: Optional[str] = None, # pylint: disable=redefined-builtin state: Optional[Union[str, "TranscriptionSubscriptionState"]] = None, - subscribed_result_types: Optional[List[Union[str, "TranscriptionResultType"]]] = None + subscribed_result_types: Optional[List[Union[str, "TranscriptionResultType"]]] = None, + locale: Optional[str] = None, ) -> None: self.id = id self.state = state self.subscribed_result_types = subscribed_result_types + self.locale = locale def _to_generated(self): return TranscriptionSubscriptionInternal( id=self.id, state=self.state , - subscribed_result_types=self.subscribed_result_types + subscribed_result_types=self.subscribed_result_types, + locale=self.locale ) @@ -582,10 +592,6 @@ class CallConnectionProperties: # pylint: disable=too-many-instance-attributes :paramtype call_connection_state: str or ~azure.communication.callautomation.CallConnectionState :keyword callback_url: The callback URL. :paramtype callback_url: str - :keyword media_subscription_id: SubscriptionId for media streaming. - :paramtype media_subscription_id: str - :keyword data_subscription_id: SubscriptionId for transcription. - :paramtype data_subscription_id: str :keyword source_caller_id_number: The source caller Id, a phone number, that's shown to the PSTN participant being invited. @@ -618,10 +624,6 @@ class CallConnectionProperties: # pylint: disable=too-many-instance-attributes """The state of the call.""" callback_url: Optional[str] """The callback URL.""" - media_subscription_id: Optional[str] - """SubscriptionId for media streaming.""" - data_subscription_id: Optional[str] = None - """SubscriptionId for transcription.""" source_caller_id_number: Optional[PhoneNumberIdentifier] """The source caller Id, a phone number, that's shown to the PSTN participant being invited. @@ -649,8 +651,6 @@ def __init__( targets: Optional[List[CommunicationIdentifier]] = None, call_connection_state: Optional[Union[str, "CallConnectionState"]] = None, callback_url: Optional[str] = None, - media_subscription_id: Optional[str] = None, - data_subscription_id: Optional[str] = None, source_caller_id_number: Optional[PhoneNumberIdentifier] = None, source_display_name: Optional[str] = None, source: Optional[CommunicationIdentifier] = None, @@ -665,8 +665,6 @@ def __init__( self.targets = targets self.call_connection_state = call_connection_state self.callback_url = callback_url - self.media_subscription_id = media_subscription_id - self.data_subscription_id = data_subscription_id self.source_caller_id_number = source_caller_id_number self.source_display_name = source_display_name self.source = source @@ -688,8 +686,6 @@ def _from_generated(cls, call_connection_properties_generated: "CallConnectionPr targets=target_models, call_connection_state=call_connection_properties_generated.call_connection_state, callback_url=call_connection_properties_generated.callback_uri, - media_subscription_id=call_connection_properties_generated.media_subscription_id, - data_subscription_id=call_connection_properties_generated.data_subscription_id, source_caller_id_number=deserialize_phone_identifier( call_connection_properties_generated.source_caller_id_number) if call_connection_properties_generated.source_caller_id_number @@ -721,23 +717,33 @@ class RecordingProperties: :paramtype recording_id: str :keyword recording_state: state of ongoing recording. :paramtype recording_state: str or ~azure.communication.callautomation.RecordingState + :keyword recording_kind: kind of the recording. + :paramtype recording_kind: str or ~azure.communication.callautomation.RecordingKind """ recording_id: Optional[str] """Id of this recording operation.""" recording_state: Optional[Union[str, "RecordingState"]] """state of ongoing recording.""" - + recording_kind: Optional[Union[str, 'RecordingKind']] + """kind of the recording.""" def __init__( - self, *, recording_id: Optional[str] = None, recording_state: Optional[Union[str, "RecordingState"]] = None + self, + *, + recording_id: Optional[str] = None, + recording_state: Optional[Union[str,'RecordingState']] = None, + recording_kind: Optional[Union[str, 'RecordingKind']] = None, ): self.recording_id = recording_id self.recording_state = recording_state + self.recording_kind = recording_kind @classmethod - def _from_generated(cls, recording_state_result: "RecordingStateResultRest"): + def _from_generated(cls, recording_state_result: 'RecordingStateResultRest'): return cls( - recording_id=recording_state_result.recording_id, recording_state=recording_state_result.recording_state + recording_id=recording_state_result.recording_id, + recording_state=recording_state_result.recording_state, + recording_kind=recording_state_result.recording_kind, ) @@ -835,50 +841,6 @@ def _from_generated(cls, remove_participant_result_generated: "RemoveParticipant return cls(operation_context=remove_participant_result_generated.operation_context) -class MoveParticipantsResult: - """The response payload for moving participants to the call. - - :keyword participants: List of current participants in the call. - :paramtype participants: list[~azure.communication.callautomation.CallParticipant] - :keyword operation_context: The operation context provided by client. - :paramtype operation_context: str - :keyword from_call: The CallConnectionId for the call you want to move the participant from. - :paramtype from_call: str - """ - - participants: Optional[List[CallParticipant]] - """List of current participants in the call.""" - operation_context: Optional[str] - """The operation context provided by client.""" - from_call: Optional[str] - """The CallConnectionId for the call you want to move the participant from.""" - - def __init__( - self, - *, - participants: Optional[List[CallParticipant]] = None, - operation_context: Optional[str] = None, - from_call: Optional[str] = None, - ) -> None: - self.participants = participants - self.operation_context = operation_context - self.from_call = from_call - - @classmethod - def _from_generated(cls, move_participants_result_generated: "MoveParticipantsResponseRest"): - participants = None - if move_participants_result_generated.participants: - participants = [ - CallParticipant._from_generated(participant) # pylint:disable=protected-access - for participant in move_participants_result_generated.participants - ] - return cls( - participants=participants, - operation_context=move_participants_result_generated.operation_context, - from_call=move_participants_result_generated.from_call, - ) - - class TransferCallResult: """The response payload for transferring the call. diff --git a/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_utils.py b/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_utils.py index 0f89b6f064b6..089469602b8b 100644 --- a/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_utils.py +++ b/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_utils.py @@ -12,6 +12,7 @@ PhoneNumberIdentifier, MicrosoftTeamsUserIdentifier, MicrosoftTeamsAppIdentifier, + TeamsExtensionUserIdentifier, UnknownIdentifier, CommunicationIdentifierKind, ) @@ -228,6 +229,14 @@ def deserialize_identifier(identifier_model: CommunicationIdentifierModel) -> Co app_id=identifier_model.microsoft_teams_app.app_id, cloud=identifier_model.microsoft_teams_app.cloud, ) + if identifier_model.teams_extension_user: + return TeamsExtensionUserIdentifier( + raw_id=raw_id, + user_id=identifier_model.teams_extension_user.user_id, + tenant_id= identifier_model.teams_extension_user.tenant_id, + resource_id=identifier_model.teams_extension_user.resource_id, + cloud=identifier_model.teams_extension_user.cloud, + ) return UnknownIdentifier(raw_id) diff --git a/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_version.py b/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_version.py index e5d68c3e2b12..6d851960b453 100644 --- a/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_version.py +++ b/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_version.py @@ -4,6 +4,6 @@ # license information. # -------------------------------------------------------------------------- -VERSION = "1.5.0b1" +VERSION = "1.5.0" SDK_MONIKER = f"communication-callautomation/{format(VERSION)}" diff --git a/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/aio/_call_automation_client_async.py b/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/aio/_call_automation_client_async.py index 8b3f406d87ec..6a8dc3df4f1f 100644 --- a/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/aio/_call_automation_client_async.py +++ b/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/aio/_call_automation_client_async.py @@ -3,7 +3,7 @@ # Licensed under the MIT License. See License.txt in the project root for # license information. # -------------------------------------------------------------------------- -from typing import List, Union, Optional, TYPE_CHECKING, AsyncIterable, overload, Dict +from typing import List, Union, Optional, TYPE_CHECKING, AsyncIterable, overload from urllib.parse import urlparse import warnings from azure.core.tracing.decorator_async import distributed_trace_async @@ -22,7 +22,6 @@ RejectCallRequest, StartCallRecordingRequest, CallIntelligenceOptions, - CustomCallingContext, ConnectRequest ) from .._models import ( @@ -174,7 +173,6 @@ async def connect_call( *, server_call_id: str, cognitive_services_endpoint: Optional[str] = None, - backup_cognitive_services_endpoint:Optional[str] = None, operation_context: Optional[str] = None, media_streaming: Optional['MediaStreamingOptions'] = None, transcription: Optional['TranscriptionOptions'] = None, @@ -189,9 +187,6 @@ async def connect_call( :keyword cognitive_services_endpoint: The identifier of the Cognitive Service resource assigned to this call. :paramtype cognitive_services_endpoint: str or None - :keyword backup_cognitive_services_endpoint: - The identifier of the Backup Cognitive Service resource assigned to this call. - :paramtype backup_cognitive_services_endpoint: str or None :keyword operation_context: Value that can be used to track the call and its associated events. :paramtype operation_context: str or None :keyword media_streaming: Media Streaming Options. @@ -212,7 +207,6 @@ async def connect_call( *, group_call_id: str, cognitive_services_endpoint: Optional[str] = None, - backup_cognitive_services_endpoint:Optional[str] = None, operation_context: Optional[str] = None, media_streaming: Optional['MediaStreamingOptions'] = None, transcription: Optional['TranscriptionOptions'] = None, @@ -227,9 +221,6 @@ async def connect_call( :keyword cognitive_services_endpoint: The identifier of the Cognitive Service resource assigned to this call. :paramtype cognitive_services_endpoint: str or None - :keyword backup_cognitive_services_endpoint: - The identifier of the Backup Cognitive Service resource assigned to this call. - :paramtype backup_cognitive_services_endpoint: str or None :keyword operation_context: Value that can be used to track the call and its associated events. :paramtype operation_context: str or None :keyword media_streaming: Media Streaming Options. @@ -250,7 +241,6 @@ async def connect_call( *, room_id: str, cognitive_services_endpoint: Optional[str] = None, - backup_cognitive_services_endpoint:Optional[str] = None, operation_context: Optional[str] = None, media_streaming: Optional['MediaStreamingOptions'] = None, transcription: Optional['TranscriptionOptions'] = None, @@ -265,9 +255,6 @@ async def connect_call( :keyword cognitive_services_endpoint: The identifier of the Cognitive Service resource assigned to this call. :paramtype cognitive_services_endpoint: str or None - :keyword backup_cognitive_services_endpoint: - The identifier of the Backup Cognitive Service resource assigned to this call. - :paramtype backup_cognitive_services_endpoint: str or None :keyword operation_context: Value that can be used to track the call and its associated events. :paramtype operation_context: str or None :keyword media_streaming: Media Streaming Options. @@ -289,10 +276,8 @@ async def connect_call( ) -> CallConnectionProperties: cognitive_services_endpoint=kwargs.pop("cognitive_services_endpoint", None) - backup_cognitive_services_endpoint=kwargs.pop("backup_cognitive_services_endpoint", None) call_intelligence_options = CallIntelligenceOptions( - cognitive_services_endpoint=cognitive_services_endpoint, - backup_cognitive_services_endpoint=backup_cognitive_services_endpoint + cognitive_services_endpoint=cognitive_services_endpoint ) if cognitive_services_endpoint else None media_streaming_options : Optional[MediaStreamingOptions] = None transcription_options : Optional[TranscriptionOptions] = None @@ -309,8 +294,8 @@ async def connect_call( callback_uri=callback_url, operation_context=kwargs.pop("operation_context", None), call_intelligence_options=call_intelligence_options, - media_streaming_options=media_streaming_options.to_generated() if media_streaming_options else None, - transcription_options=transcription_options.to_generated() if transcription_options else None + media_streaming_options=media_streaming_options._to_generated() if media_streaming_options else None, # pylint:disable=protected-access + transcription_options=transcription_options._to_generated() if transcription_options else None # pylint:disable=protected-access ) process_repeatability_first_sent(kwargs) @@ -331,12 +316,9 @@ async def create_call( source_display_name: Optional[str] = None, operation_context: Optional[str] = None, cognitive_services_endpoint: Optional[str] = None, - backup_cognitive_services_endpoint:Optional[str] = None, - sip_headers: Optional[Dict[str, str]] = None, - voip_headers: Optional[Dict[str, str]] = None, media_streaming: Optional['MediaStreamingOptions'] = None, transcription: Optional['TranscriptionOptions'] = None, - teams_app_source: Optional['MicrosoftTeamsAppIdentifier'] = None, + teams_app_source: Optional["MicrosoftTeamsAppIdentifier"] = None, **kwargs ) -> CallConnectionProperties: """Create a call connection request to a target identity. @@ -357,23 +339,14 @@ async def create_call( :keyword cognitive_services_endpoint: The identifier of the Cognitive Service resource assigned to this call. :paramtype cognitive_services_endpoint: str or None - :keyword backup_cognitive_services_endpoint: - The identifier of the Backup Cognitive Service resource assigned to this call. - :paramtype backup_cognitive_services_endpoint: str or None - :keyword sip_headers: Sip Headers for PSTN Call - :paramtype sip_headers: Dict[str, str] or None - :keyword voip_headers: Voip Headers for Voip Call - :paramtype voip_headers: Dict[str, str] or None :keyword media_streaming: Media Streaming Options. :paramtype media_streaming: ~azure.communication.callautomation.MediaStreamingOptions or None :keyword transcription: Configuration of live transcription. :paramtype transcription: ~azure.communication.callautomation.TranscriptionOptions or None - :keyword teams_app_source: Overrides default client source by a MicrosoftTeamsAppIdentifier type source. - Required for creating call with Teams resource account ID. - This is per-operation setting and does not change the client's default source. - :paramtype teams_app_source: ~azure.communication.callautomation.MicrosoftTeamsAppIdentifier or None + :keyword teams_app_source: The Microsoft Teams App Identifier. + :paramtype teams_app_source: ~azure.communication.callautomation.MicrosoftTeamsAppIdentifier :return: CallConnectionProperties :rtype: ~azure.communication.callautomation.CallConnectionProperties :raises ~azure.core.exceptions.HttpResponseError: @@ -386,36 +359,29 @@ async def create_call( call_intelligence_options = ( CallIntelligenceOptions( - cognitive_services_endpoint=cognitive_services_endpoint, - backup_cognitive_services_endpoint=backup_cognitive_services_endpoint - if backup_cognitive_services_endpoint else None + cognitive_services_endpoint=cognitive_services_endpoint ) if cognitive_services_endpoint else None ) - user_custom_context = None - if sip_headers or voip_headers: - user_custom_context = CustomCallingContext(voip_headers=voip_headers, sip_headers=sip_headers) try: targets = [serialize_identifier(p) for p in target_participant] except TypeError: targets = [serialize_identifier(target_participant)] - media_config = media_streaming.to_generated() if media_streaming else None - transcription_config = transcription.to_generated() if transcription else None + media_config = media_streaming._to_generated() if media_streaming else None # pylint:disable=protected-access + transcription_config = transcription._to_generated() if transcription else None # pylint:disable=protected-access create_call_request = CreateCallRequest( targets=targets, callback_uri=callback_url, source_caller_id_number=serialize_phone_identifier(source_caller_id_number), source_display_name=source_display_name, source=serialize_communication_user_identifier(self.source), - teams_app_source=serialize_msft_teams_app_identifier(teams_app_source), operation_context=operation_context, media_streaming_options=media_config, transcription_options=transcription_config, - cognitive_services_endpoint=cognitive_services_endpoint, - CustomCallingContext=user_custom_context, call_intelligence_options=call_intelligence_options, + teams_app_source=serialize_msft_teams_app_identifier(teams_app_source), ) process_repeatability_first_sent(kwargs) result = await self._client.create_call(create_call_request=create_call_request, **kwargs) @@ -431,6 +397,7 @@ async def create_group_call( source_display_name: Optional[str] = None, operation_context: Optional[str] = None, cognitive_services_endpoint: Optional[str] = None, + teams_app_source: Optional["MicrosoftTeamsAppIdentifier"] = None, **kwargs, ) -> CallConnectionProperties: """Create a call connection request to a list of multiple target identities. @@ -451,6 +418,8 @@ async def create_group_call( :keyword cognitive_services_endpoint: The identifier of the Cognitive Service resource assigned to this call. :paramtype cognitive_services_endpoint: str + :keyword teams_app_source: The Microsoft Teams App Identifier. + :paramtype teams_app_source: ~azure.communication.callautomation.MicrosoftTeamsAppIdentifier :return: CallConnectionProperties :rtype: ~azure.communication.callautomation.CallConnectionProperties :raises ~azure.core.exceptions.HttpResponseError: @@ -466,6 +435,7 @@ async def create_group_call( source_display_name=source_display_name, operation_context=operation_context, cognitive_services_endpoint=cognitive_services_endpoint, + teams_app_source=teams_app_source, **kwargs, ) @@ -476,12 +446,9 @@ async def answer_call( callback_url: str, *, cognitive_services_endpoint: Optional[str] = None, - backup_cognitive_services_endpoint:Optional[str] = None, operation_context: Optional[str] = None, media_streaming: Optional['MediaStreamingOptions'] = None, transcription: Optional['TranscriptionOptions'] = None, - sip_headers: Optional[Dict[str, str]] = None, - voip_headers: Optional[Dict[str, str]] = None, **kwargs ) -> CallConnectionProperties: """Answer incoming call with Azure Communication Service's IncomingCall event @@ -495,9 +462,6 @@ async def answer_call( :keyword cognitive_services_endpoint: The endpoint url of the Azure Cognitive Services resource attached. :paramtype cognitive_services_endpoint: str - :keyword backup_cognitive_services_endpoint: - The endpoint url of the Azure Backup Cognitive Services resource attached. - :paramtype backup_cognitive_services_endpoint: str :keyword operation_context: The operation context. :paramtype operation_context: str :keyword media_streaming: Media Streaming Options. @@ -506,39 +470,23 @@ async def answer_call( :keyword transcription: Configuration of live transcription. :paramtype transcription: ~azure.communication.callautomation.TranscriptionOptions or None - :keyword sip_headers: Sip Headers for PSTN Call - :paramtype sip_headers: Dict[str, str] or None - :keyword voip_headers: Voip Headers for Voip Call - :paramtype voip_headers: Dict[str, str] or None :return: CallConnectionProperties :rtype: ~azure.communication.callautomation.CallConnectionProperties :raises ~azure.core.exceptions.HttpResponseError: """ - user_custom_context = None - if sip_headers or voip_headers: - user_custom_context = CustomCallingContext( - voip_headers=voip_headers, - sip_headers=sip_headers - ) call_intelligence_options = CallIntelligenceOptions( - cognitive_services_endpoint=cognitive_services_endpoint, - backup_cognitive_services_endpoint=backup_cognitive_services_endpoint - if backup_cognitive_services_endpoint else None + cognitive_services_endpoint=cognitive_services_endpoint ) if cognitive_services_endpoint else None answer_call_request = AnswerCallRequest( incoming_call_context=incoming_call_context, callback_uri=callback_url, - media_streaming_options=media_streaming.to_generated( - ) if media_streaming else None, - transcription_options=transcription.to_generated() - if transcription else None, - cognitive_services_endpoint=cognitive_services_endpoint, + media_streaming_options=media_streaming._to_generated() if media_streaming else None, # pylint:disable=protected-access + transcription_options=transcription._to_generated() if transcription else None, # pylint:disable=protected-access answered_by=serialize_communication_user_identifier(self.source) if self.source else None, call_intelligence_options=call_intelligence_options, - operation_context=operation_context, - custom_calling_context=user_custom_context + operation_context=operation_context ) process_repeatability_first_sent(kwargs) @@ -551,9 +499,6 @@ async def redirect_call( self, incoming_call_context: str, target_participant: "CommunicationIdentifier", - *, - sip_headers: Optional[Dict[str, str]] = None, - voip_headers: Optional[Dict[str, str]] = None, **kwargs, ) -> None: """Redirect incoming call to a specific target. @@ -563,10 +508,6 @@ async def redirect_call( :type incoming_call_context: str :param target_participant: The target identity to redirect the call to. :type target_participant: ~azure.communication.callautomation.CommunicationIdentifier - :keyword sip_headers: Sip Headers for PSTN Call - :paramtype sip_headers: Dict[str, str] or None - :keyword voip_headers: Voip Headers for Voip Call - :paramtype voip_headers: Dict[str, str] or None :return: None :rtype: None :raises ~azure.core.exceptions.HttpResponseError: @@ -576,13 +517,9 @@ async def redirect_call( if isinstance(target_participant, CallInvite): target_participant = target_participant.target - user_custom_context = None - if sip_headers or voip_headers: - user_custom_context = CustomCallingContext(voip_headers=voip_headers, sip_headers=sip_headers) redirect_call_request = RedirectCallRequest( incoming_call_context=incoming_call_context, - target=serialize_identifier(target_participant), - custom_calling_context=user_custom_context, + target=serialize_identifier(target_participant) ) process_repeatability_first_sent(kwargs) @@ -618,7 +555,7 @@ async def reject_call( async def start_recording( self, *, - server_call_id: str, + call_connection_id: str, recording_state_callback_url: Optional[str] = None, recording_content_type: Optional[Union[str, 'RecordingContent']] = None, recording_channel_type: Optional[Union[str, 'RecordingChannel']] = None, @@ -630,9 +567,9 @@ async def start_recording( pause_on_start: Optional[bool] = None, **kwargs, ) -> RecordingProperties: - """Start recording for a ongoing call. Locate the call with call locator. + """Start recording for a ongoing call. Locate the call with call connection id. - :keyword str server_call_id: The server call ID to locate ongoing call. + :keyword str call_connection_id: The call connection ID to locate ongoing call. :keyword recording_state_callback_url: The url to send notifications to. :paramtype recording_state_callback_url: str or None :keyword recording_content_type: The content type of call recording. @@ -669,7 +606,7 @@ async def start_recording( async def start_recording( self, *, - group_call_id: str, + server_call_id: str, recording_state_callback_url: Optional[str] = None, recording_content_type: Optional[Union[str, 'RecordingContent']] = None, recording_channel_type: Optional[Union[str, 'RecordingChannel']] = None, @@ -683,7 +620,7 @@ async def start_recording( ) -> RecordingProperties: """Start recording for a ongoing call. Locate the call with call locator. - :keyword str group_call_id: The group call ID to locate ongoing call. + :keyword str server_call_id: The server call ID to locate ongoing call. :keyword recording_state_callback_url: The url to send notifications to. :paramtype recording_state_callback_url: str or None :keyword recording_content_type: The content type of call recording. @@ -720,7 +657,7 @@ async def start_recording( async def start_recording( self, *, - room_id: str, + group_call_id: str, recording_state_callback_url: Optional[str] = None, recording_content_type: Optional[Union[str, 'RecordingContent']] = None, recording_channel_type: Optional[Union[str, 'RecordingChannel']] = None, @@ -730,11 +667,11 @@ async def start_recording( recording_storage: Optional[Union['AzureCommunicationsRecordingStorage', 'AzureBlobContainerRecordingStorage']] = None, pause_on_start: Optional[bool] = None, - **kwargs + **kwargs, ) -> RecordingProperties: """Start recording for a ongoing call. Locate the call with call locator. - :keyword str room_id: The room ID to locate ongoing call. + :keyword str group_call_id: The group call ID to locate ongoing call. :keyword recording_state_callback_url: The url to send notifications to. :paramtype recording_state_callback_url: str or None :keyword recording_content_type: The content type of call recording. @@ -771,7 +708,7 @@ async def start_recording( async def start_recording( self, *, - call_connection_id: str, + room_id: str, recording_state_callback_url: Optional[str] = None, recording_content_type: Optional[Union[str, 'RecordingContent']] = None, recording_channel_type: Optional[Union[str, 'RecordingChannel']] = None, @@ -783,9 +720,9 @@ async def start_recording( pause_on_start: Optional[bool] = None, **kwargs ) -> RecordingProperties: - """Start recording for a ongoing call. Locate the call with call connection id. + """Start recording for a ongoing call. Locate the call with call locator. - :keyword str call_connection_id: The call connection ID to locate ongoing call. + :keyword str room_id: The room ID to locate ongoing call. :keyword recording_state_callback_url: The url to send notifications to. :paramtype recording_state_callback_url: str or None :keyword recording_content_type: The content type of call recording. @@ -828,14 +765,17 @@ async def start_recording( channel_affinity: List["ChannelAffinity"] = kwargs.pop("channel_affinity", None) or [] channel_affinity_internal = [c._to_generated() for c in channel_affinity] call_locator = build_call_locator( - args, kwargs.pop("call_locator", None), kwargs.pop("server_call_id", None), kwargs.pop("group_call_id", None), - kwargs.pop("room_id", None) + kwargs.pop("room_id", None), + args ) - external_storage = build_external_storage(kwargs.pop("recording_storage", None)) call_connection_id = kwargs.pop("call_connection_id", None) + if not call_locator and not call_connection_id: + raise ValueError("Either a call locator or a call_connection_id must be provided to start recording.") + + external_storage = build_external_storage(kwargs.pop("recording_storage", None)) start_recording_request = StartCallRecordingRequest( call_locator=call_locator if call_locator else None, call_connection_id=call_connection_id if call_connection_id else None, diff --git a/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/aio/_call_connection_client_async.py b/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/aio/_call_connection_client_async.py index 807bda1a42e8..c3937f130929 100644 --- a/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/aio/_call_connection_client_async.py +++ b/sdk/communication/azure-communication-callautomation/azure/communication/callautomation/aio/_call_connection_client_async.py @@ -22,7 +22,6 @@ CallConnectionProperties, AddParticipantResult, RemoveParticipantResult, - MoveParticipantsResult, TransferCallResult, MuteParticipantResult, SendDtmfTonesResult, @@ -51,9 +50,7 @@ HoldRequest, UnholdRequest, StartMediaStreamingRequest, - StopMediaStreamingRequest, - InterruptAudioAndAnnounceRequest, - MoveParticipantsRequest, + StopMediaStreamingRequest ) from .._generated.models._enums import RecognizeInputType from .._shared.auth_policy_utils import get_authentication_policy @@ -382,46 +379,6 @@ async def remove_participant( return RemoveParticipantResult._from_generated(response) # pylint:disable=protected-access - @distributed_trace_async - async def move_participants( - self, - target_participants: List["CommunicationIdentifier"], - from_call: str, - *, - operation_context: Optional[str] = None, - operation_callback_url: Optional[str] = None, - **kwargs, - ) -> MoveParticipantsResult: - """Move participants from another call to this call. - - :param target_participants: The participants to move to this call. - :type target_participants: list[~azure.communication.callautomation.CommunicationIdentifier] - :param from_call: The CallConnectionId for the call you want to move the participant from. - :type from_call: str - :keyword operation_context: Value that can be used to track this call and its associated events. - :paramtype operation_context: str - :keyword operation_callback_url: Set a callback URL that overrides the default callback URL set - by CreateCall/AnswerCall for this operation. - This setup is per-action. If this is not set, the default callback URL set by - CreateCall/AnswerCall will be used. - :paramtype operation_callback_url: str or None - :return: MoveParticipantsResult - :rtype: ~azure.communication.callautomation.MoveParticipantsResult - :raises ~azure.core.exceptions.HttpResponseError: - """ - move_participants_request = MoveParticipantsRequest( - target_participants=[serialize_identifier(participant) for participant in target_participants], - from_call=from_call, - operation_context=operation_context, - operation_callback_uri=operation_callback_url, - ) - process_repeatability_first_sent(kwargs) - response = await self._call_connection_client.move_participants( - self._call_connection_id, move_participants_request, **kwargs - ) - - return MoveParticipantsResult._from_generated(response) # pylint:disable=protected-access - @overload async def play_media( self, @@ -432,7 +389,6 @@ async def play_media( loop: bool = False, operation_context: Optional[str] = None, operation_callback_url: Optional[str] = None, - interrupt_hold_audio : bool = False, **kwargs ) -> None: """Play media to specific participant(s) in this call. @@ -456,9 +412,6 @@ async def play_media( This setup is per-action. If this is not set, the default callback URL set by CreateCall/AnswerCall will be used. :paramtype operation_callback_url: str or None - :keyword interrupt_hold_audio: If set, hold audio will be interrupted, then this request will be - played, and then the hold audio will be resumed. - :paramtype interrupt_hold_audio: bool :return: None :rtype: None :raises ~azure.core.exceptions.HttpResponseError: @@ -563,7 +516,6 @@ async def _play_media( operation_context: Optional[str] = None, operation_callback_url: Optional[str] = None, interrupt_call_media_operation: Optional[bool] = None, - interrupt_hold_audio : bool = False, **kwargs, ) -> None: """Play media to specific participant(s) in this call. @@ -590,9 +542,6 @@ async def _play_media( :keyword interrupt_call_media_operation: If set play can barge into other existing queued-up/currently-processing requests. :paramtype interrupt_call_media_operation: bool - :keyword interrupt_hold_audio: If set, hold audio will be interrupted, then this request will be - played, and then the hold audio will be resumed. - :paramtype interrupt_hold_audio: bool :return: None :rtype: None :raises ~azure.core.exceptions.HttpResponseError: @@ -607,13 +556,12 @@ async def _play_media( audience = [] if play_to == "all" else [serialize_identifier(i) for i in play_to] interrupt_call_media_operation = interrupt_call_media_operation if play_to == "all" else False - interrupt_hold_audio = interrupt_hold_audio if play_to != "all" else False play_request = PlayRequest( play_sources=[play_source_single._to_generated()] if play_source_single else # pylint:disable=protected-access [source._to_generated() for source in play_sources] if play_sources else None, # pylint:disable=protected-access play_to=audience, - play_options=PlayOptions(loop=loop, interrupt_call_media_operation=interrupt_call_media_operation, - interrupt_hold_audio=interrupt_hold_audio), + play_options=PlayOptions(loop=loop), + interrupt_call_media_operation=interrupt_call_media_operation, operation_context=operation_context, operation_callback_uri=operation_callback_url, **kwargs, @@ -683,7 +631,7 @@ async def start_recognizing_media( interrupt_prompt: bool = False, dtmf_inter_tone_timeout: Optional[int] = None, dtmf_max_tones_to_collect: Optional[int] = None, - dtmf_stop_tones: Optional[List[str or "DtmfTone"]] = None, + dtmf_stop_tones: Optional[List[Union[str, 'DtmfTone']]] = None, speech_language: Optional[str] = None, choices: Optional[List["RecognitionChoice"]] = None, end_silence_timeout: Optional[int] = None, @@ -812,7 +760,6 @@ async def start_continuous_dtmf_recognition( target_participant: "CommunicationIdentifier", *, operation_context: Optional[str] = None, - operation_callback_url: Optional[str] = None, **kwargs, ) -> None: """Start continuous Dtmf recognition by subscribing to tones. @@ -821,19 +768,13 @@ async def start_continuous_dtmf_recognition( :type target_participant: ~azure.communication.callautomation.CommunicationIdentifier :keyword operation_context: Value that can be used to track this call and its associated events. :paramtype operation_context: str - :keyword operation_callback_url: Set a callback URL that overrides the default callback URL set - by CreateCall/AnswerCall for this operation. - This setup is per-action. If this is not set, the default callback URL set by - CreateCall/AnswerCall will be used. - :paramtype operation_callback_url: str or None :return: None :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ continuous_dtmf_recognition_request = ContinuousDtmfRecognitionRequest( target_participant=serialize_identifier(target_participant), - operation_context=operation_context, - operation_callback_uri=operation_callback_url, + operation_context=operation_context ) await self._call_media_client.start_continuous_dtmf_recognition( self._call_connection_id, continuous_dtmf_recognition_request, **kwargs @@ -1037,15 +978,16 @@ async def stop_transcription( @distributed_trace_async async def update_transcription( self, - locale: str, *, + locale: str, operation_context: Optional[str] = None, speech_recognition_model_endpoint_id: Optional[str] = None, operation_callback_url: Optional[str] = None, **kwargs) -> None: """API to change transcription language. - :param locale: Defines new locale for transcription. + :keyword locale: Defines new locale for transcription. + :paramtype locale: str :keyword operation_context: The value to identify context of the operation. :paramtype operation_context: str :keyword speech_recognition_model_endpoint_id: Endpoint where the custom model was deployed. @@ -1120,7 +1062,12 @@ async def hold( @distributed_trace_async async def unhold( - self, target_participant: "CommunicationIdentifier", *, operation_context: Optional[str] = None, **kwargs + self, + target_participant: "CommunicationIdentifier", + *, + operation_context: Optional[str] = None, + operation_callback_url: Optional[str] = None, + **kwargs ) -> None: """Play media to specific participant(s) in this call. @@ -1128,6 +1075,11 @@ async def unhold( :type target_participant: ~azure.communication.callautomation.CommunicationIdentifier :keyword operation_context: Value that can be used to track this call and its associated events. :paramtype operation_context: str or None + :keyword operation_callback_url: Set a callback URL that overrides the default callback URL set + by CreateCall/AnswerCall for this operation. + This setup is per-action. If this is not set, the default callback URL set by + CreateCall/AnswerCall will be used. + :paramtype operation_callback_url: str or None :return: None :rtype: None :raises ~azure.core.exceptions.HttpResponseError: @@ -1136,6 +1088,7 @@ async def unhold( unhold_request = UnholdRequest( target_participant=serialize_identifier(target_participant), operation_context=operation_context, + operation_callback_uri=operation_callback_url, kwargs=kwargs, ) @@ -1166,7 +1119,7 @@ async def start_media_streaming( operation_callback_uri=operation_callback_url, operation_context=operation_context ) - self._call_media_client.start_media_streaming( + await self._call_media_client.start_media_streaming( self._call_connection_id, start_media_streaming_request, **kwargs) @@ -1196,49 +1149,12 @@ async def stop_media_streaming( operation_callback_uri=operation_callback_url, operation_context=operation_context ) - self._call_media_client.stop_media_streaming( + await self._call_media_client.stop_media_streaming( self._call_connection_id, stop_media_streaming_request, **kwargs ) - @distributed_trace_async - async def interrupt_audio_and_announce( - self, - target_participant: "CommunicationIdentifier", - play_sources: List[Union['FileSource', 'TextSource', 'SsmlSource']], - *, - operation_context: Optional[str] = None, - **kwargs, - ) -> None: - """Play media to specific participant(s) in this call. - - :param target_participant: The participant being added. - :type target_participant: ~azure.communication.callautomation.CommunicationIdentifier - :param play_sources: A PlaySource representing the source to play. - :type play_sources: list[~azure.communication.callautomation.FileSource] or - list[~azure.communication.callautomation.TextSource] or - list[~azure.communication.callautomation.SsmlSource] - :keyword operation_context: Value that can be used to track this call and its associated events. - :paramtype operation_context: str or None - :return: None - :rtype: None - :raises ~azure.core.exceptions.HttpResponseError: - """ - interrupt_audio_announce_request = InterruptAudioAndAnnounceRequest( - play_sources=[source._to_generated() for source in play_sources] if play_sources else None, # pylint:disable=protected-access - play_to=serialize_identifier(target_participant), - operation_context=operation_context, - kwargs=kwargs, - ) - - self._call_media_client.interrupt_audio_and_announce( - self._call_connection_id, - interrupt_audio_announce_request, - **kwargs - ) - - async def __aenter__(self) -> "CallConnectionClient": await self._client.__aenter__() return self diff --git a/sdk/communication/azure-communication-callautomation/swagger/SWAGGER.md b/sdk/communication/azure-communication-callautomation/swagger/SWAGGER.md index 831235d01fc7..45b0bf99eafb 100644 --- a/sdk/communication/azure-communication-callautomation/swagger/SWAGGER.md +++ b/sdk/communication/azure-communication-callautomation/swagger/SWAGGER.md @@ -16,8 +16,8 @@ autorest SWAGGER.md ### Settings ```yaml -tag: package-2024-09-01-preview -require: https://github.com/Azure/azure-rest-api-specs/blob/1a08384511e96c42aaf18edd646baf01e5e5fc84/specification/communication/data-plane/CallAutomation/readme.md +tag: package-2025-06-15 +require: https://github.com/Azure/azure-rest-api-specs/blob/6d7d3fc4315bbb2c446a9add65f8d47f20a85426/specification/communication/data-plane/CallAutomation/readme.md output-folder: ../azure/communication/callautomation/_generated models-mode: msrest namespace: azure.communication.callautomation diff --git a/sdk/communication/azure-communication-callautomation/tests/callautomation_test_case.py b/sdk/communication/azure-communication-callautomation/tests/callautomation_test_case.py index 47e9000da443..c2fbfdc305fd 100644 --- a/sdk/communication/azure-communication-callautomation/tests/callautomation_test_case.py +++ b/sdk/communication/azure-communication-callautomation/tests/callautomation_test_case.py @@ -183,9 +183,6 @@ def establish_callconnection_voip(self, caller, target, *, cognitive_service_ena def establish_callconnection_pstn(self, caller, target) -> tuple: return self._establish_callconnection(caller, target, is_pstn=True) - def establish_callconnection_voip_answercall_withcustomcontext(self, caller, target) -> tuple: - return self._establish_callconnection(caller, target, custom_context=True) - def establish_callconnection_voip_with_streaming_options(self, caller, target, options, is_transcription) -> tuple: return self._establish_callconnection( caller, target, options=options, is_transcription=is_transcription @@ -194,7 +191,7 @@ def establish_callconnection_voip_with_streaming_options(self, caller, target, o def establish_callconnection_voip_connect_call(self, caller, target) -> tuple: return self._establish_callconnection(caller, target, connect_call=True) - def _establish_callconnection(self, caller, target, cognitive_service_enabled: Optional[bool] = False, is_pstn: bool = False, custom_context: bool = False, options=None, is_transcription: bool = False, connect_call: bool = False) -> tuple: + def _establish_callconnection(self, caller, target, cognitive_service_enabled: Optional[bool] = False, is_pstn: bool = False, options=None, is_transcription: bool = False, connect_call: bool = False) -> tuple: call_automation_client_caller = self._create_call_automation_client(caller) call_automation_client_target = self._create_call_automation_client(target) @@ -209,7 +206,7 @@ def _establish_callconnection(self, caller, target, cognitive_service_enabled: O caller_connection_id = self._validate_create_call_result(create_call_result) incoming_call_context = self._wait_for_incoming_call(unique_id) - answer_call_result = self._answer_call(call_automation_client_target, incoming_call_context, custom_context) + answer_call_result = self._answer_call(call_automation_client_target, incoming_call_context) call_connection_caller = self._create_call_connection_client(caller_connection_id) call_connection_target = self._create_call_connection_client(answer_call_result.call_connection_id) @@ -274,15 +271,10 @@ def _wait_for_incoming_call(self, unique_id): raise ValueError("incoming_call_event is None") return incoming_call_event["incomingCallContext"] - def _answer_call(self, client, context, custom_context): - if custom_context: - result = client.answer_call( - incoming_call_context=context, callback_url=self.dispatcher_callback, voip_headers={"foo": "bar"} - ) - else: - result = client.answer_call( - incoming_call_context=context, callback_url=self.dispatcher_callback - ) + def _answer_call(self, client, context): + result = client.answer_call( + incoming_call_context=context, callback_url=self.dispatcher_callback + ) if result is None: raise ValueError("Invalid answer_call result") return result diff --git a/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_callautomation_client.pyTestCallAutomationClientAutomatedLiveTesttest_add_participant_then_cancel_request.event.json b/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_callautomation_client.pyTestCallAutomationClientAutomatedLiveTesttest_add_participant_then_cancel_request.event.json index b3062fa982f2..a0022451c2e3 100644 --- a/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_callautomation_client.pyTestCallAutomationClientAutomatedLiveTesttest_add_participant_then_cancel_request.event.json +++ b/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_callautomation_client.pyTestCallAutomationClientAutomatedLiveTesttest_add_participant_then_cancel_request.event.json @@ -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"}} \ No newline at end of file +{"IncomingCall": {"to": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8d-f142-93f0-3a3a0d004e5a", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8d-f142-93f0-3a3a0d004e5a"}}, "from": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8d-f00d-93f0-3a3a0d004e59", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8d-f00d-93f0-3a3a0d004e59"}}, "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi95UlpnVjlrT2ZFT1FqamJFQ1puSzVnP2k9MTAtMTI4LTg1LTEzMyZlPTYzODg1MzUzNzgwMzQ5NjYyNg==", "callerDisplayName": "REDACTED", "incomingCallContext": "REDACTED", "correlationId": "8451d134-c450-420e-a348-9744c7940ceb"}, "ParticipantsUpdated": {"id": "73b43970-bfe4-4746-a42b-3f2301645d64", "source": "calling/callConnections/00006680-b6d2-4562-a312-5ed8fdab823f", "type": "Microsoft.Communication.ParticipantsUpdated", "data": {"participants": [{"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8d-f00d-93f0-3a3a0d004e59", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8d-f00d-93f0-3a3a0d004e59"}}, "isMuted": false, "isOnHold": false}, {"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8d-f142-93f0-3a3a0d004e5a", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8d-f142-93f0-3a3a0d004e5a"}}, "isMuted": false, "isOnHold": false}], "sequenceNumber": 3, "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "version": "2025-05-15", "callConnectionId": "00006680-b6d2-4562-a312-5ed8fdab823f", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi95UlpnVjlrT2ZFT1FqamJFQ1puSzVnP2k9MTAtMTI4LTg1LTEzMyZlPTYzODg1MzUzNzgwMzQ5NjYyNg==", "correlationId": "8451d134-c450-420e-a348-9744c7940ceb", "publicEventType": "Microsoft.Communication.ParticipantsUpdated"}, "time": "2025-06-13T19:02:58.6258608+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/00006680-b6d2-4562-a312-5ed8fdab823f"}, "CallConnected": {"id": "940ddd11-4122-4f88-9543-6289448b0eeb", "source": "calling/callConnections/00006680-b6d2-4562-a312-5ed8fdab823f", "type": "Microsoft.Communication.CallConnected", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "callConnectionId": "00006680-b6d2-4562-a312-5ed8fdab823f", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi95UlpnVjlrT2ZFT1FqamJFQ1puSzVnP2k9MTAtMTI4LTg1LTEzMyZlPTYzODg1MzUzNzgwMzQ5NjYyNg==", "correlationId": "8451d134-c450-420e-a348-9744c7940ceb", "publicEventType": "Microsoft.Communication.CallConnected"}, "time": "2025-06-13T19:02:54.9709411+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/00006680-b6d2-4562-a312-5ed8fdab823f"}, "CancelAddParticipantSucceeded": {"id": "9438792f-a31b-4adf-88d4-a19786a1d671", "source": "calling/callConnections/00006680-b6d2-4562-a312-5ed8fdab823f", "type": "Microsoft.Communication.CancelAddParticipantSucceeded", "data": {"invitationId": "34369f73-a83f-478c-81ce-11c32dbe7a81", "version": "2025-05-15", "resultInformation": {"code": 487, "subCode": 5234, "message": "addParticipants failed for participant 8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8d-f193-93f0-3a3a0d004e5b. Underlying reason: The Call Has Been Cancelled. DiagCode: 487#5234.@"}, "callConnectionId": "00006680-b6d2-4562-a312-5ed8fdab823f", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi95UlpnVjlrT2ZFT1FqamJFQ1puSzVnP2k9MTAtMTI4LTg1LTEzMyZlPTYzODg1MzUzNzgwMzQ5NjYyNg==", "correlationId": "8451d134-c450-420e-a348-9744c7940ceb", "publicEventType": "Microsoft.Communication.CancelAddParticipantSucceeded"}, "time": "2025-06-13T19:03:00.3980933+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/00006680-b6d2-4562-a312-5ed8fdab823f"}, "CallDisconnected": {"id": "c23bdf6e-41ed-4992-a01e-8b1df8e92d9a", "source": "calling/callConnections/00006680-b6d2-4562-a312-5ed8fdab823f", "type": "Microsoft.Communication.CallDisconnected", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 7000, "message": "The conversation has ended. DiagCode: 0#7000.@"}, "callConnectionId": "00006680-b6d2-4562-a312-5ed8fdab823f", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi95UlpnVjlrT2ZFT1FqamJFQ1puSzVnP2k9MTAtMTI4LTg1LTEzMyZlPTYzODg1MzUzNzgwMzQ5NjYyNg==", "correlationId": "8451d134-c450-420e-a348-9744c7940ceb", "publicEventType": "Microsoft.Communication.CallDisconnected"}, "time": "2025-06-13T19:03:01.4478409+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/00006680-b6d2-4562-a312-5ed8fdab823f"}} \ No newline at end of file diff --git a/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_callautomation_client.pyTestCallAutomationClientAutomatedLiveTesttest_create_VOIP_call_and_answer_then_hangup.event.json b/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_callautomation_client.pyTestCallAutomationClientAutomatedLiveTesttest_create_VOIP_call_and_answer_then_hangup.event.json index 1b9e3218ac71..d1d66d4175eb 100644 --- a/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_callautomation_client.pyTestCallAutomationClientAutomatedLiveTesttest_create_VOIP_call_and_answer_then_hangup.event.json +++ b/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_callautomation_client.pyTestCallAutomationClientAutomatedLiveTesttest_create_VOIP_call_and_answer_then_hangup.event.json @@ -1 +1 @@ -{"IncomingCall": {"to": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4519-a042-85f4-343a0d000332", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4519-a042-85f4-343a0d000332"}}, "from": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4519-9f24-85f4-343a0d000331", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4519-9f24-85f4-343a0d000331"}}, "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9iTEctWk1mRzVrMlQ4WEtIdHVSUllBP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "callerDisplayName": "REDACTED", "incomingCallContext": "REDACTED", "correlationId": "784cf6cc-a492-44a0-897d-01f550542800"}, "ParticipantsUpdated": {"id": "7a201f59-c266-4e88-868b-3f5f3ca11a13", "source": "calling/callConnections/08002380-b749-4584-ba8e-48e4fbf0d4bf", "type": "Microsoft.Communication.ParticipantsUpdated", "data": {"participants": [{"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4519-a042-85f4-343a0d000332", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4519-a042-85f4-343a0d000332"}}, "isMuted": false, "isOnHold": false}, {"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4519-9f24-85f4-343a0d000331", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4519-9f24-85f4-343a0d000331"}}, "isMuted": false, "isOnHold": false}], "sequenceNumber": 1, "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "version": "2024-09-01-preview", "callConnectionId": "08002380-b749-4584-ba8e-48e4fbf0d4bf", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9iTEctWk1mRzVrMlQ4WEtIdHVSUllBP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "784cf6cc-a492-44a0-897d-01f550542800", "publicEventType": "Microsoft.Communication.ParticipantsUpdated"}, "time": "2025-03-17T17:47:59.8067365+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-b749-4584-ba8e-48e4fbf0d4bf"}, "CallConnected": {"id": "d9179103-ab33-4e93-b0ae-35427b7bd406", "source": "calling/callConnections/08002380-b749-4584-ba8e-48e4fbf0d4bf", "type": "Microsoft.Communication.CallConnected", "data": {"version": "2024-09-01-preview", "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "callConnectionId": "08002380-b749-4584-ba8e-48e4fbf0d4bf", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9iTEctWk1mRzVrMlQ4WEtIdHVSUllBP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "784cf6cc-a492-44a0-897d-01f550542800", "publicEventType": "Microsoft.Communication.CallConnected"}, "time": "2025-03-17T17:47:59.8386576+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-b749-4584-ba8e-48e4fbf0d4bf"}, "CallDisconnected": {"id": "76a65e3e-4dad-439f-bdfc-d0457a7650d2", "source": "calling/callConnections/08002380-b749-4584-ba8e-48e4fbf0d4bf", "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-b749-4584-ba8e-48e4fbf0d4bf", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9iTEctWk1mRzVrMlQ4WEtIdHVSUllBP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "784cf6cc-a492-44a0-897d-01f550542800", "publicEventType": "Microsoft.Communication.CallDisconnected"}, "time": "2025-03-17T17:48:02.43489+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-b749-4584-ba8e-48e4fbf0d4bf"}} \ No newline at end of file +{"IncomingCall": {"to": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8d-aca6-4afc-3a3a0d005045", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8d-aca6-4afc-3a3a0d005045"}}, "from": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8d-ac4b-4afc-3a3a0d005044", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8d-ac4b-4afc-3a3a0d005044"}}, "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9oWkFFNjZ4R3MwZUVtSER5LUtleVl3P2k9MTAtNjAtMTAyLTc4JmU9NjM4ODUyNjg3MDE4NDk1OTA0", "callerDisplayName": "REDACTED", "incomingCallContext": "REDACTED", "correlationId": "be4943e8-6d13-484b-ad2b-232419f88645"}, "ParticipantsUpdated": {"id": "8a1557c9-6f99-4ab4-a71c-be2a9e477a90", "source": "calling/callConnections/26006780-3cd6-4275-aa1e-acfe0fe286bb", "type": "Microsoft.Communication.ParticipantsUpdated", "data": {"participants": [{"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8d-ac4b-4afc-3a3a0d005044", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8d-ac4b-4afc-3a3a0d005044"}}, "isMuted": false, "isOnHold": false}, {"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8d-aca6-4afc-3a3a0d005045", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8d-aca6-4afc-3a3a0d005045"}}, "isMuted": false, "isOnHold": false}], "sequenceNumber": 1, "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "version": "2025-05-15", "callConnectionId": "26006780-3cd6-4275-aa1e-acfe0fe286bb", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9oWkFFNjZ4R3MwZUVtSER5LUtleVl3P2k9MTAtNjAtMTAyLTc4JmU9NjM4ODUyNjg3MDE4NDk1OTA0", "correlationId": "be4943e8-6d13-484b-ad2b-232419f88645", "publicEventType": "Microsoft.Communication.ParticipantsUpdated"}, "time": "2025-06-13T19:02:40.8956795+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/26006780-3cd6-4275-aa1e-acfe0fe286bb"}, "CallConnected": {"id": "8f8f3f6b-6a64-409d-afde-ade889118572", "source": "calling/callConnections/26006780-3cd6-4275-aa1e-acfe0fe286bb", "type": "Microsoft.Communication.CallConnected", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "callConnectionId": "26006780-3cd6-4275-aa1e-acfe0fe286bb", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9oWkFFNjZ4R3MwZUVtSER5LUtleVl3P2k9MTAtNjAtMTAyLTc4JmU9NjM4ODUyNjg3MDE4NDk1OTA0", "correlationId": "be4943e8-6d13-484b-ad2b-232419f88645", "publicEventType": "Microsoft.Communication.CallConnected"}, "time": "2025-06-13T19:02:41.0291885+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/26006780-3cd6-4275-aa1e-acfe0fe286bb"}, "CallDisconnected": {"id": "c9f5b255-f24b-4f96-9638-820c384e063c", "source": "calling/callConnections/26006780-3cd6-4275-aa1e-acfe0fe286bb", "type": "Microsoft.Communication.CallDisconnected", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 7000, "message": "The conversation has ended. DiagCode: 0#7000.@"}, "callConnectionId": "26006780-3cd6-4275-aa1e-acfe0fe286bb", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9oWkFFNjZ4R3MwZUVtSER5LUtleVl3P2k9MTAtNjAtMTAyLTc4JmU9NjM4ODUyNjg3MDE4NDk1OTA0", "correlationId": "be4943e8-6d13-484b-ad2b-232419f88645", "publicEventType": "Microsoft.Communication.CallDisconnected"}, "time": "2025-06-13T19:02:43.24389+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/26006780-3cd6-4275-aa1e-acfe0fe286bb"}} \ No newline at end of file diff --git a/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_callautomation_client.pyTestCallAutomationClientAutomatedLiveTesttest_start_recording_with_call_connection_id.event.json b/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_callautomation_client.pyTestCallAutomationClientAutomatedLiveTesttest_start_recording_with_call_connection_id.event.json index 987e1a7c5201..5a9c665c17b5 100644 --- a/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_callautomation_client.pyTestCallAutomationClientAutomatedLiveTesttest_start_recording_with_call_connection_id.event.json +++ b/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_callautomation_client.pyTestCallAutomationClientAutomatedLiveTesttest_start_recording_with_call_connection_id.event.json @@ -1 +1 @@ -{"IncomingCall": {"to": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451a-784a-22da-363a0d0035f2", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451a-784a-22da-363a0d0035f2"}}, "from": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451a-774c-22da-363a0d0035f1", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451a-774c-22da-363a0d0035f1"}}, "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9DTm04LUFTNHJVaTV2Z3U1MnNWZ1B3P2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "callerDisplayName": "REDACTED", "incomingCallContext": "REDACTED", "correlationId": "a9bd7542-5dc0-44a2-82ad-c508e3ba9de3"}, "ParticipantsUpdated": {"id": "d2634317-fefe-46c9-bb82-534259f48432", "source": "calling/callConnections/08002380-e2e1-485c-9f4b-56aaed8b6963", "type": "Microsoft.Communication.ParticipantsUpdated", "data": {"participants": [{"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451a-784a-22da-363a0d0035f2", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451a-784a-22da-363a0d0035f2"}}, "isMuted": false, "isOnHold": false}, {"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451a-774c-22da-363a0d0035f1", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451a-774c-22da-363a0d0035f1"}}, "isMuted": false, "isOnHold": false}], "sequenceNumber": 16, "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "version": "2024-09-01-preview", "callConnectionId": "08002380-e2e1-485c-9f4b-56aaed8b6963", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9DTm04LUFTNHJVaTV2Z3U1MnNWZ1B3P2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "a9bd7542-5dc0-44a2-82ad-c508e3ba9de3", "publicEventType": "Microsoft.Communication.ParticipantsUpdated"}, "time": "2025-03-17T17:48:58.7381921+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-e2e1-485c-9f4b-56aaed8b6963"}, "CallConnected": {"id": "6958c424-0a84-4ef5-80d4-cea5ec8eb9ee", "source": "calling/callConnections/08002380-e2e1-485c-9f4b-56aaed8b6963", "type": "Microsoft.Communication.CallConnected", "data": {"version": "2024-09-01-preview", "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "callConnectionId": "08002380-e2e1-485c-9f4b-56aaed8b6963", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9DTm04LUFTNHJVaTV2Z3U1MnNWZ1B3P2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "a9bd7542-5dc0-44a2-82ad-c508e3ba9de3", "publicEventType": "Microsoft.Communication.CallConnected"}, "time": "2025-03-17T17:48:49.0375441+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-e2e1-485c-9f4b-56aaed8b6963"}, "RecordingStateChanged": {"id": "a07426f3-dca3-4163-84bf-bde7db842cef", "source": "calling/recordings/aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9DTm04LUFTNHJVaTV2Z3U1MnNWZ1B3P2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==/eyJQbGF0Zm9ybUVuZHBvaW50SWQiOiIwODAwMjM4MC1lMmUxLTQ4NWMtOWY0Yi01NmFhZWQ4YjY5NjMiLCJSZXNvdXJjZVNwZWNpZmljSWQiOiIxOGZiNDQzNC1mOTMwLTQyNGItYmI3NS00NDViMzIwN2YzNmMifQ/RecordingStateChanged", "type": "Microsoft.Communication.RecordingStateChanged", "data": {"eventSource": "calling/recordings/aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9DTm04LUFTNHJVaTV2Z3U1MnNWZ1B3P2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==/eyJQbGF0Zm9ybUVuZHBvaW50SWQiOiIwODAwMjM4MC1lMmUxLTQ4NWMtOWY0Yi01NmFhZWQ4YjY5NjMiLCJSZXNvdXJjZVNwZWNpZmljSWQiOiIxOGZiNDQzNC1mOTMwLTQyNGItYmI3NS00NDViMzIwN2YzNmMifQ/RecordingStateChanged", "recordingId": "eyJQbGF0Zm9ybUVuZHBvaW50SWQiOiIwODAwMjM4MC1lMmUxLTQ4NWMtOWY0Yi01NmFhZWQ4YjY5NjMiLCJSZXNvdXJjZVNwZWNpZmljSWQiOiIxOGZiNDQzNC1mOTMwLTQyNGItYmI3NS00NDViMzIwN2YzNmMifQ", "state": "active", "startDateTime": "2025-03-17T17:48:54.3719814+00:00", "recordingKind": "azureCommunicationServices", "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "version": "2024-09-01-preview", "callConnectionId": "08002380-e2e1-485c-9f4b-56aaed8b6963", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9DTm04LUFTNHJVaTV2Z3U1MnNWZ1B3P2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "a9bd7542-5dc0-44a2-82ad-c508e3ba9de3", "publicEventType": "Microsoft.Communication.RecordingStateChanged"}, "time": "2025-03-17T17:48:54.6643387+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/recordings/aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9DTm04LUFTNHJVaTV2Z3U1MnNWZ1B3P2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==/eyJQbGF0Zm9ybUVuZHBvaW50SWQiOiIwODAwMjM4MC1lMmUxLTQ4NWMtOWY0Yi01NmFhZWQ4YjY5NjMiLCJSZXNvdXJjZVNwZWNpZmljSWQiOiIxOGZiNDQzNC1mOTMwLTQyNGItYmI3NS00NDViMzIwN2YzNmMifQ/RecordingStateChanged"}, "CallDisconnected": {"id": "8e26db5f-5073-4686-a491-765cbb347ce3", "source": "calling/callConnections/08002380-e2e1-485c-9f4b-56aaed8b6963", "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-e2e1-485c-9f4b-56aaed8b6963", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9DTm04LUFTNHJVaTV2Z3U1MnNWZ1B3P2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "a9bd7542-5dc0-44a2-82ad-c508e3ba9de3", "publicEventType": "Microsoft.Communication.CallDisconnected"}, "time": "2025-03-17T17:48:59.8892286+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-e2e1-485c-9f4b-56aaed8b6963"}} \ No newline at end of file +{"IncomingCall": {"to": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8e-a143-93f0-3a3a0d004e67", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8e-a143-93f0-3a3a0d004e67"}}, "from": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8e-a10d-93f0-3a3a0d004e66", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8e-a10d-93f0-3a3a0d004e66"}}, "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9DczNRb1NYM1NFMktXUGdSZzk5U1hRP2k9MTAtMTI4LTg1LTEzMyZlPTYzODg1MzUzNzgwMzQ5NjYyNg==", "callerDisplayName": "REDACTED", "incomingCallContext": "REDACTED", "correlationId": "ee1eee42-671a-46c2-92b6-0845012c98d4"}, "ParticipantsUpdated": {"id": "daa94bbe-9c4d-4a6c-bf6a-175e49f894f3", "source": "calling/callConnections/00006680-1ce6-4229-a807-a929655f47d1", "type": "Microsoft.Communication.ParticipantsUpdated", "data": {"participants": [{"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8e-a143-93f0-3a3a0d004e67", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8e-a143-93f0-3a3a0d004e67"}}, "isMuted": false, "isOnHold": false}, {"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8e-a10d-93f0-3a3a0d004e66", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8e-a10d-93f0-3a3a0d004e66"}}, "isMuted": false, "isOnHold": false}], "sequenceNumber": 11, "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "version": "2025-05-15", "callConnectionId": "00006680-1ce6-4229-a807-a929655f47d1", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9DczNRb1NYM1NFMktXUGdSZzk5U1hRP2k9MTAtMTI4LTg1LTEzMyZlPTYzODg1MzUzNzgwMzQ5NjYyNg==", "correlationId": "ee1eee42-671a-46c2-92b6-0845012c98d4", "publicEventType": "Microsoft.Communication.ParticipantsUpdated"}, "time": "2025-06-13T19:03:47.7476392+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/00006680-1ce6-4229-a807-a929655f47d1"}, "CallConnected": {"id": "f566eb2d-6c7f-4161-a183-9cee33979a84", "source": "calling/callConnections/00006680-1ce6-4229-a807-a929655f47d1", "type": "Microsoft.Communication.CallConnected", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "callConnectionId": "00006680-1ce6-4229-a807-a929655f47d1", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9DczNRb1NYM1NFMktXUGdSZzk5U1hRP2k9MTAtMTI4LTg1LTEzMyZlPTYzODg1MzUzNzgwMzQ5NjYyNg==", "correlationId": "ee1eee42-671a-46c2-92b6-0845012c98d4", "publicEventType": "Microsoft.Communication.CallConnected"}, "time": "2025-06-13T19:03:39.9772908+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/00006680-1ce6-4229-a807-a929655f47d1"}, "RecordingStateChanged": {"id": "f3d79f85-a255-4be7-af2a-e70365944a9e", "source": "calling/recordings/aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9DczNRb1NYM1NFMktXUGdSZzk5U1hRP2k9MTAtMTI4LTg1LTEzMyZlPTYzODg1MzUzNzgwMzQ5NjYyNg==/eyJQbGF0Zm9ybUVuZHBvaW50SWQiOiIwMDAwNjY4MC0xY2U2LTQyMjktYTgwNy1hOTI5NjU1ZjQ3ZDEiLCJSZXNvdXJjZVNwZWNpZmljSWQiOiIyMzI0NmE0My1jMmJiLTRkN2MtOGU4Yi03YzZhMjMzNTg2N2IifQ/RecordingStateChanged", "type": "Microsoft.Communication.RecordingStateChanged", "data": {"recordingId": "eyJQbGF0Zm9ybUVuZHBvaW50SWQiOiIwMDAwNjY4MC0xY2U2LTQyMjktYTgwNy1hOTI5NjU1ZjQ3ZDEiLCJSZXNvdXJjZVNwZWNpZmljSWQiOiIyMzI0NmE0My1jMmJiLTRkN2MtOGU4Yi03YzZhMjMzNTg2N2IifQ", "state": "active", "startDateTime": "2025-06-13T19:03:44.7270964+00:00", "recordingKind": "azureCommunicationServices", "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "version": "2025-05-15", "callConnectionId": "00006680-1ce6-4229-a807-a929655f47d1", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9DczNRb1NYM1NFMktXUGdSZzk5U1hRP2k9MTAtMTI4LTg1LTEzMyZlPTYzODg1MzUzNzgwMzQ5NjYyNg==", "correlationId": "ee1eee42-671a-46c2-92b6-0845012c98d4", "publicEventType": "Microsoft.Communication.RecordingStateChanged"}, "time": "2025-06-13T19:03:45.2226929+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/recordings/aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9DczNRb1NYM1NFMktXUGdSZzk5U1hRP2k9MTAtMTI4LTg1LTEzMyZlPTYzODg1MzUzNzgwMzQ5NjYyNg==/eyJQbGF0Zm9ybUVuZHBvaW50SWQiOiIwMDAwNjY4MC0xY2U2LTQyMjktYTgwNy1hOTI5NjU1ZjQ3ZDEiLCJSZXNvdXJjZVNwZWNpZmljSWQiOiIyMzI0NmE0My1jMmJiLTRkN2MtOGU4Yi03YzZhMjMzNTg2N2IifQ/RecordingStateChanged"}, "CallDisconnected": {"id": "261635ed-2e6a-45c6-84b3-74d9232fe7ea", "source": "calling/callConnections/00006680-1ce6-4229-a807-a929655f47d1", "type": "Microsoft.Communication.CallDisconnected", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 7000, "message": "The conversation has ended. DiagCode: 0#7000.@"}, "callConnectionId": "00006680-1ce6-4229-a807-a929655f47d1", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9DczNRb1NYM1NFMktXUGdSZzk5U1hRP2k9MTAtMTI4LTg1LTEzMyZlPTYzODg1MzUzNzgwMzQ5NjYyNg==", "correlationId": "ee1eee42-671a-46c2-92b6-0845012c98d4", "publicEventType": "Microsoft.Communication.CallDisconnected"}, "time": "2025-06-13T19:03:50.8175925+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/00006680-1ce6-4229-a807-a929655f47d1"}} \ No newline at end of file diff --git a/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_callautomation_client.pyTestCallAutomationClientAutomatedLiveTesttest_start_recording_with_server_call_id.event.json b/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_callautomation_client.pyTestCallAutomationClientAutomatedLiveTesttest_start_recording_with_server_call_id.event.json index e53de15f8189..7e61ad08c21d 100644 --- a/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_callautomation_client.pyTestCallAutomationClientAutomatedLiveTesttest_start_recording_with_server_call_id.event.json +++ b/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_callautomation_client.pyTestCallAutomationClientAutomatedLiveTesttest_start_recording_with_server_call_id.event.json @@ -1 +1 @@ -{"IncomingCall": {"to": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451a-ffee-22da-363a0d003604", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451a-ffee-22da-363a0d003604"}}, "from": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451a-feec-22da-363a0d003602", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451a-feec-22da-363a0d003602"}}, "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9UbWpVak90Q0JVQ25ESmwwVnh2NlVBP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "callerDisplayName": "REDACTED", "incomingCallContext": "REDACTED", "correlationId": "12f47d21-a19d-490b-85c7-63a2866fbeaf"}, "CallConnected": {"id": "401e17c1-61d1-4eee-ba01-cd3686275952", "source": "calling/callConnections/08002380-9cea-43db-bdda-4910cae50541", "type": "Microsoft.Communication.CallConnected", "data": {"version": "2024-09-01-preview", "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "callConnectionId": "08002380-9cea-43db-bdda-4910cae50541", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9UbWpVak90Q0JVQ25ESmwwVnh2NlVBP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "12f47d21-a19d-490b-85c7-63a2866fbeaf", "publicEventType": "Microsoft.Communication.CallConnected"}, "time": "2025-03-17T17:49:23.643716+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-9cea-43db-bdda-4910cae50541"}, "ParticipantsUpdated": {"id": "f9135aeb-5865-46d6-8e53-8dcad02938a5", "source": "calling/callConnections/08002380-9cea-43db-bdda-4910cae50541", "type": "Microsoft.Communication.ParticipantsUpdated", "data": {"participants": [{"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451a-feec-22da-363a0d003602", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451a-feec-22da-363a0d003602"}}, "isMuted": false, "isOnHold": false}, {"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451a-ffee-22da-363a0d003604", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451a-ffee-22da-363a0d003604"}}, "isMuted": false, "isOnHold": false}], "sequenceNumber": 15, "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "version": "2024-09-01-preview", "callConnectionId": "08002380-9cea-43db-bdda-4910cae50541", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9UbWpVak90Q0JVQ25ESmwwVnh2NlVBP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "12f47d21-a19d-490b-85c7-63a2866fbeaf", "publicEventType": "Microsoft.Communication.ParticipantsUpdated"}, "time": "2025-03-17T17:49:35.8885668+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-9cea-43db-bdda-4910cae50541"}, "RecordingStateChanged": {"id": "76da6ca9-bdd9-4cc3-b824-71fe005a4f2c", "source": "calling/recordings/aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9UbWpVak90Q0JVQ25ESmwwVnh2NlVBP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==/eyJQbGF0Zm9ybUVuZHBvaW50SWQiOiIwODAwMjM4MC0zYTkyLTRhZGQtOWRhMS04MjNmNDE3YTkxMDEiLCJSZXNvdXJjZVNwZWNpZmljSWQiOiJkMjE5ZmY5Yi0xNzc2LTQyYzUtYWQ2ZS1hYjdjODQyZDBjNWYifQ/RecordingStateChanged", "type": "Microsoft.Communication.RecordingStateChanged", "data": {"eventSource": "calling/recordings/aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9UbWpVak90Q0JVQ25ESmwwVnh2NlVBP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==/eyJQbGF0Zm9ybUVuZHBvaW50SWQiOiIwODAwMjM4MC0zYTkyLTRhZGQtOWRhMS04MjNmNDE3YTkxMDEiLCJSZXNvdXJjZVNwZWNpZmljSWQiOiJkMjE5ZmY5Yi0xNzc2LTQyYzUtYWQ2ZS1hYjdjODQyZDBjNWYifQ/RecordingStateChanged", "recordingId": "eyJQbGF0Zm9ybUVuZHBvaW50SWQiOiIwODAwMjM4MC0zYTkyLTRhZGQtOWRhMS04MjNmNDE3YTkxMDEiLCJSZXNvdXJjZVNwZWNpZmljSWQiOiJkMjE5ZmY5Yi0xNzc2LTQyYzUtYWQ2ZS1hYjdjODQyZDBjNWYifQ", "state": "active", "startDateTime": "2025-03-17T17:49:30.5177847+00:00", "recordingKind": "azureCommunicationServices", "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "version": "2024-09-01-preview", "callConnectionId": "08002380-3a92-4add-9da1-823f417a9101", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9UbWpVak90Q0JVQ25ESmwwVnh2NlVBP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "12f47d21-a19d-490b-85c7-63a2866fbeaf", "publicEventType": "Microsoft.Communication.RecordingStateChanged"}, "time": "2025-03-17T17:49:30.8044533+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/recordings/aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9UbWpVak90Q0JVQ25ESmwwVnh2NlVBP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==/eyJQbGF0Zm9ybUVuZHBvaW50SWQiOiIwODAwMjM4MC0zYTkyLTRhZGQtOWRhMS04MjNmNDE3YTkxMDEiLCJSZXNvdXJjZVNwZWNpZmljSWQiOiJkMjE5ZmY5Yi0xNzc2LTQyYzUtYWQ2ZS1hYjdjODQyZDBjNWYifQ/RecordingStateChanged"}, "CallDisconnected": {"id": "f6652b47-1934-4190-9fbe-484d47d010de", "source": "calling/callConnections/08002380-9cea-43db-bdda-4910cae50541", "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-9cea-43db-bdda-4910cae50541", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9UbWpVak90Q0JVQ25ESmwwVnh2NlVBP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "12f47d21-a19d-490b-85c7-63a2866fbeaf", "publicEventType": "Microsoft.Communication.CallDisconnected"}, "time": "2025-03-17T17:49:39.0804387+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-9cea-43db-bdda-4910cae50541"}} \ No newline at end of file +{"IncomingCall": {"to": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8e-3567-93f0-3a3a0d004e60", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8e-3567-93f0-3a3a0d004e60"}}, "from": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8e-350d-93f0-3a3a0d004e5f", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8e-350d-93f0-3a3a0d004e5f"}}, "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9aU1BKZDJwanRrcXljdHJIU21fTTV3P2k9MTAtMTI4LTg1LTEzMyZlPTYzODg1MzUzNzgwMzQ5NjYyNg==", "callerDisplayName": "REDACTED", "incomingCallContext": "REDACTED", "correlationId": "dba00566-c94d-4912-8087-3f54101e0aa4"}, "ParticipantsUpdated": {"id": "6f5163f5-60b1-47bc-a180-71542864becd", "source": "calling/callConnections/00006680-abfc-452c-a900-b8073a5d72ab", "type": "Microsoft.Communication.ParticipantsUpdated", "data": {"participants": [{"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8e-3567-93f0-3a3a0d004e60", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8e-3567-93f0-3a3a0d004e60"}}, "isMuted": false, "isOnHold": false}, {"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8e-350d-93f0-3a3a0d004e5f", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8e-350d-93f0-3a3a0d004e5f"}}, "isMuted": false, "isOnHold": false}], "sequenceNumber": 10, "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "version": "2025-05-15", "callConnectionId": "00006680-abfc-452c-a900-b8073a5d72ab", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9aU1BKZDJwanRrcXljdHJIU21fTTV3P2k9MTAtMTI4LTg1LTEzMyZlPTYzODg1MzUzNzgwMzQ5NjYyNg==", "correlationId": "dba00566-c94d-4912-8087-3f54101e0aa4", "publicEventType": "Microsoft.Communication.ParticipantsUpdated"}, "time": "2025-06-13T19:03:22.8424042+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/00006680-abfc-452c-a900-b8073a5d72ab"}, "CallConnected": {"id": "59309fd3-7789-47b0-a749-9c2e5bf42a85", "source": "calling/callConnections/00006680-abfc-452c-a900-b8073a5d72ab", "type": "Microsoft.Communication.CallConnected", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "callConnectionId": "00006680-abfc-452c-a900-b8073a5d72ab", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9aU1BKZDJwanRrcXljdHJIU21fTTV3P2k9MTAtMTI4LTg1LTEzMyZlPTYzODg1MzUzNzgwMzQ5NjYyNg==", "correlationId": "dba00566-c94d-4912-8087-3f54101e0aa4", "publicEventType": "Microsoft.Communication.CallConnected"}, "time": "2025-06-13T19:03:12.6141314+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/00006680-abfc-452c-a900-b8073a5d72ab"}, "RecordingStateChanged": {"id": "a8f5f015-1db8-410e-b50c-8f37a55f5350", "source": "calling/recordings/aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9aU1BKZDJwanRrcXljdHJIU21fTTV3P2k9MTAtMTI4LTg1LTEzMyZlPTYzODg1MzUzNzgwMzQ5NjYyNg==/eyJQbGF0Zm9ybUVuZHBvaW50SWQiOiIwMDAwNjY4MC03NDYwLTRlNmMtYTVjNS1hOGYyM2E2Y2EyY2YiLCJSZXNvdXJjZVNwZWNpZmljSWQiOiI1YTY4MTBiNi1kZjExLTRhYjItYWM4NS1jZTk0NjRkZDBlMTcifQ/RecordingStateChanged", "type": "Microsoft.Communication.RecordingStateChanged", "data": {"recordingId": "eyJQbGF0Zm9ybUVuZHBvaW50SWQiOiIwMDAwNjY4MC03NDYwLTRlNmMtYTVjNS1hOGYyM2E2Y2EyY2YiLCJSZXNvdXJjZVNwZWNpZmljSWQiOiI1YTY4MTBiNi1kZjExLTRhYjItYWM4NS1jZTk0NjRkZDBlMTcifQ", "state": "active", "startDateTime": "2025-06-13T19:03:17.3413759+00:00", "recordingKind": "azureCommunicationServices", "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "version": "2025-05-15", "callConnectionId": "00006680-7460-4e6c-a5c5-a8f23a6ca2cf", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9aU1BKZDJwanRrcXljdHJIU21fTTV3P2k9MTAtMTI4LTg1LTEzMyZlPTYzODg1MzUzNzgwMzQ5NjYyNg==", "correlationId": "dba00566-c94d-4912-8087-3f54101e0aa4", "publicEventType": "Microsoft.Communication.RecordingStateChanged"}, "time": "2025-06-13T19:03:17.8132826+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/recordings/aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9aU1BKZDJwanRrcXljdHJIU21fTTV3P2k9MTAtMTI4LTg1LTEzMyZlPTYzODg1MzUzNzgwMzQ5NjYyNg==/eyJQbGF0Zm9ybUVuZHBvaW50SWQiOiIwMDAwNjY4MC03NDYwLTRlNmMtYTVjNS1hOGYyM2E2Y2EyY2YiLCJSZXNvdXJjZVNwZWNpZmljSWQiOiI1YTY4MTBiNi1kZjExLTRhYjItYWM4NS1jZTk0NjRkZDBlMTcifQ/RecordingStateChanged"}, "CallDisconnected": {"id": "be548503-dfac-4b8b-b915-2baf602564bc", "source": "calling/callConnections/00006680-abfc-452c-a900-b8073a5d72ab", "type": "Microsoft.Communication.CallDisconnected", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 7000, "message": "The conversation has ended. DiagCode: 0#7000.@"}, "callConnectionId": "00006680-abfc-452c-a900-b8073a5d72ab", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9aU1BKZDJwanRrcXljdHJIU21fTTV3P2k9MTAtMTI4LTg1LTEzMyZlPTYzODg1MzUzNzgwMzQ5NjYyNg==", "correlationId": "dba00566-c94d-4912-8087-3f54101e0aa4", "publicEventType": "Microsoft.Communication.CallDisconnected"}, "time": "2025-06-13T19:03:25.9893967+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/00006680-abfc-452c-a900-b8073a5d72ab"}} \ No newline at end of file diff --git a/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_add_and_hold_unhold_participant_in_a_call.event.json b/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_add_and_hold_unhold_participant_in_a_call.event.json index 88187ecc1146..cbcef67b7a7a 100644 --- a/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_add_and_hold_unhold_participant_in_a_call.event.json +++ b/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_add_and_hold_unhold_participant_in_a_call.event.json @@ -1 +1 @@ -{"IncomingCall": {"to": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451c-3904-48d8-363a0d002a99", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451c-3904-48d8-363a0d002a99"}}, "from": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451c-380a-48d8-363a0d002a97", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451c-380a-48d8-363a0d002a97"}}, "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9EU0ota1NyN1MweTRXYjRqY1ltcUp3P2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "callerDisplayName": "REDACTED", "incomingCallContext": "REDACTED", "correlationId": "f2323e53-42b0-4bb9-a51c-574176a196d8"}, "ParticipantsUpdated": {"id": "8bf63def-c754-4c9c-b149-4eb722f14288", "source": "calling/callConnections/08002380-6c89-4636-861e-bb93b872253f", "type": "Microsoft.Communication.ParticipantsUpdated", "data": {"participants": [{"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451c-380a-48d8-363a0d002a97", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451c-380a-48d8-363a0d002a97"}}, "isMuted": false, "isOnHold": false}, {"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451c-3904-48d8-363a0d002a99", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451c-3904-48d8-363a0d002a99"}}, "isMuted": false, "isOnHold": false}], "sequenceNumber": 6, "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "version": "2024-09-01-preview", "callConnectionId": "08002380-6c89-4636-861e-bb93b872253f", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9EU0ota1NyN1MweTRXYjRqY1ltcUp3P2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "f2323e53-42b0-4bb9-a51c-574176a196d8", "publicEventType": "Microsoft.Communication.ParticipantsUpdated"}, "time": "2025-03-17T17:50:52.4771538+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-6c89-4636-861e-bb93b872253f"}, "CallConnected": {"id": "45a2ee8c-1264-412d-b403-5f345a0a4a43", "source": "calling/callConnections/08002380-6c89-4636-861e-bb93b872253f", "type": "Microsoft.Communication.CallConnected", "data": {"version": "2024-09-01-preview", "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "callConnectionId": "08002380-6c89-4636-861e-bb93b872253f", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9EU0ota1NyN1MweTRXYjRqY1ltcUp3P2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "f2323e53-42b0-4bb9-a51c-574176a196d8", "publicEventType": "Microsoft.Communication.CallConnected"}, "time": "2025-03-17T17:50:44.0347304+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-6c89-4636-861e-bb93b872253f"}, "CallDisconnected": {"id": "6716daec-898d-4766-b8b5-2b31e76f6615", "source": "calling/callConnections/08002380-6c89-4636-861e-bb93b872253f", "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-6c89-4636-861e-bb93b872253f", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9EU0ota1NyN1MweTRXYjRqY1ltcUp3P2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "f2323e53-42b0-4bb9-a51c-574176a196d8", "publicEventType": "Microsoft.Communication.CallDisconnected"}, "time": "2025-03-17T17:50:54.764647+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-6c89-4636-861e-bb93b872253f"}} \ No newline at end of file +{"IncomingCall": {"to": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8f-a372-f6c7-593a0d004dbd", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8f-a372-f6c7-593a0d004dbd"}}, "from": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8f-a33d-f6c7-593a0d004dbc", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8f-a33d-f6c7-593a0d004dbc"}}, "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9nVHJGQjNKbTMwQ0hIaXplWm9XZXhBP2k9MTAtMTI4LTg1LTEzMyZlPTYzODg1MzUzNzgwMzQ5NjYyNg==", "callerDisplayName": "REDACTED", "incomingCallContext": "REDACTED", "correlationId": "e351dcd4-ab5a-46cf-b995-3e4a6cdef646"}, "ParticipantsUpdated": {"id": "f2d34aa1-34ce-4c5f-b519-88bf59f27db2", "source": "calling/callConnections/00006680-a245-4cb6-a784-1d2f17f18fa7", "type": "Microsoft.Communication.ParticipantsUpdated", "data": {"participants": [{"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8f-a33d-f6c7-593a0d004dbc", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8f-a33d-f6c7-593a0d004dbc"}}, "isMuted": false, "isOnHold": false}, {"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8f-a372-f6c7-593a0d004dbd", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8f-a372-f6c7-593a0d004dbd"}}, "isMuted": false, "isOnHold": false}], "sequenceNumber": 6, "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "version": "2025-05-15", "callConnectionId": "00006680-a245-4cb6-a784-1d2f17f18fa7", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9nVHJGQjNKbTMwQ0hIaXplWm9XZXhBP2k9MTAtMTI4LTg1LTEzMyZlPTYzODg1MzUzNzgwMzQ5NjYyNg==", "correlationId": "e351dcd4-ab5a-46cf-b995-3e4a6cdef646", "publicEventType": "Microsoft.Communication.ParticipantsUpdated"}, "time": "2025-06-13T19:04:55.2299673+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/00006680-a245-4cb6-a784-1d2f17f18fa7"}, "CallConnected": {"id": "1420fee1-7bbf-4f99-9f43-8e1f25e3c8b6", "source": "calling/callConnections/00006680-a245-4cb6-a784-1d2f17f18fa7", "type": "Microsoft.Communication.CallConnected", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "callConnectionId": "00006680-a245-4cb6-a784-1d2f17f18fa7", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9nVHJGQjNKbTMwQ0hIaXplWm9XZXhBP2k9MTAtMTI4LTg1LTEzMyZlPTYzODg1MzUzNzgwMzQ5NjYyNg==", "correlationId": "e351dcd4-ab5a-46cf-b995-3e4a6cdef646", "publicEventType": "Microsoft.Communication.CallConnected"}, "time": "2025-06-13T19:04:47.2145609+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/00006680-a245-4cb6-a784-1d2f17f18fa7"}, "CallDisconnected": {"id": "c18a0262-2e9b-4585-aeef-b03bb01e941d", "source": "calling/callConnections/00006680-a245-4cb6-a784-1d2f17f18fa7", "type": "Microsoft.Communication.CallDisconnected", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 7000, "message": "The conversation has ended. DiagCode: 0#7000.@"}, "callConnectionId": "00006680-a245-4cb6-a784-1d2f17f18fa7", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9nVHJGQjNKbTMwQ0hIaXplWm9XZXhBP2k9MTAtMTI4LTg1LTEzMyZlPTYzODg1MzUzNzgwMzQ5NjYyNg==", "correlationId": "e351dcd4-ab5a-46cf-b995-3e4a6cdef646", "publicEventType": "Microsoft.Communication.CallDisconnected"}, "time": "2025-06-13T19:04:57.3968075+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/00006680-a245-4cb6-a784-1d2f17f18fa7"}} \ No newline at end of file diff --git a/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_add_and_mute_participant_in_a_call.event.json b/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_add_and_mute_participant_in_a_call.event.json index 7dbfd3275ed3..6f1525b0b191 100644 --- a/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_add_and_mute_participant_in_a_call.event.json +++ b/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_add_and_mute_participant_in_a_call.event.json @@ -1 +1 @@ -{"IncomingCall": {"to": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451b-e745-22da-363a0d00362c", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451b-e745-22da-363a0d00362c"}}, "from": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451b-e64a-22da-363a0d00362b", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451b-e64a-22da-363a0d00362b"}}, "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9kTkxpZGJDOFRrcTI1RjVFeWFiRGhnP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "callerDisplayName": "REDACTED", "incomingCallContext": "REDACTED", "correlationId": "96cb637c-0dff-43e2-858a-5d78aca08b40"}, "ParticipantsUpdated": {"id": "4b6f5034-99f4-498d-9101-e6df5f3c6959", "source": "calling/callConnections/08002380-fd39-4e43-8db7-aa7ad5b61099", "type": "Microsoft.Communication.ParticipantsUpdated", "data": {"participants": [{"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451b-e745-22da-363a0d00362c", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451b-e745-22da-363a0d00362c"}}, "isMuted": true, "isOnHold": false}, {"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451b-e64a-22da-363a0d00362b", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451b-e64a-22da-363a0d00362b"}}, "isMuted": false, "isOnHold": false}], "sequenceNumber": 4, "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "version": "2024-09-01-preview", "callConnectionId": "08002380-fd39-4e43-8db7-aa7ad5b61099", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9kTkxpZGJDOFRrcTI1RjVFeWFiRGhnP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "96cb637c-0dff-43e2-858a-5d78aca08b40", "publicEventType": "Microsoft.Communication.ParticipantsUpdated"}, "time": "2025-03-17T17:50:29.2911685+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-fd39-4e43-8db7-aa7ad5b61099"}, "CallConnected": {"id": "7624e0d4-8bc0-4cc5-90f4-9f1f3c262659", "source": "calling/callConnections/08002380-fd39-4e43-8db7-aa7ad5b61099", "type": "Microsoft.Communication.CallConnected", "data": {"version": "2024-09-01-preview", "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "callConnectionId": "08002380-fd39-4e43-8db7-aa7ad5b61099", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9kTkxpZGJDOFRrcTI1RjVFeWFiRGhnP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "96cb637c-0dff-43e2-858a-5d78aca08b40", "publicEventType": "Microsoft.Communication.CallConnected"}, "time": "2025-03-17T17:50:22.9016835+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-fd39-4e43-8db7-aa7ad5b61099"}, "CallDisconnected": {"id": "4311e090-c967-42de-9da1-d2a954fb6573", "source": "calling/callConnections/08002380-fd39-4e43-8db7-aa7ad5b61099", "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-fd39-4e43-8db7-aa7ad5b61099", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9kTkxpZGJDOFRrcTI1RjVFeWFiRGhnP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "96cb637c-0dff-43e2-858a-5d78aca08b40", "publicEventType": "Microsoft.Communication.CallDisconnected"}, "time": "2025-03-17T17:50:31.4756749+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-fd39-4e43-8db7-aa7ad5b61099"}} \ No newline at end of file +{"IncomingCall": {"to": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8f-59fc-f6c7-593a0d004db4", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8f-59fc-f6c7-593a0d004db4"}}, "from": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8f-59ad-93f0-3a3a0d004e7d", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8f-59ad-93f0-3a3a0d004e7d"}}, "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9tUEJra1o3WGZrLUlSTlZQb1pNRFlRP2k9MTAtMTI4LTg1LTEzMyZlPTYzODg1MzUzNzgwMzQ5NjYyNg==", "callerDisplayName": "REDACTED", "incomingCallContext": "REDACTED", "correlationId": "0776eed0-d1df-4f88-be45-dd21d9fe5f92"}, "ParticipantsUpdated": {"id": "81405604-4e4e-4732-84a8-14f0dfa99268", "source": "calling/callConnections/00006680-3197-4e1d-af58-eda435366a55", "type": "Microsoft.Communication.ParticipantsUpdated", "data": {"participants": [{"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8f-59fc-f6c7-593a0d004db4", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8f-59fc-f6c7-593a0d004db4"}}, "isMuted": true, "isOnHold": false}, {"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8f-59ad-93f0-3a3a0d004e7d", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8f-59ad-93f0-3a3a0d004e7d"}}, "isMuted": false, "isOnHold": false}], "sequenceNumber": 4, "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "version": "2025-05-15", "callConnectionId": "00006680-3197-4e1d-af58-eda435366a55", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9tUEJra1o3WGZrLUlSTlZQb1pNRFlRP2k9MTAtMTI4LTg1LTEzMyZlPTYzODg1MzUzNzgwMzQ5NjYyNg==", "correlationId": "0776eed0-d1df-4f88-be45-dd21d9fe5f92", "publicEventType": "Microsoft.Communication.ParticipantsUpdated"}, "time": "2025-06-13T19:04:33.3468914+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/00006680-3197-4e1d-af58-eda435366a55"}, "CallConnected": {"id": "15ebe495-ca10-4f37-a9cf-547d4fbe990f", "source": "calling/callConnections/00006680-3197-4e1d-af58-eda435366a55", "type": "Microsoft.Communication.CallConnected", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "callConnectionId": "00006680-3197-4e1d-af58-eda435366a55", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9tUEJra1o3WGZrLUlSTlZQb1pNRFlRP2k9MTAtMTI4LTg1LTEzMyZlPTYzODg1MzUzNzgwMzQ5NjYyNg==", "correlationId": "0776eed0-d1df-4f88-be45-dd21d9fe5f92", "publicEventType": "Microsoft.Communication.CallConnected"}, "time": "2025-06-13T19:04:27.6749362+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/00006680-3197-4e1d-af58-eda435366a55"}, "CallDisconnected": {"id": "57f87ab6-0d67-4156-801d-a563245cb406", "source": "calling/callConnections/00006680-3197-4e1d-af58-eda435366a55", "type": "Microsoft.Communication.CallDisconnected", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 7000, "message": "The conversation has ended. DiagCode: 0#7000.@"}, "callConnectionId": "00006680-3197-4e1d-af58-eda435366a55", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9tUEJra1o3WGZrLUlSTlZQb1pNRFlRP2k9MTAtMTI4LTg1LTEzMyZlPTYzODg1MzUzNzgwMzQ5NjYyNg==", "correlationId": "0776eed0-d1df-4f88-be45-dd21d9fe5f92", "publicEventType": "Microsoft.Communication.CallDisconnected"}, "time": "2025-06-13T19:04:35.1102872+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/00006680-3197-4e1d-af58-eda435366a55"}} \ No newline at end of file diff --git a/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_interrupt_audio_and_announce_in_a_call.event.json b/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_interrupt_audio_and_announce_in_a_call.event.json index 086f19d923cb..9224b41d6517 100644 --- a/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_interrupt_audio_and_announce_in_a_call.event.json +++ b/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_interrupt_audio_and_announce_in_a_call.event.json @@ -1 +1 @@ -{"IncomingCall": {"to": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4522-484a-a1de-363a0d002891", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4522-484a-a1de-363a0d002891"}}, "from": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4522-472f-a1de-363a0d002890", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4522-472f-a1de-363a0d002890"}}, "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDUtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9RemRPa01FRmIwUy1MaDRZOWtacktRP2k9MTAtNjAtMjEtMjU0JmU9NjM4Nzc1Nzk3MzIwNTQ2MTg5", "callerDisplayName": "REDACTED", "incomingCallContext": "REDACTED", "correlationId": "bc35909c-2d4a-4121-9252-708544a67d0a"}, "ParticipantsUpdated": {"id": "769dbb7e-cb21-4d7b-ba10-bb788cf30ec3", "source": "calling/callConnections/05002380-6bf8-44b3-aed0-e84d312e7a71", "type": "Microsoft.Communication.ParticipantsUpdated", "data": {"participants": [{"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4522-484a-a1de-363a0d002891", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4522-484a-a1de-363a0d002891"}}, "isMuted": false, "isOnHold": false}, {"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4522-472f-a1de-363a0d002890", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4522-472f-a1de-363a0d002890"}}, "isMuted": false, "isOnHold": false}], "sequenceNumber": 5, "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "version": "2024-09-01-preview", "callConnectionId": "05002380-6bf8-44b3-aed0-e84d312e7a71", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDUtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9RemRPa01FRmIwUy1MaDRZOWtacktRP2k9MTAtNjAtMjEtMjU0JmU9NjM4Nzc1Nzk3MzIwNTQ2MTg5", "correlationId": "bc35909c-2d4a-4121-9252-708544a67d0a", "publicEventType": "Microsoft.Communication.ParticipantsUpdated"}, "time": "2025-03-17T17:57:35.0925048+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/05002380-6bf8-44b3-aed0-e84d312e7a71"}, "CallConnected": {"id": "6f4368c5-1ecd-4d8b-b884-4c941e2c7698", "source": "calling/callConnections/05002380-6bf8-44b3-aed0-e84d312e7a71", "type": "Microsoft.Communication.CallConnected", "data": {"version": "2024-09-01-preview", "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "callConnectionId": "05002380-6bf8-44b3-aed0-e84d312e7a71", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDUtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9RemRPa01FRmIwUy1MaDRZOWtacktRP2k9MTAtNjAtMjEtMjU0JmU9NjM4Nzc1Nzk3MzIwNTQ2MTg5", "correlationId": "bc35909c-2d4a-4121-9252-708544a67d0a", "publicEventType": "Microsoft.Communication.CallConnected"}, "time": "2025-03-17T17:57:22.2421936+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/05002380-6bf8-44b3-aed0-e84d312e7a71"}, "HoldAudioStarted": {"id": "1553bbd9-3417-41af-9a7e-6e00b5970e8c", "source": "calling/callConnections/05002380-6bf8-44b3-aed0-e84d312e7a71", "type": "Microsoft.Communication.HoldAudioStarted", "data": {"operationContext": "hold_add_target_participant", "resultInformation": {"code": 200, "subCode": 0, "message": "Action completed successfully."}, "version": "2024-09-01-preview", "callConnectionId": "05002380-6bf8-44b3-aed0-e84d312e7a71", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDUtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9RemRPa01FRmIwUy1MaDRZOWtacktRP2k9MTAtNjAtMjEtMjU0JmU9NjM4Nzc1Nzk3MzIwNTQ2MTg5", "correlationId": "bc35909c-2d4a-4121-9252-708544a67d0a", "publicEventType": "Microsoft.Communication.HoldAudioStarted"}, "time": "2025-03-17T17:57:26.5999695+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/05002380-6bf8-44b3-aed0-e84d312e7a71"}, "HoldAudioPaused": {"id": "fea82fd7-c23b-4cfb-8fbc-804e412996b2", "source": "calling/callConnections/05002380-6bf8-44b3-aed0-e84d312e7a71", "type": "Microsoft.Communication.HoldAudioPaused", "data": {"operationContext": "hold_add_target_participant", "resultInformation": {"code": 200, "subCode": 0, "message": "Action completed successfully."}, "version": "2024-09-01-preview", "callConnectionId": "05002380-6bf8-44b3-aed0-e84d312e7a71", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDUtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9RemRPa01FRmIwUy1MaDRZOWtacktRP2k9MTAtNjAtMjEtMjU0JmU9NjM4Nzc1Nzk3MzIwNTQ2MTg5", "correlationId": "bc35909c-2d4a-4121-9252-708544a67d0a", "publicEventType": "Microsoft.Communication.HoldAudioPaused"}, "time": "2025-03-17T17:57:28.7543353+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/05002380-6bf8-44b3-aed0-e84d312e7a71"}, "PlayStarted": {"id": "8b5ce3c8-fab2-4f1e-9d4d-6e27334f5fee", "source": "calling/callConnections/05002380-6bf8-44b3-aed0-e84d312e7a71", "type": "Microsoft.Communication.PlayStarted", "data": {"version": "2024-09-01-preview", "resultInformation": {"code": 200, "subCode": 0, "message": "Action completed successfully."}, "callConnectionId": "05002380-6bf8-44b3-aed0-e84d312e7a71", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDUtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9RemRPa01FRmIwUy1MaDRZOWtacktRP2k9MTAtNjAtMjEtMjU0JmU9NjM4Nzc1Nzk3MzIwNTQ2MTg5", "correlationId": "bc35909c-2d4a-4121-9252-708544a67d0a", "publicEventType": "Microsoft.Communication.PlayStarted"}, "time": "2025-03-17T17:57:28.7698552+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/05002380-6bf8-44b3-aed0-e84d312e7a71"}, "PlayCompleted": {"id": "88a2f0f0-cfbc-41ab-9111-ba798c2a0c97", "source": "calling/callConnections/05002380-6bf8-44b3-aed0-e84d312e7a71", "type": "Microsoft.Communication.PlayCompleted", "data": {"version": "2024-09-01-preview", "resultInformation": {"code": 200, "subCode": 0, "message": "Action completed successfully."}, "callConnectionId": "05002380-6bf8-44b3-aed0-e84d312e7a71", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDUtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9RemRPa01FRmIwUy1MaDRZOWtacktRP2k9MTAtNjAtMjEtMjU0JmU9NjM4Nzc1Nzk3MzIwNTQ2MTg5", "correlationId": "bc35909c-2d4a-4121-9252-708544a67d0a", "publicEventType": "Microsoft.Communication.PlayCompleted"}, "time": "2025-03-17T17:57:33.0380469+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/05002380-6bf8-44b3-aed0-e84d312e7a71"}, "HoldAudioResumed": {"id": "50404b1f-3e9e-443d-8766-a82685cfdebd", "source": "calling/callConnections/05002380-6bf8-44b3-aed0-e84d312e7a71", "type": "Microsoft.Communication.HoldAudioResumed", "data": {"operationContext": "hold_add_target_participant", "resultInformation": {"code": 200, "subCode": 0, "message": "Action completed successfully."}, "version": "2024-09-01-preview", "callConnectionId": "05002380-6bf8-44b3-aed0-e84d312e7a71", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDUtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9RemRPa01FRmIwUy1MaDRZOWtacktRP2k9MTAtNjAtMjEtMjU0JmU9NjM4Nzc1Nzk3MzIwNTQ2MTg5", "correlationId": "bc35909c-2d4a-4121-9252-708544a67d0a", "publicEventType": "Microsoft.Communication.HoldAudioResumed"}, "time": "2025-03-17T17:57:33.0380469+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/05002380-6bf8-44b3-aed0-e84d312e7a71"}, "HoldAudioCompleted": {"id": "799c5d75-e64d-4ae6-b15b-ea2d7dae73be", "source": "calling/callConnections/05002380-6bf8-44b3-aed0-e84d312e7a71", "type": "Microsoft.Communication.HoldAudioCompleted", "data": {"operationContext": "hold_add_target_participant", "resultInformation": {"code": 400, "subCode": 8508, "message": "Action falied, the operation was cancelled."}, "version": "2024-09-01-preview", "callConnectionId": "05002380-6bf8-44b3-aed0-e84d312e7a71", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDUtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9RemRPa01FRmIwUy1MaDRZOWtacktRP2k9MTAtNjAtMjEtMjU0JmU9NjM4Nzc1Nzk3MzIwNTQ2MTg5", "correlationId": "bc35909c-2d4a-4121-9252-708544a67d0a", "publicEventType": "Microsoft.Communication.HoldAudioCompleted"}, "time": "2025-03-17T17:57:34.9362001+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/05002380-6bf8-44b3-aed0-e84d312e7a71"}, "CallDisconnected": {"id": "ed6b7ed5-e7f9-4a72-b87f-d04f5c6bd986", "source": "calling/callConnections/05002380-6bf8-44b3-aed0-e84d312e7a71", "type": "Microsoft.Communication.CallDisconnected", "data": {"version": "2024-09-01-preview", "resultInformation": {"code": 200, "subCode": 7000, "message": "The conversation has ended. DiagCode: 0#7000.@"}, "callConnectionId": "05002380-6bf8-44b3-aed0-e84d312e7a71", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDUtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9RemRPa01FRmIwUy1MaDRZOWtacktRP2k9MTAtNjAtMjEtMjU0JmU9NjM4Nzc1Nzk3MzIwNTQ2MTg5", "correlationId": "bc35909c-2d4a-4121-9252-708544a67d0a", "publicEventType": "Microsoft.Communication.CallDisconnected"}, "time": "2025-03-17T17:57:37.436376+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/05002380-6bf8-44b3-aed0-e84d312e7a71"}} \ No newline at end of file +{"IncomingCall": {"to": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000027-94aa-1e8a-ce46-04bd4560487d", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000027-94aa-1e8a-ce46-04bd4560487d"}}, "from": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000027-94aa-1dcc-e84c-09bd4560025f", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000027-94aa-1dcc-e84c-09bd4560025f"}}, "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDEtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi92eTF1ZlhBUF9VaThLdlNZTGJfdnVnP2k9MTAtMTI4LTI4LTI0MyZlPTYzODgzMzcxODY5NDgxODM1OA==", "callerDisplayName": "REDACTED", "incomingCallContext": "REDACTED", "correlationId": "77232ca2-c9d4-4155-b52b-f4d22b504b0f"}, "ParticipantsUpdated": {"id": "fe078294-cdb4-43ff-bbbf-041f114fcdf0", "source": "calling/callConnections/57006580-ec96-4f06-a36a-30a0c778c7ab", "type": "Microsoft.Communication.ParticipantsUpdated", "data": {"participants": [{"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000027-94aa-1dcc-e84c-09bd4560025f", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000027-94aa-1dcc-e84c-09bd4560025f"}}, "isMuted": false, "isOnHold": false}, {"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000027-94aa-1e8a-ce46-04bd4560487d", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000027-94aa-1e8a-ce46-04bd4560487d"}}, "isMuted": false, "isOnHold": true}], "sequenceNumber": 3, "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "version": "2025-05-15", "callConnectionId": "57006580-ec96-4f06-a36a-30a0c778c7ab", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDEtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi92eTF1ZlhBUF9VaThLdlNZTGJfdnVnP2k9MTAtMTI4LTI4LTI0MyZlPTYzODgzMzcxODY5NDgxODM1OA==", "correlationId": "77232ca2-c9d4-4155-b52b-f4d22b504b0f", "publicEventType": "Microsoft.Communication.ParticipantsUpdated"}, "time": "2025-05-21T21:38:35.2003934+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/57006580-ec96-4f06-a36a-30a0c778c7ab"}, "CallConnected": {"id": "577f9e59-c8cc-4d37-b3e7-c1870093dd4d", "source": "calling/callConnections/57006580-ec96-4f06-a36a-30a0c778c7ab", "type": "Microsoft.Communication.CallConnected", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "callConnectionId": "57006580-ec96-4f06-a36a-30a0c778c7ab", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDEtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi92eTF1ZlhBUF9VaThLdlNZTGJfdnVnP2k9MTAtMTI4LTI4LTI0MyZlPTYzODgzMzcxODY5NDgxODM1OA==", "correlationId": "77232ca2-c9d4-4155-b52b-f4d22b504b0f", "publicEventType": "Microsoft.Communication.CallConnected"}, "time": "2025-05-21T21:38:29.8281748+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/57006580-ec96-4f06-a36a-30a0c778c7ab"}} \ No newline at end of file diff --git a/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_play_combined_file_and_text_sources_with_play_media.event.json b/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_play_combined_file_and_text_sources_with_play_media.event.json index cee6fe44d91e..f79fe4ca173e 100644 --- a/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_play_combined_file_and_text_sources_with_play_media.event.json +++ b/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_play_combined_file_and_text_sources_with_play_media.event.json @@ -1 +1 @@ -{"IncomingCall": {"to": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4520-2c1b-22da-363a0d00368a", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4520-2c1b-22da-363a0d00368a"}}, "from": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4520-2b27-22da-363a0d003689", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4520-2b27-22da-363a0d003689"}}, "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9acE83MEhmX3FVZTRqcmhWRXZOVVRRP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "callerDisplayName": "REDACTED", "incomingCallContext": "REDACTED", "correlationId": "073a2fe4-914d-417a-a4be-4869d0d4be24"}, "ParticipantsUpdated": {"id": "611a8556-1880-4f14-8fd8-45830a9cd5be", "source": "calling/callConnections/08002380-f7bc-43ea-b4f5-14414292b885", "type": "Microsoft.Communication.ParticipantsUpdated", "data": {"participants": [{"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4520-2b27-22da-363a0d003689", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4520-2b27-22da-363a0d003689"}}, "isMuted": false, "isOnHold": false}, {"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4520-2c1b-22da-363a0d00368a", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4520-2c1b-22da-363a0d00368a"}}, "isMuted": false, "isOnHold": false}], "sequenceNumber": 5, "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "version": "2024-09-01-preview", "callConnectionId": "08002380-f7bc-43ea-b4f5-14414292b885", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9acE83MEhmX3FVZTRqcmhWRXZOVVRRP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "073a2fe4-914d-417a-a4be-4869d0d4be24", "publicEventType": "Microsoft.Communication.ParticipantsUpdated"}, "time": "2025-03-17T17:55:14.1055842+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-f7bc-43ea-b4f5-14414292b885"}, "CallConnected": {"id": "e86f3afa-f74c-482d-ba2b-b4d2704a5d18", "source": "calling/callConnections/08002380-f7bc-43ea-b4f5-14414292b885", "type": "Microsoft.Communication.CallConnected", "data": {"version": "2024-09-01-preview", "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "callConnectionId": "08002380-f7bc-43ea-b4f5-14414292b885", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9acE83MEhmX3FVZTRqcmhWRXZOVVRRP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "073a2fe4-914d-417a-a4be-4869d0d4be24", "publicEventType": "Microsoft.Communication.CallConnected"}, "time": "2025-03-17T17:55:02.5421285+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-f7bc-43ea-b4f5-14414292b885"}, "PlayStarted": {"id": "a8dedee1-ff69-4f1a-a97b-ef1426ea64b9", "source": "calling/callConnections/08002380-f7bc-43ea-b4f5-14414292b885", "type": "Microsoft.Communication.PlayStarted", "data": {"version": "2024-09-01-preview", "resultInformation": {"code": 200, "subCode": 0, "message": "Action completed successfully."}, "callConnectionId": "08002380-f7bc-43ea-b4f5-14414292b885", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9acE83MEhmX3FVZTRqcmhWRXZOVVRRP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "073a2fe4-914d-417a-a4be-4869d0d4be24", "publicEventType": "Microsoft.Communication.PlayStarted"}, "time": "2025-03-17T17:55:07.7217822+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-f7bc-43ea-b4f5-14414292b885"}, "PlayCompleted": {"id": "41c9120d-5422-46dc-b32a-9091f2bc5e6e", "source": "calling/callConnections/08002380-f7bc-43ea-b4f5-14414292b885", "type": "Microsoft.Communication.PlayCompleted", "data": {"version": "2024-09-01-preview", "resultInformation": {"code": 200, "subCode": 0, "message": "Action completed successfully."}, "callConnectionId": "08002380-f7bc-43ea-b4f5-14414292b885", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9acE83MEhmX3FVZTRqcmhWRXZOVVRRP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "073a2fe4-914d-417a-a4be-4869d0d4be24", "publicEventType": "Microsoft.Communication.PlayCompleted"}, "time": "2025-03-17T17:55:14.0899548+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-f7bc-43ea-b4f5-14414292b885"}, "CallDisconnected": {"id": "ea2568fb-f801-4fb6-99c2-abd0d155c640", "source": "calling/callConnections/08002380-f7bc-43ea-b4f5-14414292b885", "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-f7bc-43ea-b4f5-14414292b885", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9acE83MEhmX3FVZTRqcmhWRXZOVVRRP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "073a2fe4-914d-417a-a4be-4869d0d4be24", "publicEventType": "Microsoft.Communication.CallDisconnected"}, "time": "2025-03-17T17:55:15.4898611+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-f7bc-43ea-b4f5-14414292b885"}} \ No newline at end of file +{"IncomingCall": {"to": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a93-16ce-ac46-04bd4560518b", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a93-16ce-ac46-04bd4560518b"}}, "from": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a93-1699-ac46-04bd4560518a", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a93-1699-ac46-04bd4560518a"}}, "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDItcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi85UlhxemdIdGNFS1A1ZkhRNHdnbENRP2k9MTAtNjAtMTExLTI0MCZlPTYzODg1MTgzOTkzMjk2MTM4NA==", "callerDisplayName": "REDACTED", "incomingCallContext": "REDACTED", "correlationId": "f1d5f17c-a02c-41f6-9475-3dfac3768c8d"}, "ParticipantsUpdated": {"id": "f1028473-4fa7-49da-b35e-eb04bf1f3b21", "source": "calling/callConnections/2c006980-821c-463c-a03b-4b6f8bb5f3ff", "type": "Microsoft.Communication.ParticipantsUpdated", "data": {"participants": [{"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a93-16ce-ac46-04bd4560518b", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a93-16ce-ac46-04bd4560518b"}}, "isMuted": false, "isOnHold": false}, {"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a93-1699-ac46-04bd4560518a", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a93-1699-ac46-04bd4560518a"}}, "isMuted": false, "isOnHold": false}], "sequenceNumber": 5, "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "version": "2025-05-15", "callConnectionId": "2c006980-821c-463c-a03b-4b6f8bb5f3ff", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDItcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi85UlhxemdIdGNFS1A1ZkhRNHdnbENRP2k9MTAtNjAtMTExLTI0MCZlPTYzODg1MTgzOTkzMjk2MTM4NA==", "correlationId": "f1d5f17c-a02c-41f6-9475-3dfac3768c8d", "publicEventType": "Microsoft.Communication.ParticipantsUpdated"}, "time": "2025-06-13T19:08:42.0285393+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/2c006980-821c-463c-a03b-4b6f8bb5f3ff"}, "CallConnected": {"id": "9553c5b6-32f9-4ae2-aebb-701efb10200b", "source": "calling/callConnections/2c006980-821c-463c-a03b-4b6f8bb5f3ff", "type": "Microsoft.Communication.CallConnected", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "callConnectionId": "2c006980-821c-463c-a03b-4b6f8bb5f3ff", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDItcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi85UlhxemdIdGNFS1A1ZkhRNHdnbENRP2k9MTAtNjAtMTExLTI0MCZlPTYzODg1MTgzOTkzMjk2MTM4NA==", "correlationId": "f1d5f17c-a02c-41f6-9475-3dfac3768c8d", "publicEventType": "Microsoft.Communication.CallConnected"}, "time": "2025-06-13T19:08:31.853237+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/2c006980-821c-463c-a03b-4b6f8bb5f3ff"}, "PlayStarted": {"id": "6e0e2c2c-4d1b-4528-94f9-cd24519bba6c", "source": "calling/callConnections/2c006980-821c-463c-a03b-4b6f8bb5f3ff", "type": "Microsoft.Communication.PlayStarted", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 0, "message": "Action completed successfully."}, "callConnectionId": "2c006980-821c-463c-a03b-4b6f8bb5f3ff", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDItcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi85UlhxemdIdGNFS1A1ZkhRNHdnbENRP2k9MTAtNjAtMTExLTI0MCZlPTYzODg1MTgzOTkzMjk2MTM4NA==", "correlationId": "f1d5f17c-a02c-41f6-9475-3dfac3768c8d", "publicEventType": "Microsoft.Communication.PlayStarted"}, "time": "2025-06-13T19:08:35.6268426+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/2c006980-821c-463c-a03b-4b6f8bb5f3ff"}, "PlayCompleted": {"id": "5f888ad5-4c5b-4b83-8d08-5d6e908e33af", "source": "calling/callConnections/2c006980-821c-463c-a03b-4b6f8bb5f3ff", "type": "Microsoft.Communication.PlayCompleted", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 0, "message": "Action completed successfully."}, "callConnectionId": "2c006980-821c-463c-a03b-4b6f8bb5f3ff", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDItcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi85UlhxemdIdGNFS1A1ZkhRNHdnbENRP2k9MTAtNjAtMTExLTI0MCZlPTYzODg1MTgzOTkzMjk2MTM4NA==", "correlationId": "f1d5f17c-a02c-41f6-9475-3dfac3768c8d", "publicEventType": "Microsoft.Communication.PlayCompleted"}, "time": "2025-06-13T19:08:42.0060669+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/2c006980-821c-463c-a03b-4b6f8bb5f3ff"}, "CallDisconnected": {"id": "951b5367-2efb-49b8-a759-0e5feee166dd", "source": "calling/callConnections/2c006980-821c-463c-a03b-4b6f8bb5f3ff", "type": "Microsoft.Communication.CallDisconnected", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 7000, "message": "The conversation has ended. DiagCode: 0#7000.@"}, "callConnectionId": "2c006980-821c-463c-a03b-4b6f8bb5f3ff", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDItcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi85UlhxemdIdGNFS1A1ZkhRNHdnbENRP2k9MTAtNjAtMTExLTI0MCZlPTYzODg1MTgzOTkzMjk2MTM4NA==", "correlationId": "f1d5f17c-a02c-41f6-9475-3dfac3768c8d", "publicEventType": "Microsoft.Communication.CallDisconnected"}, "time": "2025-06-13T19:08:42.5852123+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/2c006980-821c-463c-a03b-4b6f8bb5f3ff"}} \ No newline at end of file diff --git a/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_play_combined_file_and_text_sources_with_play_media_all.event.json b/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_play_combined_file_and_text_sources_with_play_media_all.event.json index c74e447966f8..03684ef730b6 100644 --- a/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_play_combined_file_and_text_sources_with_play_media_all.event.json +++ b/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_play_combined_file_and_text_sources_with_play_media_all.event.json @@ -1 +1 @@ -{"IncomingCall": {"to": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4520-8e62-22da-363a0d003694", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4520-8e62-22da-363a0d003694"}}, "from": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4520-8d68-22da-363a0d003693", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4520-8d68-22da-363a0d003693"}}, "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9qTm52RkU2bG4wU3lnUmpSNUFyNFNRP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "callerDisplayName": "REDACTED", "incomingCallContext": "REDACTED", "correlationId": "90d80b0a-bda7-4729-9cca-f03fb7343c7c"}, "ParticipantsUpdated": {"id": "8b543d87-3f3b-4150-b44c-55ae61443ff4", "source": "calling/callConnections/08002380-a2eb-4b9c-8345-53d444b30bf1", "type": "Microsoft.Communication.ParticipantsUpdated", "data": {"participants": [{"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4520-8d68-22da-363a0d003693", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4520-8d68-22da-363a0d003693"}}, "isMuted": false, "isOnHold": false}, {"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4520-8e62-22da-363a0d003694", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4520-8e62-22da-363a0d003694"}}, "isMuted": false, "isOnHold": false}], "sequenceNumber": 1, "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "version": "2024-09-01-preview", "callConnectionId": "08002380-a2eb-4b9c-8345-53d444b30bf1", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9qTm52RkU2bG4wU3lnUmpSNUFyNFNRP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "90d80b0a-bda7-4729-9cca-f03fb7343c7c", "publicEventType": "Microsoft.Communication.ParticipantsUpdated"}, "time": "2025-03-17T17:55:30.0331382+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-a2eb-4b9c-8345-53d444b30bf1"}, "CallConnected": {"id": "f2d92461-0d96-481a-8a55-3c3a1cfcd4f9", "source": "calling/callConnections/08002380-a2eb-4b9c-8345-53d444b30bf1", "type": "Microsoft.Communication.CallConnected", "data": {"version": "2024-09-01-preview", "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "callConnectionId": "08002380-a2eb-4b9c-8345-53d444b30bf1", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9qTm52RkU2bG4wU3lnUmpSNUFyNFNRP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "90d80b0a-bda7-4729-9cca-f03fb7343c7c", "publicEventType": "Microsoft.Communication.CallConnected"}, "time": "2025-03-17T17:55:30.0416595+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-a2eb-4b9c-8345-53d444b30bf1"}, "PlayStarted": {"id": "99ff4943-c829-4905-9096-71bf2ef090bf", "source": "calling/callConnections/08002380-a2eb-4b9c-8345-53d444b30bf1", "type": "Microsoft.Communication.PlayStarted", "data": {"version": "2024-09-01-preview", "resultInformation": {"code": 200, "subCode": 0, "message": "Action completed successfully."}, "callConnectionId": "08002380-a2eb-4b9c-8345-53d444b30bf1", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9qTm52RkU2bG4wU3lnUmpSNUFyNFNRP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "90d80b0a-bda7-4729-9cca-f03fb7343c7c", "publicEventType": "Microsoft.Communication.PlayStarted"}, "time": "2025-03-17T17:55:33.2416949+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-a2eb-4b9c-8345-53d444b30bf1"}, "PlayCompleted": {"id": "8bb6ddbd-7504-493c-b7be-2c46b7a90768", "source": "calling/callConnections/08002380-a2eb-4b9c-8345-53d444b30bf1", "type": "Microsoft.Communication.PlayCompleted", "data": {"version": "2024-09-01-preview", "resultInformation": {"code": 200, "subCode": 0, "message": "Action completed successfully."}, "callConnectionId": "08002380-a2eb-4b9c-8345-53d444b30bf1", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9qTm52RkU2bG4wU3lnUmpSNUFyNFNRP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "90d80b0a-bda7-4729-9cca-f03fb7343c7c", "publicEventType": "Microsoft.Communication.PlayCompleted"}, "time": "2025-03-17T17:55:39.5340546+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-a2eb-4b9c-8345-53d444b30bf1"}, "CallDisconnected": {"id": "0c6f5b5f-a387-44f8-a808-1ce34a899f2a", "source": "calling/callConnections/08002380-a2eb-4b9c-8345-53d444b30bf1", "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-a2eb-4b9c-8345-53d444b30bf1", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9qTm52RkU2bG4wU3lnUmpSNUFyNFNRP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "90d80b0a-bda7-4729-9cca-f03fb7343c7c", "publicEventType": "Microsoft.Communication.CallDisconnected"}, "time": "2025-03-17T17:55:41.0042467+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-a2eb-4b9c-8345-53d444b30bf1"}} \ No newline at end of file +{"IncomingCall": {"to": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a93-6d18-ac46-04bd45605191", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a93-6d18-ac46-04bd45605191"}}, "from": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a93-6cde-ac46-04bd45605190", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a93-6cde-ac46-04bd45605190"}}, "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDItcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9Ick9pQmtEamJFZUotcWR3N1c2el9BP2k9MTAtNjAtMTExLTI0MCZlPTYzODg1MTgzOTkzMjk2MTM4NA==", "callerDisplayName": "REDACTED", "incomingCallContext": "REDACTED", "correlationId": "4f27fc51-3036-43d4-9f9c-08b7c1aff024"}, "ParticipantsUpdated": {"id": "2c994ef6-fd64-412f-93ab-4e8cdc3fe491", "source": "calling/callConnections/2c006980-ccda-49b4-9754-631ceaddd19b", "type": "Microsoft.Communication.ParticipantsUpdated", "data": {"participants": [{"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a93-6d18-ac46-04bd45605191", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a93-6d18-ac46-04bd45605191"}}, "isMuted": false, "isOnHold": false}, {"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a93-6cde-ac46-04bd45605190", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a93-6cde-ac46-04bd45605190"}}, "isMuted": false, "isOnHold": false}], "sequenceNumber": 1, "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "version": "2025-05-15", "callConnectionId": "2c006980-ccda-49b4-9754-631ceaddd19b", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDItcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9Ick9pQmtEamJFZUotcWR3N1c2el9BP2k9MTAtNjAtMTExLTI0MCZlPTYzODg1MTgzOTkzMjk2MTM4NA==", "correlationId": "4f27fc51-3036-43d4-9f9c-08b7c1aff024", "publicEventType": "Microsoft.Communication.ParticipantsUpdated"}, "time": "2025-06-13T19:08:53.6831446+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/2c006980-ccda-49b4-9754-631ceaddd19b"}, "CallConnected": {"id": "1e21408f-24ed-4d63-b352-7b0b35cfcd53", "source": "calling/callConnections/2c006980-ccda-49b4-9754-631ceaddd19b", "type": "Microsoft.Communication.CallConnected", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "callConnectionId": "2c006980-ccda-49b4-9754-631ceaddd19b", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDItcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9Ick9pQmtEamJFZUotcWR3N1c2el9BP2k9MTAtNjAtMTExLTI0MCZlPTYzODg1MTgzOTkzMjk2MTM4NA==", "correlationId": "4f27fc51-3036-43d4-9f9c-08b7c1aff024", "publicEventType": "Microsoft.Communication.CallConnected"}, "time": "2025-06-13T19:08:53.809209+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/2c006980-ccda-49b4-9754-631ceaddd19b"}, "PlayStarted": {"id": "279a17d9-6c53-48b4-b5db-9bf307cbc867", "source": "calling/callConnections/2c006980-ccda-49b4-9754-631ceaddd19b", "type": "Microsoft.Communication.PlayStarted", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 0, "message": "Action completed successfully."}, "callConnectionId": "2c006980-ccda-49b4-9754-631ceaddd19b", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDItcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9Ick9pQmtEamJFZUotcWR3N1c2el9BP2k9MTAtNjAtMTExLTI0MCZlPTYzODg1MTgzOTkzMjk2MTM4NA==", "correlationId": "4f27fc51-3036-43d4-9f9c-08b7c1aff024", "publicEventType": "Microsoft.Communication.PlayStarted"}, "time": "2025-06-13T19:08:56.1522348+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/2c006980-ccda-49b4-9754-631ceaddd19b"}, "PlayCompleted": {"id": "c9c75b77-8d0a-4c42-8e2b-c58416689bbb", "source": "calling/callConnections/2c006980-ccda-49b4-9754-631ceaddd19b", "type": "Microsoft.Communication.PlayCompleted", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 0, "message": "Action completed successfully."}, "callConnectionId": "2c006980-ccda-49b4-9754-631ceaddd19b", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDItcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9Ick9pQmtEamJFZUotcWR3N1c2el9BP2k9MTAtNjAtMTExLTI0MCZlPTYzODg1MTgzOTkzMjk2MTM4NA==", "correlationId": "4f27fc51-3036-43d4-9f9c-08b7c1aff024", "publicEventType": "Microsoft.Communication.PlayCompleted"}, "time": "2025-06-13T19:09:02.4242918+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/2c006980-ccda-49b4-9754-631ceaddd19b"}, "CallDisconnected": {"id": "24c29255-8107-4d00-a3f4-233fbf33b26c", "source": "calling/callConnections/2c006980-ccda-49b4-9754-631ceaddd19b", "type": "Microsoft.Communication.CallDisconnected", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 7000, "message": "The conversation has ended. DiagCode: 0#7000.@"}, "callConnectionId": "2c006980-ccda-49b4-9754-631ceaddd19b", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDItcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9Ick9pQmtEamJFZUotcWR3N1c2el9BP2k9MTAtNjAtMTExLTI0MCZlPTYzODg1MTgzOTkzMjk2MTM4NA==", "correlationId": "4f27fc51-3036-43d4-9f9c-08b7c1aff024", "publicEventType": "Microsoft.Communication.CallDisconnected"}, "time": "2025-06-13T19:09:03.1419821+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/2c006980-ccda-49b4-9754-631ceaddd19b"}} \ No newline at end of file diff --git a/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_play_media_in_a_call.event.json b/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_play_media_in_a_call.event.json index 4c3e1b52fab2..d94f749a2db7 100644 --- a/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_play_media_in_a_call.event.json +++ b/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_play_media_in_a_call.event.json @@ -1 +1 @@ -{"IncomingCall": {"to": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451b-9491-08d5-363a0d001c74", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451b-9491-08d5-363a0d001c74"}}, "from": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451b-9394-08d5-363a0d001c73", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451b-9394-08d5-363a0d001c73"}}, "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi92blBJZUZSLVVVaUQ4OGFZd3BhWFV3P2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "callerDisplayName": "REDACTED", "incomingCallContext": "REDACTED", "correlationId": "e38edaf8-7152-4a48-8b64-69862d2daf20"}, "ParticipantsUpdated": {"id": "8bc6ccad-ec4a-4ea5-93ee-69f003049e84", "source": "calling/callConnections/08002380-5111-4054-a245-229083f436a1", "type": "Microsoft.Communication.ParticipantsUpdated", "data": {"participants": [{"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451b-9394-08d5-363a0d001c73", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451b-9394-08d5-363a0d001c73"}}, "isMuted": false, "isOnHold": false}, {"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451b-9491-08d5-363a0d001c74", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451b-9491-08d5-363a0d001c74"}}, "isMuted": false, "isOnHold": false}], "sequenceNumber": 1, "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "version": "2024-09-01-preview", "callConnectionId": "08002380-5111-4054-a245-229083f436a1", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi92blBJZUZSLVVVaUQ4OGFZd3BhWFV3P2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "e38edaf8-7152-4a48-8b64-69862d2daf20", "publicEventType": "Microsoft.Communication.ParticipantsUpdated"}, "time": "2025-03-17T17:50:02.9005712+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-5111-4054-a245-229083f436a1"}, "CallConnected": {"id": "e767dfab-2fbf-4441-b70a-41aa28a831b1", "source": "calling/callConnections/08002380-5111-4054-a245-229083f436a1", "type": "Microsoft.Communication.CallConnected", "data": {"version": "2024-09-01-preview", "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "callConnectionId": "08002380-5111-4054-a245-229083f436a1", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi92blBJZUZSLVVVaUQ4OGFZd3BhWFV3P2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "e38edaf8-7152-4a48-8b64-69862d2daf20", "publicEventType": "Microsoft.Communication.CallConnected"}, "time": "2025-03-17T17:50:03.0431559+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-5111-4054-a245-229083f436a1"}, "PlayStarted": {"id": "88fc43b5-776c-4a6b-b934-95e4e6c1eb39", "source": "calling/callConnections/08002380-5111-4054-a245-229083f436a1", "type": "Microsoft.Communication.PlayStarted", "data": {"version": "2024-09-01-preview", "resultInformation": {"code": 200, "subCode": 0, "message": "Action completed successfully."}, "callConnectionId": "08002380-5111-4054-a245-229083f436a1", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi92blBJZUZSLVVVaUQ4OGFZd3BhWFV3P2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "e38edaf8-7152-4a48-8b64-69862d2daf20", "publicEventType": "Microsoft.Communication.PlayStarted"}, "time": "2025-03-17T17:50:05.8429327+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-5111-4054-a245-229083f436a1"}, "PlayCompleted": {"id": "4baf9618-23b2-4c19-8f52-7d07f811491e", "source": "calling/callConnections/08002380-5111-4054-a245-229083f436a1", "type": "Microsoft.Communication.PlayCompleted", "data": {"version": "2024-09-01-preview", "resultInformation": {"code": 200, "subCode": 0, "message": "Action completed successfully."}, "callConnectionId": "08002380-5111-4054-a245-229083f436a1", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi92blBJZUZSLVVVaUQ4OGFZd3BhWFV3P2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "e38edaf8-7152-4a48-8b64-69862d2daf20", "publicEventType": "Microsoft.Communication.PlayCompleted"}, "time": "2025-03-17T17:50:10.0359494+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-5111-4054-a245-229083f436a1"}, "CallDisconnected": {"id": "bb681330-3911-472f-a363-dafb8309ccdb", "source": "calling/callConnections/08002380-5111-4054-a245-229083f436a1", "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-5111-4054-a245-229083f436a1", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi92blBJZUZSLVVVaUQ4OGFZd3BhWFV3P2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "e38edaf8-7152-4a48-8b64-69862d2daf20", "publicEventType": "Microsoft.Communication.CallDisconnected"}, "time": "2025-03-17T17:50:11.4872598+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-5111-4054-a245-229083f436a1"}} \ No newline at end of file +{"IncomingCall": {"to": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8f-1174-93f0-3a3a0d004e72", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8f-1174-93f0-3a3a0d004e72"}}, "from": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8f-1113-93f0-3a3a0d004e71", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8f-1113-93f0-3a3a0d004e71"}}, "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9DU04xQTlXOUIwbWM5SEtmekEzNF9nP2k9MTAtMTI4LTg1LTEzMyZlPTYzODg1MzUzNzgwMzQ5NjYyNg==", "callerDisplayName": "REDACTED", "incomingCallContext": "REDACTED", "correlationId": "a86319e5-40bd-4659-b6a6-81f7e20b0a80"}, "ParticipantsUpdated": {"id": "505b2364-9c7d-47a6-9074-e359b8bf099e", "source": "calling/callConnections/00006680-6638-49e3-b66e-df39cb1c128b", "type": "Microsoft.Communication.ParticipantsUpdated", "data": {"participants": [{"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8f-1113-93f0-3a3a0d004e71", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8f-1113-93f0-3a3a0d004e71"}}, "isMuted": false, "isOnHold": false}, {"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8f-1174-93f0-3a3a0d004e72", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8f-1174-93f0-3a3a0d004e72"}}, "isMuted": false, "isOnHold": false}], "sequenceNumber": 1, "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "version": "2025-05-15", "callConnectionId": "00006680-6638-49e3-b66e-df39cb1c128b", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9DU04xQTlXOUIwbWM5SEtmekEzNF9nP2k9MTAtMTI4LTg1LTEzMyZlPTYzODg1MzUzNzgwMzQ5NjYyNg==", "correlationId": "a86319e5-40bd-4659-b6a6-81f7e20b0a80", "publicEventType": "Microsoft.Communication.ParticipantsUpdated"}, "time": "2025-06-13T19:04:08.7063179+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/00006680-6638-49e3-b66e-df39cb1c128b"}, "CallConnected": {"id": "077857c1-ff5c-4200-9ec2-53423fac04cc", "source": "calling/callConnections/00006680-6638-49e3-b66e-df39cb1c128b", "type": "Microsoft.Communication.CallConnected", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "callConnectionId": "00006680-6638-49e3-b66e-df39cb1c128b", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9DU04xQTlXOUIwbWM5SEtmekEzNF9nP2k9MTAtMTI4LTg1LTEzMyZlPTYzODg1MzUzNzgwMzQ5NjYyNg==", "correlationId": "a86319e5-40bd-4659-b6a6-81f7e20b0a80", "publicEventType": "Microsoft.Communication.CallConnected"}, "time": "2025-06-13T19:04:08.8313851+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/00006680-6638-49e3-b66e-df39cb1c128b"}, "PlayStarted": {"id": "1a146456-4957-46a1-9f2c-6820a50e2b36", "source": "calling/callConnections/00006680-6638-49e3-b66e-df39cb1c128b", "type": "Microsoft.Communication.PlayStarted", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 0, "message": "Action completed successfully."}, "callConnectionId": "00006680-6638-49e3-b66e-df39cb1c128b", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9DU04xQTlXOUIwbWM5SEtmekEzNF9nP2k9MTAtMTI4LTg1LTEzMyZlPTYzODg1MzUzNzgwMzQ5NjYyNg==", "correlationId": "a86319e5-40bd-4659-b6a6-81f7e20b0a80", "publicEventType": "Microsoft.Communication.PlayStarted"}, "time": "2025-06-13T19:04:11.8735748+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/00006680-6638-49e3-b66e-df39cb1c128b"}, "PlayCompleted": {"id": "da159838-030f-47f0-930f-565e453b84f1", "source": "calling/callConnections/00006680-6638-49e3-b66e-df39cb1c128b", "type": "Microsoft.Communication.PlayCompleted", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 0, "message": "Action completed successfully."}, "callConnectionId": "00006680-6638-49e3-b66e-df39cb1c128b", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9DU04xQTlXOUIwbWM5SEtmekEzNF9nP2k9MTAtMTI4LTg1LTEzMyZlPTYzODg1MzUzNzgwMzQ5NjYyNg==", "correlationId": "a86319e5-40bd-4659-b6a6-81f7e20b0a80", "publicEventType": "Microsoft.Communication.PlayCompleted"}, "time": "2025-06-13T19:04:16.0846799+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/00006680-6638-49e3-b66e-df39cb1c128b"}, "CallDisconnected": {"id": "4380a8d9-f960-48f3-adac-226f355f4733", "source": "calling/callConnections/00006680-6638-49e3-b66e-df39cb1c128b", "type": "Microsoft.Communication.CallDisconnected", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 7000, "message": "The conversation has ended. DiagCode: 0#7000.@"}, "callConnectionId": "00006680-6638-49e3-b66e-df39cb1c128b", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9DU04xQTlXOUIwbWM5SEtmekEzNF9nP2k9MTAtMTI4LTg1LTEzMyZlPTYzODg1MzUzNzgwMzQ5NjYyNg==", "correlationId": "a86319e5-40bd-4659-b6a6-81f7e20b0a80", "publicEventType": "Microsoft.Communication.CallDisconnected"}, "time": "2025-06-13T19:04:16.4638433+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/00006680-6638-49e3-b66e-df39cb1c128b"}} \ No newline at end of file diff --git a/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_play_multiple_file_sources_with_operationcallbackurl_with_play_media.event.json b/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_play_multiple_file_sources_with_operationcallbackurl_with_play_media.event.json index fcb745afa15f..a19dff36c5e7 100644 --- a/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_play_multiple_file_sources_with_operationcallbackurl_with_play_media.event.json +++ b/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_play_multiple_file_sources_with_operationcallbackurl_with_play_media.event.json @@ -1 +1 @@ -{"IncomingCall": {"to": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451e-de2b-7dd3-363a0d0030a0", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451e-de2b-7dd3-363a0d0030a0"}}, "from": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451e-dd2f-7dd3-363a0d00309f", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451e-dd2f-7dd3-363a0d00309f"}}, "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9VLWowczNab2FFNmpiMkl3bElwakRRP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "callerDisplayName": "REDACTED", "incomingCallContext": "REDACTED", "correlationId": "97b93ca2-fd0e-42f8-8d73-010e6b1b869a"}, "ParticipantsUpdated": {"id": "d70b42f6-5dd2-4c8f-82d0-a5e168fa818b", "source": "calling/callConnections/08002380-c00e-49c3-9add-2ed830c59fc7", "type": "Microsoft.Communication.ParticipantsUpdated", "data": {"participants": [{"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451e-dd2f-7dd3-363a0d00309f", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451e-dd2f-7dd3-363a0d00309f"}}, "isMuted": false, "isOnHold": false}, {"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451e-de2b-7dd3-363a0d0030a0", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451e-de2b-7dd3-363a0d0030a0"}}, "isMuted": false, "isOnHold": false}], "sequenceNumber": 5, "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "version": "2024-09-01-preview", "callConnectionId": "08002380-c00e-49c3-9add-2ed830c59fc7", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9VLWowczNab2FFNmpiMkl3bElwakRRP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "97b93ca2-fd0e-42f8-8d73-010e6b1b869a", "publicEventType": "Microsoft.Communication.ParticipantsUpdated"}, "time": "2025-03-17T17:53:55.6056758+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-c00e-49c3-9add-2ed830c59fc7"}, "CallConnected": {"id": "af4e3733-ee38-48bb-a277-c4302b9e4a34", "source": "calling/callConnections/08002380-c00e-49c3-9add-2ed830c59fc7", "type": "Microsoft.Communication.CallConnected", "data": {"version": "2024-09-01-preview", "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "callConnectionId": "08002380-c00e-49c3-9add-2ed830c59fc7", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9VLWowczNab2FFNmpiMkl3bElwakRRP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "97b93ca2-fd0e-42f8-8d73-010e6b1b869a", "publicEventType": "Microsoft.Communication.CallConnected"}, "time": "2025-03-17T17:53:36.9541894+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-c00e-49c3-9add-2ed830c59fc7"}, "PlayStarted": {"id": "ff09dea1-2106-400a-a29d-3d071fcaa099", "source": "calling/callConnections/08002380-c00e-49c3-9add-2ed830c59fc7", "type": "Microsoft.Communication.PlayStarted", "data": {"version": "2024-09-01-preview", "resultInformation": {"code": 200, "subCode": 0, "message": "Action completed successfully."}, "callConnectionId": "08002380-c00e-49c3-9add-2ed830c59fc7", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9VLWowczNab2FFNmpiMkl3bElwakRRP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "97b93ca2-fd0e-42f8-8d73-010e6b1b869a", "publicEventType": "Microsoft.Communication.PlayStarted"}, "time": "2025-03-17T17:53:42.79364+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-c00e-49c3-9add-2ed830c59fc7"}, "PlayCompleted": {"id": "02225013-7d0e-463c-bb5a-7c323761a14a", "source": "calling/callConnections/08002380-c00e-49c3-9add-2ed830c59fc7", "type": "Microsoft.Communication.PlayCompleted", "data": {"version": "2024-09-01-preview", "resultInformation": {"code": 200, "subCode": 0, "message": "Action completed successfully."}, "callConnectionId": "08002380-c00e-49c3-9add-2ed830c59fc7", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9VLWowczNab2FFNmpiMkl3bElwakRRP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "97b93ca2-fd0e-42f8-8d73-010e6b1b869a", "publicEventType": "Microsoft.Communication.PlayCompleted"}, "time": "2025-03-17T17:53:55.5900233+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-c00e-49c3-9add-2ed830c59fc7"}, "CallDisconnected": {"id": "b1e7c4b5-db72-4416-a9d1-24c06d622048", "source": "calling/callConnections/08002380-c00e-49c3-9add-2ed830c59fc7", "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-c00e-49c3-9add-2ed830c59fc7", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9VLWowczNab2FFNmpiMkl3bElwakRRP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "97b93ca2-fd0e-42f8-8d73-010e6b1b869a", "publicEventType": "Microsoft.Communication.CallDisconnected"}, "time": "2025-03-17T17:53:56.8910951+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-c00e-49c3-9add-2ed830c59fc7"}} \ No newline at end of file +{"IncomingCall": {"to": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a91-f851-ac46-04bd45605172", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a91-f851-ac46-04bd45605172"}}, "from": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a91-f81c-ac46-04bd45605171", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a91-f81c-ac46-04bd45605171"}}, "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDItcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi8tMGxwX3pBZkpFV2NLMC1YYlM4MGRnP2k9MTAtNjAtMTExLTI0MCZlPTYzODg1MTgzOTkzMjk2MTM4NA==", "callerDisplayName": "REDACTED", "incomingCallContext": "REDACTED", "correlationId": "13f36af2-1635-4c84-a634-2f4d36c8a14c"}, "ParticipantsUpdated": {"id": "2a44b534-3688-4df9-a065-850ab484e360", "source": "calling/callConnections/2c006980-a359-410d-be45-993257ccfe69", "type": "Microsoft.Communication.ParticipantsUpdated", "data": {"participants": [{"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a91-f851-ac46-04bd45605172", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a91-f851-ac46-04bd45605172"}}, "isMuted": false, "isOnHold": false}, {"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a91-f81c-ac46-04bd45605171", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a91-f81c-ac46-04bd45605171"}}, "isMuted": false, "isOnHold": false}], "sequenceNumber": 5, "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "version": "2025-05-15", "callConnectionId": "2c006980-a359-410d-be45-993257ccfe69", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDItcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi8tMGxwX3pBZkpFV2NLMC1YYlM4MGRnP2k9MTAtNjAtMTExLTI0MCZlPTYzODg1MTgzOTkzMjk2MTM4NA==", "correlationId": "13f36af2-1635-4c84-a634-2f4d36c8a14c", "publicEventType": "Microsoft.Communication.ParticipantsUpdated"}, "time": "2025-06-13T19:07:35.5249222+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/2c006980-a359-410d-be45-993257ccfe69"}, "CallConnected": {"id": "2c1b1d3b-1720-4c4d-b452-0f1a0418ba8a", "source": "calling/callConnections/2c006980-a359-410d-be45-993257ccfe69", "type": "Microsoft.Communication.CallConnected", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "callConnectionId": "2c006980-a359-410d-be45-993257ccfe69", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDItcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi8tMGxwX3pBZkpFV2NLMC1YYlM4MGRnP2k9MTAtNjAtMTExLTI0MCZlPTYzODg1MTgzOTkzMjk2MTM4NA==", "correlationId": "13f36af2-1635-4c84-a634-2f4d36c8a14c", "publicEventType": "Microsoft.Communication.CallConnected"}, "time": "2025-06-13T19:07:18.6718305+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/2c006980-a359-410d-be45-993257ccfe69"}, "PlayStarted": {"id": "a0e953f1-f417-4faf-a2b7-e882d7fa5af1", "source": "calling/callConnections/2c006980-a359-410d-be45-993257ccfe69", "type": "Microsoft.Communication.PlayStarted", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 0, "message": "Action completed successfully."}, "callConnectionId": "2c006980-a359-410d-be45-993257ccfe69", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDItcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi8tMGxwX3pBZkpFV2NLMC1YYlM4MGRnP2k9MTAtNjAtMTExLTI0MCZlPTYzODg1MTgzOTkzMjk2MTM4NA==", "correlationId": "13f36af2-1635-4c84-a634-2f4d36c8a14c", "publicEventType": "Microsoft.Communication.PlayStarted"}, "time": "2025-06-13T19:07:22.6368659+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/2c006980-a359-410d-be45-993257ccfe69"}, "PlayCompleted": {"id": "caa039c5-1fdc-4a03-b61f-82ff21400f2e", "source": "calling/callConnections/2c006980-a359-410d-be45-993257ccfe69", "type": "Microsoft.Communication.PlayCompleted", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 0, "message": "Action completed successfully."}, "callConnectionId": "2c006980-a359-410d-be45-993257ccfe69", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDItcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi8tMGxwX3pBZkpFV2NLMC1YYlM4MGRnP2k9MTAtNjAtMTExLTI0MCZlPTYzODg1MTgzOTkzMjk2MTM4NA==", "correlationId": "13f36af2-1635-4c84-a634-2f4d36c8a14c", "publicEventType": "Microsoft.Communication.PlayCompleted"}, "time": "2025-06-13T19:07:35.5014789+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/2c006980-a359-410d-be45-993257ccfe69"}, "CallDisconnected": {"id": "7b12543a-6828-4fc9-aa06-f307b26dbe2d", "source": "calling/callConnections/2c006980-a359-410d-be45-993257ccfe69", "type": "Microsoft.Communication.CallDisconnected", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 7000, "message": "The conversation has ended. DiagCode: 0#7000.@"}, "callConnectionId": "2c006980-a359-410d-be45-993257ccfe69", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDItcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi8tMGxwX3pBZkpFV2NLMC1YYlM4MGRnP2k9MTAtNjAtMTExLTI0MCZlPTYzODg1MTgzOTkzMjk2MTM4NA==", "correlationId": "13f36af2-1635-4c84-a634-2f4d36c8a14c", "publicEventType": "Microsoft.Communication.CallDisconnected"}, "time": "2025-06-13T19:07:37.3759223+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/2c006980-a359-410d-be45-993257ccfe69"}} \ No newline at end of file diff --git a/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_play_multiple_file_sources_with_operationcallbackurl_with_play_media_all.event.json b/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_play_multiple_file_sources_with_operationcallbackurl_with_play_media_all.event.json index 6113d4c3ce8b..80a7f123c1f4 100644 --- a/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_play_multiple_file_sources_with_operationcallbackurl_with_play_media_all.event.json +++ b/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_play_multiple_file_sources_with_operationcallbackurl_with_play_media_all.event.json @@ -1 +1 @@ -{"IncomingCall": {"to": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451e-6ec9-7dd3-363a0d00308c", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451e-6ec9-7dd3-363a0d00308c"}}, "from": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451e-6dd0-7dd3-363a0d00308b", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451e-6dd0-7dd3-363a0d00308b"}}, "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi96NlRtd0VqRm5FZU9ZeWk3VVpOTDBRP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "callerDisplayName": "REDACTED", "incomingCallContext": "REDACTED", "correlationId": "c94be615-67f3-4a82-b5ed-06ad0b731710"}, "ParticipantsUpdated": {"id": "a5122b11-2d14-4b5f-8b38-8a2ae9d38135", "source": "calling/callConnections/08002380-80de-48e3-93b8-974a4469c7e9", "type": "Microsoft.Communication.ParticipantsUpdated", "data": {"participants": [{"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451e-6ec9-7dd3-363a0d00308c", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451e-6ec9-7dd3-363a0d00308c"}}, "isMuted": false, "isOnHold": false}, {"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451e-6dd0-7dd3-363a0d00308b", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451e-6dd0-7dd3-363a0d00308b"}}, "isMuted": false, "isOnHold": false}], "sequenceNumber": 1, "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "version": "2024-09-01-preview", "callConnectionId": "08002380-80de-48e3-93b8-974a4469c7e9", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi96NlRtd0VqRm5FZU9ZeWk3VVpOTDBRP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "c94be615-67f3-4a82-b5ed-06ad0b731710", "publicEventType": "Microsoft.Communication.ParticipantsUpdated"}, "time": "2025-03-17T17:53:08.5342399+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-80de-48e3-93b8-974a4469c7e9"}, "CallConnected": {"id": "8cfaf70a-d83c-4a2a-a534-1a498b6c7876", "source": "calling/callConnections/08002380-80de-48e3-93b8-974a4469c7e9", "type": "Microsoft.Communication.CallConnected", "data": {"version": "2024-09-01-preview", "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "callConnectionId": "08002380-80de-48e3-93b8-974a4469c7e9", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi96NlRtd0VqRm5FZU9ZeWk3VVpOTDBRP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "c94be615-67f3-4a82-b5ed-06ad0b731710", "publicEventType": "Microsoft.Communication.CallConnected"}, "time": "2025-03-17T17:53:08.6120871+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-80de-48e3-93b8-974a4469c7e9"}, "PlayStarted": {"id": "68045c1e-13f1-445c-b3c3-7526ac140f21", "source": "calling/callConnections/08002380-80de-48e3-93b8-974a4469c7e9", "type": "Microsoft.Communication.PlayStarted", "data": {"version": "2024-09-01-preview", "resultInformation": {"code": 200, "subCode": 0, "message": "Action completed successfully."}, "callConnectionId": "08002380-80de-48e3-93b8-974a4469c7e9", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi96NlRtd0VqRm5FZU9ZeWk3VVpOTDBRP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "c94be615-67f3-4a82-b5ed-06ad0b731710", "publicEventType": "Microsoft.Communication.PlayStarted"}, "time": "2025-03-17T17:53:12.0638024+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-80de-48e3-93b8-974a4469c7e9"}, "PlayCompleted": {"id": "930eadd7-f230-418a-8476-eb9be34052e3", "source": "calling/callConnections/08002380-80de-48e3-93b8-974a4469c7e9", "type": "Microsoft.Communication.PlayCompleted", "data": {"version": "2024-09-01-preview", "resultInformation": {"code": 200, "subCode": 0, "message": "Action completed successfully."}, "callConnectionId": "08002380-80de-48e3-93b8-974a4469c7e9", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi96NlRtd0VqRm5FZU9ZeWk3VVpOTDBRP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "c94be615-67f3-4a82-b5ed-06ad0b731710", "publicEventType": "Microsoft.Communication.PlayCompleted"}, "time": "2025-03-17T17:53:24.8566508+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-80de-48e3-93b8-974a4469c7e9"}, "CallDisconnected": {"id": "3457e75c-89bd-43b8-b764-044302c41c0e", "source": "calling/callConnections/08002380-80de-48e3-93b8-974a4469c7e9", "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-80de-48e3-93b8-974a4469c7e9", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi96NlRtd0VqRm5FZU9ZeWk3VVpOTDBRP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "c94be615-67f3-4a82-b5ed-06ad0b731710", "publicEventType": "Microsoft.Communication.CallDisconnected"}, "time": "2025-03-17T17:53:25.8837452+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-80de-48e3-93b8-974a4469c7e9"}} \ No newline at end of file +{"IncomingCall": {"to": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a91-9158-ac46-04bd4560516c", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a91-9158-ac46-04bd4560516c"}}, "from": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a91-8e4c-f6c7-593a0d004de6", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a91-8e4c-f6c7-593a0d004de6"}}, "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9td3BaaW0tUU4wdWNtckZycTdyT1VBP2k9MTAtMTI4LTk3LTE1MCZlPTYzODg1MzU0MTQ1Njg0MTI3OA==", "callerDisplayName": "REDACTED", "incomingCallContext": "REDACTED", "correlationId": "326f5bb2-5d09-4c66-b717-82818a4a02f4"}, "ParticipantsUpdated": {"id": "5bcf0084-701f-423d-9285-2ff20b506152", "source": "calling/callConnections/54006880-92d6-4337-844c-ae6ef72e29c1", "type": "Microsoft.Communication.ParticipantsUpdated", "data": {"participants": [{"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a91-8e4c-f6c7-593a0d004de6", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a91-8e4c-f6c7-593a0d004de6"}}, "isMuted": false, "isOnHold": false}, {"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a91-9158-ac46-04bd4560516c", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a91-9158-ac46-04bd4560516c"}}, "isMuted": false, "isOnHold": false}], "sequenceNumber": 1, "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "version": "2025-05-15", "callConnectionId": "54006880-92d6-4337-844c-ae6ef72e29c1", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9td3BaaW0tUU4wdWNtckZycTdyT1VBP2k9MTAtMTI4LTk3LTE1MCZlPTYzODg1MzU0MTQ1Njg0MTI3OA==", "correlationId": "326f5bb2-5d09-4c66-b717-82818a4a02f4", "publicEventType": "Microsoft.Communication.ParticipantsUpdated"}, "time": "2025-06-13T19:06:52.694108+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/54006880-92d6-4337-844c-ae6ef72e29c1"}, "CallConnected": {"id": "5e073023-832a-4b64-9d67-f90cf7ef4e5d", "source": "calling/callConnections/54006880-92d6-4337-844c-ae6ef72e29c1", "type": "Microsoft.Communication.CallConnected", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "callConnectionId": "54006880-92d6-4337-844c-ae6ef72e29c1", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9td3BaaW0tUU4wdWNtckZycTdyT1VBP2k9MTAtMTI4LTk3LTE1MCZlPTYzODg1MzU0MTQ1Njg0MTI3OA==", "correlationId": "326f5bb2-5d09-4c66-b717-82818a4a02f4", "publicEventType": "Microsoft.Communication.CallConnected"}, "time": "2025-06-13T19:06:52.7412001+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/54006880-92d6-4337-844c-ae6ef72e29c1"}, "PlayStarted": {"id": "86b0ef35-619c-4223-b812-7d3648e237fd", "source": "calling/callConnections/54006880-92d6-4337-844c-ae6ef72e29c1", "type": "Microsoft.Communication.PlayStarted", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 0, "message": "Action completed successfully."}, "callConnectionId": "54006880-92d6-4337-844c-ae6ef72e29c1", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9td3BaaW0tUU4wdWNtckZycTdyT1VBP2k9MTAtMTI4LTk3LTE1MCZlPTYzODg1MzU0MTQ1Njg0MTI3OA==", "correlationId": "326f5bb2-5d09-4c66-b717-82818a4a02f4", "publicEventType": "Microsoft.Communication.PlayStarted"}, "time": "2025-06-13T19:06:55.1315444+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/54006880-92d6-4337-844c-ae6ef72e29c1"}, "PlayCompleted": {"id": "ac199581-29fd-4174-bf65-f9977c51ad19", "source": "calling/callConnections/54006880-92d6-4337-844c-ae6ef72e29c1", "type": "Microsoft.Communication.PlayCompleted", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 0, "message": "Action completed successfully."}, "callConnectionId": "54006880-92d6-4337-844c-ae6ef72e29c1", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9td3BaaW0tUU4wdWNtckZycTdyT1VBP2k9MTAtMTI4LTk3LTE1MCZlPTYzODg1MzU0MTQ1Njg0MTI3OA==", "correlationId": "326f5bb2-5d09-4c66-b717-82818a4a02f4", "publicEventType": "Microsoft.Communication.PlayCompleted"}, "time": "2025-06-13T19:07:07.9111119+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/54006880-92d6-4337-844c-ae6ef72e29c1"}, "CallDisconnected": {"id": "3d80a3c7-8c5a-48a6-a7bb-eebb76be02ea", "source": "calling/callConnections/54006880-92d6-4337-844c-ae6ef72e29c1", "type": "Microsoft.Communication.CallDisconnected", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 7000, "message": "The conversation has ended. DiagCode: 0#7000.@"}, "callConnectionId": "54006880-92d6-4337-844c-ae6ef72e29c1", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9td3BaaW0tUU4wdWNtckZycTdyT1VBP2k9MTAtMTI4LTk3LTE1MCZlPTYzODg1MzU0MTQ1Njg0MTI3OA==", "correlationId": "326f5bb2-5d09-4c66-b717-82818a4a02f4", "publicEventType": "Microsoft.Communication.CallDisconnected"}, "time": "2025-06-13T19:07:08.1166398+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/54006880-92d6-4337-844c-ae6ef72e29c1"}} \ No newline at end of file diff --git a/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_play_multiple_file_sources_with_play_media.event.json b/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_play_multiple_file_sources_with_play_media.event.json index 9a4fddc4055e..810d362c44ca 100644 --- a/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_play_multiple_file_sources_with_play_media.event.json +++ b/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_play_multiple_file_sources_with_play_media.event.json @@ -1 +1 @@ -{"IncomingCall": {"to": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451d-e38e-28f4-343a0d002351", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451d-e38e-28f4-343a0d002351"}}, "from": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451d-e295-28f4-343a0d002350", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451d-e295-28f4-343a0d002350"}}, "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9lWkZXT3dYSFYwNkp5dXVIMHR4QVRnP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "callerDisplayName": "REDACTED", "incomingCallContext": "REDACTED", "correlationId": "aa114631-a1d9-4cac-98ee-a6334438ac53"}, "ParticipantsUpdated": {"id": "394ebc74-b268-4430-9b19-95527a7bfb3a", "source": "calling/callConnections/08002380-20eb-42a6-9705-439c04e558e5", "type": "Microsoft.Communication.ParticipantsUpdated", "data": {"participants": [{"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451d-e38e-28f4-343a0d002351", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451d-e38e-28f4-343a0d002351"}}, "isMuted": false, "isOnHold": false}, {"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451d-e295-28f4-343a0d002350", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451d-e295-28f4-343a0d002350"}}, "isMuted": false, "isOnHold": false}], "sequenceNumber": 5, "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "version": "2024-09-01-preview", "callConnectionId": "08002380-20eb-42a6-9705-439c04e558e5", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9lWkZXT3dYSFYwNkp5dXVIMHR4QVRnP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "aa114631-a1d9-4cac-98ee-a6334438ac53", "publicEventType": "Microsoft.Communication.ParticipantsUpdated"}, "time": "2025-03-17T17:52:54.2977625+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-20eb-42a6-9705-439c04e558e5"}, "CallConnected": {"id": "9b54bf70-fbae-4297-9eea-8f1749550a6e", "source": "calling/callConnections/08002380-20eb-42a6-9705-439c04e558e5", "type": "Microsoft.Communication.CallConnected", "data": {"version": "2024-09-01-preview", "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "callConnectionId": "08002380-20eb-42a6-9705-439c04e558e5", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9lWkZXT3dYSFYwNkp5dXVIMHR4QVRnP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "aa114631-a1d9-4cac-98ee-a6334438ac53", "publicEventType": "Microsoft.Communication.CallConnected"}, "time": "2025-03-17T17:52:34.8506105+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-20eb-42a6-9705-439c04e558e5"}, "PlayStarted": {"id": "3ee3ffe1-c750-42e7-b3aa-73b6d37bb8a2", "source": "calling/callConnections/08002380-20eb-42a6-9705-439c04e558e5", "type": "Microsoft.Communication.PlayStarted", "data": {"version": "2024-09-01-preview", "resultInformation": {"code": 200, "subCode": 0, "message": "Action completed successfully."}, "callConnectionId": "08002380-20eb-42a6-9705-439c04e558e5", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9lWkZXT3dYSFYwNkp5dXVIMHR4QVRnP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "aa114631-a1d9-4cac-98ee-a6334438ac53", "publicEventType": "Microsoft.Communication.PlayStarted"}, "time": "2025-03-17T17:52:41.3565461+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-20eb-42a6-9705-439c04e558e5"}, "PlayCompleted": {"id": "c173e66d-6654-485a-ac21-d74d1f65b207", "source": "calling/callConnections/08002380-20eb-42a6-9705-439c04e558e5", "type": "Microsoft.Communication.PlayCompleted", "data": {"version": "2024-09-01-preview", "resultInformation": {"code": 200, "subCode": 0, "message": "Action completed successfully."}, "callConnectionId": "08002380-20eb-42a6-9705-439c04e558e5", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9lWkZXT3dYSFYwNkp5dXVIMHR4QVRnP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "aa114631-a1d9-4cac-98ee-a6334438ac53", "publicEventType": "Microsoft.Communication.PlayCompleted"}, "time": "2025-03-17T17:52:54.2832139+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-20eb-42a6-9705-439c04e558e5"}, "CallDisconnected": {"id": "b6a72f0e-b131-4a72-8148-d89eab28bf24", "source": "calling/callConnections/08002380-20eb-42a6-9705-439c04e558e5", "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-20eb-42a6-9705-439c04e558e5", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9lWkZXT3dYSFYwNkp5dXVIMHR4QVRnP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "aa114631-a1d9-4cac-98ee-a6334438ac53", "publicEventType": "Microsoft.Communication.CallDisconnected"}, "time": "2025-03-17T17:52:55.1804336+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-20eb-42a6-9705-439c04e558e5"}} \ No newline at end of file +{"IncomingCall": {"to": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a91-19c2-f6c7-593a0d004de0", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a91-19c2-f6c7-593a0d004de0"}}, "from": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a91-198d-f6c7-593a0d004ddf", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a91-198d-f6c7-593a0d004ddf"}}, "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9CZVpHQU9IUm4wdWd5bU53WWpVTHRBP2k9MTAtMTI4LTg1LTEzMyZlPTYzODg1MzUzNzgwMzQ5NjYyNg==", "callerDisplayName": "REDACTED", "incomingCallContext": "REDACTED", "correlationId": "38f257d0-4bb9-44a0-b9f5-8c225d89d9f1"}, "ParticipantsUpdated": {"id": "57c07463-de5a-4352-a7b2-adec81553779", "source": "calling/callConnections/00006680-c61d-41cc-955f-e053b41fb1a7", "type": "Microsoft.Communication.ParticipantsUpdated", "data": {"participants": [{"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a91-198d-f6c7-593a0d004ddf", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a91-198d-f6c7-593a0d004ddf"}}, "isMuted": false, "isOnHold": false}, {"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a91-19c2-f6c7-593a0d004de0", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a91-19c2-f6c7-593a0d004de0"}}, "isMuted": false, "isOnHold": false}], "sequenceNumber": 5, "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "version": "2025-05-15", "callConnectionId": "00006680-c61d-41cc-955f-e053b41fb1a7", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9CZVpHQU9IUm4wdWd5bU53WWpVTHRBP2k9MTAtMTI4LTg1LTEzMyZlPTYzODg1MzUzNzgwMzQ5NjYyNg==", "correlationId": "38f257d0-4bb9-44a0-b9f5-8c225d89d9f1", "publicEventType": "Microsoft.Communication.ParticipantsUpdated"}, "time": "2025-06-13T19:06:39.1346946+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/00006680-c61d-41cc-955f-e053b41fb1a7"}, "CallConnected": {"id": "c905b08a-a248-42aa-b9d0-ced327267a91", "source": "calling/callConnections/00006680-c61d-41cc-955f-e053b41fb1a7", "type": "Microsoft.Communication.CallConnected", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "callConnectionId": "00006680-c61d-41cc-955f-e053b41fb1a7", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9CZVpHQU9IUm4wdWd5bU53WWpVTHRBP2k9MTAtMTI4LTg1LTEzMyZlPTYzODg1MzUzNzgwMzQ5NjYyNg==", "correlationId": "38f257d0-4bb9-44a0-b9f5-8c225d89d9f1", "publicEventType": "Microsoft.Communication.CallConnected"}, "time": "2025-06-13T19:06:22.2650047+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/00006680-c61d-41cc-955f-e053b41fb1a7"}, "PlayStarted": {"id": "34944134-6f3e-4b58-8c1a-3c24777ac12d", "source": "calling/callConnections/00006680-c61d-41cc-955f-e053b41fb1a7", "type": "Microsoft.Communication.PlayStarted", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 0, "message": "Action completed successfully."}, "callConnectionId": "00006680-c61d-41cc-955f-e053b41fb1a7", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9CZVpHQU9IUm4wdWd5bU53WWpVTHRBP2k9MTAtMTI4LTg1LTEzMyZlPTYzODg1MzUzNzgwMzQ5NjYyNg==", "correlationId": "38f257d0-4bb9-44a0-b9f5-8c225d89d9f1", "publicEventType": "Microsoft.Communication.PlayStarted"}, "time": "2025-06-13T19:06:26.2297449+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/00006680-c61d-41cc-955f-e053b41fb1a7"}, "PlayCompleted": {"id": "9bd408f7-b4dc-4f0b-89bc-cafa41680d2b", "source": "calling/callConnections/00006680-c61d-41cc-955f-e053b41fb1a7", "type": "Microsoft.Communication.PlayCompleted", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 0, "message": "Action completed successfully."}, "callConnectionId": "00006680-c61d-41cc-955f-e053b41fb1a7", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9CZVpHQU9IUm4wdWd5bU53WWpVTHRBP2k9MTAtMTI4LTg1LTEzMyZlPTYzODg1MzUzNzgwMzQ5NjYyNg==", "correlationId": "38f257d0-4bb9-44a0-b9f5-8c225d89d9f1", "publicEventType": "Microsoft.Communication.PlayCompleted"}, "time": "2025-06-13T19:06:39.0975322+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/00006680-c61d-41cc-955f-e053b41fb1a7"}, "CallDisconnected": {"id": "265fe871-845b-46eb-8e25-c379f2b656c8", "source": "calling/callConnections/00006680-c61d-41cc-955f-e053b41fb1a7", "type": "Microsoft.Communication.CallDisconnected", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 7000, "message": "The conversation has ended. DiagCode: 0#7000.@"}, "callConnectionId": "00006680-c61d-41cc-955f-e053b41fb1a7", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9CZVpHQU9IUm4wdWd5bU53WWpVTHRBP2k9MTAtMTI4LTg1LTEzMyZlPTYzODg1MzUzNzgwMzQ5NjYyNg==", "correlationId": "38f257d0-4bb9-44a0-b9f5-8c225d89d9f1", "publicEventType": "Microsoft.Communication.CallDisconnected"}, "time": "2025-06-13T19:06:40.0005096+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/00006680-c61d-41cc-955f-e053b41fb1a7"}} \ No newline at end of file diff --git a/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_play_multiple_file_sources_with_play_media_all.event.json b/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_play_multiple_file_sources_with_play_media_all.event.json index 084d6356fcd4..9353c8092a7f 100644 --- a/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_play_multiple_file_sources_with_play_media_all.event.json +++ b/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_play_multiple_file_sources_with_play_media_all.event.json @@ -1 +1 @@ -{"IncomingCall": {"to": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451d-630b-28f4-343a0d002349", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451d-630b-28f4-343a0d002349"}}, "from": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451d-5b4b-48d8-363a0d002ada", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451d-5b4b-48d8-363a0d002ada"}}, "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9PM05va3V4NmEwZXhzc1lOdEllbXdBP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "callerDisplayName": "REDACTED", "incomingCallContext": "REDACTED", "correlationId": "f7eb3442-b07e-43f7-a0b9-ef34bc39fe77"}, "ParticipantsUpdated": {"id": "662df1ee-a000-41d8-9987-033536c508a7", "source": "calling/callConnections/08002380-b5e9-4dbe-8dd8-68f605a6f2b1", "type": "Microsoft.Communication.ParticipantsUpdated", "data": {"participants": [{"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451d-630b-28f4-343a0d002349", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451d-630b-28f4-343a0d002349"}}, "isMuted": false, "isOnHold": false}, {"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451d-5b4b-48d8-363a0d002ada", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451d-5b4b-48d8-363a0d002ada"}}, "isMuted": false, "isOnHold": false}], "sequenceNumber": 1, "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "version": "2024-09-01-preview", "callConnectionId": "08002380-b5e9-4dbe-8dd8-68f605a6f2b1", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9PM05va3V4NmEwZXhzc1lOdEllbXdBP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "f7eb3442-b07e-43f7-a0b9-ef34bc39fe77", "publicEventType": "Microsoft.Communication.ParticipantsUpdated"}, "time": "2025-03-17T17:52:02.3057278+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-b5e9-4dbe-8dd8-68f605a6f2b1"}, "CallConnected": {"id": "52467ae1-7a1e-43c7-9469-ed2cf957ca64", "source": "calling/callConnections/08002380-b5e9-4dbe-8dd8-68f605a6f2b1", "type": "Microsoft.Communication.CallConnected", "data": {"version": "2024-09-01-preview", "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "callConnectionId": "08002380-b5e9-4dbe-8dd8-68f605a6f2b1", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9PM05va3V4NmEwZXhzc1lOdEllbXdBP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "f7eb3442-b07e-43f7-a0b9-ef34bc39fe77", "publicEventType": "Microsoft.Communication.CallConnected"}, "time": "2025-03-17T17:52:02.4302349+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-b5e9-4dbe-8dd8-68f605a6f2b1"}, "PlayStarted": {"id": "0b53b64b-12ee-44a0-adcc-dd58aabe8ade", "source": "calling/callConnections/08002380-b5e9-4dbe-8dd8-68f605a6f2b1", "type": "Microsoft.Communication.PlayStarted", "data": {"version": "2024-09-01-preview", "resultInformation": {"code": 200, "subCode": 0, "message": "Action completed successfully."}, "callConnectionId": "08002380-b5e9-4dbe-8dd8-68f605a6f2b1", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9PM05va3V4NmEwZXhzc1lOdEllbXdBP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "f7eb3442-b07e-43f7-a0b9-ef34bc39fe77", "publicEventType": "Microsoft.Communication.PlayStarted"}, "time": "2025-03-17T17:52:06.1266582+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-b5e9-4dbe-8dd8-68f605a6f2b1"}, "PlayCompleted": {"id": "265b8d60-f3f8-4258-814f-468d242c86a8", "source": "calling/callConnections/08002380-b5e9-4dbe-8dd8-68f605a6f2b1", "type": "Microsoft.Communication.PlayCompleted", "data": {"version": "2024-09-01-preview", "resultInformation": {"code": 200, "subCode": 0, "message": "Action completed successfully."}, "callConnectionId": "08002380-b5e9-4dbe-8dd8-68f605a6f2b1", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9PM05va3V4NmEwZXhzc1lOdEllbXdBP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "f7eb3442-b07e-43f7-a0b9-ef34bc39fe77", "publicEventType": "Microsoft.Communication.PlayCompleted"}, "time": "2025-03-17T17:52:18.9017156+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-b5e9-4dbe-8dd8-68f605a6f2b1"}, "CallDisconnected": {"id": "2c49b9dc-2f6c-47f1-b8eb-6fa4889fca1c", "source": "calling/callConnections/08002380-b5e9-4dbe-8dd8-68f605a6f2b1", "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-b5e9-4dbe-8dd8-68f605a6f2b1", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9PM05va3V4NmEwZXhzc1lOdEllbXdBP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "f7eb3442-b07e-43f7-a0b9-ef34bc39fe77", "publicEventType": "Microsoft.Communication.CallDisconnected"}, "time": "2025-03-17T17:52:20.3745372+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-b5e9-4dbe-8dd8-68f605a6f2b1"}} \ No newline at end of file +{"IncomingCall": {"to": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a90-a91c-f6c7-593a0d004dda", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a90-a91c-f6c7-593a0d004dda"}}, "from": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a90-a8d8-f6c7-593a0d004dd9", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a90-a8d8-f6c7-593a0d004dd9"}}, "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi84OUh6Z0tfalQwQ21Gc2dHU0JkRlRBP2k9MTAtMTI4LTg1LTEzMyZlPTYzODg1MzUzNzgwMzQ5NjYyNg==", "callerDisplayName": "REDACTED", "incomingCallContext": "REDACTED", "correlationId": "97dce412-a565-465f-bb95-8ba28e44d016"}, "ParticipantsUpdated": {"id": "23800ec3-2360-4e57-81a4-1e2d8d434a3e", "source": "calling/callConnections/00006680-fd1e-4d5c-bfda-83136fa68491", "type": "Microsoft.Communication.ParticipantsUpdated", "data": {"participants": [{"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a90-a91c-f6c7-593a0d004dda", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a90-a91c-f6c7-593a0d004dda"}}, "isMuted": false, "isOnHold": false}, {"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a90-a8d8-f6c7-593a0d004dd9", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a90-a8d8-f6c7-593a0d004dd9"}}, "isMuted": false, "isOnHold": false}], "sequenceNumber": 1, "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "version": "2025-05-15", "callConnectionId": "00006680-fd1e-4d5c-bfda-83136fa68491", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi84OUh6Z0tfalQwQ21Gc2dHU0JkRlRBP2k9MTAtMTI4LTg1LTEzMyZlPTYzODg1MzUzNzgwMzQ5NjYyNg==", "correlationId": "97dce412-a565-465f-bb95-8ba28e44d016", "publicEventType": "Microsoft.Communication.ParticipantsUpdated"}, "time": "2025-06-13T19:05:54.6583464+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/00006680-fd1e-4d5c-bfda-83136fa68491"}, "CallConnected": {"id": "9fcbb570-b250-430e-bfd8-83f055ee888f", "source": "calling/callConnections/00006680-fd1e-4d5c-bfda-83136fa68491", "type": "Microsoft.Communication.CallConnected", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "callConnectionId": "00006680-fd1e-4d5c-bfda-83136fa68491", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi84OUh6Z0tfalQwQ21Gc2dHU0JkRlRBP2k9MTAtMTI4LTg1LTEzMyZlPTYzODg1MzUzNzgwMzQ5NjYyNg==", "correlationId": "97dce412-a565-465f-bb95-8ba28e44d016", "publicEventType": "Microsoft.Communication.CallConnected"}, "time": "2025-06-13T19:05:54.7939859+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/00006680-fd1e-4d5c-bfda-83136fa68491"}, "PlayStarted": {"id": "bd697e59-88a2-4e37-9d50-731acd235453", "source": "calling/callConnections/00006680-fd1e-4d5c-bfda-83136fa68491", "type": "Microsoft.Communication.PlayStarted", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 0, "message": "Action completed successfully."}, "callConnectionId": "00006680-fd1e-4d5c-bfda-83136fa68491", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi84OUh6Z0tfalQwQ21Gc2dHU0JkRlRBP2k9MTAtMTI4LTg1LTEzMyZlPTYzODg1MzUzNzgwMzQ5NjYyNg==", "correlationId": "97dce412-a565-465f-bb95-8ba28e44d016", "publicEventType": "Microsoft.Communication.PlayStarted"}, "time": "2025-06-13T19:05:57.310941+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/00006680-fd1e-4d5c-bfda-83136fa68491"}, "PlayCompleted": {"id": "808d6bdb-1a1e-4d16-a770-815c4d555ab3", "source": "calling/callConnections/00006680-fd1e-4d5c-bfda-83136fa68491", "type": "Microsoft.Communication.PlayCompleted", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 0, "message": "Action completed successfully."}, "callConnectionId": "00006680-fd1e-4d5c-bfda-83136fa68491", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi84OUh6Z0tfalQwQ21Gc2dHU0JkRlRBP2k9MTAtMTI4LTg1LTEzMyZlPTYzODg1MzUzNzgwMzQ5NjYyNg==", "correlationId": "97dce412-a565-465f-bb95-8ba28e44d016", "publicEventType": "Microsoft.Communication.PlayCompleted"}, "time": "2025-06-13T19:06:10.0951769+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/00006680-fd1e-4d5c-bfda-83136fa68491"}, "CallDisconnected": {"id": "345ee4df-c350-4417-9682-4a8fdfec8e48", "source": "calling/callConnections/00006680-fd1e-4d5c-bfda-83136fa68491", "type": "Microsoft.Communication.CallDisconnected", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 7000, "message": "The conversation has ended. DiagCode: 0#7000.@"}, "callConnectionId": "00006680-fd1e-4d5c-bfda-83136fa68491", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi84OUh6Z0tfalQwQ21Gc2dHU0JkRlRBP2k9MTAtMTI4LTg1LTEzMyZlPTYzODg1MzUzNzgwMzQ5NjYyNg==", "correlationId": "97dce412-a565-465f-bb95-8ba28e44d016", "publicEventType": "Microsoft.Communication.CallDisconnected"}, "time": "2025-06-13T19:06:11.1792816+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/00006680-fd1e-4d5c-bfda-83136fa68491"}} \ No newline at end of file diff --git a/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_play_multiple_text_sources_with_play_media.event.json b/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_play_multiple_text_sources_with_play_media.event.json index bbbfb158e1ed..bbde1f454287 100644 --- a/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_play_multiple_text_sources_with_play_media.event.json +++ b/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_play_multiple_text_sources_with_play_media.event.json @@ -1 +1 @@ -{"IncomingCall": {"to": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451f-5b79-7dd3-363a0d0030b5", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451f-5b79-7dd3-363a0d0030b5"}}, "from": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451f-5a85-7dd3-363a0d0030b4", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451f-5a85-7dd3-363a0d0030b4"}}, "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9iV1hwZFZaZTVFT2NiNlpQVnJkM05BP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "callerDisplayName": "REDACTED", "incomingCallContext": "REDACTED", "correlationId": "fa189a69-cb84-4447-9a10-bf416c6e0bdb"}, "ParticipantsUpdated": {"id": "61ace638-31f2-4f00-af89-0e084cd59d00", "source": "calling/callConnections/08002380-dc01-4e65-a67d-64083ce09957", "type": "Microsoft.Communication.ParticipantsUpdated", "data": {"participants": [{"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451f-5a85-7dd3-363a0d0030b4", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451f-5a85-7dd3-363a0d0030b4"}}, "isMuted": false, "isOnHold": false}, {"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451f-5b79-7dd3-363a0d0030b5", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451f-5b79-7dd3-363a0d0030b5"}}, "isMuted": false, "isOnHold": false}], "sequenceNumber": 5, "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "version": "2024-09-01-preview", "callConnectionId": "08002380-dc01-4e65-a67d-64083ce09957", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9iV1hwZFZaZTVFT2NiNlpQVnJkM05BP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "fa189a69-cb84-4447-9a10-bf416c6e0bdb", "publicEventType": "Microsoft.Communication.ParticipantsUpdated"}, "time": "2025-03-17T17:54:24.2348363+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-dc01-4e65-a67d-64083ce09957"}, "CallConnected": {"id": "6616fbff-fbe2-4756-bf20-02725d18ad5f", "source": "calling/callConnections/08002380-dc01-4e65-a67d-64083ce09957", "type": "Microsoft.Communication.CallConnected", "data": {"version": "2024-09-01-preview", "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "callConnectionId": "08002380-dc01-4e65-a67d-64083ce09957", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9iV1hwZFZaZTVFT2NiNlpQVnJkM05BP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "fa189a69-cb84-4447-9a10-bf416c6e0bdb", "publicEventType": "Microsoft.Communication.CallConnected"}, "time": "2025-03-17T17:54:09.4210856+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-dc01-4e65-a67d-64083ce09957"}, "PlayStarted": {"id": "3627f804-3bf7-4c0c-8384-838f40039def", "source": "calling/callConnections/08002380-dc01-4e65-a67d-64083ce09957", "type": "Microsoft.Communication.PlayStarted", "data": {"version": "2024-09-01-preview", "resultInformation": {"code": 200, "subCode": 0, "message": "Action completed successfully."}, "callConnectionId": "08002380-dc01-4e65-a67d-64083ce09957", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9iV1hwZFZaZTVFT2NiNlpQVnJkM05BP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "fa189a69-cb84-4447-9a10-bf416c6e0bdb", "publicEventType": "Microsoft.Communication.PlayStarted"}, "time": "2025-03-17T17:54:17.4907917+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-dc01-4e65-a67d-64083ce09957"}, "PlayCompleted": {"id": "0c606e35-dd78-4170-8493-d94800654607", "source": "calling/callConnections/08002380-dc01-4e65-a67d-64083ce09957", "type": "Microsoft.Communication.PlayCompleted", "data": {"version": "2024-09-01-preview", "resultInformation": {"code": 200, "subCode": 0, "message": "Action completed successfully."}, "callConnectionId": "08002380-dc01-4e65-a67d-64083ce09957", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9iV1hwZFZaZTVFT2NiNlpQVnJkM05BP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "fa189a69-cb84-4447-9a10-bf416c6e0bdb", "publicEventType": "Microsoft.Communication.PlayCompleted"}, "time": "2025-03-17T17:54:24.2034995+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-dc01-4e65-a67d-64083ce09957"}, "CallDisconnected": {"id": "fbde6be6-b568-467a-9902-be32d8874cb0", "source": "calling/callConnections/08002380-dc01-4e65-a67d-64083ce09957", "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-dc01-4e65-a67d-64083ce09957", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9iV1hwZFZaZTVFT2NiNlpQVnJkM05BP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "fa189a69-cb84-4447-9a10-bf416c6e0bdb", "publicEventType": "Microsoft.Communication.CallDisconnected"}, "time": "2025-03-17T17:54:25.0932612+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-dc01-4e65-a67d-64083ce09957"}} \ No newline at end of file +{"IncomingCall": {"to": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a92-6b77-ac46-04bd4560517d", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a92-6b77-ac46-04bd4560517d"}}, "from": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a92-6b3a-ac46-04bd4560517c", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a92-6b3a-ac46-04bd4560517c"}}, "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9XaTU2TzFFN1NrZTN0N2V2UUw1WGhnP2k9MTAtNjAtMTUtMTg5JmU9NjM4ODUyNjkxOTcyNjcxMDcy", "callerDisplayName": "REDACTED", "incomingCallContext": "REDACTED", "correlationId": "aebf37f3-0e8f-4845-99fc-8f3216837702"}, "ParticipantsUpdated": {"id": "4581de5a-c695-441e-a7c7-9a3bbdb65239", "source": "calling/callConnections/2c006980-bd4f-496a-a1dd-2c9dfe55e719", "type": "Microsoft.Communication.ParticipantsUpdated", "data": {"participants": [{"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a92-6b77-ac46-04bd4560517d", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a92-6b77-ac46-04bd4560517d"}}, "isMuted": false, "isOnHold": false}, {"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a92-6b3a-ac46-04bd4560517c", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a92-6b3a-ac46-04bd4560517c"}}, "isMuted": false, "isOnHold": false}], "sequenceNumber": 5, "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "version": "2025-05-15", "callConnectionId": "2c006980-bd4f-496a-a1dd-2c9dfe55e719", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9XaTU2TzFFN1NrZTN0N2V2UUw1WGhnP2k9MTAtNjAtMTUtMTg5JmU9NjM4ODUyNjkxOTcyNjcxMDcy", "correlationId": "aebf37f3-0e8f-4845-99fc-8f3216837702", "publicEventType": "Microsoft.Communication.ParticipantsUpdated"}, "time": "2025-06-13T19:07:58.9777168+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/2c006980-bd4f-496a-a1dd-2c9dfe55e719"}, "CallConnected": {"id": "4ae68a39-fc2b-4b5e-a693-b0e52b9be22f", "source": "calling/callConnections/2c006980-bd4f-496a-a1dd-2c9dfe55e719", "type": "Microsoft.Communication.CallConnected", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "callConnectionId": "2c006980-bd4f-496a-a1dd-2c9dfe55e719", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9XaTU2TzFFN1NrZTN0N2V2UUw1WGhnP2k9MTAtNjAtMTUtMTg5JmU9NjM4ODUyNjkxOTcyNjcxMDcy", "correlationId": "aebf37f3-0e8f-4845-99fc-8f3216837702", "publicEventType": "Microsoft.Communication.CallConnected"}, "time": "2025-06-13T19:07:48.0273321+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/2c006980-bd4f-496a-a1dd-2c9dfe55e719"}, "PlayStarted": {"id": "1b49d359-71e0-4178-adfc-af2ee815cd63", "source": "calling/callConnections/2c006980-bd4f-496a-a1dd-2c9dfe55e719", "type": "Microsoft.Communication.PlayStarted", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 0, "message": "Action completed successfully."}, "callConnectionId": "2c006980-bd4f-496a-a1dd-2c9dfe55e719", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9XaTU2TzFFN1NrZTN0N2V2UUw1WGhnP2k9MTAtNjAtMTUtMTg5JmU9NjM4ODUyNjkxOTcyNjcxMDcy", "correlationId": "aebf37f3-0e8f-4845-99fc-8f3216837702", "publicEventType": "Microsoft.Communication.PlayStarted"}, "time": "2025-06-13T19:07:52.3163916+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/2c006980-bd4f-496a-a1dd-2c9dfe55e719"}, "PlayCompleted": {"id": "c9fbcd28-dea6-423f-90d1-12e16267ba3c", "source": "calling/callConnections/2c006980-bd4f-496a-a1dd-2c9dfe55e719", "type": "Microsoft.Communication.PlayCompleted", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 0, "message": "Action completed successfully."}, "callConnectionId": "2c006980-bd4f-496a-a1dd-2c9dfe55e719", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9XaTU2TzFFN1NrZTN0N2V2UUw1WGhnP2k9MTAtNjAtMTUtMTg5JmU9NjM4ODUyNjkxOTcyNjcxMDcy", "correlationId": "aebf37f3-0e8f-4845-99fc-8f3216837702", "publicEventType": "Microsoft.Communication.PlayCompleted"}, "time": "2025-06-13T19:07:58.9464697+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/2c006980-bd4f-496a-a1dd-2c9dfe55e719"}, "CallDisconnected": {"id": "a2874cf4-aa6c-4b12-853f-2591920ac634", "source": "calling/callConnections/2c006980-bd4f-496a-a1dd-2c9dfe55e719", "type": "Microsoft.Communication.CallDisconnected", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 7000, "message": "The conversation has ended. DiagCode: 0#7000.@"}, "callConnectionId": "2c006980-bd4f-496a-a1dd-2c9dfe55e719", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9XaTU2TzFFN1NrZTN0N2V2UUw1WGhnP2k9MTAtNjAtMTUtMTg5JmU9NjM4ODUyNjkxOTcyNjcxMDcy", "correlationId": "aebf37f3-0e8f-4845-99fc-8f3216837702", "publicEventType": "Microsoft.Communication.CallDisconnected"}, "time": "2025-06-13T19:07:59.8598226+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/2c006980-bd4f-496a-a1dd-2c9dfe55e719"}} \ No newline at end of file diff --git a/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_play_multiple_text_sources_with_play_media_all.event.json b/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_play_multiple_text_sources_with_play_media_all.event.json index fb6cf953ae5b..e96589c60606 100644 --- a/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_play_multiple_text_sources_with_play_media_all.event.json +++ b/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_play_multiple_text_sources_with_play_media_all.event.json @@ -1 +1 @@ -{"IncomingCall": {"to": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451f-ce87-0e04-343a0d00f0f3", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451f-ce87-0e04-343a0d00f0f3"}}, "from": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451f-cd86-0e04-343a0d00f0f2", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451f-cd86-0e04-343a0d00f0f2"}}, "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9kT0o2TzVYclIwNkFOQWRXREtaeG1nP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "callerDisplayName": "REDACTED", "incomingCallContext": "REDACTED", "correlationId": "f70df6d0-e168-47ce-9318-1b6ec14d0100"}, "CallConnected": {"id": "4556f380-6263-4a67-b21a-13362cbf287d", "source": "calling/callConnections/08002380-ea71-4672-90ab-215dce50ca43", "type": "Microsoft.Communication.CallConnected", "data": {"version": "2024-09-01-preview", "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "callConnectionId": "08002380-ea71-4672-90ab-215dce50ca43", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9kT0o2TzVYclIwNkFOQWRXREtaeG1nP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "f70df6d0-e168-47ce-9318-1b6ec14d0100", "publicEventType": "Microsoft.Communication.CallConnected"}, "time": "2025-03-17T17:54:38.2720769+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-ea71-4672-90ab-215dce50ca43"}, "ParticipantsUpdated": {"id": "2acd5b83-31a8-4296-83ad-7855f5a4bfb8", "source": "calling/callConnections/08002380-ea71-4672-90ab-215dce50ca43", "type": "Microsoft.Communication.ParticipantsUpdated", "data": {"participants": [{"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451f-cd86-0e04-343a0d00f0f2", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451f-cd86-0e04-343a0d00f0f2"}}, "isMuted": false, "isOnHold": false}, {"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451f-ce87-0e04-343a0d00f0f3", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451f-ce87-0e04-343a0d00f0f3"}}, "isMuted": false, "isOnHold": false}], "sequenceNumber": 1, "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "version": "2024-09-01-preview", "callConnectionId": "08002380-ea71-4672-90ab-215dce50ca43", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9kT0o2TzVYclIwNkFOQWRXREtaeG1nP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "f70df6d0-e168-47ce-9318-1b6ec14d0100", "publicEventType": "Microsoft.Communication.ParticipantsUpdated"}, "time": "2025-03-17T17:54:38.1936567+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-ea71-4672-90ab-215dce50ca43"}, "PlayStarted": {"id": "e259651e-1a41-4c46-8260-8ba1f6d74da8", "source": "calling/callConnections/08002380-ea71-4672-90ab-215dce50ca43", "type": "Microsoft.Communication.PlayStarted", "data": {"version": "2024-09-01-preview", "resultInformation": {"code": 200, "subCode": 0, "message": "Action completed successfully."}, "callConnectionId": "08002380-ea71-4672-90ab-215dce50ca43", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9kT0o2TzVYclIwNkFOQWRXREtaeG1nP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "f70df6d0-e168-47ce-9318-1b6ec14d0100", "publicEventType": "Microsoft.Communication.PlayStarted"}, "time": "2025-03-17T17:54:42.9615053+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-ea71-4672-90ab-215dce50ca43"}, "PlayCompleted": {"id": "cba91aef-751c-4c20-8488-ee37f44f1e08", "source": "calling/callConnections/08002380-ea71-4672-90ab-215dce50ca43", "type": "Microsoft.Communication.PlayCompleted", "data": {"version": "2024-09-01-preview", "resultInformation": {"code": 200, "subCode": 0, "message": "Action completed successfully."}, "callConnectionId": "08002380-ea71-4672-90ab-215dce50ca43", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9kT0o2TzVYclIwNkFOQWRXREtaeG1nP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "f70df6d0-e168-47ce-9318-1b6ec14d0100", "publicEventType": "Microsoft.Communication.PlayCompleted"}, "time": "2025-03-17T17:54:49.5164726+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-ea71-4672-90ab-215dce50ca43"}, "CallDisconnected": {"id": "002baf87-d973-46c6-a899-6af00c4cb81f", "source": "calling/callConnections/08002380-ea71-4672-90ab-215dce50ca43", "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-ea71-4672-90ab-215dce50ca43", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9kT0o2TzVYclIwNkFOQWRXREtaeG1nP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "f70df6d0-e168-47ce-9318-1b6ec14d0100", "publicEventType": "Microsoft.Communication.CallDisconnected"}, "time": "2025-03-17T17:54:50.5375822+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-ea71-4672-90ab-215dce50ca43"}} \ No newline at end of file +{"IncomingCall": {"to": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a92-c617-ac46-04bd45605183", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a92-c617-ac46-04bd45605183"}}, "from": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a92-c5e1-ac46-04bd45605182", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a92-c5e1-ac46-04bd45605182"}}, "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDItcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9EOVo4TXJQY2UwcV83SDFNWEZhWktRP2k9MTAtNjAtMTExLTI0MCZlPTYzODg1MTgzOTkzMjk2MTM4NA==", "callerDisplayName": "REDACTED", "incomingCallContext": "REDACTED", "correlationId": "24e7625e-eba4-4683-ac36-0b11a8d4dcf7"}, "ParticipantsUpdated": {"id": "a8c35614-76a0-47cf-a5ec-32c9ec1af7e9", "source": "calling/callConnections/2c006980-e818-4f91-bd34-88f70e4e5221", "type": "Microsoft.Communication.ParticipantsUpdated", "data": {"participants": [{"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a92-c617-ac46-04bd45605183", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a92-c617-ac46-04bd45605183"}}, "isMuted": false, "isOnHold": false}, {"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a92-c5e1-ac46-04bd45605182", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a92-c5e1-ac46-04bd45605182"}}, "isMuted": false, "isOnHold": false}], "sequenceNumber": 1, "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "version": "2025-05-15", "callConnectionId": "2c006980-e818-4f91-bd34-88f70e4e5221", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDItcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9EOVo4TXJQY2UwcV83SDFNWEZhWktRP2k9MTAtNjAtMTExLTI0MCZlPTYzODg1MTgzOTkzMjk2MTM4NA==", "correlationId": "24e7625e-eba4-4683-ac36-0b11a8d4dcf7", "publicEventType": "Microsoft.Communication.ParticipantsUpdated"}, "time": "2025-06-13T19:08:11.1336183+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/2c006980-e818-4f91-bd34-88f70e4e5221"}, "CallConnected": {"id": "20ec6973-d4e3-4749-8447-c084a227bc0c", "source": "calling/callConnections/2c006980-e818-4f91-bd34-88f70e4e5221", "type": "Microsoft.Communication.CallConnected", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "callConnectionId": "2c006980-e818-4f91-bd34-88f70e4e5221", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDItcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9EOVo4TXJQY2UwcV83SDFNWEZhWktRP2k9MTAtNjAtMTExLTI0MCZlPTYzODg1MTgzOTkzMjk2MTM4NA==", "correlationId": "24e7625e-eba4-4683-ac36-0b11a8d4dcf7", "publicEventType": "Microsoft.Communication.CallConnected"}, "time": "2025-06-13T19:08:11.2726832+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/2c006980-e818-4f91-bd34-88f70e4e5221"}, "PlayStarted": {"id": "f44329b7-a922-4cd0-b221-d16be157280a", "source": "calling/callConnections/2c006980-e818-4f91-bd34-88f70e4e5221", "type": "Microsoft.Communication.PlayStarted", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 0, "message": "Action completed successfully."}, "callConnectionId": "2c006980-e818-4f91-bd34-88f70e4e5221", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDItcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9EOVo4TXJQY2UwcV83SDFNWEZhWktRP2k9MTAtNjAtMTExLTI0MCZlPTYzODg1MTgzOTkzMjk2MTM4NA==", "correlationId": "24e7625e-eba4-4683-ac36-0b11a8d4dcf7", "publicEventType": "Microsoft.Communication.PlayStarted"}, "time": "2025-06-13T19:08:13.7639749+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/2c006980-e818-4f91-bd34-88f70e4e5221"}, "PlayCompleted": {"id": "372a4c13-07f9-4d7a-b5bb-0b4cd8198872", "source": "calling/callConnections/2c006980-e818-4f91-bd34-88f70e4e5221", "type": "Microsoft.Communication.PlayCompleted", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 0, "message": "Action completed successfully."}, "callConnectionId": "2c006980-e818-4f91-bd34-88f70e4e5221", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDItcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9EOVo4TXJQY2UwcV83SDFNWEZhWktRP2k9MTAtNjAtMTExLTI0MCZlPTYzODg1MTgzOTkzMjk2MTM4NA==", "correlationId": "24e7625e-eba4-4683-ac36-0b11a8d4dcf7", "publicEventType": "Microsoft.Communication.PlayCompleted"}, "time": "2025-06-13T19:08:20.317934+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/2c006980-e818-4f91-bd34-88f70e4e5221"}, "CallDisconnected": {"id": "40f89fd4-f89c-4de0-821e-c046445945a3", "source": "calling/callConnections/2c006980-e818-4f91-bd34-88f70e4e5221", "type": "Microsoft.Communication.CallDisconnected", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 7000, "message": "The conversation has ended. DiagCode: 0#7000.@"}, "callConnectionId": "2c006980-e818-4f91-bd34-88f70e4e5221", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDItcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9EOVo4TXJQY2UwcV83SDFNWEZhWktRP2k9MTAtNjAtMTExLTI0MCZlPTYzODg1MTgzOTkzMjk2MTM4NA==", "correlationId": "24e7625e-eba4-4683-ac36-0b11a8d4dcf7", "publicEventType": "Microsoft.Communication.CallDisconnected"}, "time": "2025-06-13T19:08:21.5423295+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/2c006980-e818-4f91-bd34-88f70e4e5221"}} \ No newline at end of file diff --git a/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_play_with_invalid_and_valid_file_sources_with_play_media.event.json b/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_play_with_invalid_and_valid_file_sources_with_play_media.event.json index 46664945f8c1..3ba326f9807e 100644 --- a/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_play_with_invalid_and_valid_file_sources_with_play_media.event.json +++ b/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_play_with_invalid_and_valid_file_sources_with_play_media.event.json @@ -1 +1 @@ -{"IncomingCall": {"to": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4521-f58a-28f4-343a0d0023d2", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4521-f58a-28f4-343a0d0023d2"}}, "from": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4521-f3ad-a1de-363a0d002885", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4521-f3ad-a1de-363a0d002885"}}, "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDUtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9PTWdUbGdsTENFR2ZkMGVkRHNhS0NnP2k9MTAtNjAtOC00NyZlPTYzODc3NTc5OTU2NTUwNjQ4OQ==", "callerDisplayName": "REDACTED", "incomingCallContext": "REDACTED", "correlationId": "9c64cdac-573a-442a-b4ea-3b5c421ced96"}, "ParticipantsUpdated": {"id": "94ccc9fc-7312-4aba-8b07-176261b78c49", "source": "calling/callConnections/05002380-78c2-479d-aecd-578b2b002145", "type": "Microsoft.Communication.ParticipantsUpdated", "data": {"participants": [{"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4521-f3ad-a1de-363a0d002885", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4521-f3ad-a1de-363a0d002885"}}, "isMuted": false, "isOnHold": false}, {"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4521-f58a-28f4-343a0d0023d2", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4521-f58a-28f4-343a0d0023d2"}}, "isMuted": false, "isOnHold": false}], "sequenceNumber": 5, "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "version": "2024-09-01-preview", "callConnectionId": "05002380-78c2-479d-aecd-578b2b002145", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDUtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9PTWdUbGdsTENFR2ZkMGVkRHNhS0NnP2k9MTAtNjAtOC00NyZlPTYzODc3NTc5OTU2NTUwNjQ4OQ==", "correlationId": "9c64cdac-573a-442a-b4ea-3b5c421ced96", "publicEventType": "Microsoft.Communication.ParticipantsUpdated"}, "time": "2025-03-17T17:57:06.9322194+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/05002380-78c2-479d-aecd-578b2b002145"}, "CallConnected": {"id": "67efc7e3-8937-4464-a18a-b77795ab54bc", "source": "calling/callConnections/05002380-78c2-479d-aecd-578b2b002145", "type": "Microsoft.Communication.CallConnected", "data": {"version": "2024-09-01-preview", "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "callConnectionId": "05002380-78c2-479d-aecd-578b2b002145", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDUtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9PTWdUbGdsTENFR2ZkMGVkRHNhS0NnP2k9MTAtNjAtOC00NyZlPTYzODc3NTc5OTU2NTUwNjQ4OQ==", "correlationId": "9c64cdac-573a-442a-b4ea-3b5c421ced96", "publicEventType": "Microsoft.Communication.CallConnected"}, "time": "2025-03-17T17:56:59.3747394+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/05002380-78c2-479d-aecd-578b2b002145"}, "PlayStarted": {"id": "08be100a-63bd-4b04-b971-c15dd740ed46", "source": "calling/callConnections/05002380-78c2-479d-aecd-578b2b002145", "type": "Microsoft.Communication.PlayStarted", "data": {"version": "2024-09-01-preview", "resultInformation": {"code": 200, "subCode": 0, "message": "Action completed successfully."}, "callConnectionId": "05002380-78c2-479d-aecd-578b2b002145", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDUtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9PTWdUbGdsTENFR2ZkMGVkRHNhS0NnP2k9MTAtNjAtOC00NyZlPTYzODc3NTc5OTU2NTUwNjQ4OQ==", "correlationId": "9c64cdac-573a-442a-b4ea-3b5c421ced96", "publicEventType": "Microsoft.Communication.PlayStarted"}, "time": "2025-03-17T17:57:02.6544889+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/05002380-78c2-479d-aecd-578b2b002145"}, "PlayFailed": {"id": "cec35ec6-9d00-4692-b547-2f43deeb4aca", "source": "calling/callConnections/05002380-78c2-479d-aecd-578b2b002145", "type": "Microsoft.Communication.PlayFailed", "data": {"failedPlaySourceIndex": 1, "version": "2024-09-01-preview", "resultInformation": {"code": 400, "subCode": 8535, "message": "Action failed, file format is invalid."}, "callConnectionId": "05002380-78c2-479d-aecd-578b2b002145", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDUtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9PTWdUbGdsTENFR2ZkMGVkRHNhS0NnP2k9MTAtNjAtOC00NyZlPTYzODc3NTc5OTU2NTUwNjQ4OQ==", "correlationId": "9c64cdac-573a-442a-b4ea-3b5c421ced96", "publicEventType": "Microsoft.Communication.PlayFailed"}, "time": "2025-03-17T17:57:06.903788+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/05002380-78c2-479d-aecd-578b2b002145"}, "CallDisconnected": {"id": "d9905d69-eeba-4b9c-826e-1075175db1cc", "source": "calling/callConnections/05002380-78c2-479d-aecd-578b2b002145", "type": "Microsoft.Communication.CallDisconnected", "data": {"version": "2024-09-01-preview", "resultInformation": {"code": 200, "subCode": 7000, "message": "The conversation has ended. DiagCode: 0#7000.@"}, "callConnectionId": "05002380-78c2-479d-aecd-578b2b002145", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDUtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9PTWdUbGdsTENFR2ZkMGVkRHNhS0NnP2k9MTAtNjAtOC00NyZlPTYzODc3NTc5OTU2NTUwNjQ4OQ==", "correlationId": "9c64cdac-573a-442a-b4ea-3b5c421ced96", "publicEventType": "Microsoft.Communication.CallDisconnected"}, "time": "2025-03-17T17:57:07.4994027+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/05002380-78c2-479d-aecd-578b2b002145"}} \ No newline at end of file +{"IncomingCall": {"to": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a94-7987-ac46-04bd456051a5", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a94-7987-ac46-04bd456051a5"}}, "from": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a94-794e-ac46-04bd456051a4", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a94-794e-ac46-04bd456051a4"}}, "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDItcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9nQW4xWDFQSUlFNjU3WjBkbHVlMVRRP2k9MTAtNjAtMTExLTI0MCZlPTYzODg1MTgzOTkzMjk2MTM4NA==", "callerDisplayName": "REDACTED", "incomingCallContext": "REDACTED", "correlationId": "5683b58d-bb85-4073-ae9a-c03488d4291d"}, "ParticipantsUpdated": {"id": "f60c8ba9-440f-48f6-8e28-1d803d96f2d5", "source": "calling/callConnections/2c006980-8ef1-46c2-84fa-357fefac0893", "type": "Microsoft.Communication.ParticipantsUpdated", "data": {"participants": [{"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a94-794e-ac46-04bd456051a4", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a94-794e-ac46-04bd456051a4"}}, "isMuted": false, "isOnHold": false}, {"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a94-7987-ac46-04bd456051a5", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a94-7987-ac46-04bd456051a5"}}, "isMuted": false, "isOnHold": false}], "sequenceNumber": 5, "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "version": "2025-05-15", "callConnectionId": "2c006980-8ef1-46c2-84fa-357fefac0893", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDItcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9nQW4xWDFQSUlFNjU3WjBkbHVlMVRRP2k9MTAtNjAtMTExLTI0MCZlPTYzODg1MTgzOTkzMjk2MTM4NA==", "correlationId": "5683b58d-bb85-4073-ae9a-c03488d4291d", "publicEventType": "Microsoft.Communication.ParticipantsUpdated"}, "time": "2025-06-13T19:10:11.5338153+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/2c006980-8ef1-46c2-84fa-357fefac0893"}, "CallConnected": {"id": "df0d2355-f3b4-4194-8b07-4d732878d05e", "source": "calling/callConnections/2c006980-8ef1-46c2-84fa-357fefac0893", "type": "Microsoft.Communication.CallConnected", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "callConnectionId": "2c006980-8ef1-46c2-84fa-357fefac0893", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDItcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9nQW4xWDFQSUlFNjU3WjBkbHVlMVRRP2k9MTAtNjAtMTExLTI0MCZlPTYzODg1MTgzOTkzMjk2MTM4NA==", "correlationId": "5683b58d-bb85-4073-ae9a-c03488d4291d", "publicEventType": "Microsoft.Communication.CallConnected"}, "time": "2025-06-13T19:10:03.0403181+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/2c006980-8ef1-46c2-84fa-357fefac0893"}, "PlayStarted": {"id": "cb53e17f-ac2d-4238-978a-41e3271d4e11", "source": "calling/callConnections/2c006980-8ef1-46c2-84fa-357fefac0893", "type": "Microsoft.Communication.PlayStarted", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 0, "message": "Action completed successfully."}, "callConnectionId": "2c006980-8ef1-46c2-84fa-357fefac0893", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDItcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9nQW4xWDFQSUlFNjU3WjBkbHVlMVRRP2k9MTAtNjAtMTExLTI0MCZlPTYzODg1MTgzOTkzMjk2MTM4NA==", "correlationId": "5683b58d-bb85-4073-ae9a-c03488d4291d", "publicEventType": "Microsoft.Communication.PlayStarted"}, "time": "2025-06-13T19:10:07.1802851+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/2c006980-8ef1-46c2-84fa-357fefac0893"}, "PlayFailed": {"id": "2b4eb3b7-20da-4059-aa62-5181a7687ad1", "source": "calling/callConnections/2c006980-8ef1-46c2-84fa-357fefac0893", "type": "Microsoft.Communication.PlayFailed", "data": {"failedPlaySourceIndex": 1, "version": "2025-05-15", "resultInformation": {"code": 400, "subCode": 8535, "message": "Action failed, file format is invalid."}, "callConnectionId": "2c006980-8ef1-46c2-84fa-357fefac0893", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDItcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9nQW4xWDFQSUlFNjU3WjBkbHVlMVRRP2k9MTAtNjAtMTExLTI0MCZlPTYzODg1MTgzOTkzMjk2MTM4NA==", "correlationId": "5683b58d-bb85-4073-ae9a-c03488d4291d", "publicEventType": "Microsoft.Communication.PlayFailed"}, "time": "2025-06-13T19:10:11.5338153+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/2c006980-8ef1-46c2-84fa-357fefac0893"}, "CallDisconnected": {"id": "a6576ec2-3ed6-40fa-8512-a64fea941f64", "source": "calling/callConnections/2c006980-8ef1-46c2-84fa-357fefac0893", "type": "Microsoft.Communication.CallDisconnected", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 7000, "message": "The conversation has ended. DiagCode: 0#7000.@"}, "callConnectionId": "2c006980-8ef1-46c2-84fa-357fefac0893", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDItcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9nQW4xWDFQSUlFNjU3WjBkbHVlMVRRP2k9MTAtNjAtMTExLTI0MCZlPTYzODg1MTgzOTkzMjk2MTM4NA==", "correlationId": "5683b58d-bb85-4073-ae9a-c03488d4291d", "publicEventType": "Microsoft.Communication.CallDisconnected"}, "time": "2025-06-13T19:10:12.924611+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/2c006980-8ef1-46c2-84fa-357fefac0893"}} \ No newline at end of file diff --git a/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_play_with_invalid_and_valid_file_sources_with_play_media_all.event.json b/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_play_with_invalid_and_valid_file_sources_with_play_media_all.event.json index ee346acf2b92..8d385f771f4a 100644 --- a/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_play_with_invalid_and_valid_file_sources_with_play_media_all.event.json +++ b/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_play_with_invalid_and_valid_file_sources_with_play_media_all.event.json @@ -1 +1 @@ -{"IncomingCall": {"to": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4521-4b54-28f4-343a0d0023b7", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4521-4b54-28f4-343a0d0023b7"}}, "from": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4521-4a22-a1de-363a0d00286d", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4521-4a22-a1de-363a0d00286d"}}, "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDUtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi90T2dQX1hkM05VbWljRzJzbldYRWFBP2k9MTAtNjAtMjEtMjU0JmU9NjM4Nzc1Nzk3MzIwNTQ2MTg5", "callerDisplayName": "REDACTED", "incomingCallContext": "REDACTED", "correlationId": "24925e88-684c-4cdc-8061-cc80fb313842"}, "ParticipantsUpdated": {"id": "7a25e3e1-60e4-4da6-93b9-ccf51f558056", "source": "calling/callConnections/05002380-fa8d-4748-92a1-a0da3f8d71ab", "type": "Microsoft.Communication.ParticipantsUpdated", "data": {"participants": [{"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4521-4b54-28f4-343a0d0023b7", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4521-4b54-28f4-343a0d0023b7"}}, "isMuted": false, "isOnHold": false}, {"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4521-4a22-a1de-363a0d00286d", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4521-4a22-a1de-363a0d00286d"}}, "isMuted": false, "isOnHold": false}], "sequenceNumber": 1, "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "version": "2024-09-01-preview", "callConnectionId": "05002380-fa8d-4748-92a1-a0da3f8d71ab", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDUtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi90T2dQX1hkM05VbWljRzJzbldYRWFBP2k9MTAtNjAtMjEtMjU0JmU9NjM4Nzc1Nzk3MzIwNTQ2MTg5", "correlationId": "24925e88-684c-4cdc-8061-cc80fb313842", "publicEventType": "Microsoft.Communication.ParticipantsUpdated"}, "time": "2025-03-17T17:56:18.1598041+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/05002380-fa8d-4748-92a1-a0da3f8d71ab"}, "CallConnected": {"id": "11e2e749-42d1-4b24-adb0-37d1199a2f25", "source": "calling/callConnections/05002380-fa8d-4748-92a1-a0da3f8d71ab", "type": "Microsoft.Communication.CallConnected", "data": {"version": "2024-09-01-preview", "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "callConnectionId": "05002380-fa8d-4748-92a1-a0da3f8d71ab", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDUtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi90T2dQX1hkM05VbWljRzJzbldYRWFBP2k9MTAtNjAtMjEtMjU0JmU9NjM4Nzc1Nzk3MzIwNTQ2MTg5", "correlationId": "24925e88-684c-4cdc-8061-cc80fb313842", "publicEventType": "Microsoft.Communication.CallConnected"}, "time": "2025-03-17T17:56:18.3487203+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/05002380-fa8d-4748-92a1-a0da3f8d71ab"}, "PlayStarted": {"id": "ca5ffd5a-c2cb-48c6-91e4-14f86f0d059e", "source": "calling/callConnections/05002380-fa8d-4748-92a1-a0da3f8d71ab", "type": "Microsoft.Communication.PlayStarted", "data": {"version": "2024-09-01-preview", "resultInformation": {"code": 200, "subCode": 0, "message": "Action completed successfully."}, "callConnectionId": "05002380-fa8d-4748-92a1-a0da3f8d71ab", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDUtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi90T2dQX1hkM05VbWljRzJzbldYRWFBP2k9MTAtNjAtMjEtMjU0JmU9NjM4Nzc1Nzk3MzIwNTQ2MTg5", "correlationId": "24925e88-684c-4cdc-8061-cc80fb313842", "publicEventType": "Microsoft.Communication.PlayStarted"}, "time": "2025-03-17T17:56:22.0772428+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/05002380-fa8d-4748-92a1-a0da3f8d71ab"}, "PlayFailed": {"id": "fc203ca7-b125-44aa-b195-3cb11591139a", "source": "calling/callConnections/05002380-fa8d-4748-92a1-a0da3f8d71ab", "type": "Microsoft.Communication.PlayFailed", "data": {"failedPlaySourceIndex": 1, "version": "2024-09-01-preview", "resultInformation": {"code": 400, "subCode": 8535, "message": "Action failed, file format is invalid."}, "callConnectionId": "05002380-fa8d-4748-92a1-a0da3f8d71ab", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDUtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi90T2dQX1hkM05VbWljRzJzbldYRWFBP2k9MTAtNjAtMjEtMjU0JmU9NjM4Nzc1Nzk3MzIwNTQ2MTg5", "correlationId": "24925e88-684c-4cdc-8061-cc80fb313842", "publicEventType": "Microsoft.Communication.PlayFailed"}, "time": "2025-03-17T17:56:26.3062036+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/05002380-fa8d-4748-92a1-a0da3f8d71ab"}, "CallDisconnected": {"id": "1c32ffe8-fca6-4e14-9c7d-b13b4982ea7e", "source": "calling/callConnections/05002380-fa8d-4748-92a1-a0da3f8d71ab", "type": "Microsoft.Communication.CallDisconnected", "data": {"version": "2024-09-01-preview", "resultInformation": {"code": 200, "subCode": 7000, "message": "The conversation has ended. DiagCode: 0#7000.@"}, "callConnectionId": "05002380-fa8d-4748-92a1-a0da3f8d71ab", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDUtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi90T2dQX1hkM05VbWljRzJzbldYRWFBP2k9MTAtNjAtMjEtMjU0JmU9NjM4Nzc1Nzk3MzIwNTQ2MTg5", "correlationId": "24925e88-684c-4cdc-8061-cc80fb313842", "publicEventType": "Microsoft.Communication.CallDisconnected"}, "time": "2025-03-17T17:56:27.7205974+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/05002380-fa8d-4748-92a1-a0da3f8d71ab"}} \ No newline at end of file +{"IncomingCall": {"to": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a93-ee84-ac46-04bd45605199", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a93-ee84-ac46-04bd45605199"}}, "from": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a93-ee4e-ac46-04bd45605198", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a93-ee4e-ac46-04bd45605198"}}, "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDItcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi95TGF5SFQxaEFVYVRTZ1dGU0Zpa2JRP2k9MTAtNjAtMTExLTI0MCZlPTYzODg1MTgzOTkzMjk2MTM4NA==", "callerDisplayName": "REDACTED", "incomingCallContext": "REDACTED", "correlationId": "06a5972a-fe6e-4f68-bf52-80ece42cd4e5"}, "ParticipantsUpdated": {"id": "1ff7b15c-7380-4c69-baf8-bbd508fef728", "source": "calling/callConnections/2c006980-7b11-4f00-b7d7-097535df22cb", "type": "Microsoft.Communication.ParticipantsUpdated", "data": {"participants": [{"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a93-ee4e-ac46-04bd45605198", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a93-ee4e-ac46-04bd45605198"}}, "isMuted": false, "isOnHold": false}, {"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a93-ee84-ac46-04bd45605199", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a93-ee84-ac46-04bd45605199"}}, "isMuted": false, "isOnHold": false}], "sequenceNumber": 1, "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "version": "2025-05-15", "callConnectionId": "2c006980-7b11-4f00-b7d7-097535df22cb", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDItcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi95TGF5SFQxaEFVYVRTZ1dGU0Zpa2JRP2k9MTAtNjAtMTExLTI0MCZlPTYzODg1MTgzOTkzMjk2MTM4NA==", "correlationId": "06a5972a-fe6e-4f68-bf52-80ece42cd4e5", "publicEventType": "Microsoft.Communication.ParticipantsUpdated"}, "time": "2025-06-13T19:09:26.898989+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/2c006980-7b11-4f00-b7d7-097535df22cb"}, "CallConnected": {"id": "6fe48426-da43-4348-8cd9-12dc8f44d7a9", "source": "calling/callConnections/2c006980-7b11-4f00-b7d7-097535df22cb", "type": "Microsoft.Communication.CallConnected", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "callConnectionId": "2c006980-7b11-4f00-b7d7-097535df22cb", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDItcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi95TGF5SFQxaEFVYVRTZ1dGU0Zpa2JRP2k9MTAtNjAtMTExLTI0MCZlPTYzODg1MTgzOTkzMjk2MTM4NA==", "correlationId": "06a5972a-fe6e-4f68-bf52-80ece42cd4e5", "publicEventType": "Microsoft.Communication.CallConnected"}, "time": "2025-06-13T19:09:27.041297+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/2c006980-7b11-4f00-b7d7-097535df22cb"}, "PlayStarted": {"id": "86c0d726-b987-4a9b-9403-52e3106f005a", "source": "calling/callConnections/2c006980-7b11-4f00-b7d7-097535df22cb", "type": "Microsoft.Communication.PlayStarted", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 0, "message": "Action completed successfully."}, "callConnectionId": "2c006980-7b11-4f00-b7d7-097535df22cb", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDItcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi95TGF5SFQxaEFVYVRTZ1dGU0Zpa2JRP2k9MTAtNjAtMTExLTI0MCZlPTYzODg1MTgzOTkzMjk2MTM4NA==", "correlationId": "06a5972a-fe6e-4f68-bf52-80ece42cd4e5", "publicEventType": "Microsoft.Communication.PlayStarted"}, "time": "2025-06-13T19:09:29.637896+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/2c006980-7b11-4f00-b7d7-097535df22cb"}, "PlayFailed": {"id": "ae1d0d68-6704-4db7-8f64-c102fa427611", "source": "calling/callConnections/2c006980-7b11-4f00-b7d7-097535df22cb", "type": "Microsoft.Communication.PlayFailed", "data": {"failedPlaySourceIndex": 1, "version": "2025-05-15", "resultInformation": {"code": 400, "subCode": 8535, "message": "Action failed, file format is invalid."}, "callConnectionId": "2c006980-7b11-4f00-b7d7-097535df22cb", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDItcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi95TGF5SFQxaEFVYVRTZ1dGU0Zpa2JRP2k9MTAtNjAtMTExLTI0MCZlPTYzODg1MTgzOTkzMjk2MTM4NA==", "correlationId": "06a5972a-fe6e-4f68-bf52-80ece42cd4e5", "publicEventType": "Microsoft.Communication.PlayFailed"}, "time": "2025-06-13T19:09:33.8653931+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/2c006980-7b11-4f00-b7d7-097535df22cb"}, "CallDisconnected": {"id": "fd9d9420-0d0b-4caf-8038-cfc8cde9c866", "source": "calling/callConnections/2c006980-7b11-4f00-b7d7-097535df22cb", "type": "Microsoft.Communication.CallDisconnected", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 7000, "message": "The conversation has ended. DiagCode: 0#7000.@"}, "callConnectionId": "2c006980-7b11-4f00-b7d7-097535df22cb", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDItcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi95TGF5SFQxaEFVYVRTZ1dGU0Zpa2JRP2k9MTAtNjAtMTExLTI0MCZlPTYzODg1MTgzOTkzMjk2MTM4NA==", "correlationId": "06a5972a-fe6e-4f68-bf52-80ece42cd4e5", "publicEventType": "Microsoft.Communication.CallDisconnected"}, "time": "2025-06-13T19:09:34.2745564+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/2c006980-7b11-4f00-b7d7-097535df22cb"}} \ No newline at end of file diff --git a/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_play_with_invalid_file_sources_with_play_media.event.json b/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_play_with_invalid_file_sources_with_play_media.event.json index bc1d88498f2f..5903c2d80434 100644 --- a/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_play_with_invalid_file_sources_with_play_media.event.json +++ b/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_play_with_invalid_file_sources_with_play_media.event.json @@ -1 +1 @@ -{"IncomingCall": {"to": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4521-a556-a1de-363a0d002879", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4521-a556-a1de-363a0d002879"}}, "from": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4521-a452-a1de-363a0d002878", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4521-a452-a1de-363a0d002878"}}, "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDUtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9XTU52My13aVBVQ1dQWHVIbElDNU5RP2k9MTAtNjAtMjEtMjU0JmU9NjM4Nzc1Nzk3MzIwNTQ2MTg5", "callerDisplayName": "REDACTED", "incomingCallContext": "REDACTED", "correlationId": "6111b61e-684a-423b-845a-9f415796a954"}, "ParticipantsUpdated": {"id": "3515273a-116d-435f-a338-e1f15be9dbd8", "source": "calling/callConnections/05002380-16b9-48c2-903f-40aa1c105fed", "type": "Microsoft.Communication.ParticipantsUpdated", "data": {"participants": [{"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4521-a452-a1de-363a0d002878", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4521-a452-a1de-363a0d002878"}}, "isMuted": false, "isOnHold": false}, {"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4521-a556-a1de-363a0d002879", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4521-a556-a1de-363a0d002879"}}, "isMuted": false, "isOnHold": false}], "sequenceNumber": 5, "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "version": "2024-09-01-preview", "callConnectionId": "05002380-16b9-48c2-903f-40aa1c105fed", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDUtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9XTU52My13aVBVQ1dQWHVIbElDNU5RP2k9MTAtNjAtMjEtMjU0JmU9NjM4Nzc1Nzk3MzIwNTQ2MTg5", "correlationId": "6111b61e-684a-423b-845a-9f415796a954", "publicEventType": "Microsoft.Communication.ParticipantsUpdated"}, "time": "2025-03-17T17:56:45.7614921+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/05002380-16b9-48c2-903f-40aa1c105fed"}, "CallConnected": {"id": "38ea5e02-3622-430d-9a85-96f4ac01a46f", "source": "calling/callConnections/05002380-16b9-48c2-903f-40aa1c105fed", "type": "Microsoft.Communication.CallConnected", "data": {"version": "2024-09-01-preview", "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "callConnectionId": "05002380-16b9-48c2-903f-40aa1c105fed", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDUtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9XTU52My13aVBVQ1dQWHVIbElDNU5RP2k9MTAtNjAtMjEtMjU0JmU9NjM4Nzc1Nzk3MzIwNTQ2MTg5", "correlationId": "6111b61e-684a-423b-845a-9f415796a954", "publicEventType": "Microsoft.Communication.CallConnected"}, "time": "2025-03-17T17:56:39.653955+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/05002380-16b9-48c2-903f-40aa1c105fed"}, "PlayFailed": {"id": "460559c6-cfca-4607-a8ff-262e2c9f2d95", "source": "calling/callConnections/05002380-16b9-48c2-903f-40aa1c105fed", "type": "Microsoft.Communication.PlayFailed", "data": {"failedPlaySourceIndex": 0, "version": "2024-09-01-preview", "resultInformation": {"code": 400, "subCode": 8535, "message": "Action failed, file format is invalid."}, "callConnectionId": "05002380-16b9-48c2-903f-40aa1c105fed", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDUtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9XTU52My13aVBVQ1dQWHVIbElDNU5RP2k9MTAtNjAtMjEtMjU0JmU9NjM4Nzc1Nzk3MzIwNTQ2MTg5", "correlationId": "6111b61e-684a-423b-845a-9f415796a954", "publicEventType": "Microsoft.Communication.PlayFailed"}, "time": "2025-03-17T17:56:45.745833+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/05002380-16b9-48c2-903f-40aa1c105fed"}, "CallDisconnected": {"id": "41d2bcb9-00a6-46f7-843e-9b2a9ec011b1", "source": "calling/callConnections/05002380-16b9-48c2-903f-40aa1c105fed", "type": "Microsoft.Communication.CallDisconnected", "data": {"version": "2024-09-01-preview", "resultInformation": {"code": 200, "subCode": 7000, "message": "The conversation has ended. DiagCode: 0#7000.@"}, "callConnectionId": "05002380-16b9-48c2-903f-40aa1c105fed", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDUtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9XTU52My13aVBVQ1dQWHVIbElDNU5RP2k9MTAtNjAtMjEtMjU0JmU9NjM4Nzc1Nzk3MzIwNTQ2MTg5", "correlationId": "6111b61e-684a-423b-845a-9f415796a954", "publicEventType": "Microsoft.Communication.CallDisconnected"}, "time": "2025-03-17T17:56:46.9855578+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/05002380-16b9-48c2-903f-40aa1c105fed"}} \ No newline at end of file +{"IncomingCall": {"to": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a94-3307-ac46-04bd456051a0", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a94-3307-ac46-04bd456051a0"}}, "from": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a94-32d0-ac46-04bd4560519f", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a94-32d0-ac46-04bd4560519f"}}, "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDItcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9mZDZHSHJHZ05FeWJfRC1VekF4cE93P2k9MTAtNjAtMTExLTI0MCZlPTYzODg1MTgzOTkzMjk2MTM4NA==", "callerDisplayName": "REDACTED", "incomingCallContext": "REDACTED", "correlationId": "de642c9f-9aa7-4135-9504-a1d0ce5b2a0a"}, "ParticipantsUpdated": {"id": "a035d107-b60a-4fbe-8536-7746ec67b7e7", "source": "calling/callConnections/2c006980-5a7d-4202-9efd-f09e957f5fb3", "type": "Microsoft.Communication.ParticipantsUpdated", "data": {"participants": [{"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a94-3307-ac46-04bd456051a0", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a94-3307-ac46-04bd456051a0"}}, "isMuted": false, "isOnHold": false}, {"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a94-32d0-ac46-04bd4560519f", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a94-32d0-ac46-04bd4560519f"}}, "isMuted": false, "isOnHold": false}], "sequenceNumber": 5, "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "version": "2025-05-15", "callConnectionId": "2c006980-5a7d-4202-9efd-f09e957f5fb3", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDItcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9mZDZHSHJHZ05FeWJfRC1VekF4cE93P2k9MTAtNjAtMTExLTI0MCZlPTYzODg1MTgzOTkzMjk2MTM4NA==", "correlationId": "de642c9f-9aa7-4135-9504-a1d0ce5b2a0a", "publicEventType": "Microsoft.Communication.ParticipantsUpdated"}, "time": "2025-06-13T19:09:49.4486792+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/2c006980-5a7d-4202-9efd-f09e957f5fb3"}, "CallConnected": {"id": "c87e569f-0d7d-4097-b948-64bc0364f2ff", "source": "calling/callConnections/2c006980-5a7d-4202-9efd-f09e957f5fb3", "type": "Microsoft.Communication.CallConnected", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "callConnectionId": "2c006980-5a7d-4202-9efd-f09e957f5fb3", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDItcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9mZDZHSHJHZ05FeWJfRC1VekF4cE93P2k9MTAtNjAtMTExLTI0MCZlPTYzODg1MTgzOTkzMjk2MTM4NA==", "correlationId": "de642c9f-9aa7-4135-9504-a1d0ce5b2a0a", "publicEventType": "Microsoft.Communication.CallConnected"}, "time": "2025-06-13T19:09:44.6664275+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/2c006980-5a7d-4202-9efd-f09e957f5fb3"}, "PlayFailed": {"id": "3b6b0057-affa-4fcf-96d6-eb33dcb8d493", "source": "calling/callConnections/2c006980-5a7d-4202-9efd-f09e957f5fb3", "type": "Microsoft.Communication.PlayFailed", "data": {"failedPlaySourceIndex": 0, "version": "2025-05-15", "resultInformation": {"code": 400, "subCode": 8535, "message": "Action failed, file format is invalid."}, "callConnectionId": "2c006980-5a7d-4202-9efd-f09e957f5fb3", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDItcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9mZDZHSHJHZ05FeWJfRC1VekF4cE93P2k9MTAtNjAtMTExLTI0MCZlPTYzODg1MTgzOTkzMjk2MTM4NA==", "correlationId": "de642c9f-9aa7-4135-9504-a1d0ce5b2a0a", "publicEventType": "Microsoft.Communication.PlayFailed"}, "time": "2025-06-13T19:09:49.4274034+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/2c006980-5a7d-4202-9efd-f09e957f5fb3"}, "CallDisconnected": {"id": "c7967b3c-19c8-4ec9-a1e0-704ce4d106b6", "source": "calling/callConnections/2c006980-5a7d-4202-9efd-f09e957f5fb3", "type": "Microsoft.Communication.CallDisconnected", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 7000, "message": "The conversation has ended. DiagCode: 0#7000.@"}, "callConnectionId": "2c006980-5a7d-4202-9efd-f09e957f5fb3", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDItcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9mZDZHSHJHZ05FeWJfRC1VekF4cE93P2k9MTAtNjAtMTExLTI0MCZlPTYzODg1MTgzOTkzMjk2MTM4NA==", "correlationId": "de642c9f-9aa7-4135-9504-a1d0ce5b2a0a", "publicEventType": "Microsoft.Communication.CallDisconnected"}, "time": "2025-06-13T19:09:51.1456006+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/2c006980-5a7d-4202-9efd-f09e957f5fb3"}} \ No newline at end of file diff --git a/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_play_with_invalid_file_sources_with_play_media_all.event.json b/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_play_with_invalid_file_sources_with_play_media_all.event.json index 9cda01169a87..feac7674fb5b 100644 --- a/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_play_with_invalid_file_sources_with_play_media_all.event.json +++ b/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_play_with_invalid_file_sources_with_play_media_all.event.json @@ -1 +1 @@ -{"IncomingCall": {"to": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4520-eee8-22da-363a0d0036ac", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4520-eee8-22da-363a0d0036ac"}}, "from": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4520-edee-22da-363a0d0036ab", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4520-edee-22da-363a0d0036ab"}}, "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9KMGh3TnU1S2lrZUkzWTE1NGhlNTZ3P2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "callerDisplayName": "REDACTED", "incomingCallContext": "REDACTED", "correlationId": "62bf93d1-6920-4d56-8189-bce693bc3518"}, "ParticipantsUpdated": {"id": "9617a02c-3100-4828-b2d6-cfe459efa192", "source": "calling/callConnections/08002380-9de8-4f37-9d87-8e50086bd443", "type": "Microsoft.Communication.ParticipantsUpdated", "data": {"participants": [{"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4520-edee-22da-363a0d0036ab", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4520-edee-22da-363a0d0036ab"}}, "isMuted": false, "isOnHold": false}, {"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4520-eee8-22da-363a0d0036ac", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-4520-eee8-22da-363a0d0036ac"}}, "isMuted": false, "isOnHold": false}], "sequenceNumber": 1, "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "version": "2024-09-01-preview", "callConnectionId": "08002380-9de8-4f37-9d87-8e50086bd443", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9KMGh3TnU1S2lrZUkzWTE1NGhlNTZ3P2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "62bf93d1-6920-4d56-8189-bce693bc3518", "publicEventType": "Microsoft.Communication.ParticipantsUpdated"}, "time": "2025-03-17T17:55:56.8882867+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-9de8-4f37-9d87-8e50086bd443"}, "CallConnected": {"id": "deab4de2-e3ea-4e11-af76-b6652589ab26", "source": "calling/callConnections/08002380-9de8-4f37-9d87-8e50086bd443", "type": "Microsoft.Communication.CallConnected", "data": {"version": "2024-09-01-preview", "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "callConnectionId": "08002380-9de8-4f37-9d87-8e50086bd443", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9KMGh3TnU1S2lrZUkzWTE1NGhlNTZ3P2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "62bf93d1-6920-4d56-8189-bce693bc3518", "publicEventType": "Microsoft.Communication.CallConnected"}, "time": "2025-03-17T17:55:56.8882867+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-9de8-4f37-9d87-8e50086bd443"}, "PlayFailed": {"id": "cb4dd5f7-69f3-48df-80b0-de15b9f24313", "source": "calling/callConnections/08002380-9de8-4f37-9d87-8e50086bd443", "type": "Microsoft.Communication.PlayFailed", "data": {"failedPlaySourceIndex": 0, "version": "2024-09-01-preview", "resultInformation": {"code": 400, "subCode": 8535, "message": "Action failed, file format is invalid."}, "callConnectionId": "08002380-9de8-4f37-9d87-8e50086bd443", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9KMGh3TnU1S2lrZUkzWTE1NGhlNTZ3P2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "62bf93d1-6920-4d56-8189-bce693bc3518", "publicEventType": "Microsoft.Communication.PlayFailed"}, "time": "2025-03-17T17:56:00.5713865+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-9de8-4f37-9d87-8e50086bd443"}, "CallDisconnected": {"id": "c9b64919-5f16-4c2f-887a-00ef5e9204d6", "source": "calling/callConnections/08002380-9de8-4f37-9d87-8e50086bd443", "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-9de8-4f37-9d87-8e50086bd443", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9KMGh3TnU1S2lrZUkzWTE1NGhlNTZ3P2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "62bf93d1-6920-4d56-8189-bce693bc3518", "publicEventType": "Microsoft.Communication.CallDisconnected"}, "time": "2025-03-17T17:56:02.2400873+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-9de8-4f37-9d87-8e50086bd443"}} \ No newline at end of file +{"IncomingCall": {"to": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a93-b919-ac46-04bd45605194", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a93-b919-ac46-04bd45605194"}}, "from": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a93-b8e3-ac46-04bd45605193", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a93-b8e3-ac46-04bd45605193"}}, "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDItcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9JRi1MalFFeS1VQ05kMkxpX1V1M0V3P2k9MTAtNjAtMTExLTI0MCZlPTYzODg1MTgzOTkzMjk2MTM4NA==", "callerDisplayName": "REDACTED", "incomingCallContext": "REDACTED", "correlationId": "4f33561d-59ce-476e-8530-1c18edb64bf0"}, "ParticipantsUpdated": {"id": "3b0b85ea-e1c8-4903-a004-1790c5b94c9d", "source": "calling/callConnections/2c006980-9b7a-4062-981b-c9e1dbbb3199", "type": "Microsoft.Communication.ParticipantsUpdated", "data": {"participants": [{"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a93-b8e3-ac46-04bd45605193", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a93-b8e3-ac46-04bd45605193"}}, "isMuted": false, "isOnHold": false}, {"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a93-b919-ac46-04bd45605194", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a93-b919-ac46-04bd45605194"}}, "isMuted": false, "isOnHold": false}], "sequenceNumber": 1, "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "version": "2025-05-15", "callConnectionId": "2c006980-9b7a-4062-981b-c9e1dbbb3199", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDItcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9JRi1MalFFeS1VQ05kMkxpX1V1M0V3P2k9MTAtNjAtMTExLTI0MCZlPTYzODg1MTgzOTkzMjk2MTM4NA==", "correlationId": "4f33561d-59ce-476e-8530-1c18edb64bf0", "publicEventType": "Microsoft.Communication.ParticipantsUpdated"}, "time": "2025-06-13T19:09:13.2768115+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/2c006980-9b7a-4062-981b-c9e1dbbb3199"}, "CallConnected": {"id": "00fc9599-9df7-43d2-abef-634ee789ff24", "source": "calling/callConnections/2c006980-9b7a-4062-981b-c9e1dbbb3199", "type": "Microsoft.Communication.CallConnected", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "callConnectionId": "2c006980-9b7a-4062-981b-c9e1dbbb3199", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDItcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9JRi1MalFFeS1VQ05kMkxpX1V1M0V3P2k9MTAtNjAtMTExLTI0MCZlPTYzODg1MTgzOTkzMjk2MTM4NA==", "correlationId": "4f33561d-59ce-476e-8530-1c18edb64bf0", "publicEventType": "Microsoft.Communication.CallConnected"}, "time": "2025-06-13T19:09:13.4334865+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/2c006980-9b7a-4062-981b-c9e1dbbb3199"}, "PlayFailed": {"id": "822719e3-6aae-4b46-a0e9-117d05b2a048", "source": "calling/callConnections/2c006980-9b7a-4062-981b-c9e1dbbb3199", "type": "Microsoft.Communication.PlayFailed", "data": {"failedPlaySourceIndex": 0, "version": "2025-05-15", "resultInformation": {"code": 400, "subCode": 8535, "message": "Action failed, file format is invalid."}, "callConnectionId": "2c006980-9b7a-4062-981b-c9e1dbbb3199", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDItcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9JRi1MalFFeS1VQ05kMkxpX1V1M0V3P2k9MTAtNjAtMTExLTI0MCZlPTYzODg1MTgzOTkzMjk2MTM4NA==", "correlationId": "4f33561d-59ce-476e-8530-1c18edb64bf0", "publicEventType": "Microsoft.Communication.PlayFailed"}, "time": "2025-06-13T19:09:16.0003366+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/2c006980-9b7a-4062-981b-c9e1dbbb3199"}, "CallDisconnected": {"id": "b336d6ea-d261-4373-ac11-7ba4cafc4dad", "source": "calling/callConnections/2c006980-9b7a-4062-981b-c9e1dbbb3199", "type": "Microsoft.Communication.CallDisconnected", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 7000, "message": "The conversation has ended. DiagCode: 0#7000.@"}, "callConnectionId": "2c006980-9b7a-4062-981b-c9e1dbbb3199", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDItcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9JRi1MalFFeS1VQ05kMkxpX1V1M0V3P2k9MTAtNjAtMTExLTI0MCZlPTYzODg1MTgzOTkzMjk2MTM4NA==", "correlationId": "4f33561d-59ce-476e-8530-1c18edb64bf0", "publicEventType": "Microsoft.Communication.CallDisconnected"}, "time": "2025-06-13T19:09:16.7342458+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/2c006980-9b7a-4062-981b-c9e1dbbb3199"}} \ No newline at end of file diff --git a/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_start_stop_media_streaming_in_a_call.event.json b/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_start_stop_media_streaming_in_a_call.event.json index 958da273c71e..05135a1163df 100644 --- a/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_start_stop_media_streaming_in_a_call.event.json +++ b/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_start_stop_media_streaming_in_a_call.event.json @@ -1 +1 @@ -{"IncomingCall": {"to": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451c-9053-48d8-363a0d002aad", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451c-9053-48d8-363a0d002aad"}}, "from": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451c-8f59-48d8-363a0d002aac", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451c-8f59-48d8-363a0d002aac"}}, "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9kaFhsN1lId0xVLVB6YUpsWTR5VmNBP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "callerDisplayName": "REDACTED", "incomingCallContext": "REDACTED", "correlationId": "ecd5ab77-5b8e-4db7-ac16-57d0461c07eb"}, "ParticipantsUpdated": {"id": "34ad0bb7-95cf-4d1b-b155-46ecb6fe5136", "source": "calling/callConnections/08002380-f03a-488b-a39f-cd7e0636713f", "type": "Microsoft.Communication.ParticipantsUpdated", "data": {"participants": [{"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451c-8f59-48d8-363a0d002aac", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451c-8f59-48d8-363a0d002aac"}}, "isMuted": false, "isOnHold": false}, {"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451c-9053-48d8-363a0d002aad", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451c-9053-48d8-363a0d002aad"}}, "isMuted": false, "isOnHold": false}], "sequenceNumber": 1, "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "version": "2024-09-01-preview", "callConnectionId": "08002380-f03a-488b-a39f-cd7e0636713f", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9kaFhsN1lId0xVLVB6YUpsWTR5VmNBP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "ecd5ab77-5b8e-4db7-ac16-57d0461c07eb", "publicEventType": "Microsoft.Communication.ParticipantsUpdated"}, "time": "2025-03-17T17:51:05.8900196+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-f03a-488b-a39f-cd7e0636713f"}, "CallConnected": {"id": "a72b6a47-3413-424b-b218-030ea6e5e2b2", "source": "calling/callConnections/08002380-f03a-488b-a39f-cd7e0636713f", "type": "Microsoft.Communication.CallConnected", "data": {"version": "2024-09-01-preview", "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "callConnectionId": "08002380-f03a-488b-a39f-cd7e0636713f", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9kaFhsN1lId0xVLVB6YUpsWTR5VmNBP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "ecd5ab77-5b8e-4db7-ac16-57d0461c07eb", "publicEventType": "Microsoft.Communication.CallConnected"}, "time": "2025-03-17T17:51:06.0312973+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-f03a-488b-a39f-cd7e0636713f"}, "MediaStreamingStarted": {"id": "fe1be4c8-fdab-405f-94b9-a3e39ac3aef3", "source": "calling/callConnections/08002380-f03a-488b-a39f-cd7e0636713f", "type": "Microsoft.Communication.MediaStreamingStarted", "data": {"mediaStreamingUpdate": {"contentType": "Audio", "mediaStreamingStatus": "mediaStreamingStarted", "mediaStreamingStatusDetails": "subscriptionStarted"}, "version": "2024-09-01-preview", "resultInformation": {"code": 200, "subCode": 0, "message": "Action completed successfully."}, "callConnectionId": "08002380-f03a-488b-a39f-cd7e0636713f", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9kaFhsN1lId0xVLVB6YUpsWTR5VmNBP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "ecd5ab77-5b8e-4db7-ac16-57d0461c07eb", "publicEventType": "Microsoft.Communication.MediaStreamingStarted"}, "time": "2025-03-17T17:51:09.192835+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-f03a-488b-a39f-cd7e0636713f"}, "MediaStreamingStopped": {"id": "ed1b2364-d3fc-4f8f-82bc-f4c18584d534", "source": "calling/callConnections/08002380-f03a-488b-a39f-cd7e0636713f", "type": "Microsoft.Communication.MediaStreamingStopped", "data": {"mediaStreamingUpdate": {"contentType": "Audio", "mediaStreamingStatus": "mediaStreamingStopped", "mediaStreamingStatusDetails": "subscriptionStopped"}, "version": "2024-09-01-preview", "resultInformation": {"code": 200, "subCode": 0, "message": "Action completed successfully."}, "callConnectionId": "08002380-f03a-488b-a39f-cd7e0636713f", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9kaFhsN1lId0xVLVB6YUpsWTR5VmNBP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "ecd5ab77-5b8e-4db7-ac16-57d0461c07eb", "publicEventType": "Microsoft.Communication.MediaStreamingStopped"}, "time": "2025-03-17T17:51:13.4738166+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-f03a-488b-a39f-cd7e0636713f"}, "CallDisconnected": {"id": "0fb4f016-66c1-4c26-9d72-8eba07d8f7e9", "source": "calling/callConnections/08002380-f03a-488b-a39f-cd7e0636713f", "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-f03a-488b-a39f-cd7e0636713f", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9kaFhsN1lId0xVLVB6YUpsWTR5VmNBP2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "ecd5ab77-5b8e-4db7-ac16-57d0461c07eb", "publicEventType": "Microsoft.Communication.CallDisconnected"}, "time": "2025-03-17T17:51:14.7668114+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-f03a-488b-a39f-cd7e0636713f"}} \ No newline at end of file +{"IncomingCall": {"to": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8f-fac6-f6c7-593a0d004dcd", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8f-fac6-f6c7-593a0d004dcd"}}, "from": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8f-fa34-f6c7-593a0d004dcc", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8f-fa34-f6c7-593a0d004dcc"}}, "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi82TU5KQmo5ZkgwNlpSSWlkdC1qMk9nP2k9MTAtMTI4LTg1LTEzMyZlPTYzODg1MzUzNzgwMzQ5NjYyNg==", "callerDisplayName": "REDACTED", "incomingCallContext": "REDACTED", "correlationId": "c8bee902-702a-4f65-940d-569c1e9dfa30"}, "ParticipantsUpdated": {"id": "d1dc2744-942e-4d10-bd50-117e4816f76e", "source": "calling/callConnections/00006680-5da0-49f1-9a52-3910815e727d", "type": "Microsoft.Communication.ParticipantsUpdated", "data": {"participants": [{"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8f-fa34-f6c7-593a0d004dcc", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8f-fa34-f6c7-593a0d004dcc"}}, "isMuted": false, "isOnHold": false}, {"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8f-fac6-f6c7-593a0d004dcd", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a8f-fac6-f6c7-593a0d004dcd"}}, "isMuted": false, "isOnHold": false}], "sequenceNumber": 1, "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "version": "2025-05-15", "callConnectionId": "00006680-5da0-49f1-9a52-3910815e727d", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi82TU5KQmo5ZkgwNlpSSWlkdC1qMk9nP2k9MTAtMTI4LTg1LTEzMyZlPTYzODg1MzUzNzgwMzQ5NjYyNg==", "correlationId": "c8bee902-702a-4f65-940d-569c1e9dfa30", "publicEventType": "Microsoft.Communication.ParticipantsUpdated"}, "time": "2025-06-13T19:05:08.4496665+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/00006680-5da0-49f1-9a52-3910815e727d"}, "CallConnected": {"id": "500b84eb-0d1a-4bc3-b2fd-7451385b4b14", "source": "calling/callConnections/00006680-5da0-49f1-9a52-3910815e727d", "type": "Microsoft.Communication.CallConnected", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "callConnectionId": "00006680-5da0-49f1-9a52-3910815e727d", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi82TU5KQmo5ZkgwNlpSSWlkdC1qMk9nP2k9MTAtMTI4LTg1LTEzMyZlPTYzODg1MzUzNzgwMzQ5NjYyNg==", "correlationId": "c8bee902-702a-4f65-940d-569c1e9dfa30", "publicEventType": "Microsoft.Communication.CallConnected"}, "time": "2025-06-13T19:05:08.5771983+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/00006680-5da0-49f1-9a52-3910815e727d"}, "MediaStreamingStarted": {"id": "f1383172-453e-45a9-ace8-00ae83fc25db", "source": "calling/callConnections/00006680-5da0-49f1-9a52-3910815e727d", "type": "Microsoft.Communication.MediaStreamingStarted", "data": {"mediaStreamingUpdate": {"contentType": "Audio", "mediaStreamingStatus": "mediaStreamingStarted", "mediaStreamingStatusDetails": "subscriptionStarted"}, "version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 0, "message": "Action completed successfully."}, "callConnectionId": "00006680-5da0-49f1-9a52-3910815e727d", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi82TU5KQmo5ZkgwNlpSSWlkdC1qMk9nP2k9MTAtMTI4LTg1LTEzMyZlPTYzODg1MzUzNzgwMzQ5NjYyNg==", "correlationId": "c8bee902-702a-4f65-940d-569c1e9dfa30", "publicEventType": "Microsoft.Communication.MediaStreamingStarted"}, "time": "2025-06-13T19:05:10.9858487+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/00006680-5da0-49f1-9a52-3910815e727d"}, "MediaStreamingStopped": {"id": "a4bbe81b-351c-4855-9312-13ad7fab6e29", "source": "calling/callConnections/00006680-5da0-49f1-9a52-3910815e727d", "type": "Microsoft.Communication.MediaStreamingStopped", "data": {"mediaStreamingUpdate": {"contentType": "Audio", "mediaStreamingStatus": "mediaStreamingStopped", "mediaStreamingStatusDetails": "subscriptionStopped"}, "version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 0, "message": "Action completed successfully."}, "callConnectionId": "00006680-5da0-49f1-9a52-3910815e727d", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi82TU5KQmo5ZkgwNlpSSWlkdC1qMk9nP2k9MTAtMTI4LTg1LTEzMyZlPTYzODg1MzUzNzgwMzQ5NjYyNg==", "correlationId": "c8bee902-702a-4f65-940d-569c1e9dfa30", "publicEventType": "Microsoft.Communication.MediaStreamingStopped"}, "time": "2025-06-13T19:05:15.109283+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/00006680-5da0-49f1-9a52-3910815e727d"}, "CallDisconnected": {"id": "db91fb4a-3c80-4428-8f66-868cd2398e68", "source": "calling/callConnections/00006680-5da0-49f1-9a52-3910815e727d", "type": "Microsoft.Communication.CallDisconnected", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 7000, "message": "The conversation has ended. DiagCode: 0#7000.@"}, "callConnectionId": "00006680-5da0-49f1-9a52-3910815e727d", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi82TU5KQmo5ZkgwNlpSSWlkdC1qMk9nP2k9MTAtMTI4LTg1LTEzMyZlPTYzODg1MzUzNzgwMzQ5NjYyNg==", "correlationId": "c8bee902-702a-4f65-940d-569c1e9dfa30", "publicEventType": "Microsoft.Communication.CallDisconnected"}, "time": "2025-06-13T19:05:16.3249475+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/00006680-5da0-49f1-9a52-3910815e727d"}} \ No newline at end of file diff --git a/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_start_stop_transcription_in_call.event.json b/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_start_stop_transcription_in_call.event.json index e56459c0c642..cc2f1871a734 100644 --- a/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_start_stop_transcription_in_call.event.json +++ b/sdk/communication/azure-communication-callautomation/tests/events/test_e2e_media_client.pyTestMediaAutomatedLiveTesttest_start_stop_transcription_in_call.event.json @@ -1 +1 @@ -{"IncomingCall": {"to": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451c-decd-48d8-363a0d002abc", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451c-decd-48d8-363a0d002abc"}}, "from": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451c-ddd6-48d8-363a0d002aba", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451c-ddd6-48d8-363a0d002aba"}}, "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9udklJNDhva1RrbVJNTm5kcE9xZm53P2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "callerDisplayName": "REDACTED", "incomingCallContext": "REDACTED", "correlationId": "e731b44f-8e01-48fd-b974-003d87d85d3a"}, "ParticipantsUpdated": {"id": "7c1def49-2451-4660-a70a-5c2c2a7752e6", "source": "calling/callConnections/08002380-cf4e-4c73-aab8-5d31e2d368b7", "type": "Microsoft.Communication.ParticipantsUpdated", "data": {"participants": [{"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451c-decd-48d8-363a0d002abc", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451c-decd-48d8-363a0d002abc"}}, "isMuted": false, "isOnHold": false}, {"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451c-ddd6-48d8-363a0d002aba", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000026-451c-ddd6-48d8-363a0d002aba"}}, "isMuted": false, "isOnHold": false}], "sequenceNumber": 1, "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "version": "2024-09-01-preview", "callConnectionId": "08002380-cf4e-4c73-aab8-5d31e2d368b7", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9udklJNDhva1RrbVJNTm5kcE9xZm53P2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "e731b44f-8e01-48fd-b974-003d87d85d3a", "publicEventType": "Microsoft.Communication.ParticipantsUpdated"}, "time": "2025-03-17T17:51:25.6016131+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-cf4e-4c73-aab8-5d31e2d368b7"}, "CallConnected": {"id": "ba784fa3-6db0-4d0a-b40e-ece69a7584fb", "source": "calling/callConnections/08002380-cf4e-4c73-aab8-5d31e2d368b7", "type": "Microsoft.Communication.CallConnected", "data": {"version": "2024-09-01-preview", "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "callConnectionId": "08002380-cf4e-4c73-aab8-5d31e2d368b7", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9udklJNDhva1RrbVJNTm5kcE9xZm53P2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "e731b44f-8e01-48fd-b974-003d87d85d3a", "publicEventType": "Microsoft.Communication.CallConnected"}, "time": "2025-03-17T17:51:25.6473209+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-cf4e-4c73-aab8-5d31e2d368b7"}, "TranscriptionStarted": {"id": "934b53d0-25e6-4629-a3f8-1dcfe25ca4bc", "source": "calling/callConnections/08002380-cf4e-4c73-aab8-5d31e2d368b7", "type": "Microsoft.Communication.TranscriptionStarted", "data": {"transcriptionUpdate": {"transcriptionStatus": "transcriptionStarted", "transcriptionStatusDetails": "subscriptionStarted"}, "version": "2024-09-01-preview", "resultInformation": {"code": 200, "subCode": 0, "message": "Action completed successfully."}, "callConnectionId": "08002380-cf4e-4c73-aab8-5d31e2d368b7", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9udklJNDhva1RrbVJNTm5kcE9xZm53P2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "e731b44f-8e01-48fd-b974-003d87d85d3a", "publicEventType": "Microsoft.Communication.TranscriptionStarted"}, "time": "2025-03-17T17:51:31.1318519+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-cf4e-4c73-aab8-5d31e2d368b7"}, "TranscriptionUpdated": {"id": "118deb94-2ce3-49cb-bbe2-5fe8d0977de2", "source": "calling/callConnections/08002380-cf4e-4c73-aab8-5d31e2d368b7", "type": "Microsoft.Communication.TranscriptionUpdated", "data": {"transcriptionUpdate": {"transcriptionStatus": "transcriptionUpdated", "transcriptionStatusDetails": "transcriptionLocaleUpdated"}, "version": "2024-09-01-preview", "resultInformation": {"code": 200, "subCode": 0, "message": "Action completed successfully."}, "callConnectionId": "08002380-cf4e-4c73-aab8-5d31e2d368b7", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9udklJNDhva1RrbVJNTm5kcE9xZm53P2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "e731b44f-8e01-48fd-b974-003d87d85d3a", "publicEventType": "Microsoft.Communication.TranscriptionUpdated"}, "time": "2025-03-17T17:51:35.6471766+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-cf4e-4c73-aab8-5d31e2d368b7"}, "TranscriptionStopped": {"id": "6a0a38f5-c73c-4ce5-9676-bec7cc742d74", "source": "calling/callConnections/08002380-cf4e-4c73-aab8-5d31e2d368b7", "type": "Microsoft.Communication.TranscriptionStopped", "data": {"transcriptionUpdate": {"transcriptionStatus": "transcriptionStopped", "transcriptionStatusDetails": "subscriptionStopped"}, "version": "2024-09-01-preview", "resultInformation": {"code": 200, "subCode": 0, "message": "Action completed successfully."}, "callConnectionId": "08002380-cf4e-4c73-aab8-5d31e2d368b7", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9udklJNDhva1RrbVJNTm5kcE9xZm53P2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "e731b44f-8e01-48fd-b974-003d87d85d3a", "publicEventType": "Microsoft.Communication.TranscriptionStopped"}, "time": "2025-03-17T17:51:41.987517+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-cf4e-4c73-aab8-5d31e2d368b7"}, "CallDisconnected": {"id": "854f72bf-c511-4b0f-8e51-614ecd889dad", "source": "calling/callConnections/08002380-cf4e-4c73-aab8-5d31e2d368b7", "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-cf4e-4c73-aab8-5d31e2d368b7", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LWpwZWEtMDMtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9udklJNDhva1RrbVJNTm5kcE9xZm53P2k9MTAtNjAtMS04MyZlPTYzODc3NDA3OTU5ODEyODcxOQ==", "correlationId": "e731b44f-8e01-48fd-b974-003d87d85d3a", "publicEventType": "Microsoft.Communication.CallDisconnected"}, "time": "2025-03-17T17:51:43.3008859+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/08002380-cf4e-4c73-aab8-5d31e2d368b7"}} \ No newline at end of file +{"IncomingCall": {"to": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a90-44ab-f6c7-593a0d004dd2", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a90-44ab-f6c7-593a0d004dd2"}}, "from": {"kind": "communicationUser", "rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a90-4465-f6c7-593a0d004dd1", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a90-4465-f6c7-593a0d004dd1"}}, "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9tY2JKdl9iX2ZrbW1ZOUc4Z3VSRkR3P2k9MTAtMTI4LTg1LTEzMyZlPTYzODg1MzUzNzgwMzQ5NjYyNg==", "callerDisplayName": "REDACTED", "incomingCallContext": "REDACTED", "correlationId": "ff124de5-6854-47d7-ad6f-fbb3ac0057e7"}, "ParticipantsUpdated": {"id": "e60e9f59-d576-46c5-949f-ca92c1c87daf", "source": "calling/callConnections/00006680-f426-49e4-ad5f-1c545185a00b", "type": "Microsoft.Communication.ParticipantsUpdated", "data": {"participants": [{"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a90-44ab-f6c7-593a0d004dd2", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a90-44ab-f6c7-593a0d004dd2"}}, "isMuted": false, "isOnHold": false}, {"identifier": {"rawId": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a90-4465-f6c7-593a0d004dd1", "kind": "communicationUser", "communicationUser": {"id": "8:acs:6d889502-3d7a-41a8-befa-d21fd80e8767_00000028-0a90-4465-f6c7-593a0d004dd1"}}, "isMuted": false, "isOnHold": false}], "sequenceNumber": 1, "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "version": "2025-05-15", "callConnectionId": "00006680-f426-49e4-ad5f-1c545185a00b", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9tY2JKdl9iX2ZrbW1ZOUc4Z3VSRkR3P2k9MTAtMTI4LTg1LTEzMyZlPTYzODg1MzUzNzgwMzQ5NjYyNg==", "correlationId": "ff124de5-6854-47d7-ad6f-fbb3ac0057e7", "publicEventType": "Microsoft.Communication.ParticipantsUpdated"}, "time": "2025-06-13T19:05:27.6174351+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/00006680-f426-49e4-ad5f-1c545185a00b"}, "CallConnected": {"id": "8f48ac87-7846-40d2-b4f4-5e534869f51a", "source": "calling/callConnections/00006680-f426-49e4-ad5f-1c545185a00b", "type": "Microsoft.Communication.CallConnected", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 0, "message": ""}, "callConnectionId": "00006680-f426-49e4-ad5f-1c545185a00b", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9tY2JKdl9iX2ZrbW1ZOUc4Z3VSRkR3P2k9MTAtMTI4LTg1LTEzMyZlPTYzODg1MzUzNzgwMzQ5NjYyNg==", "correlationId": "ff124de5-6854-47d7-ad6f-fbb3ac0057e7", "publicEventType": "Microsoft.Communication.CallConnected"}, "time": "2025-06-13T19:05:27.7491018+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/00006680-f426-49e4-ad5f-1c545185a00b"}, "TranscriptionStarted": {"id": "0904cee4-ebce-483a-bf3b-c0ca0bc33caf", "source": "calling/callConnections/00006680-f426-49e4-ad5f-1c545185a00b", "type": "Microsoft.Communication.TranscriptionStarted", "data": {"transcriptionUpdate": {"transcriptionStatus": "transcriptionStarted", "transcriptionStatusDetails": "subscriptionStarted"}, "version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 0, "message": "Action completed successfully."}, "callConnectionId": "00006680-f426-49e4-ad5f-1c545185a00b", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9tY2JKdl9iX2ZrbW1ZOUc4Z3VSRkR3P2k9MTAtMTI4LTg1LTEzMyZlPTYzODg1MzUzNzgwMzQ5NjYyNg==", "correlationId": "ff124de5-6854-47d7-ad6f-fbb3ac0057e7", "publicEventType": "Microsoft.Communication.TranscriptionStarted"}, "time": "2025-06-13T19:05:30.4627904+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/00006680-f426-49e4-ad5f-1c545185a00b"}, "TranscriptionUpdated": {"id": "a45896f1-1a11-4db7-afe8-7e5d8a4e3a5a", "source": "calling/callConnections/00006680-f426-49e4-ad5f-1c545185a00b", "type": "Microsoft.Communication.TranscriptionUpdated", "data": {"transcriptionUpdate": {"transcriptionStatus": "transcriptionUpdated", "transcriptionStatusDetails": "transcriptionLocaleUpdated"}, "version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 0, "message": "Action completed successfully."}, "callConnectionId": "00006680-f426-49e4-ad5f-1c545185a00b", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9tY2JKdl9iX2ZrbW1ZOUc4Z3VSRkR3P2k9MTAtMTI4LTg1LTEzMyZlPTYzODg1MzUzNzgwMzQ5NjYyNg==", "correlationId": "ff124de5-6854-47d7-ad6f-fbb3ac0057e7", "publicEventType": "Microsoft.Communication.TranscriptionUpdated"}, "time": "2025-06-13T19:05:34.5881182+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/00006680-f426-49e4-ad5f-1c545185a00b"}, "TranscriptionStopped": {"id": "7606f063-d6d8-46a8-941d-de176e5abe1e", "source": "calling/callConnections/00006680-f426-49e4-ad5f-1c545185a00b", "type": "Microsoft.Communication.TranscriptionStopped", "data": {"transcriptionUpdate": {"transcriptionStatus": "transcriptionStopped", "transcriptionStatusDetails": "subscriptionStopped"}, "version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 0, "message": "Action completed successfully."}, "callConnectionId": "00006680-f426-49e4-ad5f-1c545185a00b", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9tY2JKdl9iX2ZrbW1ZOUc4Z3VSRkR3P2k9MTAtMTI4LTg1LTEzMyZlPTYzODg1MzUzNzgwMzQ5NjYyNg==", "correlationId": "ff124de5-6854-47d7-ad6f-fbb3ac0057e7", "publicEventType": "Microsoft.Communication.TranscriptionStopped"}, "time": "2025-06-13T19:05:40.7176618+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/00006680-f426-49e4-ad5f-1c545185a00b"}, "CallDisconnected": {"id": "825c433f-cd61-46ca-b20d-4bdc1f46cf5b", "source": "calling/callConnections/00006680-f426-49e4-ad5f-1c545185a00b", "type": "Microsoft.Communication.CallDisconnected", "data": {"version": "2025-05-15", "resultInformation": {"code": 200, "subCode": 7000, "message": "The conversation has ended. DiagCode: 0#7000.@"}, "callConnectionId": "00006680-f426-49e4-ad5f-1c545185a00b", "serverCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzd2UtMDQtcHJvZC1ha3MuY29udi5za3lwZS5jb20vY29udi9tY2JKdl9iX2ZrbW1ZOUc4Z3VSRkR3P2k9MTAtMTI4LTg1LTEzMyZlPTYzODg1MzUzNzgwMzQ5NjYyNg==", "correlationId": "ff124de5-6854-47d7-ad6f-fbb3ac0057e7", "publicEventType": "Microsoft.Communication.CallDisconnected"}, "time": "2025-06-13T19:05:41.9205295+00:00", "specversion": "1.0", "datacontenttype": "application/json", "subject": "calling/callConnections/00006680-f426-49e4-ad5f-1c545185a00b"}} \ No newline at end of file diff --git a/sdk/communication/azure-communication-callautomation/tests/test_call_connection_client.py b/sdk/communication/azure-communication-callautomation/tests/test_call_connection_client.py index e5b8818b50c2..4d9d4fed991b 100644 --- a/sdk/communication/azure-communication-callautomation/tests/test_call_connection_client.py +++ b/sdk/communication/azure-communication-callautomation/tests/test_call_connection_client.py @@ -7,12 +7,11 @@ import unittest from azure.core.credentials import AzureKeyCredential -from azure.communication.callautomation import CommunicationUserIdentifier, CallConnectionClient, TransferCallResult, MoveParticipantsResult +from azure.communication.callautomation import CommunicationUserIdentifier, CallConnectionClient, TransferCallResult from azure.core.paging import ItemPaged from azure.communication.callautomation._generated.models import ( AddParticipantRequest, - MoveParticipantsRequest, ) from unittest_helpers import mock_response @@ -214,71 +213,6 @@ def mock_send(_, **kwargs): response = call_connection.remove_participant(user) self.assertEqual(self.operation_context, response.operation_context) - def test_move_participants(self): - from_call_id = "20000000-0000-0000-0000-000000000000" - - def mock_send(request, **kwargs): - kwargs.pop("stream", None) - body = json.loads(request.content) - assert body["fromCall"] == from_call_id, "Parameter value not as expected" - assert len(body["targetParticipants"]) == 1, "Expected 1 participant to move" - if kwargs: - raise ValueError(f"Received unexpected kwargs in transport: {kwargs}") - return mock_response( - status_code=202, - json_payload={ - "participants": [self.call_participant], - "operationContext": self.operation_context, - "fromCall": from_call_id - }, - ) - - call_connection = CallConnectionClient( - endpoint="https://endpoint", - credential=AzureKeyCredential("fakeCredential=="), - call_connection_id=self.call_connection_id, - transport=Mock(send=mock_send), - ) - user1 = CommunicationUserIdentifier(self.communication_user_id) - - response = call_connection.move_participants( - target_participants=[user1], - from_call=from_call_id, - operation_context=self.operation_context, - ) - - assert isinstance(response, MoveParticipantsResult) - self.assertEqual(self.operation_context, response.operation_context) - self.assertEqual(from_call_id, response.from_call) - self.assertEqual(len(response.participants), 1) - self.assertEqual(self.communication_user_id, response.participants[0].identifier.raw_id) - - # Test with minimal parameters - response = call_connection.move_participants([user1], from_call_id) - assert isinstance(response, MoveParticipantsResult) - self.assertEqual(self.operation_context, response.operation_context) - - # checking input and request match here - mock_move = Mock() - call_connection.move_participants = mock_move - - expected_move_request = MoveParticipantsRequest( - target_participants=[serialize_identifier(user1)], - from_call=from_call_id, - operation_context=self.operation_context, - ) - - call_connection.move_participants( - target_participants=[user1], - from_call=from_call_id, - operation_context=self.operation_context, - ) - - actual_request = dict(mock_move.call_args[1].items()) - self.assertEqual(expected_move_request.from_call, actual_request["from_call"]) - self.assertEqual(expected_move_request.operation_context, actual_request["operation_context"]) - self.assertEqual(len(expected_move_request.target_participants), len(actual_request["target_participants"])) - def test_mute_participant(self): def mock_send(_, **kwargs): kwargs.pop("stream", None) diff --git a/sdk/communication/azure-communication-callautomation/tests/test_call_media_client.py b/sdk/communication/azure-communication-callautomation/tests/test_call_media_client.py index a1a237208d9a..03fa868fd6ba 100644 --- a/sdk/communication/azure-communication-callautomation/tests/test_call_media_client.py +++ b/sdk/communication/azure-communication-callautomation/tests/test_call_media_client.py @@ -30,8 +30,7 @@ HoldRequest, UnholdRequest, StartMediaStreamingRequest, - StopMediaStreamingRequest, - InterruptAudioAndAnnounceRequest + StopMediaStreamingRequest ) from azure.communication.callautomation._generated.models._enums import RecognizeInputType, DtmfTone from unittest.mock import Mock @@ -113,7 +112,8 @@ def test_play_file_to_all_back_compat(self): expected_play_request = PlayRequest( play_sources=[play_source._to_generated()], play_to=[], - play_options=PlayOptions(loop=False, interrupt_call_media_operation=False) + play_options=PlayOptions(loop=False), + interrupt_call_media_operation=False ) mock_play.assert_called_once() actual_play_request = mock_play.call_args[0][1] @@ -126,7 +126,7 @@ def test_play_file_to_all_back_compat(self): ) self.assertEqual(expected_play_request.play_to, actual_play_request.play_to) self.assertEqual(expected_play_request.play_options.loop, actual_play_request.play_options.loop) - self.assertEqual(expected_play_request.play_options.interrupt_call_media_operation, actual_play_request.play_options.interrupt_call_media_operation) + self.assertEqual(expected_play_request.interrupt_call_media_operation, actual_play_request.interrupt_call_media_operation) def test_play_file_to_all_via_play_back_compat_with_barge_in(self): mock_play = Mock() @@ -138,7 +138,8 @@ def test_play_file_to_all_via_play_back_compat_with_barge_in(self): expected_play_request = PlayRequest( play_sources=[play_source._to_generated()], play_to=[], - play_options=PlayOptions(loop=False, interrupt_call_media_operation=True) + play_options=PlayOptions(loop=False), + interrupt_call_media_operation=True ) mock_play.assert_called_once() actual_play_request = mock_play.call_args[0][1] @@ -150,31 +151,7 @@ def test_play_file_to_all_via_play_back_compat_with_barge_in(self): actual_play_request.play_sources[0].play_source_cache_id, ) self.assertEqual(expected_play_request.play_to, actual_play_request.play_to) - self.assertEqual(expected_play_request.play_options.interrupt_call_media_operation, actual_play_request.play_options.interrupt_call_media_operation) - - def test_play_file_play_interrupt_hold_audio(self): - mock_play = Mock() - self.call_media_operations.play = mock_play - play_source = FileSource(url=self.url) - - self.call_connection_client.play_media(play_source=play_source, play_to=[self.target_user], interrupt_hold_audio=True) - - expected_play_request = PlayRequest( - play_sources=[play_source._to_generated()], - play_to=[serialize_identifier(self.target_user)], - play_options=PlayOptions(loop=False, interrupt_hold_audio=True) - ) - mock_play.assert_called_once() - actual_play_request = mock_play.call_args[0][1] - - self.assertEqual(expected_play_request.play_sources[0].kind, actual_play_request.play_sources[0].kind) - self.assertEqual(expected_play_request.play_sources[0].file.uri, actual_play_request.play_sources[0].file.uri) - self.assertEqual( - expected_play_request.play_sources[0].play_source_cache_id, - actual_play_request.play_sources[0].play_source_cache_id, - ) - self.assertEqual(expected_play_request.play_to[0]['raw_id'], actual_play_request.play_to[0]['raw_id']) - self.assertEqual(expected_play_request.play_options.interrupt_hold_audio, actual_play_request.play_options.interrupt_hold_audio) + self.assertEqual(expected_play_request.interrupt_call_media_operation, actual_play_request.interrupt_call_media_operation) def test_play_file_to_all_back_compat_with_barge_in(self): mock_play = Mock() @@ -186,7 +163,8 @@ def test_play_file_to_all_back_compat_with_barge_in(self): expected_play_request = PlayRequest( play_sources=[play_source._to_generated()], play_to=[], - play_options=PlayOptions(loop=False, interrupt_call_media_operation=True) + play_options=PlayOptions(loop=False), + interrupt_call_media_operation=True ) mock_play.assert_called_once() actual_play_request = mock_play.call_args[0][1] @@ -198,7 +176,7 @@ def test_play_file_to_all_back_compat_with_barge_in(self): actual_play_request.play_sources[0].play_source_cache_id, ) self.assertEqual(expected_play_request.play_to, actual_play_request.play_to) - self.assertEqual(expected_play_request.play_options.interrupt_call_media_operation, actual_play_request.play_options.interrupt_call_media_operation) + self.assertEqual(expected_play_request.interrupt_call_media_operation, actual_play_request.interrupt_call_media_operation) def test_play_multiple_source_to_all(self): mock_play = Mock() @@ -710,7 +688,7 @@ def test_unhold(self): actual_hold_request = mock_unhold.call_args[0][1] self.assertEqual(expected_hold_request.operation_context, actual_hold_request.operation_context) - + def test_start_media_streaming(self): mock_start_media_streaming = Mock() self.call_media_operations.start_media_streaming = mock_start_media_streaming @@ -768,55 +746,4 @@ def test_stop_media_streaming_with_no_param(self): mock_stop_media_streaming.assert_called_once() actual_call_connection_id = mock_stop_media_streaming.call_args[0][0] - self.assertEqual(self.call_connection_id,actual_call_connection_id) - - def test_interrupt_audio_and_announce(self): - mock_hold = Mock() - mock_interrupt_audio_and_announce = Mock() - mock_unhold = Mock() - self.call_media_operations.hold = mock_hold - self.call_media_operations.interrupt_audio_and_announce = mock_interrupt_audio_and_announce - self.call_media_operations.unhold = mock_unhold - self.call_media_operations.hold = mock_hold - play_source = FileSource(url=self.url) - operation_context = "context" - - self.call_connection_client.hold( - target_participant=self.target_user, play_source=play_source, operation_context=operation_context - ) - - expected_hold_request = HoldRequest( - target_participant=[serialize_identifier(self.target_user)], - play_source_info=play_source._to_generated(), - operation_context=operation_context, - ) - mock_hold.assert_called_once() - actual_hold_request = mock_hold.call_args[0][1] - - self.assertEqual(expected_hold_request.play_source_info.file.uri, actual_hold_request.play_source_info.file.uri) - self.assertEqual(expected_hold_request.play_source_info.kind, actual_hold_request.play_source_info.kind) - self.assertEqual(expected_hold_request.operation_context, actual_hold_request.operation_context) - - play_sources = [FileSource(url=self.url), TextSource(text='test test test')] - self.call_connection_client.interrupt_audio_and_announce(target_participant=self.target_user, play_sources=play_sources) - - expected_interrupt_audio_announce_request = InterruptAudioAndAnnounceRequest( - play_sources=[play_source._to_generated()], - play_to=serialize_identifier(self.target_user), - operation_context=operation_context, - ) - mock_interrupt_audio_and_announce.assert_called_once() - actual_interrupt_audio_and_announce_request = mock_interrupt_audio_and_announce.call_args[0][1] - - self.assertEqual(expected_interrupt_audio_announce_request.play_sources[0].kind, actual_interrupt_audio_and_announce_request.play_sources[0].kind) - self.assertEqual(expected_interrupt_audio_announce_request.play_to, actual_interrupt_audio_and_announce_request.play_to) - - self.call_connection_client.unhold(target_participant=self.target_user, operation_context=operation_context) - - expected_hold_request = UnholdRequest( - target_participant=serialize_identifier(self.target_user), operation_context=operation_context - ) - mock_unhold.assert_called_once() - actual_hold_request = mock_unhold.call_args[0][1] - - self.assertEqual(expected_hold_request.operation_context, actual_hold_request.operation_context) \ No newline at end of file + self.assertEqual(self.call_connection_id,actual_call_connection_id) \ No newline at end of file diff --git a/sdk/communication/azure-communication-callautomation/tests/test_call_recording_client.py b/sdk/communication/azure-communication-callautomation/tests/test_call_recording_client.py index d1322e338bce..33d27e907698 100644 --- a/sdk/communication/azure-communication-callautomation/tests/test_call_recording_client.py +++ b/sdk/communication/azure-communication-callautomation/tests/test_call_recording_client.py @@ -40,6 +40,7 @@ def mock_send(_, **kwargs): callautomation_client.start_recording(call_locator, channel_affinity=[channel_affinity]) callautomation_client.start_recording(group_call_id="locatorId", channel_affinity=[channel_affinity]) callautomation_client.start_recording(server_call_id="locatorId", channel_affinity=[channel_affinity]) + callautomation_client.start_recording(call_connection_id=self.call_connection_id, channel_affinity=[channel_affinity]) with pytest.raises(ValueError): call_locator = ServerCallLocator(server_call_id="locatorId") @@ -97,17 +98,3 @@ def mock_send(_, **kwargs): "https://endpoint", AzureKeyCredential("fakeCredential=="), transport=Mock(send=mock_send) ) callautomation_client.get_recording_properties(recording_id=self.recording_id) - - def test_start_recording_with_call_connection_id(self): - def mock_send(_, **kwargs): - kwargs.pop("stream", None) - if kwargs: - raise ValueError(f"Received unexpected kwargs in transport: {kwargs}") - return mock_response(status_code=200, json_payload={"recording_id": "1", "recording_state": "2"}) - - callautomation_client = CallAutomationClient( - "https://endpoint", AzureKeyCredential("fakeCredential=="), transport=Mock(send=mock_send) - ) - target_participant = CommunicationUserIdentifier("testId") - channel_affinity = ChannelAffinity(target_participant=target_participant, channel=0) - callautomation_client.start_recording(call_connection_id=self.call_connection_id, channel_affinity=[channel_affinity]) diff --git a/sdk/communication/azure-communication-callautomation/tests/test_callautomation_client.py b/sdk/communication/azure-communication-callautomation/tests/test_callautomation_client.py index 842d0a474994..6f469dfb7c54 100644 --- a/sdk/communication/azure-communication-callautomation/tests/test_callautomation_client.py +++ b/sdk/communication/azure-communication-callautomation/tests/test_callautomation_client.py @@ -70,7 +70,6 @@ def mock_send(request, **kwargs): call_connection_properties = call_automation_client.create_call( target_participant=call_invite, callback_url=self.callback_url, - voip_headers={"foo": "bar"}, source_display_name="baz", ) self.assertEqual(self.call_connection_id, call_connection_properties.call_connection_id) @@ -80,60 +79,12 @@ def mock_send(request, **kwargs): call_connection_properties = call_automation_client.create_call( target_participant=user, callback_url=self.callback_url, - voip_headers={"foo": "bar"}, source_display_name="baz", ) self.assertEqual(self.call_connection_id, call_connection_properties.call_connection_id) self.assertEqual(self.server_callI_id, call_connection_properties.server_call_id) self.assertEqual(self.callback_url, call_connection_properties.callback_url) - def test_ops_create_call(self): - def mock_send(request, **kwargs): - kwargs.pop("stream", None) - if kwargs: - raise ValueError(f"Received unexpected kwargs in transport: {kwargs}") - body = json.loads(request.content) - return mock_response( - status_code=201, - json_payload={ - "callConnectionId": self.call_connection_id, - "serverCallId": self.server_callI_id, - "callbackUri": self.callback_url, - "targets": [ - { - "rawId": self.another_microsoft_teams_app_id, - "microsoftTeamsApp": {"app_id": self.another_microsoft_teams_app_id}, - } - ], - "source": { - "rawId": self.microsoft_teams_app_id, - "microsoftTeamsApp": {"app_id": self.microsoft_teams_app_id}, - }, - }, - ) - - # target endpoint for ACS User - user = MicrosoftTeamsAppIdentifier(self.another_microsoft_teams_app_id) - - # caller endpoint for OPS call - caller = MicrosoftTeamsAppIdentifier(self.microsoft_teams_app_id) - - # make invitation - call_invite = CallInvite(target=user) - call_automation_client = CallAutomationClient( - "https://endpoint", - AzureKeyCredential("fakeCredential=="), - transport=Mock(send=mock_send) - ) - call_connection_properties = call_automation_client.create_call(call_invite, - self.callback_url, - teams_app_source=caller) - self.assertEqual(self.call_connection_id, call_connection_properties.call_connection_id) - self.assertEqual(self.server_callI_id, call_connection_properties.server_call_id) - self.assertEqual(self.callback_url, call_connection_properties.callback_url) - self.assertEqual(self.microsoft_teams_app_id, call_connection_properties.source.raw_id) - self.assertEqual(self.another_microsoft_teams_app_id, call_connection_properties.targets[0].raw_id) - def test_create_group_call(self): def mock_send(_, **kwargs): kwargs.pop("stream", None) @@ -228,37 +179,6 @@ def mock_send(_, **kwargs): self.assertEqual(self.call_connection_id, call_connection_properties.call_connection_id) self.assertEqual(self.server_callI_id, call_connection_properties.server_call_id) self.assertEqual(self.callback_url, call_connection_properties.callback_url) - - def test_answer_call_with_custom_context(self): - def mock_send(_, **kwargs): - kwargs.pop("stream", None) - if kwargs: - raise ValueError(f"Received unexpected kwargs in transport: {kwargs}") - return mock_response( - status_code=200, - json_payload={ - "callConnectionId": self.call_connection_id, - "serverCallId": self.server_callI_id, - "callbackUri": self.callback_url, - "targets": [ - {"rawId": self.communication_user_id, "communicationUser": {"id": self.communication_user_id}} - ], - "source": { - "rawId": self.communication_user_source_id, - "communicationUser": {"id": self.communication_user_source_id}, - }, - }, - ) - - # target endpoint for ACS User - user = CommunicationUserIdentifier(self.communication_user_id) - call_automation_client = CallAutomationClient( - "https://endpoint", AzureKeyCredential("fakeCredential=="), transport=Mock(send=mock_send) - ) - call_connection_properties = call_automation_client.answer_call(self.incoming_call_context, self.callback_url, voip_headers={"foo": "bar"}) - self.assertEqual(self.call_connection_id, call_connection_properties.call_connection_id) - self.assertEqual(self.server_callI_id, call_connection_properties.server_call_id) - self.assertEqual(self.callback_url, call_connection_properties.callback_url) def test_redirect_call(self): def mock_send(_, **kwargs): @@ -275,11 +195,9 @@ def mock_send(_, **kwargs): "https://endpoint", AzureKeyCredential("fakeCredential=="), transport=Mock(send=mock_send) ) call_automation_client.redirect_call(self.incoming_call_context, call_redirect_to) - call_automation_client.redirect_call(self.incoming_call_context, user, voip_headers={"foo": "bar"}) + call_automation_client.redirect_call(self.incoming_call_context, user) with pytest.raises(ValueError) as e: - call_automation_client.redirect_call( - self.incoming_call_context, user, voip_headers={"foo": "bar"}, source_display_name="baz" - ) + call_automation_client.redirect_call(self.incoming_call_context, user, source_display_name="baz") assert "unexpected kwargs" in str(e.value) def test_reject_call(self): diff --git a/sdk/communication/azure-communication-callautomation/tests/test_e2e_callautomation_client.py b/sdk/communication/azure-communication-callautomation/tests/test_e2e_callautomation_client.py index 3de86c97e4f2..b3d45558e826 100644 --- a/sdk/communication/azure-communication-callautomation/tests/test_e2e_callautomation_client.py +++ b/sdk/communication/azure-communication-callautomation/tests/test_e2e_callautomation_client.py @@ -76,7 +76,7 @@ def test_add_participant_then_cancel_request(self): self.terminate_call(unique_id) return - + @pytest.mark.skip(reason="""Playback fails for same event type triggered and test recording code takes the event type has the dictionary it fails to recording call connected event for the connect api""") @recorded_by_proxy @@ -111,32 +111,10 @@ def test_create_VOIP_call_and_connect_call_then_hangup(self): self.terminate_call(unique_id) return - - @recorded_by_proxy - def test_create_VOIP_call_and_answer_custom_context(self): - # try to establish the call - caller = self.identity_client.create_user() - target = self.identity_client.create_user() - unique_id, call_connection, _ = self.establish_callconnection_voip_answercall_withcustomcontext(caller, target) - - # check returned events - connected_event = self.check_for_event( - "CallConnected", call_connection._call_connection_id, timedelta(seconds=15) - ) - participant_updated_event = self.check_for_event( - "ParticipantsUpdated", call_connection._call_connection_id, timedelta(seconds=15) - ) - if connected_event is None: - raise ValueError("Caller CallConnected event is None") - if participant_updated_event is None: - raise ValueError("Caller ParticipantsUpdated event is None") - - self.terminate_call(unique_id) - return @recorded_by_proxy - def test_start_recording_with_call_connection_id(self): + def test_start_recording_with_server_call_id(self): # try to establish the call caller = self.identity_client.create_user() target = self.identity_client.create_user() @@ -153,11 +131,12 @@ def test_start_recording_with_call_connection_id(self): call_connection_properties = call_connection.get_call_properties() call_connection_id = call_connection_properties.call_connection_id + server_call_id = call_connection_properties.server_call_id target_participant = CommunicationUserIdentifier("testId") channel_affinity = ChannelAffinity(target_participant=target_participant, channel=0) - + # start recording request with call connection id. - start_recording = call_automation_client.start_recording(call_connection_id=call_connection_id, recording_state_callback_url=callback_url, channel_affinity=[channel_affinity] + start_recording = call_automation_client.start_recording(server_call_id = server_call_id, recording_state_callback_url=callback_url, channel_affinity=[channel_affinity] ) time.sleep(5) @@ -165,16 +144,16 @@ def test_start_recording_with_call_connection_id(self): recording_state_changed_event = self.check_for_event('RecordingStateChanged', call_connection_id, timedelta(seconds=30)) if recording_state_changed_event is None: raise ValueError("RecordingStateChanged event is None") - + # stop recording request. call_automation_client.stop_recording(recording_id=start_recording.recording_id) time.sleep(3) - + self.terminate_call(unique_id) return @recorded_by_proxy - def test_start_recording_with_server_call_id(self): + def test_start_recording_with_call_connection_id(self): # try to establish the call caller = self.identity_client.create_user() target = self.identity_client.create_user() @@ -191,12 +170,11 @@ def test_start_recording_with_server_call_id(self): call_connection_properties = call_connection.get_call_properties() call_connection_id = call_connection_properties.call_connection_id - server_call_id = call_connection_properties.server_call_id target_participant = CommunicationUserIdentifier("testId") channel_affinity = ChannelAffinity(target_participant=target_participant, channel=0) # start recording request with call connection id. - start_recording = call_automation_client.start_recording(server_call_id = server_call_id, recording_state_callback_url=callback_url, channel_affinity=[channel_affinity] + start_recording = call_automation_client.start_recording(call_connection_id=call_connection_id, recording_state_callback_url=callback_url, channel_affinity=[channel_affinity] ) time.sleep(5) @@ -204,10 +182,10 @@ def test_start_recording_with_server_call_id(self): recording_state_changed_event = self.check_for_event('RecordingStateChanged', call_connection_id, timedelta(seconds=30)) if recording_state_changed_event is None: raise ValueError("RecordingStateChanged event is None") - + # stop recording request. call_automation_client.stop_recording(recording_id=start_recording.recording_id) time.sleep(3) - + self.terminate_call(unique_id) return diff --git a/sdk/communication/azure-communication-callautomation/tests/test_e2e_media_client.py b/sdk/communication/azure-communication-callautomation/tests/test_e2e_media_client.py index 546c5e90c646..0af5b08e8628 100644 --- a/sdk/communication/azure-communication-callautomation/tests/test_e2e_media_client.py +++ b/sdk/communication/azure-communication-callautomation/tests/test_e2e_media_client.py @@ -15,11 +15,9 @@ PhoneNumberIdentifier, MediaStreamingOptions, MediaStreamingContentType, - MediaStreamingTransportType, + StreamingTransportType, MediaStreamingAudioChannelType, TranscriptionOptions, - TranscriptionTransportType, - TranscriptionTransportType, TextSource, RecognizeInputType, RecognitionChoice @@ -206,22 +204,20 @@ def test_add_and_hold_unhold_participant_in_a_call(self): self.terminate_call(unique_id) return - - @recorded_by_proxy + + @recorded_by_proxy def test_start_stop_media_streaming_in_a_call(self): - + # try to establish the call caller = self.identity_client.create_user() target = self.identity_client.create_user() media_streaming_options=MediaStreamingOptions( transport_url=self.transport_url, - transport_type=MediaStreamingTransportType.WEBSOCKET, + transport_type=StreamingTransportType.WEBSOCKET, content_type=MediaStreamingContentType.AUDIO, audio_channel_type=MediaStreamingAudioChannelType.MIXED, - start_media_streaming=False - ) - + start_media_streaming=False) unique_id, call_connection, _ = self.establish_callconnection_voip_with_streaming_options(caller, target, media_streaming_options, False) # check returned events @@ -232,17 +228,17 @@ def test_start_stop_media_streaming_in_a_call(self): raise ValueError("Caller CallConnected event is None") if participant_updated_event is None: raise ValueError("Caller ParticipantsUpdated event is None") - + # start media streaming. call_connection.start_media_streaming() - + # check for MediaStreamingStarted event media_streaming_started = self.check_for_event('MediaStreamingStarted', call_connection._call_connection_id, timedelta(seconds=30)) if media_streaming_started is None: raise ValueError("MediaStreamingStarted event is None") time.sleep(3) - + # check for media streaming subscription from call connection properties for media streaming started event call_connection_properties=call_connection.get_call_properties() if call_connection_properties is None: @@ -259,7 +255,7 @@ def test_start_stop_media_streaming_in_a_call(self): media_streaming_stopped = self.check_for_event('MediaStreamingStopped', call_connection._call_connection_id, timedelta(seconds=30)) if media_streaming_stopped is None: raise ValueError("MediaStreamingStopped event is None") - + # check for media streaming subscription from call connection properties for media streaming stopped event call_connection_properties=call_connection.get_call_properties() if call_connection_properties is None: @@ -271,7 +267,7 @@ def test_start_stop_media_streaming_in_a_call(self): self.terminate_call(unique_id) return - + @recorded_by_proxy def test_start_stop_transcription_in_call(self): # try to establish the call @@ -280,7 +276,7 @@ def test_start_stop_transcription_in_call(self): transcription_options=TranscriptionOptions( transport_url=self.transport_url, - transport_type=TranscriptionTransportType.WEBSOCKET, + transport_type=StreamingTransportType.WEBSOCKET, locale="en-US", start_transcription=False) @@ -294,10 +290,10 @@ def test_start_stop_transcription_in_call(self): raise ValueError("Caller CallConnected event is None") if participant_updated_event is None: raise ValueError("Caller ParticipantsUpdated event is None") - + # start transcription call_connection.start_transcription(locale="en-ca") - + # check for TranscriptionStarted event transcription_started = self.check_for_event('TranscriptionStarted', call_connection._call_connection_id, timedelta(seconds=30)) if transcription_started is None: @@ -314,22 +310,22 @@ def test_start_stop_transcription_in_call(self): time.sleep(3) call_connection.update_transcription(locale="en-gb") - + # check for TranscriptionUpdated event transcription_updated = self.check_for_event('TranscriptionUpdated', call_connection._call_connection_id, timedelta(seconds=30)) if transcription_updated is None: raise ValueError("TranscriptionUpdated event is None") - + time.sleep(3) # stop transcription call_connection.stop_transcription() - + # check for TranscriptionStopped event transcription_stopped = self.check_for_event('TranscriptionStopped', call_connection._call_connection_id, timedelta(seconds=30)) if transcription_stopped is None: raise ValueError("TranscriptionStopped event is None") - + # check for transcription subscription from call connection properties for transcription stopped event call_connection_properties=call_connection.get_call_properties() if call_connection_properties is None: @@ -338,7 +334,7 @@ def test_start_stop_transcription_in_call(self): raise ValueError("call_connection_properties.transcription_subscription is None") if call_connection_properties.transcription_subscription.state!='inactive': raise ValueError("transcription subscription state is invalid for TranscriptionStopped event") - + self.terminate_call(unique_id) return @@ -357,14 +353,14 @@ def test_play_multiple_file_sources_with_play_media_all(self): raise ValueError("Caller CallConnected event is None") if participant_updated_event is None: raise ValueError("Caller ParticipantsUpdated event is None") - + play_multiple_file_source = [ FileSource(url=self.file_source_url), FileSource(url=self.file_source_url), FileSource(url=self.file_source_url) ] - # play media to all + # play media to all call_connection.play_media_to_all( play_source=play_multiple_file_source ) @@ -392,7 +388,7 @@ def test_play_multiple_file_sources_with_play_media(self): raise ValueError("Caller CallConnected event is None") if participant_updated_event is None: raise ValueError("Caller ParticipantsUpdated event is None") - + play_multiple_file_source = [ FileSource(url=self.file_source_url), FileSource(url=self.file_source_url), @@ -409,10 +405,10 @@ def test_play_multiple_file_sources_with_play_media(self): play_completed_event_file_source_to_target = self.check_for_event('PlayCompleted', call_connection._call_connection_id, timedelta(seconds=30)) if play_completed_event_file_source_to_target is None: raise ValueError("Play media PlayCompleted event is None") - + self.terminate_call(unique_id) return - + @recorded_by_proxy def test_play_multiple_file_sources_with_operationcallbackurl_with_play_media_all(self): # try to establish the call @@ -428,7 +424,7 @@ def test_play_multiple_file_sources_with_operationcallbackurl_with_play_media_al raise ValueError("Caller CallConnected event is None") if participant_updated_event is None: raise ValueError("Caller ParticipantsUpdated event is None") - + play_multiple_file_source = [ FileSource(url=self.file_source_url), FileSource(url=self.file_source_url), @@ -437,7 +433,7 @@ def test_play_multiple_file_sources_with_operationcallbackurl_with_play_media_al random_unique_id = self._unique_key_gen(caller, target) - # play media to all + # play media to all call_connection.play_media_to_all( play_source=play_multiple_file_source, operation_callback_url=(self.dispatcher_callback + "?q={}".format(random_unique_id)) @@ -447,10 +443,10 @@ def test_play_multiple_file_sources_with_operationcallbackurl_with_play_media_al play_completed_event_file_source = self.check_for_event('PlayCompleted', call_connection._call_connection_id, timedelta(seconds=30)) if play_completed_event_file_source is None: raise ValueError("PlayCompleted event is None") - + self.terminate_call(unique_id) return - + @recorded_by_proxy def test_play_multiple_file_sources_with_operationcallbackurl_with_play_media(self): # try to establish the call @@ -466,7 +462,7 @@ def test_play_multiple_file_sources_with_operationcallbackurl_with_play_media(se raise ValueError("Caller CallConnected event is None") if participant_updated_event is None: raise ValueError("Caller ParticipantsUpdated event is None") - + play_multiple_file_source = [ FileSource(url=self.file_source_url), FileSource(url=self.file_source_url), @@ -486,7 +482,7 @@ def test_play_multiple_file_sources_with_operationcallbackurl_with_play_media(se play_completed_event_file_source_to_target = self.check_for_event('PlayCompleted', call_connection._call_connection_id, timedelta(seconds=30)) if play_completed_event_file_source_to_target is None: raise ValueError("PlayCompleted event is None") - + self.terminate_call(unique_id) return @@ -505,7 +501,7 @@ def test_play_multiple_text_sources_with_play_media(self): raise ValueError("Caller CallConnected event is None") if participant_updated_event is None: raise ValueError("Caller ParticipantsUpdated event is None") - + play_multiple_text_source = [ TextSource(text="this is test one", voice_name="en-US-NancyNeural"), TextSource(text="this is test two", voice_name="en-US-NancyNeural"), @@ -521,10 +517,10 @@ def test_play_multiple_text_sources_with_play_media(self): play_completed_event_text_source_to_target = self.check_for_event('PlayCompleted', call_connection._call_connection_id, timedelta(seconds=30)) if play_completed_event_text_source_to_target is None: raise ValueError("PlayCompleted event is None") - + self.terminate_call(unique_id) return - + @recorded_by_proxy def test_play_multiple_text_sources_with_play_media_all(self): # try to establish the call @@ -540,7 +536,7 @@ def test_play_multiple_text_sources_with_play_media_all(self): raise ValueError("Caller CallConnected event is None") if participant_updated_event is None: raise ValueError("Caller ParticipantsUpdated event is None") - + play_multiple_text_source = [ TextSource(text="this is test one", voice_name="en-US-NancyNeural"), TextSource(text="this is test two", voice_name="en-US-NancyNeural"), @@ -555,10 +551,10 @@ def test_play_multiple_text_sources_with_play_media_all(self): play_completed_event_text_source = self.check_for_event('PlayCompleted', call_connection._call_connection_id, timedelta(seconds=30)) if play_completed_event_text_source is None: raise ValueError("PlayCompleted event is None") - + self.terminate_call(unique_id) return - + @recorded_by_proxy def test_play_combined_file_and_text_sources_with_play_media(self): # try to establish the call @@ -574,7 +570,7 @@ def test_play_combined_file_and_text_sources_with_play_media(self): raise ValueError("Caller CallConnected event is None") if participant_updated_event is None: raise ValueError("Caller ParticipantsUpdated event is None") - + play_multiple_source = [ FileSource(url=self.file_source_url), TextSource(text="this is test.", voice_name="en-US-NancyNeural"), @@ -589,10 +585,10 @@ def test_play_combined_file_and_text_sources_with_play_media(self): play_completed_event_multiple_source_to_target = self.check_for_event('PlayCompleted', call_connection._call_connection_id, timedelta(seconds=30)) if play_completed_event_multiple_source_to_target is None: raise ValueError("PlayCompleted event is None") - + self.terminate_call(unique_id) return - + @recorded_by_proxy def test_play_combined_file_and_text_sources_with_play_media_all(self): # try to establish the call @@ -608,7 +604,7 @@ def test_play_combined_file_and_text_sources_with_play_media_all(self): raise ValueError("Caller CallConnected event is None") if participant_updated_event is None: raise ValueError("Caller ParticipantsUpdated event is None") - + play_multiple_source = [ FileSource(url=self.file_source_url), TextSource(text="this is test.", voice_name="en-US-NancyNeural"), @@ -625,7 +621,7 @@ def test_play_combined_file_and_text_sources_with_play_media_all(self): self.terminate_call(unique_id) return - + @recorded_by_proxy def test_play_with_invalid_file_sources_with_play_media_all(self): # try to establish the call @@ -641,7 +637,7 @@ def test_play_with_invalid_file_sources_with_play_media_all(self): raise ValueError("Caller CallConnected event is None") if participant_updated_event is None: raise ValueError("Caller ParticipantsUpdated event is None") - + file_prompt = [FileSource(url="https://dummy.com/dummyurl.wav")] call_connection.play_media_to_all( @@ -651,10 +647,10 @@ def test_play_with_invalid_file_sources_with_play_media_all(self): play_failed_event = self.check_for_event('PlayFailed', call_connection._call_connection_id, timedelta(seconds=30)) if play_failed_event is None: raise ValueError("PlayFailed event is None") - + self.terminate_call(unique_id) return - + @recorded_by_proxy def test_play_with_invalid_and_valid_file_sources_with_play_media_all(self): # try to establish the call @@ -670,7 +666,7 @@ def test_play_with_invalid_and_valid_file_sources_with_play_media_all(self): raise ValueError("Caller CallConnected event is None") if participant_updated_event is None: raise ValueError("Caller ParticipantsUpdated event is None") - + file_prompt = [FileSource(url=self.file_source_url), FileSource(url="https://dummy.com/dummyurl.wav")] call_connection.play_media_to_all( @@ -680,7 +676,7 @@ def test_play_with_invalid_and_valid_file_sources_with_play_media_all(self): play_failed_event = self.check_for_event('PlayFailed', call_connection._call_connection_id, timedelta(seconds=30)) if play_failed_event is None: raise ValueError("PlayFailed event is None") - + self.terminate_call(unique_id) return @@ -699,7 +695,7 @@ def test_play_with_invalid_file_sources_with_play_media(self): raise ValueError("Caller CallConnected event is None") if participant_updated_event is None: raise ValueError("Caller ParticipantsUpdated event is None") - + file_prompt = [FileSource(url="https://dummy.com/dummyurl.wav")] call_connection._play_media( @@ -710,7 +706,7 @@ def test_play_with_invalid_file_sources_with_play_media(self): play_failed_event_to_target = self.check_for_event('PlayFailed', call_connection._call_connection_id, timedelta(seconds=30)) if play_failed_event_to_target is None: raise ValueError("PlayFailed event is None") - + self.terminate_call(unique_id) return @@ -729,7 +725,7 @@ def test_play_with_invalid_and_valid_file_sources_with_play_media(self): raise ValueError("Caller CallConnected event is None") if participant_updated_event is None: raise ValueError("Caller ParticipantsUpdated event is None") - + file_prompt = [FileSource(url=self.file_source_url), FileSource(url="https://dummy.com/dummyurl.wav")] call_connection._play_media( @@ -741,169 +737,6 @@ def test_play_with_invalid_and_valid_file_sources_with_play_media(self): print(play_failed_event_to_target) if play_failed_event_to_target is None: raise ValueError("PlayFailed event is None") - - self.terminate_call(unique_id) - return - - @recorded_by_proxy - def test_interrupt_audio_and_announce_in_a_call(self): - - # try to establish the call - caller = self.identity_client.create_user() - target = self.identity_client.create_user() - unique_id, call_connection, _ = self.establish_callconnection_voip(caller, target) - - # check returned events - connected_event = self.check_for_event( - "CallConnected", call_connection._call_connection_id, timedelta(seconds=15) - ) - participant_updated_event = self.check_for_event( - "ParticipantsUpdated", call_connection._call_connection_id, timedelta(seconds=15) - ) - - if connected_event is None: - raise ValueError("Caller CallConnected event is None") - if participant_updated_event is None: - raise ValueError("Caller ParticipantsUpdated event is None") - play_source = FileSource(url=self.file_source_url) - - # Hold participant - call_connection.hold(target_participant=target, play_source=play_source, operation_context="hold_add_target_participant") - time.sleep(2) - # check returned events - hold_audio_started_event = self.check_for_event( - "HoldAudioStarted", call_connection._call_connection_id, timedelta(seconds=15) - ) - if hold_audio_started_event is None: - raise ValueError("Caller HoldAudioStarted event is None") - - get_participant_result = call_connection.get_participant(target) - if get_participant_result is None: - raise ValueError("Invalid get_participant_result") - - if get_participant_result.is_on_hold is False: - raise ValueError("Failed to hold participant") - play_multiple_file_source = [ - FileSource(url=self.file_source_url) - ] - call_connection.interrupt_audio_and_announce(target_participant=target, play_sources=play_multiple_file_source) - - # check returned events - hold_audio_paused_event = self.check_for_event( - "HoldAudioPaused", call_connection._call_connection_id, timedelta(seconds=15) - ) - if hold_audio_paused_event is None: - raise ValueError("Caller HoldAudioPaused event is None") - - hold_audio_resumed_event = self.check_for_event( - "HoldAudioResumed", call_connection._call_connection_id, timedelta(seconds=15) - ) - if hold_audio_resumed_event is None: - raise ValueError("Caller HoldAudioResumed event is None") - - # Unhold participant - call_connection.unhold(target, operation_context="unhold_add_target_participant") - time.sleep(2) - hold_audio_completed_event = self.check_for_event( - "HoldAudioCompleted", call_connection._call_connection_id, timedelta(seconds=15) - ) - if hold_audio_completed_event is None: - raise ValueError("Caller HoldAudioCompleted event is None") - - get_participant_result = call_connection.get_participant(target) - - if get_participant_result is None: - raise ValueError("Invalid get_participant_result") - - if get_participant_result.is_on_hold is True: - raise ValueError("Failed to unhold participant") self.terminate_call(unique_id) return - - @recorded_by_proxy - def test_play_file_source_with_interrupt_hold_audio_with_play_media(self): - # try to establish the call - caller = self.identity_client.create_user() - target = self.identity_client.create_user() - unique_id, call_connection, _ = self.establish_callconnection_voip(caller, target) - - # check returned events - connected_event = self.check_for_event('CallConnected', call_connection._call_connection_id, timedelta(seconds=15)) - participant_updated_event = self.check_for_event('ParticipantsUpdated', call_connection._call_connection_id, timedelta(seconds=15)) - - if connected_event is None: - raise ValueError("Caller CallConnected event is None") - if participant_updated_event is None: - raise ValueError("Caller ParticipantsUpdated event is None") - - random_unique_id = self._unique_key_gen(caller, target) - - play_hold_source = FileSource(url=self.file_source_url) - - # Hold participant - call_connection.hold(target, play_source=play_hold_source, - operation_context="hold_add_target_participant", - operation_callback_url=(self.dispatcher_callback + "?q={}".format(random_unique_id))) - - time.sleep(2) - hold_audio_event = self.check_for_event('HoldAudioStarted', call_connection._call_connection_id, timedelta(seconds=30)) - if hold_audio_event is None: - raise ValueError("HoldAudioStarted event is None") - - get_participant_result = call_connection.get_participant(target) - if get_participant_result is None: - raise ValueError("Invalid get_participant_result") - - if get_participant_result.is_on_hold is False: - raise ValueError("Failed to hold participant") - - play_file_source = FileSource(url=self.file_source_url) - - # play media - call_connection.play_media( - play_source=play_file_source, - play_to=[target], - interrupt_hold_audio=True, - operation_callback_url=(self.dispatcher_callback + "?q={}".format(random_unique_id)) - ) - - # check for HoldAudioPaused event - hold_audio_paused_event = self.check_for_event('HoldAudioPaused', call_connection._call_connection_id, timedelta(seconds=30)) - if hold_audio_paused_event is None: - raise ValueError("HoldAudioPaused event is None") - - # check for PlayStarted event - play_started_event = self.check_for_event('PlayStarted', call_connection._call_connection_id, timedelta(seconds=30)) - if play_started_event is None: - raise ValueError("PlayStarted event is None") - - # check for PlayCompleted event - play_completed_event_file_source_to_target = self.check_for_event('PlayCompleted', call_connection._call_connection_id, timedelta(seconds=30)) - if play_completed_event_file_source_to_target is None: - raise ValueError("PlayCompleted event is None") - - # check for HoldAudioResumed event - hold_audio_resume_event = self.check_for_event('HoldAudioResumed', call_connection._call_connection_id, timedelta(seconds=30)) - if hold_audio_resume_event is None: - raise ValueError("HoldAudioResumed event is None") - - # Unhold participant - call_connection.unhold(target, operation_context="unhold_add_target_participant") - - time.sleep(2) - # check for HoldAudioCompleted event - hold_audio_completed_event = self.check_for_event('HoldAudioCompleted', call_connection._call_connection_id, timedelta(seconds=30)) - if hold_audio_completed_event is None: - raise ValueError("HoldAudioCompleted event is None") - - get_participant_result = call_connection.get_participant(target) - - if get_participant_result is None: - raise ValueError("Invalid get_participant_result") - - if get_participant_result.is_on_hold is True: - raise ValueError("Failed to unhold participant") - - self.terminate_call(unique_id) - return \ No newline at end of file diff --git a/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/_utils/serialization.py b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/_utils/serialization.py index eb86ea23c965..60f02fc72991 100644 --- a/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/_utils/serialization.py +++ b/sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/_utils/serialization.py @@ -3,7 +3,11 @@ # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. See License.txt in the project root for license information. +<<<<<<<< HEAD:sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_generated/_utils/serialization.py +# Code generated by Microsoft (R) AutoRest Code Generator. +======== # Code generated by Microsoft (R) Python Code Generator. +>>>>>>>> main:sdk/keyvault/azure-keyvault-administration/azure/keyvault/administration/_generated/_utils/serialization.py # Changes may cause incorrect behavior and will be lost if the code is regenerated. # --------------------------------------------------------------------------