--
---
You received this message because you are subscribed to the Google Groups "discuss-webrtc" group.
To unsubscribe from this group and stop receiving emails from it, send an email to discuss-webrtc+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/discuss-webrtc/f14cb3c6-45c1-49f3-9ca5-0382b44355bb%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
On May 10, 2017, at 00:34, Nithyesh Sankar <klas...@gmail.com> wrote:I have been learning about WebRTC for sometime now. Recently I came across the concept of ICE restarts. As I understand it, the application can send an updated offer(with iceRestart set to true) to generate new ICE credentials and candidates and establish a new connection. I have couple of questions regarding this.
1) Should the ICE restart be initiated after ICE Disconnected state or ICE Failed state?
2) Should the updated offer be sent only by the peer that performed the initial offer? Or can it be sent by either peer? Also if one peer loses Internet connectivity, do both peers receive the same ICE connection state change notification simultaneously?
On May 17, 2017, at 06:55, Nithyesh Sankar <klas...@gmail.com> wrote:Since I am just experimenting, I performed ICE restarts on the failed state on the peer that initiated the connection the first time. I ran this test several times to check the connection recovery behavior and it worked properly most of the times. There was this one instance where the flow was as follows
Peer A Peer B
ICE CONNECTION FAILED
SENT ICE RESTART OFFER(1)
ICE CONNECTION CONNECTED
ICE CONNECTION FAILED RECEIVED OFFER(1)
SENT ICE RESTART OFFER(2) SEND ANSWER(1)
RECEIVED ANSWER(1) RECEIVED OFFER(2)
SIGNALLING STATE-STABLE
RECEIVED ANSWER(2) <---- At this point, I got an error about being in an invalid state.
I do'nt remember the exact flow on Peer B. Unfortunately I didn't save the logs for this case and have been trying to recreate it.
Is this the scenario where I would try to do an ICE rollback and set the remote description? Also could you please point me towards some reference about ICE rollbacks or sample code?
I do'nt remember the exact flow on Peer B. Unfortunately I didn't save the logs for this case and have been trying to recreate it.
Is this the scenario where I would try to do an ICE rollback and set the remote description? Also could you please point me towards some reference about ICE rollbacks or sample code?No. A rollback would typically be used in case A and B both switch to Failed and therefore both generate new ICE restart offers. Then the offers cross on the wire. And when one of the peers receive the others side offer it realizes that now two offers are in flight. So now it can roll back it’s own offer and instead set the remote offer.
So roll back is performed automatically by the PeerConnection? Or do we have to enable it using some config value?