Перейти до основного вмісту
megapromotingПоговорімо

Експертиза · Голосові агенти

Агент, який говорить — на вашій сторінці та телефоном — і якого можна перервати.

Ми будуємо голосових агентів на Kallina: написана роль, затверджена база знань, інструменти, які вони викликають під час розмови, і межа, за якою вони передають діалог людині. Румунська — мова за замовчуванням для нових агентів.

Вже збудованоТри власні реалізації, цитовані нижче. (1) Платформа Kallina — 472 edge-функції Deno і 559 міграцій бази даних, пораховані сьогодні в репозиторії; `https://app.kallina.info` відповідає 200. (2) Компонент на цьому сайті, `src/components/agents/KallinaVoiceAgent.tsx`, який реалізує правильний шлях сесії та документує два способи, у які voice agent мовчки зазнає збою. (3) Міст `elevenlabs-bridge` і сесія `openai-realtime-session`, де містяться реальні параметри переривання та детекції мовлення. Резерв, який ми називаємо: телефонна частина залежить від SIP-хоста, а хост, через який проходять наші тестові лінії, на дату написання не відповідає — дивіться сторінку телефонії. У web шлях сьогодні перевірний.

Голосовий агент у нас — це не «бот, який читає сценарій». Перед першим дзвінком у нього записано чотири речі: роль, база знань, схвалена вами, набір інструментів, які йому дозволено викликати, і межа, після якої він передає розмову людині. Те, що виходить із розмови, — це не лише транскрипт: дзвінок має тривалість, вартість, розбиту за постачальником, запис і аналіз, усе прив’язане до рахунку бізнесу.

Двигун не один, і це рішення, а не випадковість. У конфігурації агента ви обираєте між ElevenLabs Conversational AI, OpenAI Realtime та Gemini Live, або лишаєте «auto», і платформа обирає за мовою, навантаженням і доступністю. Окремо над цим ви обираєте текстовий мозок із каталогу, де в кожної моделі в інтерфейсі показані затримка та вартість за хвилину. Коли хтось питає «чому відповідає повільно», відповідь має цифри, а не думки.

Те, що люди відчувають найсильніше, — це переривання. В OpenAI Realtime виявлення мовлення є семантичним, з порогом 0,5, буфером 300 мс перед ним і 500 мс тиші, щоб вважати, що ви закінчили говорити; перемикач «дозволити переривання» ввімкнено за замовчуванням. В ElevenLabs подія переривання передається далі телефонній станції, щоб негайно зупинити відтворення. А час, після якого агент вважає, що ваша тиша — це відповідь, налаштовується окремо для кожного агента — на одному з наших продажних агентів він зменшений до 12 секунд, проти 15 за замовчуванням.

Агент живе у двох різних місцях, з різними обмеженнями. На веб-сторінці він входить через один рядок скрипта або власний компонент, і золоте правило таке: сторінка ніколи не зберігає ідентифікатор агента й жодного ключа постачальника — вона запитує в платформи сесію та отримує підписаний URL, чинний недовго. Телефоном він входить через SIP trunk, і там обмеження задає оператор та станція, а не агент; про це ми пишемо окремо, на сторінці телефонії.

AI голосові агенти в Республіці Молдова — як це працює, конкретно · відео румунською, із субтитрами та розшифровкою українською

Повна транскрипція

Гаразд, давайте одразу перейдемо до суті. Сьогодні ми робимо надзвичайно точний технічний аналіз того, як голосові агенти насправді працюють у бізнес-середовищі. Ми спиратимемось виключно на архітектуру платформи Kallina, розробленої саме в Республіці Молдова, MEGA PROMOTING S.R.L.. Без маркетингової мови, без роздутних обіцянок, лише факти, чиста інфраструктура і, звісно, операційна реальність. Для будь-якої команди, яка керує бізнесом і спирається на чіткі процеси, розуміння технології під капотом є, чесно кажучи, абсолютно необхідним. Сьогодні у нас дуже методичний маршрут. Проходимо шість пунктів. Спочатку розбираємо проблему, потім механізм роботи, далі — анатомія збою, розділ про двигуни та переривання, технічні межі і, нарешті, наступний крок. Це повністю прозорий погляд на систему. Отже, перший розділ, проблема, час і запити. Подивімося точно, з чого ми стартуємо. Це саме те питання, яке не дає менеджерам операцій спати вночі.

