[AsteriskBrasil] Retorno click-to-call

Danilo Almeida daniloricalmeida em gmail.com
Sexta Maio 22 11:02:12 BRT 2015


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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20150522/d0f6dfe0/attachment-0001.html>


Mais detalhes sobre a lista de discussão AsteriskBrasil