Размер
Обзор таблиц базы данных телефонной станции Cisco UCM
Play

Обзор таблиц базы данных телефонной станции Cisco UCM

В этой статье рассматриваются особенности работы с базой данных (БД) телефонной станции Cisco Unified Communications Manager (CUCM) и Voice Operating System (VOS) систем в общем.

Статья рекомендована для инженеров телефонных сетей с опытом администрирования Cisco UCM более одного года.

Еще в 2006 году с выходом CUCM версии 5.0.1, первого релиза на основе VOS, было принято решение использовать IBM Informix Database в качестве хранилища настроек конфигурации.

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

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

Стоит отметить, что с версии 7.0 для ускорения работы телефонной станции во время старта её главного процесса – конфигурация базы копируется в оперативную память (In-memory database, IMDB). И основной процесс станции, Cisco Call Manager, фактически использует данные из IMDB, а не из таблиц базы данных.

Я бы выделил несколько типов таблиц базы данных для VOS продуктов.

  • Словари (type)
  • Системные (system)
  • Динамические (dynamic)
  • Функциональные
  • Соответствия (mapping)

Рекомендую использовать классификацию выше исключительно в целях обучения.

Для более удобного просмотра вывод SQL команд рекомендуется скопировать в текстовый редактор Notepad++ или один из его аналогов.

Type таблицы

Содержимое таблиц «type» типа создается во время установки системы и не может быть изменено администратором или пользователями каким либо образом. Эти таблицы содержат данные в формате «ключ-значение» (key-value) и на них могут ссылаться таблицы остальных типов.

Ниже несколько примеров. Первый (typemodel) – отображает перечень типов телефонов поддерживаемых конкретной версией CUCM.

Пример ниже отображает типы записей в плане нумерации.

Протоколы поддерживаемые Cisco UCM сервером.

Системные таблицы

Системные таблицы также такие как typetableinfo, typefieldinfo, treecontrolgroupnodes.

Первая и вторая формируют схему базы (database schema) отображая таблицы и их поля. Последняя из трех хранит страницы веб сервера.

Динамические таблицы

Содержимое динамических таблиц может быть изменено как администратором системы, так и, что более часто происходит, её конечными пользователями. Пользователи используют такие функции как переадресация, DND (do not disturb), hunt group, extension mobility и прочие. Информация о текущем состоянии переадресации на отдельно взятой линии конкретного пользователя, как и все остальные настройки хранятся в базе.

Запрос ниже отображает номера всех линий (здесь только одна с номером 1411) с безусловной переадресацией (CFA) на номер 5000.

Таблицы конфигурации

Таблицы последнего типа хранят текущую конфигурацию системы. Изменения в неё могут быть внесены только администратором системы.

Этот запрос отображает все номера телефонов настроенных администратором, т.е. телефонную таблицу маршрутизации.

Еще один пример с выводом устройств сконфигурированных в системе – телефонов, SIP транков, CTI Route Point и медиа ресурсов.

Таблицы mapping типа

Как подкатегорию можно выделить таблицы соответствия (mapping). Они необходимы при ассоциации линии с телефоном, пользователя с телефоном и в некоторых других случаях.

Пример ассоциации в виде ключей. Обратите внимание на идентификатор устройства (device) и номера (numplan) и сравните с выводом команд выше.

Пример той же ассоциации в удобном для администратора формате. Телефону с МАК адресом A45630BB07AF присвоена номер 1411 в партиции NULL на первую линию.

Часто используемые запросы

Ниже приведено несколько полезных SQL запросов которые могут быть использованы при анализе разных проблем.

Отобразить все линии с текущей настройкой записи звонков (call recording) на них.

Отобразить текущие настройки логирования на CUCM.

Подписка телефонов на XML сервисы.

Запрос ниже полезен при анализе проблем с сертификатами.

Надеюсь информация будет полезной не только инженерам технической поддержки Cisco.

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

Спасибо за статью. Полезно. Можете дать подсказку, где найти список таблиц базы ? (в идеале это были бы таблицы с параметрами, чтобы было видно, какой запрос строить). Так как может возникнуть потребность в построении разных запросов, подо все запросы шаблоны не написать. Конечно же стандартным инструментом массовых изменений является bulk, но хотелось бы уметь составлять запросы самому: например, выгрузка всех translation с определённым параметром (галочкой), и многие другие.

📎📎📎📎📎📎📎📎📎📎