Category Archives: Skype for Business

What happens when I call 911 from my Skype for Business or Teams mobile client?

UPDATE:  Teams Mobile Clients as of Early 2020 force 911 calls through calling plans or direct routing!

Now that calling in Teams is GA, you may be wondering, what happens when you call 911 with Microsoft Phone System using a desk phone or full client?  I cover that in more detail in another blog post, but basically the call is intercepted by a certified 911 operator and they confirm that you’re in the location assigned to you in the portal before delivering your call, if not, they correct it and get you to the correct emergency dispatch (PSAP).

But what if you’re using your mobile client with Skype for Business or Teams?  It doesn’t matter if you’re in the cloud or not, if you’re using Microsoft as a telephone provider or not (though this is the only way to get Teams), that call will go through your cell phone provider.

Why?  Well, there’s a few reasons.  The first is simply that it’s an external connection, and we can’t locate you (no LIS or location information service) if you’re connected through an Edge server.  But in the cloud EVERYONE is connected through an Edge server and there’s no dynamic location services yet anyway.  Well, Microsoft assumes and rightly so, that your cell phone’s GPS is going to do a better job of locating you than whichever service you may be employing.

Too afraid to test out E911 calling on the mobile clients?  No problem, I did it for you!

Here we are making a call from the Skype for Business Mobile client.  This is an iPhone, so once you hit the call button, it sends the call to the mobile phone which asks me to confirm the call by hitting the Call button again.  Once I hit that, I’m on the line with police using my mobile phone only.

And now that calling is available in Teams, let’s make the same call from the Teams Mobile client to make sure they didn’t forget this important feature.  Of course they didn’t, and it’s the exact same experience.

It’s always important to test E911 services with any solution.  However, to avoid fines and to simply be considerate, please call your local dispatch’s non-emergency number first and ask permission to find out if it’s a good time.  In some metropolitan locations you will need to schedule your test calls in advance to avoid fines.  In the suburbs, they don’t always have many calls happening and you may be OK to make that call immediately after you ask permission.  When they answer, remember that your first statement should be that the call is not an emergency, but rather a test.  Ask them to provider the phone number and location you’re calling from to validate your deployment, and ALWAYS BE POLITE!

Workaround: Add a Skype Menu Item for Meet Now Dedicated

I’ve had this request from a client and it’s hit TechNet forums as well so I wanted to drop this workaround here.

Issue: When you click Meet Now from the Lync or Skype client, it takes you into a new meeting space, the user would prefer to use their dedicated meeting space.

As the issue states, some people have their dedicated meeting space PSTN conference IDs memorized.  If they want to quickly join a meeting using the IDs they’ve already handed out, rather than whatever method they were using before, they just want a menu item in their client.

The trick I’ve given out is as follows:

  1. Figure out the conference conf: link.
  2. Add the link to a reg key.
  3. Exit and restart the client.

The solution looks like this:


To get that menu item, paste the following reg key into Notepad and replace the conf: url with the user’s.  Also note that if you’re using Office 2013, replace Office\16.0 with Office\15.0.  To figure out the conf url, just swap out my sip address ( with your user’s, then replace 055VM3JB (my conference ID) with your user’s.  To find your user’s conference ID, you can edit the hyperlink in a new meeting invite (for the dedicated meeting space) and use the alphanumeric ID past the last /.  You can also use my tool here to get this info for all users at once:

Windows Registry Editor Version 5.00
“Name”=”Meet Now (Dedicated)”

There are other options too, such as scheduling a recurring meeting at a time that’s not intrusive so it’s always in the meetings section of the client for a quick join.  Comment below if you have a better way or improvement as I imagine there are better methods.

QuickTip: Disable Skype RGS Queue Time-Out or Overflow via PowerShell

Recently on the TechNet forums, someone was attempting to disable a response group queue time-out and overflow programatically within a PowerShell script.  In the control panel, there is an obvious check box, but in the PowerShell object, there is no obvious Boolean equivalent to enable/disable.


The simple trick is to set the TimeoutThreshold and OverflowThreshold values to $null instead of a numeric seconds value.

The following simple method will clear both of these checkboxes for you.

$My_RSG_Queue = Get-CSRGSQueue -identity [Your-Queue-Identity]

$My_RSG_Queue.TimeoutThreshold = $null

$My_RSG_Queue.OverflowTheshold = $null

Set-CSRGSQueue $My_RSG_Queue


Can’t Find Skype Online Cloud PBX?

Recently, a lot of our clients and people out on the Internet are dipping their toes in the water of Skype for Business Online Cloud PBX.  This is included with E5, but if you don’t need the full E5 suite, you can add it as an add-on to the E3 licensing level in Office 365.  But what if it’s not there?  Or perhaps you have E5 but PSTN Calling isn’t there (assuming your tenant is in a country it’s currently sold).  You might ask, “How do I find Cloud PBX?” when it’s not an option in the add subscriptions portion of your tenant?

Typically you would navigate to Billing->Subscriptions->Add subscriptions or just click the Purchase Services link in the left pane.


However, once there Cloud PBX, PSTN Calling, and PSTN Conferencing do not exist as options.   We had this same issue and after a call with Microsoft, we’ve learned that the portal website isn’t “fully updated” and it doesn’t recognize E3 licenses purchased through volume licensing, enterprise agreements (EA), or internal user licenses.  The trick to get these options to appear at the time of this blog writing is to purchase a single annual E3 license through the portal, and call Microsoft to refund it.  This should be a short term workaround, so I would ask you to call Microsoft before you begin this procedure.

Once you’ve added this single E3 (or E5 or whatever you have chosen), the flag should be set in the portal and you should now see the options to continue.


Now that we see it, we can add it and select PSTN Calling on the way.


All that’s left is to assign the licenses to your users and dive into Cloud PBX!

Lync and Skype Response Groups; Alert Time vs Queue Time-out


I realize that there are other blogs that discuss this, and my apologies to the owners, but TechNet itself isn’t so clear and this comes up in the forums regularly.  I wanted to clarify just what is Lync and Skype for Business Response Group (RGS) group alert time vs queue time-out as well as discuss their relationship.   I feel it is best to do so through the use of scenarios. Please feel free to comment below if you feel I missed something.

Group Alert Time

This setting is simply how long the entire group will be tried in seconds before it gives up.  It does not mean how long each group member’s phone will ring.  This setting becomes more clear when we look at it in relationship to the queue.

Queue Time-out

This setting is the total amount of time all groups in the queue will be tried.  There are scenarios where the time in the queue is actually longer than the queue time-out is set, and this can be observed in scenario B below.

Scenarios and Examples

It’s easier to explain this through the use of individual scenarios, so I will attempt to outline this below.

Scenario A – Single group in a queue with queue time-out set to be longer than group alert time

In this scenario, the group will ring for the alert time seconds defined in the group and stop.  Since the queue time-out has not been reached, the group will ring again.  This will repeat until the time-out has been reached.  This scenario is handy for when you want the call to fail to another member of the group after a set time-frame.  For example, if you have a four-member group set as round robin, with an alert time of 10 seconds, and your queue time-out is forty seconds, each available member of the group will hear the phone ring assuming nobody picks up.

Scenario B – Single group in a queue with queue time-out set to be shorter than group alert time

In this scenario, even though the time-out is reached the ringing will continue until the group’s alert time has been reached.  For example, if the queue time-out is 10 seconds, but the group’s alert time is 30 seconds, the phone will ring for 30 seconds before the queue acts on the time-out.  This is typically due to a misconfiguration rather than a planned scenario.

Scenario C – Multiple groups in a queue with queue time-out set to be longer than the sum of the group alert times

In this scenario, multiple groups are set up and ordered within the queue.  The first group will be tried until it’s alert time is reached, and since the queue time-out has not been reached, the next group will then be tried.  After each group is tried, a check to see if we’re past the time-out is made.  Since we are not, the first group will be tried again and so-on.

Scenario D – Multiple groups in a queue with queue time-out set to be shorter than the sum of the group alert times

In this scenario, multiple groups are again set up and ordered within the queue.  The first group will be tried until it’s alert time is reached (similar to scenario B, this can extend the queue time-out), and a check is made to see if we’re past the time-out.  If so, we perform our time-out call action.  If not, we move to the next group and try it for it’s full alert time.  At the end, we check to see if we’ve passed the time out and move forward.


Hopefully that cleared a few things up for a few searchers out there, if so or if not leave a comment below.



Yes, Analog Is Still a Big Deal, Enter the AudioCodes MediaPack 1288

It’s a new world, it’s a new model, SIP is king and Unified Communications has supplanted standalone telephony.  We are always connected, we have endless choice for effective communication,  we can start large video conferences from a disposable device in our pockets, we live in the future.  So why am I so excited about this new high density analog gateway from AudioCodes?

In a perfect world, analog would be dead, but we live in the real world with legacy processes EmergencyLight
and systems that need to be brought forward.  Large enterprises, higher education, healthcare, and other organizations still have analog needs that need to be filled in a UC world.  Imagine a university campus filled with emergency blue light call boxes, press a button and you’re on the line with police.  That’s analog. Imagine rooms upon rooms filled with hospitality phones that are extremely costly to replace or have no good SIP equivalent.  More analog.  Until now, the high density analog options for Skype for Business or Lync were rough.  The biggest supported gateway had a mere 24 ports.  Sure, you could maintain many gateways but the complexity multiplies.  It sadly came up that maintaining a trunk to a legacy TDM system was often a reasonable answer.

But finally we have a new option, the AudioCodes MediaPack 1288.  This 3U device can start with 144 analog FXS ports and scale to 216 or 288 depending on the number of line-cards (up to 4) added.  Each of those line cards has three 50-pin champ connectors which can connect to a punch down block or an RJ11 adaptor.  For those emergency phones, it supports long haul connections over 4 and a half miles (your ethernet cable won’t make it).   When you’re used to stacking gateways and maintaining multiple routes, this unit means the world.

For fun, here’s a sneak peek at the unit below with a single line-card. I have to make this clear, this picture is unofficial and the look may change by GA, meaning yours might look a bit different.


If you’re looking for more info, AudioCodes’ site has the specs:

Please Don’t In-Place Upgrade Your Lync OS

I felt the need to blog about this quickly as it’s a question that’s coming up very frequently on the TechNet forums as firms are looking to perform an in-place upgrade of Lync Server 2013 to Skype for Business Server 2015.  Many have deployed Lync on Windows Server 2008 R2, and they’d like to move to Skype for Business Server on Windows 2012 R2.  Many want this simply because they want a more recent operating system.  Further confusion arises from the TechNet article found here:  Many read that Windows 2008 R2 is not listed as a supported operating system and stop reading.  There is a further note that says:

You may have noticed Windows Server 2008 R2 isn’t on this list. That’s because we recommend Windows Server 2012 R2 for all new servers to be used for SFB. You should only be using Windows Server 2008 R2 when you have existing servers with Lync Server 2013 already installed, and you’re intending to do an in-place upgrade of them.

If you fall into this category, in hopes that you find it in your research, this blog is simply here to say DON’T DO IT!  If you want to move to Windows 2012 R2 as part of your upgrade, please build fresh servers and move your users and objects over.  Not only is this a supported upgrade path, there’s less downtime and potentially less risk as you can test and pilot all features before moving objects.  In-place upgrades of the OS are unsupported and have been well known to break Lync.  If you want some more evidence beyond my random blog, some of the comments in Doug’s blog post (two pages of comments) are a fun read:


QuickTip: Changing Lync/Skype Dial Timeouts on VVX Phones

This question has come up from my clients and I’ve seen it on TechNet now as well so I thought I’d share a portion of a config to alter the timeout values on VVX phones for Microsoft Lync or Skype for Business.

With Lync Phone Edition, such as found on the Polycom CX-line of phones, the timeout is hardcoded and cannot be changed.  However, the VVX and other 3PIP (third party IP) phones are more flexible in this regard.

There are two time settings you’ll need to set, on-hook and off-hook.  On-hook simply means the handset is still physically “hung up” on the phone base.  The on-hook time  can be configured with the dialplan.userDial.timeOut parameter.  Off-hook means you’re holding the handset, and that value can be configured with the dialplan.1.lyncDigitmap.timeOut parameter.

The default for the VVX phone is 3.  To experiment with this and increase the value to 9 (long enough for the change to be noticeable, also long enough to drive your users crazy) copy the below config contents in a file called LyncTimeout.cfg.  If you want to start with a different time, you can specify anything from 1 to 99.


Now, let’s upload that configuration to test it.  To do this, navigate to your phone’s web page, go to Utilities -> Import & Export Configuration.  Click choose file to find the file you just created and click Import.  Your phone will reboot and you can see the results.


If you’d like to deploy this to all phones or a subset, you can place the relevant portions in your shared.cfg file per Jeff’s blog:

For other great Lync/VVX settings, check out Greig’s blog on optimising the VVX for Lync:

Review: Jabra Evolve 80 for Lync/Skype

I’m not the first to review these, nor will I be the last.  But I do own a pair and I wanted to walk through it for my own readers.  Thanks for reading!


If you’re unfamiliar with the line, you can find more information here:  In a nutshell, they’re a very high end UC endpoint and are specifically optimized to work with Microsoft Lync.  I’m reviewing the Evolve 80 because that’s what I have, though as you can see in the link above there are others in the line.  The audio quality is outstanding and the noise cancellation features are amazing.


Thoughts on the Various Features

  • Quiet – This is a major feature and one of the key reasons you see it touted.  Jabra has Active Noise Cancellation technology.  There’s a little switch on the side of your headphones that you can flip and the world goes quiet.  It’s not perfect and you don’t want it to be, but I didn’t realize how many fans and chatter my brain was tuning out until I turned this on. I work in a pretty noisy shared workspace area near our call center, this makes a huge difference.  This where the WOW factor for most who are trying them comes from.  Beyond that, the shape and build alone gets rid of a lot of the noise without the cancellation tech.
  • Comfortable – I’ve heard reports from other that they’re a bit too heavy for their taste.  The specifications say they’re about 11.43 oz or just under 3/4 of a US pound.  I didn’t notice the weight, they’re just comfortable to me.  The earpieces fit snugly and are very soft.
  • Wired – This isn’t necessarily a positive for some, but for me it is.  They’re wired.  I don’t have to worry if they’re charged or where that little bluetooth dongle went.  I just pull them out of the case when I’m on the go and use them.  Done.
  • Stereo – I’ve said this many times, I love a good stereo headphone.  My head needs to feel balanced. I can’t explain this, but the mono headsets many love so much are difficult for me to get used to and must be very comfortable.
  • Microphone – It moves out of the way and isn’t intrusive.  I haven’t tested the audio quality of the microphone because in my world, I don’t care.  It’s likely to be compressed to G.711 or G.729.  The mic itself is not too noticeable when it’s up and I’m listening to music.
  • Works with everything – You can separate the USB dongle portion that functions as a call and volume control module and you’ll expose a 3.5mm headphone/microphone jack that will work great with your smartphone as well.  You can see a picture of that below.  The UC portion also supposedly works with Avaya and Cisco, but if you have one of those old PABX systems I assume you’re using them ironically, you crazy hipster.
  • Audio Quality – I stopped listening to music a while ago because I typically work in a very noisy environment.  Since I received these, I’ve found myself listening to music quite a bit, the noise cancellation makes it a pleasure and the audio for the first time in my office is very clear.
  • Easy to Use – Plug and play.  It’s Lync!  I didn’t have to read any manual.
  • Good Looking – Yeah they are.  The pop of red is a nice touch.  Very cool.  The red ring you see in the picture above is the “busylight” which you can turn on an off even when you’re not in a call.  I don’t think I’ll ever be able to train my colleagues to not bother me regardless, but I like the look.

Cons – I can’t afford to buy them for everyone, but everyone wants one.  I let several people in my office try them out and received a lot of “wows”.  Given a choice of endpoints, this very reasonably priced next to a Polycom VVX 500 or CX600 phone, but getting both may be a tough sale.  No surprise for a headset of this caliber.

Overall Impression

So I don’t need to repeat it but I will.   I love them, and I give them the highest marks.  Is love a strong word?  Yes.  Too strong?  No. Even when I’m not on a call or listening to music I’ve just kept them on so I can plan and write without distraction.  These are my new favorite endpoint.






Thanks for reading!


Adding a Blind Transfer Button on a Polycom VVX for Lync or Skype

Note: Included in this blog post is a macro created by myself for VVX phones.  It is not supported by Polycom or myself and no warranty is given.  Like any code found on the Internet, use as your own risk.

I’m a big fan of the Polycom VVX line.  They’re high quality, feature rich, and very configurable. That said, like any phone, some of the default options can leave users confused early in the deployment.  On a recent Enterprise Voice rollout of Lync 2013, we were receiving early reports that “transfers don’t work” on the VVX phones.  Our Q\A and followup tests had shown no issues.

The issue wasn’t a problem with the functionality, but with user training.  Despite handouts and training sessions, not everyone got the message that the default transfer type was consultative.  Consultative transfer means that when you attempt to transfer a call, the phone expects that you to chat with the party you’re transferring to and ensure they’re available to take the call.  Most users at this client had only ever had a blind transfer option.  This kind of transfer is more simple, enter the number and the call is on it’s way regardless if the other end wants it or can accept it.

The method for performing a blind transfer traditionally can be found in the Using Polycom® VVX Phones in a Microsoft Lync™ Environment Quick User Guide document.  The basic usage is Answer a Call -> Transfer -> More -> Blind -> Enter the number and hit Green phone button.  I’ve taken some screenshots below on a VVX 500 running UCS 5.2 for reference.

Answer and Hit Transfer


Click the More button


Click Blind


The text changes to “Blind transfer to”.  Enter the number and click the green phone icon.



The complaint was that Lync is supposed to be easy and this all seemed harder.   The go-to of course is to get everyone used to using the Better Together experience with the BToE software supplied by Polycom for the best possible and easiest experience.  Still, during a transition, user experience is king so I set out to create a button to make transfers easier.  The plan was to have a button up front that was easy to use and eliminated steps.  I’ve decided to share this code with you.

<version efk.version=”2″ />
efk.efklist.1.label=”Blind Transfer”
efk.efkprompt.1.label=”Number: ”

<feature.enhancedFeatureKeys feature.enhancedFeatureKeys.enabled=”1″/>

For now, just save that block of code above into a file called blind.cfg, we’ll discuss how to upload it in a bit.  I won’t itemize everything this macro is doing or explain how to create your own buttons or “Enhanced Feature Keys”, we’ll leave that up to the Polycom documentation.  I do however want to walk through a few of the important settings.

This first and most important line I’d like to call out in the above macro is this:

<feature.enhancedFeatureKeys feature.enhancedFeatureKeys.enabled=”1″/>

That line simply enables Enhanced Feature Keys or EFK.  EFKs are a method of creating softkeys on Polycom phones and assigning macros to them.  Without this line, these keys aren’t enabled and you won’t see the newly added button.

Our prompt block is defined below:

efk.efkprompt.1.label=”Number: ”

Here were creating a prompt numbered “1”, making it visible, accepting only numbers to avoid confusion, and creating a text prompt that simply says “Number: “.

Our macro block is defined below:

efk.efklist.1.label=”Blind Transfer”

We’re basically creating a macro called “btransfer1”, setting the status to “1” to make it available and assigning it an action of $P1$N11$Trefer$”.  P1 displays prompt number 1 which is defined above, N11 means that we’re expecting up to 11 digits (you may want to change this to suit your needs) and Trefer tells the call to transfer upon receving the input.

Additional softkey lines setting it up:


For our softkey number 1, we’re labeling the button “BTransfer”.  You can call it Blind, or whatever you like.  The action we’re calling is our btransfer1 macro and we’re setting enabled to 1 so we can use it.

Again, I’ll show you how to upload this to a single phone later in the article, but for now let’s look at the new transfer experience.

A call comes in, user hits “BTransfer” which is on the far left.


 The user enters the number and hits Enter.  btransfer2

You’re done!

Notice the “Number:” prompt, the name “BTransfer” we defined in the macro, and the clarity of the process compared to the original.  Also note that though the 500 is shown, this works just as well in VVX 300, 400, and 600 phones.  Shown below is a VVX 300, note the truncated button name:


To upload, navigate to your phone’s web page, go to Utilities -> Import & Export Configuration and click “Choose File” to locate the blind.cfg file you created earlier.  Click the Import button and wait for the phone to reboot.  If you’d like to deploy this to all phones or a larger subset, check out Jeff Schertz’ and Greig’s blog as found in the references sections.  Actually, just check out their blogs anyway, they’re jammed full of helpful information.


Thank you for reading, I hope you found it helpful!