Media/WebRTC/WebRTCE10S: Difference between revisions

Line 65: Line 65:
There are two natural designs, discussed below.
There are two natural designs, discussed below.


In my opinion the first design ("Network Proxies") is superior.


==== Network Proxies ====
==== Network Proxies ====
Line 100: Line 99:
* When a content process sends a STUN-formatted packet, it gets transmitted and added to the outstanding STUN transaction table
* When a content process sends a STUN-formatted packet, it gets transmitted and added to the outstanding STUN transaction table
* When packet is received, it is checked against the outstanding STUN transaction table. If a transaction completes, then the address is added to the permissions table.
* When packet is received, it is checked against the outstanding STUN transaction table. If a transaction completes, then the address is added to the permissions table.


This would be relatively easy to implement and would provide a measure of protection
This would be relatively easy to implement and would provide a measure of protection
against misuse of this interface.
against misuse of this interface. It would require some STUN-parsing smarts in the
parent, but those can be kept relatively minimal.


==== ICE In Parent ====
==== ICE In Parent ====
Line 129: Line 130:


This API has around 20 distinct API calls, each of which will need to be separately
This API has around 20 distinct API calls, each of which will need to be separately
remoted.
remoted. A number of them have fairly complicated semantics, which would tend
to invade the rest of the program.
 
==== Recommendation ====
 
In my opinion we should go for the "Network Proxies" design. It's going to be a lot simpler
to implement than the "ICE in the parent" design and can be largely hidden by an
already replaceable component (nr_socket_prsock.cpp) without impacting the rest
of the code. It also lets us work in parallel because we can do a simple implementation
without the packet filter described above and then add the packet filter transparently
later.
Confirmed users
214

edits