[AsteriskBrasil] Monitar chamada usando ami ou agi?

Victor Gonçalves victor em aktiv.com.br
Terça Janeiro 7 15:04:28 BRST 2014


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: login\r\n");

fputs($oSocket, "Events: on\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/$numero\r\n");

fputs($oSocket, "Variable: RAMAL=$ramal\r\n");

fputs($oSocket, "WaitTime: $strWaitTime\r\n");

fputs($oSocket, "CallerId: $strCallerId\r\n");

fputs($oSocket, "Exten: s\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 "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


 

 

 

 

-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20140107/cc04902d/attachment.htm 


Mais detalhes sobre a lista de discussão AsteriskBrasil