FreeSWITCH 简单图形化界面51 - 拨号应用 Bridge 介绍

FreeSWITCH 简单图形化界面51 - 拨号应用 Bridge 介绍

  • 00、 一个fs的web配置界面预览
  • 01、 Web 配置界面预览
  • 02、 Web界面安装参考
  • FreeSWITCH 核心应用详解:mod_dptools: bridge
    • 1. 核心概念
      • 1.1 bridge 与 uuid_bridge 的区别
      • 1.2 基本语法
        • bridge
        • uuid_bridge
    • 2. 目标端点 (Endpoints) 格式
    • 3. 呼叫策略:并发与顺序
      • 3.1 并发呼叫 (Simultaneous / Call Blast)
      • 3.2 顺序呼叫 (Sequential / Failover)
    • 4. 高级参数与变量传递
      • 4.1 变量作用域
    • 5. 常见配置示例
      • 5.1 基础桥接
      • 5.2 带有认证信息的桥接
      • 5.3 自定义 SIP URI 参数
      • 5.4 忽略早期媒体 (Ignore Early Media)
    • 6. 特殊通道 (Special Channels)
      • 6.1 `error` 通道
      • 6.2 `group` 通道
      • 6.3 `loopback` 通道
      • 6.4 `user` 通道
    • 7. 常用选项与优化
      • 7.1 通话超时 (Timeout)
      • 7.2 旁路媒体 (Bypass Media)
      • 7.3 回铃音 (Ringback)
      • 7.4 设置主叫号码 (CallerID)

00、 一个fs的web配置界面预览

对于需要通过图形化界面管理 FreeSWITCH 的场景,可直接访问以下 Web 配置界面。

01、 Web 配置界面预览

界面地址备用地址登录信息
http://www.fspbx.cn/http://myfs.f3322.net:8020/用户名:admin密码:admin

02、 Web界面安装参考

若需自行部署 FreeSWITCH 图形化界面,包含 Docker、脚本、ISO 镜像三种安装方式,适配不同系统环境:

  • 安装指南地址:https://blog.csdn.net/jia198810/article/details/137820796
  • 核心安装方式概览:
  1. Docker 安装:快速部署;
  2. 脚本安装:适配 Almalinux、RockyLinux、Debian、Ubuntu 、欧拉等系统,提供一键安装命令,安装后需重启初始化;
  3. ISO 镜像安装:基于 Almalinux制作的镜像,刻录到 U 盘或光盘后可自动安装,适合全新服务器部署。

FreeSWITCH 核心应用详解:mod_dptools: bridge

在 FreeSWITCH 中,bridge是最核心、最常用的应用之一。它的主要功能是将一个现有的通话通道(A Leg)与一个或多个新的通道(B Leg)进行桥接,从而在两个端点之间建立媒体流(音频/视频)连接。

本文将详细解析bridge的用法、参数格式、高级特性以及常见场景。


1. 核心概念

1.1 bridge 与 uuid_bridge 的区别

虽然两者都能实现通话桥接,但使用场景不同:

  • bridge(本文主角):通常用于拨号计划中。它会主动发起一个新的呼叫(Originate),并在新呼叫接通后将其与当前通道桥接。
  • uuid_bridge:通常用于 API 调用或 ESL 脚本中。它用于将两个已经存在的通话通道(通过 UUID 指定)连接在一起。

1.2 基本语法

bridge

在 Dialplan 中使用的基本语法如下:

<actionapplication="bridge"data="目标端点"/>

例如下面的呼叫user/999999:

<extensionname="测试:999999"><conditionexpression="^(999999)$"field="destination_number"><actionapplication="mkdir"data="$${recordings_dir}/phone/${strftime(%Y%m%d)}"/><!--destination_number和实际呼叫的号码保持一致--><actionapplication="set"data="destination_number=$1"/><actionapplication="set"data="rdnis=$1"/><!--录音文件--><actionapplication="set"data="record_filename=${caller_id_number}-${destination_number}-${strftime(%H_%M_%S)}.wav"/><actionapplication="set"data="record_filepath=$${recordings_dir}/phone/${strftime(%Y%m%d)}/${record_filename}"/><!--接通后再录音--><actionapplication="set"data="media_bug_answer_req=true"/><actionapplication="record_session"data="${record_filepath}"/><!--通话记录--><actionapplication="export"data="call_type=phone"/><actionapplication="export"data="trunk_name=-"/><actionapplication="export"data="record_filename=${record_filename}"/><actionapplication="export"data="process_cdr=b_only"/><!--使用bridge开始呼叫user--><actionapplication="bridge"data="user/999999"/><actionapplication="hangup"/></condition></extension>
uuid_bridge

在fs_cli里执行。

freeswitch@MyFs>uuid_bridge -USAGE:<uuid><other_uuid>

