Информация о местоположении в Lync
Интересное новшество, появившееся в Lync Server 2010 – поддержка автоматического определения местоположения пользователя. Новшество это, прежде всего необходимо для так называемых служб Enhanced 911 – экстренных и спасательных служб. Enhanced 911 отличается просто от набора 911 тем, что одновременно со звонком в экстренную службу система связи должна автоматически передать местоположение вызывающего абонента – чтобы он не тратил время, объясняя где находится, а как минимум начальную информацию службы бы имели сразу же.
Если мы говорим об обычных телефонах, определить местоположение звонящего несложно – определяем, с какого номера / порта он звонит, и знаем (по таблице портов), где он находится. Гораздо интереснее, когда речь заходит об IP-телефонии. Клиент IP-телефонии (а особенно Lync) не привязан к конкретному месту – он может сегодня залогиниться с этого компьютера, через 10 минут, работая по WiFi, уйти в другой конец здания, или вообще, сидеть подключенным из дома через Edge Server или даже VPN.
Поэтому задача автоматического определения местоположения становится гораздо интереснее.
Конечно, такие службы внедряются пока не у нас в стране – но тем не менее, данная функция представляет интерес не только для экстренных вызовов.
Одним из компонентов роли Front-End сервера Lync является служба Location Information Server. Location Information Server получает данные от пользователя, и в зависимости от настроенных параметров, определяет его местонахождение. Управляется Location Information Server исключительно из PowerShell – в графической консоли управления Lync данных опций нет.
Команды PowerShell, относящиеся к серверу местоположений, имеют вид *-CsLis*, с префиксом LIS.
Сервер LIS определяет местоположение пользователя, сравнивая полученные от него данные со своей базой данных – хранящейся на back-end сервере пула, в SQL-базе данных lis. Соответственно, базу требуется заполнить правильными данными.
Сервер LIS при определении местоположения учитывает следующие данные, возвращаемые пользователем:
- Его IP-адрес, а если точнее, IP-подсеть
- BSSID беспроводной точки доступа, если клиент Lync подключен к сети по WiFi
- Порт коммутатора, если клиент Lync подключен к сети проводом
- MAC-адрес коммутатора
Также, если клиент подключен по VPN, это тоже будет учтено при обработке местоположения.
Информация о беспроводных точках доступа заносится командой Set-CsLisWirelessAccessPoint, о коммутаторах – Set-CsLisSwitch, о портах коммутаторов – Set-CsLisPort, и о подсетях – Set-CsLisSubnet.
Примечание: BSSID – это беспроводной MAC-адрес конкретной точки доступа, выглядящий как шесть байт – точно так же, как MAC-адрес сетевой карты или коммутатора. Несколько точек доступа могут иметь одно имя сети (SSID), но они всегда будут иметь разный BSSID.
Например, мы знаем, что у нас есть некая беспроводная точка доступа с BSSID 01-02-03-04-05-06, которая расположена в здании офиса по адресу Москва, Нагорный проезд, дом 7Б, на четвертом этаже. Добавим информацию об этой точке и ее местоположении в базу Location Information Server:
Set-CsLisWirelessAccessPoint -BSSID 01-02-03-04-05-06 -Description "Точка доступа 4 этаж" -Location "Четвертый этаж" -CompanyName "ООО НашаМегаКомпания" -HouseNumber 7 -HouseNumberSuffix "Б" -StreetName "Нагорный" -StreetSuffix "проезд" -PreDirectional "" -PostDirectional "" -City "Москва" -Country "RU"
После внесений изменений в базу LIS эти изменения необходимо опубликовать:
Publish-CsLisConfiguration
Пример выполнения такой команды приведен на скриншоте:
Теперь, когда клиент Lync подключится в сеть, будучи подключенным к этой беспроводной точке доступа – в клиенте автоматически появится строчка «Четвертый этаж», которую мы задали в поле Location. Ну а если клиент будет подключен не к этой беспроводной точке – строчки местоположения автоматически не появится
Например, в моем Lync автоматически отобразилось, что в момент, когда был сделан этот скриншот, я нахожусь в офисе:

