Передача звездочки называет к следующему расширению, если предыдущий INUSE

Я пытаюсь передать вызов следующему расширению, если предыдущий использует (INUSE), или вызов происходит. Я пытался использовать EXTENSION_STATE(extension[@context]) найти состояние следующим образом:

[sales]
exten => s,1,Dial(SIP/123)
exten => s,n,GotoIf($["${EXTENSION_STATE(123)}"="INUSE"]?passed:failed)
exten => s,n(passed),Dial(SIP/124)
exten => s,n(failed),Hangup();if other

Но не было успешно. Как я могу сделать это?

1
задан 24 September 2015 в 22:33
2 ответа

Ваше решение скомпилировано, это одна из причин, по которой оно не работает. Вам лучше попробовать это, это распространенный более простой подход с использованием внутренней переменной $ {DIALSTATUS} . Поскольку при ответе - звонок будет просто положен, вам просто нужно обработать все статусы erroneius:

[продажи] exten => s, 1, набрать (SIP / 123) exten => s, 2, Goto ($ {EXTEN} - $ {DIALSTATUS}, 1) exten => s-BUSY, 1, Набрать (SIP / другой) exten => s-CONGESTION, 1, Наберите (SIP / кто-то)

0
ответ дан 4 December 2019 в 07:06

Этот сработал для меня с использованием GROUP_COUNT () вместо EXTENSION_STATE:

exten => s,1,Set(GROUP()=OUTBOUND_GROUP)
exten => s,2,GotoIf($[ ${GROUP_COUNT()} > 1 ]?try1:try2)
exten => s,3(try1),Dial(SIP/124)
exten => s,4(try2),Dial(SIP/123)
0
ответ дан 4 December 2019 в 07:06

Теги

Похожие вопросы