Telia primary default v2

v1.1, 2024-10-17

Revisions

Version Date Changes

v1.0

2024-09-18

First version

v1.1

2024-10-17

Updated TLS documentation for SMPP

1. Introduction

1.1. Audience

This document is intended for developers who are implementing messaging services. It provides detailed technical information necessary for successfully integrating an IT application with the messaging infrastructure provided by Telia.

The document assumes a thorough understanding of the GSM/UMTS Short Message Service (SMS) architecture.

Additionally, users should be familiar with the Bulk Messaging agreement.

1.2. Service overview

Telia Bulk Messaging consists of several different services and offerings. Below you will find a description of all the services.

1.2.1. Bulk SMS

Bulk SMS is a service that offers the customer a connection to the Bulk Messaging Platform of Telia for sending and receiving SMS messages via a technical interface (API). The messages can be sent to mobile terminals connected to the SMS central in the mobile networks of Telia via a SMS access number. The service supports receipt of messages sent to an access number only from mobile terminals connected to the mobile network and SMS central of Telia.

1.2.2. SMS Long Number

A virtual mobile number used for receiving SMS messages sent from mobile terminals. Together with the Bulk SMS service for sending messages, this enables two-way SMS messaging. This service supports receiving SMS messages sent from end user terminals with a subscription from all mobile operator that Telia has an SMS interconnect agreement with.

1.2.3. Sender ID Protection

The SenderID Protection service makes sure an SMS with a specific senderID/Originating Address (OA) only can be sent from a predefined list of access number(s). Purpose is to avoid misuse (spoofing) of senderID/OA. If the senderID/OA originates from an access number not on the list, Telia will block the message and return an error code.

Each protected senderID/OA will also have a blacklist of alias/look-alike senderIDs. If a message uses a blacklisted senderID, the API will return OK, but the message will be blocked and charged. The invoice will have a separate line for blacklisted messages.

1.2.4. RBM

RBM (RCS Business Messaging) is a messaging service provided by Google that enables businesses to communicate with end users using RCS messages. The messaging service features several capabilities like: Verified SenderID (name and logo), photo, video, chat, buttons, usage statistics and more for branded, interactive mobile end user experiences.

The RBM product sold by Telia is based on the Messages app from Google (or other messaging apps supported by Google) and the Jibe back-end platform from Google. The product charges communication with end users in the Telia mobile network in the country that is covered by the Telia Bulk Messaging agreement signed.

Link to the Google website with service description and detailed functional and technical documentation of the RBM service:

https://developers.google.com/business-communications/rcs-business-messaging

Technical support inquiries shall be directed to Google, not to the Telia Bulk Messaging Support.

2. Getting started

2.1. Sign Bulk Messaging agreement with Telia

This agreement is offered uniquely for each Telia country meaning you must sign a separate agrement with Telia in the country you would like to send SMS messages to. You can get in contact with the person signing the agreement from Telia by contacting the Telia Bulk Messaging Support team. The contact details are found in the Bulk Messaging agreement Appendix 2 - Contact information and ordering process document. These documents can be downloaded from the Bulk Messaging Web portal: https://messaging.teliacompany.com/documents.

2.2. Order service

Send the documents "General customer form" and "Technical information form" filled with the relevant information to the Bulk Messaging Support team to be set up as a customer. These documents can be downloaded from the Bulk Messaging Web portal: https://messaging.teliacompany.com/documents.

2.3. Welcome e-mail

Receive the welcome e-mail from the Bulk Messaging Support team with instructions on how to log in to the Telia Bulk Messaging Web portal. This is sent to the commercial contact person of the customer signing the Bulk Messaging agreement.

2.4. Update login credentials

Log in to the portal with the credentials provided to the Commercial contact. To create API credentials, the user must have an Administrator or Technical user role assigned. Administrators can create users and assign roles. It is recommended to create at least one Administrator and Technical user.

2.5. Update contact information

Log in to the Web portal and create communication contacts that will be informed by Telia in relevant situations according to the contact type.

You are now ready to order one or several of the Telia Bulk Messaging services listed in the Bulk Messaging agreement appendix 3 Product Summary.

3. API Reference

Telia provides several APIs to send and receive SMS and RCS messages. Google RCS Business Messaging APIs are used to send and receive RCS messages. Documentation of RCS APIs can be found on Google RCS Business Messaging site here: https://developers.google.com/business-communications/rcs-business-messaging.

SMS APIs are provided by Telia Company and this document will provide information on how to get access and use these APIs. Telia Company Bulk Messaging platform provdides the following APIs for sending and receiving SMS:

  • SMS REST API for sending SMS

  • SMS REST Callback API for receiving SMS and delivery reports

  • SMPP API for sending and receiving SMS and delivery reports

There are three prerequisties that must be in place before start using Telia Company Bulk Messaging SMS APIs:

  • Signed Bulk Messaging Agreement (more information here)

  • User with access to Telia Company Business Messaging Web Portal

  • Active SMS service

3.1. Telia Company Bulk Messaging Web Portal

The Telia Company Bulk Messaging Web portal is a self-service portal where customers can create users, API credentials and get access to statistics, reports and related information.

To enable API access customer need to sign in as a user with administrator or technical user role. This will allow user to access product page with functionality to select API protocol and create API credentials.

3.2. Create API credentials

To create an API user customer first need to sign in as a user with an administrator or technical role assigned. After sign-in, click on the SMS product of choice under "Provisioning" sub-section. This section will give access to multiple sub pages like company information, users, contracts, services and communication:

cpa web provisioning

Select Services section and click on selected service. Under the selected service you will have the option to select protocol and create API credentials under "Technical Configuration" section. For REST Callback API customer can also provide callback address and credentials for the callback API.

3.3. Select protocol

Both SMPP and REST API protocols support sending and receiving SMS messages. REST API is recommended for new integrations as it is easier to use. SMPP is recommended for high volume messaging and for customers that already have SMPP integration in place.

3.4. Addressing

Each SMS API has its own set of guidelines on how to format addresses in SMS messages. The following section provides common guidelines which is valid for all APIs.

3.4.1. Phone numbers

Mobile subscribers are identified using MSISDN number (e.g. +4712345678) matching E.164 numbering plan. MSISDN can be maximum 15 digits long including country code. Not all APIs require country code to be included in the MSISDN. Please refer to addressing sections for each API for more information.

3.4.2. Access numbers

Access numbers (or short numbers) are typically 4-digit or 5-digit numbers used for sending SMS messages. They are typically used for sending SMS messages to mobile subscribers and will be displayed as the originating address on the handset. If SMS service is associated with access number, then mobile subscribers can reply to the SMS messages. Access numbers are formatted without + prefix and country code.

3.4.3. Alphanumeric

SMS can have an alphanumeric Sender ID. Alphanumeric Sender ID is formatted as text as it will appear on handset. Alphanumeric addresses can be maximum 11 characters long. It can contain letters (A-Z), digits (0-9) and special characters part of GSM7 character set. However, spaces or special characters may not be supported by all carriers and handsets and must be tested prior sending batches of messages.

SMS messages with an alphanumeric Sender ID cannot be replied to in the same way as those with access numbers. Additionally, some Sender IDs are reserved and cannot be used without an authorization from the brand using the SenderID. Trademarks and company names can also be reserved using the Sender ID Protection product. SMS messages with such alphanumeric addresses will not be delivered to recipients.

3.4.4. Sub-numbers

A sub-number is a customer-defined number that is appended to an access number. It is used for enhanced message routing and tracking of messages. Use cases include SMS conversations, order tracking, and other personalized messaging.

Sub-numbers are currently supported only for Norwegian SMS services. Sub-numbers in Norway must be excatly 9-digits to avoid conflicts in the national numbering plan. Sub-numbers are supported for 4-digit and 5-digit acceess numbers.

Examples for sub-number 987654321:

4-digit (1989)

1989987654321

5-digit (12345)

12345987654321

3.4.4.1. Addressing policies

