本地SIP服务器默认端口号是5060,走UDP或TCP协议;启用TLS加密呼叫时使用5061端口,部署时还要放行一组RTP媒体端口,常见范围是10000到20000。
为什么本地SIP服务器离不开端口号
SIP服务器在局域网或本机运行时,所有注册、呼叫、挂断指令都要先经过一个固定入口,这个入口就是SIP信令端口,可以把信令端口理解成公司前台总机,分机之间的通话媒体流则走另外的RTP端口,像内部员工之间的直线电话。
本地SIP服务器常用软件有Asterisk、FreeSWITCH、3CX、迷你SIP服务器等,它们有一个共同点:安装完成后默认监听5060端口,5060这个数字不是随机分配的,来自RFC 3261标准,该标准把SIP协议的默认信令端口定为5060,TLS加密信令端口定为5061。
通话建立后,语音数据不会继续挤在5060端口,而是通过RTP媒体端口传输,不同软件的RTP默认范围不太一样:Asterisk通常使用10000到20000,FreeSWITCH默认使用16384到32768,3CX可以自定义,这些范围属于行业内公开的默认配置,部署前需要一并放行。
本地sip服务器端口号是多少:5060与5061的核心答案
这个问题几乎是每个首次搭建本地语音系统的人都会搜的,直接回答:不加密场景下,本地sip服务器端口号是5060;加密场景下,本地sip服务器端口号是5061。
两个端口的具体分工可以用下面这张表看清楚。
| 端口号 | 传输协议 | 用途 | 是否加密 | 常见场景 |
|---|---|---|---|---|
| 5060 | UDP/TCP | SIP信令注册与呼叫控制 | 否 | 内网IPPBX、家庭Asterisk、小型呼叫中心 |
| 5061 | TCP/TLS | SIP信令加密传输 | 是 | 公网远程注册、对安全要求较高的企业通信 |
| 10000-20000 | UDP | RTP语音媒体流 | 否 | Asterisk默认媒体端口范围(可修改) |
| 16384-32768 | UDP | RTP语音媒体流 | 否 | FreeSWITCH默认媒体端口范围(可修改) |
行业共识认为,5060至今仍然是SIP信令的事实标准端口,多数本地部署优先考虑5060,因为配置简单、软硬件兼容性最好,只有在需要穿越公网或对接外部运营商时,5061才有明显存在感。

很多刚接触的人会问:本地sip服务器端口号是多少和RTP端口是不是一回事?不是,SIP信令端口负责“打通电话”,RTP媒体端口负责“传输声音”,只放行5060,通话可以建立,但双方听不到声音,这是本地部署中最常见的单通故障之一。
sip服务器默认端口号5060被占用怎么办
安装完Asterisk或FreeSWITCH后,启动失败或者分机无法注册,第一件事就是检查5060是否被占用,占用原因很多,常见的有:之前安装过其他SIP服务、软电话客户端占用了5060、系统里同时运行了两个Asterisk实例。
排查命令很直接。
- Windows系统:打开命令提示符,输入
netstat -ano | findstr :5060,找到监听进程的PID。 - Linux系统:输入
ss -tulnp | grep 5060或lsof -i :5060,同样能看到占用进程。
发现占用后有两种处理思路。
- 停掉占用5060的程序:如果是旧版SIP服务或无关软件,直接结束进程或卸载。
- 修改本地SIP服务器监听端口:把默认5060改成5070、5080等未占用端口。
修改端口不是只改服务器,所有分机、话机、软电话、网关里的注册端口都要同步修改,遗漏任何一个设备,就会出现注册超时或呼叫失败。
本地sip服务器端口怎么修改与防火墙放行
不同软件的修改路径不同,但思路一致:找到配置文件中的端口参数,改成新端口,重启服务,再放行防火墙。
修改Asterisk本地SIP服务器端口
如果使用传统chan_sip模块,编辑 /etc/asterisk/sip.conf。
- 找到
bindport=5060,改成bindport=5070。 - 保存后执行
asterisk -rx "sip reload"或systemctl restart asterisk。
如果使用PJSIP模块,要修改 /etc/asterisk/pjsip.conf 中对应transport的端口配置,不同版本路径可能略有差异,但参数名基本都围绕bindport展开。
修改FreeSWITCH本地SIP服务器端口

