Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Extreme testing of WebRTC Applications

iwashi
November 29, 2022

Extreme testing of WebRTC Applications

This material is presented at WebRTC Meetup Japan:
https://44145dc9ce5b767cd2eb8b7683.doorkeeper.jp/events/33154

You can see video from:
https://youtu.be/02wAz0Ii-ZU?t=1h33m21s

iwashi

November 29, 2022
Tweet

More Decks by iwashi

Other Decks in Technology

Transcript

  1. ▪Name Yoshimasa Iwase / @iwashi86 ▪Work NTT Communications, DevOps Engineer

    of SkyWay ▪Name Akinori Takigawa / @kenkenkenken8 ▪Work CTO of Nefrock Inc.
  2. TL; DR •  Tes+ng WebRTC plaUorm/app is super hard WebRTCプラットフォーム/アプリのテストは超大変

    •  Let’s automate it! and we did it! そこで自動化したく、やってみた!
  3. TL; DR •  Tes+ng WebRTC plaUorm/app is super hard WebRTCプラットフォーム/アプリのテストは超大変

    •  Let’s automate it! and we did it! そこで自動化したく、やってみた!
  4. Reason 1+α : Tes+ng signaling is not enough Video 1

    Video2   Signaling Succeeded   Video s+ll black シグナリング単体じゃ不十分
  5. Reason 2 : Various condi+ons (Clients) + iOS, Android, Na+ve

    … 条件多すぎ(クライアントだけで)
  6. Reason 2+α : Aggressive update of clients like, gUM on

    HTTP just doesn’t work アップデート早すぎ(クライアントだけで) gUMはHTTPで動かなくなったり 6-8 weeks update!
  7. Reason3 : Various condi+ons (Network) NAT-X ① Endpoint Independent Filtering

    X Endpoint Independent Mapping … over 80 cases (NATタイプだけで発着を考えると80種類超) 条件多すぎ(ネットワークの種類も)
  8. Reason3 : Various condi+ons (Network) NAT-X NAT-Y UDP blocked! ①

    Endpoint Independent Filtering X Endpoint Independent Mapping … over 80 cases (NATタイプだけで発着を考えると80種類超) 条件多すぎ(ネットワークの種類も)
  9. Reason3 : Various condi+ons (Network) NAT-X NAT-Y UDP blocked! ①

    Endpoint Independent Filtering X Endpoint Independent Mapping … over 80 cases (NATタイプだけで発着を考えると80種類超) 条件多すぎ(ネットワークの種類も) Just tes+ng in the same machine isn’t enough
  10. TL; DR •  Tes+ng WebRTC plaUorm/app is super hard WebRTCプラットフォーム/アプリのテストは超大変

    •  Let’s automate it! and we did it! そこで自動化したく、やってみた!
  11. Ubuntu with Xvn Architecture Overview Ubuntu with Xvn NAT instance

    NAT instance Intranet1 Intranet2 Web Server (hosts test app page) Virtual Internet VPC Network Segment TURN server
  12. Browser x Browser x NAT type x NAT type ・Browsers

    ・ Chrome Stable, Chrome Beta, Chrome Unstable ・ Firefox Stable (, Firefox Unstable) ・NAT types ・Theore+cally 9 types (RFC4787) ・some types not configurable with iptables -> wrote it from scratch ・4 * 4 * 9 * 9 = 1296 uh…
  13. Ubuntu with Xvn Architecture Overview Ubuntu with Xvn NAT instance

    NAT instance Intranet1 Intranet2 Web Server (hosts test app page) Virtual Internet VPC Network Segment TURN server
  14. Ubuntu with Xvn Architecture Overview (Detailed ver.) Intranet1 Intranet2 Web

    Server (hosts test app page) Virtual Internet VPC Network Segment Ubuntu with Xvn Ubuntu with Xvn Ubuntu with Xvn Ubuntu with Xvn 16 clients NAT Type 9 NAT Type 8 NAT Type 7 NAT Type 6 NAT Type 5 NAT Type 4 NAT Type 3 NAT Type 2 NAT Type 1 Ubuntu with Xvn Ubuntu with Xvn Ubuntu with Xvn Ubuntu with Xvn Ubuntu with Xvn 16 clients NAT Type 9 NAT Type 8 NAT Type 7 NAT Type 6 NAT Type 5 NAT Type 4 NAT Type 3 NAT Type 2 NAT Type 1 TURN server