Если у вас где-то в углу неприкаянно грустит телефон компании Polycom не спешите от него избавляться! Он еще сможет вам послужить. По крайней мере ковыряние с ним может доставить массу удовольствия. Все нижеописанное тестировалось на устаревшей модели Polycom SoundPoint IP 450(от 1500 рублей за БУ на ebay), но также подходит и для большинства более современных моделей т.к. все они работают под управлением одной и той-же операционной системы UC.
Да, именно так и вы не ослышались даже древний офисный телефон работает под управлением проприетарной ОС.
Итак, что-же полезного и интересного можно сделать с телефоном Polycom в домашних условиях:
-
Вывод полезной информации на экран телефона и использование внутреннего браузера
-
SIP телефония & Lync integration(Skype for Business) для SIP моделей
-
Интеграция с Google Chrome набор номера через расширение для google chrome
-
Кастомизация UI телефона
-
Интеграция с LDAP и AD и использование телефонных книг
Итак, обо все по прядку.
Встроенный браузер
Большинство моделей телефонов polycom оснащены тем или иным экранчиком, а прошивка поддерживает xhtml-браузер. У браузера есть 2 режима работы: idle отображается контент во время ожидания и active отображается контент во время использования телефона.
Телефон поддерживает только самые базовые html-теги, а также несколько собственных тегов для управления навигацией:
<html>
<head><meta http-equiv="Content-Type"
content="text/html; charset=utf-8"/></head>
<body>
<softkey index="1" label="Back" action="SoftKey:Back"
/>
<softkey index="2" label="Weather"
action="SoftKey:Fetch;http://raspberrypi:88" />
<softkey index="3" label="Refresh"
action="SoftKey:Refresh" />
<a
href="Tel://89264341830">Taxi</a>|
<a
href="Tel://89652991881">Суши</a>|
<a
href="Tel://84965246699">Пицца</a>|
<br/>
<a
href="Key:DoNotDisturb">DNDSettings</a>
</body>
</html>
Современные модели телефонов имеют расширенную поддержку HTML и даже умеют работать с Javascript. Используя встроенный браузер телефона довольно легко каcтомизировать UI/UX под свои предпочтения. В моем случае - это отображение прогноза погоды на основе Yandex Weather API и несколько статических страниц с наиболее часто используемыми телефонами.
Вместо погоды можно выводить последние новости, курсы валют, биржевые индексы и т.д. В моем случае страницы размещены на raspberry PI в домашней сети, но никто не мешает их разместить на любом бесплатном сервисе.
Самый простой способ настроить работу внутреннего браузера это зайти на внутренний сайт телефона (просто введите IP телефона и дефолтный пароль 456) и на вкладке Settings/Microbrowser вы найдете все необходимые настройки:
SIP
Если ваша модель поддерживает SIP протокол вам открывается масса интересных возможностей.
Большинство телефонов может поддерживает несколько линий. Если у вас мегафон, то на одну линию можно завести номер мобильного телефона, предварительно подключив бесплатную услугу мультифон и переадресацию звонков на телефон и SIP как описано здесь.
Используя тариф без абонентской связи вы получаете условно-бесплатный домашний телефон.
На второй линии у меня заведен мой личный номер мобильного телефона, который используется для исходящих звонков или для приема входящих звонков в случае проблем с сотовым покрытием. Ну а на третью линию можно подключить международного SIP провайдера и иметь за доллар или два номер в США или любой другой стране. Это позволит сэкономить колоссальные деньги на международных звонках. Настройку можно осуществить как через упоминаемый ранее внутренний сайт телефона, так и через прямое редактирование файла конфигурации телефона.
Чтобы выгрузить файл конфигурации зайдите в Utilities/Import-Export configuration в раздел Export.
Выгруженный файл конфигурации содержит все настройки телефона кроме паролей!
Информацию о содержимом файла конфигурации можно найти здесь.
В качестве альтернативы можно использовать свободную линию для подключение к Microsoft Lync серверу для интеграции со Skype For Business.
Интеграция с браузером Chrome
Пожалуй основной причиной по которой стационарные телефоны стоят без дела является их крайне неудобная интеграция с телефонными книгами, браузером и поисковиками. В рамках офиса есть возможность подключить к телефон к AD, но искать нужный контакт в телефоне это та еще боль.
Конечно для домашнего использования можно организовать LDAP интеграцию с Google contacts или же загрузить список контактов используя provisioning, но основную проблему с ужасным UX это не исправляет.
Для решения этой проблемы я сделал небольшое расширение для Google chrome, которое позволяет выделить номерна любой страничке и стартовать звонок со стационарного телефона.
Телефоны Polycom поддерживают, так называемые, интеграционные вызовы, когда отправив POST запрос извне на телефон можно заставить его выполнить то или иное действие: Позвонить на указанный номер, перейти в режим Не беспокоить, включить переадресацию, вывести сообщения на экран и т.д. и т.п.
К примеру такой запрос эмулирует нажатие кнопки Status на телефоне:
curl --digest -u Push:Push -d
"<PolycomIPPhone><Data
priority=\"All\">Key:Status</Data></PolycomIPPhone>"
--header "Content-Type: application/x-com-polycom-spipx" -v
http://192.168.0.226/push
А такой стартует звонок по указанному номеру на линии 1.:
curl --digest -u Push:Push -d
"<PolycomIPPhone><Data
priority=\"All\">tel:\\2222222;Line1
</Data></PolycomIPPhone>" --header "Content-Type:
application/x-com-polycom-spipx" -v
http://192.168.0.226/push
Соответственно все что требуется реализовать в расширении решить нетривиальный вопрос Digest аутентификации в JS, прочитать выделенный текст по вызову из контекстного меню и отправить Post запрос в телефон.
Предварительно необходимо разрешить интеграциионные вызовыв телефоне. Зайдите в раздел Settings/Applications/Push и выберите All в разделе Allow Push Message и не забудьте указать логин и пароль для авторизации вызовов. Без этого рабоать не будет.
В работе это примерно так:
Исходники расширения здесь а само раширение ищите в Google Chrome Extension Store.
Настройка UI телефона
UI Телефона поддается некоторой кастомизации. Кроме замены фона(на ЧБ экране это все равно выглядит ужасно) и отображения web- страниц во встроенном браузере -можно переназначать действие кнопок навигации, предварительно разрешив их переопределение с помощью этих ключей в конфигурации телефона.
feature.enhancedFeatureKeys.enabled="1"
feature.EFKLineKey.enabled="1"
Несколько примеров подобного переопределения:
Открытие странички с погодой во внутреннем браузере телефона:
softkey.1.action="http://personeltest.ru/away/192.168.0.228:88"
softkey.1.enable="1"
softkey.1.label="Инфо"
softkey.1.use.idle="1"
Переход в режим DoNotDesturb
softkey.1.action="Key:DoNotDisturb"
softkey.1.enable="1"
softkey.1.label="DnD"
softkey.1.use.idle="1"
Вызов 1-го контакта из списка быстрого набора
softkey.3.action="$S1$"
softkey.3.enable="1"
softkey.3.label="Такси"
softkey.3.use.idle="1"
Более подробную информацию о переназначении софтверных кнопок можно подчерпнуть здесь.
Телефон также поддерживает т.н. push сообщения, когда он сбрасывает на указанный адрес сообщения для выбранных событий, но практического применения данной функциональности в домашних условиях я не нашёл.