2016-05-21 10 views
0

私はと一緒にnode-smppを使用してSMSメッセージを送信しようとしています。ここでNodeJS - SMPPが送信しない

がActiveXpertsのドキュメントは、無料デモメッセージ送信すると言うものです:node-smpp documentation 1として

enter image description here

を、ここに私のコードは次のとおりです。

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' } 

pduの結果がcommand_status = 14であるため、if文の代わりにif (pdu.command_status == 0)が必要なため、メッセージ(session.submit_sm)は明らかに呼び出されません。

if文を削除しましたが、メッセージは送信されません。私が間違ってやっていることは何でもいい。

+0

どのsmppを使用していますか? – Ankanna

+0

@JohnAnkanna私はnpm install npm --saveを実行したので、バージョン "0.2.0"を使用しています – Thomas

+0

あなたはカスタムコマンドとTLVをサポートしてnode.jsで 'SMPP v5.0 'を使用しています。あなたの 'アクティブな専門家の無料デモサービス 'をサポートしていない – Ankanna

答えて

0

あなたのコードでは、bind_transceiverメソッドのパラメータとして空のオブジェクトを渡しました。 smppの資格情報を次のように渡す必要があります:

session.bind_transceiver({ 
    system_id: 'YOUR_SYSTEM_ID', 
    password: 'YOUR_PASSWORD' 
}, function(pdu) { 
関連する問題