{"record":{"content":"{\"deviceKind\":\"service\",\"deviceLabel\":\"DevGateway\",\"devicePk\":\"0f92c4a4aab613ff051f2a6e9cde7d0d131faa576a11ffe175ab82b4715c501b\",\"expiresAt\":1775373947597,\"freshnessMs\":0,\"hostGatewayPk\":\"\",\"hostPlatform\":\"unknown\",\"hostedServices\":[{\"cameraCount\":1,\"deviceKind\":\"service\",\"deviceLabel\":\"Constitute NVR\",\"devicePk\":\"650ebf57f24bcbf7f4e0da11a48943e26a82377146343a3797c2e5356c04b00c\",\"freshnessMs\":0,\"hostGatewayPk\":\"0f92c4a4aab613ff051f2a6e9cde7d0d131faa576a11ffe175ab82b4715c501b\",\"service\":\"nvr\",\"serviceVersion\":\"0.1.0\",\"status\":\"online\",\"updatedAt\":1775287547000}],\"identityId\":\"id-LnZz1joVZtIvTiIo\",\"relays\":[\"ws://10.0.30.44:7447\"],\"releaseBranch\":\"feat/gateway-managed-webrtc-31\",\"releaseChannel\":\"dev\",\"releaseTrack\":\"local\",\"role\":\"gateway\",\"service\":\"\",\"serviceVersion\":\"0.1.3\",\"updatedAt\":1775287547597}","created_at":1775287547,"id":"517d4e87dbf7d039102552783ccde088c1d4a51adb1be3c6d9ee2e4b1a8e707c","kind":30078,"pubkey":"0f92c4a4aab613ff051f2a6e9cde7d0d131faa576a11ffe175ab82b4715c501b","sig":"140c35bc1d301d62ad47e72f5979caa7563a3b7b2180d2f60e67ed4e2b2cba7c49e414da38c0b9679a5f9d29de7db562a729a5b5371ffe2e8105a2bca71063a7","tags":[["t","swarm_discovery"],["type","device"],["role","gateway"]]},"requestId":"record-NfzwGMXyokI","type":"swarm_device_record"}
npub1p7fv...7e8y
npub1p7fv...7e8y
{"devicePk":"0f92c4a4aab613ff051f2a6e9cde7d0d131faa576a11ffe175ab82b4715c501b","dhtKey":null,"dhtScope":null,"identityId":null,"requestId":"record-NfzwGMXyokI","status":"complete","ts":1775451191000,"type":"swarm_record_response","want":["device"],"zone":null}
{"capability":"nvr.view","devicePk":"4a29ff60c5c3837e9e20555bfeb2a046be3eb140818144628691fcf7efb1d2f1","display":{"appRepo":"constitute-nvr-ui","cameraCount":1,"cameras":[{"enabled":true,"name":"Reolink E1 Outdoor SE","onvifHost":"192.168.250.97","onvifPort":8000,"rtspConfigured":true,"segmentSecs":10,"sourceId":"reolink-192-168-250-97"}],"configuredSources":1,"gatewayPk":"0f92c4a4aab613ff051f2a6e9cde7d0d131faa576a11ffe175ab82b4715c501b","iceServers":{"stun":["stun:stun.l.google.com:19302"],"turn":[]},"requestDisplay":{"serviceLabel":"Security Cameras"},"service":"nvr","serviceLabel":"Constitute NVR","servicePk":"650ebf57f24bcbf7f4e0da11a48943e26a82377146343a3797c2e5356c04b00c","serviceVersion":"0.1.0","sourceRuntime":[{"backoffSecs":0,"lastError":"","restartAttempt":3,"sourceId":"reolink-192-168-250-97","state":"running","updatedAt":1775382960757}],"sources":["reolink-192-168-250-97"],"status":"online"},"expiresAt":1775439356000,"gatewayPk":"0f92c4a4aab613ff051f2a6e9cde7d0d131faa576a11ffe175ab82b4715c501b","identityId":"id-LnZz1joVZtIvTiIo","launchToken":"{\"id\":\"1be50f98e0f1ee12f227eb5071685116f16ba4fbd62e0c3d1e824f5d2286d73a\",\"pubkey\":\"0f92c4a4aab613ff051f2a6e9cde7d0d131faa576a11ffe175ab82b4715c501b\",\"created_at\":1775439236,\"kind\":27235,\"tags\":[[\"t\",\"constitute\"],[\"type\",\"managed_launch_token\"],[\"service\",\"nvr\"],[\"p\",\"4a29ff60c5c3837e9e20555bfeb2a046be3eb140818144628691fcf7efb1d2f1\"],[\"p\",\"650ebf57f24bcbf7f4e0da11a48943e26a82377146343a3797c2e5356c04b00c\"]],\"content\":\"{\\\"type\\\":\\\"managed_launch_token\\\",\\\"gatewayPk\\\":\\\"0f92c4a4aab613ff051f2a6e9cde7d0d131faa576a11ffe175ab82b4715c501b\\\",\\\"servicePk\\\":\\\"650ebf57f24bcbf7f4e0da11a48943e26a82377146343a3797c2e5356c04b00c\\\",\\\"service\\\":\\\"nvr\\\",\\\"identityId\\\":\\\"id-LnZz1joVZtIvTiIo\\\",\\\"devicePk\\\":\\\"4a29ff60c5c3837e9e20555bfeb2a046be3eb140818144628691fcf7efb1d2f1\\\",\\\"capability\\\":\\\"nvr.view\\\",\\\"launchNonce\\\":\\\"37a17575b9478cd2\\\",\\\"issuedAt\\\":1775439236000,\\\"expiresAt\\\":1775439356000}\",\"sig\":\"eef28a38b4b7ce0758ad46218e9592a435d27816b0a155139a038c300e8b966a806eb4dc0a05397d3bec17d242f7eeb3e497abce13b141d45897c75315727311\"}","requestId":"codex-launch-0g41vd17","service":"nvr","servicePk":"650ebf57f24bcbf7f4e0da11a48943e26a82377146343a3797c2e5356c04b00c","status":"complete","toDevicePk":"4a29ff60c5c3837e9e20555bfeb2a046be3eb140818144628691fcf7efb1d2f1","ts":1775439236000,"type":"gateway_managed_launch_status"}
{"detail":"only offer and session_close are supported","devicePk":"4a29ff60c5c3837e9e20555bfeb2a046be3eb140818144628691fcf7efb1d2f1","gatewayPk":"0f92c4a4aab613ff051f2a6e9cde7d0d131faa576a11ffe175ab82b4715c501b","identityId":"id-LnZz1joVZtIvTiIo","reason":"unsupported_signal","requestId":"codex-admin-ob5g424c","service":"nvr","servicePk":"650ebf57f24bcbf7f4e0da11a48943e26a82377146343a3797c2e5356c04b00c","signalType":"admin","status":"rejected","toDevicePk":"4a29ff60c5c3837e9e20555bfeb2a046be3eb140818144628691fcf7efb1d2f1","ts":1775439236000,"type":"gateway_signal_status"}
{"capability":"nvr.view","devicePk":"4a29ff60c5c3837e9e20555bfeb2a046be3eb140818144628691fcf7efb1d2f1","display":{"appRepo":"constitute-nvr-ui","cameraCount":1,"cameras":[{"enabled":true,"name":"Reolink E1 Outdoor SE","onvifHost":"192.168.250.97","onvifPort":8000,"rtspConfigured":true,"segmentSecs":10,"sourceId":"reolink-192-168-250-97"}],"configuredSources":1,"gatewayPk":"0f92c4a4aab613ff051f2a6e9cde7d0d131faa576a11ffe175ab82b4715c501b","iceServers":{"stun":["stun:stun.l.google.com:19302"],"turn":[]},"requestDisplay":{"serviceLabel":"Security Cameras"},"service":"nvr","serviceLabel":"Constitute NVR","servicePk":"650ebf57f24bcbf7f4e0da11a48943e26a82377146343a3797c2e5356c04b00c","serviceVersion":"0.1.0","sourceRuntime":[{"backoffSecs":0,"lastError":"","restartAttempt":3,"sourceId":"reolink-192-168-250-97","state":"running","updatedAt":1775382960757}],"sources":["reolink-192-168-250-97"],"status":"online"},"expiresAt":1775439268000,"gatewayPk":"0f92c4a4aab613ff051f2a6e9cde7d0d131faa576a11ffe175ab82b4715c501b","identityId":"id-LnZz1joVZtIvTiIo","launchToken":"{\"id\":\"bd2d1e83c2c63f4c2937a40cbfab53512e0e445736205974af73b6287bebd61f\",\"pubkey\":\"0f92c4a4aab613ff051f2a6e9cde7d0d131faa576a11ffe175ab82b4715c501b\",\"created_at\":1775439148,\"kind\":27235,\"tags\":[[\"t\",\"constitute\"],[\"type\",\"managed_launch_token\"],[\"service\",\"nvr\"],[\"p\",\"4a29ff60c5c3837e9e20555bfeb2a046be3eb140818144628691fcf7efb1d2f1\"],[\"p\",\"650ebf57f24bcbf7f4e0da11a48943e26a82377146343a3797c2e5356c04b00c\"]],\"content\":\"{\\\"type\\\":\\\"managed_launch_token\\\",\\\"gatewayPk\\\":\\\"0f92c4a4aab613ff051f2a6e9cde7d0d131faa576a11ffe175ab82b4715c501b\\\",\\\"servicePk\\\":\\\"650ebf57f24bcbf7f4e0da11a48943e26a82377146343a3797c2e5356c04b00c\\\",\\\"service\\\":\\\"nvr\\\",\\\"identityId\\\":\\\"id-LnZz1joVZtIvTiIo\\\",\\\"devicePk\\\":\\\"4a29ff60c5c3837e9e20555bfeb2a046be3eb140818144628691fcf7efb1d2f1\\\",\\\"capability\\\":\\\"nvr.view\\\",\\\"launchNonce\\\":\\\"df53e770c12ffb0f\\\",\\\"issuedAt\\\":1775439148000,\\\"expiresAt\\\":1775439268000}\",\"sig\":\"989823db2f31e2b6a2dda863fc449c7d21a35cb9bd5b0d06075970abc2dcd0adf1dd904545589f8ac1f1e57ad3fba7493f860e965d254bdbdbbef51808696eb1\"}","requestId":"codex-uw1mu0hn","service":"nvr","servicePk":"650ebf57f24bcbf7f4e0da11a48943e26a82377146343a3797c2e5356c04b00c","status":"complete","toDevicePk":"4a29ff60c5c3837e9e20555bfeb2a046be3eb140818144628691fcf7efb1d2f1","ts":1775439148000,"type":"gateway_managed_launch_status"}
{"record":{"content":"{\"deviceKind\":\"service\",\"deviceLabel\":\"DevGateway\",\"devicePk\":\"0f92c4a4aab613ff051f2a6e9cde7d0d131faa576a11ffe175ab82b4715c501b\",\"expiresAt\":1775373947597,\"freshnessMs\":0,\"hostGatewayPk\":\"\",\"hostPlatform\":\"unknown\",\"hostedServices\":[{\"cameraCount\":1,\"deviceKind\":\"service\",\"deviceLabel\":\"Constitute NVR\",\"devicePk\":\"650ebf57f24bcbf7f4e0da11a48943e26a82377146343a3797c2e5356c04b00c\",\"freshnessMs\":0,\"hostGatewayPk\":\"0f92c4a4aab613ff051f2a6e9cde7d0d131faa576a11ffe175ab82b4715c501b\",\"service\":\"nvr\",\"serviceVersion\":\"0.1.0\",\"status\":\"online\",\"updatedAt\":1775287547000}],\"identityId\":\"id-LnZz1joVZtIvTiIo\",\"relays\":[\"ws://10.0.30.44:7447\"],\"releaseBranch\":\"feat/gateway-managed-webrtc-31\",\"releaseChannel\":\"dev\",\"releaseTrack\":\"local\",\"role\":\"gateway\",\"service\":\"\",\"serviceVersion\":\"0.1.3\",\"updatedAt\":1775287547597}","created_at":1775287547,"id":"517d4e87dbf7d039102552783ccde088c1d4a51adb1be3c6d9ee2e4b1a8e707c","kind":30078,"pubkey":"0f92c4a4aab613ff051f2a6e9cde7d0d131faa576a11ffe175ab82b4715c501b","sig":"140c35bc1d301d62ad47e72f5979caa7563a3b7b2180d2f60e67ed4e2b2cba7c49e414da38c0b9679a5f9d29de7db562a729a5b5371ffe2e8105a2bca71063a7","tags":[["t","swarm_discovery"],["type","device"],["role","gateway"]]},"requestId":"record-Adj5QsuAEzU","type":"swarm_device_record"}
{"record":{"content":"{\"devicePk\":\"4a29ff60c5c3837e9e20555bfeb2a046be3eb140818144628691fcf7efb1d2f1\",\"identityId\":\"id-LnZz1joVZtIvTiIo\",\"deviceLabel\":\"DevBrowser\",\"updatedAt\":1775365059488,\"expiresAt\":1775451459488,\"role\":\"browser\",\"relays\":[],\"serviceVersion\":\"web-dev\"}","created_at":1775365059,"id":"9b63e0bd57e9ba03331478feb1ad48494891207e8b5a2b6b6c9fd7b836eb515c","kind":30078,"pubkey":"4a29ff60c5c3837e9e20555bfeb2a046be3eb140818144628691fcf7efb1d2f1","sig":"c6acd265f8597e5218c9d9bd725dd29e359a9a439579f90dc6b1797fd6fc952247d55fb3ca5b599aeb2e24a5c49ec5c0f2d6e105d1cfdb9ebefadf0d4d48d839","tags":[["t","swarm_discovery"],["type","device"],["role","browser"]]},"requestId":"record-Adj5QsuAEzU","type":"swarm_device_record"}
{"record":{"content":"{\"devicePk\":\"650ebf57f24bcbf7f4e0da11a48943e26a82377146343a3797c2e5356c04b00c\",\"identityId\":\"id-LnZz1joVZtIvTiIo\",\"deviceLabel\":\"Constitute NVR\",\"updatedAt\":1775365121526,\"expiresAt\":1775451521526,\"role\":\"native\",\"deviceKind\":\"service\",\"service\":\"nvr\",\"hostGatewayPk\":\"0f92c4a4aab613ff051f2a6e9cde7d0d131faa576a11ffe175ab82b4715c501b\",\"serviceVersion\":\"0.1.0\",\"ingestProtocols\":[\"onvif\",\"rtsp\"],\"capabilities\":[\"camera\"],\"uiRepo\":\"Aux0x7F/constitute-nvr-ui\",\"uiRef\":\"main\",\"uiManifestUrl\":\"https://raw.githubusercontent.com/Aux0x7F/constitute-nvr-ui/main/app.manifest.json\",\"uiEntry\":\"dist/index.html\",\"sessionWsUrl\":\"ws://127.0.0.1:8456/session\",\"allowUnsignedHelloMvp\":true,\"metrics\":{\"uptimeSec\":77920,\"peersKnown\":1,\"peersConfirmed\":1,\"camerasTotal\":1,\"camerasEnabled\":1}}","created_at":1775365121,"id":"f7bbe2fbec437ebf45030a3540f747a7fb850b90dfe67417b97457c8b231fbf1","kind":30078,"pubkey":"650ebf57f24bcbf7f4e0da11a48943e26a82377146343a3797c2e5356c04b00c","sig":"127adbe86504acfa0855da2133e770b2d5371114bb44efb4242a1c151602bb93fa9dfbff43b5a9d02c6c08aabe88b02574f8940e519eea43a7f08d021120324e","tags":[["t","swarm_discovery"],["type","device"],["role","native"],["service","nvr"],["cap","camera"],["hello","unsigned-mvp"]]},"requestId":"record-Adj5QsuAEzU","type":"swarm_device_record"}
{"record":{"content":"{\"identityId\":\"id-LnZz1joVZtIvTiIo\",\"label\":\"Aux\",\"devicePks\":[\"4a29ff60c5c3837e9e20555bfeb2a046be3eb140818144628691fcf7efb1d2f1\",\"0f92c4a4aab613ff051f2a6e9cde7d0d131faa576a11ffe175ab82b4715c501b\"],\"updatedAt\":1775365059462,\"expiresAt\":1775451459462,\"serviceVersion\":\"web-dev\"}","created_at":1775365059,"id":"90f407a6d0fc570cd818bf2043a2d8ea82bfe877987742a19386927be0f39bf1","kind":30078,"pubkey":"4a29ff60c5c3837e9e20555bfeb2a046be3eb140818144628691fcf7efb1d2f1","sig":"7f928cb7f3d2997129fb2bcddd6d262f6a4bd35ca58a555e7c5676526342d522e42b17e0eea52d8edbc9b199358a4ddf0c386e8f30dd801e9d227c7a5b68d9b0","tags":[["t","swarm_discovery"],["type","identity"]]},"requestId":"record-Adj5QsuAEzU","type":"swarm_identity_record"}
{"devicePk":null,"dhtKey":null,"dhtScope":null,"identityId":null,"requestId":"record-Adj5QsuAEzU","status":"complete","ts":1775365127000,"type":"swarm_record_response","want":["identity","device"],"zone":null}
{"devicePk":"4a29ff60c5c3837e9e20555bfeb2a046be3eb140818144628691fcf7efb1d2f1","gatewayPk":"0f92c4a4aab613ff051f2a6e9cde7d0d131faa576a11ffe175ab82b4715c501b","identityId":"id-LnZz1joVZtIvTiIo","requestId":"nvr-signal-f12b2b2eece94caf463940ac","service":"nvr","servicePk":"650ebf57f24bcbf7f4e0da11a48943e26a82377146343a3797c2e5356c04b00c","signalType":"offer","status":"complete","toDevicePk":"4a29ff60c5c3837e9e20555bfeb2a046be3eb140818144628691fcf7efb1d2f1","ts":1775361194000,"type":"gateway_signal_status"}
{"devicePk":"4a29ff60c5c3837e9e20555bfeb2a046be3eb140818144628691fcf7efb1d2f1","gatewayPk":"0f92c4a4aab613ff051f2a6e9cde7d0d131faa576a11ffe175ab82b4715c501b","identityId":"id-LnZz1joVZtIvTiIo","payload":{"answer":{"sdp":"v=0\r\no=- 5045910892803715359 497907788 IN IP4 0.0.0.0\r\ns=-\r\nt=0 0\r\na=fingerprint:sha-256 71:3B:D8:1A:B3:7C:E2:29:22:EC:E5:A0:F5:14:1C:8D:EB:BE:06:6F:D3:07:10:6C:8F:0C:79:34:FD:8E:AA:75\r\na=group:BUNDLE 0\r\nm=video 9 UDP/TLS/RTP/SAVPF 120 121 126 105 123\r\nc=IN IP4 0.0.0.0\r\na=setup:active\r\na=mid:0\r\na=ice-ufrag:jWQVfMKDDdpRVhon\r\na=ice-pwd:QfcGjibWpRvSOYynbyunOnvVzGIlmocr\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:120 VP8/90000\r\na=fmtp:120 max-fs=12288;max-fr=60\r\na=rtcp-fb:120 nack\r\na=rtcp-fb:120 nack pli\r\na=rtcp-fb:120 ccm fir\r\na=rtcp-fb:120 goog-remb\r\na=rtcp-fb:120 transport-cc\r\na=rtpmap:121 VP9/90000\r\na=fmtp:121 max-fs=12288;max-fr=60\r\na=rtcp-fb:121 nack\r\na=rtcp-fb:121 nack pli\r\na=rtcp-fb:121 ccm fir\r\na=rtcp-fb:121 goog-remb\r\na=rtcp-fb:121 transport-cc\r\na=rtpmap:126 H264/90000\r\na=fmtp:126 profile-level-id=42e01f;level-asymmetry-allowed=1;packetization-mode=1\r\na=rtcp-fb:126 nack\r\na=rtcp-fb:126 nack pli\r\na=rtcp-fb:126 ccm fir\r\na=rtcp-fb:126 goog-remb\r\na=rtcp-fb:126 transport-cc\r\na=rtpmap:105 H264/90000\r\na=fmtp:105 profile-level-id=42001f;level-asymmetry-allowed=1;packetization-mode=1\r\na=rtcp-fb:105 nack\r\na=rtcp-fb:105 nack pli\r\na=rtcp-fb:105 ccm fir\r\na=rtcp-fb:105 goog-remb\r\na=rtcp-fb:105 transport-cc\r\na=rtpmap:123 ulpfec/90000\r\na=rtcp-fb:123 nack\r\na=rtcp-fb:123 nack pli\r\na=rtcp-fb:123 ccm fir\r\na=rtcp-fb:123 goog-remb\r\na=rtcp-fb:123 transport-cc\r\na=ssrc:4188155329 cname:nvr-preview-2a0bef35171e8888\r\na=ssrc:4188155329 msid:nvr-preview-2a0bef35171e8888 reolink-192-168-250-97\r\na=ssrc:4188155329 mslabel:nvr-preview-2a0bef35171e8888\r\na=ssrc:4188155329 label:reolink-192-168-250-97\r\na=sendonly\r\na=candidate:2822434153 1 udp 2130706431 10.0.30.44 41005 typ host\r\na=candidate:2822434153 2 udp 2130706431 10.0.30.44 41005 typ host\r\na=candidate:2298064831 1 udp 1694498815 70.162.9.155 41020 typ srflx raddr 0.0.0.0 rport 41020\r\na=candidate:2298064831 2 udp 1694498815 70.162.9.155 41020 typ srflx raddr 0.0.0.0 rport 41020\r\na=end-of-candidates\r\n","type":"answer"},"payload":{"sdp":"v=0\r\no=- 5045910892803715359 497907788 IN IP4 0.0.0.0\r\ns=-\r\nt=0 0\r\na=fingerprint:sha-256 71:3B:D8:1A:B3:7C:E2:29:22:EC:E5:A0:F5:14:1C:8D:EB:BE:06:6F:D3:07:10:6C:8F:0C:79:34:FD:8E:AA:75\r\na=group:BUNDLE 0\r\nm=video 9 UDP/TLS/RTP/SAVPF 120 121 126 105 123\r\nc=IN IP4 0.0.0.0\r\na=setup:active\r\na=mid:0\r\na=ice-ufrag:jWQVfMKDDdpRVhon\r\na=ice-pwd:QfcGjibWpRvSOYynbyunOnvVzGIlmocr\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:120 VP8/90000\r\na=fmtp:120 max-fs=12288;max-fr=60\r\na=rtcp-fb:120 nack\r\na=rtcp-fb:120 nack pli\r\na=rtcp-fb:120 ccm fir\r\na=rtcp-fb:120 goog-remb\r\na=rtcp-fb:120 transport-cc\r\na=rtpmap:121 VP9/90000\r\na=fmtp:121 max-fs=12288;max-fr=60\r\na=rtcp-fb:121 nack\r\na=rtcp-fb:121 nack pli\r\na=rtcp-fb:121 ccm fir\r\na=rtcp-fb:121 goog-remb\r\na=rtcp-fb:121 transport-cc\r\na=rtpmap:126 H264/90000\r\na=fmtp:126 profile-level-id=42e01f;level-asymmetry-allowed=1;packetization-mode=1\r\na=rtcp-fb:126 nack\r\na=rtcp-fb:126 nack pli\r\na=rtcp-fb:126 ccm fir\r\na=rtcp-fb:126 goog-remb\r\na=rtcp-fb:126 transport-cc\r\na=rtpmap:105 H264/90000\r\na=fmtp:105 profile-level-id=42001f;level-asymmetry-allowed=1;packetization-mode=1\r\na=rtcp-fb:105 nack\r\na=rtcp-fb:105 nack pli\r\na=rtcp-fb:105 ccm fir\r\na=rtcp-fb:105 goog-remb\r\na=rtcp-fb:105 transport-cc\r\na=rtpmap:123 ulpfec/90000\r\na=rtcp-fb:123 nack\r\na=rtcp-fb:123 nack pli\r\na=rtcp-fb:123 ccm fir\r\na=rtcp-fb:123 goog-remb\r\na=rtcp-fb:123 transport-cc\r\na=ssrc:4188155329 cname:nvr-preview-2a0bef35171e8888\r\na=ssrc:4188155329 msid:nvr-preview-2a0bef35171e8888 reolink-192-168-250-97\r\na=ssrc:4188155329 mslabel:nvr-preview-2a0bef35171e8888\r\na=ssrc:4188155329 label:reolink-192-168-250-97\r\na=sendonly\r\na=candidate:2822434153 1 udp 2130706431 10.0.30.44 41005 typ host\r\na=candidate:2822434153 2 udp 2130706431 10.0.30.44 41005 typ host\r\na=candidate:2298064831 1 udp 1694498815 70.162.9.155 41020 typ srflx raddr 0.0.0.0 rport 41020\r\na=candidate:2298064831 2 udp 1694498815 70.162.9.155 41020 typ srflx raddr 0.0.0.0 rport 41020\r\na=end-of-candidates\r\n","type":"answer"},"sessionId":"nvr-preview-2a0bef35171e8888","signalType":"answer","sources":[{"name":"Reolink E1 Outdoor SE","rtspPreviewUrl":"rtsp://admin:Test1234@192.168.250.97:554/h264Preview_01_sub","sourceId":"reolink-192-168-250-97"}]},"requestId":"nvr-signal-f12b2b2eece94caf463940ac","service":"nvr","servicePk":"650ebf57f24bcbf7f4e0da11a48943e26a82377146343a3797c2e5356c04b00c","signalType":"answer","ts":1775361194000,"type":"gateway_signal"}
{"capability":"nvr.view","devicePk":"4a29ff60c5c3837e9e20555bfeb2a046be3eb140818144628691fcf7efb1d2f1","display":{"appRepo":"constitute-nvr-ui","cameraCount":1,"cameras":[{"enabled":true,"name":"Reolink E1 Outdoor SE","onvifHost":"192.168.250.97","onvifPort":8000,"rtspConfigured":true,"segmentSecs":10,"sourceId":"reolink-192-168-250-97"}],"configuredSources":1,"gatewayPk":"0f92c4a4aab613ff051f2a6e9cde7d0d131faa576a11ffe175ab82b4715c501b","iceServers":{"stun":["stun:stun.l.google.com:19302"],"turn":[]},"requestDisplay":{"shell":"constitute","surface":"constitute-nvr-ui"},"service":"nvr","serviceLabel":"Constitute NVR","servicePk":"650ebf57f24bcbf7f4e0da11a48943e26a82377146343a3797c2e5356c04b00c","serviceVersion":"0.1.0","sourceRuntime":[{"backoffSecs":0,"lastError":"","restartAttempt":0,"sourceId":"reolink-192-168-250-97","state":"running","updatedAt":1775287205044}],"sources":["reolink-192-168-250-97"],"status":"online"},"expiresAt":1775361313000,"gatewayPk":"0f92c4a4aab613ff051f2a6e9cde7d0d131faa576a11ffe175ab82b4715c501b","identityId":"id-LnZz1joVZtIvTiIo","launchToken":"{\"id\":\"b73c87211a66490a48efa5e2782dead0d50cfc28d9cfb2d1fc824171b419e9ec\",\"pubkey\":\"0f92c4a4aab613ff051f2a6e9cde7d0d131faa576a11ffe175ab82b4715c501b\",\"created_at\":1775361193,\"kind\":27235,\"tags\":[[\"t\",\"constitute\"],[\"type\",\"managed_launch_token\"],[\"service\",\"nvr\"],[\"p\",\"4a29ff60c5c3837e9e20555bfeb2a046be3eb140818144628691fcf7efb1d2f1\"],[\"p\",\"650ebf57f24bcbf7f4e0da11a48943e26a82377146343a3797c2e5356c04b00c\"]],\"content\":\"{\\\"type\\\":\\\"managed_launch_token\\\",\\\"gatewayPk\\\":\\\"0f92c4a4aab613ff051f2a6e9cde7d0d131faa576a11ffe175ab82b4715c501b\\\",\\\"servicePk\\\":\\\"650ebf57f24bcbf7f4e0da11a48943e26a82377146343a3797c2e5356c04b00c\\\",\\\"service\\\":\\\"nvr\\\",\\\"identityId\\\":\\\"id-LnZz1joVZtIvTiIo\\\",\\\"devicePk\\\":\\\"4a29ff60c5c3837e9e20555bfeb2a046be3eb140818144628691fcf7efb1d2f1\\\",\\\"capability\\\":\\\"nvr.view\\\",\\\"launchNonce\\\":\\\"2a0bef35171e8888\\\",\\\"issuedAt\\\":1775361193000,\\\"expiresAt\\\":1775361313000}\",\"sig\":\"c8a64dcbbba138cf659efcbe9e196deb1aa598f66a5d7eb4372b5e8e0fc611e31b5e727736dcfde1c257ae5aa02b1631928a0e97009fc27197d4b3c3aec5d335\"}","requestId":"gw-launch-a03bfbdd9b16fd2c3e79311d","service":"nvr","servicePk":"650ebf57f24bcbf7f4e0da11a48943e26a82377146343a3797c2e5356c04b00c","status":"complete","toDevicePk":"4a29ff60c5c3837e9e20555bfeb2a046be3eb140818144628691fcf7efb1d2f1","ts":1775361193000,"type":"gateway_managed_launch_status"}
{"record":{"content":"{\"devicePk\":\"4a29ff60c5c3837e9e20555bfeb2a046be3eb140818144628691fcf7efb1d2f1\",\"identityId\":\"id-LnZz1joVZtIvTiIo\",\"deviceLabel\":\"DevBrowser\",\"updatedAt\":1775327915125,\"expiresAt\":1775414315125,\"role\":\"browser\",\"relays\":[],\"serviceVersion\":\"web-dev\"}","created_at":1775327915,"id":"8edb1a6ce84ccdfe6436b3d9ece87f14580adb288485167e05efb9d9d7d4f5dc","kind":30078,"pubkey":"4a29ff60c5c3837e9e20555bfeb2a046be3eb140818144628691fcf7efb1d2f1","sig":"69e82e50dbba13ecde955566f857c09f82f289d68017ad9d929f8c21b5642183c90f64fb3314b18c09803b730c3f69fff8c5efb95033def41034e58d9fdac48f","tags":[["t","swarm_discovery"],["type","device"],["role","browser"]]},"requestId":"record-eUNw5syYrpo","type":"swarm_device_record"}
{"record":{"content":"{\"devicePk\":\"650ebf57f24bcbf7f4e0da11a48943e26a82377146343a3797c2e5356c04b00c\",\"identityId\":\"id-LnZz1joVZtIvTiIo\",\"deviceLabel\":\"Constitute NVR\",\"updatedAt\":1775335521527,\"expiresAt\":1775421921527,\"role\":\"native\",\"deviceKind\":\"service\",\"service\":\"nvr\",\"hostGatewayPk\":\"0f92c4a4aab613ff051f2a6e9cde7d0d131faa576a11ffe175ab82b4715c501b\",\"serviceVersion\":\"0.1.0\",\"ingestProtocols\":[\"onvif\",\"rtsp\"],\"capabilities\":[\"camera\"],\"uiRepo\":\"Aux0x7F/constitute-nvr-ui\",\"uiRef\":\"main\",\"uiManifestUrl\":\"https://raw.githubusercontent.com/Aux0x7F/constitute-nvr-ui/main/app.manifest.json\",\"uiEntry\":\"dist/index.html\",\"sessionWsUrl\":\"ws://127.0.0.1:8456/session\",\"allowUnsignedHelloMvp\":true,\"metrics\":{\"uptimeSec\":48320,\"peersKnown\":1,\"peersConfirmed\":1,\"camerasTotal\":1,\"camerasEnabled\":1}}","created_at":1775335521,"id":"f12052e32884d48f9fac75c1790b3ea8349e93e28730e24546335080c7c94b35","kind":30078,"pubkey":"650ebf57f24bcbf7f4e0da11a48943e26a82377146343a3797c2e5356c04b00c","sig":"53629414a88053fc1976de62fc926237d62679fb690fa4fdbb7e6d69ee004f27557a8061b5b2372d1603fced2d42bc95dc71e39a2794a7662ce4501e8965ce35","tags":[["t","swarm_discovery"],["type","device"],["role","native"],["service","nvr"],["cap","camera"],["hello","unsigned-mvp"]]},"requestId":"record-eUNw5syYrpo","type":"swarm_device_record"}
{"record":{"content":"{\"identityId\":\"id-LnZz1joVZtIvTiIo\",\"label\":\"Aux\",\"devicePks\":[\"4a29ff60c5c3837e9e20555bfeb2a046be3eb140818144628691fcf7efb1d2f1\",\"0f92c4a4aab613ff051f2a6e9cde7d0d131faa576a11ffe175ab82b4715c501b\"],\"updatedAt\":1775327915097,\"expiresAt\":1775414315097,\"serviceVersion\":\"web-dev\"}","created_at":1775327915,"id":"e8e95b82ed8df03570934cb32b81e45df8254c60c6c67a8aeefa2afcf1eb182e","kind":30078,"pubkey":"4a29ff60c5c3837e9e20555bfeb2a046be3eb140818144628691fcf7efb1d2f1","sig":"cecfacc9c0ff140af7de5103ca161791b24fc85780f7dc65bf0b95b002d56445caeaca8cb1753067919bfb0eaeca8ecaf40359819260e566fa3e9f47a342ecb9","tags":[["t","swarm_discovery"],["type","identity"]]},"requestId":"record-eUNw5syYrpo","type":"swarm_identity_record"}
{"record":{"content":"{\"devicePk\":\"650ebf57f24bcbf7f4e0da11a48943e26a82377146343a3797c2e5356c04b00c\",\"identityId\":\"id-LnZz1joVZtIvTiIo\",\"deviceLabel\":\"Constitute NVR\",\"updatedAt\":1775335521526,\"expiresAt\":1775421921526,\"role\":\"native\",\"deviceKind\":\"service\",\"service\":\"nvr\",\"hostGatewayPk\":\"0f92c4a4aab613ff051f2a6e9cde7d0d131faa576a11ffe175ab82b4715c501b\",\"serviceVersion\":\"0.1.0\",\"ingestProtocols\":[\"onvif\",\"rtsp\"],\"capabilities\":[\"camera\"],\"uiRepo\":\"Aux0x7F/constitute-nvr-ui\",\"uiRef\":\"main\",\"uiManifestUrl\":\"https://raw.githubusercontent.com/Aux0x7F/constitute-nvr-ui/main/app.manifest.json\",\"uiEntry\":\"dist/index.html\",\"sessionWsUrl\":\"ws://127.0.0.1:8456/session\",\"allowUnsignedHelloMvp\":true,\"metrics\":{\"uptimeSec\":48320,\"peersKnown\":1,\"peersConfirmed\":1,\"camerasTotal\":1,\"camerasEnabled\":1}}","created_at":1775335521,"id":"c75e15a0a325a588c798dfa950fc02bacd6f4396e087e9f8c2e6509c30f367a5","kind":30078,"pubkey":"650ebf57f24bcbf7f4e0da11a48943e26a82377146343a3797c2e5356c04b00c","sig":"32588f0993daabbc4da01b7817cf23d6f38d3c077811787cbb838fb131bf8ca9f66050ed88f0d2e374703594d3c1c3855f1413d377c8d87971a5fd1f76b4a5ee","tags":[["t","swarm_discovery"],["type","device"],["role","native"],["service","nvr"],["cap","camera"],["hello","unsigned-mvp"]]},"requestId":"record-eUNw5syYrpo","type":"swarm_device_record"}
{"record":{"content":"{\"deviceKind\":\"service\",\"deviceLabel\":\"DevGateway\",\"devicePk\":\"0f92c4a4aab613ff051f2a6e9cde7d0d131faa576a11ffe175ab82b4715c501b\",\"expiresAt\":1775373947597,\"freshnessMs\":0,\"hostGatewayPk\":\"\",\"hostPlatform\":\"unknown\",\"hostedServices\":[{\"cameraCount\":1,\"deviceKind\":\"service\",\"deviceLabel\":\"Constitute NVR\",\"devicePk\":\"650ebf57f24bcbf7f4e0da11a48943e26a82377146343a3797c2e5356c04b00c\",\"freshnessMs\":0,\"hostGatewayPk\":\"0f92c4a4aab613ff051f2a6e9cde7d0d131faa576a11ffe175ab82b4715c501b\",\"service\":\"nvr\",\"serviceVersion\":\"0.1.0\",\"status\":\"online\",\"updatedAt\":1775287547000}],\"identityId\":\"id-LnZz1joVZtIvTiIo\",\"relays\":[\"ws://10.0.30.44:7447\"],\"releaseBranch\":\"feat/gateway-managed-webrtc-31\",\"releaseChannel\":\"dev\",\"releaseTrack\":\"local\",\"role\":\"gateway\",\"service\":\"\",\"serviceVersion\":\"0.1.3\",\"updatedAt\":1775287547597}","created_at":1775287547,"id":"517d4e87dbf7d039102552783ccde088c1d4a51adb1be3c6d9ee2e4b1a8e707c","kind":30078,"pubkey":"0f92c4a4aab613ff051f2a6e9cde7d0d131faa576a11ffe175ab82b4715c501b","sig":"140c35bc1d301d62ad47e72f5979caa7563a3b7b2180d2f60e67ed4e2b2cba7c49e414da38c0b9679a5f9d29de7db562a729a5b5371ffe2e8105a2bca71063a7","tags":[["t","swarm_discovery"],["type","device"],["role","gateway"]]},"requestId":"record-eUNw5syYrpo","type":"swarm_device_record"}
{"devicePk":null,"dhtKey":null,"dhtScope":null,"identityId":null,"requestId":"record-eUNw5syYrpo","status":"complete","ts":1775335526000,"type":"swarm_record_response","want":["identity","device"],"zone":null}
{"devicePk":"4a29ff60c5c3837e9e20555bfeb2a046be3eb140818144628691fcf7efb1d2f1","gatewayPk":"0f92c4a4aab613ff051f2a6e9cde7d0d131faa576a11ffe175ab82b4715c501b","identityId":"id-LnZz1joVZtIvTiIo","requestId":"nvr-close-8734efae16789a2a96306603","service":"nvr","servicePk":"650ebf57f24bcbf7f4e0da11a48943e26a82377146343a3797c2e5356c04b00c","signalType":"session_close","status":"accepted","toDevicePk":"4a29ff60c5c3837e9e20555bfeb2a046be3eb140818144628691fcf7efb1d2f1","ts":1775327382000,"type":"gateway_signal_status"}