Интеграция AI-контакт-центра с IP-телефонией (Asterisk, FreePBX, 3CX)
IP-телефония — ядро корпоративной телефонной инфраструктуры. Интеграция AI-компонентов с Asterisk/FreePBX/3CX позволяет добавить распознавание речи, синтез и аналитику без полной замены существующей системы.
Архитектуры интеграции
AMI (Asterisk Manager Interface) — управление звонками через TCP:
import asterisk.manager as ami
manager = ami.Manager()
manager.connect("asterisk-server")
manager.login("admin", "secret")
# Инициируем исходящий звонок
manager.originate(
channel="SIP/1001",
exten="s",
context="ai-bot",
priority=1,
caller_id="AI Bot <0800>",
variables={"CUSTOMER_ID": "12345"}
)
AGI (Asterisk Gateway Interface) — скрипт при входящем:
from asterisk.agi import AGI
def handle_call():
agi = AGI()
agi.answer()
agi.set_variable("CHANNEL(audioreadformat)", "slin16")
# Воспроизводим TTS
tts_audio = synthesize_greeting()
agi.stream_file(save_as_asterisk_audio(tts_audio))
# Записываем ответ
agi.record_file("/tmp/response", "wav", "#", 5000)
transcript = transcribe("/tmp/response.wav")
# Обрабатываем и отвечаем
reply = process_intent(transcript)
reply_audio = synthesize(reply)
agi.stream_file(save_as_asterisk_audio(reply_audio))
FreePBX с пользовательскими модулями
// FreePBX dialplan hook
function ai_bot_dialplan_hook($exten, $context) {
if ($context == 'from-internal' && $exten == '9000') {
return [
'AGI,agi://127.0.0.1/ai_voice_bot',
'Hangup'
];
}
}
3CX интеграция через Call Flow Designer
3CX поддерживает webhook-шаги в Call Flow — вызываем наш AI API на каждом шаге IVR:
{
"type": "webhook",
"url": "https://ai-api.company.com/3cx/ivr-step",
"method": "POST",
"body": {
"caller": "{{CallerId}}",
"extension": "{{Extension}}",
"speech_input": "{{SpeechInput}}"
}
}
SIP Trunk для медиа-стриминга
Для real-time AI обработки используем SIP-транк с media proxy:
Caller → Asterisk/3CX → SIP Trunk → Media Proxy (RTP) → AI Engine
↑
Перехватываем RTP-поток,
обрабатываем в AI,
возвращаем синтезированный аудио
Сроки: AGI-интеграция с Asterisk — 2 недели. Полная media-proxy интеграция — 1.5 месяца.







