Это exten.bot: голосовой VoIP бот OpenaAI Realtime

Стадия проекта: открытая бета

exten.bot — это веб-интерфейс на Django для создания VoIP голосовых ботов, которых можно подключить к любой программной или аппаратной АТС с поддержкой SIP. Система основана на сервере OpenSIPS и модуле opensips-ai-voice-connector, а для искусственного интеллекта использует OpenAI real-time API. Платформа поддерживает рабочие процессы dify.ai (или другие MCP серверы), позволяя проектировать логику бота и интеграцию с другими системами через вызовы функций.

Интеграция с MCP серверами (Model Context Protocol)

MCP-сервер — это компонент Model Context Protocol (MCP), который действует как мост между языковыми моделями и внешними системами, позволяя им взаимодействовать с данными и инструментами, такими как базы данных, веб-сервисы и другие приложения, через стандартизированный интерфейс

Параметры MCP сервера, доступные при создании и редактировании

  1. Server url - адрес подключаемого MCP сервера (обязательно)
  2. Api key - ключ API для авторизации (при необходимости)
  3. Server label - Метка сервера будет отображаться в логах и во взаимодействии с ботом
  4. Требуется подтверждение - должен ли бот спрашивать разрешение на использование сервера. По умолчанию Нет. Функция подтверждения еще в разработке
Screenshot_from_2025-09-03_08-08-32

Вызов функций ботом (Function Calling)

Функционал голосового бота можно значительно расширить подключив к нему дополнительные функции к которым он будет обращаться во время диалога.

В личном кабинете можно добавить функцию, которую потом привязать к одному или нескольким голосовым ботам.

Поля функций:

  1. Название: человекочитаемое название функции
  2. URL: адрес вебхука, принимающего запросы для обработки этой функции и возвращающий ответ
  3. Bearer Token: токен для авторизации (если требуется)
  4. Описание функции (Json schema): структурированное описание функции для бота. Пример.
  5. Шаблон входных данных для вебхука (Input schema): шаблон входящих данных для вебхука

После добавления функции в форме редактирования голосового бота будет доступна её привязка к боту.

Примеры и подробности работы с функциями здесь.

Screenshot_from_2025-09-03_07-57-26

Создание голосового бота exten.bot

Для создания простого голосового VoIP бота-консультанта, работающего на текстовой инструкции перейдите в раздел Настройки - Боты и создайте нового бота.

Типы голосовых ботов exten.bot:

Поскольку голосовой бот exten.bot представляет собой SIP аккаунт, то, в зависимости от его роли (сервер или клиент) можно создать два типа записей:

  1. Сервер (registrar), по умолчанию: учетные данные для регистрации SIP аккаунта выдаются сервером exten.bot. Их необходимо использовать на своём сервере для подключения к серверу exten.bot
  2. Клиент (registrant): при создании бота в полях логин, пароль и домен необходимо указать учетные данные SIP аккаунта, выданного вашим сервером, к которому exten.bot подключится в качестве клиента

Описание полей бота

Параметры SIP подключения

Подключение голосового бота к FreePBX

Для подключения голосового бота к АТС используйте полученные username и password, домен для регистрации exten.bot

В примере показаны настройки PJSIP транка во FreePBX

Add PJSIP Trunk - General - Trunk Name = <username>

Screenshot_from_2025-05-25_19-08-20

-- pjsip Settings - General -

Screenshot_from_2025-05-25_19-14-22

PJSIP Settings - Advanced

Screenshot_from_2025-05-25_19-15-55

Подключение голосового бота к FusionPBX

1. Accounts > Gateways > Add

Screenshot_from_2025-06-27_12-16-49

2. Applications > Bridges > Add

Screenshot_from_2025-06-27_12-22-24

3. Dialplan > Outbound Routes > Add

Screenshot_from_2025-06-27_12-25-52

После этого позвоните на номер 500 для соединения с голосовым ботом