Русский
Русский
English
Статистика
Реклама

Sip

Raspberry Pi, небольшой помощник в удаленной работе (два варианта дистанционного включения ПК)

21.03.2021 10:06:16 | Автор: admin

В связи с переходом на частично удаленную работу у меня появилась потребность дистанционного включения рабочего (домашнего) компьютера с программой удаленного управления, из-за пределов локальной сети.
Реализацию осуществил двумя способами: первый с помощью SIP сервера FreeSWITCH, посредством телефонного соединения через IVR меню; второй способ с помощью системы домашней автоматизации ("Умный Дом") MajorDoMo.
Устройство, выполняющее отправку магического пакета - мини компьютер Rasberry Pi Model 3B, в первом случаю выполняет роль IP АТС, во втором сервер Умного Дома.
Первоначальная идея была создание возможности удаленного управления элементами "Умного Дома" при отсутствии (блокировки, нестабильной связи и т.д.) сети Internet или отдельных сервисов. Однако для написания статьи я выбрал наиболее актуальное (для меня) применение. Итак, основная задача: набрав с телефона номер своего Умного дома и введя подтверждение, дистанционно включить свой ПК.

Wake-On-LAN (иногда сокращенно WoL) является стандартным протоколом для пробуждения компьютеров дистанционно. ПК должен быть подключен физически и к электричеству и к роутеру с помощью проводного (иногда Wi-Fi) соединения. Включение Wake-On-LAN зависит от двух вещей: материнской платы и сетевой карты. Материнская плата должна быть подключена к ATX-совместимому блоку питания, на данный момент среди ПК таких большинство. Сетевая карта или беспроводная карта также должны поддерживать эту функцию.
Технология WoL позволяет удалённо включить компьютер посредством отправки через локальную сетьспециальной последовательности байтов пакета данных(так называемогоmagic packet волшебного пакета).

Подготовительная часть:

Настраиваем свой ПК для работы с magic packet: в БИОСе и настройках сетевой карты. Настройку я подробно описывать не буду, довольно много статей и инструкций есть в сети на эту тему, к тому же наименование функции меняются в зависимости от производителя материнской платы. Если коротко, то в BIOS включение функции обычно находится в Power Management Setup, или ACPI Configuration. Требуется активировать опцию Wake-Up by PCI devices (или Wake-on-LAN, Power on by Ethernet Card, Power by PCI и т.д.) для встроенной в материнскую плату сетевой карты.

В настройках Windows включение требуется активировать в двух местах: Диспетчер Устройств Сетевые адаптеры Свойства:

Управление электропитанием: опция Разрешить этому устройству пробуждать компьютер и опцию пробуждения ПК с помощью магического пакета и дополнительно (у меня), включение по локальной сети после отключения;

Узнаем MAC адрес ПК. В случае с ОС Windows. В командной строке набираем ipconfig/all и ищем физический адрес сетевого адаптера.

У меня: Физический адрес. . . . . . . . . : 38-05-47-78-3B-35
Проверим включение через локальную сеть. Подключаемся к Raspberry Pi с помощью SSH клиента.

Для того, что бы наш Raspberry Pi мог отправлять магический пакет по сети устанавливаем пакет etherwake:

sudo apt-get install etherwake

Если БИОС и ОС настроены правильно, то после установки пакета Etherwake, удаленно включить ПК можно задав следующую команду на RPi :

sudo etherwake 38:05:47:78:3B:35

Где 38:05:47:78:3B:35MAC адрес удаленного ПК, который мы недавно узнали, для каждого компьютера он будет свой. Утилита Etherwake работает только от пользователя sudo. Создадим скрипт сделаем его исполняемым и проверим отработку включения ПК этим скриптом:

nano /home/pi/wakeup.shsudo chmod +x /home/pi/wakeup.shsudo /home/pi/wakeup.sh
Содержимое файла скрипта:
#! /bin/bashsudo etherwake 38:05:47:78:3B:35

Способ 1. Удаленное включение ПК через телефонную сеть

В этой части установим, произведём минимальную первоначальную настройку SIP сервера FreesWITCH на Raspberry Pi и дистанционное включение ПК (возможность управления элементами Умного Дома) через телефонные сети.

В качестве устройства подключения к телефонным сетям я использовал VoIP-GSM шлюзс поддержкой 1 GSM линии Yeastar TG100.

Установка Freeswitch:

Устанавливаем freeswitch из пакетов на официальном сайте есть рабочая инструкция поустановке для Raspberry Pi :
Приведу свои действия:
Входим под пользователем sudo и выполняем следующие команды:

sudo -iapt-get update && apt-get install -y gnupg2 wget lsb-releasewget -O - https://files.freeswitch.org/repo/deb/rpi/debian-release/freeswitch_archive_g0.pub | apt-key add -echo "deb http://files.freeswitch.org/repo/deb/rpi/debian-release/ `lsb_release -sc` main" > /etc/apt/sources.list.d/freeswitch.listecho "deb-src http://files.freeswitch.org/repo/deb/rpi/debian-release/ `lsb_release -sc` main" >> /etc/apt/sources.list.d/freeswitch.listapt-get update && apt-get install -y freeswitch-meta-all

Установка длится около получаса. По окончании перегрузим малинку. Для проверки работоспособности можем войти в консоль freeswitch (выход из консоли quit или же CTRL+D):

sudo fs_cli

Первоначальная настройка FreeSWITCH

После установки FreeSWITCH почти готов к работе, в нём по умолчанию есть 20 абонентов с номерами 1000-1019. Пароль по умолчанию для абонентов VoIP указан в файле /usr/local/freeswitch/conf/vars.xml и равен 1234.
В директории /usr/local/freeswitch/conf/derectory/default находятся 20 xml файлов, каждый из которых отвечает за абонента с соответствующим номером. Можем добавлять абонентов копированием файлов с подстановкой данных.

Из коробки freeswitch частично работоспособен, имеет довольно обширный диалплан.

Зарегистрировав VoIP телефон (софтфон) можем попробовать произвести несколько тестовых звонков: набрав номер 500 попадаем в демо IVR меню Freeswitch на английском языке. Позвонив на номер 779 используется расширение eavesdrop: после набора номера идёт автоматический ответ на SIP сервере и посылка звонящему звуковых тональных сигналов. Эти два направления и будем использовать в дальнейшем.Небольшое замечание при полностью дефолтном пароле при наборе номера идёт задержка 10 секунд.
Отредактируем файлы конфигурации: сменим дефолтный пароль, изменим язык голосовых сообщений на русский, так же поменяем профиль с external на internal.

 sudo nano /etc/freeswitch/vars.xml
Измененные строки файла vars.xml
<X-PRE-PROCESS cmd="set" data="default_password=1111"/><X-PRE-PROCESS cmd="set" data="sound_prefix=$${sounds_dir}/ru/RU/vika"/><X-PRE-PROCESS cmd="set" data="use_profile=internal"/><X-PRE-PROCESS cmd="set" data="default_country=RU"/>

Так же исправим одну строчку с указанием неправильной директории звуковых файлов в файле: etc/freeswitch/lang/ru/ru.xml приводя строку к виду

<language name="ru" sound-prefix="$${sounds_dir}/ru/RU/vika" tts-engine="cepstral" tts-voice="elena">

Перегружаем сип сервер (можно в консоли fs_cli набрать reloadxml), снова подключаемся sip клиентом, изменив пароль. Набираем номер 500 и уже слышим приветствие FreeSWITCH в IVR меню уже на русском языке. Можно собрать из существующих при установке звуковых файлов FreeSWITCH нужную вам фразу, можно использовать заранее записанный *.wav файл, указав полный путь, в файле /etc/freeswitch/ivr_menus/demo_ivr.xml.

Перейдём к диалплану (номерной план, dialplan) формальное описание схемы маршрутизации и обработки телефонных звонков. Номерной план подробно описывает, что система должна делать со входящими и исходящими звонками: передавать их дальше, сохранять, отвечать на них самостоятельно и так далее. Основные настройки по умолчанию находятся в файле /etc/freeswitch/dialplan/default.xml

Отредактируем его, найдём строчку с номером 779 и добавляем всего одну строчку в секции eavesdrop с номером 779.<action application="system" data="/home/pi/wakeup.sh "/>, которая и запустит ранее сделанный скрипт с посылкой магического пакета.
Номер (направление) я тоже решил поменять на 7777, можно указать любой, в качестве своего ПИН-кода. В итоге секция у меня приняла такой вид:

Секция eavesdrop файла /etc/freeswitch/dialplan/default.xml
<extension name="eavesdrop">      <condition field="destination_number" expression="^7777$"><action application="answer"/><action application="system" data="/home/pi/wakeup.sh "/><action application="set" data="eavesdrop_indicate_failed=tone_stream://%(500, 0, 320)"/><action application="set" data="eavesdrop_indicate_new=tone_stream://%(500, 0, 620)"/><action application="set" data="eavesdrop_indicate_idle=tone_stream://%(250, 0, 920)"/><action application="eavesdrop" data="all"/>      </condition>    </extension>

Сейчас при наборе номера 7777 идёт автоматический ответ, запуск скрипта, и посылка тоновых сигналов.

Небольшое примечание: как вы помните утилита etherwake запускается с правами суперпользователя. При установке SIP сервера у нас создается новый простой пользователь freeswitch, не имеющий пароля. Нужно разрешить ему запускать скрипт от Sudo, с посылкой магического пакета. Есть два варианта: первый разрешаем ему выполнять любые действия без ввода пароля от sudo, второй вариант в sudoers разрешаем запускать без пароля только определённые программы (в данном случае скрипта).

Я применил первый вариант, для этого создаем группу для пользователей, которые будут использовать sudo без ввода пароля, добавляем пользователя freeswitch к этой группе:

sudo groupadd sudosudo usermod -a -G sudo freeswitchsudo nano /etc/sudoers.d/freeswitch-nopasswd

Создаём ещё один файл. Содержимое файла всего одна строчка:

freeswitch ALL=(ALL) NOPASSWD: ALL

Изменим немного демонстрационное голосовое меню (IVR), установленное по умолчанию:

sudo nano /etc/freeswitch/ivr_menus/demo_ivr.xml

Добавим всего одну строку с регулярным выражением, после строки с трансфером добавочного номера (цифры номерного плана 1000-1019) в XML features передадим набранный номер 7777, с командой на выполнение скрипта, в дефолтное направление:

<entry action="menu-exec-app" digits="/^(10[01][0-9])$/" param="transfer $1 XML features"/> <entry action="menu-exec-app" digits="/^(7777)$/" param="transfer 7777 XML default"/>

Сейчас, в локальной сети, набрав номер 5000 попадаем в IVR меню и далее набрав наш номер 7777 (ПИН-код), отрабатывает скрипт и в качестве ответа слышим тоновые посылки.

Настроим выход SIP сервера во внешнюю сеть. Для этого перейдем к небольшой настройке VoIP шлюза. Зайдя в интерфейс GSM шлюза (по умолчанию: адрес 192.168.5.150 логин admin и паролем password). Изменим IP адрес, можем поменять имя пользователя и пароль на подключение к шлюзу.

По умолчанию у нас имеется 2 Sip аккаунта. Для примера буду использовать один из них с именем 20001 и паролем на подключение pincode20001.

Перейдём опять к настройке FreesWITCH. Отредактируем профиль internal, в файле /etc/freeswitch/sip_profiles/internal.xml. В секции gateways добавим возможность чтения xml файлов из директории internal и принудительно выставим параметры ext-rtp-ip и ext-sip-ip указав в них IP адрес нашего SIP сервера (малинки). Без этих указания этих параметров профиль internal у меня подымался на некорректном IP адресе и соответственно не работал.

sudo nano /etc/freeswitch/sip_profiles/internal.xml
Изменения в файле профиля internal.xml
<gateways><X-PRE-PROCESS cmd="include" data="internal/*.xml"/>  </gateways>...   <param name="ext-rtp-ip" value="192.168.1.101"/>    <param name="ext-sip-ip" value="192.168.1.101"/>

Создадим директорию для xml файлов шлюза и файл с настройками подключения к GSM шлюзу:

sudo -u freeswitch mkdir /etc/freeswitch/sip_profiles/internalfreeswitch nano /etc/freeswitch/sip_profiles/internal/GSM.xml
Содержимое файла /etc/freeswitch/sip_profiles/internal/GSM.xml
<include> <gateway name="GSM"><param name="username" value="20001" /><param name="password" value="pincode20002" /><param name="proxy" value="192.168.1.101" /><param name="from-domain" value="192.168.1.101"/> <param name="ignore_early_media" value="true"/> <param name="expire-seconds" value="600" /> <param name="register" value="true" /> <param name="register-transport" value="udp" /><param name="retry-seconds" value="60" /> <param name="context" value="default" /><param  name="caller-id-in-from" value="true"/>        </gateway> </include>

Перегружаем freeswitch: sudo systemctl restart freeswitch.service. Заходим в консоль freeswitch и проверяем состояние профилей FS, задав команду sofia status

Как видим появился дополнительный профиль GSM, с состоянием REGED (зарегистрирован), профили internal и internal.gsm подняты на правильном интерфейсе, профиль external на неверном, можем отредактировать его в соответствующем файле.

Создадим файл, который отвечают за входящую GSM шлюза с freeswitch сервером. В файле from_GSM.xml все входящие звонки, поступающие от 20001 запускают IVR меню. Набрав свой ПИН-код запускается скрипт, в котором мы ранее прописали запуск ПК. Ну а далее, помощью программы удаленyого доступа можно соединится с компьютером с любого места.

sudo -u freeswitch nano /etc/freeswitch/dialplan/default/from_GSM.xml
Содержимое файла from_GSM.xml
<include><extension name="call from GSM"><condition field="destination_number" expression="^20001$"> <action application="answer"/> <action application="sleep" data="800"/><action application="set" data="transfer_ringback=$${ru-ring}"/> <action application="ivr" data="demo_ivr"/> <action application="hangup"/>    </condition></extension></include>

Перегружаем сервер IP телефонии и проверяем уже через сеть мобильного оператора. Если всё сделано правильно, то можно включать ПК из любого места набрав номер GSM шлюза.
Так же можно и продублировать любую команду управления "Умным домом", не зависимо от наличия интернета или удаленного доступа к системе домашней автоматизации.

