KamoCRM

One call per AI per meeting — a dial is claimed before kamoai-service is asked

FixMediaService
Verschifft
28. September 2026 um 02:47 UTC
Autor
Kamo
Ausschuss
877419c

Two overlapping requests to dial the same AI into the same meeting (a double click, two organizers, a person and the auto-join sweep) could each pass the not-live check and each place a KM2 call; the second markDialing overwrote the first call id, leaving that call untracked and never hung up. MeetParticipantWriter.claimDial now turns an INVITED participant DIALING (no call id yet) in its own short transaction before KM2 is called; only the winner dials. Two claims write the same row, so YSQL's one-snapshot transactions abort the second (40001) and its RetryOnDbConflict retry sees DIALING. A claim also writes the AI's other rows of the meeting, so duplicate rows from overlapping first invitations collide too, and a duplicate of a live AI never auto-dials. A claim with no call id ends in markFailed (refusal, or a person's runtime outage) or releaseClaim (the sweep retries); one left by a pod that died mid-dial counts as abandoned after two minutes and is taken over (M1 re-invite, or the sweep for an auto-join invitation). The sweep claims before it fails or dials an invitation, and only while it is still auto-join.

Alle Änderungen

Wie, was Sie sehen Versand?

Alles kommt in Ihrem Arbeitsbereich für sich. Starten Sie mit dem kostenlosen Plan und lesen Sie diese Seite in einem Monat wieder.

Free Forever startenPreisgestaltung anzeigen