Задать вопрос
  • Как и какой софтиной сделать простенький SIP-автоответчик с меню, на Linux VPS-сервере?

    @TRAPPIST
    Ответ от GPTэшки

    1. Установка Asterisk
    sudo apt update
    sudo apt install asterisk

    2. Настройка SIP-аккаунта (клиент/оператор)

    Файл: /etc/asterisk/sip.conf
    [general]
    context=default
    allowguest=no
    udpbindaddr=0.0.0.0

    [1000]
    type=friend
    secret=1234
    host=dynamic
    context=ivr

    (Это абонент, который будет звонить. Пароль 1234, логин 1000.)

    ********************
    3. Настройка IVR меню

    Файл: /etc/asterisk/extensions.conf

    [ivr]
    exten => s,1,Answer()
    same => n,Background(custom-welcome) ; проиграть приветствие (запишешь .wav/.gsm)
    same => n,WaitExten(5) ; ждать 5 секунд ввода
    same => n,Goto(s,1)

    exten => 1,1,Playback(you-pressed-1)
    same => n,Hangup()

    exten => 2,1,Playback(you-pressed-2)
    same => n,Hangup()

    exten => t,1,Playback(vm-goodbye) ; если таймаут
    same => n,Hangup()

    4. Запись приветствия

    asterisk -rx "record /var/lib/asterisk/sounds/custom-welcome.gsm"
    (или заранее закинуть свой файл в /var/lib/asterisk/sounds/ru/)

    ***************
    5. Перезапуск Asterisk
    sudo systemctl restart asterisk
    Теперь:

    Подключаешь SIP-клиент (например, Linphone или Zoiper) с логином 1000 и паролем 1234.

    Звонишь — сервер отвечает голосовым меню и ждёт нажатия клавиш.

    ****************
    минимальный готовый конфиг “Нажмите 1 — соединение с Андреем, 2 — со Стасом” прямо под твою семью?

    1. SIP-аккаунты (в /etc/asterisk/sip.conf)
    [general]
    context=default
    allowguest=no
    udpbindaddr=0.0.0.0
    language=ru

    [andrey]
    type=friend
    secret=1111
    host=dynamic
    context=ivr
    callerid="Андрей" <1001>

    [stas]
    type=friend
    secret=2222
    host=dynamic
    context=ivr
    callerid="Стас" <1002>

    2. IVR-меню (в /etc/asterisk/extensions.conf)
    [ivr]
    exten => s,1,Answer()
    same => n,Background(custom-hello) ; "Здравствуйте! Нажмите 1 для Андрея, 2 для Стаса"
    same => n,WaitExten(5)
    same => n,Goto(s,1)

    ; --- 1: звонок Андрею ---
    exten => 1,1,Dial(SIP/andrey,20)
    same => n,Playback(vm-nobodyavail)
    same => n,Hangup()

    ; --- 2: звонок Стасу ---
    exten => 2,1,Dial(SIP/stas,20)
    same => n,Playback(vm-nobodyavail)
    same => n,Hangup()

    ; --- если ничего не нажали ---
    exten => t,1,Playback(vm-goodbye)
    same => n,Hangup()

    ********************
    3. Приветствие

    Нужно записать файл custom-hello.gsm (или custom-hello.wav) в папку:
    /var/lib/asterisk/sounds/ru/

    Текст для записи:

    «Здравствуйте! Нажмите один, чтобы соединиться с Андреем. Нажмите два, чтобы соединиться со Стасом.»

    *****************
    4. Перезапуск
    sudo systemctl restart asterisk
    После этого:

    Андрей подключается SIP-клиентом: логин andrey, пароль 1111.

    Стас подключается SIP-клиентом: логин stas, пароль 2222.

    Когда кто-то звонит на IVR, можно нажать 1 или 2

    ***********
    Ответ написан
    Комментировать