[AsteriskBrasil] OFF - Integração Goip

Neimar Avila neimar.avila em virtualsistemas.com.br
Sexta Janeiro 24 09:30:59 BRST 2014


Dilceu, bom dia. 

Já fiz já, você deve abrir um socket em UDP, segue exemplo básico: 



public class TesteUDP { 

public static void main(String[] args) throws IOException { 


@SuppressWarnings("resource") 
DatagramSocket serverSocket = new DatagramSocket(9876); 
byte[] receiveData = new byte[3000]; 
byte[] sendData = new byte[3000]; 
while(true){ 
DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length); 
serverSocket.receive(receivePacket); 

String sentence = new String( receivePacket.getData()); 

boolean impl = false; 

if(sentence.startsWith("req:")){ 
impl = true; 

String[] requisicao = sentence.split(";"); 
String req = requisicao[0].substring(4); 
String id = requisicao[1].substring(3); 
String pass = requisicao[2].substring(5); 
String num = requisicao[3].substring(4); 
String signal = requisicao[4].substring(7); 
String gsm_status = requisicao[5].substring(11); 
String voip_status = requisicao[6].substring(12); 
String voip_state = requisicao[7].substring(11); 
String remain_time = requisicao[9].substring(12); 
String imei = requisicao[10].substring(5); 
String imsi = requisicao[11].substring(6); 
String iccid = requisicao[12].substring(6); 
String ip = receivePacket.getAddress().toString(); 
int porta = receivePacket.getPort(); 

System.out.print("IP: " + ip + "\t"); 
System.out.print("PORTA: " + porta + "\t"); 
System.out.print("REQ: " + req + "\t"); 
System.out.print("ID: " + id + "\t"); 
System.out.print("PASS: " + pass + "\t"); 
System.out.print("NUM: " + num + "\t"); 
System.out.print("SIGNAL: " + signal + "\t"); 
System.out.print("GSM STATUS: " + gsm_status + "\t"); 
System.out.print("VOIP STATUS: " + voip_status + "\t"); 
System.out.print("VOIP STATE: " + voip_state + "\t"); 
System.out.print("REMAIN TIME: " + remain_time + "\t"); 
System.out.print("IMEI: " + imei + "\t"); 
System.out.print("IMSI: " + imsi + "\t"); 
System.out.print("ICCID: " + iccid + "\t"); 

System.out.println("Resposta"); 
InetAddress IPAddress = receivePacket.getAddress(); 
int port = receivePacket.getPort(); 
String capitalizedSentence = "reg:"+ req + ";status:0;"; 
sendData = capitalizedSentence.getBytes(); 
DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, port); 
serverSocket.send(sendPacket); 

} else if(sentence.startsWith("CELLINFO")){ 
impl = true; 
System.out.println("CELLINFO - IMPLEMENTAR"); 
} else if(sentence.startsWith("CGATT")){ 
impl = true; 
System.out.println("CGATT - IMPLEMENTAR"); 
} 

if(!impl){ 
System.out.println("RECEBIDO: " + sentence); 
impl = false; 
} 


/* InetAddress IPAddress = receivePacket.getAddress(); 
int port = receivePacket.getPort(); 
String capitalizedSentence = sentence.toUpperCase(); 
sendData = capitalizedSentence.getBytes(); 
DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, port); 
serverSocket.send(sendPacket);*/ 
} 




Segue também o manual de como deve trabalhar: 

http://www.dbltek.com/pdf/goip_sms_Interface_en.pdf 



Atenciosamente, 
Neimar Lima de Ãvila | Manutenção/Telecomunicações | Virtual Sistemas Ltda 
Rua Gonçalves Dias, 142 SL 704 - Funcionários - CEP:30.140-090 - Bhte/MG 
Tel: (031)32456213 - Ramal 2016 | Cel: (031) 84122602 (CLARO) 
www.virtualsistemas.com.br | neimar.avila em virtualsistemas.com.br 





Preserve o Meio Ambiente! Pense Antes de Imprimir 
Os dados transmitidos nesta mensagem destinam-se exclusivamente a(s) pessoa(s) mencionada(s) e contém informações confidenciais, 
legalmente protegidas, para conhecimento exclusivo do(s) destinatário(s).O exame, retransmissão, divulgação, leitura, cópia ou outro uso 
desta correspondência, por pessoas, físicas ou jurídicas, que não o(s) destinatário(s), constituirá obtenção de dados por meio ilícito, 
configurando ofensa ao Art. 5°, inciso XII, da CF/88. 



----- Mensagem original -----

De: dlpazinatto em gmail.com 
Para: asteriskbrasil em listas.asteriskbrasil.org 
Enviadas: Quinta-feira, 23 de janeiro de 2014 17:45:37 
Assunto: [AsteriskBrasil] OFF - Integração Goip 

Olá Pessoal, 

Desculpa pelo OFF, mas por acaso alguém já fez alguma coisa para comunicar com o GOIP via socket? 

Não quero usar o SMS Server que ja faz isso, só que em PHP. Quero fazer a minha aplicação em java. 

Verifiquei os arquivos PHP do SMS Server e em toda comunicação com o GOIP ele usa um binario compilado chamado goipcron passando parametros. 

A duvida seria os parâmetros dessa comunicação via socket, a parte de socket em java é tranquilo. 

Grato por qualquer ajuda. 

-- 
Dilceu Luiz Pazinatto 
Electronics technician 
Engineering students 

_______________________________________________ 
KHOMP: completa linha de placas externas FXO, FXS, GSM e E1 
Media Gateways de 1 a 64 E1s para SIP com R2, ISDN e SS7 
Intercomunicadores para acesso remoto via rede IP e telefones IP 
Conheça todo o portfólio em www.Khomp.com 
_______________________________________________ 
Para remover seu email desta lista, basta enviar um email em branco para asteriskbrasil-unsubscribe em listas.asteriskbrasil.org 

-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20140124/81270e24/attachment.html 


Mais detalhes sobre a lista de discussão AsteriskBrasil