目前我使用以下条件:
exten => 1237,n,GotoIf($[ $[ "${text}" = "yes" ] | $[ "${text}" = "ok" ]
| $[ "${text}" = "perfect" ] ]?interest:retry)
这是一种更好的方法来定义这种语法,我想比较文本的值与字符串数组,但我无法找到一种方法来做到这一点。例如:
exten => 1237,n,GotoIf($[ $[ "${text}" in ARRAY("yes","ok","perfect") ] ]?interest:retry)
答案 0 :(得分:2)
我不知道Asterisk中的in
运算符,但您可以使用正则表达式匹配:
GotoIf($[ "${text}" =~ "^(yes|no|perfect)$"]?interest:retry)
答案 1 :(得分:0)
FIELDNUM几乎是你需要的
exten = 1237,n,Set(STRARRAY='yes-ok-perfect')
exten = 1237,n,GotoIF($[ ${FIELDNUM(STRARRAY,-,${text})} > 0 ]?interest:retry)