Montando uma rede GSM

Essa guia fornecerá uma visão geral do projeto OpenBTS. O objetivo principal desse projeto é a apresentação de uma interface aérea GSM para realização de chamadas usando o PBX Asterisk. No final desse guia você poderá realizar chamadas entre telefones GSM ou qualquer outro dispositivo compatível com o Asterisk na sua própria rede GSM.

[ Hits: 109.668 ]

Por: Perfil removido em 02/06/2009


Requisitos e instalação



Esse guia vai cobrir a instalação em uma máquina com GNU/Linux. É altamente recomendável seguir todos os requisitos de hardware e software cobertos nesse guia.

Hardware:
  • 01 - Computador (Core 2 Duo 2.0 GHz, 2GB RAM, porta USB);
  • 01 - USRP-PKG (Kit USRP, que contêm a placa-mãe, 2 cabos de RF, 1 cabo USB, Fonte de Alimentação e Caixa - custo USD 700);
  • 02 - RFX900 para GSM 850/900 (Transceptor de 800 - 1000 MHz, saída de 200 mW - USD 275 cada);
  • 02 - RFX1800 para GSM 1800/1900 (Transceptor de 1.5 - 2.1 GHz, saída de 100 mW - USD 275 cada);
  • 02 - VERT900 (Antena para a RFX900 / RFX1800);
  • 01 - Telefone celular destravado;
  • 01 - SIM Card (de preferência que possa ter a lista de rede editada).

O hardware USRP e os componentes de RF podem ser encontrados diretamente na Ettus Research.

Software:
  • GNU/Linux - Ubuntu 8.04 - 32 bits;
  • OpenBTS 2.3;
  • GNURadio 3.1.3;
  • C++ Boost 1.37.

Instalação do GNU Radio

a. Instalar as dependências:

sudo apt-get update
$ sudo apt-get -y install swig g++ automake1.9 libtool python-dev libcppunit-dev sdcc libusb-dev libasound2-dev libsdl1.2-dev python-wxgtk2.8 subversion guile-1.8-dev libqt4-dev ccache python-opengl libgsl0-dev python-cheetah python-lxml libqwt5-qt4-dev libqwtplot3d-qt4-dev qt4-dev-tools fftw3-dev doxygen python-numpy-ext


b. Baixar e instalar a biblioteca do C++ boost:

wget http://kent.dl.sourceforge.net/sourceforge/boost/boost_1_37_0.tar.gz
tar xvzf boost_1_37_0.tar.gz
$ cd boost_1_37_0
$ BOOST_PREFIX=/opt/boost_1_37_0
$ ./configure --prefix=$BOOST_PREFIX --with-libraries=thread,date_time,program_options
$ make
$ sudo make install


c. Baixar e instalar o GNU Radio:

cd
$ wget
ftp://ftp.gnu.org/gnu/gnuradio/gnuradio-3.1.3.tar.gz
tar xvzf gnuradio-3.1.3.tar.gz
$ cd gnuradio-3.1.3
$ ./configure --with-boost-include-dir=$BOOST_PREFIX/include/boost-1_37/
$ make
$ sudo make install
$ sudo ldconfig


d. Adicionar permissões para o usuário trabalhar com o USRP:

sudo addgroup usrp
$ sudo addgroup SEU_USUÁRIO usrp
$ echo 'ACTION=="add", BUS=="usb", SYSFS{idVendor}=="fffe", SYSFS{idProduct}=="0002", GROUP:="usrp", MODE:="0660"' > tmpfile
$ sudo chown root.root tmpfile
$ sudo mv tmpfile /etc/udev/rules.d/10-usrp.rules


e. Testando o USRP:

Reinicie o computador (deveria funcionar sem esse passo, mas mesmo depois de reinicializar o serviço udev, o USRP só funcionava como root):

sudo reboot

Conectar o USRP na porta USB e testar a velocidade máxima da conexão:

cd /usr/local/share/gnuradio/examples/usrp/
$ ./usrp_benchmark_usb.py
Testing 2MB/sec... usb_throughput = 2M
ntotal    = 1000000
nright    = 998435
runlength = 998435
delta     = 1565
OK
Testing 4MB/sec... usb_throughput = 4M
ntotal    = 2000000
nright    = 1998041
runlength = 1998041
delta     = 1959
OK
Testing 8MB/sec... usb_throughput = 8M
ntotal    = 4000000
nright    = 3999272
runlength = 3999272
delta     = 728
OK
Testing 16MB/sec... usb_throughput = 16M
ntotal    = 8000000
nright    = 7992153
runlength = 7992153
delta     = 7847
OK
Testing 32MB/sec... usb_throughput = 32M
ntotal    = 16000000
nright    = 15986239
runlength = 15986239
delta     = 13761
OK
Max USB/USRP throughput = 32MB/sec

Verifique se a velocidade de transferência máxima da conexão USB é 32 MB/seg.

Instalação do OpenBTS

a. Instalar as dependências:

cd
$ sudo apt-get install asterisk libosip2-dev libortp7-*


b. Baixar o código fonte:

O código fonte está disponível somente aos participantes da lista de discussão. É necessário inscrever-se na lista para conseguir a senha de acesso:
Depois de conseguir a senha baixe o código fonte conforme abaixo:

sftp openbts@kestrelsp.com
password: "pegar_a_senha_na_lista"
$ sftp> get openbts-2.3JeanLafitteOE.tar.gz
$ Fetching /Users/openbts/openbts-2.3JeanLafitteOE.tar.gz to openbts-2.3JeanLafitteOE.tar.gz
$ exit

c. Instalação:

tar xvzf openbts-2.3JeanLafitteOE.tar.gz
$ mv openbts-2.3JeanLafitte openbts-2.3
$ cd openbts-2.3
$ export LIBS=-lpthread
$ ./configure
$ make
$ sudo make install


Página anterior     Próxima página

Páginas do artigo
   1. A rede GSM e o projeto OpenBTS
   2. Requisitos e instalação
   3. Configuração do OpenBTS
   4. Exemplo de arquivo de configuração
   5. Configuração do Asterisk
   6. Teste e conclusão
Outros artigos deste autor

Como instalar o LAMP no openSUSE Leap e Tumbleweed

Como customizar uma imagem ISO do Ubuntu

Emuladores para seu sistema operacional

Fontes com filtros LCD no Arch Linux

Montando um Media Server com o MediaTomb

Leitura recomendada

Como se comunicar com outros usuários da rede

Instalando XGL + Compiz no Ubuntu Dapper com o driver Nvidia

Arte digital: novas possibilidades com softwares livres

Guia de referência do ISOLINUX (parte 1)

FreeIPA - uma solução integrada de identidade e autenticação para ambientes de rede Linux/UNIX

  
Comentários
[1] Comentário enviado por gesousa em 02/06/2009 - 16:56h

Muito bom seu artigo. Um dos mais interessantes que vi ultimamente.

Vi que utilizou para testes, mas você está utilizando o seu hardware para alguma aplicação especifica, como uma rede interna ??

Pois queria saber se com está configuração de hardware, qual seria a distancia do sinal e quantos telefones este equipamento conseguiria mantes conectado ?


Outra questão queria saber é a parte legal da utilização da banda GSM para uso particular, pois na empresa onde trabalho, ainda utilizamos um sistema de radio frequência para a comunicação com obras onde outro meios de comunicação como celular e telefone físico não alcança, para a utilização da faixa para uso amador a uma taxa anual a ser paga ao ministério da comunicação. MAs acho que a GSM como é utilizada comercialmente deve ser proibido a utilização...

[2] Comentário enviado por removido em 02/06/2009 - 22:06h

