(18 revisões intermediárias por 2 usuários não estão sendo mostradas)
Linha 1: Linha 1:
Estudo do Codigo OpenBsc
Estudo do Codigo OpenBsc
= open\openbsc\openbsc\src =


= Raiz =
== LibCommon ==
 
# osmo_msc <br> routina para manipulação da MSC <br><br>
# osmo_msc_data <br> dados para bsc real <br><br>
# paging <br> manipulador de paginação <br><br>
# rtp_proxy <br> manipulador de proxy RTP para a nanoBTS do ip.access <br><br>
# signal <br> infraestrutura genérica de sinalização e notificação <br><br>
# trau_mux <br> refletor de quadro TRAU para rotear chamadas de voz <br><br>
# ussd <br> função de manipulação de mensagens USSD originadas de aparelhos móveis <br><br>
 
= LibCommon =


#bsc_version <br> contém a versão e os direitos reservados do código <br><br>
#bsc_version <br> contém a versão e os direitos reservados do código <br><br>
Linha 18: Linha 9:
#socket <br> código da porta OpenBSC, tirado do driver de entrada da Abis <br><br>
#socket <br> código da porta OpenBSC, tirado do driver de entrada da Abis <br><br>


= Osmo-bsc_nat =
== Osmo-bsc_nat ==


#bsc_filter <br> multiplexador BSC para NAT <br><br>
#bsc_filter <br> multiplexador BSC para NAT <br><br>
Linha 28: Linha 19:
#bsc_ussd <br> código de filtro USSD <br><br>
#bsc_ussd <br> código de filtro USSD <br><br>


= Osmo-nitb =
== Osmo-nitb ==


#bsc_hack <br> implementação minimalista hacker da BSC (+MSC +HLR) <br><br>
#bsc_hack <br> implementação minimalista hacker da BSC (+MSC +HLR) <br><br>


= IpAcess =
== IpAcess ==


#  ipaccess-config.c <br> Realiza a coneção com a nanoBTS, verificando falhas ao tentar faze-lo e  realiza feedback para saber se algo indesejado foi feito.<br><br>
#  ipaccess-config.c <br> Realiza a conexão com a nanoBTS, verificando falhas ao tentar faze-lo e  realiza feedback para saber se algo indesejado foi feito.<br><br>
# ipaccess-find.c <br> Localiza a BTS<br><br>
# ipaccess-find.c <br> Localiza a BTS<br><br>
# ipaccess-firmware.c <br><br><br>
# ipaccess-firmware.c <br><br><br>
Linha 40: Linha 31:
# network_listen.c <br><br><br>
# network_listen.c <br><br><br>


== LibBsc ==
# abis_nm.c <br>comunicação BSC/BTS<br><br>
# abis_nm_ipaccess.c <br>lista de atributos incorporadorados da IP Acess<br><br>
# abis_nm_vty.c<br>-<br><br>
# abis_om2000.c <br>-<br><br>
# abis_om2000_vty.c <br>-<br><br>
# abis_rsl.c <br>Sinalização de mensagem na interface A-bis<br><br>
# bsc_api.c <br>API para o openBSC , ponte entre MSC e BSC<br><br>
# bsc_init.c <br>implementação de uma BSC minima<br><br>
# bsc_msc.c <br>Rotinas para falar com o MSC usando o protocolo IPA<br><br>
# bsc_rll.c <br>-<br><br>
# bsc_vty.c <br>"Interface de OpenBSC para VTY quagga"<br><br>
# bts_ericsson_rbs2000.c <br>configurações da ericsson RBS2000 BTS<br><br>
# bts_hsl_femtocell.c <br>Código de suporte para OpenBSC HSL Femtocell<br><br>
# bts_init.c <br>inicializa a BTS<br><br>
# bts_ipaccess_nanobts.c <br>configurações da nanoBTS<br><br>
# bts_nokia_site.c <br>Configuração padrao da Nokia BTS<br><br>
# bts_siemens_bs11.c <br>Configuração padrao da Siemens BS11 BTS<br><br>
# bts_unknown.c <br>Configuração de uma BTS generica<br><br>
# chan_alloc.c <br>Rotina de alocação de canal<br><br>
# e1_config.c <br>"OpenBSC código de entrada E1"<br><br>
# gsm_04_08_utils.c <br>-<br><br>
# gsm_subscriber_base.c  <br>visão do assinante pela bts<br><br>
# handover_decision.c  <br>verifica a necessidade do handover<br> <br>
# handover_logic.c  <br>realiza o handover<br><br>
# meas_proc.c <br>analisa se há uma BTS com melhor sinal<br><br>
# meas_rep.c <br>Tratamento de relatorios<br><br>
# paging.c <br>gerenciamento do paging<br><br>
# rest_octets.c <br>-<br><br>
# system_information.c <br>Informações do sistema de codificação e decodificação<br><br>