Способ второй, удаленное включение ПК с помощью системы домашней автоматизации MajorDoMo

Этот способ гораздо проще, рассмотрим его на примере Raspberry Pi с установленной системой УД MajorDoMo с базового образа. Первым делом после установки обновляем систему MajorDoMo.

Переходим в Панель Управления - Система - Маркет дополнений. В разделе Оборудование находим модуль WoL и добавляем его в нашу систему домашней автоматизации.

В пункте Меню - Устройства, добавился Раздел WakeOnLan, перейдём к нему и запустим сканер обнаружения:

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

Дальше создаём вначале сценарий, затем элемент управления.
В поле код я прописал следующее:

include_once(DIR_MODULES . 'wol/wol.class.php');$wake = new wol();$wake->WakeOnLan('192.168.1.255','38:D5:47:78:3B:35');

В меню Объекты панели управления добавляем новый раздел, используя недавно созданный сценарий:

В итоге в меню Сервис на главной странице нашей домашней системы автоматизации получаем новый элемент (кнопку) WoL PC, нажав которую запускаем включение ПК.

Организовать доступ к своей системе домашней автоматизации MajorDoMo можно разными способами. Наиболее быстрый и простой - использование сервиса CONNECT и мобильного приложения MajorDroid от создателей системы MajorDoMo.

Можно использовать или первый или второй способ, а можно и продублировать выполнение любой команды системы домашней автоматизации MajorDoMo через SIP сервер FreeSWITCH.

Подробнее..

Сделай сам или как кастомизировать телефон Snom. Часть 1 цвета, шрифт, фон

23.06.2020 18:09:52 | Автор: admin
Многим из нас очень нравится, когда какая-либо вещь сделана под нас! Когда мы ощущаем некий уровень собственности, который нам позволяет выделяться на фоне серой массы. Одни и те же стулья, столы, компьютеры и т.д. Всё как у всех!

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

Согласитесь, что большинство заказчиков предпочтёт вместо обычного (как у всех) телефона Snom, телефон, который ассоциируется у них с чем-то особенным/личным. Уверен, что если вы являетесь поставщиком решений по телефонии, вы также согласились бы ассоциировать вашу компанию с поставщиком этого особенного в глазах заказчика.

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

image

Прошивка меню наших телефонов построена на XML и позволяет вам производить гибкую кастомизацию UI следующих параметров (краткий список):

  • фоновое изображение
  • шрифт и цвет
  • иконки
  • язык
  • мелодии звонков
  • назначение клавиш
  • и многое другое

В этой, 1й части нашей статьи, мы расскажем о том, как можно изменить визуальное представление телефонна Snom. Поговрим о нескольких пунктах:

  1. Изменение цветовой гаммы
  2. Изменение шрифтов
  3. Загрузка фонового изображения
  4. Примеры тем


Во 2й части нашей статьи (которая скоро выйдет) мы поговорим об остальных возможностях кастомизции. Так-что не переключайтесь.


1. Изменение цветовой гаммы



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

Для того, чтобы было проще разобраться существует схема описания настройки цветов:



Цвета настраиваются с помощью RGB значений

Наименование


Допустимые значения


Значения по
умолчанию


Описание


titlebar_text_color


Группа из 4-х
чисел, каждое >=0 и <=255.


красный, зеленый, синий, альфа (значение альфа 255 означает полностью
видимый, а 0 полностью прозрачный).


515151255


Управляет цветом и прозрачностью текста в
строке заголовка, например, Дата, Время,
Название и др.


text_color


51 51 51
255


Управляет цветом и прозрачностью
основного текста, например, Меню, Режим ожидания и
всех остальных экранов основного текста.


subtext_color


123 124 126 255


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


extratext_color


123 124 126
255


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


extratext2_color


123 124 126
255


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


titlebar_background_color


226 226 226
255


Управляет цветом и прозрачностью фона
строки заголовка


background_color


242 242 242
255


Управляет цветом и прозрачностью фона на
каждом экране.


fkey_background_color


242 242 242
255


Управляет цветом и прозрачностью
контекстно-зависимых кнопок.


fkey_pressed_background_color


61 133 198
255


Управляет цветом и прозрачностью фона
контекстно-зависимых клавиш при нажатии.


fkey_separator_color


182 183 184
255


Управляет цветом и прозрачностью
разделительных линий контекстно-зависимых кнопок


fkey_label_color


123 124 126
255


Управляет цветом и прозрачностью текста,
используемого в контекстно-зависимых кнопках


fkey_pressed_label_color


242 242 242
255


Управляет цветом и прозрачностью текста,
используемого в контекстно-зависимых кнопках при нажатии


selected_line_background_color


255 255 255
255


Управляет цветом и прозрачностью фона
выбранной линии, например, в Меню или любом экране с выбираемыми элементами


selected_line_indicator_color


61 133 198
255


Управляет цветом и прозрачностью
индикатора слева от выбранной линии, например, в Меню или любом экране с
выбранными элементами


selected_line_text_color


61 133 198
255


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


line_background_color


242 242 242
0


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


line_separator_color


226 226 226
255


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


scrollbar_color


182 183 184
255


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


cursor_color


61 133 198
255


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


status_msgs_background_color


242 242 242
255


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


status_msgs_border_color


182 183 184
255


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


smartlabel_background_color


242 242 242
255


Управляет цветом и прозрачностью фона SmartLabel.


smartlabel_pressed_background_color


61 133 198
255


Управляет цветом и прозрачностью фона SmartLabel при нажатии функциональной клавиши.


smartlabel_separator_color


182 183 184
255


Управляет цветом и прозрачностью линии
разделителя между каждой функциональной клавишей SmartLabel.


smartlabel_label_color


123 124 126
255


Управляет цветом и прозрачностью текста,
используемого в SmartLabel.


smartlabel_pressed_label_color


242 242 242
255


Управляет цветом и прозрачностью текста,
используемого в SmartLabel, при нажатии функциональной клавиши.







Теперь, когда мы знаем где и что находится мы можем перейти в веб-интерфейс телефона в раздел Setup/Preferences, далее вторая закладка Appearance:



Здесь можно изменять значения, а если нажать на вопросительный знак, то вы попадете на страницу с описанием, где в том числе есть заметка, как указать данное значение, если использовать XML-файл для конфигурации. Например для нашей первой строки Text Color:



2. Изменение шрифтов



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

Чтобы заменить любой шрифт, необходимо создать tar-файл, содержащий новый шрифт, названный должно полностью совпадать со старым шрифтом, который будет заменен.

tar -cvf fonts.tar fontfile.ttf


Затем на этот tar-файл нужно дать ссылку в xml-файле, чтобы он правильно загружался при перезагрузке телефона.

<?xml version="1.0" encoding="utf-8" ?><settings> <uploads>  <file url="http://personeltest.ru/away/192.168.23.54:8080/fonts.tar" type="font" /> </uploads></settings>


Более подробно, какие шрифты предустановлены, можно найти у нас на wiki
Таким образом вы можете загрузить свой собственны шрифт в телефон.

3. Загрузка фонового изображения


На примере покажем, как загрузить правильно фон и какие настройки имеют значение.



Загрузить фоновое изображение можно через Веб-интерфейс Preferences Appearance:



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

Или вы можете изменить эту настройку с помощью автопровижинга, добавив тег <custom_bg_image_url> с действительным значением в ваш xml-файл.

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

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



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

Начиная с версии прошивки 10.1.33.33, цветовая прозрачность фона автоматически адаптируется к отображаемому на телефоне фоновому изображению. Однако она не будет полностью прозрачной. Для достижения полной прозрачности настройка <background_color> все равно должна иметь альфа-значение 0.

Для правильного отображения фонового изображения его необходимо сохранить в формате png, jpg, gif, bmp или tga. Мы настоятельно рекомендуем использовать файлы .png и оптимизировать их с помощью "optipng", чтобы уменьшить размер файла и повысить производительность.

Размер изображения в завсимости от модели:

Модель Разрешение
D375/ D385/ D785 480 x 272
D335/ D735/ D765 320 x 240
D717 426 x 240


4. Пример конфигурации тем



1. Dark Theme:



Посмотреть
<?xml version="1.0" encoding="utf-8"?><settings><phone-settings>  <!-- When the background image is set, it automatically applies alpha changes to all elements.   Therefore it has to be listed at the beginning, so that all styles afterwards correctly apply-->  <custom_bg_image_url perm=""></custom_bg_image_url>  <!-- Background color is set to be not transparent because no background image is configured -->  <background_color perm="">43 49 56 255</background_color>  <titlebar_text_color perm="">242 242 242 255</titlebar_text_color>  <titlebar_background_color perm="">43 49 56 255</titlebar_background_color>  <text_color perm="">242 242 242 255</text_color>  <subtext_color perm="">224 224 224 255</subtext_color>  <extratext_color perm="">158 158 158 255</extratext_color>  <extratext2_color perm="">158 158 158 255</extratext2_color>  <fkey_background_color perm="">43 49 56 255</fkey_background_color>  <fkey_pressed_background_color perm="">61 133 198 255</fkey_pressed_background_color>  <fkey_separator_color perm="">70 90 120 255</fkey_separator_color>  <fkey_label_color perm="">224 224 224 255</fkey_label_color>  <fkey_pressed_label_color perm="">242 242 242 255</fkey_pressed_label_color>  <line_background_color perm="">242 242 242 0</line_background_color>  <selected_line_background_color perm="">50 60 80 255</selected_line_background_color>  <selected_line_indicator_color perm="">61 133 198 255</selected_line_indicator_color>  <selected_line_text_color perm="">61 133 198 255</selected_line_text_color>  <line_separator_color perm="">70 90 120 255</line_separator_color>  <scrollbar_color perm="">70 90 120 255</scrollbar_color>  <cursor_color perm="">61 133 198 255</cursor_color>  <status_msgs_background_color perm="">43 49 56 255</status_msgs_background_color>  <status_msgs_border_color perm="">70 90 120 255</status_msgs_border_color>  <!-- Settings for SmartLabel -->  <smartlabel_background_color perm="">43 49 56 255</smartlabel_background_color>  <smartlabel_pressed_background_color perm="">61 133 198 255</smartlabel_pressed_background_color>  <smartlabel_separator_color perm="">70 90 120 255</smartlabel_separator_color>  <smartlabel_label_color perm="">224 224 224 255</smartlabel_label_color>  <smartlabel_pressed_label_color perm="">242 242 242 255</smartlabel_pressed_label_color></phone-settings></settings>



2. Colorful Theme:



Посмотреть
<?xml version="1.0" encoding="utf-8"?><settings><phone-settings>  <!-- When the background image is set, it automatically applies alpha changes to all elements.  Therefore it has to be configured at the beginning so that all styles afterwards correctly apply-->  <custom_bg_image_url perm="">http://192.168.0.1/background.png</custom_bg_image_url>  <!-- Background color has to be transparent because a background image is configured -->  <background_color perm="">0 0 0 0</background_color>  <titlebar_text_color perm="">242 242 242 255</titlebar_text_color>  <titlebar_background_color perm="">43 49 56 40</titlebar_background_color>  <text_color perm="">242 242 242 255</text_color>  <subtext_color perm="">224 224 224 255</subtext_color>  <extratext_color perm="">224 224 224 255</extratext_color>  <extratext2_color perm="">224 224 224 255</extratext2_color>  <fkey_background_color perm="">43 49 56 40</fkey_background_color>  <fkey_pressed_background_color perm="">43 49 56 140</fkey_pressed_background_color>  <fkey_separator_color perm="">0 0 0 0</fkey_separator_color>  <fkey_label_color perm="">224 224 224 255</fkey_label_color>  <fkey_pressed_label_color perm="">224 224 224 255</fkey_pressed_label_color>  <line_background_color perm="">0 0 0 0</line_background_color>  <selected_line_background_color perm="">43 49 56 40</selected_line_background_color>  <selected_line_indicator_color perm="">61 133 198 255</selected_line_indicator_color>  <selected_line_text_color perm="">61 133 198 255</selected_line_text_color>  <line_separator_color perm="">0 0 0 0</line_separator_color>  <scrollbar_color perm="">61 133 198 255</scrollbar_color>  <cursor_color perm="">61 133 198 255</cursor_color>  <status_msgs_background_color perm="">61 133 198 255</status_msgs_background_color>  <status_msgs_border_color perm="">61 133 198 255</status_msgs_border_color>  <!-- Settings for SmartLabel -->  <smartlabel_background_color perm="">43 49 56 40</smartlabel_background_color>  <smartlabel_pressed_background_color perm="">43 49 56 140</smartlabel_pressed_background_color>  <smartlabel_separator_color perm="">0 0 0 0</smartlabel_separator_color>  <smartlabel_label_color perm="">242 242 242 255</smartlabel_label_color>  <smartlabel_pressed_label_color perm="">242 242 242 255</smartlabel_pressed_label_color></phone-settings></settings>



Надеемся, эта тема поможет разобраться с вопросом ручной кастомизации.

Продолжение следует
Подробнее..

Обзор IP телефона Snom D725 или когда нужно много физических кнопок

01.07.2020 10:24:00 | Автор: admin
Здравствуйте дорогие читатели!
Мы продолжаем обзор модельного ряда IP-телефонов Snom и сегодня подготовили для вас обзор на телефон с наибольшим количеством физических функциональных клавиш из нашей линейки модель Snom D725.

image

Распаковка и комплектация


Как и всегда в наших обзорах, рассмотрим комплектацию и упаковку аппарата. Коробка достаточно компактна, на ней присутствует информация о модели и версии ПО телефона. Комплектация включает в себя:
  • Телефонный аппарат
  • Краткое руководство пользователя
  • Подставку
  • Ethernet-кабель категории 5E
  • Трубку и витой шнур для ее подключения


image

Дизайн


Рассмотрим телефон поближе. Основная особенность аппарата большое количество BLF-клавиш, их здесь 18. Большая часть современных телефонов использует несколько страниц экрана для мониторинга состояния столь большого количества абонентов, но, давайте будем честны, мало кто в этом случае использует все страницы из-за необходимости перелистывания, а в данном случае все абоненты всегда на виду каждый на своей клавише. Минусом такого устройства является необходимость вручную подписывать название клавиш, зато пользователь телефона однозначно запомнит расположение номеров абонентов на этих самых клавишах и сможет найти нужную ему кнопку очень быстро.

