[AsteriskBrasil] Sistema em Teste

Eduardo Assis - Pro Redes eassis em linuxmail.org
Quarta Outubro 1 19:38:33 BRT 2008


Estou desenvolvendo um sistema para uma empresa de Teleconsulta de Telefones(Projeto Piloto).

Como funciona a empresa.

Alguem liga cai em um P.A. o atendente solicita o nome da empresa.

Procura-se então em um sistema feito em Delphi por nome, atividade, achado lhe informa os dados necessarios:
Nome, Endereço, Telefone.


No sistema de teste ficou com Asterisk ficou:

O Atendente atende a ligação, pergunta o que a pessoa quer saber (Empresa/Ramo de Atividade)
procura no sistema em Delphi, achado a empresa, pergunta se é somente isso.

No cadastro da empresa que ela procurou no Sistema, tem um link que quando clicado
ele abre uma pagina do asterisk, passando o codigo do cliente e o ramal em que o atendente está logado.

O Asterisk recebe então o código da empresa e o ramal, faz uma procura no banco de dados pelo código
transfere a ligação da atendente para uma URA onde toca o audio que foi localizado no Banco Mysql.

Com isso, depois de transferido para a URA, deixa a Atendente livre para receber novas ligações.


Seguem os arquivos:

Lembrando que não tenho experiencia com AMI, Perl, Python e tive que me virar para fazer o projeto funcionar.

Claro se alguem puder alterar e nos enviar, seria de muito bom grado.

Pagina que é carregada:

<?
exec('sudo bash arquivo.sh' . " $ramal ");

$arquivo = 'teste.txt';
$fp = fopen($arquivo,'r');

$canal = fread($fp, filesize($arquivo));
$canal = trim($canal);

$timeout = 10;
$asterisk_ip = "127.0.0.1";
$socket = fsockopen($asterisk_ip,"5038", $errno, $errstr, $timeout);
fputs($socket, "Action: Login\r\n");
fputs($socket, "UserName: user\r\n");
fputs($socket, "Secret: senha\r\n\r\n");

fputs($socket, "Action: Redirect\r\n" );
fputs($socket, "Channel: $canal\r\n" );
fputs($socket, "Exten: $exten\r\n" );
fputs($socket, "Timeout: 15000\r\n" );
fputs($socket, "Context: contexto\r\n" );
fputs($socket, "Priority: 1\r\n" );
fputs($socket, "Action: Logoff\r\n\r\n");
$wrets=fgets($socket,128);
?>

arquivo.sh:
#!/bin/bash

asterisk -rx "core show channels" | grep "Dial(SIP/$1|" | awk '{print $1}' > teste.txt


extension.conf:
[contexto]

exten => _X.,1,Ringing
exten => _X.,n,Wait(2)
exten => _X.,n,Answer
exten => _X.,n,NoOp(Digitou: ${EXTEN})

exten => _X.,n,MySQL(Connect connid localhost user senha basedados)
exten => _X.,n,MySQL(Query resultid ${connid} select\ audio\ from\ audio\ where\ id=\'${EXTEN}\' )
exten => _X.,n,MySQL(Fetch fetchid ${resultid} audio)
exten => _X.,n,MySQL(Clear ${resultid})
exten => _X.,n,MySQL(Disconnect ${connid})

exten => _X.,n,PlayBack(${audio})
exten => _X.,n,Hangup()

Bem, espero que ajude alguem ou que possam contribuir.

PS: fico o dia todo no knal #asterisk-br e tive ajudas de:
caio1982
DagMoller
Victor_Yuri
ccesario
annonymous
Porks
wilianweb

Bem o pessoalzinho gente boa.

Abraços.

Eduardo Assis
Pro Redes
www.proredes.com.br
(19) 3406-7524

=
Tropical Honeymoon Hideaway Fiji Islands
Romantic & luxurious Maravu Resort on peaceful & exotic Fiji Island.
http://a8-asy.a8ww.net/a8-ads/adftrclick?redirectid=601ee5df3ec03c4096df8b0d56fbaa22


-- 
Powered by Outblaze


Mais detalhes sobre a lista de discussão AsteriskBrasil