Tuesday, December 8, 2015

Skype For Business CU1 (September 2015) fails

To make a long story short - make sure you have atleast 32 GB free disk space when running Security Updates for Skype for Business Server: September 2015

KB3097645 fails even at the second attempt.

The fix KB3097645 will run an Install-CsDatabase command to patch the database.

If you look at the log found in the same directory as your SkypeServerUpdateInstaller.exe
e.g. C:\temp\Skype_patchinstallerlog-FE01-[2015-12-08][14-00-01].txt

You will find the following error messages:

[12/8/2015 2:00:01 PM] Executing command: msiexec.exe  /update "C:\temp\Server.msp" /passive /norestart /l*vx "C:\temp\Server.msp-FE01-[2015-12-08][14-00-01]_log.txt"
[12/8/2015 2:00:23 PM] ERROR 1603: Server.msp had errors installing.
[12/8/2015 2:00:41 PM] ERROR: SkypeServerUpdateInstaller failed to successfully install all patches

If you look in the file LCSSetup_Commands.txt found in the user profile
e.g. C:\Users\kressmark\AppData\Local\Temp\LCSSetup_Commands.txt

You will find a more understandable error message:

Install-CsDatabase : Command execution failed: Install-CsDatabase was unable to find suitable drives for storing the database files. This is often due to insufficient disk space; typically you should have at least 32 GB of free space before attempting to create databases. However, there are other possible reasons why this command could have failed. For more information, see

The solution is of course to simply free up some disk space or expand the disk.

Happy patching!

Sunday, November 1, 2015

Unassigned numbers over SIP Trunk

As explained in the article
Create or modify an unassigned number range in Skype for Business Server 2015
"Skype for Business Server enables you to say what happens to incoming calls to phone numbers that are valid for your organization, but are not assigned to a user or a phone. To handle such calls, you set up an unassigned number table. You can use the table to route the calls to an Announcement application."

That is nice as a service to people dialing a wrong number, but the unassigned numbers feature can also be used to prevent loops as described in the article
How to prevent call looping between Lync Server and a VoIP gateway

Since loops in telecom systems never are a good thing, let's look at how to configure the unassigned numbers feature. The first step is to record the announcement you would like to play when an unassigned number is called. I used the free Audacity software for this, and then I exported the audio as a WMA version 2 FFmpeg file.

My message were something like:
"Welcome to <our org name>, you have called a number that is not in use.
Please check the number and call again."

Next get on your Skype4B standard or enterprise front-end server and start the Skype4B management shell to import and configure the announcement.

Get-Content "C:\temp\UnassignedAnnouncement.wma" -ReadCount 0 -Encoding Byte | Import-CsAnnouncementFile -Parent -FileName "UnassignedAnnouncement.wma" 

New-CsAnnouncement -Identity -Name “Unassigned Announcement” -AudioFilePrompt “UnassignedAnnouncement.wma”

The last command will give you an output like this:

Identity           :Service:ApplicationServer:

Name               : Unassigned Announcement
AudioFilePrompt    : UnassignedAnnouncement.wma
TextToSpeechPrompt :
Language           :
TargetUri          :
AnnouncementId     : d5b4b757-df0a-494a-af52-0531f6f12b2d

Now open the Skype4B Control Panel (or restart it if you had it open already.)
Go to Voice Features / Unassigned numbers to configure the range of numbers that should be homed (accessed over the SIP Trunk) on the Skype4B system.

Please note that you could enter the number with a + sign but without a leading tel: so it is a bit different from other places in the Skype4B Control Panel. The help file says "This means the number may begin with the string tel: (if you don’t specify that string, it will be automatically added for you), a plus sign (+), and a digit 1 through 9." (But why is not tel: added automatically when assigning a number to a user?)

The unassigned number table can include both assigned and unassigned numbers, but it is invoked only when a caller dials a number that is not currently assigned. This means it is fine to add one of the numbers in the range to a user and a call to that number will go to the user, or the other way around, if you remove a number in the range from a user a call to that number will get the announcement.

After committing these changes you do not need to restart anything, simply grab an internal client with a user with enterprise voice and dial one of the numbers in the range. You should now hear the message you recorded, and on the server you should also find event 46041 from LS Outbound Routing which says "Vacant Number Settings Loaded Successfully".

Next up would be to test an unassigned number from an external telephone.

If this call does not reach the announcement service chances are that you have configured a PSTN usage for the trunk under Voice Routing / Trunk Configuration in the Control Panel. This PSTN usage will somehow take precedence over the internal announcement service and will not let calls through. Remove the PSTN usage from the Trunk Configuration and your external call should be hearing the announcement now, and you will not risk getting loops in your system.

For more info:
Redirecting inbound PSTN calls in Lync
PSTN to Lync 2013 Unassigned Number failure

Tuesday, June 23, 2015

MS Ignite BRK3151 - Interoperability with Skype for Business

As promised in my Microsoft Ignite 2015 - Sessions, Venue, Expo post, here comes another summary / review of one of the Ignite Skype for business sessions.

Presented by Adam Gent, Enghouse.

Two programs exist, one older (mainly for Lync) and one newer for Skype for business.
There are many areas where interoperability comes into play when implementing a Lync / Skype for business system.

Use this like a checklist

The interoperability program started with telephony equipment, this is natural since telephony is much more real-time sensitive and business critical than email or instant messaging. First gateways were used heavily and later SIP Trunking became increasingly popular, both types of PSTN connection is now in the interoperability programs.

Why would we put a SBC in front of the mediation server when doing SIP Trunking?
A SBC can handle "malformed" SIP-packets and keep the mediation going even if the traffic is bad (but to what use?) A mediation server is not built to do policing on the incoming traffic while a SBC is. A SBC can also act as a firewall to protect an internal network.

How should an internal Wifi network with Skype for business mobile clients be handled?
Treat it like an external network and let all traffic go through the Edge/RevProxy.