= LibBsc =
== LibMsc ==
# abis_nm.c <br>
# abis_nm_ipaccess.c <br>
# abis_nm_vty.c<br>
# abis_om2000.c <br>
# abis_om2000_vty.c <br>
# abis_rsl.c <br>
# bsc_api.c <br>
# bsc_init.c <br>
# bsc_msc.c <br>
# bsc_rll.c <br>
# bsc_vty.c <br>
# bts_ericsson_rbs2000.c <br>
# bts_hsl_femtocell.c <br>
# bts_init.c <br>
# bts_ipaccess_nanobts.c <br>
# bts_nokia_site.c <br>
# bts_siemens_bs11.c <br>
# bts_unknown.c <br>
# chan_alloc.c <br>
# e1_config.c <br>
# gsm_04_08_utils.c <br>
# gsm_subscriber_base.c  visão do assinante pela bts<br>
# handover_decision.c  verifica a necessidade do handover<br>
# handover_logic.c  realiza o handover<br>
# meas_proc.c <br>
# meas_rep.c <br>
# paging.c <br>
# rest_octets.c <br>
# system_information.c <br>
 
= LibMsc =
#auth - <br>Funcoes de autenticacao<br><br>
#auth - <br>Funcoes de autenticacao<br><br>
#db - <br><br><br>
#db - <br><br><br>
Linha 91: Linha 81:
#vty_interface_layer3 -<br><br><br>
#vty_interface_layer3 -<br><br><br>


= LibTrau =
== LibTrau ==
#rtp_proxy - <br>Proxy da nano-BTS<br><br>
#rtp_proxy - <br>Proxy da nano-BTS<br><br>
#trau_mux - <br>Rotear as chamadas de voz<br><br>
#trau_mux - <br>Rotear as chamadas de voz<br><br>
#trau_upqueue -<br><br><br>
#trau_upqueue -<br><br><br>


= Osmo-Bsc =
== Osmo-Bsc ==
#osmo_bsc_api - <br><br><br>
#osmo_bsc_api - <br><br><br>
#osmo_bsc_audio - <br>manipulação de áudio<br><br>
#osmo_bsc_audio - <br>manipulação de áudio<br><br>
Linha 108: Linha 98:
#osmo_bsc_vty - <br>Configuração Osmo BSC VTY<br><br>
#osmo_bsc_vty - <br>Configuração Osmo BSC VTY<br><br>


= Utils =
== Utils ==
#bs11_config - <br>Siemens BS-11 ferramenta de configuração microBTS<br><br>
#bs11_config - <br>Siemens BS-11 ferramenta de configuração microBTS<br><br>
#isdnsync -<br>
#isdnsync -<br>
<br><br>
<br><br>
= open\openbsc\openbsc\tests =


= Bsc-Nat =
== Bsc-Nat ==
#bsc_data - <br>Dados de teste entre BSC - MSC<br><br>
#bsc_data - <br>Dados de teste entre BSC - MSC<br><br>
#bsc_nat_test - <br>Varias tentativas de conectividade -ANALISE IMCOMPLETA<br><br>
#bsc_nat_test - <br>Varias tentativas de conectividade -ANALISE IMCOMPLETA<br><br>


= Channel =
== Channel ==
#channel_test - <br>Testando conectividade assinante-canal<br><br>
#channel_test - <br>Testando conectividade assinante-canal<br><br>


= Db =
== Db ==
#db_test - testando o código do banco de dados de assinantes
#db_test - <br>testando o código do banco de dados de assinantes<br><br>
 
= Debug =
#debug_test - tentativa de identificacao de falhas


= Gsm0408 =
== Debug ==
#gsm0408_test - teste de localidade de area e funcionalidade
#debug_test - <br>tentativa de identificacao de falhas<br><br>


== Gsm0408 ==
#gsm0408_test - <br>teste de localidade de area e funcionalidade<br><br>


= open\openbsc\openbsc\include\openbsc =


#abis_nm.h - <br> Modulos da rede GSM que gerenciam mensagens na A-bis.<br>Modulos que auxiliam a interface entre BSC e MSC.<br>Especificações de modulos (bibliotecas) para controle das nanoBTS Siemens e Ip.access.<br><br>
#abis_om2000.h - <br> Modulos para conexão e comunicações com a A-bis.<br><br>
#abis_rsl.h - <br> Modulos especificos para BTS Ipaccess, Siemens e Nokia.<br>GSM Rádio, mensagens de link na interface A-bis.<br><br>
#auth.h - <br> Modulos para autenticacao e cifragem na A-bis.<br><br>
#bsc_api.h - <br> Modulos de trocas de mensagens BTS, MSC, MS. Trocas de mensagens A-bis.<br><br>
#bsc_msc.h - <br> Rotinas para falar com o MSC usando o protocolo IPA.<br><br>
#bsc_nat.h - <br> Modulos da BSC NAT.<br>Modulos para A-bis; MSC->BSC;<br>Rotinas para uma conexão.<br><br>
#bsc_nat_sccp.h - <br> Utilitários NAT usando tipos SCCP.<br><br>
#bsc_rll.h <br><br>
#bss.h - <br> Modulos para iniciar e finalizar uma conexão de rede.<br><br>
#chan_alloc.h - <br> Funções de gestão para alocar / libertar struct gsm_lchan.<br><br>
#control_cmd.h <br><br>
#control_if.h <br><br>
#crc24.h <br><br>
#db.h <br><br>
#debug.h - <br> Áreas de depuração do código.<br><br>
#e1_config.h - <br> Modulos de configuração BTS.<br><br>
#gsm_04_08.h - <br> Função para converter um número de telefone e chamar o controle ASCII-BCD.<br><br>
#gsm_04_08_gprs.h - <br><br>
#gsm_04_11.h <br><br>
#gsm_data.h - <br> Rotinas para identificação de dados na rede gsm.<br><br>
#gsm_data_shared.h - <br> Rotinas para compartilhamento de dados. <br><br>
#gsm_subscriber.h - <br> Rotinas para mobile subscriber. Identificação da MSIN na rede gsm.<br><br>
#handover.h <br><br>
#handover_decision.h <br><br>
#ipaccess.h - <br> Rotinas para nano-Bts Ipaccess.<br><br>
#meas_rep.h - <br> Relatórios meas.<br><br>
#misdn.h <br><br>
#mncc.h <br><br>
#network_listen.h - <br> Start a Network test.<br><br>
#openbscdefines.h <br><br>
#osmo_bsc.h <br><br>
#osmo_bsc_grace.h <br><br>
#osmo_bsc_rf.h <br><br>
#osmo_msc <br> routina para manipulação da MSC <br><br>
#osmo_msc_data <br> dados para bsc real <br><br>
#paging <br> manipulador de paginação <br><br>
#rtp_proxy <br> manipulador de proxy RTP para a nanoBTS do ip.access <br><br>
#signal <br> infraestrutura genérica de sinalização e notificação <br><br>
#trau_mux <br> refletor de quadro TRAU para rotear chamadas de voz <br><br>
#ussd <br> função de manipulação de mensagens USSD originadas de aparelhos móveis <br><br>


= Pesquisadores =
= Pesquisadores =

Edição atual tal como às 19h02min de 27 de julho de 2012

Estudo do Codigo OpenBsc

open\openbsc\openbsc\src

LibCommon

  1. bsc_version
    contém a versão e os direitos reservados do código

  2. debug
    código de suporte à depuração e registro da OpenBSC

  3. gsm_data
    código para criação da estrutura de dados para o gsm

  4. socket
    código da porta OpenBSC, tirado do driver de entrada da Abis