Де саме втрачається операційний час і, що дуже важливо, скільки неперевірених запитів зникає щодня. У звичайній компанії час просто випаровується між пропущеними дзвінками, запитами, які не беруться вчасно, і всілякими взаємодіями, які, ну, просто неможливо перевірити потім. І це не просто маленька проблема дискомфорту. Ми говоримо про величезний операційний ресурс, який губиться день за днем у не оптимізованому робочому потоці. Переходимо до другої частини, механізм, як це працює. Давайте зануримося у власне інженерію платформи. Подивіться на цю цифру, 472. Це точна кількість нових Edge-функцій, які зараз тримають платформу на плаву. Тобто, очевидно, ми не говоримо про прототип на вихідні чи гарний фасадний інтерфейс. Це масивна інфраструктура на реальному сервері, спроєктована для обробки маршрутів і надзвичайно складних бізнес-логік. І, щоб підкреслити рівень зрілості, є рівно 559 міграцій бази даних на інфраструктурі PostgreSQL, яка розміщена через Supabase.

Ці цифри показують нам надзвичайно міцну основу з політиками безпеки, впровадженими на рівні рядка. Практично це система, побудована для масштабування і для того, щоб тримати дані в бездоганному порядку. А тепер подивіться, як виглядає порядок операцій на веб-агенті, бо ця деталь абсолютно геніальна. На кроці 1 сторінка запитує доступ до мікрофона. На кроці 2 відвідувач має погодитися. І лише на кроці 3 надсилається запит на сервер, щоб відкрити сесію, отримавши у відповідь підписану URL-адресу, дійсну лише короткий час. Чому це такий важливий стратегічний крок? Просто: якщо на кроці 2 мікрофон відхилено, система не йде далі. Математично це означає 0 витрачених хвилин і 0 грошей, викинутих у вікно на фантомні сесії. Третій розділ, мабуть, мій улюблений. Анатомія збою. Бо ніщо не будує довіру більше, ніж повна прозорість, правда ж?

Уявіть собі цей кошмарний сценарій. На вебсторінці впровадили голосового агента, але коли натискали кнопку, не відбувалося абсолютно нічого. Без звуку, без жодного попереджувального повідомлення, без помилки в консолі розробника. Повна тиша. Для будь-кого, навіть для досвідченого техніка, такий дефект на перший погляд здавався неможливим для локалізації. Чому? Бо не було жодного журналу помилок. Повністю тихий збій. Коли копнули глибше, технічний аналіз виявив двох повністю невидимих ворогів. По-перше, сервер надсилав заголовок, який повністю забороняв використання мікрофона. Браузер, будучи слухняним, дотримувався правила і відхиляв запит, але робив це без попередження візуального інтерфейсу. По-друге, голосовий компонент імпортувався на сторінку статично. Файл просто не знаходився, повертаючи помилку 404. Через це весь скрипт валився у фоні, мовчки, блокуючи будь-яке подальше налаштування. Але подивіться, наскільки елегантним було рішення.

Проблема, очевидно, була не в AI, а безпосередньо в мережі. Заголовок сервера було змінено, щоб дозволити мікрофон із власного джерела, бачите там, у стані виправлено, і імпорт коду було перенесено точно всередину дії натискання кнопки. Дефект повністю зник. Тепер, якщо хтось натискає кнопку і мікрофон заблоковано браузером, збій уже не є тихим. Миттєво з’являється чітке повідомлення румунською мовою, яке точно пояснює, що саме потрібно змінити. Оце й означає інженерію, зроблену з головою, із повним усуненням неприємних сюрпризів. Переходимо далі до четвертого розділу, двигуни, мови та переривання. Настав момент точно перевірити, на що здатна ця система. Тут ми відкидаємо суб’єктивні думки і говоримо лише в мілісекундах. Коли ви використовуєте модель Flash від ElevenLabs, затримка становить лише 75 мілісекунд. Щоб ви зрозуміли, для людського вуха це практично миттєво.

З іншого боку, якщо ви надаєте перевагу абсолютно преміальній якості голосу, як у моделі Turbo, затримка сягає приблизно 250 мілісекунд. У телефонній розмові кожна мілісекунда критична, і платформа дозволяє вам обрати саме той двигун, який вам потрібен, суто залежно від операційних потреб компанії. Дуже часте запитання, яке ми чуємо: Гаразд, але чи можу я перервати агента, коли він говорить? Відповідь — тверде так, тільки механізм інший. Наприклад, в OpenAI Realtime виявлення є семантичним. Має поріг, встановлений на 0.5, і технічну буферну подушку в 300 мілісекунд. Натомість для ElevenLabs у ту ж секунду, коли відбувається переривання, подія йде прямо до телефонної станції, системи PBX, щоб миттєво вимкнути звук. Ба більше, період тиші, який агент чекає перед тим, як відповісти у свою чергу, можна дуже точно налаштувати.

Його можна, наприклад, скоротити до 12 секунд замість стандартних 15, що робить розмову значно природнішою й жвавішою. З точки зору підтримуваних мов офіційна конфігурація агента успішно працює з 32 різними мовами. Але один операційний аспект тут для нас має максимальне значення? Румунська мова встановлена за замовчуванням для абсолютно всіх нових агентів, створених на цій платформі. Ми дійшли до п’ятого розділу, технічні обмеження та відповідальність, тому що іноді так само важливо знати, чого система не може робити, щоб мати правильні очікування. Давайте проведемо дуже чітку межу. Агент може виконувати зовнішні функції, може запускати внутрішні інструменти безпосередньо на сервері і може без проблем передавати дзвінок колезі-людині. Але система забороняє агентам імпровізувати в суворо регульованих сферах. Подумайте трохи. Агент, який починає імпровізувати там, де законодавство є надзвичайно жорстким, стає величезним ризиком для компанії, аж ніяк не перевагою.

Ба більше, такі речі, як автоматичне виконання видалення даних після певного строку, — це не просто якісь позначки в меню. Це окремі процедурні проєкти, які організація має впроваджувати окремо. Безпека, з іншого боку, розглядається з абсолютною строгістю. Вебсторінки, що розміщують агентів, отримують виключно той підписаний URL, про який ми говорили. Ніколи, але абсолютно ніколи, вони не отримують ID агента або API-ключ, який можна було б вкрасти і використати за рахунок компанії. Щодо голосу, телефонія на 100% залежить від функціонального зовнішнього SIP trunk, і, щоб бути максимально прозорими щодо поточних обмежень, зовнішні тестові SIP-лінії зараз не відповідають. Це надзвичайно щирий підхід з боку інженерів, який показує, що технічна реальність завжди на першому місці, поза будь-якою комерційною дискусією. І ось ми в шостому, останньому, до речі, розділі, наступний крок у процесі.

Що ми робимо далі з усією цією інформацією? Увесь цей технічний розбір має привести нас до надзвичайно об’єктивної оцінки ваших робочих процесів. Ось у чому справжня суть. Який операційний процес усередині організації насправді потребує ефективнішої роботи? Ми ж не впроваджуємо штучний інтелект лише заради моди, правда? Мета — визначити саме те логічне місце, де voice agent може раціонально інтегруватися, масштабуватися і працювати в умовах максимальної безпеки. Як фінальну точку, ось вам операційні координати компанії MEGA PROMOTING S.R.L. з Кишинева, включно з IDNO та вебадресою? Це для можливої суто технічної розмови, покликаної прояснити, як ці складні структури можна інтегрувати в системи, які ви вже використовуєте у своєму бізнесі. Перед будь-яким рішенням я б залишив провокативне запитання, над яким нам усім варто замислитися.

