对单个联系人发送消息此方法只是弹出联系人聊天对话框(对方在线时),并没有发送出消息
[ScriptableMember]
对通讯组发送即时消息
[ScriptableMember]
/// <summary>
/// 发送即时消息
/// </summary>
/// <param name="lc"></param>
/// <param name="uri"></param>
private void AddConversion(LyncClient lc, string uri)
{
Contact contact = lc.ContactManager.GetContactByUri(uri);
ContactAvailability availability = (ContactAvailability)contact.GetContactInformation(ContactInformationType.Availability);
Conversation conversation = lc.ConversationManager.AddConversation();
conversation.AddParticipant(contact);
InstantMessageModality m = (InstantMessageModality)conversation.Modalities[ModalityTypes.Invalid];
m.BeginConnect(null, null);
}
/// <summary>
/// 弹出联系人聊天对话框(无论对方是否在线)
/// </summary>
/// <param name="sipUri"></param>
public void CallSingleMsg(string sipUri)
{
var lyncAutomation = LyncClient.GetAutomation();
var inviteeList = new string[] { sipUri };
var modalitySettings = new Dictionary<AutomationModalitySettings,object>();
modalitySettings.Add(AutomationModalitySettings.Subject, false);
lyncAutomation.BeginStartConversation(
AutomationModalities.InstantMessage,
inviteeList,
modalitySettings,
(ar) => { if (ar.IsCompleted) { ((Automation)ar.AsyncState).EndStartConversation(ar); } },
lyncAutomation);
}