
My name is Curtis Johnstone – I am the creator and chief contributor to Inside OCS. I am currently an architect and unified communications domain expert working at Quest Software. My background is rooted in Microsoft Exchange application development, but I have now focused and worked extensively with OCS for over 3 years now. I have architected and lead several OCS and OCS R2 rollout’s with lots of hands-on experience with everything from architecting, deployment, management, developing custom solutions, and troubleshooting.
This blog is intended to share my experiences and knowledge to help IT managers, Administrators, and End-Users using Microsoft Office Communications Server, Office Communicator, and Office Live Meeting.
Enjoy, Curtis

Disclaimer – This is a personal blog. The opinions expressed here represent my own and not those of my employer. All content of this blog is the sole intellectual property of Curtis Johnstone. If you wish to use content from my blog, please do so by linking to it rather than copying it. The information in this blog is provided “AS IS” with no warranties, and confers no rights. This personal blog makes no guarantees as to accuracy, completeness, suitability, or validity of any information on this site and will not be liable for any errors, omissions, or delays in this information or any losses, injuries, or damages arising from its display or use.


Twitter
LinkedIn
Mike,
That’s a good question/request. I have some options, but no ‘easy button’.
#1] Communicator Custom Tabs – a good choice (as you mentioned in the email). The big issues are that:
a) it requires client-side Communicator configuration (registry entries or Group Policy to turn the custom tabs on),
b) a client-side deployment – a custom XML describes the configuration.
c) the custom tabs feature (I am pretty sure) is disappearing in the next release of Communicator (but replaced with a whole set of customizable options).
#2] An HTML Page with an Embedded ActiveX object that Sends Key Strokes to Communicator and Dials the Conference Number. I’ll understand if you think this is a complete hack, because it is, but I did this a while ago to have Communicator dial into a voice mailbox of mine, and it was reasonably slick – single-click from an HTML page. I’ll try to find that when I get a chance.
#3] Communicator 2007 R2 Extensibility.
There are a plethora of ways to extend the Communicator client using the published SDKs (http://www.microsoft.com/downloads/details.aspx?FamilyID=ed1cce45-cc22-46e1-bd50-660fe6d2c98c&displaylang=en).
#4] OCS 2007 R2 Extensibility (server-side). If you are real ambitious
, you could develop a server-side agent that dialed the conference number. For example, users would add this agent as a contact. When a user wants to dial a conference they IM the server-side agent contact and give it a command over IM such as “start conference leader-id 8737″.
(http://www.microsoft.com/downloads/details.aspx?FamilyID=82e4ed05-0fbf-48f4-b2b2-66bebf3f5de0&displaylang=en)
No easy button though. I’ll give this more thought.
Hi Chris, I have a an R2 installation of approximately 9800 users and spread across 60 countries. In our corporate head quarters I have implemented RCC which communicates to our Avaya PBX via an Avaya AES server. I works great. However I continue to look for the “Easy Button” with respect to dialing a conference call that requires the dialing of a number, waiting, then entering a unique code…….. I want to click on a link that will allow RCC to call the E.164 number then honor parts of an AT Command set such as “pauses” and “#”. A number in the form of “tel:+19195551212,,,567489#” will not work as it is not a true E.164 format. Surely this in not a unique request, yet I haven’t found any good leads. Can you guide me in a direction? How can I find this “Easy Button”?
Many thanks for any help you can lend me.
Cheers………..Mike
Thank you for your quick response Curtis, much appreciated.
Kind regards,
Peter
Hi,
The maximum is 1000. You can set this on the server-side (commonly done), or on the client via a Communicator Group Policy Object. The server-side default is 150. Be cognizant of the potential bandwidth for maintaining Presence for large contact lists (more on that in my blog entry Managing the Size of OCS 2007 Contact Lists).
As a point of reference, I have heard of several larger deployments, with good WAN connections, setting the this maximum to 1000 without issue.
Curtis
Hi Curtis,
I have been wondering, do you know what the maximum number of contacts someone can have on OCS is?
My organization uses MSN messenger to communicate with customers but we have reached the upper limit (1200 I believe.) I wanted to know if this would be avoided by using OCS instead? Thank you for your time.
No, I haven’t (not the moderated conference functionality). I haven’t heard anyone request that before (not that there isn’t a need for it).
Curtis,
Do you happen to know if there are any 3rd party moderated chat products that leverage OCS like this product for Sametime?
http://www.re-soft.com/product/stmoderatedchat.htm
Thx
Bryan
Hi Curtis,
You mentioned that the default level of access in an enterprise is “Company”. Is it possible to change default level to “Team” or adjust “Company” level to match “Team”?
Thanks,
Alex
There is no native functionality that I am aware of to do this in OCS 2007 R2. There are several 3rd party products on the market which offer this functionality such as Quest Software’s Policy Authority Product (http://www.quest.com/policy-authority-for-uc/). Full disclosure – my day job is with Quest software
; I am not endorsing it, but I know you can set up rules to do what you are asking.
Cheers,
If I understand your question correctly, wouldn’t the right-click “Share Information using Live Meeting” in OC use the Live Meeting “Meet Now” functionality and options that you have set in the LM client?
Curtis,
There is the possibility of parameterization of communication rules
Ex1: Restriction chat between managers and users.
Ex2: Restriction chat only between members of the Department (Purchases only speaks to Purchases Department, talking with IT so IT but speaks with the Board)
How?
Hi John,
I’m using OCS 2007 R2 and Live Meeting On-premise.
I’m able to launch Live Meeting conf from my OC client, but not the “Meet now” LM conference.
Is there a way to launch the Live Meeting “Meet Now” conference from Office Communicator’s menu using the custom “Meet now options” I’ve set using the LM client?
Thank you for your time ,
Moïse
Hi Bruce,
Here is the main TechNet link with the instructions on how to configure it:
Configuring Context-Sensitive Custom Tabs
http://technet.microsoft.com/en-us/library/bb963929.aspx
There is also a TechNet sample app available here:
Communicator 2007 Custom Tabs – Microsoft Office Communicator 2007 Sample
http://www.microsoft.com/downloads/details.aspx?FamilyId=621C675C-46B7-4F68-ADDC-9F44E5594BFB&displaylang=en
D:\Program Files\Microsoft Office Communications Server 2007\Developer Samples\Microsoft Office Communicator 2007 Custom Tabs\
I do remember getting tripped-up on something (I believe if was the file name format in the registry that points to the XML file, or the XML file itself). It definately does work.
Here is exactly how a simple example is working on my machine right now for Communicator R2:
1) Registry key entry added at: HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Communicator
Key Value Name : TabURL
Value : file://c:\tabs1.xml
Make sure that the HTTP path of XML file is also included in the Trusted sites zone in Internet Explorer.
I tried to post the contents of the XML file – but Wordpress kept interpreting the actual XML…
I have had a Win32 application half-finished for about a year now, which makes this really easy (to turn on/off and auto generates the XML file), but it is still a work in progress.
Hope that helps.
Hi Curtis – great resource. I’m trying to develop a sample TAB for MOC, and we’re having trouble getting the TAB to display on various OS / MOC configurations. For example i have a XP box (SP3) with MOC R2 (3.5.6907.34) and despite adding the reg keys to both local machine and current user, making sure the xml page is in the trusted IE sites and rebooting, the TAB never shows up. We’ve fiddled with the contactid parameter per a technet article – but we really want to use that param for the TAB functionality.
Can you point us to good resources on adding TAB to MOCR@ with OCSR2, and also articles about how we’d add/leverage this capability in the contact card and Office2010 implementations please?
Thanks in advance.
Zip@tandberg.com (if anyone wants to contact us directly).
Thanks that worked i also fixed some issues with my CA, but after importing into the local computer trusted roots, it worked
Shaun, when you import the OCS pool certificate on the client computer, are you importing it into the local computer Trusted Root Certification Authorities – i.e. versus a Local User Account? To verify that the the CA on the OCS certificate has been added, fire-up the Certificates MMC snap-in, and look under the Trusted Root Certificate Authorities.
i have a pre-production deployment lab, and i am using self-sign cert’s for my enterprise pool. I read your Communicator Part 3 sign-in article and imported the cert on mu test Communicator client machines, but i am still getting a cert error. Any ideas? Good login tool btw – makes troubleshooting this stuff easier.
Sarah
Good question Sarah. I have been asked this before so I did a blog post on it. Please see http://blog.insideocs.com/2009/07/31/blackberry%c2%ae-client-support-for-ocs-r2/.
Curtis
Hi Curtis,
Our company is looking at developing OCS R2 mobile apps for Blackberry. Our preliminary research seems to indicate that Microsoft needs to release a patch for Blackberrys to be supported in R2. Any knowledge about that?
Thanks!!
Sarah
I have never heard of this issue specifically, but I have heard of similar issues with ringback, and it is usually Gateway configuration between the OCS Mediation Server and PBX, or a PBX configuration issue. If the problem temporarily resolves itself after restarting the Mediation server, it is call state issue.
There is a free tool from Microsoft called the OCS 2007 VoIP Test Set (http://www.microsoft.com/downloads/details.aspx?FamilyID=7b6ab4f3-2949-4e97-856e-9c4ae323c75a) which provides both Client and Server SIP endpoint emulation to debug issues like this. The Server piece can emulate a Gateway, to ensure it is functioning as expected. and generate detailed logs which detail exactly what is happening.
New OC user:
My company jusy recently implemented OCr2. We are suddenly experiencing Voice Call delays accompanied with abount 7 beeps before the caller is provided ringback upon which the call then connects. This happens in all scenarios; click to call, peer to peer, and OC to TDM. Have you ever heard of this issue before?
Hi Tony,
The ‘network’ should not matter; what matters is that there is only 2 clients in the session. In such a scenario, the OCS server is used to just set up the SIP signaling for the session and all the media traffic (A/V and Web Conferencing data) will go peer-to-peer via UDP. As soon as a 3rd client is added, the OCS server upgrades the session to a conference and streams the media to all clients. I’ll double-check that this does not change when the clients are external.
Peer-to-peer session information is kept in the Call Detail Records (on the CDR server – if it is configured to do so). The information includes length of the session, the authenticated users involved, and the media types used. When a 3rd party joins the session, the OCS server stores similar data in the CDR about the conference. With a peer-to-peer session, the big different from a conference session is that you cannot archive the session content (because it is not going through the OCS server).
Hope that helps,
Curtis
Hi Curtis
I’m trying to pin down some information for an OCS design im in the middle of doing. The design uses Web Conf and AV Edge servers, so AV & web conferencing is involved here.
What I’m trying to determine is when two clients are accessing an OCS service via a an external network (lets say a customer network), if, even though they are both external, they are both on the same external network and want to setup an AV session just between the two of them, I understand its peer-to-peer. My question is, if the communicator client has to first go out to the edge server for a connection into the OCS service, how does the client then determine whether the target is also on the same external network so that it can drop to peer to peer (and therefore avoid the bandwidth demand on the edge server). Also, in this scenario, if its peer to peer, what information is kept about the session, or is session information not retained in a peer to peer scenario?
Sorry for all of the questions, I’m just cnfused about hwats peer-to-peer and whats not, and under what scenarios peer-to-peer is applicable.
Thanks
Hi Mika,
Unfortunately I don’t think is a workaround. If you are very comfortable with WMI, you could try connect remotely to the WMI provider on the OCS server which will allow you to perform some administrative functions, but provisioning a separate Vista box would be less risky and easier. There are many WMI tools available, like Microsoft’s WBEMTest user interface which will allow you to connect remotely.
You could also install a Vista, Windows 2003, or Windows 2008 virtual machine on your production box for this purpose. This is arguably as much work but might save you some hardware.
Hi, Thanks for all the great information. Is there any work around that would allow us to install the OCS 2007 R2 administration tools on a Windows XP Pro workstation? We are running in to errors and documentation that the admin tools will only run on Vista/2k3 server, etc. I would mainly like to use the ADUC snap in on an administrative XP workstation. Due to accessibility issues with a VMWare server, I cannot remote desktop in to that server. If I had too as a last resort I could provision a Vista box just for this, but I’d rather do the admin from my primary XP workstation. Thanks, Mika.
Hi DrRez, InsideOCS has a Twitter presence at: http://twitter.com/InsideOCS – it is not active right now, but there will be updates coming in the future. You are now being followed
.
BTW, we are all curious where the “DrRez” tag comes from?
Curtis, I hope you will consider getting a Twitter account and following @DrRez (OCS Insiders). Twitter is a great way to increase visibilty for your excellent work. I will tweet this post out to our 500 followers. Thanks! @DrRez
Thanks Matt. Doing a blog is more work than I thought (even a minimal one
), so I am glad you find it useful.
To answer your question, yes, it works from the ‘outside’ (over the Internet with no VPN). You need to have the OCS Edge Access and OCS Edge Audio/Video deployed (and configured correctly). If you can do IM and Audio/Video through the Communicator client, there is no additional configuration that I am aware of to make desktop sharing work.
Another good thing is that the desktop sharing in Communicator R2 is peer-to-peer and it should work from the outside with an OCS 2007 Edge and Front-end and Backend.
Great blog, great information. Is there anyway to enable the desktop sharing feature in R2 to users who are part of my domain, w/ their machines in the domain, but not connected to my network by either a local connection or VPN? The IM works great on the outside, but if I could get the desktop sharing to work over the internet, it would be a great selling point.
Thanks again for all the great articles.
It’s not quite true that with OCS 2007 you can see the ‘awareness’ (aka Presence) for everyone – it is dependent on the level of access a user has set for a particular contact. In Communicator 2007 an OCS user can assign an access level of “Blocked” to a particular contact (in their buddy list) for example, and the user appears as Offline to that contact. The Outlook integration piece respects these settings. The default level of access in an enterprise is “Company” which will allow an internal contact to see Availability (aka Presence).
Nevertheless it is a good thing to think about performance considerations surrounding Presence. As a mentioned in my post “Managing the Size of OCS 2007 Contact Lists“, as the average size of user buddy lists grow, basic Presence can consume significant bandwidth. The post also mentions how to control the maximum size of buddy lists.
In regards to your question – whether it is a 5000 or 25,000 person organization, the average size of the buddy list is what really matters. The Communicator client is typically always running on a client machine, and therefore always updating Presence with all contacts, so the number of contacts a user has is what really impacts network bandwidth for the Presence.
There is a really good posting in the OCS Forums on this subject, and it discusses some numbers.
http://social.microsoft.com/forums/en-US/communicationsserversetup/thread/3ae3462e-1006-4880-8146-42cff083ec46/
The Office Communications Server 2007 Document: Planning Guide also might have some guidance to help you:
http://www.microsoft.com/downloads/details.aspx?FamilyId=723347C6-FA1F-44D8-A7FA-8974C3B596F4&displaylang=en
Also, you can always start with a smaller maximum contact list size (50), measure network performance and increase it as you gain confidence.
Hope that helps,
Curtis
I believe the OCS2007 allows you to see awareness for everyone, not just the folks that are in your buddy list.
If a company wants to implement this when they move from LCS to OCS, are there performance considerations to engineer into the deployment. Is there a suggested best practice on scaling the feature for performance limitations — for instance, is this ok for a 5000 person organization but not for a 25,000 person organization?
Sorry for the delay Curtis. Looks like I didn’t get notified of your message.
To answer your question, yes the scripts have been updated for R2. The entire content was substantially updated.
To provide you with a bit of insight into the process, we made trimmed the existing content by 20% to remove any fluff and information otherwise uninteresting or we felt didn’t add to increasing the reader’s understanding of the product. Existing content, for the most part, was rewritten to improve clarity and comprehension, and new content added across all chapters. In addition to adding new chapters, a lot of the existing chapters were completely rewritten. Of course, the content underwent a rigorous review by technical reviewers, the lead author, the TR (technical reviewer), language editor, and MSP.
I hope you’ll find it to be helpful. We’re always looking for feedback to improve on it for the next edition!
Hi Robert,
You need at least one OCS Edge role (seperate from your Standard Edition server), to enable PIC functionality.
Curtis
I can’t seem to find an answer to something and was wondering if you could answer. I’m testing a very basic deployment of OCS 2007 Standard simply for internal IM/voice/video. I’ve got all this working fine. I was now wondering what it would take to add Public IM into the mix. I understand there is a PIC license of about $1/person/month, but my question is about the Edge role. Can I still have my one install of Standard Ed. “do it all” or do I need a second install with the Edge role for handling this Public IM connectivity?
Good reminder Rui – those scripts have come in handy several times. And just so people are clear, this in the Office Communications Server 2007 Book (not be confused with the Microsoft OCS Resource Kit itself): http://www.amazon.com/Microsoft-Office-Communications-Server-Resource/dp/0735624062.
I am looking forward to the 2nd edition. I am assuming the content and scripts will be updated for R2?
A simple way to enable users for OCS as well as perform many other OCS management tasks is to use the PowerShell scripts provided in the CD of the book by MSPress: Office Communications Server 2007 Resource Kit. This PowerShell script exposes most of the OCS WMI APIs as cmdlets. The appendix provides examples on how to use them.
Soon to be released in Feb 2009 is the improved 2nd edition of this book that contains more PowerShell scripts.
Hope this helps!
Hi John,
I had been meaning to do a post about provisioning OCS from the command line, and I finished this post today: http://blog.insideocs.com/2009/01/16/189/.
Hope this helps,
Curtis
Curtis,
Is there an easy way to enable a user on OCS from the command line?
Cheers