Дмитрий Рашевский
23.04.2020
3018

Использование FreePBX QR Code для быстрой настройки софтфона Gs Wave

Введение Библиотека phpqrcode и генерации qr кода с настройками Использование bash скрипта для создания qr и отправки изображения на почту Проверка конфигурации Введение Иногда при настройке софтфонов возникает ряд проблем. В частности это заполнение регистрационных данных. Порой на это уходят целые минуты. Особенно это с вводом паролей внутренних номеров. Есть ряд софтфонов. Который поддерживает конфигурирование […]

  1. Введение
  2. Библиотека phpqrcode и генерации qr кода с настройками
  3. Использование bash скрипта для создания qr и отправки изображения на почту
  4. Проверка конфигурации

Введение

Иногда при настройке софтфонов возникает ряд проблем. В частности это заполнение регистрационных данных. Порой на это уходят целые минуты. Особенно это с вводом паролей внутренних номеров. Есть ряд софтфонов. Который поддерживает конфигурирование путем автопровижининга. Но есть уникальный софтфон на Android — GS Wave. Его описание и настройку можете найти в нашей статье.

В данной статье будет рассмотрено. Как с помощью QR кода быстро настроить данный софтфон. А также в целях безопасности, данные с QR кодами отправлялись на какую-то указанную почту.

Библиотека phpqrcode и генерации qr кода с настройками

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

Библиотеку можно получить с qithub по следующей ссылке. Этот проект был разработан Человеком с ником xrobau. И у него была такая же идея. Пришлось немного переработать его готовый скрипт. А также добавить небольшие новшества.

Перейдем в директорию, где у нас лежат исходники

# cd /usr/src/

Итак, скачаем к нам на АТС данный продукт, для этого воспользуемся командой wget

# git clone https://github.com/xrobau/freepbx-qr.git

После распаковки появится директория freepbx-qr. Переходим в нее. В ней находится библиотека для генерации qr кодов phpqrcode и файл с примером.

В этой библиотеке нас интересует класс QRCode и его метод png

Метод QRCode::png принимает несколько входящих данных:

$text — передается строка, которую необходимо сконвертировать в QR изображение

$outfile — указывается директория куда будет сохраняться файл изображения по умолчанию стоит в значении false

Если не указать значение outfile, то при выполнении скрипта будет выдаваться непонятный набор (содержимое png файла) символов см. рисунок ниже
Ошибка использования QRCode
Ошибка использования QRCode

$size —  указывается размер изображения

$margin — обозначаются отступы

Теперь будем менять немногие данные в скрипте gencode.php. Итак, учитывая что мы будем использовать bash скрипт для генерации, то стандартный код переделаем

1. Т.к. данный скрипт использовался в web разработке. то удалим имеющуюся запись

if (isset($_REQUEST[‘ext’])) {

$ext = $_REQUEST[‘ext’];

} else {

$ext = 300;

}

и заменим на следующий

if (isset($argv[1])) {

            $ext = $argv[1];

} else {

            echo “Укажите внутренний номер”;

}

2. Так же этот скрипт писался для Freepbx старой версии, поэтому в составлении xml структуры для freepbx 13 версии и выше указана ошибка. необходимо заменить

$user[‘description’]

на

$user[‘name’]

3. И в вызове класса для генерации QR кода QRcode::png($xml) допишем второй параметр $outfile. В текущем примере — это ‘/var/tmp/’.$ext.’.png’

Не забываем в php скрипте надо поменять адрес сервера. т.к. по умолчанию использован пример. В моем случае это 192.168.22.252

$asteriskip = «192.168.22.252»;

Сохраняем изменения. Далее этот файл будет использоваться в нашем bash скрипте.

Использование bash для создания qr и отправки изображения на почту

Итак, мы перешли к созданию баш скрипта. Разместим его в директории /usr/bin/

создадим текстовый файл любым редактором и назовем файл genqr.sh. И начнем его заполнять содержимым:

  1. Учитывая что мы будем передавать скрипту два параметра, это внутренний номер и почту для отправки, то объявим в нем переменные

ext = $1

mail = $2

  1. Вторым пунктом будет выполнение генерации QR кода, для этого укажем исполнение исправленного ранее php скрипта.

/usr/bin/php -f /usr/src/freepbx-qr/gencode.php

  1. Далее наш скрипт должен отправлять получившееся изображение на почту для этого воспользуемся встроенной командой mail

echo «Настройки для номера $ext» | mail -s «QRcode» $mail -A /var/tmp/$ext.png

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

rm -rf /var/tmp/$ext.png

Итак, файл готов, сохраняем внесенные изменения и не забываем указать права на этот файл.

# chmod +x /usr/bin/genqr.sh

Запускаем и проверяем.

Проверка конфигурации

Для проверки необходимо открыть полученное письмо и открыть вложенный файл

Сгенерированный QR код
Сгенерированный QR код

Проверим ридером QR кодов, что здесь все в порядке

Проверка QR кода ридером
Проверка QR кода ридером

Из примера видно, что код сгенерировался верно. Поэтому далее переходим в приложение GS wave и добавляем аккаунт Настройки -> Параметры Аккаунта.

В правом верхнем углу экрана нажимаем + и выбираем UCM (скан QR-кода)

Добавление нового аккаунта в GS Wave
Добавление нового аккаунта в GS Wave
Добавление настроек UCM

отсканировав этот код, получаем настройки Внутреннего номера для софтфона.

Листинг bash скрипта


#!/bin/bash

ext = $1

mail = $2

/usr/bin/php -f /usr/src/freepbx-qr/gencode.php echo «Настройки для номера $ext» | mail -s «QRcode» $mail -A /var/tmp/$ext.png rm -rf /var/tmp/$ext.png  

Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии

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

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

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

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

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

ONLINE

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 сим-карты и настроить маршрутизацию вызовов по наиболее выгодному тарифу. Всё это позволяет экономить с первых минут пользования станцией.