Чи справді нинішні процеси управління клієнтами в наших компаніях витримали б настільки жорсткий і прозорий технічний аналіз, як той, через який пройшла ця система? На ринку, визначеному постійними інноваціями, погляд, заснований виключно на фактах і цифрах, і далі залишається безумовно найсильнішим інструментом, який ми маємо у своєму розпорядженні. До наступного разу!

Що входить

Робота, за складовими

Сесію запитують у платформи, а не у голосового постачальника

Сторінка надсилає `POST /functions/v1/widget-voice-session` із публічним ідентифікатором віджета та отримує назад підписаний URL. Вона ніколи не має ані ідентифікатора агента, ані жодного ключа. Неправильний варіант — `startSession({ agentId })` прямо в HTML — повністю обходить шар сесії, кредитів і журналу платформи та відкриває агента будь-кому, хто перегляне вихідний код сторінки. Це перша перевірка, яку ми робимо для будь-якої реалізації, яку беремо на себе.

Мікрофон запитують до сесії, тож відмова нічого не коштує

Порядок фіксований і має значення: спочатку запитайте мікрофон через `getUserMedia({audio:true})`, і лише якщо людина погодиться, запитуйте сесію. Якщо відвідувач відмовляє, не видається жодного підписаного URL і не витрачається жодної хвилини. Запит мікрофона робиться всередині натискання кнопки, до будь-якого очікування, яке могло б вийти за межі жесту — інакше браузер ігнорує запит.

Агента можна перервати, і це регулюється цифрами

В OpenAI Realtime: семантичне виявлення мовлення, поріг 0,5, буфер 300 мс, 500 мс тиші, переривання дозволене за замовчуванням. В ElevenLabs: подія `interruption` передається станції, щоб обрізати відтворення. Поверх цього, `turn_timeout` для кожного агента визначає, після якого часу тиші агент вважає, що його черга настала — за замовчуванням 15 секунд, зменшено до 12 на продажному агенті. І повідомлення клієнта «я не можу його перервати» часто має іншу причину, ніж пороги: занадто довгі відповіді. Це ми вирішуємо в prompt і в ліміті токенів, а не у виявленні мовлення.

Викликає інструменти під час розмови

Агент не замкнений у тому, що знає. Він може викликати серверні функції під час розмови — щоб перевірити доступність, створити запис, надіслати SMS або зробити запит до каталогу. Інструменти оголошуються для кожного агента, з типізованими параметрами й окремим строком виконання, щоб повільний інструмент не блокував розмову.

Передача людині — частина сценарію, а не виняток

У меседжингу підхоплення колегою має власний стан у потоці — `handoff_status`, момент підхоплення, причина, хто призначений, нотатки розв’язання — реалізований у окремому модулі на 619 рядків. По телефону передавання робить центральна: сліпе передавання через `##` і асистоване передавання через `*2`, з дзвінком, що потрапляє в контекст dialplan, написаний для цього. Це два різні механізми, бо це два різні канали; ми пишемо обидва в сценарії.

Двигун і голос обираються явно, не неявно

Чотири позиції постачальника: `elevenlabs`, `openai-realtime`, `gemini-live` і `auto`. Для синтезу голосу в інших мовах, ніж англійська, за замовчуванням — `eleven_flash_v2_5` — 32 мови, близько 75 ms; варіант вищої якості, `eleven_turbo_v2_5`, — близько 250 ms. На OpenAI Realtime є десять голосів і двигуни аж до `gpt-realtime-2.1`. Вибір — це поле в конфігурації агента, а не наше припущення.

Мови

Конфігурація агента підтримує 32 мови, внутрішня мовна мапа платформи має 41 запис, а панель адміністрування перекладена на 20. Це три цифри для трьох різних речей, і їх не можна змішувати. Румунська — мова за замовчуванням нового агента.

Що залишається після дзвінка

Транскрипт, аудіозапис, тривалість, вартість, розбита за постачальником, плюс аналіз після дзвінка і короткий підсумок розмови, згенерований для пам’яті клієнта. Аналіз не є самоціллю: на ньому тримається рішення, чи зробив агент те, що мав, або чи є у сценарії діра.

