Запись голосового сообщения автоответчика Asterisk с использованием AI Engine Sakura

Используя ARI Asterisk, я записал голосовые сообщения автоответчика и сделал их транскрипцию с помощью Whisper API AI Engine Sakura.
Содержимое транскрипции будет отправляться в Slack.

В начале

Я использую уже существующую среду Asterisk.

Настройка ARI

Отредактируйте файл конфигурации Asterisk ari.conf, чтобы включить ARI.

  • ari.conf
    [general]
    enabled = yes
    
    [asterisk]
    type = user
    read_only = no
    password = asterisk
    password_format = plain
    

Также активируйте HTTP-сервер Asterisk.

  • http.conf
    [general]
    servername=Asterisk
    enabled=yes
    bindaddr=127.0.0.1
    bindport=8088
    

В этот раз мы настроим автоматический ответ для звонков на номер 999.

  • extensions.conf
    [default]
    exten => 999,1,Wait(1)
      same => n,Stasis(rusudenkun)
      same => n,Hangup()
    

Поток операций

  1. Звонок поступает на номер 999
  2. Запускается ARI-приложение rusudenkun
  3. Проигрывается голосовое оповещение
  4. Начинается запись
  5. После завершения записи, записанный WAV-файл транскрибируется с помощью Whisper API AI Engine Sakura
  6. Содержимое транскрипции отправляется в Slack

Таким образом, я быстро реализовал ARI-приложение на Go.

Тестирование звонка

Попробуйте позвонить на номер 999 и оставить сообщение на автоответчике.

root@asterisk:~# tail -f /var/log/rusudenkun.log
{"time":"2025-09-26T15:25:45.529096517+09:00","level":"INFO","msg":"StasisStart","channel":"1758867943.63"}
{"time":"2025-09-26T15:25:45.529204145+09:00","level":"INFO","msg":"Running app","channel":"1758867943.63"}
{"time":"2025-09-26T15:25:45.680639184+09:00","level":"INFO","msg":"playing announce","media":"sound:custom/rusuden"}
{"time":"2025-09-26T15:25:54.607939088+09:00","level":"INFO","msg":"announce finished"}
{"time":"2025-09-26T15:26:04.981533804+09:00","level":"INFO","msg":"completed recording"}
{"time":"2025-09-26T15:26:05.982012514+09:00","level":"INFO","msg":"recorded","path":"rusudenkun-1758867943.63.wav"}
{"time":"2025-09-26T15:26:06.69882038+09:00","level":"INFO","msg":"transcribed text","text":"Тест транскрипции голосового сообщения автоответчика Тест транскрипции голосового сообщения автоответчика"}

Записанный WAV-файл сохраняется в /var/lib/asterisk/sounds/rusudenkun-<channel>.wav.
Эти音声 файлы транскрибируются с помощью Whisper API AI Engine Sakura.

Уведомление в Slack

Транскрипция прошла успешно.

Резюме

  • Запись голосовых сообщений автоответчика с использованием ARI Asterisk удалась
  • Записанный WAV-файл удалось транскрибировать с помощью Whisper API AI Engine Sakura
  • Содержимое транскрипции было успешно отправлено в Slack

Честно говоря, у нас дома не так уж много звонков, так что даже 50 запросов в бесплатном тарифе достаточно.