アドホックな MeetNow ルームを管理するために、サーバー上にある専用の Lync クライアントに依存するアプリケーションがあります。
Lync は、非アクティブ状態が 15 分間続くと、会話を自動的に閉じます。「転送のキャンセル」メッセージを送信して密かに会話を維持する方法を説明しているブログを見つけましたが、その解決策は UCMA を使用しており、2013 Lync クライアント SDK しか利用できません。
そこで行う方法は(基本的に)次のとおりです。
var contentType = new System.Net.Mime.ContentType("text/x-msmsgsinvite");
var s = @"Application-Name: File Transfer\r\nInvitation-Command: CANCEL\r\nInvitation-Cookie: 12345\r\n");
byte[] htmlBytes = Encoding.UTF8.GetBytes(s);
Flow.BeginSendInstantMessage(contentType, htmlBytes, EndSendInstantMessage, Flow);
しかし、繰り返しますが、これは UCMA を使用しています。Lync クライアント SDK はまったく同じようには機能しません。
メッセージを送信するためにモダリティ オブ ザ カンバセーションを使用する必要がありますが、コンテンツ タイプを に設定text/x-msmsgsinvite
できInstantMessageContentType
ませEnum
んInvalid, PlainText, Html, RichText, Gif, Ink, Unknown
。
2013 Client SDK を使用して行った試み:
(最初に、 が接続されていることを確認しModality.State
ます。接続されています)。
空のメッセージを送信しようとしました - という例外を受け取りました
Value does not fall within the expected range
。私はこれを誤解しているかもしれませんが、空の文字列はメッセージを作成しないことを意味すると解釈しました。Invalid
コンテンツ タイプが-Received an exception with the message に設定されたランダム メッセージを送信しようとしましたUnknown InstantMessageContentType. Type is Invalid
。(実際にこれが成功するとは思っていませんでした)コンテンツ タイプが に設定されたメッセージを送信しようとしました。メッセージにはwith が
Html
含まれていました。<div>
style="display: none;"
MeetNow ルームに表示される実際のメッセージを送信することは避けたいと思います (表示されるのがアプリケーション ユーザーの名前だけであっても)。
何か案は?