第1章 简介与核心概念
一、 FreeSWITCH 概述 (Overview)定义FreeSWITCH 是一个用于语音、视频和文本通信的软件交换平台 (Software Switching Platform)。它负责连接通信端点并对它们之间的呼叫应用逻辑。核心特性基于配置驱动系统的行为几乎完全由配置决定。通过编辑 XML 配置文件来定制系统而不是修改代码。香草配置 (Vanilla Configuration)默认安装附带一套完整且可用的基础配置可直接作为 SIP PBX专用交换机运行。版本区别开源版免费使用。企业版 (FreeSWITCH Enterprise)由 SignalWire 提供商业支持和服务的专业版本。二、 核心术语 (Core Terminology)在 FreeSWITCH 中以下术语贯穿始终英文术语中文翻译含义解释Endpoint端点发起或接收呼叫的协议接口。每个端点都是一个模块例如处理 SIP 的mod_sofia或处理 WebRTC 的mod_verto。Channel通道FreeSWITCH 与单个端点之间的一条通信链路即一“腿”。它承载呼叫状态、媒体流和一组通道变量 (Channel Variables)。Call呼叫一个或多个关联在一起的通道。典型的双向呼叫是由桥接 (Bridge)连接的两个通道。Bridge桥接将两个通道关联起来的机制使它们的媒体流 (Media)能够在彼此之间流动。Session会话通道及其上运行的应用状态的运行时容器 (Runtime Container)。Channel Variables通道变量保存呼叫状态和控制行为的命名值。由目录、拨号计划和应用设置引用格式为${variable_name}。三、 三大配置域 (The Three Configuration Domains)FreeSWITCH 将配置划分为三个独立的域理解它们的区别是掌握该系统的关键配置域 (Domain)解决的问题存储位置Directory (目录)谁被允许连接他们的属性是什么directory/Dialplan (拨号计划)当呼叫到达时它去哪里发生什么dialplan/Configuration (配置)每个模块和核心如何运行autoload_configs/三者交互逻辑目录 (Directory) 中定义的用户向 SIP Profile 进行认证。认证成功后用户的user_context变量会决定路由其呼叫的拨号计划上下文 (Dialplan Context)。拨号计划随后运行各种应用而这些应用的行为则受其模块配置 (Module Configuration)的控制。四、 呼叫流程剖析 (Anatomy of a Call)以“香草配置”下分机 1000 呼叫分机 1001 为例呼叫经历以下 5 个步骤步骤 1分机 1000 注册 (Registers)1000 发送SIP REGISTER。Sofia Profile 开启auth-calls挑战请求并向 Directory 验证密码。成功后记录绑定信息Contact URI并加载用户变量如user_context default、主叫 ID 等。步骤 2分机 1000 发起 INVITE1000 向 1001 发送SIP INVITE。认证通过后系统使用该用户在 Directory 中定义的user_context如 “default”进入对应的 Dialplan 上下文而不是 Profile 默认的 “public” 上下文。步骤 3拨号计划匹配 (Dialplan Matches)在 “default” 上下文中正则表达式^(10[01][0-9])$匹配目标号码 1001。设置关键通道变量call_timeout(响铃超时)、hangup_after_bridge(桥接结束后挂断)、continue_on_fail(桥接失败时继续执行用于转语音邮件)。步骤 4桥接应用连接呼叫 (Bridge Application)执行action applicationbridge datauser/1001${domain_name}/。user/前缀指示 FreeSWITCH 在 Directory 中查找 1001 的注册 Contact URI并向其发送出站 SIP INVITE即建立B 腿 / B-leg。如果桥接失败且continue_on_failtrue则转入语音邮件 (Voicemail)。步骤 5媒体协商与流 (Media Negotiation and Flow)开启inbound-late-negotiation延迟协商直到 B 腿的 SDP 可用。两腿独立协商兼容的编解码器。一旦 B 腿应答SIP 200 OK两通道桥接RTP 媒体流直接在两端点间透传。五、 模块系统 (Modules)几乎所有功能都由启动时加载的模块 (Modules)提供加载行为由modules.conf.xml控制。模块按接口类型分类端点 (Endpoints)呼叫协议如mod_sofia,mod_verto应用 (Applications)拨号计划应用和 API 命令如mod_dptools,mod_conference,mod_voicemail编解码器 (Codecs)音视频编码如mod_opus,mod_g729,mod_av文件格式 (File formats)读写媒体文件如mod_sndfile,mod_local_stream拨号计划 (Dialplans)拨号计划解释器如mod_dialplan_xml事件处理器 (Event handlers)外部事件和 CDR呼叫详细记录接口如mod_event_socket,mod_cdr_csv日志记录器 (Loggers)日志输出如mod_console,mod_logfile语言 (Languages)嵌入式脚本如mod_luaSay 和 ASR/TTS短语渲染和语音识别/合成如mod_say_en,mod_flite六、 单一 XML 文档模型 (The Single XML Document)在运行时FreeSWITCH 通过预处理器 (Preprocessor)将磁盘上的多个小文件组装起来将整个配置呈现为一个单一的 XML 文档。该文档包含以下固定的顶级节点 (Top-level sections)configuration来自autoload_configs/的每个模块和核心配置。dialplan呼叫路由上下文 (Call routing contexts)。chatplan文本消息路由上下文 (Text-message routing contexts)。directory域、用户和组 (Domains, users, and groups)。languages短语和语言定义 (Phrase and language definitions)。

