Asterisk. Команда While.

While() - Начинает выполнение цикла while.

While(выражение)

Начинает выполнение цикла while. Выполнение возвратится в эту точку, когда будет вызвано приложение EndWhile(), если раньше не будет выполнено условие выражения. Если условие выполнено, что приводит к завершению цикла, Asterisk продолжает выполнение диалплана со следующего приоритета после соответствующего приложения EndWhile().

Пример:

exten => 123,1,Set(COUNT=1)
exten => 123,2,While($[ ${COUNT} < 5 ])
exten => 123,3,SayNumber(${COUNT})
exten => 123,4,Set(COUNT=$[${COUNT} + 1])
exten => 123,5,EndWhile()

См. также: EndWhile(), ExitWhile(), GotoIf()