[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