Непомнящий Евгений
Aug 30 2013, 04:30
Пытаюсь отправить смс-ку, получаю error:
Код
AT
OK
AT+CREG?
+CREG: 0,1
OK
AT+IPR=19200
OK
AT+CSCA="+79184330000"
OK
AT+CSCA?
+CSCA: "+79184330000",145
OK
AT+CMGF=0
OK
AT+CMGS=137
>
0001000C919788987618F500087C0422002D0031003800360020003100350038003500390031000A
00320034002E0030
0038002E0031003300200034003A00340039003A00310032000A0412043A043B044E04470435043D
000A0028041E0442
043A043B003A002000320034002E00300038002E0031003300200033003A00330034003A00330032
0029
<примерно через 20 секунд>
ERROR
Деньги на симке есть и услуга смс-сообщений подключена. Если вставить эту симку в телефон, все работает.
На всякий случай настраиваю номер смс-центра. Он правильный - если настроить такой в телефоне с этой симкой, смски уходят.
Если вставить в железяку симку другого оператора (билайн, теле2), смс-ки отправляются.
Что еще может быть не так? Возможно есть какие-то другие настройки?
И еще - в доке написано что на CMGS должна приходить ошибка с кодом. У меня почему-то просто error. Может это тоже как-то можно настроить?
CADiLO
Aug 30 2013, 04:52
Ключевой момент
>>>Если вставить в железяку симку другого оператора (билайн, теле2), смс-ки отправляются.
Модуль не умеет так чтобы одному оператору отправлять а другому нет - вопрос в конкретной симке, ее настройках и т.д.
Кроме того - а отправлять пытались на разных операторах одну и ту же SMS ???? Указываемая длина и кодирование правильные ????
>>>И еще - в доке написано что на CMGS должна приходить ошибка с кодом.
Это если SMS уйдет и ошибкой ответит оператор. У вас она не ушла - значит ошибка на стадии ввода и отправки.
Непомнящий Евгений
Aug 30 2013, 04:57
Цитата(CADiLO @ Aug 30 2013, 08:52)

Модуль не умеет так чтобы одному оператору отправлять а другому нет - вопрос в конкретной симке, ее настройках и т.д.
Охотно верю... Но с телефона смс-ки уходят с этой симкой
Цитата
Кроме того - а отправлять пытались на разных операторах одну и ту же SMS ???? Указываемая длина и кодирование правильные ????
Да, эту же смс-ку. ПДУ проверял неоднократно
Цитата
>>>И еще - в доке написано что на CMGS должна приходить ошибка с кодом.
Это если SMS уйдет и ошибкой ответит оператор. У вас она не ушла - значит ошибка на стадии ввода и отправки.
Обычно если что-то неправильно пошлешь в модем, он сразу же отвечает ошибкой. Скажем если длину неверно указать. А у меня - с задержкой порядка 20 с. Такое впечатление, что он пытается эту смс-ку отправить.
Цырен.
Aug 30 2013, 05:26
Цитата(Непомнящий Евгений @ Aug 30 2013, 08:57)

Охотно верю... Но с телефона смс-ки уходят с этой симкой
Да, эту же смс-ку. ПДУ проверял неоднократно
Обычно если что-то неправильно пошлешь в модем, он сразу же отвечает ошибкой. Скажем если длину неверно указать. А у меня - с задержкой порядка 20 с. Такое впечатление, что он пытается эту смс-ку отправить.
1. Проверьте номер СМС центра - он актуальный?
2. Сверьте значение CSCS - должно быть UCS2
3. Сверьте в +CSMP параметр DCS - UCS2?
4. Попробуйте СМС центр указать так: +CSCA="002b00370039003100380034003300330030003000300030"
5. Просмотрел кака у вас прошивка. Может имеет смысл перепрошиться на ENHANCE версию и попробовать.
6. Придется снять диагностический лог. Как это сделать вам расскажет инженер дистрибьютора(МТ-Систем - Россия, Гамма - Украина). Возможно мешает STK в сим-карте.
7.... только все это если pdu 100% правильный и отправляется с другими операторами + на сим-карте есть деньги.
CADiLO
Aug 30 2013, 08:21
>>>Но с телефона смс-ки уходят с этой симкой
А версию прошивки назовете ?
И тогда все вышесказанное коллегой. Чудес не бывает.
Alechek
Aug 30 2013, 11:44
Цитата(CADiLO @ Aug 30 2013, 10:52)

>>>И еще - в доке написано что на CMGS должна приходить ошибка с кодом.
Это если SMS уйдет и ошибкой ответит оператор. У вас она не ушла - значит ошибка на стадии ввода и отправки.
А это зависит от
9.1 Report Mobile Equipment error +CMEE
Defined values
<n>:
0 disable +CME ERROR: <err> result code and use ERROR instead
1 enable +CME ERROR: <err> result code and use numeric <err> values (refer next subclause)
2 enable +CME ERROR: <err> result code and use verbose <err> values (refer next subclause)
CADiLO
Aug 30 2013, 12:01
И это тоже, но обычно по умолчанию numeric <err> values включено.
Модуть например на синтаксис всегда ругается без указания конкретики.
Непомнящий Евгений
Aug 30 2013, 12:33
Сделал CMEE=2, теперь при попытке отправки получаю
+CMS ERROR: PS busy
CADiLO
Aug 30 2013, 13:04
515 ошибка.... так тут все банально и причины четко определены
'CMS ERROR 515' is received in the following cases:
1. Sending a SMS when the SIM initialization is going on (after rebooting the module).
2. Reading a SMS immediately after booting the module when SIM initialization is not yet over.
3. Writing a SMS to the memory before SIM initialization is complete.
4. Sending more than one SMS at a time or sending a SMS when the response (OK or ERROR) for a previously sent SMS has not been received.
перевожу - спешим отправить пока модуль или карта не готовы - или не ушли предыдущие SMS
а вообще это очень распространенная ошибка - дайте в гугле поиск CMS ERROR 515 - узнаете много полезного.
Samodelkin
Sep 6 2013, 17:59
Чуть не по теме, но тем не менее.....
в SIM900 (SIM900R) в текстовом виде с русской кодировкой длина СМС ограничена 70 символов!!! Как, не используя PDU режим увеличить это? Я понимаю, что в одну СМС больше символов уже не влезет..... ну так пусть две-три СМС подряд отправляет!!!! Главное чтоб на мобилу пришло все единым текстом.
Непомнящий Евгений
Sep 7 2013, 07:02
Про формат PDU читайте, туда добавляется еще какой-то заголовок части сообщения.
Мне не требовалось, поэтому я особо не вникал.
Цитата(Непомнящий Евгений @ Sep 7 2013, 13:02)

Про формат PDU читайте, туда добавляется еще какой-то заголовок части сообщения.
Мне не требовалось, поэтому я особо не вникал.
....
Цитата(Samodelkin @ Sep 6 2013, 23:59)

...Как, не используя PDU режим увеличить это? ...
Samodelkin
Sep 7 2013, 14:58
Цитата(Непомнящий Евгений @ Sep 7 2013, 10:02)

Про формат PDU читайте, туда добавляется еще какой-то заголовок части сообщения.
Мне не требовалось, поэтому я особо не вникал.
Нужно именно в текстовом режиме а НЕ В PDU.
Цитата(CADiLO @ Aug 30 2013, 15:01)

И это тоже, но обычно по умолчанию numeric <err> values включено.
Модуть например на синтаксис всегда ругается без указания конкретики.
Почему-то в новом модуле SIM900R оказалось AT+CMEE равно 0. Хотя при каждом старте дается AT&F. По поводу AT&F уже сомнения возникают, эта команда хоть какие-нибудь параметры переводит в состояние "по умолчанию"?
Цитата(Samodelkin @ Sep 7 2013, 20:58)

Нужно именно в текстовом режиме а НЕ В PDU.
А что сим отвечает на AT+CSMP=?
Цитата(vit496 @ Sep 9 2013, 10:08)

Почему-то в новом модуле SIM900R оказалось AT+CMEE равно 0. Хотя при каждом старте дается AT&F. По поводу AT&F уже сомнения возникают, эта команда хоть какие-нибудь параметры переводит в состояние "по умолчанию"?
Все верно, CMEE =0 по-умолчанию. См.ATC. стр.35.
Нажмите для просмотра прикрепленного файла
vassabi
Sep 9 2013, 13:15
Цырен.Цитата
SIM900_AT_Command_Manual_V1.06.pdf ( 2.14 мегабайт )
Чето я не понял, а последний же мануал 1.07, у меня по крайней мере?
vassabi
Sep 9 2013, 13:24
CADiLOЦитата
SIM900_AT Command Manual_V1.08
О, спасибо! Приятные исправления/добавления....
А где же FTPEXTGET

?
Готовится отдельным апнотесом. Он не входит в общую прошивку для Европы.
Женя допишет русскую версию - выложим на сайт.
vassabi
Sep 9 2013, 13:43
CADiLOЦитата
Женя допишет русскую версию - выложим на сайт.
А куда/на долго он пропал? Я ему уже и в личку вопросы по FTPEXTGET писал и
сюда писал... тишина
гляньте в личку - там есть инфа где его искать
Цитата(Цырен. @ Sep 9 2013, 14:54)

Все верно, CMEE =0 по-умолчанию. См.ATC. стр.35.
О, точно! Прошу прощения, с М10 перепутал.
Samodelkin
Sep 11 2013, 10:12
Цитата(sobr @ Sep 9 2013, 12:36)

А что сим отвечает на AT+CSMP=?
Для отправки обычным текстом ставлю параметр 17,167,0,0 а для UCS2, то есть для отпрваки русской кодировкой, ставлю 17,167,0,25
Цитата(CADiLO @ Sep 9 2013, 16:20)

Так а все же есть возможность не используя PDU режим отправлять длинный текст длиной чуть более 70 символов в кодировке UCS2?
CADiLO
Sep 11 2013, 10:20
>>>Так а все же есть возможность не используя PDU режим отправлять длинный текст длиной чуть более 70 символов в кодировке UCS2?
Наверно об ограничениях написали не зря. Если бы можно было бы, то не акцентировали бы внимание на длине.
Ну и мой совет - не работайте с текстовым режимом. При PDU избежите многих непоняток с русским у разных операторов.
Samodelkin
Sep 11 2013, 10:29
Цитата(CADiLO @ Sep 11 2013, 13:20)

>>>Так а все же есть возможность не используя PDU режим отправлять длинный текст длиной чуть более 70 символов в кодировке UCS2?
Наверно об ограничениях написали не зря. Если бы можно было бы, то не акцентировали бы внимание на длине.
Ну и мой совет - не работайте с текстовым режимом. При PDU избежите многих непоняток с русским у разных операторов.
Спасибо!
Цитата(Samodelkin @ Sep 11 2013, 16:12)

Для отправки обычным текстом ставлю параметр 17,167,0,0 а для UCS2, то есть для отпрваки русской кодировкой, ставлю 17,167,0,25
Вы невнимательны. Меня интересовал ответ на AT+CSMP
=? а не AT+CSMP?
Непомнящий Евгений
Sep 13 2013, 09:49
Возвращаясь к своему вопросу.
Проблема была в том, как я указывал номер телефона получателя в ПДУ.
Я делал:
0C - количество цифр, включая F
91
9788987618F5
а надо было указывать количество цифр без F.
Странно, но мое ПДУ принимали все, кроме МТС.
В общем всем спасибо, проблема решена
CADiLO
Sep 13 2013, 10:12
Так это давно известно.
В документе GSM 03.40 до 6 версии при определении длины номера (SMSC,DA OA) допущена ошибка.Для правильного определения адресных полей следует руководствоваться документом GSM 03.40 version 6.0.0. Именно из него и взято следующее определение:
«The Address-Length field is an integer representation of the number of useful semi-octets within the Address-Value field»
поле Длина Адреса это целое число, которое представляет собой количество полезных полуоктетов в поле Адреса.
По-русски это звучит так: Длина адреса определяется, как количество цифр в номере! В это количество входят только цифры, то есть ни знак + для международного номера, ни дополняющий до четного количества символ F цифрами НЕ являются и в длину не входят!
Адрес (номер) должен содержать четное количество цифр. Если оно нечетное, то адрес (номер) дополняется символом «метка конца номера», который кодируется как F шестнадцатеричное и в длину адреса не входит!
Принятый при неизвестном типе номера символ + отбрасывается и в PDU не пишется!
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.