I company I work for just completed an O365 tenant migration. After email had been moved to a new Exchange tenant, we noticed that users continued to use their Outlook apps on their phones. They were also continuing to chat on the old tenant's Teams and were using all of the Office apps on the web using their cached logins.
This caused a headache. Some users were in the new environment with the correct domain—others didn't notice the “@onmicrosoft.com” and were having issues with SSO apps that had been migrated.
We needed to revoke all of the cached login tokens force log out all users. This quick Powershell command did the trick:
Once that's complete, you will need to upload the file to a publicly accessible file share. I used Azure Files to create a storage container and provide direct access to the file. This URI will be pointed to in the script, so you cannot use something like OneDrive or SharePoint without special configuration.
Before running this script, you will need to change the following XXX values:
$QuestODMMSIURI – This will be the publicly accessible MSI that you uploaded to your file share.
This functionality is desired for training and call center environments and is intended for managers or supervisors to listen in on ongoing calls between agents and external customers.
Before enabling this feature, you must have the following in your environment:
At least 2 users.
At most 100 users.
All users must be licensed with an MVP Premium account.
All users must have a call out number associated with their extension.
There are two user roles for this workflow that are admin-managed from the Ringcentral web dashboard:
“Can Monitor”: A user with this role can join an ongoing call of any user in the “Can be Monitored” group. I will refer to these users as “managers” in this guide.
“Can be Monitored”: A user with this role can have any ongoing call joined by users in the “Can Monitor” group without immediate notification that this is occurring. I will refer to these users as “agents” in this guide.
I will refer to the third party callers as “customers” in this guide.
After adding a user to the “Can be Monitored” group, they will receive the following notification email:
There doesn't appear to be a way to suppress this notification.
Create the Call Monitoring group
Login to Ringcentral with an admin account.
Navigate to Phone System > Groups > Call Monitoring and click + New Call Monitoring
Enter a name for the Call Monitoring group. This will not be displayed to users.
After entering the name, expand the “Group Members” setting. Select at least one user for “Can Monitor” and at least one other user for “Can be Monitored”. (Note: I was unable to have the same user in both categories, so a user seems to only be able to use one or the other):
Save these group settings and return to the main Ringcentral view.
“Can Monitor” user setup
After the admin stuff has been completed, the manager with the “Can Monitor” role must do the following:
Open the Ringcentral web or desktop app and login with their user account.
Click on the “Settings” icon at the bottom left. Click on “Phone”.
In the “Phone” menu, scroll down to the Heads-Up Display (HUD) section and enable the HUD by flipping the switch:
Save the settings, accept the notification, and return to the main Ringcentral view.
From the main Ringcental view, click on the “Phone” icon.
Under the “HUD” section, click on “Extensions”. Click on the “Add an extension” button:
Type the name of the “Can be Monitored” user(s) and then click the Add button:
Monitoring a call
After the admin and user changes are made, the “Can Monitor” manager can then monitor when a “Can be Monitored” agent is in an active call using these steps:
The “Can Monitor” user must open the Ringcentral web or desktop app and login using their user account.
Navigate to “Phone > HUD” and join the call by hovering over and clicking on “Monitor Call”:
From there, there are several tools that the “Can Monitor” manager can employ:
Call whisper: Talk to the “Can be Monitored” agent without the customer hearing.
Call barge: Talk to all parties on the line. This is like a conference call.
Call takeover: Drops the “Can be Monitored” agent from the call, leaving the manager and the customer on the line.
Call recording: Begins a recording session with no notice to the customer or the agent. These recordings are stored in the “Call history” tab in the Phone section of the Ringcentral web or app interface.
Ringcentral requires audio files to be saved as .mp3 files.
To do this, you'll need to convert your audio that you recorded in the Voice Recorder from .m4a into .mp3 using the app Audacity and the ffmpeg plugin. Audacity and ffmpeg are open source programs that can convert audio into different formats. Audacity is the main program and ffmpeg is an extension that Audacity uses to open .m4a files.
Install Audacity and the ffmpeg extension
Before you'll be able to convert the file, follow these steps to get Audacity and ffmpeg set up on your computer:
I am creating an onboarding/new hire Sharepoint List at one of my clients and wanted to display a column/field only if a box is checked.
To do this, I created two columns:
ReplacementHire = Boolean Yes/No checkbox
PreviousUser = Text field
I wanted the PreviousUser field to only appear if the ReplacementHire box is checked.
To do this, I opened my Sharepoint List and did the following steps:
Click on the New button on the left side of the page.
In the Form view, click on the book/edit icon at the top right and click “Edit columns”
Click on the three dots next to the column that you want to hide. Click “Edit conditional formula”
In the popup window, paste in the following: =if([$ReplacementHire] == true, 'true', 'false') From what I gather, the if statement reads, if the box is checked (true), then 'true' (meaning display the field), else 'false' (if not, hide the field).
Click OK and then Save. Refresh the page and test.
There was also some headache in the field/column name. What you typed in originally for the column name will be the “anchor” or name in the URL.
To get this anchor, do the following:
Navigate to the Sharepoint site, click on Site Contents.
Find the form, click on the three dots, and click Settings.
On the Settings page, click on the column title under the Columns section.
On the Column setting page, check the URL in your browser for anything after &Field= This info will be the “anchor” that you use for the =if([$anchor] == true, 'true', 'false') in the Conditional Format window.
A company I'm working with is using a Neat Bar[A] and Neat Pad[A] for Zoom calling. They also use Meraki network devices for wireless (MR 42) and switching (MS 250).
As explained in the Neat documentation[A], the Neat Pad and Bar cannot continue through the setup screen when using Meraki devices with default options for DHCP.
In our environment, we have a wireless SSID that is set to bridge clients to a Wireless VLAN subnet. This SID is using a Pre-Shared Key (PSK), it's not hidden, and is using both 2.4ghz and 5ghz bands with band steering. The DHCP server is running on the Switch Virtual Interface (SVI) configured on the Wireless VLAN subnet.
When trying to connect the Neat Pad and Bar to this SSID, the setup screen allows them to connect, but it say that it's not connected to the internet. The workaround for this is to configure the DHCP options in the SVI to include an NTP time server IP.
The steps are as follows:
Open the Meraki dashboard in a browser.
Navigate to Switch > Routing & DHCP:
Click on the row to open up the Switch Interface config:
In the section “DHCP options”, click the “Add a DHCP option” button. Select “NTP Server (42)”. Copy/paste in one of the direct IPs from the NIST Internet Time Servers page: https://tf.nist.gov/tf-cgi/servers.cgi
After that, you might need to reboot the Neat devices, but the Neat Pad screen should say that the wireless connection has internet access and allow you to continue the setup.
I contacted Google Support and got as much info as I could.
Google Multi-Gig Router ports
I have the model number GFRG300. There are 1 RJ-11 port, 5 RJ-45 ports, 1 USB port, and one SFP+ port. Starting from the top:
Green RJ-11 port with phone handset icon: Line for VOIP phone
3 yellow RJ-45 ports with arrow icons: 1 gbps LAN ports. (Ports intended for devices connected to LAN, e.g. PCs, NASes)
Red RJ-45 port with globe icon: Secondary copper WAN connection. Unknown speed. Google Support stated that Router does not support dual WAN uplinks. (Port intended for setups where direct ONT fiber connection is not available and requires a modem and copper RJ-45 for uplink. Not intended for LAN connections. )
Bronze/copper RJ-45 port with the text “10” and arrow icons: 10gbps LAN port. (Port intended for a multi-gig switch or the Wifi Mesh Tri-Band Extender.)
Blue USB port: Intended for tech-support/troubleshooting service. Google Support stated there is no network connectivity supported over USB.
Silver SFP+ port with globe icon: 10gbps SFP port for WAN uplink. Google Support could not provide if this was an SFP or SFP+ port, but it's probably SFP+. (Port intended as uplink using fiber SFP module for connection to ONT.)
Google Wifi Tri-Band Mesh Extender with Wifi 6
I have the model number GFEX310. There are two RJ-45 ports and one USB port on the back of this device.
Going from left to right:
Black USB port: Intended for tech-support/troubleshooting service. Google Support stated there is no network connectivity supported over USB.
Yellow RJ-45 port with arrow icons: 1gbps LAN port (intended for LAN pass thru for wired devices)
Blue RJ-45 port with arrow icons and globe icon: 1gbps LAN port (intended for wired connection to upstream router or switch)
If you've deployed an Azure VM and did not enable the “Login with AAD credentials”, option, you can enable sign in using Azure Active Directory credentials later using Cloud Shell with this command in Azure CLI:
az vm extension set \
--publisher Microsoft.Azure.ActiveDirectory \
--name AADLoginForWindows \
--resource-group ResourceGroup \
After running that command, you'll need to add an entry to the local group to allow interactive sign in using RDP. The extension doesn't add this permission and you will need to do it manually, running this command in a remote Powershell:
net localgroup "remote desktop users" /add "AzureAD\email@example.com"
You will also need to add 2 lines the RDP file downloaded from the “Connect” tab so that you can connect without issues:
After connecting to the VM using RDP, you will also need to disable network-level authentication from Control Panel.
In the background, the extension will change the Join Type of the VM to “Azure AD Joined” and your Devices blade will update with that information after a couple of minutes.