Plano de Estudos: 07/07/2011
- Thales Junho
- Proposta do OpenBSC: Entender proposta do OpenBSC, estudando site de origem
- Funções da solução: Descrever as funções que podem ser implementadas na solução
- Hardware: Definir especificação do hardware e funções necessárias para implementação
- Estagio atual: Esclarecer problemas atuais
- Entregar estes resultados como um link no Open3G
- Prazo: 4 semanas
- Ferramentas: Descrever cada uma das 4 ferramentas (O que e como?)
- Utilitários? Descrever cada um dos 4 utiliies (O que e como?)
- Entregar estes resultados como um link no Open3G
- Prazo: 4 semanas
Proposta do OpenBSC
Introdução
Open BSC é um projeto que visa a criação de um software livre, ou seja, implementações de software GPL-licensed para pilha de protocolos GSM/3GPP e seus elementos.
O projeto começou com uma implementação A-bis (Adicionados a isto BSC/MSC/HLR) para experimentação e com intuito de pesquisa. Contudo, a algum tempo o projeto tomou um rumo diferente.
Open BSC é um software GSM Network in a box, ou seja, todas as funções e implementações estão contidas em um único software, implementando as partes mínimas necessárias para criar uma pequena, auto-contida rede GSM.
O Open BSC inclui funcionalidades normalmente realizadas pelos seguintes componentes de uma rede GSM:
- BSC (Base Station controller)
- MSC (Mobile Switched Center)
- HLR (Home Location Register)
- AuC (Authentication Center)
- VLR (Visitor Location Register)
- EIR (Equipment Identity register).
No momento, o projeto visa o funcionamento sobre a microBTS Siemens BS11 e a stação transceptora GSM ip.access nanoBTS.
Funções da solução
- Prover uma base de experimentação e pesquisa em segurança em GSM do lado de dentro da rede
- Documentar, publicar e apontar quaisquer problemas relacionados à segurança que sejam descobertos durante o projeto
- Aprender mais sobre a rede GSM em um nível mais baixo, particularmente, os aspectos práticos de um equipamento real.
O projeto não está interessado em:
- Consturir uma BSC/MSC estável para desenvolvimento em redes que requerem alta disponibilidade (99,9999...%)
- Construir algo que siga as especificações GSM aos últimos detalhes
- Romper com redes comerciais GSM no momento atual.
Requisitos
Apesar do OpenBSC ser, praticamente, escrito em código C99 portátil, existem algumas partes não-portáteis: O driver de entrada E1 requer um kernel Linux com suporte mISDN e um cartão de interface E1 compatível com mISDN. Precisaremos disso apenas se desejarmos trabalhar com BTS baseadas em E1.
Para operar uma rede GSM, precisa-se não apenas do OpenBSC, mas, claro, de algum tipo de BTS GSM. As únicas configurações testadas são com:
- Siemens BS-11 microBTS
- ip.access nanoBTS
Configurações/Modos
Modo OpenBSC network-in-the-box (NTIB)
Esse modo é muito diferente da rede GSM clássica, na qual a BSC é apenas um elemento de pequena relevância na rede distribuída, consistindo de diversos elementos como BSC, MSC, HLR, etc.
Contudo, é este o modo clássico de se operar o OpenBSC. Nessa configuração, precisa-se apenas de (pelo menos) uma BTS e o OpenBSC. Não há necessidade de elementos como MSC, HLR, VLR, AuC ou quaisquer outros componentes da rede GSM.
Para usar-se o modo NITB, precisa-se do programa osmo-nitb
Interconectando OpenBSC com um PBX
Se for necessário conectar chamadas fora da sua rede GSM baseada em OpenBSC, pode-se ter um Linux Call Router (Roteador de chamadas Linux) e o OpenBSC trabalhando juntos para criar uma situação como a de baixo:
OpenBSC operando no modo BSC-only
Se faz-se necessário utilizar o OpenBSC em uma rede GSM BSC clássica, é possível, Contudo, precisaremos de todas as outras partes da rede GSM e a MSC que pode prover uma interface A-sobre-IP usando SCCP-lite
Para usar-se o modo BSC-only, usaremos o programa osmo-bsc.
Status do projeto
Housekeeping
- Inicialização OML da BTS
- Suporte para saltos de freqüências de canais no equipamento BTs que suporte tal tecnologia (BS-11)
- Alocaçao de canal, login imediato/canal requisitado, bringup RSL
Gerenciamento Móvel:
- HLR muito simples implementado como um bando de dados SQLLite
- Autenticação não segura usando IMEI/IMSI e cartões SIM regulares
- Autenticação usando COMP128v1 caso deseje-se usar um cartão SIM com Ki conhecido
- Skimming IMEI/IMSI dos telefones que tentem registrar-se com o OpenBSC
- Transmissão de pacotes MM INFO com nome de operador e hora local/timezone
- Paginação de aparelhos móveis que são registrados na BTS
- Manter o controle das localidades de área nas quais os telefones móveis encontravam-se nas chamadas anteriores.
- Handover durante a chamada entre múltiplas células dentro de uma BSC
Suporte a SMS
- Recebimento e transmissão de SMS, incluindo roteamento entre assinantes
- Envio de SMS por meio de linhas de comando OpenBSC
- Envio de SMS por meio de aplicações externas por meio de escrita de tabelas SQL
Suporte a chamada de voz
- Chamadas MO (Mobile Originated) e MT (Mobile Terminated)
- Suporte TCH/F com Codec FR e EFR
- Suporte TCH/F com Codec AMR (apenas na configuração BSC-Only)
Suporte E1
- Demultiplexaçao de quatro sub –canais 16K com dados de voz contidos em um slot E1
- Suporte para multiplexaçao TRX em uma BTS
- Suporte para múltiplas BTSs conectadas no mesmo link E1 (configuração multi-loop)
Suporte Abis/IP
- Protocolo Abis/IP para nanoBTS
- Gateway RTP para interoperar uma interface SGSN com Gb (Ns-sobre-IP)
Suporte GPRS/EDGE
- Configuraçao de objetos e atributos da nanoBTS OML para GPRS e EDGE
- Setar SYSTEM INFORMATION 13 por meio de RSL
- RAID/CGI/NSVCI/NSEI/BCVI configuráveis
- Possibilidade de interoperação da BTS com a interface SGSN com Gb (NS-sobre-IP)
- Estado Beta do OsmoSGSN incluso no OpenBSC
Atributos já implementados mas que não funcionam ou não foram testados
- Comutação PDCH/TCH dinâmica.
Itens sendo trabalhados
- Referencia de quartzo disciplinada GPS/DCF77 para o cartão HFC-E1 (por meio de HS-Esslingen, projeto de pesquisa estudantil)
Itens não implementados
- Broadcast celular
- Qualquer tipo de transcodificação de dados de voz
- Chamadas de voz TCH/H (Funcionam apenas no Osmo-bsc, não no Osmo-nitb)
- Chamadas CSD
- Chamadas de emergência (funciona no Osmo-bsc, mas não no Osmo-nitb)
- Suporte descontínuo ao TX e RX
Pesquisador
- Thales Junho Ferreira