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 (с ).Тариф данного провайдера можно получить, запросив информацию на указанном сайте.
  • 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 (код в номере)  (с версии 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. Настройка идентификации при использовании сторонних провайдеров

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

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

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

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

...

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

...

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

...

  • В поле «Логин» ввести зарегистрированный номер телефона, в поле

...

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

Image Added

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

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

1. В настройках

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

На стороне  WNAM для звонка через собственную АТС - в поле «Провайдер звонка» необходимо указатьнаименование провайдера "Локальная «Локальная АТС Asterisk"Asterisk», и далее в поле URL системы - «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. Отредактировать стандартный шаблон страницы типа

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

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

    .

    Image Added

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

    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%