我的 execif 变量在 Asterisk 拨号方案中被忽略

my execif variable ignored in Asterisk dialplan

对于分机4111我想改写来电显示,如果是4111就必须变成4442 我把它放在拨号方案重新加载中并且..被忽略了。 为什么?

exten => 4111,1,ExecIf($["${CALLERID(num)}" = "4111"]?Set(${CALLERID(num)=4442))
exten => 4111,n(dial),Dial(DAHDI/g7/${EXTEN},10)
exten => 4111,n,Hangup()

已找到解决方案,必须张贴在“被叫”号码中,而不是来电号码中。 正确的语法是

exten => 4112,1,ExecIf($["${CALLERID(num)}" = "4111"]?set(CALLERID(all)=My company<1234489>))