Cara, boa tarde !
estou desenvolvendo uma aplicação igualzinha a
sua ... com muito custo e estudo eu ja consegui retornar os status da
ligação e mostrar na tela para o originador da chamada ainda falta umas
coisnhas.. se vc quiser .. me add no ritch...@hotmail.com que trocamos
uma idéia .. qualquer coisa ate desenvolvemos soluções juntos.
só pra
matar a dúvida ... vc tem que usar Async=yes e determinar um action id
pra ele .. e depois capturar o originate response..
qualquer dúvida só
entrar em contato
Em 07.01.2014 15:04, Victor Gonçalves escreveu:
>
Boa tarde Lista,
>
> Estou tentando encontrar a melhor forma de
receber o status de uma chamada e informar aos nossos atendentes.
>
>
Criei um sistema onde eu subo um mailing com informações de nossos
clientes, automaticamente ele cai nesse script fornecendo as informações
necessárias para efetuar a chamada.
>
>
> session_start();
>
> $strHost = "127.0.0.1";
>
> $strUser = "admin";
>
> $strSecret
= "xx";
>
> $strChannel = "SIP/TRONCO";
>
> $strContext =
"discador";
>
> $numero = $i['telefone'];
>
> $ramal =
$_SESSION['Ramal'];
>
> $strWaitTime = "30";
>
> $strPriority = "1";
>
> $strMaxRetry = "2";
>
> $errno=0 ;
>
> $errstr=0 ;
>
>
$strCallerId = "$numero";
>
> $oSocket = fsockopen ("localhost", 5038,
&$errno, &$errstr, 20);
>
> if (!$oSocket) {
>
> echo "$errstr
($errno)n";
>
> } else {
>
> fputs($oSocket, "Action: loginrn");
>
> fputs($oSocket, "Events: onrn");
>
> fputs($oSocket, "Username:
$strUserrn");
>
> fputs($oSocket, "Secret: $strSecretrnrn");
>
>
fputs($oSocket, "Action: originatern");
>
> fputs($oSocket, "Channel:
$strChannel/$numerorn");
>
> fputs($oSocket, "Variable:
RAMAL=$ramalrn");
>
> fputs($oSocket, "WaitTime: $strWaitTimern");
>
> fputs($oSocket, "CallerId: $strCallerIdrn");
>
> fputs($oSocket,
"Exten: srn");
>
> fputs($oSocket, "Context: $strContextrn");
>
>
fputs($oSocket, "Priority: $strPriorityrnrn");
>
> fputs($oSocket,
"Action: Logoffrnrn");
>
> sleep(2);
>
> fclose($oSocket);
>
> }
>
> echo "Ligando para o numero $numero" ;
>
> exit() ;
>
> ?>
>
> Esse script eu peguei na internet e fiz pequenas modigicações!
Tudo funciona perfeitamente, a ligação é feita e cai neste contexto onde
é redirecionada para o atendente.
>
> [discador]
>
> exten =>
s,1,Set(CALLFILENAME=SAIDA${STRFTIME(,,-%H:%M:%S)}.wav)
>
> exten =>
s,2,MixMonitor(${CALLFILENAME})
>
> exten => s,3,Dial(SIP/${RAMAL})
>
> exten => s,4,StopMonitor()
>
> exten => s,5,Hangup()
>
> O
problema é que se a ligação falhar, der ocupado ou qualquer outro
status, o atendente não fica sabendo!
> Qual a melhor maneira de pegar o
status dessa chamada e jogar na tela pro atendente? AGI ou AMI?
>
>
Agradeço qualquer ajuda.
>
> Victor Gonçalves
>
> Aktiv Telecom
>
>
>
> ___
> KHOMP:
completa linha de placas externas FXO, FXS, GSM e E1
> Media Gateways de
1 a 64 E1s para SIP com R2, ISDN e SS7
> Intercomunicadores para acesso
remoto via rede IP e telefones IP
> Conheça todo o portfólio em
www.Khomp.com [1]
> ___
>
Para remover seu email desta lista, basta enviar um email em branco para
asteriskbrasil-unsubscr...@listas.asteriskbrasil.org
Links:
--
[1] http://www.Khomp.com
___
KHOMP: completa linha de placas externas FXO, FXS, GSM e E1
Media Gateways de 1 a 64 E1s para SIP com R2, ISDN e SS7
Intercomunicadores para acesso remoto via rede IP e telefones IP
Conheça todo o portfólio em www.Khomp.com
___
Para remover seu email desta lista, basta enviar um email em branco para
asteriskbrasil-unsubscr...@listas.asteriskbrasil.org