GithubHelp home page GithubHelp logo

node-pdu's Introduction

node-pdu

PDU parser and generator for node

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()

SCA

SCA/Type

PID

DCS

Data

Data/Header

Data/Part

Helper

node-pdu's People

Contributors

jackkum avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.