Alt.F4
Jul 19 2013, 05:09
Здравствуйте.
Объект мобильный, передаем на сервер раз в 5мин по 80Б, округление трафика у оператора 5кБ.
Подскажите, пожалуйста, как лучше всего обходить округление:
1. Постоянно висеть в онлайне на сервере и пинговать?
2. Разрывать соединение AT+CIPCLOSE=1 без закрытия PDP контекста?
Кстати, если объект заедет в зону отсутствия покрытия GSM, PDP контекст автоматом закрывается?
Спасибо.
bugish
Jul 19 2013, 06:36
Просто не разрывай сессию. Как показала практика, у меня МТС-Ураина рвет сессию только через 20 митут бездействия, для чего раз 10 минут если параметры датчиков не изменились я посылаю на сервер один "спец байт " который сервер игнорит. Рекорд сессии 23 часа
molecul
Jul 19 2013, 07:38
Цитата(Alt.F4 @ Jul 19 2013, 09:09)

Здравствуйте.
Объект мобильный, передаем на сервер раз в 5мин по 80Б, округление трафика у оператора 5кБ.
Подскажите, пожалуйста, как лучше всего обходить округление:
1. Постоянно висеть в онлайне на сервере и пинговать?
2. Разрывать соединение AT+CIPCLOSE=1 без закрытия PDP контекста?
Кстати, если объект заедет в зону отсутствия покрытия GSM, PDP контекст автоматом закрывается?
Спасибо.
От оператора зависит. Некоторые (например Мегафон) принудительно разрывают сессию каждый час.
Alt.F4
Jul 19 2013, 07:57
bugish, molecul, я так понимаю речь идет о TCP сессии?
Т.е. все время пингуем сервер, дабы соединение не закрылось по таймауту.
Спасибо.
bugish
Jul 19 2013, 08:23
Да просто после передачи данных не делай AT+CIPCLOSE оставь открытым сокет, передавай данные раз в пять минут пока оператор тебя сам не отключит. Думаю и пинговать не нужно.
Alt.F4
Jul 19 2013, 08:38
Спасибо большое!
firew0rker
Jul 19 2013, 11:48
Если я использую HTTP для передачи каждые 10мин, есть ли разница делаю ли я каждый раз AT+HTTPTERM а через следующие 10мин AT+HTTPINIT, или нет?
Если держать сервис НТТР всегда запущенным, это не поможет сэкономить?
vassabi
Jul 19 2013, 16:27
Держать TCP сессию всегда открытой... А если девайсов много? Серверу "плохо" не станет?
Имхо, лучше держать открытым GPRS соединение и раз в 5-10 минут "долбить" пингом (1 пакет минимальной длинны) на какой-нибудь google.com
Я так тестировал на макетке (МТС Украина) - спустя трое суток просто выключил - ни одного реконнекта.
Alt.F4
Jul 19 2013, 18:03
Цитата
Держать TCP сессию всегда открытой... А если девайсов много? Серверу "плохо" не станет?
Я не знаток внутренностей стека TCP, но всегда считал, если данные не поступают, то открытая сессия ресурсов не ест (хранение в СОЗУ дескриптора ТСР соединения я нагрузкой не считаю).
А вообще трафик опсосы округляют по активации/деактивации GPRS контекста?
По МТС Москва могу сказать так - по умолчанию при соединении сразу списывают 10Кбайт. Сессия не разрывается принудительно, но бывает что разрывается.
Один пакет 100 байт - так что 10Кб сильно завышено.
После беседы с менеджером округление уменьшено и теперь за месяц с 30 сек интервалом передачи пакетов выходит 6-8 руб.
QUOTE (bugish @ Jul 19 2013, 09:36)

Просто не разрывай сессию. Как показала практика, у меня МТС-Ураина рвет сессию только через 20 митут бездействия, для чего раз 10 минут если параметры датчиков не изменились я посылаю на сервер один "спец байт " который сервер игнорит. Рекорд сессии 23 часа
"спец байт " это команда типа NOP. Но это если TCP/IP стек доступный. А если использовать стек SIM900 внутренний (он же без доступа), то как быть тогда?
Alt.F4
Jul 21 2013, 04:52
Кстати, кто-нибудь в курсе, по какому триггеру сменяется тарификация в роуминге. Допустим сессия активна и объект выехал из домашней сети в роуминг, по какому тарифу будут сниматься средства со счета?
Спасибо.
Цитата(Alt.F4 @ Jul 21 2013, 08:52)

Кстати, кто-нибудь в курсе, по какому триггеру сменяется тарификация в роуминге. Допустим сессия активна и объект выехал из домашней сети в роуминг, по какому тарифу будут сниматься средства со счета?
Спасибо.
Триггер один - в чьем ведении вышка, обслуживающая абонента, тот и выставляет счет по своему тарифу.
Alt.F4
Jul 21 2013, 07:36
Цитата
Триггер один - в чьем ведении вышка, обслуживающая абонента, тот и выставляет счет по своему тарифу.
И при смене домашней сети на роуминг GPRS сессия автоматом не обрывается?Т.е., если мы хотим для экономии средств на счете передавать данные в роуминге реже чем в домашней сети, то надо постоянно опрашивать AT+CREG?
Цитата(Alt.F4 @ Jul 19 2013, 09:09)

Здравствуйте.
Объект мобильный, передаем на сервер раз в 5мин по 80Б, округление трафика у оператора 5кБ.
Подскажите, пожалуйста, как лучше всего обходить округление:
1. Постоянно висеть в онлайне на сервере и пинговать?
2. Разрывать соединение AT+CIPCLOSE=1 без закрытия PDP контекста?
Кстати, если объект заедет в зону отсутствия покрытия GSM, PDP контекст автоматом закрывается?
Спасибо.
Вот вы сами подумайте и посчитайте, сколько вы потеряете денег на округлении. На общем трафике ваши 5кБ будут теряться. Можете после каждой передачи разрывать GPRS и это будет никак не хуже, чем если вы будете пинговать сервер, пингование оно не бесплатное между прочим.
Harbinger
Jul 21 2013, 16:57
Там есть нюансы. В роуминге единица тарификации может и 100 КБ достигнуть, этак по 10 евро за мегабайт.
Ведущие производители трекеров (Телтоника, Руптела...) специально предусмотрели для таких случаев несколько профилей передачи данных, переключаемых в зависимости от сети, в которой работает устройство.
Да даже в родной сети бывают казусы. Вот у местного припейда МТС единица тарификации - 25 килобайт при расценках несколько гривен за МБ. Попалось как-то чудо производства о. Тайвань, которое кушало 25...40 грн. в сутки. Алгоритм простой: по каждой точке открывалась сессия, делалась попытка передачи, закрывалась сессия. Вне зависимости от успеха коннекта с сервером эти самые 25 килобайт списывались. Буферной памяти там, кстати, не было, то есть каждый безуспешный коннект - безвозвратно потерянная точка...
Alt.F4
Jul 23 2013, 11:21
Дозвонился до местного МТС, говорят, что переход из домашней сети в роуминг никак не отражается на GPRS сессии, меняется только тарификация.
Выходит надо постоянно опрашивать AT+CREG?, чтобы не попасть "на бабки".
з.ы. данные передаем в домашней сети раз в 3сек, в роуминге - раз в 10мин.
Alechek
Jul 23 2013, 12:02
Человек в МТС адекватный был??
Чушь какая то. Как может удерживатся GPRS сессия, если идет смена сети?
Полагаю, как минимум модуль должен сбросить сессию.
Aurochs
Jul 23 2013, 12:37
Цитата(Alechek @ Jul 23 2013, 15:02)

Чушь какая то. Как может удерживатся GPRS сессия, если идет смена сети?
Полагаю, как минимум модуль должен сбросить сессию.
Чего не сделаешь, чтобы выдоить из клиента лишние бабки?
Сессия каким-то образом передается от оператора к оператору. Поэтому модем продолжает работать как ни в чем не бывало.
Появилось недавно, раньше такого не видел. И пока не у всех операторов.
Чтобы на эту хрень не пойматься нужно либо периодически опрашивать по CREG, либо включать асинхронные сообщения и их обрабатывать (если не ошибаюсь это можно сделать по AT+CREG=2)
Alechek
Jul 23 2013, 13:57
Хм... помимо CREG еще ведь есть и CGREG... Вот он, интересно, как себя поведет?
И вообще, как это надо умудрится перепрыгнуть сразу с домашней сети на роуминговую? Без потери оной родной!
То есть перескочить с +CREG: 1,x сразу на +CREG: 5,x, минуя состояния 0 или 2
Цитата(Alechek @ Jul 23 2013, 20:57)

Хм... помимо CREG еще ведь есть и CGREG... Вот он, интересно, как себя поведет?
И вообще, как это надо умудрится перепрыгнуть сразу с домашней сети на роуминговую? Без потери оной родной!
То есть перескочить с +CREG: 1,x сразу на +CREG: 5,x, минуя состояния 0 или 2
Вы о чем? Это ваще идеальные условия осуществления предоставления услуг оператора связи!
Домашняя сеть вас передала гостевой вы даже коннект не потеряли!
Harbinger
Jul 24 2013, 03:20
Вопрос, кстати, интересный... во всяком случае на телефоне переход с Тримоба (UMTS) на Киевстар (GSM) происходит совершенно незаметно (а обратный очень неохотно, по-видимому из-за особенностей тарификации в роуминге

).
Alechek
Jul 24 2013, 05:28
Цитата(sobr @ Jul 23 2013, 20:14)

Вы о чем? Это ваще идеальные условия осуществления предоставления услуг оператора связи!
Домашняя сеть вас передала гостевой вы даже коннект не потеряли!
Ага! Коннект голосовой? А тарификация?
Вообще то тут чисто юридически заковырка получается...
Как бы по нашему законодательству нельзя брать деньги за услуги, которые былы предоставлены мне помимо моего желания.
То есть, если я разговариваю/сижу в инете в домашней сети, без уведомления, что домашняя (халява) закончилась, брать деньги за роуминг как бы противозаконно!
Цитата(Alechek @ Jul 24 2013, 12:28)

