2012-07-09 115 views
2

以下照片是我的问题: 我上了一个大项目UCMA工作,已有3个月,现在我想补充一点的功能。显示为应用程序的端点

我有很多ApplicationEndpoints可以动态添加,修改或删除,我希望每次创建ApplicationEndpoint时指定一个将在Microsoft Lync上显示的图片。

我已经有很多其他functionnalities的,但我真的很喜欢这个的。

我搜索了好几天,但我没有发现任何这样告诉自己,不能做之前,我想问问!

有谁知道这是可能的吗?那样的话,你能告诉我怎么做吗?

谢谢

回答

0

很确定你不能这样做。因为它是一个应用程序端点,根据定义它与任何一个特定用户无关。但它肯定会很好。 :)比不

1

犹未晚,但是这可能帮助别人。

我不知道这是可能的应用程序终结点,但你可以肯定用户的端点(我已经做到了这一点和它的作品)发布照片设置。关于发布的一些基本信息可以在MSDN上找到:Publishing Presence

出版存在信息(包括照片设置)形成在LocalEndpoint.LocalOwnerPresence完成。 UserEndpointApplicationEndpoint都来自LocalEndpoint,所以这应该是可行的。

实际的出版,因为有很多的“水平”不同的组合将发布变得稍微复杂:

首先,有一堆InstanceID值,你需要知道,他们读了这里:Presence data source and category instance ID

其次,这个存在适用于谁的价值,请参阅Microsoft.Rtc.Collaboration.Presence.PresenceRelationshipLevel。不要发布在Unknown上,你会得到一个例外。

public enum PresenceRelationshipLevel 
{ 
    Unknown = -1, 
    Everyone = 0, 
    External = 100, 
    Colleagues = 200, 
    Workgroup = 300, 
    Personal = 400, 
    Blocked = 32000, 
} 

您需要发布PresenceCategoryWithMetaData用户照片的属性,这是集装箱0x5“存在实体信息”的一部分。

var photoPresence = new PresenceCategoryWithMetaData(
    0x5, // The container id 
    (int)PresenceRelationshipLevel.Everyone, 
    new ContactCard(0x5) // Same container ID again 
    { 
     IsAllowedToShowPhoto = true, 
     PhotoUri = "<uri to your photo here" 
    }); 

您可以设置此对象上的ExpiryPolicy也应该自我explainatory真的。然后发布此存在对象上的端点:

Endpoint.LocalOwnerPresence.BeginPublishPresence(new[] { photoPresence }, cb => { 
    Endpoint.LocalOwnerPresence.EndPublishPresence(cb); 
}, null); 

而且应该这样做,真的。我最终明确发布到所有关系级别,因为它没有按照逻辑预期级联数据。这变成了相当长的答复,也是为了我未来的参考。请让我知道这是否也适用于应用端点。

相关问题