Ola Fernando, obrigado por compartilhar o script aqui<br>eu tambem tenho trabalhado com os sockets em php para realizar tarefas pela AMI<br><br>simples e funcional, e via web ;)<br><br>saudacoes<br><br>Tiago Athayde<br><a href="http://www.othos.com.br">www.othos.com.br</a><br>
<br><div class="gmail_quote">2009/5/28 Fernando - Talkmais <span dir="ltr"><<a href="mailto:fernando@talkmais.com.br">fernando@talkmais.com.br</a>></span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div style="margin: 0px 150px 10px 10px; font-size: 12pt; color: rgb(28, 57, 102); background-repeat: no-repeat; font-family: Verdana;" text="#1c3966" bgcolor="#ffffff" background="?ui=2&ik=f78cee301a&view=att&th=12188a6428453dba&attid=0.0.1&disp=emb&zw">
<table border="0" cellpadding="2" cellspacing="0" width="100%">
<tbody>
<tr>
<td dir="ltr" style="font-size: 12pt; direction: ltr;" valign="top" width="100%">
<div>Boa tarde amigos,</div>
<div dir="ltr">
<div> </div>
<div>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.</div>
<div> </div>
<div>Segue abaixo código para quem precisar ou quiser estudá-lo.</div>
<div> </div>
<div> </div>
<div>==========================================================</div>
<div>==========================================================</div>
<div><font face="Courier"><html><br><head><br><title>Clique para Falar - NGN Soluções WebCall</title><br></head><br><body><br><?<br>#Click-To-Call script NGN-Billing</font></div>
<div><font face="Courier"> </font></div>
<div><br><font face="Courier">#------------------------------------------------------------------------------------------<br>#edite as variáveis para refletir com o seu sistema<br>#------------------------------------------------------------------------------------------</font></div>
<div><font face="Courier"> </font></div>
<div><font face="Courier">#informe o endereço ip do seu asterisk<br><br>$strHost = "127.0.0.1";</font></div>
<div><font face="Courier"> </font></div>
<div><font face="Courier">#especifique o usuario que ira conectar ao CLI (deve estar definido em /etc/asterisk/manager.conf)<br>$strUser = "admin";</font></div>
<div><font face="Courier"> </font></div>
<div><font face="Courier">#senha para o usuario acima<br>$strSecret = "adminpass";</font></div>
<div><font face="Courier"> </font></div>
<div><font face="Courier">#especifique o canal (extension) que vc deseja receber estas ligações<br>#exemplo: SIP/XXX, IAX2/XXXX, ZAP/XXXX, <br>$strChannel = "SIP/".$_POST['txtOrigem'];</font></div>
<div><font face="Courier"> </font></div>
<div><font face="Courier">#informe o contexto que irá processar a ligação para PSTN<br>$strContext = "web-to-pstn";</font></div>
<div><font face="Courier"> </font></div>
<div><font face="Courier">#especifique a prioridade do contexto acima</font></div>
<div><font face="Courier">$strPriority = "1";</font></div>
<div><font face="Courier"> </font></div>
<div><font face="Courier">#especifique a quantidade de tentativas</font></div>
<div><font face="Courier">$strMaxRetry = "2";</font></div>
<div><font face="Courier"> </font></div>
<div><font face="Courier">#--------------------------------------------------------------------------------------------<br>#Não precisa editar mais nada a partir daqui para fazer esse script funfar<br>#--------------------------------------------------------------------------------------------<br>
#obtem o número a ser discado<br>$strExten = $_POST['txtDestino'];</font></div>
<div><font face="Courier"> </font></div>
<div><font face="Courier">#especifica um callerid para a ligação<br>$strCallerId = "WebCall de <".$_POST['txtOrigem'].">";</font></div>
<div><font face="Courier"> </font></div>
<div><font face="Courier">$length = len($strExten);</font></div>
<div><font face="Courier"> </font></div>
<div><font face="Courier">if ($length == 11 && id_number($_POST['txtDestino'])){</font></div>
<div><font face="Courier">$oSocket = fsockopen($strHost, 5038, $errnum, $errdesc) or die("Erro na conexão com o Servidor!");<br>fputs($oSocket, "Action: login\r\n");<br>fputs($oSocket, "Events: off\r\n");<br>
fputs($oSocket, "Username: $strUser\r\n");<br>fputs($oSocket, "Secret: $strSecret\r\n\r\n");<br>fputs($oSocket, "Action: originate\r\n");<br>fputs($oSocket, "Channel: $strChannel\r\n");<br>
fputs($oSocket, "CallerId: $strCallerId\r\n");<br>fputs($oSocket, "Exten: $strExten\r\n");<br>fputs($oSocket, "Context: $strContext\r\n");<br>fputs($oSocket, "Priority: $strPriority\r\n\r\n");<br>
fputs($oSocket, "Action: Logoff\r\n\r\n");<br>$wrtes = fgets($oSocket, 2048);<br>echo $wrtes."<br />";<br>fclose($oSocket);<br> ?><br><p><br><table width="300" border="1" bordercolor="#630000" cellpadding="3" cellspacing="0"><br>
<tr><td><br> <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><br>
</td></tr><br></table><br></p><br><?<br>}<br>else<br>{<br>?><br><p><br><table width="300" border="1" bordercolor="#630000" cellpadding="3" cellspacing="0"><br>
<tr><td><br> <font size="2" face="verdana,arial,georgia" color="#630000">Número de telefone a ser discado (0(XX)XXXX-XXXX)!</font><br> <form action="<? echo $_SERVER['PHP_SELF'] ?>" method="post"><br>
Ramal<input type="text" size="20" name="txtOrigem"><br><br> Destino<input type="text" size="20" name="txtDestino"><br><br> <input type="submit" value="Iniciar ligação"><br>
</form><br> </td></tr><br></table><br></p><br><?<br>}<br>?><br></body><br></html></font></div>
<div> </div>
<div>=======================================================================</div>
<div> </div>
<div>Att,</div>
<div> </div>
<div>Fernando da Silva Santos</div>
<div>NGN Soluções - <a href="http://www.ngnsolucoes.com.br" target="_blank">www.ngnsolucoes.com.br</a></div>
<div>MSN/E-Mail: <a href="mailto:noc@ngnsolucoes.com.br" target="_blank">noc@ngnsolucoes.com.br</a><br></div></div></td></tr>
<tr>
<td width="100%">
<table cellpadding="0" cellspacing="0" width="100%">
<tbody>
<tr>
<td width="100%"></td>
<td align="middle" valign="bottom"></td>
<td align="middle" valign="bottom"></td></tr></tbody></table></td></tr></tbody></table></div><br>_______________________________________________<br>
Openmoko Freerunner, primeiro telefone open source, disponível no Brasil rodando o Android da Google.<br>
<a href="http://www.neodroid.com" target="_blank">http://www.neodroid.com</a><br>
<br>
Compre uma camiseta da AsteriskBrasil.org!<br>
<a href="http://www.voipmania.com.br" target="_blank">http://www.voipmania.com.br</a><br>
<br>
Acesse o canal IRC de discussão sobre Asterisk em Português Brasileiro na rede Freenode.net: #asterisk-br<br>
_______________________________________________<br>
Lista de discussões AsteriskBrasil.org<br>
<a href="mailto:AsteriskBrasil@listas.asteriskbrasil.org">AsteriskBrasil@listas.asteriskbrasil.org</a><br>
<a href="http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil" target="_blank">http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil</a><br></blockquote></div><br>