You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Asterisk:基于多号码条件的来电显示(Caller ID)重写配置方法咨询

实现Asterisk来电显示(Caller ID)多条件重写配置

我来帮你搞定Asterisk多条件来电显示重写的需求~你现在的单条件代码能正常运行,但要扩展成多规则匹配的话,有两种清晰的实现方式,我给你详细拆解:

方式一:多分支GotoIf串联

这种方式是在现有代码基础上扩展,通过多个GotoIf逐个检查号码,匹配后跳转到对应的设置分支:

exten => _X.,1,GotoIf($[${CALLERID(num)}=1004]?set1004)
exten => _X.,n,GotoIf($[${CALLERID(num)}=1005]?set1005)
exten => _X.,n,GotoIf($[${CALLERID(num)}=1006]?set1006)
; 如果没有匹配到任何规则,直接跳转到结束分支
exten => _X.,n,Goto(end)

; 1004号码对应的重写规则
exten => _X.,n(set1004),SET(CALLERID(all)=My company<1234489>)
exten => _X.,n,Goto(end)
; 1005号码对应的重写规则
exten => _X.,n(set1005),SET(CALLERID(all)=My company<383838>)
exten => _X.,n,Goto(end)
; 1006号码对应的重写规则
exten => _X.,n(set1006),SET(CALLERID(all)=My company<848481>)
exten => _X.,n,Goto(end)

; 结束分支,可在这里添加后续呼叫逻辑(比如Dial)
exten => _X.,n(end),NoOp(Caller ID rewrite complete)

关键说明:

  • 每个GotoIf判断一个号码,匹配就跳转到对应的标记分支(比如set1004)
  • 设置完来电显示后,通过Goto(end)跳转到结束分支,避免执行后续的条件判断
  • 如果没有匹配任何规则,会直接进入end分支,不修改来电显示

方式二:使用Switch语句(推荐)

当规则数量较多时,Switch语法的结构更清晰,可读性和可维护性更好,适合多条件场景:

exten => _X.,1,Switch(${CALLERID(num)})
exten => _X.,n,Case(1004)
exten => _X.,n,SET(CALLERID(all)=My company<1234489>)
exten => _X.,n,Break()
exten => _X.,n,Case(1005)
exten => _X.,n,SET(CALLERID(all)=My company<383838>)
exten => _X.,n,Break()
exten => _X.,n,Case(1006)
exten => _X.,n,SET(CALLERID(all)=My company<848481>)
exten => _X.,n,Break()
exten => _X.,n,Default()
; 默认分支:没有匹配到任何号码时的处理(可选择不修改或设置默认显示)
exten => _X.,n,NoOp(No matching Caller ID rewrite rule)
exten => _X.,n,Break()
exten => _X.,n,EndSwitch()

关键说明:

  • Switch(${CALLERID(num)})指定要匹配的变量(这里是来电号码)
  • 每个Case对应一个号码规则,匹配后执行对应的SET操作
  • Break()用于跳出当前Case,避免执行后续规则
  • Default()分支处理所有未匹配的情况,你可以在这里设置默认的来电显示,或者只做日志记录

额外注意事项

  • 如果你的来电号码是固定长度,建议把匹配模式_X.改成更精确的格式(比如_XXXX匹配4位号码),避免不必要的匹配
  • 如果你只想重写号码或名称,可以单独设置CALLERID(num)或CALLERID(name),而不是CALLERID(all)
  • 测试时可以通过core show application Switch或core show application GotoIf查看Asterisk官方语法说明,确保配置正确

内容的提问来源于stack exchange,提问作者elbarna

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.01 00:22:36