news 2026/4/29 19:36:35

FreeSWITCH 的 effective_caller_id_name 和 effective_caller_id_number

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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: 你想让对方看到的来电号码
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/27 6:41:23

Qwen3Guard-Gen-8B在对话系统中的应用:实时识别高风险生成内容

Qwen3Guard-Gen-8B在对话系统中的应用&#xff1a;实时识别高风险生成内容 如今&#xff0c;大语言模型已经深度融入智能客服、虚拟助手和内容创作平台。但随之而来的问题也愈发突出——模型会不会“说错话”&#xff1f;一句看似无害的回复&#xff0c;可能因语境微妙而触碰敏…

作者头像 李华
网站建设 2026/4/21 7:32:21

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

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

作者头像 李华
网站建设 2026/4/28 1:05:22

Keil5汉化包安装教程:新手入门必看指南

Keil5汉化包安装实战指南&#xff1a;从零开始轻松搞定中文界面你是不是刚接触嵌入式开发&#xff0c;打开Keil Vision5时被满屏英文搞得一头雾水&#xff1f;“Project”、“Target”、“Debug Settings”……这些术语对新手来说就像天书。别急&#xff0c;keil5汉化包就是为你…

作者头像 李华
网站建设 2026/4/28 20:08:26

基于ms-swift构建大模型即服务(MaaS)平台,按Token计费售卖

基于 ms-swift 构建大模型即服务&#xff08;MaaS&#xff09;平台&#xff0c;实现按 Token 精细化计费 在当前 AI 技术快速落地的浪潮中&#xff0c;企业不再满足于“有没有模型”&#xff0c;而是更关心“能不能用、好不好用、划不划算”。一个典型的挑战是&#xff1a;某电…

作者头像 李华
网站建设 2026/4/29 14:39:10

51单片机蜂鸣器+按键交互设计:完整示例

51单片机按键触发蜂鸣器&#xff1a;从原理到实战的完整实现你有没有遇到过这样的场景&#xff1f;按下一个小按钮&#xff0c;立刻“嘀”一声响&#xff0c;让你知道操作已被系统接收——这看似简单的交互背后&#xff0c;其实藏着嵌入式开发中最基础也最关键的技能之一&#…

作者头像 李华
网站建设 2026/4/17 12:33:05

智能客服升级:快速集成物体识别能力的全渠道客服系统

智能客服升级&#xff1a;快速集成物体识别能力的全渠道客服系统 为什么需要为客服系统添加图片识别能力&#xff1f; 想象一下这样的场景&#xff1a;一位顾客在电商平台购买了一件家具&#xff0c;但不知道如何组装。他拍下零件照片发给客服&#xff0c;传统客服只能回复“请…

作者头像 李华