Skip to content

Commit fdb4e20

Browse files
committed
Merge branch 'feature/communication-CallingServer-preview' of https://github.com/Azure/azure-sdk-for-python into feature/communication-CallingServer-preview
2 parents b3f40f1 + 82283d9 commit fdb4e20

File tree

8 files changed

+128
-365
lines changed

8 files changed

+128
-365
lines changed

sdk/communication/azure-communication-callingserver/azure/communication/callingserver/_callingserver_client.py

Lines changed: 36 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,11 @@
2020
PlayAudioResult,
2121
AddParticipantResult,
2222
CallRecordingProperties,
23-
# StartCallRecordingResult,
24-
# StartCallRecordingRequest,
25-
# StartCallRecordingWithCallLocatorRequest
23+
StartCallRecordingWithCallLocatorRequest,
24+
StartCallRecordingResult,
25+
RecordingContentType,
26+
RecordingChannelType,
27+
RecordingFormatType
2628
)
2729
from ._shared.models import CommunicationIdentifier
2830
from ._call_connection import CallConnection
@@ -170,8 +172,7 @@ def create_call_connection(
170172
alternate_caller_id=(None
171173
if options.alternate_Caller_Id is None
172174
else PhoneNumberIdentifierModel(value=options.alternate_Caller_Id.properties['value'])),
173-
subject=options.subject,
174-
**kwargs
175+
subject=options.subject
175176
)
176177

