Author Archives: Deep Kumar
Connect to Microsoft Graph using Client Secret
This is most common method used to avoid interactive login & when you want to run an script in unattended mode. Let’s start by Registering an application in Azure. Below are the steps to register an application in Azure AD: … Continue reading
M365 Licensing
In this post we will show you how to use Microsoft Graph PowerShell to view and manage Microsoft 365 Licenses. Let’s say you decided to start using M365 services. You created a new M365 Tenant & purchased required M365 product … Continue reading
VS Code Autocomplete for Azure Terraform
Azure Terraform extension for vscode will allow autocomplete. But in case we want the resource to be pouplated with required attributes then we need to add below line of code onto settings.json file. Open Visual Studio Code. Then open settings.json … Continue reading
Azure AD Roles vs Azure RBAC Roles
Inside Microsoft Azure environment, we see two kind of permission granting mechanism – Azure roles and Azure AD roles. They play their own role as per your requirement as M365 administrator OR as as a Azure Tenant Administrator. We will … Continue reading
Azure Identity Objects aka Security Principal’s
A security principal represents a user, group, or service principal that can be used to assign permission on various Azure Resources. Users (User Principal): These are basically our normal users with UPN and password. We create a user object in … Continue reading
Azure Terraform Module
A Terraform module is a container for creating azure resources with modular approach. Every Terraform configuration has at least a root module & it consists of the resources defined in the terraform .tf files in the main working directory.
Demystifying Teams Call flow using Wireshark
In this post we will try to analyze Teams call flow using Wireshark tool. For this demonstration we will take 2 users (User1 & User2). User1 will try to establish call with User2 and based on their location (direct connection, … Continue reading
SDP
SDP (Session Description Protocol) is as good as saying like how I am reachable & what all we can use to communicate with each other. To compare it with real life analogy, let’s say someone want to reach us. We … Continue reading
M365 Teams Calling Components for Direct Routing
Call Controller (CC)– This component take care of various call related operation in O365, this includes Reverse number lookup, call progress, routing calls to/from PSTN. Sends a roster of connected callers & if required then ring multiple endpoints. Coordinates Call Me … Continue reading
VoIP & MS Teams
VoIP is a way of transferring audio and even video information all-across the Internet. But sending this type of real time data over the internet isn’t as simple as attaching a file to your email or sharing it via OneDrive etc… … Continue reading
Azure Resource group using Terraform
Any resource we create in Azure need to be part of Resource group. So we will write-up a very basic code to create a Azure Resource group. Below is our sample code to create the resource group “Demo-RG” in “eastus” … Continue reading
MS Teams Direct Routing call flow with LBR config
In a previous blog post we walked through the steps to configure Microsoft Teams environment for Location Based routing for PSTN calling. In this blog post, we will try to understand the call flow in LBR Setup. Below flow-chart depict the call … Continue reading
AudioCodes SBC config for MS Teams Direct Routing
Direct routing is a feature where you can bring your own telecom carrier for making PSTN call from Teams client. Logically most of the certified SBC follow same logic. But the option & terminology is slightly different. Audiocodes SBC are … Continue reading
Call routing decision when Direct Routing/ Operator Connect/ MS calling plan co-exist
Often we come across scenario where we have direct routing setup for few users, additionally we have also bought few number with MS calling plans. Now we also have another option of operator connect to buy calling plans from MS … Continue reading
Use “Enter” key to copy data in Windows Terminal
While working at PowerShell , we have the option of copying text by selecting it and pressing Enter key. Later, we can paste the text whenever required by right-clicking anywhere inside the window. Unfortunately Windows Terminal does not allow us … Continue reading
Voice Protocols & Codec
Signaling Description: These protocols are responsible for the establishment, preservation and tearing down of call sessions. They are also responsible for the negotiation of session parameters such as codecs, tones, bandwidth capabilities, etc. Media Description: A protocol is designed to … Continue reading
E911 Call flow in Microsoft Teams
Very often we come across scenario where we need to configure E911 for Teams. Especially in US, after introduction of two laws (Ray/Baum act & Kari law). It is very important to understand the E911 call flow for its proper … Continue reading
Porting a MS calling Plan user number to Direct Routing
One among the interesting scenario is port-out number from MS calling to Direct routing. Scenario will be where currently you are using MS calling plan. You have purchased Domestic and International calling plan from Microsoft. So today your users are … Continue reading
SIP Protocol
SIP (Session Initiation Protocol) is the protocol used for signaling in VOIP communication. When 2 sip User agent want to communicate with each other, first they need to initiate the session. SIP is the protocol which will help in establishing … Continue reading
Microsoft Teams Common Area Phone
Organization are migrating from legacy phone system to Microsoft Teams by adopting Teams Phone System as a replacement for their traditional PBX systems. There are general scenario where organizations are having common area phones such as at reception. In these … Continue reading
Media bypass in Microsoft Teams
Microsoft Teams leverage Media Bypass benefit with Direct Routing configuration. This is basically to shorten the path between Teams client and SBC/PSTN gateway. Normally, voice traffic or media traffic will travel from the Teams client to Media Relay servers in … Continue reading
Dial Plan in Microsoft Teams
Dial Plan are set of rules which translate the phone number dialed by user to E.164 format. E.164 is the international telephone numbering plan that ensures each device on the PSTN has globally unique number. This number allows phone calls … Continue reading
Location Based Routing in Microsoft Teams
Sometime we come across a scenario where we need to ensure that calls going outside the country/region need to go out through local carrier PSTN gateway. This is basically to meet the telecom regulation of that country/region. While leveraging teams … Continue reading
Troubleshooting MS Teams
Generate logs in MS Teams: Open MS Teams, then Press Ctrl + Alt + Shift + 1 This will generate logs in Downloaded folder of your Windows PC. Folder will be generated with timestamp and it will contain 3 folders.
E911 Dynamic Emergency calling in Microsoft Teams
Dynamic emergency calling is a mechanism to notify emergency help services during an emergency scenario & this will be based on the location of the Teams Client. This will work with Microsoft Calling plan, Operator connect & Direct Routing. The … Continue reading
M365 Licensing using msol and AzureAD powershell
M365 licensing can be tricky sometime. Below cmdlt flow will help you sort out your tenant licensing information properly. PS C:\> Install-Module AzureAD PS C:\> Connect-AzureAD PS C:\> Install-Module MSOnline PS C:\> Connect-MSolservice Next lets get the list of all … Continue reading
Script to get MS Team user information
You will come across requirement where you need to fetch users MS Teams related information e.g. you are going to enable voice services for the users, so you need to get the required information whether user have required license, usage … Continue reading
MS Teams Auto-Attendant call forwarding to External PSTN number with Direct Routing
We have a situation where MS Teams auto attendant call need to be get forwarded to external PSTN numbers. As we know Auto-attendant make use of number assigned to resource account. So basically when we are configuring forwarding in Auto … Continue reading
Caller ID policies to mask user number with Resource account number in MS Teams
Masking caller id is one among the standard phone system feature. When MS Teams user call someone on PSTN number, organization want to show the the common phone number e.g. call from reception should show reception desk number instead of … Continue reading
Connect various M365 services from VScode
Install PowerShell extension in VSCode Connect to MS Teams from VSCode: Connect to Exchange online from VSCode: Connect to AzureAD from VSCode: Connect to Azure from VSCode:
Script to connect MS Teams
Sometime you may want to avoid entering user-name and password every time. Below is the small script you can use it to connect to MS Teams. Last line of the below code is just to change the PowerShell title. This … Continue reading
Exchange PowerShell script to convert DL to contact
Recently I have came across a requirement where customer want to remove few of the DL but they want to keep the email-id mapped to a new contact. All the existing attribute should be stamped to the new contact. LegacyDN … Continue reading
MS Teams PSTN call flow with Direct Routing
Lets try to investigate what happens when user dials a PSTN number from their MS Teams client. User launched dial pad in MS Teams. User dialed a number +1-425-765-6xxx Check for the dial plan (policy) assigned to the user. If … Continue reading
Auto Attendant in MS Teams
Create Resource account for call queue and auto attendant. Basically this is the account which will be mapped to call queue Or auto-attendant and a phone number will be assigned to these resource accounts. PS C:\>New-CsOnlineApplicationInstance -UserPrincipalName “RA_CQ@domain.com” -DisplayName “Test … Continue reading
Handy Cmdlts in Microsoft Teams
Often we come across of scenario where we need small onliner cmdlts to get information quickly. Below are few such onliner. Get the details of all MS Teams users and value stamped to these user properties. PS C:\> get-csonlineuser | … Continue reading
Azure Terrafy
Infrastructure as code (Iac) is a perfect way to automate your deployment. But sometime it’s difficult to find a point where to start. So here comes Azure Terrafy for rescue. It is an open-source tool that allows you to quickly … Continue reading
Configure Operator Connect in MS Teams
Operator connect provide a way to enhance your Teams calling experience. With the help of operator connect you can call any mobile, landline or PSTN number directly from your Teams app. To configure Operator connect you need to have required … Continue reading
Call Routing Method in MS Teams Call queues
Call Routing Method is an important aspect while we configure Call queues in MS teams. Its important to understand so that agent doesn’t gets overloaded and shares equal loads of incoming calls. In MS teams we have 4 type of … Continue reading
Use PowerShell ISE in VSCode
Install PowerShell extension onto the VSCode. 2. Open command palette onto the Vscode using Ctrl+Shift+P and search for ISE. You should be able to see below options. Just select PowerShell: Enable ISE Mode. 3. Once you select the mode, you … Continue reading
Create call queues in MS Teams
Create resource account from MS Teams Admin center. Select the resource account type to Call queue. Assign free license to resource account. Microsoft Team Phone system-Virtual User License assignment need to done from Microsoft 365 admin center.