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.
# Sample OpenBTS configuration file # Format of each line is. # The key name can contain no spaces. # Everything between the first space and the end of the line becomes the value. # Comments must start with "#" at the beginning of the line. # Blank lines are OK.
# As a gerenal rule, non-valid configuration values will crash OpenBTS.
# # Logging parameters #
# The initial global logging level: ERROR, WARNING, NOTICE, INFO, DEBUG, DEEPDEBUG
LogLevel INFO
# The log file path. If not set, logging goes to stdout. # LogFileName test.out
# # Transceiver parameters #
# Transceiver interface # This TRX.IP is not really adjustable. Just leave it as 127.0.0.1.
TRX.IP 127.0.0.1 # This value is hard-coded in the transcevier. Just leave it alone.
TRX.Port 5700
# Path to transceiver binary
TRX.Path ../Transceiver/transceiver
# TRX logging. # Logging level.
TRX.LogLevel ERROR # Logging file. If not defined, logs to stdout. # TRX.LogFileName test.out
# Messaging server
Messenger.IP 127.0.0.1
Messenger.Port 5063
# Local SIP/RTP ports
SIP.Port 5062
RTP.Start 16484
RTP.Range 98
# Local SMS port for short code delivery.
SMSLoopback.Port 5064
# # Special extensions. #
# Routing extension for emergency calls. # PBX.Emergency 2101
# # SIP parameters #
# SIP registration period in seconds. # Ideally, this should be slightly longer than GSM.T3212.
SIP.RegistrationPeriod 3600
# # SIP Internal Timers. All timer values are given in millseconds. # These are from RFC-3261 Table A. #
# SIP Timer A, the INVITE retry period, RFC-3261 Section 17.1.1.2
SIP.Timer.A 1000
# # SMS parameters # # ISDN address of source SMSC when we fake out a source SMSC.
SMS.FakeSrcSMSC 0000 # ISDN address of destination SMSC when a fake value is needed.
SMS.DefaultDestSMSC 0000
# The SMS HTTP gateway. # Comment out if you don't have one. # SMS.HTTP.Gateway api.clickatell.com
# IF SMS.HTTP.Gateway IS DEFINED, SMS.HTTP.AccessString MUST ALSO BE DEFINED. # SMS.HTTP.AccessString sendmsg?user=xxxx&password=xxxx&api_id=xxxx
# The "Welcome Message" is sent to uprovisioned handsets that try to register. # Comment out if you don't want this feature. # WELCOME MESSAGE MUST BE LESS THAN 161 CHARACTERS. # SMS.WelcomeMessage Welcome to OpenBTS # SMS.WelcomeMessage Your handset attempted to register with OpenBTS.
# IF SMS.WelcomeMessage IS DEFINED, SMS.WelcomeShortCode MUST ALSO BE DEFINED.
SMS.WelcomeShortCode 0000
# # GSM #
# Network and cell identity.
# Network Color Code, 0-7
GSM.NCC 0 # Basesation Color Code, 0-7
GSM.BCC 0 # Mobile Country Code, 3 digits. # MCC MUST BE 3 DIGITS. Prefix with 0s if needed.
GSM.MCC 724 # Mobile Network Code, 2 or 3 digits.
GSM.MNC 66 # Location Area Code, 0-65535
GSM.LAC 667 # Cell ID, 0-65535
GSM.CI 0 # Network "short name" to display on the handset. # SHORT NAME MUST BE LESS THAN 8 CHARACTERS.
GSM.ShortName OpenBTS
# Assignment type for call setup. # This is defined in an enum AssignmentType in GSMCommon.h. # 0=Early, 1=VeryEarly.
GSM.AssignmentType 1
# Band and Frequency
# Valid band values are 850, 900, 1800, 1900.
GSM.Band 900 # Valid ARFCN range depends on the band. #GSM.ARFCN 29
GSM.ARFCN 10
# Downlink tx power level, dB wrt full power
GSM.PowerAttenDB 0
# Beacon parameters.
# L1 radio link timeout advertised on BCCH. # This is the RAW parameter sent on the BCCH. # See GSM 10.5.2.3 for encoding. # Value of 15 gives 64-frame timeout, about 30 seconds on the TCH. # This should be coordinated with T3109.
GSM.RADIO_LINK_TIMEOUT 15
# Attach/detach flag. # Set to 1 to use attach/detach procedure, 0 otherwise. # This will make initial registration more prompt. # It will also cause an un-regstration if the handset powers off.
GSM.ATT 1
# CCCH_CONF # See GSM 10.5.2.11 for encoding. # Value of 1 means we are using a C-V beacon.
GSM.CCCH_CONF 1
# Maximum RACH retransmission attempts # This is the RAW parameter sent on the BCCH. # See GSM 04.08 10.5.2.29 for encoding.
GSM.RACH.MaxRetrans 3
# Parameter to spread RACH busts over time. # This is the RAW parameter sent on the BCCH. # See GSM 04.08 10.5.2.29 for encoding.
GSM.RACH.TxInteger 14
# Access class flags. # This is the RAW parameter sent on the BCCH. # See GSM 04.08 10.5.2.29 for encoding. # Set to 0 to allow full access.
GSM.RACH.AC 0
# # GSM Timers. All timer values are given in milliseconds unless stated otherwise. # These come from GSM 04.08 11.2. #
# T3212, registration timer. # Unlike most timers, this is given in MINUTES. #Actual period will be rounded down to a multiple of 6 minutes. # Any value below 6 minutes disables periodic registration. # Ideally, this should be slightly less than the SIP.RegistrationPeriod.
GSM.T3212 6
[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.
[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
[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.
[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.
[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!!
[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?
[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 ????
[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 ?
[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...
[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