Início > Programação, Telecom > Portabilidade

Portabilidade

Olá galera!

Seguinte ano passado postei um source em python para pegar a portabilidae de números Telefonicos via site consultanumero.abr.net.br, o tempo passou e o script parou de funcionar pois o sistema em jboss deles foi atualizado, o povo começou a mandar email pedindo ajuda e querendo de certa forma utilizar esse serviço de forma automatizada, resolvi perder 30 minutos e reescrever o source para o sistema Atual.

Lembrando que o método usa reconhecimento de caracteres para tentar quebrar o captcha, digamos que ele é pouco eficiente para uso amplo em produção, claro se alguem dispor de tempo pode treinar uma base de dados consistente para que ele funcione melhor.

tela dele funcionando:

# -*- coding: iso-8859-1 -*-

#Eng Eder de Souza

#26/05/2010 11:00

import re

import ClientCookie

import commands

import sys

import os

import re

import urllib2

import urllib

inc = 0

MaxTentativas = 15

tel=sys.argv[1]

ddd = tel[:2]

NUM = tel[2:10]

numero_formatado = NUM[0:4]+”.”+NUM[4:8]

telefone = “(“+ddd+”)”+numero_formatado

while inc < MaxTentativas:

inc = inc + 1

url = “http://consultanumero.abr.net.br:8080/consultanumero/consulta/consultaSituacaoAtual!carregar.action&#8221;

req = urllib2.Request(url)

req.add_header(‘Referer’, url)

cj = ClientCookie.MozillaCookieJar()

opener = ClientCookie.build_opener(ClientCookie.HTTPCookieProcessor(cj))

ClientCookie.install_opener(opener)

r = ClientCookie.urlopen(req).read()

cj.save(“infer”, ignore_discard=True, ignore_expires=True)

find = re.search(‘jcid=(\w+)’, r)

cod = find.group(1)

