transports(daily): daily-python 0.14.0 (SIP transfer/refer, DTMF)

This commit is contained in:
Aleix Conchillo Flaqué
2024-12-19 15:27:40 -08:00
parent 15047f5f0a
commit 8b496f8c6f
3 changed files with 34 additions and 1 deletions

View File

@@ -9,6 +9,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Added
- Added `DailyTransport.send_dtmf()` to send dial-out DTMF tones.
- Added `DailyTransport.sip_call_transfer()` to forward SIP and PSTN calls to
another address or number. For example, transfer a SIP call to a different
SIP address or transfer a PSTN phone number to a different PSTN phone number.
- Added `DailyTransport.sip_refer()` to transfer incoming SIP/PSTN calls from
outside Daily to another SIP/PSTN address.
- Added `KoalaFilter` which implement on device noise reduction using Koala
Noise Suppression.
(see https://picovoice.ai/platform/koala/)

View File

@@ -46,7 +46,7 @@ azure = [ "azure-cognitiveservices-speech~=1.41.1", "openai~=1.57.2" ]
canonical = [ "aiofiles~=24.1.0" ]
cartesia = [ "cartesia~=1.0.13", "websockets~=13.1" ]
cerebras = [ "openai~=1.57.2" ]
daily = [ "daily-python~=0.13.0" ]
daily = [ "daily-python~=0.14.0" ]
deepgram = [ "deepgram-sdk~=3.7.7" ]
elevenlabs = [ "websockets~=13.1" ]
fal = [ "fal-client~=0.4.1" ]

View File

@@ -491,6 +491,21 @@ class DailyTransportClient(EventHandler):
self._client.stop_dialout(participant_id, completion=completion_callback(future))
await future
async def send_dtmf(self, settings):
future = self._loop.create_future()
self._client.send_dtmf(settings, completion=completion_callback(future))
await future
async def sip_call_transfer(self, settings):
future = self._loop.create_future()
self._client.sip_call_transfer(settings, completion=completion_callback(future))
await future
async def sip_refer(self, settings):
future = self._loop.create_future()
self._client.sip_refer(settings, completion=completion_callback(future))
await future
async def start_recording(self, streaming_settings, stream_id, force_new):
future = self._loop.create_future()
self._client.start_recording(
@@ -955,6 +970,15 @@ class DailyTransport(BaseTransport):
async def stop_dialout(self, participant_id):
await self._client.stop_dialout(participant_id)
async def send_dtmf(self, settings):
await self._client.send_dtmf(settings)
async def sip_call_transfer(self, settings):
await self._client.sip_call_transfer(settings)
async def sip_refer(self, settings):
await self._client.sip_refer(settings)
async def start_recording(self, streaming_settings=None, stream_id=None, force_new=None):
await self._client.start_recording(streaming_settings, stream_id, force_new)