← Blog

Voice agents

Voice agents voor een tandlab: Retell, Vapi of LiveKit

Vrijdag, 22:13. De order-status agent voor een Tilburgs tandtechnisch lab valt om. We scoorden Retell, Vapi en een self-hosted LiveKit-stack op wat écht stuk gaat in productie.

Jacob Molkenboer· Oprichter · A Brand New Company· 13 jun 2026· 9 min
Zwarte bakelieten telefoonhoorn op leren onderlegger, groen lint op bruin notitieboek, rode lakzegel op kaart.

Vrijdag, 22:13. De order-status agent voor een tandtechnisch lab met 28 medewerkers in Tilburg stopt met antwoorden. Ergens tussen de Belgische SIP-provider en de agent runtime verloopt een session ID en valt de bridge om. Patiënten die belden om te vragen of hun kroon terug was van het frezen, krijgen een dode lijn. De pieptelefoon die rinkelt is van onze studio, niet van hen.

Dat moment is het deel van de brief dat de meeste voice-agent-vergelijkingen overslaan. Kosten per minuut gaan netjes in een spreadsheet. ASR-foutmarge op Nederlandse achternamen is lastiger, maar meetbaar. Wie op vrijdagavond om 22:00 de SIP trunk herstart, is de variabele die bepaalt of een voice agent geld bespaart voor het lab of stiekem méér kost dan de receptionisten die hij moest ontlasten.

Vorig kwartaal scoorden we drie stacks tegen dezelfde brief: Retell AI, Vapi, en een self-hosted LiveKit + Deepgram + Cartesia rig. Dezelfde cijfers, drie verschillende vormen van risico.

De brief

28 medewerkers verdeeld over vier labs in Noord-Brabant en Limburg. Ongeveer 1.800 inkomende calls per week. Ruwweg 85% zijn order-status checks (kroon, brug, frame, klaar of niet). De rest zijn afspraakverschuivingen en af en toe een escalatie. De receptie verloor in piekweken zo'n 22 uur per week aan 'is het klaar'-belletjes. De eigenaar wilde die uren terug, niet de FTE.

Harde eisen:

  • Nederlandstalig gesprek, met Brabants en Limburgs accent in scope.
  • Order lookup tegen hun cloud lab-management systeem via REST.
  • 06:30 tot 22:00, maandag tot en met zaterdag.
  • Warme overdracht naar een menselijke receptioniste tijdens openingstijden.
  • Onder de €1.000 per maand, all-in.

Het accent-aspect telt zwaarder dan het klinkt. Nederlandse tandheelkundige patiënten heten regelmatig Vanderhaeghen, Mertens, van Schijndel, Vroomans. De ij-digraaf en de zachte-g/harde-g-splitsing tussen noord en zuid maken gehakt van consumer-grade ASR die getraind is op Engelstalige callcenter-audio.

Kosten per minuut bij 1.800 calls per week

De gemiddelde callduur op de bestaande receptielijn was 88 seconden. Dat haalden we uit het PBX-log voordat het project startte. Bij 1.800 calls per week is dat ruwweg 11.500 minuten per maand, seizoensgecorrigeerd.

Retell AI publiceert prijzen per minuut die ASR, LLM, TTS en telefonie bundelen. Het bedrag komt uit op een paar tientjes dollarcenten op het goedkope tier, en ruwweg drie keer dat voor de premium stemmen. Bij 11.500 minuten zit alleen de platform-regel al ergens tussen €700 en €2.800, afhankelijk van model keuze. Telefonie pass-through (Twilio onder de motorkap voor de meeste regio's) komt daar nog een paar cent per minuut bovenop.

Vapi heeft dezelfde vorm, anders geprijsd. De platform-laag zit rond vijf tot negen US-cent per minuut. De onderliggende STT-, TTS- en LLM-providers gaan door tegen hun gepubliceerde tarieven. Bij ons callvolume kwam dat neer op rond €450 tot €900 per maand voor het platform zelf, plus nog eens €300 tot €700 voor Deepgram + Cartesia + de model-laag. De range is breed omdat Vapi je componenten laat wisselen, en het goedkope pad is écht goedkoop.

Self-hosted LiveKit + Deepgram + Cartesia heeft de laagste variabele kosten en de hoogste vaste kosten. Deepgram Nova-2 streaming Nederlands zit op een paar tienden van een cent per minuut. Cartesia TTS rekent per karakter en kwam uit op zo'n twee cent per minuut bij onze gemiddelde callvorm. De LLM round-trip per beurt voegde nog een cent of twee toe. Variabel totaal: vier tot zeven cent per minuut, ofwel €450 tot €800 per maand bij ons volume.

Maar de self-hosted regel heeft een vaste kostenpost die de managed platforms verstoppen. Een kleine VPS om de LiveKit agent te draaien, een Nederlandse SIP trunk (Voys of RoutIT, beide redelijk), monitoring, log-retentie, en de engineeringuren om het draaiend te houden. We rekenden engineering op een halve dag per twee weken tegen ons tarief. Alleen dat overschreed de fee van het managed platform al.

De eerlijke scorecard op kosten: bij 11.500 minuten per maand belanden de drie opties in dezelfde band zodra je engineering meerekent. Retell is het duurst en het makkelijkst te budgetteren. Vapi is de mediaan. Self-hosted is het goedkoopst in pure cloud spend, het duurst in aandacht.

Accent-ASR op patiëntennamen

We draaiden dezelfde 200 opgenomen calls door alle drie de stacks tijdens de trial-week. De calls kwamen uit de echte PBX van het lab, niet uit een benchmark-dataset. Ongeveer 40% had een duidelijk Brabants of Limburgs accent.

Wat we maten was geen pure word error rate. We maten 'haalde de agent de juiste order op met de uitgesproken patiëntnaam'. Dat is de enige failure mode die telt voor dit product.

  • Retell op de default Engels-leunende ASR-instelling: 71% correcte retrieval. Het behandelde ij als I plus J en draaide de naam door fonetisch gokwerk.
  • Retell na het omschakelen naar een Nederlands model onder de motorkap: 89% correcte retrieval.
  • Vapi met Deepgram Nova-2 Nederlands plus een keyword boost-lijst (de 600 meest voorkomende achternamen in hun orderboek): 93% correcte retrieval.
  • Self-hosted LiveKit + Deepgram Nova-2 Nederlands + dezelfde keyword boost-lijst + een tweede-pass achternaam-disambiguatie tegen de klantdatabase: 96% correcte retrieval.

De laatste uitkomst is degene om bij stil te staan. De winst zat niet in de stack. De winst zat in het feit dat we een domeinspecifieke tweede pass in de pipeline konden draden. Als ASR 'Fanderhagen' met 0,62 confidence terugstuurde en de klantdatabase had een 'Vanderhaeghen' met een open order, konden we fuzzy-matchen en verbaal bevestigen ('ik versta Vanderhaeghen, klopt dat?'). Retell en Vapi kunnen hier beide versies van bouwen, maar je bouwt binnen hun state machine. Met LiveKit is het jouw function call.

Voor achtergrond over wat Deepgram precies doet voor Nederlands, hun models and languages overview is eerlijk over de trade-offs. Cartesia's Nederlandse stemmen, gedocumenteerd op docs.cartesia.ai, waren als enige in de trial die niet klonken als een generieke Europese avatar.

Kort en goed

Kies de stack waarmee je een eigen achternaam-disambiguatiestap in de loop kunt schroeven. Daar worden Nederlandstalige voice agents gewonnen of verloren.

Wie herstart de SIP trunk op vrijdagavond

De dimensie waar niemand de kosten van inschat.

Een managed platform als Retell of Vapi geeft je een statuspagina en een Slack- of e-mailkanaal voor storingen. Als de SIP-provider onder hun vloer omvalt, wacht je. Je kunt het niet fixen. Je kunt naar de klant communiceren dat 'het platform onderzoekt' en dat is de hele interventie die je hebt. Dat is een feature, geen bug, als je geen pieptelefoon wilt.

Een self-hosted stack betekent dat de pieper van jou is. LiveKit is in onze ervaring solide. Deepgram en Cartesia publiceren statuspagina's en draaien fatsoenlijke uptime. Maar de SIP trunk is een fragiele grens, en Nederlandse zakelijke SIP-providers verschillen in nachtelijke operationele kwaliteit. Als er iets op die grens breekt op vrijdagavond om 22:13, zijn de mensen die het herstarten dezelfden die het gebouwd hebben.

Er stond deze week een verhaal op de Hacker News voorpagina over een autonome agent die zijn operator failliet liet gaan tijdens het scannen van de DN42-mesh. Het dollarbedrag is goede copy. De les is saaier en algemener. Op het moment dat je een autonome loop in productie zet, is iemand verantwoordelijk voor de verrassingen. Met een managed platform is dat deels het platform. Met een self-hosted rig ben jij dat, alleen jij, ook om 22:13 op vrijdag.

Voor het tandlab kwam de rekensom neer op wie er ongelukkig zou zijn op dat uur. De eigenaar wilde niet dat het zijn praktijkmanager was. Wij wilden niet dat het een junior engineer in onze studio was. De vraag herformuleerde zichzelf: hoeveel operationele marge koop je met de fee van het managed platform.

Hoe we het scoorden

We beoordeelden de drie stacks op vijf lijnen. Kosten. Nederlandse ASR op echte patiëntnamen. Latency. Operational ownership. Ruimte om de agent uit te breiden (een toekomstige afsprakenflow, diepere integratie met het lab-management systeem).

Vapi won. Niet met de grootste marge op één enkele lijn, maar door op elke lijn acceptabel te zijn. Het Deepgram Nova-2 + Cartesia pad gaf ons 93% retrieval-accuratesse tegen een kostprijs die binnen het budget viel. Het platform handelt de SIP trunk af. We konden nog steeds custom function calls in de agent schrijven. Toen er tijdens de trial iets brak, fikste de Vapi-kant het binnen hun gepubliceerde responstijd, zonder dat wij iemand hoefden te piepen.

Retell had ook gewerkt. De premium stemmen zijn merkbaar beter dan Cartesia voor Nederlands, en het platform is meer opinionated, wat betekent: minder touw om jezelf aan op te hangen. Het was de duurste optie met genoeg verschil dat we de delta niet konden rechtvaardigen, gezien hoe klein het accuratesseverschil was.

De self-hosted LiveKit-stack had de accuratesselijn en de langetermijnkostenlijn gewonnen. Hij had de 'praktijkmanager slaapt vrijdag door'-lijn verloren. Voor een 28-koppig lab waarvan het product tanden is, niet voice-infrastructuur, was dat diskwalificerend.

Het kleinste wat je vandaag kunt doen

Trek twee weken opnames van je PBX, sample 50 calls willekeurig, en stuur ze door één van deze drie stacks op het free trial tier. Meet retrieval-accuratesse op wat jouw equivalent is van 'de achternaam van de patiënt', niet generieke WER. Het cijfer dat eruit komt, herordent je prioriteiten.

Toen we de order-status voice agent bouwden voor de Tilburgse tandlab-groep, was de moeilijkste call niet welk platform we zouden kiezen. Het was het moment benoemen waarop we zouden zeggen 'nee, voor deze klant gaan we niet self-hosted', en dat ook menen. Wij werken aan AI-agents voor MKB in Nederland en Thailand, en het antwoord op de bouwen-of-kopen-vraag heeft bijna altijd meer te maken met wie de pieper draagt dan met welke stack het hoogst scoort op een benchmark.

Kern

Kies de voice-stack waarmee je een eigen achternaam-disambiguatiestap aan kunt schroeven. Daar worden Nederlandstalige voice agents gewonnen of verloren.

FAQ

Welke stack is het goedkoopst bij 1.800 calls per week?

Self-hosted LiveKit + Deepgram + Cartesia heeft de laagste variabele kosten, maar zodra je engineeringtijd meerekent landt het in dezelfde band als Vapi en Retell op dit volume.

Waarom niet gewoon de default Engelse ASR met een Nederlandse stem gebruiken?

Patiëntachternamen breken het. Default Engelse ASR gaf de juiste order op slechts 71% van de trial-calls terug. Omschakelen naar een Nederlands model bracht dat naar 89%, vóór er één keyword boost was toegevoegd.

Ondersteunt Vapi Nederlandse SIP-providers zoals Voys of RoutIT?

Vapi proxiet telefonie via Twilio voor de meeste regio's, dus je kiest de SIP-provider niet direct. Voor een Nederlands nummer met Nederlandse routing: bevestig het pad met hun support voordat je tekent.

Wanneer is de self-hosted LiveKit-stack daadwerkelijk de juiste keuze?

Als je een in-house engineer hebt die al een pieper draagt, als accuratesse op niche-vocabulaire bedrijfskritisch is, of als het callvolume hoog genoeg is om vaste engineeringkosten netjes te amortiseren.

voice agentsai agentscase studyarchitectureintegrationsoperations

Iets bouwen?

Start een project