Platformă de agenți vocali · centrală SIP · contact center
Agentul vorbește la telefon. Tu vezi fiecare milisecundă.
Un agent vocal care preia apeluri, cheamă unelte, caută în documentele tale și predă apelul unui om când nu mai descurcă. Cu tot ce a făcut, scris la milisecundă.
- Planul Starter nu are abonament
- Îți poți aduce cheile tale de furnizor
- Se instalează pe serverul tău
Construcție în lucru. Site-ul spune pagină cu pagină ce merge și ce nu. Ce este dovedit și ce nu.
- 7.772 endpoint.detected de aici pornește bugetul
- 7.772 llm.started
- 8.272 transcript.final
- 9.857 llm.first_token țintă 600 ms
- 10.443 tts.started
- 10.862 tts.first_audio țintă 400 ms
- 10.863 assistant.speech.started 3 091 ms, față de o țintă de 1 200
Decalajele sunt copiate din evenimentele apelului. Replica a depășit bugetul de două ori și jumătate, iar consola a marcat-o ca atare. Arătăm apelul acesta tocmai fiindcă nu a ieșit bine.[2]
Șase lucruri care se întâmplă azi la telefonul firmei
Niciunul nu e o problemă de software. Sunt lucruri pe care le știe oricine a stat o zi lângă un telefon de firmă. Secțiunea de mai jos spune ce facem cu fiecare — și unde încă nu am ajuns.
Sună lumea când e închis
După șase seara, sâmbăta, în concediu. Telefonul sună în gol, omul închide și sună la următorul din listă. Nu afli niciodată că a sunat.
Aceleași cinci întrebări, toată ziua
Cât am de plată, unde e coletul, la ce oră sunteți deschis, se poate muta programarea. Oameni plătiți ca să citească la telefon ce scrie deja în sistem.
Nu știi ce s-a vorbit
Înregistrările există undeva pe un server. Nimeni nu le ascultă. Ce a promis cineva la telefon afli abia când clientul reclamă și cere să i se pună.
Costul unui apel e o presupunere
Știi cât plătești pe lună, în total. Nu știi cât te-a costat apelul de marți de la unsprezece, nici care dintre campanii consumă banii.
Robotul se aude a robot
Meniuri cu „tastați 1”, voci care rup cuvintele la mijloc și româna tratată ca o limbă de pe listă, nu ca limba în care sună clientul.
Când clientul cere om, se pierde tot
Transferul mută apelul, nu și contextul. Colegul preia și întreabă încă o dată numele, numărul de contract și ce voia clientul acum trei minute.
Mai jos scrie ce face produsul cu fiecare, cu link la pagina care o dovedește
Un apel, șase lucruri de făcut cu el. Toate în același produs.
Nu sunt module vândute separat. Numărul, asistentul, uneltele, coada de operatori, înregistrarea și desfășurătorul de cost sunt aceleași obiecte, în aceeași consolă, cu aceeași factură.
Preia apelul
Un număr cumpărat sau importat prin Twilio ajunge la asistent și acesta răspunde. Twilio este singura cale dovedită cap la cap azi; ce mai există în jur — centrala proprie, trunchiul SIP — este scris separat, cu ce merge și ce nu.
Înțelege și caută
Transcrierea, modelul și vocea se aleg pe asistent, nu pe platformă. Asistentul caută în documentele tale indexate și răspunde din ce a găsit, nu din ce își amintește modelul.
Cheamă uneltele tale
Unelte HTTP proprii cu schemă JSON, servere MCP și 25 de conectori gata făcuți — de la Google Calendar și HubSpot la Shopify și WhatsApp Business.
Predă apelul unui om
Cozi, competențe, softphone în browser și preluarea apelului de către un om fără ca apelantul să fie sunat din nou: apelul lui nu se închide, operatorul intră peste el. Contact centerul nu e alt produs, e același.
Scrie tot ce s-a întâmplat
Înregistrare pe două canale, transcriere, 66 de tipuri de evenimente cu decalaj la milisecundă și date personale mascate — card, IBAN, CNP — în transcrieri și în loguri.
Îți arată costul
Fiecare apel are desfășurător pe etape: cât a costat transcrierea, modelul, vocea și telefonia, plus adaosul platformei. Un rând fără preț publicat rămâne pe zero și se vede că e gol.
- transport audio la intrare și la ieșire
- stt vorbire în text
- endpoint apelantul a terminat
- llm modelul răspunde
- tool unelte și MCP
- tts text în vorbire
- playback audio către apelant
Un apel este un registru ordonat de evenimente, iar tu îl primești întreg.
Fiecare apel scrie un flux care doar crește, cu evenimente tipizate și decalaje în milisecunde, care acoperă transportul, transcrierea, detecția pauzei, modelul, uneltele, MCP, sinteza, DTMF, semnalizarea SIP, transferurile, punerea în coadă, înregistrarea și rezervele de furnizor. Vocabularul întreg este tipărit pe pagina următoare.
Fluxul acela este ce desenează consola, ce întoarce API-ul din ruta de evenimente și ce livrează un webhook. Nu există o a doua variantă, mai frumoasă, a adevărului — cronologia de depanare este o randare directă a acelorași rânduri.
callerBună ziua, aș vrea să mut programarea de joi.
assistantSigur. Văd o programare joi, pe paisprezece, la ora zece —
callerScuze, mai bine după-amiază.
assistantJoi după-amiază. Am liber la două și jumătate și la patru și jumătate.
O replică tăiată este una pe care apelantul nu a auzit-o până la capăt. Așa o desenează consola și așa ajunge și în transcrierea dată modelului.[1]
Cum vezi un apel, cum îl asculți și cât a costat
Fiecare apel lasă în urmă aceleași cinci ecrane: lista în care apare, transcrierea cu apelurile de unelte intercalate, o înregistrare pe două canale pe care o poți derula, costul defalcat pe etape și, cât timp apelul e în derulare, priveliștea supervizorului. Sunt capturi din consola care rulează, nu machete.
Transcrierea, cu uneltele intercalate
Vezi asistentul întrebând, unealta pornind și răspunsul întorcându-se — fiecare cu latența lui. Așa afli de unde a venit tăcerea de care s-a plâns apelantul, în loc s-o ghicești.
Înregistrarea, pe două canale
Asistentul și apelantul sunt forme de undă separate pe aceeași axă de timp, deci o întrerupere se vede înainte s-o asculți. Transcrierea de dedesubt merge odată cu sunetul, iar fișierul se descarcă.
Cât a costat apelul, pe etape
Cantitatea numărată stă lângă tariful publicat cu care a fost înmulțită, cu link către pagina de prețuri a furnizorului. O etapă al cărei preț nu l-a verificat nimeni intră cu zero și rămâne vizibil goală, în loc să fie estimată.
Lista de apeluri, cu latența ca o coloană
Timpul până la primul token și latența cap la cap sunt coloane lângă prețul apelului care le-a produs — nu un raport pe care trebuie să-l construiești. Filtrezi, sortezi și deschizi orice rând.
Consola supervizorului
Stările operatorilor, apartenența la cozi și contoarele de oferite/preluate/ratate într-o singură matrice. Pe un apel în derulare, ascultare, șoaptă și intrare în apel din același rând.
Numerele de telefon și numele clientului din aceste imagini au fost înlocuite cu valori neutre înainte de captură. Restul — duratele, costurile, tarifele, forma de undă — vine dintr-un apel real preluat de această instalare.
Pentru ce se folosește
Preia apelurile care se repetă
Sold, factură, index, stare comandă. Asistentul caută în sistemul tău printr-o unealtă și răspunde din date reale, nu din memoria modelului. Ce nu știe, predă.
- Asistent
- Unelte
- Bază de cunoștințe
- Coadă
callerAm o factură pe care nu o înțeleg.
assistantSigur. Văd factura din septembrie, 312,40 lei. Diferența vine din indexul autocitit de pe 3 septembrie.
toolcrm.get_invoice({"account":"…","period":"2026-09"}) → 312.40 RON
Mută, confirmă, anulează
Cea mai simplă conversație de automatizat și cea mai enervantă de ținut pe un om. Asistentul citește calendarul, propune intervale și scrie modificarea înapoi.
- Asistent
- Unelte
- Ieșiri structurate
- Campanii
callerAș vrea să mut programarea de joi.
assistantJoi după-amiază am liber la două și jumătate și la patru și jumătate.
toolcalendar.find_slots({"day":"2026-09-10","after":"12:00"}) → 2
Unde este comanda mea
Cea mai repetitivă întrebare dintr-un magazin online, cu răspunsul deja scris în baza de date. Asistentul caută comanda după numărul de telefon și citește starea ei.
- Conector de magazin
- Căutare după telefon
- Tichet
- Ieșire structurată
callerBună ziua, am comandat săptămâna trecută și nu a ajuns nimic.
assistantVerific imediat după numărul de pe care sunați. Îmi confirmați ultimele patru cifre?
toolshop.get_order({"phone":"+407…"}) → shipped, AWB 4412…
Sună înapoi în două minute, nu în două zile
Un formular completat pe site declanșează un apel. Asistentul pune trei întrebări de calificare și scrie răspunsurile ca ieșire structurată, gata de importat în CRM.
- Campanii
- Ieșiri structurate
- Unelte
- Fișe de evaluare
callerAm văzut reclama, cât costă?
assistantDepinde de consum. Câte puncte de consum are firma și pe ce tensiune sunt?
toolcrm.create_lead({"score":"warm","points":3}) → id 48213
Amintiri politicoase, la ore permise
Campania respectă ferestrele de apelare, listele de suprimare și consimțământul, iar fiecare contact nesunat are un motiv scris dintre cele nouăsprezece.
- Campanii
- Liste de suprimare
- Unelte
- Înregistrări
callerAm uitat complet de factura aia.
assistantSe poate plăti acum, cu un link trimis prin SMS, sau se poate face o eșalonare pe trei luni.
toolbilling.send_payment_link({"channel":"sms"}) → 202
Apelul de vineri seara
Biroul este închis, dar apelul se preia oricum: cererea completă, un tichet deschis și un rezumat trimis până dimineața.
- Condiții de timp
- Tichet
- Notificare
- Transfer la gardă
callerAm o problemă și văd că este închis. Sun mâine?
assistantPreiau eu acum tot ce trebuie și vă sună un coleg mâine la prima oră.
toolhelpdesk.create_ticket({"priority":"normal"}) → id 9137
Un număr, destinația potrivită
În loc de meniu cu taste, o întrebare deschisă. Apelantul spune cu ce sună și ajunge direct la echipa potrivită, cu contextul transmis mai departe.
- Rutare pe intenție
- Transfer cu context
- Cozi
- Interioare
callerAș vrea să vorbesc cu cineva de la partea comercială.
assistantVă fac imediat legătura. Ca să nu reluați totul, îmi spuneți pe scurt despre ce este vorba?
tooltransfer({"to":"sales","context":"summary"}) → ringing
Întrebi la o oră după apel, nu peste o lună
Trei întrebări scurte, răspunsurile scrise ca ieșire structurată, iar cine vrea să vorbească cu un om este predat imediat.
- Campanii
- Ieșiri structurate
- Tablouri
- Fișe de evaluare
callerDa, am două minute.
assistantPrima întrebare: pe o scară de la unu la zece, cât de ușor a fost de rezolvat?
toolsurvey.record_answer({"q":1,"value":8}) → 200
Un singur plan de control pentru agent, pentru centrală și pentru oameni.
Majoritatea soluțiilor de voce se opresc la agent. Îți rămân de rezolvat numerele, trunchiurile, un IVR, o coadă, cineva la care escaladezi când agentul rămâne fără drum și o înregistrare pe care o poți da la conformitate. CallAgent le pune pe toate într-un singur sistem: platformă de agenți vocali, centrală SIP și contact center care împart același tenant, același registru de facturare și aceeași fișă de apel.
Partea de agent este agnostică față de furnizor. Alegi un transcriptor, un model și o voce pentru fiecare asistent, dintre adaptoarele pe care poarta de acces le înregistrează la pornire, iar latența și costul fiecărei alegeri apar chiar pe cardul de unde alegi, nu pe o pagină de comparație pe care nu o deschide nimeni.
Partea de telefonie este o centrală adevărată, nu un webhook. Numerele, trunchiurile SIP, interioarele, grupurile de sonerie, condițiile de timp, mesageria vocală și camerele de conferință există ca obiecte de rang întâi, așa că un asistent poate fi o destinație în planul de apelare, nu produsul întreg.
Construiești și publici
Un vrăjitor cu cinci pași, presetări care aleg transcriptorul, modelul și vocea deodată, și o publicare care refuză configurațiile care ar pica apelul.
Vezi ce s-a întâmplat
Cronologie la milisecundă, transcriere, înregistrare pe două canale, cost pe etape și fișe de evaluare pe apeluri reale. Aceleași rânduri pe care le desenează consola ies și prin API.
Legi de restul sistemului
221 de căi documentate, webhook-uri cu retrimitere, servere MCP conectate ca unelte, și CallAgent expus el însuși ca server MCP.
18 furnizori pe care îi poți alege azi.
Transcriptorul, modelul și vocea sunt configurație pe asistent, nu o alegere făcută o dată pentru toată platforma, iar un lanț de rezervă trece la următorul furnizor când unul cade în timpul apelului.
Lista de mai jos este ce se poate alege azi, citită din registrul pe care rulează și consola. Mai există aproximativ tot atâția furnizori pregătiți în registru și marcați ca neimplementați; nu îi punem la număr, fiindcă un nume pe care nu îl poți selecta nu este o opțiune.
Modele de limbaj 5
- OpenAI
- Anthropic
- Google Gemini
- Groq
- Custom OpenAI-compatible LLM
Transcriere 12
- Deepgram
- AssemblyAI
- OpenAI
- OpenAI Realtime Transcription
- Gladia
- Speechmatics
- Soniox
- Cartesia
- ElevenLabs Scribe
- Sonix
- Talkscriber
- xAI
Sinteză vocală 1
- ElevenLabs
Numărul este numărat din registrul aplicației, nu scris de mână, și se schimbă singur când se schimbă registrul. Pe un apel real au fost folosiți trei: Anthropic pentru model, ElevenLabs pentru transcriere și ElevenLabs pentru voce.[3]
Ce întreabă departamentele înainte de semnătură
Lista de mai jos este ce avem. Lista cu ce nu avem — certificări, test de penetrare, SAML — stă pe pagina de securitate și este la fel de lungă.
multi-tenant
Domeniu de organizație aplicat global, plus politici, plus rezolvarea tenantului înaintea legării modelelor.
roluri
Zece roluri peste 71 de permisiuni, legate de organizație, nu globale.
audit
Cine ce a schimbat, ca înregistrări citibile în consolă, nu ca rânduri de log.
redactare
Carduri verificate cu Luhn, e-mail, telefon, IBAN și CNP, mascate în transcrieri și loguri.
stocarea ta
Înregistrările pot pleca în bucketul tău pe S3, R2, Azure Blob sau compatibil S3.
regiune
Regiunea instalării este configurabilă și pornește pe Uniunea Europeană.
Cifrele pe care le avem
Nu avem miliarde de apeluri și nu avem procent de disponibilitate. Avem astea, și fiecare se poate verifica în depozit.
- 2 239
- teste rulate, dintre care 2.237 trecute și 2 sărite
- 18
- identificatori de furnizor înregistrați de poarta de acces
- 70
- tipuri de evenimente pe care le poate scrie un apel
- 305
- rute REST, dintre care 221 documentate în OpenAPI
Numărul de teste vine din raportul de construcție. Furnizorii și tipurile de evenimente sunt numărate la randarea paginii.
Nouă zone, un singur tenant.
Consola grupează totul în cele nouă secțiuni de mai jos. Fiecare nume este un obiect real, cu ecranele lui, cu rutele lui de API și cu permisiunile lui.
| Construiește | Asistenți · Unelte · Servere MCP · Baze de cunoștințe · Output-uri structurate · Echipe |
|---|---|
| Telefonie | Numere de telefon · Trunkuri SIP · Interioare · IVR-uri · Grupuri de sonerie · Cozi · Căsuțe vocale · Săli de conferință · Program de lucru |
| Contact center | Operatori · Competențe · Clasificări · Apeluri în desfășurare · Wallboard |
| Campanii | Apeluri · Campanii |
| Monitorizare | Analiză · Panouri · Fișe de evaluare · Seturi de evaluare · Seturi de simulare · Monitoare · Probleme |
| Dezvoltatori | Chei API · Endpointuri webhook |
| Platformă | Credențiale de furnizor · Destinații de stocare · Conexiuni · Integrări · Clienți |
| Organizație | Membri · Roluri · Jurnal de audit |
| Facturare | Credite · Consum · Facturi · Prețuri · Produse · Contracte enterprise |
Ce ne întreabă lumea prima dată
Ce este CallAgent?
CallAgent este o platformă de agenți vocali cu centrală telefonică SIP și contact center în același produs: construiești un asistent care răspunde la telefon, îi dai un număr, îl legi de sistemele tale prin unelte, iar când nu se descurcă predă apelul unui operator uman din aceeași consolă.
Merge în română?
Da, cu o precizare pe care preferăm să o spunem noi. Consola, ghidurile și facturarea sunt în română, mascarea datelor personale recunoaște CNP-ul românesc, iar limba se fixează pe fiecare asistent. La primele apeluri reale limba era lăsată pe „multi”, transcriptorul a etichetat româna drept hindi și răspunsurile au ieșit greșit; se rezolvă punând explicit română pe asistent, dar valoarea implicită rămâne „multi”, deci este o setare de făcut, nu o garanție.
Cât costă un minut de apel?
Platforma ia 0,10 € pe minut, aplicat pe secundele reale de apel, nu pe minute rotunjite; peste asta plătești costul furnizorilor la prețul lor, iar dacă îți aduci propriile chei de furnizor plătești doar cei 0,10 €. Planul Starter nu are abonament. Nu există încă perioadă de probă gratuită.
Se poate instala pe serverele noastre?
Da. Instalarea pe un server propriu este documentată, tot ansamblul rulează în containere, iar înregistrările și transcrierile pot fi scrise direct în bucketul tău pe S3, R2, Azure Blob, Google Cloud Storage, Supabase sau orice serviciu compatibil S3. Nu oferim în schimb o regiune gestionată de noi în Uniunea Europeană: dacă vrei datele într-un anumit loc, tu alegi serverul.
Este gata de producție?
Nu, și nu vrem să afli asta mai târziu. Pe 5 septembrie 2026 s-au dat primele unsprezece apeluri reale prin Twilio: cinci s-au încheiat normal, șase au eșuat, iar prima replică a durat 3 091 ms față de o țintă de 1 200. Nu am servit niciun client, nu am trecut nicio plată reală și niciun apel nu a mers încă prin trunchi SIP propriu.
Partea pe care majoritatea site-urilor o sar.
Construcția asta are 2.237 de teste trecute și, de pe 5 septembrie, unsprezece apeluri reale prin Twilio. Șase dintre ele au eșuat, transcrierea a confundat româna cu hindi, iar prima replică a ieșit de două ori și jumătate peste bugetul de latență. Scriem asta pe prima pagină fiindcă oricum ai afla.
Obiceiul este scris în produs, nu doar în pagina de față: un cost dedus din prețuri de listă are prefix și spune că este o estimare, o latență nemăsurată o spune, iar o unealtă care ar avea nevoie de o cutie izolată refuză să ruleze în loc să se prefacă.
- Apeluri reale date vreodată
- 11
- Încheiate normal
- 5
- Eșuate
- 6
- Prima replică, măsurat față de țintă
- 3 091 / 1 200 ms
- Clienți serviți până acum
- 0
- Teste automate care trec
- 2 239
Trei cifre din șase sunt proaste și sunt scrise cu roșu. Le ținem pe prima pagină fiindcă altfel propoziția de alături nu ar valora nimic.
Note
- 1 Conversația de mai sus este un exemplu scris pentru pagina asta, nu o transcriere reală. Tăierea marchează replica pe care apelantul nu a auzit-o până la capăt.
-
2
Apelul real:
01M1RRDYJH6XAJY2M5XQX9Z6XD, tabelulcall_events. Twilio, ElevenLabs scribe_v2_realtime, Anthropic claude-sonnet-4-6, ElevenLabs eleven_flash_v2_5. Țintele:config/callagent.php, cheialatency_targets_ms. -
3
Identificatori de furnizor:
apps/voice-gateway/src/providers/real-adapters.ts, oglindiți înconfig/marketing.phpși întorși de poartă laGET /health.