An SMPP Connect is your platform’s bind to an upstream operator or vendor. Every route you build sends traffic through one or more connects, so the settings on a connect affect cost, throughput, sender ID handling and DLR accuracy for every client on those routes.
Before you start
Collect these from your vendor in writing:
- SMSC IP, TX/TRX port and RX port (if separate)
- System ID, password and system type
- Allotted TPS and number of sessions (TRX/TX and RX)
- Billing basis: on submit or on delivery
- Required TON/NPI values, sender ID rules and (for India) DLT tag requirements
- Their error code list (for mapping; see How to Map Vendor Error Codes to Global Error Codes)
Also create the vendor under Vendors (Name + HTTP API URL) first, so you can pick it in the connect’s Error Code Map (Vendor) field.
Where to find it
Sidebar → SMPP Client → Connects → click Add.
Basic tab
| Field | What to enter |
|---|---|
| Connect Name | Unique, alphanumeric, underscores allowed, no spaces, e.g. VendorA_TRANS_01 |
| Description | Route purpose, e.g. “Vendor A – transactional India” |
| Billing Method | SUBMIT or DELIVERED, matching how the vendor bills you |
| Account Type | TRANSACTIONAL (24×7) or PROMOTIONAL (restricted sending window) |
| Error Code Map (Vendor) | The vendor whose error mapping applies to this connect |
| Price Map | The vendor pricing plan used for cost tracking |
| Cost/Rate | Your per-message cost on this connect |
| Status | ENABLED, DISABLED or DELETED |
Connection tab
| Field | Notes |
|---|---|
| SMSC/Vendor IP | The vendor’s SMPP server address |
| System Id/Username, Password, System Type | Exactly as issued by the vendor |
| Outgoing Setup | Which of your servers opens the bind (Localhost or a remote server). Use the one whose IP the vendor has whitelisted |
| TPS | The vendor’s allotted throughput. Never set this higher than agreed; vendors throttle or disconnect |
| Bind/Connect Mode | TRX (one transceiver bind) or TX and RX (separate transmitter/receiver) |
| TR/TRX Port, TR/TRX Sessions | Port and session count for TX/TRX |
| RX Port, RX Sessions | Only for TX + RX mode |
TON/NPI tab
Set dest_addr_ton/npi, alpha_source_addr_ton/npi and numeric_source_addr_ton/npi as the vendor specifies. -1 leaves the value unset. Wrong TON/NPI is a common cause of alphanumeric sender IDs being replaced or messages being rejected. See What is TON and NPI in SMPP?
Sender ID tab
- Operator Prefix: a prefix added to sender IDs, e.g.
BH-. - SenderId Type:
DYNAMIC: pass through the client’s sender IDFIXED: always use the fixed listONLY_APPROVED: only approved sender IDs are allowedAPPROVED_FAILOVER_FIXED: use the approved sender ID, and fall back to the fixed list if it isn’t approved
- Fixed Sender Id List: one per line; used when no sender ID is passed.
Delivery Report tab
Set the vendor’s DLR time zone, whether to modify the time zone or override delivery time, message validity support, and the date format (yyMMddHHmmss or yyMMddHHmm). Getting these right makes delivery timestamps in your clients’ reports accurate.
DLT tab (India)
- DLT Enable, DLT Telemarketer ID
- Send DLT Template ID: Yes, if the vendor expects the template ID on submit
- Reject Non DLT Template Message: Yes rejects messages where no DLT template ID is found
- The Entity ID, Template ID and Telemarketer ID tags are read-only; they show which TLVs carry these values
Click Submit to create the connect.
Bringing the connect online
- Edit the new connect and set it to Enabled.
- In the Connection manager for that connect, run reload/reconfigure.
- Confirm the Sessions column shows the expected number of connected sessions.
- Go to System → Controls → SMPP Client and Stop, then Start, the Connect Manager so a queue is created for the new connect.
- Send test messages through a test route before adding the connect to any client route.
Common mistakes
- Billing Method doesn’t match the vendor contract: your margin reports will be wrong from day one.
- TPS set above allocation: causes throttling errors and queue build-up on your side.
- Outgoing Setup on a server the vendor hasn’t whitelisted: the bind never comes up.
- No error mapping for the vendor: clients receive
UNDEFINEDstatuses.
Related articles
- What should I do after adding a new connect/operator?
- What steps to follow after changing TPS
- How to Create a Route and Choose a Distribution Strategy
- SMPP Connect Extra Attributes: Advanced Bind Tuning
- TON and NPI in SMPP
