title Remote tunnel proxy nymea->proxy: TunnelProxy.RegisterServer(serverUuid, serverName) note over proxy: Register the server using the uuid nymea<-proxy: TunnelProxyErrorNoError note over nymea, proxy: Protocol from now on SLIP\nThe proxy is client 0x0000 note over nymea, proxy: SLIP encoded data: 2 Bytes address + data proxy<-client: TunnelProxy.RegisterClient(clientUuid, clientName, serverUuid) note over proxy: Search server with given uuid note over proxy: Server: Assign address for this client socket (0x0001) proxy->nymea: SLIP:0x0000: ProxyTunnel.ClientConnected (address: 0x0001) proxy->client: TunnelProxyErrorNoError note over client: Connected\nAny incomming and outgoing data will\nbe from the connected nymea instance\nuntil disconnected. note over nymea, client: Connected: The client can now communicate with nymea directly.\nThe proxy will not interpret any data from the client, and from the server only\nthe transmission frame (SLIP + 2 bytes of address) proxy<-client: "request data" nymea<-proxy: SLIP:0x0001 "request data" nymea->proxy: SLIP:0x0001 "response data" proxy->client: "response data" nymea->proxy: SLIP:0x0001 "notification data" proxy->client: "notification data"