<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>IT-блог компании &#34;ЛанКей&#34; &#187; office communications server 2007 r2</title>
	<atom:link href="http://www.lankey.ru/blog/tag/office-communications-server-2007-r2/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.lankey.ru/blog</link>
	<description>Системный интегратор. Комплексные решения по построению ИТ-инфраструктуры предприятия.</description>
	<lastBuildDate>Sat, 28 Jan 2012 13:58:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Развертывание OCS 2007 R2 в отдельном лесу</title>
		<link>http://www.lankey.ru/blog/2010/04/09/ocs-2007-r2-in-resource-forest/</link>
		<comments>http://www.lankey.ru/blog/2010/04/09/ocs-2007-r2-in-resource-forest/#comments</comments>
		<pubDate>Fri, 09 Apr 2010 12:32:31 +0000</pubDate>
		<dc:creator>Ярослав Никифоров</dc:creator>
				<category><![CDATA[Office Communications Server]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[office communications server 2007 r2]]></category>
		<category><![CDATA[powershell]]></category>
		<category><![CDATA[windows server 2008 r2]]></category>

		<guid isPermaLink="false">http://blogs.lankey.ru/?p=570</guid>
		<description><![CDATA[Как известно, Office Communications Server 2007 R2 всю свою информацию хранит в Active Directory, и при развертывании он изменяет лес AD &#8211; расширяет схему, создает новые атрибуты пользователей. Бывают случаи, когда изменение схемы Active Directory основного леса нежелательно &#8211; а тем не менее, развернуть и использовать OCS надо, и хочется использовать все прелести объединенных коммуникаций. Для [...]]]></description>
			<content:encoded><![CDATA[<p>Как известно, Office Communications Server 2007 R2 всю свою информацию хранит в Active Directory, и при развертывании он изменяет лес AD &#8211; расширяет схему, создает новые атрибуты пользователей. Бывают случаи, когда изменение схемы Active Directory основного леса нежелательно &#8211; а тем не менее, развернуть и использовать OCS надо, и хочется использовать все прелести объединенных коммуникаций.</p>
<p>Для решения такой задачи существует специальное развертывание Office Communications Server, называемое <strong>развертыванием в ресурсном лесу (resource forest)</strong>. Это значит, что параллельно с существующим у нас основным лесом и доменом мы можем развернуть совершенно отдельный лес, в котором и будет располагаться OCS. Это решение поддерживается Microsoft и описано в паре англоязычных документов, ну а чтобы не отсылать читателя к ним, мы расскажем по-русски, как это сделать.</p>
<p>Пусть у нас есть некий основной домен с пользователями, называющийся например <strong>mycompany.ru</strong>. Соответственно, пользователи имеют e-mail-адреса <em>логин@mycompany.ru</em>, пользуются Outlook&#8217;ом, Exchange (неважно каким, но лучше конечно 2007/2010 <img src='http://www.lankey.ru/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ).</p>
<p>Развертывание OCS в ресурсном лесу будет состоять из следующих шагов:</p>
<ol>
<li>Развертывание отдельного леса, с именем например myocs.local</li>
<li>Установка доверия между доменами</li>
<li>Развертывание OCS в лесу myocs.local</li>
<li>Создание в этом лесу учетных записей-заглушек для пользователей основного домена</li>
<li>Наслаждение работой с объединенными коммуникациями Microsoft <img src='http://www.lankey.ru/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
</ol>
<p><span id="more-570"></span></p>
<h4>Шаг 1 &#8211; развертывание отдельного леса</h4>
<p>Для отдельного леса нам понадобится один компьютер, который будет служить контроллером домена этого леса. Конечно, в идеале их должно быть как минимум два, но поскольку мы рассматриваем тестовый вариант &#8211; можно ограничиться одним компьютером. И, конечно, для удобства это будет виртуальная машина, запущенная под управлением Hyper-V на Windows Server 2008 R2.</p>
<p>Структура лесов будет выглядеть следующим образом:</p>
<p><a href="http://blogs.lankey.ru/wp-content/uploads/2010/04/forest.png"><img class="aligncenter size-medium wp-image-576" title="Схема основного и ресурсного лесов для OCS" src="http://blogs.lankey.ru/wp-content/uploads/2010/04/forest-300x221.png" alt="" width="300" height="221" /></a></p>
<p>Итак, мы установим компьютер операционной системой Windows Server 2008 R2, назовем его <strong>dcrf</strong>, и промотируем его до домен-контроллера. При создании домена укажем, что это новый домен нового леса. А домен назовем <strong>myocs.local</strong>.</p>
<p>Уровень домена/леса должен быть не ниже 2003 &#8211; так требует OCS. Поскольку ресурсный лес будет обслуживаться только этим контроллером &#8211; смело ставим уровень леса в Windows Server 2008 R2.</p>
<p>Я использую для контроллера именно Windows Server 2008 R2, потому что в нем есть встроенные коммандлеты для управления Active Directory, что очень поможет нам на шаге 4, при создании пользователей-заглушек с информацией из основного домена.</p>
<p>Так как нам необходимо, чтобы между доменами было доверие &#8211; то контроллеры доменов dc.mycompany.ru и dcrf.myocs.local должны находить друг друга. Поэтому следующим шагом будет соответствующая настройка DNS &#8211; создадим на DNS-сервере dcrf.myocs.local форвардинг на IP-адрес контроллера dc.mycompany.ru, а на DNS-сервере dc.mycompany.ru &#8211; conditional forwarding для домена myocs.local на IP-адрес dcrf.myocs.local.</p>
<p>На этом же сервере развертывается Enterprise Root Certification Authority, который будет использован для выдачи сертификатов для серверов OCS.</p>
<h4>Шаг 2 &#8211; настройка доверия между доменами</h4>
<p>После того, как мы добьемся, что оба домена друг друга увидят &#8211; разрешат имена серверов, можно настраивать доверие.</p>
<p>Достаточно создать 1-way trust от ресурсного домена к основному &#8211; то есть, ресурсный домен доверяет логиниться к себе пользователям из основного. Открываем AD Domains and Trusts на dcrf.myocs.local, и создаем External Trust, 1-way outgoing, до домена mycompany.ru. И, соответственно, на контроллере dc.mycompany.ru создаем External Trust, 1-way incoming.</p>
<p>Итог &#8211; мы создали ресурсный лес, и установили доверие с основным рабочим доменом.</p>
<h4>Шаг 3 &#8211; развертывание OCS в ресурсном лесу</h4>
<p>Далее, совершенно обычным образом развертываем Office Communications Server 2007 R2 на серверах в ресурсном лесу. Я назвал такие сервера ocsse.myocs.local и ocsmed.myocs.local, на которых будут развернуты Standard Edition и Mediation Server соответственно. Edge-сервер нам не потребуется &#8211; все пользователи будут авторизоваться посредством доверия между доменами, с помощью обычных своих учетных данных.</p>
<p>Установим мы серверы на для удобства тоже на виртуальных машинах &#8211; но уже само виртуальные машины будут содержать Windows Server 2008. Поскольку Office Communications Server 2007 R2 не очень хорошо работает на Windows Server 2008 R2, придется использовать предыдущую версию операционной системы.</p>
<p>При установке OCS крайне важно указать следующее &#8211; в качестве домена для установки мы выбираем домен <strong>myocs.local</strong>. А в качестве SIP-домена мы указываем домен <strong>mycompany.ru</strong>. Это необходимо, поскольку мы хотим, чтобы SIP-адреса пользователей совпадали с их email-адресами, то есть, относились бы к домену mycompany.ru.</p>
<p>Я не буду расписывать подробно установку OCS, настройку и связь с VoIP-шлюзом - это можно найти в соответствующих статьях на <a href="/tag/office-communications-server-2007-r2/">этом же блоге</a>.</p>
<p>Главное, что нужно изменить после инсталляции OCS &#8211; указать в параметрах Front-End сервера Standard Edition тип авторизации пользователя - только NTLM.</p>
<p><a href="http://blogs.lankey.ru/wp-content/uploads/2010/04/ocsfe.png"><img class="aligncenter size-medium wp-image-577" title="Настройка авторизации в Front-End" src="http://blogs.lankey.ru/wp-content/uploads/2010/04/ocsfe-250x300.png" alt="" width="250" height="300" /></a></p>
<p>Это важно, поскольку стоящая по умолчанию настройка &#8211; Kerberos and NTLM &#8211; не позволит авторизоваться пользователям основного домена.</p>
<p>В результате мы получаем два сервера Office Communications Server 2007 R2 в ресурсном лесу, и следующим нашим шагом будет создание пользователей-заглушек.</p>
<h4>Шаг 4 &#8211; создание и синхронизация информации о пользователях</h4>
<p>Поскольку пользовательские учетные записи располагаются в основном домене, а OCS-у требуется, чтобы у него были свои учетные записи, со списком контактов и соответствующими параметрами &#8211; необходимо создать отключенные пользовательские аккаунты в домене myocs.local, для которых будут храниться настройки Office Communications Server. А для того, чтобы не приходилось дублировать и синхронизировать пароли &#8211; необходимо обеспечить взаимосвязь между действующим аккаунтом пользователя в основном домене, и отключенным аккаунтом пользователя в ресурсном лесу.</p>
<p>Известно, что основным идентификатором пользователя в домене является его SID &#8211; Security Identifier. После установки OCS (и соответствующего расширения схемы AD) в ресурсном лесу у объекта пользователя присутствует специальное поле msRTCSIP-OriginatorSID &#8211; нам необходимо записать в него SID пользователя из основного домена. Таким образом, в ресурсном лесу у пользователя будет два SID-а &#8211; один обычный, относящийся к ресурсному лесу, и второй, который мы занесем вручную &#8211; SID пользователя из основного рабочего домена.</p>
<p>Ну и конечно, для того, чтобы в контакт-листе Communicator отображалась полноценная информация о пользователе &#8211; необходимо указать имя и фамилию пользователя, его телефон, должность, и e-mail.</p>
<p>Общая таблица атрибутов , которые нам необходимо перенести из основного домена для пользователя, выглядит следующим образом:</p>
<table>
<tbody>
<tr>
<th>читаем из основного домена</th>
<th>пишем в ресурсный домен</th>
<th>что это за атрибут</th>
</tr>
<tr>
<td>cn</td>
<td>cn</td>
<td>Имя объекта в AD</td>
</tr>
<tr>
<td>objectSID</td>
<td>msRTCSIP-OriginatorSID</td>
<td>SID объекта</td>
</tr>
<tr>
<td>telephoneNumber</td>
<td>telephoneNumber</td>
<td>Телефон</td>
</tr>
<tr>
<td>displayName</td>
<td>displayName</td>
<td>Полное имя</td>
</tr>
<tr>
<td>givenName</td>
<td>givenName</td>
<td>Имя</td>
</tr>
<tr>
<td>Surname</td>
<td>Surname</td>
<td>Фамилия</td>
</tr>
<tr>
<td>physicalDeliveryOfficeName</td>
<td>physicalDeliveryOfficeName</td>
<td>Офис</td>
</tr>
<tr>
<td>l</td>
<td>l</td>
<td>Город</td>
</tr>
<tr>
<td>Country</td>
<td>Country</td>
<td>Страна</td>
</tr>
<tr>
<td>Title</td>
<td>Title</td>
<td>Должность</td>
</tr>
<tr>
<td>Mail</td>
<td>Mail</td>
<td>Адрес e-mail</td>
</tr>
<tr>
<td>Company</td>
<td>Company</td>
<td>Название компании</td>
</tr>
</tbody>
</table>
<p>Создавать объекты и переносить атрибуты, конечно, можно и вручную &#8211; но это неинтересно и долго. Как я уже упомянул, в Windows Server 2008 R2 есть коммандлеты PowerShell, которыми я и воспользуюсь.</p>
<p>Вот простейший скрипт, от которого можно отталкиваться в собственных случаях:</p>
<pre>$srcdc = "dc.mycompany.ru" <span style="color: #cc99ff;"><span style="color: #c0c0c0;"># исходный домен</span>
</span>$srcbase = "OU=Domain users,DC=mycompany,DC=ru" <span style="color: #c0c0c0;"># OU, который сканируем на предмет пользователей</span>
$dstdc = "dcrf.myocs.local" <span style="color: #c0c0c0;"># ресурсный домен</span>
$dstbase = "OU=OCS Users,DC=myocs,DC=local" <span style="color: #c0c0c0;"># OU, в котором будут созданы объекты-заглушки.</span>
New-PSDrive -Name DstAD -Root "" -Server $dstdc -PSProvider ActiveDirectory -Cred <span style="color: #ff6600;">MYOCS\Administrator</span> <span style="color: #c0c0c0;"># подключаемся к ресурсному домену с правами администратора, который может создавать объекты.</span>
New-PSDrive -Name srcAD -Root "" -Server $srcdc -Cred <span style="color: #ff6600;">MYCOMPANY\user</span> -PSProvider ActiveDirectory <span style="color: #c0c0c0;"># подключаемся к исходному домену с правами просто пользователя, который может хотя бы читать данные из исходного AD.</span>
cd srcAD:
$usrs = get-ADUser -SearchBase $srcbase -Filter * -Properties mail <span style="color: #c0c0c0;"># выбираем всех пользователей в указанном OU.</span>
cd dstAD:
foreach ($u in $usrs) {
   echo $u.name
   New-ADUser -Path $dstbase -DisplayName $u.Name -Name $u.name -GivenName $u.GivenName -Surname $u.Surname -SamAccountName $u.samAccountName -OtherAttributes @{'mail'=$u.mail;'msRTCSIP-OriginatorSid'=$u.SID} <span style="color: #c0c0c0;"># создаем пользователя, указывая для него необходимые аттрибуты. Пользователь создается отключенным - Disabled.</span>
}
cd c:
remove-psdrive srcad
remove-psdrive dstad</pre>
<p>Этот скрипт не совсем полный &#8211; он не переносит должности, название компании, город и офис. Мне это было не нужно - но это всегда можно дописать самостоятельно <img src='http://www.lankey.ru/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Можно заметить, что в ресурсном домене мы создаем пользователей, не указывая для них пароли. Это действительно неважно &#8211; так как пользователи будут авторизоваться по своим собственным учетным данным в основном домене, а затем уже просто сопоставляться с отключенными аккаунтами в ресурсном лесу.</p>
<p>После создания пользователей-заглушек мы обычным образом включаем их &#8211; Enable for Office Communications Server, и настраиваем &#8211; Configure for Office Communications Server.</p>
<p>В основном домене необходимо будет сделать лишь одно изменение &#8211; добавить в атрибут <strong>proxyAddresses</strong> пользователей адрес вида <strong>sip:логин@mycompany.ru</strong>. Это необходимо для того, чтобы при запуске Communicator пользователю не приходилось бы вручную указывать свой SIP-адрес для входа. Сделать это можно с помощью ADSI Edit, с помощью Email Address Policy в Microsoft Exchange, или написать свой скрипт &#8211; как угодно.</p>
<h4>Шаг 5 &#8211; запускаем и работаем</h4>
<p>Все! теперь можно смело ставить на клиентские компьютеры Office Communicator. Также необходимо импортировать на клиентские компьютеры сертификат того корневого центра сертификации, который использовался при создании сертификатов для серверов OCS. В нашем случае это сертификат с центра сертификации dcrf.myocs.local. Импортировать этот сертификат нужно в раздел &laquo;Доверенные корневые центры сертификации&raquo;.</p>
<p>Конечно, необходимо добавить в DNS-зону mycompany.ru записи <em>sip.mycompany.ru</em> и <em>_sipinternaltls._tcp.mycompany.ru</em> &#8211; подробнее смотрите в статье по установке и настройке Office Communications Server 2007 R2.</p>
<p>После этого можно смело запускать Office Communicator, и работать!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lankey.ru/blog/2010/04/09/ocs-2007-r2-in-resource-forest/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Итоги семинара ЛанКей по новым серверным решениям.</title>
		<link>http://www.lankey.ru/blog/2010/03/29/seminar_2010_windows_2008_r2_exchange_server_2010_ocs_2007/</link>
		<comments>http://www.lankey.ru/blog/2010/03/29/seminar_2010_windows_2008_r2_exchange_server_2010_ocs_2007/#comments</comments>
		<pubDate>Sun, 28 Mar 2010 20:11:01 +0000</pubDate>
		<dc:creator>Сергей Ерин</dc:creator>
				<category><![CDATA[Общее]]></category>
		<category><![CDATA[exchange 2010]]></category>
		<category><![CDATA[gfi]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[office communications server 2007 r2]]></category>
		<category><![CDATA[windows server 2008 r2]]></category>

		<guid isPermaLink="false">http://blogs.lankey.ru/?p=477</guid>
		<description><![CDATA[Итак, 19 марта 2010 года состоялся семинар ЛанКей  по новым серверным решениям &#8211; спасибо всем, кто присутствовал! Семинар посетили более 40 человек и надеюсь, что никто не пожалел о том, что пришёл! (Судя по заполненным анкетам, в основном, семинар всем понравился ) Посетители узнали о новых возможностях и преимуществах для бизнеса таких продуктов, как Windows [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Итак, 19 марта 2010 года состоялся семинар ЛанКей  по новым серверным решениям &#8211; спасибо всем, кто присутствовал! Семинар посетили более 40 человек и надеюсь, что никто не пожалел о том, что пришёл! (Судя по заполненным анкетам, в основном, семинар всем понравился <img src='http://www.lankey.ru/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  ) Посетители узнали о новых возможностях и преимуществах для бизнеса таких продуктов, как Windows Server 2008 R2, Exchange Server 2010, Office Communications Server 2007 R2, а также решениях GFI.</p>
<p>Для тех, кто по каким-то причинам не смог посетить семинар, мы решили выложить видеозаписи докладов:</p>
<p><span id="more-477"></span></p>
<h4><strong>Доклад по  Windows Server 2008 R2</strong>:</h4>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="470" height="353" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="wmode" value="window" /><param name="allowFullScreen" value="true" /><param name="src" value="http://video.rutube.ru/323d454186cb98ee3dbad2da8d553880" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="470" height="353" src="http://video.rutube.ru/323d454186cb98ee3dbad2da8d553880" allowfullscreen="true" wmode="window"> </embed></object></p>
<h4><strong>Доклад по Exchange Server 2010</strong>:</h4>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="470" height="353" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="wmode" value="window" /><param name="allowFullScreen" value="true" /><param name="src" value="http://video.rutube.ru/43012bada90ff54c7d682156511c1205" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="470" height="353" src="http://video.rutube.ru/43012bada90ff54c7d682156511c1205" allowfullscreen="true" wmode="window"></embed></object></p>
<h4><strong>Доклад по Office Communications Server 2007 R2</strong>:</h4>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="470" height="353" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="wmode" value="window" /><param name="allowFullScreen" value="true" /><param name="src" value="http://video.rutube.ru/da5713d36ab8a620d7f3383df0ebcd48" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="470" height="353" src="http://video.rutube.ru/da5713d36ab8a620d7f3383df0ebcd48" allowfullscreen="true" wmode="window"></embed></object></p>
<h4><strong>Доклад по GFI</strong>:</h4>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="470" height="353" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="wmode" value="window" /><param name="allowFullScreen" value="true" /><param name="src" value="http://video.rutube.ru/5367889b1f7fdc5691874429a5f08d46" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="470" height="353" src="http://video.rutube.ru/5367889b1f7fdc5691874429a5f08d46" allowfullscreen="true" wmode="window"></embed></object></p>
<h4><strong><br />
</strong></h4>
<h4><strong>Также, вы можете отдельно скачать сами презентации</strong>:</h4>
<p><a href="http://blogs.lankey.ru/wp-content/uploads/2010/03/LanKey_Windows_Server_2008_R2.ppt">Презентация Windows Server 2008 R2</a></p>
<p><a href="http://blogs.lankey.ru/wp-content/uploads/2010/03/LanKey_Exchange_2010.ppt">Презентация Exchange Server 2010</a></p>
<p><a href="http://blogs.lankey.ru/wp-content/uploads/2010/03/LanKey_OCS_2007_R2.ppt">Презентация Office Communications Server 2007 R2 </a></p>
<p>Презентация  GFI: <a href="http://blogs.lankey.ru/wp-content/uploads/2010/03/1-gfi_Messaging_enduser_RUS.ppt">Часть 1</a>, <a href="http://blogs.lankey.ru/wp-content/uploads/2010/03/2-gfi_ContentSecurity_enduser_RUS.ppt">Часть 2</a>.</p>
<p style="text-align: justify;"><em>Внимание! Все материалы презентаций являются собственностью компаний LanKey, Microsoft и GFI. Без письменного разрешения владельцев запрещается частичное или полное копирование и публикация любых материалов данных презентаций.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.lankey.ru/blog/2010/03/29/seminar_2010_windows_2008_r2_exchange_server_2010_ocs_2007/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Централизованное заполнение контакт-листов в Office Communicator</title>
		<link>http://www.lankey.ru/blog/2009/12/18/zapolnenie-contact-listov-v-office-communicator/</link>
		<comments>http://www.lankey.ru/blog/2009/12/18/zapolnenie-contact-listov-v-office-communicator/#comments</comments>
		<pubDate>Fri, 18 Dec 2009 01:36:15 +0000</pubDate>
		<dc:creator>Ярослав Никифоров</dc:creator>
				<category><![CDATA[Office Communications Server]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[office communications server 2007 r2]]></category>
		<category><![CDATA[office communicator 2007 r2]]></category>

		<guid isPermaLink="false">http://blogs.lankey.ru/?p=439</guid>
		<description><![CDATA[В процессе развертывания Office Communications Server в организации, и, соответственно, развертывания пользователям Office Communicator, мы сталкиваемся с одной неприятной особенностью. Любой пользователь, запустивший Communicator в первый раз, увидит пустой контакт-лист, и ему придется добавлять другие контакты в список вручную. А он чаще всего хочет обратного &#8211; чтобы он сразу видел список своих коллег. Дело в [...]]]></description>
			<content:encoded><![CDATA[<p>В процессе развертывания Office Communications Server в организации, и, соответственно, развертывания пользователям Office Communicator, мы сталкиваемся с одной неприятной особенностью. Любой пользователь, запустивший Communicator в первый раз, увидит пустой контакт-лист, и ему придется добавлять другие контакты в список вручную. А он чаще всего хочет обратного &#8211; чтобы он сразу видел список своих коллег.</p>
<p>Дело в том, что контакт-листы в Office Communicator хоть и хранятся на сервере, но вовсе не заполняются автоматически, как, например offline address book в Exchange. А заполнять контакты вручную ни пользователь, ни (тем более) администратор не хотят и не имеют времени. Следовательно, рассмотрим вопрос, как нам автоматизировать такую задачу.</p>
<p><span id="more-439"></span></p>
<p>Вообще есть два способа организации контакт-листов &#8211; мы можем добавить контакт, например, по его SIP-адресу. Либо &#8211; мы можем создать на сервере distribution-группу, в которую уже будут добавлены различные контакты, и добавить пользователю эту группу рассылки. Каждый вариант имеет свои плюсы и минусы, и каждый вариант добавляет определенной работы администратору в случае появления в организации нового сотрудника <img src='http://www.lankey.ru/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h4>Способ №1 &#8211; добавление в контакт-лист отдельных контактов</h4>
<p>Мы можем централизованно &#8211; скриптом на сервере &#8211; добавить в список контактов пользователя определенный набор контактов. Плюс этого &#8211; пользователь сразу видит перед собой все контакты с их статусами, может переорганизовать их как он хочет, распихав по группам, созданным по своему разумению и удобству. Минус этого - когда мы создадим нового пользователя для нового сотрудника, и активируем его для объединенных коммуникаций &#8211; нам придется запускать процесс добавления этого контакта во все существующие на данный момент контакт-листы пользователей.</p>
<p>Добавляются пользователи в контакт-лист следующим образом:</p>
<ol>
<li>Открываем на сервере Office Communications Server программу <code>cmd</code> и переходим в каталог <code>C:\Program Files\Microsoft Office Communications Server 2007 R2\ResKit\WMI Samples\</code>. Как &#8211; что значит, у вас нет этого каталога? Вы до сих пор не поставили OCS Resource Kit? Бегом <a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=9e79a236-c0df-4a72-aba6-9a9602a93ed0">ставить</a>!</li>
<li>В этом каталоге лежит скрипт LCSAddContacts.wsf, который нас и интересует. Для его работы нужно создать два текстовых файла &#8211; один файл со списком пользователей, которых мы добавляем, второй файл со списком пользователей, к кому в контакт-листы мы добавляем пользователей из первого файла. Назовем первый файл contacts.txt, а второй &#8211; users.txt. Файлы должны содержать всего лишь SIP-адреса, по одному на строчку, например:<code><br />
sip:user01@domain.com<br />
sip:user02@domain.com<br />
sip:user03@domain.com<br />
</code></li>
<li>Запускаем на выполнение нужный скрипт следующей командой:<br />
<code>cscript LCSAddContacts.wsf /usersfile:<em>файл_списка_пользователей</em> /contactsfile:<em>файл_списка_контактов</em></code>в нашем случае эта команда будет выглядеть так:<br />
<code>cscript LCSAddContacts.wsf /usersfile:users.txt /contactsfile:contacts.txt</code></li>
</ol>
<p>Можно дописать еще аргумент <code>/contactsgroup:<em>имя_группы</em></code> &#8211; тогда контакты будут добавлены не в группу &laquo;Все контакты&raquo;, а в группу с указанным именем.</p>
<p>Ну а еще можно дописать аргумент <code>/delete</code> &#8211; тогда перечисленные в файле контакты будут не добавлены, а удалены из контакт-листов указанных пользователей.</p>
<h4>Способ №2 &#8211; использование групп рассылки</h4>
<p>Помимо контакта мы можем добавить в контакт-лист группу рассылки. Это даст нам несколько очевидных преимуществ, но и несколько очевидных минусов. Плюсы &#8211; контакты пользователя сразу организованы по группам. Когда в организации появится новый сотрудник, нам всего лишь надо добавить его в нужную distribution-группу в Active Directory, и он (при следующем обновлении адресной книги) окажется в контакт-листах пользователей самостоятельно.</p>
<p>Минусы такого подхода тоже присутствуют. Например &#8211; клиент не может ни добавить, ни удалить пользователя из группы рассылки &#8211; само собой, это можно сделать, только изменив состав группы средствами Active Directory. Также в качестве групп рассылки, которые можно добавить в Communicator, не поддерживаются динамические группы рассылки Exchange. А жаль &#8211; как было бы удобно например, создать динамический список рассылки &laquo;Все&raquo;, и добавить его пользователям! А в дальнейшем даже не заморачиваться добавлением свежезаведенного пользовательского аккаунта ни в какие группы рассылки.</p>
<p>Еще одним существенным минусом добавления групп рассылки в контакт-лист пользователя является то, что автоматизированного средства, подобного используемому в вышеприведенном примере №1, в поставке OCS не присутствует. На помощь пришел написанный товарищем Sver и выложенный на <a href="http://social.microsoft.com/Forums/en/communicatorcontacts/thread/7fe53530-30ec-4b7b-acfe-64ef761444fa">форумы TechNet</a> собственный скрипт &#8211; за что ему (или ей) огромное спасибо.</p>
<p>Важное условие использования скрипта &#8211; группа должна быть distributed, и группе должен быть присвоен адрес e-mail, по которому она и добавляется в контакт-лист. Проще всего использовать те же самые группы рассылки, которые используются и в Exchange.</p>
<p>Вот текст скрипта &#8211; назовем его LCSAddGroups.wsf:</p>
<div class="codesmp"><code><br />
&lt;?xml version="1.0"?&gt;<br />
&lt;package&gt;</p>
<p>&lt;comment&gt;<br />
LCSAddGroups.wsf<br />
This WMI script progmatically adds Distribution Lists for LCS Users.<br />
&lt;/comment&gt;</p>
<p>&lt;job&gt;<br />
&lt;?job error="True" debug="True" ?&gt;</p>
<p>&lt;script language="VBScript"&gt;<br />
&lt;![CDATA[<br />
' VBScript source code<br />
Option Explicit</p>
<p>' Contant decleration section<br />
Const cComputer = "."<br />
Const cWMINameSpace = "root/cimv2"<br />
Const cWMIUserClass = "MSFT_SIPESUserSetting"<br />
Const cWMIUserContactGroupClass = "MSFT_SIPESUserContactGroupData"<br />
Const cWMIUserContactClass = "MSFT_SIPESUserContactData"<br />
Const cWMIUserACEClass = "MSFT_SIPESUserACEData"<br />
Const cGroupNameAllContacts = "~"</p>
<p> </p>
<p> <br />
'-------------------------------------------------------------------------------<br />
' Function: GetUserInstanceID<br />
' Description: This function will return the InstanceID of SIP User<br />
' Parameters: ByVal strPrimaryURI - SIP address of User<br />
' whoes InstanceID has to be retrived<br />
' Returns: Variant string - (either -1 or InstanceID of SIP User)<br />
'-------------------------------------------------------------------------------<br />
Function GetUserInstanceID (ByVal strPrimaryURI)<br />
Dim vReturn : vReturn = -1<br />
If Not IsEmpty(strPrimaryURI) Then<br />
Dim oUserInstances : Set oUserInstances = GetObject("winmgmts:\\" &amp; cComputer).ExecQuery("SELECT * FROM " &amp; cWMIUserClass &amp; " WHERE PrimaryURI = '" &amp; strPrimaryURI &amp; "'")<br />
If Not oUserInstances.Count &lt; 1 Then<br />
Dim oInstance<br />
For Each oInstance In oUserInstances<br />
vReturn = oInstance.InstanceID<br />
Next<br />
End If<br />
End If<br />
GetUserInstanceID = vReturn<br />
End Function</p>
<p> <br />
'-------------------------------------------------------------------------------<br />
' Function: ParseUserLineItem<br />
' Description: This function will parse each line item from text file<br />
' with the users and add contacts for them.<br />
' Parameters: ByVal strLineItem - Line item that has to be parsed<br />
' for user for which contacts have to be added.<br />
' Returns:<br />
'-------------------------------------------------------------------------------<br />
Function ParseUserLineItem (strLineItem)<br />
Dim vItems : vItems = Split(strLineItem, ":")<br />
If UBound(vItems) &gt; 0 Then<br />
Dim vUsers<br />
Dim vUser<br />
Select Case UCase(vItems(0))<br />
Case "SIP"<br />
vUser = "sip:" &amp; Trim(vItems(1))<br />
If fDelete Then<br />
Wscript.echo vUser<br />
DeleteContacts(vUser)<br />
DeleteGroups(vUser)<br />
Else<br />
AddContactGroups(vUser)<br />
End If<br />
Case Else<br />
WScript.Echo ""<br />
WScript.Echo "@------------------------------------------------------------"<br />
WScript.Echo "[Err] Invalid Line item in " &amp; strUsersFile &amp; ": '" &amp; strLineItem &amp; "'"<br />
WScript.Echo "@------------------------------------------------------------"<br />
End Select<br />
Else<br />
WScript.Echo ""<br />
WScript.Echo "@------------------------------------------------------------"<br />
WScript.Echo "[Err] Invalid Line in " &amp; strUsersFile &amp; ": '" &amp; strLineItem &amp; "'"<br />
WScript.Echo "@------------------------------------------------------------"<br />
End If<br />
End Function</p>
<p> </p>
<p> </p>
<p>'-------------------------------------------------------------------------------<br />
' Function: AddContactGroup<br />
' Description: Adds Contact for given User<br />
' Parameters: UserInstanceID, Name<br />
' Returns: Variant rReturn - (Either null or GroupID)<br />
'-------------------------------------------------------------------------------<br />
Function AddContactGroup(ByVal UserInstanceID, ByVal Name, ByVal strDistributionGroupEmailAddress)<br />
Set oInstances = GetObject("winmgmts:\\" &amp; cComputer).ExecQuery("SELECT * FROM " &amp; cWMIUserContactGroupClass &amp; " WHERE UserInstanceID = '" &amp; UserInstanceID &amp; "'")<br />
For Each oInstance In oInstances<br />
Wscript.echo "GroupID: " &amp; oInstance.GroupID<br />
Wscript.echo "Name: " &amp; oInstance.Name<br />
Wscript.echo "ExternalURL: " &amp; oInstance.ExternalURL<br />
Wscript.echo "UserInstanceID: " &amp; oInstance.UserInstanceID<br />
Wscript.echo "NewGroup: " &amp; Name<br />
Wscript.echo ""<br />
Next</p>
<p>Wscript.Echo "User groups: " &amp; oInstances.Count<br />
Dim vReturn : vReturn = null</p>
<p>Dim oInstances<br />
Dim oInstance</p>
<p>Set oInstances = GetObject("winmgmts:\\" &amp; cComputer).Get(cWMIUserContactGroupClass)<br />
Set oInstance = oInstances.SpawnInstance_</p>
<p>oInstance.UserInstanceID = UserInstanceID<br />
oInstance.ExternalURL = "&lt;groupExtension groupType=" &amp; Chr(34) &amp; "dg" &amp; Chr(34) &amp; "&gt;&lt;email&gt;" &amp; strDistributionGroupEmailAddress &amp; "&lt;/email&gt;&lt;/groupExtension&gt;"<br />
oInstance.Name = Name</p>
<p>On Error Resume Next<br />
oInstance.Put_ 2 'Put flag 2 for createOnly</p>
<p>If Err.Number = 0 Then<br />
strCounter = strCounter + 1<br />
End If<br />
Err.Clear<br />
On Error Goto 0</p>
<p>AddContactGroup = vReturn<br />
End Function</p>
<p> </p>
<p> </p>
<p>Function DeleteContacts(ByVal strPrimaryURI)<br />
Dim UserInstanceId<br />
UserInstanceId = GetUserInstanceID(strPrimaryURI)</p>
<p>Dim oInstances<br />
Dim oInstance</p>
<p>Set oInstances = GetObject("winmgmts:\\" &amp; cComputer).ExecQuery("SELECT * FROM " &amp; cWMIUserContactClass &amp; " WHERE UserInstanceID = '" &amp; UserInstanceID &amp; "'")<br />
If Not oInstances.Count &lt; 1 Then<br />
For Each oInstance In oInstances<br />
On Error Resume Next<br />
oInstance.Delete_<br />
If Err.number = vbEmpty Then<br />
WScript.Echo "[+] Delete successful for contact: " &amp; oInstance.SIPURI<br />
vReturn = 0<br />
Else<br />
WScript.Echo "[-] Delete failed for contact: " &amp; oInstance.SIPURI &amp; " " &amp; Err.number &amp; ": " &amp; Err.Description<br />
vReturn = Err.number<br />
End If<br />
On Error Goto 0<br />
Next<br />
End If<br />
End Function</p>
<p> </p>
<p> </p>
<p>Sub DeleteGroups (ByVal strPrimaryURI)<br />
Dim UserInstanceId<br />
UserInstanceId = GetUserInstanceID(strPrimaryURI)</p>
<p>Dim oInstances<br />
Dim oInstance</p>
<p>Set oInstances = GetObject("winmgmts:\\" &amp; cComputer).ExecQuery("SELECT * FROM " &amp; cWMIUserContactGroupClass &amp; " WHERE UserInstanceID = '" &amp; UserInstanceID &amp; "'")<br />
For Each oInstance In oInstances<br />
If Not oInstance.Name = "~" Then<br />
On Error Resume Next<br />
oInstance.Delete_<br />
If Err.number = vbEmpty Then<br />
WScript.Echo "[+] Delete successful for group: " &amp; oInstance.Name<br />
vReturn = 0<br />
Else<br />
WScript.Echo "[-] Delete failed for group: " &amp; oInstance.Name &amp; " " &amp; Err.number &amp; ": " &amp; Err.Description<br />
vReturn = Err.number<br />
End If<br />
On Error Goto 0<br />
End If<br />
Next<br />
End Sub</p>
<p> <br />
Sub AddContactGroups (ByVal strPrimaryURI)<br />
Dim strUserInstanceId<br />
strUserInstanceId = GetUserInstanceID(strPrimaryURI)</p>
<p>Dim strGroupID<br />
Wscript.echo strPrimaryURI<br />
strGroupID = AddContactGroup(strUserInstanceId, "<strong>ИМЯ_ГРУППЫ_1</strong>", "<strong>group_1_mail@domain.ru</strong>")<br />
strGroupID = AddContactGroup(strUserInstanceId, "<strong>ИМЯ_ГРУППЫ_2</strong>", "<strong>group_2_mail@domain.ru</strong>")<br />
strGroupID = AddContactGroup(strUserInstanceId, "<strong>ИМЯ_ГРУППЫ_3</strong>", "<strong>group_3_mail@domain.ru</strong>")<br />
End Sub</p>
<p> <br />
]]&gt;<br />
&lt;/script&gt;</p>
<p>&lt;script language="VBScript"&gt;<br />
&lt;![CDATA[<br />
Option Explicit</p>
<p>Dim strCounter : strCounter = 0<br />
Dim strPrimaryURI<br />
Dim fDelete : fDelete = WScript.Arguments.Named.Exists("delete")</p>
<p>If Not WScript.Arguments.Named.Exists("usersfile") Then<br />
strPrimaryURI = "sip:" &amp; InputBox("Enter SIP address of user." &amp; VbCrLf &amp; _<br />
"You can use /UsersFile:C:\users.txt parameter if you want to add groups to many users." &amp; VbCrLf &amp; _<br />
"Each line in users.txt need to have the format sip:users@domain.com", "SIP address")<br />
If fDelete Then<br />
DeleteContacts(strPrimaryURI)<br />
DeleteGroups(strPrimaryURI)<br />
Else<br />
AddContactGroups(strPrimaryURI)<br />
End If</p>
<p>Else<br />
Dim strUsersFile : strUsersFile = LCase(Trim(WScript.Arguments.Named.Item("usersfile")))</p>
<p>WScript.Echo "@------------------------------------------------------------"<br />
WScript.Echo "@ Text file with Users: " &amp; strUsersFile<br />
WScript.Echo "@------------------------------------------------------------"<br />
WScript.Echo ""<br />
Dim oFS : Set oFS = CreateObject("Scripting.FileSystemObject")<br />
Dim oUsersFile<br />
Dim i : i = 0</p>
<p>'Reading Users from file and adding contacts<br />
If oFS.FileExists(strUsersFile) Then<br />
Set oUsersFile = oFS.OpenTextFile(strUsersFile, 1, false)</p>
<p>Dim strUserSIPAddress<br />
Dim strLineItem</p>
<p>Do Until oUsersFile.AtEndOfStream<br />
strLineItem = Trim(oUsersFile.ReadLine)<br />
ParseUserLineItem(strLineItem) ' Parse each line item and add contacts for it<br />
Loop<br />
Else<br />
fShowUsage = True<br />
WScript.Echo "[Err] Invalid users input file: " &amp; strUsersFile<br />
End If<br />
End If</p>
<p>Wscript.Echo "Created " &amp; strCounter &amp; " groups."<br />
]]&gt;<br />
&lt;/script&gt;<br />
&lt;/job&gt;<br />
&lt;/package&gt;<br />
</code></div>
<p>Обратите внимание &#8211; в процедуре <code>AddContactGroups</code> нужно прописать необходимое количество строчек вызова, указав имя добавляемой группы (как оно будет отображаться в Communicator), и e-mail адрес группы рассылки.</p>
<p>Далее. Для вызова данного скрипта необходимо подготовить файл списка пользователей, которым мы добавляем данные группы. Файл должен быть таким же, как и для примера №1 &#8211; один SIP-адрес на одной строчке.</p>
<p>Затем &#8211; запускаем скрипт:</p>
<p><code>cscript LCSAddGroups.wsf /UsersFile:файл_список_пользователей</code></p>
<p>После отработки можно запускать Communicator и увидеть свежедобавленные группы с пользователями.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lankey.ru/blog/2009/12/18/zapolnenie-contact-listov-v-office-communicator/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Установка разрешения видео в Microsoft Office Communicator</title>
		<link>http://www.lankey.ru/blog/2009/11/07/ustanovka-razresheniya-video-v-microsoft-office-communicator/</link>
		<comments>http://www.lankey.ru/blog/2009/11/07/ustanovka-razresheniya-video-v-microsoft-office-communicator/#comments</comments>
		<pubDate>Fri, 06 Nov 2009 22:37:27 +0000</pubDate>
		<dc:creator>Ярослав Никифоров</dc:creator>
				<category><![CDATA[Office Communications Server]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[office communications server 2007 r2]]></category>
		<category><![CDATA[office communicator 2007 r2]]></category>

		<guid isPermaLink="false">http://blogs.lankey.ru/?p=374</guid>
		<description><![CDATA[Мы знаем, что для того, чтобы определить максимальное качество видео, разрешенное участникам видеозвонков в Office Communications Server, нужно задать параметр на закладке Video в настройках сервера Front-End. Но, кроме этого, ограничение на максимальное качество видеокартинки задается и на клиенте &#8211; ключом реестра. Вообще Office Communicator имеет такую интересную особенность, что в нем невозможно принудительно задать использование [...]]]></description>
			<content:encoded><![CDATA[<p>Мы знаем, что для того, чтобы определить максимальное качество видео, разрешенное участникам видеозвонков в Office Communications Server, нужно задать параметр на закладке Video в настройках сервера Front-End.</p>
<p>Но, кроме этого, ограничение на максимальное качество видеокартинки задается и на клиенте &#8211; ключом реестра.</p>
<p>Вообще Office Communicator имеет такую интересную особенность, что в нем невозможно принудительно задать использование определенного видеоразрешения &#8211; можно лишь ограничить его сверху, или &laquo;порекомендовать&raquo;, выбрав большой или маленький размер видео в окне звонка. И даже в таком случае, качество видео будет варьироваться прямо по ходу разговора, адаптируясь к скорости сети и мощности процессора.</p>
<p>За задание максимально разрешенного размера видеокартинки на клиенте ответственна ветка реестра <strong>HKEY_CURRENT_USER\Software\Microsoft\RTC\Quality</strong>, а именно &#8211; два находящихся в ней ключа типа DWORD &#8211; <strong>MaxAllowedSendVideoSize</strong>, и <strong>MaxAllowedReceiveVideoSize</strong>. Как следует из названия, первый ключ ограничивает максимальное качество отправляемой удаленному абоненту видеокартинки, второй ключ &#8211; максимальное качество принимаемой от удаленного абонента видеокартинки. Эксперименты показали, что ключи эти могут принимать следующие значения:</p>
<table border="0">
<tbody>
<tr>
<td>&laquo;MaxAllowedSendVideoSize&raquo;=dword:00000001<br />
&laquo;MaxAllowedReceiveVideoSize&raquo;=dword:00000001</td>
<td>Качество видео &#8211; только CIF (352&#215;288)</td>
</tr>
<tr>
<td>&laquo;MaxAllowedSendVideoSize&raquo;=dword:00000002<br />
&laquo;MaxAllowedReceiveVideoSize&raquo;=dword:00000002</td>
<td>Качество видео &#8211; до VGA (640&#215;480)</td>
</tr>
<tr>
<td>&laquo;MaxAllowedSendVideoSize&raquo;=dword:00000004<br />
&laquo;MaxAllowedReceiveVideoSize&raquo;=dword:00000004</td>
<td>Какой-то очень странный режим, сильно вытянутый по горизонтали &#8211; уж не картинка ли для RoundTable?</td>
</tr>
<tr>
<td>&laquo;MaxAllowedSendVideoSize&raquo;=dword:00000008<br />
&laquo;MaxAllowedReceiveVideoSize&raquo;=dword:00000008</td>
<td>Качество видео &#8211; до HD (1280&#215;720)</td>
</tr>
</tbody>
</table>
<p>Кстати, по умолчанию этих ключей, да и всей ветки, в реестре нет &#8211; нужно ее создать. После задания этих ключей необходимо перезапустить Communicator.</p>
<p>Повторюсь &#8211; эти ключи не задают <strong>точный</strong> формат видео &#8211; задается лишь максимально разрешенный к использованию. Реальное качество картинки может меняться в течение разговора в зависимости от скорости сети и мощности процессора. Ну и конечно, вышеуказанные ключи влияют только на качество видеозвонка один на один &#8211; при конференции с тремя и более участниками качество видео всегда CIF (352&#215;288).</p>
<p>Эксперименты показали, что видеозвонок в HD-качестве очень неплохо так загружает процессор компьютера &#8211; например, Core2 Duo 3,06 GHz в течение HD-звонка почти все время загружен на 80-85%.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lankey.ru/blog/2009/11/07/ustanovka-razresheniya-video-v-microsoft-office-communicator/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Интеграция OCS 2007 R2 и Google Talk / Jabber</title>
		<link>http://www.lankey.ru/blog/2009/10/17/integracia-ocs-2007-r2-i-google-talk/</link>
		<comments>http://www.lankey.ru/blog/2009/10/17/integracia-ocs-2007-r2-i-google-talk/#comments</comments>
		<pubDate>Fri, 16 Oct 2009 22:35:15 +0000</pubDate>
		<dc:creator>Ярослав Никифоров</dc:creator>
				<category><![CDATA[Office Communications Server]]></category>
		<category><![CDATA[federation]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[office communications server 2007 r2]]></category>

		<guid isPermaLink="false">http://blogs.lankey.ru/?p=360</guid>
		<description><![CDATA[Известно, что пользователи Office Communications Server 2007 R2, используя Office Communicator, могут общаться не только друг с другом, но и с клиентами других систем обмена сообщениями &#8211; AOL (и официальным ICQ), MSN Live Messenger, Yahoo &#8211; этот процесс называется федерация (federation). Пользователи видят таких клиентов в своем списке контактов, видят их состояние присутствия (так же, [...]]]></description>
			<content:encoded><![CDATA[<p>Известно, что пользователи Office Communications Server 2007 R2, используя Office Communicator, могут общаться не только друг с другом, но и с клиентами других систем обмена сообщениями &#8211; AOL (и официальным ICQ), MSN Live Messenger, Yahoo &#8211; этот процесс называется<strong> федерация</strong> (federation). Пользователи видят таких клиентов в своем списке контактов, видят их состояние присутствия (так же, как и федеративные пользователи видят их состояние), и могут обмениваться текстовыми сообщениями.</p>
<p>Теперь количество интегрируемых с OCS систем увеличилось. Первого октября команда разработчиков Office Communications Server выпустила <strong>бесплатное</strong> дополнение для OCS 2007 R2 &#8211; <strong>XMPP Gateway</strong>, сервер для федерации с системами, работающими по протоколу Jabber &#8211; а это, например, Google Talk, или известный в России QIP.</p>
<p>Сервер XMPP Gateway устанавливается в сети периметра &#8211; той же самой, где находится сервер Edge. Сосуществовать с другими ролями OCS эта роль не может &#8211; для нее нужен отдельный сервер (или виртуальная машина). И, несмотря на то, что роль называется Gateway &#8211; она требует для работы лишь один сетевой интерфейс. Главное &#8211; чтобы XMPP Gateway мог связаться с сервером Edge по TCP-порту 5061, и с другими Jabber-серверами в Интернете по TCP-порту 5269. Второго мы можем добиться, например опубликовав порт 5269 на нашем внешнем firewall.</p>
<p>Обязательное требование к серверу XMPP Gateway &#8211; что он <strong>не должен</strong> быть членом домена, в котором развернут Office Communications Server. Рекомендуется, чтобы этот сервер просто принадлежал какой-либо рабочей группе.</p>
<p>Давайте попробуем развернуть эту роль и на практике посмотреть, как же можно связать пользователей Communicator и Google Talk:</p>
<p><span id="more-360"></span></p>
<h3>Коротко о Jabber</h3>
<p>Давайте сначала разберемся, как работает протокол XMPP.</p>
<p>По своей сути протокол &#8211; это специально сформированные сообщения в формате XML. Клиенты XMPP общаются с сервером по порту 5222. Серверы общаются между собой по порту 5269. Для того, чтобы два сервера могли обмениваться информацией между собой, используется так называемый Dialback &#8211; первый сервер подключается ко второму по порту 5269, и второй сервер устанавливает встречное соединение с первым, тоже на порт 5269.</p>
<p>Поскольку XML-сообщения это по сути открытый текст &#8211; протокол позволяет шифровать передаваемый межсерверный трафик по протоколу TLS.</p>
<h3>Поиск нужного сервера</h3>
<p>Если пользователь хочет отправить сообщение на адрес someuser@somedomain.ru &#8211; сервер выполняет DNS-запрос на получение записи типа SRV с именем <strong>_xmpp-server._tcp.somedomain.ru</strong>. Ответ DNS-сервера и содержит имя Jabber-сервера (или серверов) домена somedomain.ru, и порт, к которому нужно произвести подключение.</p>
<h3>Структура сети</h3>
<p>Схема сети выглядит следующим образом:</p>
<p><a href="http://blogs.lankey.ru/wp-content/uploads/2009/10/xmpp00.png"><img class="alignnone size-medium wp-image-362" title="Структура сети для XMPP" src="http://blogs.lankey.ru/wp-content/uploads/2009/10/xmpp00-300x235.png" alt="Структура сети для XMPP" width="300" height="235" /></a></p>
<p>У нас есть контроллер домена DC, он же центр выдачи цифровых сертификатов, сервер OCS (Standard Edition), сервер EDGE (типа Consolidated Edge, все три роли на одном. Самое главное &#8211; что на нем есть Access Edge). Расположим в сети периметра сервер JABBER. Пользователи нашего OCS имеют SIP-адреса из домена, скажем, <strong>external.ru</strong>.</p>
<p>Сервер Access Edge имеет сетевое имя sip.external.ru.</p>
<h3>Установка сервера JABBER</h3>
<p>Установим на нем 64-битный Windows 2003 или 2008 &#8211; я остановился на 2003 R2 Datacenter. Оставляем этот сервер в рабочей группе, и припишем в настройках имени компьютера DNS-суффикс external.ru &#8211; чтобы его полное имя совпадало с тем, какой сертификат мы ему выдадим.</p>
<p>Связь сервера JABBER с сервером EDGE будет проходить по зашифрованному каналу &#8211; следовательно, оба сервера должны иметь сертификаты. Импортируем сертификат корневого центра сертификации DC в соответствующее хранилище сервера JABBER, и выдадим этому серверу сертификат шаблона Web Server на полное имя компьютера &#8211; <strong>jabber.external.ru</strong>. На сервере EDGE сертификат на имя sip.external.ru сертификат уже присутствует с момента развертывания OCS.</p>
<h3>Установка XMPP Gateway</h3>
<p>Скачаем с сайта Microsoft Download Center дистрибутив XMPP Gateway и запустим его. Сам дистрибутив программу не установит, а лишь разархивируется в каталог <code>C:\Program Files\Microsoft Office Communications Server 2007 R2\XMPP Installer</code>. Куда мы зайдем и запустим setup.exe.</p>
<p>Первый пункт установки развернет нам файлы приложения. После него нужно настроить IP-адрес для шлюза. Находим файл <code>C:\Program Files\Microsoft Office Communications Server 2007 R2\XMPP Gateway\TGWConsoleGUI.dll.config</code> и открываем его Блокнотом.</p>
<p>Впишем в него IP-адрес сервера JABBER, в два параметра. Первый параметр &#8211; для адреса, к которому будет получать доступ сервер EDGE. Второй параметр &#8211; для адреса, к которому будут получать доступ внешние серверы из Интернета. Для нас это один и тот же адрес, допустим, 192.168.1.222:</p>
<p><code><br />
&lt;?xml version="1.0" standalone="yes"?&gt;<br />
&lt;configuration&gt;<br />
&lt;appSettings&gt;<br />
&lt;add key= "cultureName" value = "en-US"/&gt;<br />
&lt;add key= "SipIP" value= "<strong>192.168.1.222</strong>"/&gt;<br />
&lt;add key= "XmppIP" value="<strong>192.168.1.222</strong>"/&gt;<br />
&lt;/appSettings&gt;<br />
&lt;/configuration&gt;<br />
</code></p>
<p>Сохраняем файл и возвращаемся в программу установки.</p>
<p>Второй шаг запустит программу настройки. Эта же программа будет доступна в дальнейшем через ярлык в Administrative Tools. Кстати, при любом изменении в этой программе необходимо рестартовать службу Office Communications XMPP Gateway.</p>
<h3>Настройка программы &#8211; параметры доступа к OCS</h3>
<p>Первый раздел программы слева &#8211; SIP Configuration, то есть связка с OCS. На первой закладке в поле Domain нужно указать SIP-домен организации, то есть в нашем тестовом случае, external.ru. В поле Host Name указывается имя сервера EDGE &#8211; в нашем случае, это sip.external.ru.</p>
<p><a href="http://blogs.lankey.ru/wp-content/uploads/2009/10/xmpp01.png"><img class="alignnone size-medium wp-image-363" title="Настройка XMPP 1" src="http://blogs.lankey.ru/wp-content/uploads/2009/10/xmpp01-300x213.png" alt="Настройка XMPP 1" width="300" height="213" /></a></p>
<p>Нажимаем кнопку Save.</p>
<p>На второй закладке нужно выбрать сертификат для TLS-шифрования трафика с сервером EDGE. Выбираем ранее полученный нами сертификат на имя сервера jabber.external.ru.</p>
<p><a href="http://blogs.lankey.ru/wp-content/uploads/2009/10/xmpp02.png"><img class="alignnone size-medium wp-image-364" title="Настройка XMPP 2" src="http://blogs.lankey.ru/wp-content/uploads/2009/10/xmpp02-300x213.png" alt="Настройка XMPP 2" width="300" height="213" /></a></p>
<p>На третьей закладке можно выбрать домен и убедиться, что сервер JABBER подключается к серверу EDGE.</p>
<p><a href="http://blogs.lankey.ru/wp-content/uploads/2009/10/xmpp03.png"><img class="alignnone size-medium wp-image-365" title="Настройка XMPP 3" src="http://blogs.lankey.ru/wp-content/uploads/2009/10/xmpp03-300x213.png" alt="Настройка XMPP 3" width="300" height="213" /></a></p>
<p><em>Внимание: проверяется только <strong>возможность</strong> подключения, то есть доступность сервера по IP-адресу. Никакой трафик, вроде авторизации и так далее, не передается, то есть информация об успехе подключения всего лишь говорит что сервер нам доступен, а не то что он действительно работает правильно</em>.</p>
<h3>Настройка программы &#8211; параметры XMPP Configuration</h3>
<p>В закладке Allow list мы указываем, с какими именно Jabber-доменами мы хотим &laquo;дружить&raquo;, и методику связи с ними &#8211; в частности, следует ли использовать TLS или достаточно простого TCP подключения. Сервер gmail.com для Google Talk в отличие от многих других может работать и без TLS.</p>
<p>В поле Domain Name вводим домен, с пользователями которого мы хотим связываться &#8211; в нашем случае это gmail.com. Метод подключения выбираем TCP Dialback &#8211; то есть, без сертификатов и шифрования. Нажимаем OK &#8211; и домен появляется в списке.</p>
<p><a href="http://blogs.lankey.ru/wp-content/uploads/2009/10/xmpp04.png"><img class="alignnone size-medium wp-image-366" title="Настройка XMPP 4" src="http://blogs.lankey.ru/wp-content/uploads/2009/10/xmpp04-300x213.png" alt="Настройка XMPP 4" width="300" height="213" /></a></p>
<p>На второй закладке мы ничего не указываем &#8211; потому что мы выбрали подключение без шифрования.</p>
<p>На третьей закладке мы можем проверить доступность серверов gmail.com.</p>
<p><a href="http://blogs.lankey.ru/wp-content/uploads/2009/10/xmpp05.png"><img class="alignnone size-medium wp-image-367" title="Настройка XMPP 5" src="http://blogs.lankey.ru/wp-content/uploads/2009/10/xmpp05-300x213.png" alt="Настройка XMPP 5" width="300" height="213" /></a></p>
<p><em>Так же, как и раньше, проверяется только <strong>возможность </strong>подключения</em>.</p>
<p>Раздел Settings можно не настраивать, оставив все по умолчанию.</p>
<p>Теперь можно вернуться в программу установки и нажать Start services.</p>
<h3>Настройка сервера EDGE</h3>
<p>Теперь, для того, чтобы наш EDGE знал, куда следует переадресовывать запросы на адреса для Jabber, нужно открыть оснастку управления на сервере EDGE, выбрать свойства сервера и найти закладку Allow.</p>
<p>На этой закладке нажимаем Allow и вписываем &#8211; домен gmail.com, и хост, на который нужно переадресовывать запросы &#8211; у нас это jabber.external.ru.</p>
<p><a href="http://blogs.lankey.ru/wp-content/uploads/2009/10/xmpp06.png"><img class="alignnone size-medium wp-image-368" title="Настройка XMPP 6" src="http://blogs.lankey.ru/wp-content/uploads/2009/10/xmpp06-281x300.png" alt="Настройка XMPP 6" width="281" height="300" /></a></p>
<p>Естественно, нужно позаботиться о том, чтобы сервер EDGE знал, как найти IP-адрес сервера JABBER &#8211; например, указав его в файле hosts.</p>
<h3>Настройка внешнего DNS</h3>
<p>Как я говорил ранее, не только мы устанавливаем соединение с другим Jabber-сервером &#8211; и этот сервер должен установить еще одно соединение с нами. Для этого он должен нас найти.</p>
<p>Открываем консоль внешнего DNS-сервера, обслуживающего наш SIP-домен, и создаем там запись типа А для сервера JABBER &#8211; я назвал его xmpp.external.ru. Так как порт 5269 моего сервера я просто опубликовал на аппаратном firewall &#8211; то для этой записи A я указываю IP-адрес firewall-а.</p>
<p>Создаем еще одну запись, типа SRV, с именем _xmpp-server._tcp &#8211; именно по ней нас и найдут внешние сервера. Укажем порт 5269 и хост xmpp.external.ru &#8211; тот, который мы прописали чуть выше.</p>
<p><a href="http://blogs.lankey.ru/wp-content/uploads/2009/10/xmpp09.png"><img class="alignnone size-medium wp-image-369" title="Настройка DNS для XMPP" src="http://blogs.lankey.ru/wp-content/uploads/2009/10/xmpp09-271x300.png" alt="Настройка DNS для XMPP" width="271" height="300" /></a></p>
<h3>Проверка</h3>
<p>Все! Настройка закончена. Если все прошло как надо, все нужные порты и записи присутствуют и службы запущены &#8211; мы можем добавить в Communicator запись с gmail-а, и увидеть статус присутствия, написать сообщения и даже получить ответ <img src='http://www.lankey.ru/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://blogs.lankey.ru/wp-content/uploads/2009/10/xmpp10.png"><img class="alignnone size-medium wp-image-370" title="Общение Communicator и Google Talk" src="http://blogs.lankey.ru/wp-content/uploads/2009/10/xmpp10-300x229.png" alt="Общение Communicator и Google Talk" width="300" height="229" /></a></p>
<p>Пользователь Google Talk в свою очередь увидит наш статус присутствия и тоже сможет нам писать.</p>
<p><a href="http://blogs.lankey.ru/wp-content/uploads/2009/10/xmpp11.png"><img class="alignnone size-medium wp-image-371" title="Общение Google Talk и Communicator" src="http://blogs.lankey.ru/wp-content/uploads/2009/10/xmpp11-199x300.png" alt="Общение Google Talk и Communicator" width="199" height="300" /></a></p>
<h3>Послесловие</h3>
<p>Как можно видеть на картинке выше, в моем Communicator присутствуют еще записи из доменов qip.ru и jabber.ru, без состояния присутствия. Дело в том, что эти сервера требуют обязательного шифрования трафика по TLS &#8211; а значит, нужно будет присвоить серверу xmpp.external.ru сертификат, причем от публичного центра сертификации. Так что &#8211; продолжение экспериментов следует <img src='http://www.lankey.ru/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.lankey.ru/blog/2009/10/17/integracia-ocs-2007-r2-i-google-talk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>После обновления Windows не запускается Office Communications Server</title>
		<link>http://www.lankey.ru/blog/2009/10/15/posle-obnovleniya-windows-ne-zapuskaetsya-ocs/</link>
		<comments>http://www.lankey.ru/blog/2009/10/15/posle-obnovleniya-windows-ne-zapuskaetsya-ocs/#comments</comments>
		<pubDate>Thu, 15 Oct 2009 07:16:16 +0000</pubDate>
		<dc:creator>Ярослав Никифоров</dc:creator>
				<category><![CDATA[Office Communications Server]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[office communications server 2007 r2]]></category>
		<category><![CDATA[Windows Server]]></category>
		<category><![CDATA[windows server 2008 r2]]></category>
		<category><![CDATA[исправления]]></category>

		<guid isPermaLink="false">http://blogs.lankey.ru/?p=353</guid>
		<description><![CDATA[14 октября была выпущена очередная порция критических обновлений операционных систем от Microsoft. Но после их установки на серверы Office Communications Server или Live Communications Server службы OCS/LCS не запускаются. Проблема в обновлении KB974571 &#8211; &#171;MS09-056: Vulnerabilities in CryptoAPI could allow spoofing&#187;. После установки этого обновления службы Front-End, Access Edge не запустятся. Например, для Office Communications Server [...]]]></description>
			<content:encoded><![CDATA[<p>14 октября была выпущена очередная порция критических обновлений операционных систем от Microsoft. Но после их установки на серверы Office Communications Server или Live Communications Server службы OCS/LCS не запускаются.</p>
<p>Проблема в обновлении KB974571 &#8211; &laquo;MS09-056: Vulnerabilities in CryptoAPI could allow spoofing&raquo;. После установки этого обновления службы Front-End, Access Edge не запустятся.</p>
<p>Например, для Office Communications Server 2007 R2 в журнале событий появляются записи:<br />
<code><br />
Event Type: Error<br />
Event Source: OCS Server<br />
Task Category: (1000)<br />
Event ID: 12290<br />
Description:<br />
The evaluation period for Microsoft Office Communications Server 2007 R2 has expired. Please upgrade from the evaluation version to the full released version of the product.<br />
</code></p>
<p><code><br />
Event Type: Error<br />
Event Source: OCS Server<br />
Task Category: (1000)<br />
Event ID: 12299<br />
Description:<br />
The service is shutting down due to an internal error.<br />
Error Code: C3E93C23 (SIPPROXY_E_INVALID_INSTALLATION_DATA)<br />
Resolution:<br />
Check the previous event log entries and resolve them. Restart the server. If the problem persists contact product support.<br />
</code></p>
<p><strong>Решение:</strong> если вы еще не разворачивали обновления &#8211; <strong>не устанавливайте обновление KB974571</strong>. Если уже установили &#8211; <strong>деинсталлируйте это обновление.</strong></p>
<p>Поскольку данное обновление имеет статус &laquo;Критическое&raquo; &#8211; его установка в дальнейшем крайне желательна. Ожидаем разрешения проблемы и свежего обновления от Microsoft.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lankey.ru/blog/2009/10/15/posle-obnovleniya-windows-ne-zapuskaetsya-ocs/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Клиент Office Communications Server для iPhone</title>
		<link>http://www.lankey.ru/blog/2009/08/27/client-office-communications-server-dlya-iphone/</link>
		<comments>http://www.lankey.ru/blog/2009/08/27/client-office-communications-server-dlya-iphone/#comments</comments>
		<pubDate>Thu, 27 Aug 2009 13:06:31 +0000</pubDate>
		<dc:creator>Ярослав Никифоров</dc:creator>
				<category><![CDATA[Office Communications Server]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[office communications server 2007 r2]]></category>

		<guid isPermaLink="false">http://blogs.lankey.ru/?p=173</guid>
		<description><![CDATA[Случилось интересное &#8211; полку клиентов для Office Communications Server прибыло! Появился клиент для Apple iPhone, зовущийся iDialog, уже доступный для покупки через AppStore. iDialog требует для работы iPhone или iPod с прошивкой 2.0 или выше. Поддерживается работа с OCS 2007 и OCS 2007 R2, как с корпоративной, так и с hosted-инфраструктурой. Взаимодействие клиента и серверов [...]]]></description>
			<content:encoded><![CDATA[<p>Случилось интересное &#8211; полку клиентов для Office Communications Server прибыло! Появился клиент для Apple iPhone, зовущийся <strong>iDialog</strong>, уже доступный для покупки через AppStore.</p>
<p>iDialog требует для работы iPhone или iPod с прошивкой 2.0 или выше. Поддерживается работа с OCS 2007 и OCS 2007 R2, как с корпоративной, так и с hosted-инфраструктурой. Взаимодействие клиента и серверов OCS происходит через роль Communicator Web Access Server.<br />
<span id="more-173"></span><br />
Возможности:</p>
<ul>
<li>Отображается список контактов и групп со статусами присутствия, возможен поиск по контакт-листу и GAL.</li>
<li>С контактами можно обмениваться короткими сообщениями. Можно добавлять нескольких пользователей в разговор.</li>
<li>Если мы через контакт-лист можем видеть телефон контакта &#8211; мы можем инициировать телефонный вызов на этот номер.</li>
<li>Выводится уведомление о входящем вызове, и доступно управление этим вызовом &#8211; перенаправление на телефонный номер (хоть на этот же iPhone) или голосовую почту.</li>
<li>Возможна отправка e-mail выбранному контакту &#8211; если настроена электронная почта на iPhone.</li>
<li>Звонки по SIP не поддерживаются, видео тоже, удаленный рабочий стол тем более <img src='http://www.lankey.ru/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</li>
</ul>
<p>Вот скриншоты с официального сайта клиента &#8211; <a href="http://www.modalitysystems.com/idialog/">http://www.modalitysystems.com/idialog/</a>:</p>
<table border="0">
<tbody>
<tr>
<td align="center"><a href="http://blogs.lankey.ru/wp-content/uploads/2009/08/contactlistgroups.png"><img class="alignnone size-full wp-image-178" title="Группы списка контактов" src="http://blogs.lankey.ru/wp-content/uploads/2009/08/contactlistgroups.png" alt="Группы списка контактов" width="202" height="290" /></a><br />
Группы списка контактов</td>
<td align="center"><a href="http://blogs.lankey.ru/wp-content/uploads/2009/08/contactlist.png"><img class="alignnone size-full wp-image-179" title="Список контактов" src="http://blogs.lankey.ru/wp-content/uploads/2009/08/contactlist.png" alt="Список контактов" width="202" height="290" /></a><br />
Список контактов</td>
</tr>
<tr>
<td align="center"><a href="http://blogs.lankey.ru/wp-content/uploads/2009/08/search.png"><img class="alignnone size-full wp-image-180" title="Поиск по списку контактов" src="http://blogs.lankey.ru/wp-content/uploads/2009/08/search.png" alt="Поиск по списку контактов" width="202" height="290" /></a><br />
Поиск по списку контактов</td>
<td align="center"><a href="http://blogs.lankey.ru/wp-content/uploads/2009/08/imchat.png"><img class="alignnone size-full wp-image-181" title="Обмен короткими сообщениями" src="http://blogs.lankey.ru/wp-content/uploads/2009/08/imchat.png" alt="Обмен короткими сообщениями" width="202" height="288" /></a><br />
Обмен короткими сообщениями</td>
</tr>
<tr>
<td align="center"><a href="http://blogs.lankey.ru/wp-content/uploads/2009/08/contactinfo2.png"><img class="alignnone size-full wp-image-182" title="Просмотр информации о контакте" src="http://blogs.lankey.ru/wp-content/uploads/2009/08/contactinfo2.png" alt="Просмотр информации о контакте" width="202" height="290" /></a><br />
Просмотр информации о контакте</td>
<td align="center"><a href="http://blogs.lankey.ru/wp-content/uploads/2009/08/contactinfo.png"><img class="alignnone size-full wp-image-183" title="Просмотр информации о контакте" src="http://blogs.lankey.ru/wp-content/uploads/2009/08/contactinfo.png" alt="Просмотр информации о контакте" width="202" height="290" /></a><br />
Просмотр информации о контакте</td>
</tr>
<tr>
<td align="center"><a href="http://blogs.lankey.ru/wp-content/uploads/2009/08/call.png"><img class="alignnone size-full wp-image-184" title="Управление входящим вызовом" src="http://blogs.lankey.ru/wp-content/uploads/2009/08/call.png" alt="Управление входящим вызовом" width="202" height="290" /></a><br />
Управление входящим вызовом</td>
<td align="center"> </td>
</tr>
</tbody>
</table>
<p>Цена клиента составляет 10$.</p>
<p>Так что теперь устройств, работающих совместно с Office Communications Server становится все больше!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lankey.ru/blog/2009/08/27/client-office-communications-server-dlya-iphone/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Пример развертывания Office Communications Server 2007 R2 &#8211; часть 4</title>
		<link>http://www.lankey.ru/blog/2009/08/17/primer-razvertyvanya-office-communications-server-2007-r2-part-4/</link>
		<comments>http://www.lankey.ru/blog/2009/08/17/primer-razvertyvanya-office-communications-server-2007-r2-part-4/#comments</comments>
		<pubDate>Mon, 17 Aug 2009 11:05:53 +0000</pubDate>
		<dc:creator>Ярослав Никифоров</dc:creator>
				<category><![CDATA[Office Communications Server]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[office communications server 2007 r2]]></category>

		<guid isPermaLink="false">http://blogs.lankey.ru/?p=76</guid>
		<description><![CDATA[В предыдущих частях мы развернули Office Communications Server для компьютерных пользователей. Теперь подошло время начать потихоньку интегрировать его с телефонией. За интеграцию с телефонией (с теми АТС, которые не умеют напрямую работать с OCS) отвечает специальная роль, называемая Mediation Server. Mediation Server занимается преобразованием звукового потока из форматов G.xxx в формат Microsoft RTAudio &#8211; собственный [...]]]></description>
			<content:encoded><![CDATA[<p>В предыдущих частях мы развернули Office Communications Server для компьютерных пользователей. Теперь подошло время начать потихоньку интегрировать его с телефонией.</p>
<p><span id="more-76"></span></p>
<p>За интеграцию с телефонией (с теми АТС, которые не умеют напрямую работать с OCS) отвечает специальная роль, называемая Mediation Server. Mediation Server занимается преобразованием звукового потока из форматов G.xxx в формат Microsoft RTAudio &#8211; собственный кодек Microsoft. А между Mediation Server и ATC будет находиться VoIP-шлюз.</p>
<h4>Развертывание Mediation Server</h4>
<p>Выделим серверу MEDIATION две сетевые карты. Одной сетевой картой он будет подключен к локальной сети &#8211; назовем это соединение Local, и присвоим соответствующий IP-адрес. Второй сетевой картой сервер будет подключен к VoIP-шлюзу. Я не выделял отдельного коммутатора, а подключал напрямую патчкордом. Назовем это соединение VoIP, и соответственно присвоим IP-адрес из подсети, определенной нами для VoIP-шлюза. Поскольку согласно заводским настройкам IP-адрес шлюза 10.1.10.10/16, то мы, не особо фантазируя, назначим сетевой карте адрес 10.1.10.1 и маску 255.255.0.0. DNS никакого не указываем. Чтобы не загружать соединение с шлюзом лишним ненужным трафиком &#8211; отключим на нем NetBIOS over TCP.</p>
<p>Вводим сервер MEDIATION в домен, и запускаем на нем программу установки Office Communications Server. Дополнительных ролей от сервера не потребуется. Выбираем Deploy other server roles &#8211; Deploy mediation server.</p>
<p>Install files for Mediation server &#8211; развертываем файлы на жесткий диск. Затем запускаем активацию сервера. Указываем пароль для существующей учетной записи службы (она у нас создалась на этапе развертывания сервера OCS). После активации данные о сервере появились в AD, но сам сервер еще не запущен &#8211; ему не сопоставлены сертификаты и не настроены адреса шлюза и сервера OCS.</p>
<p>Следующий шаг выполняется не из мастера установки, а из консоли настройки Office Communications Server 2007 R2. Можно конечно установить административные утилиты и на сервер MEDIATION, но, я думаю, это не имеет смысла &#8211; мы все будем конфигурировать централизованно. Поэтому переключаемся на сервер OCS и на консоль управления Office Communications Server.</p>
<p>В разделе Mediation Servers после обновления должен появиться наш свежеразвернутый сервер. Щелкаем на нем правой кнопкой и выбираем Properties.</p>
<p>В открывшемся окне мы указываем параметры, которые нужны серверу MEDIATION чтобы найти остальные серверы.</p>
<p><a href="http://blogs.lankey.ru/wp-content/uploads/2009/08/ocs309.jpg"><img class="alignnone size-medium wp-image-88" title="Настройка Mediation 1" src="http://blogs.lankey.ru/wp-content/uploads/2009/08/ocs309-269x300.jpg" alt="Настройка Mediation 1" width="269" height="300" /></a> </p>
<p>В поле Communications Server listening IP &#8211; мы указываем адрес той сетевой карты, которая подключена к локальной сети. В поле Gateway listening IP &#8211; мы указываем адрес той сетевой карты, которая подключена к сети VoIP-шлюза. В полях A/V Edge Server и Location profile мы пока ничего не указываем &#8211; потому что внешнего сервера еще пока нет, и голосовой профиль мы не конфигурировали.</p>
<p>Переходим на следующую страницу.</p>
<p><a href="http://blogs.lankey.ru/wp-content/uploads/2009/08/ocs310.jpg"><img class="alignnone size-medium wp-image-89" title="Настройка Mediation 2" src="http://blogs.lankey.ru/wp-content/uploads/2009/08/ocs310-270x300.jpg" alt="Настройка Mediation 2" width="270" height="300" /></a></p>
<p>В поле FQDN мы пишем полное имя сервера OCS. Порт, по которому MEDIATION будет с ним связываться, оставляем неизменным &#8211; мы изначально на сервере OCS его не меняли. В поле PSTN Gateway Address вписываем IP-адрес VoIP-шлюза. Проверяем, что порт и метод подключения (TCP или TLS) соответствуют шлюзу. Мы шлюз не перенастраивали, поэтому оставляем эти поля как есть. Нажимаем OK. Соглашаемся с тем, что мы не указали Edge Server, location profile, и с тем, что изменения вступят после перезапуска Mediation Server.</p>
<p>Возвращаемся назад на сервер MEDIATION. Выбираем следующий шаг, запрашиваем и назначаем серверу сертификат на этот сервер.</p>
<p>После назначения сертификата возвращаемся в консоль управления на сервер OCS и запускаем сервер Mediation.</p>
<p>Сервер запустился. Правда, пока от него толку нет, потому что не настроена самая важная вещь &#8211; голосовая политика.</p>
<h4>Голосовая политика организации</h4>
<p>Голосовая политика определяет план нумерации в организации, определяет маршруты при звонках на городские номера, и, поскольку с точки зрения OCS, имеющиеся внутренние номера телефонов организации &#8211; тоже внешние, то политика определяет и методику связи с ними.</p>
<p>Допустим, у нас есть внешний телефонный номер +7 (495) 788-80-43, привязанный к АТС. Есть существующие телефоны, трехзначная нумерация &#8211; номера от 100 до 200. Выход в город производится через 9. Соответственно, междугородние звонки &#8211; 9-8-код города-телефон.</p>
<p>Мы хотим сделать, чтобы набранные в OCS трехзначные номера соединяли бы нас с внутренними абонентами, набранные семизначные &#8211; с городскими в коде города 495, начинающиеся с 8 &#8211; с междугородними или федеральными, и начинающиеся с + тоже звонили бы в город.</p>
<p>В соответствии с этим мы и начинаем планировать политику.</p>
<p>Запускаем консоль управления Office Communications Server, щелкаем правой кнопкой по Forest &#8211; Properties &#8211; Voice properties. На закладке Location Profiles щелкаем Add.</p>
<p>Важная тема &#8211; это название Location Profile. Если мы хотим нормально проинтегрировать OCS и Exchange UM &#8211; нам нужно правильно назвать Location Profile. Location Profile должен быть обязательно вида <em>имя_профиля.имя_нашего_домена</em>. Требования к пункту <em>имя_профиля</em> &#8211; такие же, как к любому корректному имени DNS &#8211; латинские буквы, цифры, без пробелов. Этот же идентификатор в дальнейшем будет использоваться как имя Exchange UM Dial Plan. Например, корректным в нашем случае будет назвать профиль &#8211; <strong>moscow.uc.ru</strong>.</p>
<p>Кроме имени профиля мы заносим более удобочитаемое имя в поле Display Text. Затем нам надо добавить Normalization Rules.</p>
<h4>Правила нормализации</h4>
<p>Именно Normalization Rules определяют телефонные номера, которые могут вводить пользователи OCS, и то, как они будут обрабатываться. Чуть выше мы вывели несколько желаемых исходящих маршрутов &#8211; на трехзначные номера в офисе, на семизначные в Москве, на федеральные и междугородние. Вот теперь и будем создавать такие правила нормализации.</p>
<p>Правила нормализации вводятся в виде исходное выражение - целевое выражение. Выражения записываются в виде .NET Regular Expresson. Полностью синтаксис я расписывать не буду &#8211; он есть в MSDN &#8211; а покажу его на примере наших маршрутов.</p>
<p>Первый маршрут &#8211; назовем его 3-digits &#8211; будет отвечать за дозвон на трехзначные номера телефонов, от 100 до 200. Сами трехзначные номера никак преобразовывать не надо &#8211; надо передавать на АТС в том же самом виде, в котором они были набраны.<br />
Исходным выражением будет: <code>^(\d{3})$</code><br />
Результатом будет: <code>$1</code></p>
<p>Поясню, что делает это выражение. Начинаем обрабатывать входящий номер с начала &#8211; символ ^. После этого проверяем, есть ли три цифры &#8211; символ \d обозначает цифру от 0 до 9, а {3} &#8211; появление цифры три раза. После скобок идет признак конца строки &#8211; $. То есть, например, номер из четырех или двух цифр под это правило нормализации не подойдет.<br />
Результатом преобразования будет $1 &#8211; то есть, то, что выбрано между скобок &#8211; без изменений. А между скобок у нас попадает три цифры &#8211; значит, результатом правила будет телефонный номер в три цифры, точно такой же, как и набранный. Он и будет впоследствии передан на АТС.</p>
<p>Казалось бы, зачем нам правило преобразования, которое ничего не преобразовывает? Но &#8211; если мы его не создадим, то Office Communications Server вообще не поймет, что надо обратить внимание на набранный телефонный номер из трех цифр, и скажет нам &#8211; мол, извини, ты набрал номер, о котором я ничего не знаю.</p>
<p>Параметры для первого правила нормализации заданы. Пункт Internal enterprise extension мы не включаем, а Use translation&#8230; не отключаем.</p>
<p>Вторым правилом будет обработка семизначного набранного номера. Опять нажмем Add для Normalization Rules.</p>
<p>Семизначный набранный номер должен быть передан на нашу АТС и стать исходящим вызовом в Москву. Раз это внешний номер &#8211; приведем его к стандартному виду, с кодом страны и города.<br />
Исходным выражением будет: <code>^(\d{7})$</code><br />
Результирующим выражением будет: <code>+7495$1</code></p>
<p><code><a href="http://blogs.lankey.ru/wp-content/uploads/2009/08/ocs311.jpg"><img class="alignnone size-medium wp-image-102" title="Правило нормализации семизначного московского номера" src="http://blogs.lankey.ru/wp-content/uploads/2009/08/ocs311-244x300.jpg" alt="Правило нормализации семизначного московского номера" width="244" height="300" /></a></code></p>
<p>То есть, к набранному семизначному номеру мы присоединяем спереди код страны и города Москвы. Например, набранный 7888043 станет +74957888043. При этом, замечу, что для OCS абсолютно все равно, вводится ли номер сплошными цифрами, или с пробелами, или с дефисами или скобками.</p>
<p>Третьим правилом нормализации мы создадим преобразование номеров вида 8-123-4567890 &#8211; указании вместо восьмерки кода страны +7.<br />
Исходное выражение будет: <code>^8(\d{10})$</code><br />
Результирующее выражение: <code>+7$1</code></p>
<p>Вот мы и создали три правила нормализации, необходимые нам для обработки вызовов. Теперь необходимо привязать к Location Profile еще и маршруты. У нас с вами один Mediation Server, поэтому все внешние вызовы пройдут через него.</p>
<p>Переходим на закладку Routes и добавляем маршруты:</p>
<p>Первый назовем 3-digits. Выражение Target regular expression будет как и выше, <code>^(\d{3})$</code><br />
В качестве шлюза укажем наш сервер mediation.uc.ru.</p>
<p>Второй будет для звонков по России (и Москве, раз мы преобразовали семизначный московский номер в международный формат <em>+7495номер</em>). Результирующее выражение будет: <code>^\+7(\d{10})$</code><br />
Обращаю внимание, что знак + мы для порядка экранируем обратным слэшем. Шлюзом будет все тот же Mediation Server.</p>
<p>Третьим маршрутом добавим для разнообразия звонки в США. Результирующее выражение будет: <code>^\+1(\d{10})$</code><br />
Шлюзом будет все тот же Mediation Server.</p>
<p><a href="http://blogs.lankey.ru/wp-content/uploads/2009/08/ocs312.jpg"><img class="alignnone size-medium wp-image-103" title="Маршрут звонков для американских номеров" src="http://blogs.lankey.ru/wp-content/uploads/2009/08/ocs312-196x300.jpg" alt="Маршрут звонков для американских номеров" width="196" height="300" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.lankey.ru/blog/2009/08/17/primer-razvertyvanya-office-communications-server-2007-r2-part-4/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Пример развертывания Office Communications Server 2007 R2 &#8211; часть 3</title>
		<link>http://www.lankey.ru/blog/2009/08/17/primer-razvertyvanya-office-communications-server-2007-r2-part-3/</link>
		<comments>http://www.lankey.ru/blog/2009/08/17/primer-razvertyvanya-office-communications-server-2007-r2-part-3/#comments</comments>
		<pubDate>Mon, 17 Aug 2009 10:29:35 +0000</pubDate>
		<dc:creator>Ярослав Никифоров</dc:creator>
				<category><![CDATA[Office Communications Server]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[office communications server 2007 r2]]></category>

		<guid isPermaLink="false">http://blogs.lankey.ru/?p=59</guid>
		<description><![CDATA[Итак, продолжим. Теперь на очереди &#8211; развертывание Office Communications Server 2007 R2. Развертывание Office Communications Server 2007 R2 Мы развернем три сервера OCS 2007 R2 &#8211; один основной сервер OCS, один сервер сопряжения с телефонией MEDIATION, и сервер внешнего доступа EDGE. Напомню, что версия 2007 R2 является только 64-битной, и может ставиться на Windows 2008 [...]]]></description>
			<content:encoded><![CDATA[<p>Итак, продолжим. Теперь на очереди &#8211; развертывание Office Communications Server 2007 R2.</p>
<p><span id="more-59"></span></p>
<h4>Развертывание Office Communications Server 2007 R2</h4>
<p>Мы развернем три сервера OCS 2007 R2 &#8211; один основной сервер OCS, один сервер сопряжения с телефонией MEDIATION, и сервер внешнего доступа EDGE.</p>
<p>Напомню, что версия 2007 R2 является только 64-битной, и может ставиться на Windows 2008 &#8211; чем мы и воспользуемся.</p>
<h4>Сетевые настройки и подготовка</h4>
<p>Присоединяем сервер OCS в домен uc.ru.<br />
Перед установкой Office Communications Server 2007 R2 устанавливаем следующие серверные роли: Web Server, Remote Admin Tools\Active Directory Domain Services, и Message Queuing, включая Directory Service Integration.</p>
<h4>Установка Office Communications Server 2007 R2</h4>
<p>Установка – процесс, состоящий из последовательных шагов, которые запускаются из мастера установки Office Communications Server 2007 R2. Удостоверяемся, что мы вошли на сервер OCS под пользователем UC\Administrator, являющимся администратором домена и леса.<br />
Запускаем инсталляцию, ставим необходимые пререквизиты – VC Redistributable и .NET Framework.<br />
Открываем раздел Deploy Standard Edition Server.</p>
<h4>Подготовка Active Directory</h4>
<p>Перед установкой Office Communications Server, так же как и Exchange, должен подготовить под себя схему Active Directory. Запускаем Prep Schema. Указываем местоположение файлов схемы – по умолчанию из дистрибутива. Запускаем загрузку схемы.</p>
<p><a href="http://blogs.lankey.ru/wp-content/uploads/2009/08/ocs301.jpg"><img class="alignnone size-medium wp-image-60" title="Выбор местоположения файлов схемы" src="http://blogs.lankey.ru/wp-content/uploads/2009/08/ocs301-300x231.jpg" alt="Выбор местоположения файлов схемы" width="300" height="231" /></a><br />
После подготовки схемы в организациях с несколькими доменами и контроллерами доменов необходимо дождаться, чтобы изменения схемы среплицировались на все контроллеры всех доменов. Но так как у нас и домен, и контроллер один – мы ждать не будем.</p>
<p>Затем запускаем Prep Forest. Указываем местоположение настроек – либо в разделе конфигурации каждого домена, либо в корневом домене. Хранение в каждом домене увеличит трафик репликации, но зато не потребуется постоянная доступность корневого домена. Хранение в корневом домене  Так как у нас домен ровно один, он же корневой – нам все равно, и мы выбираем Configuration Partition.</p>
<p><a href="http://blogs.lankey.ru/wp-content/uploads/2009/08/ocs302.jpg"><img class="alignnone size-medium wp-image-61" title="Место для хранения настроек" src="http://blogs.lankey.ru/wp-content/uploads/2009/08/ocs302-300x230.jpg" alt="Место для хранения настроек" width="300" height="230" /></a><br />
Подтверждаем, что мы создаем группы для домена uc.ru. Далее, проверяем, что в качестве SIP-домена тоже указан uc.ru. Запускаем создание групп.<br />
После создания групп в домене с несколькими глобальными каталогами необходимо дождаться, чтобы группы среплицировались на все глобальные каталоги. Так как у нас контроллер один, он же единственный глобальный каталог – мы ждать не будем.<br />
Затем запускаем шаг Prep Current Domain. Этот шаг назначит полномочия в домене созданным в предыдущем шаге группам.<br />
Следующим шагом можно делегировать административные полномочия каким-нибудь группам или пользователям. Казалось бы, если мы будем настраивать все из-под пользователя Administrator &#8211; у нас и так максимальные полномочия. Но это не совсем верно - по умолчанию пользователь Administrator не включается в группу RTCUniversalServerAdmins, что не позволит нам например настраивать Response Group. Поэтому идем в Active Directory Users and Computers, и включаем Administrator&#8217;а в группу RTCUniversalServerAdmins. </p>
<h4>Развертывание сервера</h4>
<p>Запускаем мастер Deploy Server.<br />
Мастер спросит нас, какие из дополнительных компонент сервера Standard Edition мы хотим поставить на этот сервер. Среди них, в частности, Response Group. Так как нам нет причин себя ограничивать &#8211; мы ставим все эти компоненты.</p>
<p><a href="http://blogs.lankey.ru/wp-content/uploads/2009/08/ocs303.jpg"><img class="alignnone size-medium wp-image-62" title="Дополнительные компоненты Office Communications Server" src="http://blogs.lankey.ru/wp-content/uploads/2009/08/ocs303-300x233.jpg" alt="Дополнительные компоненты Office Communications Server" width="300" height="233" /></a></p>
<p>Для работы служб Office Communications Server 2007 установка создаст в домене необходимые службы – у нас есть возможность или выбрать ранее созданные учетные записи, или разрешить создать новые.<br />
Далее требуется указать внешний адрес web-сервера или серверов – так как у нас нет внешних серверов, мы ничего не указываем.</p>
<p><a href="http://blogs.lankey.ru/wp-content/uploads/2009/08/ocs304.jpg"><img class="alignnone size-medium wp-image-63" title="Внутренние и внешние адреса" src="http://blogs.lankey.ru/wp-content/uploads/2009/08/ocs304-300x233.jpg" alt="Внутренние и внешние адреса" width="300" height="233" /></a><br />
Так как устанавливаемый нами сервер – Standard Edition, то программа установки развернет на этом же сервере SQL Server Express Edition, запросив у нас желаемое местоположение файлов базы.</p>
<h4>Начальная конфигурация сервера</h4>
<p>Запускаем мастер Configure Server. На этом этапе у нас есть возможность добавить или изменить SIP-домены. SIP-домен может отличаться от домена AD в том случае, если например, внутри организации имя домена org.local, а внешние e-mail-адреса все в домене org.ru. Мы наверняка захотим, чтобы SIP-адреса пользователей совпадали с их e-mail-адресами, поэтому имя SIP-домена нужно указать правильно. В нашем случае это не надо, оставляем SIP-домен uc.ru.</p>
<p><a href="http://blogs.lankey.ru/wp-content/uploads/2009/08/ocs305.jpg"><img class="alignnone size-medium wp-image-67" title="SIP-домены организации" src="http://blogs.lankey.ru/wp-content/uploads/2009/08/ocs305-300x230.jpg" alt="SIP-домены организации" width="300" height="230" /></a></p>
<p>Далее указывается, каким образом клиенты будут находить информацию для автоматического входа. Мы оставим настройку по умолчанию – использование DNS. Затем включим домен uc.ru как поддерживающий авто-вход.</p>
<p><a href="http://blogs.lankey.ru/wp-content/uploads/2009/08/ocs306.jpg"><img class="alignnone size-medium wp-image-68" title="Настройка авто-входа для пользователей OCS" src="http://blogs.lankey.ru/wp-content/uploads/2009/08/ocs306-300x232.jpg" alt="Настройка авто-входа для пользователей OCS" width="300" height="232" /></a></p>
<p>Далее, пока откажемся от настройки доступа для внешних пользователей – мы сделаем это позже.</p>
<h4>Настройка сертификатов</h4>
<p>Очень важную роль в работе Office Communications Server 2007 R2 играют сертификаты – так как все коммуникации, проходящие через Office Communications Server 2007 R2, шифруются и подписываются сертификатами.<br />
Запускаем шаг Configure Certificate. Создадим новый запрос и отправим его в наш доменный CA. Длину ключа желательно указывать не больше 1024 бита – так рекомендовано для Office Communications Server. Сертификат по умолчанию помечается как экспортируемый – чтобы мы смогли его перенести на другой сервер в случае поломки этого.<br />
Заполняем поля Organization, Organizational Unit, State, City. Можно видеть, что в поле Subject Alternate Name указано имя <strong>sip.uc.ru</strong>, для универсального нахождения сервера с клиентов.<br />
После отправки запроса и получения сертификата от CA необходимо назначить его серверу, нажав на кнопку Assign.</p>
<h4>Настройка сертификата для Web-сервера</h4>
<p>Данный сертификат надо сгенерировать вручную. Это можно сделать через IIS Manager &#8211; Server Certificates, или через оснастку MMC Certificates (Local Computer) &#8211; Request New Certificate.</p>
<p>Открываем IIS Manager, находим Default Web Site, открываем Properties, и закладку Directory Security. Нажимаем на Server Certificate. Запускаем мастер по выдаче сертификатов, аналогичный предыдущему шагу.</p>
<p>Выбираем немедленную отправку запроса в CA, указываем имя для сертификата, длину ключа (по умолчанию 1024 бита), заполняем как и ранее поля организации.</p>
<p>В качестве Common Name необходимо указать полное имя сервера – ocs.uc.ru.</p>
<p>В завершении подтверждаем порт защищенного сайта – 443, и имя CA, куда отправляется запрос.</p>
<h4>Запуск Office Communications Server 2007 R2</h4>
<p>Выбираем Start Services для запуска всех служб.<br />
Проверку настроек сервера мы запускать не будем, так как пока не активированы пользователи, не настроена голосовая политика и DNS.</p>
<h4>Настройка DNS</h4>
<p>Для того, чтобы клиенты могли пользоваться авто-входом, не указывая постоянно имя сервера, необходимо создать соответствующие записи в внутреннем DNS.<br />
На сервере DC запускаем консоль управления DNS, и открываем зону uc.ru нашего домена.<br />
Выбираем Other New Records… &#8211; Service Location (SRV)<br />
Указываем службу _sipinternaltls, протокол _tcp, приоритет 0, номер порта – стандартный 5061, и имя хоста – полное имя сервера Office Communications Server – ocs.uc.ru. Важно, чтобы имя хоста завершалось точкой после .ru.</p>
<p><a href="http://blogs.lankey.ru/wp-content/uploads/2009/08/ocs307.jpg"><img class="alignnone size-medium wp-image-72" title="DNS-запись для автоматического входа клиентов" src="http://blogs.lankey.ru/wp-content/uploads/2009/08/ocs307-271x300.jpg" alt="DNS-запись для автоматического входа клиентов" width="271" height="300" /></a></p>
<p>Данная запись укажет внутренним клиентам, использующим протокол TLS, на сервер входа.<br />
Такая запись в домене должна быть только одна, поэтому если серверов несколько, настраивается Load Balancer. У нас один сервер, поэтому запись на него и указывает.</p>
<h4>Установка административных утилит</h4>
<p>Особенностью Office Communications Server 2007 R2 является то, что по умолчанию с установкой сервера административные утилиты не ставятся. Не зная этого, можно долго медитировать на меню Start &#8211; Administrative Tools, выискивая, куда подевалась нужная программа.</p>
<p>Для их установки нужно в оболочке Autorun, откуда мы запускаем все шаги по установке ролей сервера, щелкнуть по пункту Install administrative tools в правой части окна.</p>
<h4>Настройка Office Communications Server 2007 R2</h4>
<p>Необходимо разрешить пользователям использовать аудио и видео через Office Communications Server 2007 R2. Для этого запускаем оснастку управления Office Communications Server 2007 R2 из Administrative Tools.<br />
Щелкаем правой кнопкой на Forest – uc.ru, и выбираем Properties – Global Properties. Выбираем закладку Meetings. Для политики по умолчанию Default Policy нажимаем Edit…</p>
<p><a href="http://blogs.lankey.ru/wp-content/uploads/2009/08/ocs308.jpg"><img class="alignnone size-medium wp-image-74" title="Настройка политики" src="http://blogs.lankey.ru/wp-content/uploads/2009/08/ocs308-257x300.jpg" alt="Настройка политики" width="257" height="300" /></a></p>
<p>Включаем web conferencing, IP audio и IP video. Также разрешаем dial-in conference &#8211; возможность по телефону дозвониться и войти в конференцию, и требование ввода при этом пин-кода.</p>
<h4>Включение пользователей</h4>
<p>Включение возможностей OCS для пользователей производится через оснастку Active Directory Users and Computers, измененную при установке Office Communications Server. Поэтому ее надо запускать с сервера OCS, так как мы не устанавливали такие расширения на сервер DC, и не увидим там необходимых закладок для пользователя.</p>
<p>Запускаем Active Directory Users and Computers. Находим пользователей, и выбираем для них Enable users for Communications Server.</p>
<p>Выбираем сервер, к которому привязываем пользователей – он у нас один.<br />
Затем выбираем, каким образом генерировать SIP-адрес для пользователей – проще всего, чтобы он совпадал с адресом e-mail. Запускаем создание.</p>
<p>Затем для тех же пользователей выбираем Configure Office Communication Users. Включаем для пользователей все возможности – federation, remote access, public IM, enhanced presence. Затем включаем Enterprise Voice, и запускаем изменение.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lankey.ru/blog/2009/08/17/primer-razvertyvanya-office-communications-server-2007-r2-part-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Пример развертывания Office Communications Server 2007 R2 &#8211; часть 2</title>
		<link>http://www.lankey.ru/blog/2009/08/17/primer-razvertyvanya-office-communications-server-2007-r2-part-2/</link>
		<comments>http://www.lankey.ru/blog/2009/08/17/primer-razvertyvanya-office-communications-server-2007-r2-part-2/#comments</comments>
		<pubDate>Mon, 17 Aug 2009 09:13:08 +0000</pubDate>
		<dc:creator>Ярослав Никифоров</dc:creator>
				<category><![CDATA[Office Communications Server]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[office communications server 2007 r2]]></category>

		<guid isPermaLink="false">http://blogs.lankey.ru/?p=49</guid>
		<description><![CDATA[Продолжаем наши игры . На очереди &#8211; развертывание Exchange 2007 SP1. Развертывание Exchange 2007 SP1 Мы развернем простейшую инфраструктуру Exchange, объединив четыре доменных роли Client Access, Hub Transport, Mailbox и Unified Messaging на одном сервере – EXCHANGE. Сетевые настройки Отключим протокол IP6 и Windows Firewall. Присоединим сервер EXCHANGE к домену uc.ru. Подготовка к установке Exchange [...]]]></description>
			<content:encoded><![CDATA[<p>Продолжаем наши игры <img src='http://www.lankey.ru/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . На очереди &#8211; развертывание Exchange 2007 SP1.</p>
<p><span id="more-49"></span></p>
<h4>Развертывание Exchange 2007 SP1</h4>
<p>Мы развернем простейшую инфраструктуру Exchange, объединив четыре доменных роли Client Access, Hub Transport, Mailbox и Unified Messaging на одном сервере – EXCHANGE.</p>
<h4>Сетевые настройки</h4>
<p>Отключим протокол IP6 и Windows Firewall. Присоединим сервер EXCHANGE к домену uc.ru.</p>
<h4>Подготовка к установке Exchange 2007 SP1</h4>
<p>Исходя из того, что мы будем развертывать все 4 доменные роли Exchange 2007 SP1 на этом сервере, мы устанавливаем следующие роли сервера:</p>
<ul>
<li>Web Server – устанавливаем все дополнительные службы, исключая только службу FTP. Автоматически установится Windows Process Activation Service.</li>
<li>.NET Framework 3.0 Features.</li>
<li>Desktop Experience.</li>
<li>Remote Server Administration Tools – Active Directory Domain Services Tools.</li>
<li>Windows PowerShell.</li>
</ul>
<p>После установки всех ролей перезагружаем сервер.</p>
<h4>Подготовка леса и домена</h4>
<p>Удостоверяемся, что мы вошли на сервер EXCHANGE под пользователем UC\Administrator, который является Scheme Admin. Запускаем установку Exchange 2007 SP1 в режиме подготовки леса:</p>
<p><code>Setup.com /ps</code></p>
<p>Программа установки подготовит схему Active Directory для Exchange 2007 SP1.</p>
<p><a href="http://blogs.lankey.ru/wp-content/uploads/2009/08/ocs201.jpg"><img class="alignnone size-medium wp-image-52" title="Подготовка схемы для Exchange" src="http://blogs.lankey.ru/wp-content/uploads/2009/08/ocs201-300x148.jpg" alt="Подготовка схемы для Exchange" width="300" height="148" /></a></p>
<p>После подготовки схемы в организациях с несколькими доменами и контроллерами доменов необходимо дождаться, чтобы изменения схемы среплицировались на все контроллеры всех доменов. Но так как у нас и домен, и контроллер один – мы ждать не будем.<br />
Следующим шагом мы готовим домен Active Directory, создавая в нем организацию Exchange и специальные группы:</p>
<p><code>Setup.com /p /on:UniCom</code></p>
<p>Программа установки создаст соответствующие служебные объекты в текущем домене.</p>
<p><a href="http://blogs.lankey.ru/wp-content/uploads/2009/08/ocs202.jpg"><img class="alignnone size-medium wp-image-53" title="Подготовка домена для Exchange" src="http://blogs.lankey.ru/wp-content/uploads/2009/08/ocs202-300x148.jpg" alt="Подготовка домена для Exchange" width="300" height="148" /></a></p>
<p>После завершения создания объектов необходимо удостовериться, что все эти объекты среплицировались на все контроллеры нашего домена.</p>
<p><a href="http://blogs.lankey.ru/wp-content/uploads/2009/08/ocs203.jpg"><img class="alignnone size-medium wp-image-54" title="Созданные группы Exchange" src="http://blogs.lankey.ru/wp-content/uploads/2009/08/ocs203-300x208.jpg" alt="Созданные группы Exchange" width="300" height="208" /></a></p>
<p>Данный шаг подготовки домена необходимо выполнять для всех доменов, в которых так или иначе будет использоваться Exchange 2007 – размещены сервера либо находятся пользователи. Но так как у нас и домен один, и контроллер один – мы данный шаг выполняем всего один раз, и не проверяем репликацию.</p>
<h4>Установка Exchange 2007 SP1</h4>
<p>После подготовки Active Directory запускаем инсталляцию Exchange 2007 SP1.<br />
Выбираем для установки четыре доменные роли: Mailbox, Client Access, Hub Transport и Unified Messaging. Запускаем процесс установки.<br />
По завершении установки перезагружаем сервер.</p>
<h4>Конфигурация сертификатов для Exchange 2007 SP1</h4>
<p>Необходимо получить сертификат из доменного CA, чтобы присвоить его на службы Exchange, вместо самоподписанного сертификата, создаваемого по умолчанию.<br />
Запускаем Exchange Management Shell. Получаем список используемых Exchange сертификатов:</p>
<p><code>Get-ExchangeCertificate | ft services,thumbprint,isselfsigned -auto</code></p>
<p>В полученном списке видим, что основные службы Exchange используют самоподписанный сертификат.</p>
<p><a href="http://blogs.lankey.ru/wp-content/uploads/2009/08/ocs204.jpg"><img class="alignnone size-medium wp-image-55" title="Самоподписанные сертификаты Exchange" src="http://blogs.lankey.ru/wp-content/uploads/2009/08/ocs204-300x147.jpg" alt="Самоподписанные сертификаты Exchange" width="300" height="147" /></a></p>
<p>Новый сертификат должен включать в себя все варианты именования компьютера – полное имя с суффиксом домена, NetBIOS-имя, если есть, то псевдонимы. Формируем новый запрос на сертификат к доменному центру выдачи, и сохраняем его в файле:</p>
<p><code>New-ExchangeCertificate –GenerateRequest –DomainName exch.uc.ru,exch –FriendlyName exch.uc.ru –PrivateKeyExportable:$true –keysize 1024 –path C:\certreq.txt</code></p>
<p>Полученный запрос мы должны отдать CA: открываем Internet Explorer, и вводим https://dc.uc.ru/certsrv/<br />
Выбираем Request Certificate – Submit Advanced Request &#8211; Submit a Request…<br />
Вставляем в поле текст из файла, сгенерированного командой <code>New-ExchangeCertificate</code>. Выбираем Template – Web Server, и нажимаем Submit.<br />
Скачиваем результирующий сертификат, выбрав пункт Download Certificate, и сохраняем его в файл C:\certnew.cer<br />
Открываем опять Exchange Management Shell, и импортируем получившийся сертификат в хранилище сертификатов сервера:</p>
<p><code>Import-ExchangeCertificate –Path C:\certnew.cer | Enable-ExchangeCertificate –Services IIS,POP,IMAP,UM,SMTP</code></p>
<p>Теперь снова получаем список всех сертификатов, отмечаем, какой имеет статус SelfSigned и сопоставлен со службами, и удаляем его:</p>
<p><code>Remove-ExchangeCertificate</code></p>
<p><code><a href="http://blogs.lankey.ru/wp-content/uploads/2009/08/ocs2021.jpg"><img class="alignnone size-medium wp-image-56" title="Доменные сертификаты Exchange" src="http://blogs.lankey.ru/wp-content/uploads/2009/08/ocs2021-300x148.jpg" alt="Доменные сертификаты Exchange" width="300" height="148" /></a></code></p>
<h4>Настройка пользователей и групп</h4>
<p>Включаем для созданных пользователей и Distribution групп почтовые ящики.<br />
Unified Messaging настроим позднее, после установки Office Communications Server 2007 R2.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lankey.ru/blog/2009/08/17/primer-razvertyvanya-office-communications-server-2007-r2-part-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

