Эта статья посвящена настройке совместной работы Cisco CallManager и
OpenLDAP. Такая связка позволяет пользователю администрировать свои
VoIP устройства, зарегистрированные на Cisco CallManager, искать и
звонить по телефонам, заведённым в службе каталогов и избавляет
администратора Cisco CallManager вести параллельную базу пользователей.
Принятые сокращения
CCM - Cisco CallManager
Принятые обозначения
Команды shell: $ ls -l
Директивы конфигурационных файлов: index objectClass eq
Программные пакеты
Программные пакеты, которые
будут задействованы в процессе
настройки:
OpenLDAP, доступный в коллекции портов FreeBSD (net/openldap22-server).
Рабочая версия 2.2.6.
Cisco CallManager. Рабочая версия 3.3.4.
Конфигурация OpenLDAP
1. Необходимо добавить описание схемы CCM в
конфигурационный файл сервера slapd.conf:
access to
attr=entry,objectClass
by dn="uid=ccm,ou=It,dc=komi,dc=mts,dc=ru" write
by * read
access to
attr=cn,givenName,sn,mail,description,uid
by * read
access to
attr=ciscoatUserProfileString,ciscoatGUID,ciscoatUserProfile
by dn="uid=ccm,ou=It,dc=komi,dc=mts,dc=ru" write
by self write
by * read
access to
dn.subtree="ou=Cisco,dc=komi,dc=mts,dc=ru"
by dn="uid=ccm,ou=It,dc=komi,dc=mts,dc=ru" write
by self write
by * read
access to
attr=userPassword
by self write
by anonymous auth
by * none
3. Для ускорения работы можно добавить индексы:
index
objectClass
eq index
ou
eq index
uid,uidNumber,gidNumber,memberUid eq index
cn,mail,surname,givenname
eq,subinitial
4. Выбрать пункт "Configure Netscape Directory Server":
5. Выбрать тип установки "Custom", выбрать все компоненты:
6. Заполнить соответствующие поля:
После нажатия кнопки Next CCM обращается к LDAP серверу, где создает
двух пользователей CCMAdministrator и CCMUser и системные профили
конфигурации CCM. После всех этих манипуляций следует перезагрузка.
После перезагрузки всё работает и всё бы хорошо, но не всё хорошо, а
именно: LDAP атрибут, при помощи которого CCM ищет и аутенфицирует
пользователя. При установке "Cisco Customer Directory Configuration
PlugIn" значение этого атрибута по умолчанию: mail. Менять
его не следует, т.к. в этом случае не будут созданы служебные
пользователи: CCMAdministrator и CCMUser. Если в дальнейшем Вам
захочеться использовать другой атрибут для аутенфикации пользователя,
скажем, uid, тогда придётся перенастроить CCM.
Для этого необходимо поправить в System Profile
значение атрибута ciscoCCNatUserSearchAttr с mail на uid:
1. http://callmanager/ccmAdmin/main.asp
-> User -> Global Directory позволит администратору искать и
модифицировать пользователей в дереве каталогов, связывать с ними VoIP
устройства:
2. http://callmanager/ccmuser/options.asp
позволит пользователю редактировать свой профиль, например,
переадресацию, правила быстрого набора и личную адресную книгу. Кроме
того, пользователь может сменить себе пароль и PIN (персональный
идентификационный номер, который используется для доступа к сервисам
IP-телефона Cisco):
3. На VoIP устройствах (например, Cisco IP Phone7940)
появляется возможность искать собеседников и их телефонные номера
в корпоративном дереве каталогов:
Замеченные проблемы
1. CCM не работает с UTF-8 encoded атрибутами сервера каталогов:
Using non-ISO-Latin 1 characters greater than 127 with DC Directory,
Netscape Directory, or Active Directory can cause directory database
errors. Cisco CallManager Release 3.3 supports all ISO-Latin1
(ISO-8859-1) characters and all non-ISO-Latin 1 characters in the range
0-127 with any directory.
Cisco CallManager only supports ISO-Latin 1 (ASCII) characters and
non-ISO-Latin1 characters in the range 0-127 in the fields and in all
user accounts and passwords that are needed to access these windows. If
a user enters data that is not in the allowed character range, A dialog
box displays and states that the user must enter data by using only
ISO-Latin1 characters and non-ISO-Latin1 characters in the range 0-127.
Из-за чего при просмотре/редактировании свойств пользователя мы можем
наблюдать символы ??? вместо
русских букв:
Кроме того, это ограничение не позволяет искать в глобальной адресной
книге,
используя русские имена и фамилии:
Как вариант, значения атрибутов
surName и givenName можно хранить в латинице:
dn: cn=Alex
Deiter,ou=People,dc=komi,dc=mts,dc=ru objectClass:
top objectClass:
posixAccount objectClass:
inetOrgPerson objectClass:
person objectClass:
organizationalPerson cn: Alex Deiter uid: login mail:
login@komi.mts.ru sn:
Deiter givenName:
Alex ...