SMS Gateway with Instant Settlement

This website (www.codeb.io) mainly focuses on Automation API ‘s for Identities and Settlement.

As every node in our chain contains an inbuilt SMPP v3.4/5.0 compliant SMS Gateway we are going to use this gateway for a real life showcase of instant SMS Settlement. It is also a great solution for SMS Hubbing.

The gateway does not work with traditional Usernames/Passwords but uses a Self-Sovereign Identity as Authenticator. Below you find the steps on how to use the SMS Gateway.

Create Blockchain Account

As a first step you need to create a blockchain account. This can be done in your mobile wallet, your own node or simply with the functions explained on: https://blog.codeb.io/key-management/

Once you created the Account you can contact us so we top up your account with some credits for testing.

Create Self-Sovereign Identity

To be able to use the SMS Gateway you need a Self-Sovereign identity dedicated to hold required funds, store logfiles, etc. You can create a dedicated Self-Sovereign Identity as explained on: https://blog.codeb.io/self-sovereign-identity-ssi/

Give SMS Gateway Permission to debit funds from Self-Sovereign Identity

Obviously nobody wants to give anyone permission to debit any funds from a main blockchain wallet. For this reason you created the dedicated Self-Sovereign Identity. It will hold the funds required for sending SMS. But the SMS Gateway needs permission to debit the settlements automatically. In order to do so you need to register our SMS Gateway ID (0x43c705a3c3a6a1659c54ad9c003cd622ca857be3) with the function AddKeyHash2Identity as explained in: https://blog.codeb.io/self-sovereign-identity-ssi/ (Purpose: 11, KeyType: 1)

Transfer Funds to Self-Sovereign Identity

The SMS Gateway requires as username the blockchain address of your SSI. Only if the SSI has added the SMS Gateways address as Purpose 11 and only if it holds funds the Gateway allows you to connect. (Note: You can configure additional security parameters such as password, IP, etc.).

This means that you need to transfer now some funds (for example with function: Transfer Token) from your main wallet to the SSI as explained in the settlement namespace.

Set SMPP Password

There are two ways of connecting to the the SMPP Gateway:

  1. You have set the password in your Self-Sovereign Identity. To do so kindly use the the command SetPassword from the SMS Namespace. You can then send the SMS with: SendSMS as it is used by the server based wallet https://ssi.codeb.io to send SMS.
  2. You do not set the password but use as password the digitally signed SMS to be submitted. For example with: SendSMSSigned as it is used by the mobile wallet https://coin.codeb.io to send SMS

Send SMS

Now you are set to send SMS. You can either connect via SMPP and port 2775 (your username is the address of the SSI).

To make “testing life” easier we created a very simple SMS Send function on: https://coin.codeb.io/sms.asmx

Every mobile device owns a Self-Sovereign Identity by default

Our system automatically assigns a Self-Sovereign Identity to every mobile device. For SMS Aggregators this might be useful in case it is planned to pay back SMS Advert recipients some of the collected fees.

Note

Ideally you contact us in case you are intending to test this. Not only that it is useful that we assist you but also we might have to whitelist your IP for the SMPP port or have to add your country rules.

SMS Sent to numbers starting with: 4711 are treated like real SMS with the price of 0.0123 but will not forwarded to the recipient.