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"><<a href="mailto:juliojptelecom@gmail.com">juliojptelecom@gmail.com</a>></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. ('11', '9999'
'9999')</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 >= 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>