Александр Мутовин
26.12.2018
20564

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

Вы используете у себя в компании телефонию на базе 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 запросы.

Книга 101 функция Asterisk
Познакомьтесь с возможностями Asterisk. Найдите инструменты, которые помогут вашей компании развиваться.
Скачать книгу
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии

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

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

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


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

10 доводов в пользу Asterisk

Распространяется бесплатно.

Asterisk – программное обеспечение с открытым исходным кодом, распространяется по лицензии GPL. Следовательно, установив один раз Asterisk вам не придется дополнительно платить за новых абонентов, подключение новых транков, расширение функционала и прочие лицензии. Это приближает стоимость владения станцией к нулю.

Безопасен в использовании.

Любое программное обеспечение может стать объектом интереса злоумышленников, в том числе телефонная станция. Однако, сам Asterisk, а также операционная система, на которой он работает, дают множество инструментов защиты от любых атак. При грамотной настройке безопасности у злоумышленников нет никаких шансов попасть на станцию.

Надежен в эксплуатации.

Время работы серверов некоторых наших клиентов исчисляется годами. Это значит, что Asterisk работает несколько лет, ему не требуются никакие перезагрузки или принудительные отключения. А еще это говорит о том, что в районе отличная ситуация с электроэнергией, но это уже не заслуга Asterisk.

Гибкий в настройке.

Зачастую возможности Asterisk ограничивает только фантазия пользователя. Ни один конструктор шаблонов не сравнится с Asterisk по гибкости настройки. Это позволяет решать с помощью Asterisk любые бизнес задачи, даже те, в которых выбор в его пользу не кажется изначально очевидным.

Имеет огромный функционал.

Во многом именно Asterisk показал какой должна быть современная телефонная станция. За многие годы развития функциональность Asterisk расширилась, а все основные возможности по-прежнему доступны бесплатно сразу после установки.

Интегрируется с любыми системами.

То, что Asterisk не умеет сам, он позволяет реализовать за счет интеграции. Это могут быть интеграции с коммерческими телефонными станциями, CRM, ERP системами, биллингом, сервисами колл-трекинга, колл-бэка и модулями статистики и аналитики.

Позволяет телефонизировать офис за считанные часы.

В нашей практике были проекты, реализованные за один рабочий день. Это значит, что утром к нам обращался клиент, а уже через несколько часов он пользовался новой IP-АТС. Безусловно, такая скорость редкость, ведь АТС – инструмент зарабатывания денег для многих компаний и спешка во внедрении не уместна. Но в случае острой необходимости Asterisk готов к быстрому старту.

Отличная масштабируемость.

Очень утомительно постоянно возвращаться к одному и тому же вопросу. Такое часто бывает в случае некачественного исполнения работ или выбора заведомо неподходящего бизнес-решения. С Asterisk точно не будет такой проблемы! Телефонная станция, построенная на Asterisk может быть масштабируема до немыслимых размеров. Главное – правильно подобрать оборудование.

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

Asterisk дает не просто набор полезных функций, он повышает управляемость организации, качества и комфортности управления, а также увеличивает прозрачность бизнеса для руководства. Достичь этого можно, например, за счет автоматизации отчетов, подключения бота в Telegram, санкционированного доступа к станции из любой точки мира.

Снижает расходы на связь.

Связь между внутренними абонентами IP-АТС бесплатна всегда, независимо от их географического расположения. Также к Asterisk можно подключить любых операторов телефонии, в том числе GSM сим-карты и настроить маршрутизацию вызовов по наиболее выгодному тарифу. Всё это позволяет экономить с первых минут пользования станцией.