<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD><META http-equiv=Content-Type content="text/html; charset=utf-8"><META content="INBOX.COM" name=GENERATOR></HEAD>
<BODY>

<div>&nbsp;Eu testei o feito em Python.<br><br>Traceback (most recent call last):<br>&nbsp; File "portabilidade.py", line 27, in &lt;module&gt;<br>&nbsp;&nbsp;&nbsp; r = ClientCookie.urlopen("http://consultanumero.abr.net.br:8080/consultanumero/jCaptcha.do?metodo=carregar")<br>&nbsp; File "/opt/local/lib/python2.5/site-packages/ClientCookie/_urllib2_support.py", line 824, in urlopen<br>&nbsp;&nbsp;&nbsp; return _opener.open(url, data)<br>&nbsp; File "/opt/local/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/urllib2.py", line 387, in open<br>&nbsp;&nbsp;&nbsp; response = meth(req, response)<br>&nbsp; File "/opt/local/lib/python2.5/site-packages/ClientCookie/_urllib2_support.py", line 626, in http_response<br>&nbsp;&nbsp;&nbsp; "http", request, response, code, msg, hdrs)<br>&nbsp; File "/opt/local/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/urllib2.py", line 425, in error<br>&nbsp;&nbsp;&nbsp; return self._call_chain(*args)<br>&nbsp; File "/opt/local/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/urllib2.py", line 360, in _call_chain<br>&nbsp;&nbsp;&nbsp; result = func(*args)<br>&nbsp; File "/opt/local/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/urllib2.py", line 506, in http_error_default<br>&nbsp;&nbsp;&nbsp; raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)<br>urllib2.HTTPError: HTTP Error 404: Not Found<br><br># -*- coding: iso-8859-1 -*-<br><br>#Eder de Souza 23/11/2009<br><br>import re<br>import ClientCookie<br># -*- coding: iso-8859-1 -*-<br><br>#Eder de Souza 23/11/2009<br><br>import re<br>import ClientCookie<br>import commands<br>import sys<br>import os<br>import re<br><br>inc = 0<br>MaxTentativas = 15<br><br>tel= sys.argv[1]<br>while inc &lt; MaxTentativas:<br>&nbsp; inc = inc + 1<br>&nbsp; cj = ClientCookie.MozillaCookieJar()<br>&nbsp; opener = ClientCookie.build_opener(ClientCookie.HTTPCookieProcessor(cj))<br>&nbsp; ClientCookie.install_opener(opener)<br>&nbsp; r = ClientCookie.urlopen("http://consultanumero.abr.net.br:8080/consultanumero/jCaptcha.do?metodo=carregar")<br>&nbsp; fp = open('Captcha.jpg','w')<br>&nbsp; fp.write(r.read())<br>&nbsp; fp.close()<br>&nbsp; cj.save("infer", ignore_discard=True, ignore_expires=True)<br>&nbsp; commands.getoutput('convert Captcha.jpg Captcha.png')<br>&nbsp; commands.getoutput('pngtopnm Captcha.png &gt; Captcha.pnm')<br>&nbsp; commands.getoutput('ppmchange -remainder black -closeness 20 rgbi:.91/.8/.58 white rgbi:.8/.8/.91 white rgbi:.69/.91/.91 white Captcha.pnm &gt; Captcha_End.pnm')<br>&nbsp; captcha = commands.getoutput('gocr -C a-zA-Z0-9 -m 2 -a 90 -d 2 Captcha_End.pnm')<br>&nbsp; rmspace = captcha.replace("`, ")<br>&nbsp; rmreturn = rmspace.replace("`\n', ")<br>&nbsp; rmunderline&nbsp; = rmreturn.replace("_',")<br>&nbsp; res = re.search("([a-zA-Z0-9]+)', rmunderline")<br>&nbsp; result = res.group(1)<br>&nbsp; cj = ClientCookie.MozillaCookieJar()<br>&nbsp; cj.load("infer", ignore_discard=True, ignore_expires=True)<br>&nbsp; opener = ClientCookie.build_opener(ClientCookie.HTTPCookieProcessor(cj))<br>&nbsp; ClientCookie.install_opener(opener)<br>&nbsp; pagina = opener.open("http://consultanumero.abr.net.br:8080/consultanumero/consultarTnSemLogin.do?tn='+tel+'&amp;captcha='+result+'&amp;metodo=consultar").read()<br>&nbsp; if "Nome da prestadora" in pagina:<br><br>&nbsp;&nbsp;&nbsp; pagina&nbsp; = pagina.replace("&lt;br&gt;',")<br>&nbsp;&nbsp;&nbsp; find = re.search("Nome da prestadora: (.*)', pagina")<br>&nbsp;&nbsp;&nbsp; operadora = find.group(1)<br>&nbsp;&nbsp;&nbsp; print operadora<br>&nbsp;&nbsp;&nbsp; sys.exit()<br></div><br><br><blockquote style="padding-left: 5px; margin-left: 5px; border-left: 2px solid rgb(0, 0, 255); margin-right: 0px;"><div class="msgHeaders">-----Original Message-----<br><b>From:</b> eder.souza@bsd.com.br<br><b>Sent:</b> Mon, 24 May 2010 20:21:17 -0300<br><b>To:</b> asteriskbrasil@listas.asteriskbrasil.org<br><b>Subject:</b> Re: [AsteriskBrasil] RES: portabilidade<br><br></div><div class="oldBody"><div>Outra coisa vc deixou a linha de discagem comentada<div><br></div><div><span _class="Apple-style-span" _style="font-family: Verdana; font-size: 12px; border-collapse: collapse; color: rgb(0, 0, 128); ">####$AGI-&gt;exec(“Dial”,”SIP/MUDE AQUI PARA SUA SAIDA SIP ou GSM ou ZAP ou DAHDI ou UNICALL ou DVG etc etc|10″);</span></div>
<div><font _class="Apple-style-span" color="#000080" face="Verdana" size="3"><span _class="Apple-style-span" _style="border-collapse: collapse; font-size: 12px;"><br></span></font></div><div><font _class="Apple-style-span" color="#000080" face="Verdana" size="3"><span _class="Apple-style-span" _style="border-collapse: collapse; font-size: 12px;">Suas ligações saem para fora como ? SIP, ZAP ?</span></font></div>
<div><font _class="Apple-style-span" color="#000080" face="Verdana" size="3"><span _class="Apple-style-span" _style="border-collapse: collapse; font-size: 12px;"><br></span></font></div><div><font _class="Apple-style-span" color="#000080" face="Verdana" size="3"><span _class="Apple-style-span" _style="border-collapse: collapse; font-size: 12px;">Eng Eder de Souza</span></font></div>
<div><font _class="Apple-style-span" color="#000080" face="Verdana" size="3"><span _class="Apple-style-span" _style="border-collapse: collapse; font-size: 12px;"><br></span></font><br><div _class="gmail_quote">Em 24 de maio de 2010 20:12, Eder Souza <span dir="ltr">&lt;<a href="mailto:eder.souza@bsd.com.br">eder.souza@bsd.com.br</a>&gt;</span> escreveu:<br>
<blockquote _class="gmail_quote" _style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Oi pessoal to meio sumido da lista ando sem tempo,<div><br></div><div><br></div><div>mas testei o Script agora e para mim ta funcionando, eu fiquei de reescrever o codigo para o consulta numero da BRT mas eu ando sem tempo total..</div>