image

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

image

Экран на данном аппарате черно-белый, с крупным шрифтом и яркой подсветкой. Под экраном размещены четыре подэкранные функциональные клавиши, чуть ниже клавиши навигации. Джойстик на этом телефоне выполнен в виде круглой клавиши с четырьмя направлениями нажатия, слева и справа от него находятся кнопки подтверждения и отмены. Справа от последней, находится клавиша записи. Клавиши этого блока расположены достаточно разряжено, для удобства управления телефоном.
Чуть ниже находятся уже упомянутые восемнадцать BLF-клавиш. Они занимают центральную часть лицевой панели аппарата и расположены так, чтобы постоянно быть в поле зрения пользователя на виду. Так сотрудник всегда будет видеть состояние важных для него абонентов и, при необходимости сможет перевести или перехватить важный звонок.

image

Разъемы телефона находятся на его задней панели. Здесь расположились: 4-х пиновый разъем микролифта EHS, гигабитные порты PC и NET, разъем блока питания, порты трубки и гарнитуры и USB-порт. Доступ к большей части из них осуществляется снизу под подставкой.
Сама по себе подставка двухпозиционная, в зависимости от стороны крепления к телефону она обеспечивает углы наклона корпуса в 46 или 28 градусов, позволяя пользователю расположить корпус телефона удобно для своего зрения.

Программное обеспечение и настройка


image
Интерфейс настройки телефонного аппарата прост. По умолчанию в нем нет ярких цветов основное здесь функциональность и простота настройки. Однако, если вам это необходимо вы можете изменить его, использовать свою цветовую гамму или изменить иконки. О том, как это сделать читайте в наших статьях.
BLF-клавиши D725 не имеют преднастройки, но сам процесс настройки клавиш очень и очень лаконичен. Пользователю лишь необходимо зажать на несколько секунд нужную ему клавишу, после чего достаточно выбрать функцию для клавиши из внушительного списка предложенных и заполнить нужные для ее работы поля, например, указать номер абонента для мониторинга его состояния с помощью BLF.

Функционал и эксплуатация


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

image

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

image

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

Аксессуары


Как уже было сказано выше, на телефоне присутствует USB-разъем. Он используется для подключения USB-гарнитуры, флеш-накопителя, DECT донгла A230, Wi-Fi-модуля A210, а также панели расширения D7. Обратим внимание на последние.
Панель расширения D7 заметно увеличит и без того не малое количество BLF-клавиш, доступных для настойки на телефоне. Каждая из панелей предлагает пользователю еще 18 дополнительных клавиш, а всего к одному аппарату можно подключить до 3-х панелей, добавив к клавишам телефона еще 54 клавиши.
image
DECT-донгл A230 позволяет подключить к аппарату DECT-гарнитуру, увеличив мобильность сотрудника, либо же использовать внешний динамик Snom C52 SP, что позволяет использовать аппарат в большом кабинете или небольшой переговорной комнате.
Wi-Fi-модуль A210 используется для подключения к беспроводным сетям Wi-Fi. Модуль работает и с сетями 2.4 Ггц, и 5 Ггц, что позволяет подключать телефон к современным сетям связи компании.

Подведем итог


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

Обзор IP-телефона Snom D715

15.07.2020 14:22:53 | Автор: admin
Здравствуйте уважаемые читатели. Сегодня мы представляем вашему вниманию обзор на очередную модель линейки нашего оборудования: IP-телефон Snom D715.

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



Распаковка и комплектация


Начнем обзор с того что рассмотрим коробку, в которой поставляется аппарат и ее содержимое. Коробка несет на себе информацию о модели и установленной на телефоне версии ПО, комплектация включает в себя:
  • Телефонный аппарат
  • Краткое руководство пользователя
  • Подставку
  • Ethernet-кабель категории 5E
  • Трубку и витой шнур для ее подключения

Дизайн


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



Большая часть интерфейсов телефона доступна с задней части корпуса, здесь находятся сетевые интерфейсы, разъем для блока питания, порты гарнитуры и трубки и разъем микролифта-EHS. А вот USB-порт сместился на боковую часть корпуса, где доступ к нему весьма и весьма удобен. На задней же части, помимо разъемов, расположились отверстия для настенного крепления и крепления подставки телефона.



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



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



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

Программное обеспечение и настройка


В настройке IP-телефона можно выделить несколько основных моментов. Первое, и наиболее важное в любом случае: регистрация аккаунта. Здесь все относительно просто, заполняем поля по предоставленным провайдером или администратором АТС данным.
Записываем в Учетную запись, Пароль и Адрес сервера имеющиеся у нас данные, заполняем Отображаемое имя вашим именем или номером и Применяем, а затем Сохраняем настройки. Проверить статус регистрации аккаунта можно в разделе Информация о системе



Следующий момент, который часто бывает необходим, настройка BLF и прочих функциональных клавиш. На аппаратах Snom перенастройке можно подвергнуть практически все функциональные клавиши, вместе с BLF они находятся в соответствующем меню. Большая часть функционала доступна для всех клавиш, естественно, за исключением индикации занятости абонента. Специфика настройки данного аппарата состоит в том, что нет необходимости указывать лейбл для BLF-клавиш из интерфейса настройки телефона.



Функциональные клавиши можно настроить не только из веб-интерфейса аппарата, но и с помощью экранного меню. Для этого необходимо зажать клавишу, которую необходимо настроить, на несколько секунд и с помощью навигационных клавиш выбрать необходимую функцию. После внесения настроек нажимаем Сохранить и пользуемся настроенным функционалом.
В телефонах Snom настроить можно не только клавиши и учетные записи, но и изменить внешний вид самого меню настройки. Вы можете поменять цвета интерфейса, иконки и шрифты. Мы уже рассказывали о том, как именно можно это сделать и предлагаем вам познакомиться с материалом на эту тему.

Функционал и эксплуатация


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



Естественно, при использовании телефона обращаешь внимание на звук. Динамик громкой связи воспроизводит голос четко и достаточно громко. Его не хватит на переговорную комнату, но шансов пропустить слова собеседника на своем рабочем месте просто нет. Громкость динамика при этом регулируется в весьма широком диапазоне, позволяя вам сделать звук таким, чтобы он не мешал вашим коллегам. Микрофон громкой связи захватывает звук полностью, не добавляя глухости, как это часто бывает в подобных случаях.



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



Индикация аппарата яркая и понятная, начиная от индикатора MWI, расположившегося в верхнем правом углу корпуса аппарата, продолжая экраном и заканчивая BLF-клавишами. Обычно, BLF-клавиши используют световую индикацию только при использовании непосредственно функционала BLF, но мы добавили подсветку и в другие функции. Это позволяет пользователю не вглядываться в значки на экране, а по индикации самой клавиши понять активна или нет данная функция.

Аксессуары


Как мы упоминали ранее, к телефону подключается модуль расширения D7. Модуль позволяет существенно увеличить и без того не самое маленькое количество программируемых клавиш телефона. Модуль D7 весьма близок по дизайну к телефону и очень органично с ним сочетается, гармонично вписываясь в офисную среду.



Помимо модуля расширения, к телефону можно подключить USB-адаптеры DECT и WiFi. DECT донгл A230 позволяет подключить к телефонному аппарату DECT-гарнитуры или внешний динамик Snom C52 SP, обеспечивая высокое качество звука и большой радиус действия, благодаря использованию стандарта DECT. Wi-Fi-модуль A210 служит для подключения телефона к WiFi сетям организации, работающих в частотных диапазонах 2.4, так и 5 Ггц.

Подведем итог


Мы рассказали вам об IP-телефоне Snom D715. Это удобный и приятный в использовании аппарат с полным функционалом современного IP-телефона. Он подойдет как рядовым сотрудникам, так и руководителям небольших подразделений компании и послужит верным помощником в переговорах на любую тему.
Подробнее..

Малыш крепыш. Обзор IP-телефона Snom D712

28.07.2020 10:08:24 | Автор: admin
Доброго времени суток, дорогие читатели.
Мы рады представить вам новый обзор, на этот раз на IP-телефон Snom D712.



Распаковка и комплектация


Коробка с телефонным аппаратом имеет лаконичный дизайн и компактные размеры. Тем не менее она вмещает в себя:
  • Телефонный аппарат
  • Краткое руководство пользователя
  • Подставку
  • Ethernet-кабель категории 5E
  • Трубку и витой шнур для ее подключения



Дизайн


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



Все разъемы на телефоне расположены на задней части корпуса. У данной модели отсутствует USB-порт, но в наличии два Ethernet-разъема со скоростью 100 Мбит/с, разъем микролифта EHS, а также порты гарнитуры и трубки и разъем адаптера питания. Помимо использования данного разъема, вы можете запитать телефоны от сети Ethernet, если ваши коммутаторы поддерживают функционал PoE 802.3af. При этом, энергопотребление аппарата весьма низкое, что очень приятно, особенно для офисов с большим количество сотрудников и call-центров. Помимо портов и разъемов на задней панели находятся отверстия для крепления на стену, что позволяет разместить аппарат в вертикальном положении без лишних приспособлений и переходников.



При использовании IP-телефона в обычном положении, можно обратить внимание на подставку, выполненную в общем стиле с аппаратом. Подставка представляет собой монолитную деталь, и в зависимости от стороны крепления обеспечивает угол наклона корпуса телефона в 28 или 46 градусов.
Экран аппарата 4-х строчный, графический. Его вполне хватает для отображения рабочей информации, и настроек IP-телефона с помощью экранного меню.



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

Программное обеспечение и настройка


В прошлом обзоре мы рассмотрели регистрацию аккаунта и настройку BLF-клавиш, алгоритм действий для этих настроек актуален и для модели из данного обзора. Теперь скажем несколько слов об обновлении ПО IP-телефонов.
Актуальное ПО вы всегда можете найти на нашем сайте с техническими материалами, чтобы найти его, посетите Snom Service Hub. Программное обеспечение находится в разделе Firmware Update Center. Версии расположены по возрастанию, снизу вверх.



Выберите нужную вам версию и перейдите на ее страницу. На странице найдите ссылку на файл для вашей модели телефона и скопируйте ее.



В веб-интерфейсе аппарата перейдите в раздел Обновление программного обеспечения и в поле Программное обеспечение вставьте ранее скопированную ссылку. После этого остается нажать клавишу Загрузить и ждать обновления и последующей загрузки вашего устройства.

Функционал и эксплуатация


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



Понятная индикация. Индикаторы данной модели принципиально не отличаются от остальных моделей линейки нашей продукции. Индикация яркая и заметная, сами индикаторы вписаны в дизайн корпуса и клавиш очень аккуратно, и не обращают на себя лишнего внимания в отключенном состоянии, зато становятся очень заметными, когда индикация активна. Это актуально как для BLF и функциональных клавиш, так и для индикатора MWI, находящегося в верхнем правом углу корпуса телефона.



Удобство настройки. Тему настройки мы уже затрагивали, наша компания старается уменьшить действия пользователей при настройке аппаратов, а мы продолжим рассказывать вам о настройке наиболее часто используемых функций в последующих обзорах и материалах.
И, естественно, звук. Благодаря акустической лаборатории, наша компания не только работает непосредственно с захватом и передачей аппаратами голоса, для полной передачи нужной информации между абонентами, но и добивается минимизации шумов и посторонних звуков, которые могут мешать разговору пользователей.



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

Подведем итог


Snom D712 аппарат с не самым большим функционалом, но возложенные на него функции выполняет полностью, обеспечивая хорошее звучание и предоставляя пользователю достаточное количество BLF и функциональных клавиш. Благодаря компактным размерам и классическому виду он будет уместен и на столе оператора Call-центра, и на рабочем месте руководителя небольшого подразделения.
Подробнее..

Микросота Наше Всё или DECT-мобильность на рабочем месте от Snom

05.08.2020 16:23:28 | Автор: admin
Приветствуем вас, Хабровчане!

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

Сегодня мы хотим поговорить о связи на рабочем месте которое выставляет нам одно или несколько из перечисленных требований:

  • Гарантированная мобильность в рамках определённых помещений
  • Управление такими аспектами как: перевод, запись звонков и т.д.
  • Защита используемого оборудования от различных повреждений
  • Работоспособность оборудования в сложных условиях окружающей среды
  • Уведомление необходимой службы об экстренной ситуации у сотрудника
  • Определение местоположения оборудования


На сегодняшний день, самым распространённым и надёжно зарекомендовавшим себя решением по беспроводной связи для телефонии, которое может ответить на выше перечисленные задачи, являются решения на основе DECT Микросоты.

Что за DECT? Что такое Микросота? Какие устройства бывают? Чем они отличаются? Что может предложить Snom?

Интересно? Тогда усаживайтесь поудобней, статья получится объёмной.


Почему DECT?


Если требуется решение для беспроводной телефонии, в настоящее время доступны три технологии.
image

Определение DECT


  • Цифровые Усовершенствованные Беспроводные Телекоммуникации (DECT, первоначально Digital European Cordless Telephony) это международный стандарт для телекоммуникаций, использующих радио технологии для беспроводных телефонов.
  • DECT является торговой маркой Европейского института телекоммуникационных стандартов (ETSI) с обширными спецификациями.

Области применения


  • В зданиях, можно достичь дальности или радиуса сигнала до 50 метров (приблизительно).
  • Дальность передачи сигнала на открытом пространстве до 300 метров. Максимально допустимая выходная мощность составляет 250 мВт.
  • Применяется повсеместно, где есть необходимость обеспечить мобильную связь сотрудника. К примеру: на складах, на производстве и тд.