Ага! Коннект голосовой? А тарификация?
Вообще то тут чисто юридически заковырка получается...
Как бы по нашему законодательству нельзя брать деньги за услуги, которые былы предоставлены мне помимо моего желания.
То есть, если я разговариваю/сижу в инете в домашней сети, без уведомления, что домашняя (халява) закончилась, брать деньги за роуминг как бы противозаконно!
Как бы по Вашему законодательству все нормально. Внимательно прочитайте договор с оператором. Роуминг - услуга, которая включена по умолчанию. Так что он (роуминг) предоставляется НЕ помимо Вашего желания. Не нравится - отключите!
molecul
Jul 24 2013, 07:53
Цитата(Alechek @ Jul 24 2013, 09:28)

Ага! Коннект голосовой? А тарификация?
Вообще то тут чисто юридически заковырка получается...
Как бы по нашему законодательству нельзя брать деньги за услуги, которые былы предоставлены мне помимо моего желания.
То есть, если я разговариваю/сижу в инете в домашней сети, без уведомления, что домашняя (халява) закончилась, брать деньги за роуминг как бы противозаконно!
Вообще говоря, тарификация одного непрерывного вызова (или одной GPRS сессии) должна осуществляться по тарифу на момент начала вызова. Так что если прошел мягкий хендовер в роуминговую сеть - это проблема оператора, а не потребителя.
Alechek
Jul 24 2013, 09:07
Цитата(sobr @ Jul 24 2013, 13:34)

Роуминг - услуга, которая включена по умолчанию. Так что он (роуминг) предоставляется НЕ помимо Вашего желания.
Не совсем так. Она не включена, а
подключена. И не факт, что я ее буду пользовать. Это всего лишь возможность.
Заставлять меня
пользоватся ею помимо моего желания - противозаконно.
Ведь подключенная услуга СМС вовсе не означает, что оператор помимо моего желания может отправлять с моей трубы СМС (допустим, через STK)
Цитата(Alechek @ Jul 24 2013, 16:07)

Не совсем так. Она не включена, а подключена. И не факт, что я ее буду пользовать. Это всего лишь возможность.
Заставлять меня пользоватся ею помимо моего желания - противозаконно.
Ведь подключенная услуга СМС вовсе не означает, что оператор помимо моего желания может отправлять с моей трубы СМС (допустим, через STK)
Выдержки из Википедии о понятии "автоматического роуминга":"При автоматическом роуминге абоненту не требуется заявки на предоставление обслуживания в чужой сети. После того, как аппарат абонента регистрируется в чужой сети,
все необходимые процедуры выполняются автоматически и незаметно для абонента. Такой вид роуминга в наши дни является основным."
Не нравится - отслеживайте CREG.
Цитата(molecul @ Jul 24 2013, 14:53)

Вообще говоря, тарификация одного непрерывного вызова (или одной GPRS сессии) должна осуществляться по тарифу на момент начала вызова. Так что если прошел мягкий хендовер в роуминговую сеть - это проблема оператора, а не потребителя.
Вообще говоря...должна... не аргумент!
Аргументом будет: На основании статьи Х закона "ХХХ"... должна осуществляться...
Или: согласно пункту Х договора "ХХХ"... должна осуществляться...
А так это ваши желания.
molecul
Jul 24 2013, 09:35
Цитата(sobr @ Jul 24 2013, 13:17)

Вообще говоря...должна... не аргумент!
Аргументом будет: На основании статьи Х закона "ХХХ"... должна осуществляться...
Или: согласно пункту Х договора "ХХХ"... должна осуществляться...
А так это ваши желания.
Интересовался этим вопросом достаточно давно, поэтому не припомню нормативный документ, на основании которого это делается. Тем не менее на тех тарифах, которые предполагают различную тарификацию в разных сегментах домашней сети, это
прописано явно:
Цитата
При тарификации местного звонка методом предоставления услуги связи считается местонахождение той базовой станции, которая обслуживала данный вызов на момент соединения.
Alechek
Jul 24 2013, 09:37
Вообще-то
Цитата(sobr @ Jul 24 2013, 15:17)

Выдержки из Википедии о понятии "автоматического роуминга"
тоже не аргумент. Ведь за
регистрацию в гостевой сети (которая "проходит незаметно") никто деньги не снимает!
Снимают именно за
умышленные действия в этой сети.
И если я установил соединение/сессию в домашней сети (по ее тарифам), автоматический "незаметный" переход на другую тарификацию - это повод для иска в суд.
И CREG тут не не поможет. В роуминге, как правило, тарификация по 100Кб и по космическим ценам.
То есть, с вероятностью 99.99% возникнет ситуация, что даже если я заметил по CREG роуминг, открытое TCP соедниение уже успело по роумингу пару байт, которые, в свою очередь, округлились до 100Кб по космическим расценкам....
Да, проще дать, чем объяснить почему нет!
Господа, давайте так, кто из вас первый выиграет судебный процесс по данному поводу. Тот и папа.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.