LyncとExchangeの連携で思いっきりはまりましたので、備忘録として載せておきます。
今回のトラブルは・・・・
通常、Exchangeとうまく連携が取れているとLyncクライアントよりボイスメールを確認することができます。しかし、なぜかOutlookではボイスメールの確認ができるのですが、Lyncクライアントではボイスメッセージはありませんのまま確認できませんでした。
そこで確認すべきBlogがありました。
Lync 2010 と Exchange の連携についての初期トラブルシュート
になります。
要するに、Lyncクライアントから確認すべきは、EWSが使用可能か?になります。
この「EWS状態OK」にならないとダメなんですね。
そもそもEWSは何か?Exchange Web Service のことで、Web経由でExchangeの操作を行うインターフェイスになります。
よって、LyncクライアントはこのEWSを使用して、Exchangeのメールボックスに入っているボイスメールを制御していることになります。
では、「EWS状態OK」にするためにはどうすればいいのか?
前提知識として、Exchange の Autodiscover (自動検出サービス)を知らなくてはいけません。
Outlookではドメイン環境の Autodiscover を使用するときには、SCP (Service Connection Point) から CAS (クライアント アクセス サーバー) の情報が取得されます。これは管理者が特に設定するものではなくExchangeをインストールすれば自動設定されるものになります。
Lyncクライアントでも Autodiscover を使用する必要があります。しかし、LyncクライアントはAutodiscover を使用するためには、適切な設定を行わなくてはいけません!!!
- Autodiscover の SRV レコードを作成する
- Exchange の証明書の別名に autodiscover を追加する <これはExchangeの世界では当たり前のようです。しらなかった(汗)>
手順としては
次の値を使用して SRV レコードを作成します。
サービス:_autodiscover
プロトコル:_tcp
ポート番号:443
ホスト:<CAS のFQDN>
Exchangeの証明書登録はGUIでもPowerShellでもどちらでもできます。
例としてパワーシェルの場合
New-ExchangeCertificate -GenerateRequest -SubjectName ‘c=JP, s=”Tokyo” ,L=”Otemachi” ,o=”MS” ,OU=”MS”, CN=dc.contoso.com’ -keysize “2048” -domainname dc.contoso.com, autodiscover.contoso.com -privatekeyexportable $true
のようなコマンドを実行します。ポイントは「autodiscover.contoso.com」が追加されていること
証明書ファイルが作成されるので次の手順で進めます。
- 作成されたファイルの内容をコピーします。
- ブラウザから 「https://<CA>/sertsrv/」にアクセスします。
- IE に表示された CertSrv の画面から、[証明書を要求する] – [証明書の要求の詳細設定] – [Base 64 エンコードCMC または PKCS #10 ファイルを使用して証明書の要求を送信するか、または Base 64 エンコード PKCS #7 ファイルを使用して更新の要求を送信する。] の順にクリックします。
- コピーした内容を [証明書の要求または更新要求の送信] ページの [保存された要求] ボックスにペーストします。
- [証明書テンプレート] のドロップダウンリストで [Web サーバー] を選択し、[送信] ボタンをクリックします。
- IE に [証明書は発行されました] ページが表示されるので、[証明書のダウンロード] をクリックし、任意のフォルダに証明書を保存します。
ここでのポイントはクライアントOSのIEを使いましょう!!!!サーバー上で行うとまともに動きません(セキュリティがきついので)。
CAから発行された証明書を下記のコマンドを使ってインポートします
Import-ExchangeCertificate -FileData ([Byte[]]$(Get-Content -Path C:downloadcertnew.cer -Encoding Byte -ReadCount 0))
最後に証明書を有効にする(Exchangeサービスへの割り当て)
Enable-ExchangeCertificate -Thumprint <Thumbprint> -Services IIS,IMAP,POP,SMTP,UM
これで、「EWS状態OK」になるはずです。
「EWS状態OK」の状態であれば、Lyncクライアントからボイスメールを確認することができます。
私の環境ではこれでもまだダメでした。ここからの手順は普通の環境では必要ありません~(私は必要でしたが・・・)
Autodiscover 仮想ディレクトリの再作成
手順は次の通り
1.次のコマンドを実行し、現在の Autodiscover 仮想ディレクトリの設定情報を保存します。
Get-AutoDiscoverVirtualDirectory |fl >> C:<任意のファイル名を入力してください>.txt
2.次のコマンドを実行し、現在の Autodiscover 仮想ディレクトリを削除します。
Remove-AutodiscoverVirtualDirectory -Identity “Autodiscover (Default Web Site)” -Confirm:$false
3.次のコマンドを実行し、Autodiscover 仮想ディレクトリを再作成します。
New-AutodiscoverVirtualDirectory -WebsiteName “Default Web Site”
ServiceModel登録ツールの使用
1.管理者権限で Exchange サーバーにログインします。
2.コマンドプロンプトを管理者で実行し、次のフォルダに移動します。
C:WindowsMicrosoft.NetFrameworkv3.0Windows Communication Foundation
3.次のコマンドを入力して実行します。
ServiceModelReg.exe /r
applicationHost.config の修正
1. 管理者権限で Exchange サーバーにログインします。
2. 次のフォルダにアクセスします。
WindowsSystem32InetsrvConfig
3. applicationhost.config ファイルを任意のテキストエディタで開きます。
4. 次の項目を検索します。
<add name=”svc-Integrated” path=”*.svc” verb=”*” type=”System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089″ preCondition=”integratedMode” />
5.上記設定がServiceModel登録ツールを使用したことにより登録されるので、検索してコピーし<location path=”Default Web Site/Autodiscover”>配下に追加(貼り付け)します。
6.次のコマンドを入力して実行します。
ServiceModelReg.exe /i
これでうまくいきました。ふ~、約1か月近くこのトラブルに悩まされました。
コメント
お疲れ様です。11月20-22日の受講者です。
連携なので当然なのでしょうけど、LyncとExchangeの両方を知らないといけなさそうです。
Exchangeも勉強しないといけませんね。
その節はありがとうございました。やっと、上記トラブルが解決されました。こちらのブログが参考になれば幸いです。確かに、Exchnageの知識も必要ですね~
お世話になっております。3月6日-8日の受講者です。
SIP-clientのDTMF音の認識の話ですが
「lync dtmf relay」や「sip dtmf method lync」で出てくるような件は関係していないかとふと思ったのでコメントで連絡させてください。よろしくお願いいたします。