Missed 1:1 call (no answer, ring timeout)¶
Status: draft
Spec version: 0.1.0
Summary¶
The sequence when a 1:1 call rings unanswered until the ring timeout elapses, producing a missed call. The caller's
Sequence¶
sequenceDiagram
autonumber
participant caller as Caller (initiating device)
participant server as WhatsApp server
participant callee as Callee device
caller->>server: <call><offer> placed [probable]
Note over caller,server: Standard offer per-device <enc> call key delivered but never used.
server->>caller: <ack class='call'> for the offer [probable]
Note over server,caller: Confirms the offer was routed.
server->>callee: routed <call><offer> delivered to callee [probable]
Note over server,callee: Callee device(s) ring.
callee->>caller: <preaccept> (ringing), but user never answers [speculative]
Note over callee,caller: Optional ringing indication no <accept> follows.
caller->>callee: <terminate reason='timeout'> after ring timeout [probable]
Note over caller,callee: The unanswered call is torn down with reason timeout, surfacing as a missed call on the callee and an unanswered/cancelled call on the caller. Which side originates the terminate is uncertain.
callee->>server: <ack class='call'> for the terminate [speculative]
Note over callee,server: Acknowledges the teardown.
Participants¶
- Caller (initiating device) (
caller) - WhatsApp server (
server) - Callee device (
callee)
Steps¶
| # | From | To | Message | Stanza | Confidence | Note |
|---|---|---|---|---|---|---|
| 1 | caller | server | call-offer |
probable | Standard offer; per-device |
|
| 2 | server | caller | call-ack |
probable | Confirms the offer was routed. | |
| 3 | server | callee | routed |
call-offer |
probable | Callee device(s) ring. |
| 4 | callee | caller | call-preaccept |
speculative | Optional ringing indication; no |
|
| 5 | caller | callee | call-terminate |
probable | The unanswered call is torn down with reason timeout, surfacing as a missed call on the callee and an unanswered/cancelled call on the caller. Which side originates the terminate is uncertain. | |
| 6 | callee | server | call-ack |
speculative | Acknowledges the teardown. |
Open questions¶
- Does the ring timeout fire on the caller, the callee, or the server?
- Which party originates the
on timeout? - Is a caller-initiated cancel (caller gives up early) a distinct reason from timeout?
- Are other linked callee devices terminated with timeout or an "elsewhere" variant?