相关新闻

鹤壁办婚宴,烟酒怎么备不浪费又体面?

鹤壁办婚宴,烟酒怎么备不浪费又体面?

我在鹤壁淇滨区开了多年烟酒店。 每天接触最多的就是来买酒的顾客。 说实话,很多人办宴席时不知道该备多少酒。 今天分享几点经验,希望对你有帮助。 算用量:按桌数和人头来估,最稳当 在鹤壁,一场婚宴的酒水用量估算至…

2026/7/11 14:59:59阅读更多 →
cann/runtime主机内存管理

cann/runtime主机内存管理

11-02 主机内存管理 【免费下载链接】runtime 本项目提供CANN运行时组件和维测功能组件。 项目地址: https://gitcode.com/cann/runtime 本章节描述主机(Host)内存的分配、释放、注册及指针获取接口。 aclError aclrtMallocHost(void **hostPtr,…

2026/7/11 14:59:59阅读更多 →
《LeetCode 152 乘积最大子数组 || LeetCode 413 等差数列划分》

《LeetCode 152 乘积最大子数组 || LeetCode 413 等差数列划分》

一、题目二、做题思路2.1 状态表示(核心基础)本题要求计算数组中乘积最大的连续子数组。由于负数相乘可能反转大小关系,仅记录最大乘积不够,还需记录最小乘积。因此定义两个状态:f[i] 表示以 nums[i] 结尾的子数组的最…

2026/7/11 14:59:59阅读更多 →
CANN/ops-math AsStrided算子

CANN/ops-math AsStrided算子

AsStrided 【免费下载链接】ops-math 本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。 项目地址: https://gitcode.com/cann/ops-math 产品支持情况 产品是否支持Ascend 950PR/Ascend 950DTAtlas A3 训练系列产品/Atlas A3 推理系列产品…

2026/7/11 16:10:10阅读更多 →
2026大学生开学行李箱怎么选?热门实测对比,四年不踩坑

2026大学生开学行李箱怎么选?热门实测对比,四年不踩坑

又到了一年一度的开学季。对于即将踏入大学校门的新生和准备返校的老生来说,选对一款行李箱,直接决定了未来四年返校、返乡、出游的出行体验。很多同学踩过的坑我都经历过:大一贪便宜买的杂牌箱,开学搬宿舍第一次托运就裂了个角&a…

2026/7/11 16:10:10阅读更多 →
MiniMax闫俊杰:不再领取薪酬,个人拿出5%公司股份用于团队激励和开源支持

MiniMax闫俊杰:不再领取薪酬,个人拿出5%公司股份用于团队激励和开源支持

MiniMax创始人兼CEO闫俊杰发布内部全员信,回应近期市场波动,并强调公司长期方向不变。闫俊杰在信中宣布,从即日起,直到公司实现AGI的那一天,他将不再从公司领取任何薪酬。未来四年,他将拿出个人名下相当于公…

2026/7/11 16:10:10阅读更多 →
# 如何系统性摸清辖区企业的创新底数并配置精准资源?

# 如何系统性摸清辖区企业的创新底数并配置精准资源?

