Skype for Business Server side Conversation History
Back in my Microsoft Support engineer life with Lync 2013 and previous versions, I used to come across a lot of compliance issues, related to missed IM conversation history on mobile devices. In previous versions, it was more like a device based archiving , which means the same conversation cannot be found in the Outlook conversation history and phone. However Microsoft had gone a step ahead and fixed this component in Skype for Business. It was EWS which was responsible for writing the Lync conversation history to Outlook. However this time irrespective of the device from where you are having an IM conversation, everything is saved to a centralized location.
As soon as you enable server side conversation history, the entry point to server-side conversation history from the clients will be UCWA. So basically when this feature is enabled for desktop clients, the consumer of UCWA is no longer limited to mobile clients. The server-side conversation history make use of LYSS (Lync Storage Services) to process and then store conversation histories directly to Exchange using EWS. In this way removing the dependency on the client to submit conversation history directly to Exchange via EWS.
Mobility flow for Server Side Conversation History
- End user must be homed on Skype for Business Server 2015.
- User must have a mailbox homed on Exchange 2013(O365/On-Premise).
- Skype for Business Server has OAuth setup with the Exchange 2013 environment
1. Verify OAuth is configured on Skype for Business Server
Get-CsCertificate -Type OAuthTokenIssuer.
2. Verify Exchange Server 2013 is configured to use OAuth with Skype for Business Server 2015.
3. Verify the configuration for Exchange 2013
4. Verify OAuth setup between Skype for Business and Exchange
Test-CsExStorageConnectivity –SipUri email@example.com -Verbose
Enable Server Side Conversation History
1. Set-CsConversationHistoryConfiguration -EnableServerConversationHistory $true -verbose
2. Set-CsClientPolicy –identity “policy_name” –EnableServerConversationHistory $true -verbose
3. Verify CMS replication, Get-CsManagementStoreReplicationStatus.
4. Restart the SfB Services (assuming this is the first time S4B-Exchange auth has been configured)
Post deployment verification:
1. Get-CsMobilityPolicy (Ensure “AllowSaveIMHistory” is enabled)
2. Get-CsClientPolicy (Ensure “DisableSavingIM” is not enabled)
Specifies the maximum number of times the Skype for Business Server will search for a previous conversation item from Exchange to create a continued conversation. If the previous conversation is not found in the specified number of attempts, a new conversation is created. Increasing this value will present more continued conversations, but at the cost of decreased performance. This parameter should not be used except in situations where Exchange connections are known to be unreliable. The default value is 3.
Basic troubleshooting steps.
Enviornment: SfB Server 2015 onprem and Exchange online/On-Premise
Collect below information’s first.
- Get-CsHostingProvider –LocalStore
Test-CsExStorageConnectivity -SipUri firstname.lastname@example.org –Verbose, which performs below steps in the background.
- Opens a connection to LYSS
- Creates a test message
- Initiates Exchange storage request
- Lookup for Exchange mailbox (Autodiscover)
- Find mailbox settings
- Oauth handshake
- Message creation response (success, failure)
Collect UCWA and LYSS logs from all FE servers if required. Always try to isolate the issue in a user level, sometimes user in a different exchange database/ Server or site might not be affected. Logical corruption in the mailbox may cause trouble in pulling the conversation history. So as a last option always look in to this issue from the Mailbox side.
References from Microsoft Ignite 2015, Chicago & other resources.
If you have any suggestions or feedback, please feel free to comment below.
Anoop Karikuzhiyil Babu
Former Microsoft Premier Unified Communication Engineer