[AsteriskBrasil] RES: RES: Funcionamento Asterisk com PHP
ficar de forma mais simplificada como esta este, precisarei dar uma mexida nesse contexto, mais por enquanto só quero adaptar ai para conseguir fazer a tarifação. E valeu pelo script que foi excelente para mim que estou começando a aprender trabalhar com AGI Att Danilo Almeida -Mensagem original- De: asteriskbrasil-boun...@listas.asteriskbrasil.org [mailto:asteriskbrasil-boun...@listas.asteriskbrasil.org] Em nome de Mike Tesliuk Enviada em: Monday, June 18, 2012 7:12 PM Para: asteriskbrasil@listas.asteriskbrasil.org Assunto: Re: [AsteriskBrasil] RES: RES: RES: RES: RES: Funcionamento Asterisk com PHP vamos pensar: Eu estou usando asterisk 1.8 fiz um extension que manda para o agi, e desliga, exten = 1101,1,Agi(teste-tarifacao.agi) exten = 1101,n,Hangup() neste agi tem o seguinte. -- #!/usr/bin/perl use Asterisk::AGI; $AGI = new Asterisk::AGI; %input = $AGI-ReadParse(); # Pegando datas e coisas do genero my ($sec,$min,$hour,$mday,$mon,$year, $wday,$yday,$isdst) = localtime time; if($mday 10){ $mday = 0 . $mday; } $year = $year + 1900; $mon = $mon + 1; if($mon 10){ $mon = 0 . $mon; } $starttime = $year-$mon-$mday $hour:$min:$sec; #definindo o custo da tarifa $tarifa=0.481; $callerid = $AGI-get_variable(CALLERID(num)); $destino = $AGI-get_variable(EXTEN); #executando a discagem $AGI-exec(Dial, SIP/tronco/197); # pegando a variavel com o tempo de atendidod do canal $tempo = $AGI-get_variable(ANSWEREDTIME); # cobrando minimo de 30 segundos if($tempo 30){ $tempo = 30; } $segundos = ($tempo / 60); $custo = ($segundos * $tarifa); # Gerando nosso log num arquivo de texto, voce poderia usar um mysql para isso system(echo '$starttime,$callerid,$destino,$tempo,$custo,$tarifa' /tmp/billing.csv); --- No caso, ele vai gerar um arquivo de billing o conteudo dele é o seguinte (duas ligações, uma de poucos segundos e outra de mais de um minuto) O formato do arquivo é: data,quem,pra_onde,tempo_da_chamada_atendida,valor,tarifa Abaixo o conteudo: 2012-06-18 18:42:1,114,11001,30,0.2405,0.481 2012-06-18 18:45:8,114,11001,69,0.55315,0.481 no meu caso aqui ele em alguns momentos nao gerou a escrita no arquivo, não olhei o porque, talvez algum erro meu, mas enfim, a base é esta. eu escrevi a saida em um arquivo de texto, poderia ser um banco de dados por exemplo e por ai vai. Em 18-06-2012 18:11, Danilo Almeida escreveu: Ribeiro Não entendo como conseguirei fazer isso, pois após o término da ligação, como farei para calcular o custo dela? Att Danilo ALmeida -Mensagem original- De: asteriskbrasil-boun...@listas.asteriskbrasil.org [mailto:asteriskbrasil-boun...@listas.asteriskbrasil.org] Em nome de Ribeiro Enviada em: Monday, June 18, 2012 4:53 PM Para: asteriskbrasil@listas.asteriskbrasil.org Assunto: [AsteriskBrasil] RES: RES: RES: RES: Funcionamento Asterisk com PHP Danilo Não pelo DeadAGI para a sobrecarga. Pelo evento do AMI/AJAM. Estes podem causar. Entendi sua necessidade, mas não seria melhor pegar pelo banco de dados, adicionar uma coluna sua ou copiar os dados para outra tabela? Isso geraria menos carga e seria mais fácil de você conseguir implementar. Um abraço Ribeiro -Mensagem original- De: asteriskbrasil-boun...@listas.asteriskbrasil.org [mailto:asteriskbrasil-boun...@listas.asteriskbrasil.org] Em nome de Danilo Almeida Enviada em: segunda-feira, 18 de junho de 2012 09:07 Para: asteriskbrasil@listas.asteriskbrasil.org Assunto: [AsteriskBrasil] RES: RES: RES: Funcionamento Asterisk com PHP Sei que já existem diversos tarifadores, é que trabalho em uma empresa de telefonia voIP e quero desenvolver um específico da empresa. Já tenho o script pronto, só que no script e só imprime o valor direto na tela do cliente. Quando o cliente faz uma busca de ligação, ele pega o tempo, faz o calculo e imprime na tela. No asterisk, já esta configurado para gravar as infos no BD, quero somente conseguir gravar o valor em um novo campo da Tabela. Exemplo: Quando a ligação encerrar, pegar a informação dessa ligação, fazer o calculo e dar um update na tabela jogando o valor no campo custo desta mesma ligação. Pelo que vi, isso seria feito pelo DeadAGI, mais como vc disse não sei se é a melhor opção pelo fato de poder dar uma sobrecarga. Teria alguma outra forma de fazer isto? obrigado Danilo Alameida -Mensagem original- De: asteriskbrasil-boun...@listas.asteriskbrasil.org [mailto:asteriskbrasil-boun...@listas.asteriskbrasil.org] Em nome de Ribeiro Enviada em: Monday, June 18, 2012 2:50 AM Para: asteriskbrasil@listas.asteriskbrasil.org Assunto: [AsteriskBrasil] RES: RES: Funcionamento Asterisk com PHP Danilo Já existem tarifadores diversos e até demais no mercado e muitos Free. Alguns até do pessoal aqui. Veja o
Re: [AsteriskBrasil] RES: RES: Funcionamento Asterisk com PHP
...@listas.asteriskbrasil.org] Em nome de Ribeiro Enviada em: Monday, June 18, 2012 2:50 AM Para: asteriskbrasil@listas.asteriskbrasil.org Assunto: [AsteriskBrasil] RES: RES: Funcionamento Asterisk com PHP Danilo Já existem tarifadores diversos e até demais no mercado e muitos Free. Alguns até do pessoal aqui. Veja o A2Billing. Ele faz exatamente o que você deseja, já está pronto e não tem custo. Acesso ao banco de dados, utilização de um tarifador ou pegar os dados do sistema é o que eu faria, pois você só precisa pegar os dados da ligação que já acabou e o Asterisk guarda isso por padrão. Por exemplo: Eu uso o Elastix. Nele tem a aba Report. Em CDR Report eu tenho todas as ligações realizadas e eu consigo exportar para CSV. Ele lhe daria TODOS os dados que você deseja de forma fácil, direta, clara e fácil. Tem o canal, duração, origem e destino e se foi atendida ou não. Você também consegue se integrar com o A2Billing. Na verdade é matar uma mosca com uma bomba nuclear o A2Billing para você, mas pode ser feito. Independente da sua solução, como já foi dito, tem o cálculo de custo, que não é tão simples quanto parece. Sobre o AGI: Em seu caso, você não precisa monitorar as ligações no momento em que elas estão acontecendo e entendo que o AGI não atenda você para isso. Você poderia usar o DeadAGI para pegar os dados depois do hangup ou um AMI/AJAM com eventos. Neste caso ele dispara o evento toda vez que alguma coisa acontece. Existem vários eventos e eu seguiria pelo evento Crd, onde toda vez que ocorre um hangup, ele lhe informa o canal que sofreu hangup e seus dados. Mais dados sobre eventos: http://www.voip-info.org/wiki/view/asterisk+manager+events . Só que tem um problema. O Astrisk fica pesado, pois ele armazena todos os hungups que ocorreram e em sistemas de tráfego intenso isso pode gerar sobrecarga. Só fique esperto que cada ligação gera 2 canais pelo menos (Pode gerar mais) e você tem que entender o que cada canal faz para saber qual deles tem a informação que você deseja ou quais deles contém. Um abraço Ribeiro -Mensagem original- De: asteriskbrasil-boun...@listas.asteriskbrasil.org [mailto:asteriskbrasil-boun...@listas.asteriskbrasil.org] Em nome de danilo.alme...@g1telecom.com.br Enviada em: domingo, 17 de junho de 2012 22:07 Para: asteriskbrasil@listas.asteriskbrasil.org Assunto: [AsteriskBrasil] RES: Funcionamento Asterisk com PHP Ribeiro Isso já é um ótimo começo pra mim, mais com essas 3 opções, eu consigo enviar um bloco de comando e salvar em um arquivo de conf por exemplo que possa ser meus ramais sip e depois da um include no sip.conf? Andei lendo também sobre AGI, mais o material que achei na internet a maioria ou explica coisas avançadas ou coisas básicas que não se encaixa no meu projeto. A princípio quero pegar o tempo da ligação e o uniqueid em uma pagina PHP fazer o cálculo do custo da ligação e armazenar no banco. Seria feito pela AGI? Obrigado Danilo Almeida ___ KHOMP Inovação: External Board Series Módulos de 1/2 rack e 1U para todas as interfaces e soluções Asterisk e FreeSWITCH. Tenha a External Series Experience na sua aplicação. Visite www.khomp.com ___ DIGIVOICE Fabricante de Placas de Voz e Channel Bank 20 anos de experiência com E1(R2/ISDN), FXS, FXO e GSM Centro Treinamento - Curso de PABX IP - Asterisk - Site www.digivoice.com.br YEALINK: Telefones IP e VídeoPhones IP com o melhor custo/benefício do mercado. email: yeal...@commlogik.com.br | www.commlogik.com.br | (11) 5503-1011 __ Para remover seu email desta lista, basta enviar um email em branco para asteriskbrasil-unsubscr...@listas.asteriskbrasil.org ___ KHOMP Inovação: External Board Series Módulos de 1/2 rack e 1U para todas as interfaces e soluções Asterisk e FreeSWITCH. Tenha a External Series Experience na sua aplicação. Visite www.khomp.com ___ DIGIVOICE Fabricante de Placas de Voz e Channel Bank 20 anos de experiência com E1(R2/ISDN), FXS, FXO e GSM Centro Treinamento - Curso de PABX IP - Asterisk - Site www.digivoice.com.br YEALINK: Telefones IP e VídeoPhones IP com o melhor custo/benefício do mercado. email: yeal...@commlogik.com.br | www.commlogik.com.br | (11) 5503-1011 __ Para remover seu email desta lista, basta enviar um email em branco para asteriskbrasil-unsubscr...@listas.asteriskbrasil.org ___ KHOMP Inovação: External Board Series Módulos de 1/2 rack e 1U para todas as interfaces e soluções Asterisk e FreeSWITCH. Tenha a External Series Experience na sua aplicação. Visite www.khomp.com ___ DIGIVOICE
[AsteriskBrasil] RES: RES: Funcionamento Asterisk com PHP
18, 2012 4:53 PM Para: asteriskbrasil@listas.asteriskbrasil.org Assunto: [AsteriskBrasil] RES: RES: RES: RES: Funcionamento Asterisk com PHP Danilo Não pelo DeadAGI para a sobrecarga. Pelo evento do AMI/AJAM. Estes podem causar. Entendi sua necessidade, mas não seria melhor pegar pelo banco de dados, adicionar uma coluna sua ou copiar os dados para outra tabela? Isso geraria menos carga e seria mais fácil de você conseguir implementar. Um abraço Ribeiro -Mensagem original- De: asteriskbrasil-boun...@listas.asteriskbrasil.org [mailto:asteriskbrasil-boun...@listas.asteriskbrasil.org] Em nome de Danilo Almeida Enviada em: segunda-feira, 18 de junho de 2012 09:07 Para: asteriskbrasil@listas.asteriskbrasil.org Assunto: [AsteriskBrasil] RES: RES: RES: Funcionamento Asterisk com PHP Sei que já existem diversos tarifadores, é que trabalho em uma empresa de telefonia voIP e quero desenvolver um específico da empresa. Já tenho o script pronto, só que no script e só imprime o valor direto na tela do cliente. Quando o cliente faz uma busca de ligação, ele pega o tempo, faz o calculo e imprime na tela. No asterisk, já esta configurado para gravar as infos no BD, quero somente conseguir gravar o valor em um novo campo da Tabela. Exemplo: Quando a ligação encerrar, pegar a informação dessa ligação, fazer o calculo e dar um update na tabela jogando o valor no campo custo desta mesma ligação. Pelo que vi, isso seria feito pelo DeadAGI, mais como vc disse não sei se é a melhor opção pelo fato de poder dar uma sobrecarga. Teria alguma outra forma de fazer isto? obrigado Danilo Alameida -Mensagem original- De: asteriskbrasil-boun...@listas.asteriskbrasil.org [mailto:asteriskbrasil-boun...@listas.asteriskbrasil.org] Em nome de Ribeiro Enviada em: Monday, June 18, 2012 2:50 AM Para: asteriskbrasil@listas.asteriskbrasil.org Assunto: [AsteriskBrasil] RES: RES: Funcionamento Asterisk com PHP Danilo Já existem tarifadores diversos e até demais no mercado e muitos Free. Alguns até do pessoal aqui. Veja o A2Billing. Ele faz exatamente o que você deseja, já está pronto e não tem custo. Acesso ao banco de dados, utilização de um tarifador ou pegar os dados do sistema é o que eu faria, pois você só precisa pegar os dados da ligação que já acabou e o Asterisk guarda isso por padrão. Por exemplo: Eu uso o Elastix. Nele tem a aba Report. Em CDR Report eu tenho todas as ligações realizadas e eu consigo exportar para CSV. Ele lhe daria TODOS os dados que você deseja de forma fácil, direta, clara e fácil. Tem o canal, duração, origem e destino e se foi atendida ou não. Você também consegue se integrar com o A2Billing. Na verdade é matar uma mosca com uma bomba nuclear o A2Billing para você, mas pode ser feito. Independente da sua solução, como já foi dito, tem o cálculo de custo, que não é tão simples quanto parece. Sobre o AGI: Em seu caso, você não precisa monitorar as ligações no momento em que elas estão acontecendo e entendo que o AGI não atenda você para isso. Você poderia usar o DeadAGI para pegar os dados depois do hangup ou um AMI/AJAM com eventos. Neste caso ele dispara o evento toda vez que alguma coisa acontece. Existem vários eventos e eu seguiria pelo evento Crd, onde toda vez que ocorre um hangup, ele lhe informa o canal que sofreu hangup e seus dados. Mais dados sobre eventos: http://www.voip-info.org/wiki/view/asterisk+manager+events . Só que tem um problema. O Astrisk fica pesado, pois ele armazena todos os hungups que ocorreram e em sistemas de tráfego intenso isso pode gerar sobrecarga. Só fique esperto que cada ligação gera 2 canais pelo menos (Pode gerar mais) e você tem que entender o que cada canal faz para saber qual deles tem a informação que você deseja ou quais deles contém. Um abraço Ribeiro -Mensagem original- De: asteriskbrasil-boun...@listas.asteriskbrasil.org [mailto:asteriskbrasil-boun...@listas.asteriskbrasil.org] Em nome de danilo.alme...@g1telecom.com.br Enviada em: domingo, 17 de junho de 2012 22:07 Para: asteriskbrasil@listas.asteriskbrasil.org Assunto: [AsteriskBrasil] RES: Funcionamento Asterisk com PHP Ribeiro Isso já é um ótimo começo pra mim, mais com essas 3 opções, eu consigo enviar um bloco de comando e salvar em um arquivo de conf por exemplo que possa ser meus ramais sip e depois da um include no sip.conf? Andei lendo também sobre AGI, mais o material que achei na internet a maioria ou explica coisas avançadas ou coisas básicas que não se encaixa no meu projeto. A princípio quero pegar o tempo da ligação e o uniqueid em uma pagina PHP fazer o cálculo do custo da ligação e armazenar no banco. Seria feito pela AGI? Obrigado Danilo Almeida ___ KHOMP Inovação: External Board Series Módulos de 1/2 rack e 1U para todas as interfaces e soluções Asterisk e FreeSWITCH. Tenha a External Series
[AsteriskBrasil] RES: RES: Funcionamento Asterisk com PHP
Danilo O s,t,h,etc. você encontra aqui: http://www.voip-info.org/wiki/view/Asterisk+standard+extensions Uma nota só: O DeadAGI só tem valor DEPOIS do hangup. Antes e durante não tem como. Nestes casos é AGI mesmo. Um abraço Ribeiro De: asteriskbrasil-boun...@listas.asteriskbrasil.org [mailto:asteriskbrasil-boun...@listas.asteriskbrasil.org] Em nome de Danilo Almeida Enviada em: segunda-feira, 18 de junho de 2012 13:52 Para: asteriskbrasil@listas.asteriskbrasil.org Assunto: [AsteriskBrasil] RES: Funcionamento Asterisk com PHP Jeferson Estou dando uma pesquisada nesta Biblioteca, a duvida no momento é: Verifiquei que para eu passar os parâmetros para meu arquivo.php, terei que usar o DeadAgi Encontrei o exemplo da seguinte forma exten = s,1,Wait(2) exten = s,n,DeadAgi(/diretorio/arquivo.php,end_call) exten = s,n,NoCDR() exten = s,3,Hangup() exten = h,1,DeadAgi((/diretorio/arquivo.php,end_call) exten = h,n,Hangup() exten = t,1,DeadAgi((/diretorio/arquivo.php,end_call) exten = t,n,Hangup() como tinha outra pessoa que trabalhava comigo e manjava mais do que eu no asterisk, algumas coisas básica não aprendi, como por exemplo, no bloco acima, o que significa cada umas das letras (s, h, t)? e como pego por exemplo, o ID da ligação, ou qualquer outra informação que desejo no meu arquivo.php? Obrigado Att Danilo Almeida De: asteriskbrasil-boun...@listas.asteriskbrasil.org [mailto:asteriskbrasil-boun...@listas.asteriskbrasil.org] Em nome de Jeferson de Araujo Damasceno Enviada em: Monday, June 18, 2012 1:00 PM Para: asteriskbrasil@listas.asteriskbrasil.org Assunto: [AsteriskBrasil] Funcionamento Asterisk com PHP Você pode utilizar uma classe PhpAgi; http://phpagi.sourceforge.net/ Eu desenvolvi muita coisa interesante com a ajuda desta classe, como a visualização de ramais online, ligação para um determinado ramal, lista de troncos SIP, IAX, e etc... ___ KHOMP Inovação: External Board Series Módulos de 1/2 rack e 1U para todas as interfaces e soluções Asterisk e FreeSWITCH. Tenha a External Series Experience na sua aplicação. Visite www.khomp.com ___ DIGIVOICE Fabricante de Placas de Voz e Channel Bank 20 anos de experiência com E1(R2/ISDN), FXS, FXO e GSM Centro Treinamento - Curso de PABX IP - Asterisk - Site www.digivoice.com.br YEALINK: Telefones IP e VídeoPhones IP com o melhor custo/benefício do mercado. email: yeal...@commlogik.com.br | www.commlogik.com.br | (11) 5503-1011 __ Para remover seu email desta lista, basta enviar um email em branco para asteriskbrasil-unsubscr...@listas.asteriskbrasil.org
Re: [AsteriskBrasil] RES: RES: Funcionamento Asterisk com PHP
Uma questão sobre isso: DeadAGI is obsolete in Asterisk 1.6 and later: Simply use AGI(). Em 18-06-2012 17:01, Ribeiro escreveu: Danilo O s,t,h,etc. você encontra aqui: http://www.voip-info.org/wiki/view/Asterisk+standard+extensions Uma nota só: O DeadAGI só tem valor DEPOIS do hangup. Antes e durante não tem como. Nestes casos é AGI mesmo. Um abraço Ribeiro *De:*asteriskbrasil-boun...@listas.asteriskbrasil.org [mailto:asteriskbrasil-boun...@listas.asteriskbrasil.org] *Em nome de *Danilo Almeida *Enviada em:* segunda-feira, 18 de junho de 2012 13:52 *Para:* asteriskbrasil@listas.asteriskbrasil.org *Assunto:* [AsteriskBrasil] RES: Funcionamento Asterisk com PHP Jeferson Estou dando uma pesquisada nesta Biblioteca, a duvida no momento é: Verifiquei que para eu passar os parâmetros para meu arquivo.php, terei que usar o DeadAgi Encontrei o exemplo da seguinte forma exten = s,1,Wait(2) exten = s,n,DeadAgi(/diretorio/arquivo.php,end_call) exten = s,n,NoCDR() exten = s,3,Hangup() exten = h,1,DeadAgi((/diretorio/arquivo.php,end_call) exten = h,n,Hangup() exten = t,1,DeadAgi((/diretorio/arquivo.php,end_call) exten = t,n,Hangup() como tinha outra pessoa que trabalhava comigo e manjava mais do que eu no asterisk, algumas coisas básica não aprendi, como por exemplo, no bloco acima, o que significa cada umas das letras (s, h, t)? e como pego por exemplo, o ID da ligação, ou qualquer outra informação que desejo no meu arquivo.php? Obrigado Att Danilo Almeida *De:*asteriskbrasil-boun...@listas.asteriskbrasil.org mailto:asteriskbrasil-boun...@listas.asteriskbrasil.org [mailto:asteriskbrasil-boun...@listas.asteriskbrasil.org] mailto:[mailto:asteriskbrasil-boun...@listas.asteriskbrasil.org] *Em nome de *Jeferson de Araujo Damasceno *Enviada em:* Monday, June 18, 2012 1:00 PM *Para:* asteriskbrasil@listas.asteriskbrasil.org mailto:asteriskbrasil@listas.asteriskbrasil.org *Assunto:* [AsteriskBrasil] Funcionamento Asterisk com PHP Você pode utilizar uma classe PhpAgi; http://phpagi.sourceforge.net/ Eu desenvolvi muita coisa interesante com a ajuda desta classe, como a visualização de ramais online, ligação para um determinado ramal, lista de troncos SIP, IAX, e etc... ___ KHOMP Inovação: External Board Series Módulos de 1/2 rack e 1U para todas as interfaces e soluções Asterisk e FreeSWITCH. Tenha a External Series Experience na sua aplicação. Visite www.khomp.com ___ DIGIVOICE Fabricante de Placas de Voz e Channel Bank 20 anos de experiência com E1(R2/ISDN), FXS, FXO e GSM Centro Treinamento - Curso de PABX IP - Asterisk - Site www.digivoice.com.br YEALINK: Telefones IP e VídeoPhones IP com o melhor custo/benefício do mercado. email: yeal...@commlogik.com.br | www.commlogik.com.br | (11) 5503-1011 __ Para remover seu email desta lista, basta enviar um email em branco para asteriskbrasil-unsubscr...@listas.asteriskbrasil.org ___ KHOMP Inovação: External Board Series Módulos de 1/2 rack e 1U para todas as interfaces e soluções Asterisk e FreeSWITCH. Tenha a External Series Experience na sua aplicação. Visite www.khomp.com ___ DIGIVOICE Fabricante de Placas de Voz e Channel Bank 20 anos de experiência com E1(R2/ISDN), FXS, FXO e GSM Centro Treinamento - Curso de PABX IP - Asterisk - Site www.digivoice.com.br YEALINK: Telefones IP e VídeoPhones IP com o melhor custo/benefício do mercado. email: yeal...@commlogik.com.br | www.commlogik.com.br | (11) 5503-1011 __ Para remover seu email desta lista, basta enviar um email em branco para asteriskbrasil-unsubscr...@listas.asteriskbrasil.org
Re: [AsteriskBrasil] RES: RES: Funcionamento Asterisk com PHP
Apenas para complementar: (retirado de: https://wiki.asterisk.org/wiki/display/AST/Application_AGI ) Executes an Asterisk Gateway Interface compliant program on a channel. AGI allows Asterisk to launch external programs written in any language to control a telephony channel, play audio, read DTMF digits, etc. by communicating with the AGI protocol on *stdin* and *stdout*. As of 1.6.0, this channel will not stop dialplan execution on hangup inside of this application. tradução livre Executa um programa através de agi no canal. AGI permite que o asterisk execute programas externos escritos em qualquer linguagem para controlar o canal, tocar audio, ler digitos dmtf etc.. através de comunicação com protocolo AGI na stdin e stdou . Como no asterisk 1.6.0 este canal não irá deixar de executar o dialplan devido a hangup. Resumindo: Use agi se voce usa asterisk maior que 1.6, e ele não desligará o canal após o hangup Em 18-06-2012 17:04, Mike Tesliuk escreveu: Uma questão sobre isso: DeadAGI is obsolete in Asterisk 1.6 and later: Simply use AGI(). Em 18-06-2012 17:01, Ribeiro escreveu: Danilo O s,t,h,etc. você encontra aqui: http://www.voip-info.org/wiki/view/Asterisk+standard+extensions Uma nota só: O DeadAGI só tem valor DEPOIS do hangup. Antes e durante não tem como. Nestes casos é AGI mesmo. Um abraço Ribeiro *De:*asteriskbrasil-boun...@listas.asteriskbrasil.org [mailto:asteriskbrasil-boun...@listas.asteriskbrasil.org] *Em nome de *Danilo Almeida *Enviada em:* segunda-feira, 18 de junho de 2012 13:52 *Para:* asteriskbrasil@listas.asteriskbrasil.org *Assunto:* [AsteriskBrasil] RES: Funcionamento Asterisk com PHP Jeferson Estou dando uma pesquisada nesta Biblioteca, a duvida no momento é: Verifiquei que para eu passar os parâmetros para meu arquivo.php, terei que usar o DeadAgi Encontrei o exemplo da seguinte forma exten = s,1,Wait(2) exten = s,n,DeadAgi(/diretorio/arquivo.php,end_call) exten = s,n,NoCDR() exten = s,3,Hangup() exten = h,1,DeadAgi((/diretorio/arquivo.php,end_call) exten = h,n,Hangup() exten = t,1,DeadAgi((/diretorio/arquivo.php,end_call) exten = t,n,Hangup() como tinha outra pessoa que trabalhava comigo e manjava mais do que eu no asterisk, algumas coisas básica não aprendi, como por exemplo, no bloco acima, o que significa cada umas das letras (s, h, t)? e como pego por exemplo, o ID da ligação, ou qualquer outra informação que desejo no meu arquivo.php? Obrigado Att Danilo Almeida *De:*asteriskbrasil-boun...@listas.asteriskbrasil.org mailto:asteriskbrasil-boun...@listas.asteriskbrasil.org [mailto:asteriskbrasil-boun...@listas.asteriskbrasil.org] mailto:[mailto:asteriskbrasil-boun...@listas.asteriskbrasil.org] *Em nome de *Jeferson de Araujo Damasceno *Enviada em:* Monday, June 18, 2012 1:00 PM *Para:* asteriskbrasil@listas.asteriskbrasil.org mailto:asteriskbrasil@listas.asteriskbrasil.org *Assunto:* [AsteriskBrasil] Funcionamento Asterisk com PHP Você pode utilizar uma classe PhpAgi; http://phpagi.sourceforge.net/ Eu desenvolvi muita coisa interesante com a ajuda desta classe, como a visualização de ramais online, ligação para um determinado ramal, lista de troncos SIP, IAX, e etc... ___ KHOMP Inovação: External Board Series Módulos de 1/2 rack e 1U para todas as interfaces e soluções Asterisk e FreeSWITCH. Tenha a External Series Experience na sua aplicação. Visitewww.khomp.com ___ DIGIVOICE Fabricante de Placas de Voz e Channel Bank 20 anos de experiência com E1(R2/ISDN), FXS, FXO e GSM Centro Treinamento - Curso de PABX IP - Asterisk - Sitewww.digivoice.com.br YEALINK: Telefones IP e VídeoPhones IP com o melhor custo/benefício do mercado. email:yeal...@commlogik.com.br |www.commlogik.com.br | (11) 5503-1011 __ Para remover seu email desta lista, basta enviar um email em branco paraasteriskbrasil-unsubscr...@listas.asteriskbrasil.org ___ KHOMP Inovação: External Board Series Módulos de 1/2 rack e 1U para todas as interfaces e soluções Asterisk e FreeSWITCH. Tenha a External Series Experience na sua aplicação. Visite www.khomp.com ___ DIGIVOICE Fabricante de Placas de Voz e Channel Bank 20 anos de experiência com E1(R2/ISDN), FXS, FXO e GSM Centro Treinamento - Curso de PABX IP - Asterisk - Site www.digivoice.com.br YEALINK: Telefones IP e VídeoPhones IP com o melhor custo/benefício do mercado. email: yeal...@commlogik.com.br | www.commlogik.com.br | (11) 5503-1011 __ Para remover seu email desta lista, basta enviar um email em branco para asteriskbrasil-unsubscr...@listas.asteriskbrasil.org ___ KHOMP Inovação: External Board Series Módulos de 1/2 rack e 1U para
[AsteriskBrasil] RES: RES: Funcionamento Asterisk com PHP
Danilo Já existem tarifadores diversos e até demais no mercado e muitos Free. Alguns até do pessoal aqui. Veja o A2Billing. Ele faz exatamente o que você deseja, já está pronto e não tem custo. Acesso ao banco de dados, utilização de um tarifador ou pegar os dados do sistema é o que eu faria, pois você só precisa pegar os dados da ligação que já acabou e o Asterisk guarda isso por padrão. Por exemplo: Eu uso o Elastix. Nele tem a aba Report. Em CDR Report eu tenho todas as ligações realizadas e eu consigo exportar para CSV. Ele lhe daria TODOS os dados que você deseja de forma fácil, direta, clara e fácil. Tem o canal, duração, origem e destino e se foi atendida ou não. Você também consegue se integrar com o A2Billing. Na verdade é matar uma mosca com uma bomba nuclear o A2Billing para você, mas pode ser feito. Independente da sua solução, como já foi dito, tem o cálculo de custo, que não é tão simples quanto parece. Sobre o AGI: Em seu caso, você não precisa monitorar as ligações no momento em que elas estão acontecendo e entendo que o AGI não atenda você para isso. Você poderia usar o DeadAGI para pegar os dados depois do hangup ou um AMI/AJAM com eventos. Neste caso ele dispara o evento toda vez que alguma coisa acontece. Existem vários eventos e eu seguiria pelo evento Crd, onde toda vez que ocorre um hangup, ele lhe informa o canal que sofreu hangup e seus dados. Mais dados sobre eventos: http://www.voip-info.org/wiki/view/asterisk+manager+events . Só que tem um problema. O Astrisk fica pesado, pois ele armazena todos os hungups que ocorreram e em sistemas de tráfego intenso isso pode gerar sobrecarga. Só fique esperto que cada ligação gera 2 canais pelo menos (Pode gerar mais) e você tem que entender o que cada canal faz para saber qual deles tem a informação que você deseja ou quais deles contém. Um abraço Ribeiro -Mensagem original- De: asteriskbrasil-boun...@listas.asteriskbrasil.org [mailto:asteriskbrasil-boun...@listas.asteriskbrasil.org] Em nome de danilo.alme...@g1telecom.com.br Enviada em: domingo, 17 de junho de 2012 22:07 Para: asteriskbrasil@listas.asteriskbrasil.org Assunto: [AsteriskBrasil] RES: Funcionamento Asterisk com PHP Ribeiro Isso já é um ótimo começo pra mim, mais com essas 3 opções, eu consigo enviar um bloco de comando e salvar em um arquivo de conf por exemplo que possa ser meus ramais sip e depois da um include no sip.conf? Andei lendo também sobre AGI, mais o material que achei na internet a maioria ou explica coisas avançadas ou coisas básicas que não se encaixa no meu projeto. A princípio quero pegar o tempo da ligação e o uniqueid em uma pagina PHP fazer o cálculo do custo da ligação e armazenar no banco. Seria feito pela AGI? Obrigado Danilo Almeida ___ KHOMP Inovação: External Board Series Módulos de 1/2 rack e 1U para todas as interfaces e soluções Asterisk e FreeSWITCH. Tenha a External Series Experience na sua aplicação. Visite www.khomp.com ___ DIGIVOICE Fabricante de Placas de Voz e Channel Bank 20 anos de experiência com E1(R2/ISDN), FXS, FXO e GSM Centro Treinamento - Curso de PABX IP - Asterisk - Site www.digivoice.com.br YEALINK: Telefones IP e VídeoPhones IP com o melhor custo/benefício do mercado. email: yeal...@commlogik.com.br | www.commlogik.com.br | (11) 5503-1011 __ Para remover seu email desta lista, basta enviar um email em branco para asteriskbrasil-unsubscr...@listas.asteriskbrasil.org ___ KHOMP Inovação: External Board Series Módulos de 1/2 rack e 1U para todas as interfaces e soluções Asterisk e FreeSWITCH. Tenha a External Series Experience na sua aplicação. Visite www.khomp.com ___ DIGIVOICE Fabricante de Placas de Voz e Channel Bank 20 anos de experiência com E1(R2/ISDN), FXS, FXO e GSM Centro Treinamento - Curso de PABX IP - Asterisk - Site www.digivoice.com.br YEALINK: Telefones IP e VídeoPhones IP com o melhor custo/benefício do mercado. email: yeal...@commlogik.com.br | www.commlogik.com.br | (11) 5503-1011 __ Para remover seu email desta lista, basta enviar um email em branco para asteriskbrasil-unsubscr...@listas.asteriskbrasil.org