Re: [AsteriskBrasil] Monitar chamada usando ami ou agi?

2014-01-08 Por tôpico desenvolvimento
 

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. 
 
 ?php 
 
 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)brn; 
 
 } 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

[AsteriskBrasil] Monitar chamada usando ami ou agi?

2014-01-07 Por tôpico Victor Gonçalves
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 = 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)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


 

 

 

 

___
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