Archive

Archive for the ‘OCS 2007 / Lync 2010’ Category

OCS 2007: Office Communicator Custom Presence Editor

January 7, 2012 Leave a comment

There is a very useful tool available to insert custom presence statuses in your OCS 2007 client which is made by Jak Spalding. It’s not required to install the tool if you use the portable edition. For me is this the most useful OCS client tool available.

Allows for up to 4 additional status messages, with Available, Busy or Do Not Disturb icons, Enables Appear Offline option
Turns on the ability to archive instant messages in Outlook’s “Converstion History” folder
Doesn’t require an internet connection to work!

Download & more info: http://www.jak.cx/projects/office-communicator-custom-statuses/

Advertisements

OCS 2007: Communicator could not retrieve calendar or Out of Office information from Exchange Web Services

January 4, 2012 Leave a comment

Communicator could not retrieve calendar or Out of Office information from Exchange Web Services from Exchange Web Services. Communicator will automatically continue to retry. If this problem persists, contact your system administrator. 

My solution was:
Close your OCS client & Clear all the local cached data of your OCS client:
%userprofile%\Appdata\Local\Microsoft\Communicator\<User SIP URI>\

If multiple users experiencing this problem check the Certificate Service and other OCS services and enable client logging to further investigate when the error persists:  http://www.fots.nl/index.php/archive/communicator-troubleshooting/

Categories: OCS 2007 / Lync 2010

Lync 2010: Tools And Apps

June 16, 2011 Leave a comment

Microsoft has released the “Lync Power Pack” where some great “Tools and Apps” are made available. You can freely download them from the Lync Adoption and Training Kit website.

Overview of the current Lync Tools and Apps:

  • IM an Expert
  • Conversations Analyzer
  • Conversation Translator
  • Information Dashboard
  • Tabbed Conversations
  • Group Chat Stress
  • Lync Custom Intranet Site
  • Lync How-to

Example: Information Dashboard

Information Dashboard helps you start a conversation with a remote contact by providing current information about the contact’s location. For example, if you are calling a coworker or a client in Shanghai, China, you can open Information Dashboard and enter the location of Shanghai before making the call. Information Dashboard will return the day, date, time, whether you are calling during regular working hours, the weather forecast, and a news feed of articles related to the location. A contact’s location is saved after you set it and is recalled automatically when you start a new conversation.

http://lync.microsoft.com/Adoption-and-Training-Kit/tools-and-apps/Pages/Overview.aspx

Categories: OCS 2007 / Lync 2010

Lync 2010: Contact Information Sample

March 30, 2011 Leave a comment

Lync 2010 SDK included also a Contact Information Sample which can retrieve the current presence status and modify it. Moreover it is possible to sign out the user and modify the personal notes. This sample uses the currently signed in user.

Prerequisites (for compiling and running in Visual Studio)

  • .Net Framework 3.5 or above.
  • Visual Studio 2008 or 2010
  • Microsoft Lync SDK

Prerequisites (for running installed sample on client machines)

  • Microsoft Lync must be installed and running.

Features include:

  • Get information of a Lync contact such as the name, photo, current availability and personal note.
  • Publish information of the Self contact, such as availability and personal note.
  • Sign in to Lync using the credentials of the user currently logged in to the machine.
  • Sign out from Lync.
  • Handle Lync events to respond to changes in the client state and changes in the contact information

The sample:

Result

For example in the class below you can see how to modify the peronal note: lyncClient.Self.Contact.GetContactInformation is mainly used to get and set persence status, peronal note, displayname,..

        private void SetPersonalNote()
        {
            string text = string.Empty;
            try
            {
                text = lyncClient.Self.Contact.GetContactInformation(ContactInformationType.PersonalNote)
                              as string;
            }
            catch (LyncClientException e)
            {
                Console.WriteLine(e);
            }
            catch (SystemException systemException)
            {
                if (IsLyncException(systemException))
                {
                    // Log the exception thrown by the Lync Model API.
                    Console.WriteLine("Error: " + systemException);
                }
                else
                {
                    // Rethrow the SystemException which did not come from the Lync Model API.
                    throw;
                }
            }

            personalNoteTextBox.Text = text;
        }

more info: http://msdn.microsoft.com/en-us/library/gg436843.aspx

Categories: OCS 2007 / Lync 2010

OCS 2007 R2: Enable a user with powershell

March 21, 2011 Leave a comment

In this post I will show you how you can enable a useraccount with Powershell in OCS 2007 R2. Yes there isn’t a powershell CMD-let available in OCS 2007 R2 but there are some nice OCS Powershell example Functions available on the companion CD of the OCS 2007 R2 resource KIT book.

