Могу ли я использовать Microsoft Lync API для связи с Communicator 2007/2007 R2?

Я кодирую информацию IM-присутствия в одно из приложений моей компании Silverlight. Пока что единственное решение, которое я нашел, это решение на CodePlex (Silverlight.OCS). Это "хорошо", но очень устарело.

Lync SDK позволяет получить информацию о присутствии в Silverlight. К сожалению, 99% пользователей в нашей сети все еще используют OFfice Communicator (R2), поэтому использование готового метода Lync (controls:PresenceIndicator... in xaml) не может работать.

Итак, мне любопытно, содержит ли Lync SDK способ связи с Office Communicator?

Если да, то как бы я а) проверил, какой клиент запущен, а затем б) подключился к этому клиенту - будь то Lync или Communicator. Любая помощь очень ценится! Последнее, но не менее важное - я ищу код C#, если это вообще возможно. Спасибо!

1 ответ

Вы не можете использовать Lync 2010 SDK против Office Communicator, только Lync 2010.

Предыдущее воплощение SDK - API автоматизации Office Communicator (OCAA). Это API на основе COM, и он будет работать против Communication 2007 и 2007 R2. Это все еще поддерживается... пока!

Вы можете скачать API здесь. Целевая страница MSDN находится здесь.

Что касается получения информации о присутствии... ну, надеюсь, это может помочь вам (с оговоркой, что я слишком молод, чтобы выполнять какую-либо работу с OCS API;)

Получение контактной записи:

    private IMessengerContact FindContact(string userID)
{
    IMessengerContact contact = null;
    // Try the local contact list first
    try
    {
        contact = (IMessengerContact)communicator.GetContact(userID, "");
    }
    catch
    {
        contact = null;
    }

    // For a nonlocal contact, try the SIP Provider of Communicator
    if (contact == null || contact.Status == MISTATUS.MISTATUS_UNKNOWN)
    {
        try
        {
            contact =
                (IMessengerContact)communicator.GetContact(userID,
                communicator.MyServiceId);
            return contact;
        }
        catch
        {
            contact = null;
            return contact;
        }
    }
    else
    {
        return contact;
    }
}

Возврат статуса контакта:

Интерфейс IMessengerContact определяет свойство Status, которое содержит одно из нескольких значений MISTATUS.

Другие вопросы по тегам