What is the difference between Compatible, Certified and Optimized in the interoperability program?
It is a terminology mess that should be cleaned up. Not all "levels" exist for all types of devices / solutions.

Monday, June 22, 2015

MS Ignite BRK3142 - Call via Work for PBX Users

As promised in my Microsoft Ignite 2015 - Sessions, Venue, Expo post, here comes another summary / review of one of the Ignite Skype for business sessions.

Presented by Brian Ricks, consultant and Microsoft MVP.

Started with a brief history on Enterprise voice in LCS / OCS / Lync. Lync 2010 introduced Call-via-work for mobile clients, the ones without VoIP support. Enterprise voice did not change dramatically in Skype for business compared to Lync 2013. Remote Call Control (RCC) is still available in Skype for business.

Call-via-work gives click-to-call integration with an existing PBX, without CSTA (RCC), and presence for that call.

How it works

1. The user initiates an outbound call.
2. The Skype FE server initiates a call to a phone controlled by the user (using UCWA).
3. The user answers the incoming call.
4. The Skype FE server initiates a call to the callee (B party.)
5. When answered on the remote side Skype connects the two calls and updates the presence of the user.

Call-via-work initiates 2 call "legs"

The not so good

Call-via-work does nothing for incoming calls.
The user can click to call, have a voicemail server answer and then "voicemail" will be calling the B party.

Call-via-work cannot be combined with the following Skype call features:
E911 and MCT
Boss/Admin delegation
Team Call
Response Groups
Hold/Transfer/Call Park/Mute/Unmute via Skype 4B
Access to PBX voicemail via Skype 4B
Call escalation (like adding desktop sharing)
Conferencing (adding callers) via Skype 4B
Desk Phone pairing

Commands to configure the feature

Set-CsRoutingConfiguration -CallViaWorkCallerId +<PhoneNumber>
To set a global number to be used when calling call-via-work users back.

Or you could use...

New-CsCallViaWorkPolicy [-Identity] -Enabled $true -UseAdminCallbackNumber $true -AdminCallbackNumber +<PhoneNumber>
To set an individual number to be used when calling a specific call-via-work user back.
Setting the Callback Number administratively is optional and requires one policy per user.

Finally grant the policy to the user.

When done the "Call Forwarding" setting in the users configuration will change to "Call handling" and a predefined number or field to enter a number will be visible.

All set for Call-via-work

Thursday, June 18, 2015

MS Ignite BRK3140 - The Voice of Skype for Business

As promised in my Microsoft Ignite 2015 - Sessions, Venue, Expo post, here comes another summary / review of one of the Ignite Skype for business sessions.

Presented by Jamie Stark, Product Manager at Microsoft. (This is one of the sessions I also attended in person.)

Real-time broadcast meetings translated into several different languages on the fly is a feature that is being worked on right now. The Skype translator is already available with English, Spanish, Italian and Mandarin in the preview, as well as 50 written languages for instant messaging translation. Skype Translator uses machine learning, so the more people use the technology, the better the experience for everyone, i.e. download it now! Today the Skype translator is a "modern" Windows 8.1 app, but later this year it will also be available as a regular windows executable. In the session we got a demo of Skype for business with a translator while it transcribed what Jamie was saying into English and immediately translated it into Mandarin. This demo triggered a spontaneous applause from the audience. Like Gurdeep said in the keynote: You can't get this stuff if you are using ten year old technology.

Lync / Skype for business works over the internet without the need of any VPN, and in the client we have the familiar "bars" to tell us if our network connection is strong or weak. User feedback on the call quality can easily be collected and stored in a database for reporting using the "Rate my call" feature built into Skype for business.

Another demo using a Jabra Evolve headset and the Jabra Direct software was shown to demonstrate the "Jabra intelligent call transfer." It is a feature that will monitor your headset during an ongoing Skype4B call and if the headset is disconnected it will automatically transfer the call to your mobile telephone.

The overview continued with call forwarding, simultaneous ring, call handling in Exchange UM, location, MCT (Malicious Call Tracing, not Microsoft Certified Trainer), calling from Office and webpages.

I guess there should have been a demo of the Yealink SIP-T22P phone, but it was acquiring an IP-address so it did not happen. More enterprise voice features were discussed: delegation, call park, group pickup and shared line appearance.

Shared Line Appearance (SLA) is a coming feature that will be available later this year for both Skype for Business as well as for Lync 2013. SLA allows multiple devices to share calls and state information, it is a signaling application that scales well. An incoming call will arrive to the SLA application which will alert at multiple devices at the same time and the call can be picked up from anyone of the configured devices. When answered the line state is shown on all other configured devices.

SLA rings on multiple devices.

ACD (not Contact center functionality, but for internal helpdesks) is available in Skype for business through Response Group services.

Enterprise Voice in Office 365 - PSTN calling services in Office 365 provided by Microsoft is coming soon (US - 2015, EU - 2016). This feature includes DID numbers and possibilities to port numbers into Office 365 calling services.

Another service called "On-premises PSTN Connectivity" will be released in 2016 which will enable organizations worldwide to use Office 365 voice features with existing (on-prem equipment) trunks. (It looks like the discontinued "Hybrid Voice" is resurrected.)

Hybrid makes sense!


Can the call-via-work feature be enabled/disabled via policies?
Yes, and in addition it is possible to configure what number the call back should go to. (The call back can go to a PBX phone or any PSTN number really.)

Will the rate-my-call feature use any information coming from the client software?
No, the rate-my-call is the users perception only, the actual MOS-values for the call in question is not populated into the dialog or the feedback submitted by the user.

How will SLA be administered?
Using PowerShell (90% sure of that answer.)

Will SLA be available on "Aries" devices? 
No, only on the Polycom VVX series, and only on one specific device to start with. More devices will be added further on.

Will the Persistent chat feature become available in Office 365?
No plans for that currently. Persistent chat will remain in on-premise versions. Rather than moving Persistent chat into Office 365, maybe Office 365 groups could extended in the future to cover similar functionality.

