株式会社ヴァンデミックシステム

Blog

<スポンサーリンク>

Skype for Businessでは、Outlookで設定した予定表を取得し、プレゼンス情報(連絡可能、取り込み中など)を変化させる。
とはいっても、クライアントで動作しているOutlookとSkypeが連携しているわけではなくて、SkypeクライアントはEWS接続でExchangeサーバに接続し、予定表をSIP通信で取得する流れになるよ。

Skypeサーバ側のPowershellを使って、「Start-CsClsLogging -Scenario alwayson」を実行して、集中管理ログを取得する。
使い方は、Start-CsClsLoggingで取得開始、Stop-CsClsLoggingで取得終了、Search-CsClsLoggingでログファイル取得といった感じ。以下のように実行するよ。

ログファイルは以下のように出力される。

次は、Skypeサーバ側でログ取得をしつつ、Skypeクライアントでは、予定表を故意に変化させるよ。なにはともあれ、EWS連携ができていることが前提条件になるので、構成情報をチェック。

Outlookの予定表に適当な予定を設定し、Skypeクライアントを再起動。

再起動後、プレゼンス情報が「取り込み中」となる。

ログをStop-CsClsLoggingで止めて解析する。
解析するのは、専用のデバッグツールを使うと分かりやすい。
公式では、Skype for Busieness Server 2015のインストールフォルダに入れましょう。と言われているので、C:\Program Files\Skype for Busieness Server 2015\の下に入れる。
テキストエディタでも見れるけど、デバッグツールではSIP通信のIN/OUTをわかりやすく表示してくれる。
https://www.microsoft.com/en-us/download/details.aspx?id=47263

取得したLogFile.txtをSnooper.exeで読み込むとこんな感じ。
まず、SIP通信の中身を見てみる。availabilityの6500は取り込み中、meetingSubjectは予定表の名前などやり取りしていることがわかる。
※MSDNブログのでは、Out→inの順番だったが、逆になっちゃった。とりあえず、プレゼンスの動きは分かったからいいかな?
ただ、流れとしては、以下っぽい。
1.ExchangeのGetUserAvailabilityでSkypeサーバにプレゼンス情報を送信
2.Skypeサーバは送られてきたプレゼンス情報を連絡先リストに登録しているユーザへ送信

プレゼンスの対応表は以下の通り。

Value Availability
3500 Available
6500 Busy
9500 Do Not Disturb
12500 Be Right Back
15500 Away
18500 Offline

うーん、奥が深いね。

参考サイト

Skype for Business クライアントと予定表の連携について


https://msdn.microsoft.com/ja-jp/library/dd253506(v=office.13).aspx
https://technet.microsoft.com/ja-jp/library/jj687958(v=ocs.15).aspx

<スポンサーリンク>

コメントを残す

Allowed tags:  you may use these HTML tags and attributes: <a href="">, <strong>, <em>, <h1>, <h2>, <h3>
Please note:  all comments go through moderation.

*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)