Osmo-bsc_nat

  1. bsc_filter
    multiplexador BSC para NAT

  2. bsc_mgcp_utils
    utilitários do media gateway control protocol para openbsc

  3. bsc_nat
    multiplexador BSC para NAT

  4. bsc_nat_utils
    utilitários para multiplexador BSC para NAT

  5. bsc_nat_vty
    interface NAT BSC para VTY quagga

  6. bsc_sccp
    rotinas de manuseio e empacotamento SCCP

  7. bsc_ussd
    código de filtro USSD

Osmo-nitb

  1. bsc_hack
    implementação minimalista hacker da BSC (+MSC +HLR)

IpAcess

  1. ipaccess-config.c
    Realiza a conexão com a nanoBTS, verificando falhas ao tentar faze-lo e realiza feedback para saber se algo indesejado foi feito.

  2. ipaccess-find.c
    Localiza a BTS

  3. ipaccess-firmware.c


  4. ipaccess-proxy.c
    Informa dados requisitados pelo usuario, como IP da BTS,versao do codigo,

  5. network_listen.c


LibBsc

  1. abis_nm.c
    comunicação BSC/BTS

  2. abis_nm_ipaccess.c
    lista de atributos incorporadorados da IP Acess

  3. abis_nm_vty.c
    -

  4. abis_om2000.c
    -

  5. abis_om2000_vty.c
    -

  6. abis_rsl.c
    Sinalização de mensagem na interface A-bis

  7. bsc_api.c
    API para o openBSC , ponte entre MSC e BSC

  8. bsc_init.c
    implementação de uma BSC minima

  9. bsc_msc.c
    Rotinas para falar com o MSC usando o protocolo IPA

  10. bsc_rll.c
    -

  11. bsc_vty.c
    "Interface de OpenBSC para VTY quagga"

  12. bts_ericsson_rbs2000.c
    configurações da ericsson RBS2000 BTS

  13. bts_hsl_femtocell.c
    Código de suporte para OpenBSC HSL Femtocell

  14. bts_init.c
    inicializa a BTS

  15. bts_ipaccess_nanobts.c
    configurações da nanoBTS

  16. bts_nokia_site.c
    Configuração padrao da Nokia BTS

  17. bts_siemens_bs11.c
    Configuração padrao da Siemens BS11 BTS

  18. bts_unknown.c
    Configuração de uma BTS generica

  19. chan_alloc.c
    Rotina de alocação de canal

  20. e1_config.c
    "OpenBSC código de entrada E1"

  21. gsm_04_08_utils.c
    -

  22. gsm_subscriber_base.c
    visão do assinante pela bts

  23. handover_decision.c
    verifica a necessidade do handover

  24. handover_logic.c
    realiza o handover

  25. meas_proc.c
    analisa se há uma BTS com melhor sinal

  26. meas_rep.c
    Tratamento de relatorios

  27. paging.c
    gerenciamento do paging

  28. rest_octets.c
    -

  29. system_information.c
    Informações do sistema de codificação e decodificação

LibMsc

  1. auth -
    Funcoes de autenticacao

  2. db -


  3. gsm_04_08 -


  4. gsm_04_11 -
    Tentativa de mandar SMS

  5. gsm_04_80 -
    Igual ao do gsm_04_08

  6. gsm_subscriber -
    Conceitos e funcionalidades do assinante

  7. mncc -
    Rotinas de utilidades entre o API MNCC e o 04_08

  8. mncc_builtin -
    Funcionalidades e caracteristicas de uma ligacao

  9. mncc_sock -


  10. osmo_msc -
    Codigo de gerenciamento da MSC

  11. rrlp -
    tentativas de localizacao do assinante

  12. silent_call -
    Opcao de ligacao silenciosa

  13. sms_queue -
    Tentativa de mandar SMS

  14. token_auth -
    parte das autorizacoes

  15. transaction -
    Manipulacao de transicoes

  16. ussd -


  17. vty_interface_layer3 -


LibTrau

  1. rtp_proxy -
    Proxy da nano-BTS

  2. trau_mux -
    Rotear as chamadas de voz

  3. trau_upqueue -