Will there be a new Lync phone edition in the future?
No, Lync phone edition will stay the same, but it works fine with Skype for business and is supported. It will not be rebranded "Skype for business phone edition". Use 3rd party phones instead.

Will the Skype translator be available for on-prem installations?
No, not right now, but maybe it could become available as a cloud service in the future.

Will the SILK codec be available for conferencing in Skype for business?
No, it is being rolled out slowly across the portfolio. First for Mobile, now in the rich client as well, next MCUs.

Are there any changes in CAC in Skype for business compared to Lync 2013?

Is Remote Call Control deprecated in Skype for business?

Monday, June 15, 2015

MS Ignite BRK3138 - In-place upgrade from Lync to Skype for Business

As promised in my Microsoft Ignite 2015 - Sessions, Venue, Expo post, here comes another summary / review of one of the Ignite Skype for business sessions.

Presented by the Canadian Scott Stubberfield, Program Manager at Microsoft.

This session focused on the in-place upgrade, and featured a nice in-place upgrade demo. A Lync 2103 system with two paired pools was moved to Skype4B.

Customers do not want to be forced to upgrade the hardware when upgrading the software. With in-place upgrade we can reuse all Lync 2013 hardware, firewalls, configurations, etc. Smart Setup will check with a "Windows Update" like service and download new software before starting the upgrade.

Upgrade paths

Lync 2013 (CU5) to Skype4B - in-place upgrade
Lync 2010 (CU7) to Skype4B - same process as 2010 to 2013
Lync 2010 and 2013 - upgrade 2010 to 2013 first, and then use in-place upgrade

Tri-existence (2010 + 2013 + S4B) is not supported in any way, shape or form.

Upgrade the user pool(s) first, then the mediation servers, edge and CMS pool.

The in-place upgrade process upgrades all SQL server express 2012 (SP1 or better) instances to SQL server express 2014, this for both standard edition "back-end" and local instances.

Prerequisites before starting the in-place upgrade.
Lync 2013 CU5 or better
SQL Server express 2012 SP1 or better
Windows Hotfixes
KB2858668 - Windows Server 2012
KB2982006 – Windows Server 2012 R2

I have a more detailed post about prerequisites found here:
Skype for business Server 2015 prerequisites on Windows 2012 R2

The command to move all users from one pool to another.

