The HELLO command is what results in the first data channel being opened through WebRTC, which will cause freedom.transport.setup's returned promise to fulfill.  I had added the initiateConnection option to peerconnection.setup (code here https://github.com/freedomjs/freedom/pull/47/files#diff-32d48f939f7c111639df5eaae044650bR428) but after discussing with Will we decided not to expose this to callers of freedom.transport.setup (because in theory users of freedom.transport shouldn't need to worry about how the connection is initiated or by which side).  The HELLO message is really just a hack for now, until a longer term fix that will probably involve both sides of a peer-connection negotiating using a nonce to decide who should initiate the connection, followed by sending an initial message across to fulfill the freedom.transport.setup promise