Is it safe to open
SIP and VoIP ports are scanned constantly by toll-fraud bots looking for weak extensions. Allow only your provider's IP addresses on the firewall where possible, use long SIP passwords, fail2ban, and disable SIP ALG on the router.
How to open port 5060
Open to everyone
# Linux iptables iptables -A INPUT -p tcp --dport 5060 -j ACCEPT iptables -A INPUT -p udp --dport 5060 -j ACCEPT # Ubuntu ufw ufw allow 5060/tcp ufw allow 5060/udp # firewalld firewall-cmd --permanent --add-port=5060/tcp && firewall-cmd --reload firewall-cmd --permanent --add-port=5060/udp && firewall-cmd --reload # MikroTik /ip firewall filter add chain=input protocol=tcp dst-port=5060 action=accept place-before=0 comment="port 5060" /ip firewall filter add chain=input protocol=udp dst-port=5060 action=accept place-before=0 comment="port 5060" # Windows (PowerShell) New-NetFirewallRule -DisplayName "Port 5060 TCP" -Direction Inbound -Protocol TCP -LocalPort 5060 -Action Allow New-NetFirewallRule -DisplayName "Port 5060 UDP" -Direction Inbound -Protocol UDP -LocalPort 5060 -Action Allow
Only for your addresses
# allow only one address or network (replace 203.0.113.0/24) iptables -A INPUT -p tcp --dport 5060 -s 203.0.113.0/24 -j ACCEPT iptables -A INPUT -p udp --dport 5060 -s 203.0.113.0/24 -j ACCEPT iptables -A INPUT -p tcp --dport 5060 -j DROP iptables -A INPUT -p udp --dport 5060 -j DROP ufw allow from 203.0.113.0/24 to any port 5060 proto tcp ufw allow from 203.0.113.0/24 to any port 5060 proto udp /ip firewall filter add chain=input protocol=tcp dst-port=5060 src-address=203.0.113.0/24 action=accept /ip firewall filter add chain=input protocol=udp dst-port=5060 src-address=203.0.113.0/24 action=accept /ip firewall filter add chain=input protocol=tcp dst-port=5060 action=drop /ip firewall filter add chain=input protocol=udp dst-port=5060 action=drop
If the server is behind a router, you also need a port forward (dst-nat). Behind ISP CGNAT (100.64.0.0/10 on the WAN) forwarding will not help: you need a public IP or a VPN.
What is listening
Check on the server
# what listens on the port ss -lntup | grep ':5060 ' netstat -ano | findstr :5060 # Windows lsof -i :5060 # macOS # test from another machine nc -vz example.com 5060