Get-CsUser -Filter {RegistrarPool -eq "} | Move-CsUser -Target -Confirm:$false

After the right click in Topology builder and publishing the new topology with Skype for business servers we need to run the

Disable-CsComputer -scorch

command on all front-ends. This to stop and disable all Lync 2013 services (so that if the server would reboot they would not start up as Lync 2013 again.)


How do we upgrade a Persistant chat pool?
Same procedure as a user pool. Right click the pChat pool, upgrade, run Disable-CsComputer -scorch, and this procedure will move all the existing chat rooms to Skype for business.

Will there be a difference to do an in-place upgrade on Windows 2008 R2 compared to one on Windows 2012 R2?
No, Windows fabric 3 will be supported even on Windows 2008 R2 as on 2012 and 2012 R2.

Thursday, June 11, 2015

Windows 2012 R2 IIS 8.5 and ARR 3.0 as reverse proxy for Skype for business or Lync

To start out I must point out that this not actually a supported configuration if I understand the docmentation right, but it works fine!

On the Infrastructure qualified for Microsoft Lync page, ARR 2.5 is listed as a supported reverse proxy. And the documentation to configure it is found here: Using IIS ARR as a Reverse Proxy for Lync Server 2013

On the Skype for Business Certification Program page, under reverse proxies you can find that the Web Application Proxy running on Windows Server 2012 R2 is supported. And the documentation to configure is found here: Configuring the Windows Server 2012 Web Application Proxy as a Reverse Proxy for Lync Server (Well the documentation is for Lync, but you'll get the picture...)

Anyhow, let's get down to using ARR 3.0 instead.

Start with a Windows 2012 R2 server with two network cards. Set the defalt gateway to point out towars the internet and also use a public DNS server. Next use the "route add" to find your way in to the internal server network holding the Skype for business or Lync server(s), and also the internal CA. For example:

route add MASK IF 12 -p

To verify, try to ping the internal Lync server(s) using the IP-address.


Open Notepad as Administrator and edit the local Hostfile, normally found under C:\Windows\system32\drivers\etc. Add the following lines to the hostfile. (Note, this is an example, your external webservices URL can be named diffrently, check in the topology builder.)     -     ip of the standard server (or loadbalancer)     -     ip of the standard server (or loadbalancer)     -     ip of the standard server (or loadbalancer)     -     ip of the standard server (or loadbalancer)     -     ip of the CA server

Also, the Internal and External DNS should be configured like:

Internal DNS     -     ip of the standard server (or loadbalancer)     -     ip of the standard server (or loadbalancer)     -     ip of the reverse proxy     -     ip of the reverse proxy

External DNS     -     ip of the reverse proxy     -     ip of the reverse proxy     -     ip of the reverse proxy     -     ip of the reverse proxy

Server preparation

The reverse proxy server must not be "domain joined" therefore you need to have the internal Certificate Authority Root Certificate installed in the certificate store under Local Computer \ Trusted Root Certification Authorities. (This is not applicable if your internal Skype for business / Lync server is using a Public Certificate.) Use the CA/certsrv webpage if available from the internal CA.

Start powershell as Administrator and run the following commands to install IIS which is a prerequisite for the Application Request Routing of course.

Import-Module ServerManager
Add-WindowsFeature Web-Static-Content,Web-Default-Doc,Web-Dir-Browsing,Web-Http-Errors,Web-Net-Ext,Web-Http-Logging,Web-Request-Monitor,Web-Http-Tracing,Web-Filtering,Web-Stat-Compression,Web-Mgmt-Console,NET-Framework-Core,NET-Non-HTTP-Activ,NET-HTTP-Activation

Internet Information Server Configuration

Start the Internet Information Server (IIS) Manager tool, click the IIS server in the tool, and now you get the following question.

Answer yes and you will arrive at a webpage where you can download and install the Microsoft Web Platform Installer 5.0. After the Web Platform is installed, search for "arr" and add Application Request Routing 3.0 (not 2.5 or 2.5 with KB.)

Click Install, Finish, and restart the Internet Information Server (IIS) Manager tool. Now there should be a "Server farms" hive in the IIS management tool and this is were one Server farm per external URL need to be created.

Create a server farm called that points to the server address (that we have pointed to the standard server or loadbalancer in the host file); set the httpPort to 8080 and the httpsPort to 4443. Also make sure the internal firewall is letting traffic through these ports.

If you need to verify that you really did set these values, you cannot do it from the IIS interface. However, you can check out my previous IIS AAR blog post "Using IIS ARR as a Reverse Proxy for Lync Server 2013" for information on how to verify this.

Next, configure the Caching, Routing and Proxy Rules of the server farm.

Disable the disk cache, change the Proxy time-out to more seconds (I like 600), and disable the SSL offloading under Routing Rules

The Proxy time-out is a value you need to configure according to your environment. This is especially important for the URL, the value should be more than 180 or even as much as 600. Just try to raise the value to where your mobile client does not display the message "Your server configuration has changed. Please restart Lync." all the time.

Amazing - a blog with both Microsoft server config and iOS screen shots...

Now you will find two URL rewrite rules per server farm under root\IIS\URL rewrite. Keep all the rules ending with _SSL and delete the rules that does not. In all the rules ending with _SSL add a {HTTP_HOST} condition matching the name of the server farm, e.g. lyncexternalweb.*


1. Test the meet URL from Internet explorer on the reverse proxy server.
Here you should receive the meeting join page and you should not get a certificate error.

2. Test the meet URL from an external computer on the Internet.
Here you should receive the meeting join page and you should not get a certificate error.

3. Test the dialin URL from an external computer on the Internet.
Here you should receive the dialin conferencing settings page and you should not get a certificate error.

4. Download and install the Microsoft Lync Connectivity Analyzer.
This tool helps Lync administrators find out if the deployment and configuration of their Lync Server environment meets the requirements to support connections from Lync mobile apps. If this works both the lyncdiscover and lyncexternalweb URLs are fine.

5. Login with your mobile unit and - happy Lyncing / Skyping!

Sunday, June 7, 2015

MS Ignite BRK3128 - Media Quality in Office 365 Skype for Business

As promised in my Microsoft Ignite 2015 - Sessions, Venue, Expo post, here comes the second summary / review of the Ignite Skype4B sessions.

Presented by Sasa Juratovic and Aaron Miller, both from the Skype Enterprise Engineering team at Microsoft.

The presentation started out with a good voice quality demo of "good" network conditions compared to "bad" network conditions (10% bursty packet loss.) Requirements on a regular data network is not the same as requirements on a Real-Time Media network.

The same 3 issues as discussed in BRK3110 were discussed again:

The time it takes the packet to get from A to B. When talking about networks this is usually round trip time and noted as network latency.

The amount of time the packets are delayed before processing to compensate for packets arriving later than other packets. This time gets added to the network latency.

Packet loss
The amount of packages that never survived the trip from A to B, got malformed, or simply arrived outside of the jitter buffer.

And added to list of issue were:

Audio and Video Glitching,
which is caused by the end user environment, the system or devices.

Call Quality Methodology, can be used even though using Skype 4B Online from Office 365. The main difference is that Microsoft will manage the servers and the network between the servers.

ExpressRoute 3.1 is Skype for Business ready and can be used to get QoS between your clients and Office 365, coming in the near future.

A new version of the Lync Bandwidth calculator for Skype for business Online were demonstrated, this will be realeased further on. Will it support SILK? (a good question at the end of the session)

Some best practices
  • You need a QoS strategy, and you need to monitor your network.
  • Make sure firewalls and proxies are configured: Office 365 URLs and IP address ranges
  • Don't run your laptop on battery but try to be power connected for the duration of the call.
  • Use the Lync PreCall Diagnostics Tool before an important call to assess network quality

Some tools

Sunday, May 31, 2015

MS Ignite BRK3110 - Skype for Business Networking

As promised in my Microsoft Ignite 2015 - Sessions, Venue, Expo post, here comes the first summary / review of the Ignite Skype4B sessions.

This session presented by Korneel Bullens - a Dutch MS guy.

"A well working network is the foundation of any Skype for Business Deployment."

Users of consumer Skype often say that Skype at home, over Wi-Fi, works great. Yes, when you are the only guy on that Wi-Fi network and Internet connection of course it will be better than sharing a network with maybe hundreds of people at an office.

Call quality on an IP-network can be a bit tricky.

The three networking issues we need to deal with:
  • Jitter
    The amount of time the packets are delayed before processing to compensate for packets arriving later than other packets. This time gets added to the network latency.
  • Packet loss
    The amount of packages that never survived the trip from A to B, got malformed, or simply arrived outside of the jitter buffer.
  • Latency
    The time it takes the packet to get from A to B. When talking about networks this is usually round trip time and noted as network latency.

Networking is not an exact science, context is key, it is about getting satisfied end-users. Example: a 100ms delay within a small country is bad, a 100ms delay halfway around the world is good!

Desktop sharing in Skype for business Online in Office 365 is often a problem due to low bandwidth between your network and the closest Office 365 datacenter.

Good documentation to download and study:

 QoS is one key technology to achieve satisfied end-users.
Implement it, document it AND verify it!

Don't trust what your network engineers tell you, check the network yourself as well!

DSCP and Port based tagging is the recommended approach, but you might get issues with BYOD devices.

Don't do audio over Direct Access or VPN (the double encryption (encrypted traffic over an encrypted channel) will eat up the precious milliseconds you need to achieve good audio.)

Document your network! All network guys are saying they have a network overview document, but most of them will require 4 weeks to "find it" :-)

A big struggle is to maintain call quality as the organization scale up. Call Quality Methodology was built to address this problem.

Software-defined networking (SDN) is a coming key technology to achieve satisfied end-users. Five partners already have solutions using SDN with Skype for business: Aruba, Prism, Extreme, HP and Nectar.

We have DSCP values set by group policy and it works fine with domain joined windows computers, but what would we do on a MAC? Use SDN.

How do we use QoS when traversing several networks? It does not work. Can SDN help? In 2016 Skype4B and Skype4B online will have feature parity, so probably SDN will become available for Skype4B online in the future.

Telephony over sketchy unmanaged IP networks is not working as well as copper based connections via a PBX, should we tell our customers to go back to the PBX? Not really answered - I would say: Connect a gateway to your managed network rather than trying to use telephony over an unmanaged IP network that is causing you trouble.

Monday, May 18, 2015

Skype for business Server 2015 prerequisites on Windows 2012 R2

This article is based on the official documentation found here:
Install Skype for Business Server 2015 and here Install prerequisites

To install Skype for business Server 2015 make sure to use Windows 2012 R2 (Windows Server 2008 R2 reached the end of mainstream support in January 2015.)

First of all, run Windows Update.

Second, open a PowerShell command window as Administrator and run the following command:

Add-WindowsFeature NET-Framework-Core, RSAT-ADDS, Windows-Identity-Foundation, Web-Server, Web-Static-Content, Web-Default-Doc, Web-Http-Errors, Web-Dir-Browsing, Web-Asp-Net, Web-Net-Ext, Web-ISAPI-Ext, Web-ISAPI-Filter, Web-Http-Logging, Web-Log-Libraries, Web-Request-Monitor, Web-Http-Tracing, Web-Basic-Auth, Web-Windows-Auth, Web-Client-Auth, Web-Filtering, Web-Stat-Compression, Web-Dyn-Compression, NET-WCF-HTTP-Activation45, Web-Asp-Net45, Web-Mgmt-Tools, Web-Scripting-Tools, Web-Mgmt-Compat, Server-Media-Foundation, BITS

Or if you rather use the GUI check the following boxes in the Server Manager.

And the following boxes to configure the Web Server part.

Next, download and install the following patch (not included in Windows Update as of today) IIS crashes occasionally when a request is sent to a default document in Windows Server 2012 R2  This requirement is documented on this page: Server requirements for Skype for Business Server 2015 If you forget this requirement the deployment wizard will stop and alert you half-way through the installation process, like this:

If this happens you can safely download and install the patch and restart the deployment wizard.

Finally as you open the Skype for business Server 2015 Control Panel, it will prompt you to download and install Silverlight.

Happy Skyping!

Sunday, May 17, 2015

Microsoft Ignite 2015 - On twitter

I really like twitter, it is fast, easy and fun. So during Ignite (and other events I go to) I tend to tweet and retweet quite a lot. Twitter is also fun for the statistics you can get from it. Toni Pohl created a very nice summary of what was happening on the #MSIgnite hashtag during Ignite.

Since the 2nd of May untill May 10th there were almost 109.000 tweets containing #MSIgnite sent by approximately 17.000 Twitter users. A rough estimate gives that #MSIgnite should have reached at least some 5 million users. I sent around 1000 tweets and retweets during the event and this made me the second most active tweeter during Ignite.

Follow me on Twitter at @mkressmark

Another great use of twitter came from companies in the expo hall telling people to take pictures or tweet to certain hashtags and their followers of course. I tried to win a trip to Australia in a contest hosted by Recordpoint, but I did not make it, instead I won a license from Landis Computer.

The Skype for business team arranged a live competition on twitter on the hashtag #Skype4BTrivia, which I unfortunately missed. However, there were some nice questions and answers in that competition which I will reiterate here. See if you know the answers without cheating, have fun!


1. When was the official announcement made that Lync would become Skype for business?
2. Where was the last Lync Conference held before Microsoft Ignite?
3. What is the name of the default Skype for business font?
4. Which version of the product introduced the concept of Public IM Connectivity (PIC)?
5. What was the codename for Lync Server Control Panel?
6. What command would be used to return a Skype for business server to service after performing maintenance?
7. What is the new server role introduced in Skype for business?
8. When did Microsoft overtake Cisco in the leaders position of Gartner's magic quadrant for UC?
9. Which Skype for business port and protocol is used for incoming SIP requests for IM?
10. What is the default video codec for Skype for business?
11. When moving a user to a new pool using PowerShell, what is their new pool referenced as?
12. What is the sum of the PSTN country codes for these two countries (identified by their flags below - (Netherlands and Italy))?
13. Where can you see address book normalization rules in Skype for business?
14. In the Skype for business client, what is the default ring tone for Private Line?
15. What feature does call monitor NOT provide?


And answers!


1. November 11, 2014
2. Las Vegas
3. Segoe UI
4. Live Communications Server 2005 Sp1
5. Bigfin
6. Invoke-CsComputerFailback
7. Video Interoperability Server
8. August 4, 2014
9. 5062 UDP
10. H.264/MPEG-4 Part 10
11. -Target
12. 70 (31 + 39)
13. Get-AddressBookNormalizationRule
14. Duotone
15. Hold/Unhold

Congratulations to the winner Brett Ondrey (@Xabulon)!

Saturday, May 16, 2015

Microsoft Ignite 2015 - Sessions, Venue, Expo

Last week I joined some 23,000 IT professionals at the McCormick Place convention center in Chicago to attend Microsoft Ignite.


I did not get to catch too many sessions since I was working, but the few I went to were very good. I learnt new things even though not so much is new in Skype for Business, and yes, I only went to Skype for business sessions :-)

