2011-01-11 17 views
7

Estoy tratando de enviar un mensaje sms de varias partes en java.No se puede enviar mensajes multiparts SMS a través de SMPP en java

public static void main(String[] args) throws Exception { 
    SMPPSession session = new SMPPSession(); 
    session.connectAndBind("0.0.0.0", 00000, new BindParameter(
       BindType.BIND_TX, "User", "Pass", "SMPP", TypeOfNumber.UNKNOWN, 
       NumberingPlanIndicator.UNKNOWN, null)); 
    Random random = new Random(); 

    final int totalSegments = 3; 
    OptionalParameter sarMsgRefNum = OptionalParameters.newSarMsgRefNum((short) random.nextInt()); 
    OptionalParameter sarTotalSegments = OptionalParameters.newSarTotalSegments(totalSegments); 

    for (int i = 0; i < totalSegments; i++) { 
     final int seqNum = i + 1; 
     String message = "Message part " + seqNum + " of " + totalSegments + " "; 
     OptionalParameter sarSegmentSeqnum = OptionalParameters 
       .newSarSegmentSeqnum(seqNum); 
     String messageId = session.submitShortMessage("CMT", TypeOfNumber.INTERNATIONAL, 
       NumberingPlanIndicator.UNKNOWN, "919999999999", TypeOfNumber.INTERNATIONAL, 
       NumberingPlanIndicator.UNKNOWN, "919999999999", new ESMClass(), 
       (byte) 0, (byte) 1, timeFormatter.format(new Date()), null, 
       new RegisteredDelivery(SMSCDeliveryReceipt.DEFAULT), (byte) 0, 
       new GeneralDataCoding(false, false, MessageClass.CLASS1, 
         Alphabet.ALPHA_8_BIT), (byte) 0, message.getBytes(),sarSegmentSeqnum, sarTotalSegments, sarMsgRefNum); 
     System.out.println("Message submitted, message_id is " + messageId); 
    } 
    session.unbindAndClose(); 
} 

Pero este código no parece funcionar. Lo que recibo son mensajes divididos en diferentes mensajes y no concatenados en el teléfono.

Cualquier sugerencia sobre qué estoy haciendo mal aquí.

+0

Le sugiero que obtenga un rastro de red del envío con [Wireshark] (http://www.wireshark.org/). Tiene un gran controlador de protocolo SMPP que mostrará todos los indicadores y opciones de los paquetes. Si aún tiene problemas, publique los detalles y es posible que pueda ayudarlo. – alexrs

Respuesta

1

Raks,

Recuerde que no todas las redes en el mundo, ni todos los teléfonos en el mundo están configurados correctamente para el envío/recepción de los mensajes SMS de varias partes.

Como ha (correctamente) disfrazado su conector SMSC real, no estoy seguro de a qué transportista/agregador se conecta. Por lo tanto, no puedo comentar si este es el problema en su situación específica.

Pero como dijo Alexrs, incluya la salida de TCP Dump y al menos podemos comentar sobre la salida correcta proveniente de su aplicación.

+0

Incluso en los operadores y teléfonos que conozco admiten mensajes de varias partes (tanto para enviarlos como para recibirlos), todavía tengo este problema de que los mensajes de varias partes se reciben como varios mensajes individuales cuando se envían con un código similar al anterior. – ADTC

Cuestiones relacionadas