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 [email protected] 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. 
> 
> <?php 
> 
> session_start();

> 
> $strHost = "127.0.0.1"; 
> 
> $strUser = "admin"; 
> 
> $strSecret
= "xxxxxx"; 
> 
> $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)<br>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
[email protected]




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 
[email protected]

Responder a