编辑 /etc/freeswitch/vars.xml。
- 找到
<X-PRE-PROCESS cmd="set" data="internal_sip_port=5060"/>。 - 把5060改成需要的端口,例如5080。
- 重启FreeSWITCH:
systemctl restart freeswitch。
防火墙放行本地SIP服务器端口
修改端口后如果只在服务器本机测试,可能不需要防火墙操作,但只要分机在其他电脑或话机上,就必须放行。
- Ubuntu/Debian:
ufw allow 5070/udp,ufw allow 10000:20000/udp。 - CentOS/Rocky:
firewall-cmd --permanent --add-port=5070/udp,firewall-cmd --reload。 - Windows:在“高级安全Windows Defender防火墙”中添加入站规则,放行UDP和TCP的5070端口。
很多人只放行信令端口,忽视RTP端口,正确做法是把SIP信令端口和RTP媒体端口范围一起放行。
局域网sip服务器端口映射及远程注册场景
如果所有分机都在同一个局域网内,不需要做端口映射,话机直接填写服务器内网IP和5060端口即可注册。
只有一种情况需要端口映射:分机在外部网络,要通过公网注册到本地SIP服务器,这时必须在路由器上做映射。
- 映射SIP信令端口:5060或自定义端口,协议同时勾选UDP和TCP。
- 映射RTP媒体端口:Asterisk映射10000到20000,FreeSWITCH映射16384到32768。
- 检查路由器是否开启SIP ALG功能,很多光猫和家用路由器默认开启SIP ALG,反而会导致外网注册失败或单通。
不少北京本地sip服务器端口映射用户反馈,运营商光猫自带SIP ALG会篡改SIP报文中的地址信息,造成话机注册成功但通话无声,关闭光猫SIP ALG或改用桥接模式后,问题基本消失,其他地区的光猫也有类似情况,处理思路一致。
远程注册时如果对语音安全有要求,可以使用5061端口走TLS,5061映射到公网后,信令内容加密,不容易被监听,但RTP媒体流默认不加密,需要额外配置SRTP才能实现端到端加密。
sip服务器端口号5060和5061的区别
这两个端口经常被放在一起比较,但用途差别很大。
- 5060是明文SIP信令,抓包工具可以直接看到号码、IP、呼叫路径。
- 5061是TLS加密SIP信令,抓包只能看到加密后的乱码,看不到具体呼叫信息。
- 5060对设备兼容性最好,老话机、低端网关、部分运营商中继只认5060。
- 5061需要证书配置,服务器端和话机端都要导入证书,配置门槛更高。

本地内网环境一般用5060就够了,只有在公网暴露、跨地域组网、或对接第三方加密中继时,才考虑切到5061,两者可以共存,服务器同时监听5060和5061,内部分机走5060,外部分机走5061,互不冲突。
修改本地SIP服务器端口时,建议避开知名端口和系统临时端口,常见替代端口有5070、5080、5090,别用5062、5063这种邻近端口,部分SIP软电话扫描时容易误判。
本地SIP服务器端口排查中用到的几个判断
部署完成后如果出现注册失败或单通,优先按下面顺序排查。
- 确认服务器本身在监听目标端口:
netstat -tulnp | grep 5060。 - 确认话机或软电话填写的端口与服务器一致。
- 确认防火墙放行了UDP和TCP,不是只放行一个。
- 确认RTP媒体端口范围没有被防火墙拦截。
- 如果走公网,检查路由器端口映射是否生效、SIP ALG是否关闭。
只要端口配置正确,多数本地SIP服务器的注册问题都能在几分钟内定位,端口本身不复杂,复杂的是修改后要同步更新所有相关设备。
Q&A
本地sip服务器端口号是什么?
本地SIP服务器默认信令端口号是5060,使用UDP或TCP协议,如果启用TLS加密,则使用5061端口,媒体流使用RTP端口,Asterisk默认10000到20000,FreeSWITCH默认16384到32768。
本地sip服务器端口号5060注册失败怎么办?
先检查5060是否被占用,Windows用netstat -ano | findstr :5060,Linux用ss -tulnp | grep 5060,再检查话机填写的IP和端口是否正确,最后确认服务器防火墙是否放行了5060的UDP和TCP。
本地sip服务器端口号可以改成别的吗?
可以,Asterisk在sip.conf或pjsip.conf中修改bindport参数,FreeSWITCH在vars.xml中修改internal_sip_port参数,改完后重启服务,并同步修改所有分机的注册端口和防火墙规则。
图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/802866.html

