Aplicações do Dialplan do Asterisk 18
Descrição:Este comando permite desviar a execução do dialplan para um ponto específico, dependendo da avaliação de uma condição. Ele define o contexto, a extensão e a prioridade atuais no canal, e o motor PBX continua a execução a partir do local especificado.
A sintaxe dos rótulos (labels) é a mesma utilizada no comando
Goto. Se o rótulo escolhido pela condição for omitido, nenhum desvio é realizado e a execução prossegue para a próxima instrução.
Se o destino especificado for inválido (inexistente), o motor de execução tentará encontrar e executar o código na extensão 'i' (inválido) no contexto atual. Caso esta não exista, tentará executar a extensão 'h'. Se nenhuma das extensões 'h' ou 'i' estiver definida, o canal é desligado e a execução das instruções é interrompida.
Importante: Este comando pode alterar o contexto atual. Se o contexto especificado não existir, as extensões 'h' ou 'i' não serão encontradas, resultando no encerramento do canal e da chamada!
A sintaxe do comando é:
GotoIf(condition?[labeliftrue:[labeliffalse]])
Onde:
condition: Expressão que determina o desvio.
labeliftrue: Rótulo para onde desviar se a condição for verdadeira. Formato similar ao
Goto():
[[context,]extension,]priority.
labeliffalse: Rótulo para onde desviar se a condição for falsa. Formato similar ao
Goto():
[[context,]extension,]priority.