FreeSWITCH 的 effective_caller_id_name 和 effective_caller_id_number

在 FreeSWITCH 中,effective_caller_id_nameeffective_caller_id_number是两个非常重要的通道变量(Channel Variables)

它们的核心作用是:控制在呼叫去电(Outbound Call)时,被叫方(接收者)手机或话机屏幕上显示的“来电显示”信息。

以下是详细的解释和用法:

1. 核心作用

当你通过 FreeSWITCH 进行bridge(桥接)或者originate(发起呼叫)时,FreeSWITCH 需要决定告诉对方“谁在打这个电话”。

  • effective_caller_id_name:设置显示的名称(如:Company Support)。
  • effective_caller_id_number:设置显示的号码(如:01012345678)。

2. 为什么要用 “Effective”(有效的)?

在 FreeSWITCH 中,有两种类型的 Caller ID 变量,它们有微妙的区别:

  • caller_id_number:通常代表真实的源号码(即拨号者原本的号码)。
  • effective_caller_id_number:代表对外呈现的号码

关键逻辑:
当 FreeSWITCH 执行bridge操作发起呼出请求时,它会优先查找effective_caller_id_xxx。如果设置了这两个变量,FreeSWITCH 就会在 SIP 的From头部或者Remote-Party-ID头部使用这些值。如果没有设置,它才会退而求其次使用caller_id_xxx

3. 常见使用场景

场景 A:企业总线号码代发

公司内部员工的内部短号是1001,但他拨打外部客户手机时,不希望显示1001(因为客户回拨不进来),而是希望显示公司的统一对外大号010-88888888

  • 操作:在拨号计划(Dialplan)中,将effective_caller_id_number设置为01088888888
场景 B:呼叫转移(Call Forwarding)

A 打给 B,B 设置了呼叫转移到 C。

  • 如果 B 转发给 C 时,希望 C 看到是 A 在打过来,B 就会把effective_caller_id_number设置成 A 的号码。
  • 如果 B 希望 C 看到是 B 转过来的,就设置成 B 的号码。

4. 如何在 Dialplan 中设置

通常在conf/dialplan/default.xml中使用:

<extensionname="outbound_call"><conditionfield="destination_number"expression="^(\d+)$"><!-- 设置显示的名称 --><actionapplication="set"data="effective_caller_id_name=My Company"/><!-- 设置显示的号码 --><actionapplication="set"data="effective_caller_id_number=01012345678"/><!-- 执行外呼 --><actionapplication="bridge"data="sofia/gateway/my_provider/$1"/></condition></extension>

5. 注意事项

  1. 运营商限制:尽管你可以在 FreeSWITCH 里随便设置effective_caller_id_number,但当你通过中继线(Gateway/Trunk)打到公网(移动/联通/电信)时,运营商通常会强制修改或丢弃你自定义的号码,以防止诈骗电话。你只能设置成该中继线合法绑定的号码。
  2. 变量继承:这两个变量通常设置在“A腿”(主叫通道)上,当执行bridge时,它们会被传递并应用到“B腿”(被叫通道)的 SIP 消息中。
  3. origination_caller_id_number的区别:
    • 如果你是使用originate命令(通过 API 或脚本发起呼叫),通常使用origination_caller_id_number
    • 如果你是在 Dialplan 中处理现有的通话,通常使用effective_caller_id_number

总结

  • effective_caller_id_name: 你想让对方看到的名字
  • effective_caller_id_number: 你想让对方看到的来电号码

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

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

相关文章

超详细版JLink仿真器使用教程:适用于DCS系统下载程序

一文吃透JLink仿真器在DCS系统中的程序烧录实战 你有没有遇到过这样的场景&#xff1a;某电厂的远程I/O站突然“失联”&#xff0c;现场指示灯乱闪&#xff0c;初步判断是固件跑飞或Bootloader损坏。传统处理方式得拆板返厂、重新烧录&#xff0c;动辄几小时停机——这对工业系…

