Skip to content

Commit 4ffd579

Browse files
RESTCOM-1927: Workaround, hardcode submit_sm encoding to UTF-8. Fix decoding.
1 parent 5bf97bb commit 4ffd579

File tree

3 files changed

+10
-3
lines changed

3 files changed

+10
-3
lines changed

restcomm/restcomm.sms/src/main/java/org/restcomm/connect/sms/SmsSession.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,8 @@ private void inbound(final Object message) throws IOException {
188188
if(request.getSmppEncoding().equals(CharsetUtil.CHARSET_UCS_2)) {
189189
encoding = SmsSessionRequest.Encoding.UCS_2;
190190
} else {
191+
//FIXME: unused, due to hardcoded encoding in SmppMessageHandler
192+
//quick fix for https://telestax.atlassian.net/browse/RESTCOMM-1927
191193
encoding = SmsSessionRequest.Encoding.GSM;
192194
}
193195
// Store the last sms event.

restcomm/restcomm.sms/src/main/java/org/restcomm/connect/sms/smpp/SmppClientOpsThread.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -352,15 +352,18 @@ public PduResponse firePduRequestReceived(PduRequest pduRequest) {
352352

353353
DeliverSm deliverSm = (DeliverSm) pduRequest;
354354
try {
355-
String decodedPduMessage = CharsetUtil.CHARSET_MODIFIED_UTF8.decode(deliverSm.getShortMessage());
355+
String decodedPduMessage;
356356
String destSmppAddress = deliverSm.getDestAddress().getAddress();
357357
String sourceSmppAddress = deliverSm.getSourceAddress().getAddress();
358358
Charset charset;
359359
if (DataCoding.DATA_CODING_UCS2 == deliverSm.getDataCoding()) {
360360
charset = CharsetUtil.CHARSET_UCS_2;
361361
} else {
362-
charset = CharsetUtil.CHARSET_GSM;
362+
//FIXME: quick fix for https://telestax.atlassian.net/browse/RESTCOMM-1927
363+
charset = CharsetUtil.CHARSET_UTF_8;
363364
}
365+
//FIXME: Workaround RESTCOMM-1927
366+
decodedPduMessage = charset.decode(deliverSm.getShortMessage());
364367
//send received SMPP PDU message to restcomm
365368
try {
366369
sendSmppMessageToRestcomm(decodedPduMessage, destSmppAddress, sourceSmppAddress, charset);

restcomm/restcomm.sms/src/main/java/org/restcomm/connect/sms/smpp/SmppMessageHandler.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -361,7 +361,9 @@ public void outbound(SmppOutboundMessageEntity request) throws SmppInvalidArgume
361361
textBytes = CharsetUtil.encode(request.getSmppContent(), CharsetUtil.CHARSET_UCS_2);
362362
} else {
363363
submit0.setDataCoding(DataCoding.DATA_CODING_GSM7);
364-
textBytes = CharsetUtil.encode(request.getSmppContent(), request.getSmppEncoding());
364+
365+
//FIXME: quick fix for https://telestax.atlassian.net/browse/RESTCOMM-1927
366+
textBytes = CharsetUtil.encode(request.getSmppContent(), CharsetUtil.CHARSET_UTF_8);
365367
}
366368

367369
//TODO reverted from https://telestax.atlassian.net/browse/RESTCOMM-1595 as it caused SMS loop at SMSC

0 commit comments

Comments
 (0)