Skip to main content
Інструмент «Переведення дзвінка» дозволяє ШІ-агенту перевести активний телефонний дзвінок на номер телефону чи SIP-ендпоінт. Можна налаштувати фіксований адресат, використати шаблон з контексту дзвінка або визначити адресата в момент переведення через виклик вашого HTTP-ендпоінта. Використовуйте цей інструмент, коли абонент має поговорити з людиною-оператором, конкретним відділом, чергою ескалації, чергою підтримки чи іншою телефонною системою.

Підтримувані провайдери

Переведення дзвінка доступне для телефонних дзвінків через провайдерів Twilio, Telnyx або Asterisk ARI.
Веб-дзвінки не підтримують переведення.

Як працює переведення дзвінка

Коли LLM вирішує, що потрібне переведення, вона викликає інструмент «Переведення дзвінка». Платформа визначає адресата, перевіряє налаштування переведення, а потім запускає переведення через провайдера. Для успішного переведення:
  1. Агент викликає інструмент «Переведення дзвінка».
  2. Платформа визначає адресата — зі статичної конфігурації або через динамічний HTTP-резолвер.
  3. За бажанням програється повідомлення перед переведенням.
  4. Платформа починає набір адресата через провайдера телефонії.
  5. Абонент чує музику очікування, поки встановлюється з’єднання з адресатом.
  6. Коли адресат відповідає, платформа з’єднує абонента й завершує участь ШІ-агента.
Переведення — сліпе (blind transfer). Платформа наразі не передає контекст розмови людині, яка приймає дзвінок.

Джерело адресата

Для кожного інструмента «Переведення дзвінка» потрібно обрати одне джерело адресата.

Статичний / шаблон

Використовуйте, коли адресат переведення вже відомий заздалегідь. Статичний адресат може бути:
  • фіксованим номером у форматі E.164, наприклад +380441234567;
  • SIP-ендпоінтом, наприклад PJSIP/sales-queue;
  • шаблонним значенням із контексту, наприклад {{initial_context.transfer_destination}}.
Це найпростіший варіант для фіксованих ліній підтримки, конкретних відділів або випадків, коли адресат відомий ще до початку дзвінка.

Динамічний HTTP-резолвер

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

Запит до динамічного резолвера

Тіло запиту до резолвера — плаский JSON-об’єкт. Платформа формує його з:
  • параметрів LLM: значень, які агент видобуває з розмови в момент виклику інструмента переведення;
  • заданих параметрів: значень, які платформа підставляє з фіксованих значень або шаблонів на кшталт {{initial_context.account_id}} чи {{gathered_context.billing_issue_type}}.
Якщо обидва джерела визначають той самий ключ, пріоритет мають задані параметри. Приклад тіла запиту:
Платформа не надсилає резолверу повний транскрипт розмови. Додайте конкретні потрібні значення як параметри LLM або задані параметри.

Відповідь динамічного резолвера

Ваш резолвер має повернути JSON-об’єкт з полем transfer_context.destination. Поле transfer_context.custom_message необов’язкове.
Дотримуйтесь цього формату відповіді точно. Платформа читає конкретні ключі з відповіді резолвера. Для динамічного визначення адресата некоректна відповідь не має тихого запасного варіанта: переведення не відбувається до початку набору.
Поведінка полів:
  • destination: обов’язкове. Номер у форматі E.164 або SIP-ендпоінт.
  • custom_message: необов’язкове. Якщо повернуто, це повідомлення програється перед переведенням через провайдера.
Якщо резолвер завершується помилкою, таймаутом, повертає некоректний JSON або не містить transfer_context.destination, переведення коректно скасовується, і агент може продовжити розмову з абонентом.

Налаштування динамічного резолвера

При використанні динамічного резолвера налаштуйте:
  • URL резолвера: HTTPS- чи HTTP-ендпоінт, який платформа викликає через POST.
  • Таймаут резолвера: скільки часу платформа чекає на відповідь резолвера.
  • Повідомлення очікування резолвера: необов’язкове повідомлення, що озвучується, поки платформа чекає відповіді, наприклад «Зачекайте хвилинку, я знаходжу потрібну команду».
  • Параметри LLM: значення, які агент має видобути з розмови, наприклад billing_issue_type чи requested_department.
  • Задані параметри: значення, які платформа підставляє з контексту або фіксованих значень.
  • Власні заголовки: статичні заголовки, що надсилаються на ендпоінт резолвера.
  • Облікові дані: необов’язкові збережені облікові дані для автентифікації запиту до резолвера.