Download the following two files from the companion CD and place them in a directory on your Edge/Standard edition server:

  • OCS-All.ps1
  • ocsTypes.format.ps1xml

First modify the first file OCS-All.ps1 based on http://support.microsoft.com/kb/969486/en-us
The Function “Get-OCSUser” must be modified because it could generate errors when your create a new user(probably on line 103).

if (($URI -eq “%”) -or ($URI=”*”)) {$uri=$null}  #old
if (($URI -eq “%”) -or ($URI –eq “*”)) {$uri=$null} #correct

You will now be able to load the OCS functions in the Powershell console. It may be necessary to run first the “set-ExecutionPolicy RemoteSigned” before you can load the functions.

[PS] C:\Powershell>.  .\OCS-All.ps1

You can now get all OCS commands via:

[PS] C:\Powershell>get-ocsfunction

Create a new OCS user:
Before we can create a new OCS user we must retrieve the correct user “distinguished name” and Pool “distinguished name”. In the example below I put them in two variables because these names are quite long. I make also use of the “Quest Active roles Management” shell to retrieve the DN name via the “Get-QADuser” command. Get-OCSpool is also one of the example functions.

[PS] C:\Powershell>$userdn = Get-qaduser ocsuser1 | foreach {$_.DN}
[PS] C:\Powershell>$pooldn = get-ocspool | foreach {$_.pooldn}

The next step is to create a new OCS user via the “New-OcsUser” function:

[PS] C:\Powershell>New-OcsUser -uri “sip:name@example.com” -user $userdn -homeServer $pooldn



Account is now enabled for OCS 2007 R2 with powershell! A more detailed view of the user can be accomplished via get-ocsuserdetail:

[PS] C:\Powershell>Get-OCSUserDetail -condition “PrimaryURI like ‘SIP:ocsuser1%'”

Complete list of functions:

Enable-ExchUmForOcsUser
Get-OCSADContainer
Get-OCSEdgeAvAuthCert
Get-OCSEdgeConferencingExternalCert
Get-OCSEdgeFederationDenied
New-OCSEdgeFederationDenied
Remove-OCSEdgeFederationDenied
Get-OCSEdgeFederationExternalCert
Get-OCSEdgeFederationInternalCert
Export-OCSEdgeFederationPartner
Get-OCSEdgeFederationPartner
Import-OCSEdgeFederationPartner
New-OCSEdgeFederationPartner
Remove-OCSEdgeFederationPartner
Get-OCSEdgeIMProvider
New-OCSEdgeIMProvider
Remove-OCSEdgeIMProvider
Update-OCSEdgeIMProvider
Get-OCSEdgeInternalDomain
New-OCSEdgeInternalDomain
Remove-OCSEdgeInternalDomain
Get-OCSEdgeInternalServer
New-OCSEdgeInternalServer
Remove-OCSEdgeInternalServer
Get-OCSErrorEvent
Get-OCSFunction
Get-OCSGlobalUCSetting
Get-OCSInstalledService
Choose-OCSLocationProfile
Get-OCSLocationProfile
New-OCSLocationProfile
Remove-OCSLocationProfile
Choose-OCSMediationServer
Set-OCSMediationServerPlusSign
Get-OCSMediationServerSetting
Choose-OCSMeetingPolicy
Get-OCSMeetingPolicy
New-OCSMeetingPolicy
Remove-OCSMeetingPolicy
Update-OCSMeetingPolicy
Choose-OCSNormalizationRule
Remove-OCSNormalizationRuleFromOCSLocationProfile
Get-OCSNormalizationRule
New-OCSNormalizationRule
Remove-OCSNormalizationRule
Add-OCSNormalizationRuleToOCSLocationProfile
Update-OCSNormalizationRule
Choose-OCSPhoneRoute
Get-OCSPhoneRouteForNumber
Get-OCSPhoneRouteForOCSPhoneRouteUsage
Get-OCSPhoneRouteForOCSUser
Get-OCSPhoneRoute
New-OCSPhoneRoute
Remove-OCSPhoneRoute
Update-OCSPhoneRoute
Choose-OCSPhoneRouteUsage
Get-OCSPhoneRouteUsageForOCSUCPolicy
Remove-OCSPhoneRouteUsageFromOCSPhoneRoute
Remove-OCSPhoneRouteUsageFromOCSUCPolicy
Get-OCSPhoneRouteUsage
New-OCSPhoneRouteUsage
Remove-OCSPhoneRouteUsage
Add-OCSPhoneRouteUsageToOCSPhoneRoute
Add-OCSPhoneRouteUsageToOCSUCPolicy
Get-OCSPICUserCount
Choose-OCSPool
Get-OCSPool
Start-OCSReplication
Get-OCSSchemaVersion
Get-OCSSIPDomain
New-OCSSIPDomain
Remove-OCSSipDomain
Get-OCSSipRoutingCert
Get-OCSTrustedService
Choose-OCSUCPolicy
Get-OCSUCPolicyForOCSUser
Get-OCSUCPolicy
New-OCSUCPolicy
Remove-OCSUCPolicy
Update-OCSUCPolicy
Get-OCSUserDetail
Export-OCSUser
Get-OCSUser
Import-OCSUser
New-OCSuser
Remove-OCSUser
Update-OCSUser
Get-OCSWarningEvent
Get-OCSWindowsService
Start-OCSWindowsService
Stop-OCSWindowsService

