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

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

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

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