在宏中匹配目标分机,需要使用${MACRO_EXTEN}变量来获取当前呼叫的分机号码,在判断中与目标分机进行比较。以下是示例代码:
[macro-test] exten => s,1,Set(dst_exten=1000) ; 目标分机号码为1000 exten => s,n,GotoIf($[${MACRO_EXTEN} = ${dst_exten}]?match:nomatch) exten => s,n(match),NoOp(Matched) exten => s,n,Hangup() exten => s,n(nomatch),NoOp(Not Matched) exten => s,n,Hangup()
在上面的代码中,宏名称为“macro-test”,首先通过Set命令设置目标分机号码为1000,然后使用GotoIf命令判断当前分机号码是否与目标分机号码相等,如果相等则跳转到match标签,执行后续操作,否则跳转到nomatch标签,执行其他操作。
可以根据实际需要修改上述代码,以适应不同的场景。