Versions Compared

Key

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

...

  • ВМЕСТОСМС vmestosms.ruВнимание! Данный способ работает только для российских номеров (начинающихся на 7). Фиксированный тариф 46 копеек за вызов. Код произносится дважды.
  • BitCall sc-tehno.ru (https://bitcall.ru) Тариф зависит от направления и длительности звонка (порядка 25 копеек за вызов). Код произносится один раз.
  • SMSЦЕНТР http://smsc.ru Тариф зависит от направления и длительности звонка (порядка 25 копеек за вызов). Код произносится два раза.
  • New-Tel http://callpassword.ru (с версии WNAM 1.4)
  • Совершение звонка через вашу собственную АТС Asterisk (с версии WNAM 1.6)

и четыре провайдера провайдеры с совершением звонка со "случайного" исходящего номера с генерацией 4-5-6-значного кода, соответствующего последним цифрам номера звонящего:

  • SMSЦЕНТР smsc.ru (код в номере)
  • voicepassword.ru (код в номере) (здесь также произносится код после приёма звонка)
    (применимая длина кода определяется вами, в настройках способа идентификации)
  • telediscount.ru (код в номере)  (с версии WNAM 1.6.3038)
  • i-digital.ru (код в номере)  (с версии WNAM 1.6.3038)
  • obit.ru (код в номере)  (с версии WNAM 1.6.3092)

Для настройки данного метода идентификации необходимо:
  1. Определиться с провайдером. Зарегистрироваться. Пополнить счёт.
  2. В настройках метода авторизации в административном интерфейсе WNAM (общего, или для площадки) указать метод "Звонок абоненту", выбрать провайдера, в настройках провайдера: 
    1. Для BitCall зарегистрировать свой номер (номер отправителя звонка). Этот номер будет логином в форме настройки.
      Для ВМЕСТОСМС в поле Логин - ничего, в поле Пароль - API ключ
    2. Для BitCall в поле "Логин" ввести зарегистрированный в системе номер телефона, в поле Пароль - API ключ
    3. Для SMSЦЕНТР (произнесение или код-номер) и , telediscount.ru, obit.ru в полях Логин и Пароль - учетные данные в системе; не забудьте настроить в личном кабинете провайдера допустимые IP 
    4. Для New-Tel Callpassword.ru в поле Логин - ваш ключ_API_для_авторизации_запросов, в поле Пароль - ваш ключ_API_для_подписи_запросов. В поле URL системы опционально можно указать voice - тогда код будет произнесен механическим голосом.
    5. Для voicepassword.ru и i-digital.ru в поле API ключ - тот ключ, который отображен в личном кабинете провайдера сервиса


Провести тестирование путем совершения вызова через конструктор страниц, или имя_сервера/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.

Настройка собственной АТС 

Это трудозатратно, но стоит дешевле.

На стороне  WNAM для звонка через собственную АТС - указать провайдера "Локальная АТС Asterisk", и далее в поле URL системы - параметры АТС в формате:
ip_адрес_астериска/имя_контекста/имя_транка, например

172.16.130.13/default/zadarma

Также следует указать логин и пароль для Manager-коннекта до Астериска. Вы можете держать WNAM и Asterisk как на одном сервере, так и на разных. Во втором случае убедитесь в доступности порта TCP:5038 на сервере АТС.

  1. Размер ответного кода рекомендуется устанавливать в "4 цифры".
  2. Выберите страницу типа "Звонок абоненту", или её клон.
  3. Проверить возможность вызова, используя форму http://адрес.вашего.сервера/cp/testsend
    Укажите ваш номер телефона, получите вызов с кодом "1234"
    Внимание! Чтобы эта проверка работала, включите "Тестовые интерфейсы СМС и шаблонов страниц" в меню "Конфигурация - Общие настройки"
  4. Отредактировать стандартный шаблон страницы типа "Звонок абоненту", или её клон


Вы можете настроить вашу собственную АТС Asterisk на том же сервере, где работает и WNAM, или на другом вашем сервере. Вам в любом случае будет необходимо:

1. Настроить исходящий транк на АТС, ведущий в сторону вашего 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. Внести изменения в диалплан. Для этого в /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()

Во второй строке укажите ваш Caller ID, то есть собственный номер телефона.

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, которые можно взять здесь и здесь. После загрузки их необходимо поместить в сюда:

/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

Мы используем оба формата файлов и помещаем их в каталоги с разными языками для большей надежности.

...