Подтвердить что ты не робот

Интеграция Lync 2010 с внешней программой

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

4b9b3361

Ответ 1

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

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

Чтобы подключиться и войти в работающий экземпляр Lync, откройте эту страницу из 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. В противном случае, инструкции здесь должны помочь.