[AsteriskBrasil] RES: RES: Funcionamento Asterisk com PHP

2012-06-22 Por tôpico Danilo Almeida
 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

2012-06-22 Por tôpico Mike Tesliuk
...@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

2012-06-19 Por tôpico Danilo Almeida
 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

2012-06-18 Por tôpico Ribeiro
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

2012-06-18 Por tôpico Mike Tesliuk

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

2012-06-18 Por tôpico Mike Tesliuk
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

2012-06-17 Por tôpico Ribeiro
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