;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

O que é roaming? Como evitar que a conexão vire rombo na fatura do celular

Estúdio Rebimboca/UOL
Imagem: Estúdio Rebimboca/UOL

Gabriel Joppert

Colaboração para Tilt

21/01/2020 04h00

Sem tempo, irmão

  • Roaming é o serviço de transporte e faturamento de dados entre operadoras telefônicas
  • Preços ao consumidor variam bastante e dependem das empresas e países envolvidos
  • Ao viajar, consulte sua operadora sobre pacotes de roaming
  • Vale desligar roaming automático para evitar cobranças i durante viagens

Você já deve ter ouvido falar de alguém que tomou um susto ao ver a fatura do celular após uma viagem internacional. Provavelmente, o celular desta pessoa fez roaming de dados sem que ela soubesse. Para evitar surpresas no pós-férias, entenda abaixo os detalhes do serviço.

O que é roaming?

Roaming é quando uma linha de celular é ativada fora da área de cobertura e precisa usar uma segunda rede —que não a da sua operadora— para ser localizada. A tecnologia é usada para que linhas de celulares funcionem longe do local onde estão registradas (em outro código de área ou DDD) ou em áreas onde a operadora do usuário não tem infraestrutura.

O DDD é a indicação de onde seu número de celular "nasceu". Receber chamadas fora dessa área irá exigir que a sua linha faça um roaming de voz ou de dados. Praticamente nenhum plano de celular no Brasil cobra roaming nacional. No exterior, a cobrança é inevitável e pode ser alta.

No Japão, por exemplo, o roaming automático para as três principais operadoras brasileiras custaria de R$ 33 a R$ 79,90 por dia. Se houver tarifa ligada ao volume de dados trafegados — que pode chegar a R$ 33 por MB — a conta sai do controle facilmente. Sob essas condições, meia hora na internet custaria algo como R$ 1.980.

Como funciona?

Ao sair de sua área de cobertura, seu celular continuará tentando conexão com antenas próximas. Ao achar o celular "estranho", as redes visitantes tentarão descobrir a rede doméstica dele.

Se houver compatibilidade entre as redes — que é definida por acordos de roaming entre operadoras do mundo todo —, a rede visitante (a do turista) vai pedir mais informações para a rede doméstica usando o IMSI, um código internacional que identifica a sua linha (chip) como de sua operadora.

Este código é a chave para tudo que a sua conta telefônica transporta pelas redes de celular — e pode ser usado até para deixar você sem sinal ou coletar seus dados. A rede doméstica irá informar se o celular está apto ou não para o roaming e aí, enfim, pode começar a itinerância de dados.

A operadora local daquele país ficará responsável por fazer os dados chegarem à sua rede doméstica, além de manter uma conta temporária dos serviços prestados para poder cobrar da operadora da rede doméstica.

Por que o roaming é tão caro?

O roaming é parte da telefonia celular desde a segunda geração de redes, a 2G (dos padrões GSM ou CDMA/TDMA) dos anos 1990. Mas a complexidade tecnológica do processo não é a causa dos altos preços.

A Anatel explicou ao Tilt que, no varejo (entre operadora e consumidor) os preços são livremente estabelecidos, conforme a Lei Geral de Telecomunicações. No atacado, entre operadoras nacionais, o preço é regulado pelo Plano Geral de Metas de Competição (PGMC, Resolução Anatel nº 600). Ele dá às prestadoras a liberdade para determinar seus preços de roaming, mas tais preços devem ser praticados a qualquer interessado —ou seja, não pode haver tratamento discriminatório.

No roaming internacional os preços se dão de acordo com a negociação entre as prestadoras dos diversos países. A variação grande nos preços reflete os acordos comerciais e técnicos entre cada elo desta cadeia (operadora internacional, operadora nacional e eventuais empresas intermediárias).

Isto depende de fatores que vão desde concessões de infraestrutura até acordos entre governos, já que cada país tem uma legislação para reger a prestação e cobrança do serviço.

A União Europeia, por exemplo, firmou acordo que regulamenta a cobrança em 2012, após pressão dos legisladores em resposta aos primeiros sinais de cobranças abusivas.

No Brasil, a Anatel, o Conselho istrativo de Defesa Econômica (Cade) e o Procon regulamentam e fiscalizam o roaming. A Comissão de Ciência e Tecnologia, Inovação, Comunicação e Informática (CCT) recentemente rejeitou um projeto de lei que visava a proibir a cobrança entre empresas do mesmo grupo econômico.

Enquanto isso, o Mercosul estuda um acordo para extinguir a cobrança do roaming entre seus países-membros.

Como faço antes de viajar?

De acordo com Eduardo Tude, presidente da consultoria Teleco, se a viagem é dentro do país, não haverá nenhuma nova cobrança. "O único cuidado a tomar é usar o Código de Seleção de Prestadora (CSP) da sua prestadora ao efetuar chamadas de longa distância", explica.

Em viagens para fora do país, as opções para o consumidor são:

  • Contratar um plano da própria operadora
  • Comprar um chip internacional válido para os países que irá visitar
  • Comprar um chip de uma operadora do país de destino

Se você faz questão de usar a sua mesma linha telefônica brasileira, bem como sua internet móvel, contate sua operadora. Os preços variam de acordo com seu plano e o país de destino, e é possível que haja algum pacote vantajoso para o seu caso.

Há grandes chances, no entanto, de os preços altos tornarem esta opção inviável. Neste caso, o primeiro o para impedir qualquer surpresa ou cobrança indevida será certificar-se de que seu roaming automático está desativado.

No iPhone, a opção de "roaming" aparece em Ajustes —> Celular, quando os dados do celular estão ligados. Em um celular Android, vá em Configurar, depois Rede, e então Rede Móvel e aí desative o roaming automático.

Neste caso, você deverá usar o celular apenas em redes wi-fi para ar a internet. Se você quer estar sempre conectado, a opção mais vantajosa é comprar um chip ded uma operadora do país visitaddo, que irá funcionar em qualquer celular desbloqueado. Em geral eles são fáceis de achar e permitem escolher planos de dados e/ou de minutos de chamadas.

Desligar a atualização automática de aplicativos pela rede do celular também evita problemas —veja os os para Android e iOS.

Fui vítima de uma cobrança excessiva! E agora?

Por fim, caso você sinta que foi vítima de uma cobrança abusiva ou injustificada, a Anatel recomenda registrar reclamação na prestadora e, se ela não o solucionar, registrar uma reclamação na Anatel.

A agência também indicou ao Tilt duas cartilhas para ajudar a identificar uma cobrança errada e os os a tomar a partir daí.

A agência também detalhou os esforços que vem tomando em relação a essas questões. "Em 2019, foram registradas 2.572 reclamações sobre o tema roaming internacional, uma diminuição de 1,5% em relação ao ano anterior. Ainda assim, apesar de não figurar entre os motivos mais reclamados, o tema tem despertado atenção da Anatel, que avalia atualmente os problemas relacionados a roaming internacional e se há necessidade de alguma atuação da Agência junto às prestadoras."

SIGA TILT NAS REDES SOCIAIS