Voit tehdä WebRTC:n ICE-palvelinongelmien vianmäärityksen seuraavasti:
1. Tarkista verkkoasetukset:
- Varmista, että verkko sallii UDP-liikenteen. WebRTC käyttää UDP:tä vertaisviestintään.
- Varmista, että STUN- ja TURN-palvelimet on määritetty oikein ja että ne ovat käytettävissä asiakkaan verkosta.
2. Seuraa ICE-tiloja:
- Käytä Chromen chrome://webrtc-internals/-sivua tai Firefoxissa sivua "about:webrtc" ICE-tilojen seuraamiseen ja mahdollisten ongelmien tunnistamiseen.
- Tarkista ICE-tilasiirtymät ja vaihdettavien ehdokkaiden tyypit.
3. Tarkista STUN- ja TURN-palvelinongelmat:
- Varmista, että STUN- ja TURN-palvelimet on määritetty oikein ja että ne ovat käytettävissä.
- Varmista, että palvelimet eivät estä tarvittavia portteja tai IP-osoitteita.
4. Ota käyttöön varavaihtoehdot:
- Ota käyttöön varavaihtoehtoja käyttäjälle, kuten PSTN-puhelun tarjoaminen tai käyttäjän ehdottaminen kokeilemaan toista verkkoa tai laitetta.
5. Käsittele vertaisyhteyshäiriöitä:
- Kuuntele 'iceconnectionstatechange' -tapahtumaa RTCPeerConnection-objektissa ja käsittele virhe yrittämällä yhteyttä uudelleen tai näyttämällä virheilmoituksen käyttäjälle.
6. Virheenkorjaustyökalut:
- Käytä työkaluja, kuten `chrome://webrtc-internals/` tai `about:webrtc` WebRTC-yhteyden tarkistamiseen ja mahdollisten ongelmien tunnistamiseen.
- Tarkista selainkonsolista mahdolliset ICE-yhteyteen liittyvät virheilmoitukset.
7. Tarkista NAT- ja palomuuriongelmat:
- Tarkista, onko verkossa NAT (Network Address Translation) tai palomuuri, joka saattaa estää tarvittavat portit tai IP-osoitteet.
8. Ota käyttöön TURN-palvelimen määritys:
- Määritä tarvittaessa TURN-palvelin käsittelemään tapauksia, joissa vertaisyhteys epäonnistuu verkko-ongelmien vuoksi.
9. Testaa eri ympäristöissä:
- Testaa WebRTC-sovellusta eri ympäristöissä, kuten eri verkoissa tai laitteissa, tunnistaaksesi tiettyihin kokoonpanoihin liittyvät ongelmat.
10. Katso asiakirjoja ja resursseja:
- Katso WebRTC:n dokumentaatiosta ja resursseista tarkempia tietoja ICE-palvelinongelmien vianmäärityksestä ja vertaisyhteyshäiriöiden käsittelystä.
Seuraamalla näitä ohjeita voit tehokkaasti vianmäärittää ja ratkaista ICE-palvelinongelmia WebRTC-sovelluksessasi ja varmistaa näin vankan ja luotettavan reaaliaikaisen viestintäkokemuksen käyttäjillesi[1][2][3][4][5].
Lainaukset:[1] https://mediasoup.discourse.group/t/firefox-ice-failed-add-a-stun-server-and-see-about-webrtc-for-more-details/805
[2] https://github.com/peers/peerjs/issues/470
[3] https://stackoverflow.com/questions/45071377/webrtc-ice-failure
[4] https://www.red5.net/docs/troubleshooting/webrtc-troubleshooting/troubleshooting/
[5] https://www.cloudbees.com/blog/webrtc-issues-and-how-to-debug-them