Споживання перевіряється до дії, а не в рахунку

Перед будь-якою операцією, що коштує грошей, платформа перевіряє доступний кредит, а споживання записується з розбивкою за постачальником і за агентом. Gate стоїть перед дзвінком. Практично: агент, що зірвався в цикл, не може споживати без кінця, не впершися в ліміт.

Як це виглядає

Шлях, крок за кроком.

01

Обираємо один маршрут і прописуємо його межі

Сценарій із чітким входом і чітким виходом: вхідний дзвінок на рецепції, підтвердження замовлення, перевірка доступності. Ми явно пишемо, чого агент не має права робити, чого не має права казати і яким шляхом передає розмову людині. Агент без написаних меж не є здібнішим, він лише більш непередбачуваний.

02

Будуємо агента: роль, знання, інструменти, межі

Промпт, схвалена вами база знань, інструменти, які він може викликати, і пороги розмови — постачальник, голос, текстова модель, час тиші, поведінка під час переривання. Наприкінці маємо налаштованого агента, а не демо.

03

Ставимо його на канал і перевіряємо маршрут, не витрачаючи хвилини

На вебі: рядок скрипта або власний компонент поверх API запуску й зупинки. Є скрипт, який проходить точно шлях браузера — рядок у конфігурації, конфігурацію віджета, запит сесії — і зупиняється на підписаному URL, не відкриваючи аудіоз’єднання. Працює на одному віджеті або на всіх, повертає код виходу, отже може входити в планову перевірку. По телефону: номер заходить на trunk, а вхідні й вихідні дзвінки тестуються окремо, бо ламаються окремо.

04

Вимірюємо результат і виправляємо сценарій

Після перших реальних розмов читаємо транскрипти й аналіз після дзвінка, а не враження. Найчастіше виправляємо не модель, а довжину відповідей і межі сценарію — дві речі, які змінюються в промпті, того ж дня.

IntrareVerificareDeciziePublicareНічого не переходить далі без перевірки.ПОРЯДОК Є АРГУМЕНТОМ
Маршрут розмови: сторінка просить мікрофон, платформа видає підписану сесію, агент говорить і його можна перебити, викликає інструмент, а те, що виходить за його роль, передається людині.

Дані

Чого торкаємося, де воно лежить і скільки лишається

Запитання, які ставить кожен, у кого є відповідальний за захист даних, — поставлені тут раніше, ніж їх поставить він.

Де зберігаються дані
PostgreSQL через Supabase, розміщений на власній інфраструктурі, з 559 версіонованими міграціями, з яких 195 зачіпають політики Row Level Security. Файли — записи, документи знань, зразки голосу — лежать в окремих сховищах, із шляхом, що починається з ідентифікатора робочого простору, щоб ізоляція була в структурі, а не лише в запиті.
Що ніколи не потрапляє на вашу сторінку
Ключ постачальника голосу та ідентифікатор агента. Сторінка отримує лише підписаний URL короткої дії, виданий платформою. Практичний наслідок: той, хто читає вихідний код вашої сторінки, не може використовувати вашого агента за ваш кошт.
Що записується з дзвінка
Аудіо, транскрипт, тривалість, номер абонента, результат дзвінка та подальший аналіз. Для випадків, коли агент пам’ятає клієнта між дзвінками, зберігається також короткий підсумок попередньої розмови. Усе це прив’язано до робочого простору; спільного сховища між клієнтами немає.
Видалення на запит є; автоматичного видалення за строком ще ні
Ми говоримо це прямо, бо це різниця між обіцянкою і функцією. Видалення на запит реалізоване: окрема функція видаляє об’єкти зі сховища файлів, викликає процедуру видалення з бази та інвалідовує сесії; окремо є експорт даних і функція для даних дзвінків. Чого не реалізовано: налаштовувані строки зберігання для кожного робочого простору. Вони спроєктовані у внутрішньому документі з квітня, але стовпця конфігурації немає в жодній міграції — отже сьогодні видалення за строком виконується процедурою, а не годинником. Якщо вашому проєкту потрібне автоматичне видалення, це йде як робота, а не як налаштування.
Кого інформують, що він говорить з агентом
Повідомлення про те, що співрозмовник говорить з автоматизованою системою, підстава запису розмови та текст, який читається на початку дзвінка, встановлюються разом із вами і входять у сценарій. Це не технічне налаштування: це рішення оператора даних, тобто ваше.

