voice-call: hang up rejected inbounds, idempotency and logging (#15892)

Merged via /review-pr -> /prepare-pr -> /merge-pr.

Prepared head SHA: 36f826ea23
Co-authored-by: dcantu96 <32658690+dcantu96@users.noreply.github.com>
Co-authored-by: steipete <58493+steipete@users.noreply.github.com>
Reviewed-by: @steipete
This commit is contained in:
David Cantú Martínez
2026-02-13 20:09:31 -06:00
committed by GitHub
parent 13aface863
commit 9443c638f4
7 changed files with 339 additions and 295 deletions

View File

@@ -12,6 +12,10 @@ export type CallManagerContext = {
activeCalls: Map<CallId, CallRecord>;
providerCallIdMap: Map<string, CallId>;
processedEventIds: Set<string>;
/** Provider call IDs we already sent a reject hangup for; avoids duplicate hangup calls. */
rejectedProviderCallIds: Set<string>;
/** Optional runtime hook invoked after an event transitions a call into answered state. */
onCallAnswered?: (call: CallRecord) => void;
provider: VoiceCallProvider | null;
config: VoiceCallConfig;
storePath: string;