2. 目标端点 (Endpoints) 格式

bridgedata参数非常灵活,支持多种端点类型:

  • 用户目录 (Directory):user/1000(通过配置文件中的 dial-string 路由)
  • Sofia 网关 (Gateway):sofia/gateway/my_provider/18005551234
  • Sofia 外部地址:sofia/external/18005551234@sip.example.com
  • LCR (最小成本路由):lcr/18005551234

3. 呼叫策略:并发与顺序

bridge支持同时呼叫多个目的地,并通过特殊符号控制呼叫策略。

3.1 并发呼叫 (Simultaneous / Call Blast)

使用逗号 (,)分隔多个端点。FreeSWITCH 会同时向所有端点发起呼叫,第一个端点接听后,其他端点的呼叫会被立即挂断。

  • 场景:呼叫组(Ring Group),如同时拨打座机和手机。
  • 示例:
    <actionapplication="bridge"data="user/1000,user/1001,user/1002"/>

3.2 顺序呼叫 (Sequential / Failover)

使用竖线 (|)分隔多个端点。FreeSWITCH 会按顺序呼叫,只有当前一个端点无法接通(忙音、超时、无应答)时,才会呼叫下一个。

  • 场景:故障转移(Failover),如主网关不可用时切换到备用网关。
  • 示例:
    <actionapplication="bridge"data="sofia/gateway/primary/1234|sofia/gateway/backup/1234"/>

4. 高级参数与变量传递

bridge允许在呼叫目标端点时设置通道变量(Channel Variables),以控制 B Leg 的行为(如设置 CallerID、超时时间等)。

4.1 变量作用域

FreeSWITCH 提供了三种括号来定义变量的作用域:

  1. 方括号[ ](Endpoint Local):
    仅作用于紧随其后的那个特定端点。

    <!-- 给 1000 设置一个变量,给 1001 设置另一个 --><actionapplication="bridge"data="[my_var=foo]user/1000,[my_var=bar]user/1001"/>
  2. 大括号{ }(Thread Global):
    作用于当前桥接线程中的所有端点。

    <!-- 1000 和 1001 都会继承这个变量 --><actionapplication="bridge"data="{my_global_var=test}user/1000,user/1001"/>
  3. 冒号下划线冒号:_:(Enterprise Origination):
    用于分隔独立的 Originate 命令。这允许在一个bridge动作中执行完全独立的呼叫逻辑,常用于多线程或复杂的用户目录路由。

    <actionapplication="bridge"data="user/bob@domain:_:user/alice@domain"/>

5. 常见配置示例

5.1 基础桥接

将来电桥接到一个外部 SIP 地址:

<actionapplication="bridge"data="sofia/internal/9998881111@sip.provider.com"/>

5.2 带有认证信息的桥接

如果目标 SIP 服务器需要认证,可以直接在 URL 前通过变量传递(无需预先定义 gateway):

<actionapplication="bridge"data="{sip_auth_username=foo,sip_auth_password=bar}sofia/internal/9998881111@sip.provider.com"/>

5.3 自定义 SIP URI 参数

在 INVITE 请求中添加特殊的参数(如 LRN 路由信息):

<!-- 方法一:直接拼接在 URL 中 --><actionapplication="bridge"data="sip:12135551212;rn=12135550000@1.2.3.4:5060"/><!-- 方法二:使用变量导出 (推荐) --><actionapplication="export"data="nolocal:sip_invite_tel_params=rn=12135550000;npdi=yes"/><actionapplication="bridge"data="sofia/gateway/gw/12135551212"/>

5.4 忽略早期媒体 (Ignore Early Media)

场景:当呼叫包含手机或 PSTN 网关时,对方的彩铃或占线音(Early Media)可能会被误认为是接通信号,导致其他同时呼叫的分机停止振铃。
解决:设置ignore_early_media

<actionapplication="set"data="ignore_early_media=true"/><actionapplication="bridge"data="user/1000,sofia/gateway/pstn/13800138000"/>

6. 特殊通道 (Special Channels)

除了常规的 SIP 地址,bridge还支持一些特殊的虚拟通道:

6.1error通道

用于指定挂断原因,常用于测试或特定的业务逻辑返回。

<actionapplication="bridge"data="error/user_busy"/>

6.2group通道

动态呼叫目录中定义的某个组(Group)内的所有成员。

<actionapplication="bridge"data="group/sales@${domain_name}"/>

6.3loopback通道

警告:慎用!
这会创建一个伪端点,使呼叫重新进入拨号计划进行处理。如果使用不当,极易造成死循环或 CDR 记录混乱。

<actionapplication="bridge"data="loopback/1000"/>

6.4user通道

通过用户目录中的dial-string参数进行路由。这允许在配置文件中统一管理用户的实际联系方式,而无需修改拨号计划。

<actionapplication="bridge"data="user/john@example.com"/>

7. 常用选项与优化

7.1 通话超时 (Timeout)

设置等待 B Leg 接听的最大秒数。

<actionapplication="set"data="call_timeout=20"/><!-- 20秒后无应答则挂断 -->

7.2 旁路媒体 (Bypass Media)

在特定条件下(如两端都在公网或可直连),让媒体流直接在两个端点之间传输,FreeSWITCH 只处理信令。这可以减轻 FreeSWITCH 服务器的负载。

<actionapplication="set"data="bypass_media=true"/>

7.3 回铃音 (Ringback)

强制向 A Leg 播放回铃音。

<actionapplication="set"data="ringback=${us-ring}"/>

7.4 设置主叫号码 (CallerID)

在呼叫出局到网关时,设置显示的主叫号码。

<actionapplication="set"data="effective_caller_id_name=CompanyX"/><actionapplication="set"data="effective_caller_id_number=123456789"/>

💗 2026年
🐂 祝君成功,好运连连,牛气冲天

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1141024.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PX4实战(十一):PX4运动规划模块(flight mode manager)详解

PX4实战(十一):PX4运动规划模块(flight mode manager)详解 引言 1. 理论基础与架构定位 1.1 分层控制架构中的制导层 (Guidance Layer) 1.2 反应式系统设计 (Reactive System Design) 1.3 TrajectorySetpoint 消息的完备性 2. 代码深度剖析:类层次结构与模块实现 2.1 抽象…

2026必备!继续教育必看!10款一键生成论文工具深度测评

2026必备&#xff01;继续教育必看&#xff01;10款一键生成论文工具深度测评 2026年继续教育领域必备的论文写作工具测评 随着继续教育需求的持续增长&#xff0c;论文写作已成为众多学员必须面对的重要任务。然而&#xff0c;从选题构思到最终定稿&#xff0c;整个过程往往耗…

交通仿真软件:Paramics_(6).交通控制策略仿真

交通控制策略仿真 在交通仿真软件中&#xff0c;交通控制策略的仿真是一个关键环节。通过仿真&#xff0c;可以评估不同交通控制策略的效果&#xff0c;优化交通系统的设计&#xff0c;以及预测未来交通流量对城市交通的影响。 Paramics 提供了丰富的交通控制策略仿真功能&…

亲测好用8个AI论文软件,本科生搞定毕业论文不求人!

亲测好用8个AI论文软件&#xff0c;本科生搞定毕业论文不求人&#xff01; 1.「千笔」—— 一站式学术支持“专家”&#xff0c;从初稿到降重一步到位&#xff08;推荐指数&#xff1a;★★★★★&#xff09; 在众多AI论文工具中&#xff0c;「千笔」凭借其强大的论文生成能力…

《AI智脉速递》2026 年 1月1日 - 1月8日

Intel 炸场 CES&#xff01;首款 18A 制程处理器碾压上代&#xff0c;AI 算力狂飙 180TOPS 1 月 8 日 CES 2026&#xff0c;Intel 发布首款 18A 制程消费级处理器 Panther Lake&#xff0c;集成 RibbonFET 全环绕栅极与 PowerVia 背面供电技术&#xff0c;漏电率降低 30%。其 X…

leetcode热题括号生成

数字 n 代表生成括号的对数&#xff0c;请你设计一个函数&#xff0c;用于能够生成所有可能的并且 有效的 括号组合。示例 1&#xff1a;输入&#xff1a;n 3 输出&#xff1a;["((()))","(()())","(())()","()(())","()()()&qu…

雷家林(レイ・ジアリン)詩歌集録 その十四(日译版)

&#xff08;禅语&#xff09;万道の仏光が中華を照らし、悪鬼や妖怪は鳴き聲を上げる場所がない。世の中の苦しみは何千種もあるが、慈悲深い般若の花を散らそう。&#xff08;嫦娥&#xff09;毎夜、故郷を思いながら帰ることができないのが惜しい。清らかな心は寒い月の雰囲…

香港科技大学突破AI画图“作弊“难题:让机器学会诚实创作

这项由香港科技大学的何浩然、清华大学的叶雨潇以及快手科技等多家机构的研究人员共同完成的研究&#xff0c;发表于2025年12月30日的arXiv预印本平台&#xff08;论文编号&#xff1a;arXiv:2512.24138v1&#xff09;&#xff0c;有兴趣深入了解的读者可以通过这个编号查询完整…

让数据类型回归语义:ABAP CDS 的 Type 与 Enum 在 ABAP Cloud 里的实战指南

