Интеграция Asterisk/FreePBX с AI для обработки звонков

Проектируем и внедряем системы искусственного интеллекта: от прототипа до production-ready решения. Наша команда объединяет экспертизу в машинном обучении, дата-инжиниринге и MLOps, чтобы AI работал не в лаборатории, а в реальном бизнесе.
Показано 1 из 1 услугВсе 1566 услуг
Интеграция Asterisk/FreePBX с AI для обработки звонков
Средняя
от 1 недели до 3 месяцев
Часто задаваемые вопросы
Направления AI-разработки
Этапы разработки AI-решения
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1218
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1161
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    853
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1047
  • image_logo-advance_0.png
    Разработка логотипа компании B2B Advance
    561
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    825

Интеграция Asterisk/FreePBX с AI для обработки звонков

Asterisk — open-source АТС с огромной экосистемой. Интеграция с AI позволяет добавить распознавание речи и синтез к существующей телефонной инфраструктуре без замены всей платформы. Популярный выбор для on-premise развёртывания.

Методы интеграции Asterisk + AI

AGI (Asterisk Gateway Interface) — скрипт запускается при входящем звонке:

# agi_bot.py - AGI скрипт
import sys
from asterisk.agi import AGI

agi = AGI()
agi.answer()
agi.set_variable("CHANNEL(audioreadformat)", "slin16")

# Запись аудио от пользователя
agi.record_file(
    "/tmp/user_audio",
    "wav",
    "#",        # stop key
    3000,       # timeout ms
    0,          # offset
    True,       # beep
    3           # silence threshold
)

# STT + LLM + TTS в отдельном сервисе
import requests
with open("/tmp/user_audio.wav", "rb") as f:
    stt_response = requests.post("http://ai-service/stt", files={"audio": f})
transcript = stt_response.json()["text"]

llm_response = requests.post("http://ai-service/chat",
                              json={"text": transcript})
response_text = llm_response.json()["response"]

tts_response = requests.post("http://ai-service/tts",
                              json={"text": response_text})
with open("/tmp/response.wav", "wb") as f:
    f.write(tts_response.content)

agi.stream_file("/tmp/response")

ARI (Asterisk REST Interface) — более мощный подход для real-time:

import asyncio
import aiohttp
from ari_client import ARIClient

async def handle_stasis(channel_id: str, ari: ARIClient):
    """Обработчик входящего звонка через ARI"""
    await ari.answer(channel_id)

    # Создаём снэпшот аудио канала
    await ari.channel.record(
        channelId=channel_id,
        name=f"call_{channel_id}",
        format="wav",
        terminateOn="silence",
        maxSilenceSeconds=2
    )

Диалплан Asterisk

; extensions.conf
[ai-bot-context]
exten => _X.,1,NoOp(Входящий звонок)
 same => n,Answer()
 same => n,AGI(agi://127.0.0.1/ai_bot)
 same => n,Hangup()

FreePBX IVR через AGI

FreePBX предоставляет веб-интерфейс для настройки, а AGI добавляет AI-логику:

# Заменяем стандартные IVR-пункты на AI-распознавание
# вместо "нажмите 1" → "скажите что хотите"

Сроки: AGI-интеграция с Asterisk — 2–3 недели. Full ARI-based реализация — 1–1.5 месяца.