Diagram: 1-1 Call Flow (Audio/Video)¶
Canonical doc:
../one-to-one.md
sequenceDiagram
autonumber
participant Caller as Caller (Device)
participant App as iOS App
participant API as Backend API
participant STOMP as STOMP
participant Callee as Callee (Device)
Caller->>App: Start 1-1 Call
App->>API: GET callee public key
API-->>App: P-256 or RSA public key
Note over App: Prepare E2EE session key<br/>P-256 preferred / RSA fallback
App->>API: POST /app/api/call/start
API-->>App: CallRecord(callId, janusRoomId, ...)
API->>STOMP: call_invitation
STOMP->>Callee: call_invitation
Note over Callee: Decrypt session key<br/>P-256 preferred / RSA fallback
Callee->>API: POST /app/api/call/{callId}/join
API-->>Callee: Join OK
Note over Caller,Callee: Encrypted media starts (AES-256-GCM)