callKey usaba id+llamado_at: si llamado_at llegaba null en el primer poll y con valor en el segundo, se generaban dos claves distintas para el mismo evento y el turno se anunciaba dos veces. Cambia callKey a String(id) — cada turno se anuncia una sola vez por sesión de pantalla, sin importar cambios en el timestamp. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>