Замена Url-Адреса Действия И Uri В Sip-Телефонах Или Управление Через Веб-Сокеты?

SIP-телефоны.

Компьютеры с телефонной трубкой.

Теоретически с ними можно многое сделать, но используются они только для звонков :-) Я недавно был на конференции AsterConf, и там производители рассказывали о своих телефонах, не будем никого выделять, они все хорошие, кто-то лучше, кто-то дешевле, по сути они делают одно и то же.

Некоторые производители улучшают качество звука, некоторые добавляют Android-планшет, некоторые пытаются добавить какие-то приложения.

И все для того, чтобы мы установили эти телефоны на свои рабочие столы.

И, возможно, телефоны — хорошие кандидаты на роль пульта дистанционного управления в мире IoT: нажмите кнопку и получите результат. И, по моему скромному мнению, не хватает простого способа подключения телефонов к вашему менеджеру.

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

Поделитесь, пожалуйста, в комментариях, что нечто подобное, возможно, где-то уже реализовано, или добавьте свои предложения и мысли.

Телефоны имеют интерфейсы Action URL и Action URI. URL-адрес действия позволяет нам отправлять различные события на любой URL. В URL мы можем указать предустановленные переменные, которые при вызове будут заполняться реальными данными.

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



Замена URL-адреса действия и URI в SIP-телефонах или управление через веб-сокеты?

онлайн-конструктор URL-адресов действий для Yealink URI действия позволяет нам получать команды на IP-адрес телефона и телефон может совершать звонки, отвечать на звонки по команде, увеличивать громкость, перезагружаться и т. д. На видео ниже вы можете увидеть, как все это происходит. Мы должны указать адрес, с которого будут приходить команды.



Замена URL-адреса действия и URI в SIP-телефонах или управление через веб-сокеты?

Все настроено, в чем проблема, бро? Это вполне функциональные интерфейсы, но.

их достаточно сложно интегрировать.

Те.

нам нужно выполнить 100 500 действий, чтобы это сработало.

Либо заполняйте 100 полей в настройках устройства (сами можете убедиться на скриншоте), либо заморачивайтесь с инициализацией и прописывайте какие-то шаблоны конфигурации.

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

И ничего страшного, если вы справитесь с одним, но у вас их пять, десять или сотня, причем пара производителей и тоже модели разных поколений.

Фу-пуф-пуф.

Это проблема? Нужно ли кому-то управлять телефоном абонента? Самому абоненту? Со своего компьютера, ноутбука или смартфона? Техническая поддержка? И внутренний, и внешний, например провайдер виртуальной АТС? Нужен ли мне доступ к телефону, кроме SIP? Интегрируйте свой телефон с приложениями, минуя IP-АТС? Не могу ответить однозначно, есть плюсы и минусы.

И чтобы реализовать преимущества, мне бы хотелось иметь возможность быстро подключать Action URL и Action URI к моему «Менеджеру».

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

Давайте посмотрим на схему.



Замена URL-адреса действия и URI в SIP-телефонах или управление через веб-сокеты?

Представьте, что у нас на телефоне есть клиент веб-сокетов.

Дальше нам нужно лишь указать сетевой адрес «Менеджера» в нашем телефоне и наш телефон подключится к нему.

При подключении телефон отправит свой идентификатор, имя и Mac. Это позволит нам сравнить его, например, с нашим списком абонентов АТС.

Тогда мы будем подписываться на события, которые происходят на телефоне.

Их довольно много, это перерегистрации, ответ на звонки, нажатие кнопок и т.д. Далее мы можем набрать номер у нашего Менеджера, отправив команду.

Либо установите DND, либо удалите DND. Затем я отправляю уведомление или напоминание на телефон и устанавливаю новый логотип.

А как насчет безопасности? В целом SIP-телефоны могут работать за NAT и не требуют внешнего адреса.

А вот если вы выставите порт веб-сервера телефона в сеть Action URI (где, кстати, тоже работает админка), ждите неприятных сюрпризов.

А вот если телефон подключается к «Менеджеру» через вебсокеты, то это его инициатива и его право, он может отключиться, а если подключиться к удаленному серверу за счет NAT, то это будет похоже на подключение через браузер.

Хватит слов, перейдем к делу.

Я написал небольшой телефонный клиент (по моей задумке он должен быть в телефоне), который подключается к серверу через вебсокет. К этому серверу также подключен браузер, который может принимать сообщения с телефона и отправлять туда команды.

Клиент — это просто оболочка для URL-адреса действия и URI действия, который работает с телефоном, используя его обычные интерфейсы, и упаковывает все данные в веб-сокет. Мы используем веб-сокеты для отправки обычных сообщений JSON, с которыми может работать любой веб-разработчик.

Посмотрите видео, это довольно просто.

Весь код довольно минимален, просто чтобы продемонстрировать концепцию.

Что происходит на видео?

  1. запускаем сервер, принимающий соединения через вебсокеты,
  2. запустить клиент (который работает через URL-адрес действия и URI с телефоном)
  3. клиент подключается к серверу
  4. запускаем веб-сервер (со страницей с кодом для подключения из браузера через вебсокеты)
  5. откройте страницу в браузере, страница подключается к серверу
  6. Отправляем запрос информации со страницы
  7. запрос проходит всю цепочку к телефону и возвращается информация о телефонных линиях
  8. мы также можем отправлять разные команды
  9. включая команду позвонить
  10. а затем команда повесить трубку
  11. все данные видны в логе на странице, а также в консоли работающего сервера и клиента телефона
  12. тогда вы сможете увидеть, как телефон реагирует на команды со страницы
Таким образом, для подключения телефона к Менеджеру требуется всего один адрес.

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

В моем случае к Менеджеру подключена просто страница.

В целом это может быть более сложная система, которая будет обрабатывать команды и отправлять сообщения на телефон.

Простой способ подключения может быть удобным и, следовательно, более простым в освоении.

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

В общем, это всего лишь мои мысли после просмотра новинок на Asterconf. Буду рад увидеть плюсы и минусы в комментариях.

И возможно кто-то из производителей увидит в этом рациональное зерно и внедрит особенность :-) Проект на GitHub Теги: #Интернет вещей #мессенджеры #Разработка систем связи #node.js #websockets #asterisk #sip #voip phone

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.