Jamie Stark held a good presentation around voice in Skype for business, presented some news like SLA and ran some nice demos. My Norwegian friend Ståle Hansen held a session on Phone Number Management in Skype for business which was so popular it had to be run again, good job dude! Tommy Clarke talked about media and Johan Delimon explained SIP signaling. Just for the record - I gave all you guys the highest score available :-)

There were some 69 sessions around Skype for business in total, counting customer stories and partner sessions. Below is a list of some that I found interesting. The plan for my continued Ignite series is to watch these sessions on demand and give you summaries here on the blog, just keep refreshing this blog for updates.

BRK3110 - Skype for Business Networking
BRK3128 - Ensuring Media Quality in Microsoft Office 365 Skype for Business
BRK3138 - Getting to Skype for Business- Everything You Need to Know to Upgrade from Lync
BRK3140 - The Voice of Skype for Business - An Overview
BRK3142 - Planning and Deploying Call via Work for Enterprise PBX Users
BRK3151 - From Voice to Video, All about Interoperability with Skype for Business
BRK3167 - Skype for Business Management Tools for the Customer Lifecycle
BRK3174 - Real-Time Call Quality Metrics via Software Defined Networking (SDN) on Skype for Business
BRK3184 - Common Questions and Concerns about Skype for Business
BRK3198 - Skype for Business - Doing Very Large Online Meetings Very Easily!
BRK3200 - Deployment Strategies and Integration Scenarios with Exchange and Skype for Business
BRK3205 - Deep-Dive into Skype for Business and Microsoft Office Integration
BRK3208 - Mobility Deployment and Security with Skype for Business
BRK3211 - Skype for Business IT Pro Tools and ISV Solutions - Demo fest
BRK4100 - A Technical Deep Dive into Building Web Apps with the Skype Web SDK
BRK4102 - SIP Signaling, Negotiation and Media Flows in Skype for Business
BRK4103 - Meetings and Media - The Detailed View
BRK4107 - Enterprise Voice- An Experts Session
BRK4108 - Skype for Business - Server Vital Signs
BRK4112 - Automate Phone Number Management in Skype for Business
BRK4118 - Skype for Business - Call Quality Management and Operations
BRK4119 - A Technical Deep Dive into Skype for Business Video and Interoperability
BRK4120 - Troubleshooting Skype for Business Scenarios
BRK4122 - Managing Backup and Restore in Skype for Business
BRK4128 - A Deep Dive into Skype for Business Mobility
BRK4129 - Hybrid Configuration Deep Dive of Skype for Business