在很多 ABAP 项目里,数据模型的语义经常被迫拆散到不同的地方:技术类型在 Domain,业务含义在 Data Element,固定值在 Domain 固定值,界面标题和字段提示又靠一堆维护文本来兜底。放在经典 ABAP On-Premise 时代,这套体系非常成熟;但一旦你开始做 ABAP Cloud、RAP、CDS V…

SSE、长轮询与 WebSocket 连接资源对比及 Spring Boot 配置指南

一、背景 在构建实时消息推送系统时&#xff0c;开发者常面临三种主流技术选型&#xff1a; 长轮询&#xff08;Long Polling&#xff09;SSE&#xff08;Server-Sent Events&#xff09;WebSocket 三者在连接模型、资源消耗、扩展性等方面差异显著。本文旨在对比其连接资源占用…

AWS推出AI图像编辑新突破:用说话就能精准移动图片中的物体!

这项来自香港中文大学、AWS智能AI部门、亚马逊云服务和亚马逊机器人团队的联合研究发表于2025年1月&#xff0c;论文编号为arXiv:2601.02356v1。研究团队由谭靖、张兆阳、沈彦涛、蔡嘉瑞等多位学者组成&#xff0c;有兴趣深入了解的读者可以通过该编号查询完整论文。想要修改照…

雷家林(レイ・ジアリン)詩歌集録 その十五(日译版)

方雷大野家林Lei Jialin独立独立して一枝を持ち、湘波を俯みます。 洞庭の木が落ちるのはどうしようもないです。 行吟しながら沢の畔を歩き、人は憔悴しています。 自分が人を怜れんで、自分で歌います。云封雲がこの世を封じ、桃源を守ります。 秦の人々は自らの自在な世界を…

让 RAP 弹窗参数真正变成必填:Excel Upload Action 的两种实现路径

在很多基于 RAP 的应用里,action 不只是执行一段后端逻辑,它经常承担一种更贴近业务的交互:用户点一个按钮,系统先弹出 popup 让用户补充一些上下文信息,接着才真正开始处理数据。典型例子就是 Excel 导入:用户上传文件只是第一步,导入前往往还需要输入备注、选择是否试…

2026必备!专科生毕业论文TOP8 AI论文网站测评

2026必备&#xff01;专科生毕业论文TOP8 AI论文网站测评 2026年专科生毕业论文必备AI工具测评 随着人工智能技术在学术领域的广泛应用&#xff0c;越来越多的专科生开始借助AI工具提升毕业论文写作效率。然而&#xff0c;面对市场上琳琅满目的AI论文网站&#xff0c;如何选择真…

《呼吸秋千》我早已习惯,饥饿在呼吸上荡起秋千

《呼吸秋千》我早已习惯&#xff0c;饥饿在呼吸上荡起秋千 赫塔米勒&#xff08;1953~&#xff09;&#xff0c;德国作家&#xff0c;2009年&#xff0c;因其“以诗的凝练&#xff0c;散文的率直&#xff0c;描绘流离失所者的处境”而获得诺贝尔文学奖。 余杨 吴文权 译 后浪文…

香港科技大学突破文本理解难题:让AI模型内部“自我改造“

这项由香港科技大学的唐翼轩和杨毅领导的研究发表于2025年1月&#xff0c;论文编号为arXiv:2601.01046v1。有兴趣深入了解的读者可以通过这个编号在学术数据库中查询完整论文。在当今这个信息爆炸的时代&#xff0c;我们每天都在和各种文本打交道——搜索信息、阅读文章、查找资…

网页接收服务端消息的几种方式

介绍 网页接收服务端消息&#xff0c;一般有如下几种方式 直接轮询WebSocket 长链接长轮询Server send event 一、短轮询方式 前端页面按照时间间隔轮询拉取最新消息 缺点&#xff1a; 实时性差&#xff01;最长耗时等于时间间隔耗时没有消息也会有大量的请求&#xff0c…

光谱共焦技术在高精度尺寸与3D表面缺陷检测中的工业应用研究

摘要&#xff1a;随着智能制造与精密工业的快速发展&#xff0c;对非接触、高精度、高速度的在线检测技术需求日益迫切。以海伯森技术推出的系列高端光学传感器深入剖析其基于光谱共焦位移测量与光谱共焦成像的核心原理。重点阐述该技术如何在微观尺度上实现纳米级精度的三维尺…

IP协议 地址划分MAC地址作用ip addr命令

一、ip addr命令解读 roottest:~# ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 …

从用户需求到设计:提示工程架构师设计高效界面的方法

从用户需求到设计:提示工程架构师设计高效界面的方法 一、引入:当“AI翻译官”遇到“表达困境” 小张是一家美妆品牌的新媒体运营,每天的核心工作之一是用AI生成朋友圈文案。但她总陷入同一个循环: 写提示时,要么太笼统(“帮我写一条口红的朋友圈”),AI输出的内容千篇…