Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions sdk/communication/azure-communication-callautomation/api.md
Original file line number Diff line number Diff line change
Expand Up @@ -430,6 +430,7 @@ namespace azure.communication.callautomation
self,
target_participant: CommunicationIdentifier,
*,
operation_callback_url: Optional[str] = ...,
operation_context: Optional[str] = ...,
**kwargs
) -> None: ...
Expand Down Expand Up @@ -1511,6 +1512,7 @@ namespace azure.communication.callautomation.aio
self,
target_participant: CommunicationIdentifier,
*,
operation_callback_url: Optional[str] = ...,
operation_context: Optional[str] = ...,
**kwargs
) -> None: ...
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -822,6 +822,7 @@ 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.
Expand All @@ -830,13 +831,19 @@ 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:
"""
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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -823,6 +823,7 @@ 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.
Expand All @@ -831,12 +832,19 @@ 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
target_participant=serialize_identifier(target_participant),
operation_context=operation_context,
operation_callback_uri=operation_callback_url,
)
await self._call_media_client.start_continuous_dtmf_recognition(
self._call_connection_id, continuous_dtmf_recognition_request, **kwargs
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -523,10 +523,16 @@ def test_cancel(self):
def test_start_continuous_dtmf_recognition(self):
mock_start_continuous_dtmf_recognition = Mock()
self.call_media_operations.start_continuous_dtmf_recognition = mock_start_continuous_dtmf_recognition
self.call_connection_client.start_continuous_dtmf_recognition(target_participant=self.target_user)
self.call_connection_client.start_continuous_dtmf_recognition(
target_participant=self.target_user,
operation_context=self.operation_context,
operation_callback_url=self.operation_callback_url,
)

expected_continuous_dtmf_recognition_request = ContinuousDtmfRecognitionRequest(
target_participant=serialize_identifier(self.target_user)
target_participant=serialize_identifier(self.target_user),
operation_context=self.operation_context,
operation_callback_uri=self.operation_callback_url,
)

mock_start_continuous_dtmf_recognition.assert_called_once()
Expand All @@ -542,6 +548,10 @@ def test_start_continuous_dtmf_recognition(self):
expected_continuous_dtmf_recognition_request.operation_context,
actual_start_continuous_dtmf_recognition.operation_context,
)
self.assertEqual(
expected_continuous_dtmf_recognition_request.operation_callback_uri,
actual_start_continuous_dtmf_recognition.operation_callback_uri,
)

def test_stop_continuous_dtmf_recognition(self):
mock_stop_continuous_dtmf_recognition = Mock()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -551,10 +551,16 @@ async def test_cancel(self):
async def test_start_continuous_dtmf_recognition(self):
mock_start_continuous_dtmf_recognition = AsyncMock()
self.call_media_operations.start_continuous_dtmf_recognition = mock_start_continuous_dtmf_recognition
await self.call_connection_client.start_continuous_dtmf_recognition(target_participant=self.target_user)
await self.call_connection_client.start_continuous_dtmf_recognition(
target_participant=self.target_user,
operation_context=self.operation_context,
operation_callback_url=self.operation_callback_url,
)

expected_continuous_dtmf_recognition_request = ContinuousDtmfRecognitionRequest(
target_participant=serialize_identifier(self.target_user)
target_participant=serialize_identifier(self.target_user),
operation_context=self.operation_context,
operation_callback_uri=self.operation_callback_url,
)

mock_start_continuous_dtmf_recognition.assert_awaited_once()
Expand All @@ -570,6 +576,10 @@ async def test_start_continuous_dtmf_recognition(self):
expected_continuous_dtmf_recognition_request.operation_context,
actual_start_continuous_dtmf_recognition.operation_context,
)
self.assertEqual(
expected_continuous_dtmf_recognition_request.operation_callback_uri,
actual_start_continuous_dtmf_recognition.operation_callback_uri,
)

async def test_stop_continuous_dtmf_recognition(self):
mock_stop_continuous_dtmf_recognition = AsyncMock()
Expand Down
Loading