If you were at Ignite and want to download all the sessions there is a script to Download All Videos and Slides from Ignite 2015. Just be aware - when I downloaded it all I got 164 GB of files on my computer.

Venue / Food

The McCormick Place convention center is huge and confusing, it was hard to find the rooms to the north and south and in other buildings. It is probably a good thing that we are coming back next year, maybe we will find our way around better next time around.

Now where is N227B???

My one and only complaint on Microsoft Ignite was the food. In the Yammer group for Ignite the rating of the food scored between "Not good at all" and "I refuse to eat it". This must be an easy fix for next year and I'm sure Microsoft got this message.

The Expo hall

The Expo hall was of course huge as well. A very nice sized Skype for business booth was surrounded by many Skype for business partners and vendors. I got to meet with Audiocodes, and BTW did you know CloudPro is now an APSS Partner to Audiocodes? Unified Communications had the best Ignite t-shirt this year - "Don't hate - Federate", I just love it!

Look at that mans fine t-shirt!

My friend Matt from Landis Computer had a lot of people at all times in their booth showing their nice AttendantPro application.

I got to meet with Polycom, Jabra, Verba and Plenom, all of them showing interesting solutions for Skype for business. I also said a special hello to the Swedes from Competella, Gridpro, PointSharp and Specops, hope you had good Ignite like me!


My Ignite trip report would not be complete without mentioning the parties. It was great fun to meet with Mr. Ingels from Sweden, with Advania-Robert from Göteborg accompanied by Giso the girlfriend and GKN-Cecilia who performed live on stage at the House of Blues. I also enjoyed the Svenskkväll (Swede-evening) hosted by Microsoft and Specops, thanks! And as always I had lots of fun with CGI-Lena, CGI-Trolle, Cellip-Mårten, Atea-Johan S and Atea-Johan D.

I hope to meet you all again at Ignite 2016 which will be held at the same location in May 9-13, 2016.

 Cecilia was rocking!

Mårten was chilling!

Johan was certified!

Giso the girlfriend met a crazy rabbit!

Hope to see you in Chicago next year!

Looking forward to the next #MSIgnite!

Tuesday, May 12, 2015

Microsoft Ignite 2015 - keynotes

Last week I joined some 23,000 IT professionals at the McCormick Place convention center in Chicago to attend Microsoft Ignite 2015.

I was working in the Hands-on-labs department as I have been the past couple of TechED conventions. We had around 150 labs available during the week and over 70 Microsoft Certified Trainers worked with the labs, mainly helping attendees getting started with and finishing labs. It was a lot of fun as usual! If you attended Ignite these labs will be accessible through "My Ignite" for 30 days after the event.

 The keynote hall was huge!


The first day started out with a keynote filled with many nice announcements of just released and soon to be released products. "Empowering" seemed to be a major buzzword used throughout the keynote. A lot of shorter demos and videos made the three hour keynote really enjoyable, but a Seventh-inning stretch would have been nice.
Satya Nadella the CEO of Microsoft opened and Joe Belfiore did a lot of the demos, and among some of the new things announced were:

Office 2016Public Preview, Windows Server 2016, System Center 2016, Exchange Server 2016 and also SQL Server 2016 were also discussed of course, so lots of new technology is on its way for sure.

A nice one note sketch of the keynote.

Several cool demos of an improved Cortana, the voice activated assistant were shown. Cortana have now learnt how to use windows as well, so that we can ask her: "How do I project my screen?" for example. Adding Business Intelligence to Cortana makes her feel a bit like "HAL" in the 2001 movie - cool, but a bit scary as well.

Windows Hello is a new way of logging in simply by letting the computer look for your face, and as soon as the computer sees your face you logged in to the system.

