Part 04 — ProfilesLink to the section Part 04 — Profiles

On this page

Maturity: Draft · Profiles: all

4.1 PurposeLink to the section 4.1 Purpose

A profile is a fixed, testable set of mandatory features. Profiles let a buyer match a drone to a VMS by name, exactly as ONVIF profiles do for cameras. UNIVIP defines three profiles. Profile S is the foundation; C and N each build on S and are independent of each other. A device MAY claim any subset that respects the dependencies (C requires S; N requires S). A client MAY claim any subset likewise. (In 0.1, N required C; that excluded vehicles that can be tasked but carry no controllable payload.)

C and N independently extend S

Profile S provides surveillance and streaming. C adds camera and payload control; N adds authorized vehicle control. Each requires S, and neither requires the other. A device can offer both C and N.

View Mermaid source
flowchart TB
    accTitle: C and N independently extend S
    accDescr: Profile S provides surveillance and streaming. C adds camera and payload control; N adds authorized vehicle control. Each requires S, and neither requires the other. A device can offer both C and N.
    S["S: Video, telemetry and events"] --> C["C: S + camera and payload control"]
    S --> N["N: S + authorized vehicle control"]

For example, a vehicle with a fixed camera can offer S + N without C. A vehicle that supports both camera control and vehicle tasking claims S + C + N.

4.2 Profile S — Surveillance and StreamingLink to the section 4.2 Profile S — Surveillance and Streaming

The mandatory foundation. A Profile S device gives a client no ability to move the gimbal or the aircraft.

Device MUST:

Area Requirement Part
Identity Expose device_id, manufacturer, model, serial, firmware, UNIVIP version 05
Capabilities Serve a valid capability document 06
Connection Support device-initiated session establishment over TLS 1.3 with at least one of the mandatory authentication methods 05, 13
Telemetry Publish univip.telemetry at ≥ 1 Hz while powered, ≥ 2 Hz while deployed, including position with at least one absolute vertical reference (altitude or depth), vehicle state, battery, link state, GNSS fix and time source 07
Events Publish the Profile S mandatory event set with the standard envelope 08
Media Offer at least one live H.264 video stream over WebRTC with the media-time mapping 09
Time Maintain and declare a disciplined clock 03
Security TLS 1.3, no plaintext, scoped credentials 13

Client MUST:

  • Establish sessions, read capabilities, subscribe to telemetry and events, render at least one video stream, and associate telemetry with media time to within 100 ms.
  • Display or record position with its altitude reference preserved.
  • Preserve, in any recording, sufficient telemetry to replay position, heading and vehicle state alongside the video (Part 09 §9.6).

4.3 Profile C — Camera and Payload ControlLink to the section 4.3 Profile C — Camera and Payload Control

Everything in Profile S, plus control of the payload. A Profile C device gives a client no ability to move the vehicle.

Device MUST:

  • Advertise per-payload capabilities: zoom range, focus modes, gimbal axes and limits, imaging parameters, thermal palettes, recording and snapshot support (Part 06).
  • Accept camera.* commands for every capability it advertises, with the standard command lifecycle and rejection reasons (Part 10).
  • Support camera control leases, or declare camera.lease_required: false for unrestricted shared control (Part 11 §11.3 applies to camera leases too).
  • Publish payload state in telemetry (zoom, gimbal orientation with frame, recording state).

Client MUST:

  • Discover payload capabilities before offering controls and offer only advertised ones.
  • Map user PTZ gestures to camera.* commands only, never to vehicle.* commands.

4.4 Profile N — Navigation and Vehicle ControlLink to the section 4.4 Profile N — Navigation and Vehicle Control

Everything in Profile S, plus authorized vehicle control. A device that also offers payload control claims C as well; the two are separately leased and separately authorized. Profile N is optional, separately enabled by the operator, separately authorized by scope, and separately audited.

Device MUST:

  • Advertise the supported vehicle.* command subset and the limits it enforces (max altitude, max range from home, geofence, speed) in the capability document.
  • Require a valid vehicle control lease for every vehicle.* command (Part 11).
  • Enforce operator authority: pilot override, lease revocation, and failsafe behaviors MUST be reported through events, and a pilot action MUST always win over a client command.
  • Pass every accepted command through the manufacturer's vehicle controller and its safety checks; UNIVIP MUST NOT create a path that bypasses them.
  • Publish the full command lifecycle and keep an audit record (Part 11 §11.7).

Client MUST:

  • Acquire a lease before offering vehicle controls; show lease state and expiry to the user.
  • Treat ACCEPTED as "the device will try", never as completion; present execution status from status messages.
  • Present vehicle controls under a distinct permission from camera controls in its own authorization model.

4.5 Profile feature matrixLink to the section 4.5 Profile feature matrix

Feature S C N
Identity, capabilities, session, security ● ● ●
Telemetry (position, motion, power, link, state, health) ● ● ●
Mandatory events ● ● ●
Live video H.264/WebRTC with media-time mapping ● ● ●
Recording-replay telemetry preservation (client) ● ● ●
Payload capabilities and payload telemetry ○ ● ○ ¹
camera.gimbal.*, camera.zoom.*, camera.focus.*, camera.imaging.* — ● — ¹
camera.recording.*, camera.snapshot — ○ — ¹
Camera control leases — ● — ¹
Vehicle control leases — — ●
vehicle.hold, vehicle.return_home — — ●
vehicle.goto, vehicle.move_relative, vehicle.land, vehicle.takeoff, vehicle.mission.* — — ○ (declared subset)
Geospatial extension (Part 12) ○ ○ ○
MQTT, SRT, RTSP, H.265 alternatives ○ ○ ○

● mandatory · ○ optional, declared in capabilities · — not permitted in this profile

¹ A Profile N device that offers payload control also claims Profile C, and the C column then applies.

4.6 Conformance claimsLink to the section 4.6 Conformance claims

A product MUST NOT claim a profile unless it passes the corresponding test group in Part 14. Partial support is expressed through the capability document, never through a partial profile claim. "UNIVIP Profile S" on a datasheet means every ● row in column S.

Generated from spec/04-profiles.md.