Flexisip 2.6 介绍与选型指南

Flexisip 2.6 定位、架构、特性与 Kamailio/Asterisk 等同类选型对比(联网溯源,查询日期 2026-10-25)。

FlexisipFlexisipSIP2026/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 proxySIP 代理/注册服务器(默认角色)
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 的主要特性:

  1. 完整 SIP 代理栈:注册、路由、NAT 穿越(rport/Contact 修正)、TCP/TLS/UDP 多传输、IPv6。
  2. 移动推送:APNs/FCM 双通道,支持呼叫与消息推送唤醒。
  3. Presence 与 RegEvent:标准 SIP 呈现与注册事件通知。
  4. B2BUA:主叫身份转换、媒体级转码、SIP Trunking。
  5. 安全:TLS/SRTP、摘要认证(MD5/SHA-256 等算法可配)、OpenID Connect 外部认证插件、DoS 防护模块。
  6. 可观测:SNMP MIB 导出、结构化事件日志(filesystem/MySQL)、systemd watchdog 集成。
  7. 外部存储:认证与消息库可接 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.6Kamailio 6OpenSIPS 3Asterisk 22FreeSWITCH 1.10Routr 2
定位SIP Proxy/Presence/B2BUA 套件超高性能 SIP 路由器SIP 路由器/信令服务器全功能 PBX软交换/PBX 平台云原生 SIP 服务器
语言C++20CCCC/C++TypeScript/Node.js
许可证AGPLv3 / 商业双许可GPLv2+GPLv3GPLv2+商业MPL 1.1AGPLv3
配置风格INI 单文件 + 模块链自研脚本路由自研脚本路由多 INI 文件XMLYAML + REST/gRPC
移动推送内置 APNs/FCM(RFC 8599)需自研/第三方模块需自研无无有(Fonoster 生态)
集群/高可用Redis 注册库共享DMQ/数据库多方案集群模块弱(需外挂)弱Kubernetes 原生
官方容器镜像无(需自建)有(kamailio/kamailio 等)有无官方有社区镜像有
管理面flexisip_cli + 配置文件kamctl + RPCopensips-cli + MIasterisk -r CLIfs_clirctl + 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 公司化维护、发版节奏稳定,属于「小而专」的公司主导项目;选用时更应评估其与自身需求的匹配度而非社区热度。

八、参考链接