Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Streaming Library: Telephony Channel - Bot websocket reconnections #6257

Open
14 tasks
p-nagpal opened this issue Apr 13, 2021 · 0 comments
Open
14 tasks

Streaming Library: Telephony Channel - Bot websocket reconnections #6257

p-nagpal opened this issue Apr 13, 2021 · 0 comments
Assignees
Labels
Area: Streaming Issues related to streaming support feature-request A request for new functionality or an enhancement to an existing one.

Comments

@p-nagpal
Copy link
Contributor

Issue

While onboarding several customers to the Telephony speech channel, we have discovered various issues related to Telephony Channel-bot websocket connection drop. Even though channel automatically reconnects with bot under the hood, but there are some problems consequences of reconnection.

  1. When a websocket connection drops, the bot is unable to send message due to broken connection nor is it able to initiate a new connection. It must wait for the channel to initiate the connection to continue with the conversation.
  2. Once the channel detects the connection drop, it reestablishes the connection with bot. This approach does not work well for multi-instance bots as the channel might connect to a different instance during reconnect. For this approach to work, either the first bot instance needs to save the conversation state in shared store in case of failure and next instance needs to hydrate the conversation from stored state. Or the bot needs to have the mechanism to route the message to instance handling the conversation.

Proposed change

Provide design guidelines/samples for bot developers to build robust multi-instance bots with the streaming library / Telephony channel, including error handling.

Component Impact

TBD

Customer Impact

Customers are building in-house solutions to maintain state, implement ad-hoc bot back plane or just have a small rate of dropped messages due to websocket issues.

Tracking Status

Dotnet SDK TODO

  • PR
  • Merged

Javascript SDK TODO

  • PR
  • Merged

Python SDK TODO

  • PR
  • Merged

Java SDK TODO

  • PR
  • Merged

Samples TODO

  • PR
  • Merged

Docs TODO

  • PR
  • Merged

Tools TODO

  • PR
  • Merged
@p-nagpal p-nagpal added needs-triage The issue has just been created and it has not been reviewed by the team. feature-request A request for new functionality or an enhancement to an existing one. labels Apr 13, 2021
@carlosscastro carlosscastro added Area: Streaming Issues related to streaming support and removed needs-triage The issue has just been created and it has not been reviewed by the team. labels Jun 15, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: Streaming Issues related to streaming support feature-request A request for new functionality or an enhancement to an existing one.
2 participants