r = urllib2.urlopen(‘http://consultanumero.abr.net.br:8080/consultanumero/jcaptcha.jpg?jcid=’+cod)

fp = open(‘Captcha.jpg’,’w’)

fp.write(r.read())

fp.close()

comando = commands.getoutput(‘djpeg -pnm Captcha.jpg | gocr -C a-zA-Z0-9 -m 2 -a 90 -d 2’)

rmspace = comando.replace(‘ ‘, ”)

rmreturn = rmspace.replace(‘\n’, ”)

rmunderline = rmreturn.replace(‘_’,”)

res = re.search(‘([a-zA-Z0-9]+)’, rmunderline)

captcha = res.group(1)

cj = ClientCookie.MozillaCookieJar()

cj.load(“infer”, ignore_discard=True, ignore_expires=True)

opener = ClientCookie.build_opener(ClientCookie.HTTPCookieProcessor(cj))

ClientCookie.install_opener(opener)

pagina = opener.open(‘http://consultanumero.abr.net.br:8080/consultanumero/consulta/consultaSituacaoAtual!carregar.action?nmTelefone=’+telefone+’&j_captcha_response=’+captcha+’&jcid=’+cod+’&method%3Aconsultar=Consultar&#8217;).read()

if “gridselecionado” in pagina:

find = re.findall(‘<td>(.*)</td>’, pagina)
print find[7]
print find[8]
sys.exit()

FLW

Eng Eder de Souza

Categorias:Programação, Telecom
  1. junho 1, 2010 às 11:32 am

    amigo, to com dificuldade no ClientCookie
    sabe como instala esse modulo? Grato.

  2. junho 1, 2010 às 6:14 pm

    aquele erro anterior ja resolvi, agora executo ele e nao aparece nada…
    sabe como posso ligar um `debug` pra ver qual erro está acontecendo?
    grato pela ajuda até agora.

    • ederwander
      junho 1, 2010 às 7:39 pm

      Oi vc nao deve ter o “gocr” e nem o “djpeg” instale os Dois !!

      []’s

      Eng Eder de Souza

  3. junho 2, 2010 às 2:58 pm

    caraca, aonde eu acho esse djpeg?
    desculpe a ignorancia ehehe

  4. junho 2, 2010 às 3:07 pm

    cara, desculpe a chatisse
    mas eu verifiquei e os 2 pacotes estao instalandos, mas mesmo assim nao da,.. nao tem como verificar um debug do arquivo para achar aonde ta o erro?

  5. ederwander
    junho 2, 2010 às 3:46 pm

    na pasta onde vc ta executando o script executa isso veja se tem erro

    djpeg -pnm Captcha.jpg | gocr -C a-zA-Z0-9 -m 2 -a 90 -d 2

  6. junho 2, 2010 às 7:24 pm

    DB ./db/db.lst not found
    _33 llV

    • ederwander
      junho 2, 2010 às 7:42 pm

      Ta ae o seu problema aponte para onde esta o database do gocr no meu caso aqui esta em /root/gocr-0.48/bin/db/ entao o comando seria :

      djpeg -pnm Captcha.jpg | gocr -C a-zA-Z0-9 -m 2 -a 90 -d 2 -p /root/gocr-0.48/bin/db/

      No fonte do python altere essa linha apontando para onde esta o seu database no meu caso seria:

      comando = commands.getoutput(‘djpeg -pnm Captcha.jpg | gocr -C a-zA-Z0-9 -m 2 -a 90 -d 2 -p /root/gocr-0.48/bin/db/′)

      []’s

      Eng Eder de Souza

  7. junho 3, 2010 às 3:34 pm

    to quase lá…
    mas esse diretorio DB nao existe na minha pasta bin…
    eu criei ele, dai qndo eu executo esse comando na shell ele roda, e da o resultado do captcha.jpg, mas quando rodo o script ele nao faz nada. volta ao shell normal.
    o que será?

  8. junho 3, 2010 às 3:51 pm

    bom, pelo menos agora deu um erro diferente.
    File “port.py”, line 53, in ?
    r = ClientCookie.urlopen(req).read()
    File “build/bdist.linux-i686/egg/ClientCookie/_urllib2_support.py”, line 824, in urlopen
    File “/usr/lib/python2.4/urllib2.py”, line 364, in open
    response = meth(req, response)
    File “build/bdist.linux-i686/egg/ClientCookie/_urllib2_support.py”, line 625, in http_response
    File “/usr/lib/python2.4/urllib2.py”, line 402, in error
    return self._call_chain(*args)
    File “/usr/lib/python2.4/urllib2.py”, line 337, in _call_chain
    result = func(*args)
    File “/usr/lib/python2.4/urllib2.py”, line 480, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
    urllib2.HTTPError: HTTP Error 404: Not Found

  9. ederwander
    junho 3, 2010 às 7:25 pm

    Luiz só criar o diretório nao funciona vc precisa do database do gocr para o retorno correto das informações !!

  10. junho 4, 2010 às 2:36 pm

    aonde encontro esse db?

  11. ederwander
    junho 4, 2010 às 2:42 pm

    Compile o gocr via source http://jocr.sourceforge.net/download.html

  12. junho 9, 2010 às 4:21 pm

    ./configure, make e make install ja fiz
    :S

  13. Luiz Bettega
    junho 15, 2010 às 10:16 pm

    Amigoo
    me De uma luz
    to me batendo demais aqui
    valeu

  14. junho 18, 2010 às 1:43 pm

    Olá Eder. Qual o S.O. que você está utilizando? Não consegui instalar as dependencias no CentOS, e gostaria de primeiramente testar o Script o que você usa?

    • ederwander
      junho 18, 2010 às 1:45 pm

      Debian

  15. junho 18, 2010 às 7:44 pm

    nao sei mais o que fazer, se puder me ajudar novamente, agradeço.

  16. junho 21, 2010 às 1:25 pm

    show de bola o script! agora com uma grande ajuda está funcionando!!
    parabens ao criador e muito obrigado pela ajuda!!

    • Luiz Fernando Toledo
      junho 21, 2010 às 3:33 pm

      Luiz Eduardo, agora que vc sabe como resolver, me ajuda ai, meu sistema tb é Debian e eu to enrolado como vc tava.

  17. Luiz Fernando Toledo
    junho 21, 2010 às 3:35 pm

    Só pra colocar a par eu cheguei até aqui: djpeg -pnm Captcha.jpg | gocr -C a-zA-Z0-9 -m 2 -a 90 -d 2 -p /usr/src/gocr-0.48/bin/db/, apareceu 75.

  18. Luiz Fernando Toledo
    junho 21, 2010 às 4:35 pm

    Ai pessoal, consegui fazer funcionar, algumas aspas recolocadas e funcionou perfeitamente.
    Valeu!

  19. Patrick
    agosto 17, 2010 às 7:38 pm

    Olá,

    Alguem pode me ajudar

    Uso debian e não estou conseguindo por pra funcionar esta me dando o seguinte erro:

    debian:~/portabilidade# python teste.py 1133335151
    File “teste.py”, line 29
    numero_formatado = NUM[0:4]+?.?+NUM[4:8]
    ^
    SyntaxError: invalid syntax

    Valeu

  20. agosto 18, 2010 às 1:06 am

    luiz podrias dizer oq ue vc fez para que funcione?

    ou postar o script com estas aspas recolocadas

    obrigad

    Marcelo

  21. Patrick
    agosto 18, 2010 às 6:27 am

    Opa,

    Consegui fazer funcionar realmente eram as aspas e não tinha me atentado a isso. O que não estão entendendo é como esse script é integrado ao asterisk.

    Valeu

  22. Lu
    novembro 12, 2010 às 12:02 pm

    Para isto funcionar vc precisa instalar algumas aplicações;

    Quem usa Linux CentOS/ RedHAT pode fazer isso com YUM. Executar os comandos abaixo. Para Debian vc precisa usar APT-get

    yum install python-setuptools
    easy_install ClientCookie
    yum install tetex*
    yum install ImageMagick

    Baixar GOCR daqui http://www-e.uni-magdeburg.de/jschulen/ocr/gocr-0.49.tar.gz
    Executar os comandos

    wget http://www-e.uni-magdeburg.de/jschulen/ocr/gocr-0.49.tar.gz
    tar -zxf gocr-0.49.tar.gz
    cd gocr-0.49/bin
    ./create_db # isso vai construir o banco de dados do GOCR para reconhecimento de imagens

    agora vc pode executar o script do Ederwander ( antes disso precisa modificar as aspas porque o forum esta reescrevendo elas e o script acaba de morrer com erro )

    Cheers,

    Lu

  23. Lu
    novembro 27, 2010 às 9:44 pm

    Olá Eder,

    O seu python script aqui parou de funcionar de uma vez. Serra que vc vai ter algum tempo pra modifica-lo pra funcionar de novo com ABR.

    Cheers,

    Lu

    • ederwander
      novembro 29, 2010 às 8:21 am

      Continuo com ele funcionando perfeitamente aqui🙂 será que vc não caiu em alguma black list ??

      • Lu
        novembro 29, 2010 às 5:51 pm

        Testei de outro servidor que nunca usei antes. O primeiro que eu testei esta nos EUA, o segundo que eu preparei esta aqui no Brasil.. Mas se ta funcionando pra vc então deve ser alguma coisa que eu fiz. Valeu

        Cheers

        Lu

      • Lu
        novembro 29, 2010 às 6:08 pm

        Na verdade eu testei de uma instalação linux no meu PC com VMWare…mas nas servidores em IDC não ta funcionando…Que coisa ..

      • Lu
        novembro 29, 2010 às 7:49 pm

        Sorry , ta funcionando perfeitamente. Erro meu.

        Cheers,

        Koki

  24. andre
    fevereiro 1, 2011 às 2:11 pm

    Eder o scritp para consulta de portabilidade não esta funcionando, existe algum erro com ele ?

    Abs,
    André Luiz

    • ederwander
      fevereiro 1, 2011 às 3:09 pm

      funcionando perfeitamente aqui🙂

      Aparecendo algum erro ae posta que te ajudo!!

      Eng Eder de Souza

      • Markey Wendley
        fevereiro 5, 2011 às 4:12 pm

        Amigos, eu consegui colocar o Script pra rodar aqui, ocorre que não estou sabendo como fazer pra usar o resultado nele no dialplan do asterisk, alguém teria como dá uma luz. Já fucei o google todo (mentira, foi só a metade.. rsrs) mas não tive sucesso. Já quebrei tanto a cabeça q resolvi dá uma respirada e pedir a ajuda de vcs. Quem puder ajudar fico muito agradecido.

        Abraços.

  25. ajcorrea
    fevereiro 5, 2011 às 12:36 pm

    Só para completar o que o colega “LU” disse:

    execute os comandos:

    yum install python-setuptools
    easy_install ClientCookie

    yum install tetex-dvips
    yum install tetex-latex

    yum install ImageMagick

    Baixar GOCR daqui http://www-e.uni-magdeburg.de/jschulen/ocr/gocr-0.49.tar.gz
    Executar os comandos

    wget http://www-e.uni-magdeburg.de/jschulen/ocr/gocr-0.49.tar.gz
    tar -zxf gocr-0.49.tar.gz
    cd gocr-0.49/bin
    ./create_db # isso vai construir o banco de dados do GOCR para reconhecimento de imagens

    alterei o yum install tetex* porque ele da conflito com algumas dependencias, portanto instalado apenas os pacotes necessarios (dvips e latex)

  26. Markey Wendley
    fevereiro 5, 2011 às 4:13 pm

    Só pra deixar mais claro: quero usar o resultado do script pra rotear chamadas no dialplan.
    Abraços.

    • ederwander
      fevereiro 6, 2011 às 3:59 pm

      Olá eu fiz em python puro apenas para mostrar como pegar os dados, você pode transformar este script em AGI para integrar com as funcionalidades de seu servidor Asterisk !!

      Tenho o meu funcionando aqui perfeitamente em Fast AGI + Python, antes que alguem peça para eu postar ja vou avisando que não poderei divulgar a versão feita em AGI, nela fiz algumas coisas para tornar o script mais veloz infelizmente não posso quebrar os termos de contrato aqui😦

      Sempre fui adepto de que tudo seje livre mas meus códigos estão sendo usados por terceiros e sendo vendidos como serviço este é o outro lado da moeda onde gatunos se aproveitam.

      Porem nade impede de que eu de uma ajuda para mostrar uma maneira menos convencional de como transferir informações deste script para o dial plan do Asterisk !!

      Claro não é aconselhavel fazer isso mas para quem esta precisando vai servir !

      chame o script no dial plan do asterisk no seu extensions.conf coloque algo parecido com isto

      exten => _0XXXXXXXXXX,1,System(python /local/onde/esta/script/portabilidade.py ${EXTEN:1})
      exten => _0XXXXXXXXXX,2,SetVar(OPERADORA=${‘DB(port/operadora)’})
      exten => _0XXXXXXXXXX,3,NoOp(O Numero Pertence a Operadora ${OPERADORA})

      Agora adicione mais 1 linha no script da portabilidade depois da linha “print find[8]” insira esta linha

      os.system(“asterisk -rx ‘database put port operadora find[7]'”)

      Ae não testei desta maneira ainda mas irá funcionar para enviar os dados do script para o dial plan …

      []’s

      Eng Eder de Souza

      • Markey Wendley
        fevereiro 10, 2011 às 1:12 pm

        Parou de funcionar? fui tentar implementar o os.system que vc falou.. e tá dando esse erro:

        captcha = res.group(1)
        AttributeError: ‘NoneType’ object has no attribute ‘group’

        mesmo tirando a linha os.system..

        alguma alteração no site?

        Abraço.

  27. Andre Luis
    fevereiro 9, 2011 às 1:57 pm

    Eder,

    O pessoal deste site, onde fazemos esta consulta, mudou a imagem onde o djpeg lê as letras. Por isso o script parou de funcionar.
    Existe algo que possamos fazer para voltar a funcionar este script???

    Att.
    André Luis

  28. aj
    fevereiro 10, 2011 às 5:25 pm

    Éder o meu também parou de funcionar.

  29. aj
    fevereiro 10, 2011 às 5:38 pm

    Está dando esse erro

    Traceback (most recent call last):
    File “portabilidade.py”, line 41, in
    captcha = res.group(1)
    AttributeError: ‘NoneType’ object has no attribute ‘group’

  30. Carlos Roberto
    fevereiro 11, 2011 às 6:45 am

    Bom Dia,

    Markey Wendley :
    Parou de funcionar? fui tentar implementar o os.system que vc falou.. e tá dando esse erro:
    captcha = res.group(1)
    AttributeError: ‘NoneType’ object has no attribute ‘group’
    mesmo tirando a linha os.system..
    alguma alteração no site?
    Abraço.

    Eu tambem uso um script semelhante, extraido do Eder. E o meu tambem parou de funcionar. Fiz o teste somente com djpeg e realmente ele parou de trazer as letras. Acredito que isso tenha haver com a mudança da imagem.
    Estou com essa função no meu sistema parada por esse motivo.
    Será que existe alguma solução para isso??

    Obrigado
    Carlos Roberto

    • ederwander
      fevereiro 11, 2011 às 9:20 am

      Vários emails e comentários no blog não tinha idéia da dimensão que o script estava tendo !!!

      Mas vamos lá, o site ABR aplicou um captcha bem pesado desta vez talvez pelo grande volume de consulta crescendo a cada dia com a utilizaçao deste script, o grande problema deste captcha está nas letras grudadas que são muito complicadas de segmentar eu dei uma rápida olhada em como segmentar as imagens novas e é possível sim encontrar padrões para extrair as letras porem não existe nada já pronto hoje que consiga segmentar e reconhecer este tipo de imagem, os padrões são bem distintos, tudo teria que ser feito especificadamente para o site da ABR e isso demanda muito tempo, talvez pelo método que tenho em mente não consiga bons resultados no retorno do captcha , e por falta de tempo não se sei vou conseguir iniciar meus testes aqui são varios os pontos : Remover cores de funto, converter para tons de cinza, encontrar a ocorrencia da primeira letra, calcular altura, calcular largura, abrir janela para segmentar palavras, etc, etc ..

      []’s

      Eng Eder de Souza

  31. Carlos Roberto
    fevereiro 11, 2011 às 9:33 am

    É galera, complicou mesmo. Sinceramente nao sei nem por onde começar. Mas acho que devemos tentar…

    Tenho um ponto que gostaria de colocar.
    Penso que na verdade, isso deveria ser informções cedidas pela ABR ou Anatel, em arquivo ou de outra forma qualquer, para que qualquer pessoal fizesse um download e tivesse essas informações. Nem que fosse informações atualizadas mensalmente, que a nossa base ficasse desatualizada por no maximo 29 dias. O percentual de chamadas que saiu pela operadora errada seria muito pequeno e nao teria importancia.

    Vamos aguardar e torcer para que consigamos voltar a usar esse serviço

    Carlos Roberto

  32. Fabiano Lira
    agosto 4, 2011 às 3:03 pm

    A ABR disponibiliza algum Webservice pago para consulta?

  33. Jardel
    dezembro 25, 2011 às 11:09 pm

    Amigos, tem notícias sobre o assunto ? conseguiram quebrar o novo captcha ?

  34. Marcelo
    janeiro 16, 2012 às 2:17 pm

    Pessoal, ao executar o djpeg recebo este erro?
    djpeg -pnm Captcha.jpg | gocr -C a-zA-Z0-9 -m 2 -a 90 -d 2 -p /usr/src/gocr-0.49/bin/db/

    ERROR pnm.c L311: opening file /usr/src/gocr-0.49/bin/db/db_0000.pbm

    Alguém já pegou este erro?

  35. maio 23, 2012 às 10:23 pm

    import mechanize as ClientCookie resolve o problema da falta do módulo

  36. MRP
    julho 30, 2012 às 2:48 pm

    Já pensaram em um ação civil pública contra a ABR e Anatel. Isso é informação pública e não pode ser tratada e comercializada dessa forma.
    Uma boa forma de começar é enviar reclamações formais ao MPF e Procons Estaduais.

    • JARDEL
      julho 31, 2012 às 2:55 pm

      MAS A INFORMAÇÃO ESTÁ DISPONÍVEL A TODOS PARA CONSULTAR NO SITE, O PROBLEMA É O CAPTHCA QUE É COLOCADO PARA EVITAR CONSULTAS AUTOMÁTICAS POR ALGUM SISTEMA.
      ELES PODEM ALEGAR QUE A INFORMAÇÃO ESTÁ DISPONÍVEL E O CAPTCHA É PARA PRESERVAR O SISTEMA DE ATAQUES E/OU DE CONSULTAS FEITAS EM MASSA, E NISSO ELES ESTÃO CORRETOS.
      CREIO QUE ESTE NÃO É O MELHOR CAMINHO.

      • MRP
        agosto 18, 2012 às 7:44 pm

        Ai que você se engana me amigo. Se a informação e pública eu tenho direito de acessar ela da forma que quiser. Se existe uma restrição contra consulta por meio automatizado ou em massa, ela não é totalmente pública. Para ser totalmente pública eles tem que me deixar consultar da forma que eu quiser, e isso inclui um script para rota de menor custo dentro do meu Asterisk. Se eles vão disponibilizar via webservice, via planilha excel e etc, isso não importa, mais eu (nós) tenho o direito de acessa-la da forma que quiser. E a maior prova de que não é pública esta no próprio fato de a mesma ser comercializada.

      • JARDEL
        agosto 18, 2012 às 8:03 pm

        Sem querer polemizar, mas o fato de ser pública não necessariamente faz com que ela seja acessada de qualquer jeito. Veja que as certidões com informações conseguidas em órgãos públicos tem forma de requisição, ou seja, não é concedida de qq forma e/ou a qq pessoa.
        Outra coisa a saber é se estas informações são realmente de caráter público, pra isso tem que haver uma lei ou regulamento estabelecendo isso.
        Valeu, creio que quebrar a captcha seja mais fácil que conseguir isto na justiça, é o que penso.

  37. Miguel
    agosto 22, 2012 às 4:58 pm

    Consegui fazer um scrip em PHP que faz a busca do numero em um site especifico que esta sempre atualizado, porem nao sei como integrar ao CLI do asterisk para retornar a consulta.. sendo que se for roda ele no navegador passando como parametros apenas o numero.. funciona…Alguem ajuda? posso disponibilizar o codigo de PHP caso me ajude a integrar no asterisk

    email migueltsi@yahoo.com.br

  38. ederwander
    agosto 23, 2012 às 9:46 am

    Ahh eu até esqueci de colocar aqui no blog mas eu fiz um outro script de Portabilidade para verificar somente celulares:

  39. Miguel
    agosto 24, 2012 às 5:04 pm

    Agora nao sei como implementar no AGI do Asterisk para verificacção do numero e sair pela interface correta.
    Segue o codigo..

    –tag inciar php aki —

    $numero = “55”.$_GET[“recebido”];
    $url=”http://magnussolution.com/portabilidade.php?seache_number=$numero”;
    $chave = file_get_contents($url);
    switch($chave){
    case 5312 :
    $operadora = ‘CTBC CELULAR S.A’ ;
    break;
    case 55314 :
    $operadora = ‘OI’ ;
    break;
    case 55320 :
    $operadora = ‘VIVO’ ;
    break;
    case 55321 :
    $operadora = ‘CLARO’ ;
    break;
    case 55323 :
    $operadora = ‘TELEMIG CELULAR’ ;
    break;
    case 55324 :
    $operadora = ‘AMAZONIA CELULAR’ ;
    break;
    case 55331 :
    $operadora = ‘TNL PCS’ ;
    break;
    case 55337 :
    $operadora = ‘UNICEL DO BRASIL’ ;
    break;
    case 55341 :
    $operadora = ‘TIM’ ;
    break;
    case 55343 :
    $operadora = ‘SERCOMTEL CELULAR’ ;
    break;
    case 55349 :
    $operadora = ‘OPTIONS COMP’ ;
    break;
    case 55377 :
    $operadora = ‘MCS (Nextel)’ ;
    break;
    case 55390 :
    $operadora = ‘TELCOM TELECOMUNICACOES DO BRASIL’ ;
    break;
    case 55391 :
    $operadora = ‘FALKLAND TECNOLOGIA’ ;
    break;
    case 55392 :
    $operadora = ‘IRIDIUM’ ;
    break;
    case 55393 :
    $operadora = ‘GLOBALSTAR DO BRASIL’ ;
    break;
    }
    echo $operadora;
    exit();

    — fecha tag php aki — senao nao consigo postar o codigo

    valew ai gente..

  40. Tiago
    fevereiro 1, 2013 às 7:11 am

    Eder, bom dia! Eu estou tendo minha primeiras experiencias com o Asterisk e confesso que tenho tido alguma dificuldade pra faze-lo rodar a contento. No caso desse script em Phyton ou em Php, como eu faço para roda-lo e a partir do retorno dele (oi, vivo, tim, etc) ele selecionar a rota…? Por exemplo, eu incluo a informação no extension.conf, conforme esse ultimo link que você postou, e depois o quais alterações devo fazer para que ele selecione a rota conforme a operadora que foi localizada? Abs.

  41. Emerson
    março 18, 2013 às 10:18 pm

    Eder gostaria de fazer um pergunta você esta agora com contrato com empresas privadas para a escript citada acima?

    gostaria de saber se e possivel fechamos um contrato para criar uma para freeswich se sim por favor entrar em contato estarei deixando um email para resposta

  1. No trackbacks yet.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: