This PR adds a client targeted to be used in Node.js apps, so they can act as clients of the signaling server and participants of the mesh network, for example to implement a proxy to send streams to an MCU or SFU. It has been done by reverse-engineering the protocol from the actual signaling server implementation.
Additionally, it does some improvements in the project and code structure, like unifying the place where messages are decoded, and some backward compatible improvements and fixes in the protocol itself, like ensure that all request messages generate an answer that clients can wait for.
This PR adds a client targeted to be used in Node.js apps, so they can act as clients of the signaling server and participants of the mesh network, for example to implement a proxy to send streams to an MCU or SFU. It has been done by reverse-engineering the protocol from the actual signaling server implementation.
Additionally, it does some improvements in the project and code structure, like unifying the place where messages are decoded, and some backward compatible improvements and fixes in the protocol itself, like ensure that all request messages generate an answer that clients can wait for.
This work has been sponsored by Atos Research & Innovation, with funds from European Union H2020 program.