logomarca lojamundi
Contatos
61 99137 5620

11 2666 4242
21 2169 8855
31 4042 1799
Outros Telefones
logomarca lojamundi
botão minha contabotão entrarbotão cadastro
botão servicosbotão blogbotão contato
Manuais

Funções do Dialplan do Asterisk 20
Comando:

EVAL_SUB()


Descrição:
A função `EVAL_SUB` executa um trecho do dialplan em um contexto, extensão e prioridade específicos, com argumentos opcionais, e retorna o conteúdo da instrução `Return`. Os argumentos para `EVAL_SUB` são exatamente os mesmos que para o aplicativo `Gosub`.

Esta função é complementar a `EVAL_EXTEN`, mas é mais poderosa, pois permite executar dialplans arbitrários e capturar um resultado como o valor de retorno de uma função do dialplan. Isso possibilita o uso em diversos cenários que não permitem a execução direta do dialplan, mas permitem o uso de variáveis e funções, e onde usar `EVAL_EXTEN` seria difícil ou impossível.

Consequentemente, esta função também permite implementar suas próprias funções arbitrárias no dialplan, que podem então ser encapsuladas usando a interface de funções do Asterisk com `EVAL_SUB`.

Embora esta função seja primariamente destinada a ser usada para executar rotinas `Gosub` que sejam rápidas e não interajam com o canal, é seguro executar dialplans arbitrários, mesmo bloqueantes, na sub-rotina chamada. No entanto, esse tipo de uso não é recomendado.

Esta função sempre retornará, mesmo que o canal seja desligado.
Sintaxe:
[islocal]
exten => _X!,1,ExecIf($[${LEN(${EXTEN})}<10]?Return(1))
same => n,Set(LOCAL(npanxx)=${EXTEN:-10:6})
same => n,ReturnIf(${EXISTS(${DB(localcall/${npanxx})})}?${DB(localcall/${npanxx})})
same => n,Set(LOCAL(islocal)=${SHELL(curl "https://example.com/islocal?npanxx=${EXTEN:-10:6}")})
same => n,Set(LOCAL(islocal)=${FILTER(A-Z,${islocal})})
same => n,Set(DB(localcall/${npanxx})=${islocal})
same => n,Return(${islocal})
[outgoing]
exten => _1NXXNXXXXXX,1,Set(CDR(toll)=${IF($["${EVAL_SUB(islocal,${EXTEN},1)}"="Y"]?0:1)})
same => n,Dial(DAHDI/1/${EXTEN})
same => n,Hangup()
EVAL_SUB(context,extensions,priority)
Fonte: Asterisk Wiki
Divisor Triangular
POR QUE A LOJAMUNDI É CONFIÁVEL?
selo de verificação reclame aqui da lojamundiselo google site seguroselo reclame aqui com link de acessoselo https seguroselo let's encrypt

ENTRE EM CONTATO COM A LOJAMUNDI.

Assine nossa Newsletter! É gratuito!

Cadastre seu nome e email para receber novidades e materiais gratuitos da Lojamundi.