Oi gesousa, obrigado!
Respondendo suas perguntas:
- Montei o setup para fins de aprendizado, mas teria como utilizar como uma rede interna GSM. Um dos problemas nesse caso seria "forçar" o telefone escolher a sua rede ao invés da rede da operadora, o qual o mesmo foi programado para operar. Como o explicado no artigo, alguns SIM cards permitem mudar as redes preferencias (PLMN). Mesmo colocando sua rede como a preferencial, você teria que reiniciar o telefone para que ele tente se registrar na sua rede. Não teria como fazer a troca automaticamente.
- Para banda baixa (850 ou 900 MHZ) a potência máxima do HW é de 200mW, e para banda alta (1800 e 1900 MHz) a potência máxima é de 100mW. Considerando isso, mais as antenas indicadas no artigo, você conseguiria manter uma ligação num raio de aprox. 100 metros da base em campo aberto. Com um jogo de antenas com um ganho maior, daria para alcançar em torno de 500 metros ou até mais.
- Até onde eu sei, equipamentos de telecomunicações para uso comercial devem ser homologados pela Anatel. Até access points Wi-Fi são homologados. Nessa faixa de potência (de 100 à 200 mW) para uso não comercial acredito que não seja necessário nenhum tipo de homologação, já que mesmo que você quisesse interferir nas operações de uma operadora, não seria possível. Os autores do projeto fizeram um teste em campo http://www.kestrelsp.com/FieldTest/index.html com autorização do FCC (orgão similar a Anatel), mas eles estão utilizando amplificadores para elevar a potência e consequentemente a área de cobertura da rede.

[3] Comentário enviado por julianoys em 04/06/2009 - 17:01h

Artigo realmente interessante... sempre imaginei se isso não era possível... uma rede GSM "doméstica"
Atualmente estou estudando sobre redes GSM e fiquei com uma dúvida cuja resposta não encontrei nas referências do artigo... me corrija se estiver errado, mas, normalmente, ao ligar o aparelho, é feito o registro do assinante junto à operadora. Existe todo um processo para estabelecimento do canal codificado envolvendo o MSC, HLR e AuC... e como parte do processo, a chave Ki (além do RAND e SRES) é utilizada para estabelecer a autenticação e o cyphering da conexão através do algoritmo A5. Essa chave a princípio é armazenada no SIM card e no AuC e nunca é transmitida na interface aérea (Um). Como é obtido essa chave nesse projeto?

[4] Comentário enviado por removido em 04/06/2009 - 17:35h

Oi julianoys,
O projeto OpenBTS faz a autenticação simples do terminal usando o IMSI. Segundo o próprio manual, eles não podem utilizar porque os algoritmos usado no GSM são distribuídos somente com NDA: "Unfortunately, we probably cannot legally support authentication and encryption in an open source system because the algorithms used in GSM are distributed only under non-disclosure agreements. While there have been unauthorized disclosures of these algorithms, we do not want to taint this project with material that would jeopardize its distribution status. Certainly, any private development project is free to integrate these features into controlled distributions given proper agreements
with ETSI."
O A5 que você comentou é usado após o registro do terminal para ciphering da comunicação. No processo de registro são utilizados o A3 e o A8.

[5] Comentário enviado por reinaldocf em 05/06/2009 - 10:14h

Olá loula.

Ótimo artigo. Era justamente o que estava procurando.

Uma dúvida, poderia utilizar essa mesma rede para trafegar dados, usando os modems GSM?

Atenciosamente,
Reinaldocf

[6] Comentário enviado por removido em 05/06/2009 - 10:55h

Oi reinaldocf, obrigado!
Não é possível trafegar dados ainda, o projeto só cobre GSM. Existe a previsão para implementação de GPRS e EDGE, o que permitiria o tráfego de dados.

[7] Comentário enviado por marquinhos1875 em 06/06/2009 - 19:37h

Cara, artigo muito massa
Ja havia feito algumas pesquisas sobre isso e nao tive sulcesso.
Onde posso encontrar os hardwares especiais para montar esse laboratorio?
Parabens pela riquesa do artigo

[8] Comentário enviado por removido em 07/06/2009 - 19:20h

Oi marquinhos, obrigado!
No próprio site do fabricante do HW USRP, a Ettus Research, eles fazem a venda: http://www.ettus.com/sales

[9] Comentário enviado por thiagorp7 em 08/06/2009 - 16:44h

Cara, adorei o artigo ...
Na minha opinião o setor do governo q é mais lerdo e ruim é a Anatel... oque ela regulamenta sobre esta utilização ?
Realizando este processo e com algumas modificações vc pode criar uma operadora Caseira, certo ?

[10] Comentário enviado por removido em 09/06/2009 - 09:19h

Oi thiagorp7, obrigado!
Os responsáveis pelo projeto OpenBTS já fizeram um teste em campo, e estão programando outro para esse ano. Acho que um orgão regulamentador, no nosso caso a Anatel, é importante para evitar problemas (ex: rádios piratas). É certo que as vezes esperamos decisões mais rápidas, mas precisamos entender que existe burocracia em todos os setores.
Apenas com o sistema descrito no artigo você já teria uma operadora doméstica de GSM. Com o uso de amplificadores de RF, torre e antena com certeza você conseguiria cobrir uma área maior, tornando-se um "mini-operadora". Lógico que o HW USRP têm suas limitações, mas não podemos comparar um sistema de custa no máximo USD 2K com uma BTS profissional.

[11] Comentário enviado por talma em 29/09/2009 - 16:12h

Desculpe a minha ignorância se estiver perguntando bobagem...
É possivel fazer esta rede gsm numa zona rural e ela retransmitir o sinal de uma BTS que chega fraco neste local, sendo insuficiente para fazer chamadas? A BTS mais proxima transmitia sinal TDMA, que só era possivel captar através de uma atena externa, porém apenas com uma barra de sinal, mas ainda dava para fazer ou receber ligações eventualmente. Agora o sinal TDMA foi desligado e não chega sinal gsm para ser captado por uma antena externa.

[12] Comentário enviado por malvesmarques em 07/04/2010 - 11:36h

Muito bom artigo.

minha dúvida é se mesmo o celular não identificando a rede como primeira opção, se a rede "encherga" o imsi do celular próximo? estarei iniciando a montagem da minha rede até junho e gostaria de contar com sua ajuda para eventuais esclarecimentos, ok? abc marcelo

[13] Comentário enviado por removido em 07/04/2010 - 15:03h

Oi Marcelo,

O clock original da USRP não é muito preciso, o que acaba dificultando o registro de alguns modelos de telefone. Uma solução para melhorar isso é usar uma fonte mais precisa de clock. Vou testar com um gerador externo em breve: http://students.ee.sun.ac.za/~gshmaritz/?p=152
Quanto às eventuais dúvida, no que eu puder ajudar pode contar comigo.

[14] Comentário enviado por albf em 17/04/2010 - 18:52h

Alessandro,

Parabéns pelo artigo! É muito interessante ver o que este projeto de SDR (Software-Defined Radio) USRP + GNU Radio tem oferecido de possibilidades, como por exemplo o OpenBTS.

Agora estou bastante curioso, além da questão do algoritmo A5/8 ser restrito (como você colocou de forma correta) sendo fornecido apenas mediante NDA pelo ETSI, portanto incompatível com Open Source. Para sessões GPRS é necessário autenticar os vetores RAND, SRES e GPRS-Kc sendo fundamental conhecer a chave Ki do SIM Card, entendo que uma alternativa seria utilizar SIM Cards com perfil para operar com o OpenBTS, porém os SIM Vendors tem restrições (na maioria dos países) que só os permitem fornecer para carriers homologadas com MNC único; para evitar problemas de interoperabilidade entre outros.

Para voz é possível operar com A0, mas para GPRS não, então, como o pessoal do projeto pretende driblar estas situações?


[15] Comentário enviado por removido em 19/04/2010 - 11:49h

Oi Albf,

Até onde eu acompanhei, o OpenBTS não suportava dados (GPRS / EDGE), somente voz (GSM). Acho que o próprio HW USRP teria limitações para modular e demodular sinais em GPRS e EDGE, teriam que usar o USRP2.

Obrigado!

[16] Comentário enviado por albf em 02/05/2010 - 20:13h

Alessandro,

Após ver sua mensagem, fui pesquisar um pouco sobre as questões de restrição de modulação e demodulação do USRP e realmente é inviável trabalhar com a USRP. Só a USRP2, porém pelo que pesquisei as restrições que eu já comentei é algo que está impedindo a evolução do projeto.

Valeu!


[17] Comentário enviado por balakubaco em 24/05/2010 - 17:51h

Boa tarde Alexsander Loula,

Gostei muito do seu tutorial (me parece perfeito) e estou pensando em fazer alguns testes, mas antes surgiram algumas dúvidas que não sei se você poderia me ajudar.
Seguem:
Referente ao tutorial, qual a limitacão de conexões simultâneas com o hardware utilizado?
Será que vou ter muita dificuldade pra colocar isso tudo funcionando, seguindo o tutorial? Já tenho bastante experiência com Asterisk.
Obrigado pela atencão!


