From 3d1e17bba0c67376a138a1ae3542ab4b700f5f06 Mon Sep 17 00:00:00 2001 From: Jeff Hatch Date: Tue, 30 May 2017 08:12:00 -0500 Subject: SMS Commands not working for International numbers --- src/pdu_decode.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'src/pdu_decode.c') diff --git a/src/pdu_decode.c b/src/pdu_decode.c index ebe939e..2906a88 100644 --- a/src/pdu_decode.c +++ b/src/pdu_decode.c @@ -195,7 +195,7 @@ int pdu_decode_user_data(const char *pdu_str, struct pdu_info *pdu, int *nr_octe if (pdu->data_coding.general.alphabet == PDU_ALPHABET_DEFAULT || - pdu->data_coding.general.alphabet == PDU_ALPHABET_DEFAULT2) + pdu->data_coding.general.alphabet == PDU_ALPHABET_DEFAULT2 ) { log_debug("data coding alphabet is default (7-bit)"); } else if (pdu->data_coding.general.alphabet == PDU_ALPHABET_DEFAULT_MULTI) { @@ -206,7 +206,9 @@ int pdu_decode_user_data(const char *pdu_str, struct pdu_info *pdu, int *nr_octe log_debug("data coding alphabet is eight"); } else if (pdu->data_coding.general.alphabet == PDU_ALPHABET_CDMA_EIGHT) { log_debug("data coding alphabet is CDMA eight"); - } else { + } else if (pdu->data_coding.general.alphabet == PDU_ALPHABET_TE) { + log_debug("data coding alphabet is TE specific 7-bit"); + } else { log_debug("data coding alphabet 0x%02X not implemented", pdu->data_coding.general.alphabet); return -1; @@ -217,7 +219,8 @@ int pdu_decode_user_data(const char *pdu_str, struct pdu_info *pdu, int *nr_octe // ----------------------------------------------------------------------------- if ((pdu->data_coding.general.alphabet == PDU_ALPHABET_DEFAULT) || (pdu->data_coding.general.alphabet == PDU_ALPHABET_DEFAULT2) || - (pdu->data_coding.general.alphabet == PDU_ALPHABET_DEFAULT_MULTI)) { + (pdu->data_coding.general.alphabet == PDU_ALPHABET_DEFAULT_MULTI)|| + (pdu->data_coding.general.alphabet == PDU_ALPHABET_TE)) { if (pdu->user_data_len > PDU_UD_7BIT_MAX) { log_warning("pdu contains invalid user-data-len: 0x%02X", pdu->user_data_len); @@ -281,7 +284,8 @@ int pdu_decode_user_data(const char *pdu_str, struct pdu_info *pdu, int *nr_octe // GSM 7-BIT & LVW2 7-BIT MULTI-PART if ((pdu->data_coding.general.alphabet == PDU_ALPHABET_DEFAULT) || (pdu->data_coding.general.alphabet == PDU_ALPHABET_DEFAULT2) || - (pdu->data_coding.general.alphabet == PDU_ALPHABET_DEFAULT_MULTI)) { + (pdu->data_coding.general.alphabet == PDU_ALPHABET_DEFAULT_MULTI)|| + (pdu->data_coding.general.alphabet == PDU_ALPHABET_TE)) { // Keep UDH for concatenated SMS. // Otherwise it is impossible to process correctly concatenated SMS. i = 0; -- cgit v1.2.3