# freeswitch **Repository Path**: class125good/freeswitch ## Basic Information - **Project Name**: freeswitch - **Description**: No description available - **Primary Language**: Unknown - **License**: GPL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-29 - **Last Updated**: 2026-02-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # FreeSWITCH FreeSWITCH 是一个开源的电话软交换平台,提供强大的语音、视频、短信和实时通信功能。作为一个模块化的可扩展系统,FreeSWITCH 能够处理各种通信协议和媒体格式,适用于构建企业级通信解决方案、呼叫中心、VoIP 网络以及统一通信系统。 ## 主要特性 - **多协议支持**:原生支持 SIP、H.323、WebRTC、ISDN 等多种通信协议 - **跨平台运行**:可在 Linux、macOS、Windows 等多种操作系统上部署 - **模块化架构**:通过模块加载机制灵活扩展功能,支持自定义应用开发 - **高可扩展性**:支持大规模部署,可处理数万路并发通话 - **丰富的媒体处理能力**:内置转码、录音、会议、IVR 等功能 - **分布式架构**:支持集群部署,实现负载均衡和高可用性 ## 应用场景 - 企业语音通信系统 - 呼叫中心解决方案 - VoIP 电话服务提供商 - 视频会议系统 - 统一通信平台 - SIP Trunking 服务 - 语音邮件和自动应答系统 ## 快速开始 ### 环境要求 - 操作系统:Linux (推荐 CentOS/Debian/Ubuntu)、macOS - 内存:最低 1GB,推荐 4GB 以上 - 磁盘空间:至少 10GB 可用空间 - CPU:支持 SSE2 指令集的处理器 ### 编译安装 ```bash # 安装依赖 (以 Debian/Ubuntu 为例) sudo apt-get update sudo apt-get install -y build-essential git libjpeg-dev libpng-dev \ libtool autoconf automake pkg-config libncurses5-dev libssl-dev \ libcurl4-openssl-dev libsqlite3-dev libpcre3-dev libspeexdsp-dev # 获取源码 git clone https://gitee.com/class125good/freeswitch.git cd freeswitch # 编译配置 ./bootstrap.sh ./configure --prefix=/usr/local/freeswitch # 编译并安装 make && make install ``` ### 使用 Docker ```bash # 官方 Docker 镜像 docker pull freeswitch/freeswitch docker run -d --name freeswitch \ -p 5060:5060/tcp \ -p 5060:5060/udp \ -p 5080:5080/tcp \ -p 5080:5080/udp \ -p 8021:8021/tcp \ freeswitch/freeswitch ``` ### 基本配置 安装完成后,配置文件位于 `/usr/local/freeswitch/conf` 目录: ```bash # 启动 FreeSWITCH /usr/local/freeswitch/bin/freeswitch # 进入 CLI 控制台 /usr/local/freeswitch/bin/fs_cli ``` ## 目录结构 ``` freeswitch/ ├── conf/ # 配置文件目录 │ ├── autoload_configs/ # 自动加载的配置模块 │ ├── dialplan/ # 拨号计划 │ ├── directory/ # 用户目录 │ └── sip_profiles/ # SIP 配置文件 ├── log/ # 日志文件 ├── scripts/ # Lua/JS 脚本 ├── src/ # 源代码 ├── libs/ # 依赖库 ├── bin/ # 可执行文件 └── doc/ # 文档 ``` ## 核心概念 ### 拨号计划 (Dialplan) 拨号计划定义了通话路由逻辑,通过 XML 格式编写: ```xml ``` ### SIP 配置 SIP 配置文件位于 `conf/sip_profiles/` 目录,定义了注册信息、编码器、传输层等参数。 ### 模块管理 通过 `modules.conf` 启停模块: ``` # 加载模块示例 load mod_spandsp load mod_curl load mod_lua ``` ## 贡献指南 1. Fork 本仓库 2. 创建功能分支 (`git checkout -b feature/amazing-feature`) 3. 提交更改 (`git commit -m 'Add amazing feature'`) 4. 推送分支 (`git push origin feature/amazing-feature`) 5. 创建 Pull Request ## 资源链接 - **官方文档**: https://freeswitch.org/confluence/ - **社区论坛**: https://freeswitch.org/confluence/ - **问题反馈**: https://github.com/signalwire/freeswitch/issues - **版本下载**: https://files.freeswitch.com/ ## 许可证 本项目遵循 MPL 1.1 开源许可证,详细内容请查看 LICENSE 文件。