java springboot基于微信小程序的大学生心理健康咨询疏导系统(源码+文档+运行视频+讲解视频)

文章目录 系列文章目录目的前言一、详细视频演示二、项目部分实现截图三、技术栈 后端框架springboot前端框架vue持久层框架MyBaitsPlus微信小程序介绍系统测试 四、代码参考 源码获取 目的 摘要&#xff1a;随着大学生心理健康问题日益凸显&#xff0c;开发便捷高效的咨询疏…

部署模块一键发布:将模型封装为RESTful API服务

部署模块一键发布&#xff1a;将模型封装为RESTful API服务 在大模型应用加速落地的今天&#xff0c;一个普遍存在的痛点是&#xff1a;模型明明已经训练好了&#xff0c;却迟迟无法上线。工程师们往往要花几天时间配置环境、写接口、调性能&#xff0c;甚至还要和显存溢出、延…

非洲地区数字治理:Qwen3Guard-Gen-8B支持斯瓦希里语内容审核

非洲地区数字治理&#xff1a;Qwen3Guard-Gen-8B支持斯瓦希里语内容审核 在非洲大陆&#xff0c;互联网用户正以每年超过20%的速度增长。从尼日利亚的拉各斯到肯尼亚的内罗毕&#xff0c;越来越多的人通过智能手机接入社交媒体、在线教育和数字金融服务。然而&#xff0c;语言的…

ms-swift支持合同审查与条款生成模型

ms-swift 赋能合同智能&#xff1a;从轻量微调到高性能部署的全链路实践 在企业法务数字化转型的浪潮中&#xff0c;合同审查与条款生成正成为大模型落地的关键战场。一份复杂的商务合同动辄上百页&#xff0c;涉及法律、财务、合规等多重维度&#xff0c;传统人工审阅不仅耗时…

万物识别开发宝典:从环境搭建到模型部署

万物识别开发宝典&#xff1a;从环境搭建到模型部署实战指南 在AI技术快速发展的今天&#xff0c;万物识别已成为计算机视觉领域的重要应用方向。无论是智能安防、工业质检还是零售分析&#xff0c;准确识别各类物体都是关键的第一步。本文将带你从零开始&#xff0c;使用"…

基于Android开发的健康饮食推荐系统

随着人们健康意识的提升&#xff0c;健康饮食管理成为现代生活的重要需求。本文设计并实现了一款基于Android平台的健康饮食推荐系统&#xff0c;旨在通过智能化技术为用户提供个性化的饮食建议和科学化的营养管理方案。系统以用户健康数据为核心&#xff0c;结合机器学习算法和…

企业DevOps必看,VSCode集成Entra ID的7大核心优势与实施要点

第一章&#xff1a;VSCode Entra ID 登录Visual Studio Code&#xff08;VSCode&#xff09;作为广受欢迎的轻量级代码编辑器&#xff0c;支持通过 Microsoft Entra ID&#xff08;前身为 Azure Active Directory&#xff09;实现安全的身份验证与资源访问。通过集成 Entra ID&…

百考通AI:您的智能学术护航者,让论文降重与AIGC优化一步到位

在当今这个信息爆炸、学术竞争日益激烈的时代&#xff0c;每一位学子和研究者都面临着前所未有的挑战。无论是毕业季的论文查重压力&#xff0c;还是日常科研中对内容原创性的严苛要求&#xff0c;亦或是AI辅助写作后留下的“AI痕迹”难题&#xff0c;都成为了横亘在我们面前的…

基于ms-swift的新闻摘要生成系统训练与部署全记录

基于 ms-swift 的新闻摘要生成系统训练与部署实践 在信息爆炸的时代&#xff0c;每天产生的新闻文本量已远超人工处理能力。主流媒体、资讯平台和内容聚合服务都在寻求一种高效、准确且可扩展的自动化摘要方案。然而&#xff0c;理想中的“一键生成”背后&#xff0c;是模型选型…

基于Android智能旅游管家的设计与实现

