Re: [AsteriskBrasil] RES: Qual opção correta: SQLite, MySQL ou o builtin database?
Rodrigo Para acessar/ definir os valor no banco interno do Asterisk você deve utilizar as seguintes funções no plano de discagem: DB DB_DELETE DB_EXISTS DB_KEYS [image: Sua Foto] rafaels...@gmail.comRafael S. SaraivaPorto Alegre - RS | Mobile: (51) 8174-7956 http://br.linkedin.com/pub/rafael-saraiva/52/aab/230 https://plus.google.com/u/0/+RafaelSaraivaRS Em 7 de julho de 2015 14:11, Rodrigo Pimenta Carvalho pime...@inatel.br escreveu: Olá pessoal. Para arquivar dados simples, via Asterisk e dial plan, a melhor opção é usar o banco de dados embarcado. Como não vou precisar de um banco de dados relacional ou fazer queries complicadas, não vou usar um banco como o MySQL ou outro. SQLite com uma tabela simples será suficiente. Assim acho que vou evitar o uso do AGI. Antigamente havia um banco embarcado no Asterisk, até a versão 1.8, que me esqueci o nome agora. Mas, mais recentemente, eu acho que ela foi substituída pelo SQLite, segundo pesquisas que fiz agora na Internet e em outra lista. Nesse caso, o meu próximo passo será investigar como usar o Diaplan para acessar esse banco embarcado. Provavelmente os comandos devem ser os mesmo que firam criados antes da versão 1.8 do Asterisk. Na wiki do Asterisk tem explicação sobre isso. Vou continuar nesse ponto então. Muito obrigado pelas ajudas enviadas a mim nessa lista. Atenciosamente, RODRIGO PIMENTA CARVALHO Inatel Competence Center Software Ph: +55 35 3471 9200 RAMAL 949 (Brasil) ___ WORKOFFEE PORTO ALEGRE da Khomp acontecerá no dia 7/07, no Hotel Quality. Faça já sua inscrição em workoffee.com.br e venha conhecer os lançamentos do portfólio da Khomp em primeira mão. Inscrições GRATUITAS. ___ DIGIVOICE: Fabricante pioneiro em Banco de Canais e Placas E1, GSM, FXO e FXS para Asterisk e Elastix. Temos Cursos de Telefonia IP e Asterisk. Construa soluções de PABX IP com produtos DigiVoice - visite www.digivoice.com.br ___ Para remover seu email desta lista, basta enviar um email em branco para asteriskbrasil-unsubscr...@listas.asteriskbrasil.org ___ WORKOFFEE PORTO ALEGRE da Khomp acontecerá no dia 7/07, no Hotel Quality. Faça já sua inscrição em workoffee.com.br e venha conhecer os lançamentos do portfólio da Khomp em primeira mão. Inscrições GRATUITAS. ___ DIGIVOICE: Fabricante pioneiro em Banco de Canais e Placas E1, GSM, FXO e FXS para Asterisk e Elastix. Temos Cursos de Telefonia IP e Asterisk. Construa soluções de PABX IP com produtos DigiVoice - visite www.digivoice.com.br ___ Para remover seu email desta lista, basta enviar um email em branco para asteriskbrasil-unsubscr...@listas.asteriskbrasil.org
Re: [AsteriskBrasil] RES: Qual opção correta: SQLite, MySQL ou o builtin database?
Ola Rodrigo O Asterisk a partir da versão 1.10 utiliza o Sqlite para o banco de dados interno, mas não sei como acessar a partir do Dialplan. Eu tenho um 1.8 rodando, olha as applications dele no final do e-mail. Acho que voce tem 3 caminhos a escolher: 1) Achar uma forma de gravar direto pelo dialplan (Se existir) 2) Desenvolver um módulo em C para o Asterisk, com as funções que voce precisa. (Demorado, complexo) 3) Usa AGI Antes de investir no banco, descobre como fazer isso. Se não já muda logo a estratégia. Abraço -- Connected to Asterisk 1.8.31.0 currently running on pbx (pid = 9033) pbx*CLI core show applications -= Registered Asterisk Applications =- AddQueueMember: Dynamically adds queue members. ADSIProg: Load Asterisk ADSI Scripts into phone AELSub: Launch subroutine built with AEL AgentLogin: Call agent login. AgentMonitorOutgoing: Record agent's outgoing call. AGI: Executes an AGI compliant application. AlarmReceiver: Provide support for receiving alarm reports from a burglar or fire alarm panel. AMD: Attempt to detect answering machines. Answer: Answer a channel if ringing. Authenticate: Authenticate a user BackGround: Play an audio file while waiting for digits of an extension to go to. BackgroundDetect: Background a file with talk detect. Bridge: Bridge two channels. Busy: Indicate the Busy condition. CallCompletionCancel: Cancel call completion service CallCompletionRequest: Request call completion service for previous call CELGenUserEvent: Generates a CEL User Defined Event. ChangeMonitor: Change monitoring filename of a channel. ChanIsAvail: Check channel availability ChannelRedirect: Redirects given channel to a dialplan target ChanSpy: Listen to a channel, and optionally whisper into it. ClearHash: Clear the keys from a specified hashname. ConfBridge: Conference bridge application. Congestion: Indicate the Congestion condition. ContinueWhile: Restart a While loop. ControlPlayback: Play a file with fast forward and rewind. DAHDIBarge: Barge in (monitor) DAHDI channel. DAHDIRAS: Executes DAHDI ISDN RAS application. DAHDIScan: Scan DAHDI channels to monitor calls. DAHDISendCallreroutingFacility: Send an ISDN call rerouting/deflection facility message. DAHDISendKeypadFacility: Send digits out of band over a PRI. DateTime: Says a specified time in a custom format. DBdel: Delete a key from the asterisk database. DBdeltree: Delete a family or keytree from the asterisk database. DeadAGI: Executes AGI on a hungup channel. Dial: Attempt to connect to another device or endpoint and bridge the call. Dictate: Virtual Dictation Machine. Directory: Provide directory of voicemail extensions. DISA: Direct Inward System Access. DumpChan: Dump Info About The Calling Channel. EAGI: Executes an EAGI compliant application. Echo: Echo media, DTMF back to the calling party EndWhile: End a while loop. Exec: Executes dialplan application. ExecIf: Executes dialplan application, conditionally. ExecIfTime: Conditional application execution based on the current time. ExitWhile: End a While loop. ExtenSpy: Listen to a channel, and optionally whisper into it. ExternalIVR: Interfaces with an external IVR application. Festival: Say text to the user. Flash: Flashes a DAHDI Trunk. FollowMe: Find-Me/Follow-Me application. ForkCDR: Forks the Call Data Record. GetCPEID: Get ADSI CPE ID. Gosub: Jump to label, saving return address. GosubIf: Conditionally jump to label, saving return address. Goto: Jump to a particular priority, extension, or context. GotoIf: Conditional goto. GotoIfTime: Conditional Goto based on the current time. Hangup: Hang up the calling channel. IAX2Provision: Provision a calling IAXy with a given template. ICES: Encode and stream using 'ices'. ImportVar: Import a variable from a channel into a new variable. Incomplete: Returns AST_PBX_INCOMPLETE value. Log: Send arbitrary text to a selected log level. Macro: Macro Implementation. MacroExclusive: Exclusive Macro Implementation. MacroExit: Exit from Macro. MacroIf: Conditional Macro implementation. MailboxExists: Check to see if Voicemail mailbox exists.
[AsteriskBrasil] RES: Qual opção correta: SQLite, MySQL ou o builtin database?
Olá pessoal. Para arquivar dados simples, via Asterisk e dial plan, a melhor opção é usar o banco de dados embarcado. Como não vou precisar de um banco de dados relacional ou fazer queries complicadas, não vou usar um banco como o MySQL ou outro. SQLite com uma tabela simples será suficiente. Assim acho que vou evitar o uso do AGI. Antigamente havia um banco embarcado no Asterisk, até a versão 1.8, que me esqueci o nome agora. Mas, mais recentemente, eu acho que ela foi substituída pelo SQLite, segundo pesquisas que fiz agora na Internet e em outra lista. Nesse caso, o meu próximo passo será investigar como usar o Diaplan para acessar esse banco embarcado. Provavelmente os comandos devem ser os mesmo que firam criados antes da versão 1.8 do Asterisk. Na wiki do Asterisk tem explicação sobre isso. Vou continuar nesse ponto então. Muito obrigado pelas ajudas enviadas a mim nessa lista. Atenciosamente, RODRIGO PIMENTA CARVALHO Inatel Competence Center Software Ph: +55 35 3471 9200 RAMAL 949 (Brasil) ___ WORKOFFEE PORTO ALEGRE da Khomp acontecerá no dia 7/07, no Hotel Quality. Faça já sua inscrição em workoffee.com.br e venha conhecer os lançamentos do portfólio da Khomp em primeira mão. Inscrições GRATUITAS. ___ DIGIVOICE: Fabricante pioneiro em Banco de Canais e Placas E1, GSM, FXO e FXS para Asterisk e Elastix. Temos Cursos de Telefonia IP e Asterisk. Construa soluções de PABX IP com produtos DigiVoice - visite www.digivoice.com.br ___ Para remover seu email desta lista, basta enviar um email em branco para asteriskbrasil-unsubscr...@listas.asteriskbrasil.org
[AsteriskBrasil] RES: Qual opção correta: SQLite, MySQL ou o builtin database?
Olá Daniel. Além do AGI, atualmente podemos usar a interface REST do Asterisk (ARI). Mas, ainda vou tentar usar o banco de dados embarcado no Asterisk. Para tal, o site http://www.voip-info.org/wiki/view/Asterisk+func+db tem os exemplos de comandos par isso, direto do dial plan. Vamos ver se dá certo... Obrigado pela atenção. Abs. RODRIGO PIMENTA CARVALHO Inatel Competence Center Software Ph: +55 35 3471 9200 RAMAL 979 (Brasil) --- Ola Rodrigo O Asterisk a partir da versão 1.10 utiliza o Sqlite para o banco de dados interno, mas não sei como acessar a partir do Dialplan. Eu tenho um 1.8 rodando, olha as applications dele no final do e-mail. Acho que voce tem 3 caminhos a escolher: 1) Achar uma forma de gravar direto pelo dialplan (Se existir) 2) Desenvolver um módulo em C para o Asterisk, com as funções que voce precisa. (Demorado, complexo) 3) Usa AGI Antes de investir no banco, descobre como fazer isso. Se não já muda logo a estratégia. Abraço -- ___ WORKOFFEE PORTO ALEGRE da Khomp acontecerá no dia 7/07, no Hotel Quality. Faça já sua inscrição em workoffee.com.br e venha conhecer os lançamentos do portfólio da Khomp em primeira mão. Inscrições GRATUITAS. ___ DIGIVOICE: Fabricante pioneiro em Banco de Canais e Placas E1, GSM, FXO e FXS para Asterisk e Elastix. Temos Cursos de Telefonia IP e Asterisk. Construa soluções de PABX IP com produtos DigiVoice - visite www.digivoice.com.br ___ Para remover seu email desta lista, basta enviar um email em branco para asteriskbrasil-unsubscr...@listas.asteriskbrasil.org
[AsteriskBrasil] RES: Qual opção correta: SQLite, MySQL ou o builtin database?
Prezado Daniel Zanutti. Bom dia. Muito obrigado por sua atenção. Estou num projeto com uma equipe de desenvolvedores onde cada um tem um papel específico e o meu no momento é de apenas investigar quais soluções iremos/poderemos adotar. Por exemplo, já decidimos que não iremos usar AGI dessa vez, porque nosso sistema, com Asterisk, será embarcado num hardware com limitação de recursos. Mas, nada nos impede de voltar nesse assunto e analisar o custo-benefício de usar AGI. Inicialmente estive planejando acessar o banco de dados diretamente do dial plan. Nessa visão, estou pesquisando sobre as possibilidades. Se ficarmos mesmo com a solução sem AGI, é possível acessar SQLite via o dial plan também, mas usar uma tabela proprietária? Ou seja, no meu caso não estou interessado em salvar dados de CDR. Eu também gosto da abordagem de problema-solução e nossa equipe tem a lista de problemas/riscos a serem eliminados. Para tal, inicialmente investigarei as possibilidades em teoria. Depois testarei meus entendimentos através de protótipos. Aí sim poderei fazer perguntas mais específicas aqui nessa lista. Mas, até agora sou iniciante nesse assunto e então estou procurando os caminhos a seguir. Estou tentando ter uma ideia geral e inicial sobre as capacidades que o Asterisk pode nos oferecer. O meu primeiro passo foi ler a Wiki oficial do Asterisk. Não quero dar passos largos. Apenas curtos. Então vou continuar nessa investigação de uso de banco de dados. O próximo passo será usar um softphone proprietário nosso, feito em C, a partir do PJSIP. Como softphone faremos uma ligação ao Asteriski, que deverá salvar dado no banco de dados, via dial plan. Ou seja, a requisição de salvar dados chegará ao Asterisk via mensagem SIP. Daniel, por favor, faça suas críticas sobre meus comentários. Qualquer dica ou crítica será de grade valor. P.S.: não estou conseguindo receber as respostas dessa lista no meu inbox. Estou conseguindo apenas criar novos posts. Para ver as respostas, estou acessando a página http://asteriskbrasil.org/pipermail/asteriskbrasil/2015-July . Ainda não descobri o motivo disso, mas já pedi o pessoal do suporte na minha empresa investigar. Muito obrigado. RODRIGO PIMENTA CARVALHO Inatel Competence Center Software Ph: +55 35 3471 9200 RAMAL 979 (Brasil) Ola Rodrigo Posso estar errado, mas me parece que voce esta dando um passo muito largo. Voce já definiu a linguagem de programação que utilizará na sua aplicação de backend? Em teoria qualquer banco de dados pode ser acesso no Asterisk utilizando AGI, pois este suporta algumas nativamente e outras através de ODBC. Pelo que entendi voce está só estudando e eu acho esta uma abordagem mais difícil. Eu prefiro a abordagem de problema-solução, encontre os problemas que voce precisa resolver, enumere eles e verifique se o banco de dados consegue resolver todos eles. Se não consegue, posta aqui um caso e te ajudamos. No geral é pesar custo x benefício de cada solução. Abraço De: Rodrigo Pimenta Carvalho Enviado: terça-feira, 7 de julho de 2015 9:55 Para: asteriskbrasil@listas.asteriskbrasil.org Assunto: Qual opção correta: SQLite, MySQL ou o builtin database? Olá Pessoal. Bom dia. Estive pesquisando sobre como usar banco de dados acoplado ao Asterisk. Estudei a wiki do Asterisk, o site Voip-Info.org e vi 1 video no youtube sobre o assunto. Nos temos um builtin database no Asterisk, o qual pode ser usado para armazenar dados e recuperá-los. Os comandos são: DB_DELETE, DB e DB_EXISTS. Nesse banco podemos registrar informações no estilo do Windows Register. Além disso, podemos também fazer uso do MySQL, usando o comando DBQuery, que permite executar queries no database e obter o resultado. Por último, existe a possibilidade de usar o SQLite, por exemplo para arquivar dados de CDR. No meu caso, eu preciso arquivar dados no banco de dados, que não de CDR, mas de atributos de elementos na minha rede. Ex: IP de uma câmera de video, porta, etc. Isso será necessário, porque aplicações a serem feitas para smartphones, no meu projeto, precisarão obter essas informações via mensagens SIP. Ou seja, preciso criar uma solução onde o meu Dialplan irá executar queries num banco de dados e colocar as informações obtidas em cabeçalhos de mensagens SIP a serem retornadas para as aplicações nos smartphones. Nesse caso, tenho as seguintes dúvidas: Para arquivar informações simples, como atributos e valores, qual seria a