artem
26.12.2018
148

Включение компьютера по звонку. Проверка состояния.

Вы используете у себя в компании телефонию на базе Asterisk и у вас есть рабочий компьютер расположенный в офисе или компьютер дома. Иногда возникает необходимость подключиться к своему компьютеру удаленно. Многие используют RDP подключение или настроены еще какие-то службы удаленного доступа. Но что если при необходимости подключиться окажется что он выключен?

Для решения этой проблемы есть технология под названием Wake-on-lan (WOL), позволяющая удалённо включить компьютер посредством отправки через локальную сеть специальной последовательности байтов — пакета данных (так называемого magic packet — «волшебного пакета»).

Компьютер “ожидающий” включения выдаёт питание на сетевой адаптер. Сетевой адаптер находится в режиме пониженного энергопотребления, просматривая все пакеты, приходящие на его MAC-адрес, и ничего не отвечая на них. Если в одном из пакетов окажется специальная последовательность байтов, сетевой адаптер выдаст сигнал на включение питания компьютера.

Эту технологию должны поддерживать материнская плата и сетевой адаптер компьютера.

Используя эту технологию совместно с АТС Asterisk можно реализовать включение компьютера по звонку.

В первую очередь необходимо произвести настройку самого компьютера. Если вы используете операционную систему Windows, пример настройки можно посмотреть по этой ссылке.

Для отправки «магического пакета» со стороны АТС мы будем использовать утилиту Wol.

Произведем ее установку (мы используем операционную систему Centos):

# yum install wol –y

Установка утилиты Wol

Если вы используете «голую» операционную систему, в этом случае у вас будет отсутствовать репозиторий и утилита у вас не установится.
В этом случае установите репозиторий следующей командой:
# yum install –y  https://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
Только после этого выполните команду установки утилиты.

Пакет не найден

Успешная установка репозитория
Проверим пробуждение компьютера с консоли АТС выполнив команду:

# wol –host <ip компьютера> <mac компьютера>

Включение компьютера

Если ваш компьютер находится в той же локальной сети, в таком случае директиву –host можно опустить.

Возможные проблемы и их решения.

Если после некоторого времени простоя вы попытаетесь «разбудить» телефон, а он не включается, то возможная причина в роутере.  Дело в том, что у вас скорее всего настроены динамические ARP записи и после выключения компьютера через некоторое время они удаляются. Роутер не знает куда ему послать пакет. Для решения этой проблемы сделайте запись статической.

К примеру в роутерах Mikrotik это можно проверить через winbox. Зайдите ip -> ARP.

Если напротив ip адреса компьютера вы увидите буквы «DC», значит у вас запись динамическая.

Динамическая ARP запись

Для того, чтобы сделать запись статической щелкните по ip адресу 2 и нажмите кнопку «Make static»

Делаем ARP запись статической

Напротив ip адреса появится буква «С» – ваша запись статическая. После выключения компьютера она удаляться не будет.

Запись статическая

Также можно проверить проходят ли запросы через Mikrotik. Переходим в tools -> torch. Выбираем сетевой интерфейс АТС и вводим Src. Address. После этого нажимаем старт и посылаем запрос. На вкладке увидим прохождение пакетов.

Просмотр прохождения трафика через роутер.

Если трафик не пошел – проверьте Firewall.

По умолчанию утилита шлет пакеты на порт 40000.

Для включения компьютера по звонку напишем диалплан:

exten => 100,1,Authenticate(0000) – авторизация по паролю
same => n,PlayBack(pin-number-accepted) – воспроизводим сообщение об удачной авторизации
same => n,System(wol –host 192.168.77.248 4C:72:B9:3F:13:5A) – отправка пакета на включение
same => n,NoOp(${SYSTEMSTATUS}) – вывод статуса запроса в консоль
;same => n,Playback(finish) – сообщение о завершении выполнения диалплана
same => n, Macro(hangupcall,) – разъединение

Следующим диалпланом проверим включился ли компьютер или нет:

exten => 150,1,Authenticate(0001)  – запрос авторизации
same => n,PlayBack(pin-number-accepted) – сообщение об удачной авторизации
same => n,Set(ping=${SHELL(ping -c 1 192.168.77.248)}) – посылка icmp запроса
same => n,Gotoif($[${REGEX(“.*100% packet loss.*” “${ping}”)}]?power-on:power-off) – проверка полученного результата с помощью регулярного выражения
same => n(power-on),Playback(power-on) – сообщение о том, что компьютер включен
same => n,Goto(exit) – разъединение
same => n(power-off),PlayBack(power-off) – сообщение о том, что компьютер выключен
same => n(exit),Macro(hangupcall,) – разъединение

Диалплан в Asterisk

Если во время тестирования окажется, что компьютер включен, а система говорит об обратном – проверьте антивирус. Вероятнее всего он блокирует icmp запросы.

 
avatar
  Подписаться  
Уведомление о

Остались вопросы?

Я - Компаниец Никита, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.

VoIP оборудование

ближайшие курсы

ближайшие Вебинары

ONLINE

Why Choose HUGE?

Unlimited pre-designed elements

Each and every design element is designed for retina ready display on all kind of devices

User friendly interface and design

Each and every design element is designed for retina ready display on all kind of devices

100% editable layered PSD files

Each and every design element is designed for retina ready display on all kind of devices

Created using shape layers

Each and every design element is designed for retina ready display on all kind of devices