177178
create_call_response = self._call_connection_client.create_call(
@@ -391,33 +392,36 @@ def cancel_participant_media_operation(
391392
**kwargs
392393
)
393394

394-
# @distributed_trace()
395-
# def start_recording(
396-
# self,
397-
# call_locator, # type: CallLocator
398-
# recording_state_callback_uri, # type: str
399-
# **kwargs # type: Any
400-
# ): # type: (...) -> StartCallRecordingResult
401-
402-
# if not call_locator:
403-
# raise ValueError("call_locator cannot be None")
404-
# if not CallingServerUtils.is_valid_url(recording_state_callback_uri):
405-
# raise ValueError("recording_state_callback_uri is invalid")
406-
407-
# start_call_recording_request = StartCallRecordingRequest(
408-
# recording_state_callback_uri=recording_state_callback_uri,
409-
# **kwargs
410-
# )
411-
412-
# start_call_recording_with_calllocator_request = StartCallRecordingWithCallLocatorRequest(
413-
# call_locator=serialize_call_locator(call_locator),
414-
# start_call_recording_request=start_call_recording_request
415-
# )
416-
417-
# return self._server_call_client.start_recording(
418-
# start_call_recording_with_call_locator_request=start_call_recording_with_calllocator_request,
419-
# **kwargs
420-
# )
395+
#pylint:disable=too-many-arguments
396+
@distributed_trace()
397+
def start_recording(
398+
self,
399+
call_locator, # type: CallLocator
400+
recording_state_callback_uri, # type: str
401+
recording_content_type = None, # type: Optional[RecordingContentType]
402+
recording_channel_type = None, # type: Optional[RecordingChannelType]
403+
recording_format_type = None, # type: Optional[RecordingFormatType]
404+
**kwargs # type: Any
405+
): # type: (...) -> StartCallRecordingResult
406+
407+
if not call_locator:
408+
raise ValueError("call_locator cannot be None")
409+
if not CallingServerUtils.is_valid_url(recording_state_callback_uri):
410+
raise ValueError("recording_state_callback_uri is invalid")
411+
412+
start_call_recording_with_calllocator_request = StartCallRecordingWithCallLocatorRequest(
413+
call_locator=serialize_call_locator(call_locator),
414+
recording_state_callback_uri=recording_state_callback_uri,
415+
recording_content_type=recording_content_type,
416+
recording_channel_type=recording_channel_type,
417+
recording_format_type=recording_format_type,
418+
**kwargs
419+
)
420+
421+
return self._server_call_client.start_recording(
422+
start_call_recording_with_call_locator_request=start_call_recording_with_calllocator_request,
423+
**kwargs
424+
)
421425

422426
@distributed_trace()
423427
def pause_recording(

sdk/communication/azure-communication-callingserver/azure/communication/callingserver/_shared/__init__.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,3 @@
1212
collect_ignore_glob = []
1313
if sys.version_info < (3, 5):
1414
collect_ignore_glob.append("*_async.py")
15-

sdk/communication/azure-communication-callingserver/azure/communication/callingserver/aio/_callingserver_client_async.py

Lines changed: 40 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,11 @@
2424
PlayAudioResult,
2525
AddParticipantResult,
2626
CallRecordingProperties,
27-
# StartCallRecordingResult,
28-
# StartCallRecordingRequest,
29-
# StartCallRecordingWithCallLocatorRequest
27+
StartCallRecordingWithCallLocatorRequest,
28+
StartCallRecordingResult,
29+
RecordingContentType,
30+
RecordingChannelType,
31+
RecordingFormatType
3032
)
3133
from .._shared.models import CommunicationIdentifier
3234
from ._content_downloader_async import ContentDownloader
@@ -169,8 +171,7 @@ async def create_call_connection(
169171
alternate_caller_id=(None
170172
if options.alternate_Caller_Id is None
171173
else PhoneNumberIdentifierModel(value=options.alternate_Caller_Id.properties['value'])),
172-
subject=options.subject,
173-
**kwargs
174+
subject=options.subject
174175
)
175176

176177
create_call_response = await self._call_connection_client.create_call(
@@ -396,33 +397,40 @@ async def cancel_participant_media_operation(
396397
**kwargs
397398
)
398399

399-
# @distributed_trace_async()
400-
# async def start_recording(
401-
# self,
402-
# call_locator: CallLocator,
403-
# recording_state_callback_uri: str,
404-
# **kwargs: Any
405-
# ) -> StartCallRecordingResult:
406-
407-
# if not call_locator:
408-
# raise ValueError("call_locator cannot be None")
409-
# if not CallingServerUtils.is_valid_url(recording_state_callback_uri):
410-
# raise ValueError("recording_state_callback_uri is invalid")
411-
412-
# start_call_recording_request = StartCallRecordingRequest(
413-
# recording_state_callback_uri=recording_state_callback_uri,
414-
# **kwargs
415-
# )
416-
417-
# start_call_recording_with_calllocator_request = StartCallRecordingWithCallLocatorRequest(
418-
# call_locator=serialize_call_locator(call_locator),
419-
# start_call_recording_request=start_call_recording_request
420-
# )
421-
422-
# return await self._server_call_client.start_recording(
423-
# start_call_recording_with_calllocator_request,
424-
# **kwargs
425-
# )
400+
# pylint:disable=too-many-arguments
401+
@distributed_trace_async()
402+
async def start_recording(
403+
self,
404+
call_locator: CallLocator,
405+
recording_state_callback_uri: str,
406+
recording_content_type: Optional[RecordingContentType] = None,
407+
recording_channel_type: Optional[RecordingChannelType] = None,
408+
recording_format_type: Optional[RecordingFormatType] = None,
409+
**kwargs: Any
410+
) -> StartCallRecordingResult:
411+
412+
if not call_locator:
413+
raise ValueError("call_locator cannot be None")
414+
if not CallingServerUtils.is_valid_url(recording_state_callback_uri):
415+
raise ValueError("recording_state_callback_uri is invalid")
416+
417+
start_call_recording_request = StartCallRecordingWithCallLocatorRequest(
418+
recording_state_callback_uri=recording_state_callback_uri,
419+
recording_content_type=recording_content_type,
420+
recording_channel_type=recording_channel_type,
421+
recording_format_type=recording_format_type,
422+
**kwargs
423+
)
424+
425+
start_call_recording_with_calllocator_request = StartCallRecordingWithCallLocatorRequest(
426+
call_locator=serialize_call_locator(call_locator),
427+
start_call_recording_request=start_call_recording_request
428+
)
429+
430+
return await self._server_call_client.start_recording(
431+
start_call_recording_with_calllocator_request,
432+
**kwargs
433+
)
426434

427435
@distributed_trace_async()
428436
async def pause_recording(

sdk/communication/azure-communication-callingserver/setup.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,8 @@
6363
install_requires=[
6464
'azure-core<2.0.0,>=1.11.0',
6565
'msrest>=0.6.0',
66-
'six>=1.11.0'
66+
'six>=1.11.0',
67+
'validators>=0.10.4'
6768
],
6869
extras_require={
6970
":python_version<'3.0'": ['azure-communication-nspkg'],

0 commit comments

Comments
 (0)