Радиопередача и частоты


  • DECT использует диапазоны частот ниже 2,45 ГГц, отличные от WLAN, Bluetooth и т. д., и поэтому не создает помех этим сетям.
  • В Европе он работает в диапазоне частот от 1880 МГц до 1900 МГц, в котором определены 10 каналов с шириной полосы 1728 кГц каждый.
  • ETSI также определяет полосы расширения в диапазонах 19001980 МГц, 20102025 МГц и 24002480 МГц.
  • DECT обеспечивает динамический выбор и назначение каналов. Для этой цели все устройства DECT ведут список RSSI (Received Signal Strength Indication Индикация Уровня Принятого Сигнала).
  • С регулярными интервалами (минимум каждые 30 секунд) все свободные каналы сканируются и заносятся в список
  • Если требуется новый канал, мобильное устройство или базовая станция выбирает канал с наименьшими помехами на основе списка RSSI.

Безопасность


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

Что такое Микросота?


Микросотой называю систему/сущность, которая охватывает радиосигналом определённую территорию позволяя специальным устройствам находящимся в зоне действия сигнала осуществлять связь. Из чего же состоит Микросота? Существует большое количество различных видов устройств и мы в рамках данной статьи, не задаёмся целью их всех осветить. Расскажем лишь о наиболее часто применяемых.
image

Наиболее часто используемые компоненты Микросоты


Базовые станции Аппаратное обеспечение, которое является шлюзом между проводной и радио сетью. Имеет на борту радио передатчик, а так же приёмник, что позволяет передавать и принимать сигнал с устройств в радио сети в сеть проводную для дальнейшей коммутации. В роли таких устройств как правило выступают телефоны. Микросотовая сеть подразумевает, что телефоны могут перемещаться от одной Базовой Станции к другой, поэтому базовые станции имею возможность синхронизации между собой для обеспечения поддержки роуминга (бесшовной передачи звонка от станции к станции).
Чем различаются
От производителя к производителю, могут различаться по следующим параметрам:

  • Максимальное количество Базовых Станций которые могут быть применены в одном решение
  • Максимальное количество трубок, работа которых может быть обеспечена в одном решение
  • Количество одновременных звонков, которые может обслужить одна база
  • Типом питания: по PoE, блок питания или оба
  • Возможностью и количеством подключаемых дополнительных Ретрансляторов
  • Для наружного применения или для установки внутри помещений
  • Возможность подключения дополнительной внешней антенны
  • Типом поддерживаемых кодеков
  • Возможность синхронизации по кабелю и по радио сети. Большинство устройств умеют синхронизироваться исключительно по радио сети
  • Возможностью переключения работы в роли DECT менеджера
  • Возможностью одновременной работы в роли DECT менеджера и Базовой Станции
  • Определением место расположения трубки
  • Трансляция и оповещение тревожных событий полученных с трубки
  • Возможностью отправлять PUSH сообщения на трубку
  • Наличием или отсутствием поддержки GAP



Телефоны Аппаратное обеспечение, по-простому называемое трубками.
Чем различаются
От производителя к производителю, могут различаться по следующим параметрам:

  • Размером и весом
  • Наличием монохромного или цветного экрана
  • Размером экрана и его разрешением
  • Поддержкой Bluetooth для соединения с беспроводной гарнитурой
  • Наличием и типом аудио разъёма для подключения проводной гарнитуры
  • Присутствием клипсы/зажима для крепления на ремень
  • Временем работы в режиме разговора, а так же в режиме ожидания
  • Наличием тревожной кнопки и уведомлением необходимой службы экстренной помощи
  • Способностью принимать PUSH сообщения
  • Степенью защиты от ударов, влаги, пыли и агрессивной рабочей среды



Гарнитуры аппаратное обеспечение. Беспроводные гарнитуры которые могут самостоятельно работать в DECT Микросотовой среде.
Чем различаются
Производителей подобного оборудования достаточно мало


Ретрансляторы аппаратное обеспечение позволяющее увеличить на порядок зону охвата сигнала Базовой Станции. Использование Ретранслятора может во многих случаях существенно сократить необходимое количество приобретаемых Базовых Станций и тем самым, стоимость самого решения.
Чем различаются
От производителя к производителю, могут различаться по следующим параметрам:

  • Количеством подключаемых Ретрансляторов к Базовой Станции
  • Количеством одновременных звонков, которые способен пропустить Ретранслятор



DECT Менеджеры Аппаратное обеспечение управляющее работой устройств Микросотовой системы. Применяется у большинства производителей.
Чем различаются
От производителя к производителю, могут различаться по следующим параметрам:

  • Может быть отдельным устройством или иметь возможность, где Базовая Станция может быть переключена в режим работы DECT менеджера
  • Есть решения, где каждая Базовая Станция выполняет одновременно обе роли, что приводит к существенной экономии, так как, необходимость приобретения дорогостоящего DECT менеджера отпадает.
  • У большинства производителей в случае отказа DECT менеджера вся система перестаёт работать. У некоторых производителей в случае подобного отказа, одна из Базовых Станций начнёт выступать в роли управляющей автоматически, что существенно увеличивает степень отказоустойчивости решения



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

  • У многих производителей необходимость в лицензирование возникает при преодолении заказчиком определённой планки масштабирования системы. Образно говоря у вас было 20 абонентов лицензирование не требовалось. Решили увеличить количество абонентов до 50, приобретайте лицензирование. Для многих заказчиков, которые не изучили досконально вопрос, необходимость дополнительного лицензирования может стать неприятным сюрпризом и запланированная изначально стоимость решения, может разительно отличаться от итоговой
  • Зачастую схема лицензирования достаточно сложная и запутанная, что усложняет задачу просчёта стоимости решения
  • Лицензирование может быть разовым или иметь необходимость в периодической оплате обновления



Что может предложить Snom?



Микросотовая DECT Базовая Станция Snom M900
image

Технические характеристики и особенности

  • Масштабируемость от 1й до 4000 Базовых Станций в одной инсталляции
  • Поддержка до 16000 трубок, в одной инсталляции
  • Поддержка до 30 трубок на одну базу
  • 8 одновременных звонков в узкополосном режиме
  • 4 одновременных звонков в широкополосном режиме
  • Поддержка широкого спектра различных кодеков, включая OPUS
  • Питание PoE или от адаптера
  • DECT и LAN синхронизация
  • Возможность подключения к каждой Базовой Станции до Ретрансляторов Snom M5
  • Каждая Базовая Станция работает одновременно в режиме Базовой Станции и DECT менеджера
  • В случае отказа управляющей базы, следующая Базовая Станция автоматически станет новой управляющей базой, что позволит системе продолжить работу
  • Отсутствие какого либо лицензирования. Масштабируйте систему до указанных выше пределов приобретая лишь необходимое количество Базовых Станций и Трубок
  • Транслирует оповещение тревожных событий полученных с трубки
  • Отправляет PUSH сообщения на трубку
  • Определяет место расположение трубки


DECT Телефоны Snom

У нас большой выбор различных трубок, которые удовлетворят потребности большинства пользователей. Чтобы не описывать каждое устройство и не утомлять читателя, приведём небольшую сводную таблицу ниже. А потом расскажем об уникальных особенностях. Тем, кому необходимо больше технической информации, рекомендуем посетить вот этот раздел нашего сайта.
image

Технические характеристики и особенности

  • Цветные экраны высокого разрешения
  • Поддержка Bluetooth для соединения с беспроводными гарнитурами
  • Поддержка стандарта Bluetooth LE и технологии Beacon
  • Аудио разъёма для подключения проводных гарнитур
  • Клипса/зажим для крепления на ремень
  • Тревожная кнопка для уведомления необходимой службы экстренной помощи
  • Встроенный гироскоп для определения падения или трубки находящейся без движения (а вместе с нем возможно и человека) с последующим уведомлением необходимой службы экстренной помощи
  • Принимают PUSH сообщения
  • Прочная конструкция корпуса (MIL-STD-810g 516.6)
  • Защита по стандарту IP65
  • Большой диапазон температур (от -10 до 55c)
  • Антибактериальное покрытие корпуса
  • Виброзвонок и подсветка клавиатуры


DECT Гарнитура Snom A190
image

Технические характеристики и особенности
  • Сопряжение непосредственно с Микросотовой Базовой Станцией
  • Поддержка роуминга
  • Может быть использована как самостоятельное устройство для принятия звонков
  • Может быть синхронизировано с телефоном DECT
  • Время работы в режиме разговора 7ч, а так же в режиме ожидания 100ч
  • Дальность передачи сигнала (до Микросотовой Базы) в помещение 50м, на открытом пространстве 300м


DECT Ретранслятор Snom M5
image

Технические характеристики и особенности
  • Поддержка одно-сотовых и микро-сотовых Базовых Станции
  • Поддержка широкополосного звука
  • До 5 одновременных вызовов
  • Последовательное соединение


И напоследок, хотим напомнить, что на все наши решения включая DECT, трубки и гарнитуры, мы предоставляем трехлетнюю гарантию, что защитит ваши инвестиции на ближайшие три года.
image
Будем рады ответить на ваши вопросы.
Оставьте комментарий, пожалуйста, если вам понравилась наша статья. Пишем мы для вас и нам важно понимать, движемся ли мы в правильном направление. Спасибо!
Подробнее..

Надёжный среднячок. Обзор IP-телефона Snom D345

27.08.2020 10:09:54 | Автор: admin
Здравствуйте уважаемые читатели!
Сегодня мы, вместе с вами, рассмотрим очередной аппарат из нашего обширного модельного ряда, а именно, IP-телефон Snom D345.

Распаковка и комплектация




Начнем с упаковки телефона. Как и у модели D385, коробка аппарата крайне компактна, несмотря на внушительный размер корпуса самого телефона. В коробке размещаются:
  • Телефонный аппарат
  • Краткое руководство пользователя
  • Подставка
  • Ethernet-кабель категории 5E
  • Трубка и витой шнур для ее подключения

Дизайн


Дизайн телефона продиктован ностальгией по аналоговым офисным аппаратам: широкий корпус, закругленные клавиши номеронабирателя, вытянутый по горизонтали дисплей. Порой возникает ощущение что после набора номера в трубке можно будет услышать щелчки декадно-шаговой АТС. Но, как известно, внешность обманчива. Начинка у IP-телефона вполне современна, а по набору функций D345 многим современникам даст фору. Да и внешний вид хоть и намекает на предшественников IP-аппаратов, продиктован скорее хорошей эргономикой.



Об удобстве использования данного телефона инженеры Snom действительно позаботились более чем. Например, графический дисплей аппарата имеет регулировку угла наклона, которая обеспечивает 6 различных положений экрана. Это заметно более вариативная подстройка, чем может обеспечить любая подставка аппарата. Сам дисплей достаточно большой, чтобы не напрягаясь считывать с него информацию, откинувшись в рабочем кресле. Он также обладает подсветкой, которая позволяет работать с аппаратом как при плохом освещении, компенсируя отсутствие света, так и при избыточном освещении, блики от которого можно нивелировать правильно подобрав угол наклона дисплея. На верхней кромке экрана разместился индикатор MWI. Индикатор здесь удачно вписывается в общий образ аппарата и сразу же обращает на себя внимание при включении.



Под основным экраном находятся контекстные клавиши. Чуть ниже навигационные клавиши. Кнопки управления функциями разбиты по блокам: в верхней левой части расположились клавиши отключения микрофона, динамика громкой связи, гарнитуры и качелька громкости. Вдоль номеронабирателя, сверху вниз, размещены кнопки включения режима DND, телефонной книги и настроек, а чуть ниже клавиши трансфера и постановки вызова на удержание. Справа от них находится дополнительный дисплей с 12-ю BLF-клавишами, расположенными с двух сторон от него. Само по себе количество клавиш внушительно, а дисплей имеет 4 страницы значений, что обеспечивает 48 значений клавиш суммарно. Клавиша переключения страниц расположена над дисплеем, что очень удобно, поскольку она не занимает значения на самом экране.
На задней части корпуса расположены разъемы аппарата, в том числе USB-порт. Служит он для подключения USB-гарнитуры, флеш-накопителя, DECT донгла A230, Wi-Fi-модуля A210 и панели расширения. Рядом с USB-портом находятся два гигабитных Ethernet-порта, разъем для подключения блока питания и порты трубки и гарнитуры. Все они расположены в некотором углублении, для вашего удобства мы рекомендуем подключать кабели в эти разъемы до присоединения подставки к корпусу телефона.



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

Программное обеспечение и настройка


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



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

Функционал и эксплуатация


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



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

Аксессуары


Как уже говорилось ранее, в USB-разъем аппарата вы можете подключить DECT донгл A230 и Wi-Fi-модуль A210. Wi-Fi-модуль работает с современными Wi-Fi сетями на частоте 5 ГГц, и с привычными всем сетями на частоте 2.4 Ггц.
DECT-донгл A230 используется для подключения внешнего динамика Snom C52P, расширяющего и без того внушительные возможности телефона по работе со звуком. Также, с помощью данного донгла к телефону подключаются DECT-гарнитуры.



Помимо этого, USB-разъем может быть использован для подключения модуля расширения. Модуль Snom D3 добавит 18 BLF-клавиш к клавиатуре аппарата. Подключив 3 модуля и использовав все страницы экрана, вы получите суммарно 102 BLF-клавиши!

Подведем итог


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

I want to break free. Обзор беспроводной DECT гарнитуры Snom A170

24.09.2020 08:13:47 | Автор: admin
Доброго дня, коллеги.
Прошлой статьей мы завершили цикл обзоров на настольные телефоны, предлагаем теперь поговорить о гарнитурах, предоставляемых нашей компанией. Начнем с модели DECT-гарнитуры Snom A170. Посмотрите краткое видео о гарнитуре и приступайте к чтению!



Стандарт DECT


