Skip to content
Open
Show file tree
Hide file tree
Changes from 9 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
@@ -1,3 +1,3 @@
apiMdSha256: 3b82f278188615d030de51d9730b80acaa3486e88f3e3c54fa9711c54d5159b4
parserVersion: 0.3.28
apiMdSha256: 9317a126aa0df822ca374bd70f1d89c7a5ab6b210b70246bca2e30a8ecb99900
parserVersion: 0.3.30
pythonVersion: 3.14.5
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