[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