SMSC SMPP 3.4

Introduction

Sergel has been a SMS distributor since 2010 and has much experience in working with both operators and connection aggregators. This platform is designed to handle large traffic volumes, maintain a high availability, and make it easy to route traffic via multiple connections.

 

This is document describes the SMPP interface to the SMSC-platform and which parameters and commands that are required and which parameters are supported.

 

This document will not handle specific use cases as concatenated messages, WAP-push, Flash SMS, etc. More information about those cases can be provided by contacting support.

Supported commands

Sergel server should be treated as SMPP 3.4. The official specification can be found at https://smpp.org/SMPP_v3_4_Issue1_2.pdf.

All methods are not supported, and all differences are specified below.

Bind

The following bind commands are supported.

 

  • Transmitter

  • Transciever

  • Receiver

 

Required parameters:

 

  • system_id – obtained from support

  • password – obtained from support

 

Optional parameters:

  • addr_ton – default value if TON is set to Unknown during submit.

  • addr_npi – default value if NPI is set to Unknown during submit.

 

Unsupported parameters:

address_range

Unbind

The unbind command is supported.

Enquire link

The enquire link command is supported and should be called every 60 seconds.

Submit

The submit method should be used for delivering messages.

Required parameters:

  • source_addr_ton

  • source_addr_npi

  • source_addr

  • dest_addr_ton

  • dest_addr_npi

  • dest_addr

  • esm_class

  • data_coding

  • sm_length

  • short_message

 

Unsupported parameters:

  • service_type

  • protocol_id

  • priority_flag

  • schedule_delivery_time

  • replace_if_present_flag

  • sm_default_msg_id

 

Note that the payload tag is not supported and only one SMS may be delivered per call and it is recommended that the validity_period tag has a value of 15 minutes long at least.

Recommended TON and NPI

The following TON and NPI should be used when sending messages using submit command.

Source

The following TON and NPI combinations are supported for source address. All other combinations will be treated as invalid. The default TON from bind command will be used if TON is set to Unknown (0). The default NPI from bind command will be used if NPI is set to Unknown (0).

 

TON

NPI

Description

Alphanumeric (5)

Unknown (0)

ISDN (1)

Will be treated as Alphanumeric sender text

International (1)

Unknown (0)

ISDN (1)

Will be treated as MSISDN

National (2)

Network specific (3)

Subscriber number (4)

Abbreviated (6)

Unknown (0)

ISDN (1)

National (8)

Will be treated as country specific short number.

Destination

The following TON and NPI combinations are supported for destination address. All other combinations will be treated as invalid. The default TON from bind command will be used if TON is set to Unknown (0). The default NPI from bind command will be used if NPI is set to Unknown (0).

 

TON

NPI

Description

International (1)

Unknown (0)

ISDN (1)

Will be treated as MSISDN

Supported encodings

The following encodings are supported. X may contain any value.

DCS

Encoding

0xX0

Default GSM Alphabet with extension

0xX2

8-bit binary

0xX8

UCS2 (ISO-10646-UCS-2)

 

Configurations

Window size, we use 20 as a default but can go higher depending on your use case.

SMPP sessions, we use 20 as a default but can go higher depending on your use case.

Delivery reports

Only none or final delivery with successful/failure result are supported.

Format on delivery report:

id: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx done date: yyMMddHHmm stat: <status>

Available values in status:

  • DELIVRD

  • EXPIRED

  • REJECTD

  • UNDELIV

  • DELETED

 

smpp1.sp247.net -> 195.84.162.51

smpp2.sp247.net -> 194.71.165.102

smpp3.sp247.net -> 195.84.162.53

smpp4.sp247.net -> 194.71.165.105

Supported TLS versions

From 2020-11-15 will TLS 1.2 or higher be required for all TLS connections.

At the same time support for TLS 1.0 and 1.1 will be discontinued. Versions 1.0 and 1.1 of TLS are older protocols that have been deprecated and are considered as security risks in the Internet community.

Sergel strongly recommend to use TLS if unencrypted connections are being used today. HTTP is deprecated as of 2020-09-01 by Sergel.

Connections towards the SMPP server for TLS is at port 3601 instead of unencrypted at port 3600.

You may still use TLS even if your SMPP implementation doesn't support TLS using stunnel, see stunnel