跳转到内容

ak.schema.call_signal_plaintext.v1

← Schemas

Arkret Call Signal Plaintext
ak.schema.call_signal_plaintext.v1 · file: schemas/call-signal-plaintext.schema.json

Closed top-level plaintext object carried inside a SignalEnvelope encrypted_payload for ak.call.signal. The signal_kind-specific data object is validated by the corresponding normative branch in zh/crypto-media/webrtc-signaling.md.

* $ · object
Closed top-level plaintext object carried inside a SignalEnvelope encrypted_payload for ak.call.signal. The signal_kind-specific data object is validated by the corresponding normative branch in zh/crypto-media/webrtc-signaling.md.
* kind · const "ak.call.signal"
enum: "ak.call.signal"
* payload_sequence · integer
Strictly increasing but non-contiguous u64 within (sender_actor_id, sender_device_id, canonical scope_ref); arbitrary forward gaps are accepted. The complete ActorId is part of the sequence domain. It is independent of seq, the per-call anti-rollback sequence monotonic over (realm_id, call_id, actor_id, device_id).
* call_id · string
pattern: ^ak:call:[A-Za-z0-9_-]{44}$
* signal_kind · string (enum)
enum: "invite" "answer" "candidate" "reject" "hangup" "renegotiate" "mute_state" "media_state" "speaking" "focus_join" "focus_leave" "moderation" "error" "ack"
* seq · integer
* data · object
Signal-kind-specific payload. Producers and consumers MUST additionally validate the closed field rules for the selected signal_kind in webrtc-signaling.md; this extension point is encrypted end-to-end and is not interpreted by the Signal service.

Source