Author Archives: C. Anthony Caragol

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

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!

 

Changing CNAM in Microsoft Phone System for Teams and Skype

This is a question that has been asked by several of my clients, so I thought I’d address it here.  When you’re using Teams or Skype for Business with Microsoft as a telephony provider, whether with an international or domestic calling plan, the outbound call appears as your Office 365 domain name or city.  For example, when I make an outbound call, it looks like the call is coming from Caragol.com or sometimes Chicago, IL depending on how the lookup is performed.

This is your CNAM or Caller-ID Name.  To be clear, caller ID refers to your phone number, while CNAM is the name associated with the caller ID.

The question is, can you change it?  The answer is yes but not via PowerShell or the Admin Console.  If you need to change it, you’ll need to send an email to PTN@Microsoft.com, the number porting team.   You’ll want to send your text string of no more than 15 characters to them.  If you have multiple, you can send them in XLS format with the number in one column and the new CNAM in the other.

Hopefully this helps you out if you find yourself in this situation.

Microsoft Phone System: You’re not set up to use this calling feature

This has come up with a few of my hybrid clients, and it’s not very clear error message so I thought I’d take a minute to post about it.

Issue: You make a call with Microsoft Teams or Skype for Business and instead of reaching the recipient, you hear “You’re not set up to use this calling feature.  Please contact your admin.” from the Diagnostic Announcement Service.

This can arise in a few scenarios.  Scenario 1 is when you’re using Microsoft as you’re telephony provider.  You have Microsoft Phone System licensing and a valid calling plan, but you’re hearing this message.  This typically is due to the user not having a phone number assigned.  If you do have a phone number assigned, try un-assigning it and re-assigning it.

Scenario 2 is the hybrid scenario.  This is where the client is using Cloud Connector Edition (CCE) or OPCH (effectively Lync or a Skype for Business Server on-premises handling hybrid voice).  In this scenario you don’t want a phone number assigned.  I’ve often found that the client has assigned a Domestic Calling Plan or even left Communications Credits enabled as a license for the users.  Disabling the calling plan and/or credits should get the user back to functional.

Oddly enough, I’ve got a client that has most users enabled with communications credits, but a only a small percentage receive the error.  I haven’t worked that out yet past removing the communication credits licensing from their accounts.

Reminder: Quarterly Skype and Teams Users Groups

Quick reminder for those of you in the Chicago area, tomorrow night is our quarterly Microsoft Teams and Skype for Business user group.

These are always fun and valuable, and a great place to network with your peers and make those relationships.  Vendors and local experts attend regularly as well so it’s a place to get those questions answered too!

We’ll be talking about some of the new announcements from Microsoft Ignite as well as talk about what Intelligent Communications is and what the future holds.

To register or to find other local groups visit http://www.skypeug.com

Please note this meeting will be held at Microsoft in Downers Grove  (3025 Highland Pkwy., Suite 300).

Quick Script: Office 365 License Information for Skype and Teams

I found myself in need of a specific script during a tenant migration, one that only included information about Skype for Business Online and Microsoft Teams.  There wasn’t anything out there that exactly matched what I needed, so I created the following with a bit of reverse engineering and help from support.office.com.  If the script is at all helpful, please feel free to use it, hack it up, send me improvements, whatever you’d like.

The outputs of the script is a CSV and a GridView showing the results of the license data.  The names of the licenses are a bit cryptic, but I’ll summarize them below:

  • TEAMS1- Microsoft Teams
  • MCOSTANDARD – Skype for Business Plan 2
  • MCOMEETADV – Audio Conferencing (formerly PSTN Conferencing)
  • MCOEV – Phone System (formerly Cloud PBX)
  • MCOPSTN1 – Domestic Calling Plan
  • MCOPSTN2 – International Calling Plan
  • MCOPSTNPP – Communication Credits

UPDATE: I ran across a tenant with a 120 minute domestic calling plan, which is available through an EA.  This plan is labelled as MCOPSTN_5.

I’m not certain I grabbed all of the values, so please comment and help me improve the script.

The script itself should be run after you connect to your tenant via PowerShell.  If you’re not sure how, read the following article: https://technet.microsoft.com/en-us/library/dn975125.aspx but in a nutshell, you’ll need to download a PowerShell module and run the Connect-MsolService command.

Once you’re connected, the script to run is here:

$LICENSEOBJECT = @()
$ALLUSERS=Get-MSOLUser -all
$ALLUSERSCOUNT=$ALLUSERS.COUNT
$COUNTER=0

foreach($msolUser in $ALLUSERS)
 {
  $COUNTER++
  $MCOEV=""
  $MCOMEETADV=""
  $MCOSTANDARD=""
  $MCOPSTN1=""
  $MCOPSTN2=""
  $MCOPSTNPP=""  
  $TEAMS1=""

  $UserInfo = Get-MSOLUser -UserPrincipalName $msolUser.UserPrincipalName
  foreach($license in $msolUser.Licenses)
   {
    if ($license.servicestatus|where {$_.serviceplan.servicename -like "MCOEV"}) 
     {
      $MCOEV=$license.servicestatus|where {$_.serviceplan.servicename -like "MCOEV"}
     }
       
    if ($license.servicestatus|where {$_.serviceplan.servicename -like "MCOMEETADV"}) 
     {
      $MCOMEETADV=$license.servicestatus|where {$_.serviceplan.servicename -like "MCOMEETADV"}
     }
     
    if ($license.servicestatus|where {$_.serviceplan.servicename -like "MCOSTANDARD"})
     {
      $MCOSTANDARD=$license.servicestatus|where {$_.serviceplan.servicename -like "MCOSTANDARD"}
     }

    if ($license.servicestatus|where {$_.serviceplan.servicename -like "MCOPSTN1"})
     {
      $MCOPSTN1=$license.servicestatus|where {$_.serviceplan.servicename -like "MCOPSTN1"}
     }

    if ($license.servicestatus|where {$_.serviceplan.servicename -like "MCOPSTN2"})
     {
      $MCOPSTN2=$license.servicestatus|where {$_.serviceplan.servicename -like "MCOPSTN2"}
     }

    if ($license.servicestatus|where {$_.serviceplan.servicename -like "MCOPSTNPP"})
     {
      $MCOPSTNPP=$license.servicestatus|where {$_.serviceplan.servicename -like "MCOPSTNPP"}
     }

    if ($license.servicestatus|where {$_.serviceplan.servicename -like "TEAMS1"})
     {
      $TEAMS1=$license.servicestatus|where {$_.serviceplan.servicename -like "TEAMS1"}
     }
   }

   $LICENSEOBJECT += New-Object PsObject -Property @{
    "DisplayName"="$($UserInfo.DisplayName)"
    "UserPrincipalName"="$($Msoluser.UserPrincipalName)"
    "TEAMS1"=$TEAMS1.ProvisioningStatus
    "MCOEV"=$MCOEV.ProvisioningStatus
    "MCOMEETADV"=$MCOMEETADV.ProvisioningStatus
    "MCOSTANDARD"=$MCOSTANDARD.ProvisioningStatus
    "MCOPSTN1"=$MCOPSTN1.ProvisioningStatus
    "MCOPSTN2"=$MCOPSTN2.ProvisioningStatus
    "MCOPSTNPP"=$MCOPSTNPP.ProvisioningStatus
   }

   write "Processing $($UserInfo.DisplayName) $COUNTER \ $ALLUSERSCOUNT"
 }

#This line creates a CSV for your personal use
$LICENSEOBJECT | SELECT DisplayName,UserPrincipalName,TEAMS1,M* | export-csv License.csv -NoTypeInformation

#This line outputs the data into Out-Gridview
$LICENSEOBJECT | SELECT DisplayName,UserPrincipalName,TEAMS1,M* | Out-GridView

 

 

No Script Needed: List all GPOs related to Skype or Lync for your domain.

I saw a question out there asking if there was a script to list the group policy objects in an organization related to Lync or Skype settings.   I’m not aware of one, but I didn’t really look.  I did know that it was possible to check thanks to Pat Richard’s QOS Calculator which includes a tab that generates the PowerShell code to create a GPO for you (seriously, that’s a heck of a tool).  So, I figured I’d take a break and whip the following command up to answer the question, keep in mind I ran it directly from my domain controller as you’ll need the RSAT installed to get the PowerShell module for the GPO.

Get-GPO -all | foreach { if ((Get-GPOReport -guid $_.id -ReportType XML) -match “Lync|Skype”) {write $_.DisplayName}}

*UPDATE: Pat Richard has already optimized my PowerShell command.  New smaller command can be seen above.

Going to Microsoft Ignite? Come See My Session!

I’m blown away and completely honored to be able to speak at this year’s Microsoft Ignite conference in Orlando, Florida!   Danelle Van Der Koon @danelle_vdk (like me, from SWC Technology Partners) and I will be talking about driving adoption through Microsoft FastTrack.

Here’s the synopsis: Struggling to figure out which pieces of Office 365 are going to work best for your end users? Microsoft’s framework, FastTrack, aims to help demystify the process and the path to usage and adoption through envisioning, on-boarding, and driving value. What many may not realize is the largest ROI for Office 365 comes from end users adopting and using the products (beyond Exchange Online). Envisioning and implementing the product are the first steps toward success; but the key to success is driving the value for your implemented products forward through a series of resources. Hear stories from the field of how enablement can help to drive the value of Office 365 and make your Office 365 implementation an even bigger success.

The session will be on Monday, September 25th and the session code is THR1060.  Find it in your session builder and come say hi!

UPDATE:

Brian Ricks has invited several other MVPs out to speak and participate at his session “Getting your Skype for Business issues resolved”.  That session is on Wednesday, Sept 27th and the session code is BRK3370.

UPDATE:

Thanks all who came out!  Here’s are some links pic below if you want to see the decks, as well as a couple of pics:

https://techcommunity.microsoft.com/t5/Microsoft-Ignite-Content-2017/Drive-Office-365-adoption-by-driving-value-through-Microsoft/td-p/99504

https://techcommunity.microsoft.com/t5/Microsoft-Ignite-Content-2017/Getting-your-Skype-for-Business-issues-resolved/m-p/99440

Reminder: Quarterly Skype and Teams User Group Tomorrow!

Quick reminder for those of you in the Chicago area, tomorrow night is our quarterly Microsoft Teams and Skype for Business user group.

These are always fun and valuable, and a great place to network with your peers and make those relationships.  Vendors and local experts attend regularly as well so it’s a place to get those questions answered too!

The first session will cover Microsoft Teams with an In-Depth Demonstration (Chat, A/V, & Meetings). I will be presenting Hybrid Architectures & Related Migration Strategies, which is always a fun topic for me 🙂

To register or to find your own local UC group visit http://www.skypeug.com

This session will be held at the Microsoft offices in the Aon Center (200 East Randolph Drive, Suite 200, Chicago, Illinois, 60601)

Yes, Your Cloud PBX CNAM Might Be Wrong, But Be Patient

For those of you leveraging Microsoft Skype for Business Online Cloud PBX with a number obtained by using a PSTN Calling License, you might have noticed an outbound call showing up with the wrong CNAM, or Caller ID Name.  While Microsoft has handled many of these already, there are still some out there.    If a user brings this to your attention, you can check using opencnam.com, or a number of other tools.  These can even be scripted to check blocks of numbers.

Once you’ve identified the number with an incorrect CNAM, you’ll need to open a ticket with Microsoft, but please be patient, as of right now we’re hearing that there’s a bit of a backlog handling these.

OpenCnam.com Website Screenshot

Reminder: Quarterly Skype for Business User Groups

Quick reminder for those of you in the Chicago area, tomorrow night is our quarterly Microsoft Skype for Business user group.

These are always fun and valuable, and a great place to network with your peers and make those relationships.  Vendors and local experts attend regularly as well so it’s a place to get those questions answered too!

The first session will explore the array of various directory synchronization and client authentication models available today within Office 365, including topics like password synchronization and Modern Authentication.

Our second session will focus on the new Microsoft Teams client and then finish up with a recap of the latest Skype for Business announcements from Enterprise Connect 2017.

To register or to find your own local UC group visit http://www.skypeug.com

This session will be held at the Microsoft offices in Downer’s Grove (23025 Highland Pkwy., Suite 300, Downers Grove, Illinois, 60515)