Asterisk cmd While


Loop until condition is false




Execution loops between a While and an EndWhile statement, until the condition specified in the While evaluates to false. The condition is evaluated once per loop, at the beginning.


exten => 123,1,Answer
exten => 123,n,Set(i=1)
exten => 123,n,While($[${i} < 5])
exten => 123,n,SayNumber(${i})
exten => 123,n,Set(i=$[${i} + 1])
exten => 123,n,EndWhile


  • While / EndWhile supports nesting. That is, there can be more than one set of While / EndWhile executing for the channel at once.
  • If the While condition initially evaluates to false, dial plan execution continues after the matching EndWhile.
  • There is another loop control modifier, ContinueWhile

Asterisk | Applications | Functions | Variables | Expressions | Asterisk FAQ

Created by: Corydon76, Last modification: Mon 03 of Mar, 2014 (20:53 UTC) by khb
Please update this page with new information, just login and click on the "Edit" or "Discussion" tab. Get a free login here: Register Thanks! - Find us on Google+