Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

В настоящий момент поддерживается четыре пять сторонних провайдера для совершения звонков с произнесением кода доступа и один собственный провайдер:

  • ВМЕСТОСМС – vmestosms.ru.Провайдер предоставляет фиксированный тариф за вызов – 46 копеек, при этом код доступа произносится дважды.
  • BitCall – sc-tehno.ru (https://bitcall.ru). Тариф данного провайдера зависит от направления и длительности звонка и составляет порядка 25 копеек за вызов, код доступа произносится один раз.
  • SMSЦЕНТР (http://smsc.ru). Тариф данного провайдера зависит от направления и длительности звонка и составляет порядка 25 копеек за вызов, код доступа произносится два раза.
  • New-Tel (http://callpassword.ru).Тариф данного провайдера можно получить, запросив информацию на указанном сайте.
  • Usicom (https://www.uiscom.ru/) или виртуальная АТС. Тариф данного провайдера можно уточнить на указанном сайте.
  • Собственная автоматическая телефонная станция (далее по тексту – АТС) Asterisk.

...

Для настройки данного метода необходимо:

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 на сервере АТС.

3. Нажать кнопку «Сохранить изменения».

4. Установить размер ответного кода доступа (рекомендованное значение «4 цифры»).

5. Выбрать страницу типа «Звонок абоненту», или её клон.

6. Проверить возможность вызова, используя форму http://адрес.вашего.сервера/cp/testsend. Перед проверкой необходимо включить «Тестовые интерфейсы СМС и шаблонов страниц» в меню «Конфигурация – Общие настройки». В соответствующем поле указать номер телефона, после чего получить входящий звонок с кодом  доступа «1234».

7. Отредактировать стандартный шаблон страницы типа «Звонок абоненту», или её клон.

Image Modified

Существует возможность настроить собственную АТС 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 

5. Дополнительно понадобится файл, который отвечает за приветствие абонента перед сообщением кода доступа. В качестве примера используются файлы «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 бит).

Исходящие звонки отправляются в АТС Asterisk с номерами в международном формате, например, 79150002244. Возможность изменить номер в номерном плане АТС Asterisk отсутствует. Если выбранный SIP-провайдер ожидает увидеть исходящий номер в ином формате, то необходимо в разделе «Конфигурация" → "Дополнительные настройки» установить значение параметра «asterisk_pattern». Формат значения имеет вид: регулярное выражение совпадения ... знак | ... выражение замены, например:

^7|0

Это означает замену ведущей семерки в номере на ноль. При этом требуется поменять шаблон (pattern) в номерной плане:  (exten => _7NXXXXXXXXX на exten => _0NXXXXXXXXX).


6. После настройки АТС Asterinsk следует перезапустить сервис, и сделать проверку работы авторизации. После ввода абонентом своего телефонного номера через несколько секунд ему поступит вызов, в котором будет произнесено, например, следующее: «Ваш код доступа семь четыре три девять», после чего звонок завершится автоматически. Такой звонок занимает около десяти секунд. Далее следует перейти в консоль настройки АТС Asterisk и включить отладку, набрав команду «core set debug 10 и sip set debug on», после чего в консоли АТС Asterisk будет следующая информация:

...