Динамічний резолвер використовує лише POST. Якщо потрібна власна логіка на бекенді, реалізуйте її за вашим ендпоінтом-резолвером і поверніть очікувану структуру transfer_context.

Повідомлення перед переведенням

«Переведення дзвінка» підтримує спільне налаштування повідомлення перед переведенням як для статичного, так і для динамічного адресата. Для статичного переведення:
  1. Платформа визначає статичний або шаблонний адресат.
  2. Програється налаштоване повідомлення перед переведенням, якщо воно задане.
  3. Платформа починає переведення через провайдера.
Для динамічного переведення:
  1. Платформа може програти повідомлення очікування резолвера, поки триває виклик вашого резолвера.
  2. Якщо резолвер повертає custom_message, платформа програє це повідомлення.
  3. Якщо резолвер не повертає custom_message, платформа використовує налаштоване повідомлення перед переведенням.
  4. Платформа починає переведення через провайдера.
custom_message від резолвера перевизначає налаштоване повідомлення перед переведенням для цієї спроби.

Таймаут переведення

Таймаут переведення — це максимальний час, який платформа чекає, поки адресат відповість після початку переведення через провайдера. Цей таймаут застосовується як до статичного, так і до динамічного переведення. Таймаут резолвера — окремий параметр. Він контролює лише, скільки часу платформа чекає відповіді вашого HTTP-резолвера перед початком набору.

Формати адресата

Twilio та Telnyx

Використовуйте номери у форматі E.164:
Номер має бути досяжним через вашого провайдера телефонії.

Asterisk ARI

Використовуйте SIP-ендпоінти:
Переведення через Asterisk ARI працює лише з SIP-ендпоінтами, налаштованими на вашому сервері Asterisk. Для зовнішніх телефонних номерів потрібне налаштування PSTN-транку на вашому Asterisk.

Приклад: маршрутизація дзвінків з питаннями білінгу для корпоративних клієнтів

Використовуйте це налаштування, коли агент визначає проблему з білінгом, а ваш бекенд вирішує, направити абонента до стандартного білінгу, корпоративного білінгу чи стягнення заборгованості. Налаштуйте параметри LLM:
Налаштуйте задані параметри:
Ваш резолвер отримує:
Ваш резолвер повертає:

Найкращі практики

  • Тримайте затримку резолвера низькою. Орієнтуйтесь на 2–3 секунди.
  • Використовуйте повідомлення очікування резолвера, якщо відповідь може займати помітний час.
  • Надсилайте резолверу лише ті параметри, які йому справді потрібні.
  • Надавайте перевагу заданим параметрам для значень, уже доступних в initial_context чи gathered_context.
  • Робіть описи параметрів LLM явними, щоб агент розумів, що саме видобувати.
  • Тестуйте як успішне переведення, так і сценарій помилки резолвера перед виходом у продакшн.
  • Тримайте логіку перевірки адресата й маршрутизації на своєму бекенді, якщо вона залежить від даних акаунта чи бізнес-правил.

Усунення несправностей

Інструмент переведення не викликається

Перевірте, що інструмент прикріплено до потрібного вузла і що промпт вузла чітко вказує агенту, коли переводити дзвінок.

Статичне переведення завершується помилкою через відсутність адресата

Статичний режим вимагає налаштованого адресата. Використайте фіксований адресат або шаблон, що дає непорожнє значення.

Динамічне переведення завершується помилкою до набору

Перевірте відповідь резолвера. Вона має містити:
Також перевірте URL резолвера, заголовки автентифікації, облікові дані й таймаут.

Резолвер отримує неповні параметри

Переконайтесь, що параметр налаштовано як один із варіантів:
  • параметр LLM, якщо агент має видобути його з розмови;
  • заданий параметр, якщо платформа має підставити його з контексту.
Для відомих контекстних значень надавайте перевагу заданим параметрам на кшталт {{initial_context.account_id}} або {{gathered_context.billing_issue_type}}.

Адресат не відповідає

Перевірте, що номер телефону чи SIP-ендпоінт коректний і досяжний через налаштованого провайдера телефонії.