[Last Call] Learn how to a build a cloud-first strategyRegister Now


Help with Information in User Data Header for producing a concatenated SMS message

Posted on 2011-05-05
Medium Priority
Last Modified: 2013-12-27
Hi All

I have a Unicode text contains 132 char and I need to send it as one SMS message. The max length of Unicode SMS message is 70 char.

To be able to send this 132 message as one SMS message, I need to add concatenating information in the User Data Header and I don't know how to do it?

UserDataHeader data must be done for each fragment according to the ETSI GSM 03.40 specification.

Please help me to understand of how to deal with this kind of problem and give me an example of how to write the header.

Some references:


Question by:MissManal
  • 3
  • 2
LVL 13

Expert Comment

ID: 35697429
ok, this is a complicated issue. According to your situation we can make it easier. Please answer the following questions so I can provide you with the suitable solution:

1. Are you familiar with with PID, DCS, IE, of the PDU ?
2. Are you willing to build a full solution for sending sms (one or multiparts, Ascii, Unicode, ...) or just a solution to send 2 parts unicode sms ?
3. Are you willing to use AT commands to send the sms ?

You can also have a look at the following link that is a Pdu encoding/decoding library in c# that will relief you of a lot of tachnical details:


Author Comment

ID: 35698871
I'm using an ActiveX component called (SMSLibX) from this company

which doesn't support sending a large unicode text as one sms by concatenating messeges So to be able to use this component, Unicode and binary concatenated messages must be encoded (as fragments) by me, according to the following ETSI / 3GPP specifications (see http://www.etsi.org):
  - 3GPP TS 23.040 (Short Message Service)
  - 3GPP TS 23.038 (GSM alphabets)
Once encoded, each fragment can be submitted to SMSLibX as a binary item, using the UserDataHeader and Body fields.
If each fragment was correctly encoded, then the final result is a concatenated unicode message, correctly represented by the recipient phone.

So the big question! How I can encoded this large unicode message as fragments using ETSI / 3GPP specifications ?

LVL 13

Accepted Solution

iHadi earned 2000 total points
ID: 35703815

I took a look at the link you provided and discovered that the library you are using supports long sms (concatenated). Just set the text to the body property of the message and the library will take care of the rest.

If you want to deal with PDU directly, I'll suggest the following Open Source library. It comes with an example winforms app (Encoder) that does exactly what you want. just set the message parameters and it will produce the pdu for you. If the message text is long, it will produce Pdu for the equivalent number of messages (parts):


Author Comment

ID: 35705270
Unfortunately, I'm using Borland Delphi.
LVL 13

Expert Comment

ID: 35705280
Your question is added in c# and & vb zones and you haven't put it in the delphi zones.

Sorry, I cannot help you in delphi

Featured Post

Veeam Disaster Recovery in Microsoft Azure

Veeam PN for Microsoft Azure is a FREE solution designed to simplify and automate the setup of a DR site in Microsoft Azure using lightweight software-defined networking. It reduces the complexity of VPN deployments and is designed for businesses of ALL sizes.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Every server (virtual or physical) needs a console: and the console can be provided through hardware directly connected, software for remote connections, local connections, through a KVM, etc. This document explains the different types of consol…
High user turnover can cause old/redundant user data to consume valuable space. UserResourceCleanup was developed to address this by automatically deleting user folders when the user account is deleted.
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
Get people started with the process of using Access VBA to control Excel using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Excel. Using automation, an Access application can laun…
Suggested Courses
Course of the Month18 days, 5 hours left to enroll

830 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question