Випадок

Кнопка, яка нічого не робила — і навіть не видавала помилку

Ситуація

Голосовий агент, вставлений у вебсторінку. Під час натискання не відбувалося абсолютно нічого: без звуку, без повідомлення, без помилки в консолі, яку міг би побачити непосвячений. Тип дефекту, який повідомляють як «не працює» і шукають день у неправильному місці.

Що ми збудували

Причин було дві, обидві мовчазні за своєю природою. Перша: заголовок `Permissions-Policy` сервера містив `microphone=()`, і браузер відхиляє запит мікрофона, не показуючи користувачу нічого помітного. Друга: голосовий SDK імпортувався статично, а модуль, який повертає 404 при статичному імпорті, валить увесь скрипт — отже і запит конфігурації теж гинув разом із ним, через що дефект виглядав точно як «нічого не сталося». Ми перенесли імпорт SDK всередину натискання кнопки, поставили запит мікрофона перед запитом сесії та записали заголовок сервера як `microphone=(self)`, із політикою вмісту, яка явно дозволяє мережу розповсюдження SDK.

Що вийшло

Сьогодні на цьому сайті заголовок, що віддається в продакшені, — `camera=(), microphone=(self), geolocation=(self)`, а політика безпеки вмісту явно перелічує джерело SDK. Збій більше не мовчазний: відхилення мікрофона дає повідомлення румунською мовою, яке каже, що саме треба змінити, а відмова нічого не коштує, бо сесія навіть не запитується.

Чого цей випадок не каже

Обидві причини — інфраструктурні, а не агентні. Якщо ваш сайт обслуговується кимось іншим і заголовки не під нашим контролем, їх перевірка стає початковою умовою роботи, а не сюрпризом наприкінці.

Питання

Про що нас питають, перш ніж зателефонувати

З чим він говорить, конкретно? Який двигун у нього в основі?

Ви обираєте між ElevenLabs Conversational AI, OpenAI Realtime і Gemini Live, або залишаєте «auto», і платформа обирає за мовою та доступністю. Для синтезу голосу іншими мовами, ніж англійська, за замовчуванням — `eleven_flash_v2_5` — 32 мови, близько 75 ms; якщо хочете вищу якість і погоджуєтеся на більшу затримку, `eleven_turbo_v2_5` — близько 250 ms. В OpenAI Realtime є десять голосів, а двигун працює аж до `gpt-realtime-2.1`. Текстовий «мозок» обирається окремо, з каталогу, де біля кожної моделі вказані затримка і вартість за хвилину.

Чи можу я перервати його, коли він говорить, чи треба чекати, поки він закінчить?

Можете. В OpenAI Realtime виявлення мовлення семантичне, з порогом 0,5, буфером 300 ms і 500 ms тиші, а перемикач переривання увімкнений за замовчуванням. В ElevenLabs подія переривання надсилається телефонній станції, щоб зупинити відтворення. Якщо все ж маєте відчуття, що «його не можна перервати», причина зазвичай інша: агент відповідає абзацами, а не реченнями. Це виправляється в prompt і в ліміті токенів, а не в порогах.

Скількома мовами він говорить?

Конфігурація агента підтримує 32 мови. Внутрішня мовна карта платформи має 41 запис, а панель адміністрування перекладена на 20 — три цифри для трьох різних речей. Румунська — мова за замовчуванням нового агента. Для конкретної мови спочатку перевіряємо, яка комбінація голосової моделі та постачальника її фактично покриває, бо не всі моделі покривають ті самі мови.

Як це потрапляє на мій сайт і що мені потрібно змінити у себе?

Рядок скрипта з публічним ідентифікатором віджета або ваша власна компонента поверх `start()` / `stop()` / `toggle()`. На вашому сервері мають бути істинними дві речі, інакше кнопка нічого не робить і не з’являється жодна помилка: заголовок `Permissions-Policy` має дозволяти `microphone=(self)` — з `microphone=()` браузер мовчки відхиляє мікрофон — а політика безпеки вмісту має дозволяти завантаження SDK із використовуваної мережі доставки. Ми перевіряємо це перед публікацією.

Чи може він зателефонувати першим, а не лише відповідати?

Так, платформа має пакетне телефонування, з імпортом контактів, повторними спробами та відстеженням у реальному часі. Але вихідні дзвінки залежать не лише від нас: у нашому реєстрі проблем задокументовано випадок, коли центральa оператора почала повертати `403 Forbidden` для всіх виходів, за нашої незмінної конфігурації та з нормальною роботою вхідних дзвінків. Тому ми тестуємо вихідні окремо, перш ніж обіцяти кампанію дзвінків, і тому не продаємо обсяг вихідних дзвінків до цього тесту.

Що відбувається, коли агент не знає відповіді?

Передає. У кожного агента є письмово визначені межі та налаштований шлях передачі. У месенджері гілка переходить у стан людського прийому, з причиною та призначенням колезі. По телефону центральa робить передачу — сліпу або асистовану — на розширення або зовнішній номер. Те, що виходить за межі ролі агента, зупиняється, не імпровізується; це проектне рішення, бо агент, який імпровізує в регульованій сфері, є ризиком, а не економією.

Чи записуються розмови? Як довго вони зберігаються?

Так, записуються, транскрибуються та аналізуються, і все це пов’язано з вашим робочим простором. Як довго вони зберігаються — це ваше рішення як оператора даних, а не значення за замовчуванням, яке ми вам нав’язуємо — і слід чітко сказати, що автоматичне видалення після строку сьогодні не є простою настройкою в платформі: видалення на вимогу реалізовано, видалення після строку виконується через процедуру. Якщо вам потрібен автоматичний годинник, він будується в проєкті.

Чи витрачаються гроші, якщо відвідувач натискає кнопку, а потім відмовляється від мікрофона?

Ні. Мікрофон запитується до початку сесії. Якщо людина відмовляється, запит сесії взагалі не робиться, отже не видається жоден підписаний URL і нічого не витрачається. Окремо, перед будь-якою операцією, що коштує, платформа перевіряє доступний кредит — gate передує дзвінку, а не рахунку наприкінці місяця.

Чи можу я сьогодні мати агента, який відповідає на номер стаціонарного телефону?

Залежить від однієї частини, яка не є агентом: SIP-хоста, через який входить дзвінок. Частина агента готова і її можна одразу показати на сторінці. Частина телефонії потребує функціонального trunk від оператора та центральної, яка відповідає; на момент написання хост, через який проходять наші тестові лінії, не відповідає, і ми не подаємо як доступне те, що не можемо запустити перед вами. Для реального проєкту телефонія масштабується окремо — дивіться сторінку телефонії та contact center.

На чому ґрунтуються твердження вище (21 джерел)
  1. app.kallina.info відповідає 200 сьогодні; supabase.kallina.info відповідає на edge-функціїhttps://app.kallina.info/ · 2026-09-06
  2. Заголовки, що віддаються сьогодні у продакшені на megapromoting.com, дозволяють мікрофон і джерело SDKhttps://www.megapromoting.com/ · 2026-09-06

19 з них — це код і файли з наших репозиторіїв. Ми не публікуємо їхні назви чи номери рядків: разом, на одній сторінці, це надто точно описало б, як побудовані системи, які належать не лише нам. Ми проходимо їх разом із вами, у репозиторії, за запитом — перевірка залишається можливою, просто вона відбувається в розмові.

Що вам хотілося б налагодити?

Розкажіть про свій процес. Разом визначимо, що варто збудувати, що можна підключити і як перевіримо результат.

Поговорімо