<div><br></div><div>Mas este erro é o seguinte esta vendo essa linha&nbsp;<span _style="font-family:Verdana;font-size:12px;border-collapse:collapse;color:rgb(0, 0, 128)">$num_saida = substr($num_saida,3,10); mude para:</span></div>

<div><font color="#000080" face="Verdana" size="3"><span _style="border-collapse:collapse;font-size:12px"><br></span></font></div><div><font color="#000080" face="Verdana" size="3"><span _style="border-collapse:collapse;font-size:12px">$num_saida = substr($num_saida,3,8);</span></font></div>

<div><font color="#000080" face="Verdana" size="3"><span _style="border-collapse:collapse;font-size:12px"><br></span></font></div><div><font color="#000080" face="Verdana" size="3"><span _style="border-collapse:collapse;font-size:12px">testa e me fala</span></font></div>

<div><font color="#000080" face="Verdana" size="3"><span _style="border-collapse:collapse;font-size:12px"><br></span></font></div><div><font color="#000080" face="Verdana" size="3"><span _style="border-collapse:collapse;font-size:12px"><br>

</span></font></div><div><font color="#000080" face="Verdana" size="3"><span _style="border-collapse:collapse;font-size:12px">[]'s</span></font></div><div><font color="#000080" face="Verdana" size="3"><span _style="border-collapse:collapse;font-size:12px"><br>

