<font color='black' size='2' face='arial'>
<div><FONT face="Arial, Helvetica, sans-serif">Ok, obrigado pelas correções.</FONT></div>
<div> </div>
<div>Mas como ficaria o manager.conf? Ele existe e "normalmente" percisa ser configurado, mas através do socket seria msma coisa se ele não existisse, se sim, e o quesito segurança, ficaria "quebradro" ?</div>
<div> </div>
<div>Att</div>
<div>Bruno<br>
<br>
<br>
-----Original Message-----<br>
From: Rodrigo Vian <listas@porttaltecnologia.com.br><br>
To: asteriskbrasil@listas.asteriskbrasil.org<br>
Sent: Wed, Nov 18, 2009 9:17 am<br>
Subject: Re: [AsteriskBrasil] Executando Comandos Asterisk [Socket]<br>
<br>
</div>
<div id=AOLMsgPart_3_c06356cd-eb1e-4cf5-a1d2-d4c94632f845>Bom dia Bruno, creio que seja possível sim... :)<br>
<br>
Marquei em negrito (e comentei rs) no código algumas coisas que percebi... <br>
<br>
Espero que te ajude...<br>
<br>
Abs<br>
<br>
<A class=moz-txt-link-abbreviated href="mailto:brunoantognolli@email.com">brunoantognolli@email.com</A> escreveu:
<BLOCKQUOTE type="cite"><FONT color=black size=2 face=arial>
<div>Pessoal, bom dia!</div>
<div> </div>
<div>Há algum tempo, perguntei na lista como fazer o asterisk executar um comando pelo java.</div>
<div>Com a ajuda de vcs, principalmente do Éder consegui fazer o código e postei ele aqui no fórum.</div>
<div> </div>
<div>Porém surgiu uma outra pergunta/dúvida, seria possível eu executar comandos do asterisk através de Socket?</div>
<div> </div>
<div>Eu sei que através de Socket consigo conectar no servidor e executar comandos, a dúvida é se eu consigo conectar no servidor, acessar o "rasterisk" e enviar o comando necessário.</div>
<div> </div>
<div>Sería necessário conectar no Manager para executar comandos ou somente pelo socket consigo enviar comandos dentro do rasterisk? </div>
<div> </div>
<div>Abaixo tenho uma classe que um amigo desenvolveu em .NET que está tentando fazer isso, (se não for possível, já me avisem, por favor) </div>
<div> </div>
<div> </div>
<div> </div>
<div>public class SendMessage<br>
{<br>
public static void Enviar(string codigoArea, string celular, string mensagem)<br>
{<br>
// Connect to the asterisk server. <br>
Socket clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);<br>
</div>
</FONT></BLOCKQUOTE><br>
<BLOCKQUOTE type="cite"><FONT color=black size=2 face=arial>
<div><B> IPEndPoint serverEndPoint = new IPEndPoint(IPAddress.Parse("192.168.xx.xx"), <FONT color=#ff0000>22</FONT>); Nesta Linha. pelo que entendi, ele tenta conectar na porta 22 (SSH). Não poderia ser na 5038??</B><br>
</div>
</FONT></BLOCKQUOTE><br>
<BLOCKQUOTE type="cite"><FONT color=black size=2 face=arial>
<div> clientSocket.Connect(serverEndPoint);</div>
<div> // Login to the server; manager.conf needs to be setup with matching credentials. <br>
</div>
</FONT></BLOCKQUOTE><br>
<BLOCKQUOTE type="cite"><FONT color=black size=2 face=arial>
<div><B> clientSocket.Send(Encoding.ASCII.GetBytes("Action: Login\r\nUsername: root\r\nSecret: senha\r\nActionID: 1\r\n\r\n")); Se for por ssh, esta linha de autenticação está errada, pois este tipo seria para conexão via ami na porta 5038.<br>
</B></div>
</FONT></BLOCKQUOTE><br>
<BLOCKQUOTE type="cite"><FONT color=black size=2 face=arial>
<div> // Enviar mensagem<br>
//clientSocket.Send(Encoding.ASCII.GetBytes("dgv send sms 1496832521 'teste'"));</div>
<div> int bytesRead = 0;</div>
<div> do<br>
{<br>
byte[] buffer = new byte[1024];<br>
bytesRead = clientSocket.Receive(buffer);</div>
<div> //Console.WriteLine(bytesRead + " bytes from asterisk server."); <br>
<br>
string response = Encoding.ASCII.GetString(buffer, 0, bytesRead);<br>
Console.WriteLine(response);</div>
<div> if (Regex.Match(response, "Message: Authentication accepted", RegexOptions.IgnoreCase).Success)<br>
{<br>
// Send a ping request the asterisk server will send back a pong response. <br>
clientSocket.Send(Encoding.ASCII.GetBytes("Action: Ping\r\nActionID: 2\r\n\r\n"));<br>
}<br>
} while (bytesRead != 0);</div>
<div> Console.WriteLine("Connection to server lost.");<br>
Console.ReadLine();<br>
}<br>
}</div>
<div> </div>
<div>Att,<br>
Bruno</div>
</FONT><PRE><HR SIZE=4 width="90%">
_______________________________________________
<A class=moz-txt-link-freetext href="http://www.voipmania.com.br/" target=_blank>http://www.voipmania.com.br</A>
Telefone IP sem fio Gigaset A580IP por 6 x R$59,90.
Promoção por tempo limitado!
_______________________________________________
Lista de discussões AsteriskBrasil.org
<A class=moz-txt-link-abbreviated href="mailto:AsteriskBrasil@listas.asteriskbrasil.org">AsteriskBrasil@listas.asteriskbrasil.org</A>
<A class=moz-txt-link-freetext href="http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil" target=_blank>http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil</A></PRE></BLOCKQUOTE><br>
Rodrigo S. Vian<br>
Analista TI<br>
Porttal Tecnologia<br>
Solues em TI & Telecom<br>
<A href="http://www.porttaltecnologia.com.br/" target=_blank>http://www.porttaltecnologia.com.br</A><br>
phone:55+19+3542-9667<br>
<br>
|-- Antes de Imprimir, pense em sua responsabilidade com o Meio Ambiente --|<br>
</div>
<!-- end of AOLMsgPart_3_c06356cd-eb1e-4cf5-a1d2-d4c94632f845 -->
<div style="BACKGROUND-COLOR: #fff; MARGIN: 0px; FONT-FAMILY: Tahoma, Verdana, Arial, Sans-Serif; COLOR: #000; FONT-SIZE: 12px" id=AOLMsgPart_4_c06356cd-eb1e-4cf5-a1d2-d4c94632f845><PRE style="FONT-SIZE: 9pt"><TT>_______________________________________________
<A href="http://www.voipmania.com.br/" target=_blank>http://www.voipmania.com.br</A>
Telefone IP sem fio Gigaset A580IP por 6 x R$59,90.
Promoção por tempo limitado!
_______________________________________________
Lista de discussões AsteriskBrasil.org
<A href="mailto:AsteriskBrasil@listas.asteriskbrasil.org">AsteriskBrasil@listas.asteriskbrasil.org</A>
<A href="http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil" target=_blank>http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil</A>
</TT></PRE></div>
<!-- end of AOLMsgPart_4_c06356cd-eb1e-4cf5-a1d2-d4c94632f845 --></font>