Files
upstream-pion-webrtc/examples/ice-restart
upstream-mirror 8acb1a3a29
Some checks failed
REUSE Compliance Check / lint (push) Failing after 0s
Browser E2E / Test (push) Failing after 3s
Test / test (1.24) (push) Failing after 0s
Test / test-i386 (1.25) (push) Failing after 0s
Test / test-i386 (1.24) (push) Failing after 0s
Test / test-windows (1.25) (push) Failing after 0s
Test / test-windows (1.24) (push) Failing after 0s
Test / test (1.25) (push) Failing after 0s
Examples Tests / Test (push) Failing after 3s
Test / test-macos (1.25) (push) Failing after 0s
Test / test-macos (1.24) (push) Failing after 0s
Go mod tidy / tidy (push) Failing after 0s
Test / test-wasm (push) Failing after 0s
CodeQL / analyze (push) Failing after 1s
Fuzz / fuzz (push) Failing after 0s
snapshot of https://github.com/pion/webrtc.git (main, 2026-09-15; blobs > 131072B omitted)
2026-09-15 20:06:07 +05:00
..

ice-restart

ice-restart demonstrates Pion WebRTC's ICE Restart abilities.

Instructions

Download ice-restart

This example requires you to clone the repo since it is serving static HTML.

git clone https://github.com/pion/webrtc.git
cd webrtc/examples/ice-restart

Run ice-restart

Execute go run *.go

Open the Web UI

Open http://localhost:8080. This will automatically start a PeerConnection. This page will now prints stats about the PeerConnection and allow you to do an ICE Restart at anytime.

  • ICE Restart is the button that causes a new offer to be made with iceRestart: true.
  • ICE Connection States will contain all the connection states the PeerConnection moves through.
  • ICE Selected Pairs will print the selected pair every 3 seconds. Note how the uFrag/uPwd/Port change everytime you start the Restart process.
  • Inbound DataChannel Messages containing the current time sent by the Pion process every 3 seconds.

Congrats, you have used Pion WebRTC! Now start building something cool