SMPP

We support SMPP version 3.4, the industry standard protocol for SMS communication. Our setup offers redundant connectivity with one endpoint pointing to two different locations.

Connect

To connect, you need the following:

Parameter

Value

system_id

Individual per account

password

Individual per account

hosts

smpp-dk1.inmobile.dk
smpp-dk2.inmobile.dk

harbour

2775 (ssl is required for all connections - no support for non-ssl)

ConnectionMode

Individual per account

Please contact us at [email protected] to get an SMPP system ID.

Encryption via SSL/TLS

As previously mentioned, all communication must take place via encrypted connections. To achieve this, it is necessary for the applications to retrieve and use the certificate used at https://mm.inmobile.dk (This is a wildcard certificate for *.inmobile.dk).

Supported message types

  • bind_transmitter
  • bind_receiver
  • bind_transceiver
  • unbind
  • submit_sm
  • deliver_sm
  • enquire_link

DataCodings

Data coding

Hex value

Binary encoding

Default

0x0

GSM7

Default Class 0

0x10

GSM7

UCS2

0x8

UTF-16 (big endian byte order)

UCS2 Class 0

0x18

UTF-16 (big endian byte order)

Data encodings are mapped to binary encodings according to the table above, e.g. when using data encoding UCS2, the binary data must be UTF-16 encoded. In some programming languages, such as C#, this is known as "Big endian unicode". UCS2 is a subset of UTF-16, so using UCS2 specifically on the client side will also work fine.

Delivery reporting

The error code in this example (005) is the absolute value of the message status code "-5" defined here:

Example of our delivery reporting:

id:ble50673-f8b8-41e8-a143-07a43bb8c86b sub:001 dlvrd:000 submit date:1911121314 done date:1911121314 stat:EXPIRED err:005

Status code

Description

001

Undeliverable message

002

Msisdn blacklisted by operator

003

Invalid mobile number

004

Country not available

005

Delivery timeout

006

Not delivered removed from gateway

008

Insufficient funds

009

Authorise failed

010

Capture failed

011

Overcharge donation limit exceeded

012

Overcharge type not activated

013

Overcharge settings not valid

014

Sender name blocked

015

Route not available

016

Refund not available

017

Refund not possible for message

018

Refund failed

019

Refund not possible for pending message

020

Refund not possible for failed message

021

Refund failed already refunded

022

Delivery timeout before sent

023

Message queue full at operator

080

Imported from other system

099

Submit failed

100

Communication error

101

Unknown id

102

Cancelled

103

Unknown error processing message

104

Unknown id at operator

105

Msisdn blacklisted on account

106

Mobile number cooldown

201

Suspicious sms content

202

Account deactivated

300

Pdu sequence incomplete

301

Pdu sequence invalid

Incoming messages

To receive "deliver_sm" or incoming messages via SMPP, log in to your inMobile account and set up PDU forwarding to your "system_id".

Contact support for further help with the setup.

Limitations

The "source_addr" parameter has a maximum length of 15 characters. If the "source_addr" parameter exceeds this length, everything after the 15th character will be ignored.

Support for time-shifted or delayed delivery is not available and the message will therefore be treated as an instant message.

Maintenance

SMPP is an asynchronous protocol, which means that multiple requests and responses can be transmitted simultaneously. To prevent data loss during maintenance or updates of our SMPP server, we have implemented measures to ensure a controlled shutdown and restart.

Upon a system restart of an SMPP server, any new submitSm message will be rejected with the ESME_RSUBMITFAIL response and clients will receive an unbind message. Immediately afterwards, the connection will be cancelled. If a client tries to reconnect just as the server is about to restart, the reconnection attempt will be rejected with a generic ESME_RBINDFAIL response.

A typical SMPP server reboot lasts a few minutes.