Flexisip 2.6 介绍与选型指南
Flexisip 2.6 定位、架构、特性与 Kamailio/Asterisk 等同类选型对比(联网溯源,查询日期 2026-10-25)。
Flexisip 2.6 介绍与选型指南
目标:帮助读者快速认识 Flexisip 的定位、架构与核心能力,并与同类 SIP 服务器横向对比,回答「Flexisip 是什么、适合什么场景、是否值得选」的问题。本文为联网溯源文档,全部事实来自官方仓库 README、官方 Wiki 与 GitHub 镜像,来源与查询日期(2026-10-25)已在文中逐项标注,未包含本地实测内容。
一、环境信息
本文为认知与选型篇,信息来源与环境如下:
- 上游主仓:
gitlab.linphone.org/BC/public/flexisip(Belledonne Communications 官方 GitLab,实时访问受限时可通过 GitHub 镜像github.com/BelledonneCommunications/flexisip核对标签与 README,查询日期 2026-10-25)。 - 官方文档站:
wiki.linphone.org(Flexisip 专区,安装页最近修订于 2026-08-10)。 - 官方 APT 仓库:
download.linphone.org/snapshots/ubuntu(2026-10-25 实测可达,版本清单见下文)。 - 版本事实:最新稳定版 2.6.2(GitHub 镜像标签与 noble stable 仓库一致);
2.7.0-alpha为预发布版本,不用于生产。 - 许可证:GNU AGPLv3 免费使用,或向 Belledonne Communications 购买私有商业许可(双许可,来源:官方 README,查询日期 2026-10-25)。
二、软件概述
Flexisip 是法国 Belledonne Communications 公司(开源软电话 Linphone 的开发商)开源的 SIP 服务器套件,用 C++20 编写,采用模块化架构,提供 SIP 代理(Proxy)、呈现(Presence)、注册事件(RegEvent)、背靠背用户代理(B2BUA)、语音信箱(Voicemail)五类核心服务。免费 VoIP 服务 sip.linphone.org 自 2011 年起即由 Flexisip 驱动,属于经过生产验证的老牌项目(来源:官方 README,查询日期 2026-10-25)。
💡 技术拓展:SIP(Session Initiation Protocol,RFC 3261)是 VoIP/实时通信的信令协议,负责会话的建立、修改与拆除。围绕 SIP 的服务器有几种典型角色——
角色 职责 典型产品 Proxy/Router(代理/路由) 转发 SIP 消息、路由决策 Flexisip、Kamailio、OpenSIPS Registrar(注册服务器) 接收 REGISTER、维护地址绑定 通常内嵌于 Proxy(Flexisip 即如此) B2BUA(背靠背用户代理) 终结并重建会话,可做身份转换、拓扑隐藏 Flexisip B2BUA、Asterisk PBX/软交换 完整电话交换业务(IVR、队列、计费) Asterisk、FreeSWITCH Flexisip 主体是「Proxy + Registrar + Presence」的信令服务器组合,并附带 B2BUA/Voicemail 能力;它不是全功能 PBX,定位更接近 Kamailio/OpenSIPS 一类。
三、核心架构
3.1 单二进制多服务形态
Flexisip 只有一个主二进制 flexisip,通过 --server <类型> 启动不同服务角色(来源:官方 Wiki Installation 页,查询日期 2026-10-25):
| 服务 | 启动参数 | 职责 |
|---|---|---|
| Proxy | --server proxy | SIP 代理/注册服务器(默认角色) |
| Presence | --server presence | 呈现服务器,管理在线状态订阅/发布 |
| RegEvent | --server regevent | 向同级域通知用户注册事件 |
| B2BUA | --server b2bua | 背靠背 UA,做呼叫身份转换、SIP 中继 |
| Voicemail | --server voicemail | 语音信箱服务 |
每种服务对应一个独立的 systemd 单元(flexisip-proxy.service、flexisip-presence.service 等),各服务运行在独立进程中,可以同机混部,也可以拆到多台主机横向扩展。
⚠️ 注意:会议服务器(Conference Server)自 Flexisip 2.6 起已从主仓库拆出,独立为
flexisip-conference仓库并单独打包;从 2.5 及更早版本升级且使用会议功能的用户需阅读官方的《Flexisip 2.5 to 2.6 migration guide》(来源:官方 README,查询日期 2026-10-25)。
3.2 模块化处理链
Proxy 服务内部是「模块链」架构:每条 SIP 消息依次流经启用的模块(module::DoSProtection → SanityChecker → Capabilities → NatHelper → Registrar → Router → PushNotification → MediaRelay → Forward 等,2.6.2 共 23 个内置模块),每个模块可独立启停、可用过滤器表达式限定生效范围。默认配置下 Flexisip 表现为一个「简单转发代理」——收到请求按路由规则转发,不主动应答(来源:官方 Wiki Installation 页,查询日期 2026-10-25)。
3.3 推送与媒体支撑
- Push Notification:内置苹果 APNs 与谷歌 FCM 推送模块,可在被叫 App 未运行时通过推送唤醒,是移动端 VoIP 的关键能力(RFC 8599)。
- STUN 服务器:内置 STUN(UDP 3478),配合客户端 ICE 做 NAT 穿透。
- MediaRelay / Transcoder:可选的媒体中继与转码模块,用于 NAT 环境下的媒体转发与编解码转换。
- 集群能力:通过 Redis 共享注册库(Registrar DB),支持同集群多实例(编译选项
-DENABLE_REDIS=YES,官方包默认启用)。
四、功能特性
依据官方 README 与 Wiki(查询日期 2026-10-25),Flexisip 2.6 的主要特性:
- 完整 SIP 代理栈:注册、路由、NAT 穿越(rport/Contact 修正)、TCP/TLS/UDP 多传输、IPv6。
- 移动推送:APNs/FCM 双通道,支持呼叫与消息推送唤醒。
- Presence 与 RegEvent:标准 SIP 呈现与注册事件通知。
- B2BUA:主叫身份转换、媒体级转码、SIP Trunking。
- 安全:TLS/SRTP、摘要认证(MD5/SHA-256 等算法可配)、OpenID Connect 外部认证插件、DoS 防护模块。
- 可观测:SNMP MIB 导出、结构化事件日志(filesystem/MySQL)、systemd watchdog 集成。
- 外部存储:认证与消息库可接 MySQL/MariaDB(SOCI 后端),注册库可接 Redis。
五、快速开始(最小可用示例)
官方推荐的 Ubuntu 24.04 安装主线(来源:官方 Wiki Installation 页,查询日期 2026-10-25;逐条实测验证见本站《Ubuntu 24.04 安装 Flexisip 2.6.2 指南》):
# 添加 Belledonne 官方 APT 仓库与签名公钥
echo "deb [arch=amd64] https://download.linphone.org/snapshots/ubuntu noble stable" | sudo tee /etc/apt/sources.list.d/belledonne.list
wget -q https://download.linphone.org/snapshots/ubuntu/pubkey.gpg -O - | sudo apt-key add -
sudo apt update && sudo apt install -y libmariadb-dev bc-flexisip
# 启动代理服务(默认读取 /etc/flexisip/flexisip.conf)
sudo systemctl enable flexisip-proxy
sudo systemctl start flexisip-proxy
安装后二进制位于 /opt/belledonne-communications/bin/flexisip,配置文件 /etc/flexisip/flexisip.conf,日志目录 /var/opt/belledonne-communications/log/flexisip/。
六、适用场景与限制
适用场景:
- 自建 SIP 账号体系与内部通话网(替代公网 IPPBX 的信令层);
- 为移动 App(尤其 Linphone 系客户端)提供带推送唤醒的 VoIP 后端;
- SIP Trunking 对接运营商(B2BUA 角色做拓扑隐藏与号码规整);
- 嵌入式/小硬件上的轻量 VoIP 服务(官方明示支持嵌入式部署)。
限制与边界(来源:官方 Wiki,查询日期 2026-10-25):
- 仅支持 Linux:RockyLinux 8/9、Debian 12/13、Ubuntu 24.04/26.04(2.6 线),Ubuntu 22.04 无 2.6 包(jammy 仓库最高 2.5.3),见选型章的发行版矩阵;
- 不是全功能 PBX:IVR、呼叫队列、计费网关等业务功能需要 Asterisk/FreeSWITCH 或自研补齐;
- 无官方 Web 管理台与官方容器镜像:管理走
flexisip_cli命令行与配置文件;Docker 需自建镜像(见选型章); - 容量参考:官方建议 1 万连接以内 8GB 内存起步(Requirements 节,查询日期 2026-10-25)。
七、同类选型对比
以下对比基于各项目官网/仓库的公开信息(查询日期 2026-10-25):
| 维度 | Flexisip 2.6 | Kamailio 6 | OpenSIPS 3 | Asterisk 22 | FreeSWITCH 1.10 | Routr 2 |
|---|---|---|---|---|---|---|
| 定位 | SIP Proxy/Presence/B2BUA 套件 | 超高性能 SIP 路由器 | SIP 路由器/信令服务器 | 全功能 PBX | 软交换/PBX 平台 | 云原生 SIP 服务器 |
| 语言 | C++20 | C | C | C | C/C++ | TypeScript/Node.js |
| 许可证 | AGPLv3 / 商业双许可 | GPLv2+ | GPLv3 | GPLv2+商业 | MPL 1.1 | AGPLv3 |
| 配置风格 | INI 单文件 + 模块链 | 自研脚本路由 | 自研脚本路由 | 多 INI 文件 | XML | YAML + REST/gRPC |
| 移动推送 | 内置 APNs/FCM(RFC 8599) | 需自研/第三方模块 | 需自研 | 无 | 无 | 有(Fonoster 生态) |
| 集群/高可用 | Redis 注册库共享 | DMQ/数据库多方案 | 集群模块 | 弱(需外挂) | 弱 | Kubernetes 原生 |
| 官方容器镜像 | 无(需自建) | 有(kamailio/kamailio 等) | 有 | 无官方 | 有社区镜像 | 有 |
| 管理面 | flexisip_cli + 配置文件 | kamctl + RPC | opensips-cli + MI | asterisk -r CLI | fs_cli | rctl + REST API |
| 背后生态 | Linphone(sip.linphone.org 生产实证) | 运营商级广泛采用 | 运营商级 | 最老牌 PBX 社区 | 通信平台事实标准 | Fonoster 云通信 |
| 维护活跃度 | 2026 年持续发版(2.6.2 于 2026 年发布,2.7 已 alpha) | 活跃 | 活跃 | 活跃 | 活跃 | 活跃 |
| GitHub 星数(镜像) | 约 192(2026-10-25) | 2k+ | 1k+ | 2k+ | 3k+ | 1k+ |
选型建议(「如果…则…」):
- 如果目标是运营商级超高并发纯信令路由,且团队愿意投入学习专用脚本语言——选 Kamailio/OpenSIPS;
- 如果需要完整 PBX 业务(IVR、队列、模拟中继卡)——选 Asterisk 或 FreeSWITCH;
- 如果要全链路 Kubernetes 原生部署与现代化 API 管理面——评估 Routr;
- 如果你需要的是一个生产验证过、带移动端推送、配置为单 INI 文件、与 Linphone 客户端无缝配套的 SIP 代理/注册/呈现服务器——Flexisip 是最贴合的选择,尤其是已有 Linphone SDK 客户端的项目。
⚠️ 注意:Flexisip 的社区规模明显小于 Kamailio/Asterisk(GitHub 镜像星数约 192,2026-10-25),但由 Belledonne Communications 公司化维护、发版节奏稳定,属于「小而专」的公司主导项目;选用时更应评估其与自身需求的匹配度而非社区热度。
八、参考链接
- Flexisip 上游主仓(GitLab):https://gitlab.linphone.org/BC/public/flexisip
- GitHub 镜像:https://github.com/BelledonneCommunications/flexisip
- 官方 Wiki 文档总站:https://wiki.linphone.org/xwiki/wiki/public/view/Flexisip/
- 安装指南(官方):https://wiki.linphone.org/xwiki/wiki/public/view/Flexisip/Core%20servers/Installation/
- 配置参考(官方):https://wiki.linphone.org/xwiki/wiki/public/view/Flexisip/Core%20servers/Configuration%20reference%20guide/
- 产品页与商业许可:https://www.linphone.org/en/flexisip-sip-server/
- 2.5 → 2.6 迁移指南:https://wiki.linphone.org/xwiki/wiki/public/view/Flexisip/HOWTOs/Flexisip%202.5%20to%202.6%20migration%20guide/