> ## 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.

# Telefonia (VoIP)

> Połącz Twilio, Ringostat lub Binotel dla połączeń telefonicznych obsługiwanych przez AI

## Obsługiwani dostawcy

| Dostawca      | Połączenia przychodzące | Połączenia wychodzące | SMS | Automatyczna konfiguracja webhooków |
| ------------- | ----------------------- | --------------------- | --- | ----------------------------------- |
| **Twilio**    | Tak                     | Tak                   | Tak | Automatyczna                        |
| **Ringostat** | Tak                     | Tak                   | Nie | Ręczna                              |
| **Binotel**   | Tak                     | Tak                   | Nie | Ręczna                              |

## Konfiguracja

<Tabs>
  <Tab title="Twilio">
    ### Dane uwierzytelniające

    Potrzebujesz dwóch wartości z [Twilio Console](https://console.twilio.com/):

    | Pole            | Gdzie znaleźć            |
    | --------------- | ------------------------ |
    | **Account SID** | Dashboard → Account Info |
    | **Auth Token**  | Dashboard → Account Info |

    ### Kroki

    <Steps>
      <Step title="Dodaj integrację">
        Przejdź do **Integracje** → **Dodaj integrację** → wybierz **Twilio** z kategorii Telefonia.
      </Step>

      <Step title="Wprowadź dane uwierzytelniające">
        Wybierz firmę, nadaj integracji nazwę (np. „Główna linia telefoniczna") i wprowadź Account SID oraz Auth Token.
      </Step>

      <Step title="Zweryfikuj i wybierz numer">
        Kliknij **Testuj połączenie**. Revol pobierze dostępne numery telefonów. Wybierz numer, którego chcesz użyć.
      </Step>

      <Step title="Zapisz">
        Revol automatycznie konfiguruje URL webhooka na wybranym numerze Twilio. Połączenia przychodzące i SMS są kierowane do Twojego agenta.
      </Step>
    </Steps>

    <Note>
      URL-e webhooków Twilio są konfigurowane automatycznie. Nie musisz niczego ustawiać w Twilio Console.
    </Note>
  </Tab>

  <Tab title="Ringostat">
    ### Dane uwierzytelniające

    | Pole                   | Gdzie znaleźć                             |
    | ---------------------- | ----------------------------------------- |
    | **API Key (Auth-key)** | Ringostat Dashboard → Ustawienia API      |
    | **Project ID**         | Ringostat Dashboard → Ustawienia projektu |

    ### Kroki

    <Steps>
      <Step title="Dodaj integrację">
        Przejdź do **Integracje** → **Dodaj integrację** → wybierz **Ringostat**.
      </Step>

      <Step title="Wprowadź dane uwierzytelniające">
        Wprowadź swój API Key i Project ID.
      </Step>

      <Step title="Zweryfikuj">
        Revol pobierze Twoje konta SIP, aby potwierdzić połączenie.
      </Step>

      <Step title="Skonfiguruj webhook">
        W panelu Ringostat ustaw URL webhooka wyświetlony w Revol po weryfikacji.
      </Step>
    </Steps>
  </Tab>

  <Tab title="Binotel">
    ### Dane uwierzytelniające

    | Pole           | Gdzie znaleźć                        |
    | -------------- | ------------------------------------ |
    | **API Key**    | Binotel Dashboard → Ustawienia → API |
    | **API Secret** | Binotel Dashboard → Ustawienia → API |

    ### Kroki

    <Steps>
      <Step title="Dodaj integrację">
        Przejdź do **Integracje** → **Dodaj integrację** → wybierz **Binotel**.
      </Step>

      <Step title="Wprowadź dane uwierzytelniające">
        Wprowadź swój API Key i API Secret.
      </Step>

      <Step title="Zweryfikuj">
        Revol pobierze Twoje wewnętrzne numery telefonów, aby potwierdzić połączenie.
      </Step>

      <Step title="Skonfiguruj webhook">
        W panelu Binotel ustaw URL webhooka wyświetlony w Revol po weryfikacji.
      </Step>
    </Steps>

    <Warning>
      Webhooki Binotel są walidowane za pomocą listy dozwolonych IP. W środowisku produkcyjnym akceptowane są tylko żądania z serwerów Binotel.
    </Warning>
  </Tab>
</Tabs>

## Narzędzia agenta

Po połączeniu dostawcy VoIP automatycznie udostępniane są następujące narzędzia:

| Narzędzie              | Twilio | Ringostat | Binotel | Opis                                                                     |
| ---------------------- | ------ | --------- | ------- | ------------------------------------------------------------------------ |
| **make\_call**         | Tak    | Tak       | Tak     | Zainicjowanie połączenia wychodzącego z opcjonalną wiadomością powitalną |
| **send\_sms**          | Tak    | —         | —       | Wysłanie wiadomości SMS (automatyczny wybór numeru nadawcy)              |
| **get\_call\_history** | Tak    | Tak       | Tak     | Pobranie ostatnich logów połączeń z filtrami (numer, status, zakres dat) |

Te narzędzia stają się dostępne w zakładce **Narzędzia** agenta i mogą być dodawane do węzłów workflow.

## Przebieg połączenia głosowego

Gdy nadchodzi połączenie przychodzące, Revol przetwarza je przez workflow przypisanego agenta:

<Steps>
  <Step title="Połączenie przychodzące">
    Dostawca VoIP wysyła powiadomienie webhook do Revol z informacjami o dzwoniącym.
  </Step>

  <Step title="Powitanie">
    Revol generuje powitanie audio za pomocą Text-to-Speech (konfigurowalny głos i język) i odtwarza je dzwoniącemu.
  </Step>

  <Step title="Zamiana mowy na tekst">
    Mowa dzwoniącego jest przechwytywana i transkrybowana za pomocą Whisper lub Google STT.
  </Step>

  <Step title="Przetwarzanie AI">
    Transkrybowany tekst jest wysyłany do workflow agenta. Agent przetwarza go przez węzły LLM, wyszukiwanie w bazie wiedzy i wywołania narzędzi.
  </Step>

  <Step title="Zamiana tekstu na mowę">
    Tekstowa odpowiedź agenta jest konwertowana na audio za pomocą OpenAI TTS z konfigurowalnym głosem i szybkością.
  </Step>

  <Step title="Odpowiedź">
    Audio jest odtwarzane dzwoniącemu. Rozmowa trwa w pętli aż do zakończenia połączenia.
  </Step>
</Steps>

## Używanie narzędzi w węzłach workflow

Aby agent mógł korzystać z narzędzi VoIP podczas rozmów:

1. Przejdź do zakładki **Workflow** agenta
2. Utwórz lub wybierz **węzeł niestandardowy** (oparty na LLM)
3. W ustawieniach węzła włącz narzędzia VoIP (np. `make_call`, `get_call_history`)
4. LLM automatycznie zdecyduje, kiedy wywołać te narzędzia na podstawie kontekstu rozmowy

Na przykład, jeśli klient zapyta „Czy możecie do mnie oddzwonić na +380501234567?", agent użyje narzędzia `make_call`, aby zainicjować połączenie wychodzące.

## Bezpieczeństwo webhooków

| Dostawca  | Metoda walidacji                                                                  |
| --------- | --------------------------------------------------------------------------------- |
| Twilio    | Weryfikacja podpisu HMAC-SHA1 (nagłówek `X-Twilio-Signature`)                     |
| Ringostat | Walidacja strukturalna parametrów                                                 |
| Binotel   | Lista dozwolonych IP (tylko adresy IP serwerów Binotel w środowisku produkcyjnym) |

Wszystkie webhooki VoIP mają ograniczenie częstotliwości do **120 żądań na minutę** na kanał.
