Интеграция Lync 2010 с внешней программой - PullRequest
13 голосов
/ 22 августа 2011

Как интегрировать Lync 2010 с программой, которая просматривает БД и показывает небольшое всплывающее окно с найденной информацией, а также несколькими кнопками с некоторыми параметрами.
Программа уже запущена с некоторыми другимиВ некоторых типах телефонных систем мне нужен разъем для Lync.
Я не хочу помещать вкладку или другой пользовательский интерфейс в Lync.

1 Ответ

21 голосов
/ 22 августа 2011

Вам нужно будет начать с Lync SDK .Вы можете создать свое приложение как приложение Winforms или WPF.

Вход в систему

Чтобы подключиться и выполнить вход в работающий экземпляр Lync, проверьте thisстраница из SDK.Обязательно сохраните ссылку на объект LyncClient, представляющий Lync.Это можно получить, вызвав статический метод LyncClient.GetClient()

Обнаружение входящего вызова

Чтобы обнаружить входящий вызов, вы можете прослушать событие ConversationManager.ConversationAdded.ConversationManager - это свойство вашего экземпляра LyncClient.

Чтобы определить, является ли вызов а) аудиовызовом и б) входящим (в отличие от исходящего вызова, сделанного пользователем), вы можете использоватьследующий метод:

bool IsIncomingAVCall(Conversation conversation)
{
    // Test to see if the call contains the AV modality
    bool containsAVModality = conversation.Modalities.ContainsKey(ModalityTypes.AudioVideo);

    if (containsAVModality)
    {
        // Get the state of the AV modality
        var state = conversation.Modalities[ModalityTypes.AudioVideo].State;

        // 'Notified' means the call is incoming
        if (state == ModalityState.Notified) return true;
    }

    return false;
}

В событии ConversationAdded необходимо зарегистрироваться на событие Conversation.ParticipantAdded, чтобы вы могли проверить, кто является вызывающим абонентом.Объект EventArgs имеет свойство Participant, которое, в свою очередь, имеет свойство Contact.Свойство Contact имеет ряд свойств, включая Uri, который должен дать вам номер телефона (если это то, что вам нужно).

Затем вы можете позвонить в БД и получить информацию.

Редактировать: Я написал пост в блоге о всплывающих окнах, который более подробно описан - здесь

Выполнение вызова

Если ваше приложение WPF, самый простой способ разрешить вызов - использовать элемент управления StartAudioCallButton .В противном случае инструкции здесь должны помочь.

...