2015-05-04 6 views
0

Я прочитал свой входящий почтовый ящик модема и добираюсь до типа сообщения. Одно сообщение - это мой отчет о доставке текста отправки, а другой - это полученное сообщение, как я могу определить, какой из них представляет собой отчет о доставке и какой из них является входящим сообщением?как реализовать сообщение доставки и входящее сообщение в формате PDU?

AT+CMGL=4 

+CMGL: 0,1,,25 
0791893905004100063E0C91893975567721515040717485815150407184108100 
+CMGL: 1,1,,22 
0791893905004100240C9189397556772100005150407155628103D7F71D 
+CMGL: 2,1,,25 

ответ

1

Вам необходимо найти байт заголовка PDU, который находится непосредственно после SMSC.

0791893905004100 >>06<< 3E0C91893975567721515040717485815150407184108100 

0791893905004100 >>24<< 0C9189397556772100005150407155628103D7F71D 

Когда вы проверяете байт заголовка PDU вы должны смотреть на биты 1 и 0. Посмотрите на 3GPP ETSI 03.40 спецификации 9.2.3.1 TP Тип сообщения Индикатор (TP MTI). В этом разделе объясняется, как декодировать тип сообщения SMS.

В вашем случае вы хотите, чтобы бит1 = 1 и бит0 = 0 отображали отчет о состоянии. Итак, в вашем объяснении, смотрящем на 06 и 24, вы увидите следующее:

06 ==> 0000 0110 ==> SMS-STATUS-REPORT 
24 ==> 0010 0100 ==> SMS-DELIVER 
+0

Вы - лучшая благодарность – motevalizadeh

Смежные вопросы