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">&lt;<a href="mailto:fernando@talkmais.com.br">fernando@talkmais.com.br</a>&gt;</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&amp;ik=f78cee301a&amp;view=att&amp;th=12188a6428453dba&amp;attid=0.0.1&amp;disp=emb&amp;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">&lt;html&gt;<br>&lt;head&gt;<br>&lt;title&gt;Clique para Falar - NGN Soluções WebCall&lt;/title&gt;<br>&lt;/head&gt;<br>&lt;body&gt;<br>&lt;?<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 = &quot;127.0.0.1&quot;;</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 = &quot;admin&quot;;</font></div>
<div><font face="Courier"> </font></div>
<div><font face="Courier">#senha para o usuario acima<br>$strSecret = &quot;adminpass&quot;;</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 = &quot;SIP/&quot;.$_POST[&#39;txtOrigem&#39;];</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 = &quot;web-to-pstn&quot;;</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 = &quot;1&quot;;</font></div>
<div><font face="Courier"> </font></div>
<div><font face="Courier">#especifique a quantidade de tentativas</font></div>
<div><font face="Courier">$strMaxRetry = &quot;2&quot;;</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[&#39;txtDestino&#39;];</font></div>
<div><font face="Courier"> </font></div>
<div><font face="Courier">#especifica um callerid para a ligação<br>$strCallerId = &quot;WebCall de &lt;&quot;.$_POST[&#39;txtOrigem&#39;].&quot;&gt;&quot;;</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 &amp;&amp;  id_number($_POST[&#39;txtDestino&#39;])){</font></div>
<div><font face="Courier">$oSocket = fsockopen($strHost, 5038, $errnum, $errdesc) or die(&quot;Erro na conexão com o Servidor!&quot;);<br>fputs($oSocket, &quot;Action: login\r\n&quot;);<br>fputs($oSocket, &quot;Events: off\r\n&quot;);<br>
fputs($oSocket, &quot;Username: $strUser\r\n&quot;);<br>fputs($oSocket, &quot;Secret: $strSecret\r\n\r\n&quot;);<br>fputs($oSocket, &quot;Action: originate\r\n&quot;);<br>fputs($oSocket, &quot;Channel: $strChannel\r\n&quot;);<br>
fputs($oSocket, &quot;CallerId: $strCallerId\r\n&quot;);<br>fputs($oSocket, &quot;Exten: $strExten\r\n&quot;);<br>fputs($oSocket, &quot;Context: $strContext\r\n&quot;);<br>fputs($oSocket, &quot;Priority: $strPriority\r\n\r\n&quot;);<br>
fputs($oSocket, &quot;Action: Logoff\r\n\r\n&quot;);<br>$wrtes = fgets($oSocket, 2048);<br>echo $wrtes.&quot;&lt;br /&gt;&quot;;<br>fclose($oSocket);<br>    ?&gt;<br>&lt;p&gt;<br>&lt;table width=&quot;300&quot; border=&quot;1&quot; bordercolor=&quot;#630000&quot; cellpadding=&quot;3&quot; cellspacing=&quot;0&quot;&gt;<br>
 &lt;tr&gt;&lt;td&gt;<br> &lt;font size=&quot;2&quot; face=&quot;verdana,georgia&quot; color=&quot;#630000&quot;&gt;Estamos tentando fazer a ligação.&lt;br&gt;Aguarde alguns instantes...&lt;br&gt;&lt;a href=&quot;&lt;? echo $_SERVER[&#39;PHP_SELF&#39;] ?&gt;&quot;&gt;Ligar novamente&lt;/a&gt;&lt;/font&gt;<br>
 &lt;/td&gt;&lt;/tr&gt;<br>&lt;/table&gt;<br>&lt;/p&gt;<br>&lt;?<br>}<br>else<br>{<br>?&gt;<br>&lt;p&gt;<br>&lt;table width=&quot;300&quot; border=&quot;1&quot; bordercolor=&quot;#630000&quot; cellpadding=&quot;3&quot; cellspacing=&quot;0&quot;&gt;<br>
 &lt;tr&gt;&lt;td&gt;<br> &lt;font size=&quot;2&quot; face=&quot;verdana,arial,georgia&quot; color=&quot;#630000&quot;&gt;Número de telefone a ser discado (0(XX)XXXX-XXXX)!&lt;/font&gt;<br> &lt;form action=&quot;&lt;? echo $_SERVER[&#39;PHP_SELF&#39;] ?&gt;&quot; method=&quot;post&quot;&gt;<br>
  Ramal&lt;input type=&quot;text&quot; size=&quot;20&quot; name=&quot;txtOrigem&quot;&gt;&lt;br&gt;<br>  Destino&lt;input type=&quot;text&quot; size=&quot;20&quot; name=&quot;txtDestino&quot;&gt;&lt;br&gt;<br>  &lt;input type=&quot;submit&quot; value=&quot;Iniciar ligação&quot;&gt;<br>
 &lt;/form&gt;<br> &lt;/td&gt;&lt;/tr&gt;<br>&lt;/table&gt;<br>&lt;/p&gt;<br>&lt;?<br>}<br>?&gt;<br>&lt;/body&gt;<br>&lt;/html&gt;</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>