Olá Julio,<div><br></div><div>Aqui em Salvador a regra dos 50 km e diferencias entre cidades também não se aplica em alguns casos.</div><div>E por exemplo: Salvador / Lauro de Freitas / Camaçari</div><div>Todas tem o mesmo código de área (71), distancias maior que 50 km entre elas , são cidades diferentes e não precisam do código de área para realizar uma ligação.</div>
<div><br></div><div>Pablo</div><div><br></div><div><br><div class="gmail_quote">2009/9/10 JP Telecom- Julio <span dir="ltr">&lt;<a href="mailto:juliojptelecom@gmail.com">juliojptelecom@gmail.com</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">






<div bgcolor="#ffffff">
<div><font face="Arial" size="2">Pablo,</font></div>
<div><font face="Arial" size="2"></font> </div>
<div><font face="Arial" size="2">O uso de DDD não é só apenas qdo ultrapassar 50KM, 
pode ser mesmo sendo bem menos, essa regra não existe mais ( é uma regra 
antiga), agora a regra é se for cidade diferente mesmo tendo o mesmo DDD tem que 
discar o Código de área ( isso para telefones fixo) e para celular sendo o mesmo 
DDD não precisa de código de área.</font></div>
<div><font face="Arial" size="2"></font> </div>
<blockquote style="padding-right:0px;padding-left:5px;margin-left:5px;border-left:#000000 2px solid;margin-right:0px"><div><div></div><div class="h5">
  <div style="font:10pt arial">----- Original Message ----- </div>
  <div style="background:#e4e4e4;font:10pt arial"><b>From:</b> 
  <a title="pscamara@gmail.com" href="mailto:pscamara@gmail.com" target="_blank">Pablo Câmara</a> 
  </div>
  <div style="font:10pt arial"><b>To:</b> <a title="asteriskbrasil@listas.asteriskbrasil.org" href="mailto:asteriskbrasil@listas.asteriskbrasil.org" target="_blank">asteriskbrasil@listas.asteriskbrasil.org</a> 
  </div>
  <div style="font:10pt arial"><b>Sent:</b> Thursday, September 10, 2009 8:56 
  AM</div>
  <div style="font:10pt arial"><b>Subject:</b> [AsteriskBrasil] Calcula 
  distâncias entre cidades utilizando latitude e longitude. MYSQL - ASTERISK 
  1.6</div>
  <div><br></div>
  <div>Olá pessoal...</div>
  <div><br></div>
  <div>Quando devo utilizar o código de area dentro de um mesmo estado? Não 
  sei se a informação procede, mas quando a distancia ultrapassa 50 km, o uso do 
  código da area é obrigatório.</div>
  <div><br></div>
  <div>Logo resolvi apelar. Calcular as distancias utilizando latitude e 
  longitude utilizando os dados da Tabela cnlfixo da anatel.</div>
  <div>E uma tabela de preferencias (filiais) que tem as informações da 
  filial.</div>
  <div><br></div>
  <div>Porem não tenho certeza se esses cálculos estão corretos.</div>
  <div><br></div>
  <div>Passo como paramento o número discado. (&#39;11&#39;, &#39;9999&#39; 
  &#39;9999&#39;)</div>
  <div><br></div>
  <div><br></div>
  <div>DELIMITER $$</div>
  <div><br></div>
  <div>DROP FUNCTION IF EXISTS `asterisk`.`fn_calculaDistancia` $$</div>
  <div>CREATE DEFINER=`root`@`%` FUNCTION `fn_calculaDistancia`(varDDD 
  varchar(2), varFaixa1 varchar(6), varFaixa2 varchar(4)) RETURNS varchar(10) 
  CHARSET latin1</div>
  <div>BEGIN</div>
  <div><br></div>
  <div>declare radiano float default 0;</div>
  <div>declare unidade float default 0;</div>
  <div>declare area varchar(2) default 0;</div>
  <div>declare latitude_1 float default 0;</div>
  <div>declare longitude_1 float default 0;</div>
  <div>declare latitude_2 float default 0;</div>
  <div>declare longitude_2 float default 0;</div>
  <div>declare distancia float default 50;</div>
  <div><br></div>
  <div>  set radiano = 180/PI();</div>
  <div>  set unidade = 60 * 1.1515 * 1.609344;</div>
  <div><br></div>
  <div>  select substr(prefixo,1,2), substr(latitude,1,4)/100, 
  substr(longitude,1,4)/100</div>
  <div>  into area, latitude_1, longitude_1</div>
  <div>  from asterisk.preferencias</div>
  <div>  where principal = 1;</div>
  <div><br></div>
  <div>  if (area = varDDD) then</div>
  <div>   select substr(latitude,1,4)/100, 
  substr(longitude,1,4)/100</div>
  <div>   into latitude_2, longitude_2</div>
  <div>   from asterisk.cnlfixo</div>
  <div>   where prefixo = concat(varDDD,varFaixa1)</div>
  <div>   and   varFaixa2 between faixainicial and 
  faixafinal;</div>
  <div><br></div>
  <div>   set distancia = ((ACOS(SIN(latitude_1/radiano) * 
  SIN(latitude_2/radiano) +</div>
  <div>        COS(latitude_1/radiano) * 
  COS(latitude_2/radiano) *</div>
  <div>        COS(longitude_2/radiano - 
  longitude_1/radiano))) * unidade);</div>
  <div><br></div>
  <div>   end if;</div>
  <div><br></div>
  <div>   if (distancia &gt;= 50) then</div>
  <div>      return 0; -- usa ddd</div>
  <div>   else</div>
  <div>      return 1; -- remove ddd</div>
  <div>   end if;</div>
  <div><br></div>
  <div><br></div>
  <div>END $$</div>
  <div><br></div>
  <div>DELIMITER ;</div>
  <div><br></div>
  <div>Porem meus resultados não estao muito confiáveis. </div>
  <div>Alguem consegue ver algum problema nessa procedure?</div>
  <div><br></div>
  </div></div><p>
  </p><hr>

  <p></p><br>_______________________________________________<br>Participe do IV 
  Encontro VoIPCenter, 16 a 18 de setembro - São Paulo.<br>VoIP, Asterisk e 
  Convergência de Redes.<br><a href="http://www.encontrovoipcenter.com.br" target="_blank">http://www.encontrovoipcenter.com.br</a><br><br>Compre 
  uma camiseta da 
  AsteriskBrasil.org!<br><a href="http://www.voipmania.com.br" target="_blank">http://www.voipmania.com.br</a><br><br>Acesse o canal IRC 
  de discussão sobre Asterisk em Português Brasileiro na rede Freenode.net: 
  #asterisk-br<br>_______________________________________________<br>Lista de 
  discussões 
  AsteriskBrasil.org<br><a href="mailto:AsteriskBrasil@listas.asteriskbrasil.org" target="_blank">AsteriskBrasil@listas.asteriskbrasil.org</a><br><a href="http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil" target="_blank">http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil</a><p>
</p></blockquote></div>
<br><br>
_______________________________________________<br>
Participe do IV Encontro VoIPCenter, 16 a 18 de setembro - São Paulo.<br>
VoIP, Asterisk e Convergência de Redes.<br>
<a href="http://www.encontrovoipcenter.com.br" target="_blank">http://www.encontrovoipcenter.com.br</a><br>
<br>
Compre uma camiseta da AsteriskBrasil.org!<br>
<a href="http://www.voipmania.com.br" target="_blank">http://www.voipmania.com.br</a><br>
<br>
Acesse o canal IRC de discussão sobre Asterisk em Português Brasileiro na rede Freenode.net: #asterisk-br<br>
_______________________________________________<br>
Lista de discussões AsteriskBrasil.org<br>
<a href="mailto:AsteriskBrasil@listas.asteriskbrasil.org">AsteriskBrasil@listas.asteriskbrasil.org</a><br>
<a href="http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil" target="_blank">http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil</a><br></blockquote></div><br></div>