<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
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
 cite="mid:8CC3655A48DB5F3-95C-1C1E@web-mmc-m10.sysops.aol.com"
 type="cite"><font color="black" face="arial" size="2">
  <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
 cite="mid:8CC3655A48DB5F3-95C-1C1E@web-mmc-m10.sysops.aol.com"
 type="cite"><font color="black" face="arial" size="2">
  <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
 cite="mid:8CC3655A48DB5F3-95C-1C1E@web-mmc-m10.sysops.aol.com"
 type="cite"><font color="black" face="arial" size="2">
  <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
 cite="mid:8CC3655A48DB5F3-95C-1C1E@web-mmc-m10.sysops.aol.com"
 type="cite"><font color="black" face="arial" size="2">
  <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
 cite="mid:8CC3655A48DB5F3-95C-1C1E@web-mmc-m10.sysops.aol.com"
 type="cite"><font color="black" face="arial" size="2">
  <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 wrap="">
<hr size="4" width="90%">
_______________________________________________
         <a class="moz-txt-link-freetext" href="http://www.voipmania.com.br">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">http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil</a></pre>
</blockquote>
<br>
</body>
</html>


Rodrigo S. Vian<BR>Analista TI<BR>Porttal Tecnologia<BR>Soluções em TI & Telecom<BR>http://www.porttaltecnologia.com.br<BR>phone:55+19+3542-9667<BR><BR>|-- Antes de Imprimir, pense em sua responsabilidade com o Meio Ambiente --|<BR>