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

От оператора зависит. Некоторые (например Мегафон) принудительно разрывают сессию каждый час.
Alt.F4
bugish, molecul, я так понимаю речь идет о TCP сессии?
Т.е. все время пингуем сервер, дабы соединение не закрылось по таймауту.
Спасибо.
bugish
Да просто после передачи данных не делай AT+CIPCLOSE оставь открытым сокет, передавай данные раз в пять минут пока оператор тебя сам не отключит. Думаю и пинговать не нужно.
Alt.F4
Спасибо большое!
firew0rker
Если я использую HTTP для передачи каждые 10мин, есть ли разница делаю ли я каждый раз AT+HTTPTERM а через следующие 10мин AT+HTTPINIT, или нет?
Если держать сервис НТТР всегда запущенным, это не поможет сэкономить?
vassabi
Держать TCP сессию всегда открытой... А если девайсов много? Серверу "плохо" не станет?
Имхо, лучше держать открытым GPRS соединение и раз в 5-10 минут "долбить" пингом (1 пакет минимальной длинны) на какой-нибудь google.com
Я так тестировал на макетке (МТС Украина) - спустя трое суток просто выключил - ни одного реконнекта.
Alt.F4
Цитата
Держать TCP сессию всегда открытой... А если девайсов много? Серверу "плохо" не станет?
Я не знаток внутренностей стека TCP, но всегда считал, если данные не поступают, то открытая сессия ресурсов не ест (хранение в СОЗУ дескриптора ТСР соединения я нагрузкой не считаю).

А вообще трафик опсосы округляют по активации/деактивации GPRS контекста?
x893
По МТС Москва могу сказать так - по умолчанию при соединении сразу списывают 10Кбайт. Сессия не разрывается принудительно, но бывает что разрывается.
Один пакет 100 байт - так что 10Кб сильно завышено.
После беседы с менеджером округление уменьшено и теперь за месяц с 30 сек интервалом передачи пакетов выходит 6-8 руб.
Aner
QUOTE (bugish @ Jul 19 2013, 09:36) *
Просто не разрывай сессию. Как показала практика, у меня МТС-Ураина рвет сессию только через 20 митут бездействия, для чего раз 10 минут если параметры датчиков не изменились я посылаю на сервер один "спец байт " который сервер игнорит. Рекорд сессии 23 часа

"спец байт " это команда типа NOP. Но это если TCP/IP стек доступный. А если использовать стек SIM900 внутренний (он же без доступа), то как быть тогда?
Alt.F4
Кстати, кто-нибудь в курсе, по какому триггеру сменяется тарификация в роуминге. Допустим сессия активна и объект выехал из домашней сети в роуминг, по какому тарифу будут сниматься средства со счета?
Спасибо.
PDA
Цитата(Alt.F4 @ Jul 21 2013, 08:52) *
Кстати, кто-нибудь в курсе, по какому триггеру сменяется тарификация в роуминге. Допустим сессия активна и объект выехал из домашней сети в роуминг, по какому тарифу будут сниматься средства со счета?
Спасибо.
Триггер один - в чьем ведении вышка, обслуживающая абонента, тот и выставляет счет по своему тарифу.
Alt.F4
Цитата
Триггер один - в чьем ведении вышка, обслуживающая абонента, тот и выставляет счет по своему тарифу.
И при смене домашней сети на роуминг GPRS сессия автоматом не обрывается?
Т.е., если мы хотим для экономии средств на счете передавать данные в роуминге реже чем в домашней сети, то надо постоянно опрашивать AT+CREG?
kan35
Цитата(Alt.F4 @ Jul 19 2013, 09:09) *
Здравствуйте.
Объект мобильный, передаем на сервер раз в 5мин по 80Б, округление трафика у оператора 5кБ.
Подскажите, пожалуйста, как лучше всего обходить округление:
1. Постоянно висеть в онлайне на сервере и пинговать?
2. Разрывать соединение AT+CIPCLOSE=1 без закрытия PDP контекста?
Кстати, если объект заедет в зону отсутствия покрытия GSM, PDP контекст автоматом закрывается?
Спасибо.

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

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

Вы о чем? Это ваще идеальные условия осуществления предоставления услуг оператора связи!
Домашняя сеть вас передала гостевой вы даже коннект не потеряли!
Harbinger
Вопрос, кстати, интересный... во всяком случае на телефоне переход с Тримоба (UMTS) на Киевстар (GSM) происходит совершенно незаметно (а обратный очень неохотно, по-видимому из-за особенностей тарификации в роуминге sm.gif ).
Alechek
Цитата(sobr @ Jul 23 2013, 20:14) *
Вы о чем? Это ваще идеальные условия осуществления предоставления услуг оператора связи!
Домашняя сеть вас передала гостевой вы даже коннект не потеряли!

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

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

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

Цитата(molecul @ Jul 24 2013, 14:53) *
Вообще говоря, тарификация одного непрерывного вызова (или одной GPRS сессии) должна осуществляться по тарифу на момент начала вызова. Так что если прошел мягкий хендовер в роуминговую сеть - это проблема оператора, а не потребителя.

Вообще говоря...должна... не аргумент!
Аргументом будет: На основании статьи Х закона "ХХХ"... должна осуществляться...
Или: согласно пункту Х договора "ХХХ"... должна осуществляться...
А так это ваши желания.
molecul
Цитата(sobr @ Jul 24 2013, 13:17) *
Вообще говоря...должна... не аргумент!
Аргументом будет: На основании статьи Х закона "ХХХ"... должна осуществляться...
Или: согласно пункту Х договора "ХХХ"... должна осуществляться...
А так это ваши желания.

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

тоже не аргумент. Ведь за регистрацию в гостевой сети (которая "проходит незаметно") никто деньги не снимает!
Снимают именно за умышленные действия в этой сети.
И если я установил соединение/сессию в домашней сети (по ее тарифам), автоматический "незаметный" переход на другую тарификацию - это повод для иска в суд.

И CREG тут не не поможет. В роуминге, как правило, тарификация по 100Кб и по космическим ценам.
То есть, с вероятностью 99.99% возникнет ситуация, что даже если я заметил по CREG роуминг, открытое TCP соедниение уже успело по роумингу пару байт, которые, в свою очередь, округлились до 100Кб по космическим расценкам....
sobr
Да, проще дать, чем объяснить почему нет!
Господа, давайте так, кто из вас первый выиграет судебный процесс по данному поводу. Тот и папа.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.