Osmo-Bsc

  1. osmo_bsc_api -


  2. osmo_bsc_audio -
    manipulação de áudio

  3. osmo_bsc_bssap -
    manuseio do BSSMAP

  4. osmo_bsc_filter -
    verificar uma mensagem para a funcionalidade extra do BSC

  5. osmo_bsc_grace -


  6. osmo_bsc_main -


  7. osmo_bsc_msc -
    Lidar com a conexão com a MSC

  8. osmo_bsc_rf -


  9. osmo_bsc_sccp -
    Interação com o subsistema SCCP

  10. osmo_bsc_vty -
    Configuração Osmo BSC VTY

Utils

  1. bs11_config -
    Siemens BS-11 ferramenta de configuração microBTS

  2. isdnsync -



open\openbsc\openbsc\tests

Bsc-Nat

  1. bsc_data -
    Dados de teste entre BSC - MSC

  2. bsc_nat_test -
    Varias tentativas de conectividade -ANALISE IMCOMPLETA

Channel

  1. channel_test -
    Testando conectividade assinante-canal

Db

  1. db_test -
    testando o código do banco de dados de assinantes

Debug

  1. debug_test -
    tentativa de identificacao de falhas

Gsm0408

  1. gsm0408_test -
    teste de localidade de area e funcionalidade

open\openbsc\openbsc\include\openbsc

  1. abis_nm.h -
    Modulos da rede GSM que gerenciam mensagens na A-bis.
    Modulos que auxiliam a interface entre BSC e MSC.
    Especificações de modulos (bibliotecas) para controle das nanoBTS Siemens e Ip.access.

  2. abis_om2000.h -
    Modulos para conexão e comunicações com a A-bis.

  3. abis_rsl.h -
    Modulos especificos para BTS Ipaccess, Siemens e Nokia.
    GSM Rádio, mensagens de link na interface A-bis.

  4. auth.h -
    Modulos para autenticacao e cifragem na A-bis.

  5. bsc_api.h -
    Modulos de trocas de mensagens BTS, MSC, MS. Trocas de mensagens A-bis.

  6. bsc_msc.h -
    Rotinas para falar com o MSC usando o protocolo IPA.

  7. bsc_nat.h -
    Modulos da BSC NAT.
    Modulos para A-bis; MSC->BSC;
    Rotinas para uma conexão.

  8. bsc_nat_sccp.h -
    Utilitários NAT usando tipos SCCP.

  9. bsc_rll.h

  10. bss.h -
    Modulos para iniciar e finalizar uma conexão de rede.

  11. chan_alloc.h -
    Funções de gestão para alocar / libertar struct gsm_lchan.

  12. control_cmd.h

  13. control_if.h

  14. crc24.h

  15. db.h

  16. debug.h -
    Áreas de depuração do código.

  17. e1_config.h -
    Modulos de configuração BTS.

  18. gsm_04_08.h -
    Função para converter um número de telefone e chamar o controle ASCII-BCD.

  19. gsm_04_08_gprs.h -

  20. gsm_04_11.h

  21. gsm_data.h -
    Rotinas para identificação de dados na rede gsm.

  22. gsm_data_shared.h -
    Rotinas para compartilhamento de dados.

  23. gsm_subscriber.h -
    Rotinas para mobile subscriber. Identificação da MSIN na rede gsm.

  24. handover.h

  25. handover_decision.h

  26. ipaccess.h -
    Rotinas para nano-Bts Ipaccess.

  27. meas_rep.h -
    Relatórios meas.

  28. misdn.h

  29. mncc.h

  30. network_listen.h -
    Start a Network test.

  31. openbscdefines.h

  32. osmo_bsc.h

  33. osmo_bsc_grace.h

  34. osmo_bsc_rf.h

  35. osmo_msc
    routina para manipulação da MSC

  36. osmo_msc_data
    dados para bsc real

  37. paging
    manipulador de paginação

  38. rtp_proxy
    manipulador de proxy RTP para a nanoBTS do ip.access

  39. signal
    infraestrutura genérica de sinalização e notificação

  40. trau_mux
    refletor de quadro TRAU para rotear chamadas de voz

  41. ussd
    função de manipulação de mensagens USSD originadas de aparelhos móveis

Pesquisadores

  • Saulo Garcez Santos
  • Vinicius Ramos
  • Estevão Strini Magro
  • Felipe Leite