GosubIf(condition?destination)
Dialplan Builder
-- build your GosubIf() command
Condition expression
Continue at *labeliftrue* if the condition is true. Takes the form similar to Goto() of [[[[term:context|context]],][[term:extension|extension]],]priority.
Continue at *labeliffalse* if the condition is false. Takes the form similar to Goto() of [[context,]extension,]priority.
Full arguments reference
conditionrequireddestinationrequiredlabeliftrue- Continue at labeliftrue if the condition is true. Takes the form similar to Goto() of [[contextA named section of the dialplan that groups extensions. Calls enter a specific context and can only reach extensions visible from it, making contexts the basic unit of call routing and security.,]extensionA dialplan entry that matches a dialed number or pattern within a context and triggers a sequence of prioritized steps.,]priority.arg1required (multiple)argN
labeliffalse- Continue at labeliffalse if the condition is false. Takes the form similar to Goto() of [[context,]extension,]priority.arg1required (multiple)argN
Description
If the condition is true, then jump to labeliftrue. If false, jumps to labeliffalse, if specified. In either case, a jump saves the return point in the dialplanThe core call-routing configuration of Asterisk, written mostly in extensions.conf as contexts, extensions, and priorities that decide how every call is handled. Full definition →, to be returned to with a Return.
Arguments
conditionrequireddestinationrequiredlabeliftrue- Continue at labeliftrue if the condition is true. Takes the form similar to Goto() of [[contextA named section of the dialplan that groups extensions. Calls enter a specific context and can only reach extensions visible from it, making contexts the basic unit of call routing and security.,]extensionA dialplan entry that matches a dialed number or pattern within a context and triggers a sequence of prioritized steps.,]priority.arg1required (multiple)argN
labeliffalse- Continue at labeliffalse if the condition is false. Takes the form similar to Goto() of [[context,]extension,]priority.arg1required (multiple)argN
User Notes
Know a tip or gotcha for this topic? Share it below and help others.
Contribute a note
Share a tip, gotcha, or practical example. Keep it under 2000 characters. No questions (use the Asterisk community forums for support). Wrap code in backticks.
Related
Applications
MusicOnHold()
ADSIProg()
AELSub()
AGI()
AMD()
AddQueueMember()
AgentLogin()
AgentRequest()
AlarmReceiver()
Answer()
AttendedTransfer()
AudioSocket()
Authenticate()
Background()
BackgroundDetect()
BlindTransfer()
Bridge()
BridgeAdd()
BridgeWait()
Broadcast()
Busy()
CELGenUserEvent()
CallCompletionCancel()
CallCompletionRequest()
ChanIsAvail()
ChanSpy()
ChangeMonitor()
ChannelRedirect()
ClearHash()
ConfBridge()
ConfKick()
Congestion()
ContinueWhile()
ControlPlayback()
DAHDIAcceptR2Call()
DAHDIRAS()
DAHDIScan()
DAHDISendCallreroutingFacility()
DAHDISendKeypadFacility()
DBdeltree()
DISA()
DateTime()
DeadAGI()
Dial()
Dictate()
Directory()
DumpChan()
EAGI()
Echo()
Else()
ElseIf()
EndIf()
EndWhile()
Exec()
ExecIf()
ExecIfTime()
ExitIf()
ExitWhile()
ExtenSpy()
ExternalIVR()
Festival()
Flash()
FollowMe()
ForkCDR()
GetCPEID()
Gosub()
GosubIf()
Goto()
GotoIf()
GotoIfTime()
Hangup()
HangupCauseClear()
IAX2Provision()
ICES()
IVRDemo()
If()
ImportVar()
Incomplete()
JACK()
JabberJoin()
JabberLeave()
JabberSend()
JabberSendGroup()
JabberStatus()
Log()
MP3Player()
MSet()
Macro()
MacroExclusive()
MacroExit()
MacroIf()
MailboxExists()
MeetMe()
MeetMeAdmin()
MeetMeChannelAdmin()
MeetMeCount()
MessageSend()
Milliwatt()
MinivmAccMess()
MinivmDelete()
MinivmGreet()
MinivmMWI()
MinivmNotify()
MinivmRecord()
MixMonitor()
Monitor()
Morsecode()
NBScat()
NoCDR()
NoOp()
ODBCFinish()
ODBC_Commit()
ODBC_Rollback()
OSPAuth()
OSPFinish()
OSPLookup()
OSPNext()
Originate()
PJSIPHangup()
PJSIPNotify()
Page()
Park()
ParkAndAnnounce()
ParkedCall()
PauseMonitor()
PauseQueueMember()
Pickup()
PickupChan()
PlayTones()
Playback()
PrivacyManager()
Proceeding()
Progress()
Queue()
QueueLog()
QueueUpdate()
RaiseException()
Read()
ReadExten()
ReceiveFAX()
ReceiveMF()
ReceiveSF()
ReceiveText()
Record()
Reference section rework and a batch of audio converter improvements
Reload()
RemoveQueueMember()
ResetCDR()
RetryDial()
Return()
Ringing()
SIPAddHeader()
SIPDtmfMode()
SIPRemoveHeader()
SIPSendCustomINFO()
SLAStation()
SLATrunk()
SMS()
SayAlpha()
SayAlphaCase()
SayCountedAdj()
SayCountedNoun()
SayDigits()
SayMoney()
SayNumber()
SayOrdinal()
SayPhonetic()
SayUnixTime()
SendDTMF()
SendFAX()
SendImage()
SendMF()
SendSF()
SendText()
SendURL()
Set()
SetAMAFlags()
Signal()
SkelGuessNumber()
SoftHangup()
SpeechActivateGrammar()
SpeechBackground()
SpeechCreate()
SpeechDeactivateGrammar()
SpeechDestroy()
SpeechLoadGrammar()
SpeechProcessingSound()
SpeechStart()
SpeechUnloadGrammar()
StackPop()
StartMusicOnHold()
Stasis()
StatsD()
StopMixMonitor()
StopMonitor()
StopMusicOnHold()
StopPlayTones()
StoreDTMF()
StreamEcho()
TestClient()
TestServer()
ToneScan()
Transfer()
TryExec()
TrySystem()
UnpauseMonitor()
UnpauseQueueMember()
UserEvent()
VMAuthenticate()
VMSayName()
Verbose()
VoiceMail()
VoiceMailMain()
VoiceMailPlayMsg()
Wait()
WaitDigit()
WaitExten()
WaitForCondition()
WaitForNoise()
WaitForRing()
WaitForSignal()
WaitForSilence()
WaitForTone()
WaitUntil()
While()
Zapateller()