如何发送deliver_sm请求从node.js SMPP添加user_message_reference TLV

时间:2012-04-13 07:47:34

标签: node.js smpp tlv

我正在使用node-smpp,想知道如何发送“deliver_sm”请求并向user_message_reference添加“TLV”响应。

node-smpp / lib / smpp.js的摘录:

exports.addTLV = function(tag, options) {
    options.tag = tag;
    defs.tlvs[tlv] = options;
    defs.tlvsById[options.id] = options;
};

测试代码:

var tlv = new Object();
tlv.tag = 0x001E; // smpp.receipted_message_id;
tlv.lenght =  msgid.lenght;
tlv.value = msgid;

smpp.addTLV(tlv,tlv);

结果:

defs.tlvs[tlv] = options;
       ^
ReferenceError: tlv is not defined

1 个答案:

答案 0 :(得分:1)

我是node-smpp模块的作者。

要向您的PDU添加tlv参数或标准参数,您只需要使用适当的名称向pdu添加属性。

session.deliver_sm({
    source_addr: 'blahblah',
    destination_addr: 'blahblah',
    short_message: 'blahblah',
    receipted_message_id: 'blahblah',
    user_message_reference: msgid
});

这将发送一个deliver_sm pdu,其中包含上述参数以及其他所需的参数设置为默认值。

通常,您根本不需要使用smpp.addTLV。它用于定义自定义供应商特定的TLV(0x1400和0x3FFF之间的标记)。