Versions Compared

Key

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

Начиная с версии 1.2.660 WNAM поддерживает идентификацию абонента через совершение звонка на указанный им номер, с произнесением кода доступа.

Начиная с С версии 1.6.2802 также WNAM поддерживается сценарий двухфакторной авторизации, где кодом доступа являются последние цифры номера входящего звонка от провайдера

Данный метод похож на идентификацию через СМС. Однако вместо СМС- сообщения абонент получает входящий, бесплатный для него, вызов, где:

  • либо механический голос произносит код доступа
  • либо необходимо запомнить последние цифры вызывающего номера

которые затем абонент вводит в поле "код" второй стадии процесса идентификации.

Преимущества такого способа очевидны:

или последовательность цифр, произнесенная механическим голосом при ответе на звонок. Входящий звонок является для абонента бесплатным. Код доступа необходимо ввести в соответствующее поле страницы идентификации – «код».

Преимущества идентификации посредством входящего звонка:

  • сокращение стоимости Меньше стоимость идентификации (от 0.25 до 0.46 рублей за вызов против примерно 3 рубля за СМС), а в случае ). При наличии собственного сервера - порядка 10 копеек за звонок с посекундной тарификацией.;
  • Высокая высокая надежность (СМС доходят не всегда)
  • Не надо регистрировать имена отправителя СМС
  • входящий звонок поступает абоненту мгновенно);
  • отсутствие регистрации имен отправителя (как в случае с идентификацией посредством СМС-сообщений);
  • потенциальная возможность произнесения рекламы (рекламной фразы).Потенциальная возможность произнесения рекламной фразы

В настоящий момент поддерживается четыре сторонних провайдера для

...

совершения звонков с произнесением кода доступа и один собственный провайдер:

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

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


Warning

Услуга провайдера ВМЕСТОСМС доступна только для российских операторов, номера которых начинаются с цифры 7.

Услуга провайдера New-Tel доступна с версии WNAM 1.4

...

.

Использование собственной АТС доступно

...

с версии 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)
Для настройки данного метода идентификации необходимо:
  • . Код доступа данного провайдера соответствует последним цифрам номера входящего звонка абоненту.
  • Voicepassword.ru. Код доступа данного провайдера соответствует последним цифрам номера входящего звонка абоненту, но также доступен абоненту при ответе на звонок. Применимая длина кода доступа определяется в настройках способа идентификации.
  • Telediscount.ru. Код доступа данного провайдера соответствует последним цифрам номера входящего звонка абоненту.
  • I-digital.ru. Код доступа данного провайдера соответствует последним цифрам номера входящего звонка абоненту.
  • obit.ru. Код доступа данного провайдера соответствует последним цифрам номера входящего звонка абоненту.


Warning

Услуга провайдеров Telediscount и I-digital доступна с версии WNAM 1.6.3038.

Услуга провайдера Obit доступна с версии WNAM 1.6.3092.