观点作者:科易网-国家科技成果转化(厦门)示范基地当今,科技创新已成为推动经济高质量发展、构建新发展格局的核心动力。国家高度重视科技成果转化和科技创新体系建设,不断出台新政策、新模式,旨在激发创新活…

2026/7/11 16:10:10阅读更多 →
语音API价格地震:MiniMax¥3.2对比Gemini¥20

语音API价格地震:MiniMax¥3.2对比Gemini¥20

语音API价格地震:MiniMax3.2对比Gemini20 适用读者:做 TTS 语音合成选型、对比 MiniMax / Gemini / Vidu 这些厂商 API 价格的开发者 阅读时长:约 12 分钟 测试时间:2026 年 7 月(基于 炻光 AI 接入管理平台 公开文档) 一、为什么 2026 年 Q3 突然都在聊 TTS 价格 最近半年接…

2026/7/11 16:10:10阅读更多 →
别再手动汇流串线、画图纸了!光伏设计软件直接一键搞定

别再手动汇流串线、画图纸了!光伏设计软件直接一键搞定

以前做光伏设计,复杂的彩钢瓦屋顶屋面多、坡度杂、障碍物到处是。手动排组件、算支架、画图纸,光是基础工作就能熬夜一周。可能改了一版又一版,最后发现串线还有问题,图纸还得重来。但现在,我已经告别如此复杂的手动设…

2026/7/11 16:05:10阅读更多 →
从GitHub安全案例解析常见漏洞与防护实践

从GitHub安全案例解析常见漏洞与防护实践

1. 项目概述:从GitHub Trending看安全实战 最近在GitHub Trending上看到一个项目,叫 skills4/skills ,它因为一些安全漏洞案例被大家讨论。这其实是一个挺典型的场景:一个旨在展示或教授某种技能的仓库,本身却成了安…

2026/7/10 12:10:00阅读更多 →
MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

# MLT 2026启示:因果推理与概率建模驱动下一代LLM应用## 一、背景与挑战:从“黑箱预测”到“可信推理”2026年6月,第7届机器学习与趋势国际会议(MLT 2026)将在悉尼召开。会议议程中,“因果与可解释机器学习…

2026/7/11 15:18:12阅读更多 →
通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

1. 项目概述与漏洞背景最近在梳理一些历史OA系统的安全风险时,通达OA v11.6版本中的一个老漏洞又进入了我的视线。这个漏洞位于/general/bi_design/appcenter/report_bi.func.php文件中,是一个典型的SQL注入点。虽然这个漏洞的利用方式看起来并不复杂&am…

2026/7/11 15:11:32阅读更多 →
Premiere Pro 2025安装失败原因与AGSIS验证绕过指南

Premiere Pro 2025安装失败原因与AGSIS验证绕过指南

1. 为什么2025版PR安装比以往更“磨人”?——从弹窗警告到路径陷阱的真实处境 Premiere Pro 2025版不是简单的一次版本迭代,它是一道分水岭。我从去年底开始帮影视工作室、高校剪辑实验室和自由职业者部署2025环境,累计处理了137台设备&#…

2026/7/11 0:03:43阅读更多 →
5款实用macOS系统优化工具:让你的Mac运行更流畅更高效

5款实用macOS系统优化工具:让你的Mac运行更流畅更高效

5款实用macOS系统优化工具:让你的Mac运行更流畅更高效 【免费下载链接】open-source-mac-os-apps 🚀 Awesome list of open source applications for macOS. https://t.me/s/opensourcemacosapps 项目地址: https://gitcode.com/gh_mirrors/op/open-so…

2026/7/11 0:03:43阅读更多 →
5分钟完全掌握:ComfyUI ControlNet预处理器终极使用指南

5分钟完全掌握:ComfyUI ControlNet预处理器终极使用指南

5分钟完全掌握:ComfyUI ControlNet预处理器终极使用指南 【免费下载链接】comfyui_controlnet_aux ComfyUIs ControlNet Auxiliary Preprocessors 项目地址: https://gitcode.com/gh_mirrors/co/comfyui_controlnet_aux 想要让AI图像生成真正听从你的指挥吗&…

2026/7/11 0:03:43阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/10 13:39:09阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/10 22:20:33阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/10 17:29:22阅读更多 →