• Home
  • My Tools
  • Visio Stencils
  • Online Tools
  • PS Scripts
  • PS One Liners
  • Downloads
  • Product Review
  • About

Smarter Together

~ by I.M.H.O.

Smarter Together

Category Archives: GAL

AddressBook Error after CU applied

28 Saturday Jul 2012

Posted by Paul Bloem in ABS, ABServer, AddressBook Service, GAL, RTCAB, RTCDatabase

≈ Leave a comment


Problem
This one came up a few months ago…

One thing that has been omitted from the automatic update procedure is the PS command to update the SQL database  Don’t get me wrong, I am really happy about the simplicity introduced by running the LyncServerUpdateInstaller.exe that figures out what updates to apply to which servers on its own. 

In my case, after running the updates I launched the PS Command as instructed

Install-CsDatabase -Update -ConfiguredDatabases -SqlServerFqdn -UseDefaultSqlPaths

Only to find that I no longer had full access to the SQL backend (thanks SQL Admin). Once this was corrected I attempted the PS Command once more and to my disappointment was greeted by this error below:-

Running script: C:Windowssystem32cscript.exe //Nologo “C:Program FilesCommon FilesMicrosoft Lync Server 2010DbSetupRtcAbDBSetup.wsf” /sqlserver: /serveracct:EMSCRTCComponentUniversalServices /verbose
—————
Installed SQL Server 2005 Backward Compatibility version is 8.05.2312
Connecting to SQL Server on
SqlMajorVersion : 10
SqlMinorVersion : 50
SqlBuildNo : 1600
SQL version is acceptable: 10.50.1600.1
Default database data file path is F:SQL_Data
Default database log file path is G:SQL_Logs
Opened database rtcab

Db version unknown. Clean install required.
(Major upgrade of database required.)
Due to schema changes this database cannot be re-used. It must be dropped and a new one created.
To preserve data, you must use this product’s backup/export restore/import solution. Examine the product documentation for instructions.
—————
Exit code: ERROR_NEED_MAJOR_UPGRADE_USE_IMP_EXP (-50)
—————

What! The ABSStore database was not getting created, and now the RTCAB and RTCAB1 databases are poked. They were working fine just before.

Effect

I had run out of time and needed to get off the systems so I did a quick check and found that all seemed to work fine. I then noticed that my Lync Event log on the FE was reporting that the ABServer and all things related to AB was stuffed. The ABServer.exe was attempting to start and then failing in a cycle that quickly filled the logs. Shortly after this users started getting the old ! to indicate that the client was unable to download the GAL. Makes sense since the AB wasn’t running.


Interestingly, a Lync Trace of the ABServer reported this:

Connection string “Data Source=;Initial Catalog=RtcAb;Integrated Security=True;Enlist=False;Connection Reset=False;Connect Timeout=10”

Followed by connection errors. Taking a closer look at the myriad of errors in the event log I also saw this:

Process: ‘C:Program FilesMicrosoft Lync Server 2010ServerCoreABServer.exe’ Exit Code: C3E8302D!_HRX! (The worker process failed to initialize itself in the maximum allowable time.!_HRM!).
Cause: This could happen due to low resource conditions or insufficient privileges.
Resolution: Try restarting the server. If the problem persists contact Product Support Services.

Restarting the server, of course…that didn’t work.

I know it isn’t resourcing as I been trying this at different times of the day and the SQL server wasn’t low at all. Ahh privileges ..wasn’t that how this all started? Running the update PS Command with insufficient rights? That has been remedied. Talking to the inhouse DBA I was informed that the RTCAB and RTCAB1 look rather unusual. RTCAB1 had been locked and the Schema was odd. Some rights didn’t look right (all DBA talk, right).

Solution 

First up let me remind you that I get rather anxious simply by using the SQL acronym in speech. After trying a new CU update (which failed with the same error) from advice here and here.. 

I decided to “drop” the RTCAB and RTCAB1 databases (more SQL talk). Had the SQL guy back them up as a precaution (they were broken already but somehow this made me feel a little more comfortable).

Stopped all things Lync from the FE Server (stop-cswindowsservice), dropped the databases and then launched the PS Command (above) that started all this trouble. 

SUCCESS!

What I noticed was that the PS Command Install-CsDatabase -Update simply installed the RTCAB and RTCAB1 databses when it found that they had been dropped…phew..gulp! 

I then ran update-csaddressbook, replicated to other Lync servers. Manually deleted the GAL and fired up the client, GAL was downloaded. Finally!

The SQL DBA tells me that the RTCAB and RTCAB1 now look very different as far as permissions and shema are concerned. 

I’ll ask them to explain this to me once more but don’t hold your breath for a better take on this from me, as I said before touching S-Q-L makes me very uncomfortable, talking about it is almost forbidden so it may simply be a whisper.

Advertisement

Share this:

  • Click to share on Twitter (Opens in new window)
  • Click to share on Facebook (Opens in new window)
  • Click to share on LinkedIn (Opens in new window)
  • Click to share on WhatsApp (Opens in new window)
  • Click to share on Reddit (Opens in new window)
  • Click to share on Pocket (Opens in new window)
  • Click to share on Pinterest (Opens in new window)
  • Click to share on Tumblr (Opens in new window)
  • Click to share on Skype (Opens in new window)
  • Click to email a link to a friend (Opens in new window)
  • Click to print (Opens in new window)

Like this:

Like Loading...

Lync Address Book Service

23 Monday Jul 2012

Posted by Paul Bloem in ABS, ABWQ, AddressBook Service, AddressBookAvailability, Communicator, GAL

≈ Leave a comment

What is the ABS?
The ABS provides online and offline Address Book Service to the Lync clients.

Where is the ABS?
The ABS usually lives on the first Front End Server in the pool, if it fails Lync will bring up the ABS on another Front End Server..

Interestingly the ABS also provides the Distribution Group expansion and Phone Number normalisation.
In Lync 2010 the offline ABS is supplemented by a Address Book Web Query.

How is the ABS populated?
The ABS collects data from AD and then saves this in the RTCab and RTCab1 databases on the Lync SQL server. Why 2 databases?

These 2 databases are rotated on a daily basis to allow querying of the database while the alternate database is being updated.

The ABS cannot be configured by the Lync Control Panel, as all good and powerful things…it is governed in PowerShell.
The commandlet is CSAddressBookConfiguration.


RunTimeOfDay 
indicates when the servers generate new Address Book files. The RunTimeOfDay property is based on a 24-hour clock (hours:minutes:seconds), The default value is 01:30:00 (1:30 A.M.).

KeepDuration
Specifies the amount of time (in days) that Address Book servers will keep change files. Change files older than the value of the KeepDuration property will be deleted. The KeepDuration can be set to any integer value between 1 and 90, inclusive. The default value is 30 days.

SynchronizePollingInterval
Indicates how often the ABS synchronizes information with the information stored in the User database. The SynchronizePollingInterval can be set to any value between 5 seconds (00:00:05) and 3 hours (03:00:00). The default value is 5 minutes (00:05:00).

MaxDeltaFileSizePercentage
When changes are made to Active Directory (such as a new user being enabled for Lync Server), the Address Book server typically records these changes in a “delta file,” a file consisting only of the updated information; Lync 2010 can then download the delta files rather than a complete Address Book file. The MaxDeltaFileSizePercentage property determines how large the delta files can get before they are incorporated into the complete Address Book file. By default, delta files can be as large as 20 percent of the complete Address Book file before a new Address Book file is generated. At that point, Lync clients will download the complete file rather than a delta file.

MaxDeltaFileSizePercentage must be entered as a percentage value between 1 and 100, inclusive.

UseNormalizationRules

Indicates whether Address Book servers should use phone normalization rules when retrieving phone numbers. If set to False, phone numbers will be retrieved as-is, and it will be up to the client application to apply normalization rules when displaying these numbers.

The default value is True.

IgnoreGenericRules
Indicates whether or not the Address Book server ignores the generic normalization rules used when parsing phone numbers. Generic rules are the rules that are built into Lync Server 2010. These rules cannot be changed; however, by setting the value of this property to True you can instruct your Address Book servers to ignore these rules and instead use custom rules that you create yourself. The default value is False.
EnableFileGeneration

When set to True (the default value) the Address Book server generates Address Book index files that can be downloaded by clients. When set to False, these index files are not generated. That means that client applications will have to use the Address Book Web Query service when searching for contacts.

This is an interesting option!!!
Instead of downloading a GAL the client will use the ABWQ (AddressBook Web Queury)method. This may be a good option if the AddressBook is always changing as the ABWQ is live data.
The client Policy determines if the AddressBook will be available as a file download, web search only or both.
To set the client policy to use the ABWQ method:-

Set-CsClientPolicy -AddressBookAvailability websearchonly

This Global ABS Policy can be broken down to a site level, this can be done by

New-CsAddressBookConfiguration

OF course you can force an ABS update with
Update-CsAddressBook
And another cmdlet I plan to use more often is
$cred1 = Get-Credential “lynclab\paul.bloem”

Test-CsAddressBookService -TargetFqdn <LyncPool.lynclab.co.nz -UserCredential $cred1 -UserSipAddress "sip:paulb@lynclab.co.nz" 


On the client side the ABS is delivered via a URL as seen below:

Share this:

  • Click to share on Twitter (Opens in new window)
  • Click to share on Facebook (Opens in new window)
  • Click to share on LinkedIn (Opens in new window)
  • Click to share on WhatsApp (Opens in new window)
  • Click to share on Reddit (Opens in new window)
  • Click to share on Pocket (Opens in new window)
  • Click to share on Pinterest (Opens in new window)
  • Click to share on Tumblr (Opens in new window)
  • Click to share on Skype (Opens in new window)
  • Click to email a link to a friend (Opens in new window)
  • Click to print (Opens in new window)

Like this:

Like Loading...
Newer posts →

IMHO YouTube Channel

Follow Smarter Together on WordPress.com

Enter your email address to subscribe and receive notifications of new posts.

Join 674 other subscribers

Show your appreciation by donating

Archives

Category

ABS ABServer ADContacts Address Book AddressBook AddressBook Service Communicator contacts CX500 Devices DHCP DNS Edge Server Error Codes event id Exchange UM 2010 GAL Install Guide Lync 2013 Tools Lync Edge Lync Tools Microsoft Teams Monitoring Polycom Powershell Scripts Product Review QOS Quick Reference Guide Reskit RGS RTC Database SIP SIP Options Skype for Business Skype for Business Monitoring Skype for Business Tools SQL Teams TMG Tool Tools Troubleshoot Edge UC Sorted Tools UM Uncategorized Unified Messaging visio Visio Stencil voicemail

Create a free website or blog at WordPress.com.

Privacy & Cookies: This site uses cookies. By continuing to use this website, you agree to their use.
To find out more, including how to control cookies, see here: Cookie Policy
  • Follow Following
    • Smarter Together
    • Join 63 other followers
    • Already have a WordPress.com account? Log in now.
    • Smarter Together
    • Customize
    • Follow Following
    • Sign up
    • Log in
    • Report this content
    • View site in Reader
    • Manage subscriptions
    • Collapse this bar
%d bloggers like this: