Parabéns pela iniciativa!!! SkFogo
2009/5/28 Tiago Athayde <athayde.ti...@gmail.com> > Ola Fernando, obrigado por compartilhar o script aqui > eu tambem tenho trabalhado com os sockets em php para realizar tarefas pela > AMI > > simples e funcional, e via web ;) > > saudacoes > > Tiago Athayde > www.othos.com.br > > 2009/5/28 Fernando - Talkmais <ferna...@talkmais.com.br> > >> Boa tarde amigos, >> >> Como eu havia procurado há um tempo atrás um script php para click-to-call >> e não tive sucesso, ontem consegui um bem simples. >> >> Segue abaixo código para quem precisar ou quiser estudá-lo. >> >> >> ========================================================== >> ========================================================== >> <html> >> <head> >> <title>Clique para Falar - NGN Soluções WebCall</title> >> </head> >> <body> >> <? >> #Click-To-Call script NGN-Billing >> >> >> >> #------------------------------------------------------------------------------------------ >> #edite as variáveis para refletir com o seu sistema >> >> #------------------------------------------------------------------------------------------ >> >> #informe o endereço ip do seu asterisk >> >> $strHost = "127.0.0.1"; >> >> #especifique o usuario que ira conectar ao CLI (deve estar definido >> em /etc/asterisk/manager.conf) >> $strUser = "admin"; >> >> #senha para o usuario acima >> $strSecret = "adminpass"; >> >> #especifique o canal (extension) que vc deseja receber estas ligações >> #exemplo: SIP/XXX, IAX2/XXXX, ZAP/XXXX, >> $strChannel = "SIP/".$_POST['txtOrigem']; >> >> #informe o contexto que irá processar a ligação para PSTN >> $strContext = "web-to-pstn"; >> >> #especifique a prioridade do contexto acima >> $strPriority = "1"; >> >> #especifique a quantidade de tentativas >> $strMaxRetry = "2"; >> >> >> #-------------------------------------------------------------------------------------------- >> #Não precisa editar mais nada a partir daqui para fazer esse script funfar >> >> #-------------------------------------------------------------------------------------------- >> #obtem o número a ser discado >> $strExten = $_POST['txtDestino']; >> >> #especifica um callerid para a ligação >> $strCallerId = "WebCall de <".$_POST['txtOrigem'].">"; >> >> $length = len($strExten); >> >> if ($length == 11 && id_number($_POST['txtDestino'])){ >> $oSocket = fsockopen($strHost, 5038, $errnum, $errdesc) or die("Erro na >> conexão com o Servidor!"); >> fputs($oSocket, "Action: login\r\n"); >> fputs($oSocket, "Events: off\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\r\n"); >> fputs($oSocket, "CallerId: $strCallerId\r\n"); >> fputs($oSocket, "Exten: $strExten\r\n"); >> fputs($oSocket, "Context: $strContext\r\n"); >> fputs($oSocket, "Priority: $strPriority\r\n\r\n"); >> fputs($oSocket, "Action: Logoff\r\n\r\n"); >> $wrtes = fgets($oSocket, 2048); >> echo $wrtes."<br />"; >> fclose($oSocket); >> ?> >> <p> >> <table width="300" border="1" bordercolor="#630000" cellpadding="3" >> cellspacing="0"> >> <tr><td> >> <font size="2" face="verdana,georgia" color="#630000">Estamos tentando >> fazer a ligação.<br>Aguarde alguns instantes...<br><a href="<? echo >> $_SERVER['PHP_SELF'] ?>">Ligar novamente</a></font> >> </td></tr> >> </table> >> </p> >> <? >> } >> else >> { >> ?> >> <p> >> <table width="300" border="1" bordercolor="#630000" cellpadding="3" >> cellspacing="0"> >> <tr><td> >> <font size="2" face="verdana,arial,georgia" color="#630000">Número de >> telefone a ser discado (0(XX)XXXX-XXXX)!</font> >> <form action="<? echo $_SERVER['PHP_SELF'] ?>" method="post"> >> Ramal<input type="text" size="20" name="txtOrigem"><br> >> Destino<input type="text" size="20" name="txtDestino"><br> >> <input type="submit" value="Iniciar ligação"> >> </form> >> </td></tr> >> </table> >> </p> >> <? >> } >> ?> >> </body> >> </html> >> >> ======================================================================= >> >> Att, >> >> Fernando da Silva Santos >> NGN Soluções - www.ngnsolucoes.com.br >> MSN/E-Mail: n...@ngnsolucoes.com.br >> >> _______________________________________________ >> Openmoko Freerunner, primeiro telefone open source, disponível no Brasil >> rodando o Android da Google. >> http://www.neodroid.com >> >> Compre uma camiseta da AsteriskBrasil.org! >> http://www.voipmania.com.br >> >> Acesse o canal IRC de discussão sobre Asterisk em Português Brasileiro na >> rede Freenode.net: #asterisk-br >> _______________________________________________ >> Lista de discussões AsteriskBrasil.org >> AsteriskBrasil@listas.asteriskbrasil.org >> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil >> > > > _______________________________________________ > Openmoko Freerunner, primeiro telefone open source, disponível no Brasil > rodando o Android da Google. > http://www.neodroid.com > > Compre uma camiseta da AsteriskBrasil.org! > http://www.voipmania.com.br > > Acesse o canal IRC de discussão sobre Asterisk em Português Brasileiro na > rede Freenode.net: #asterisk-br > _______________________________________________ > Lista de discussões AsteriskBrasil.org > AsteriskBrasil@listas.asteriskbrasil.org > http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil > -- SkFogo
_______________________________________________ Openmoko Freerunner, primeiro telefone open source, disponível no Brasil rodando o Android da Google. http://www.neodroid.com Compre uma camiseta da AsteriskBrasil.org! http://www.voipmania.com.br Acesse o canal IRC de discussão sobre Asterisk em Português Brasileiro na rede Freenode.net: #asterisk-br _______________________________________________ Lista de discussões AsteriskBrasil.org AsteriskBrasil@listas.asteriskbrasil.org http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil