vocode-python icon indicating copy to clipboard operation
vocode-python copied to clipboard

Implement Dynamic Provider Selection for Telephony Services in Twilio and Vonage Integrations

Open arpagon opened this issue 2 years ago • 2 comments

Implement Dynamic Provider Selection for Telephony Services in Twilio and Vonage Integrations

  • Summary

The objective is to implement dynamic provider selection for telephony services in Twilio and Vonage integrations. This will allow the system to switch between different telephony services based on the requirements, enhancing flexibility and efficiency.

  • Blockers

  • [x] None

  • Outcome

Improve the flexibility and adaptability of the Vocode open source library by implementing dynamic provider selection for telephony services, thereby enhancing developer engagement and the overall quality of the product.

  • Technical Details

The task involves modifying several methods in the vocode/streaming/models/synthesizer.py, vocode/streaming/models/transcriber.py, vocode/streaming/telephony/constants.py, vocode/streaming/telephony/client/vonage_client.py, and vocode/streaming/telephony/conversation/vonage_call.py files. The goal is to switch from static to dynamic telephony service providers (Twilio and Vonage).

  • Subtasks

  • [ ] Modify the from_telephone_output_device and from_telephone_input_device methods in synthesizer.py and transcriber.py respectively to support both Twilio and Vonage.
  • [ ] Update the constants in constants.py to support both Twilio and Vonage.
  • [ ] Implement the validate_outbound_call method in vonage_client.py to validate outbound calls.
  • [ ] Make the send_dtmf function in vonage_call.py asynchronous and use aiohttp with the Vonage client.

arpagon avatar Feb 16 '24 21:02 arpagon

Related to #459

arpagon avatar Feb 16 '24 21:02 arpagon