Jaa


What to do if you are too popular?

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="https://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="https://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

  • Anonymous
    May 14, 2012
    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.
  • Anonymous
    December 16, 2012
    Thanks Jens - this information is very helpful

  • Anonymous
    January 22, 2013
    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.

  • Anonymous
    July 15, 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.

  • Anonymous
    December 16, 2013
    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

  • Anonymous
    May 28, 2014
    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.

  • Anonymous
    July 03, 2014
    The comment has been removed