De voice-AI-loadtest die de meeste teams vergeten: gespreksafsluiting


De meeste loadtests voor voice-AI beantwoorden één vraag: komen gesprekken bij piekvolume tot stand? Een tweede vraag is net zo belangrijk: wordt een gesprek dat voorbij is ook echt beëindigd?
Een gesprek dat nooit wordt afgesloten, houdt een concurrency-slot op het voice-AI-platform bezet, een kanaal op je SIP-trunk en vaak een poort of seat op je contactcenterplatform. Er praat niemand op. Bij piekbelasting kunnen een paar dozijn van zulke gesprekken je tegen je limieten aan duwen, terwijl het gespreksvolume er normaal uitziet.
Deze gids behandelt de afsluitingskant van loadtesten. Voor latency, nauwkeurigheid en doorvoer onder belasting lees je onze gids over loadtesten van stemagents.
Een gesprek is afgesloten wanneer elke leg ervan is vrijgegeven door elk systeem dat het heeft doorlopen: de leg van de beller, eventuele doorverbindingslegs en de sessie van de AI-agent.
Bij een SIP-gesprek is afsluiting een signaleringsgebeurtenis. De ene kant stuurt een BYE-bericht, de andere kant antwoordt met 200 OK en elk systeem geeft het kanaal vrij. Een leg die is overgegaan maar nooit is beantwoord, wordt opgeruimd met een CANCEL.
Bij een voice-AI-implementatie moeten drie dingen kloppen:
In Retell heeft een afgerond gesprek de status ended en een reden voor verbreking zoals user_hangup, agent_hangup of call_transfer. Een gesprek dat nog bezig is, heeft de status ongoing, en juist lopende gesprekken tellen mee voor je huidige concurrency.
Een doorverbinding maakt van één gesprek twee of meer legs, vaak verspreid over twee platforms, en als er op één leg wordt opgehangen, moet dat signaal de andere legs bereiken. Gaat dat signaal verloren of wordt het genegeerd, dan blijft een leg actief zonder dat er iemand op zit.
Patronen om in je setup te controleren:
Voor de belervaring bij elk type lees je hoe gespreksoverdracht werkt tussen AI-stemagents en menselijke teams en onze gids over warme doorverbinding.
Eén concurrency-slot, zolang het openstaat. Concurrency telt het aantal gelijktijdig actieve gesprekken, en een leeg gesprek telt even zwaar als een echt gesprek.
De rekensom is eenvoudig: extra open gesprekken op elk moment = gesprekken per uur die niet worden afgesloten × aantal uren dat elk ervan openblijft.
| Scenario (illustratie, geen meting) | Mislukte afsluitingen per uur | Hoe lang elk gesprek openblijft | Extra open gesprekken op elk moment |
|---|---|---|---|
| Incidentele storing, korte stilte-time-out | 6 | 10 minuten | 1 |
| Incidentele storing, alleen de maximale gespreksduur van 1 uur | 6 | 60 minuten | 6 |
| Eén verkeerd geconfigureerde doorverbindingsroute met 60 doorverbindingen per uur | 60 | 60 minuten | 60 |
De derde rij laat zien hoe teams bij piekbelasting met tientallen spookgesprekken eindigen: één configuratieprobleem, zoals ophangsignalen die niet over een doorverbinding worden doorgegeven, dat bij elk doorverbonden gesprek optreedt.
Die capaciteit is niet gratis. Bij Retell zijn de eerste 20 gelijktijdige gesprekken inbegrepen en kost extra capaciteit $8 per gelijktijdig gesprek per maand (zie prijzen). Wanneer een workspace zijn limiet bereikt, wachten nieuwe inkomende gesprekken ongeveer 40 seconden op een vrij slot. Daarna gaan ze naar het fallbacknummer van het telefoonnummer als dat is ingesteld, of eindigen ze met concurrency_limit_reached. Nieuwe uitgaande gesprekken worden geweigerd, tenzij concurrency burst is ingeschakeld. Bij piekbelasting zorgen vastgelopen gesprekken er dus voor dat echte bellers worden afgewezen.
Dezelfde rekensom geldt voor trunkkanalen en contactcenterlicenties, die het voice-AI-platform niet kan zien.
Beëindig elk gesprek bewust, via elk mogelijk eindpad, op je piekniveau, en toon vervolgens aan dat het aantal actieve gesprekken in elk systeem terugkeert naar nul.
| Eindpad | Hoe je het in de test triggert | Verwacht resultaat aan de AI-kant | Controleer ook |
|---|---|---|---|
| Beller hangt midden in het gesprek op | Testbeller hangt op een willekeurig moment op | ended, user_hangup | Kanaal bij carrier en contactcenter vrijgegeven |
| Agent beëindigt het gesprek | Script een afscheid dat voldoet aan de voorwaarde van de End Call-tool | ended, agent_hangup | Je platform ontvangt de BYE en geeft de poort vrij |
| Koude doorverbinding, daarna hangt de beller op | Doorverbinden en daarna de beller laten ophangen | ended, call_transfer | Leg naar de bestemming ook vrijgegeven |
| Koude doorverbinding, daarna hangt de bestemming op | Doorverbinden en daarna de bestemming laten ophangen | ended, call_transfer | Leg van de beller ook vrijgegeven |
| Warme doorverbinding komt tot stand, daarna hangt een van beide kanten op | Neem op bij de bestemming en laat daarna één kant ophangen | transfer_bridged, daarna transfer_ended webhooks | Geen leg in de wacht achtergebleven |
| Doorverbinding nooit beantwoord | Laat de bestemming langer overgaan dan de overgaantijd bij doorverbinden | transfer_cancelled-webhook | CANCEL verstuurd; geen overgaande leg achtergebleven |
| Beller hangt op terwijl hij in de wacht staat | Laat de beller ophangen tijdens een warme doorverbinding | Gesprek eindigt | Consultatieleg naar de bestemming afgebroken |
| Stille lijn | Testbeller blijft stil | ended, inactivity | Tijd tot afsluiting komt overeen met je stilte-instelling |
Transfer-webhooks staan standaard uit. Voeg voor de test transfer_started, transfer_bridged, transfer_cancelled en transfer_ended toe aan de webhook-events van de agent.
Stop na de piekopbouw met het plaatsen van nieuwe gesprekken en kijk hoe de tellers dalen. Poll om de paar seconden de Get Concurrency API van Retell, die current_concurrency (het aantal lopende gesprekken) retourneert. Die waarde moet binnen de duur van je langste gescripte gesprek op nul uitkomen. Controleer op dezelfde momenten de tellingen van je SBC, contactcenter en trunk. Elke teller die hoog blijft, wijst op het lek, en het systeem waarin dat gebeurt, vertelt je welke kant niet vrijgeeft.
call_started-webhook moet een bijbehorende call_ended hebben. Elke transfer_started moet een transfer_ended of transfer_cancelled hebben.call_status-filter op ongoing om achterblijvers te vinden.Let op concurrency die hoog blijft wanneer het volume daalt, op meer gesprekken die door time-outs worden afgesloten en op mislukte doorverbindingen.
concurrency_used (piek van gelijktijdige gesprekken in een tijdvenster) naast call_count (gesprekken die in het venster zijn beëindigd) monitoren. Als de concurrency stijgt terwijl het aantal beëindigde gesprekken gelijk blijft, worden gesprekken niet afgesloten.transfer_call_failure_count.inactivity of max_duration_reached na doorverbindingen betekent dat de vangnetten je gesprekken afsluiten, en niet het ophangen.Time-outs. Ze lossen kapotte signalering niet op, maar ze begrenzen hoe lang een vastgelopen gesprek een slot bezet kan houden.
| Instelling | Standaard in Retell | Bereik | Waarom het belangrijk is voor afsluiting |
|---|---|---|---|
| End Call-tool | Uit: de agent beëindigt gesprekken niet zelf | Voorwaarden die je zelf definieert | Zonder deze tool eindigen gesprekken alleen als de beller ophangt of een time-out afgaat |
| Gesprek beëindigen bij stilte | 10 minuten | Minimaal 10 seconden | Een dode, stille leg wordt na deze tijd afgesloten |
| Maximale gespreksduur | 1 uur | 1 minuut tot 2 uur | De uiterste limiet voor elk gesprek |
| Overgaantijd bij doorverbinden | Overgaantijd van de agent, 30 seconden | 5 tot 90 seconden per doorverbinding | Onbeantwoorde doorverbindingspogingen worden afgebroken |
| Wachttijd tot de agent opneemt bij warme doorverbinding | 30 seconden | Configureerbaar | Beperkt de tijd die wordt besteed aan wachten op een mens in een wachtrij |
Stem de stilte- en duurlimieten af op je werkelijke gespreksduur. Met de standaardinstellingen kan een dode leg die stil blijft 10 minuten een slot bezet houden, en een leg die de stiltetimer niet opvangt zelfs tot een uur.
Vraag vóór de lancering om schriftelijke antwoorden:
Behandel "concurrency keert na de test terug naar nul" als criterium voor geslaagd of gezakt. Voer de afsluitingsmatrix en de drain-test uit vóór de lancering en opnieuw na elke wijziging in doorverbindingsinstellingen, nummers of gespreksroutering.
Retell geeft je alle bouwstenen: koude, warme en agentische warme gespreksoverdracht met time-outs voor overgaan en wachten, transfer-webhooks, redenen voor verbreking per gesprek, packet captures, een live concurrency-API en alerts op concurrency en mislukte doorverbindingen. Plan je een uitrol in een contactcenter met een hoge piekconcurrency, dan biedt het Retell Enterprise-abonnement een hoge limiet op gelijktijdige gesprekken en toegewijde support.
Meer lezen: Waarom loadtests het echte gesprekspad moeten volgen, de checklist voor uitgaande telefoonnummers en meer gidsen in de Retell Learn-hub.
See how much your business could save by switching to AI-powered voice agents.
Total Human Agent Cost
AI Agent Cost
Estimated Savings
Een demodemonummer van Retell Clinic Office

Start building smarter conversations today.