</span></font></div><div><font color="#000080" face="Verdana" size="3"><span _style="border-collapse:collapse;font-size:12px"><br></span></font></div><div><font color="#000080" face="Verdana" size="3"><span _style="border-collapse:collapse;font-size:12px">Eng Eder de Souza<br>

</span></font><br><div _class="gmail_quote">Em 13 de maio de 2010 07:00, sergio <span dir="ltr">&lt;<a href="mailto:sergio@inbox.com" target="_blank">sergio@inbox.com</a>&gt;</span> escreveu:<br><blockquote _class="gmail_quote" _style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><div></div><div _class="h5">



<div>

<div>&nbsp;Eu também preciso colocar pra funcionar algo para portabilidade para fazer o controle de saída das chamadas GSM.<br></div><br><br><blockquote _style="padding-left:5px;margin-left:5px;border-left:2px solid rgb(0, 0, 255);margin-right:0px">

<div><div>-----Original Message-----<br><b>From:</b> <a href="mailto:luis@dinamicca.com.br" target="_blank">luis@dinamicca.com.br</a><br><b>Sent:</b> Wed, 12 May 2010 15:58:53 -0300<br><b>To:</b> <a href="mailto:asteriskbrasil@listas.asteriskbrasil.org" target="_blank">asteriskbrasil@listas.asteriskbrasil.org</a><br>

</div><b>Subject:</b> [AsteriskBrasil] RES: portabilidade<br><br></div><div><div></div><div><div><div>

<div>

<p><span>Estou com este mesmo resultado...</span></p>

<p><span>&nbsp;</span></p>

<p><span lang="EN-US">&nbsp;&nbsp;&nbsp; -- Executing [66691824890@interno:1]
AGI("SIP/25-087590f8", "<a href="http://pega.pl" target="_blank">pega.pl</a>") in new stack</span></p>

<p><span lang="EN-US">&nbsp;&nbsp;&nbsp; -- Launched AGI Script /var/lib/asterisk/agi-bin/<a href="http://pega.pl" target="_blank">pega.pl</a></span></p>

<p><span lang="EN-US">&nbsp;&nbsp;&nbsp; -- AGI Script <a href="http://pega.pl" target="_blank">pega.pl</a> completed, returning 0</span></p>

<p>&nbsp;</p>

<div>

<p>&nbsp;</p>

</div>

<div>

<div>

<p><span>Tentei usar o script em perl, mas nao faz a consulta o que será
que estou fazendo de errado , no console aparece</span></p>

</div>

</div>

<div>

<p><span>&nbsp;</span></p>

</div>

<div>

<p><span>-- Executing [99991164742@agi:1]
AGI("SIP/3974-08ccba38", "<a href="http://pega.pl" target="_blank">pega.pl</a>") in new stack<br>
&nbsp;&nbsp;&nbsp; -- Launched AGI Script /var/lib/asterisk/agi-bin/<a href="http://pega.pl" target="_blank">pega.pl</a><br>
&nbsp;&nbsp;&nbsp; -- AGI Script <a href="http://pega.pl" target="_blank">pega.pl</a> completed, returning 0<br>
&nbsp; == Auto fallthrough, channel 'SIP/3974-08ccba38' status is 'UNKNOWN'</span></p>

</div>

<div>

<p><span>&nbsp;</span></p>

</div>

<blockquote>

<div>

<p><span>-----
Original Message ----- </span></p>

</div>

<div>

<p><b><span>From:</span></b><span> <a href="mailto:sergio@inbox.com" title="sergio@inbox.com" target="_blank">sergio</a> </span></p>

</div>

<div>

<p><b><span>To:</span></b><span> <a href="mailto:asteriskbrasil@listas.asteriskbrasil.org" title="asteriskbrasil@listas.asteriskbrasil.org" target="_blank">asteriskbrasil@listas.asteriskbrasil.org</a>
</span></p>

</div>

<div>

<p><b><span>Sent:</span></b><span> Monday, May 10, 2010
4:24 PM</span></p>

</div>

<div>

<p><b><span>Subject:</span></b><span> Re: [AsteriskBrasil]
portabilidade</span></p>

</div>

<div>

<p>&nbsp;</p>

</div>

<div>

<p>AGI em Perl que executa o Script em Python<br>
<a href="http://ederwander.wordpress.com/2010/01/15/agi-portabilidade-para-numeros-moveis-em-asterisk/" target="_blank">http://ederwander.wordpress.com/2010/01/15/agi-portabilidade-para-numeros-moveis-em-asterisk/</a><br>


<br>
Script Python que Faz a Consulta</p>

</div>

<p><a href="http://ederwander.wordpress.com/2009/11/26/portabilidade-dbo-descobrir-operadoras/" target="_blank">http://ederwander.wordpress.com/2009/11/26/portabilidade-dbo-descobrir-operadoras/</a></p>

<div>

<p>-----Original Message-----<br>
<b>From:</b> <a href="mailto:engricardofranco@gmail.com" target="_blank">engricardofranco@gmail.com</a><br>
<b>Sent:</b> Mon, 10 May 2010 15:14:53 -0300<br>
<b>To:</b> <a href="mailto:asteriskbrasil@listas.asteriskbrasil.org" target="_blank">asteriskbrasil@listas.asteriskbrasil.org</a><br>
<b>Subject:</b> Re: [AsteriskBrasil] portabilidade</p>

</div>

<div>

<div>

<p>Ola Senhores.<br>
Que site é este? Como é feita a consulta? Alguém tem mais explicações sobre o
assunto?<br>
<br>
Att.<br>
<br>
Ricardo Franco<br>
<br>
jose wrote: </p>

<div>

<p><span>Pessoal, algum tempo atras , um amigo aqui do forum postou essa
soluçao abaixo, quando disco para algum celular o mesmo procura no site ve de
qual operadora é e escolhe a rota. Mas nao está funcionando mais, algumem tem
outra saida para isso?</span></p>

</div>

<div>

<p>&nbsp;</p>

</div>

<div>

<p><span>#!/usr/bin/perl -w</span></p>

<p><span>use Asterisk::AGI;<br>
use WWW::Mechanize;<br>
use MIME::Base64;<br>
my $AGI = new Asterisk::AGI;<br>
my %input = $AGI-&gt;ReadParse();<br>
my @operadoras = (“Eder”, “Claro”, “Tim”, “Vivo”, “Telemig”, “Oi”, “Nextel”,
“Brasil telecom”, “Sercomtel”, “CTBC”);<br>
my $num_saida = $AGI-&gt;get_variable(‘EXTEN’);<br>
$num_saida = substr($num_saida,3,10);<br>
$m = WWW::Mechanize-&gt;new();<br>
my $data = decode_base64(‘aHR0cDovL3dlYnNlcnZpY2VzLnR3d3dpcmVsZXNzLmNvbS5ici9yZWx1emNhcC93c3JlbHV6Y2FwL’&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;. ‘mFzbXg=’);<br>
$m-&gt;add_header(Referer =&gt; $data);<br>
my $s = $data . “/VerOperadora?celular=55″ . $num_saida;<br>
$m-&gt;get($s);<br>
$c = $m-&gt;content;<br>
$c =~ m/&gt;(\d+)&lt;/;<br>
$AGI-&gt;exec(“NoOp”,”$num_saida”);<br>
$AGI-&gt;exec(“NoOp”,”$operadoras[$1]“);</span></p>

<p><span># O codigo se adapta conforme o cenario de cada um,
mudar o DIAL para rotear a saida da operadora em questao<br>
####$AGI-&gt;exec(“Dial”,”SIP/MUDE AQUI PARA SUA SAIDA SIP ou GSM ou ZAP ou
DAHDI ou UNICALL ou DVG etc etc|10″);</span></p>

<p><span># FIM</span></p>

<p><span>Extensions.conf</span></p>

<p><span>minha linha para a chamada do AGI de testes</span></p>

<p><span>exten =&gt; _999.,1,agi,<a href="http://pega.pl" target="_blank">pega.pl</a></span></p>

</div>

<div>

<p>&nbsp;</p>

</div>

<pre><hr align="center" size="4" width="90%">

</pre><pre>&nbsp;</pre><pre>_______________________________________________</pre><pre>KHOMP: qualidade em placas de E1, GSM, FXS e FXO para Asterisk. </pre><pre>- Hardware com alta disponibilidade de recursos e qualidade KHOMP</pre>

<pre>- Suporte técnico local qualificado e gratuito </pre><pre>Conheça a linha completa de produtos KHOMP em <a href="http://www.khomp.com.br" target="_blank">www.khomp.com.br</a></pre><pre>_______________________________________________</pre>

<pre>A Redfone é líder no fornecimento de bridges TDMoE -&gt; E1</pre><pre>- Valor similar ao de placas E1 PCI;</pre><pre>- Não há problemas de compatibilidade com barramento PCI;</pre><pre>- Possibilitam a construção de soluções de alta disponibilidade(dois servidores compartilham o mesmo E1)</pre>

<pre>Conheça mais sobre este produto em <a href="http://www.red-fone.com" target="_blank">www.red-fone.com</a></pre><pre>_______________________________________________</pre><pre>&nbsp;</pre><pre>&nbsp;</pre><pre>Lista de discussões AsteriskBrasil.org</pre>

<pre><a href="mailto:AsteriskBrasil@listas.asteriskbrasil.org" target="_blank">AsteriskBrasil@listas.asteriskbrasil.org</a></pre><pre><a href="http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil" target="_blank">http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil</a></pre>

</div>

</div>

<div align="center">

<hr align="center" size="2" width="100%">

</div>

<p>_______________________________________________<br>
KHOMP: qualidade em placas de E1, GSM, FXS e FXO para Asterisk. <br>
- Hardware com alta disponibilidade de recursos e qualidade KHOMP<br>
- Suporte técnico local qualificado e gratuito <br>
Conheça a linha completa de produtos KHOMP em <a href="http://www.khomp.com.br" target="_blank">www.khomp.com.br</a><br>
_______________________________________________<br>
A Redfone é líder no fornecimento de bridges TDMoE -&gt; E1<br>
- Valor similar ao de placas E1 PCI;<br>
- Não há problemas de compatibilidade com barramento PCI;<br>
- Possibilitam a construção de soluções de alta disponibilidade(dois servidores
compartilham o mesmo E1)<br>
Conheça mais sobre este produto em <a href="http://www.red-fone.com" target="_blank">www.red-fone.com</a><br>
_______________________________________________<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>

</blockquote>

<p><span>No virus
found in this incoming message.<br>
Checked by AVG - <a href="http://www.avg.com" target="_blank">www.avg.com</a><br>
Version: 9.0.819 / Virus Database: 271.1.1/2867 - Release Date: 05/11/10
03:26:00</span></p>

</div>

</div></div></div></div></blockquote>
</div>

<br>_______________________________________________<br>
KHOMP: qualidade em placas de E1, GSM, FXS e FXO para Asterisk.<br>
- Hardware com alta disponibilidade de recursos e qualidade KHOMP<br>
- Suporte técnico local qualificado e gratuito<br>
Conheça a linha completa de produtos KHOMP em <a href="http://www.khomp.com.br" target="_blank">www.khomp.com.br</a><br>
_______________________________________________<br></div></div><div _class="im">
Participe do I Encontro VoIPCenter, 08 a 10 de junho – Rio de Janeiro.<br>
Área de exposição, palestras e cursos de 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></div><div _class="im">
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><br></div></blockquote></div><br></div>
</blockquote></div><br></div>
</div></div></blockquote>
</BODY>
</HTML>