реклама на сайте
подробности

 
 
> SIM900R и AT+CNMI
antis
сообщение Jul 11 2012, 11:16
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 44
Регистрация: 11-01-09
Пользователь №: 43 172



Имеем модем SIM900R.

at+gsv
SIMCOM_Ltd
SIMCOM_SIM900R
Revision:1137B04SIM900R32_ST

Не могу понять, как работает второй параметр (mt) в команде AT+CNMI.

1. Устанавливаю параметр mt в 0
at+cnmi?
+CNMI: 2,0,0,0,0

OK

2. Посылаю модему SMS

3. От модема приходит URC (в PDU режиме)

+CMT: "",30
07919730071111F10414D04937BD2C7797E9D3E61400002170115150336107F4F29C2E83C500

и сообщение сохраняется в памяти.

Но в стандарте и в описании команд модема написано, что при mr = 0
No SMS-DELIVER indications are routed to the TE

Почему модем выдает URC, которого вроде не должно быть совсем?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
CADiLO
сообщение Jul 11 2012, 12:18
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 6 023
Регистрация: 26-08-05
Из: Днепр
Пользователь №: 7 988



А что конкретно нужно получить ?

Модем выдает 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.


--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th August 2025 - 20:25
Рейтинг@Mail.ru


Страница сгенерированна за 0.0173 секунд с 7
ELECTRONIX ©2004-2016