Wavix customers can connect to our SMPP gateway to send and receive SMS messages and delivery reports (DLRs). Wavix supports SMPP protocol version 3.4.
SMPP bind parameters
You can connect to Wavix SMPP host using the following parameters:
| Parameter | Mandatory | Description |
|---|
| system_id | Yes | Your SMPP connection username |
| password | Yes | Your SMPP connection password |
| host/IP address | Yes | Always use smpp.wavix.net |
| port | Yes | Use 11337 as the primary port. Use 11338 for the encrypted SSL/TLS endpoint. |
The length of the password required depends on your SMPP library rather than the SMPP v3.4 protocol itself. It is advised to use a library that enables a setup with a password length greater than 8 characters.
IP restrictions
Access to the Wavix SMPP service is limited to pre-registered IP addresses. Be sure to share your IPs in advance to ensure access.
Supported PDUs
Wavix supports the following PDUs:
bind_transmitter
bind_receiver
bind_transceiver
unbind
submit_sm
deliver_sm
enquire_link
generic_nack
Each request to our system gets an acknowledgment, as defined in the SMPP v3.4 standard.
Submitting messages via SMPP
Submit messages using the submit_sm PDU, and include content in either the short_message or message_payload field.
If the request is successful, Wavix returns the submit_sm_resp with a success status (ESME_ROK) and a non-null message ID.
If the request fails, the response includes an error code.
Character sets, message class, and data coding
Wavix supports the following data coding schemes:
- GSM 03.38 (default). To use GSM 03.38 encoding, set
data_coding to 0.
- Unicode. To use UCS2 encoding, set
data_coding to 0x08. The message is expected in UTF-16 Big Endian format.
Message originators and destination
Set the source_addr_ton and source_addr_npi fields based on your Sender ID type:
- Alphanumeric: set the
source_addr_ton to 5 and source_addr_npi to 0
- Numeric: set the
source_addr_ton to 1 and source_addr_npi to 1
The destination phone number must be in international E.164 format. Set the dest_addr_ton and dest_addr_npi fields to 1.
Concatenated messages
You can send messages longer than 160 characters (GSM 03.38) or 70 characters (UCS2). Such messages are automatically concatenated and appear as a single message on the recipient’s device.
To send long messages, use one of these supported methods:
- Use the
message_payload field of the submit_sm PDU. Recommended method.
- Use optional
sar_msg_ref_num, sar_segment_seqnum, and sar_total_segments TLVs of the submit_sm PDU.
- Use a UDH for concatenation with 8-bit or 16-bit reference numbers and set
esm_class to 0x40.
Delivery reports
Delivery reports are sent in the short_message field of the deliver_sm PDU.
Each delivery report includes these TLVs:
receipted_message_id – the message ID assigned by Wavix.
message_state – the current status of the message delivery.
user_message_reference – A message reference number set by the customer, if included in the submit_sm request.
network_error_code – A Wavix-specific error code, provided only when message_state is REJECTD.
id:{message_id} sub:{message_sub} dlvrd:{message_dlvrd} submit date:{message_submit_date} done date:{message_done_date} stat:{message_stat} err:{message_err}
Delivery statuses
The delivery report can show one of the following message statuses:
| Status | Description |
|---|
ENROUTE | Submitted for delivery (interim) |
DELIVRD | Successfully delivered (final) |
UNDELIV | Couldn’t be delivered (final) |
REJECTD | Rejected by a carrier, mobile device, or Wavix (final) |
EXPIRED | Message validity period has expired (final) |
Wavix-specific error codes
To help you troubleshoot your SMPP transaction, here’s what each error code means.
Throughput and throttling
By default, each account is limited to 20 requests per second (RPS).
We recommend setting the SMPP window size (maximum number of open requests) to 10 for optimal performance.
Enquire link
To maintain a stable connection, send the enquire_link request every 30 seconds.