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 рублей за вызов против примерно 1.5 рубля за СМС), а в случае ). При наличии собственного сервера - порядка 10 копеек за звонок с посекундной тарификацией.;
  • Высокая надежность (СМС доходят не всегда)
  • высокая надежность (входящий звонок поступает абоненту мгновенно);
  • отсутствие регистрации имен отправителя (как в случае с идентификацией посредством СМС-сообщений);
  • потенциальная возможность произнесения рекламы (рекламной фразы).Потенциальная возможность произнесения рекламной фразы

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

...

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

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

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

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

...

с версии WNAM 1.6

...

.3092.

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

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

...

необходимо:

...

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

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

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

...

  • номер (номер отправителя звонка).

...

  • Зарегистрированный номер будет являться логином в форме настройки. В поле «Логин» ввести зарегистрированный номер телефона, в поле «Пароль» ввести API ключ.
  • Для провайдера ВМЕСТОСМС поле «Логин» оставить пустым, в поле «Пароль» ввести API ключ.Для провайдеров SMSЦЕНТР, telediscount.ru и obit.ru в поля «Логин» и «Пароль» следует ввести учетные данные в системе – логин и пароль соответственно. Также в личном кабинете провайдера необходимо настроить допустимые IP-адреса.
  • Для провайдера

В настройках метода авторизации в административном интерфейсе WNAM (общего, или для площадки) указать данный метод, выбрать провайдера, указать:
  • Для ВМЕСТОСМС в поле Логин - ничего, в поле Пароль - API ключ
  • Для BitCall в поле "Логин" ввести зарегистрированный в системе номер телефона, в поле Пароль - API ключ
  • Для SMSЦЕНТР в полях Логин и Пароль - учетные данные в системе
  • Для Логин - ваш 
    • «Логин» ввести ключ_API_для_авторизации_запросов, в поле
    Пароль - ваш 
    • «Пароль» ввести ключ_API_для_подписи_запросов.
     В поле URL системы опционально можно указать voice - тогда код будет произнесен механическим голосом.
    • Дополнительно в поле «URL системы» можно ввести последовательность «voice», которая отвечает за произнесение кода доступа механическим голосом.
    • Для провайдеров voicepassword.ru и i-digital.ru в поле «API ключ» необходимо ввести ключ, который отображен в личном кабинете провайдера сервиса.

    Image Added

    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 системы» ввести параметры АТС в формате

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

    172.16.130.13/default/zadarma

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

  • Размер ответного кода рекомендуется устанавливать в "4 цифры".
  • Image Added

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

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

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

    Выберите страницу типа "Звонок абоненту"

    , или её клон.

    6. Проверить возможность вызова, используя форму http://адрес.вашего.сервера/cp/testsend


    Укажите ваш номер телефона, получите вызов с кодом "1234"
    Внимание! Чтобы эта проверка работала, включите "Тестовые

    . Перед проверкой необходимо включить «Тестовые интерфейсы СМС и шаблонов

    страниц"

    страниц» в меню

    "Конфигурация - Общие настройки"

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

    7. Отредактировать стандартный шаблон страницы типа

    "Звонок абоненту"

    «Звонок абоненту», или её клон.

    Cобственная АТС Asterisk

    Image Added

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

    1. Настроить исходящий транк  Настроить исходящий способ подключения (trank) на АТС, ведущий в сторону вашего SIP-провайдера . Как его настроить-смотрите документацию от Asterisk и примеры, выдаваемые вашим провайдеромДетальная инструкция по настройке SIP-провайдера представлена в документации на АТС Asterisk и документации собственного провайдера.

    2. Настроить 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).


    6. После настройки АТС 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)

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

    Warning

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

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

    SIP/%TRUNK%/%PHONE%

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

    SIP/zadarma/79998887766

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

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

    zadarma/79998887766@default

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

    %TRUNK%/%PHONE%@%CONTEXT%