Application Sharing – Monitoring in OCS R2

One challenge that can arise for organizations moving from LCS 2005 to OCS R2 is that the replacement for the desktop and application sharing functionality within R2 leverages a different toolset.  In LCS 2005, desktop sharing was powered by NetMeeting.  This product was on the desktop in XP but no longer ships in Windows by default. In OCS R2, the Application Sharing feature is provided by Live Meeting to deliver a very rich experience and robust feature set. However, certain use of the Application Sharing on Microsoft Office Communicator 2007 R2 requires an Enterprise CAL.  I say certain, because while anyone can join an App Sharing session with a Standard CAL, only an Enterprise CAL is allowed to initiate a session.

The questions, then, are how do you know who’s using App Sharing to initiate sharing, who’s using it to view only, and who’s not using it all?

The answer comes to us in the form of the OCS 2007 R2 CDR and Monitoring Server.  This server role (previously two separate servers in the RTM version of OCS 2007) actually contains usage data on nearly all SIP traffic seen at the Front End servers.

When a client initiates an Application Sharing request, the SDP (Sessions Description Protocol) information within the SIP invite contains two required values: one that describes the type of event and one that defines the role for the person sending the invite.  These values are seen as follows:


In this case, it is clear that the type of the event we’re looking at is for Application Sharing, and the user whose SIP URI is specified in the SIP invite is the actual organizer (sharer) for this event.

While default CDR reporting does not provide any data on Application Sharing metrics, the data is within the SQL database and can be retrieved using custom scripts.  Examples of such scripts are provided here, courtesy of Nick Smith at the OCS Center of Excellence:

To retrieve data on number of Multi-Party Application Sharing sessions by Organizer:

select      U.UserUri, Count(UserUri) as NumberOfApplicationSharingConferences

from  LcsCDR.dbo.Mcus as M,

            LcsCDR.dbo.McuJoinsAndLeaves as MJAL,

            LcsCDR.dbo.Conferences as C,

            LcsCDR.dbo.Users as U

where M.McuId=MJAL.McuId and

            MJAL.SessionIdTime = C.SessionIdTime and

            U.UserId = C.OrganizerId and

            MJAL.UserId = C.OrganizerId and

            M.McuType = ‘applicationsharing’ and

            MJAL.UserJoinTime is not null

group by U.UserUri


To retrieve data on number of Peer-to-Peer Application Sharing sessions by Organizer:

select      U.UserUri, count(UserUri) as NumberOfP2PApplicationShares

from  (select SessionIdTime,MediaId from LcsCDR.dbo.Media group by SessionIdTime, MediaId) as M,

            LcsCDR.dbo.MediaList as ML,

            LcsCDR.dbo.SessionDetails as SD,

            LcsCDR.dbo.Users as U

where M.MediaId=ML.MediaId and

            M.SessionIdTime = SD.SessionIdTime and

            SD.User1Id = U.UserId and

            ML.Media = ‘Application Sharing’

group by U.UserUri


When leveraged, the results from the above queries would be reported as follows:

 App Share Conf

 App Share P2P


Comments (0)

Skip to main content