В последнее время стало популярным управление шлагбаумом для выезда на определенную территорию при помощи телефонного звонка. Рассмотрим такой пример реализации с помощью устройства NetPing и сервера IP ATC Asterisk.
Для открытия шлагбаума необходимо позвонить на заранее определенный номер и ввести добавочный номер после ответа системы,.
Данное решение реализовано на основе устройства UniPing v3 и бесплатной IP ATC Asterisk или её возможных вариаций. Для поднятия шлагбаума необходимо набрать заранее определенный номер телефона (в данном примере — 555-00-00) и набрать добавочный номер (1234) после приветствия системы.
Преимуществом данного решения является:
- отсутствие ограничения на количество и тип номеров, используемых для дозвона;
- отсутствие ограничения на количество и длину используемых добавочных номеров;
- возможность легкой интеграции IP ATC Asterisk с большинством систем СКУД;
- возможность контроля и учёта из любой точки при наличии доступа в Интернет
Для реализации представленного решения потребуется следующее оборудование и программное обеспечение:
- UniPing v3 — 1 шт.;
- ПК/сервер с предустановленной АТС Asterisk — 1 шт.;
- Шлагбаум — 1 шт.;
- Аренда телефонного номера — 1 шт.
Необходимо произвести первоначальную установку и настройку ПО Asterisk на ПК/сервер под ОС Linux. Данное ПО или дистрибутив на его основе может быть развернут в виртуальной среде. Также вы можете воспользоваться уже имеющейся у Вас ATC на основе Asterisk.
Арендованный локальный телефонный номер (с возможностью его подключения по протоколу SIP) у любого VoIP оператора связи может быть заменён на номер локальной телефонной сети (ТФОП) — по медной паре, или номер, предоставляемый по потоку E1. Также может быть использован шлюз в сеть местного GSM оператора. В таком случае дополнительно потребуется соответствующее оборудование, и настройки Asterisk будут выглядеть иначе. За дополнительной информацией обратитесь к поставщику данного оборудования и документации Asterisk.
Для управления устройством UniPing v3 по протоколу SNMP дополнительно потребуется установить на ПК/сервер с Asterisk пакет бесплатного ПО Net-SNMP. Он доступен как в исходных кодах, так и в виде готовых пакетов в репозиториях для большинства дистрибутивов Linux.
Если в точке установки UniPing v3 для доступа к сети Интернет используется маршрутизатор/роутер с функцией NAT и/или Firewall, необходимо разрешить входящие пакеты по протоколу SNMP (UDP/161) в сторону устройства UniPing v3. За дополнительной информацией обратитесь к документации на оборудование или к администратору сети.
Настроим упрощённую схему приведённого выше решения, где устройство UniPing v3 и IP ATC Asterisk подключены в одну локальную сеть:
Настройка UniPing v3
Приведите устройство UniPing v3 в рабочее состояние согласно соответствующим разделам «Руководство пользователя UniPing v3». Подключите контакты управления шлагбаумом к контактам реле «RELAY2» к нормально замкнутой или нормально разомкнутой группе — в зависимости от особенностей работы системы управления шлагбаумом:
Настройте сетевые параметры в разделе «SETUP» устройства согласно рисунку. В качестве IP адреса — 192.168.0.28; маски подсети — 255.255.255.0; шлюза — 192.168.0.2. Смотрите дополнительную информацию на устройство в «Описание встроенного ПО DKSF 60.4 IU». Нажмите ниже кнопку «Apply changes».
При необходимости устройства могут быть подключены к роутеру по Wi-Fi посредством адаптера VAP11N. Адаптер приобретается отдельно. За дополнительной информацией обратитесь в «Руководство пользователя».
Далее, в этом же разделе измените «Username» и «Password» для доступа к устройству. Измените значение полей «SNMP Сommunity for Read/Write» для предотвращения несанкционированного доступа к устройству:
Нажмите ниже кнопку Apply changes.
Настройка IP ATC Asterisk
В данном примере IP ATC построена на основе Asterisk версии 1.6.x. Произвёдем её настройку на примере оператора телефонной связи YouMagic — https://www.youmagic.com/. После процедуры регистрации вы получите локальный телефонный номер (он является и логином) и пароль для доступа к услугам. В данном примере:
логин: 5550000
пароль: PaSsWoRd
В файле конфигурации sip.conf в секции [general] добавьте определение register:
…
[general]
…
register => 5550000:PaSsWoRd@voip.mtt.ru/5550000
…
Далее в файле конфигурации extensions.conf в секции [default] добавьте extension, который будет переводить все входящие звонки на ветвящееся меню:
…
[default]
exten => _X.,1,Goto(ivr,s,1)
…
В конце файла добавьте само ветвящееся меню:
[ivr]
; Зададим местоположение звуковых файлов
exten => s,1,Set(home=»/var/lib/asterisk/sounds/ru»)
exten => s,2,Wait(1); Проиграем приветствие
exten => s,3,Playback(${home}/zdravstujte); Подскажем, что делать…
exten => s,4,Playback(${home}/you-can-press); …какую последовательность цифр необходимо набрать
exten => s,5,Playback(${home}/digits/1)
exten => s,6,Playback(${home}/digits/2)
exten => s,7,Playback(${home}/digits/3)
exten => s,8,Playback(${home}/digits/4); Ждем ввода…
exten => s,9,WaitExten(); В случае ввода 1234 отправим на заданное устройство SNMP Set
exten => 1234,1,System(/usr/bin/snmpset -v 1 -c ping28 192.168.0.28 .1.3.6.1.4.1.25728.5800.3.1.3.2 i 1); Пауза в 5 сек и следующая команда SNMP Set
exten => 1234,2,Wait(5)
exten => 1234,3,System(/usr/bin/snmpset -v 1 -c ping28 192.168.0.28 .1.3.6.1.4.1.25728.5800.3.1.3.2 i 0); Поблагодарим и попрощаемся
exten => 1234,4,Playback(${home}/thankyou); В случае отсутствия ввода — напомним, что необходимо ввести — goto s,5
exten => t,1,Playback(${home}/you-can-press)
exten => t,2,Goto(s,5); В случае неверного ввода — сообщим об этом и Goto s,4
exten => i,1,Playback(${home}/invalid)
exten => i,2,Goto(s,4)
Подробнее формат команды команды snmpset смотрите в документации к Net-SNMP tools.
Русские звуковые уведомления можно скачать и установить по следующим ссылкам:
# mkdir -p /var/lib/asterisk/sounds/ru/
# wget q —no-check-certificate https://github.com/pbxware/asterisk-sounds/tarball/master -O \ | tar xzv —strip-components 1 -C /var/lib/asterisk/sounds/ru/
# wget q —no-check-certificate https://github.com/pbxware/asterisk-sounds-additional/tarball/master -O \ | tar xzv —strip-components 1 -C /var/lib/asterisk/sounds/ru/