SMPP accounts

Customer SMPP accounts

SMPP accounts are defined in Customers > SMPP accounts. They are what a customer uses to bind to your SSG instance and send or receive SMS (SMPP, REST, or txtConsole). Each account uses a service, which supplies the pricing plan and routing profile.

A walkthrough is in the Customers tutorial.

SMPP accounts

SMPP accounts

The grid can be filtered by customer. It supports search, Excel export, and a 15-minute activity sparkline. The Dashboard also lists customer SMPP accounts with bind-status pills (click a pill to open the account).

The dialog uses on/off switches for bind and submit. An Unsaved changes badge appears if you edit; you are asked to confirm before you cancel or close.

Add an SMPP account

Quick Create SMPP

Use this when the customer already exists.

  1. Go to Customers > SMPP accounts.
  2. Click Quick Create SMPP.
  3. Select the organisation.
  4. Select the Service.
  5. Optionally enter CUG Mobiles (comma-separated MSISDNs).
  6. Choose whether to email the configuration to the customer contact.
  7. Click Setup.

To create the customer and first account together, use Quick Create Customer+SMPP on Customers.

Create SMPP account

  1. Click Create SMPP account.
  2. On Main, select the customer, enter Name and Short name, and select the Service.
  3. Turn on Binding enabled and Submit enabled.
  4. On Parameters, set at least Submit limit (TPS) and Default source address.
  5. On Security, optionally restrict Allowed IP(s).
  6. Click Save. System ID and password are assigned on save.

Edit an SMPP account

Double-click the row, or click Edit. Click Save after you change fields.

Row actions

ActionWhat it does
SMPP ClientOpens a test client pre-filled with the account credentials. Connect, submit a message, then check Status > Message lookup
Regenerate PasswordIssues a new password immediately and shows it once. The previous password stops working
Email ConfigEmails connection details to the customer contact
ArchiveRejects new binds and stops submission. Use only when the account is no longer required

Account information to give to customers

Provide at least:

  • System ID and password
  • Hosts and ports from Customer endpoints
    • port 2775 for SMPP
    • port 8775 for SMPP over TLS
  • The Submit limit (TPS) you configured
🚧

Advice for reliable customer connections

Customers should stay connected to two SSG sites, or fail over to a second site if the preferred site is unavailable. When failing over, they should keep trying the preferred site. Give two SMPP accounts for one customer site (or two sites). For always-on requirements, issue four accounts so the customer can connect from two of their sites to two SSG sites.

Configuration

TabPurpose
MainCustomer, credentials, service, bind/submit
ParametersRate, versions, source address, validity
TLVsTLV ignore / remove / require
SecurityAllowed IPs, TLS, bind-from time
Rules / BlockingAccount rules and content lists
WebhooksMessage sink, MO and DLR HTTP callbacks
ReportingMO and MT volume for the account
MO SMSInbound numbers and patterns routed here
CUGClosed user group MSISDNs
Source addressesPermitted source addresses
RoutingCoverage for the account's service
txtConsoleLogin, broadcast and campaign activity
OtherOptions JSON and master Enabled

Main

FieldDescription
CustomerCustomer this account belongs to. Fixed after save
NameDisplay name
Short nameShort label used in widgets and diagrams
System IDAssigned on create. Read-only; contact Support to customise
PasswordUp to 8 characters. Use the eye icon to show it, or Regenerate Password on the row
System TypeSMPP system_type
Address RangeRead-only
ServiceService that supplies pricing and routing
Binding enabledOff: bind attempts are rejected
Submit enabledOff: binds may stay up but submits are rejected (Dashboard left-hand circle)
Use CUGCustomer can send only to MSISDNs on the CUG tab
MonitorShow this account on the Dashboard

Bind status is a grid of TRX / TX / RX by site (US, BR, UK, DE, SG, AU). Green means a bind of that type is up at that site.

Parameters

FieldDescription
Default character setDefault DCS / charset
SMPP version default / minimumNegotiated SMPP version
Maximum bindsMaximum concurrent binds
Max. Scheduled Delivery (mins)How far ahead a scheduled submit may be (0–10080)
Default source addressUsed by txtConsole, and when the customer submits an empty or unacceptable source address
Use srcaddr listSubmissions must use a source address on the Source addresses tab
Reject srcaddrReject the submit if the source address is not on that list
Submit limit (TPS)Allowed submit rate. For txtConsole use at least 500 (txtConsole submits in bursts, not a constant 500 TPS)
EnquireLink Interval (s)Idle time before the platform sends enquire_link. Set 0 to stop the SSG sending enquire_link to the customer
PDU response timeout (s)10–300
DeliverSM windowWindow for deliver_sm (receipts and MO). Set this greater than or equal to Submit limit (TPS)
Default Validity Period / Max. Validity Period (mins)Default and maximum validity (0–10080 minutes)

TLVs

FieldDescription
Ignore TLVsTLVs are not interpreted
Remove TLVsTLVs are stripped before the message is sent to the supplier. Required TLVs are kept
Required TLVsDecimal tag values in { } that must be present on submit_sm, otherwise the message is rejected. Example: {5120,5121}

