|
Как ответить на вызов при входящем во время CIICR, SIM800C |
|
|
|
Dec 11 2016, 15:18
|
Профессионал
    
Группа: Свой
Сообщений: 1 468
Регистрация: 28-03-10
Из: Беларусь
Пользователь №: 56 256

|
Здравствуйте.
Наткнулся на ситуацию: если входящий вызов попадает в момент ожидания ответа на AT+CIICR, то ответить или сбросить вызов невозможно. Модем не отвечает ни на какие команды...
[16:04:34] Recv: AT+CIICR [16:04:37] Recv: [16:04:37] Recv: RING [16:04:37] Recv: [16:04:37] Recv: +CLIP: "+ххххххххххх",145,"",0,"",0 [16:04:37] Recv: [16:04:37] Recv: ATA - и тишина пока вызов не окончится (прилетают только URC)...
P.S. Согласен, что ситуация редкая, однако в SIM900 URC в таком месте никогда не прилетало, сперва был ответ на саму команду AT+CIICR
|
|
|
|
|
 |
Ответов
(1 - 13)
|
Dec 12 2016, 05:16
|
Профессионал
    
Группа: Свой
Сообщений: 1 241
Регистрация: 15-11-05
Из: Челябинск
Пользователь №: 10 882

|
Ну, во-первых, все-таки не стоит подавать команду, пока не получили OK на предыдущую. Где OK на +CIICR? Во-вторых, 》》Модем не отвечает ни на какие команды... не отвечает это сколько? На +CIICR Max Response Time 85 seconds по инструкции. В-третьих, если связь устанавливаем и таймауты большие, но звонок может проходить, тут мультиплексор напрашивается.... PS: экспериментирвал тут с неответом на команду во время "инициализации" модема. Так вот, ответ приходил от 5 секунд, до, видимо, бесконечности. Видел ответ и через 60+ секунд... Бывало, и через 100 не дожидался (больше не ждал, но ответ на повторную команду тут же приходил).
|
|
|
|
|
Dec 12 2016, 07:12
|
Профессионал
    
Группа: Свой
Сообщений: 1 468
Регистрация: 28-03-10
Из: Беларусь
Пользователь №: 56 256

|
Цитата Ну, во-первых, все-таки не стоит подавать команду, пока не получили OK на предыдущую. Где OK на +CIICR? В том то и дело, что ответ на CIICR прилетает только после окончания вх.вызова. Цитата На то и URC)) Попробуйте AT&D и управляйте выводом DTR модема. Я не против URC, но среагировать то надо как-то  Да, DTR - это решение, жаль железо уже не переделать в текущей ревизии...
|
|
|
|
|
Dec 12 2016, 10:54
|

Просто Che
    
Группа: Свой
Сообщений: 1 567
Регистрация: 22-05-07
Из: ExUSSR
Пользователь №: 27 881

|
Цитата(Alt.F4 @ Dec 11 2016, 17:18)  Наткнулся на ситуацию: если входящий вызов попадает в момент ожидания ответа на AT+CIICR, то ответить или сбросить вызов невозможно. Модем не отвечает ни на какие команды... Знакомое поведение, но проверял это очень давно и подробностей уже не помню. То ли еще на SIM300 проверял, то ли уже на SIM900, но было какое-то состояние при поднятии GPRS, когда при входящем звонке появлялся RING RING, и модем на команды не отвечал и ожидал окончания этого входящего звонка. После отбоя (внешнего) вываливались одним махом все мною посланные команды вместе с ответами модема. Такое впечатление, что при звонке модем уходил на более приоритетную задачу и все другое просто приостанавливалось (подвисало). Так что этот баг (или фича?  ) у Симкома испокон веков... Я с этим никак не борюсь, поскольку не вижу возможности, да и ситуация редкая. Просто алгоритмы отлавливания ошибок при GPRS соединении эту ситуацию определяют и перезапускают подключение. Вряд ли кому то нужно специально "валить" устройство при помощи такой DDOS-атаки. з.ы. дергать DTR-ом не пробовал, может и поможет...
|
|
|
|
|
Dec 12 2016, 13:45
|
Профессионал
    
Группа: Свой
Сообщений: 1 241
Регистрация: 15-11-05
Из: Челябинск
Пользователь №: 10 882

|
Цитата(CADiLO @ Dec 12 2016, 16:28)  А просто взять и на момент GPRS запретить входящие? Так вроде и так абонент должен быть недоступен... А нас же не класс A модуль? Или, все-таки А? Цитата(Alt.F4 @ Dec 12 2016, 12:12)  Да, DTR - это решение, жаль железо уже не переделать в текущей ревизии... Мультиплексор переразводки не потребует... Правда, работает ли он адекватно (с MTK RTOS, ведь все проблемы от нее идут)?
|
|
|
|
|
Dec 13 2016, 17:21
|

Профессионал
    
Группа: Свой
Сообщений: 1 032
Регистрация: 13-03-08
Из: Маськва
Пользователь №: 35 877

|
Цитата(CADiLO @ Dec 12 2016, 14:28)  >>>Наткнулся на ситуацию: если входящий вызов попадает в момент ожидания ответа на AT+CIICR, то ответить или сбросить вызов невозможно.
А просто взять и на момент GPRS запретить входящие? Дурацкий вопрос. Что делать, если я не хочу запрещать входящие? Хочется и GPRS держать как можно дольше, и дать пользователю резервный канал управления в виде DTMF'а. Запретить - попробовать поднять сессию - разрешить? PS старое наше решение (на модеме от другой конторы) тупо игнорирует входящий вызов, когда пытается поднять GPRS. Клиенты расстраиваются - в интернете устройства нет, и дозвониться до него сложно...
--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
|
|
|
|
|
Dec 14 2016, 13:21
|
Профессионал
    
Группа: Свой
Сообщений: 1 241
Регистрация: 15-11-05
Из: Челябинск
Пользователь №: 10 882

|
Цитата(CADiLO @ Dec 13 2016, 23:32)  Или вы думаете что у операторов софт умнее написан, если он позволяет отправить вызов устройству зная что устройство ждет от него ответ на команду. А кто сказал, что оператор ПОЛУЧИЛ команду раньше, чем он послал вызов устройству? Логи? Крайний случай - оба одновременно послали друг другу. Что делать в таких случаях - должно быть описано в стандартах. Послал != Получил(дошло). Стандарты читают тогда, когда документация производителя уже не помогает (то есть редко). Симком будет пенять на MTK, МТК на лицензионный GSM стек. Опсосы будут пенять на софтописателей, те будут пенять на производителей оборудования, а они, в свою очередь, на лицензионный GSM стек, который прошел все сертификаты..
|
|
|
|
|
Jan 3 2017, 08:43
|
Профессионал
    
Группа: Свой
Сообщений: 1 468
Регистрация: 28-03-10
Из: Беларусь
Пользователь №: 56 256

|
Не по теме, но возможно будет интересно... Наткнулся на странный ответ модема "SIM800 R14.18": Код [11:35:34] Recv: AT+CREG? [11:35:34] Recv: [11:35:34] Recv: +CREG: 0,2 [11:35:34] Recv: [11:35:34] Recv: OK [11:35:34] Recv: [11:35:35] Recv: AT+CREG? <-- 2сек тишина [11:35:37] Recv: AT+CREG? [11:35:40] Recv: [11:35:40] Recv: SIM800 R14.18 [11:35:40] Recv: [11:35:40] Recv: ERROR [11:35:40] Recv: AT+CREG? [11:35:40] Recv: [11:35:40] Recv: +CREG: 0,1 [11:35:40] Recv: [11:35:40] Recv: OK
|
|
|
|
|
Jan 13 2017, 15:02
|

Частый гость
 
Группа: Свой
Сообщений: 184
Регистрация: 7-10-15
Из: Санкт-Петербург
Пользователь №: 88 743

|
Цитата(Alt.F4 @ Jan 3 2017, 11:43)  Не по теме, но возможно будет интересно... Наткнулся на странный ответ модема "SIM800 R14.18": Код [11:35:34] Recv: AT+CREG? [11:35:34] Recv: [11:35:34] Recv: +CREG: 0,2 [11:35:34] Recv: [11:35:34] Recv: OK [11:35:34] Recv: [11:35:35] Recv: AT+CREG? <-- 2сек тишина [11:35:37] Recv: AT+CREG? [11:35:40] Recv: [11:35:40] Recv: SIM800 R14.18 [11:35:40] Recv: [11:35:40] Recv: ERROR [11:35:40] Recv: AT+CREG? [11:35:40] Recv: [11:35:40] Recv: +CREG: 0,1 [11:35:40] Recv: [11:35:40] Recv: OK на линии обмена с модулем нет помех?.. т.к. этот ответ активирует другая команда
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|