Определения параметров
Для отправки сообщений необходимо определить параметры коротких сообщений. Эти параметры рассмотрены в этом разделе. <da> – Destination Address – адрес места назначения, кодировка в соответствии с GSM 03.40 TP-DA <dcs> – Data Coding Scheme – схема кодировки данных, кодировка согласно документу [5]. <dt> – Discharge Time – в формате строки:год[00-99]/месяц[01-12]/день[01-31],часы:минуты:секунды±часовой пояс[четверти часа]) <fo> – First Byte – первый байт, кодировка как первый байт SMS-SUBMIT в документе [4], значение по умолчанию для SMS-SUBMIT – 17 <index> – размещение в памяти. <length> – текстовый режим (+CMGF=1): количество символов режима PDU (+CMGF=0): длина элемента данных TP в байтах <mem1> – память, используемая для задания списка, чтения и удаления сообщений (+CMGL, +CMGR и +CMGD). <mem2> – память, используемая для написания и отправки сообщений (+CMGW, +CMSS). <mid> – Идентификатор сообщений Cell Broadcast. <mr> – Ссылка на сообщение. <oa> – адрес отправителя. <pid> – идентификатор протокола. <pdu> – для SMS: адрес GSM 04.11 SC, затем GSM 03.40 TPDU в шестнадцатиричном формате, кодировка как в документе. Для CBS: GSM 03.41 TPDU в шестнадцатиричном формате <ra> – адрес получателя. <sca> – адрес сервис-центра <scts> – отметка времени сервис-центра, строка формата: год/месяц/день, часы: минуты: секунды ± часовой пояс <sn> – серийный номер СООБЩЕНИЯ CELL BROADCAST <st> – статус SMS-STATUS-REPORT <stat> – статус сообщения в памяти. <tooa> – тип адреса <oa>. <tora> – типа адреса <ra>. <tosca> – тип адреса <sca>. <total1> – количество ячеек для сообщений в <mem1>. <total2> – количество ячеек для сообщений в <mem2>. <used1> – общее количество ячеек для сообщений в <mem1>. <used2> – общее количество ячеек для сообщений в <mem2>. <vp> – период действия короткого сообщения, значение по умолчанию 167
4.2 Отчет о доставке сообщения: +CNMA Данная команда позволяет получать подтверждение о доставке сообщения на мобильное устройство. В режиме TEXT возможен только положительный отчет о доставке (RP-ACK). В режиме PDU возможен как положительный отчет (RP-ACK), так и отчет о неудачной попытке доставки сообщения (RP-ERROR). Отчет с +CNMA возможен, только если значение параметра +CSMS равно 1 (+CSMS=1) при индикации +CMT или +CDS (см. команду +CNMI). Если за период ожидания отчет не приходит, возвращаются RP-ERROR, параметры <mt> и <ds> команды +CNMI сбрасываются на значение 0 (не показывать индикацию нового сообщения). Синтаксис команды в режиме TEXT: AT+CNMA Синтаксис команды в режиме PDU: AT+CNMA [=<n>[,<length> [<CR> ввод PDU <ctrl-Z/ESC>]]] Примечание: PDU вводится при использовании формата <ackpdu> вместо <pdu> (например, отсутствует поле SMSC).
Таблица 8 – Отчет для нового сообщения в режиме TEXT
Таблица 9 – Отчет для нового сообщения в режиме PDU
Задаваемые значения: <n>: тип отчета в режиме PDU 0: отправить RP-ACK без PDU (также как в режиме TEXT) 1: отправить RP-ACK с опциональным сообщением PDU 2: отправить RP-ERROR с опциональным сообщением PDU <length>: длина сообщения PDU для более подробной информации об отрицательных типах отчетов PDU обращайтесь к рекомендациям GSM 03.40.
4.3 Отсылка сообщений: +CMGS Поле <address> – номер, на который посылается сообщение. Для отправки сообщения используется комбинация символов <ctrl-Z> (кодировка ASCII 26). Текст может содержать любые символы, кроме <ctrl-Z> и <ESC> (ASCII 27). Символ <ESC> отменяет отправку сообщения. В режиме PDU используются только шестнадцатеричные знаки («0»…«9», «A»…«F»). Синтаксис команды в текстовом режиме: AT+CMGS=<da>[,<toda>]<CR> ввод ТЕКСТА <ctrl-Z/ESC>
Таблица 10 – Синтаксис команды в режиме PDU:
Номер сообщения, <mr>, возвращаемый приложением, определяется изделием. Нумерация начинается с 0 с шагом далее по единице для каждого исходящего сообщения (отправленного удачно или неудачно), цикл составляет 1 байт (после 255 идет 0). Примечание: Данный номер не является номером сообщения в памяти. Исходящие сообщения НЕ сохраняются.
|