Làm cách nào để tích hợp Lync 2010, với một chương trình thực hiện tìm kiếm và hiển thị cửa sổ bật lên nhỏ, với thông tin được tìm thấy và một vài nút.
Chương trình đang chạy với một số loại hệ thống điện thoại khác, tôi cần có trình kết nối cho Lync.
Tôi không muốn đặt tab hoặc giao diện người dùng khác bên trong Lync.Tích hợp Lync 2010 với một chương trình bên ngoài
Trả lời
Bạn cần bắt đầu với số Lync SDK. Bạn có thể xây dựng ứng dụng của mình dưới dạng ứng dụng Winforms hoặc WPF.
Ký Trong
Để kết nối và đăng nhập vào các trường hợp chạy của Lync, hãy kiểm tra this page từ SDK. Đảm bảo bạn giữ tham chiếu đến đối tượng LyncClient
đại diện cho Lync. Điều này có thể nhận được bằng cách gọi phương thức tĩnh LyncClient.GetClient()
Phát hiện một cuộc gọi đến
Phát hiện cuộc gọi đến, bạn có thể nghe cho sự kiện ConversationManager.ConversationAdded
. ConversationManager
là thuộc tính trên cá thể LyncClient
của bạn.
Để xác định nếu cuộc gọi là a) một cuộc gọi âm thanh, và b) đến (như trái ngược với một cuộc gọi đi đặt bởi người sử dụng), bạn có thể sử dụng các phương pháp sau đây:
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;
}
Trong trường hợp ConversationAdded
, bạn nên đăng ký sự kiện Conversation.ParticipantAdded
để bạn có thể kiểm tra ai là người gọi. Đối tượng EventArgs có thuộc tính Participant
, lần lượt có thuộc tính Contact
. Các tài sản Contact
có một số tài sản bao gồm Uri
, mà sẽ cung cấp cho bạn số điện thoại (nếu đó là những gì bạn cần).
Sau đó, bạn có thể thực hiện cuộc gọi DB và bật thông tin của mình.
Edit: Tôi đã viết một bài đăng blog về pops màn hình mà đi vào chi tiết nhiều hơn nữa - here
Đặt một cuộc gọi
Nếu ứng dụng của bạn là WPF, cách dễ nhất để cho phép một cuộc gọi được đặt là bằng cách sử dụng điều khiển StartAudioCallButton. Nếu không, hướng dẫn here sẽ hữu ích.
Tuyệt vời! Tôi sẽ thử các đề xuất của bạn và cũng xem xét kỹ hơn ví dụ về AudioVideoConversation. – Martin
Tuyệt vời! Đừng quên đánh dấu câu trả lời (sử dụng dấu tích) nếu điều này giải quyết được vấn đề của bạn, để giúp bất kỳ ai khác duyệt câu hỏi này sau - chúc mừng –
Có thể mất một hoặc ba ngày để đến đó, nhưng tôi sẽ nhớ. Cảm ơn bạn đã dành thời gian. – Martin
Có lẽ đây là ứng dụng loại màn hình-pop - tức là nó phát hiện cuộc gọi âm thanh đến, sau đó bật lên thông tin về người gọi? –
Vâng, chính xác. Và nó cũng cho phép người dùng gọi ra từ một danh sách, xuất phát từ DB. Cuộc gọi này sẽ được gửi tới Lync, sau đó thực hiện cuộc gọi. – Martin
Tôi chỉ thấy rằng ví dụ trong SDK 2010, AudioVideoConversation, là khá nhiều làm những gì tôi muốn, tôi sẽ điều tra nó. – Martin