9d0fd93d7e
Hanging up an UNANSWERED outgoing call re-rang the caller's own phone: the server sent the "cancel" VoIP push to BOTH parties, and the plugin must reportNewIncomingCall for every VoIP push (iOS rule) → a phantom ring on the caller who just hung up. Incoming calls don't hit this (an answered call sends no cancel). Fix: DM cancel goes only to the callee (not startedBy); group cancel skips the starter. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>