Appearance
Sms transmitter
Sends SMS messages to an SMSC or SMS gateway over SMPP. Long texts are split into concatenated parts automatically; several receivers can be given in one message.
Pins
| Pin | Kind | Types | Description |
|---|---|---|---|
| Input | input | Viaducta.Plugins.Smpp.Types.SmppMessage | The message to send. |
| Output | output | Viaducta.Plugins.Smpp.Types.SmppMessage | Intended for messages the SMSC delivers on this session (transceiver bind) - see Notes. |
| Continue | continue | Viaducta.Plugins.Smpp.Types.SmppMessage | Called with the input message after it was submitted. |
SmppMessage fields used for sending: MessageText, Sender (source address), Receivers (one number, or several separated by ;), IsFlashSMS, IsRegisteredDelivery (request a delivery report), ValidityPeriod (days, 0 = SMSC default, max 99). After sending, SMSCMessageId is set from the SMSC response (single receiver only).
Configuration
| Field | Type | Default | Description |
|---|---|---|---|
BindType | dropdown: 1 BindTransmitter, 2 BindTransciever | 1 | SMPP bind mode. |
Version | dropdown: 0 V3_3, 1 V3_4 | 1 | SMPP protocol version. |
Host | string (required) | localhost | SMSC / gateway host. |
LocalEndpointIp | string | Any | Local IP to bind the socket to. |
Port | integer 1-65535 | 10000 | SMSC port. |
AddressRange | string, max 41 chars | empty | Validated, but not sent in the bind. |
SystemId | string, max 32 chars | empty | SMPP system_id. |
Password | password | empty | SMPP password. |
SystemType | string | ESME | SMPP system_type. |
EnquireLinkInterval | integer seconds, max 60 | 5 | Keep-alive interval. |
GeneralTimeout | integer seconds, max 300 | 5 | Response timeout. |
SourceAddressNpi | dropdown: 0 Unknown, 1 ISDN, 3 Data, 4 Telex, 6 LandMobile, 8 National, 9 Private, 10 ERMES, 14 Internet | 8 | Numbering plan of Sender. |
SourceAddressTon | dropdown: 0 Unknown, 1 International, 2 National, 3 NetworkSpecific, 4 SubscriberNumber, 5 Alphanumeric, 6 Abbreviated | 3 | Type of number of Sender (5 for alphanumeric sender names). |
DestinationAddressNpi | dropdown, as SourceAddressNpi | 1 | Numbering plan of the receivers. |
DestinationAddressTon | dropdown, as SourceAddressTon | 1 | Type of number of the receivers. |
DataCodingType | dropdown: 0 SMSCDefault, 1 IA5_ASCII, 2 OctetUnspecifiedB, 3 Latin1, 4 OctetUnspecifiedA, 5 JIS, 6 Cyrillic, 7 Latin_Hebrew, 8 UCS2, 9 Pictogram, 10 MusicCodes, 13 ExtendedKanjiJIS, 14 KS_C | 0 | Text encoding. Use 8 (UCS2) for characters outside GSM 7-bit. |
MaxSMSPerSec | number | 10 | Throttling: maximum submits per second, 0 = unlimited. Each part of a long SMS counts. |
Behaviour
- The SMPP session is opened when the flow starts; a rejected bind stops the flow ("Failed to connect to host:port due to ...").
- One receiver:
submit_sm; several (;-separated):submit_multi. - Texts longer than one SMS are split into up to 30 parts with a concatenation header; a delivery report is requested only for the last part. More than 30 parts raises "Message too long".
IsFlashSMS=truesends a class 0 (flash) message, overridingDataCodingType.- After submitting, the input is passed to
Continue.
Notes
- A non-zero SMPP status from the SMSC (e.g. throttled, invalid destination) is not reported:
Continueis still called. Check delivery withIsRegisteredDeliveryand an Sms receiver. DataCoding,MessageFormatandTlvDataof the input message are ignored; the configuredDataCodingTypeis used.- Messages delivered by the SMSC on a transceiver session are emitted on
Outputas the raw SMPP PDU, not asSmppMessage. Use Sms receiver to receive SMS. - Ports above 32767 are not handled correctly (converted to a 16-bit signed number).
- Use an expression setting (
=Secrets.SmscPassword) forPassword.
Example
json
{ "BindType": 1, "Version": 1, "Host": "smsc.example.com", "Port": 2775, "SystemId": "myesme", "Password": "=Secrets.SmscPassword", "SourceAddressTon": 5, "SourceAddressNpi": 0, "DestinationAddressTon": 1, "DestinationAddressNpi": 1, "DataCodingType": 8, "MaxSMSPerSec": 5 }Database reader → Data mapper (SmppMessage) → Sms transmitter → (Continue) Database writer (store SMSCMessageId)