本文档阐述了基于Android平台的智能旅游管家系统的设计与实现。随着旅游业的快速发展&#xff0c;人们对旅游服务的需求日益个性化和多样化&#xff0c;传统旅游服务模式已难以满足现代需求。因此&#xff0c;本系统应运而生&#xff0c;旨在为用户提供一站式旅游服务解决方案。…

java springboot基于微信小程序的社区服务系统社区设施维修缴费(源码+文档+运行视频+讲解视频)

文章目录 系列文章目录目的前言一、详细视频演示二、项目部分实现截图三、技术栈 后端框架springboot前端框架vue持久层框架MyBaitsPlus微信小程序介绍系统测试 四、代码参考 源码获取 目的 摘要&#xff1a;针对传统社区设施维修缴费流程繁琐、信息不透明等问题&#xff0c;…

VSCode智能体测试能力全面评测:谁才是真正的AI编码助手王者?

第一章&#xff1a;VSCode智能体工具测试在现代软件开发中&#xff0c;VSCode 凭借其轻量级架构与强大的扩展生态&#xff0c;成为开发者首选的代码编辑器之一。随着 AI 技术的发展&#xff0c;集成智能体&#xff08;Agent&#xff09;工具的插件逐渐涌现&#xff0c;显著提升…

ms-swift支持PyTorch与LMDeploy双引擎推理加速

ms-swift 支持 PyTorch 与 LMDeploy 双引擎推理加速 在大模型落地进入“深水区”的今天&#xff0c;一个现实问题摆在每一个 AI 工程师面前&#xff1a;如何让训练好的千亿参数模型&#xff0c;既能快速验证效果&#xff0c;又能稳定高效地跑在生产线上&#xff1f;很多团队都经…

计算机毕业设计|基于springboot + vue小区居民物业管理系统(源码+数据库+文档)

小区居民物业管理系统 目录 基于springboot vue小区居民物业管理系统 一、前言 二、系统功能演示 三、技术选型 四、其他项目参考 五、代码参考 六、测试参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 基于springboot vue小区居民物业管理系统 一、前…

如何通过ms-swift实现T4/V100老旧显卡再利用?

如何通过 ms-swift 实现 T4/V100 老旧显卡再利用&#xff1f; 在大模型浪潮席卷全球的今天&#xff0c;AI 算力竞赛似乎已演变为一场“显卡军备赛”——H100、A100 成为标配&#xff0c;而数年前还风光无限的 T4 和 V100 却被贴上“过时”标签&#xff0c;逐渐退居二线甚至封存…

小区居民物业管理系统

小区居民物业管理系统 目录 基于springboot vue小区居民物业管理系统 一、前言 二、系统功能演示 三、技术选型 四、其他项目参考 五、代码参考 六、测试参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 基于springboot vue小区居民物业管理系统 一、前…

深度伪造检测模型开发新方向

深度伪造检测模型开发新方向&#xff1a;基于 ms-swift 的大模型工程化实践 在社交媒体每天生成数百万条音视频内容的今天&#xff0c;一条“某名人发表争议言论”的合成视频可能在几分钟内引爆舆论。而当AI生成的内容已经难以用肉眼分辨真伪时&#xff0c;传统的图像哈希比对、…

VSCode子智能体测试能力曝光,AI驱动测试时代已来?

第一章&#xff1a;VSCode子智能体测试能力曝光&#xff0c;AI驱动测试时代已来&#xff1f;近期&#xff0c;VSCode的一项实验性功能引发开发者社区热议&#xff1a;其内置的“子智能体”&#xff08;Sub-agent&#xff09;测试能力首次实现了对单元测试用例的自动生成与执行反…

统计重思2024:贝叶斯数据分析终极指南

统计重思2024&#xff1a;贝叶斯数据分析终极指南 【免费下载链接】stat_rethinking_2024 项目地址: https://gitcode.com/gh_mirrors/st/stat_rethinking_2024 想要掌握贝叶斯数据分析的核心思想吗&#xff1f;统计重思2024开源项目为你提供了一个完整的学习平台&…