Переходы

Переход в другую точку диалплана может быть безусловным Goto или по условию - GotoIf GotoIfTime
Независимо от используемой функции, всегда указывается label, к которому происходит переадресация. Label может быть представлен в одном из следующих вариантов:
контекст,экстеншн,приоритет
экстеншн,приоритет
приоритет

Goto(label) - безусловная переадресация
GotoIf($[condition]?label1:label2) - если условие - ИСТИНА, переадресация к label1, если условие - ЛОЖЬ, переадресация к label2
GotoIfTime(hours|days|date|months?label) - Если текущее время попадает в указанный диапазон – функция перекинет к соответствующему label. Если нет – перейдет к следующему приоритету.

Примеры:

[incoming]
exten => 1234500,1,Playback(tt-weasels)
same => n,Goto(callcenter,s,1)

exten => 5432100,1,Playback(tt-monkeysintro)
same => n,Goto(callcenter,s,1)

[callcenter]
exten => s,1,GotoIfTime(18:00-8:59|*|*|*?closed,1}
same => n,GotoIfTime(*|sat-sun|*|*?closed,1}
same => n,GotoIfTime(*|*|1-9|jan?closed,1}
same => n,Dial(SIP/101,10,r)
same => n,Hangup()

exten => closed,1,Playback(we-are-closed)
same => n,Hangup()

[outgoing]
exten => _[78]XXXXXXXXXX,1,NoOp()
same => n,GotoIf($[${CALLERID(num)}=101]?block,1)
same => n,Dial(SIP/myprovider/7${EXTEN:1},,R)
same => n,Hangup()

exten => block,1,Playback(goodbye)
same => n,Hangup()