2011-01-11 36 views
7

Tôi đang cố gắng gửi tin nhắn sms nhiều phần trong java.Không thể gửi tin nhắn sms nhiều phần trên SMPP trong 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(); 
} 

Nhưng mã này dường như không hoạt động. Những gì tôi nhận được là tin nhắn được chia thành nhiều tin nhắn khác nhau và không được ghép nối trên điện thoại.

Mọi gợi ý về những gì tôi đang làm sai ở đây.

+0

Tôi đề nghị bạn nhận được một dấu vết mạng của việc gửi với [Wireshark] (http://www.wireshark.org/). Nó có một trình xử lý giao thức SMPP tuyệt vời sẽ hiển thị tất cả các cờ và các tùy chọn của các gói. Nếu bạn vẫn gặp sự cố khi đăng chi tiết và tôi có thể trợ giúp. – alexrs

Trả lời

1

Raks,

Hãy nhớ rằng không phải tất cả các mạng trên thế giới, cũng không phải tất cả điện thoại di động trên thế giới được cấu hình một cách chính xác để gửi/nhận tin nhắn SMS đa phần.

Như bạn đã (đúng) cải trang trình kết nối SMSC thực của mình, tôi không chắc chắn nhà cung cấp dịch vụ/tổng hợp nào bạn kết nối. Vì vậy tôi không thể bình luận nếu đây là vấn đề trong tình huống cụ thể của bạn.

Nhưng như Alexrs đã nói, bao gồm đầu ra TCP Dump và chúng tôi ít nhất có thể nhận xét về đầu ra chính xác đến từ ứng dụng của bạn.

+0

Ngay cả trên các mạng di động và điện thoại mà tôi biết đều hỗ trợ các tin nhắn nhiều phần (có cả gửi và nhận chúng), tôi vẫn gặp phải vấn đề về tin nhắn nhiều phần này khi nhận được một số tin nhắn tương tự như trên. – ADTC

Các vấn đề liên quan