Microsoft Teams与FreeSWITCH直连:TLS连接状态未激活问题求助
FreeSWITCH Direct Routing TLS连接激活方案
1. 证书有效性核查
- 确认FQDN对应的SSL证书为受信任CA签发(自签证书需提前在SBC端导入根证书),证书域名需与配置的FQDN完全匹配,通配符证书需符合格式要求(如
*.example.com可匹配sbc.example.com)。 - 验证证书链完整性:执行命令
openssl s_client -connect your-fqdn:5061,检查返回结果是否包含verify return:1,确保服务器证书、中间证书无缺失。 - 检查证书有效期:执行命令
openssl x509 -in your-cert.pem -noout -dates,确认证书未过期。
2. FreeSWITCH TLS配置验证
- 核对
vars.xml中的TLS参数:<X-PRE-PROCESS cmd="set" data="tls-cert-path=/path/to/fullchain.pem"/> <X-PRE-PROCESS cmd="set" data="tls-private-key-path=/path/to/privkey.pem"/> <X-PRE-PROCESS cmd="set" data="tls-passphrase=your-passphrase-if-any"/> - 确保
sip_profiles/external.xml开启TLS监听:<param name="tls-port" value="5061"/> <param name="tls-enabled" value="true"/> <param name="tls-verify-client" value="false"/> <!-- 若SBC需客户端验证则设为true并导入对应证书 --> - 重启FreeSWITCH后,在
fs_cli中执行sofia status profile external,确认5061端口处于Running状态。
3. 网络与防火墙排查
- 验证SBC到FreeSWITCH的5061端口连通性:在SBC侧执行
nc -zv your-fqdn 5061,确保能正常连通。 - 检查FreeSWITCH服务器防火墙(iptables/ufw/firewalld)是否放行5061端口,同时确认安全组、NAT规则无流量阻挡。
- 若使用NAT,需在
external.xml中配置正确的公网IP或FQDN:<param name="ext-sip-ip" value="your-fqdn"/> <param name="ext-rtp-ip" value="$${external_rtp_ip}"/>
4. SBC侧配置核对
- 确认SBC的TLS版本与FreeSWITCH兼容(FreeSWITCH默认支持TLS1.2+,禁用TLS1.0/1.1等过时版本)。
- 若SBC开启服务器证书验证,需确保其信任FreeSWITCH证书的CA,否则会拒绝连接。
- 检查SBC配置的SIP端口为5061(TLS端口),而非默认的5060(UDP/TCP)。
5. 日志定位问题
- 查看FreeSWITCH日志(
/var/log/freeswitch/freeswitch.log),搜索TLS或error关键词,获取连接失败的具体原因(如证书验证错误、握手失败)。 - 查看SBC侧连接日志,根据报错细节针对性修复。
内容的提问来源于stack exchange,提问作者Adesh Patel
相关产品推荐
相关产品推荐