Next Gurdeep Singh Pall talked about Modern productivity, which is teams, human mobility and meetings. Julia White came on stage to show the new Surface Hub which is a huge touch-sensitive screen with cameras that can be used for running Skype for business meetings. Gurdeep also stated: "If you’re still using WebEx and GoToMeeting, and products from the last decade, stop doing that.  You can use your money on better things." His entire speech can be found here and here you can read more about how Skype for Business gains momentum.

Other Skype for business news and announcements that came during Ignite were:
  • Skype for Business Broadcasting - broadcast meetings to up to 10,000 users simultaneously.
  • A new, not an upgraded, Skype for Business for Mac client will be delivered this year.
  • In-call co-authoring allows multiple people to work together on a single document during a meeting.
  • Shared Line Appearance - multiple devices share calls and state information.
  • Intune integration is coming for Skype for Business mobile clients.
  • Reiterated: PSTN calling is coming to Office 365, soon.

Between 5:00 and 6:00 PM the first day there was a second "showcase" keynote which showed things that Microsoft research is working on. Very interesting thoughts on big data, quantum computing, artificial intelligence, speech recognition and computer vision. I recommend you to watch this keynote in case you missed it at Ignite, also check out if you have not done so already.

Watch out for a coming blog post on the Ignite sessions, venue, expo hall, networking, tweeting and parties!

Friday, April 24, 2015

Goodbye Kressmark UC - Hello CloudPro!

After five years of successful business endeavors I am closing down the IT operations of our little company. I have helped 20+ organizations with their Unified Communications and Lync needs during this time, and counting my customer's customers, it is well over 50 organizations. Some 200 students have attended my classes in Stockholm, Go:teborg, Malmoe, Arboga, Utrecht, Amsterdam and over the Internet, my farthest student were actually located in Singapore. It was also great the time we could turn a face-to-face class into a "remote learning experience" on the fly due to bad weather; this using the very software we were training on. I had a great time working face to face with my customers around Stockholm and in Sweden and I also enjoyed rebooting servers after hours in more than 10 different European countries. So, this is definitely the end of a chapter, and now a new one begins!

I have started at CloudPro as CTO. At CloudPro I will continue helping organizations around the globe with Lync and the new Skype for business software. I will also become part of a larger team at CloudPro. Now I will have teammates who knows networking, hosting, licensing, hardware, Office 365, MDM, web development and even Macintosh computers (!?!) We will start out small, but expansion is definitely a part of our business plan. The shop is open - please contact us for any Unified Communications needs!

Next up for me is of course Microsoft Ignite in Chicago whok,ere I will work in the Hands-On-Labs area as usual. It will be great to meet with all my fellow MCT friends and all other computer geeks in Chicago. I am especially looking forward to the full release of Skype for business Server 2015 in May. I will become more "cloud-oriented" from here on, but my heart still remains on-prem or at least hybrid a bit longer. For my Swedish friends I hope to see you at Techdays in October if not before on Skype. My blog will remain here for now and I will try to keep posting interesting stuff from time to time as usual.

Thank you for this time all my customers, partners and friends - hope I will meet you again in future projects!

Wednesday, April 22, 2015

Skype for Business Readiness Series (13/15)

So I joined the thirteenth session of the Skype for BusinessReadiness WebCast Series and the topic for today were Lessons Learned from Preview. The Webcast was recorded and is available online from the link above.

Rick Varvel presented a lot of details around the TAP Program and how Skype for business have been tested by customers before the coming release.

Some 50 companies have participated in the program and they have homed around 130,000 users on S4B pools already. More than 1800 bugs have been found and weeded out during the program, and a lot of training has been delivered as well. Some coming features are still being tested in the program such as Broadcast Meetings and Skype Box (what is that?)

It was stated again that Hybrid solutions is a big focus going forward, and lots of time in the TAP program has gone to helping customers to get ready with ADFS Office 365 federation and other techniques needed for hybrid. Rick also explained the timelines in the project and the difficulty to predict release dates; but May still looks promising :-) It seems as recruitment for the next TAP program is already ongoing and it is nice to know that the product we like is constantly being improved upon.

Unfortunately no questions were answered, so no QnA this time.

Wednesday, April 8, 2015

Skype for Business Readiness Series (12/15)

Today I joined the twelfth session of the Skype for Business Readiness WebCast Series and the topic for today were Lync/Skype Federation (Phase 2). The Webcast was recorded and is available online from the link above.

Kiran Kodali presented the topic and answered questions. Skype for Business is using the SILK codec; SILK is a better codec than RTA and / or G.722 at any network condition. In phase 2 of the Skype-Skype (that is for business with consumer) federation, media can be sent peer-to-peer from consumer Skype clients straight to S4B clients. If this is not possible due to firewalls STUN / TURN servers on both ends will be used. Phase 2 of this federation is already running in the Skype cloud and can be used as soon as on-prem servers and clients have been upgraded to Skype for business. Phase 2 also adds a Skype directory search which requires a S4B Edge server. The S4B Edge connects to a "Skype graph service", which is a service running in Azure delivering search results from the global Skype directory. Searches in the Skype directory can be done on name, location, email, phone and SkypeID, also Skype thumbnail pictures will be visible for S4B users. When we do a search from within the S4B client and have Skype Directory Search enabled, we will have a choice of where to search, in "My Contacts" or in "Skype Directory", with the default being "My Contacts" which is the internal address book. Conferencing or screen sharing capabilities is not a part of phase 2.

Here comes todays QnA session, 17 questions and 13 answers, enjoy!

New features

Will the new Skype for business server allow federation with Skype accounts or will federation only work with MS Skype accounts?
S4B Server/client will allow Search/Federation with both Skype IDs and MS accounts (live accounts)

Do Skype clients gain network efficiencies like SILK during a P2P session when running again an on-prem Lync 2013 server?
Yes, SILK will be used in P2P for both Skype and Lync clients for users homed on Lync 2013 Server on premise.