Each service on Telia Bulk Messaging Platform has defined rules for what is allowed to use in Sender ID field of a SMS. There are currently two categories:

All

No restrictions except reserved Sender IDs (trade marks, company names etc.)

Restricted

Only allowed to use associated access number for SMS service for Sender ID

Please contact Telia Company Bulk Messaging Support if you have questions regarding addressing policies and what is currently configured for your product.

3.5. SMS REST API

This guide describes the updated REST API which will be launched September/October 2024. If you are using older version of the API, you will still find the documentation in the Bulk Messaging Web Portal.

The REST APIs has operations for sending SMS and receiving SMS and delivery reports. The SMS REST API is actually two different APIs:

  • SMS API

  • SMS Callback API

SMS API is for sending SMS. SMS Callback API is used for receiving callbacks from Telia Company Bulk Messaging Platform. This is used for delivery reports and mobile originated SMS. To receive SMS and delivery reports the customer is required to implement SMS Callback API for receiving callbacks from Telia Company Bulk Messaging Platform. The REST Callback API service implementation must match Open API specification that Telia Company provides.

All REST APIs are documented using industry standard Open API specification (https://www.openapis.org). The specifications are hosted on Telia Company Bulk Messaging Portal under the Documents section: https://messaging.teliacompany.com/documents.

3.5.1. Base URL

Complete URLs are specified in Open API specification. Base URL for all REST APIs are:

https://api.messaging.teliacompany.com/sms/rest/v2

3.5.2. Authentication

Create your credentials in Telia Bulk Messaging web portal as described in Update login credentials.

REST API use HTTP basic authentication. Here is an example sending a minimal "Hello World" message using cURL command line tool:

curl -X POST \
    -H "Authorization: Basic dXNlcjpwYXNzd29yZAo=" \
    -H "Content-Type: application/json" \
    -d ' \
    {
        "cref": "47aaf1fd-0910-4a69-bc64-affe49df9dfb",
        "to": "+4712345678",
        "from": "12345",
        "message": "Hello World"
    }' \
    "https://api.messaging.teliacompany.com/sms/rest/v2/messages

3.5.3. Formatting and conventions

REST API supports JSON (application/json) content type in all requests and responses. The following guidelines must be followed when integration towards SMS REST API.

3.5.3.1. Addressing

Each country has its own national numbering plan. But all countries share same formatting guidelines in the REST API. Please refer to the following sections for more information on addressing in SMS REST API.

Phone numbers

Mobile subscribers are identified using MSISDN number (e.g. +4712345678). All MSISDN numbers are required to be formatted with + prefix and country code matching E.164 numbering plan. Examples:

Swedish number

+46123456789

Norwegian number

+4712345678

Lithuanian number

+37012345678

Access numbers

Access numbers (or short numbers) are formatted without country code. They are typically 5 digits, but that may vary between countries and SMS services. Examples:

5-digit access number

12345

4-digit access number

1984

EU harmonized 6-digit access number

116000

It is recommended not to apply country code and + prefix to access numbers. Adding country code to access numbers may result in errors when sending SMS messages.

Alphanumeric

Alphanumeric Sender ID is formatted as text as it will appear on handset. Please refer to Addressing section for more information on alphanumeric addressing.

Sub-numbers

Sub-numbers are currently supported only for Norwegian SMS services. Sub-numbers are formatted as access numbers without country code.

Sub-numbers in Norway must be excatly 9-digits to avoid conflicts in the national numbering plan. Sub-numbers are supported for 4-digit and 5-digit acceess numbers. Examples for sub-number 987654321:

4-digit (1989)

1989987654321

5-digit (12345)

12345987654321

3.5.3.2. Timestamps

All timestamps are formatted using ISO-8601 standard. Example: 2024-07-01T14:00:00.000Z.

Timestamps can use any timezone or offset, but local offset or UTC timezone is recommended. Callbacks from SMS Callback API can also use any timezone or offset, but will typically use UTC timezone.

3.5.3.3. Empty values and fields

Fields which are optional can be omitted from requests and responses. Client should not send null for empty fields in requests.

3.5.4. Operations

SMS REST API has two operations:

Submit SMS message (MT)

Send SMS messages to mobile subscribers

Submit SMS content (MT)

Sends SMS messages with full control over content (advanced usage)

SMS REST Callback API has two operations

Receive SMS (MO)

Receive SMS messages from mobile subscribers

Receive delivery report (DLR)

Receive delivery reports for sent SMS messages

MT, MO and DLR are abbrevations for Mobile Terminated, Mobile Originated and Delivery Report. Abbrevations indicate message type and direction of message.

Submit SMS message is used to send SMS messages to mobile subscribers. Submit SMS content is used to send SMS messages with content that is not plain text. Receive SMS is used to receive SMS messages from mobile subscribers. Receive delivery report is used to receive delivery reports for sent SMS messages.

3.5.4.1. Submit SMS message

Submit SMS message is used to send SMS messages to mobile subscribers. Submit SMS requests are sent as HTTP POST to ~/messages endpoint. This operation is recommended for sending simple text messages. If you need to send messages with custom content and UDH headers, please use Submit SMS content operation.

For detailed description on each field, please refer to Open API specification.

Minimal example

The following REST API request illustrates a minimum submit message sent from access number 12345 to mobile subscriber identity +4712345678

{
  "cref": "47aaf1fd-0910-4a69-bc64-affe49df9dfb",
  "to": "+4712345678",
  "from": "12345",
  "message": "Hello World"
}
Send SMS message with more than 140 bytes

Long text messages can be sent the same way as short messages. The message will be split into multiple segments automatcially and sent as separate SMS messages. The message will be concatenated on the handset. The maximum number of segments varies between SMSCs and operators. SMS Bulk Messaging API accepts up to 16 segments. The maximum number of characters in a segment is 153 if using GSM character set.

{
  "cref": "47aaf1fd-0910-4a69-bc64-affe49df9dfb",
  "to": "+4712345678",
  "from": "8400",
  "message": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat."
}
Send SMS message with emoji

Emojis can be sent by specifying UNICODE as data coding. The emoji in the REST payload can be encoded using the character encoding in the HTTP request (typically UTF-8) or use escape sequences.

Example text encoding in HTTP request:

{
  "cref": "47aaf1fd-0910-4a69-bc64-affe49df9dfb",
  "to": "+4712345678",
  "from": "8400",
  "message": "😀",
  "dataCoding": "UNICODE"
}
Submit SMS message as flash SMS

Flash SMS is a type of SMS message that appears directly on the recipient’s phone screen without needing to be opened and typically doesn’t get saved in the message inbox. Flash SMS can be sent setting flash element to true:

{
  "cref": "47aaf1fd-0910-4a69-bc64-affe49df9dfb",
  "to": "+4712345678",
  "from": "8400",
  "message": "Flash SMS",
  "flash": true
}
3.5.4.2. Submit SMS content

Submit SMS content is used to send SMS messages with custom content. The content can be a simple text message, a message with custom data coding scheme (DCS), message with multiple segments and message with binary content. Submit SMS content requests are sent as HTTP POST to ~/content endpoint. This operation is recommended for sending messages with custom content. If you need to send simple text messages, recommendation is to use Submit SMS message operation.

Minimal Submit Content SMS

This example uses submit content SMS operation to send a message with custom content. The content is a simple text message.

{
  "cref": "47aaf1fd-0910-4a69-bc64-affe49df9dfb",
  "to": "+4712345678",
  "from": "Telia",
  "content": {
    "message": "Hello World"
  }
}
Submit Content SMS with custom DCS

This example uses the submit content SMS operation to send a message with custom data coding scheme (DCS). The DCS is set to 8 which is used for Unicode messages.

{
  "cref": "47aaf1fd-0910-4a69-bc64-affe49df9dfb",
  "to": "+4712345678",
  "from": "Telia",
  "content": {
    "message": "Hello World"
  },
  "dcs": 8
}
Submit Content SMS with multiple segments

