Teams Stun

Published
Length
3 min read

Luis Felipe Dias

All posts

You set up teams stun by opening outbound UDP ports to public network servers. This lets client apps find their public IP address and port for voice calls. Many engineering groups rush this step when calls fail on office networks. They open wide port ranges and give broad admin roles to fix audio fast. When roles or firewall rules stay too broad, attackers and scripts can abuse them. Anyone with network admin rights can change routing rules or inspect live traffic. How teams stun works in your

Slack / Teams Security Notifications: the complete guide

Architecture patterns, implementation strategies, and security best practices. Delivered to your inbox.

Free white paper. No spam. Unsubscribe anytime.

You set up teams stun by opening outbound UDP ports to public network servers. This lets client apps find their public IP address and port for voice calls. Many engineering groups rush this step when calls fail on office networks. They open wide port ranges and give broad admin roles to fix audio fast. When roles or firewall rules stay too broad, attackers and scripts can abuse them. Anyone with network admin rights can change routing rules or inspect live traffic.

How teams stun works in your network setup

STUN stands for Session Traversal Utilities for NAT in standard network setups. Most office networks sit behind a firewall that hides private device IP addresses. When two people start a call, their apps must know where to send audio. The client app sends a small request to a remote STUN server. That server reads the public IP address and port from the incoming packet. It then sends that public address information back to the client app. Now the two apps can send voice and video packets straight to each other. To make this work, admins must allow UDP traffic to specific server address ranges. Admins also log in to cloud consoles and routers to save these firewall rules. In many setups, every network engineer shares the same high-level admin role.

What native network rules solve and what they miss

Native firewall rules and admin roles solve the basic network path problem. They make sure voice and video packets flow without dropping during a live call. Role settings in your cloud console also decide who can log in. They check a user identity before that person opens the network settings page. Still, this native setup leaves a major operational gap during daily work. Role checks only decide who logs in at the start of a session. They do not inspect what individual commands, queries, or requests do in flight. Once an engineer logs in with an admin role, they have full control. A single bad command can open all ports or delete a routing table. Native roles also fail to filter sensitive data inside database queries or support tools. If an engineer queries call logs, raw emails and phone numbers appear on screen. Static credentials stored on engineer laptops also create a huge risk for the team. If an attacker steals a saved key, they can run any command at will. Teams need a way to check every single action and rewrite sensitive fields live.

Why least privilege matters for network and database tasks

Giving every engineer full admin rights feels fast during a live call outage. Yet broad roles turn small human mistakes into major outages across the whole system. When teams support real-time media systems, they often query backend databases to check metrics. Those databases hold user records like emails, phone numbers, card numbers, and national IDs. Without field-level controls, a basic status check exposes private customer data to the screen. Data masking solves this by rewriting matched fields in query results before display. Teams also need approval steps before someone runs a risky command on a server. Checking each command in flight keeps the network safe while engineers fix call issues. It shifts security from broad login checks to fine-grained control over every single task.

Slack / Teams Security Notifications: architecture patterns and best practices

Continue reading? Get the full guide.

Free. No spam. Unsubscribe anytime.

Add runtime guardrails and masking beside your databases and APIs

Login rules, role grants, and CI checks govern who connects to your stack. Yet any allowed script, engineer, or AI agent still runs commands with the full scope of its role. For workloads on Postgres, MySQL, SQL Server, MongoDB, ClickHouse, Kubernetes, SSH, or internal HTTP services, hoop.dev sits beside the service as an open-source proxy, a sidecar for your database or API.

Before a query runs, hoop.dev guardrails check the statement against your rules. An AI Analyzer you configure can score intent or hold risky calls for human review. Next, hoop.dev data masking rewrites sensitive fields in responses, and each verdict is logged per listener. Explore the MIT-licensed project on GitHub.

Frequently asked questions

What does a STUN server do during a team call?

A STUN server tells a client app its public IP address and port. This helps two devices behind firewalls send voice and video traffic to each other.

Why do admins avoid opening all UDP ports for media traffic?

Opening all UDP ports exposes internal servers to unwanted traffic and outside attacks. Admins should only allow the exact port ranges and IP blocks needed for calls.

How can teams protect customer data when checking call logs?

Teams can use data masking to rewrite emails and phone numbers in query results. This lets engineers fix call bugs while keeping private user details safe in logs.

Save the open-source gateway.

hoop is MIT-licensed infrastructure for controlling how AI agents reach production data. Star hoophq/hoop so you can inspect it, deploy it, or share it when your team starts governing agent access.