[18] Comentário enviado por removido em 25/05/2010 - 15:23h

Um canal GSM (ARFCN) têm 8 slots (TS0 ~ TS7). O OpenBTS usa o TS0 como BCCH/CCCH + SDCCH/4 (Broacast Control Channels + Common Control Channel + 4 dedicated sub
channels), sobram 7 slots para voz (chamada). Não podemos esquecer do processamento do lado do computador, recomendo um Dual Core no mínimo e o USRP com clock externo para diminuir a carga na CPU.

[19] Comentário enviado por AndreGio em 20/07/2010 - 09:25h

Oi Alex!!
Somos estudantes de Telecom e achamos muito interessante o projeto que vc montou!!
Vc adquiriu o USRP para vc ou o implementou em alguma empresa?
Será que tem como marcar para vermos o mesmo funcionando? Vc fica em SP?
Abraços!!

[20] Comentário enviado por removido em 02/08/2010 - 10:01h

Oi Andre,

A empresa que eu trabalho comprou para testes internos, mas atualmente o HW está emprestado. No Youtube têm uns videos do OpenBTS.

Grato,
Alex

[21] Comentário enviado por malvesmarques em 04/09/2010 - 11:09h

Alex, Bom dia.

Já perguntei anteriormente se vc poderia auxiliar e vc já se prontificou.

Gostaria de conversar com vc por email particular. Abç Marcelo


[22] Comentário enviado por removido em 08/09/2010 - 09:23h

Oi Marcelo,

Meu email é: alex.loula@gmail.com


[23] Comentário enviado por lmanuelferr em 30/09/2010 - 18:27h

boa noite Alex,

Temos um projecto para o desenvolvimento de uma rede gsm numa provincia de um estado em Africa.

Eventualmente podemos desenvolver outro projecto de um internet server provider e voip recebendo via satelite e transmitindo em wireless e, usando as infraestruturas da base station da rede gsm.

Pergunto estará interessado e disponivel em conversarmos para a sua eventual colaboração para a montagem da rede gsm e de um wisp em asterick?

Obrigado
L.Manuel Ferreira

[24] Comentário enviado por removido em 01/10/2010 - 10:13h

Oi Manuel,

Posso ajudá-lo, favor envie-me um email direto.


[25] Comentário enviado por marcos.m2007 em 04/02/2011 - 08:05h

Olá Loula, sou iniciante em teleco, e gostaria de saber como faço para montar um labs e mais ou menos o custo da montagem, de um laboratório.
Pois a empresa é fora do brasil, tem como adquirir esses equipamentos no brasil ????

Desde já agradeço .


At. Marcos M.

[26] Comentário enviado por marcos.m2007 em 04/02/2011 - 13:46h

Loula, estou aguardando, ancioso seu contato, caso queria me mandar algo, pode ser no meu email pessoal : marcos.medeiros2007@hotmail.com

Que também é meu MSN .


Aguardo atentamente.


Marcos M.

[27] Comentário enviado por wlsa em 12/07/2011 - 14:40h

Boa tarde Loula

Seu artigo é show de bola, gostaria de saber como faço para entrar em contato com vc.
Montei uma rede, parece que está tudo certinho, tudo instalado como manda o figurino.
Porém, nenhum celular consegue entrar na rede. Será que pode ser o problema com o clock,
li em outro artigo que sem um overclock é quese impossível de um celular reconhecer a rede, só se eu tiver muita sorte mesmo.
Vc já houviu falar sobre ter que setar o clck em 52Mhz, vc sabe como se faz isso ?
A útima dúvida é como se compila o smqueue no ubuntu 11.4 ?


antecipadamente obrigado pela ajuda


Pow

[28] Comentário enviado por removido em 10/01/2013 - 16:21h

Adorei o artigo, rico em conteúdo, ótima linguagem, o melhor que vejo em bastante tempo.

Gostaria de saber se você conhece alguém que tenha esses requisitos de Hardware para vender que já esteja no Brasil?

[29] Comentário enviado por kaioyudi2014 em 08/07/2014 - 09:44h