This example uses the submit content SMS operation to send a message with multiple segments. The submit content API allows sending messages with multiple segments by providing a list of content items. Each content item can have a header and a message. This can be used if customer wants complete control over the message content and how it is split into segments.

Please note that the header needs to be formatted according to SMS specification. The header is used to identify the message content and is used by the handset to concatenate the message. The header must be unique for each message. The header is typically a 16-bit number. Also note that each segment can be max 140 bytes long.

{
  "cref": "47aaf1fd-0910-4a69-bc64-affe49df9dfb",
  "to": "+4712345678",
  "from": "Telia",
  "content": [
    {
      "header": "06080400040301",
      "message": "This is first part."
    },
    {
      "header": "06080400040302",
      "message": "This is second part."
    },
    {
      "header": "06080400040303",
      "message": "This is third part."
    }
  ]
}
Submit Content SMS with Custom HEX Encoded Body

This example uses the submit content SMS operation to send a message with custom HEX encoded body. The content is a simple text message encoded as HEX. The data coding scheme (DCS) is set to 0 which is used foto specify default SMSC character set (GSM 7-bit).

{
  "cref": "47aaf1fd-0910-4a69-bc64-affe49df9dfb",
  "to": "+4712345678",
  "from": "Telia",
  "content": {
    "message": "C8329BFD06DDDF723619",
    "format": "HEX"
  },
  "dcs": 0
}

3.6. SMPP API

The Telia Bulk Messaging platform supports the SMPP protocol for sending and receiving SMS messages. SMPP is recommended for high-volume messaging and for customers that already have SMPP integration in place.

The SMPP API is documented using SMPP 3.4 specification. The specification can be downloaded from https://smpp.org.

This document will provide information on which operations and parameters are supported by the Telia Company Bulk Messaging SMPP API.

3.6.1. Endpoint

The SMPP API is accessed over a TLS connection (minimum TLS 1.2). The endpoint for the SMPP API is:

smpp.messaging.teliacompany.com:3550
3.6.1.1. TLS ciphers

The following ciphers are supported for SMPP TLS connections:

  • TLS_AES_128_GCM_SHA256

  • TLS_AES_256_GCM_SHA384

  • TLS_CHACHA20_POLY1305_SHA256

  • ECDHE-ECDSA-AES128-GCM-SHA256

  • ECDHE-RSA-AES128-GCM-SHA256

  • ECDHE-ECDSA-AES128-SHA256

  • ECDHE-RSA-AES128-SHA256

  • ECDHE-ECDSA-AES256-GCM-SHA384

  • ECDHE-RSA-AES256-GCM-SHA384

  • ECDHE-ECDSA-AES256-SHA384

  • ECDHE-RSA-AES256-SHA384

3.6.2. Access Control List (ACL)

The SMPP API requires a static IP addresses to be whitelisted in the ACL. The IP address must be provided to Telia Company Bulk Messaging Support team for whitelisting. The IP address must be static.

3.6.3. Definitions of Terms Used in This SMPP Guide

ESME

External Short Message Entity. The application that sends and receives SMS messages using the SMPP protocol.

SMSC

Short Message Service Center. The Telia Bulk Messaging SMPP API. The entity that receives and delivers SMS messages to mobile subscribers.

SME

Short Message Entity. The mobile subscriber that sends and receives SMS messages.

TON

Type of number. Used in addressing to specify the type of number being used in the address.

NPI

Numbering plan indicator. Used in addressing to specify the numbering plan being used in the address.

3.6.4. Addressing

Addressing in the SMPP API requires TON (type of number) and NPI (number plan indicator) values to be set for source and destination addresses in the SMPP requests and responses. TON and NPI values are used to specify the type of number and numbering plan being used in the address. The following tables show the supported TON and NPI values:

3.6.4.1. TON
TON Value Description

Unknown

0x00

Used if the number type is unknown. It is recommended to use specific TON values for predictable results.

International

0x01

International numbers with country code. Example with country code 47 and local number 12345678: 4712345678.

Network specific

0x03

Access numbers (short numbers). Example short code 12345: 12345

Alphanumeric

0x05

Alphanumeric addresses. Example: Telia.

Using other TON values than the ones listed above may result in errors when sending SMS messages. Please refer to SMPP specification for more information on addressing in the SMPP protocol.

3.6.4.2. NPI
NPI Value Description

Unknown

0x00

Used for alphanumeric and short numbers.

ISDN/telephone numbering plan (E.164/E.163)

0x01

Used for E164 encoded numbers.

Using NPI values other than the ones listed above may result in errors when sending SMS messages. Please refer to SMPP specification for more information on addressing in the SMPP protocol.

3.6.4.3. TON and NPI combinations

The following table shows the recommended TON and NPI combinations for different types of addresses:

Address type Example TON NPI

International number

4712345678

International (0x01)

ISDN/telephone numbering plan (0x01)

Short number

12345

Network specific (0x03)

Unknown (0x00)

Alphanumeric address

Telia

Alphanumeric (0x05)

Unknown (0x00)

3.6.5. Connect and read timeouts

Recommended connect and read timeouts for SMPP connections are 10 seconds. If the SMSC or ESME does not respond within 10 seconds, the connection should be closed and re-established.

3.6.6. SMPP connection count

The number of SMPP connections that can be established between the ESME and the SMSC is limited. The number of connections is defined in the Bulk Messaging Web portal. The ESME must not establish more connections than the number defined in the Web portal. If the ESME tries to establish more connections than the defined number, the SMSC will reject the connection request.

It is important to note that the number of connections is defined per service. If the ESME has multiple services, the number of connections is defined per service.

3.6.7. Graceful unbind and patching

The ESME should always send an unbind request to the SMSC before closing a connection. The SMSC will respond with an unbind response. The ESME should wait for the unbind response before closing the connection. If the SMSC does not respond with an unbind response, the ESME should close the connection after timeout period defined in Connect and read timeouts section.

An unbind can also be initiated by the SMSC at any time. The ESME must respond with an unbind response to acknowledge the unbind request. SMSC will close the connection if it does not receive an unbind response within timeout defined in Connect and read timeouts section. The ESME should immediately re-establish the connection and send a bind request to the API to re-establish the connection.

To trigger a graceful unbind initiated by SMSC, customer can log into Bulk Messaging Web Portal and click unbind in the SMPP connections view. This will send an unbind request to the ESME.

Graceful unbind from SMSC is implemented to support patching and maintenance of the SMSC. The SMSC will send an unbind request to the ESME before shutting down the connection. The ESME must respond with an unbind response to acknowledge the unbind request. The ESME must close the connection after sending the unbind response. The ESME should then immediately re-establish the connection and send a bind request to the SMSC to re-establish the connection. SMSC will send unbind with a delay between each SMPP session so avoid downtime on ESME side.

3.6.8. Character sets

Default character set for the SMPP API can be configured on Telia Bulk Messaging Web Portal. Default setting is GSM character set encoded into octects (also called GSM8).

The following character sets can be configured as default SMSC character set on Bulk Messaging Web Portal:

  • GSM 7-bit alphabet encoded into octets (GSM8)

  • GSM 7-bit alphabet encoded into septets (GSM7)

  • Latin-1 (ISO-8859-1)

  • Latin-9 (ISO-8859-15)

The following character sets are supported by using correct data coding scheme (DCS) in the SMPP requests and responses:

  • Latin-1 (ISO-8859-1)

  • UCS-2 (Unicode)

3.6.9. SMPP window size

Default window size is set to 10, but can be adjusted by contacting Telia Bulk Messaging Support team. The window size is the number of PDUs that can be sent before receiving a response from the SMSC. The ESME must not send more PDUs than the window size before receiving a response from the SMSC. If the ESME sends more PDUs than the window size, the SMSC will reject the PDUs.

3.6.10. Error codes

The Telia Company SMPP API use standard SMPP error codes. Please refer to SMPP specification for more information on error codes.

3.6.11. Operations supported

Operation Description

bind_transmitter
bind_receiver
bind_transceiver

The bind operations are used to establish a connection between the ESME and the SMSC. The ESME can be either a transmitter, receiver or transceiver. The ESME must send a bind request to the SMSC to establish a connection. The SMSC will respond with a bind response. The ESME must send a bind request before sending any other requests.

unbind

The unbind operation is used to terminate an SMPP session. The ESME must send an unbind request to the SMSC to terminate the session. The SMSC will respond with an unbind response. The ESME must send an unbind request before closing the connection.

enquire_link

The enquire_link operation is used to check the status of the connection between the ESME and the SMSC. The ESME can send an enquire_link request to the SMSC to check if the connection is still alive. The SMSC will respond with an enquire_link response.

submit_sm

The submit_sm operation is used to send an SMS message from the ESME to the SMSC. The ESME must send a submit_sm request to the SMSC to send an SMS message. The SMSC will respond with a submit_sm response. The ESME can also receive a deliver_sm request from the SMSC with the status of the submitted message.

deliver_sm

The deliver_sm operation is used to deliver an SMS message or delivery report from the SMSC to the ESME. The SMSC will send a deliver_sm request to the ESME with the status of the delivered message. The ESME must respond with a deliver_sm response to acknowledge the delivery of the message.

The following sections will provide detailed information on each operation supported by the SMPP API. Compliance levels are defined as follows:

FC

Fully compliant

PC

Partially compliant

NC

Not compliant

3.6.11.1. bind_transmitter, bind_receiver, bind_transceiver
Field Description Compliance

command_length

Defines the overall length of the bind_transmitter PDU.

FC

command_id

Value corresponding to bind_receiver (0x00000001), bind_transmitter (0x00000002) or bind_transceiver request (0x00000009).

FC

command_status

Not in use in bind_transmitter. Set to NULL.

FC

sequence_number

Set to a unique sequence number. The associated bind_transmitter_resp PDU will echo this sequence number.

FC

system_id

The user name used for authentication.

FC

password

The password used for authentication.

FC

system_type

Not in use - should be set to NULL.

PC

interface_version

Must be set to 0x34.

FC

addr_ton

Not in use - should be set to NULL.

PC

addr_npi

Not in use - should be set to NULL.

PC

address_range

Not in use - should be set to NULL.

NC

3.6.11.2. unbind
Field Description Compliance

command_length

Defines the overall length of the unbind PDU.

FC

command_id

Value corresponding to unbind request (0x00000006).

FC

command_status

Not in use in unbind. Set to NULL.

FC

sequence_number

Set to a unique sequence number. The associated unbind_resp PDU will echo this sequence number.

FC

Field Description Compliance

command_length

Defines the overall length of the enquire_link PDU.

FC

command_id

Value corresponding to enquire_link request (0x00000015).

FC

command_status

Not in use in enquire_link. Set to NULL.

FC

sequence_number

Set to a unique sequence number. The associated enquire_link_resp PDU will echo this sequence number.

FC

3.6.11.4. submit_sm
Field Description Compliance

command_length

Defines the overall length of the submit_sm PDU.

FC

command_id

Value corresponding to submit_sm request (0x00000004).

FC

command_status

Not in use in submit_sm.

FC

sequence_number

Set to a unique sequence number. The associated submit_sm_resp PDU will echo this sequence number.

FC

service_type

Must be empty string for SMS. Other values will be ignored.

PC

source_addr_ton

The source_addr_ton parameter is used to specify the type of number being used in the source address.

FC

source_addr_npi

The source_addr_npi parameter is used to specify the numbering plan being used in the source address.

FC

source_addr

The source_addr parameter is used to specify the address of the SME which originated this message.

FC

dest_addr_ton

The dest_addr_ton parameter is used to specify the type of number being used in the destination address.

FC

dest_addr_npi

The dest_addr_npi parameter is used to specify the numbering plan being used in the destination address.

FC

destination_addr

The destination_addr parameter is used to specify the address of the SME which is to receive the message.

FC

esm_class

See section esm_class (submit_sm) for supported values

PC

protocol_id

Must be set to 0x00.

PC

priority_flag

Not in use. Should be set to 0x00 (default priority).

PC

schedule_delivery_time

The schedule_delivery_time parameter is used to specify the scheduled delivery time of the message.

FC

validity_period

The validity_period parameter is used to specify the validity period of the message.

FC

registered_delivery

The registered_delivery parameter is used to request an SMSC delivery receipt. See section registered delivery (submit_sm) for supported values.

PC

replace_if_present_flag

Not in use.

NC

data_coding

The data_coding parameter is used to indicate the data coding scheme of the message.

PC

sm_default_msg_id

Not in use.

NC

short_message

The short_message parameter is used to specify the short message to be sent.

FC

esm_class (submit_sm)

The esm_class parameter is used to indicate special message attributes associated with the short message. The ESM Class byte is structured into three sections. The following table shows supported values for each section in submit_sm operation:

Section Supported values

Message Mode (bits 1-2)

0x00: Default, 0x03: Store and Forward

Message Type (bits 3-5)

0x00: Default, 0x01: Delivery Receipt

GSM features (bits 6-8)

0x00: Default, 0x01: UDHI Indicator

registered delivery (submit_sm)

registered_delivery parameter is used to request an SMSC delivery receipt. The following table shows supported values for registered_delivery parameter in submit_sm operation:

Section Supported values

SME Originated Acknowledgment Requests (bits 1-2)

0x00: No receipt requested, 0x01: Delivery receipt requested.

SME Delivered Acknowledgment Requests (bits 3-4)

0x00: No acknowledgment requested from the SME (default).

Intermediate Notification Request (bit 5)

0x00: No intermediate notification requested (default).

Receipt on Message Replacement (bit 8)

0x00: No special notification for message replacement (default).

3.6.11.5. deliver_sm
Field Description Compliance

command_length

Defines the overall length of the deliver_sm PDU.

FC

command_id

Value corresponding to deliver_sm request (0x00000005).

FC

command_status

Not in use in deliver_sm. Set to NULL.

FC

sequence_number

Set to a unique sequence number. The associated deliver_sm_resp PDU will echo this sequence number.

FC

service_type

Always empty string.

PC

source_addr_ton

The source_addr_ton parameter is used to specify the type of number being used in the source address.

FC

source_addr_npi

The source_addr_npi parameter is used to specify the numbering plan being used in the source address.

FC

source_addr

The source_addr parameter is used to specify the address of the SME which originated this message.

FC

dest_addr_ton

The dest_addr_ton parameter is used to specify the type of number being used in the destination address.

FC

dest_addr_npi

The dest_addr_npi parameter is used to specify the numbering plan being used in the destination address.

FC

destination_addr

The destination_addr parameter is used to specify the address of the SME which is to receive the message.

FC

esm_class

The esm_class parameter is used to indicate special message attributes. Message type 0x01 is set if message is a DLR.

PC

protocol_id

Always set to 0x00.

PC

priority_flag

Always set to 0x00.

PC

schedule_delivery_time

The schedule_delivery_time parameter is used to specify the scheduled delivery time of the message.

PC

validity_period

The validity_period parameter is used to specify the validity period of the message.

FC

registered_delivery

Always set to 0x00.

FC

replace_if_present_flag

Not in use.

NC

data_coding

The data_coding parameter is used to indicate the data coding scheme of the message.

PC

sm_default_msg_id

Not in use.

PC

short_message

The short_message parameter is used to specify the short message to be sent.

FC

3.6.12. TLV support

The SMPP API supports TLV (Tag-Length-Value) parameters. TLV parameters are used to provide additional information in the SMPP requests and responses. The following table shows the currently supported TLV parameters:

Tag Description Compliance

message_payload

The message_payload TLV parameter is used to specify the message payload. This can be used to send long SMS messages without splitting into separate submit_sm

FC

network_error_code

The network_error_code TLV parameter is used to specify the network error code. This can be used to provide additional information about the error.

FC

(C)2024 All rights reserved. No part of this document may be reproduced in any form without the written permission of the copyright holder. The contents of this document are subject to revision without notice. Telia Company shall have no liability for any error or damages of any kind resulting from the use of this document.