[AsteriskBrasil] Integração com Delphi

Ronaldo Sacco contato em ronaldosacco.com.br
Terça Agosto 14 14:25:03 BRT 2012


De acordo com a tabela ascii está correto o 13 (nova linha) e o 10 (nova
linha). Mas agora não sei te dizer se teu código em Delphi está OK..
Tenta substituir o #13 e #10 por '\r' e '\n'.

Um exemplo simples de "reload" em PHP, ficaria:
<?php

$socket = fsockopen("localhost","5038", $errno, $errstr, 100);
fputs($socket, "Action: Login\r\n");
fputs($socket, "ActionID: 1\r\n");
fputs($socket, "UserName: USUARIO\r\n");
fputs($socket, "Secret: SENHA\r\n\r\n");
fputs($socket, "Action: Command\r\n");
fputs($socket, "Command: reload\r\n\r\n");

?>

Tenta utilizar este comando acima, transforma na linguagem Delphi.. O
script apenas dá um reload no asterisk, não recebendo nenhum retorno. Se
funcionar, você vai saber que pelo menos a comunicação com o asterisk está
OK.

Já se eu preciso receber algum retorno, eu utilizo o seguinte comando:
$get=fgets($socket,128);

Tenho um exemplo em Java também. Se quiser me avisa..

[]'s

Em 14 de agosto de 2012 14:10, Ricardo Mendes <rickbamen em gmail.com>escreveu:

> Ronaldo...mas nesse trecho aqui
>  tmpComando := trim(edtComando.Text) + ifthen((groupTerminador.ItemIndex
> = 0), Acao, Execucao);
>
> eu determino se o terminado vai ser o de Ação ou Execução que correspondem
> a
> Acao = #13 + #10;
> Execucao = #13 + #10 + #13 + #10;
>
> Será que é errado isso?
>
> Ricardo Mendes
>
> Em 14 de agosto de 2012 14:05, Ronaldo Sacco <contato em ronaldosacco.com.br>escreveu:
>
> Ricardo, talvez este script PHP te ajude:
>>
>> $socket = fsockopen("localhost","5038", $errno, $errstr, 100);
>> fputs($socket, "Action: Login\r\n");
>> fputs($socket, "ActionID: 1\r\n");
>> fputs($socket, "UserName: $user\r\n");
>> fputs($socket, "Secret: $pswd\r\n\r\n");
>> [...]
>>
>>
>> O segredo deste script está no "\r\n" (retorno de carro e quebra de
>> linha). Sem isso não da retorno. Talvez seja o teu problema.
>>
>>
>> Em 14 de agosto de 2012 13:58, Ricardo Mendes <rickbamen em gmail.com>escreveu:
>>
>>>  Boa Tarde Galera...
>>> Ja perguntei aqui na lista mas vamos tentar novamente...
>>> Seguindo os conselhos...ja habilei o mananger do asterisk.
>>> Tentei utilizar socket com delphi para ver se da resultado, abaixo segue
>>> os retornos que tive...
>>>
>>> primeiro eu tentei me conectar...
>>> --> Tentativa de Conexão ás 14/08/2012 12:38:51
>>> ----> Asterisk Call Manager/1.1
>>>
>>> depois tentei enviar os comandos abaixo separadamente.
>>> --> Comando enviado: Action: Login ás 14/08/2012 12:41:21
>>> ----> Fim do retorno ás 14/08/2012 12:41:36
>>>
>>> --> Comando enviado: UserName: teste ás 14/08/2012 12:42:56
>>> ----> Fim do retorno ás 14/08/2012 12:43:16
>>>
>>> --> Comando enviado: Secret: abc123 ás 14/08/2012 12:43:50
>>> ----> Fim do retorno ás 14/08/2012 12:44:43
>>>
>>> --> Comando enviado: Action: Command ás 14/08/2012 12:45:02
>>> ----> Fim do retorno ás 14/08/2012 12:45:55
>>>
>>> --> Comando enviado: Command: sip show peers ás 14/08/2012 12:46:17
>>> ----> Fim do retorno ás 14/08/2012 12:47:07
>>>
>>> A principio nenhum comando me trouxe retorno...e ja não sei mais o que
>>> mexer para tentar fazer essa integração com delphi funcionar.
>>>
>>> Vou postar trecho do codigo que fiz.
>>>
>>>
>>> procedure Tfrm_Principal.btnEnviarComandoClick(Sender: TObject);
>>> var
>>>   tmpComando: string;
>>> begin
>>>   if (trim(edtComando.Text) <> '') then
>>>   begin
>>>     tmpComando := trim(edtComando.Text) +
>>> ifthen((groupTerminador.ItemIndex = 0), Acao, Execucao);
>>>     ListaComando.Lines.Add('Comando enviado: ' + trim(edtComando.Text) +
>>> ' ás ' + FormatDateTime('DD/MM/YYYY HH:MM:SS', now));
>>>     EnviaComando(tmpComando);
>>>   end;
>>>
>>> end;
>>>
>>> procedure Tfrm_Principal.EnviaComando(pComando: string);
>>> var
>>>   tmpRetorno: string;
>>> begin
>>>
>>>   ConectaSocket.SendString(pComando);
>>>
>>>   repeat
>>>     tmpRetorno := ConectaSocket.RecvPacket(StrToIntDef(edtTimeOut.text,
>>> 2000));
>>>     memoRetorno.Lines.Add(trim(tmpRetorno));
>>>   until tmpRetorno = '';
>>>
>>>   memoRetorno.Lines.Add('Fim do retorno ás ' +
>>> FormatDateTime('DD/MM/YYYY HH:MM:SS', now));
>>>   memoRetorno.Lines.Add(StringOfChar('-', 50));
>>>
>>>   edtComando.Clear;
>>>   groupTerminador.ItemIndex := 0;
>>> end;
>>>
>>>
>>> Se alguem puder me ajudar a tentar fazer um simples exemplo dessa
>>> conexão eu agradeço.
>>>
>>> Saudações.
>>>
>>> Ricardo Mendes
>>>
>>>
>>> _______________________________________________
>>> KHOMP Inovação: External Board Series
>>> Módulos de 1/2 rack e 1U para todas as interfaces e soluções Asterisk e
>>> FreeSWITCH.
>>> Tenha a External Series Experience na sua aplicação. Visite
>>> www.khomp.com
>>> _______________________________________________
>>> DIGIVOICE  Fabricante de Placas de Voz e Channel Bank
>>> 20 anos de experiência com E1(R2/ISDN), FXS, FXO e GSM
>>> Centro Treinamento - Curso de PABX IP -  Asterisk  - Site
>>> www.digivoice.com.br
>>> ________
>>> YEALINK: Telefones IP e VídeoPhones IP com o melhor custo/benefício do
>>> mercado.
>>> email: yealink em commlogik.com.br | www.commlogik.com.br | (11) 5503-1011
>>> ______________________________________________
>>> Para remover seu email desta lista, basta enviar um email em branco para
>>> asteriskbrasil-unsubscribe em listas.asteriskbrasil.org
>>>
>>
>>
>>
>> --
>>
>> Atenciosamente,
>>
>> Ronaldo Sacco
>> (54) 9174-8840
>> Bacharel em Ciência da Computação
>>
>>
>>
>> _______________________________________________
>> KHOMP Inovação: External Board Series
>> Módulos de 1/2 rack e 1U para todas as interfaces e soluções Asterisk e
>> FreeSWITCH.
>> Tenha a External Series Experience na sua aplicação. Visite www.khomp.com
>> _______________________________________________
>> DIGIVOICE  Fabricante de Placas de Voz e Channel Bank
>> 20 anos de experiência com E1(R2/ISDN), FXS, FXO e GSM
>> Centro Treinamento - Curso de PABX IP -  Asterisk  - Site
>> www.digivoice.com.br
>> ________
>> YEALINK: Telefones IP e VídeoPhones IP com o melhor custo/benefício do
>> mercado.
>> email: yealink em commlogik.com.br | www.commlogik.com.br | (11) 5503-1011
>> ______________________________________________
>> Para remover seu email desta lista, basta enviar um email em branco para
>> asteriskbrasil-unsubscribe em listas.asteriskbrasil.org
>>
>
>
> _______________________________________________
> KHOMP Inovação: External Board Series
> Módulos de 1/2 rack e 1U para todas as interfaces e soluções Asterisk e
> FreeSWITCH.
> Tenha a External Series Experience na sua aplicação. Visite www.khomp.com
> _______________________________________________
> DIGIVOICE  Fabricante de Placas de Voz e Channel Bank
> 20 anos de experiência com E1(R2/ISDN), FXS, FXO e GSM
> Centro Treinamento - Curso de PABX IP -  Asterisk  - Site
> www.digivoice.com.br
> ________
> YEALINK: Telefones IP e VídeoPhones IP com o melhor custo/benefício do
> mercado.
> email: yealink em commlogik.com.br | www.commlogik.com.br | (11) 5503-1011
> ______________________________________________
> Para remover seu email desta lista, basta enviar um email em branco para
> asteriskbrasil-unsubscribe em listas.asteriskbrasil.org
>



-- 

Atenciosamente,

Ronaldo Sacco
(54) 9174-8840
Bacharel em Ciência da Computação
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20120814/a27f0f3a/attachment-0001.htm 


Mais detalhes sobre a lista de discussão AsteriskBrasil