А почему собственно DECT?, наверняка спросит нас читатель. Давайте рассмотрим стандарт DECT в целом и его преимущества и недостатки по сравнению с другими возможными вариантами.
DECT (англ. Digital Enhanced Cordless Telecommunication) технология беспроводной связи на частотах 18801900 МГц. Технология, на данный момент очень широко распространена в решениях беспроводных домашних и офисных телефонов, а также беспроводных гарнитур. Популярность DECT для передачи голоса обусловлена несколькими факторами:

  • Стандарт DECT изначально предназначен именно для передачи голоса и используется только с этой целью. Это означает что нет необходимости думать о приоритизации трафика или загруженности частотного диапазона, его будут занимать исключительно устройства для передачи голоса.
  • Дальность действия. Дальность действия устройств, работающих по данному протоколу, ограничена в первую очередь мощностью передатчика. Максимальная мощность по данному стандарту ограничена 10 мВт, что дает возможность разнесения приемного и передающего устройства до 300 м в прямой видимости и до 50 метров в помещениях. Переключения между источниками сигнала при этом осуществляются быстрее чем в том же Wi-Fi, не позволяя пользователю услышать, что переключение произошло. Говоря о дальности действия нельзя сказать, что она принципиально больше, чем у конкурирующих технологий, но радиус действия источника сигнала DECT достаточно большой, чтобы обеспечить пользователю свободу перемещений или построить сеть на основе множества источников сигнала, покрыв значительную площадь.
  • Количество каналов. А значит и количество одновременно работающих устройств. Стандарт DECT подразумевает наличие 10 частотных радиоканалов, казалось бы, немного. Но каждый из частотных каналов подразделяется на 12 временных каналов, давая в сумме больше сотни каналов для передачи голоса.

Если говорить об использовании именно в качестве технологии для подключения беспроводных гарнитур, основным конкурентом DECT можно назвать технологию Bluetooth. В сравнении с данной технологией у DECT будут как преимущества, так и недостатки.
К преимуществам DECT перед Bluetooth можно отнести больший радиус покрытия (Bluetooth может обеспечить передачу данных на расстоянии в десяток метров, тогда как DECT в несколько раз больше), описываемое выше количество каналов, которое у Bluetooth будет несколько меньше и использование именно для передачи звука, что исключит наличие сторонних устройств, использующих эту же технологию связи и частотный диапазон.
К минусам же можно отнести относительно большое энергопотребление (Bluetooth-устройства потребляют заметно меньше энергии, а значит дольше обходятся без подзарядки) и необходимость подключения вашего телефона к базовой станции гарнитуры, для взаимодействия с ней.

Распаковка и комплектация


Перейдем теперь к рассмотрению самой DECT-гарнитуры.



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



Вместе с простым механизмом установки и наличием отдельного разъема под зарядку аккумулятора на базовой станции гарнитуры это нивелирует недостаток технологии DECT относительно энергозатрат устройства.



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



И, естественно, в комплекте с гарнитурой идет базовая станция для подключения гарнитуры к вашему телефону или ПК. Базовая станция питается от специализированного блока питания, который также идет в комплекте, и оснащена переходниками для подключения как к телефонам Snom и ПК, так и к телефонам сторонних производителей. В комплект переходников входят:

  • Кабель USB-Mini USB для подключения к ПК
  • Кабель RJ9-RJ9 для передачи аудио между телефоном и гарнитурой
  • Специализированный кабель EHS для подключения к телефонам Snom
  • Кабель EHS для подключения к стандартизированному разъему

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

Дизайн


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



На верхней части основного блока размещен джойстик изменения громкости. Если в режиме подключения к ПК он регулирует уровень громкости самой гарнитуры, то в режиме работы с телефоном уровень громкости изменяется непосредственно на телефоне. Помимо этого, на основном блоке находится клавиша Mute, отключающая микрофон, и основная функциональная клавиша, служащая для совершения и завершения вызова, оснащенная индикатором состояния гарнитуры и ее заряда.



Остальное управление гарнитурой осуществляется с базовой станции. Базовая станция гарнитуры выглядит также современно и элегантно.



На ней, как уже упоминалось, размещен специальный отсек для зарядки аккумулятора, а под ним находятся разъемы для подключения к ПК и телефонному аппарату и разъем для подключения блока питания.



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



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

Функционал и эксплуатация


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



С телефоном же все еще проще подключаем гарнитуру в соответствующие разъемы и начинаем пользоваться. Для переключения между устройствами мы используем клавиши PC и PHONE на базовой станции. При нажатии клавиши загорается зеленым ее индикатор и можно пользоваться гарнитурой в удобных нам целях.
Максимальное расстояние между гарнитурой и базой в процессе эксплуатации 50 метров. Этого более чем достаточно, чтобы чувствовать себя свободно в пределах достаточно просторного офиса и заметно больше, чем может дать Bluetooth гарнитура.
Качество передаваемого и принимаемого гарнитурой звука на высоте. Естественно, для прослушивания музыки желательно включить широкополосный режим на базовой станции. В этом случае вы не заметите разницы в сравнении с проводными гарнитурами, но сможете спокойно перемещаться по помещению.



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

Подведем итог


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

Офисные гарнитуры Snom A100M и A100D

27.10.2020 18:15:50 | Автор: admin
Здравствуйте хабровчане!
Мы продолжаем серию обзоров на модельный ряд гарнитур нашей компании, и сегодня обратим свое и ваше внимание на проводную модель гарнитуры: Snom A100. В зависимости от исполнения, гарнитура будет иметь индекс D (Dual) или M (Mono). Давайте рассмотрим ее поближе.



Комплектация


В комплектацию гарнитуры входит сама гарнитура, сменные амбушюры, а также переходник на RJ9.



Здесь стоит упомянуть что кабель самой гарнитуры имеет на конце QR-разъем, а подключение в интерфейсы устройств обеспечивают переходники для этих самых интерфейсов. Разъем QR (Quick Release), как и его аналог QD является 4-х пиновым разъемом для быстрого подключения и отключения гарнитур к переходникам и устройствам.

Дизайн


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



На одном из держателей также находится ось вращения микрофона. Микрофон описывает круг в 300 градусов, позволяя расположить гарнитуру на голове как с микрофоном на правом наушнике, так и на левом. Само вращение микрофона также происходит через фиксированные положения, которых достаточно много по диаметру вращения. Переход между ними осуществляется очень мягко, при этом, при нахождении в определенном положении, сам микрофон надежно фиксируется, не сдвигаясь с заданного направления.

Функционал и эксплуатация


Процесс эксплуатации гарнитуры начинается с подключения ее к устройству, с которым собственно будет осуществляться работа. Подключение это осуществляется через переходники, о которых мы сейчас поговорим.
Каждый из переходников позволяет подключать гарнитуру к своему типу разъема. Гарнитура поддерживает следующие переходники:

  • ACPJ
  • ACUSB
  • ACPJ25


Адаптер ACPJ позволяет подключать гарнитуру к разъему Jack 3.5 мм. Длинна кабеля адаптера 60 см, но часть кабеля выполнена в виде спирали, из-за чего общая длинна кабеля адаптера может значительно увеличиваться. Штекер кабеля 3-х пиновый, через переходник гарнитура отлично работает на смартфонах и прочих устройствах, обеспечивая более чем хорошее качество голоса как на прием, так и на передачу.



Адаптер ACUSB, как нетрудно догадаться, позволяет подключать гарнитуру по интерфейсу USB. Интересен этот адаптер еще и тем, что на нем присутствует пульт управления устройством, который позволяет изменять громкость динамика, отключать микрофон и посылать команду на совершение или завершение вызова, причем клавиши переходника передают команды на ПК или IP-телефон с которым работает гарнитура, а не просто изменяют усиление динамика самой A100.



Адаптер ACPJ25 позволяет подключать гарнитуру в разъем Jack 2.5 мм. Такой тип разъема часто используется на DECT-аппаратах. Помимо типа самого разъема, адаптер мало отличается от ACPJ.
Еще один важный момент в эксплуатации гарнитуры удобство ношения. За счет малого веса (всего 79 г) и эргономичной конструкции гарнитура практически не ощущается на голове. Амбушюры сделаны из приятного материала, и за счет формы и плотного прилегания к ушным раковинам обеспечивают пассивное шумоподавление, заметно снижая уровень внешних шумов.



Динамики A100 выдают чистый и качественный звук, весьма и весьма громкий. При подключении к ПК достаточно и половины громкости динамиков, чтобы звук казался излишне громким. Впрочем, понятие нормальной громкости у каждого свое. Динамики работают в диапазоне частот 150-6,800 Гц, мягко намекая что Snom A100 предназначена в первую очередь для ведения беседы. Нет, никаких принципиальных неудобств при прослушивании музыки не возникает, но низкие и высокие частоты звучат не столь ярко как в гарнитурах для этого предназначенных.



Микрофон в нашей гарнитуре захватывает чуть более широкий диапазон частот 100-10 000 Гц, имея пассивное шумоподавление микрофон обеспечивает достойное качество звука, оставляя его чистым и громким.

Итог


Что мы имеем в итоге? Гарнитура A100 удобна в использовании, и обеспечивает хорошее качество звука, а что еще нам нужно от проводной гарнитуры? За счет множества переходников обеспечивается универсальность использования, а разъем QR позволяет использовать гарнитуру с различными устройствами, осуществляя быстрое подключение и отключение от них когда это необходимо.
Подробнее..

Обзор микросотовой системы DECT Snom M700

11.11.2020 10:16:50 | Автор: admin

Доброго времени суток, дорогие читатели!


Мы с вами уже рассмотрели модельный ряд настольных телефонов и гарнитур. Что же дальше? Предлагаем вам взглянуть на наши телефонные аппараты, работающие по протоколу DECT, и начать с микросотовой системы на основе базы Snom M700. Перед прочтением обзора обязательно ознакомьтесь с видео по данной системе и одной из используемых трубок.


Микросотовая DECT-система и принципы её работы.


Уже дважды в наших обзорах мы обращались к вопросу работы протокола DECT в целом и устройств его использующих. Но микросотовая система имеет собственную специфику работы, выделяющую ее из общего ряда подобных решений. Начнем с задач, ради которых разрабатываются такие системы.
Как и любая технология, построенная на радиоволнах, технология DECT имеет определенный радиус действия. В данном случае это до 50 метров в помещениях и до 300 метров в прямой видимости. Казалось бы, расстояние немалое, но в масштабах складов, заводов и автоцентров не столь значительное, и его явно не хватит для полноценного покрытия таких мест. Кроме того, трубки в стандартных DECT-системах взаимодействуют только с одной базой единовременно, хотя и поддерживают роуминг.
Роумингом в DECT-системах называется возможность работать с несколькими базовыми станциями. При этом не подразумевается, что трубка работает с ними одновременно, имеется ввиду сама возможность запоминать базовую станцию и подключаться к ней при возможности (например, если уровень сигнала у нее выше) или необходимости (когда в радиусе действия нет других баз).
Помимо роуминга, в микросотовых DECT-системах существует понятие хендовера.
Хендовер это возможность трубок переключаться между базовыми станциями в процессе разговора без его прерывания. Именно эта технология делает использование микросотовой системы настолько удобным для абонентов, поскольку позволяет свободно перемещаться в пределах одного или нескольких зданий. Естественно, система на основе базовых станций M700 поддерживает как хендовер, так и роуминг.

Дизайн.




Дизайн M700 имеет современный и строгий. Плоский черный матовый корпус несет на себе единственный индикатор и это основное, что кроме логотипа привлекает внимание на передней части корпуса.



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

Функционал системы.


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



Чаще всего DECT-менеджер является отдельным устройством, которое не распространяет радиосигнал, а служит исключительно для управления, таким образом при приобретении микросотовой системы вам необходимо купить не только базовые станции, но и достаточно дорогостоящий контроллер, что повышает стоимость системы в целом.
Вторым очевидным минусом является отказоустойчивость подобных систем. Если настройки хранятся и применяются единственным устройством, то при отказе этого устройства ваша система становится полностью неработоспособной. Хорошо если устройства в системе универсальны и разделены только используемой сейчас ролью или версией ПО, но если DECT-контроллер еще и по своему устройству отличается от базы, то потеря его грозит долгим простоем оборудования, а если заранее не был сделан бэкап настроек то и полной перенастройкой системы.
Этих недостатков лишена наша микросотовая система. Суммарно в нее подключаются до 254 базовых станций, при этом данные об абонентах содержатся на каждой из базовых станций, отдельного контроллера в системе не существует.



Помимо базовых станций нас, естественно, интересуют и трубки, подключаемые к данной системе. В следующем обзоре мы максимально подробно поговорим о них, а пока скажем несколько слов о каждой. С микросотовой системой M700 работают следующие трубки:

Snom M85

Данная трубка предназначена для использования в промышленных условиях, а автомастерских, на заводах, складах. Трубка имеет степень защиты от пыли и влаги IP65 и противоударное исполнение. Также имеется тревожная кнопка и датчик положения, позволяющие использовать микросотовую систему не только как средство связи, но и как средство оповещения о непредвиденных ситуациях.

Snom M65

Трубка для офисного использования. Оснащена достаточно емким аккумулятором, позволяющим работать до 250 часов в режиме ожидания и до 17 часов в режиме разговора. Трубка обладает большим ярким дисплеем, а взаимодействие с микросотовой системой позволяет выводить на него до 3000 контактов корпоративного телефонного справочника.

Snom M25

Наиболее бюджетная трубка данной микросотовой системы. В отличие от M65 данная трубка использует аккумуляторные батареи формата AAA, поэтому длительность работы в режиме ожидания у нее всего 75 часов. Трубка несмотря на бюджетность имеет весьма интересный, пусть и несколько минималистичный дизайн с металлизированной клавишей управления и элегантной металлизированной зарядной подставкой.
Упомянутых выше трубок к базовым станциям M700 подключается до 1000 штук.



О трубках мы вам рассказали, осталась еще составляющая DECT-системы, а именно DECT-ретранслятор M5. Ретранслятор используется для расширения радиуса действия базовых станций, при заметно меньшей стоимости по сравнению с базовой станцией, ретранслятор имеет тот же радиус распространения радиосигнала, хотя и не может стоять в промежутке между базами. Еще один минус использования ретранслятора уменьшение количества одновременных вызовов. Если сама базовая станция поддерживает до 8 одновременных вызовов на базу в режиме микросоты, то репитер лишь пять.

Итог




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

Обзор DECT трубок Snom M25, M65 и M85

23.11.2020 14:22:47 | Автор: admin

Здравствуйте, уважаемые читатели!


Как вы наверняка помните, прошлый наш обзор был посвящен микросотовой DECT системе Snom M700. Сегодняшний обзор посвящён трубкам, работающим с этой системой, а именно моделям M85, M65 и M25.



Микросотовая DECT-система. Синхронизация.


Начнем традиционно с разбора некоторых особенностей работы микросотовых DECT-систем. Сегодня предлагаем рассмотреть вам тему синхронизации, правильная настройка которой крайне важна для работы хендовера, о котором мы рассказывали вам ранее. Для работы этой функции должны выполняться следующие условия:

  • Достаточный уровень сигнала между базами
  • Настроенная синхронизация между ними же

Если с первым все более или менее понятно: располагаем базы достаточно близко друг к другу и учитываем затухание от стен и получаем удовлетворительный уровень сигнала в зоне покрытия системы, то со вторым все чуточку сложнее.
Синхронизация базовых станций подразумевает установление связи между всеми станциями, находящимися в одном сегменте микросотовой сети. Базовые станции синхронизируются с помощью радиосигнала, по воздуху, поэтому сегментом, или кластером называют часть микросотовой системы, изолированную от других частей с точки зрения радиосигнала. Имея N баз, которые являются кластером, мы начинаем настраивать синхронизацию. Синхронизация распределяется по уровням. В каждом кластере будет присутствовать одна база 1-го уровня и расходящиеся от нее базы более низких уровней. Первым делом назначаем базу 1-го уровня, стараясь чтобы она располагалась, физически, в центре вашего кластера. Ближайшие к ней базы получают уровень 2, следующие за ними 3-ий, и так далее. Чем меньше уровней тем лучше. Настройка повторяется в каждом из кластеров для корректной работы системы в целом.

Snom M85



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



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

Snom M65



Данная модель предназначена для чуть более бережного обращения чем модель M85. Snom M65 имеет небольшие габариты и массу, что весьма важно для мобильных сотрудников в условиях офиса. Большую часть корпуса с лицевой стороны занимает цветной дисплей диагональю в те же 2 или 5 см. Над ним находится качественный динамик, обеспечивающий прекрасную слышимость собеседника, над которым расположился световой индикатор. Последний плавно переходит на верхнюю плоскость корпуса, позволяя вам, например, узнать о пришедшем сообщении голосовой почты вне зависимости от расположения трубки и вашего угла зрения.



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



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

Snom M25



Самая бюджетная трубка системы не является гадким утенком линейки и полностью справляется с возложенными на нее обязанностями средства связи. Как и упомянутые выше модели, M25 имеет разъем для гарнитуры 3.5 мм расположенный на боковой части корпуса. На другой стороне от разъема размещен световой индикатор. Решение визуально очень интересное и, благодаря тому, что индикатор чуть выступает за габариты корпуса, обеспечивая хорошую видимость, вполне функциональное.



Размер дисплей M25 по сравнению со старшими собратьями уменьшился до 1.44. Тем не менее, благодаря крупным иконкам меню и надписям интерфейса вся информация с дисплея воспринимается без каких-либо проблем. Клавиши номеронабирателя по размеру принципиально не отличаются от клавиш старшей модели, но расположены чуть дальше друг от друга, что упростит набор номера при наличии маникюра или перчатках, надетых на руки, что весьма актуально в наше время. Навигационные клавиши от старших моделей не отличаются, напоминая о принадлежности трубок к единой линейке и облагораживая внешний вид устройств.



Дополнительных функциональных клавиш трубка не имеет, все управление осуществляется из меню аппарата.
Еще одно отличие M25 от старших моделей в аккумуляторных батареях. Если в старших моделях используются литий-ионные аккумуляторы, то в младшей модели используются стандартные аккумуляторы формата AAA.



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

Итог


Микросотовая DECT-система M700 решение универсальное, и не только благодаря логике построения, выгодно отличающей ее от конкурентов, но и благодаря оконечным устройствам трубкам, обладающим широким функционалом, эргономичным и внешне весьма и весьма привлекательным.
Подробнее..

Привычный ужас в SIP, или о том, как не надо проектировать сетевые протоколы. Часть 1 синтаксис и морфология

22.03.2021 22:08:50 | Автор: admin

Здравствуйте, меня зовут Валентин, и я задолбался. Нет-нет, вы всё ещё на Хабре.

Все технологии телефонии ужасны.
Большинство технологий разработки IETF ужасны. Может, не ужасны-ужасны, как ISO
Когда они смешиваются ну вы в курсе. Или ещё нет? Получается SIP.


Это пост ворчания, техническая суть которого может быть полезна паре сотен человек. Но, to grumble is human.





Начнём с синтаксиса



HTTP заголовок видели все. Ну, большинство. Кто не видел может посмотреть на заголовок почтового письма (email). Принципы взяты оттуда, НО...



Я буду брать примеры из стандартных RFC, чтобы не влияла местная специфика. Типичное сообщение выглядит в таком стиле:



INVITE sip:bob@biloxi.example.com SIP/2.0
Via: SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70
From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: Bob <sip:bob@biloxi.example.com>
Call-ID: 3848276298220188511@atlanta.example.com
CSeq: 1 INVITE
Contact: <sip:alice@client.atlanta.example.com;transport=tcp>
Content-Type: application/sdp
Content-Length: 151

v=0
o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
s=-
c=IN IP4 192.0.2.101
a=sendrecv
t=0 0
m=audio 49172 RTP/AVP 0
a=rtpmap:0 PCMU/8000


Alice инициирует звонок к Bob (полные адреса указаны в виде user@domain), предлагая аудио в кодеке PCMU (G.711u) и сообщая свои адреса (хост: порт) для сигнализации и для медии.

Пойдём вглубь

Параметры, параметры и параметры



У нас есть address parameters, URI parameters и user parameters. Не то чтобы это был необходимый набор для работы, но если начал, становится трудно остановиться Все три отделяются точками с запятой, ограничения на синтаксис у всех немного разные. Смотрите не перепутайте. Кстати, чем отличается адрес от URI, тоже не каждому сразу получится объяснить. Адрес (определение формально не встречается в спеках, но постоянно используется на практике) это содержимое всяких From/To/Contact/Route (один элемент, где их несколько), URI с параметрами и (возможно) именем Ну поехали:



To: sip:bob@example.com
тут всё просто схема, домен и юзер.


To: sip:bob@example.com;xyz=123
xyz=123 параметр адреса. Но: если URI должен присутствовать сам по себе, как в первой строке запроса:

INVITE sip:bob@example.com;xyz=123
то xyz=123 будет уже параметром URI.

To: <sip:bob@example.com>;xyz=123
To: "Bob" <sip:bob@example.com>;xyz=123
xyz=123 параметр адреса.

To: <sip:bob@example.com;xyz=123>;xyz=456
xyz=123 параметр URI.
xyz=456 параметр адреса.

To: sip:bob;rn=alice@example.com;xyz=987
Так нельзя. Странно, да? Хотя если URI там, где нужен именно URI (в request line), то можно:
INVITE sip:bob;rn=alice@example.com;xyz=987 SIP/2.0

Надо заключить в угловые скобки:

To: <sip:bob;rn=alice@example.com;xyz=987>;xyz=123
rn=alice параметр юзера.
xyz=987 параметр URI.
xyz=123 параметр адреса.


Кстати, во всех допускаются символы за пределами очевидного набора типа [A-Za-z0-9] и ещё некоторого набора неожиданно допущенных, но по-разному. В user и в URI надо квотить недопустимое их кодами через %XX, а в адресе через quoted string, и никак иначе. Поэтому параметр со значением a%\b будет передан:


To: <sip:bob;xyz=a%25%5Cb@example.com;xyz=a%25%5Cb>;xyz="a%\\b"

В спеке на синтаксис, обобщение для параметра URI зовётся other-param, а параметра адреса generic-param. Смотрите не перепутайте, правила для них заметно разные. Кстати, user parameters это другая спека (точнее, произведение двух RFC4694 + RFC3398).


Что может быть значением параметра URI? Что угодно, только надо его единообразно заквотить (через %XX), дальше это набор октетов (UTF-8, если в SIP). Примеры были выше.


Что может быть значением параметра адреса? token, quoted string или host. Кстати, token это не token в смысле грамматического разбора. Это особый token, которого лично зовут token. Но при этом с маленькой буквы, потому что он самый скромный token.


To: <sip:bob@example.com>;xyz=127.0.0.1

127.0.0.1 это host или token? Допустимы оба. Должен ли я считать, что это host?

To: <sip:bob@example.com>;xyz=[fe80::1]
To: <sip:bob@example.com>;xyz="[fe80::1]"

Значения одинаковы. Но в первом случае это host подтипа IPv6reference,
во втором quoted string. Если я прокси и передаю параметр через себя, я должен сохранить, чем он был восстановление по содержимому не поможет.


Кстати, к предыдущему примеру:



To: <sip:bob@example.com>;xyz="127.0.0.1"

это не host и не token. Но если объекту типа address скажут назначить параметр со значением "127.0.0.1" какой тип выбрать? Ах ну да, такая установка уже должна указывать тип...


Вместе с тем, что если это token, то регистр букв не имеет значение, а если quoted-string, то имеет; а если host, то снова не имеет для адекватности одновременно обработки и сохранения исходного значения (про регистр подробнее ниже) я должен хранить:


1) Исходную форму как октетную или unicode строку для точного воспроизведения;
2) Приведённую форму для сравнения;
3) Признак, какого типа был параметр на входе (насколько это вообще восстановимо, не зная по названию параметра, чем он должен быть хотя годится обобщение типа любой host кроме IPv6reference может храниться как token там ещё есть несколько подобных тонкостей).


Но в To допускается только один адрес. А в Contact несколько. Есть некоторые другие поля заголовка, где тоже можно, но пока пусть например будет слонёнок Contact:

Contact: sip:alice@example.com, sip:bob@example.com

Да, можно.


Contact: <sip:alice@example.com>, sip:bob@example.com, <sip:mallory@example.com>

Тоже можно.


Contact: sip:alice,bob@example.com

Нельзя. URL с запятой должен быть заключён в <>. Распарситься не должно: после запятой нет схемы URL.


Contact: sip:alice, bob bob bob <bob@example.com>

Уже можно. Хотя это надо минимум три синяка от граблей, чтобы сразу видеть, что alice уже не юзер, а домен.


Contact: sip:alice,bob@example.com, sip:mallory@example.com

Нельзя. URL с запятой внутри поля заголовка конструкции адрес должен быть заключён в <>.


Contact: <sip:alice,bob@example.com>, sip:mallory@example.com

Уже можно. При этом второй адрес заключать не обязательно.


Хорошо, а это что тогда?


Contact: sip:alice,sip:bob@example.com

Это два адреса в контактах: sip:alice (alice это хост, user отсутствует целиком) и sip:bob@example.com. Но:


Contact: <sip:alice,sip:bob@example.com>

Это один адрес с user=alice,sip и паролем bob. Да-да, запятая в user возможна и её можно не квотить.


Это я ещё не вспоминал, что впереди может быть display-name, а позади адресные параметры:


Contact: sip user <sip:alice>, "The Bob" <sip:bob@example.com>;
foo="The Bob, Almighty and Superb <sip:bob>", <tel:alice;xyz=987>


И снова здравствуйте, меня зовут Валентин. (Здравствуй, Валентин ответил нестройный хор.) Я сделал реализацию разбора SIP регулярными выражениями, и нет, я не стыжусь этого. У меня нет проблем, которые нельзя так решить: в грамматике нет рекурсии (максимум есть списки), и, к счастью, это единственное, что там хорошее. Если бы была рекурсия разбор был бы ужасен-ужасен. А так, он просто ужасен:


>>> len(SipSyntax.re_addr)
2847

Нет, мне не страшно. Потому что эти выражения формируются из отдельных частей:


re_addr = "(?:%s|%s)%s?" % (re_name_addr, re_addr_spec_short, re_gen_params_wsc)

и на каждом этапе я могу проверить качество каждого выражения и соответствие правилам комбинирования. Кстати, некоторые мелочи, которые никогда за почти 20 лет существования продуктового стека не понадобились (типа возможности absoluteURI), тут не реализованы. С ними было бы ещё в полтора раза больше, наверно.


Но почему таки регулярные выражения? спросит отдельный робкий голос. Ответ: а потому что Python.


Я сравниваю один и тот же разбор URI на Python через regexps, Java через regexps и Java через пропуск по классам символов. Сравнение эффективности на одной и той же железке (Ryzen5):


CPython + regexps        - 14K/secPyPy    + regexps        - 130K/secJava    + regexps        - 270K/secJava    + symbol classes - 1800K/secPyPy    + symbol classes - 3K/sec

Всё потому, что в Python движок регулярных выражений написан на C, а обходить его означает выходить на уровень интерпретатора, который страшно медленный. Предкомпилированные (на этапе загрузки модулей парсинга) выражения превращаются в аккуратные таблички в памяти это хуже, чем выхлоп какого-нибудь re2c, но по ним бегает неплохо оптимизированный код матчинга. В Java вроде JIT, но движок регулярных выражений написан на самой Java, и JIT ему не очень помогает, когда логика состоит из сплошных переходов с лукапами по табличкам, которые этим JITом не перерабатываются. На чём-то напрямую компилируемом цифры могут быть ещё вкуснее нет, я не буду впадать в этот флейм. PyPy заметно помогает, но есть порог, за которым кончается и его умение (а цифры говорят, что >90% накладных расходов CPython это работа со структурами Python, а не собственно управление памятью, парсинг и т.п.)


Что такое лукап по классам символов это в таком духе:


        while (pos < limit && (b = source[pos]) >= 0 &&                SipSyntax.userinfo_allowed[b] != 0)        {            ++pos;        }

табличка userinfo_allowed тщательно выверена руками и подкреплена юнит-тестом.


(Меня удивила цифра PyPy, но, может, это я оказался такой криворукий. Но на CPython я даже не пытаюсь это делать страашно. Ладно, может, попробуем, как сады зацветут.)


А ещё есть проблема '#'. По RFC, такое не разрешено:


INVITE sip:123#456@example.com SIP/2.0
From: <sip:123#789@example.com>; tag=from1


но не только лишь все (tm), начиная с Cisco, это игнорируют. Поэтому почти сколько существует наш продукт, почти столько и существует параметр получателя url_hash_safe, который говорит рисовать #, а не %23 (а %23 многие из них не понимают). Но некоторые наоборот, не понимают, если ставить '#'. Поэтому нужна регуляция по конкретному ремотному участнику определять, кому таторы, а кому ляторы. Последний раз я подсказывал техподдержке включить этот параметр прошлой осенью. Наверно, эта проблема будет жить вечно. Ах да, '*' ещё один частый символ в этих последовательностях разрешён явно и проблемы не вызывает. Неаккуратненько-с.


