[AsteriskBrasil] Retorno click-to-call
Claudio Eden
claudio.eden em gmail.com
Sexta Maio 22 14:21:38 BRT 2015
Danilo,
A depender do cenário, do tempo e funcionalidade da ferramenta/rotina e
outros fatores (ex.: criticidade, volume, licenciamento, etc), a opção que
eu sugiro é utlizar via AMI + node.js.
Com o node.js você ficaria monitorando via telnet e conseguiria obter TUDO
dessa ligação. Toda e qualquer ação que ocorrer você consegue "sniffar"
através dessa modalidade e assim, não só saber no final se a ligação foi
feita ou não, poderá acompanhar tudo passo-a-passo.
Todavia, como falei, o esforço vai depender do seu cenário.
Enjoy.
*Atenciosamente,*
*Cláudio Éden*
Consultor de TI | dCAA | MCDST | ITIL
+55 85 8972-1842
http://www.eden.com.br
http://www.asteriskhandson.com.br
Em 22 de maio de 2015 11:02, Danilo Almeida <daniloricalmeida at gmail.com>
escreveu:
> Show de bola, Cláudio!
>
> Vou fazer alguns testes aqui... estou aguardando uma resposta do pessoal
> do sistema, dei a ideia de salvar o status no Banco de dados juntamente com
> um ID gerado pelo sistema deles e enviado como parametro para o servidor.
>
> Valeu pela dica Thiago.
>
> Abraços!
>
> *att*
> *Danilo Almeida*
>
> Em 21 de maio de 2015 14:13, Thiago Coutinho <root at thiagoc.net> escreveu:
>
>> Uma solução seria usar a opção "Archive" do callfile:
>>
>> *Archive:* Yes/No - Move to subdir "outgoing_done" with "Status: value",
>> where value can be Completed, Expired or Failed.
>>
>> Em 21 de maio de 2015 11:39, Danilo Almeida <daniloricalmeida at gmail.com>
>> escreveu:
>>
>>> Bom dia, Pessoal!!
>>>
>>> Surgiu a necessidade de integrar um sistema de terceiro em um servidor
>>> que tenho em um cliente.
>>>
>>> O sistema fará uma discagem através de uma URL que criei.
>>>
>>>
>>> http://asterisk/discador.php?user=USER&pass=SENHA&origem=RAMAL&destino=NUMERO
>>>
>>> segue codígo:
>>>
>>> <?php
>>> include_once "Connection.class.php";
>>>
>>> # Usuario e senha para acesso ao sistema
>>> $origem = $_GET['origem'];
>>> $destino = $_GET['destino'];
>>>
>>> $conn = new Connection();
>>>
>>> $user = anti_injection($_GET['user']);
>>> $pass = anti_injection($_GET['pass']);
>>>
>>> $sql1 = 'SELECT * FROM tb_usuarios WHERE user_login =
>>> \''.$user.'\'AND user_senha = \''.$pass.'\'';
>>> $rs = mysql_query($sql1);
>>> if(mysql_num_rows($rs) > 0 ){
>>> $permissao = TRUE;
>>> }else{
>>> $permissao = FALSE;
>>> }
>>>
>>>
>>> if(($permissao == TRUE)AND($origem != "")AND($destino != "")){ #informe
>>> o endereco ip do seu asterisk
>>>
>>> $strHost = "127.0.0.1";
>>>
>>> #especifique o usuario que ira conectar ao CLI (deve estar definido em
>>> /etc/asterisk/manager.conf)
>>> $strUser = "USUARIO";
>>>
>>> #senha para o usuario acima
>>> $strSecret = "SENHA";
>>>
>>> #especifique o canal (extension) que vc deseja receber estas ligacoes
>>> #exemplo: SIP/XXX, IAX2/XXXX, ZAP/XXXX,
>>> $strChannel = "Local/".$origem."@contexto-discador";
>>>
>>> #informe o contexto que ira processar a ligacao para PSTN
>>> $strContext = "contexto-pabx";
>>>
>>> #especifique a prioridade do contexto acima
>>> $strPriority = "1";
>>>
>>> #especifique a quantidade de tentativas
>>> $strMaxRetry = "2";
>>>
>>> $WaitTime = "30";
>>>
>>> #Duração entre uma tentativa e outra
>>> $RetryTime = "15";
>>>
>>> #obtem o numero a ser discado
>>> $strExten = $destino;
>>>
>>> #especifica um callerid para a ligacao
>>> $strCallerId = $origem;
>>>
>>> #nome do arquivo a ser criado
>>> $arquivo_tmp = "/tmp/".$strExten.".call";
>>> #diretorio a ser movido após escrita
>>> $arquivo_call = "/var/spool/asterisk/outgoing/".$strExten.".call";
>>>
>>> #abre arquivo
>>> $oSocket = $fp = fopen($arquivo_tmp, "w");
>>>
>>> fputs($oSocket, "Channel: $strChannel\r\n");
>>> fputs($oSocket, "Callerid: $strCallerId\r\n");
>>> fputs($oSocket, "Extension: $strExten\r\n");
>>> fputs($oSocket, "Context: $strContext\r\n");
>>> fputs($oSocket, "MaxRetries: $strMaxRetry\r\n");
>>> fputs($oSocket, "RetryTime: $RetryTime\r\n");
>>> fputs($oSocket, "WaitTime: $WaitTime\r\n\r\n");
>>>
>>> fclose(oSocket);
>>>
>>> system("mv ".$arquivo_tmp." ".$arquivo_call);
>>>
>>> //copy($arquivo_tmp,$arquivo_call);
>>> //unlink($arquivo_tmp);
>>>
>>> echo "ok";
>>>
>>> exit;
>>>
>>> }else{
>>> echo "Parametros invalidos";
>>>
>>> exit;
>>> }
>>> ?>
>>>
>>> Através dessa URL esta realizando ligação normalmente, o que gostaria da
>>> ajuda de vocês, é uma maneira de retornar o status da chamada através dessa
>>> mesma URL para o sistema.
>>>
>>> EX: 0 - ok, 1 - ramal indisponivel, etc
>>>
>>> Sei que tem alguma forma, gostaria de saber se alguém já desenvolveu
>>> alguma coisa assim e pode me dar uma dica.
>>>
>>> OBS: Estou escrevendo um arquivo .call e jogando ele dentro do outgoing
>>> do asterisk para gerar a chamada. No asterisk 11 tentei fazer com o
>>> originate e não obtive sucesso.
>>>
>>> Desde já agradeço.. abraços!!
>>>
>>> *att*
>>> *Danilo Almeida*
>>>
>>> _______________________________________________
>>> WORKOFFEE KHOMP: em Junho serão 2 edições do workshop
>>> gratuito da Khomp: dia 11 em Brasília, e dia 18 em Curitiba
>>> Aproveite e conheça os lançamentos: EBS Server PRO e UMG 100
>>> Garanta sua vaga e saiba mais em: www.workoffee.com.br
>>> _______________________________________________
>>> 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-unsubscribe at listas.asteriskbrasil.org
>>>
>>
>>
>>
>> --
>> Thiago Coutinho
>>
>> "O povo não deveria temer o governo. O governo é quem deveria temer o
>> povo."
>> V de Vingança
>>
>> _______________________________________________
>> WORKOFFEE KHOMP: em Junho serão 2 edições do workshop
>> gratuito da Khomp: dia 11 em Brasília, e dia 18 em Curitiba
>> Aproveite e conheça os lançamentos: EBS Server PRO e UMG 100
>> Garanta sua vaga e saiba mais em: www.workoffee.com.br
>> _______________________________________________
>> 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-unsubscribe at listas.asteriskbrasil.org
>>
>
>
> _______________________________________________
> WORKOFFEE KHOMP: em Junho serão 2 edições do workshop
> gratuito da Khomp: dia 11 em Brasília, e dia 18 em Curitiba
> Aproveite e conheça os lançamentos: EBS Server PRO e UMG 100
> Garanta sua vaga e saiba mais em: www.workoffee.com.br
> _______________________________________________
> 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-unsubscribe at listas.asteriskbrasil.org
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20150522/31c41b71/attachment.html>
Mais detalhes sobre a lista de discussão AsteriskBrasil