[AsteriskBrasil] RES: Banco de dados interno no Asterisk e variáveis em SIP HEADERS

Rodrigo Pimenta Carvalho pimenta em inatel.br
Sexta Junho 12 10:19:34 BRT 2015


Prezado Rafael dos Santos Saraiva.
Bom dia.


Muito obrigado por sua resposta. Um ponto que você citou é muito interessante para o meu trabalho atual e eu gostaria de lhe fazer mais algumas perguntas, por favor.

     O envio de variáveis e valores, como preciso fazer, não necessariamente tem que ser pelo body filed de uma mensagem. Pode ser no SIP HEADER como você mesmo citou. Nesse caso, pergunto:

      a) Esse envio de variáveis no SIP HEADER funciona em qual tipo de mensagem SIP? SIP INVITE? SIP INFO? SIP CANCEL,  ou outra?

      b) Você quis dizer que com o dialplan eu poderei escrever as variáveis e seus valores no SIP HEADER? Ou melhor, o próprio Asterisk pode fazer isso por mim, se eu programar o dialplan corretamente?

      c) Com o uso de novas variáveis proprietárias no SIP HEADER, o Asterisk ainda continua funcionando sem problemas, ou devo mudar alguma configuração nele, para que ele aceite variáveis novas nos SIP HEADERS das mensagens SIP?

      d) Você pode me indicar por favor uma web page sobre Asterisk, que mostre como manipular variáveis dos SIP HEADERS, via dialplan?

      e) O que é o Jabber.

Muito o brigado pela ajuda!

Abraços.

RODRIGO PIMENTA CARVALHO
Inatel Competence Center
Software
Ph: +55 35 3471 9200 RAMAL 979

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Boa Noite Rodrigo

Vou tentar ajudar na medida dos meus conhecimentos:

1) O Asterisk possui um banco de dados interno (AstDB). Costumo utilizar
este BD para informações temporárias do próprio Asterisk, por exemplo,
destino de desvio de chamadas e implementações de facilidades em ramais. Se
você pretende guardar outras informações que não serão utilizadas somente
pelo Asterisk, recomendo utilizar um outro banco, MySQL por exemplo. Caso o
Asterisk necessite acessar esse banco, conecte via ODBC;
2) Envio de variáveis pelo SIP HEADER. Tanto o envio(definição da variável)
como o recebimento(recuperação da variável) são realizadas através do
dialplan.
3 e 4) Não tenho nada em mente.
5) Provavelmente vai gerar problema. Quem sabe usando Jabber (vai ser um
canal independente do canal SIP estabelecido)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Olá Pessoal.

Boa noite.

Após 8 anos sem trabalhar com o Asterisk, entrei num projeto no qual usarei Asterisk novamente, softphone, etc. Tenho algumas dúvidas iniciais:

1) Na máquina onde o Asterisk ficará instalado, eu terei que manter um banco de dados. Tal banco, manterá informações simples de câmeras IP na mesma rede, por exemplo a porta e o endereço IP de cada uma.
     O Asterisk contem algum banco de dados interno e que eu consiga utilizá-lo? Em caso positivo, onde eu poderei acessar material sobre esse assunto?

2) Estou pretendendo criar um protocolo proprietário, baseado em Json, para ser incluído em mensagens SIP. Ou seja, quero enviar algumas mensagens SIP ao Asterisk, mas com o body field contendo tuplas <atributo,valor> em Json.
     A minha idéia é receber tais tuplas no SIP server ( Asterisk) e utilizar os valores respectivos como parâmetros em queries SQL a consultarem o tal banco de dados que ainda tenho que providenciar/acessar. Ou seja, em mensagens SIP quero enviar valores que servirão para montar consultas SQL que serão executadas na mesma máquina onde estará o Asterisk.
     Como seria a forma de receber tais mensagens SIP no Asterisk, extrair os valores e executar queries num banco de dados? Ou seja, a solução envolve dial plan? A partir do Dial Plan eu poderia obter os valores vindos no body field de uma mensagem SIP e em seguida executar queries num banco de dados? Ou será necessário alterar o código fonte do Asterisk? :-&

3) Como usar o Asterisk para que ele inclua o texto que eu quiser no body field de uma mensagem SIP que vai de resposta a um SIP terminal client? Ou seja, após obter dados do banco de dados, eu precisarei colocar tais valores numa mensagem SIP que seguirá como resposta ao SIP client que solicitou as informações.

4) Que tipo de mensagem SIP eu poderia usar para enviar meus dados proprietários no body field da mesma? Poderia ser uma SIP INFO?

5) Caso eu implemente essa ideia, o Asterisk não irá recusar as mensagens SIP com valores desconhecidos no body field da mensagem e simplesmente irá ignorar isso, não é mesmo? Mesmo assim ainda há uma forma de fazer o Asterisk obter estes dados da mensagem, como preciso?



Qualquer dica será de grande ajuda!!

Muito obrigado!


RODRIGO PIMENTA CARVALHO


Mais detalhes sobre a lista de discussão AsteriskBrasil