Installation
Add better-smpp to your project.
Requirements
- Node.js 20 or newer
- Any package manager (examples use pnpm)
All packages ship dual ESM + CJS builds with complete type declarations, so both
import and require work out of the box.
Install
For an ESME application (sending/receiving through an SMSC):
pnpm add @better-smpp/clientFor an SMSC-side application (accepting ESME connections):
pnpm add @better-smpp/server@better-smpp/core is installed automatically as a dependency of both. Add it
explicitly only when you import core utilities yourself — protocol constants, the PDU
codec, message helpers:
pnpm add @better-smpp/coreimport { CommandStatus, TON, parseDeliveryReceipt } from "@better-smpp/core";Declaring the direct dependency matters under pnpm's strict node_modules layout —
importing a package you haven't declared fails, even if it is present transitively.
Field-name convention
PDU body fields and TLVs use the camelCase form of the SMPP specification names:
sourceAddr, destinationAddr, shortMessage, esmClass, registeredDelivery,
receiptedMessageId, and so on. Command names stay in their spec form
(submit_sm, bind_transceiver, …) because they are protocol identifiers and event
names.