Aplicações do Dialplan do Asterisk 20
Comando:
GosubIf()
Sinopse:
Desvio condicional para um rótulo, salvando o endereço de retorno.
Descrição:
Se a condição for verdadeira, o dialplan desvia para o rótulo especificado em labeliftrue. Se a condição for falsa, ele desvia para labeliffalse, caso este seja fornecido. Em ambos os casos, o desvio salva o ponto de retorno no dialplan, para que seja possível retornar a ele usando o comando Return.
O comando GosubIf permite criar fluxos de execução condicionados dentro do dialplan, similar a uma estrutura 'if-else' em programação. É útil para executar diferentes trechos de código dependendo de uma determinada condição.
Sintaxe: GosubIf(condition?[labeliftrue:[labeliffalse]])
Parâmetros:
condition: Destino da condição.
labeliftrue (params): Rótulo para onde o dialplan deve desviar se a condição for verdadeira. Segue o mesmo formato do comando Goto(), como [[contexto,]extensão,]prioridade. Os argumentos arg1[arg1...] são obrigatórios.
labeliffalse (params): Rótulo para onde o dialplan deve desviar se a condição for falsa. Segue o mesmo formato do comando Goto(), como [[contexto,]extensão,]prioridade. Os argumentos arg1[arg1...] são obrigatórios.
Veja também:
Gosub, Return, MacroIf, IF, GotoIf, Goto
Sintaxe:
GosubIf(condition?[labeliftrue:[labeliffalse]])
Fonte: Asterisk Wiki