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.)
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.
Scroll horizontally to see the whole diagram.
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: falsefor 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 tovehicle.*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
ACCEPTEDas "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.