WebRTC Load Testing
LM ToolsTM simulates WebRTC signalling servers, B2B agents, millions of WebRTC endpoints with various kinds of signalling like JSON, HTTP, SIP, Proprietary text/binary messages etc. Major features used in WebRTC like RTCP mux, Audio / Video bundle, SRTP / DTLS, OPUS, VP8, STUN, TURN, ICE etc are supported. Select use cases are shown in below diagram.
If it is required to simulate hybrid signalling like HTTP + Websocket, HTTP + JSON or any other combination (including binary messages) you can simulate it easily using LM Tools. Since in WebRTC, signalling is wide open, anybody can define own signalling call flow, users can leverage LM Tools open and easy to use interface to simiulate any such signalling call flows in large scale to load test media servers / relays, signalling servers etc.
Signalling
LM Tools supports various signalling mechanism listed below
- HTTP / HTTPS
- JSON
- SIP / IMS
- Any proprietary text / binary messages
Transport
LM Tools supports almost all transport protocols as listed below
- UDP
- TCP
- TLS
- DTLS
- SCTP
- Websocket
- Secured Websocket
Media Profiles
Various media profiles supported are
- UDP
- SRTP / UDP
- SRTP / DTLS
- TCP (In progress)
- TLS (In progress)
Media Codecs
LM Tools supports advances audio / video codecs listed below.
NAT / Firewall Traversal
LM Tools supports ICE and related standards for NAT / Firewall traversal. You can configure ice-mode to stun, turn or lite to force a particular technique to be followed during call. Supported standards are as below.
Standards Supported
LM Tools provides flexible message and flow sequence simulation mechanism. In addition to that it also supports various standards to achieve specific functionalities. Supported standards are listed below.
- RFC 2616 - Hypertext transfer protocol.
- RFC 3261 - Session initiation protocol.
- RFC 3711 - Secure RTP.
- RFC 5245 - Interactive connectivity establishment (ICE). A protocol for network address translator (NAT) traversal for offer/answer protocols.
- RFC 5389 - Session traversal utilities for NAT (STUN)
- RFC 5766 - Traversal using relays around NAT (TURN). Relay extensions to session traversal utilities for NAT (STUN)
- RFC 6455 - The websocket protocol.
- RFC 7118 - The websocket protocol as a transport for the session initiation protocol (SIP).
- RFC 7741 - The RTP VP8 packetization.
- RFC 8124 - WebRTC SDP.
Report Dashboard & Graphs
When you deal with testing (specially load and performance), reports, statistics and graphs are quite important to analyze the test progress and behavior of system under test over a period of time. LM Tools provides auto refresh web interfaces for report dashboard and graphs. From graphs, you can view test statistics captured at certain intervals (in order of seconds).
Report dashboard
The report dashboard is shown below. Look at the last column, you ave links for detail reports, errors, live / dynamic graphs, static graphs etc.
Graphs
Below few graphs are shown for visual representation of test result / report. Graph data provides the statistical data over a period of time, captured at certain interval of time in order of seconds.
External Resources
The WebRTC is an initiative from W3C, Google for plugin-free browser to browser real time multimedia communication. It is supported by widely used browsers such as Chrome, Firefox etc..
Various WebRTC resources (external links) are given below.
- WebRTC Root
- WebRTC overview & protocols involved
- Various WebRTC drafts/standards
- Google's webrtc svn checkout
- WebRTC miscllaneous
- WebRTC Slides
- WebRTC overview draft
- SIP with Websocket as Transport Protocol
- repro SIP Proxy with Websocket as Transport
- WebSocket Protocol (RFC 6455)
- SDP Anatomy (RFC 6455)
If you are looking for load testing of your WebRTC sever or any related component like Turn Server, Signalling Server etc, you may like to have a trial run with LM Tools tool. LM Tools offers long hour uninterrupted load testing solutions across domains including WebRTC.