10 |
#include <time.h> |
#include <time.h> |
11 |
#include <stdlib.h> |
#include <stdlib.h> |
12 |
|
|
13 |
|
#include "common.h" |
14 |
#include "util.h" |
#include "util.h" |
15 |
|
|
16 |
|
|
116 |
|
|
117 |
if (multipart) |
if (multipart) |
118 |
{ |
{ |
119 |
|
if (message.length() > 800) |
120 |
|
{ |
121 |
|
Common::instance()->logMessage("Trying to send multipart sms > 800 bytes !!!"); |
122 |
|
message = message.substr(0,800); |
123 |
|
} |
124 |
|
|
125 |
part_count = message.length() / PDU_LEN; |
part_count = message.length() / PDU_LEN; |
126 |
if (message.length() % PDU_LEN) |
if (message.length() % PDU_LEN) |
127 |
part_count++; |
part_count++; |
154 |
message_part = message.substr(0, PDU_LEN); |
message_part = message.substr(0, PDU_LEN); |
155 |
message.erase(0, PDU_LEN); |
message.erase(0, PDU_LEN); |
156 |
|
|
157 |
pdu.push_back( message_part.length()+ 6 ); //UserDataLength |
pdu.push_back( message_part.length()+ 7 ); //UserDataLength |
158 |
pdu.push_back( 0x05 ); // UDH Len |
pdu.push_back( 0x06 ); // UDH Len |
159 |
pdu.push_back( 0x00 ); // UDH Element Identifier |
pdu.push_back( 0x00 ); // UDH Element Identifier |
160 |
pdu.push_back( 0x03 ); // UDH element length |
pdu.push_back( 0x03 ); // UDH element length |
161 |
pdu.push_back( csms_ref ); // csms_ref reference |
pdu.push_back( csms_ref ); // csms_ref reference |
162 |
pdu.push_back( part_count ); |
pdu.push_back( part_count ); |
163 |
pdu.push_back( partnr+1 ); |
pdu.push_back( partnr+1 ); |
164 |
|
pdu.push_back( 0x00); |
165 |
|
|
166 |
} |
} |
167 |
else |
else |
168 |
{ |
{ |
169 |
message_part = message.substr(0,160); //truncate to 160 |
if (message.length() > 160) |
170 |
|
{ |
171 |
|
message_part = message.substr(0,160); //truncate to 160 |
172 |
|
Common::instance()->logMessage("Truncated message"); |
173 |
|
} |
174 |
|
else |
175 |
|
{ |
176 |
|
message_part = message; |
177 |
|
} |
178 |
|
|
179 |
pdu.push_back( message_part.length() ); //UserDataLength |
pdu.push_back( message_part.length() ); //UserDataLength |
180 |
} |
} |