В RFC3261 есть роскошное примечание:


The Contact, From, and To header fields contain a URI. If the URI contains a comma, question mark or semicolon, the URI MUST be enclosed in angle brackets (< and >). Any URI parameters are contained within these brackets. If the URI is not enclosed in angle brackets, any semicolon-delimited parameters are header-parameters, not URI parameters.

Спасибо, дорогая партия, за наше счастливое детство. У меня вопрос: а зачем вообще было разрешать вариант без угловых скобок? Ах да, забыл: в Route и Record-Route угловые скобки обязательны. В From, To, Contact нет. Картина Репина.



Почему не готовый движок парсинга?


Если упоминается Java, кто-то обязательно спросит почему не ANTLR?


Я пробовал применить ANTLR. Нет, конечно, это можно. Забитый молотком шуруп держится лучше, чем вкрученный отвёрткой гвоздь. В linphone его применяют. Но уже там видны недочёты.


Ему нельзя снаружи управлять контекстом для лексического анализатора, а это критично. Есть несколько разных стартовых контекстов: как минимум: первая строка сообщения, URI, адрес, ряд специфических заголовков со своими правилами (Call-Id, Authorization...)


Можно было бы справиться с semantic rules на месте, но:


  • Каждый парсер стартует со своим лексером.
  • Лексер не может получать указание по контексту от парсера, он должен определять это сам.
  • Контекстов очень много.

Часто однозначного решения нет. Начало адреса может присутствовать или схема с ':' (включать ли двоеточие в токен лексера?), или display-name как последовательность token (это не тот токен, это другой токен, который token в грамматике SIP). После схемы в SIP-URI или хост, или username, и различить их можно только по тому, что раньше встретится после него (может, заметно после него) '@', ';', '?' или EOI. Не так предсказал откат назад на другую гипотезу.


Начальных контекстов как минимум: начало адреса (одиночного или множественного поля заголовка типа From, To, Contact, Route, Record-Route...); начало URI (например, в первой строке SIP запроса). Есть ещё несколько специфических контекстов для авторизационных заголовков, например там целые URI могут находиться в кавычках. В результате, получается сплошное дублирование. Грамматики лексеров не могут включать другие грамматики лексеров (почему?) В результате чтобы избежать копипастинга надо генерировать грамматики отдельным макропроцессором. Ну спасибо...


Альтернативно, можно было бы на уровне лексера определить каждый символ, а выше собирать их уже в грамматические конструкции. Исключение даётся только для quoted-string (и то за пределами авторизационных заголовков). Но производительность падает на порядки, реализация на Java становится тормознее реализации на Python+regexps.


Поэтому доступные реализации невозможно читать без ящика водки. Виски не подойдёт: он для добавления положительных эмоций, а не гашения отрицательных. Если бы не требование менять контексты лексера из самого лексера, было бы ещё подъёмно (LL() превратился бы в цивилизованный PEG), но не как сейчас.


Вместо регулярных выражений можно использовать классы символов. И на компилируемом языке это быстрее (ускорение раз в 5 я получаю без оптимизационных ухищрений). Но не на Python: его движок регулярных выражений на C, а поиск по строке будет чудовищно дорог.


В целом, мир грамматики IETF выглядит сущностью, принципиально противоположной тому, что рекламируется, например, в Dragon Book. Возможно, для него нужна своя теория, которая будет заметно отличаться от знаменитых LL(k), LR(k) и прочих. Но я такого не видел.


И ложка мёда:


А знаете, что хорошо по сравнению с RFC822, например? Границы строк чётко определены. Кошмариков типа "\\\r\n", которое неверно разбирали 99% почтовых парсеров, уже нет. Поэтому я могу (и даже обязан) сначала опознать границы строк, по ним полей заголовка, и тогда каждый подавать на разбор уже по своему вкусу (а скорее всего вообще не подавать те, что не нужно).


За 17 лет (1982->1999) IETF кое-чему научился. Жаль, что это так медленно происходит.



Морфология


У нас в каждом сообщении нужно посылать From и To. На INVITE выше приходит ответ, например:


SIP/2.0 100 TryingVia: SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4bK74bf9    ;received=192.0.2.101From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76slTo: Bob <sip:bob@biloxi.example.com>Call-ID: 3848276298220188511@atlanta.example.comCSeq: 1 INVITEContact: <sip:bob@client.biloxi.example.com;transport=tcp>Content-Length: 0

Реально они нужны только в одном виде сообщений в начальном для установления диалога (или в отдельной транзакции). Дальше их можно тупо выкидывать, от этого ничего не поменяется: на них ничего не завязывается и никто не парсит, хотя пропускать их запрещено. Матчинг ответов на транзакции происходит по h_Via.branch. Матчинг ответов внутри диалога происходит по тегам диалога. И снова, смотрите не перепутайте. Я сам путаюсь, когда через несколько месяцев не-общения с этим всем возвращаюсь к тематике.


Так зачем же нужны эти From и To? А затем, что там теги.


From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: Bob <sip:bob@biloxi.example.com>;tag=skfhjskdkfsd

Ах да, я ж забыл упомянуть теги:


У нас есть call-id и есть два тега. Вместе они образуют полный идентификатор диалога (ассоциация между двумя конечными участниками). Сообщение внутри диалога (у него два тега) определяет модификацию установленного звонка, а вне диалога (только один тег) новый звонок. (Я упростил всё, что можно, но для первого описания пойдёт.)


Call-id имеет особые, ни на что остальное в SIP не похожие, правила допуска и сравнения. Он регистрозависим (в отличие от тегов диалога), но об этом ниже. У него свой набор допустимых символов. Call-id неуникален, его совпадение у соседних звонков норма и закономерность (при форкинге диалога, когда на один запрос отвечают несколько удалённых участников). В отличие от, теги диалога уникальны, требуется хотя бы 32 бита случайности при их генерации, больше лучше. На самом деле после генерации тегов call-id вообще не нужен, у него роль мнэээ в рамках стандартных использований по RFC у него роли вообще нет, кроме как путаться под ногами, всё работало бы и без него. А вот для B2BUA, как у нас, call-id начинает выполнять особую функцию связи между звонками на разных сторонах одного B2BUA. Но B2BUA не определён ни одним RFC даже в ранге informational; это такое странное понятие, на которое ссылаются в нескольких RFC, но определено в лучшем случае неформально.


Так почему теги не в отдельных полях заголовка? Вы не найдёте обоснованного ответа на этот вопрос: это уже закон жизни, который тайна веков. Но зато ради них приходится полностью парсить целые From и To, с учётом всех тонкостей по содержанию (см. выше про адресные поля).


Cинтаксис возвращается: регистр букв


По непонятной прихоти call-id регистрозависим, а теги нет. Точнее, так в книге написано (tm), что они регистронезависимы. Реально же:
1) Есть UA (user agents железные или программные телефоны), которые воспринимают посылки в диалоге только если буквы в теге в том же регистре, что они посылают (если это Abc, то и надо прислать им Abc).
2) Есть UA, которые переделывают теги под себя, и если им прислать abc они ответят ABC. Или наоборот, прислали ABC а они отвечают abc.


И с обоими надо работать. Отказывать просто потому, что они нарушают ну в основном нельзя. Потому что всё равно не исправят большинство из них железные, и авторы прошивки просто не поймут, чего от них хотят. Не знаю, зачем производители железных UA нанимают таукитян или сентинельцев? Сложно разобрать, но проверено, что планета у них какая-то другая.


Какой вариант работает в итоге? Тег надо хранить в двух вариантах: приведённый к конкретному регистру для сравнения, и неприведённый для посылки другому участнику. Где-то мы это уже слышали?


И то же оказалось привет, история в Git с transport параметром URI. Потому что мы добрые, и если чужой телефон или SBC настаивает, что должно быть transport=UDP, а не transport=udp, то легче согласиться, чем спорить. Это карма авторов чисто софтового продукта: легче адаптировать софт, чем даже прошивку железного аппарата (а тем более само железо).


Но это были цветочки, основной же вопрос зачем вообще эта регистронезависимость?


Стандартные аргументы в пользу регистронезависимости: облегчение человекочитаемости. Это миф: её путают с человекоозвучиваемостью. Регистр не должен быть важен, например, в имени человека (хотя и тут могут быть тонкости). Но я не знаю, в каком случае с экрана будет читаться что-то в шрифтах, которые не различают регистр. И совсем не понимаю, почему и зачем различие регистра считается важнее, чем 100500 других различий.


Этот тезис можно обсудить в применении, например, к файловым системам отдельно (почему такие FS различают foo.docx, foo.docx , foо.docx и foo.docx (кто увидит разницу?), но не различают foo.docx и Foo.docx?), и что будет в случае (см. Turkey test), но сейчас речь не о них, а о SIP на простом беспроблемном ASCII.


Вы можете написать:


<code>From: <sip:123@foobar>;tag=mamarama</code>

но вы можете также написать:


<code>fRoM      :  <sip:123@foobaR>;TaG=mamaRAMa</code>

Все воспринимающие должны понять это одинаково. Но чего этого стоит? Обратимся к коду одной из самых быстрых реализаций Kamailio, в девичестве Sip Express Router.


/*! \brief macros from parse_hname2.c */#define READ(val) \(*(val + 0) + (*(val + 1) << 8) + (*(val + 2) << 16) + (*(val + 3) << 24))#define LOWER_DWORD(d) ((d) | 0x20202020)...#define _cont_ 0x746e6f63......                                // например возьмём этот кусок                                if ((LOWER_DWORD(READ(c)) == _cont_) &&                                        (LOWER_DWORD(READ(c+4)) == _ent__) &&                                        (LOWER_DWORD(READ(c+8)) == _type_)                                ) {                                        /* Content-Type HF found */

Ну, это хорошо работает на C. (Clang умудрился свернуть READ в просто 32-битное чтение из памяти. GCC этого не сумел. Ну не так страшно.) Уже на Java надо финтить, но хотя бы есть ByteBuffer. На интерпретаторах вроде Python, и на Java на строках, это превращается в чудовищную затрату или времени, или памяти, или обоих сразу.


Но и этот детект помогает только в очень ограниченной роли быстрый поиск по первым четвёркам символов (а ещё есть альтернативные имена полей f вместо from, i вместо call-id; пробелы до и после ':' в неограниченном количестве; и так далее). А как только мы выходим за пределы средств с прямым изменением в буферах привет, копирование.


Продолжение следует

Подробнее..

Не спешите выкидывать свой PolyCom

20.11.2020 18:16:58 | Автор: admin

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

Подробнее..

Из песочницы Kamailio SBC или не SBC?

14.06.2020 16:21:45 | Автор: admin

Возможно многие, кто по той или иной причине сталкивается VoIP, особенно с решениями с открытым исходным кодом, слышали такое выражение: "Kamailio SBC". В этой статье постараемся разобраться правильно ли приравнивать Kamailio к SBC (пограничный контроллер сессий) и можем ли мы вообще использовать Kamailio в этом качестве. Начнем с краткого обзора SIP протокола, основных функций SBC и первопричин возникновения этого устройства.


Протокол инициации сеансов (SIP), за последние 10 лет перешел от эксперимента исследователей и VoIP энтузиастов фактически в стандарт для IP телефонии. Прародителем SIP, как известно, является протокол HTTP, откуда и была унаследована клиент-серверная архитектура. Основными элементами SIP сети являются: клиент агента пользователя (UAC), сервер агента пользователя(UAS), прокси-сервер (proxy server), сервер переадресации (redirect server), сервер регистрации (registrar) и определения местоположения пользователей (location server). Все эти элементы и составляют SIP сеть, о них и способах их взаимодействия подробно описано в SIP спецификациях, однако в этих документах нет упоминания о SBC.


Термин SBC относительно неспецифичен, не стандартизирован и нигде официально не определен. Тем не менее широкой общественности он известен, во многом благодаря активному маркетингу со стороны компаний производителей, как "незаменимый" компонент VoIP сети.


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


Фактически же причиной возникновения таких устройств как SBC стали различные конструктивные недостатки протокола SIP.


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


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


Вероятно, самой большой ошибкой в дизайне SIP было игнорирование существования NAT. Эта ошибка возникла из-за убеждения руководства IETF (инженерный совет интернета) в том, что пространство IP-адресов в скором времени будет исчерпано и потребуется глобальный переход на IPv6, который и устранит необходимость в NAT.


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


Многочисленные абстрактные понятия в SIP, привели к тому что разработчики ПО толковали их по-разному, хотя некоторые из этих понятий и были исправлены в более поздней версии SIP и его расширениях, но уже существующие к тому времени различные SIP устройства имели свои особенности работы. Это привело к необходимости нормализации SIP протокола.


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


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


И так, что такое SBC?


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


Таким образом, достаточно сложно дать точное определение SBC, которое будет применяться ко всем реализациям. Однако в целом можно определить некоторые функции, которые являются общими для большинства SBC. Например, большинство SBC реализовано как B2BUA. B2BUA это сервер, который разделяет транзакцию SIP на две части: на стороне пользователя UAC, он действует как сервер, a на другой стороне, он действует как клиент. Тем самым SBC фактически нарушает сквозную природу соединений SIP.


Существует два сценария использования SBC это peering и access.


В первом случае SBC установлено между сетями операторов, которые обмениваются трафиком. Оператор может использовать SBC, чтобы контролировать доступ к своей сети, защищать свои шлюзы от несанкционированного использования и различных атак (DoS/DDoS), для мониторинга сигнального и медиа трафика. SBC также упрощает менеджмент внутренней сети, являясь единой точкой доступа, с которой разрешен трафик для всех внутренних устройств.


В access сценарии SBC размещен на границе между сетью доступа (внешняя сеть) и сеть оператора / предприятия (внутренняя сеть). Основные функции это контроль доступа, защита компонентов сети (медиа серверов, серверов приложений, шлюзов и т.д.) от несанкционированного использования и DoS/DDoS атак. В отличие от peering, в access сценарии SBC должен уметь обрабатывать REGISTER запросы, изменяя их таким образом, что все последующие запросы для зарегистрированного AoR проходили через SBC. Кроме того, некоторые конечные точки могут быть за NAT-ом. В этом случае SBC должен уметь решать эту проблему (far-end NAT traversal).


К вопросу о Kamailio


Является ли Kamailio SBC? Нет. Конечно, Kamailio это не SBC, по своему первоначальному предназначению. Kamailio это SIP прокси сервер. А вот может ли Kamailio выполнять функции SBC? Это уже другой вопрос, который лучше привести к форме: можно ли реализовать SBC, взяв за основу Kamailio SIP прокси? Ответ на этот вопрос можно дать только после того, как точно известно, какие именно функции нам необходимы.


По своему опыту могу сказать, что большинство задач, связанных с реализацией Kamailio как SBC сводятся к конфигурации некоего SIP файрвола с функцией агрегации и балансировки трафика + медиа прокси и обход NAT для клиентов. В некоторых вариациях это может быть также WebRTC шлюз, может включать транскодирование, интеграции с различными биллинг решениями и многое другое.


Ниже я приведу описание некоторых возможностей, которые позволяют реализовать Kamailio в качестве пограничного контроллера сессий:


Безопасность (SIP FIREWALL, secfilter)


Обеспечение безопасности пользователей и бизнеса это задачи с повышенным приоритетом. В современном мире, особенно в мире VoIP, атаки случаются 24/7. Многие наверняка знакомы с ситуацией, когда на только что установленный sip сервер сразу же начинают поступать регистрации или инвайт запросы с различных адресов.


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


С Kamailio можно решать следующие задачи:


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


Кроме того Kamailio можно интегрировать с IM и получать оповещение, например в слак канал.


Скрытие топологии (TOPOLOGY HIDING)


Скрытие топологии необходимо по коммерческим причинам, например транзитные провайдеры не хотят раскрывать клиентам своих поставщиков, и конечно же и из соображений безопасности. Для того чтобы скрыть топологию сети необходим B2BUA.


Kamailio может притворятся B2BUA с помощью модулей topoh и topos, которые используют два разных подхода к сокрытию сетевых адресов.


Оба подхода вполне справляются со своей задачей, но так как все же Kamailio по своей природе это SIP прокси, то иногда могут возникнуть случаи, когда скрытие топологии работает не совсем так, как ожидалось. В этих случаях на помощь может прийти, незаслуженно недооцененный в VoIP сообществе SEMS с его модулем sbc, который отлично справляется с данной задачей.


Регистрация пользователей (REGISTRAR)


Kamailio превосходно выполняет функции регистратора. Если в архитектуре VoIP сети предполагается концентрация большого количества регистраций на одном централизованном узле, то Kamailio это отличный выбор.


В сценариях, когда большое количество мобильных клиентов регистрируются на одном устройстве, может понадобиться так называемый "промежуточный регистратор" (mid registrar), который может уменьшать нагрузку на основной регистратор путем "поглощения" частых перерегистрации клиентов и преобразования их в менее частые.


Надо сказать, что в OpenSIPs уже есть готовая реализация данной функциональности в модуле mid_registrar. В Kamailio эту логику, при необходимости, можно написать самостоятельно.


Маршрутизация и балансировка трафика (LCR, DROUTING, etc)


Это одна из основных функций SBC. Стоит отметить, что чем больше возможностей она предоставляет тем лучше. В Kamailio для решения этой задачи есть сразу несколько модулей, работающих из коробки: lcr, carrierroute, drouting, pdt, dispatcher, prefix_route. Очень часто в конфигурации используется комбинация из нескольких модулей, что дает возможности для гибкой настройки маршрутизации на основе IP адресов, А и Б номеров, доступности транков, времени суток, стоимости трафика, на основе местоположения (lost модуль) и так далее.


Манипуляция SIP заголовками (TEXTOPS)


Часто возникает необходимость добавить или изменить значение в SIP заголовке, добавить свой или же наоборот удалить (скрыть) лишние заголовки. Камаилио легко справляется с этой задачей. Также имеется возможность манипулировать SDP.


Конвертация протокола и разделение сетей


В сценариях, требующих маршрутизировать SIP трафик через несколько интерфейсов, Kamailio может выполнить мостовое соединение (бридж) между различными IP-сетями (внутренними и внешними, IPv4 и IPv6) или между различными транспортными протоколами для SIP (например, динамически конвертировать UDP в TCP или TLS).


Обеспечение работы клиентов за NAT (NAT TRAVERSAL)


Если SBC используется в access сценарии и на нем регистрируются абоненты, то в большинстве случаев они будут находиться в где-то в приватной сети, за роутером или wi-fi точкой доступа, в этом случае необходима реализация обхода NAT со стороны сервера (server-side NAT traversal). Нужно упомянуть также, что существуют еще и обход NAT со стороны клиента (client-side NAT traversal), в этом случае ответственность за определение своего внешнего адреса лежит на клиенте (STUN,ICE). В Kamailio обход NAT можно реализовать с помощью модуля nathelper, расширения rport (RFC3581) и rtpengine.


Медиа прокси (RTP RELAY)


Kamailio работает с SIP сигнальным протоколом и не знает ничего о RTP. Для реализации медиа прокси нужно использовать стороннее приложение. Есть несколько на выбор, все отлично справляются со своей задачей, но на одном стоит заострить внимание это rtpengine.


Компания Sipwise занимается разработкой rtpengine уже более 10 лет. Он отличается от других RTP прокси своим богатым функционалом. Rtpengine использует пересылку пакетов в привилегированном режиме (kernel mode), это позволяет добиться передачи RTP на скорости, близкой к скорости передачи данных. Кроме того у него есть множество функций: поддержка SRTP, ICE, возможность делать записи разговоров, транскодирование и даже возможность проигрывать звуковые файлы.


Также rtpngine можно легко масштабировать, достаточно добавить больше инстансов и объединить их в кластер. Есть поддержка репликации RTP сессий в режиме реального времени с использованием redis.


Репликация данных и отказоустойчивость


О построении отказоустойчивого кластера и катастрофоустойчивости можно написать отдельную статью, нюансов здесь достаточно. Репликация данных в Kamailio реализуется с помощью модуля dmq, который качестве транспортного протокола использует SIP, может мониторить и обнаруживать новые ноды в сети, автоматически синхронизироваться после сбоя. С помощью этого модуля возможно реплицировать динамические данные, такие как: состояние активных сессий, регистрации, данные хэш таблиц, статусы присутствия клиентов (presence).


Также для репликации можно использовать SQL, например модуль db_clusterer, который является своего рода "прослойкой" между модулями и базой данных.


В заключении хочу вернутся к тому с чего я начал статью: Kamailio это не SBC, но те функциональные возможности, которые он имеет, обширный набор модулей, поддержка REST, RPC, websockets, позволяют программисту, а для написания скрипта Kamailio Вам понадобится некоторый опыт разработки ПО, реализовывать практически любые сценарии и интеграции как на нативном языке, так и с помощью KEMI на таких языках как python, lua, javascript.

Подробнее..

Программные IP-АТС, E1, DSS-1 и нагрузочное тестирование

15.07.2020 22:07:35 | Автор: admin
Всем доброго вечера! Сегодня я решил написать про тестирование протокола DSS-1 в IP-АТС, начнем как всегда с теории, рассмотрим преобразования сообщений из SIP в DSS-1, поговорим про анализаторы протоколов и закончим нагрузочным тестированием.

Введение
Как говориться без теории никуда, хоть информации о потоке E1 и протоколе DSS-1 предостаточно, опишу основные моменты, которые важны для понимания дальнейшего материала.
Протокол DSS-1 имеет три уровня.
Первый уровень физический, отвечает за непосредственно установление физического соединений и формирование каналов PRI и BRI. Basic Rate Interface (BRI) содержит 2 B канала 64 кбит/с и один D-канал 16 кбит/с, Primary Rate Interface (PRI) содержит 30 B каналов 64 кбит/с и 2 D-канала 64 кбит/с. B-каналы передают голос, данные, в то время как D-каналы являются сигнальными. Один из каналов сигнализации служит для синхронизации оконечного оборудования, другой для передачи данных об устанавливаемых соединениях.
Второй уровень канальный, на данном уровне работает протокол Link Access Protocol D Channel (LAPD) спецификация Q.921. Протокол LAPD отвечает за формирование логических каналов. Соответственно после установлении физического соединения должно установиться логическое: NETWORK посылает сообщение SABME (Set Asynchronous Balanced Mode Extended, установить расширенный асинхронный режим), CPE отвечает сообщением UA (Unnumbered Acknowledge, ненумерованное подтверждение) для синхронизации. После этого между устройствами NETWORK и CPE должен постоянно поддерживаться обмен RR (Receiver Ready, приемник готов) и устанавливаются логические каналы D и B.
Третий уровень сетевой, на данном уровне у нас ходит сигнализация протокол Q.931, который передается в канале D и данные протокола Х.25, передаются в канале B.

SIP в DSS-1
Теперь, когда мы разобрались, как работает протокол DSS-1, рассмотрим, как происходит преобразование протокола SIP в EDSS-1 и обратно. На рисунке 1 показано стандартное установление соединения. Как мы видим из рисунка сообщения протокола SIP и DSS-1 похожи.


Рисунок 1 Преобразование SIP в DSS-1

Анализ потока E1
Теперь поговорим, как нам анализировать поток E1. Про физику потока его форму импульса мы говорить не будем, нас интересует исключительно логика. На моей практике было и такое, что две АТС отлично работают по E1 и только подключив анализатор протоколов мы видели ошибки.
Анализатор нам нужен для отображения сообщений протоколов второго и третьего уровня, с помощью него мы увидим потерю сигнала, срыв синхронизации и многое другое. Естественно с одной стороны мы ставим нашу АТС, с другой желательно устанавливать серийную АТС, ловить ошибки на ошибки нам не надо.
Для анализа протоколов нам может пригодится Linkbit AnyTest AT1000 или Asterisk + T1/E1 (PRI) Digital Card.

Linkbit AnyTest AT1000
Немного расскажу о Linkbit, по сути это аппаратно-программный комплекс, являющийся анализатором протоколов цифровой телефонии. Представляет собой приставку с интерфейсами, которая подключается по usb к компьютеру с установленным программным обеспечением. Поддерживает большое количество протоколов и кодеков, в том числе и интересующих нас DSS-1 и SIP.
На рисунке 2 показан графический интерфейс. В графическом интерфейсе отображается окно с расшифровкой сообщений DSS-1 и LAPD, при необходимости можно отключить отображение сообщений не интересующего протокола. Ниже отображается поток E1 c тайм-слотами, как мы видим на рисунке 2 у нас заняты 10 тайм-слотов (отображены зеленым), 3 освободились (отображаются черным), стоит отметить, что при нажатии на занятый тайм-слот мы можем прослушать разговор.


Рисунок 2 Анализатор протоколов Linkbit AnyTest AT1000

Asterisk + T1/E1 (PRI) Digital Card
Теперь поговорим о Asterisk, для работы нам понадобится T1/E1 (PRI) Digital Cards, которая устанавливается в слот PCI Express, соответственно немного придётся повозиться, что бы Asterisk увидел ее.
Заходим в отладку Asterisk и вводим команду pri debug span 1 (указали номер своего канала) и при входящем/исходящем мы будем видеть сообщение протокола DSS-1. Соответственно, что бы нам увидеть статус каналов мы можем воспользоваться командой pri show span 1. Если хочется увидеть сообщение LAPD, то следует воспользоваться командой pri intense debug span 1.


Рисунок 3 Отладка Asterisk: сообщения DSSS-1


Рисунок 4 Отладка Asterisk: отображение тайм-слотов

Нагрузочное тестирование
Вариант 1
Для проверки программной IP-АТС нам понадобится серийная IP-АТС, в разрыв потока E1 ставится Linkbit AnyTest AT1000, дальше используются генераторы трафика StarTrinity SIP Tester или Sipp. Сообщение протоколов анализируем с помощью Linkbit AnyTest AT1000.

Вариант 2
Для проверки программной IP-АТС нам понадобится серийная IP-АТС, в разрыв потока E1 ставится Linkbit AnyTest AT1000, дальше используются генераторы трафика StarTrinity SIP Tester или Sipp, которые осуществляют вызовы на Asterisk (Asterisk подымает трубку и заворачивает RTP). Сообщение протоколов анализируем с помощью Linkbit AnyTest AT1000.


Рисунок 6 Варианты тестирования

Вариант 3
Для проверки программной IP-АТС нам понадобится Asterisk + T1/E1 (PRI) Digital Card в разрыв потока E1 ставится анализатор потока E1. Дальше используются генераторы трафика StarTrinity SIP Tester или Sipp, которые осуществляют вызовы на Asterisk (Asterisk подымает трубку и заворачивает RTP). Сообщение протоколов анализируем с помощью Linkbit AnyTest AT1000.

Вариант 4
Для проверки программной IP-АТС нам понадобится Asterisk + T1/E1 (PRI) Digital Card. Дальше используются генераторы трафика StarTrinity SIP Tester или Sipp, которые осуществляют вызовы на Asterisk (Asterisk подымает трубку и заворачивает RTP). Сообщение протоколов анализируем с помощью программных возможностей Asterisk. Сообщение протоколов анализируем с помощью Linkbit AnyTest AT1000.


Рисунок 7 Варианты тестирования

У меня было несколько видов проверок первая я занимал 30 каналов и с определенным интервалом устанавливал вызовы, что бы отбившийся канал занимался новым и так по кругу, проще всего это сделать с помощью StarTrinity SIP Tester. Вторая направлял вал вызовов через поток и смотрел как будет реагировать программное обеспечение.

Подведение итогов
Подведем итоги, мы с вами разобрались как работает протокол EDSS-1, нашли способы проанализировать сообщения протокола и произвели нагрузочное тестирование программного обеспечения. Конечно, в данном посте нет описания сообщений и всех тонкостей работы протокола, но для этого есть ссылки с рекомендуемыми спецификациями и литературой.

LOADING.

Ссылки
1.ITU-T Recommendation Q.921 (I.451)
2.ITU-T Recommendation Q.931 (I.451)
3.Гольдштейн Б.С. Протоколы сети доступа. Том 2.
Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru