2016-05-21 3 views
0

Я пытаюсь отправить SMS-сообщение с помощью node-smpp вместе с ActiveXperts free demo service.NodeJS - SMPP не отправляется

Вот что документация ActiveXperts говорит, чтобы отправить бесплатную демонстрационную сообщение:

enter image description here

Согласно node-smpp documentation, вот мой код:

var smpp = require('smpp'); 
var session = smpp.connect('smpp.activexperts-labs.com', 2775); 
session.bind_transceiver({}, function(pdu) { 
    console.log(pdu); 
    if (pdu.command_status == 0) { 
     // Successfully bound 
     session.submit_sm({ 
      destination_addr: '1234567890', 
      short_message: 'Hello!' 
     }, function(pdu) { 
      if (pdu.command_status == 0) { 
       // Message successfully sent 
       console.log(pdu.message_id); 
      } 
     }); 
    } 
}); 

И вот мой ответ PDU:

PDU { 
    command_length: 32, 
    command_id: 2147483657, 
    command_status: 14, 
    sequence_number: 1, 
    command: 'bind_transceiver_resp', 
    system_id: 'ActiveXperts GW' } 

Функция, которая отправляет сообщение (session.submit_sm), очевидно, не вызывается, потому что результаты pdu command_status = 14, вместо которых требуется инструкция if, if (pdu.command_status == 0).

Я удалил оператор if, и сообщение все еще не отправлено. Любые идеи, что я делаю неправильно.

+0

какая версия smpp вы используете? – Ankanna

+0

@JohnAnkanna Я запустил npm install npm --save, и из-за этого я использую версию «0.2.0» – Thomas

+0

, вы используете 'SMPP v5.0 в node.js с поддержкой пользовательских команд и TLVs', которые не поддерживает ваш 'активных экспертов бесплатную демонстрационную услугу' – Ankanna

ответ

0

В коде вы передали пустой объект в качестве параметров метода bind_transceiver. Вам необходимо передать учетные данные smpp следующим образом:

session.bind_transceiver({ 
    system_id: 'YOUR_SYSTEM_ID', 
    password: 'YOUR_PASSWORD' 
}, function(pdu) { 
Смежные вопросы