Задать вопрос
@SmeliyR

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

Имеется VPS на ubuntu20 с 512 мб ОЗУ.
Так же имеется аккаунт в одном из сервисов IP телефонии, и подключение к нему возможно с любого SIP-клиента например Zoiper, или свободный linphone.
Так вот задача состоит в том, чтоб насроить на VPS-ке какую то софтину, которая будет подключаться как SIP клиент и автоматически брать трубку, когда идёт входящий звонок, и предлагать голосовое меню, в стиле "если вы хотите то то - нажмите 1, а если то то - нажмите 2 и так далее", а после как абонент нажмёт в тональном режиме какую то клавишу, софтина включит ему соотвествующий mp3-файл, с именем 1.mp3 или 2.mp3 и т.п.
Так как я в этом нуб, буду рад если кинете максимально подробным мануалом в меня и т.п.
Да и в принципе, вообще возможно ли то, что я описал?
  • Вопрос задан
  • 261 просмотр
Подписаться 1 Простой 3 комментария
Пригласить эксперта
Ответы на вопрос 3
@Zerg89
Ответ написан
Комментировать
@AlexVWill
Я сам не делал, но гугль говорит что можно настроить в Asterisk автооттветчик.
Ответ написан
Комментировать
@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

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

Войдите, чтобы написать ответ

Похожие вопросы