[internal] # The internal dialplan (forwarding someone to a registered phone) exten => _[1-8]XX,1,AGI(internal.php) exten => _[1-8]XX,n,GotoIf($[${SUCCES} = 0]?failure) exten => _[1-8]XX,n,GotoIf($[${SELF} = 0]?callingself) exten => _[1-8]XX,n,GotoIf($[${OUTGOING} = 1]?outgoing) exten => _[1-8]XX,n,Dial(${LOCATION},30,t) exten => _[1-8]XX,n,Voicemail(${EXTEN}@default,u) exten => _[1-8]XX,n,Hangup() exten => _[1-8]XX,n(callingself),Answer() exten => _[1-8]XX,n,Playback(the-number-u-dialed&is-in-use&by&your&telephone-number) exten => _[1-8]XX,n,Hangup() exten => _[1-8]XX,n(failure),Voicemail(${EXTEN}@default,u) exten => _[1-8]XX,n,Hangup() exten => _[1-8]XX,n,Goto(outgoing,${LOCATION},1) exten => _[1-8]XX,n,Hangup() [outgoing] exten => _0ZXXXXXXXX,1,AGI(callerid.php) exten => _0ZXXXXXXXX,n,Dial(Zap/g1/${EXTEN}) [phones] include => internal # the internal.php AGI sets LOCATION to something matching _0ZXXXXXXXX if it sets outgoing to 1 Output in asterisk: [Dec 29 17:29:41] NOTICE[25708]: pbx.c:1877 pbx_extension_helper: No such label 'outgoing' in extension '300' in context 'phones'