aws / aws/connect-rtc-js

iceRestart on createoffer not working

Open
#101 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
91
Forks
65
Avg merge
2h 21m
Merged PRs (30d)
1

Description

Hello,

I'm implementing iceRestart when the connection of onIceStateChange() goes to disconnect/failed.
In our case this can happen, while on the phone, we switch from ethernet to wifi, or in general switch IP addresses.

So I need to implement iceRestart to re-negotiate the ice candidates.
I can force a new CreateOffer with iceRestart:true and I get new icecandidates.
at the end a new 'invite' is send to the websocket, notifying the webrtc signalling server of Amazon Connect.

The problem is that it is not reacting well to sending an 'invite' again on a session that is already ongoing.

I receive a 'BAD_REQUEST' from the signalling websocket :

{\"connectionId\":\"99b1dc8c-01c4-44aa-xxxxxxx\",\"jsonRpcMsg\":{\"id\":\"ea012284-7d85-4c14-969f-xxxxxx\",\"jsonrpc\":\"2.0\",\"error\":{\"code\":400,\"data\":{\"errorCause\":\"BAD_REQUEST\"},\"message\":\"Error\"}}}"

My questions, is it possible to have an iceRestart with this library, and am I missing something why it is not working?
For completeness the initial createOffer flow and and the restartIce Flow are exactly the same. instead of using an 'invite' should i use another method in this case so amazon connect signaling server does not react with a BAD_REQUEST?

thanks for the assistance,

Contributor guide

Open the contributing guide

Research direction

Start by tracing the createOffer and restartIce flows described in the issue, then inspect how the signaling WebSocket handles the repeated invite on an ongoing session. Compare the initial negotiation with the restart sequence and determine the supported Amazon Connect signaling method; done means an ICE restart completes without the BAD_REQUEST response.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
audio-video-rtc
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.