...
Для настройки данного метода необходимо:
1.Выбрать провайдера, зарегистрироваться на сайте провайдера и полнить счет на необходимую сумму.
2. Перейти в настройки способа авторизации с помощью учетной записи администратора в интерфейсе WNAM ("Конфигурация" → "Гостевая авторизация" → "Авторизация"). В соответствующем поле указать метод «Звонок абоненту» и выбрать провайдера. В настройках провайдера необходимо выполнить следующие действия:
- Для провайдера BitCall зарегистрировать номер (номер отправителя звонка). Зарегистрированный номер будет являться логином в форме настройки. В поле «Логин» ввести зарегистрированный номер телефона, в поле «Пароль» ввести API ключ.
- Для провайдера ВМЕСТОСМС поле «Логин» оставить пустым, в поле «Пароль» ввести API ключ.Для провайдеров SMSЦЕНТР, telediscount.ru и obit.ru в поля «Логин» и «Пароль» следует ввести учетные данные в системе – логин и пароль соответственно. Также в личном кабинете провайдера необходимо настроить допустимые IP-адреса.
- Для провайдера New-Tel Callpassword.ru в поле «Логин» ввести ключ_API_для_авторизации_запросов, в поле «Пароль» ввести ключ_API_для_подписи_запросов. Дополнительно в поле «URL системы» можно ввести последовательность «voice», которая отвечает за произнесение кода доступа механическим голосом.
- Для провайдеров voicepassword.ru и i-digital.ru в поле «API ключ» необходимо ввести ключ, который отображен в личном кабинете провайдера сервиса.
3. После ввода необходимых данных следует нажать кнопку "Сохранить изменения" и произвести тестирование путем совершения вызова через конструктор страниц, или имя_сервера/cp/testform. В случае успешного применения настроек, в файле регистрации событий «wnam.log» будут произведены подобные записи:
DEBUG [com.netams.wnam.web.cp.SmsHandler:174] - CP CALL phase 1: mac=00:01:02:03:04:05, ip=1.2.3.4, phone=7915xxxxxxx, code=1524 ! система присвоила временный код
DEBUG [c.n.w.s.sms.providers.VoicePassword:36] - voicepassword call_to: +7915xxxxxxx return 'CodeResponse{result='ok', code='4922', price=0.30, errorCode='null'}'
DEBUG [c.n.w.web.cp.CaptivePortalController:941] - postSms: site_id=8, username=00:01:02:03:04:05, phone=7915xxxxxxx, smscode=4922, ci.key=... ! реальный код 4922; этот звонок пришел с +7 (961) 342-49-22
DEBUG [c.n.w.web.cp.CaptivePortalController:1076] - postSmsPhase2 phone=7915xxxxxxx, code=4922, r={ ip=1.2.3.4, mac=00:01:02:03:04:05, phone=7915xxxxxxx, code=4922, attempts=0 }, r_ir=false, ap_m=CALL
DEBUG [c.n.w.web.cp.CaptivePortalController:1101] - CP CALL phase 2: mac=00:01:02:03:04:05, ip=1.2.3.4, phone=7915xxxxxxx, smscode=4922 CORRECT in 14546 ms.
2. Настройка собственной АТС
При использовании собственной АТС администратору необходимо выполнить следующие действия:
1.В настройках WNAM для звонка через собственную АТС в поле «Провайдер звонка» необходимо указатьнаименование провайдера «Локальная АТС Asterisk», в поле «URL системы» ввести параметры АТС в формате ip_адрес_астериска/имя_контекста/имя_транка, например:
172.16.130.13/default/zadarma
2. В полях «Логин» и «Пароль» ввести учетные данные пользователя системы – от Manager-коннекта до Asterisk. Учетные записи WNAM и Asterisk можно хранить как на одном сервере, так и на разных. Во втором случае следует убедиться в доступности порта TCP:5038 на сервере АТС.
Существует возможность настроить собственную АТС Asterisk на том же сервере, где работает WNAM, или на другом сервере. В обоих случаях необходимо:
Настроить1. Настроить исходящий способ подключения (trank) на АТС, ведущий в сторону SIP-провайдера Детальная инструкция по настройке SIP-провайдера представлена в документации на АТС Asterisk и документации собственного провайдера.
2. Настроить Manager-подключение. Для этого в файле конфигурации, расположенном по директории /etc/asterisk/manager.d/wnam.conf необходимо указать IP-адрес, сети, имя в квадратных скобках (логин) и пароль (расположение этого и последующих файлов может отличаться в зависимости от версии дистрибутива Linux):
[wnam]
secret=password
deny=0.0.0.0/0.0.0.0
permit=172.16.130.0/24,172.16.135.0/24
read = all
write = all
3. Внести изменения в номерной план (dialplan). Для этого в файле конфигурации, расположенном по директории /etc/asterisk/extensions.conf необходимо прописать следующий план:
exten => _7NXXXXXXXXX,1,NoOp(Исходящий звонок в транк)
same => n,Set(CALLERID(all)="74993467660"<74993467660>)
same => n,Set(CHANNEL(language)=ru)
same => n,Playback(vash-kod-dostupa)
same => n,SayDigits(${CODE})
same => n,Hangup()
Во второй строке CALLERID необходимо указать собственный номер телефона.
4. Загрузить языковые звуковые пакеты для поддержки русского языка при произношении кода доступа в АТС Asterisk. Для ОС Debian необходимо установить следующие пакеты:
apt-get install asterisk-core-sounds-ru asterisk-core-sounds-ru-gsm asterisk-core-sounds-ru-wav
Дополнительно понадобится файл, который отвечает за приветствие абонента перед сообщением кода доступа. В качестве примера используются файлы «vash-kod-dostupa.wav» и «vash-kod-dostupa.gsm», которые можно получить по ссылкам https://www.netams.com/files/wnam/misc/vash-kod-dostupa.gsm и https://www.netams.com/files/wnam/misc/vash-kod-dostupa.wav соответственно. После загрузки выбранных файлов, их необходимо переместить в следующие директории:
/usr/share/asterisk/sounds/en_US_f_Allison/vash-kod-dostupa.gsm
/usr/share/asterisk/sounds/en_US_f_Allison/vash-kod-dostupa.wav
/usr/share/asterisk/sounds/ru_RU_f_IvrvoiceRU/vash-kod-dostupa.gsm
/usr/share/asterisk/sounds/ru_RU_f_IvrvoiceRU/vash-kod-dostupa.wav
Можно использовать оба формата файла и помещать их в каталоги с разными языками для большей надежности. Аналогичные файлы приветствия можно сделать самостоятельно с помощью программы «Yandex Speech Kit», конвертировав их онлайн-конвертерами (рекомендуемые настройки конвертации: 8000 Гц, моно, 16 бит).
5. Исходящие звонки отправляются в АТС Asterisk с номерами в международном формате, например, 79150002244. Возможность изменить номер в номерном плане АТС Asterisk отсутствует. Если выбранный SIP-провайдер ожидает увидеть исходящий номер в ином формате, то необходимо в разделе «Конфигурация" → "Дополнительные настройки» установить значение параметра «asterisk_pattern». Формат значения имеет вид: регулярное выражение совпадения ... знак | ... выражение замены, например:
^7|0
Это означает замену ведущей семерки в номере на ноль. При этом требуется поменять шаблон (pattern) в номерной плане: (exten => _7NXXXXXXXXX на exten => _0NXXXXXXXXX).
...