Я пытаюсь настроить IVR, а точнее - автосекретаря с помощью Asterisk. Я не хочу ничего необычного, кроме простой автоматизированной системы меню, и вместо того, чтобы набирать добавочный номер (пока), просто звоните по той же телефонной линии (POTS), если нажимаете 1, или воспроизводите запись, если нажимаете 2. Сервер, на котором запущены Asterisk и IVR будет в удаленном месте от фактической наземной линии связи.
Цель: Заказчик звонит на стационарный телефон. Удаленный сервер отвечает на вызов и обрабатывает автоматизированную систему меню. В зависимости от выбора ответьте: (нажатие 1) вызов той же стационарной линии, (нажатие 2) воспроизведение записи.
Вот мои вопросы:
Буду признателен за любые комментарии.
Спасибо
Ваше объяснение требований немного сбивает с толку, но, если я правильно понимаю, да, это можно сделать довольно легко. Единственная проблема заключается в том, что если у вас есть только одна линия POTS, подключенная к серверу asterisk, вы сможете совершать / принимать только один вызов за раз. В этом случае вам нужно будет принять ввод от пользователя (1 или 2), а затем, если он нажал «1», повесить трубку, прежде чем набирать обратно ту же линию. Очевидно, эта проблема исчезнет, если вы подключите к серверу дополнительные линии POTS или если вы используете IAX / SIP для вызовов.
Нет, если вы не собираетесь использовать транспорт вызовов VoIP, тогда нет необходимости регистрироваться у поставщика IAX.
Что касается оборудования, вам понадобится серверный компьютер (качество которого будет зависеть от ваших требований к избыточности / времени безотказной работы). В этом случае использования (прием одного вызова за раз) производительность определенно не имеет значения. Подойдет любая старая коробка. Вам также понадобится адаптер FXO - он может иметь форму карты PCI от Digium / Sangoma / и т. Д. или, альтернативно, это может быть внешний ATA, который выполняет преобразование из POTS в SIP. Я предполагаю, что другой вариант - использовать банк каналов Xorcom - они подключаются к вашему серверу через USB.
Вот очень простой пример того, как вы могли бы реализовать это в диалплане ...
[sample-ivr]
exten => s,1,Wait,1
exten => s,n,Answer
exten => s,n,Set(COUNT=0)
exten => s,n,Wait,1 ; Give Caller ID some time
exten => s,n(greet),Playback(thank-you-for-calling) ; "Thank you for calling"
exten => s,n,Read(RESPONSE|mainline-ivr-recording|1|||3) ; Custom IVR Recording "Press 1 for X, Press 2 for Y..."
exten => s,n,Goto(s-${RESPONSE}|1) ; Read the callers response
exten => s,n,Goto(s,greet)
exten => s-,1,Set(COUNT=$[ ${COUNT} + 1 ]) ; If caller fails to enter a response, then COUNT + 1
exten => s-,n,GotoIf($[ ${COUNT} = 2 ]?s-,bye:s,greet)
exten => s-,n(bye),Playback(goodbye)
exten => s-,n,Hangup()
; If they press 1
exten => s-1,1,Wait(0.5)
exten => s-1,n,Dial(DAHDI/G1/5551212)
exten => s-1,n,Hangup()
; If they press 2
exten => s-2,1,Wait(0.5)
exten => s-2,n,Playback(lots-o-monkeys)
exten => s-2,n,Playback(goodbye)
exten => s-2,n,Hangup()
Это не учитывает недопустимые вводы (что, если вызывающий нажимает 5?), Но должно помочь вам начать. Для дозвона на POTS вам понадобится карта TDM или аналоговая и T1 или стационарный (соответственно), либо провайдер IAX или SIP, который позволяет маршрутизировать исходящие вызовы.