agreeable-advantage-5095
03/04/2026, 10:14 PMtall-airline-16756
03/04/2026, 10:14 PMtall-airline-16756
03/04/2026, 10:15 PMimport asyncio
@server.ws_audio_entrypoint
async def entrypoint(ctx: JobContext):
# Démarre une tâche en arrière-plan pour couper l'appel après 5 minutes (300s)
asyncio.create_task(disconnect_after_duration(ctx, 300))
async def disconnect_after_duration(ctx: JobContext, delay: int):
await asyncio.sleep(delay)
await ctx.room.disconnect()
Points importants à vérifier
• Si vous avez plusieurs rooms ou appels simultanés, démarrez la tâche pour chaque session/room individuellement.
• Si vous voulez prévenir les participants (par ex. message ou son) avant la coupure, envoyez une alerte quelques secondes avant l'expiration (par ex. attendre 240s, notifier, puis attendre 60s).
• Si vous avez besoin d’une logique plus avancée (reconnexion automatique, prolongation par utilisateur autorisé, enregistrement de la durée réelle pour facturation), dites-moi ce que vous souhaitez et je vous propose le code adapté.
Souhaitez-vous l’exemple pour un autre langage (Node.js/TypeScript) ou que j’ajoute une alerte 30 secondes avant la déconnexion ?
Sources: How to implement call greeting retries in voice agents | LiveKit