> ## Documentation Index
> Fetch the complete documentation index at: https://revolai.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Телефонія (VoIP)

> Підключіть Twilio, Ringostat або Binotel для AI-телефонних дзвінків

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

| Провайдер     | Вхідні дзвінки | Вихідні дзвінки | SMS | Автоналаштування вебхука |
| ------------- | -------------- | --------------- | --- | ------------------------ |
| **Twilio**    | Так            | Так             | Так | Автоматично              |
| **Ringostat** | Так            | Так             | Ні  | Вручну                   |
| **Binotel**   | Так            | Так             | Ні  | Вручну                   |

## Налаштування

<Tabs>
  <Tab title="Twilio">
    ### Дані доступу

    Вам потрібні два значення з [Twilio Console](https://console.twilio.com/):

    | Поле            | Де знайти                |
    | --------------- | ------------------------ |
    | **Account SID** | Dashboard → Account Info |
    | **Auth Token**  | Dashboard → Account Info |

    ### Кроки

    <Steps>
      <Step title="Додайте інтеграцію">
        Перейдіть в **Інтеграції** → **Додати інтеграцію** → оберіть **Twilio** з категорії Телефонія.
      </Step>

      <Step title="Введіть дані">
        Оберіть компанію, дайте назву інтеграції (напр., "Основна лінія") та введіть Account SID і Auth Token.
      </Step>

      <Step title="Верифікація та вибір номера">
        Натисніть **Test Connection**. Revol отримає ваші доступні номери телефонів. Оберіть номер для використання.
      </Step>

      <Step title="Збереження">
        Revol автоматично налаштує webhook URL на обраному номері Twilio. Вхідні дзвінки та SMS будуть спрямовуватись до вашого агента.
      </Step>
    </Steps>

    <Note>
      Webhook URL для Twilio налаштовуються автоматично. Нічого не потрібно змінювати в Twilio Console.
    </Note>
  </Tab>

  <Tab title="Ringostat">
    ### Дані доступу

    | Поле                   | Де знайти                              |
    | ---------------------- | -------------------------------------- |
    | **API Key (Auth-key)** | Ringostat Dashboard → API Settings     |
    | **Project ID**         | Ringostat Dashboard → Project Settings |

    ### Кроки

    <Steps>
      <Step title="Додайте інтеграцію">
        Перейдіть в **Інтеграції** → **Додати інтеграцію** → оберіть **Ringostat**.
      </Step>

      <Step title="Введіть дані">
        Введіть API Key та Project ID.
      </Step>

      <Step title="Верифікація">
        Revol отримає ваші SIP-акаунти для підтвердження підключення.
      </Step>

      <Step title="Налаштуйте вебхук">
        В панелі Ringostat вкажіть webhook URL, який відображається в Revol після верифікації.
      </Step>
    </Steps>
  </Tab>

  <Tab title="Binotel">
    ### Дані доступу

    | Поле           | Де знайти                          |
    | -------------- | ---------------------------------- |
    | **API Key**    | Binotel Dashboard → Settings → API |
    | **API Secret** | Binotel Dashboard → Settings → API |

    ### Кроки

    <Steps>
      <Step title="Додайте інтеграцію">
        Перейдіть в **Інтеграції** → **Додати інтеграцію** → оберіть **Binotel**.
      </Step>

      <Step title="Введіть дані">
        Введіть API Key та API Secret.
      </Step>

      <Step title="Верифікація">
        Revol отримає ваші внутрішні номери для підтвердження підключення.
      </Step>

      <Step title="Налаштуйте вебхук">
        В панелі Binotel вкажіть webhook URL, який відображається в Revol після верифікації.
      </Step>
    </Steps>

    <Warning>
      Вебхуки Binotel перевіряються за IP-адресою. У продакшені приймаються запити лише з серверів Binotel.
    </Warning>
  </Tab>
</Tabs>

## Інструменти агента

Після підключення VoIP-провайдера автоматично створюються наступні інструменти:

| Інструмент             | Twilio | Ringostat | Binotel | Опис                                                          |
| ---------------------- | ------ | --------- | ------- | ------------------------------------------------------------- |
| **make\_call**         | Так    | Так       | Так     | Ініціювати вихідний дзвінок з опціональним вітанням           |
| **send\_sms**          | Так    | —         | —       | Надіслати SMS-повідомлення (автовибір номера відправника)     |
| **get\_call\_history** | Так    | Так       | Так     | Отримати історію дзвінків з фільтрами (номер, статус, період) |

Ці інструменти з'являються у вкладці **Tools** агента і можуть бути додані до workflow-нод.

## Потік голосового дзвінка

Коли надходить вхідний дзвінок, Revol обробляє його через workflow призначеного агента:

<Steps>
  <Step title="Вхідний дзвінок">
    VoIP-провайдер надсилає webhook-сповіщення в Revol з інформацією про абонента.
  </Step>

  <Step title="Привітання">
    Revol генерує аудіо-привітання за допомогою Text-to-Speech (налаштовуваний голос і мова) та програє його абоненту.
  </Step>

  <Step title="Speech-to-Text">
    Мовлення абонента записується і транскрибується за допомогою Whisper або Google STT.
  </Step>

  <Step title="Обробка AI">
    Транскрибований текст надсилається до workflow агента. Агент обробляє його через LLM-ноди, базу знань та виклики інструментів.
  </Step>

  <Step title="Text-to-Speech">
    Текстова відповідь агента перетворюється на аудіо за допомогою OpenAI TTS з налаштовуваним голосом і швидкістю.
  </Step>

  <Step title="Відповідь">
    Аудіо програється абоненту. Розмова продовжується в циклі до завершення дзвінка.
  </Step>
</Steps>

## Використання інструментів у workflow-нодах

Щоб агент використовував VoIP-інструменти під час розмов:

1. Перейдіть у вкладку **Workflow** агента
2. Створіть або оберіть **custom node** (з LLM)
3. В налаштуваннях ноди увімкніть VoIP-інструменти (напр., `make_call`, `get_call_history`)
4. LLM автоматично вирішить, коли їх використати, на основі контексту розмови

Наприклад, якщо клієнт просить "Зателефонуйте мені на +380501234567", агент використає інструмент `make_call` для ініціювання вихідного дзвінка.

## Безпека вебхуків

| Провайдер | Метод перевірки                                                |
| --------- | -------------------------------------------------------------- |
| Twilio    | HMAC-SHA1 верифікація підпису (заголовок `X-Twilio-Signature`) |
| Ringostat | Структурна валідація параметрів                                |
| Binotel   | IP allowlist (лише IP-адреси серверів Binotel у продакшені)    |

Усі VoIP-вебхуки обмежені до **120 запитів на хвилину** на канал.
