Я пытаюсь реализовать сложный диалплан, который требует взаимодействия с пользователем.Основываясь на этом взаимодействии, диалплан переходит на другую часть.Ниже приведен пример кода:
[test]
;This is a test.
exten => 0,n(qa1),NoOp()
exten => 0,1,Verbose(1, "This is a test")
exten => 0,n,Set(USER_ANSWER=0)
exten => 0,n,Read(USER_ANSWER,,1,,2,10)
exten => 0,n,Verbose(1, "User keyed in ${USER_ANSWER}")
exten => 0,n,GotoIf($[$["${USER_ANSWER}"="1"] | $["${USER_ANSWER}"="2"]]?eval1:qa1)
exten => 0,n,Verbose(1, "User keyed in ${USER_ANSWER}")
exten => 0,n(eval),NoOp()
...
При запуске вышеуказанного кода звездочка зависает после оценки условия GotoIf
, указанного выше.Сообщения об ошибках:
- Пользователь ввел '1' - Выполнение [0 @ test: 19] Verbose ("DAHDI / 13-1", "1," Пользователь ввел 1 "") в новом стеке «Пользователь ввел 1» - Выполнение [0 @ test: 20] GotoIf («DAHDI / 13-1», «1? eval1: qa1») в новом стеке - Goto (тест, 0,21) - Выполнение [0 @ test: 21] NoOp ("DAHDI / 13-1", "") в новом стеке [25 января 10:47:48] ПРЕДУПРЕЖДЕНИЕ [29738]: pbx.c: 3677 pbx_extension_helper: Нет приложения«Если» для расширения (test, 0, 22)
Мои вопросы:
- Что означает это сообщение об ошибке?
- Как я могу исправить это, чтобы оно работало?