How to migrate/add Lync contacts, using a tool/script

If you need to migrate multiple users Lync contacts from a “old” to a “new” Lync environment, or add the same contacs for multiple users in a Lync environment – there is a tool for you – and it works.

You can find it here:


Why I love my Windows Phone 7 (LG e900)

I has ALL the features I need:

  • Multiple e-mail accounts with threaded conversations view
  • aGPS for navigation
  • Central account management with support for G-mail, Exchange, LinkedIn, Facebook, Twitter and so on.
  • All contacts on one “container”
  • Access to Marketplace (apps) – I am currently using Bingle Maps, DSLR toolbox, Endomondo, Meeting Room (for Exchange Server 2010), QR Reader, Tasks and more
  • Perfect music player – integration to Zune and Windows Player software, DLNA
  • Mobile Internet Explorer 9
  • Wifi sync of files – when at home or at work
  • The most easy to use GUI I know (WP7 does not have a Danish GUI yet… might come in the future – but is does have Danish keyboard!)
  • xBox Live games

My LG e900 is running Mango, the hardware is stable, the battery life is more than ok, the camera is in the better half for a smartphone (Video in 720p, stills in 5 Mpixel), it is a bit heavy but it can be dropped without being afraid that the screen is broken.

And it might come as a big surprise, this phone is actually quite cheap around €200 for a new one at – compared to the new Nokia devices starting at €400

Why (not to) maintain the old PBX, when implementing Microsoft Lync Server 2010? (part 1)

When a decision has been made to implement Microsoft Lync Server with Enterprise Voice, most companies consider how to connect Lync Server to the old PBX, thereby introducing a more complex environment; it might not be the right decision.

Microsoft Lync Server supports SIP trunks (TCP/IP connection for VoIP data), from both “certified” SIP providers and “standard” SIP providers – for the customers this opens an entirely new world. A SIP trunk is a TCP/IP connection to a SIP provider, no hardware is needed, and multiple Lync Mediation Servers can use the same SIP Trunk. Most SIP trunk providers sell minutes way cheaper than existing PSTN/ISDN lines.

The Mediation server role in Lync Server, contains the features for configuring connection to a SIP trunk. In fact this turns the Lync server environment into a full blown PBX, leaving no real reason to route all calls through an existing PBX.

Reasons for connecting the existing PBX to the Lync environment can be:

  • Phased migration – all users are not moved to Lync in a single phase
  • Complex dial plans cannot be migrated yet
  • Voice mail is part of the existing PBX[1]

Microsoft Lync Server can handle multiple SIP trunks, for different purposes or locations. An example could be, you have multiple old PBXs and 3 different locations in the world, each location can have a SIP Trunk to a local SIP provider[2], and each location can have a SIP trunk for the old PBX, throughout the phased migration. Dialing plans are used to control the flow of the voice call[3].

But please consider the complexity in the example above, in most cases the PBX can be phased out in one step, moving the phone numbers from the PSTN/ISDN to the SIP provider – this greatly simplifies the migration, but must be carefully planned, since all dial plans, normalization rules and call routing must be in place.

[1] Seriously consider using Microsoft Exchange 2010 UM instead

[2] Allowing for the cheapest dialing rates

Why (not to) maintain the old PBX, when implementing Microsoft Lync Server 2010? (part 2)

The “only” requirements for implementing an external SIP trunk in a Microsoft Lync 2010 environment are:

  • Configuration is done using the Lync Server 2010 Topology Builder[1] and not the Lync Control Panel
  • Firewall rules must be created to allow for the VoIP traffic from the servers running the Mediation role to the SIP provider
  • The Mediation Server must have a public IP address for external SIP communication.
  • The users who are supposed to use the external voice features, must be enabled for Enterprise Voice in Lync Control Panel[2]

Features you might consider when implementing SIP trunks:

  • Multiple Mediation servers, in the same Mediation pool – allows for automatic failover. Each Mediation server can be placed in a different location and be “load balanced” using DNS. If one server fails, another Mediation server will be used to route new calls to and from the Lync server environment. Remember that active calls will be lost, if the currently active Mediation server fails[3].
  • Please consider using encryption (TLS) – if the internet is used as a transport for VoIP data.
  • Analog lines are supported, using 3rd party gateways like AudioCodes MediaPack 1xx – a number is assigned to each analog port in a gateway, devices like fax machines, door phones and so on is connected directly to the gateway[4]. This allows for voice calls between an analog device and the Lync environment[5].

[5] WARNING: Do not connect analog lines for alarms, elevator intercoms and other critical utility lines – please use local PSTN/ISDN lines for the special features.

Implementing Microsoft Unified Communication (2010)

An architects guide to implement and maintain a Microsoft UC environment, with Lync 2010 and Exchange 2010 – please click here:

Updated chapters: Introduction, Envisioning

More chapters will come in the near future.

How to create an updated Windows Server 2008 HyperV ISO file with all components

How to create an updated ISO file with all components:

Windows Server 2008 HyperV is now released – all the links

Windows Server 2008 HyperV is now released – all the links


Microsoft has released HyperV for RTM – downloadable using Windows Update – or as a "normal" download using:

Hyper-V Remote Management Update for Windows Vista:
Hyper-V Language Pack Update for Windows Server 2008 – for non english versions of Windows Server 2008:
Hyper-V Step-by-Step Guide: Testing Hyper-V and Failover Clustering:
Performance Tuning Guidelines for Windows Server 2008:
Performance Tuning Guidelines for Windows Server 2008: Hyper-V :
Microsoft Assessment and Planning Toolkit Solution Accelerator:
Microsoft Virtualization Case Studies :