@tiagfernandes/node-pdu

1.0.16 • Public • Published

node-pdu

PDU parser and generator for node

Project is looking for maintainer

How to install

npm install node-pdu

How to use

First require it:

var pdu = require('node-pdu');

pdu.Submit()

    var Submit = pdu.Submit(); // Submit, Deliver, Report

    // set number of sms center (optional)
    Submit.setSca('999999999999');

    // set number of recipent (required)
    Submit.setAddress('+999999999999');

    // set validity period 4 days (optional)
    Submit.setVp(3600 * 24 * 4);

    // set text of message (required)
    Submit.setData('Some text');

    // set status report request (optional, default is off)
    Submit.getType().setSrr(1);

    // get all parts of message
    var parts = Submit.getParts();

    parts.forEach(function(part){
      // part is object, instance of ./PDU/Data/Part, could be casted to string like ('' + part) or part.toString()
    });

pdu.parse()

pdu.parse('06918919015000240C9189194238148900003110211052254117CAB03D3C1FCBD3703AA81D5E97E7A079D93D2FBB00');

PDU

  • statics

  • [Submit] Submit() // create object of Submit

  • [Deliver] Deliver() // create object of Deliver

  • [Report] Report() // create object of Report

  • [void] debug(message) // if PDU.isDebug set true you will see debug information

  • [Submit] generate() // legacy support

  • [Submit|Deliver|Report] parse(str) // parse passwed string

  • [Report] parseStatusReport() // legacy method, see parse()

  • object

  • [SCA] getAddress() // get Originator or Destination Address

  • [Data] getData() // get data

  • [DCS] getDcs() // get Data Coding Scheme

  • [array] getPars() // get parts of message, see the Part class

  • [PID] getPid() // get Protoсol Identifier

  • [SCA] getSca() // get Service Centre Address

  • [Type] getType() // get Transport Protocol Data Unit

  • [integer] getUdl() // get User Data Length

  • [PDU] setAddress(SCA|String address) // set Originator or Destination Address

  • [PDU] setData(Data|String) // set data message

  • [PDU] setDcs(DCS|undefined dsc) // set Data Coding Scheme

  • [PDU] setPid(PDI|undefined pid) // set Protoсol Identifier

  • [PDU] setSca(SCA|String sca) // set Service Centre Address

PDU/Submit - extended from PDU

  • [integer] getMr() // get message reference
  • [VP] getVp() // get validity period
  • [void] setMr(integer mr) // set message reference
  • [void] setVp(integer|string dtime) // set validity period

PDU/Deliver - extended from PDU

  • [SCTS] getScts() // get time
  • [void] setScts(SCTS|Date) // set time

PDU/Report - extended from PDU

  • [SCTS] getDateTime() // get date time
  • [SCTS] getDischarge()
  • [integer] getReference()
  • [integer] getStatus()
  • [void] setDateTime(datetime)
  • [void] setDischarge(discharge)
  • [void] setReference(reference)
  • [void] setStatus(status)

VP - Validity period

  • [void] setDateTime(String datetime) // set date string fo Date.parse()
  • [void] setInterval(Integer interval) // set interval in seconds

Type - Transport Protocol Data Unit

  • constants:

  • SMS_SUBMIT = 0x01;

  • SMS_DELIVER = 0x00;

  • SMS_REPORT = 0x02;

  • VPF_NONE = 0x00;

  • VPF_SIEMENS = 0x01;

  • VPF_RELATIVE = 0x02;

  • VPF_ABSOLUTE = 0x03;

  • methods:

  • [integer] getMti()

  • [integer] getSrr()

  • [integer] getUdhi()

  • [integer] getValue()

  • [integer] getVpf()

  • [void] setSrr(Integer srr)

  • [void] setUdhi(Integer udhi)

  • [void] setVpf(Integer vpf) // one of constants VPF_{}

Type/Deliver

Type/Report

Type/Submit

SCTS - Time

  • statics:
  • [SCTS] parse(hex) // parse hex string
  • methods:
  • constructor(Date date) //
  • [Integer] getTime()
  • [Integer] getTzOff() // get time zone offset, in minutes
  • [String] getIsoString // get ISO8601 formated date and time (YYYY-MM-DDTHH:mm:ss±hh:mm)

SCA

SCA/Type

PID

DCS

Data

Data/Header

Data/Part

Helper

Package Sidebar

Install

npm i @tiagfernandes/node-pdu

Weekly Downloads

2

Version

1.0.16

License

ISC

Unpacked Size

91 kB

Total Files

22

Last publish

Collaborators

  • tiago_fernandes