1. Настройка идентификации при использовании сторонних провайдеров

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

  • Выбрать провайдера, зарегистрироваться на сайте провайдера и полнить счет на необходимую сумму.

  • Перейти в настройки способа авторизации с помощью учетной записи администратора в интерфейсе WNAM ("Конфигурация" → "Гостевая авторизация" → "Авторизация"). В соответствующем поле указать метод «Звонок абоненту» и выбрать провайдера. В настройках провайдера необходимо выполнить следующие действия:

    • Для провайдера BitCall зарегистрировать

  • Определиться с провайдером. Зарегистрироваться. Пополнить счёт.
  • В настройках метода авторизации в административном интерфейсе WNAM (общего, или для площадки) указать метод "Звонок абоненту", выбрать провайдера, в настройках провайдера: Для BitCall зарегистрировать свой
      • номер (номер отправителя звонка).

    Этот
      • Зарегистрированный номер будет являться логином в форме настройки.


    Для ВМЕСТОСМС в поле Логин - ничего
      • В поле «Логин» ввести зарегистрированный номер телефона, в поле

    Пароль - API ключ
      • «Пароль» ввести API ключ.

      • Для

    BitCall в поле "Логин" ввести зарегистрированный в системе номер телефона
      • провайдера ВМЕСТОСМС поле «Логин» оставить пустым, в поле

    Пароль - API ключ
      • «Пароль» ввести API ключ.

      • Для провайдеров SMSЦЕНТР

    (произнесение или код-номер), полях Логин и Пароль -
      • поля «Логин» и «Пароль» следует ввести учетные данные в системе

    ; не забудьте настроить
      • – логин и пароль соответственно. Также в личном кабинете провайдера

    допустимые IP 
      • необходимо настроить допустимые IP-адреса.

      • Для провайдера New-Tel Callpassword.ru в поле

    Логин - ваш 
      • «Логин» ввести ключ_API_для_авторизации_запросов, в поле

    Пароль - ваш 
      • «Пароль» ввести ключ_API_для_подписи_запросов.

     В поле URL системы опционально можно указать voice - тогда код будет произнесен
      • Дополнительно в поле «URL системы» можно ввести последовательность «voice», которая отвечает за произнесение кода доступа механическим голосом.

      • Для провайдеров voicepassword.ru и i-digital.
    ru 
      • ru в поле
    API ключ - тот ключ
      • «API ключ» необходимо ввести ключ, который отображен в личном кабинете провайдера сервиса.
    Image Removed

    Image Added

    После ввода необходимых данных следует нажать кнопку "Сохранить изменения" и произвести Провести тестирование путем совершения вызова через конструктор страниц, или имя_сервера/cp/testform. В случае успеха в wnam.log вы увидите что-то подобноеуспешного применения настроек, в файле регистрации событий «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. Настройка собственной АТС 

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

    На стороне 

    При использовании собственной АТС администратору необходимо выполнить следующие действия:

    • В настройках WNAM для звонка через собственную АТС
    -
    • в поле «Провайдер звонка» необходимо указатьнаименование провайдера
    "Локальная
    • «Локальная АТС
    Asterisk"
    • Asterisk»,
    и далее
    • в поле
    URL системы -
    • «URL системы» ввести параметры АТС в формате
    :
    • ip_адрес_астериска/имя_контекста/имя_транка, например:
    172.16.130.13/default/zadarma
    Также следует указать логин и пароль для
    • В полях «Логин» и «Пароль» ввести учетные данные пользователя системы – от Manager-коннекта до
    Астериска. Вы можете держать
    • Asterisk. Учетные записи WNAM и Asterisk можно хранить как на одном сервере, так и на разных. Во втором случае
    убедитесь
    • следует убедиться в доступности порта TCP:5038 на сервере АТС.
    Image Removed
  • Размер ответного кода рекомендуется устанавливать в "4 цифры".
  • Image Added

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

    • Выбрать страницу типа «Звонок абоненту»
    Выберите страницу типа "Звонок абоненту"
    Укажите ваш номер телефона, получите вызов с кодом "1234"
    Внимание! Чтобы эта проверка работала, включите "Тестовые
    • . Перед проверкой необходимо включить «Тестовые интерфейсы СМС и шаблонов
    страниц"
    • страниц» в меню
    "Конфигурация - Общие настройки"
    • «Конфигурация – Общие настройки». В соответствующем поле указать номер телефона, после чего получить входящий звонок с кодом  доступа «1234».
    • Отредактировать стандартный шаблон страницы типа
    "Звонок абоненту"
    • «Звонок абоненту», или её клон
    • .
    Image Added

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

    • Настроить исходящий
    транк
    • способ подключения (trank) на АТС, ведущий в сторону
    вашего
    • SIP-провайдера
    . Как его настроить-смотрите документацию от Asterisk и примеры, выдаваемые вашим провайдером.2.
    • Детальная инструкция по настройке SIP-провайдера представлена в документации на АТС Asterisk и документации собственного провайдера.
    • Настроить Manager-подключение. Для этого
    сделайте файл 
    • в файле конфигурации, расположенном по директории /etc/asterisk/manager.d/wnam.conf
    на основе шаблона такого содержания, указав ваши IP адреса
    • необходимо указать 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()

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

    • Загрузить языковые звуковые пакеты для поддержки русского языка при произношении кода доступа в АТС Asterisk.
    Будут использоваться русские звуковые файлы для произнесения цифр.
    • Для ОС Debian
    поставьте
    • необходимо установить следующие пакеты:
    apt-get install asterisk-core-sounds-ru asterisk-core-sounds-ru-gsm asterisk-core-sounds-ru-wav 

    5. Вам также Дополнительно понадобится файл, который будет произнесен в линию абоненту перед кодом, например некоторое приветствие. В нашем примере используются файлы vashотвечает за приветствие абонента перед сообщением кода доступа. В качестве примера используются файлы «vash-kod-dostupa.wav wav» и vash«vash-kod-dostupa.gsmgsm», которые можно взять здесь и здесь. После загрузки их необходимо поместить в сюдаполучить по ссылкам 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, и

    с помощью программы «Yandex Speech Kit», конвертировав их онлайн-конвертерами (

    формат

    рекомендуемые настройки конвертации: 8000 Гц, моно, 16 бит).

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

    Это означает замену ведущей

    семерке

    семерки в номере на ноль. При этом

    не забудьте поменять паттерн в диалплане

    требуется поменять шаблон (pattern) в номерной плане:  (exten => _7NXXXXXXXXX на exten => _0NXXXXXXXXX).


    После настройки АТС Asterinsk

    перезапустите

    следует перезапустить сервис, и

    сделайте

    сделать проверку работы авторизации. После ввода абонентом своего телефонного номера через несколько секунд ему поступит вызов, в котором

    ему произнесут

    будет произнесено, например,

    "Ваш

    следующее: «Ваш код доступа семь четыре три

    девять", и положат трубку

    девять», после чего звонок завершится автоматически. Такой звонок занимает около десяти секунд.

     При этом в лог-файле или консоли Asterisk (включите отладку: core

    Далее следует перейти в консоль настройки АТС Asterisk и включить отладку, набрав команду «core set debug 10 и sip set debug

    on) вы увидите

    on», после чего в консоли АТС Asterisk будет следующая информация:

    -- SIP/zadarma-0000000f answered
    -- Executing [79996771111@default:1] NoOp("SIP/zadarma-0000000f", "Исходящий звонок в транк") in new stack
     -- Executing [79996771111@default:2] Set("SIP/zadarma-0000000f", "CALLERID(all)="74993467660"<74993467660>") in new stack
     -- Executing [79996771111@default:3] Set("SIP/zadarma-0000000f", "CHANNEL(language)=ru") in new stack
     -- Executing [79996771111@default:4] Playback("SIP/zadarma-0000000f", "vash-kod-dostupa") in new stack
     -- <SIP/zadarma-0000000f> Playing 'vash-kod-dostupa.slin' (language 'ru')
    -- Executing [79996771111@default:5] SayDigits("SIP/zadarma-0000000f", "7439") in new stack
     -- <SIP/zadarma-0000000f> Playing 'digits/7.slin' (language 'ru')
    -- <SIP/zadarma-0000000f> Playing 'digits/4.slin' (language 'ru')
    -- <SIP/zadarma-0000000f> Playing 'digits/3.slin' (language 'ru')
    -- <SIP/zadarma-0000000f> Playing 'digits/9.slin' (language 'ru')

    а в В лог-файле wnam.log появятся такие записи:

    20:45:38.916

    DEBUG

    [c.n.w.web.cp.CaptivePortalController:1241]

    -

    postSms:

    site_id=101,

    username=AE:9E:AF:32:3F:11,

    phone=79996771111,

    smscode=null,

    ci.key=e4bbe1da-8473-42b5-b097-bad95c46cab5

    20:45:38.930

    DEBUG

    [com.netams.wnam.web.cp.SmsHandler:147]

    -

    CP

    CALL

    phase

    1:

    mac=AE:9E:AF:32:3F:11,

    ip=10.130.129.99,

    phone=79996771111,

    code=7439

    20:45:38.944

    INFO

    [o.a.live.internal.AsteriskServerImpl:322]

    -

    Initializing

    done
    20:45:38.944

    DEBUG

    [c.n.w.s.sms.providers.Asterisk:67]

    -

    Create

    Scenario

    Call:

    phone

    '79996771111',chanel

    'SIP/zadarma/79996771111',context

    'default',extension

    '79996771111'

    20:45:38.949

    INFO

    [o.a.live.internal.AsteriskServerImpl:1247]

    -

    Initializing

    done
    20:45:38.949

    INFO

    [o.a.live.internal.ChannelManager:213]

    -

    Adding

    channel

    SIP/zadarma-00000012(1586713540.31)

    7. Начиная с С версии WNAM 1.6.3231 поддерживается переопределение имени исходящего канала при совершении звонка через management-интерфейс АТС Asterisk. Стандартное именование наименование канала , "SIP«SIP/имя_транка/номер_абонента" абонента» можно изменить. Воспользуйтесь этим способомСледует воспользоваться такой возможностью, если ваш администратор администратору АТС хочет требуется видеть в SIP-заголовках другие дополнительные параметры. Для этого в разделе «Конфигурация" → "Конфигурация - Дополнительная настройка" настройка» необходимо отредактировать параметр asteriskпараметр «asterisk_trunk_pattern. Он представляет pattern»,представляющий собой строку, в которой задается имя канала , с возможностью "на лету" «на лету» изменять переменные вида: %переменная% реальными значениями реальными значениями.

    Warning

    Изменение параметра «asterisk_trunk_pattern» требует перезапуска сервиса WNAM.

    Например, стандартная конфигурация параметра имеет вид: 

    SIP/%TRUNK%/%PHONE%

    при При совершении вызова будет формировать сформировано имя канала:

    SIP/zadarma/79998887766

    Вы можете использовать Для использования доступны следующие переменные:  %TRUNK% %TRUNK%, %PHONE%,  %CONTEXT% %CONTEXT%,  %CODE%%CODE%.

    Например, если ваша АТС желает требуется видеть в имени контекста значение, напримертакое как: 

    zadarma/79998887766@default

    переменная asterisk,то переменная «asterisk_trunk_pattern pattern» должна иметь вид:

    %TRUNK%/%PHONE%@%CONTEXT%

    ...