Wednesday, April 27, 2016

MS Ignite BRK4129 - Hybrid Configuration Deep-Dive 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 Cezar Ungureanasu, Ramesh Narayanan and Vivek Bhatnagar.

A session to understand Skype for Business Hybrid scenarios & features and how Skype for Business On-Prem interacts with Skype for Business Online.

Hybrid = a combination of components on premises and online.

Development in cloud is iterating faser than the on premises versions (and Skype for business have already evolved since this presentation were held. Maybe most notably by the addition of the Skype for Business Cloud Connector Edition.This presentaiton ended with som early thinking aronud this new feature and some questions around it.)

Requirements to start up a hybrid
  • Skype for business on premises with Edge and federation with Office 365
  • Office 365 tenant (Skype for business online licenses) with
    federation and shared SIP address space configured
  • Directory Synchronization
  • User authentication (ADFS, AD Sync)

Even Lync 2010 and Lync 2013 would work, in Skype for business some administrative GUIs for configuring and moving users have been added.

Also the Allowed /  Blocked domains list in the on-premises deployment must exactly match the Allowed domains list for your online tenant.

The "Hosting Provider" is an important active directory attribute, it tells the system where the user is homed.

For an On-premises user
RegistrarPool : pool01.kressmark.com
HostingProvider : SRV:

SRV: means - use DNS to find this users pool.

For an Online user
RegistrarPool : <empty> (but in the "Office 365 version / side" of the AD, this attribute will hold the name of the online "pool".)
HostingProvider : sipfed.online.lync.com

The "Hosting Provider" attribute will also be used when routing incoming Instant Messages and / or presence.

The presentation also included a demo of a user being moved, and the meeting invite link in his Outlook calender were uppdated.


For more info on Hybrid scenarios:

Friday, April 22, 2016

Skype for business for Mac

Geeking away another Friday night (9:00 A.M. Pacific = 18:00 in Sweden) this time about the Mac Client - Preview and demo.

Presented by Sean Wilson, Paul Cannon and Kaushal Mehta.

The new client is built with a new codebase; it is not an upgrade or refresh of Lync for Mac 2011. Meeting joins and sharing have been problems with the old client. The new client can run side-by-side with the old client and it will use SILK as the default codec.

There will be 3 previews before RTM with preview 1 coming RSN - "Real Soon Now". These previews will be cumulative meaning: Preview 1 will contain meeting functionality, preview 2 will add on contact lists and instant messaging to the functionality in preview 1. Preview 3 will add on calling and voice functionality to the client.

This was nicely demonstrated in the webcast with 3 big Lego Duplo bricks :-)

The first preview will be available RSN at the Skype for Business Preview website.

Sign up as soon as you see the Mac client preview - participation will be granted on a first-come first-served basis.

The Meeting view with a connection to the Exchange calendar and a join button.


Preview 1 will (probably) include the following features
  • Full screen video
    (with black edges which apparently makes people think about movies)
  • Desktop sharing - two way, even between PCs and Macs.
  • People pane and instant massages in meetings.
  • Meet now button

Questions answered

Remote control from Mac is a feature that will not be included in the RTM version (but is planned for in a drop after RTM), also the Unified Contact Store will not be there.
Persistent chat is in maintenance mode even in the Windows client this means that enhancements are limited to security and stability fixes only, Persistent chat will not be in the Mac client.

Quality of Service - might be in the RTM version, or will be added in a later update.

Wednesday, April 20, 2016

ITARC 2016

Post in Swedish about an IT-architect book project I am involved in, much like the previous book about IT-architecture.

Idag var jag med på ITARC 2016, en årlig konferens för it-arkitekter, denna gång på fina Elite Hotel Marina Tower strax utanför stan.

På förmiddagen var jag med på en workshop om

 

Den leddes av Per-Erik Padron, konsult på Perago och Joakim Jerbrant, chefsarkitekt på Nordea.

Runt 17 personer deltog och presenterade sig med titlar som, Enterprise Arkitekt, Chefsarkitekt, Verksamhetsarkitekt och var mestadels verksamma inom större organisationer. (Det var roligt att se deltagare från 2 större organisationer där jag installerat Lync och kanske bidragit till kommunikationen på ett hörn.)

Kommentarer och diskussioner startade direkt under presentationerna i stil med:

  • Vi diskuterar ofta begreppen inom arkitektur och vad ansvaret för arkitekten är.
  • Hos oss är det mycket "tyckande", var är vi? vad är vi bra på?
    hur förbättrar vi det vi inte är bra på?
  • "I en stor organisation finns både guldklimpar och surdegar."
  • Hur kan vi mäta om vi blir bättre inom arkitektur?

Nedan följer mina spridda anteckningar från dagen, som kanske kan användas som stöd för minnet i arbetet med nästa bok.

Swenglish är ett generellt problem inom arkitektur området då mycket av litteraturen och influenserna kommer på engelska.

Vad är arkitekturell förmåga?

Många definitioner finns, och sammantagna kan de kanske kokas ner till:

"De förutsättningar och skickligheter en organisation har att utforma delarna i den sociotekniska strukturen (människor, relationer, IT-stöd, etc) och få dem att samverka för att organisationen ska kunna uppnå sitt mål."

Arkitektur i en organisation är inte en soloaktivitet utan ett lagarbete.

Var ska ansvaret ligga? 

Tidigare var detta ofta personberoende, seniora personer med "guru-status" som kanske inte kommunicerade så bra, kom inte med lösningar utan talade mest om vad som var fel.
Det pendlar ofta mellan centralt / lokalt, och inbegriper ofta internpolitik.

Arkitekten behöver vara insatt i var organisationen är på väg.

Tycker inte personen om mig så lyssnar hon inte.

Att mäta förmågan, hur gör man?

Resultat kanske inte är så viktigt, det är viktigare att få igång diskussionerna kring arkitekturarbetet.

Hur mäter man att ett projekt lyckas? Resultatet av projektet eller att projektet levererade på tid och inom / under budget?

Många ramverk och standardmetoder finns (ITIL, TOGAF, RUP, SAFe, Zachman) som kan användas "som inspiration", d.v.s. de måste alltid anpassas till "vår" organisation. Passar ramverket oss, kan vi plocka bitar av det? Först när man utvärderar så ser man allt som är bra med metoden, sedan när man sätter igång och implementerar ser man problemen med metoden. Med ett ramverk som grund kan det bli lättare att sälja in en förändring mot ledningen, i stil med - om företaget / konkurrenten x använder detta ramverk - då måste det väl vara bra och fungera för oss?

Sedan följde en lång diskussion i mindre och större grupper angående förutsättningar och skickligheter för den arkitekturella förmågan.


Efter lunch följde en något större workshop med temat

Att kommunicera arkitektur – handboken

och det är alltså den bok vi håller på att skiva nu.

Per-Erik Padron och Stefan Asanin, IT-arkitekt på Vattenfall, ledde denna workshop med 38 deltagare.

Vi fick bra feedback kring de roller vi tänkt behandla och även kring vissa beskrivningar som troligen behöver "moderniseras" något. Vi behandlar förstås ett område som utvecklas mycket snabbt.

Boken kommer handla om kommunikation eftersom:
  • Kommunikation är en kritisk framgångsfaktor för arkitekturarbetet.
  • Kommunikation mellan arkitekter och mellan arkitekten och personer som inte direkt arbetar med arkitektur skiljer sig åt och måste fungera.
  • Arkitekten ska inte bygga eller utföra själva arbetet - därför måste arkitekten kunna kommunicera väl vad resultatet ska bli.

Diskussionen flöt på bra trots att vi vår så många som 40 personer i rummet, och jag tog med mig ett par bra tankar som jag hoppas utveckla i text i boken vi skriver.

Tack IASA Sverige för en bra konferens, ett bra tillfälle att träffa medförfattare och samla feedback.

Friday, April 15, 2016

Skype for Business Cloud Connector Edition

This Friday night (9:00 A.M. Pacific = 18:00 in Sweden) I listened in to the live video broadcast about the Skype Cloud Connector Edition.


A nice 45-minute conversation about what Skype CCE is, how to deploy it and feedback from early customer testing.

During development Skype CCE had the nickname "minimal Topology", so the on-prem component can be seen as a very minimal Skype for business system. It consists of a domain controller, edge and mediation server and Central Management Store.


The mediation server is the same "bits" - the same software - as the mediation server in a normal on-prem S4B system. The installation is configured using a "ini file", CloudConnector.ini. The installer will read this file and can restart a stopped installation in case prerequisites are not met or other issues occur. Skype CCE can also be installed in a High Availability configuration.

Both Sonus and Audiocodes have already announced packages with CCE included in a hardware appliance box.


Some questions and answers from the webcast:

Can we use Express Route with CCE and get QoS on the calls?
Yes, Express Route does work with CCE.

On the CCE "no existing S4B" requirement - can the AD be prepped for, but have OCS/Lync/S4B servers decommissioned, or is a green field AD required?
Yes, AD can be prepped for S4B/Lync. You just cannot have S4B/Lync running on-premises.

Are there any plans to support VMware hypervisors for CCE in the future?
No plans currently.

If we would like to move certain group of users to cloud and use telephony on-prem. Can we do that?
Correct. CCE is for folks in the cloud who do not have S4B on-premises.

How would using Skype in the cloud use E911 and meet the mandates of 911?
It really is no different to on-premises configuration. When you give an Office 365 user a PSTN Calling license, you must configure their E911 information before we allow you to complete the configuration and give them a number.

If a customer has existing investment in S4B On-prem but want to move subset of users to S4B online and keep PSTN on-prem, does Cloud Connector fit in this scenario?
Your on-premises deployment currently supports being connected to the cloud. CCE is currently targeted to those who do not have S4B deployed on-prem.
Microsoft hope to enhance CCE over the next few months to support more complex topologies.

If you want to find out more about Skype CCE:

The next live video broadcast will be about S4B and MACs!

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 http://go.microsoft.com/fwlink/?LinkId=511023

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 ApplicationServer:skype4b.kressmark.com -FileName "UnassignedAnnouncement.wma" 

New-CsAnnouncement -Identity ApplicationServer:skype4b.kressmark.com -Name “Unassigned Announcement” -AudioFilePrompt “UnassignedAnnouncement.wma”


The last command will give you an output like this:

Identity           :Service:ApplicationServer:
                    skype4b.kressmark.com

                    /d5b4b757-df0a-494a-af52-0531f6f12b2d
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.