@
Acronimo segue minhas observações.
sobre o a2billing vc disse categoricamente que é um lixo.
ai depois disse que apenas o do elastix.
não uso elastix.(usei somente uma vez)
uso asterisk puro com a2billing + dahdi + R2 GVT com DIDS de entrada diretamente para os SIP do a2billing, com modificações feita por mim, como consulta de saldo, consulta do DID, solicitação de relatorio por email e etc...
Sobre Cases de Sucessos infelizmente só tenho 3 clientes que decidiram pagar e bem pelos meus serviços.... não tinha como eu fazer um sistema q vale no minimo 500 reais mensais e neguim querer pagar 100 reias uma unica vez e ter suporte eterno. pelo contrario amigo, dispenso clientes de sistema de provedor. pois a maioria quer pagar barato.
num é pq vc comenta um monte de asneiras nos topicos so pra encher linguiça, quer dizer q vc tenha moral.
e outra coisa, não vim aqui vender nada, vc não leu o que respondi ?
(lembre-se, a partir do momento q vc der um control+c e control+v, vc está afirmando que suas palavras foram equivocadas)
AMIGO, MINHA INTENÇÃO ERA JAMAIS TE OFENDER, E SE FOI ISSO QUE EU FIZ, ME PERDOE, POIS SOU FALHO.
sobre meu projetos....são meus projetos....caso queira um case de sucesso com 1100 clientes e outros com 975 clientes com ura inteligente, gravação das ligaçoes direto no cadastro do cliente, me fale...
CLICK TO CALL WEB PARA O SEU SITE: (0800 WEB) O FAMOSO CLIQUE AQUI Q LIGAMOS PRA VC.
<?php
$strHost = "127.0.0.1";
$strUser = "admin";
$strSecret = "secret";
$strChannel = "SIP/100"; #RAMAL QUE IRA ATENDER
$strContext = "from-internal";
$strWaitTime = "30";
$strPriority = "1";
$strMaxRetry = "2";
$numero = $_REQUEST['ddd'].$_REQUEST['telefone'];
$number=strtolower($numero);
$pos=strpos ($number,"local");
if ($number == null) :
exit() ;
endif ;
if ($pos===false) :
$errno=0 ;
$errstr=0 ;
$strCallerId = "Web Call $number";
$oSocket = fsockopen ($strHost, 5038, $errno, $errstr, 20);
if (!$oSocket) {
echo "$errstr ($errno)<br>\n";
} else {
fputs($oSocket, "Action: login\r\n");
fputs($oSocket, "Events: off\r\n");
fputs($oSocket, "Username: $strUser\r\n");
fputs($oSocket, "Secret: $strSecret\r\n\r\n");
fputs($oSocket, "Action: originate\r\n");
fputs($oSocket, "Channel: $strChannel\r\n");
fputs($oSocket, "WaitTime: $strWaitTime\r\n");
fputs($oSocket, "CallerId: $strCallerId\r\n");
fputs($oSocket, "Exten: $number\r\n");
fputs($oSocket, "Context: $strContext\r\n");
fputs($oSocket, "Priority: $strPriority\r\n\r\n");
fputs($oSocket, "Action: Logoff\r\n\r\n");
sleep(2);
fclose($oSocket);
}
echo "Extension $strChannel should be calling $number." ;
else :
exit() ;
endif ;
?>
AGORA A SOLUÇÂO PRA QUANDO LIGAR PRA URA E DIRECIONAR POR CELULAR DO TECNICO (AFIRMO Q FUNCIONA SIM.)
#!/usr/bin/php -q
<?php
include('phpagi.php');
$agi = new AGI();
$numeroTecnico1 = "111234566";
$numeroTecnico2 = "111020304";
$numerovendas = "1178963544";
$ura = $agi->get_data("custom/uraAtendimento", $timeout=4000, $max_digits=1);
$ura = $ura['result'];
############ URA CONSULTA
# OPCAO 1 PARA O CELULAR DO TECNICO 1
# OPCAO 2 PARA O CELULAR DO TECNICO 2
# OPCAO 3 PARA O CELULAR DE VENDAS
if($ura == 0){
$agi->exec("Dial","Dongle/dongle0/$numeroTecnico1,60,tr");
}elseif($ura == 1){
$agi->exec("Dial","SIP/vono/$numeroTecnico2,60,tr");
}elseif($ura == 2){
$agi->exec("Dial","Dahdi/g0/$numerovendas,60,tr");
}else{
//ANOTE O NUMERO DO PROTOCOLO
$agi->exec("Playback","custom/anoteProtocolo");
$agi->say_number(2014);
$agi->say_digits(50);
$agi->say_digits(30);
$agi->say_digits(20);
$agi->say_digits(80);
$agi->exec("Playback","custom/agradecemos");
}
$agi->Hangup();
?>
essa ura fiz agora rapidinho, so precisa de um macro para verificar caso tronco esteja em uso ou ramal de destino esteja em uso....da pra imprementar varias soluções como time-condiction no proprio contexto ou por AGI.
infelismente so sei fazer por AGI->PHP que é a area que programo.
se quiser posso fazer uma função para identificar se o telefone do cliente é fixo ou celular, pq se for celular dou um background ou playback pra ele com a mensagem "Voce receberar um SMS com o protocolo desse atendimento."
na ura se quiser tbm posso colocar o script de portabilidade para ligar pro celular do tecnico pela operadora correta.
quando for ligar pro celular do tecnico poss tbm usar
$agi->get_variable(DIALSTATUS) pq depedendo do resultado da ligação posso direcionar para outro operador, ou voicemail o uate mesmo restornar pra ele em X minutos.
mas é interessante consultar ele na base de dados pelo numero que ele ligando ou CPF ou CNPJ, pq se ele ja for cliente, a gente vai no radius e pega o NAS de onde ele se conectar e veirifica por PING se esse nas esta ativo. se sim ja gravamos do banco de dados que no momento que o cliente ligou o POP/REPETIDOR/NAS tinha conexão.
ja que iremos consultar o cliente na base de dados, podemos ver se ele tem alguma parcela em atraso e ja da um playback dizendo "conta em nossos sistemas uma fatura vencida em: 29 de novembro de 2014, no valor de 59,90 centavos." ai perguntamos pra ele se deseja receber a fatura por email.(antes de pergutarmos de se ele quer receber por email verificamos com uma função se seu email é valido.
Já que identificamos esse cliente, se por algum motivo ele estiver bloqueado, avisaremos pra ele, caso ele queria desbloquear sua internet, digita 1... ai registramos o desbloqueio, vamos no roteador de borda mikrotik, damos um kick, pra ele de autenticar.....caso em 2 dias ele não tenha pago, bloqueamos de novo, mas se ele tentar desbloquear novamente, dizemos que ele ja fez isso nesse mês.......
Acho que deveria fazer um post sobre isso.
@
Acronimo mais uma vez, desculpas, desculpas não, ME PERDOE.
Feliz Natal pra você e um prospero ano novo.
Grato.