А что конкретно нужно получить ?
Модем выдает URC - которое не сохранится согласно вашим установкам И сохраняет СООБЩЕНИЕ к которому CNMI имеет отношение только в плане отчета о доставке.
Подробное описание работы CNMI с картинкой есть в GSM 07.05.
У Сinterion есть неплохой перевод формата команды.
AT+CNMI Настройка формирования отчетов о событиях SMS
Команда AT+CNMI управляет настройками SMS, относящимися к представлению кодов URC. По этой команде выбирается процедура индикации приема нового короткого сообщения для TE, если это устройство TE активно (например, сигнал DTR находится в состоянии ON). Если TE неактивно (например, сигнал DTR находится в состоянии OFF), прием сообщения должен быть выполнен согласно спецификации 3GPP TS 23.038. Если сигнал DTR отсутствует или его состояние игнорируется (команда AT&D0 V.250), то достоверная передача сообщения обеспечивается использованием процедуры подтверждения AT+CNMA. Применение для сохранения полученных сообщений правил <mt>=2 и <mt>=3 возможно только при условии, что с помощью команды AT+CSMS=1 активирована совместимость с фазой 2+. Параметр <ds>=1 доступен только в фазе 2+.
Описание параметров <mode>
0 URC-коды, касающиеся SMS, всегда буферизуются в ME. При заполнении буфера наиболее старые из них удаляются и заменяются вновь принятыми. 1 URC, относящиеся к SMS, передаются непосредственно в TE. Однако, если это невозможно из-за занятости канала ME-TE, например, во время передачи данных, то эти URC-коды игнорируются. 2 URC, относящиеся к SMS, передаются непосредственно в TE. Однако, если это невозможно из-за занятости канала ME-TE, то эти URC-коды буферизуются и впоследствии передаются в TE. 3 URC, относящиеся к SMS, передаются непосредственно в TE. Однако, если это невозможно из-за занятости канала ME-TE, то эти URC-коды буферизуются и впоследствии передаются в TE. Кроме того, если канал ME-TE занят, то информация о находящихся в буфере URC-кодах передается в TE путем отправки кода BREAK или активации линии RING в соответствии со значением параметров команды AT^SCFG: <uri>, <udri> и <urat>. <mt>
Правила хранения принятых коротких сообщений определяются соответствующим методом кодирования данных (см. 3GPP TS 23.038 [30]), установкой предпочтительной памяти (AT+CPMS) и этим значением. Примечание: если интерфейс AT-команд работает только в качестве устройства отображения, ME должно обеспечивать хранение сообщений класса 0 и сообщений, относящихся к группе индикации ждущих сообщений (discard message). 0 Сообщения-индикаторы SMS-DELIVER не пересылаются в TE. 1 Если SMS-DELIVER хранится в ME, сообщение-индикатор ячейки памяти пересылается в TE с помощью незапрашиваемого кода результата. 2 Сообщения SMS-DELIVER, за исключением сообщений класса 2 и сообщений, относящихся к группе индикации ждущих сообщений (store message), пересылаются непосредственно в TE с помощью незапрашиваемого кода результата. 3 Сообщения SMS-DELIVER класса 3 пересылаются непосредственно в TE с помощью незапрашиваемых кодов результата, определенных значением <mt>=2. Индикация сообщений с другими схемами кодирования данных осуществляется в соответствии с <mt>=1. <bm>
Правила хранения принятых сообщений CBM зависят от соответствующего метода кодирования данных (см. 3GPP TS 23.038 [30]), установки выбранных типов СВМ (AT+CSCB) и этого значения: 0 Индикаторы сообщений CBM не пересылаются в TE. 2 Новые CBM направляются непосредственно в TE с помощью URC-кодов. 3 Сообщения CBM класса 3 пересылаются непосредственно в TE с помощью незапрашиваемых кодов результата, определенных параметром <bm>=2. <ds>
0 Сообщения SMS-STATUS-REPORT не пересылаются в TE. 1 Сообщения SMS-STATUS-REPORT пересылаются в TE с помощью URC. 2 Если SMS-STATUS-REPORT направляется в ME, сообщение-индикатор ячейки памяти пересылается в TE с помощью незапрашиваемого кода результата. <bfr>
1 Буфер ME для URC-кодов, относящихся к SMS, очищается, когда параметр <mode> меняет значение с 0 на 1, 2 или 3. <index>(num) Целочисленный тип; значения в диапазоне номеров ячеек, поддерживаемых соответствующей памятью.
Примечания • Параметры <mt>=2,3 и <ds>=1 доступны только в GSM фазы 2+ (см. AT+CSMS=1). При использовании этих параметров фазы 2+, на входящие короткие сообщения (SM) или отчеты о состоянии должно выдаваться подтверждение (AT+CNMA=0).
• Специальные требования для мультиплексного режима В мультиплексном режиме (AT+CMUX=0) параметр фазы 2+ может использоваться только в одном канале. Параметр для <mt> и <ds> в других каналах должен быть установлен в нулевое значение. Если на сообщение SM или отчет о состоянии не поступило подтверждение, для всех параметров AT+CNMI во всех каналах устанавливается нулевое значение.
• Если ME работает с разными экземплярами (мультиплексными каналами 1, 2, 3 или ASC0/ASC1), необходимо устанавливать одинаковые значения параметров для маршрутизации и индикации SMS-сообщений. Например, если сообщения должны быть напрямую направлены в один экземпляр TE (заданный с помощью AT+CNMI, AT^SSDA), то невозможно активизировать представление URC с помощью AT+CMER или AT+CNMI для другого экземпляра. Любая попытка активизировать настройки, противоречащие существующим настройкам в другом интерфейсе, приведет к ошибке "+CME ERROR", или, соответственно, "+CMS ERROR".
• Обработка коротких сообщений класса 0 Если дисплей в главном прикладном устройстве отсутствует, ME обрабатывает короткие сообщения класса 0 так, как если бы класс сообщения отсутствовал, т. е. ME игнорирует биты 0 и 1 в <dcs>, и при этом действуют обычные правила, применяемые в случае превышения емкости памяти. Рассмотренный подход совместим со стандартом 3GPP TS 23.038 [30].
• Если на короткое сообщение (SM) или отчет о состоянии не поступило подтверждение, для всех параметров AT+CNMI во всех каналах устанавливается нулевое значение.
Дополнение:
Thus, it is not recommended to use direct message routing (<mt>=2 or 3, <bm>=2 or 3, or <ds>=1) with <mode> value 0 or 2.
--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
|