从号码拨号方案星号中删除字符

Remove chars from number dialplan asterisk

如何从 CALLED NUMBER 中删除前 3 个 digits/letters。假设号码 123456789 呼叫 abc987654321。我想删除 abc,因为在上下文中我只有 987654321。我知道如何从 CALLER 中切出,但不知道如何从 CALLED(目的地)号码中切出。到目前为止,这是我尝试过的但没有任何反应:

exten => _[a-z]XXXXXXXXXXXX,1,Set({CALLEDID}=${CALLEDID:3})
exten => _[a-z]XXXXXXXXXXXX,2,Dial(SIP/${CALLEDID},1)
exten => _[a-z]XXXXXXXXXXXX,3,Voicemail(${CALLEDID}@VoiceMail)
exten => _[a-z]XXXXXXXXXXXX,4,Playback(Goodbye)
exten => _[a-z]XXXXXXXXXXXX,5,Hangup

您可以使用 FILTER 函数或只执行 goto。您不需要从目的地切入,您需要从分机切入。

exten => _[a-z]XXXXXXXXXXXX,1,Goto(${EXTEN:3},1)

exten => _XXXXXXXXXXXX,1,Dial(SIP/${EXTEN},1)
exten => _XXXXXXXXXXXX,n,Voicemail(${EXTEN}@VoiceMail)
exten => _XXXXXXXXXXXX,n,Playback(Goodbye)
exten => _XXXXXXXXXXXX,n,Hangup

请注意,如果被叫方在通话后挂断,您的拨号方案仍会进行语音留言。阅读默认 extensions.conf.sample 以了解如何处理语音邮件