13 de abril de 2016

Categories: Asterisk, LUA
Tags: No Tags
Comments: No Comments
Published on: 13 de abril de 2016

Antes que alguém fale mal, isto e uma referencia básica, muito básica pois a documentação é muito vaga para o perfeito entendimento.

Abaixo está uma referência rápida que pode ser usado para traduzir conceitos do Dialplan do extensions.conf tradicionais para seu análogo extensions.lua.

  • *Extension Patterns
    *Context Includes
    *Loops
    *Variables
    *Applications
    *Macros/GoSub
    *Goto

Combinando a sintaxe e a lógica iremos migrar o conceito de extensions.conf para extensions.Lua

Extension Patterns

 

 

Context Includes

 

 

Loops

 

 

Variables

 

 

Applications

 

 

Macros/GoSub
As Macros podem ser definidas em “pbx_lua” nomeando um contexto “macro-*” como em extensions.conf, mas geralmente onde você iria usar “macros” ou “gosub” em extensions.conf. Você pode simplesmente usar uma função em Lua.

 

Goto
Enquanto Goto é um grampo em extensions.conf, o mesmo deve ser evitado em “pbx_lua” em favor de funções.

 

 

OBS: A função “app.[‘goto’]()” não funcionará conforme o esperado no “pbx_lua” em Asterisk 1.8. Se você for usar o “app.[‘goto’]()” você deve fazer uso do “return” para voltar manualmente ao controle. Para fazer isto no Asterisk 1.8, use a função de “return” no dialplan. Caso contrário, a execução continuará após a chamada de “app.[‘goto’]()”. Chamadas para “app.[‘goto’]()” deve funcionar como esperado em Asterisk 10 e mais atuais, mas ainda não deve ser necessário na maioria dos casos.

Uso do “return” no Asterisk 1.8

Lembrando que na versão 5.2 de LUA a palavra “goto” e uma palavra reservada. e se usar “app.goto()” teras um erro de sintaxe.

Fonte: Wiki Asterisk.

«page 1 of 68

Categorias

Welcome , today is domingo, 28 de agosto de 2016