{"id":263,"date":"2012-05-30T20:00:18","date_gmt":"2012-05-30T08:00:18","guid":{"rendered":"http:\/\/blog.kiwibees.net\/?p=263"},"modified":"2012-05-30T20:00:18","modified_gmt":"2012-05-30T08:00:18","slug":"lync-hold-issue","status":"publish","type":"post","link":"https:\/\/blog.gingerninja.nz\/?p=263","title":{"rendered":"Lync Hold Issue"},"content":{"rendered":"<p><span style=\"color:#333333;\">In a recent Enterprise Voice deployment I struck an issue where a small number of users couldn&#8217;t place a call on hold. When they tried, the Lync client errored with &#8220;Failed to place call on hold&#8221; and instead put the client&#8217;s mic and speakers on mute. Removing this mute sometimes worked and sometimes resulted in a dropped call.<\/span><\/p>\n<p><span style=\"color:#333333;\">All users in this particular deployment were subject to the same client policy, same client version, same voice routing.. generally, everything was the same from one user to the next.<\/span><\/p>\n<p><span style=\"color:#333333;\">After running some S4\/SIPStack trace logs on the gateway, and analysing the SIP Options packet that was being sent to the SIP gateway, I could see that in a working request, the SIP Invite that got sent included <em><strong>a=inactive<\/strong><\/em> (which is normal), whereas in a failing request, the Invite sent <strong><em>a=sendonly<\/em><\/strong> instead. What I couldn&#8217;t figure out was why two clients with the same settings\/policy\/routes would send two different hold methods. What made this particularly odd was that the user that was having the issue could log on to a different computer, and placing a call on hold would work fine.<\/span><\/p>\n<p><span style=\"color:#333333;\">So, issue had to be client-side.<\/span><\/p>\n<p><span style=\"color:#333333;\">One of the things I looked at during the debug process was the Lync registry entries. After painstakingly comparing registry keys line by line, I found that only one of the clients had the MusicOnHold registry keys listed &#8211; and it was the one that wasn&#8217;t working. Looking at the client options (Tools &gt; Options &gt; Alerts) showed that both had the same options selected (<em>in this case, \u2018Enable Music on Hold\u2019 was ticked and greyed out (managed by policy), and the hold music file was populated with the default wma file)<\/em>, yet on the client that was working fine, the two MusicOnHold registry keys (below) were completely missing.<\/span><\/p>\n<blockquote><p><span style=\"color:#333333;\">[HKEY_CURRENT_USERSoftwareMicrosoftCommunicator]<\/span><\/p>\n<p><span style=\"color:#333333;\">&#8220;MusicOnHoldDisabled&#8221;=dword:00000000<\/span><\/p>\n<p><span style=\"color:#333333;\">&#8220;MusicOnHoldAudioFile&#8221; =&#8221;C:Program Files (x86)Microsoft\u00a0LyncMediaDefaultHold.wma&#8221;<\/span><\/p><\/blockquote>\n<p><span style=\"color:#333333;\">After backing up the keys, I deleted the <em>MusicOnHoldAudioFile <\/em>key, and rebooted. Bingo. Problem solved.<\/span><\/p>\n<p><span style=\"color:#333333;\">Tried reinstating the key again, and sure enough, problem returned immediately.<\/span><\/p>\n<p>I have come across one other customer having the same issue, and they apparently found the problem disappeared when they apply CU5, however I haven&#8217;t been able to verify that completely with them, and when I tried the CU5 update, the issue persisted.<\/p>\n<p><span style=\"color:#333333;\">Why exactly this happens is soon to be the subject of a support ticket with Microsoft. When I get an outcome from that, I&#8217;ll be sure to update this post.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In a recent Enterprise Voice deployment I struck an issue where a small number of users couldn&#8217;t place a call on hold. When they tried, the Lync client errored with &#8220;Failed to place call on hold&#8221; and instead put the client&#8217;s mic and speakers on mute. Removing this mute sometimes worked and sometimes resulted in [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[23],"tags":[],"class_list":["post-263","post","type-post","status-publish","format-standard","hentry","category-lync","comment-open"],"_links":{"self":[{"href":"https:\/\/blog.gingerninja.nz\/index.php?rest_route=\/wp\/v2\/posts\/263","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.gingerninja.nz\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.gingerninja.nz\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.gingerninja.nz\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.gingerninja.nz\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=263"}],"version-history":[{"count":0,"href":"https:\/\/blog.gingerninja.nz\/index.php?rest_route=\/wp\/v2\/posts\/263\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.gingerninja.nz\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=263"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.gingerninja.nz\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=263"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.gingerninja.nz\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=263"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}