Jens Trier Rasmussen

The odd bit of information about Lync Server 2013, Lync 2010, Exchange 2013, SharePoint Server 2013, Exchange 2010 SP1, OCS 2007 R2, Exchange 2010 and OC 2007 R2

What to do if you are too popular?

What to do if you are too popular?

  • Comments 7
  • Likes

I’m not talking about having too many friends on Facebook, too many connections on LinkedIn or too many followers on Twitter. I’m talking about the real deal – too many watchers – that is too many people watching or subscribing to your presence information.

If you are very popular other Microsoft Lync 2010 users might see the message Maximum Followers Reached in the contact card, when they want to see your presence (shown below).

Capture1

It all starts by a user subscribing to another users presence. In my case it is tu26 subscribing to tu27’s presence. The relevant parts of the outgoing SUBSCRIBE is shown below with the 5 different categories being asked for.

CSeq: 1 SUBSCRIBE 

<batchSub xmlns="http://schemas.microsoft.com/2006/01/sip/batch-subscribe" uri="sip:tu26@inframss.dk" name="">
<action name="subscribe" id="94941760"><adhocList><resource uri="sip:tu27@inframss.dk"/></adhocList>
<categoryList xmlns="
http://schemas.microsoft.com/2006/09/sip/categorylist">
<category name="state"/>
<category name="services"/>
<category name="contactCard"/>
<category name="note"/>
<category name="calendarData"/>
</categoryList></action></batchSub>

On the Microsoft Lync 2010 Server the User Services component realize tu27 has reached the maximum and it returns the message below as a response to the SUBSCRIBE above.

CSeq: 1 SUBSCRIBE

<list xmlns="urn:ietf:params:xml:ns:rlmi" uri="sip:tu26@inframss.dk" version="0" fullState="false">
<resource uri="sip:tu27@inframss.dk">
<instance id="0" state="terminated" reason="quotaExceeded" statusCode="413" cid=tu27@inframss.dk msDiagCode="2012"/>
</resource>
</list>

The msDiagCode = 2012 and statusCode = 413 are translated by the Microsoft Lync 2010 client into the message Maximum Followers Reached. At the same time the User Services component logs a warning with event id 32078 describing that the user has reached the limit (see below).

Capture2

The net effect is that the user tu26 will not be able to see the presence of tu27 before one of the other watchers removes his subscription by signing out or removing tu27 from the contact list.

How can you as an administrator change the limit for these popular users?

In Lync Server 2010 the CsPresencePolicy controls the limit. It has two parameters MaxPromptedSubscriber and MaxCategorySubscription. The meaning of Prompted and Category Subscriptions are explained here.  The default value for MaxPromptedSubscriber is 200 and the default value for MaxCategorySubscription is 1000 (the relationship 1:5 make sense since, as you can see above, presence subscription asks for 5 categories).

You can change the Global CsPresencePolicy, create one with Site scope or define one with user scope (tag) and grant the policy to the popular user.

Comments
  • Hello Jens,

    Thanks for the explanation. I've few queries based on this,

    1. Can administrators quickly pull a list of all users who have subscribed for presence of User X?

    2. Can administrators remotely remove the name of User X from few selected or all users subscribed list so that other users can see User X presence?

    I don't want to increase the limit because it will have direct impact on my Server's performance.

    Please share answers/url/information about this if anyone of you have it.

    Thanks in advance.

    Fahad

    Jens>There is no direct way to see what you are looking for, but you can use the dbimpexp tool to export the contact information for one or more users and then manipulate the XML file generated to get the information you need. You can see more info about the tool here http://blogs.technet.com/b/nexthop/archive/2011/09/29/microsoft-lync-server-2010-standard-edition-disaster-recovery-plan-part-1.aspx

    You might also find 3rd-party applications/tools, which will enable you to get the information you need, but I don't have any pointers.

  • Thanks Jens - this information is very helpful

  • Does this change in Lync 2013?  Since presence is handled at the Front end servers rather than back end SQL?

    Jens>no, this is the same in Lync 2013.

  • Is there a way to pull a list of users that have reached the limit? So that you can move them into a policy with a higher limit? Rather than users self reporting?

    Jens>No, there is no easy way to get to that information.

  • if you use SCOM... a SCOM alert is generated when a user has reached the limits. i use SCOM alerts to tell me before the user even is aware and i can make a change to the users policy before they even call the helpdesk

  • Question:
    Is there a relation between MaxCategorySubscription and MaxPromptedSubscriber, that is if I increase the MaxCategorySubscription should I increase the MaxPromptedSubscriber proportionally too ?

    Thanks for your useful article,
    Mady

    Jens>Thanks Mady! I don't believe there is relationship in that direction, i.e. increase MaxPromptedSubscriber if you increase MaxCategorySubscription. It's the other way round, where you should keep the 1:5 relationship.

  • Hello,

    Microsoft in their TechNet articles mention that increasing MaxCategorySubscription may have “significant impact on performance”, but it is not clear for where actually will the impact be and in which way will that affect users, can you please shed some light here ?

    Thanks,
    Mady

    Jens>Hi Mady, you might see the impact in a number of different areas. Basically it's about the Lync server using CPU, memory and IO against disks and SQL for managing presence updates and their distribution to watchers. These components are also used by a lot of other features and functions in Lync, so if one of them has poor performance due to the add loaded you can see the impact in a lot of areas. As always with these things it's all about closely monitoring your Lync servers and take action if needed.

Your comment has been posted.   Close
Thank you, your comment requires moderation so it may take a while to appear.   Close
Leave a Comment