news 2026/7/7 2:34:30

FreeSWITCH windows docker

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
FreeSWITCH windows docker

是的,你提到的命令只映射了 SIP 信令端口,对于一个完整可用的 FreeSWITCH 服务来说,通常还需要暴露更多的端口。

根据 FreeSWITCH 的官方文档和社区实践,除了 5060 UDP 端口,还有以下 TCP 和 UDP 端口在特定场景下是必需的。

需要额外暴露的端口

下表整理了除 5060 (UDP) 外,常见的需要暴露的端口及其用途:

端口协议用途说明
5060TCPSIP 信令 (Internal Profile)官方文档显示 SIP 同时支持 TCP 和 UDP,因此 TCP 5060 也需要映射。
5080TCP & UDPSIP 信令 (External Profile)FreeSWITCH 默认的externalprofile 会使用 5080 端口,用于处理来自外部或公网的 SIP 请求。
8021TCPEvent Socket (ESL)这是非常重要的管理端口。用于fs_cli等客户端连接,以执行控制台命令、监控系统状态等。
5066TCPWebSocket 信令为 WebRTC 等基于 Web 的客户端提供 SIP over WebSocket 服务。
7443TCPWebSocket 信令 (安全)基于 TLS 的安全 WebSocket 信令端口。
16384-32768UDPRTP/RTCP 媒体流核心端口范围。用于传输语音、视频等实时媒体数据。这是大范围端口,在 Docker 中映射需要特别处理。

注:不同的 Docker 镜像(如chatopera/freeswitch等)列出的默认端口范围可能略有不同,比如有的镜像使用64535-65535/udp作为媒体端口。

如何修改启动命令

你可以参考下面的命令,将上述关键端口一并映射。请注意,大范围 UDP 端口的映射可能会消耗较多内存并导致启动变慢,以下是一个示例:

docker run-d--name freeswitch `-p 5060:5060/udp-p 5060:5060/tcp `-p 5080:5080/udp-p 5080:5080/tcp `-p 8021:8021/tcp `-p 5066:5066/tcp `-p 7443:7443/tcp `-p 16384-32768:16384-32768/udp ` hangzhou.aliyuncs.com/bytedesk/freeswitch:latest

替代方案与建议

  1. 使用 Host 网络模式:对于生产环境或完整功能部署,许多经验丰富的用户会采用--net=host模式。这能让容器直接使用宿主机的网络栈,避免复杂的端口映射和潜在的性能问题。命令示例:

    docker run-d--name freeswitch--net=host--cap-add SYS_NICE freeswitch/freeswitch
  2. 检查镜像文档freeswitch/freeswitch这个官方镜像的默认配置和端口可能与其社区衍生版不同。最可靠的方法是查阅该镜像在 Docker Hub 上的具体说明,确认其暴露的端口和配置方式。

你遇到的这个错误信息Client.Timeout exceeded while awaiting headers,是 Docker 从官方仓库拉取镜像时,网络连接超时导致的,这是在国内很常见的问题。

根本原因在于 Docker Hub 的服务器在国外,国内网络访问时可能会比较慢或不稳定。别担心,解决方法很简单,最推荐的就是配置国内镜像加速器

💡 如何配置镜像加速

你可以参考下面的步骤,为 Docker 配置一个国内镜像源。

  1. 获取加速器地址
    你可以选择使用一些公共的镜像加速服务(可能不太稳定),或者推荐注册一个阿里云或腾讯云的账号,获取一个专属的加速地址,这样最稳定,通常也是免费的。

  2. 修改 Docker 配置

    • Windows (Docker Desktop):右键点击系统托盘中的 Docker 图标,选择Settings->Docker Engine
    • 在打开的 JSON 配置文件中,加入或修改registry-mirrors项。例如,填入你获取到的阿里云加速地址:
      {"registry-mirrors":["https://<你的专属ID>.mirror.aliyuncs.com"]}
      如果你还没有专属地址,也可以先尝试用下面这个公共的试试看:
      {"registry-mirrors":["https://registry.docker-cn.com"]}
    • 点击Apply & Restart按钮,让配置生效。
  3. 再次尝试拉取
    配置生效后,重新执行你之前的docker run命令,应该就能成功拉取镜像了。

🔧 备选方案

如果配置加速器后问题仍然存在,可以考虑:

  • 检查网络:确保你的网络连接稳定,可以尝试ping registry-1.docker.io看看连通性。
  • 使用其他镜像:有开发者提供了部署在国内的 FreeSWITCH 镜像,也可以尝试直接拉取,例如:docker pull registry.cn-hangzhou.aliyuncs.com/bytedesk/freeswitch:latest

没问题,下面是完整的一行命令(Windows PowerShell 中直接粘贴即可):

docker run-d--name freeswitch-p 5060:5060/udp-p 5060:5060/tcp-p 5080:5080/udp-p 5080:5080/tcp-p 8021:8021/tcp-p 5066:5066/tcp-p 7443:7443/tcp-p 16384-32768:16384-32768/udp registry.cn-hangzhou.aliyuncs.com/bytedesk/freeswitch:latest

如果要进入 FreeSWITCH 控制台验证,用这个一行命令:

docker exec-it freeswitch fs_cli

如果只想快速体验,不想映射那么多端口,可以简化为:

docker run-d--name freeswitch-p 5060:5060/udp-p 5060:5060/tcp-p 8021:8021/tcp-p 16384-32768:16384-32768/udp registry.cn-hangzhou.aliyuncs.com/bytedesk/freeswitch:latest
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/7 2:28:45

Three.js 等高线教程

等高线 Contour Line ▶ 在线运行案例 案例合集&#xff1a; 三维可视化功能案例&#xff08;threehub.cn&#xff09;开源仓库github地址&#xff1a; https://github.com/z2586300277/three-cesium-examples400个案例代码: 网盘链接 你将学到什么 ShaderMaterial 自定义…

作者头像 李华
网站建设 2026/7/7 2:27:36

【单片机毕业设计】基于 STM32 的智能循迹避障小车控制系统设计,基于单片机的多功能智能小车感知检测系统开发(017401)

文章目录 20 个相关毕业设计备选题目项目研究背景摘要总体方案一、核心硬件清单及选型说明二、整体硬件搭建方案 核心功能一、核心自主行驶功能二、模式切换与预警功能三、辅助监测可视化功能 技术路线项目演示关于我们项目案例源码获取 博主介绍&#xff1a;✌️码农一枚 &…

作者头像 李华
网站建设 2026/7/7 2:26:34

FreeRTOS学习day1:Keil 工程配置与 FreeRTOS 链表机制理解

今天主要复盘了两个部分&#xff1a;一是 Keil 工程配置中的 Linker、Scatter File、时钟配置问题&#xff1b;二是 FreeRTOS 内核中链表结构、类型转换和常用宏定义的理解。 一、Keil 中 Linker 和 Scatter File 的理解 一开始遇到的报错是&#xff1a; Error: L6218E: Unde…

作者头像 李华
网站建设 2026/7/7 2:26:28

NitroGen:CVPR 2026最佳论文提名,英伟达让AI“打遍天下游戏”

一个模型&#xff0c;通吃1000款游戏——从《我的世界》到《只狼》&#xff0c;从2D平台跳跃到3D动作冒险 &#x1f4cc; 原文信息 论文标题&#xff1a;NitroGen: An Open Foundation Model for Generalist Gaming Agents 作者团队&#xff1a;Loc Magne, Anas Awadalla, Gua…

作者头像 李华
网站建设 2026/7/7 2:20:20

【Java毕业设计】基于 SpringBoot 的家政人员调度管理系统的设计与实现 基于前后端分离的家庭生活服务管理系统(源码+文档+远程调试,全bao定制等)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/7/7 2:16:38

异步通知教程

介绍在Linux系统编程中&#xff0c;异步通知&#xff08;Asynchronous Notification&#xff0c;也称信号驱动I/O&#xff09;是一种让驱动程序主动“敲门”通知应用程序的通信机制。简单来说&#xff0c;它不是让应用程序去“询问”设备是否有数据&#xff0c;而是让设备在数据…

作者头像 李华