Project

General

Profile

Actions

Feature #883

open

PiStore needs to respond to multicast queries

Added by Hammel about 3 years ago. Updated 1 day ago.

Status:
New
Priority:
Immediate
Assignee:
Target version:
Start date:
29 Jan 2022
Due date:
% Done:

0%

Estimated time:
Severity:
01 - Critical

Description

PiSentry devices will send a multicast query to ask for pistore addresses. The response comes with a unique uuid generated by PiStore or an existing uuid if it previously registered the PiSentry. This query will be on a different port than Ironman multicast queries. Any newly generated UUID remains in pre-registration state for 1 minute waiting for the PiSentry to complete registration through a PiStore API.

PiStore devices will respond to the PiSentry with the uuid calling the PiSentry's /uuid API (like /register for Ironman, but specifcally for PiSentry). PiSentry's complete the registration by calling the PiStore's /register API. This causes PiStore to remove the pre-registration state for that UUID.

PiSentry picks the first response that arrives from it's multicast request. After registration is completed the PiSentry then calls an API on PiStores's mongoose server to request a place to store its files. PiStore reserves a location (under directories marked for PiSentry use) by creating a directory with the PiSentry UUID and responds with the mount point and directory name.

PiSentry maintains the UUID w/IP. If the same IP sends the multicast request again it returns the same UUID. The storage remains on PiStore until PiStore WebUI frees it or the owning PiSentry clears it.

See piboxd for how to receive multicast messages (from IoT devices). This may need to be ported to piboxlib to allow easier re-use.

PiStore will create a device UUID and session id under it's name and save files to <mount>/pisentry/<device id>/<session id>/<files>. A unique name assigned by the user may be used instead of the device ID (see /etc/monitor for the DESCRIPTOR entered in imwww web UI).

The Session ID is created every time a PiSentry requests a new registration even though it's already registered with the PiStore.


Files


Related issues

Blocks Management - Feature #601: PiSentry File Management: web UIIn ProgressHammel28 Jul 2017

Actions
Actions #1

Updated by Hammel about 3 years ago

  • Description updated (diff)
Actions #2

Updated by Hammel about 3 years ago

  • Priority changed from Immediate to Urgent
  • Target version changed from 2.0 - Harkonnen to 2.1 - Feyd

Moving to next release.

Actions #3

Updated by Hammel almost 2 years ago

  • Target version changed from 2.1 - Feyd to 3.0 - Corrino
Actions #4

Updated by Hammel over 1 year ago

  • Priority changed from Urgent to Immediate
  • Severity changed from 01 - Critical to 04 - Low
Actions #5

Updated by Hammel 9 months ago

  • Description updated (diff)
  • Severity changed from 04 - Low to 01 - Critical
Actions #6

Updated by Hammel 9 months ago

  • Description updated (diff)
Actions #7

Updated by Hammel 4 days ago

  • Blocks Feature #601: PiSentry File Management: web UI added
Actions #8

Updated by Hammel 1 day ago

  • Description updated (diff)
Actions #9

Updated by Hammel 1 day ago

This is the basic communications required to setup a PiStore mount in PiSentry.

Actions

Also available in: Atom PDF