Skip to content

Client billing integration

Camera provisioning automation (i.e., billing redirect) requires a firmware update from Flussonic Agent. Flussonic Agent is an optional module within the Watcher software system that automates the camera activation process through the client billing. This module establishes a secure tunnel between cameras and Watcher that allows connecting through NAT, and also it improves the video transport stability. Firmware modification can be customized for each client's camera model.

Learn how Flussonic Agent works

When the very first connection is established between a camera and Agent, a request is sent to the provisioning server (i.e., activation server). It redirects Agent to the client’s server that has Watcher up and running.

After sending a request to the activation server, Agent generates a CSV and exports it to a client billing system. The export URL should be predefined.

The list of CSV attributes, sent from the Flussonic activation server to the client billing:

  • agent_model (string) - camera model.
  • agent_serial (string) - camera’s serial number.
  • agent_id (string) - Agent UID on the camera.
  • agent_key (string) - special field used for Watcher authorization.
  • agent_pin (string) - special field used for Watcher authorization.
  • stream_url (string) - primary stream’s RTSP-URL.
  • substream_url (string) - secondary stream’s RTSP-URL.
  • thumbnails (string) - URL snapshots from the camera.
  • onvif_url (string) - URL at which the camera can be accessed via onvif protocol.
  • onvif_profile (string) -service field.
  • ptz (0 or 1) - turns PTZ on / off.
  • The activation server sends information to the client billing to create new objects for each camera. It will append new cameras to others currently registered in the billing system. Another camera registration system can also be used instead of the standard billing. The agent_serial parameter is used for camera registration.

    After the registration, other attributes can be added per camera object on the client billing side.

    Client-side billing CSV Attributes:

  • owner (string) — login of the connected account.
  • dvr_depth (integer) - number of days to store video archives for the camera. 0 — disables the archive.
  • enabled (0 or 1) - turns camera on or off.
  • access (private / public) - camera visibility. It can be either accessible by the camera owner or my all users.
  • Note: These attributes are not transmitted.

    The user should develop the mechanism of billing plans and other logic that will affect access to the file and settings, and to a certain video archive’s depth.

    After you apply these settings (owner, dvr_depth, enabled, access), the data on all cameras and users will be automatically pushed to a CSV file here by the following:

    http(s)://YOUR-WATCHER-URL/vsaas/api/interchange/usercameras?x-vsaas-api-key=(obtain the key in the Watcher settings)

    User information also should be exported along with the camera information. User CSV Attributes: http(s)://YOUR-WATCHER-URL/vsaas/api/import/users

  • login (string) — the user’s Watcher login.
  • is_active (0 limits watcher access) — cameras work, but the user can not enter Watcher.
  • dvr_allowed (0 limits video archive access) — cameras write to the archives, but users cannot have access to them.
  • It’s possible to add cameras with users before activation. The process is described below:

    1) Add a camera to the client billing (or another registration system) as an item with the attribute: agent_serial (serial number on a camera box). The following attributes should be set on the camera purchasing step:

  • owner — client login
  • dvr_depth — archive depth
  • enabled — camera status
  • access — access type
  • 2) Then, when a technician turns on the camera in the client’s home, the camera sends a request to the activation server, receives necessary activation attributes, then pushes the gathered information to the CSV file in the client billing. It will append new items based on the agent_serial attribute for previously added cameras.

    3) When you have the camera information, it will be updated automatically.