Plano de Estudos: 07/07/2011

  • Thales Junho


  1. Proposta do OpenBSC: Entender proposta do OpenBSC, estudando site de origem
  2. Funções da solução: Descrever as funções que podem ser implementadas na solução
  3. Hardware: Definir especificação do hardware e funções necessárias para implementação
  4. Estagio atual: Esclarecer problemas atuais


  • Entregar estes resultados como um link no Open3G
  • Prazo: 4 semanas


  1. Ferramentas: Descrever cada uma das 4 ferramentas (O que e como?)
  2. 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