Lync 2010: Conversation Translator

March 20, 2011 2 comments

In the new Lync 2010 SDK are already some nice sample applications included. In this post I will show you the “Lync Conversation Translator”. The Lync 2010 SDK is a code platform API that developers can use to build custom applications for Lync 2010. Although an installation of Lync SDK is not required if you only want to use one of the sample applications. You can install the SDK if you are interested in the code behind the sample applications or you want to develop additional features.

Download Lync SDK: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=d98f0bf7-c82c-47f5-9f73-be3edbf30438

Requirements for LYnc 2010 SDK:

  • Microsoft Lync 2010
  • Microsoft Visual Studio 2008 SP1 or higher
  • Microsoft Sliverlight 4 Tools

Conversation Translator
This feature is a Silverlight-based program that pops-up a translator window in your Lync Client. This sample uses the Microsoft.Lync.Model.Conversation namespace from the Lync Model API to intercept instant messages and provide translation using Bing Web Services.

Features include:

  • The sample provides an example architecture for registering for and handling asynchronous Lync 2010 API events in Silverlight.
  • Register for two Conversation related events: ParticipantAdded and InstantMessageReceived.
  • Use the BeginSendMessage method and callback.
  • Uses the Bing Translator Web Service.

Path: %PROGRAMFILES%\Microsoft Lync\SDK\Samples\ConversationTranslator or %PROGRAMFILES(X86)%\Microsoft Lync\SDK\Samples\ConversationTranslator

How to active this Conversation Translator?
Create and execute a registry file (.reg) with content similar to the one shown below:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Communicator\ContextPackages\{69380005-8401-414c-9a8b-dea88e3ffb71}]
“Name”=”Conversation Translator”
“ExtensibilityApplicationType”=dword:00000000
“ExtensibilityWindowSize”=dword:00000001
“DefaultContextPackage”=dword:00000000
“InternalURL”=”http://input.microsoft.com/translator/OCTranslatorTestPage.html&#8221;
“ExternalURL”=”http://input.microsoft.com/translator/OCTranslatorTestPage.html&#8221;
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\microsoft.com\input]
“http”=dword:00000002
 

Like you can see in the registry keys is one of the requirements that you add the translator webpage (input.microsoft.com) to the trusted sites in Internet Explorer. Restart the Lync 2010 client once the *.reg file is executed. Within a conversation window, open the extension menu
(double arrows on the right of the conversation buttons bar) and choose Conversation Translator.

The conversation window will appear. Select one of the 32 languages as your source and destination and start your translations!

It may be a nice add-on for multilingual companies but it remains a online translator with the well known translator faults. It’s more suitable to translate short sentences or words.

See also on MSDN

 

Categories: OCS 2007 / Lync 2010

Lync 2010: Enable presence status “Appear Offline”

March 10, 2011 2 comments

Also in Lync 2010 is the presence status “Appear Offline” available. This presence status is not enabled by default neither in OCS 2007 were you must configure it via the Administrative template “Communicator.adm” which you could import into your Group Policies. Although it is advisable to use the “Do not disturb” status instead of “Appear offline”, since its corporate presence system and not public, however it could be useful when you have PIC enabled on your Lync Environment to communicate with Yahoo!, MSN, etc..

You can enable “Appear Offline” via the Powershell:

Set-CsClientPolicy -EnableAppearOffline $true

Get a list of all Client Policies with the Get command:

Get-CsClientPolicy

Users will need to sign out and back into Lync to see the new status.

Categories: OCS 2007 / Lync 2010