Signaling server... necesary?

Half-question, half-proposition.

To make PeerConnection to start communications with the other peer (just up
to the onopen() or onconnection() event) it's necessary to have defined the
localDescription and the remoteDescription on both ends. Having the
localDescription is trivial, and it would be fairly easy to set the
remoteDescription on one end (for example, abussing of the platform and
using the SDP directly as identifier), but how could be done that having
the other peer description send them automatically our own localDescription
so they can have also the both ends descriptions so communication would
begin?

As far as I know, TURN and STUN servers have some way to communicate with
the peers and participate stablishing the peer-to-peer communication. There
would be any way to send a random message with the localDescription SDP to
the TURN/STUN server (ours or the other end) so the other peer would be
able to have it and start communication? And if not, is it just an
API/protocol issue or a technical one and why?

If you are asking about a use case of this, this would allow to develop
pure client-side webapps with P2P communications without servers at all.
Currently I'm doing experiments with DataChannels and I need a server (
https://github.com/piranna/SimpleSignaling) to do the handshake between the
peers, but it's just doing registration of the peers with a UUID and in
fact is only being used to send the SDP to the other end (more or less 100
lines of code), so it's a little bit oversluous to need a machine just for
this kind of routing...

-- 
"Si quieres viajar alrededor del mundo y ser invitado a hablar en un monton
de sitios diferentes, simplemente escribe un sistema operativo Unix."
– Linus Tordvals, creador del sistema operativo Linux

Received on Sunday, 11 November 2012 01:45:09 UTC