Originally Posted by: WarrisAV
1. Does WebRTC concern itself with local IP address to host connection or is it more direct?
2. Will the vMix call find it's way through either or both of the modems through the balancer, or distribute itself equally?
3. Is vMix call cognizant of pathing changes during the call or does it have to be particularly stable.
4. Does load balancing across ISPs impact vMix call in any negotiable way?
Here is some background knowledge that might help you:
1.
There are plenty of websites explaining Webrtc, you should do a quick Google search. A very simplified short summary: both partners (the caller's web browser and your vmix) connect to the vmix webserver telling it the caller IDs. The vmix server then connects the 2 parties by directing them to a STUN server that is acting like a proxy and allows the parties to exchange their connection information. Basically they gather all information they can find on how they could be reached (their local and public IPs etc.) and send that over. The server is just the intermediary between the two. Once that information is exchanged, the two parties try to connect directly using that information. Once they are connected, they do not need the vmix server any more and all data is flowing directly between the two parties. If a connection is not possible (e.g. both sides are behind a firewall), they can fall back to a TURN server that vmix also offers. This introduces more latency and depending on the server load it could reduce throughput and quality, but all data is now routed via that server that has a public IP and can always be connected to by everyone.
2.
This depends on the router you use. There are different types of load balancing logic that those simple dual-wan routers provide. I hope you have some basic TCP/networking knowledge, otherwise the following might be very confusing:
It is important to understand, that a single data connection can only be using one uplink. So if you have one connection and transfer data (i.e. one big download), it cannot be faster than a single uplink. But if you start a second download, that one can then fully use the second uplink's bandwith. In your case, that's just fine, since every vmix call and your stream are all separate connections that can be distributed to use both links.
Common router logic on which outgoing connection gets routed through which uplink could are like this:
- simple "round robin" logic: first connection uplink 1, second connection uplink 2, third on uplink one again and so on.
- load based logic: the router decides based on the utilization of the uplinks.
the router maintains a translation table to remember what packets need to go out on which uplink in these cases.
Another very common method is the checksum based logic, which avoids having to maintain a routing table:
the router calculates a simple numeric checksum from source and target IPs and ports. Then it does a modulo 2 calculation on that checksum, if the result is 0 the packet gets routed via uplink 1, otherwise it goes via uplink 2. Since the source and destionation IPs and ports cannot change within a tcp connection, this always works.
What does all that mean for your question and vMix? It depends on how your router works. But you should expect the calls to somehow be distributed on both uplinks. Not always exactly 50/50, but a kind of like that.
3. The caller will have to reconnect (reload the browser window) if an uplink fails or the routing gets changed.
4. No, that's just fine. As I described above, your upstream to your streaming provider will not be distributed along both uplinks.
If you get a better router, you can manually create routing tables (if you want to...). I think the Ubiquiti Edgerouter X (pricepoint around only 50 EUR) is the cheapest stable router that allows Dual-WAN. I can recommend that one, have been using it a lot. No need to get expensive Cisco stuff for that application.
I hope that was not too long and complicated... I'm German and always have trouble trying to explain things in a simple way in English language.
Cheers