rapaz achei muito interessante seu post, ja havia deparado com o asterisk, e o elastix para criar rede de voz via wifi por aplicativos voip utilizados em celulares android, mas o seu achei muito mais pratico visto que o alcance wireless de aparelhos celulares é bastante limitado.

Enfim,

Tenho uma duvida, é possível conectar este GSM base station à internet, e permitir o acesso à internet para os celulares atraves do padrão gsm?

[30] Comentário enviado por mgruzz em 21/04/2015 - 18:13h

Ola pessoal quando eu digito ./configure --prefix=$BOOST_PREFIX --with-libraries=thread, date_time, program_option
Aparece
Building Boost.Jam with toolset gcc... tools/jam/src/bin.linuxx86_64/bjam
Unicode/ICU support for Boost.Regex?... not found.
Generating Boost.Build configuration in user-config.jam...
Generating Makefile...

Como posso reverter este error?

[31] Comentário enviado por itanetbahia em 08/09/2019 - 11:54h


[1] Comentário enviado por gesousa em 02/06/2009 - 16:56h

Muito bom seu artigo. Um dos mais interessantes que vi ultimamente.

Vi que utilizou para testes, mas você está utilizando o seu hardware para alguma aplicação especifica, como uma rede interna ??

Pois queria saber se com está configuração de hardware, qual seria a distancia do sinal e quantos telefones este equipamento conseguiria mantes conectado ?


Outra questão queria saber é a parte legal da utilização da banda GSM para uso particular, pois na empresa onde trabalho, ainda utilizamos um sistema de radio frequência para a comunicação com obras onde outro meios de comunicação como celular e telefone físico não alcança, para a utilização da faixa para uso amador a uma taxa anual a ser paga ao ministério da comunicação. MAs acho que a GSM como é utilizada comercialmente deve ser proibido a utilização...


ola amigo voce possar seu contato ou me chama no zap 73 999179192 estou com um projeto mais preciso de alguem com conhecimento sobre o assunto . chama asssim que possivel

[32] Comentário enviado por itanetbahia em 08/11/2019 - 18:08h


[6] Comentário enviado por removido em 05/06/2009 - 10:55h

Oi reinaldocf, obrigado!
Não é possível trafegar dados ainda, o projeto só cobre GSM. Existe a previsão para implementação de GPRS e EDGE, o que permitiria o tráfego de dados.
[/q
Amigo boa noite ... sei que uma postagem antiga caso ainda exista no grupo eu tenho interesse em um projeto desse tipo , como ja passou bastante tempo ja pode ser que tenha novidades .. se possível me chame no zap 73999179192 preciso de assessoria sobre o assunto ,, basta me chamar e conversaremos. ou email . adielsuporte@gmail.com

[33] Comentário enviado por itanetbahia em 08/11/2019 - 18:10h


[23] Comentário enviado por lmanuelferr em 30/09/2010 - 18:27h

boa noite Alex,

Temos um projecto para o desenvolvimento de uma rede gsm numa provincia de um estado em Africa.

Eventualmente podemos desenvolver outro projecto de um internet server provider e voip recebendo via satelite e transmitindo em wireless e, usando as infraestruturas da base station da rede gsm.

Pergunto estará interessado e disponivel em conversarmos para a sua eventual colaboração para a montagem da rede gsm e de um wisp em asterick?

Obrigado
L.Manuel Ferreira


se possivel me chame no zap tenho interesse no projeto. preciso montar uma rede 3g em um apequena fazenda. 73 999179192

[34] Comentário enviado por itanetbahia em 08/11/2019 - 18:11h


[5] Comentário enviado por reinaldocf em 05/06/2009 - 10:14h

Olá loula.

Ótimo artigo. Era justamente o que estava procurando.

Uma dúvida, poderia utilizar essa mesma rede para trafegar dados, usando os modems GSM?

Atenciosamente,
Reinaldocf


amigo boa noite conseguil montar esse projeto chama no zap ai 73999179192

[35] Comentário enviado por itanetbahia em 08/11/2019 - 18:13h

amigo alguem por ai conseguil montar o projeto ?? caso sim me chame no zap tenho interesse meu zap 73 999179192


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts