tag:blogger.com,1999:blog-74568436664218024362024-03-19T07:45:42.642+00:00The UC Bell(the ringing has begun): dissertations and personal experiences of a Microsoft Solutions Architect on Unified Communications and related: Skype for Business, Skype Consumer, Lync, Office 365, Teams, Exchange, Azure and other.
Whilst I tend to stick to facts, opinions, if any, are my own :-)
Anonymoushttp://www.blogger.com/profile/13940988572890147155noreply@blogger.comBlogger18125tag:blogger.com,1999:blog-7456843666421802436.post-22458401594185768132017-06-08T08:18:00.002+01:002017-06-08T08:18:21.611+01:00New Skype Academy page<div class="MsoNormal">
Great new blog on the <b>updated Skype Academy </b>page:
the portal now allows users to create their <b>personalized training plans</b>,
<b>track their training progress</b> and <b>rate trainings</b>: <a href="https://techcommunity.microsoft.com/t5/Skype-for-Business-Blog/Welcome-to-the-new-Skype-Academy-page/ba-p/73818">https://techcommunity.microsoft.com/t5/Skype-for-Business-Blog/Welcome-to-the-new-Skype-Academy-page/ba-p/73818</a>
<o:p></o:p></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrQuK2LnwqUULlvItsdFnUJaaxBGTZPRM4d2w5n92_Q_eXg_ZTRojDDZSIRVy2tPB2yDQCNKl4gMst8JoJCaXG_dYADWhK0C8a1iQMm6gyMGSbAeSJ3cEyUK_zeGS4GIxhL1j1CZfSSqg/s1600/1.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="670" data-original-width="1169" height="366" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrQuK2LnwqUULlvItsdFnUJaaxBGTZPRM4d2w5n92_Q_eXg_ZTRojDDZSIRVy2tPB2yDQCNKl4gMst8JoJCaXG_dYADWhK0C8a1iQMm6gyMGSbAeSJ3cEyUK_zeGS4GIxhL1j1CZfSSqg/s640/1.JPG" width="640" /></a></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Calibri",sans-serif; font-size: 11.0pt; mso-ansi-language: EN-GB; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-GB; mso-fareast-theme-font: minor-latin;"><!--[if gte vml 1]><v:shapetype
id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t"
path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f">
<v:stroke joinstyle="miter"/>
<v:formulas>
<v:f eqn="if lineDrawn pixelLineWidth 0"/>
<v:f eqn="sum @0 1 0"/>
<v:f eqn="sum 0 0 @1"/>
<v:f eqn="prod @2 1 2"/>
<v:f eqn="prod @3 21600 pixelWidth"/>
<v:f eqn="prod @3 21600 pixelHeight"/>
<v:f eqn="sum @0 0 1"/>
<v:f eqn="prod @6 1 2"/>
<v:f eqn="prod @7 21600 pixelWidth"/>
<v:f eqn="sum @8 21600 0"/>
<v:f eqn="prod @7 21600 pixelHeight"/>
<v:f eqn="sum @10 21600 0"/>
</v:formulas>
<v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>
<o:lock v:ext="edit" aspectratio="t"/>
</v:shapetype><v:shape id="Picture_x0020_12" o:spid="_x0000_i1025" type="#_x0000_t75"
alt="academy1.png" style='width:749.5pt;height:420pt'>
<v:imagedata src="file:///C:/Users/algiombi/AppData/Local/Temp/msohtmlclip1/01/clip_image001.jpg"
o:href="cid:image008.jpg@01D2D953.F8987660"/>
</v:shape><![endif]--><!--[if !vml]--><!--[endif]--></span></div>
Anonymoushttp://www.blogger.com/profile/13940988572890147155noreply@blogger.com0tag:blogger.com,1999:blog-7456843666421802436.post-19226974102586373932016-08-26T11:05:00.002+01:002016-09-05T15:34:56.297+01:00Skype for Business Busy Options: under the hood (sort of) part 1<h2>
<span style="color: #444444; font-family: "arimo";"><span style="background-color: white; font-size: 14px; line-height: 19.6px;">Intro</span></span></h2>
<div>
<span style="color: #444444; font-family: "arimo";"><span style="background-color: white; font-size: 14px; line-height: 19.6px;"><br /></span></span></div>
<i style="color: #444444; font-family: Arimo; font-size: 14px; line-height: 19.6px;">Busy on Busy AKA BoB</i><span style="background-color: white; color: #444444; font-family: "arimo"; font-size: 14px; line-height: 19.6px;"> (or, more accurately as per Microsoft's wording, </span><i style="color: #444444; font-family: Arimo; font-size: 14px; line-height: 19.6px;">Busy Options</i><span style="background-color: white; color: #444444; font-family: "arimo"; font-size: 14px; line-height: 19.6px;">) is a somewhat obvious feature in any PBX and, generally speaking, in the PSTN communications world. Initially, it was as simple as bouncing back a "busy signal" tone to the caller, but it then evolved in more pervasive features like send to voicemail, or the various mainstream "call back" functions in the mobile telephony world (e.g., if you call a busy number, you'll receive a text when it becomes available). Whatever the action is when the callee is busy, everyone expect some form of call treatment in such scenario. The purpose is clear at both ends of the wire:</span><br />
<ul>
<li><span style="background-color: white; color: #444444; font-family: "arimo"; font-size: 14px; line-height: 19.6px;"><span style="line-height: 19.6px;">The caller wants evidence that their called party is engaged in another conversation;</span></span></li>
<li><span style="background-color: white; color: #444444; font-family: "arimo"; font-size: 14px; line-height: 19.6px;"><span style="line-height: 19.6px;">The callee wants evidence that someone tried to call them whilst in another conversation, and possibly be able to apply some form of second treatment to it.</span></span></li>
</ul>
<span style="background-color: white;"><span style="color: #444444; font-family: "arimo";"><span style="font-size: 14px; line-height: 19.6px;">Whilst Microsoft Lync and then Skype for Business have now established as a real time communications platform with rich features in the PSTN world (I am purposely avoiding the overused and misleading <i>PBX replacement</i> cliché), Busy Options were never part of it until the </span></span></span><span style="background-color: white; color: #444444; font-family: "arimo"; font-size: 14px; line-height: 19.6px;"><a href="https://support.microsoft.com/en-gb/kb/3115268" target="_blank">Skype for Business July 2016 Cumulative Update</a>. Before then, it was only achievable through MSPL scripting or third party solutions.</span><br />
<span style="background-color: white; color: #444444; font-family: "arimo"; font-size: 14px; line-height: 19.6px;"><br /></span>
<span style="background-color: white;"><span style="color: #444444; font-family: "arimo";"><span style="font-size: 14px; line-height: 19.6px;">The reason why it took so long before the feature was implemented is unknown, but one thing worth saying: it must have been not a trivial at all feature to implement, due to the complexities for the relevant algorithm to determine whether the user is actually busy or not before applying one of the two available "treatments":</span></span></span><br />
<ul>
<li><span style="background-color: white; color: #444444; font-family: "arimo"; font-size: 14px; line-height: 19.6px;">bouncing back the busy tone (option 1: </span><i style="background-color: white; color: #444444; font-family: arimo; font-size: 14px; line-height: 19.6px;">Busy on Busy</i><span style="background-color: white; color: #444444; font-family: "arimo"; font-size: 14px; line-height: 19.6px;">);</span></li>
<li><span style="background-color: white; color: #444444; font-family: "arimo"; font-size: 14px; line-height: 19.6px;">send the call straight to voicemail (option 2: </span><i style="background-color: white; color: #444444; font-family: arimo; font-size: 14px; line-height: 19.6px;">Voicemail on Busy</i><span style="background-color: white; color: #444444; font-family: "arimo"; font-size: 14px; line-height: 19.6px;">).</span></li>
</ul>
<ul>
</ul>
<span style="background-color: white; color: #444444; font-family: "arimo"; font-size: 14px; line-height: 19.6px;">Consider the following:</span><br />
<ul>
<li><span style="background-color: white; color: #444444; font-family: "arimo"; font-size: 14px; line-height: 19.6px;">The multi-endpoint nature of the product: multiple sessions of multiple types may be active on different endpoints at any time;</span></li>
<li><span style="background-color: white; color: #444444; font-family: "arimo"; font-size: 14px; line-height: 19.6px;">Multiple states of presence: does the presence state impact the availability of a user? If so, how?</span></li>
<li><span style="background-color: white; color: #444444; font-family: "arimo"; font-size: 14px; line-height: 19.6px;">The many communications modalities</span><span style="background-color: white; color: #444444; font-family: "arimo"; font-size: 14px; line-height: 19.6px;"> (IM, audio, P2P, conference, PSTN)</span></li>
<li><span style="background-color: white; color: #444444; font-family: "arimo"; font-size: 14px; line-height: 19.6px;">The many advanced telephony features like Shared Line, Response Groups, Team Calling, Delegation: how to handle?</span></li>
</ul>
<span style="background-color: white; color: #444444; font-family: "arimo"; font-size: 14px; line-height: 19.6px;">At the time of writing, I was unable to identify any low-level documentation around the Busy Options, so, in an attempt to try to find out more about how it works under-the-hood, I have leveraged the informational messages of a verbose trace with the specific (and new) scenario and here are my findings.</span><br />
<span style="background-color: white; color: #444444; font-family: "arimo"; font-size: 14px; line-height: 19.6px;"><br /></span>
<br />
<h2>
<span style="background-color: white; color: #444444; font-family: "arimo"; font-size: 14px; line-height: 19.6px;">Pre-requirements</span></h2>
<div>
The analysis you're about to view is based on a log trace with the <i>Centralized Logging Service</i> using the specific <i>Busy Options Scenario. </i><span style="background-color: white; color: #444444; font-family: "arimo"; font-size: 14px; line-height: 19.6px;">I recall, the Busy Options are included in the July 2016 CU; the implementation involves several tasks as described in <a href="https://technet.microsoft.com/en-us/library/mt750458.aspx" target="_blank">this TechNet article</a> and consist of:</span></div>
<div>
<ol>
<li><span style="background-color: white; color: #444444; font-family: "arimo"; font-size: 14px; line-height: 19.6px;">Download and install the CU</span></li>
<li><span style="background-color: white; color: #444444; font-family: "arimo"; font-size: 14px; line-height: 19.6px;">Enable Busy Options on the relevant Voice Policies (e.g. to enable globally: </span><span style="font-size: 13px; line-height: 17.55px;"><span style="font-family: "courier new" , "courier" , monospace;">Set-CsVoicePolicy -EnableBusyOptions $true</span></span><span style="font-family: "consolas" , "courier" , monospace; font-size: 13px; line-height: 17.55px;">)</span></li>
<li><span style="background-color: white; color: #444444; font-family: "arimo"; font-size: 14px; line-height: 19.6px;">Install the Busy Options application: CU installation </span><u style="color: #444444; font-family: arimo; font-size: 14px; line-height: 19.6px;">will not</u><span style="background-color: white; color: #444444; font-family: "arimo"; font-size: 14px; line-height: 19.6px;"> automatically take care of this step</span></li>
<li><span style="color: #444444; font-size: 14px; line-height: 19.6px;"><span style="font-family: "arimo";"><span style="background-color: white;">Enable Busy Option for the users. As said, there are two options here:</span><span style="background-color: white;"><br /></span></span></span><span style="color: #444444; font-size: 14px; line-height: 19.6px;"><span style="font-family: "arimo";"><span style="background-color: white;"><br /></span></span><span style="font-family: "courier new" , "courier" , monospace;">Set-CsBusyOptions -Identity sip:han.solo@giombini.lab -ActionType BusyOnBusy</span></span><span style="color: #444444; font-size: 14px; line-height: 19.6px;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span><span style="font-family: "arimo";">Will enable the user with the </span></span><i style="color: #444444; font-family: arimo; font-size: 14px; line-height: 19.6px;">Busy on Busy </i><span style="color: #444444; font-size: 14px; line-height: 19.6px;"><span style="font-family: "arimo";">option.</span></span><span style="color: #444444; font-size: 14px; line-height: 19.6px;"><span style="font-family: "arimo";"><br /></span><span style="font-family: "courier new" , "courier" , monospace;">Set-CsBusyOptions -Identity sip:luke.skywalker@giombini.lab -ActionType VoicemailOnBusy</span></span><span style="color: #444444; font-size: 14px; line-height: 19.6px;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span><span style="font-family: "arimo";">Will enable the user with the </span></span><i style="color: #444444; font-family: arimo; font-size: 14px; line-height: 19.6px;">Voicemail on Busy</i><span style="color: #444444; font-family: "arimo"; font-size: 14px; line-height: 19.6px;"> option.</span></li>
<li><span style="color: #444444; font-family: "arimo"; font-size: 14px; line-height: 19.6px;">Create the specific </span><i style="color: #444444; font-family: arimo; font-size: 14px; line-height: 19.6px;">BusyOptions </i><span style="color: #444444; font-family: "arimo"; font-size: 14px; line-height: 19.6px;">scenario in the Centralized Logging Service. Like step 3, CU installation </span><u style="color: #444444; font-family: arimo; font-size: 14px; line-height: 19.6px;">will not</u><span style="color: #444444; font-family: "arimo"; font-size: 14px; line-height: 19.6px;"> automatically take care of this step.</span></li>
</ol>
</div>
<div>
<br />
<br />
<h2>
<span style="background-color: white; color: #444444; font-family: "arimo"; font-size: 14px; line-height: 19.6px;">The analysis</span></h2>
<div>
<span style="background-color: white; color: #444444; font-family: "arimo"; font-size: 14px; line-height: 19.6px;"><br /></span></div>
<div>
<span style="background-color: white; color: #444444; font-family: "arimo"; font-size: 14px; line-height: 19.6px;">This is the commented log of the audio session. I have stripped out a few lines and highlighted the key sections for better readability:</span></div>
<span style="background-color: white; color: #444444; font-family: "arimo"; font-size: 14px; line-height: 19.6px;"><br /></span>
<span style="color: #444444; font-family: "arimo";"><span style="font-size: 14px; line-height: 19.6px;">BoB begins processing a new SIP invite containing audio:</span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="font-size: 14px; line-height: 19.6px;"><br /></span></span>
<span style="color: #444444; font-family: "arimo";"><span style="font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;">TL_INFO(TF_COMPONENT) [fe01\fe01]176C.4B20::08/24/2016-20:00:17.263.00026C87 (BusyOptions,BusyOnBusy.OnSipAudioInvite:busyonbusy.cs(359)) (000000000054029F)"<span style="background-color: yellow;">Received a sip audio invite</span> for call id [d6ae161097d3473f832ad2e618555843]</span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;"> To Header: [<sip:fe01.giombini.lab@giombini.lab;gruu;opaque=srvr:Microsoft.Rtc.Applications.TestBot:JAYVi887GVW5E593qO_7VAAA>]</span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;"> From Header: [<sip:administrator@giombini.lab>]</span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;"> RequestUri: [sip:fe01.giombini.lab@giombini.lab;gruu;opaque=srvr:Microsoft.Rtc.Applications.TestBot:JAYVi887GVW5E593qO_7VAAA]</span></span><br />
<span class="Apple-tab-span" style="font-size: 14px; line-height: 19.6px; white-space: pre;"><span style="color: #444444; font-family: "arimo";"> </span></span><br />
<span class="Apple-tab-span" style="font-size: 14px; line-height: 19.6px; white-space: pre;"><span style="color: #444444; font-family: "arimo";"> </span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="font-size: 14px; line-height: 19.6px;">BoB checks if Busy Options are enabled and the output is TRUE:</span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="font-size: 14px; line-height: 19.6px;"><br /></span></span>
<span style="color: #444444; font-family: "arimo";"><span style="font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;">TL_VERBOSE(TF_STACKTRACE) [fe01\fe01]176C.4B20::08/24/2016-20:00:17.276.00026C8C (BusyOptions,PolicyReaderWrapper.ReadPolicy:policyreaderwrapper.cs(48)) (00000000014C5876)[Exit] Returning new BobVoicePolicy with policyName: [TenantId={00000000-0000-0000-0000-000000000000};0=1318020581;], vPolicy.<span style="background-color: yellow;">EnableBusyOptions: [True]</span></span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;"><span style="background-color: yellow;"><br /></span></span></span>
<span style="color: #444444; font-family: "arimo";"><span style="font-size: 14px; line-height: 19.6px;"><br /></span></span>
<span style="color: #444444; font-family: "arimo";"><span style="font-size: 14px; line-height: 19.6px;">BoB checks if there is at least one voice policy enabled for Busy Options and the output is TRUE:</span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="font-size: 14px; line-height: 19.6px;"><br /></span></span>
<span style="color: #444444; font-family: "arimo";"><span style="font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;">TL_VERBOSE(TF_STACKTRACE) [fe01\fe01]176C.4B20::08/24/2016-20:00:17.277.00026C8D (BusyOptions,UserAttributeReader.ReadVoicePolicy:userattributereader.cs(155)) (000000000066037E)[Exit] Returninv voicePolicy with voicePolicy.PolicyName: [TenantId={00000000-0000-0000-0000-000000000000};0=1318020581;], <span style="background-color: yellow;">voicePolicy.BobEnabled: [True]</span></span></span><br />
<br />
<span style="color: #444444; font-family: "arimo";"><span style="font-size: 14px; line-height: 19.6px;"><br /></span></span>
<span style="color: #444444; font-family: "arimo";"><span style="font-size: 14px; line-height: 19.6px;">BoB performs further checks on the voice policy assigned to the user and checks if Busy Options are enabled for the callee. In my case, the user had the global voice policy which had Busy Options enabled:</span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="font-size: 14px; line-height: 19.6px;"><br /></span></span>
<span style="color: #444444; font-family: "arimo";"><span style="font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;">TL_VERBOSE(TF_STACKTRACE) [fe01\fe01]176C.4B20::08/24/2016-20:00:17.290.00026C9A (BusyOptions,PolicyReaderWrapper.ReadPolicy:policyreaderwrapper.cs(48)) (00000000014C5876)[Exit] Returning new BobVoicePolicy with <span style="background-color: yellow;">policyName: [Global]</span>, vPolicy.EnableBusyOptions: [True]</span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;">TL_VERBOSE(TF_STACKTRACE) [fe01\fe01]176C.4B20::08/24/2016-20:00:17.290.00026C9B (BusyOptions,UserAttributeReader.ReadVoicePolicy:userattributereader.cs(155)) (000000000066037E)[Exit] Returninv voicePolicy with <span style="background-color: yellow;">voicePolicy.PolicyName: [Global], voicePolicy.BobEnabled: [True]</span></span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;">TL_VERBOSE(TF_COMPONENT) [fe01\fe01]176C.4B20::08/24/2016-20:00:17.290.00026C9C (BusyOptions,UserAttributeReader.GetUserAttributes:userattributereader.cs(111)) (000000000066037E)<span style="background-color: yellow;">User voice policy enabled: [True]</span></span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;"><span style="background-color: yellow;"><br /></span></span></span>
<span style="color: #444444; font-family: "arimo";"><span style="font-size: 14px; line-height: 19.6px;"><br /></span></span>
<span style="color: #444444; font-family: "arimo";"><span style="font-size: 14px; line-height: 19.6px;">BoB checks on the user details, at this point you should have noticed the Busy Option is DISABLED for the callee (and the caller), however, BoB carries on with further checks:</span></span><br />
<span style="background-color: white; color: #444444; font-family: "arimo";"><span style="font-size: 14px; line-height: 19.6px;"><br /></span></span>
<span style="color: #444444; font-family: "arimo";"><span style="font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;"><span style="background-color: white;">TL_VERBOSE(TF_STACKTRACE) [fe01\fe01]176C.4B20::08/24/2016-20:00:17.290.00026C9F (BusyOptions,UserAttributeReader.GetUserAttributes:userattributereader.cs(126)) (000000000066037E)[Exit] </span><span style="background-color: yellow;">Returning userDetails with userDetails.BusyOption: [Disabled]</span><span style="background-color: white;">, userDetails.ClientFlags [NULL]</span></span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="background-color: yellow; font-size: 14px; line-height: 19.6px;"><br /></span></span>
<span style="color: #444444; font-family: "arimo";"><span style="font-size: 14px; line-height: 19.6px;"><br /></span></span>
<span style="color: #444444; font-family: "arimo";"><span style="font-size: 14px; line-height: 19.6px;">BoB checks if it's a Team Call. The results is FALSE for all checks, confirming this is not a Team Call:</span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="font-size: 14px; line-height: 19.6px;"><br /></span></span>
<span style="color: #444444; font-family: "arimo";"><span style="font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;">TL_VERBOSE(TF_STACKTRACE) [fe01\fe01]176C.4B20::08/24/2016-20:00:17.292.00026CA5 (BusyOptions,CallInfo.GetIsTeamCall:callinfo.cs(145)) (0000000000AA9FBC)[Enter] <span style="background-color: yellow;">Querying history info header and callee clientflags to determine whether it is a team call.</span></span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;">TL_VERBOSE(TF_STACKTRACE) [fe01\fe01]176C.4B20::08/24/2016-20:00:17.292.00026CA8 (BusyOptions,CallInfo.GetIsTeamCall:callinfo.cs(153)) (0000000000AA9FBC)"[Exit]</span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="background-color: yellow; font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;">historyInfoContainsTeamCallRetargetReason: [False]</span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="background-color: yellow; font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;">clientFlagsContainsTeamRing: [False]</span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="background-color: yellow; font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;">Return value: [False]</span></span><br />
<span class="Apple-tab-span" style="font-size: 14px; line-height: 19.6px; white-space: pre;"><span style="color: #444444; font-family: "arimo";"> </span></span><br />
<span class="Apple-tab-span" style="font-size: 14px; line-height: 19.6px; white-space: pre;"><span style="color: #444444; font-family: "arimo";"><br /></span></span>
<span style="color: #444444; font-family: "arimo";"><span style="font-size: 14px; line-height: 19.6px;">BoB checks if it's a Response Group call. The result is FALSE for all checks, confirming this is not RGS-related:</span></span><br />
<span class="Apple-tab-span" style="font-size: 14px; line-height: 19.6px; white-space: pre;"><span style="color: #444444; font-family: "arimo";"> </span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;">TL_VERBOSE(TF_STACKTRACE) [fe01\fe01]176C.4B20::08/24/2016-20:00:17.292.00026CA9 (BusyOptions,CallInfo.GetIsRgsCall:callinfo.cs(286)) (0000000000AA9FBC)[Enter] <span style="background-color: yellow;">Querying History-Info and MS-Application-Aor headers to determine if this is an RGS related call.</span></span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;">TL_VERBOSE(TF_STACKTRACE) [fe01\fe01]176C.4B20::08/24/2016-20:00:17.292.00026CAA (BusyOptions,CallInfo.GetIsRgsCallFromHistoryInfo:callinfo.cs(309)) (0000000000AA9FBC)[Enter] Querying History-Info header to determine if this is an RGS related call.</span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;">TL_VERBOSE(TF_STACKTRACE) [fe01\fe01]176C.4B20::08/24/2016-20:00:17.292.00026CAE (BusyOptions,CallInfo.GetIsRgsCall:callinfo.cs(292)) (0000000000AA9FBC)"[Exit]</span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="background-color: yellow; font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;">isRgsCallFromHistoryInfo: [False]</span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="background-color: yellow; font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;">getIsRgsCallFromMsApplicationAor: [False]</span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="background-color: yellow; font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;">Return value: [False]</span></span><br />
<span class="Apple-tab-span" style="font-size: 14px; line-height: 19.6px; white-space: pre;"><span style="color: #444444; font-family: "arimo";"> </span></span><br />
<span class="Apple-tab-span" style="font-size: 14px; line-height: 19.6px; white-space: pre;"><span style="color: #444444; font-family: "arimo";"><br /></span></span>
<span style="color: #444444; font-family: "arimo";"><span style="font-size: 14px; line-height: 19.6px;">Bob checks if it's a parked call, or a delegate call. The result is FALSE for all checks:<span class="Apple-tab-span" style="white-space: pre;"> </span></span></span><br />
<span class="Apple-tab-span" style="font-size: 14px; line-height: 19.6px; white-space: pre;"><span style="color: #444444; font-family: "arimo";"> </span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;">TL_VERBOSE(TF_STACKTRACE) [fe01\fe01]176C.4B20::08/24/2016-20:00:17.292.00026CAF (BusyOptions,CallInfo.GetIsCpsCall:callinfo.cs(380)) (0000000000AA9FBC)[Enter] <span style="background-color: yellow;">Querying the Contact header for the [isCps] parameter to determine if this is a CPS call</span>.</span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;">TL_VERBOSE(TF_STACKTRACE) [fe01\fe01]176C.4B20::08/24/2016-20:00:17.292.00026CB0 (BusyOptions,CallInfo.GetIsCpsCall:callinfo.cs(397)) (0000000000AA9FBC)[Exit] Contact header does not contain the [isCps] parameter, returning false.</span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;">TL_VERBOSE(TF_STACKTRACE) [fe01\fe01]176C.4B20::08/24/2016-20:00:17.292.00026CB1 (BusyOptions,CallInfo.GetIsReferredByHeaderPresent:callinfo.cs(263)) (0000000000AA9FBC)[Enter] Checking if the Referred-By header is present.</span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;">TL_VERBOSE(TF_STACKTRACE) [fe01\fe01]176C.4B20::08/24/2016-20:00:17.292.00026CB2 (BusyOptions,CallInfo.GetIsReferredByHeaderPresent:callinfo.cs(270)) (0000000000AA9FBC)[Exit] Referred-By header is not present, returning false.</span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;">TL_VERBOSE(TF_STACKTRACE) [fe01\fe01]176C.4B20::08/24/2016-20:00:17.292.00026CB3 (BusyOptions,CallInfo.GetIsDelegateCall:callinfo.cs(412)) (0000000000AA9FBC)[Enter] <span style="background-color: yellow;">Check clientflags to determine whether this is a Delegate related call.</span></span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;">TL_VERBOSE(TF_COMPONENT) [fe01\fe01]176C.4B20::08/24/2016-20:00:17.292.00026CB4 (BusyOptions,CallInfo.GetIsDelegateCall:callinfo.cs(428)) (0000000000AA9FBC)"</span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="background-color: yellow; font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;">clientFlagsContainsForwardAudioAppInvites: [False]</span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="background-color: yellow; font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;">clientFlagsContainsDelegateRing: [False]</span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="background-color: yellow; font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;">result: [False]</span></span><br />
<span class="Apple-tab-span" style="font-size: 14px; line-height: 19.6px; white-space: pre;"><span style="color: #444444; font-family: "arimo";"> </span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="font-size: 14px; line-height: 19.6px;"><br /></span></span>
<span style="color: #444444; font-family: "arimo";"><span style="font-size: 14px; line-height: 19.6px;">BoB checks if it's a conference call:</span></span><br />
<span class="Apple-tab-span" style="font-size: 14px; line-height: 19.6px; white-space: pre;"><span style="color: #444444; font-family: "arimo";"> </span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;">TL_VERBOSE(TF_STACKTRACE) [fe01\fe01]176C.4B20::08/24/2016-20:00:17.292.00026CB6 (BusyOptions,CallInfo.GetIsConferenceInvite:callinfo.cs(201)) (0000000000AA9FBC)[Enter] <span style="background-color: yellow;">Querying TO header to determine if this is a conference invite.</span></span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;">TL_VERBOSE(TF_STACKTRACE) [fe01\fe01]176C.4B20::08/24/2016-20:00:17.292.00026CB8 (BusyOptions,CallInfo.GetIsConferenceInvite:callinfo.cs(216)) (0000000000AA9FBC)[Exit] <span style="background-color: yellow;">Request is not a conference invite, returning false.</span></span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="font-size: 14px; line-height: 19.6px;"><br /></span></span>
<span style="color: #444444; font-family: "arimo";"><span style="font-size: 14px; line-height: 19.6px;"><br /></span></span>
<span style="color: #444444; font-family: "arimo";"><span style="font-size: 14px; line-height: 19.6px;">BoB checks if call forwarding or simultaneous ring is enabled:</span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="font-size: 14px; line-height: 19.6px;"><br /></span></span>
<span style="color: #444444; font-family: "arimo";"><span style="font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;">TL_VERBOSE(TF_STACKTRACE) [fe01\fe01]176C.4B20::08/24/2016-20:00:17.292.00026CB9 (BusyOptions,CallInfo.GetIsCallForwardingEnabled:callinfo.cs(482)) (0000000000AA9FBC)[Enter] <span style="background-color: yellow;">Check clientflags to determine whether call forwarding is enabled.</span></span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;">TL_VERBOSE(TF_STACKTRACE) [fe01\fe01]176C.4B20::08/24/2016-20:00:17.292.00026CBA (BusyOptions,CallInfo.GetIsCallForwardingEnabled:callinfo.cs(487)) (0000000000AA9FBC)[Exit] <span style="background-color: yellow;">Returning clientFlagsContainsForwardImmediate: [False]</span></span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;">TL_VERBOSE(TF_STACKTRACE) [fe01\fe01]176C.4B20::08/24/2016-20:00:17.292.00026CBB (BusyOptions,CallInfo.GetIsSimultaneousRingEnabled:callinfo.cs(500)) (0000000000AA9FBC)[Enter] <span style="background-color: yellow;">Check clientflags to determine whether simultaneous ring is enabled.</span></span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;">TL_VERBOSE(TF_STACKTRACE) [fe01\fe01]176C.4B20::08/24/2016-20:00:17.292.00026CBC (BusyOptions,CallInfo.GetIsSimultaneousRingEnabled:callinfo.cs(505)) (0000000000AA9FBC)[Exit] <span style="background-color: yellow;">Returning clientFlagsContainsSimultaneousRing: [False]</span></span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="font-size: 14px; line-height: 19.6px;"><br /></span></span>
<span style="color: #444444; font-family: "arimo";"><span style="font-size: 14px; line-height: 19.6px;"><br /></span></span>
<span style="color: #444444; font-family: "arimo";"><span style="font-size: 14px; line-height: 19.6px;">BoB checks if this is a re-invite. If you'd like to know more about re-invites, what are these and when/why they are issued then <a href="http://blog.greenl.ee/2013/10/03/identifying-re-invites/" target="_blank">check this blog</a>:</span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="font-size: 14px; line-height: 19.6px;"><br /></span></span>
<span style="color: #444444; font-family: "arimo";"><span style="font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;">TL_VERBOSE(TF_STACKTRACE) [fe01\fe01]176C.4B20::08/24/2016-20:00:17.292.00026CBD (BusyOptions,CallInfo.GetIsReInvite:callinfo.cs(226)) (0000000000AA9FBC)[Enter] <span style="background-color: yellow;">Querying TO header to determine if this is a re-invite.</span></span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;">TL_VERBOSE(TF_STACKTRACE) [fe01\fe01]176C.4B20::08/24/2016-20:00:17.292.00026CBE (BusyOptions,CallInfo.GetIsReInvite:callinfo.cs(248)) (0000000000AA9FBC)[Exit] <span style="background-color: yellow;">TO header does not contain parameter [tag], returning false.</span></span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="font-size: 14px; line-height: 19.6px;"><br /></span></span>
<span style="color: #444444; font-family: "arimo";"><span style="font-size: 14px; line-height: 19.6px;"><br /></span></span>
<span style="color: #444444; font-family: "arimo";"><span style="font-size: 14px; line-height: 19.6px;">BoB checks if the call should be prioritized, based on the specific type, as we've seen, this is just a normal inbound call to a "vanilla" user who is not in any of the scenarios above:</span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="font-size: 14px; line-height: 19.6px;"><br /></span></span>
<span style="color: #444444; font-family: "arimo";"><span style="font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;">TL_VERBOSE(TF_COMPONENT) [fe01\fe01]176C.4B20::08/24/2016-20:00:17.296.00026CC8 (BusyOptions,CallInfo.ShouldPrioritizeCall:callinfo.cs(104)) (0000000000AA9FBC)<span style="background-color: yellow;">Querying history info header and callee routing preamble to determine whether should prioritize call.</span></span></span><br />
<span style="color: #444444; font-size: 14px; line-height: 19.6px;"><span style="font-family: "courier new" , "courier" , monospace;">TL_VERBOSE(TF_COMPONENT) [fe01\fe01]176C.4B20::08/24/2016-20:00:17.297.00026CC9 (BusyOptions,CallInfo.ShouldPrioritizeCall:callinfo.cs(121)) (0000000000AA9FBC)"</span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;"> IsTeamCall: [False]</span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;"> IsRgsCall: [False]</span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;"> IsCpsCall: [False]</span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;"> IsReferredByHeaderPresent: [False]</span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;"> IsDelegateCall: [False]</span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;">TL_VERBOSE(TF_COMPONENT) [fe01\fe01]176C.4B20::08/24/2016-20:00:17.299.00026CCA (BusyOptions,CallInfo.ShouldPrioritizeCall:callinfo.cs(130)) (0000000000AA9FBC)"</span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;"> IsConferenceInvite: [False]</span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;"> IsCallForwardingEnabled: [False]</span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;"> IsSimultaneousRingEnabled: [False]</span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;"> OverridePrioritizeCallValue:[False]</span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;">TL_INFO(TF_COMPONENT) [fe01\fe01]176C.4B20::08/24/2016-20:00:17.299.00026CCB (BusyOptions,CallInfo.ShouldPrioritizeCall:callinfo.cs(138)) (0000000000AA9FBC)<span style="background-color: yellow;">Return value: [False]</span></span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;"><span style="background-color: yellow;"><br /></span></span></span>
<span style="color: #444444; font-family: "arimo";"><span style="font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;"><span style="background-color: yellow;"><br /></span></span></span>
<span style="color: #444444; font-family: "arimo"; font-size: 14px; line-height: 19.6px;">Next few lines in the log seem to be a summary of the findings so far:</span><br />
<span style="color: #444444; font-family: "arimo";"><span style="font-size: 14px; line-height: 19.6px;"><br /></span></span>
<span style="color: #444444; font-family: "arimo";"><span style="font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;">TL_VERBOSE(TF_COMPONENT) [fe01\fe01]176C.4B20::08/24/2016-20:00:17.299.00026CCC (BusyOptions,BobManager.ProcessInviteMessage:bobmanager.cs(158)) (0000000001EC2612)"</span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;"> fromSipAddress: [sip:administrator@giombini.lab]</span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;"> toSipAddress: [sip:fe01.giombini.lab@giombini.lab]</span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="background-color: yellow; font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;"> fromUserBusyOption: [Disabled]</span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="background-color: yellow; font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;"> toUserBusyOption: [Disabled]</span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;">TL_VERBOSE(TF_COMPONENT) [fe01\fe01]176C.4B20::08/24/2016-20:00:17.299.00026CCD (BusyOptions,BobManager.ProcessInviteMessage:bobmanager.cs(166)) (0000000001EC2612)"</span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="background-color: yellow; font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;"> replacesCallId: [NULL]</span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="background-color: yellow; font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;"> isConferenceInvite: [False]</span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="background-color: yellow; font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;"> isPrioritizedCall: [False]</span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="background-color: yellow; font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;"> isReInvite: [False]</span></span><br />
<span class="Apple-tab-span" style="font-size: 14px; line-height: 19.6px; white-space: pre;"><span style="color: #444444; font-family: "arimo";"> </span></span><br />
<br />
<span style="color: #444444; font-family: "arimo"; font-size: 14px; line-height: 19.6px;">Finally, like we already saw, both caller and calle's do not have busy options enabled, therefore the call is passed through without further processing:</span><br />
<span style="color: #444444; font-family: "arimo"; font-size: 14px; line-height: 19.6px;"><br /></span>
<span style="color: #444444; font-family: "arimo";"><span style="font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;">TL_INFO(TF_STACKTRACE) [fe01\fe01]176C.4B20::08/24/2016-20:00:17.299.00026CCE (BusyOptions,BobManager.ProcessInviteMessage:bobmanager.cs(180)) (0000000001EC2612)[Exit] <span style="background-color: yellow;">Busy Options not enabled for both caller [sip:administrator@giombini.lab] and callee [sip:fe01.giombini.lab@giombini.lab]. Passing through the call.</span></span></span><br />
<span style="color: #444444; font-size: 14px; line-height: 19.6px;"><span style="font-family: "courier new" , "courier" , monospace;">(BusyOptions,DefaultProcessor.Run:defaultprocessor.cs(32)) (0000000001F12850)<span style="background-color: yellow;">Passing request through.</span></span></span><br />
<span style="color: #444444; font-size: 14px; line-height: 19.6px;"><span style="font-family: "courier new" , "courier" , monospace;">(BusyOptions,BusyOnBusy.ProcessInviteMessage:busyonbusy.cs(487)) (000000000054029F)[Exit]</span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="font-family: "courier new" , "courier" , monospace; font-size: 14px; line-height: 19.6px;">TL_VERBOSE(TF_STACKTRACE) [fe01\fe01]176C.4B20::08/24/2016-20:00:17.301.00026CD8 (BusyOptions,BusyOnBusy.OnSipAudioInvite:busyonbusy.cs(473)) (000000000054029F)<span style="background-color: yellow;">[Exit]</span></span></span><br />
<br /></div>
<h2>
<span style="background-color: white; color: #444444; font-family: "arimo"; font-size: 14px; line-height: 19.6px;">Takeaways</span></h2>
<div>
<span style="background-color: white; color: #444444; font-family: "arimo"; font-size: 14px; line-height: 19.6px;">The main takeaway from this brief analysis is understanding what type of interoperability you should expect from the Busy Options in various voice applications.</span><span style="background-color: white; color: #444444; font-family: "arimo"; font-size: 14px; line-height: 19.6px;"> Busy Options will apply to calls make to you as an individual user. It will not apply in case of:</span><br />
<span style="background-color: white; color: #444444; font-family: "arimo"; font-size: 14px; line-height: 19.6px;"><br /></span>
<br />
<h3>
<span style="color: #444444; font-family: "arimo"; font-size: 14px; line-height: 19.6px;">Response Groups (RGS)</span></h3>
<br />
<ul>
<li><span style="color: #444444; font-family: "arimo"; font-size: 14px; line-height: 19.6px;">Busy Options set on Response Group numbers will be ignored by the system; multiple concurrent calls will be allowed.</span></li>
<li><span style="color: #444444; font-family: "arimo"; font-size: 14px; line-height: 19.6px;">The current Attendant routing experience in Response Groups will remain unchanged for the Agents with Busy Options settings.</span></li>
<li><span style="color: #444444; font-family: "arimo"; font-size: 14px; line-height: 19.6px;">The calls coming from Response Groups to the users who are Response Groups Agents will not be throttled by Busy Options settings and the current RGS experience will be maintained.</span></li>
<li><span style="color: #444444; font-family: "arimo"; font-size: 14px; line-height: 19.6px;">The non-RGS related calls to the Agents will be honored by their Busy Options settings.</span></li>
</ul>
<br />
<h3>
<span style="color: #444444; font-family: "arimo";"><span style="font-size: 14px; line-height: 19.6px;">Team Call</span></span></h3>
<br />
<ul>
<li><span style="color: #444444; font-family: "arimo"; font-size: 14px; line-height: 19.6px;">Incoming calls to users who are set up for a Team Call will be prioritized to ignore Busy on Busy and Voicemail on Busy settings.</span></li>
<li><span style="color: #444444; font-family: "arimo"; font-size: 14px; line-height: 19.6px;">The current Team Call experience will remain unchanged with Busy Options set for the users.</span></li>
<li><span style="color: #444444; font-family: "arimo"; font-size: 14px; line-height: 19.6px;">The non-Team Call related calls to such users will be honored by their Busy Options settings.</span></li>
</ul>
<br />
<h3>
<span style="color: #444444; font-family: "arimo";"><span style="font-size: 14px; line-height: 19.6px;">Boss/Admin Delegation</span></span></h3>
<br />
<ul>
<li><span style="color: #444444; font-family: "arimo"; font-size: 14px; line-height: 19.6px;">Incoming calls to users who are set up for a Boss/Admin Delegation either as Boss or an Admin will be prioritized to ignore Busy on Busy and Voicemail on Busy settings.</span></li>
<li><span style="color: #444444; font-family: "arimo"; font-size: 14px; line-height: 19.6px;">The current Boss/Admin Delegation experience will remain unchanged with Busy Options set for the Admins or Boss.</span></li>
<li><span style="color: #444444; font-family: "arimo"; font-size: 14px; line-height: 19.6px;">The non-Boss/Admin Delegation related calls to Admins will be honored by their Busy Options settings.</span></li>
</ul>
<h3>
<span style="color: #444444; font-family: "arimo"; font-size: 14px; line-height: 19.6px;">Shared Line Appearance (SLA)</span></h3>
<br />
<br />
<ul>
<li><span style="color: #444444; font-family: "arimo"; font-size: 14px; line-height: 19.6px;">Busy Options settings on user accounts set up for Shared Line Appearance will be ignored.</span></li>
<li><span style="color: #444444; font-family: "arimo"; font-size: 14px; line-height: 19.6px;">Shared Line Appearance’s native Busy on Busy and Voicemail on Busy options will be honored instead.</span></li>
</ul>
<br />
<h3>
<span style="color: #444444; font-family: "arimo";"><span style="font-size: 14px; line-height: 19.6px;">Call Parking Service (CPS)</span></span></h3>
<br />
<ul>
<li><span style="color: #444444; font-family: "arimo"; font-size: 14px; line-height: 19.6px;">Parked calls that were not retrieved and are ringing back due to timing out will be allowed to ring though to the user who parked the call by the Busy Options.</span></li>
</ul>
<br />
<h3>
<span style="color: #444444; font-family: "arimo";"><span style="font-size: 14px; line-height: 19.6px;">Call Conferencing</span></span></h3>
<br />
<ul>
<li><span style="color: #444444; font-family: "arimo"; font-size: 14px; line-height: 19.6px;">Users in conference calls are considered Busy and new incoming calls will be rejected with a busy signal or forwarded to voice mail according to their Busy Options settings.</span></li>
<li><span style="color: #444444; font-family: "arimo"; font-size: 14px; line-height: 19.6px;">Users in conferences are not prevented from initiating new calls or conferences by Busy Options.</span></li>
<li><span style="color: #444444; font-family: "arimo"; font-size: 14px; line-height: 19.6px;">Users in conferences are still able to receive new conference invitations, but new peer-to-peer calls will be rejected according to their Busy Options settings.</span></li>
</ul>
<br />
<span style="font-size: 14px; line-height: 19.6px;"><span style="background-color: white; color: #444444; font-family: "arimo";"></span></span><br />
<span style="background-color: white; color: #444444; font-family: "arimo"; font-size: 14px; line-height: 19.6px;"><br /></span></div>
<div>
<span style="color: #444444; font-family: "arimo";"><span style="font-size: 14px; line-height: 19.6px;">Busy Options work irrespective of the client or device the user logs on to (unlike SLA which only works on VVX phones). Additionally, if you are logged on to multiple devices and are engaged in a call on one, this will be taken into account and the second call will be rejected.</span></span><br />
<span style="color: #444444; font-family: "arimo";"><span style="font-size: 14px; line-height: 19.6px;">If you get a call while busy and it is rejected, you will get a missed call notification. Callers will see a notification that you are busy on another call.</span></span><br />
<br />
<span style="color: #444444; font-family: "arimo";"><span style="font-size: 14px; line-height: 19.6px;">In the second part of the article, I will analyze what happens when users are enabled for Busy Options.</span></span><br />
<br />
Thanks for reading.</div>
<span style="background-color: white; color: #444444; font-family: "arimo"; font-size: 14px; line-height: 19.6px;"><br /></span>
<span style="background-color: white; color: #444444; font-family: "arimo"; font-size: 14px; line-height: 19.6px;"><br /></span>Anonymoushttp://www.blogger.com/profile/13940988572890147155noreply@blogger.com0Crowthorne, UK51.366901000000013 -0.7953529999999773351.327252000000016 -0.87603399999997733 51.40655000000001 -0.71467199999997733tag:blogger.com,1999:blog-7456843666421802436.post-34475039693573869362016-08-24T17:38:00.004+01:002016-08-25T10:23:30.090+01:00Skype for Business 2016 client only supports new v19 ICESkype for Business client was released on September 2015, and featured a number of new functionalities, as well as some discarded ones, as described <a href="https://support.office.com/en-us/article/What-s-new-in-Skype-for-Business-2016-cece9f93-add1-4d93-9a38-56cc598e5781" target="_blank">here</a>. The one I'd like to talk about is quite under-the-hood, but potentially important.<br />
<div>
<br /></div>
<div>
What you will not find in the article above (but you would have probably hoped for), is that the new client got support for the legacy (v6) ICE removed.<br />
ICE (Interactive Connectivity Establishment) is, in simple terms, a set of protocols (STUN and TURN) used to facilitate media connectivity establishment for endpoints under various restricted network scenarios (e.g. when not directly routable, behind a NAT or firewall). If you'd like to know more, please refer to <a href="https://channel9.msdn.com/Events/Lync-Conference/Lync-Conference-2014/NETW401" target="_blank">this excellent resource</a>.</div>
<div>
<br /></div>
<div>
ICE has gone though several iterations. Until OCS 2007 "R1", only ICE v6 was used. OCS 2007 R2 introduced the new and more efficient ICE v19 version, but v6 was maintained for backward compatibility until the SfB 2015 client.</div>
<div>
<br /></div>
<div>
The implications of such change lie with intercommunicating with legacy systems because OCS 2007 "R1" and Exchange 2007 UM only understand ICE v6; so, expect issues if you need to interoperate with these systems. Examples:</div>
<div>
<br /></div>
<div>
- Skype for Business 2016 client calls to Exchange 2007 UM</div>
<div>
- Skype for Business 2016 client calls Communicator 2007 "R1" client.</div>
<div>
<br /></div>
<div>
<div>
In case you are wondering, I haven't discovered anything new so I am just broadcasting. Credit goes to <a href="http://masteringlync.com/2016/03/01/where-is-my-ice-ice-baby-v6-is-gone/" target="_blank">this blog</a> and to <a href="https://books.google.co.uk/books?id=ieXFCwAAQBAJ&pg=PA468&lpg=PA468&dq=skype+for+business+2016+ice&source=bl&ots=DlbPJccB_-&sig=gMAiGjiIfhyGOKmpUBxEHgVU-mw&hl=en&sa=X&ved=0ahUKEwjJpd6QoNrOAhWlA8AKHeNlAJgQ6AEIPDAE#v=onepage&q=skype%20for%20business%202016%20ice&f=false" target="_blank">Mastering Skype for Business 2015</a> book by Keith Hanna. Both are great reads to know more about the issue. Only, despite the potential implications, this doesn't seem to have been in the headlines (or perhaps I just missed it)?</div>
</div>
<div>
<br /></div>
<div>
A trace analysis from a Skype for Business 2015 server with the latest July 2016 cumulative update reveals both v6 and v19 ICE are presented in the call negotiations (some servers are also ICE clients).</div>
Anonymoushttp://www.blogger.com/profile/13940988572890147155noreply@blogger.com1tag:blogger.com,1999:blog-7456843666421802436.post-4738932043150275462016-08-23T11:44:00.000+01:002016-08-23T14:41:04.669+01:00Skype for Business Busy on Busy: new performance countersBusy on busy (or second treatment) is a neat and long-awaited feature that was eventually added in the Skype for Business July 2016 Cumulative Update.<br />
<br />
For more info about BoB, what is it, how it works please check <a href="http://lynciverse.blogspot.co.uk/2016/06/busy-on-busy-for-skype-for-business.html" target="_blank">this blog</a> by Randy Chapman.<br />
<br />
Not surprisingly, a number of performance counters have been added to help monitoring and troubleshooting. Counter definitions can be found here:<br />
<br />
<span style="font-family: "courier new" , "courier" , monospace;">C:\Program Files\Skype for Business Server 2015\Performance Counter Cumulative Update\en-US</span><br />
<br />
Here they are:<br />
<br />
<span style="font-family: "courier new" , "courier" , monospace;">PERF_BUSYOPTIONS_BUSYOPTIONS_009_NAME=LS:BUSYOPTIONS - Busy Options</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">PERF_BUSYOPTIONS_BUSYOPTIONS_009_HELP=This object includes counters that apply the Busy Options component</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span>
<span style="font-family: "courier new" , "courier" , monospace;">PERF_BUSYOPTIONS_BUSYOPTIONS_TOTAL_CALLS_HANDLED_009_NAME=BUSYOPTIONS - Total number of calls handled by the Busy Options application</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">PERF_BUSYOPTIONS_BUSYOPTIONS_TOTAL_CALLS_HANDLED_009_HELP=Total number of calls handled by the Busy Options application.</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span>
<span style="font-family: "courier new" , "courier" , monospace;">PERF_BUSYOPTIONS_BUSYOPTIONS_TOTAL_REQUEST_FAILURES_009_NAME=BUSYOPTIONS - Total number of requests handled by the Busy Options application that failed</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">PERF_BUSYOPTIONS_BUSYOPTIONS_TOTAL_REQUEST_FAILURES_009_HELP=Total number of requests (INVITE or BYE) handled by the Busy Options application that failed.</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span>
<span style="font-family: "courier new" , "courier" , monospace;">PERF_BUSYOPTIONS_BUSYOPTIONS_TOTAL_CURRENT_CALLS_009_NAME=BUSYOPTIONS - Total number of on-going calls across all Busy Options-enabled users</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">PERF_BUSYOPTIONS_BUSYOPTIONS_TOTAL_CURRENT_CALLS_009_HELP=Total number of calls in progress for Busy Options-enabled users.</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span>
<span style="font-family: "courier new" , "courier" , monospace;">PERF_BUSYOPTIONS_BUSYOPTIONS_TOTAL_CALLS_DECLINED_WITH_BUSY_SIGNAL_009_NAME=BUSYOPTIONS - Total number calls declined with busy signal</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">PERF_BUSYOPTIONS_BUSYOPTIONS_TOTAL_CALLS_DECLINED_WITH_BUSY_SIGNAL_009_HELP=Total number calls declined with busy signal.</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span>
<span style="font-family: "courier new" , "courier" , monospace;">PERF_BUSYOPTIONS_BUSYOPTIONS_TOTAL_CALLS_SENT_TO_VOICEMAIL_009_NAME=BUSYOPTIONS - Total number of calls sent to Voicemail</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">PERF_BUSYOPTIONS_BUSYOPTIONS_TOTAL_CALLS_SENT_TO_VOICEMAIL_009_HELP=Total number of calls sent to Voicemail.</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span>
<span style="font-family: "courier new" , "courier" , monospace;">PERF_BUSYOPTIONS_BUSYOPTIONS_TOTAL_CALLS_SENT_TO_BUSY_USER_009_NAME=BUSYOPTIONS - Total number of calls sent to users while user is in a call</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">PERF_BUSYOPTIONS_BUSYOPTIONS_TOTAL_CALLS_SENT_TO_BUSY_USER_009_HELP=Total number of calls sent to busy users.</span>Anonymoushttp://www.blogger.com/profile/13940988572890147155noreply@blogger.com2tag:blogger.com,1999:blog-7456843666421802436.post-78377250953987365232015-06-17T22:51:00.000+01:002015-06-17T22:51:52.840+01:0010000!! On our way to 20000 Leagues under the sea<span style="font-family: Verdana, sans-serif;">Used to do Low Level Designs for Lync deployments using some "crap" spreadsheets and "manual" validations, Alessio challenged me to help him improve his spreadsheet using some VBA and other Excel tricks.</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">A while after that we decided to make it available online (http://bit.ly/1BjRaCQ) </span><span style="font-family: Verdana, sans-serif;">and prepare ourselves for the web criticism and hard reviews.</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">Well, it was a massive surprise that the number of downloads is still going up, it receives good reviews and amazingly it has inspired another online project. Even Microsoft @SkypeBusiness tweets the tool.</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">After 10000 downloads everything we change requires more care and planning because the responsibility is bigger every day.</span><br />
<br />
<span style="font-family: Verdana, sans-serif;">Why do I waste my time doing it? I believe on Adam Grant's book "Give and Take: Why Helping Others Drives Our Success". Givers gain more than takers.</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">No. Really no. I was not expecting that number of downloads.</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">Thank you for all the people that help us to improve it and use it.</span><br />
<span style="font-family: Verdana, sans-serif;">Thank you @AlessioGiombini for the challenge and hope that we can bring new features soon.</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">Best of luck on your #Skype4B deployments.</span>Alberto Nuneshttp://www.blogger.com/profile/17795186587874182128noreply@blogger.com0tag:blogger.com,1999:blog-7456843666421802436.post-3265699855416573062015-05-07T12:39:00.000+01:002015-05-07T12:39:36.572+01:00Simple script to check Response Groups holiday setsThis is a very simple PowerShell script to export your Lync/Skype for Business holiday sets in Response Groups.
<br />
The script will parse your pool name (assuming there is only one), and will export each holiday set as a separate .csv file in the root of your C: drive.<br />
<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">$pool = "Service:"+(Get-CsPool | Where-Object {$_.Services -match "Registrar:"}).identity</span><br />
<span style="font-family: Courier New, Courier, monospace;">$HolidaySet = Get-CsRGSHolidaySet</span><br />
<span style="font-family: Courier New, Courier, monospace;">$Name = $HolidaySet.Name</span><br />
<span style="font-family: Courier New, Courier, monospace;">cls</span><br />
<span style="font-family: Courier New, Courier, monospace;">foreach ($n in $HolidaySet)</span><br />
<span style="font-family: Courier New, Courier, monospace;"><span class="Apple-tab-span" style="white-space: pre;"> </span>{</span><br />
<span style="font-family: Courier New, Courier, monospace;"><span class="Apple-tab-span" style="white-space: pre;"> </span>Write-Host "Processing holiday set called $($n.name)" -foregroundcolor White</span><br />
<span style="font-family: Courier New, Courier, monospace;"><span class="Apple-tab-span" style="white-space: pre;"> </span>Get-CsRgsHolidaySet -Identity $pool -Name $n.name | Select-Object Identity -ExpandProperty holidaylist | Export-csv c:\$($n.name).csv</span><br />
<span style="font-family: Courier New, Courier, monospace;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</span>Anonymoushttp://www.blogger.com/profile/13940988572890147155noreply@blogger.com0tag:blogger.com,1999:blog-7456843666421802436.post-11668510610755061082015-04-30T16:07:00.002+01:002015-04-30T16:14:31.063+01:00Skype for Business and Lync 2013 DDC - Detailed Design Calculator 5.0<html>
<head>
<meta content="text/html; charset=windows-1252" http-equiv="content-type">
<title>DDC</title>
</head>
<body> <br>
<span style="font-family: Segoe UI;">Just in time for Skype For Business
server release, friend and co-author Alberto Nunes and I are very happy to
announce Skype for Business DDC - Detailed Design Calculator 5.0.</span><span
style="font-family: Segoe UI;"> It adds a lot of long-awaited features
(keep reading for details). <a target="_blank" href="http://goo.gl/jU1hZR">Please
grab it from here</a>. </span><span style="font-family: Segoe UI;"><span
style="font-family: Segoe UI;"><span style="font-weight: bold;">Please
take a moment to rate us. Thank you! :-)<br>
<br>
</span></span></span><span style="font-family: Segoe UI;"></span><span style="font-family: Segoe UI;"><strong
style="font-size: 11pt;"><span style="font-size: 18pt;"></span></strong></span><span
style="font-family: Segoe UI;"><span style="font-weight: bold;">DDC</span>
is a simple offline, Excel-based, low-level design calculator for
Microsoft Skype for Business and Lync 2013 on-premises deployments. Fill
in host names, IP addresses etc., and DDC will calculate DNS records,
certificate names, firewall rules, deployment scripts and several other
design elements to help speed-up your deployment.<br>
<span style="font-weight: bold;">DDC </span>is a continuously evolving
project and you should expect frequent updates with new features added
over time. It is and will always be free.<br>
Any bug report, requests for improvements or new features, suggestions,
criticism etc. are greatly appreciated.<br>
</span><span style="font-family: Segoe UI;"><strong><span style="font-size: 18pt;"><br>
Features</span></strong></span>
<p><span style="font-family: Segoe UI;"><strong><span style="font-size: 12pt;">New
in version 5.0.0:<br>
</span></strong></span></p>
<p><span style="font-family: Segoe UI;"> </span></p>
<ul>
<li><span style="font-family: Segoe UI;">Support for multiple SIP domains
(up to 8), each with several configurable options (strict domain
matching, SIP/XMPP federation, etc.)</span></li>
<li><span style="font-family: Segoe UI;">DNS tables reorganised for
multiple domain support (records are sorted by domain). <br>
</span></li>
<li><span style="font-family: Segoe UI;">Added the ability to
include/exclude external servers (Edge pool, Reverse Proxy) from the
deployment</span></li>
<li><span style="font-family: Segoe UI;">Added the ability to choose AD or
main SIP domain name for Pools and Web Services names (earlier DDC
versions used primary SIP domain name by default and did not allow to
change)</span></li>
<li><span style="font-family: Segoe UI;">Option to deploy 1 or 2 network
cards on dedicated Mediation servers (separated internal and PSTN IP
addresses). We have not included such option for collocated Mediation
(not recommended)</span></li>
<li><span style="font-family: Segoe UI;">Option to use separate public IP
addresses for external web-based applications (FE and Director pool
web services, Office Web Apps)</span></li>
<li><span style="font-family: Segoe UI;">Support for Office Web Apps farms
(up to 6 nodes)</span></li>
<li><span style="font-family: Segoe UI;">Additional scripts (setup
accounts for synthetic transactions)</span></li>
<li><span style=" font-family: Segoe UI;">Required empty input cells
displayed in red<br>
</span></li>
</ul>
<span style="font-family: Segoe UI;"><strong><span style="font-size: 12pt;">Other:</span></strong></span><br>
<span style=" font-family: Segoe UI;"></span>
<ul>
<li><span style="font-family: Segoe UI;">Supports Standard and Enterprise
pools (up to 12 nodes), with pure device-based load balancing (HLB) or
a combination of DNS load balancing and device-based load balancing
for web services (DNS LB);</span> </li>
<span style="font-family: Segoe UI;"> </span>
<li><span style="font-family: Segoe UI;">Supports Edge, Director and
Mediation pools (up to 12 nodes per role) with HLB or DNS LB;</span> </li>
<span style="font-family: Segoe UI;"> </span>
<li><span style="font-family: Segoe UI;">Supports up to 4 PSTN gateways
(can be media gateways, direct SIP trunks, etc.) with or without media
bypass and </span><span style="font-family: Segoe UI;">configurable
SIP over TCP or TLS, media ports, media bypass</span> </li>
<span style="font-family: Segoe UI;"> </span>
<li><span style="font-family: Segoe UI;">Ability to specify custom media
ports for clients and servers. DDC automatically applies consecutive
non-overlapping ranges, and creates the appropriate commands on the
Scripts sheet to apply these on to your deployment;</span> </li>
<span style="font-family: Segoe UI;"> </span>
<li><span style="font-family: Segoe UI;">Calculates internal and external
certificates CN and SAN; for the external certificate, it provides the
option of separate or single certificate for Edge and Reverse proxy;</span>
</li>
<span style="font-family: Segoe UI;"> </span>
<li><span style="font-family: Segoe UI;">Calculates DNS entries for
internal and external zones. Further to that, DDC generates a script
(in the Scripts sheet) which will automatically add the required
records for both pinpoint or split-brain DNS.</span> </li>
</ul>
<span style="font-family: Segoe UI;"> Calculates firewall rules
for: <br>
</span>
<ul>
<li><span style="font-family: Segoe UI;"><span style="font-weight: bold;">Internal
firewalls</span> (internal-facing DMZ); </span> </li>
<li><span style="font-family: Segoe UI;"><span style="font-weight: bold;">External
firewalls</span> (external-facing DMZ);</span> </li>
<li><span style="font-family: Segoe UI;"><span style="font-weight: bold;">PSTN:</span>
The PSTN firewall sheet calculates custom rules for firewalls behind
PSTN gateways, if any;</span> </li>
<li><span style="font-family: Segoe UI;"><span style="font-weight: bold;">Endpoints:</span>
the internal client Firewall sheet calculates custom rules for
personal firewalls installed on clients, and rules required in
scenarios with endpoints segregated by VLANs or other
restrictions in place.</span> </li>
</ul>
<span style="font-family: Segoe UI;"> Script section: new in version
4.x and still at an initial stage, but with plans to grow it over time.
Currently it supports: <br>
</span>
<ul>
<span style="font-family: Segoe UI;"> </span>
<li><span style="font-family: Segoe UI;"><span style="font-weight: bold;">DHCP:</span>
We have included a modified version of <span style="font-family: Courier New,Courier,monospace;">DhcpConfigScript.bat</span>
(http://technet.microsoft.com/en-us/library/gg412988(v=ocs.14).aspx),
with the correct hexadecimal values automatically calculated and
included, based on your design inputs; this removes the requirement to
use <span style="font-family: Courier New,Courier,monospace;">dhcputil<span
style="font-family: Segoe UI;"> </span></span>to generate the
script and makes it ready to run on x86 and x64 Windows DHCP servers;</span>
</li>
<span style="font-family: Segoe UI;"> </span>
<li><span style="font-family: Segoe UI;"><span style="font-weight: bold;">DNS:</span>
Scripts to create necessary records based on <span style="font-family: Courier New,Courier,monospace;">dnscmd
</span>(with both pinpoint and split-brain, based on your
selection);</span> </li>
<span style="font-family: Segoe UI;"> </span>
<li><span style="font-family: Segoe UI;"><span style="font-weight: bold;">Office
Web Apps:</span> scripts to automate certificate request (through <span
style="font-family: Courier New,Courier,monospace;">certutil</span>),
installation and web farm creation;</span> </li>
<span style="font-family: Segoe UI;"> </span>
<li><span style="font-family: Segoe UI;"><span style="font-weight: bold;">Forward
Proxy exceptions</span>;</span> </li>
<span style="font-family: Segoe UI;"> </span>
<li><span style="font-family: Segoe UI;"><span style="font-weight: bold;">QoS:
</span>PowerShell commands to configure custom port ranges;</span></li>
<li><span style="font-family: Segoe UI;"><span style="font-weight: bold;">Setup
accounts for synthetic transactions.</span><br>
<br>
</span></li>
</ul>
<span style="font-family: Segoe UI;"> </span>
<p><span style="font-family: Segoe UI;"><strong><span style="font-size: 18pt;">How
to use</span><span style="font-size: 24pt;"> </span></strong></span></p>
<span style="font-family: Segoe UI;"> </span><span style="font-family: Segoe UI;">The
tool was tested on Microsoft Excel 2013 and 2010 for Windows desktop
(Excel online is not supported and we have not tested it on Office for
Mac). <span style="font-weight: bold;">Macros and active content must be
enabled</span>. Fill all relevant fields in <span style="font-style: italic;">Global
Data</span>, <span style="font-style: italic;">Resource Data</span> and <span
style="font-style: italic;">Other Data</span> sheets. All input
cells with dynamic data have a dark blue background and are
already populated with sample data. Please change all values to reflect
your actual design. Empty or invalid entries will be marked red.<br>
<span style="font-weight: bold;">Important: </span>remember to press the
<span style="font-weight: bold;">Generate Data</span> button (available in
all sheets) when data input is complete (or when you change a value). This
is required to refresh and resize calculations and views. <span style="font-weight: bold;">Please
do not manually resize, hide or unhide rows.</span> This is done
programmatically when you press the Generate Data button so that only the
relevant content is displayed.</span><span style="font-family: Segoe UI;"></span><br>
<span style="font-family: Segoe UI;"> </span>
<p><span style="font-family: Segoe UI;"><strong><span style="font-size: 18pt;">Known
issues</span></strong></span></p>
<ul>
<li> <span style="font-family: Segoe UI;">When you press the Generate
Data button, you may notice some screen flickering through the DDC
sheets. This is due to the recalculations of data and views. On slower
machines, it can take some time for refresh to complete;<br>
</span></li>
<li><span style="font-family: Segoe UI;">An issue in December 2014 Excel
update MS14-082 may break DDC functionality in some circumstances.</span><span
style="font-family: Segoe UI;"> You may notice pull-down menus not
updating, Generate Data button not working, etc.</span><span style="font-family: Segoe UI;">
This is due to a problem described <a target="_blank" href="https://support.microsoft.com/kb/2553154">in
the following article</a> </span><span style="font-family: Segoe UI;">(check
section <span style="font-style: italic;">known issues</span>
with this security update). Hotfixes have been released in the March
2015 Updates for Office 2007, 2010 & 2013. Refer to the articles
below for more details and any pre-requisites</span><span style="font-family: Segoe UI;">:
<a target="_blank" href="https://support.microsoft.com/kb/3025036">Microsoft
Support</a> and <a target="_blank" href="http://blogs.technet.com/b/the_microsoft_excel_support_team_blog/archive/2014/12/13/forms-controls-stop-working-after-december-2014-updates-.aspx">Microsoft
</a></span><a target="_blank" href="http://blogs.technet.com/b/the_microsoft_excel_support_team_blog/archive/2014/12/13/forms-controls-stop-working-after-december-2014-updates-.aspx"><span
style="font-family: Segoe UI;">Microsoft Excel Support Team Blog.</span></a></li>
</ul>
<br>
<p style="background-color: white;"><span style="font-family: Segoe UI;"><span
style="font-family: Segoe UI;"><strong><span style="font-size: 18pt;">Disclaimer</span></strong></span></span></p>
<p style="background-color: white;"><span style="font-family: Segoe UI;"><span
style="font-family: Segoe UI;"><strong><span style="font-size: 18pt;"></span></strong></span></span></p>
<span style="font-family: Segoe UI; font-weight: bold;">DDC is a third party
tool developed by independent Microsoft UC Solutions Architects. Authors
are not affiliated with Microsoft. Skype for Business,™, Skype™, Lync™,
Office Communications Server™, Exchange™ and Excel™ are registered
trademarks of the Microsoft Corporation™. Although we took every care in
calculations and scripts, use at own risk!</span> <span style="font-family: Segoe UI;">Please
read the extended disclaimer on the file</span>.<br>
<span style="font-family: Segoe UI;"> </span><br>
<span style="font-family: Segoe UI;"> </span><span style="font-family: Segoe UI;"></span><br>
<p><span style="font-family: Segoe UI;"><span style="font-family: Segoe UI;"><strong><span
style="font-size: 18pt;">Assumptions and limitations</span></strong></span>
</span></p>
<span style="font-family: Segoe UI;"> Note the following assumptions or
known limitations (some of which will be addressed in future
versions): <br>
</span>
<ul>
<li><span style="font-family: Segoe UI;">Very limited content validation
and error catching: You will not be warned if you type 256.256.256.256
as IP address :-) Ensure you type the correct data;</span></li>
<li><span style="font-family: Segoe UI;">DDC currently has no
sizing/capacity calculator features. It assumes you already have made
your determinations on number and types of servers to implement;</span></li>
<li><span style="font-family: Segoe UI;">Only IPv4 is supported;</span></li>
<li><span style="font-family: Segoe UI;">Single Pool per each role is
supported;</span></li>
<li><span style="font-family: Segoe UI;">Single Reverse Proxy;</span></li>
<li><span style="font-family: Segoe UI;">Edge, Director and Mediation,
even when 1 node is selected, are always configured in a Pool to allow
for easier scalability and certificate management; </span></li>
<li><span style="font-family: Segoe UI;">When HLB (device-based load
balancing) is selected for Front-End and Director Pools, we assume
that internal web services host names will not be overridden. This is
optional when HLB is used; override becomes mandatory with DNS LB;</span></li>
<li><span style="font-family: Segoe UI;">We assume internal server
resources will use an internal Certification authority. This includes
Front-end, Mediation, Director and internal Edge and reverse proxy
interfaces. Firewall rules are included to grant DMZ servers (Edge and
reverse proxy) access to the CRL;</span></li>
<li><span style=" font-family: Segoe UI;">If the same domain name is used
for Active Directory and SIP, in a multiple SIP domain deployment, we
assume this will be the primary (default).<br>
</span></li>
</ul>
<br>
<span style="font-family: Segoe UI;"><span style="font-family: Segoe UI;"><span
style="font-family: Segoe UI;"><span style="font-family: Segoe UI;"><strong><span
style="font-size: 18pt;">Credits</span></strong></span></span></span>
</span>
<p><span style="font-family: Segoe UI;"></span></p>
<span style="font-family: Segoe UI;">For beta testing, bug report,
suggestions, feedback and other valuable input: Corey McClain
(@cdhtweetstech), Lasse Nordvik Wedø (@lawedo),
Antonio Spirandelli (@spady7), Dino Caputo
(@dinocaputo), Fabrizio Volpe (@fabriziovlp),
MaxSanna (@MaxSanna) Igor Kravchenko, Korbyn, Lutenus,
Mauro Rita (@jmrita), Thomas Juhl Olesen, Wilfried van
Oosterhout, Pat Richard (@patrichard), Daniel Banfield, James Brewster.<br>
</span><br>
<p><span style="font-family: Segoe UI;"><span style="font-family: Segoe UI;"><span
style="font-family: Segoe UI;"><span style="font-family: Segoe UI;"><span
style="font-family: Segoe UI;"><strong><span style="font-size: 18pt;">Version
history</span></strong></span></span></span></span></span></p>
<span style="font-family: Segoe UI;"><span style="font-weight: bold;">Version
5.0.0 - 1st May, 2015</span></span><br>
<span style="font-family: Segoe UI;"> New features: </span><span style="font-family: Segoe UI;"></span><br>
<span style="font-family: Segoe UI;">1) Support for multiple SIP domains (up
to 8), each with several configurable options (strict domain matching,
SIP/XMPP federation, etc.)</span><br>
<span style="font-family: Segoe UI;">2) DNS tables reorganised for multiple
domain support (records are sorted by domain).</span><br>
<span style="font-family: Segoe UI;">3) Added the ability to include/exclude
Edge pool in the deployment</span><br>
<span style="font-family: Segoe UI;">4) Added the ability to choose AD or
main SIP domain name for Pools and Web Services names (earlier DDC
versions used primary SIP domain name by default and did not allow to
change)</span><br>
<span style="font-family: Segoe UI;">5) Option to deploy 1 or 2 network
cards on dedicated Mediation servers (separated internal and PSTN IP
addresses). We have not included such option for collocated Mediation (not
recommended)</span><br>
<span style="font-family: Segoe UI;">6) Option to use separate public IP
addresses for external web-based applications (FE and Director pool web
services, Office Web Apps)</span><br>
<span style="font-family: Segoe UI;">7) Support for Office Web Apps farms
(up to 6 nodes)</span><br>
<span style="font-family: Segoe UI;">8) Additional scripts (synthetic
transactions)</span><br>
<span style="font-family: Segoe UI;">9) Cells with empty or invalid entries
are marked red</span><br>
<span style="font-family: Segoe UI;">Bug fix:</span><br>
<span style="font-family: Segoe UI;">1) Some naming inconsistencies</span><br>
<span style="font-family: Segoe UI;">2) Visual improvements (smaller fonts
for better readability on higher res) - refresh issues</span><br>
<span style="font-family: Segoe UI;">3) Numerous optimisations on scripts
and code (for many suggestions on scripts: thanks @PatRichard)</span><br>
<span style="font-family: Segoe UI;">4) Some issues on firewall sheets
(missing rules for Directors)</span><br>
<p><span style="font-family: Segoe UI;"></span></p>
<span style="font-family: Segoe UI;"><span style="font-weight: bold;">Version
4.3.1 - 13th April, 2015</span><br>
New features: none<br>
Bug fix: Lyncdiscover record was displayed in internal DNS in some
instances. (thanks Fgarib)<br>
<br>
<span style="font-weight: bold;">Version 4.3 - 9th November, 2014</span><br>
New features: none<br>
Bug fix: <br>
1) Missing rule in Firewall (external) for tcp/443 on A/V Edge server<br>
2) Missing rule in Firewall (external) for tcp/80 on Reverse Proxy<br>
<br>
<span style="font-weight: bold;">Version 4.2 – 7th September, 2014</span><br>
New features: visual improvements - added extended disclaimer<br>
Bug fix:<br>
1) incorrect implementation of RFC3361
(http://www.rfc-editor.org/rfc/rfc3361.txt) caused the DHCPUTIL script to
generate an incorrect string for option 120 (row 11 in Scripts sheet).
Thanks to Daniel Banfield for reporting the issue<br>
2) bug in DHCP script generating the correct entry for Lync internal web
services depending on load balancing method<br>
3) various scripts optmisations and some typos (thanks @patrichard)<br>
<br>
<span style="font-weight: bold;">Version 4.1.1 – 4th September, 2014</span><br>
New features: adds an entry for lyncdiscover in DNS internal sheet
(required in specific scenarios where Windows Phone 8.x devices are unable
to sign in from a corporate WiFi (thanks to @patrichard for the input).
More info at http://jackstromberg.com/2013/06/lync-2013-dns-settings/<br>
Bug fix: on Firewall (internal) sheet, the edge pool FQDN was displayed in
a rule (should have been the FE pool FQDN)<br>
<br>
<span style="font-weight: bold;">Version 4.1 – 29th August, 2014</span><br>
New features: visual improvements<br>
Bug fix: Internal Office Web Apps certificate missed physical server
name in the SAN (without it, the farm always shows as unhealthy). Thanks
to @patrichard for notifying<br>
<br>
<span style="font-weight: bold;">Version 4.0.4 – 2nd August, 2014</span><br>
New features: none<br>
Bug fix: naming conventions - typos - some inaccurate error catching<br>
<br>
<span style="font-weight: bold;">Version 4.0.3 – 19th April, 2014</span><br>
New features: none<br>
Bug fix: additional refresh issues. Thanks to Wilfried van Oosterhout
for notifying.<br>
<br>
<span style="font-weight: bold;">Version 4.0.2 – 13th April, 2014</span><br>
New features: none<br>
Bug fix: some issues in the hide/show procedures causing some entries
to be incorrectly displayed (Director Web services, PSTN gateways and
other). Thanks to Wilfried van Oosterhout for notifying.<br>
<br>
<span style="font-weight: bold;">Version 4.0.1 – 22nd March, 2014</span><br>
New features: none<br>
Bug fix: Inconsistencies in Office Web Apps / Office Online naming
conventions + improvements on scripts descriptions<br>
<br>
<span style="font-weight: bold;">Version 4.0.0 – 21st March, 2014</span><br>
New features: see the Features section for a full overview of
existing and new features<br>
Bug fix: Several visual issues, optimisations<br>
<br>
<span style="font-weight: bold;">Version 3.0.2 - 13th February, 2014</span><br>
New features: none<br>
Bug fix: minor code bug causing resource data refresh issues when
changing Mediation pool type<br>
<br>
<span style="font-weight: bold;">Version 3.0.1 - 11th February, 2014</span><br>
New features: none<br>
Bug fix: formula issue in PSTN firewall sheet caused some IP
addresses to display incorrectly (thanks Lutenus for notifying)<br>
<br>
<span style="font-weight: bold;">Version 3.0 - 10th February, 2014</span><br>
New features: Support for PSTN Gateways, Mediation and Director Pools<br>
Bug fix: several bug fixes, code and visual improvements<br>
<br>
<span style="font-weight: bold;">Version 2.0.4 - 23rd December,
2013</span><br>
New features: none<br>
Bug fix:<br>
1) fix an issue where formula was displayed in some cells instead of
result<br>
2) On a standard edition pool, first SAN entry was not correct
(should have been a reiteration of CN)<br>
<br>
</span>
</body>
</html>
Anonymoushttp://www.blogger.com/profile/13940988572890147155noreply@blogger.com0tag:blogger.com,1999:blog-7456843666421802436.post-21083467101514847562015-04-15T18:39:00.001+01:002015-04-18T11:02:50.058+01:00Lync calls fail with long post-dial delay? Check the Edge!<div class="MsoTitle">
<span style="font-family: 'Segoe UI', sans-serif; text-align: justify;">I hope someone can benefit from the many hours I spent on this issue :)</span><br />
<br />
<b style="text-align: justify;"><span style="font-family: "Segoe UI",sans-serif;">INFRASTRUCTURE</span></b><br />
<span style="font-family: "Segoe UI",sans-serif; text-align: justify;">Lync 2013 Redundant deployment.
3-node Enterprise pool. 2-node Edge servers. Public addresses on external
interfaces. All OS are Windows Server 2012 R2. All Lync servers at latest CU as
of February 2015. </span><span style="font-family: 'Segoe UI', sans-serif; text-align: justify; text-indent: -18pt;">All infrastructure virtualised on VMware ESX 5.5.</span><br />
<br />
<b style="text-align: justify;"><span style="font-family: "Segoe UI",sans-serif;">ISSUE DESCRIPTION</span></b><br />
<span style="font-family: "Segoe UI",sans-serif; text-align: justify;">Lync
and PSTN calls suddenly could not be connected by external or internal endpoints.
Clients received a call, call is answered, client hangs on "connecting..." state for some seconds, and then call is dropped.</span><br />
<span style="font-family: 'Segoe UI', sans-serif; text-align: justify;">Along
with issue above, calls suddenly took a long time to be initiated (long
post-dial delay). Whilst up to 2-3 "beeps" should be considered as
normal, we experienced up to 8.</span><br />
<br />
<span style="font-family: 'Segoe UI', sans-serif; text-align: justify;">The
sneaky nature of the issue was no apparent recurrence pattern. On average, we
experienced the issue 4 times in around 3 weeks. Worth nothing saying, it was a
hugely disruptive problem affecting about 10,000 users.</span><br />
<br />
<br />
<b style="text-align: justify;"><span style="font-family: "Segoe UI",sans-serif;">OTHER INFORMATION AND THINGS CHECKED</span></b><br />
<span style="font-family: 'Segoe UI', sans-serif; text-align: justify; text-indent: -18pt;">No
related events logged on windows logs (checked on Front-End Servers, Edge, and
Mediation)</span><br />
<ul>
<li><span style="font-family: "Segoe UI",sans-serif; text-align: justify; text-indent: -18pt;">Attempts
to stop some Edge services (</span><span style="font-family: Courier New, Courier, monospace; text-align: justify; text-indent: -18pt;">MediaRelaySvc.exe</span><span style="font-family: "Segoe UI",sans-serif; text-align: justify; text-indent: -18pt;"> and </span><span style="font-family: Courier New, Courier, monospace; text-align: justify; text-indent: -18pt;">MRASSvc.exe</span><span style="font-family: "Segoe UI",sans-serif; text-align: justify; text-indent: -18pt;">) resulted in
services being stuck in “stopping” state indefinitely. And it was not possible
to kill them</span></li>
<li><span style="font-family: "Segoe UI",sans-serif; text-align: justify; text-indent: -18pt;">IM
and presence still functional</span></li>
<li><span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;"><span style="font-family: 'Times New Roman'; font-size: 7pt; font-stretch: normal;"> </span></span><span style="font-family: "Segoe UI",sans-serif; text-align: justify; text-indent: -18pt;">The
only workaround to re-established functionality was rebooting both edge
servers</span></li>
<li><span style="font-family: "Segoe UI",sans-serif; text-align: justify; text-indent: -18pt;">Firewall, DNS and routing was thoroughly checked and the correct configuration was confirmed to be in place</span></li>
</ul>
<span style="font-family: "Segoe UI",sans-serif; text-align: justify; text-indent: -18pt;">Experienced
issue was identical word-by-word, to the one described in <a href="https://social.technet.microsoft.com/Forums/en-US/691a215a-af56-4b64-bb7a-a3fc5832e3cc/lync-2013-edge-beeps-when-making-pstn-calls" target="_blank">this thread</a>. All fixes suggested in the forum attempted without success.</span><br />
<br />
<b style="text-align: justify;"><span style="font-family: "Segoe UI",sans-serif;">ANALYSIS</span></b><br />
<span style="font-family: 'Segoe UI', sans-serif; text-align: justify;">Such
failures can be usually narrowed-down to a few types of issues:</span><br />
<ol>
<li><span style="font-family: "Segoe UI",sans-serif; mso-fareast-font-family: "Segoe UI";"><span style="font-family: 'Times New Roman'; font-size: 7pt; font-stretch: normal;"> </span></span><span style="font-family: "Segoe UI",sans-serif; text-align: justify; text-indent: -18pt;">Firewall</span></li>
<li><span style="font-family: "Segoe UI",sans-serif; mso-fareast-font-family: "Segoe UI";"><span style="font-family: 'Times New Roman'; font-size: 7pt; font-stretch: normal;"> </span></span><span style="font-family: "Segoe UI",sans-serif; text-align: justify; text-indent: -18pt;">Routing</span></li>
<li><span style="font-family: 'Segoe UI', sans-serif; text-align: justify; text-indent: -18pt;">MRAS</span></li>
</ol>
<span style="font-family: 'Segoe UI', sans-serif; text-align: justify;">After ensuring 1) and 2) were correct, we concentrated on MRAS; traces and Lync reports indeed provided evidence something was not quite right (candidates not exchanged, timeout on contacting MRAS resulting in endpoint being unable to obtain MRAS token).</span></div>
<div class="MsoTitle">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://www.blogger.com/blogger.g?blogID=7456843666421802436" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"></a></div>
<div style="text-align: justify;">
<span style="font-family: Segoe UI, sans-serif;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhncsvzm5IFrAay5kYnYQTNiVoF5r_l1uPBc1ZJCH5vOSxoRM_TTjGhGirmYjIaOn91kb9QED4jZW7AxN3B7L7RPqxu5MlNYQazC8OhdOWak3vYiK_jypRG3azNKPe5Y8wB1i5___Sap3c/s1600/1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhncsvzm5IFrAay5kYnYQTNiVoF5r_l1uPBc1ZJCH5vOSxoRM_TTjGhGirmYjIaOn91kb9QED4jZW7AxN3B7L7RPqxu5MlNYQazC8OhdOWak3vYiK_jypRG3azNKPe5Y8wB1i5___Sap3c/s1600/1.jpg" /></a></div>
<b style="text-align: justify;"><span style="font-family: "Segoe UI",sans-serif;"><br /></span></b>
<b style="text-align: justify;"><span style="font-family: "Segoe UI",sans-serif;"><br /></span></b><br />
<b style="text-align: justify;"><span style="font-family: "Segoe UI",sans-serif;">ROOT CAUSE</span></b><br />
<span style="font-family: "Segoe UI",sans-serif; text-align: justify;">After considerable digging, we found
out the issue was triggered by two drivers: <i>vShield Endpoint Thin Agent</i> driver
(</span><span style="font-family: Courier New, Courier, monospace; text-align: justify;">vsepflt.sys</span><span style="font-family: "Segoe UI",sans-serif; text-align: justify;">) and <i>vShield Endpoint TDI Manager</i> driver (</span><span style="font-family: Courier New, Courier, monospace; text-align: justify;">vnetflt.sys</span><span style="font-family: "Segoe UI",sans-serif; text-align: justify;">), both interacting
at the network layer. Conclusive proof was provided by Microsoft PSS, by
analysing a memory dump taken during a failure and Edge MRAS in hanging state
(service stopping….).</span><br />
<span style="font-family: "Segoe UI",sans-serif; text-align: justify;"><br /></span>
<b style="text-align: justify;"><span style="font-family: "Segoe UI",sans-serif;">WHAT DO THE DRIVERS DO</span></b><br />
<span style="font-family: "Segoe UI",sans-serif; text-align: justify;">VMware vShield Endpoint is required
to manage anti-virus and anti-malware policies for virtualized environments. vShield
Endpoint strengthens virtualization security with enhanced endpoint protection
by offloading AV processing to a secure virtual appliance supplied by VMware
partners. All servers in the deployment featured a file-level AV scanning, and the drivers were required as an agentless communication component between the virtual machines and VMware hosts.</span><br />
<br />
<a href="https://www.blogger.com/blogger.g?blogID=7456843666421802436" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"></a><b style="text-align: justify;"><span style="font-family: "Segoe UI",sans-serif;">RESOLUTION</span></b><br />
<span style="font-family: "Segoe UI",sans-serif; text-align: justify;">such drivers were already known to cause
stability issues, including BSOD (check <a href="https://communities.vmware.com/message/2395163" target="_blank">this</a> and <a href="http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2081616" target="_blank">this other</a> post. Besides, they are not certified by Microsoft (at least, until the tested build).</span><br />
<span style="font-family: "Segoe UI",sans-serif; text-align: justify;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlXy-iKKdoKVcRK7SBe88ot07zWXlFcx-GnhsXgFzjx-iJ1fHJCdO-AjYKeSv4phg0IGZT2gXu8FnvJhEYohWm9YG6LmUOcQt93-17LQ8kBG-5D8EA4Uwi-KoVR0qzdrAW96h014d85bw/s1600/2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlXy-iKKdoKVcRK7SBe88ot07zWXlFcx-GnhsXgFzjx-iJ1fHJCdO-AjYKeSv4phg0IGZT2gXu8FnvJhEYohWm9YG6LmUOcQt93-17LQ8kBG-5D8EA4Uwi-KoVR0qzdrAW96h014d85bw/s1600/2.jpg" /></a></div>
<span style="font-family: 'Segoe UI', sans-serif; text-align: justify;"><br /></span>
<span style="font-family: 'Segoe UI', sans-serif; text-align: justify;">Although we thought we were running a version fixing the issues described in the articles above, it seemed we hit a
different type of bug which VMware fixed at a later date through an ad-hoc patch.</span><br />
<span style="font-family: 'Segoe UI', sans-serif; text-align: justify;">Our only other quick fix was to uninstall the drivers from the Lync servers completely. Simply
disabling AV scanning or disabling the drivers did not help.</span><br />
<br />
<span style="font-family: 'Segoe UI', sans-serif; text-align: justify;"><b>TAKEAWAY</b></span><br />
<span style="font-family: 'Segoe UI', sans-serif; text-align: justify;">Low-level
processes from third party applications can affect stability and reliability of
Lync traffic. In our case it was even worse: Edge services were in hung state,
causing Media Relay authentication to fail for all calls. Whilst a file-level antivirus scanner should be installed on any Lync server as a common security measure (with the <a href="https://technet.microsoft.com/en-us/library/dn440138.aspx" target="_blank">correct exclusions</a>), you should pay close attention to low-level additional components or third
parties like:</span><br />
<ul>
<li><span style="font-family: 'Segoe UI', sans-serif; text-align: justify;">Network-level
inspection</span></li>
<li><span style="font-family: 'Segoe UI', sans-serif; text-align: justify;">IDS</span></li>
<li><span style="font-family: 'Segoe UI', sans-serif; text-align: justify;">Personal firewall add-ons</span></li>
<li><span style="font-family: 'Segoe UI', sans-serif; text-align: justify;">Network accelerators</span></li>
<li><span style="font-family: 'Segoe UI', sans-serif; text-align: justify;">Broadly speaking: any other network-level software may interfere with Lync traffic</span></li>
</ul>
<div style="text-align: justify;">
<span style="font-family: Segoe UI, sans-serif;">Confirming their full compatibility will definitely save you some headaches.</span></div>
<div style="text-align: justify;">
<span style="font-family: Segoe UI, sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Segoe UI, sans-serif;"><b>OTHER</b></span></div>
<div style="text-align: justify;">
<span style="font-family: Segoe UI, sans-serif;">I have experienced very similar issues on another deployment, this time, with McAfee antivirus. On that occasion, the trigger was the <a href="http://www.runscanner.net/lib/firetdi.sys.html" target="_blank">FireTDI driver</a> (a host intrusion detection component).</span></div>
</div>
Anonymoushttp://www.blogger.com/profile/13940988572890147155noreply@blogger.com1tag:blogger.com,1999:blog-7456843666421802436.post-9620550414757501092015-03-04T19:54:00.001+00:002015-04-13T10:25:46.848+01:00The real HotDeskingTimeOut for Polycom CX600 Lync phonesI have recently come across an interesting challenge. A customer asked for several Polycom CX600 phones to be provisioned with a Lync Client policy enabling hotdesking and a long hotdesking timeout. I experienced a quite unexpected behaviour, which I though It would worth sharing.<br />
<b><br /></b>
<br />
<h3>
<b>BACKGROUND</b></h3>
A <a href="https://technet.microsoft.com/en-gb/library/jj994076.aspx">Common Area Phone</a> (CAP for brevity) is a special-purpose Lync phone setup, that is not associated with a specific user account, therefore with the user-specific set of policies and phone number. A CAP is usually placed in public areas like lobbies, restaurants, public-access meeting rooms, etc., CAPs use a specific <a href="https://technet.microsoft.com/en-gb/library/jj994083.aspx">contact object</a> which has the usual set of policies (dial plan, voice policy, client policy, conferencing policy, etc.) associated. CAPs are signed in through PIN authentication, then they are usually left alone and will stay signed in permanently.<br />
<br />
Because CAPs are easily accessible "by design", it is common practice to provide them with a very restrictive voice policy, only allowing specific numbers to be called (e.g. internal company numbers or extensions, help desk, internal security, emergency numbers, etc.).<br />
<br />
A CAP may or may not be also configured as a <a href="https://technet.microsoft.com/en-us/library/jj994057.aspx">hotdesking</a> phone. This is determined by the <span style="font-family: Courier New, Courier, monospace;">EnableH</span><span style="font-family: Courier New, Courier, monospace;">otdesking ($true)</span> parameter in the client policy you assign to the CAP contact object (and not to the user).<br />
When a CAP has hotdesking enabled, a user may "override" the CAP account, sign in to a CAP with own user account, and use Lync Server features and their own user profile settings.<br />
Because user accounts are usually provisioned with additional calling capabilities (mobile phones, international numbers, etc.) through voice policies, security is a concern: if a user steps away from the hotdesk, the phone may be available to others for call capabilities they shouldn't have access to.<br />
<br />
To overcome this, Lync client policy provides a mechanism to sign out the hotdesk user from the phone after some inactivity, and sign the CAP account back in. This is governed by the <span style="font-family: Courier New, Courier, monospace;">HotDeskingTimeOut </span>parameter in the Lync client policy. The default value is 5 minutes, consistently with the security implications.<br />
<b><br /></b>
<br />
<h3>
<b>REQUIREMENT</b></h3>
My customer works in a higher security environment, so, enhanced restrictions on CAPs were not a concern. No CAPs are accessible by non trusted people. There are several common areas and conference rooms frequently used as hotdesking spaces. Several CAPs are available. Users wish to be able to sign in as hotdesking users on CAPs in the morning, and stay signed in at least until the end of business hours, so I was asked to configure a 12-hour timeout.<br />
<br />
<h3>
CONFIGURATION</h3>
So, I created a client policy as follows, and assigned to CAP contact objects:<br />
<br />
<span style="font-family: 'Courier New', Courier, monospace;">New-CsClientPolicy -Identity "CAP-Hotdesk" -EnableHotdesking $True -HotdeskingTimeout 12:00:00</span><br />
<span style="font-family: 'Courier New', Courier, monospace;"><br /></span>
<span style="font-family: inherit;">It worth noticing that the </span><span style="font-family: Courier New, Courier, monospace;">HotDeskingTimeout</span><span style="font-family: inherit;"> parameters <u>does accept</u> values up to </span><span style="font-family: Courier New, Courier, monospace;">23:59:59.</span><span style="font-family: inherit;"> Theoretically, the object type</span><span style="font-family: Courier New, Courier, monospace;">(</span><a href="https://msdn.microsoft.com/en-us/library/system.timespan%28v=vs.110%29.aspx" target="_blank">System.TimeSpan</a>) even accepts values bigger than 24 hours.<br />
<span style="font-family: inherit;">This upper limit is also consistent with some </span><a href="https://social.technet.microsoft.com/forums/lync/en-US/acbe2f64-a32e-43be-9b24-fbd7cecdd5b2/lync-2010-hotdeskingtimeout-max-duration" style="font-family: inherit;" target="_blank">public sources</a>.<br />
<span style="font-family: inherit;">It should also be noted that <a href="https://technet.microsoft.com/en-us/library/gg398300.aspx" target="_blank">TechNet</a> does not provide any information about the maximum configurable value.</span><br />
<span style="font-family: 'Courier New', Courier, monospace;"><br /></span>
<br />
<h3>
<span style="font-family: inherit;">ISSUE</span></h3>
<span style="font-family: inherit;">I was reported that all users signed it as hotdesk users on CAPs were kicked out after about 1 hour, and the phone reverted back to the CAP account.</span><br />
<br />
<h3>
TROUBLESHOOTING</h3>
<div>
First off, I ruled out a bug in firmware. The issue was experienced on several LPE builds, including the latest one at the time of writing (7577.4457).</div>
<div>
Phone logs revealed something interesting, when playing around with different <span style="font-family: Courier New, Courier, monospace;">HotDeskingTimeout</span> values.</div>
<div>
<br /></div>
<div>
An excerpt when <span style="font-family: Courier New, Courier, monospace;">HotDeskingTimeout</span> was set to <span style="font-family: Courier New, Courier, monospace;">4:44:00</span> (correct):</div>
<div>
<br /></div>
<div>
<div class="MsoNormal">
<i><span style="color: #1f497d;"><span style="font-family: Courier New, Courier, monospace;">CLockedScreen::OnEndPointSignedIn:
Signing in as hot desking user. Starting hot desking timer for 284 minutes</span></span></i></div>
<div class="MsoNormal">
<i><span style="color: #1f497d;"><span style="font-family: Courier New, Courier, monospace;"><br /></span></span></i></div>
<div class="MsoNormal">
An excerpt when <span style="font-family: Courier New, Courier, monospace;">HotDeskingTimeout</span> was set to <span style="font-family: Courier New, Courier, monospace;">9:59:00</span> (correct):</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<i><span style="color: #1f497d; font-size: 11pt;"><span style="font-family: Courier New, Courier, monospace;">CLockedScreen::OnEndPointSignedIn:
Signing in as hot desking user. Starting hot desking timer for 599 minutes</span></span></i></div>
<div class="MsoNormal">
<i><span style="color: #1f497d; font-family: "Segoe UI",sans-serif; mso-fareast-language: EN-US;"><br /></span></i></div>
<div class="MsoNormal">
Now the surprise; an excerpt when <span style="font-family: Courier New, Courier, monospace;">HotDeskingTimeout</span> was set to <span style="font-family: Courier New, Courier, monospace;">10:01:00</span> (wrong):</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<i><span style="color: #1f497d;"><span style="font-family: Courier New, Courier, monospace;">LockedScreen::OnEndPointSignedIn:
Signing in as hot desking user. Starting hot desking timer for <b>60 minutes</b></span><span style="font-family: Segoe UI, sans-serif;"><o:p></o:p></span></span></i></div>
<div class="MsoNormal">
<i><span style="color: #1f497d; font-family: "Segoe UI",sans-serif; mso-fareast-language: EN-US;"><br /></span></i></div>
</div>
<h3>
TAKEAWAY</h3>
<div>
It appears the highest honoured timeout value is <b>10 hours (600 minutes)</b>. Any value beyond that is either ignored or misinterpreted by the phone, and a fallback value of <b>60 minutes</b> is used instead.</div>
<div>
<br /></div>
<h3>
TOOLS</h3>
<div>
Pulling out LPE logs is not exactly a straighforward task. I recommend <a href="http://www.lync.geek.nz/2014/09/lync-phone-edition-lpe-log-viewer.html" target="_blank">this excellent tool</a> by Andrew Morpeth to streamline the process.</div>
<div>
<br /></div>
<h3>
<b><span style="font-family: inherit;">DISCLAIMER</span></b></h3>
<div>
I have only tested on Polycom CX600 phones and cannot confirm if other Common Area Phones would show the same behaviour.</div>
<br />Anonymoushttp://www.blogger.com/profile/13940988572890147155noreply@blogger.com0tag:blogger.com,1999:blog-7456843666421802436.post-44705462484966576822015-01-21T15:42:00.000+00:002015-01-21T15:42:09.868+00:00Lync 2013 DDC - Detailed Design CalculatorLync DDC is a low-level design calculator for on-premises Lync 2013 deployments. Fill in hostnames, IP and other design elements, and it will calculate DNS records, certificate names, firewall rules and other scripts to help speed-up your deployment.
Available at: http://goo.gl/jU1hZR
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjym6wBYxkUZxU1AJJv6XgsEvQCMnmwN_aQS_XQK_GxrU64RTvNo_QqodMxK039y2mm5Qrk0nso_IwHP2EC2Mm8tnhTmhNC6yrqmwhQdqFwAIyrik5tJ3eJeShAu7FF0fp220JydOfVRm8/s1600/IMG_04092014_153101.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjym6wBYxkUZxU1AJJv6XgsEvQCMnmwN_aQS_XQK_GxrU64RTvNo_QqodMxK039y2mm5Qrk0nso_IwHP2EC2Mm8tnhTmhNC6yrqmwhQdqFwAIyrik5tJ3eJeShAu7FF0fp220JydOfVRm8/s320/IMG_04092014_153101.png" /></a>Anonymoushttp://www.blogger.com/profile/13940988572890147155noreply@blogger.com0tag:blogger.com,1999:blog-7456843666421802436.post-89444083916246605462014-10-26T15:49:00.001+00:002014-10-26T15:49:45.885+00:00Migrating with styleKudos to my customer for cutting such nifty things for floorwalkers :) This is what I call "migrating with style"<br />
<br />
<br />
<blockquote class="twitter-tweet" lang="en"><p>Getting ready For <a href="https://twitter.com/hashtag/lync?src=hash">#lync</a> migration 😁 <a href="http://t.co/CCpFoDIlzW">pic.twitter.com/CCpFoDIlzW</a></p>— Alessio Giombini (@AlessioGiombini) <a href="https://twitter.com/AlessioGiombini/status/525630747110289410">October 24, 2014</a></blockquote>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>Anonymoushttp://www.blogger.com/profile/13940988572890147155noreply@blogger.com0tag:blogger.com,1999:blog-7456843666421802436.post-64836981133470140132014-10-14T00:09:00.000+01:002015-01-29T20:18:48.175+00:00Lync 2013 Cookbook announced<h3 class="post-title entry-title" itemprop="name" style="color: #444444; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; margin: 0px; position: relative;">
<span style="background-color: white; font-size: 13px; font-weight: normal; line-height: 18.200000762939453px;">I am very happy to announce my first book authoring effort, in teaming with a mighty bunch of Lync and Exchange guys :-)</span><div style="background-color: white; font-weight: normal; line-height: 18.200000762939453px;">
<div style="font-size: 13px;">
<br /></div>
<div>
<div style="font-size: 13px;">
I am proud to have contributed with two chapters to this book. The rest is great work by co-authors Fabrizio Volpe (@fabriziovlp), Antonio Vargas (@Vargas_76) and Lasse Nordvik Wedø (@lawedo). The book should be available later this year.</div>
<div style="font-size: 13px;">
<br /></div>
</div>
</div>
</h3>
<div class="post-header" style="line-height: 1.6; margin: 0px 0px 1em;">
<div class="post-header-line-1">
</div>
</div>
<div class="post-body entry-content" id="post-body-2241769594590961808" itemprop="articleBody" style="line-height: 1.4; position: relative; width: 686px;">
<div class="separator" style="clear: both; text-align: center;">
<img border="0" height="400" src="https://d255esdrn735hr.cloudfront.net/sites/default/files/imagecache/ppv4_main_book_cover/1895_3472EN_Lync%20Server%20Cookbook_cov.jpg" style="-webkit-box-shadow: rgba(0, 0, 0, 0.0980392) 0px 0px 0px; background: transparent; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; border: 1px solid transparent; box-shadow: rgba(0, 0, 0, 0.0980392) 0px 0px 0px; padding: 8px; position: relative;" width="322" /></div>
<div class="separator" style="background-color: white; clear: both; color: #444444; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.200000762939453px; text-align: center;">
</div>
<br />
<div style="background-color: white; color: #444444; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.200000762939453px;">
<div>
<br /></div>
</div>
</div>Anonymoushttp://www.blogger.com/profile/13940988572890147155noreply@blogger.com0tag:blogger.com,1999:blog-7456843666421802436.post-1752415532331685162014-10-08T16:47:00.003+01:002014-10-14T11:01:32.744+01:00The user accounts in Outlook and Microsoft Lync do not match. Please make sure you are signed in to both application with the same user name and privileges.<br />
During a recent test before rolling out a mass SIP URI change at a customer's site on Lync 2013, I have come across this issue when trying to schedule a meeting:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYkQXhlFpK_8vckn8kKB2qBNjyFJjV3vLEAmNSaI7P6ZTJEWfswNdYr866wHzF3_8mwY03T9ElKiIvGZ8kQJb0nygmeDyZCkFvL6i25ugs4ndQrtjjPuntXAqEdQrRxC3pEQyJ0EkMpRg/s1600/1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYkQXhlFpK_8vckn8kKB2qBNjyFJjV3vLEAmNSaI7P6ZTJEWfswNdYr866wHzF3_8mwY03T9ElKiIvGZ8kQJb0nygmeDyZCkFvL6i25ugs4ndQrtjjPuntXAqEdQrRxC3pEQyJ0EkMpRg/s1600/1.jpg" height="115" width="320" /></a></div>
<br />
Bit of background: current SIP URI and email did not match (both the username and the domain portions were different), and the change was planned with the purpose to match them as per established best practice, so the error left me a bit puzzled for starters.<br />
After some analysis, I found that the client policy assigned to the user had the following parameter set:<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">DisableEmailComparisonCheck: FALSE</span><br />
<br />
I didn't expect this would break Lync/Outlook interoperability now that SIP URI matched email address, anyway, this is what fixed the issue for me:<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">Set-CsClientPolicy -Identity Global -DisableEmailComparisonCheck $null</span>Anonymoushttp://www.blogger.com/profile/13940988572890147155noreply@blogger.com0tag:blogger.com,1999:blog-7456843666421802436.post-29361668277764792642014-02-24T18:49:00.002+00:002014-03-02T12:08:39.033+00:00Do Lync 2010 clients dream of lyncdiscover records?<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Lync client discovery should be well-known subject for being widely documented. Most will know that Lync 2010 client is (or was?) SRV record-oriented, that is, its preferred discovery methods were based on the two following records:</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">_sipinternaltls._tcp.sipdomain.com </span><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">for internal Lync pool</span><br />
<span style="font-family: Courier New, Courier, monospace;">_sip._tls.sipdomain.com</span><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"> for external Lync edge pool</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">whereas Lync 2013 family clients (with some differences on the Lync store app) are A record-oriented, </span><span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;">that is, its preferred discovery methods are based on the two following records:</span><br />
<span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">lyncdiscoverinternal.sipdomain.com</span><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"> for internal Lync pool</span><br />
<span style="font-family: Courier New, Courier, monospace;">lyncdiscover.sipdomain.com</span><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"> for external Lync edge pool</span><br />
<span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;">It seems to be common knowledge that more recent Lync 2010 clients introduced the same behaviour as Lync 2013 clients, supposedly having the feature to now query the lyncdiscoverinternal and lyncdiscover added through an unspecified CU (or, I was unable to find specific information).</span><br />
<span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;">This seems to be confirmed by <a href="http://technet.microsoft.com/en-us/library/gg398758.aspx" target="_blank">the following Technet article</a> and several other sources. Specifically:</span><br />
<span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"><br /></span>
<br />
<blockquote class="tr_bq">
<i><span style="color: #2a2a2a; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; line-height: 18px;">"(...) Microsoft Lync 2010, Lync 2013, and Lync Mobile are similar in how the client finds and accesses services in Lync Server 2013 (...)"</span><span style="color: #2a2a2a; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; line-height: 18px;"> </span></i><i>"(...) For all clients <strong>except</strong> for the Lync Windows Store app During DNS lookup, SRV records are queried and returned to the client in the following order:</i><br />
<ol style="color: #2a2a2a; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; line-height: 17px;">
<li><i>lyncdiscoverinternal.<domain> A (host) record for the Autodiscover service on the internal Web services</i></li>
</ol>
<ol style="color: #2a2a2a; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; line-height: 17px;">
<li><i>lyncdiscover.<domain> A (host) record for the Autodiscover service on the external Web services</i></li>
</ol>
<ol style="color: #2a2a2a; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; line-height: 17px;">
<li><i>_sipinternaltls._tcp.<domain> SRV (service locator) record for internal TLS connections</i></li>
</ol>
<ol style="color: #2a2a2a; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; line-height: 17px;">
<li><i>_sipinternal._tcp.<domain> SRV (service locator) record for internal TCP connections (performed only if TCP is allowed)</i></li>
</ol>
<ol style="color: #2a2a2a; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; line-height: 17px;">
<li><i>_sip._tls.<domain> SRV (service locator) record for external TLS connections</i></li>
</ol>
<i><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"> " (...) <span style="color: #2a2a2a; line-height: 18px;">Cumulative updates to the desktop clients change the DNS location process from Lync Server 2010 (...)"</span></span></i></blockquote>
<span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;">On a customer's site, with Lync 2013 server, and an unusual proliferation of both Lync 2010 and 2013 desktop clients, however, a different behaviour was noted. The scenario was:</span><br />
<span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;">- Lyncdiscover and lyncdiscoverinternal records were deployed</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">- _sipinternaltls.tcp and _sip.tls records were NOT deployed</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;">Lync 2010 clients were still able to perform server discovery and sign in both internally and externally, but it was determined Lync 2010 discovery happened through sip.domain.com A record (existing on both sides of split DNS) and not through </span><span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;">Lyncdiscover and lyncdiscoverinternal. This was randomly discovered as sip.domain.com records were briefly removed due to a sip domain migration and caused Lync 2010 client sign in to start failing.</span><br />
<span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;">A test seemed to further confirm this:</span><br />
<span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;">This is a Wireshark trace of a Lync 2013 client sign-in process, and it shows the expected and documented behaviour:</span><br />
<span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEpdBSp7F85m4Cc_A-NBb5u2tIFJf69Ih3EbvyV7m9Rqi2BmWTlflerIQYYhR-kIFJCfwrSj5Do7IvE8GHbkxux6e6Q1501r5YQxQXDPCQWPR6_cUuN6VJBA7IG6Ypfi7oPD7dY3z15bc/s1600/2013.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEpdBSp7F85m4Cc_A-NBb5u2tIFJf69Ih3EbvyV7m9Rqi2BmWTlflerIQYYhR-kIFJCfwrSj5Do7IvE8GHbkxux6e6Q1501r5YQxQXDPCQWPR6_cUuN6VJBA7IG6Ypfi7oPD7dY3z15bc/s1600/2013.JPG" height="132" width="640" /></a></div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">This is a trace of a Lync 2010 client (<a href="http://support.microsoft.com/kb/2912208" target="_blank">January 2014 update - 4.0.7577.4419</a>) - there is no trace of client trying to query lyncdiscoverinternal and lyncdiscover; SRV records are queried first, then failing back to sip.domain.com A record.</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSIl9fSg5HT7wVhjNqqkgJ3phP1DKvqddjjz2iLcPDL035w6VrcP0r6WWaYhyhhQE_yA2wIX_4udzR86auzR4_ArvsWaHMvoDRxqEV4gA9gqcoT2vSHxf94NrP11vUwAZVKXP_ieuZ5m4/s1600/2010.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSIl9fSg5HT7wVhjNqqkgJ3phP1DKvqddjjz2iLcPDL035w6VrcP0r6WWaYhyhhQE_yA2wIX_4udzR86auzR4_ArvsWaHMvoDRxqEV4gA9gqcoT2vSHxf94NrP11vUwAZVKXP_ieuZ5m4/s1600/2010.JPG" height="70" width="640" /></a></div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">My takeaway was: ensure </span><span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;">_sipinternaltls.tcp and _sip.tls records are deployed whenever Lync 2010 clients are or may be part of the game :)</span>Anonymoushttp://www.blogger.com/profile/13940988572890147155noreply@blogger.com0tag:blogger.com,1999:blog-7456843666421802436.post-11751361130535794582014-02-19T22:19:00.000+00:002014-02-19T22:19:09.473+00:00About the dreaded 504 timeout error with Lync Push Notifications (rings a bell?)<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Like several others, I was pestered with issue where at a customer site, Lync 2013 Push notifications to Apple and Windows Phone failed to work despite the apparently correct configuration. The error was 504 timeout, which is thrown out by the push notification test cmdlet:</span><br />
<span style="font-family: 'Courier New', Courier, monospace;"><br /></span>
<span style="font-family: 'Courier New', Courier, monospace;">Test-CsMcxPushNotification -AccessEdgeFqdn</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">(where -AccessEdgeFQDN is the internal Edge Pool FQDN).</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrcBf0aI4baDnUywKPynL4RcTQTVAwCxm_TVyNyDtErhXs5ESLKKmBqivFHA8cTVDEo3_SD97RoJoOd0W3l7w5zozbfoYNdhF28c0RT8NkB49SlA0DWhfStZIA33qvPzFLc-Tv4iLqs64/s1600/errir.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrcBf0aI4baDnUywKPynL4RcTQTVAwCxm_TVyNyDtErhXs5ESLKKmBqivFHA8cTVDEo3_SD97RoJoOd0W3l7w5zozbfoYNdhF28c0RT8NkB49SlA0DWhfStZIA33qvPzFLc-Tv4iLqs64/s1600/errir.jpg" height="171" width="400" /></a></div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Alas, this is a frequent although (fortunately) well-documented issue on a number of great blogs with several possible (and working) resolutions. Worth nothing reminding proper Push Notification functionality is dependent on </span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">But what happens if everything else fails and you still get stuck with it?</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">After some further research and attempts, the only quick fix for me was to break federation and re-create from scratch like follows:</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">1) remove federation with push.lync.com</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">2) remove federated provider for LyncOnline</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">3) disable push notifications</span><span style="background-color: white;"><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span><span style="color: #333333; font-family: Courier New, Courier, monospace;"><span style="font-size: 14px; line-height: 20px;">Set-CsPushNotificationConfiguration -EnableApplePushNotificationService $False -EnableMicrosoftPushNotificationService $False<br /></span></span></span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">3) add back Lync Online hosting provider:</span><br />
<span style="background-color: white;"><span style="color: #333333; font-family: Courier New, Courier, monospace;"><span style="font-size: 14px; line-height: 20px;">New-CsHostingProvider -Identity "LyncOnline" -Enabled $True -ProxyFqdn "sipfed.online.lync.com" -VerificationLevel UseSourceVerification</span></span></span><br />
<span style="background-color: white;"><span style="color: #333333; font-family: Courier New, Courier, monospace;"><span style="font-size: 14px; line-height: 20px;"><br /></span></span></span>
<span style="background-color: white; color: #333333; line-height: 20px;"><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">4) add back allowed federated domain for Push Notifications:</span></span><span style="background-color: white; color: #333333; line-height: 20px;"><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span><span style="font-family: Courier New, Courier, monospace;"><span style="font-size: 14px;">New-CsAllowedDomain -Identity "push.lync.com"</span></span></span><br />
<br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">5) Re-enable push notifications: </span><br />
<span style="background-color: white; color: #333333; font-size: 14px; line-height: 20px;"><span style="font-family: Courier New, Courier, monospace;">Set-CsPushNotificationConfiguration -EnableApplePushNotificationService $True -EnableMicrosoftPushNotificationService $True</span></span><br />
<span style="background-color: white; color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 14px; line-height: 20px;"><br /></span>
<span style="background-color: white; color: #333333; line-height: 20px;"><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">6) Worth checking that Federation is enabled:</span></span><br />
<div style="background-color: white; border: none; color: #333333; font-size: 14px; line-height: 20px; list-style-type: none; margin-bottom: 1em; outline: 0px; padding: 0px;">
<span style="font-family: Courier New, Courier, monospace;">Set-CsAccessEdgeConfiguration -AllowFederatedUsers $True</span></div>
<div style="background-color: white; border: none; color: #333333; line-height: 20px; list-style-type: none; margin-bottom: 1em; outline: 0px; padding: 0px;">
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Tested again, and, happy days :)</span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifVrptWzjr0skI9u9RF_ay1UsMSdf7cPE93_bJPiRQ5uvKyUXhTliU3hJ-ALzqesCNm2u0e9qOPNUPMDiepyMvQrCEvXGzmKhtg0QUpKf7vohZ6tdaAc_LbUSlfKg6HwlXJpTPqZ-WCJU/s1600/2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifVrptWzjr0skI9u9RF_ay1UsMSdf7cPE93_bJPiRQ5uvKyUXhTliU3hJ-ALzqesCNm2u0e9qOPNUPMDiepyMvQrCEvXGzmKhtg0QUpKf7vohZ6tdaAc_LbUSlfKg6HwlXJpTPqZ-WCJU/s1600/2.JPG" height="400" width="375" /></a></div>
<div style="background-color: white; border: none; color: #333333; font-size: 14px; line-height: 20px; list-style-type: none; margin-bottom: 1em; outline: 0px; padding: 0px;">
<span style="font-family: Courier New, Courier, monospace;"><br /></span></div>
<div style="background-color: white; border: none; color: #333333; line-height: 20px; list-style-type: none; margin-bottom: 1em; outline: 0px; padding: 0px;">
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">If that did not work for you, or possibly BEFORE you try, I suggest you check these great resources for alternative resolutions:</span></div>
<div style="background-color: white; border: none; color: #333333; font-size: 14px; line-height: 20px; list-style-type: none; margin-bottom: 1em; outline: 0px; padding: 0px;">
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><a href="http://imaucblog.com/archive/2012/02/16/what-to-do-when-you-get-a-504-server-time-out-response-for-lync-mobile-push-notifications/" target="_blank">I'm a UC Blog</a></span></div>
<div style="background-color: white; border: none; color: #333333; font-size: 14px; line-height: 20px; list-style-type: none; margin-bottom: 1em; outline: 0px; padding: 0px;">
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><a href="http://ocsguy.com/2012/02/13/push-notification-fails-with-a-504-server-time-out/" target="_blank">The Lync Guy's Blog</a></span></div>
<div style="background-color: white; border: none; color: #333333; font-size: 14px; line-height: 20px; list-style-type: none; margin-bottom: 1em; outline: 0px; padding: 0px;">
<a href="http://blog.ucmadeeasy.com/2012/02/03/lync-push-notifications-504-timeout-error/" target="_blank"><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Microsoft UC Made Easy</span></a></div>
<div style="background-color: white; border: none; color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 14px; line-height: 20px; list-style-type: none; margin-bottom: 1em; outline: 0px; padding: 0px;">
<br /></div>
<br />Anonymoushttp://www.blogger.com/profile/13940988572890147155noreply@blogger.com0tag:blogger.com,1999:blog-7456843666421802436.post-43683893467067278302014-02-18T12:19:00.000+00:002014-10-13T23:58:36.725+01:00Lync SIP trunks: internet or private?<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">A recurrent question during Lync technical workshops (and a key design decision in Lync Enterprise Voice deployments with PSTN SIP trunking) is identifying the most appropriate SIP trunk type. Internet or private?</span><br />
<br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">SIP trunks can be deployed over the Internet or over a dedicated private WAN connection (MPLS typically); each, with supposedly clear pros and cons. In reality, there's a bit of confusion around this topic and a decision is not necessarily straightforward.</span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">There is great deal of public literature around the subject if you want to dive deeper into each aspect. The purpose of of the article is only to provide a quick reference table for elements and criteria that should be considered and discussed to determine which circuit is most suitable.</span>
<br />
<style type="text/css">
table.tableizer-table {
border: 1px solid #CCC; font-family: Helvetica, Arial, serif
font-size: 7px;
}
.tableizer-table td {
padding: 2px;
margin: 1px;
border: 1px solid #ccc;
}
.tableizer-table th {
background-color: #104E8B;
color: #FFF;
font-weight: bold;
}
</style><br />
<table class="tableizer-table">
<tbody>
<tr class="tableizer-firstrow"><th rowspan="2">Feature</th><th colspan="3">Internet-based SIP trunk</th><th colspan="3">MPLS-based SIP trunk</th></tr>
<tr><td>Pros</td><td>Cons</td><td>Mitigating factors</td><td>Pros</td><td>Cons</td><td>Mitigating factors</td></tr>
<tr><td>PROVISIONING</td><td>Fast delivery times. Easy to set up</td><td></td><td></td><td></td><td>Slower delivery times. More complex to set up. Likely to require a dedicated circuit to SIP trunk carrier</td><td>If core MPLS carrier is also a Telco might be able to provide SIP trunk on existing circuit</td></tr>
<tr><td>COST</td><td>Relatively cheap - lower TCO</td><td></td><td></td><td></td><td>Expensive - higher TCO</td><td></td></tr>
<tr><td>NETWORK READINESS</td><td>Pratically 100% businesses already connected to internet and might potentially have capacity for SIP trunking. If not, in-place bandwidth upgrade is usually viable and requires no infrastructure upgrade</td><td></td><td></td><td></td><td>Higher investment for small businesses that don't have MPLS circuits in place</td><td></td></tr>
<tr><td>BANDWIDTH</td><td>Relatively abundant and cheap</td><td>Bandwidth is not guaranteed (best effort, no SLA). Asynchronous connections like ADSL provide limited upstream bandwidth</td><td>Ensure accurate capacity planning is carried out to ensure bandwidth is adequate for expected number of PSTN sessions. Lync CAC may also help</td><td>Bandwidth is guaranteed with SLA</td><td>Significantly more expensive than Internet bandwidth</td><td>Appropriate capacity planning and QoS adoption would make significantly more efficient use of bandwidth</td></tr>
<tr><td>AVAILABILITY</td><td></td><td>Uptime is not guaranteed (best effort, no SLA)</td><td>Redundant internet connections to different carriers may reduce downtime</td><td>Uptime is usually guaranteed with SLA and significantly higher that internet connections</td><td></td><td></td></tr>
<tr><td>NETWORK PERFORMANCE</td><td></td><td>More network hops, more subject to packet loss, latency and jitter. Unpredictable performance irrespective of bandwidth</td><td>Geographically closer SIP trunk carriers might require fewer hops to their infrastructure. </td><td>Network performance is more predictable especially if QoS is implemented. MPLS less subject to packet loss, latency and jitter</td><td></td><td></td></tr>
<tr><td>CALL-CARRYING CAPACITY</td><td>Usually more abundant nominal bandwidth theorically allows for a greater call-carrying capacity</td><td>Call-carrying capacity is influenced by many other factors and network conditions, which become more likely as sessions are added on the wire. Internet-based SIP trunking is generally advisable for low call volume requirements</td><td></td><td>Call-carrying capacity is more easily predictable and voice traffic can be shaped. MPLS-based SIP trunking advisable for higher call volumes</td><td></td><td></td></tr>
<tr><td>QoS</td><td></td><td>QoS cannot be implemented end-to-end. Traffic cannot be prioritised by type</td><td>Buying a dedicated additional Internet line for SIP trunk would help segregating data/web and voice traffic, yet proper QoS is not achievable</td><td>QoS can be implemented. Proper traffic prioritisation by type is viable</td><td></td><td></td></tr>
<tr><td>SECURITY</td><td></td><td>Voice traffic flows through uncontrolled network and may potentially be intercepted. </td><td>Use a SIP trunk provider that supports TLS (encrypts SIP signalling and SRTP (encrypts media), or deploy SIP trunk through VPN (less recommended: adds further network overhead and may impact QoE)</td><td>Voice traffic flows through private and screened network. TLS and SRTP are still advisable for enhanced security</td><td></td><td></td></tr>
<tr><td>NAT</td><td></td><td>SIP protocol not NAT-friendly, several known issues when NAT is used</td><td>Prefer avoiding NAT when deploying SIP trunk. Alternatively, ensure firewalls are SIP-aware (SIP ALG)</td><td>NAT less likely to be deployed in MPLS network, but if so, same considerations apply</td><td></td><td>prefer avoiding NAT when deploying SIP trunk. Alternatively, ensure firewalls are SIP-aware (SIP ALG)</td></tr>
</tbody></table>
<br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>Anonymoushttp://www.blogger.com/profile/13940988572890147155noreply@blogger.com0tag:blogger.com,1999:blog-7456843666421802436.post-76207392444395795862014-01-08T17:12:00.000+00:002014-10-13T23:59:14.721+01:00Personal experience and pain points migrating OCS 2007 R2 to Lync 2013<div style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 24px; margin-bottom: 1.625em;">
I was recently involved in an OCS 2007 R2 to Lync Server 2013 migration and I thought it would be a good idea to share my experience, with a specific focus on what went wrong, unexpected, or undocumented.</div>
<div style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 24px; margin-bottom: 1.625em;">
I won’t get into the details on how to migrate. This is already widely documented on a number of blogs as well as TechNet (<a data-mce-href="http://technet.microsoft.com/en-us/library/jj205375.aspx" href="http://technet.microsoft.com/en-us/library/jj205375.aspx" style="color: #1b8be0; font-style: inherit; font-weight: inherit; line-height: 1.625; text-decoration: none;">http://technet.microsoft.com/en-us/library/jj205375.aspx</a>).</div>
<div style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 24px; margin-bottom: 1.625em;">
ENVIRONMENT: OCS 2007 R2. Two-node Enterprise pool, no external deployment (edge servers). Polycom CX-700 phones. Two Sonus (NET) VX 1200 gateways terminating an ISDN-30 trunk each and used as hybrid gateways (that is, they served as mediation servers and no OCS mediations are present). OCS is the main voice platform for the customer. No other PBX or phones were present.</div>
<div style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 24px; margin-bottom: 1.625em;">
Below were my pain points in order of occurrence.</div>
<h1 style="clear: both; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 24px; margin: 0px 0px 0.8125em;">
<span data-mce-style="color: #000000; font-weight: bold;" style="font-style: inherit; line-height: 1.625;">TOPOLOGY MERGE</span></h1>
<div style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 24px; margin-bottom: 1.625em;">
Adding the Lync pool was a nifty and painless work, until topology merge. Next steps, that is, merging the topology and importing legacy configuration to Lync is where I had suspected some possibly unpredictable results due to the hybrid gateways model in OCS 2007 R2. I have struggled finding specific documentation about migrating such scenario. Biggest question mark is would Lync pool be able to use media gateway based mediation? I assumed that could be a no.</div>
<div style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 24px; margin-bottom: 1.625em;">
Merging topologies on the topology builder was an apparently straightforward step with the following warnings on the log:</div>
<div style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 24px; margin-bottom: 1.625em;">
<span data-mce-style="font-family: 'courier new', courier;" style="color: red; font-family: 'courier new', courier; font-style: inherit; font-weight: inherit; line-height: 1.625;"><em style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: inherit; line-height: 1.625;">2013-09-25 14:04:56 INFORMATION : No new Mediation Server added to the Office Communications Server 2007 / Office Communications Server 2007 R2 deployment.</em><em style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: inherit; line-height: 1.625;">Cannot find any Office Communications Server 2007 / Office Communications Server 2007 R2 "MediationServer" in the deployment</em><em style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: inherit; line-height: 1.625;">List of Office Communications Server 2007 / Office Communications Server 2007 R2 "Trusted application server" roles being migrated</em></span></div>
<div style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 24px; margin-bottom: 1.625em;">
<span data-mce-style="font-family: 'courier new', courier;" style="color: red; font-family: 'courier new', courier; font-style: inherit; font-weight: inherit; line-height: 1.625;"><em style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: inherit; line-height: 1.625;">Cluster fully qualified domain name (FQDN) "vx1.contoso.local"</em><em style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: inherit; line-height: 1.625;">Computer fully qualified domain name (FQDN) "vx1.contoso.local"</em></span></div>
<div style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 24px; margin-bottom: 1.625em;">
<span data-mce-style="font-family: 'courier new', courier;" style="color: red; font-family: 'courier new', courier; font-style: inherit; font-weight: inherit; line-height: 1.625;"><em style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: inherit; line-height: 1.625;">2013-09-25 14:04:56 INFORMATION: UCMA application with the cluster fully qualified domain name (FQDN) "vx1.contoso.local" does not depend on a pool.</em><em style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: inherit; line-height: 1.625;">2013-09-25 14:04:56 INFORMATION: UCMA application with the cluster fully qualified domain name (FQDN) "vx2.contoso.local" does not depend on a pool.</em></span></div>
<div style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 24px; margin-bottom: 1.625em;">
The result was media gateways being added as trusted application entries in the BackCompatSite.</div>
<h2 style="clear: both; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 24px; margin: 0px 0px 0.8125em;">
IMPORT LEGACY CONFIGURATION</h2>
<div style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 24px; margin-bottom: 1.625em;">
As no OCS 2007 R2 mediations servers were detected in the legacy topology, I wondered how the legacy configuration import procedure would react, and I was ready to redo the voice configuration in Lync if required. I run:</div>
<div style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 24px; margin-bottom: 1.625em;">
<em style="color: inherit; font-weight: inherit; line-height: 1.625;"><strong style="color: inherit; font-style: inherit; line-height: 1.625;">Import-CsLegacyConfiguration</strong></em></div>
<div style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 24px; margin-bottom: 1.625em;">
I got the following warning for each route and gateway:</div>
<div style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 24px; margin-bottom: 1.625em;">
<span data-mce-style="font-family: 'courier new', courier;" style="color: red; font-family: 'courier new', courier; font-style: inherit; font-weight: inherit; line-height: 1.625;"><em style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: inherit; line-height: 1.625;">2013-09-25 14:10:23 WARNING: Cannot find a Mediation Server with the fully qualified domain name (FQDN) "vx2.contoso.local". Run "Merge-CsLegacyTopology" cmdlet before using this cmdlet or make sure that a PSTN route is pointing to a valid Mediation Server. Skipping creation of a Lync Server 2013 PSTN route setting with the name "Emergency Services". numberPattern: "^(\+999$)"</em></span></div>
<div style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 24px; margin-bottom: 1.625em;">
It seemed, Lync was expecting to see domain-joined “proper” mediation servers in the topology but that was not the case.</div>
<div style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 24px; margin-bottom: 1.625em;">
The result on Lync topology and configuration was the following:</div>
<ul style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 24px; list-style: square; margin: 0px 0px 1.625em 2.5em; padding: 0px;">
<li style="color: inherit; font-style: inherit; font-weight: inherit; line-height: 1.625;">Dial Plans (aka <em style="color: inherit; font-weight: inherit; line-height: 1.625;">location profiles</em> in OCS) were migrated fine</li>
<li style="color: inherit; font-style: inherit; font-weight: inherit; line-height: 1.625;">PSTN usages were migrated fine</li>
<li style="color: inherit; font-style: inherit; font-weight: inherit; line-height: 1.625;">Routes were migrated fine, despite the warning above saying <i style="color: inherit; font-weight: inherit; line-height: 1.625;">Skipping creation of a Lync Server 2013 PSTN route setting with the name (…). </i>However, all had a null (empty) gateway.</li>
<li style="color: inherit; font-style: inherit; font-weight: inherit; line-height: 1.625;">Media gateways were imported in the legacy topology (BackCompatSite) as trusted application servers</li>
<li style="color: inherit; font-style: inherit; font-weight: inherit; line-height: 1.625;">No media gateways or trunks were migrated in the Lync topology</li>
</ul>
<div style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 24px; margin-bottom: 1.625em;">
Rather than trying to have Lync 2013 use the mediation on the hybrid gateways, I re-added the VXs as PSTN gateways and created new trunks both on Lync topology and media gateways so that migrated users would immediately be using the new Lync routes and mediation servers.</div>
<div style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 24px; margin-bottom: 1.625em;">
There was an additional warning in the legacy configuration import. This was a widely documented exception, as Lync 2013 does not accept certain characters in names.</div>
<div style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 24px; margin-bottom: 1.625em;">
<span data-mce-style="font-family: 'courier new', courier;" style="color: red; font-family: 'courier new', courier; font-style: inherit; font-weight: inherit; line-height: 1.625;"><em style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: inherit; line-height: 1.625;">2013-09-25 14:10:23 WARNING: Policy/setting name - "Service: Medium" has either ":" or "/". Import-CslegacyConfiguration is replacing them with "_" before migrating them. Office Communications Server 2007/Office Communications Server 2007 R2 policy/setting name - "Service: Medium". Lync Server 2013 policy/setting name - "Service_ Medium"</em></span></div>
<div style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 24px; margin-bottom: 1.625em;">
<span data-mce-style="color: #000000; font-weight: bold;" style="color: black; font-style: inherit; font-weight: bold; line-height: 1.625;">RESPONSE GROUP MIGRATION</span></div>
<div style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 24px; margin-bottom: 1.625em;">
By all extent, the hugest pain point and that did not come out as an utter surprise, as past experience and diverse publicly available literature suggest this is not a hassle free step.</div>
<div style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 24px; margin-bottom: 1.625em;">
With this in mind, before migration I strongly suggest to:</div>
<ol style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 24px; margin: 0px 0px 1.625em 2.5em; padding: 0px;">
<li style="color: inherit; font-style: inherit; font-weight: inherit; line-height: 1.625;">Carefully document every low-level aspect of existing response groups: queues, agents, groups, workflows, <span data-mce-style="text-decoration: underline;" style="color: inherit; font-style: inherit; font-weight: inherit; line-height: 1.625; text-decoration: underline;">everything</span>. Level of detail must allow you to recreate all response groups from scratch on Lync, in case anything goes VERY wrong. Might require some time but do yourself a favour and don’t overlook this step. In my case, with around 80 objects among workflows, queues and groups to document took a while, but it worth every second.</li>
<li style="color: inherit; font-style: inherit; font-weight: inherit; line-height: 1.625;">Backup the response groups on OCS. Use the following command:<em style="color: inherit; font-weight: inherit; line-height: 1.625;"><strong style="color: inherit; font-style: inherit; line-height: 1.625;">applicationsettingsexport.exe /backup /pool:ocspool.contoso.com /applicationID:Microsoft.RTC.Applications.Acd /file:ResponseGroupExport.xml</strong></em></li>
<li style="color: inherit; font-style: inherit; font-weight: inherit; line-height: 1.625;">Do a sanity check on OCS response groups:</li>
</ol>
<ul style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 24px; list-style: square; margin: 0px 0px 1.625em 2.5em; padding: 0px;">
<li style="color: inherit; font-style: inherit; font-weight: inherit; line-height: 1.625;">remove all orphaned agents</li>
<li style="color: inherit; font-style: inherit; font-weight: inherit; line-height: 1.625;">Ensure you have not renamed any of the agents in AD. There have been reports of RG migration failing because agents had certain uses attributes (name) changed in AD. If in doubt, remove the agent and add it back to the agent lists as well as in any other group.</li>
</ul>
<div style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 24px; margin-bottom: 1.625em;">
Once done, I run the following to migrate response groups from OCS to Lync:</div>
<div style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 24px; margin-bottom: 1.625em;">
<em style="color: inherit; font-weight: inherit; line-height: 1.625;"><strong style="color: inherit; font-style: inherit; line-height: 1.625;">Move-CsRgsConfiguration -Source ocspool.contoso.com -Destination lyncpool01.contoso.com</strong></em></div>
<div style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 24px; margin-bottom: 1.625em;">
Worth mentioning:</div>
<ol style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 24px; margin: 0px 0px 1.625em 2.5em; padding: 0px;">
<li style="color: inherit; font-style: inherit; font-weight: inherit; line-height: 1.625;">This is a one-off step. You cannot migrate selected response groups or objects. It's all or nothing.</li>
<li style="color: inherit; font-style: inherit; font-weight: inherit; line-height: 1.625;">The only RG resources actually "moved" to Lync are the contact objects representing the RG along with related sip uri. Lync now becomes the RG owner. All other objects (queues, workflows, agents) are simply “mirrored” to Lync, and a copy of everything is retained on OCS for rollback purposes (however, you cannot use the above command for that). After the service has been migrated, all calls to a Response Group phone number will be handled by Lync 2013. Calls will no longer be handled by OCS.</li>
<li style="color: inherit; font-style: inherit; font-weight: inherit; line-height: 1.625;">There are several other requirements before you can run the command. Check <a data-mce-href="http://technet.microsoft.com/en-us/library/gg398782.aspx" data-mce-style="font-style: normal;" href="http://technet.microsoft.com/en-us/library/gg398782.aspx" style="color: #1b8be0; font-weight: inherit; line-height: 1.625; text-decoration: none;">http://technet.microsoft.com/en-us/library/gg398782.aspx</a> for more details.</li>
</ol>
<div style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 24px; margin-bottom: 1.625em;">
I run the command and apparently got no errors when executing. As usual with PowerShell, no output is displayed if successful (unless you use the <em style="color: inherit; font-weight: inherit; line-height: 1.625;"><strong style="color: inherit; font-style: inherit; line-height: 1.625;">–verbose</strong></em> switch).</div>
<div style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 24px; margin-bottom: 1.625em;">
I then checked all RG objects would show up on Lync, and so it was. I tried to PSTN call to one response group, but failed. However, same response group could be called through a Lync call. A quick check lead me to determine the tel uri field in all workflows (around 20) was empty.</div>
<div style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 24px; margin-bottom: 1.625em;">
I was far less than excited realising not all information was migrated over, but as everything else seemed to have been copied fine, I assumed it was just a matter of repopulating the tel uri again.</div>
<div style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 24px; margin-bottom: 1.625em;">
I tried with the first workflow, and next bad surprise showed up:</div>
<div style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 24px; margin-bottom: 1.625em;">
<span data-mce-style="font-family: 'courier new', courier;" style="color: red; font-family: 'courier new', courier; font-style: inherit; font-weight: inherit; line-height: 1.625;"><em style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: inherit; line-height: 1.625;">Response Group Update Failure : An instance with ID "a0624626-2744-40c4-b2f7-b2e2a99c8a95" exists with a different OwnerPool. Changing OwnerPool on an existing object is not supported.</em></span></div>
<div style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 24px; margin-bottom: 1.625em;">
An apparently undocumented error, or, at least, unknown to Google :-)</div>
<div style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 24px; margin-bottom: 1.625em;">
Furthermore, strange entries showed up on OCS pool servers.</div>
<div style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 24px; margin-bottom: 1.625em;">
<span data-mce-style="font-family: 'courier new', courier;" style="color: red; font-family: 'courier new', courier; font-style: inherit; font-weight: inherit; line-height: 1.625;"><em style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: inherit; line-height: 1.625;">Log Name: Office Communications Server</em></span><br />
<span data-mce-style="font-family: 'courier new', courier;" style="color: red; font-family: 'courier new', courier; font-style: inherit; font-weight: inherit; line-height: 1.625;"><em style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: inherit; line-height: 1.625;">Source: OCS User Services</em></span><br />
<span data-mce-style="font-family: 'courier new', courier;" style="color: red; font-family: 'courier new', courier; font-style: inherit; font-weight: inherit; line-height: 1.625;"><em style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: inherit; line-height: 1.625;">Date: 10/9/2013 5:46:11 PM</em></span><br />
<span data-mce-style="font-family: 'courier new', courier;" style="color: red; font-family: 'courier new', courier; font-style: inherit; font-weight: inherit; line-height: 1.625;"><em style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: inherit; line-height: 1.625;">Event ID: 30951</em></span><br />
<span data-mce-style="font-family: 'courier new', courier;" style="color: red; font-family: 'courier new', courier; font-style: inherit; font-weight: inherit; line-height: 1.625;"><em style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: inherit; line-height: 1.625;">Computer: OCS-FE1.contoso.local</em></span><br />
<span data-mce-style="font-family: 'courier new', courier;" style="color: red; font-family: 'courier new', courier; font-style: inherit; font-weight: inherit; line-height: 1.625;"><em style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: inherit; line-height: 1.625;">Description:</em></span><br />
<span data-mce-style="font-family: 'courier new', courier;" style="color: red; font-family: 'courier new', courier; font-style: inherit; font-weight: inherit; line-height: 1.625;"><em style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: inherit; line-height: 1.625;">Active Directory indicates that user is homed on a different server but user data exists on this server as well.</em></span><br />
<span data-mce-style="font-family: 'courier new', courier;" style="color: red; font-family: 'courier new', courier; font-style: inherit; font-weight: inherit; line-height: 1.625;"><em style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: inherit; line-height: 1.625;">Active Directory Object with guid {C99F9636-53C6-4760-857D-36FFCD54F667} and SipUri rg1@contoso-int.com is listed as being homed on lyncpool01.contoso.com.</em></span><br />
<span data-mce-style="font-family: 'courier new', courier;" style="color: red; font-family: 'courier new', courier; font-style: inherit; font-weight: inherit; line-height: 1.625;"><em style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: inherit; line-height: 1.625;">Cause: It is possible that the Active Directory attribute msRTCSIP-PrimaryHomeServer has been incorrectly modified or the user has been improperly re-homed using outdated administration tools.</em></span><br />
<span data-mce-style="font-family: 'courier new', courier;" style="color: red; font-family: 'courier new', courier; font-style: inherit; font-weight: inherit; line-height: 1.625;"><em style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: inherit; line-height: 1.625;">Log Name: Office Communications Server</em></span><br />
<span data-mce-style="font-family: 'courier new', courier;" style="color: red; font-family: 'courier new', courier; font-style: inherit; font-weight: inherit; line-height: 1.625;"><em style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: inherit; line-height: 1.625;">Source: OCS Response Group Service</em></span><br />
<span data-mce-style="font-family: 'courier new', courier;" style="color: red; font-family: 'courier new', courier; font-style: inherit; font-weight: inherit; line-height: 1.625;"><em style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: inherit; line-height: 1.625;">Date: 10/9/2013 5:46:11 PM</em></span><br />
<span data-mce-style="font-family: 'courier new', courier;" style="color: red; font-family: 'courier new', courier; font-style: inherit; font-weight: inherit; line-height: 1.625;"><em style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: inherit; line-height: 1.625;">Event ID: 31053</em></span><br />
<span data-mce-style="font-family: 'courier new', courier;" style="color: red; font-family: 'courier new', courier; font-style: inherit; font-weight: inherit; line-height: 1.625;"><em style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: inherit; line-height: 1.625;">Computer: OCS-FE1.contoso.local</em></span><br />
<span data-mce-style="font-family: 'courier new', courier;" style="color: red; font-family: 'courier new', courier; font-style: inherit; font-weight: inherit; line-height: 1.625;"><em style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: inherit; line-height: 1.625;">Description:</em></span><br />
<span data-mce-style="font-family: 'courier new', courier;" style="color: red; font-family: 'courier new', courier; font-style: inherit; font-weight: inherit; line-height: 1.625;"><em style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: inherit; line-height: 1.625;">Office Communications Server 2007 R2, Response Group Service was not able to establish the application endpoint.</em></span></div>
<div style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 24px; margin-bottom: 1.625em;">
<span data-mce-style="font-family: 'courier new', courier;" style="color: red; font-family: 'courier new', courier; font-style: inherit; font-weight: inherit; line-height: 1.625;"><em style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: inherit; line-height: 1.625;">The following exception occurred when establishing application endpoint associated with 'sip:rg1@contoso-int.com': Microsoft.Rtc.Signaling.RegisterException - 482 - The endpoint was unable to register. See the ErrorCode for specific reason..</em></span><br />
<span data-mce-style="font-family: 'courier new', courier;" style="color: red; font-family: 'courier new', courier; font-style: inherit; font-weight: inherit; line-height: 1.625;"><em style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: inherit; line-height: 1.625;">Cause: Failed to connect to Front End server or the Front End server is misconfigured.</em></span><br />
<span data-mce-style="font-family: 'courier new', courier;" style="color: red; font-family: 'courier new', courier; font-style: inherit; font-weight: inherit; line-height: 1.625;"><em style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: inherit; line-height: 1.625;">Resolution: Check the Front End server for errors.</em></span></div>
<div style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 24px; margin-bottom: 1.625em;">
<span data-mce-style="font-family: 'courier new', courier;" style="color: red; font-family: 'courier new', courier; font-style: inherit; font-weight: inherit; line-height: 1.625;"><em style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: inherit; line-height: 1.625;">Log Name: Office Communications Server</em></span><br />
<span data-mce-style="font-family: 'courier new', courier;" style="color: red; font-family: 'courier new', courier; font-style: inherit; font-weight: inherit; line-height: 1.625;"><em style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: inherit; line-height: 1.625;">Source: OCS Response Group Service</em></span><br />
<span data-mce-style="font-family: 'courier new', courier;" style="color: red; font-family: 'courier new', courier; font-style: inherit; font-weight: inherit; line-height: 1.625;"><em style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: inherit; line-height: 1.625;">Date: 10/9/2013 5:46:11 PM</em></span><br />
<span data-mce-style="font-family: 'courier new', courier;" style="color: red; font-family: 'courier new', courier; font-style: inherit; font-weight: inherit; line-height: 1.625;"><em style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: inherit; line-height: 1.625;">Event ID: 31189</em></span><br />
<span data-mce-style="font-family: 'courier new', courier;" style="color: red; font-family: 'courier new', courier; font-style: inherit; font-weight: inherit; line-height: 1.625;"><em style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: inherit; line-height: 1.625;">Computer: OCS-FE1.contoso.local</em></span><br />
<span data-mce-style="font-family: 'courier new', courier;" style="color: red; font-family: 'courier new', courier; font-style: inherit; font-weight: inherit; line-height: 1.625;"><em style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: inherit; line-height: 1.625;">Description:</em></span><br />
<span data-mce-style="font-family: 'courier new', courier;" style="color: red; font-family: 'courier new', courier; font-style: inherit; font-weight: inherit; line-height: 1.625;"><em style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: inherit; line-height: 1.625;">Application endpoint has been terminated and Office Communications Server 2007 R2, Response Group Service has recreated it.</em></span><br />
<span data-mce-style="font-family: 'courier new', courier;" style="color: red; font-family: 'courier new', courier; font-style: inherit; font-weight: inherit; line-height: 1.625;"><em style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: inherit; line-height: 1.625;">Application endpoint associated with 'sip:rg1@contoso.com' has been terminated and Office Communications Server 2007 R2, Response Group Service has recreated it.</em></span></div>
<div style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 24px; margin-bottom: 1.625em;">
Long story short, I was unable to change <span data-mce-style="text-decoration: underline;" style="color: inherit; font-style: inherit; font-weight: inherit; line-height: 1.625; text-decoration: underline;">anything</span> in the workflow. With little time available to determine the root cause, I tried to delete and recreate all workflows. Fortunately, that worked and RGs were back in service in around one hour. I didn’t regret any minute spent documenting :-)<br />
Surprises were not over, however. The next morning, as the customer attempted to add an agent to a group, a now “familiar” exception knocked the door again:</div>
<div style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 24px; margin-bottom: 1.625em;">
<a data-mce-href="http://blog.lync2013.org/wp-content/uploads/2013/10/error1.jpg" href="http://blog.lync2013.org/wp-content/uploads/2013/10/error1.jpg" style="color: #1b8be0; font-style: inherit; font-weight: inherit; line-height: 1.625; text-decoration: none;"><img alt="Error1" class="alignnone size-medium wp-image-557" data-mce-src="http://blog.lync2013.org/wp-content/uploads/2013/10/error1-300x270.jpg" src="http://blog.lync2013.org/wp-content/uploads/2013/10/error1-300x270.jpg" height="270" style="border: 1px solid rgb(221, 221, 221); color: inherit; font-style: inherit; font-weight: inherit; height: auto; line-height: 1.625; margin-top: 0.4em; max-width: 97.5%; padding: 6px;" width="300" /></a></div>
<div style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 24px; margin-bottom: 1.625em;">
To recreate or not to recreate groups? With functional RGs and enough time for a deep analysis, I decided to investigate further on the root cause. First step, a Lync trace confirmed the error:</div>
<div style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 24px; margin-bottom: 1.625em;">
<a data-mce-href="http://blog.lync2013.org/wp-content/uploads/2013/10/error2.jpg" href="http://blog.lync2013.org/wp-content/uploads/2013/10/error2.jpg" style="color: #1b8be0; font-style: inherit; font-weight: inherit; line-height: 1.625; text-decoration: none;"><img alt="Error2" class="alignnone size-large wp-image-560" data-mce-src="http://blog.lync2013.org/wp-content/uploads/2013/10/error2-1024x273.jpg" src="http://blog.lync2013.org/wp-content/uploads/2013/10/error2-1024x273.jpg" height="155" style="border: 1px solid rgb(221, 221, 221); color: inherit; cursor: default; font-style: inherit; font-weight: inherit; height: auto; line-height: 1.625; margin-top: 0.4em; max-width: 97.5%; padding: 6px;" width="584" /></a></div>
<div style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 24px; margin-bottom: 1.625em;">
Then pointed the finger to the SQL backend, specifically to the <span style="color: inherit; font-style: inherit; font-weight: inherit; line-height: 1.625;">rgsconfig </span>database where response groups configuration is stored; specifically, searching for possibly conflicting guid on the <em style="color: inherit; font-weight: inherit; line-height: 1.625;">OwnerPoolID</em> or wrong <em style="color: inherit; font-weight: inherit; line-height: 1.625;">OwnerPool</em>.<br />
First check was in the <i style="color: inherit; font-weight: inherit; line-height: 1.625;">dbo.OwnerPo</i><i style="color: inherit; font-weight: inherit; line-height: 1.625;">ol</i> table and took a note of the Lync pool ID to determine if that would be the correct one in other objects:</div>
<div style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 24px; margin-bottom: 1.625em;">
<a data-mce-href="http://blog.lync2013.org/wp-content/uploads/2013/10/error3.jpg" href="http://blog.lync2013.org/wp-content/uploads/2013/10/error3.jpg" style="color: #1b8be0; font-style: inherit; font-weight: inherit; line-height: 1.625; text-decoration: none;"><img alt="Error3" class="alignnone size-full wp-image-561" data-mce-src="http://blog.lync2013.org/wp-content/uploads/2013/10/error3.jpg" src="http://blog.lync2013.org/wp-content/uploads/2013/10/error3.jpg" height="459" style="border: 1px solid rgb(221, 221, 221); color: inherit; cursor: default; font-style: inherit; font-weight: inherit; height: auto; line-height: 1.625; margin-top: 0.4em; max-width: 97.5%; padding: 6px; width: auto;" width="956" /></a></div>
<div style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 24px; margin-bottom: 1.625em;">
Then searched in the <i style="color: inherit; font-weight: inherit; line-height: 1.625;">dbo.AgentGroups</i> table for the OwnerPoolID field. I was expecting a wrong value; surprisingly, all values were NULL.</div>
<div style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 24px; margin-bottom: 1.625em;">
I then manually copied the Lync pool ID (retrieved from the <i style="color: inherit; font-weight: inherit; line-height: 1.625;">dbo.OwnerPool</i> table) for one of the groups, and tried again to add a member to the group. This time, it worked!</div>
<div style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 24px; margin-bottom: 1.625em;">
Resolution was then to populate all <i style="color: inherit; font-weight: inherit; line-height: 1.625;">OwnerPoolID</i> fields for each object with the ID value in the <i style="color: inherit; font-weight: inherit; line-height: 1.625;">dbo.OwnerPool</i> table, including groups and queues.</div>
<div style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 24px; margin-bottom: 1.625em;">
<a data-mce-href="http://blog.lync2013.org/wp-content/uploads/2013/10/error4.jpg" href="http://blog.lync2013.org/wp-content/uploads/2013/10/error4.jpg" style="color: #1b8be0; font-style: inherit; font-weight: inherit; line-height: 1.625; text-decoration: none;"><img alt="Error4" class=" wp-image-562 alignnone" data-mce-src="http://blog.lync2013.org/wp-content/uploads/2013/10/error4.jpg" src="http://blog.lync2013.org/wp-content/uploads/2013/10/error4.jpg" height="337" style="border: 1px solid rgb(221, 221, 221); color: inherit; cursor: default; font-style: inherit; font-weight: inherit; height: auto; line-height: 1.625; margin-top: 0.4em; max-width: 97.5%; padding: 6px;" width="608" /></a></div>
<div style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 24px; margin-bottom: 1.625em;">
Not everyone might like the idea of fiddling around with raw databases and manually modify one by one. It all depends on how big and complex your RGs are, if you ever run into the same issue. Alternatively, you might just want to delete and recreate objects. In my case, newly created objects got the <em style="color: inherit; font-weight: inherit; line-height: 1.625;">OwnerPoolID</em> populated correctly.</div>
<h1 style="clear: both; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 24px; margin: 0px 0px 0.8125em;">
MIGRATE CONFERENCING DIRECTORIES</h1>
<div style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 24px; margin-bottom: 1.625em;">
As part of the migration process, conferencing directories must be migrated from OCS to Lync. If you follow TechNet verbatim, they will tell you to do it before deactivating and decommissioning the Lync pool (check <a data-mce-href="http://technet.microsoft.com/en-us/library/jj205300.aspx" href="http://technet.microsoft.com/en-us/library/jj205300.aspx" style="color: #1b8be0; font-style: inherit; font-weight: inherit; line-height: 1.625; text-decoration: none;">http://technet.microsoft.com/en-us/library/jj205300.aspx</a>). However, if you do it now, you will later experience the following error while deactivating the Conferencing Attendant component:</div>
<div style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 24px; margin-bottom: 1.625em;">
<span data-mce-style="font-family: 'courier new', courier;" style="color: red; font-family: 'courier new', courier; font-style: inherit; font-weight: inherit; line-height: 1.625;"><em style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: inherit; line-height: 1.625;">A call to a subtask failed.: The call to subtask AppServer.GetAppState failed. Pool is not ready.</em></span></div>
<div style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 24px; margin-bottom: 1.625em;">
To resolve this issue, temporary relocate the conferencing directory back from Lync to OCS 2007 R2 via the <em style="color: inherit; font-weight: inherit; line-height: 1.625;"><strong style="color: inherit; font-style: inherit; line-height: 1.625;">Move-CsConferenceDirectory</strong></em> cmdlet. The detailed process is greatly described in Lee Desmond’s blog: <a data-mce-href="http://www.leedesmond.com/weblog/?p=749" href="http://www.leedesmond.com/weblog/?p=749" style="color: #1b8be0; font-style: inherit; font-weight: inherit; line-height: 1.625; text-decoration: none;">http://www.leedesmond.com/weblog/?p=749</a>.</div>
<div style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 24px; margin-bottom: 1.625em;">
<br /></div>
Anonymoushttp://www.blogger.com/profile/13940988572890147155noreply@blogger.com0tag:blogger.com,1999:blog-7456843666421802436.post-65152628421668604162014-01-08T14:43:00.002+00:002014-01-08T14:43:13.016+00:00OCS 2007 R2 to Lync 2013 conference attendant migration exception: cannot set region via Lync Control Panel<span style="background-color: white; color: #2a2a2a; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px;">On a recent migration from OCS 2007 R2 to Lync server 2013, I run through an unexpected and, apparently, undocumented issue while migrating the OCS conference attendant.<br /><br />I used the following command to migrate the only conferencing attendant, and result seemed OK<br /></span><span style="background-color: white; color: #2a2a2a; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16px;"></span><br />
<div class="reCodeBlock" style="background-color: white; border: 1px solid rgb(127, 157, 185); color: #2a2a2a; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16px; overflow-y: auto;">
<span style="font-size: 13px;"><code style="color: black;">Move-CsApplicationEndpoint -Identity sip:Microsoft.Rtc.Applications.Caa-E55ADF4E-AFE5-4480-915C-694773F4CFA8@contoso.com -Target lyncpool.contoso.com</code></span></div>
<span style="background-color: white; color: #2a2a2a; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px;"><br />A detailed procedure is available in this excellent blog: <a href="https://www.simple-talk.com/sysadmin/unified-messaging/migrating-from-ocs-2007-r2-to-lync---part-3/" style="color: #00749e; cursor: pointer; outline: none; text-decoration: none;" target="_blank">https://www.simple-talk.com/sysadmin/unified-messaging/migrating-from-ocs-2007-r2-to-lync---part-3/ <img border="0" src="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-components-sitefiles/10_5F00_external.png" style="height: auto !important; max-width: 100%; overflow: hidden;" title="This link is external to TechNet Wiki. It will open in a new window." /> </a><br /><br /><span style="font-family: 'Segoe UI';"><span style="line-height: 16px; text-align: justify;">To confirm that the number was migrated to the new pool, I checked the </span><span style="line-height: 16px; text-align: justify;">Lync Server Control Panel; dial-in entry was there,</span><span style="line-height: 16px; text-align: justify;"> but got a warning stating no region was assigned to it.<br /><br />When trying to assign the region via the Lync Control Panel I got this error:<br /><br /><em><strong>Set-CsDialInConferencingAccessNumber : The region mappings for this access number are inconsistent.</strong></em><br />I was unable to find any public resource with the error above.</span></span><br />Resolution was to assign the region manually via Powershell and using the <em>-ScopeToGlobal</em> switch<br /></span><span style="background-color: white; color: #2a2a2a; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16px;"></span><br />
<div style="background-color: white; color: #2a2a2a; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16px; margin: 0in;">
<span style="background-color: lime; color: black; font-family: Consolas; font-size: 13px;"></span></div>
<div class="reCodeBlock" style="background-color: white; border: 1px solid rgb(127, 157, 185); color: #2a2a2a; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16px; overflow-y: auto;">
<span style="font-size: 13px;"><code style="color: black;">Set-CsDialInConferencingAccessNumber -Identity "sip:Microsoft.Rtc.Applications.Caa-E55ADF4E-AFE5-4480-915C-694773F4CFA8@contoso.com" -Regions "UK" -ScopeToGlobal</code></span></div>
<div style="background-color: white; color: #2a2a2a; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 9.75pt; margin: 0in;">
<span style="background-color: lime; font-style: italic;"></span></div>
<span style="background-color: white; color: #2a2a2a; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px;"><br /></span><span style="background-color: white; color: #2a2a2a; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16px;"></span>
<div style="background-color: white; color: #2a2a2a; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16px;">
<span style="font-size: 13px;">Note that, until a region is specified, dial-in might work but no dial-in access number is populated into the email template when creating a new Lync meeting through Outlook. </span></div>
Anonymoushttp://www.blogger.com/profile/13940988572890147155noreply@blogger.com0