Анализ проблем лицензирования

Если телефония не работает или не захватывается лицензия (фича), проверьте, пожалуйста, следующие моменты.

Если проблема именно в системе лицензирования (ошибки регистрации, коды ошибок сервера лицензий, нехватка лицензий), смотрите статью «Решение проблем с лицензией». Как рассчитать необходимое количество лицензий — в статье «Подсчёт необходимого количества лицензий».

Права для работы с телефонией

Пользователь должен быть включён в группу доступа телефонии.
«Звонки и сообщения» → «Настройки» → «Права доступа».

Группы доступа телефонии

Пользователи должны быть включены в одну из групп. Общее количество разных пользователей в этих группах не должно превышать количество приобретённых лицензий.

Персональные настройки пользователей

«Звонки и сообщения» → «Настройки» → «Персональные настройки».

Персональные настройки телефонии

В персональных настройках телефонии включите опцию «Совершать и принимать звонки в 1С».

Внутренний номер пользователя

«Звонки и сообщения» → «Настройки» → «Настройки подсистемы» → «Параметры конфигурации».

Следует проверить, какой вид контактной информации ассоциируется с внутренним номером:

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

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

Внутренний номер в карточке пользователя

Доступность АТС

Проверьте, что с рабочего места сотрудника доступна АТС по адресу, указанному в настройках телефонии в 1С.

  • Откройте web-интерфейс АТС в браузере.
  • Выполните ping до адреса сервера с АТС.

Выполните команды в PowerShell (на клиенте 1С):

Test-NetConnection -ComputerName 192.168.0.250 -Port 4222
Test-NetConnection -ComputerName 192.168.0.250 -Port 8222
Test-NetConnection -ComputerName 192.168.0.250 -Port 8000

Пример результата работы команды:

ComputerName     : 192.168.0.250
RemoteAddress    : 192.168.0.250
RemotePort       : 8222
InterfaceAlias   : Ethernet
SourceAddress    : 192.168.0.105
TcpTestSucceeded : True

В данном примере 192.168.0.250 — это адрес АТС.

  • 4222 — порт используется, если выбран канал передачи событий «Внешняя компонента»;
  • 8222 — порт мониторинга брокера ивентов на АТС;
  • 8000 — получение истории звонков.

На сервере 1С:Предприятие откройте в браузере:

http://192.168.0.250:8000/history/latest

Выполните команды в PowerShell (на сервере 1С:Предприятие)

Invoke-RestMethod -Uri "http://192.168.0.250:8000/history/latest" -Method Get

Ссылка должна вернуть XML:

<history><history_record...

Канал передачи событий в 1С

Канал передачи событий определяет, каким способом события о звонках доставляются от АТС до клиента 1С. Подробное описание режимов, примеры схем сети и ограничения — в статье «Выбор режима соединения» и в сравнительной таблице режимов.

  • Веб-сервис — АТС обращается к опубликованному веб-сервису 1С. Требует публикации на web-сервере (Apache или IIS) и регистрации базы в 1С:Диалог. Может работать как в тонком клиенте, так и в web-браузере. Контроль настройки подсистемы 1С:Диалог: «Звонки и сообщения» → «Настройки» → «Настройки подсистемы» → «Перезаполнить идентификатор пользователей» (все пользователи 1С должны быть зарегистрированы в системе взаимодействия).
  • Внешняя компонента — на стороне клиента устанавливается внешняя компонента, которая подключается к АТС. Может работать только в «тонком клиенте» на Windows. Не требует ни публикации веб-сервиса, ни регистрации в 1С:Диалог.
  • Long-polling — сервер 1С сам устанавливает постоянное соединение с АТС. Обязательное условие — выполнение регламентного задания «Онлайн обмен контактными данными»: если регламентные (фоновые) задания 1С заблокированы, канал работать не будет. Также требует регистрации базы в 1С:Диалог.

Схема подключения

События в журнале регистрации 1С

Журнал регистрации 1С — основной инструмент диагностики захвата лицензии. По событиям видно, какой пользователь занял лицензию на функцию телефонии и каким каналом он подключён.

Фича — это лицензия на определённую функцию продукта. Чтобы пользователь мог совершать и принимать звонки в 1С, его сеанс должен захватить фичу (занять одну лицензию). Если свободных лицензий нет или захват не произошёл, телефония у пользователя работать не будет.

Событие захвата фичи

ПТ20_Телефония.call_event — несёт информацию по захвату фичи:

Событие call_event в журнале регистрации

При подключении через веб-сервисы 1С тело события выглядит так:

Subject = provider.v1.calls
{"event":"provider.v1.calls","extension":"201","feature":48,"key":"7fb79f74-26f2-489b-9b2c-8b596375a6e1","subject":"provider.v1.1c.calls","subscription":"feature successfully captured: 48"}

Расшифровка полей события

Поле Значение в примере Что означает
event provider.v1.calls Тип события и канал передачи (см. ниже).
extension 201 Внутренний номер пользователя, для которого захватывается фича.
feature 48 Номер лицензируемой функции (фичи), которую занимает сеанс (см. таблицу ниже).
key 7fb79f74-… Уникальный идентификатор сеанса/подписки (GUID). По нему можно сопоставить события одного подключения.
subject provider.v1.1c.calls Тема (subject) сообщения в шине событий АТС, на которую подписан клиент.
subscription feature successfully captured: 48 Результат захвата. feature successfully captured: 48 — фича №48 успешно захвачена, лицензия занята.

Номера фич

Поле feature указывает, лицензию на какую функцию интеграции занимает сеанс:

feature Лицензия
46 Интеграция 1С и телефонии базовая (сеанс в 1С)
47 Интеграция 1С и телефонии базовая (сеанс во внешней панели)
48 Интеграция 1С и телефонии ПРОФ (полная) (сеанс в 1С)
49 Интеграция 1С и телефонии ПРОФ (полная) (сеанс во внешней панели)

В примере выше захвачена фича 48 — полная (ПРОФ) версия интеграции для сеанса в 1С. Полный перечень фич и их назначение приведён в статье «Решение проблем с лицензией».

Если телефония у пользователя не работает, ищите в этом событии признаки неуспешного захвата: отсутствие записи feature successfully captured, ошибку нехватки лицензий или сообщение о том, что фича уже занята другим сеансом. Для диагностики самой системы лицензирования (коды ошибок, утилита licdiag, монитор сессий lm.miko.ru) см. статью «Решение проблем с лицензией».

Различие по каналу передачи событий

Значение поля event зависит от того, каким каналом 1С получает события от АТС:

  • Веб-сервисы 1С"event":"provider.v1.calls"
  • Внешняя компонента"event":"provider.v1.1c.calls" (меняется только event, остальные поля по смыслу те же):
"event":"provider.v1.1c.calls"

Это помогает на лету определить, по какому каналу реально пришло событие, и сверить его с настройкой подсистемы (раздел «Канал передачи событий в 1С»).