npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

vodia-teams

v2.0.0

Published

Microsoft Teams Direct Routing configuration tool

Readme

Vodia Teams Configuration Tool

A tool for automating Microsoft 365 Teams Direct Routing setup for multi-tenant environments.

Features

  • Automated App Registration with proper permissions
  • Domain verification and management with DNS propagation options
  • SBC (Session Border Controller) configuration
  • Voice routing setup with proper priorities
  • Enterprise Voice enablement for selected users
  • Multiple phone number assignment options
  • Support for tenant-specific credential files

Installation

The tool can be installed globally via npm:

npm install -g vodia-teams

Automatic Prerequisites Installation

The package includes an automated setup script that will attempt to install all required prerequisites:

  • PowerShell 7+ (via appropriate method for your OS)
  • Microsoft Teams PowerShell Module

The installation script will run automatically after installing the package. Depending on your system, you may need to provide administrator credentials during the installation process.

If the automatic installation fails, you can manually run the prerequisites installation:

# Navigate to your installation directory
cd /path/to/vodia-teams
node install-prereqs.js

Manual Prerequisites Installation (if automatic installation fails)

PowerShell Installation

Ubuntu/Debian:

# Install via Snap (recommended for Ubuntu 24.04)
sudo snap install powershell --classic

# OR via apt repository
sudo apt update
sudo apt install -y wget apt-transport-https software-properties-common
wget -q "https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb"
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
sudo apt update
sudo apt install -y powershell

RHEL/CentOS/Fedora:

# Register Microsoft repository
curl https://packages.microsoft.com/config/rhel/8/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo

# Install PowerShell
sudo yum install -y powershell

macOS:

brew install --cask powershell

Windows: PowerShell 7+ can be installed from: https://github.com/PowerShell/PowerShell/releases

Microsoft Teams Module

# Start PowerShell
pwsh

# Install Teams module
Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force -Scope CurrentUser
Set-PSRepository -Name PSGallery -InstallationPolicy Trusted
Install-Module -Name MicrosoftTeams -Force -AllowClobber -Scope CurrentUser

# Exit PowerShell
exit

Usage

vodia-teams --sbc sbc.yourdomain.com --domain yourdomain.com

Options

  • --sbc: Session Border Controller FQDN
  • --domain: Domain name for Microsoft 365 tenant
  • --help: Show help information

Workflow Steps

  1. Credentials Setup: Creates or uses tenant-specific credentials file
  2. Graph API Authentication: Connects to tenant (with retry logic for admin consent)
  3. Domain Management: Adds and verifies domain with DNS records
  4. SBC Configuration: Sets up Session Border Controller
  5. Voice Routing: Configures voice routing with priority 1
  6. Enterprise Voice: Enables users with Teams Phone capabilities

Phone Number Assignment Options

The tool provides three different ways to assign phone numbers:

  1. Sequential E.164 Numbers: Based on a starting number (e.g., +12065550001, +12065550002)
  2. Individual E.164 Numbers: Enter a unique number for each user
  3. Extension Numbers: Assign simple extensions (e.g., 40, 500, 9020)

User Selection

You can choose to:

  • Configure all users with Teams Phone licenses
  • Select specific users by index number (comma-separated list)

DNS Verification Options

When verifying domain ownership, you have three options:

  1. Verify Immediately: Best if DNS records are already propagated
  2. Wait and Verify: Specify a wait time for DNS propagation (minutes)
  3. Skip Verification: Continue without verification (can verify later in Microsoft 365 admin center)

Credentials Management

The tool creates separate credentials files for each tenant based on the SBC FQDN (replacing dots with underscores):

  • For example: sbc_example_com-credentials.json

This allows managing multiple tenants from the same installation.

License

MIT