When will the Skype Directory search be available in the client?
It is already available in the S4B client, but it requires the user to be homed on a S4B server using a S4B Edge.

When Skype search is set to true can you still block this at Site Level?
Yes, Skype-Skype Federation search module works the same as Federation module, so you can disable it for a Site.

In S4B Online, will we be able to control who (by name and/or group) can and cannot (1) search for "public" Skype users and (2) connect with "public" Skype users?
For Online users, you can grant the ability for Skype Public IM at a user level and you can script this via PowerShell to bulk assign to users using the 
Grant-CsExternalAccessPolicy. If a user has Skype Public IM capability then they also have the ability to search the Skype Directory.

How are enterprises approved/enabled for SkypeID search?
No requirement to be approved. We just need to have S4B Client/Pool/Edge, and of course we need to enable Federation with Skype consumer (aka PIC federation.)

Is TCP port 4443 required inbound, outbound, or both?
Client to the Pool (TCP 443 – same as ABWQ) The Pool to the Edge (TCP 4443 – same as CMS replication) Edge to Skype Directory Search in Azure (TCP 443 - Access Edge Interface, and AV Edge Interface for media.)

Are any new external SRV records required or will the federation use the ones we use today?
No new SRV records required, the only infrastructure change will be outbound TCP 443 on the Access Edge server to enable the Skype Directory search feature.

Unchanged features

Do we still need to register every SIP domains Edge server at
Yes, for On-Premise deployments, you still need to register your SIP domains and an Edge server to enable Federation between your deployment and Skype consumer, for Online, you just need to enable Skype Federation in the tenant.

If we have currently configured Lync 2013 Server-Skype connectivity and we will not upgrade to S4B server, will the federation still function (without the Skype Provider update)?
Yes, but the Directory search is not available with Lync 2013.

Will the Phase 2 enhancement also be available for Lync 2013?
No, V2 Directory Search requires Skype for Business Edge/Pool/Client.

Features "missing"

Can a Skype consumer client join a Skype4B conference?
No, Skype cannot connect to conferences hosted in Skype for Business over the federation route. However, using the PSTN calling capability in Skype, a Skype user can dial into a Skype for Business CAA and join this way.

If two S4B users are on a P2P call, can they add Skype Federated user in the same call?
No, in this scenario, we would require a conference escalation. They would need to "meet now" then provide the Skype client a CAA to dial in to (assuming the Skype client is setup to use PSTN calling.)

Will there be a new Skype for Mac client to bring it to the S4B level and include the SILK codec?
Not answered.

Will the SILK codec be added to a future firmware update for existing Lync Phone Edition devices?
Not answered.

Will the Federation be extended to more platforms such as Skype Smart TVs and Xbox One?
Not answered.

Will Skype clients use SILK in case of media-bypass with Audiocodes Mediant 1000?
In order for this to happen, Audiocodes would have to update their devices to support the SILK codec. This would be dependent upon Audiocodes and your Audiocodes rep would be able to answer. (Maybe we can get a comment on the plans for this from Audiocodes - I will try…)

Tuesday, April 7, 2015

Skype for Business Dual UI Client Logic

Today I joined the webcast on the Skype for Business Dual UI Client Logic. It was a separate presentation in the same style as the readiness series to prepare Lync admins for the coming switch to Skype for Business and Skype for Business Online. The information focused on the coming client and its ability to swap between a Lync 2013 GUI or a Skype for business GUI with simple settings. A recording will available within a week from today.

Kaushal Mehta presented in a clear pedagogical order. The most confusing thing is if this information is public or not. At first it was said that it is for "internal use only", but then it was said it is not confidential and can be shared with customers, but subject to change at anytime before the official Skype for business release. So, if anyone from Microsoft have objections to this blog post - please let me know.

On April 14 (aka patch Tuesday) the Office 2103 patch will upgrade existing Lync 2013 clients as part of Office 2013 to Skype for business. This means that administrators must choose how to handle the GUI of the new Skype for business client. There is a new parameter (EnableSkypeUI) in the CsClient policy and a 2 new custom policies in Office 365 to control this behavior. The following two tables explain the parameters for Skype for business server (on-prem) and Office 365.

The Skype for business server (on-prem) parameter in client policy

The two new custom policies in Office 365

On April 14 an update to an existing Lync 2013 client will become available, there will not be a new client available for download at this time. To get Skype for business on a new computer Office 2013 or Lync 2013 must be installed first, and then updated with the patch coming on April 14th. Skype for business 2015 server (the on-prem version) will be available on May 1, and in Office 365 we can already find the two new policies; so all that is changing on April 14 is really the client part.

Some QnA from today’s session:

Has documentation been published that provides all of these details and scenarios?
and documentation for Skype for business Online will be released shortly.

When will there be training videos from Microsoft to cover the new SkypeUI?
Here is a download link for the Skype for Business client awareness and readiness resources.

Can the S4B client run with a Lync 2010 Server?
Yes, the policy applies to Lync 2010 server as well.

The "Latest Lync 2013 Server patch" - does this mean March 2015 CU for Lync 2013?
It means December 2014 CU (5.0.8308.857) for Lync 2013 and February 2015 CU (4.0.7577.710) for Lync 2010. (so maybe "latest" is not the best wording - but it covers us for future releases.)

Will the -EnableSkypeUI be available on Lync 2013 servers only?
No, the Policy will be available on latest Lync 2013 Servers and coming Skype for business servers.

Does the client policy have to be set per user or can it be set globally across the org as a default setting?
It is a "CsClientPolicy" setting which can be set globally, and/or by site, and/or by user.

Is the update a part of a bigger office update or is it a targeted Lync client update?
This change is coming as part of a larger Office 2013 update.

Will the flag also control the meeting icon in Outlook, Skype or Lync meeting?
No, the flags covered in this presentation only control the Lync/Skype for Business client interface. All other connection points in Office will refer to Skype for Business.