Security

Allowed IP(s) — if set, binds are accepted only from these addresses. Enter them in { } brackets, for example {194.247.82.100,194.247.82.105}.

If Allowed IPs are set, the Webhooks tab warns that MO / DLR HTTP callbacks may not be reached.

Enforce TLS — the customer must bind with SMPP over TLS (port 8775).

Binding allowed from — date and time before which binds are rejected.

Rules / Blocking

Rules — rules applied to each submit_sm, in the order shown. See Rules.

Blocking — content lists. A match rejects the message. Lists are defined in Configuration > Firewall > Message content. See Firewall.

Webhooks

Three nested tabs. Each JSON field shows valid / invalid, and has Format and Remove.

If Allowed IP(s) are set, a warning is shown on the MO and DLR tabs.

Message sink (JSON)

Copies each MT submit_sm to a URL.

{"url":"https://connect.signl4.com/webhook/xyz"}

MO webhook (JSON)

Sends each inbound deliver_sm as JSON.

{
  "url":"https://abc.customer.com/sms/api/v1/published/receivesms",
  "source_address":"from",
  "destination_addr":"to",
  "short_message":"body",
  "headers":[
    {
      "authorization": "Basic ABCDEF12346567890="
    }
  ]
}
FieldDescription
urlDestination URL
source_addressJSON field for the source MSISDN
destination_addrJSON field for the destination
short_messageJSON field for the message body
headersOptional extra request headers

Example request:

{
  "from":"447700777888",
  "to":"447700111222",
  "body":"Hello world"
}

To forward an MO to email, use the Management API notify URL. Replace the placeholders and URL-encode them. API keys are created in Configuration > Company > User access (manager role).

{
  "url":"https://ssg-portal.melroselabs.com/mgt/notify/?key=[APIKEY]&emailTo=[EMAILTO]&emailFrom=[EMAILFROM]&subject=[SUBJECT]",
  "source_address":"from",
  "destination_addr":"to",
  "short_message":"body"
}

emailFrom must be an authorised sender address for your instance.

DLR webhook (JSON)

Sends each delivery receipt as JSON.

{
  "url":"https://bigcorp123.com/smstest/api/v1/deliveryreceiptsms",
  "source_address":"to",
  "destination_addr":"from",
  "msgid":"sid",
  "status_txt":"status",
  "status_num":"statusn",
  "error_num":"errorn",
  "completion_ts":"ts",
  "headers":[
    {
      "authorization": "Basic cFhyb31lc2lzOjdIRyglOjk4N2hD",
      "apikey": "aebdadef-12321-493213210-23-2321afdab"
    }
  ]
}
FieldDescription
urlDestination URL
source_addressDestination MSISDN the DLR relates to
destination_addrOriginal source address
msgidMessage ID returned on submit
status_txtdelivered, pending or undelivered
status_numSMPP DLR status number
error_numSMPP network error
completion_tsTime the message reached a completion state
headersOptional extra request headers

Example request:

{
  "to":"447700111222",
  "from":"447700222333",
  "sid":"00000010-00000000279178de",
  "status":"delivered",
  "statusn":2,
  "errorn":0,
  "ts":"2024-08-12T13:07:49.000000+00:00"
}

Reporting

MO and MT volume for this account. Instance-wide reports are in Reports.

MO SMS

Inbound numbers and content patterns routed to this account. Manage them in Routing > Inbound SMS.

CUG

Closed user group MSISDNs. When Use CUG is on, the customer can send only to these numbers (useful for trials).

Source addresses

Permitted source addresses (TON, NPI, address). Used with Use srcaddr list and Reject srcaddr on Parameters.

Routing

Coverage and costs for the service on this account. The same view is in Status > Routing. Check a single destination in Routing > Analyser.

txtConsole

Most recent 100 records of txtConsole activity for this account: Login events, Broadcast usage, Campaign usage.

Other

Options (JSON) — advanced per-account flags. The field validates JSON and has Format. Supported keys:

KeyTypeDescription
pass_thru_concatsbooleanPass concatenated message parts through
useMSISDNLookupbooleanUse MSISDN lookup
useDLRAbsoluteTimebooleanLong timestamps in the DLR short-message submit and done fields (for example 250228142456000+ instead of 2502281424)
use_dnd_listbooleanApply the instance DND list to this account
stripScheduleDeliveryTimebooleanStrip scheduled delivery time
priority_queuenumberHigher values are submitted before lower ones

Example: {"pass_thru_concats":true,"priority_queue":5,"use_dnd_list":true}

Record created is read-only.

Enabled — do not use this to turn an account off. Use Binding enabled and Submit enabled on Main. Existing binds are not dropped when Enabled is cleared.

Archive an SMPP account

Use Archive only when the account is no longer required. New binds are rejected and submission stops. The account is removed from the rest of the portal.

Archiving the customer archives all of that customer's SMPP accounts.


Did this page help you?