Skip to main content

Python Utility Functions Library for Call Details Records ( CDRs ) from Brazilian Telecommunications Carriers

Project description

Ask DeepWiki

Sumário
  1. Teletools
  2. Bibliotecas e ferramentas
  3. Instalação
  4. Uso básico
  5. Fontes de dados
  6. Referências

Teletools

Teletools é um conjunto de bibliotecas e ferramentas de apoio para pré-processamento e análise de arquivos CDR (Detalhes de Registros de Chamadas) de operadoras brasileiras.

Bibliotecas e ferramentas

Biblioteca Descrição
cipher Biblioteca para criptografar e descriptografar arquivos no formato .gpg
database Biblioteca para conexão e operações a banco de dados auxiliares de CDR
preprocessing Biblioteca para limpeza e preparação de dados
utils Biblioteca com ferramentas diversas e comuns
Ferramenta Descrição
cipher_cli Cliente de linha de comando para criptografar e descriptografar arquivos no formato .gpg
abr_loader Cliente de linha de comando para importação de dados da ABR Telecom
Aplicações Descrição
cdrstage Conjunto de arquivos de configuração para execução conteinerizada do gerenciador de banco de dados PostgreSQL

Instalação

As bibliotecas e ferramentas foram desenvolvidas para serem executadas em um computador Linux, contudo, embora não testado, podem ser executadas em computadores Windows que atendam aos pré-requisitos.

Pré-requisitos para instalação:

  • Python 3.13+ com gerenciador de pacotes UV
  • Instância de banco de dados PostgreSQL customizado para pré-processamento e análise de arquivos CDR em execução.
  • Variáveis de ambiente ou arquivo .vev com informações de conexão ao banco de dados PostgreSQL.
  • GnuPG ou Gpg4win

Procedimento para instalação:

Em um projeto Pyhton gerenciado pelo UV

$ uv add teletools

Em um ambiente virtural Python gerenciado pelo UV

# Crie o ambiente virtrual
$ uv venv ~/teletools --python=3.13

# Ative o ambiente virtrual
$ source ~/teletools/bin/activate

# Instale teletools
(teletools) $ uv pip install teletools

💡Utilize essa opção para utilizar os clientes de linha de comando

Configuração das variáveis de ambiente

Esta biblioteca requer credenciais de conexão com o banco de dados para funcionar. Você precisará configurar variáveis de ambiente contendo tais informações:

Variável Descrição
TELETOOLS_DB_HOST Endereço do servidor de banco de dados
TELETOOLS_DB_PORT Porta de acesso ao servidor de banco de dados
TELETOOLS_DB_NAME Nome do banco de dados
TELETOOLS_DB_USER Usuário para autenticação
TELETOOLS_DB_PASSWORD Senha do usuário

Utilize um dos diferentes métodos a seguir para configurar as variáveis:

  1. Usando arquivo .env (método recomendado)
# Crie o arquivo ~/.teletools.env
$ nano ~/.teletools.env

# Adicione as variáveis no seguinte formato
# (sem aspas, a menos que o valor contenha espaços ou caracteres especiais):
TELETOOLS_DB_HOST=endereco_do_servidor_de_banco_de_dados
TELETOOLS_DB_PORT=porta_do_servidor_de_banco_de_dados
TELETOOLS_DB_NAME=nome_do_banco_de_dados
TELETOOLS_DB_USER=nome_do_usuario_do_banco_de_dados
TELETOOLS_DB_PASSWORD=senha_do_usuario_do_banco_de_dados

# Por segurança, restrinja as permissões do arquivo:
$ chmod 600 ~/.teletools.env
  1. Exportando no terminal (sessão temporária)
# Se você precisa das variáveis apenas para a sessão atual do terminal, use o comando export:
$ export TELETOOLS_DB_HOST="endereco_do_servidor_de_banco_de_dados"
$ export TELETOOLS_DB_PORT="porta_do_servidor_de_banco_de_dados"
$ export TELETOOLS_DB_NAME="nome_do_banco_de_dados"
$ export TELETOOLS_DB_USER="nome_do_usuario_do_banco_de_dados"
$ export TELETOOLS_DB_PASSWORD="senha_do_usuario_do_banco_de_dados"

Observação: Estas variáveis estarão disponíveis apenas enquanto o terminal estiver aberto. Ao fechar, será necessário exportá-las novamente.

  1. Configuração permanente no perfil do usuário
# Abra o arquivo ~/.bashrc
$ nano ~/.bashrc

# Adicione as linhas export ao final do arquivo:
$ export TELETOOLS_DB_HOST="endereco_do_servidor_de_banco_de_dados"
$ export TELETOOLS_DB_PORT="porta_do_servidor_de_banco_de_dados"
$ export TELETOOLS_DB_NAME="nome_do_banco_de_dados"
$ export TELETOOLS_DB_USER="nome_do_usuario_do_banco_de_dados"
$ export TELETOOLS_DB_PASSWORD="senha_do_usuario_do_banco_de_dados"

# Para aplicar as mudanças imediatamente na sessão atual sem precisar fechar e reabrir o terminal, execute:
$ source ~/.bashrc

Uso básico

Cliente de criptografia

# Ative o ambiente teletools
$ source ~/teletools

# Execute o cliente cipher_cli
(teletools) $ cipher_cli --help

  Usage: cipher_cli [OPTIONS] COMMAND [ARGS]...

 File encryption and decryption CLI tool using RSA keys.

╭─ Options ────────────────────────────────────────────────────────────────────────────────╮
│ --help          Show this message and exit.                                              │
╰──────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ───────────────────────────────────────────────────────────────────────────────╮
│ encrypt   Encrypt files using RSA public key.                                            │
│ decrypt   Decrypt files using RSA private key.                                           │
╰──────────────────────────────────────────────────────────────────────────────────────────╯

Cliente de importação de arquivos da ABR Telecom

# Ative o ambiente teletools
$ source ~/teletools

# Execute o cliente abr_loader
(teletools) $ abr_loader --help

 Usage: abr_loader [OPTIONS] COMMAND [ARGS]...

 ABR Database Loader - Import Brazilian telecom portability and numbering plan data.

╭─ Options ────────────────────────────────────────────────────────────────────────────────╮
│ --help          Show this message and exit.                                              │
╰──────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ───────────────────────────────────────────────────────────────────────────────╮
│ load-pip          Import ABR portability data into PostgreSQL database.                  │
│ load-nsapn        Import ABR numbering plan data into PostgreSQL database.               │
│ test-connection   Test database connection and validate configuration.                   │
╰──────────────────────────────────────────────────────────────────────────────────────────╯

Fontes de Dados

Os arquivos de dados da ABR Telecom utilizados por esta biblioteca devem ser baixados dos sistemas PIP, Portal de Informações da Portabilidade e NSAPN, Novo Sistema de Administração dos Planos de Numeração.

  • Os arquivos de portabilidade devem ser extraídos do sistema PIP, de acesso restrito a prestadoras de telecomunicações e servidores da Anatel.
  • Os arquivos do NSAPN devem ser obtidos na área de download público do site da Entidade Administradora do Sistema Informatizado
  • Podem ser importados os arquivos de numeração dos serviços:
    • Códigos não geográficos (CNG);
    • Serviço Móvel Especializado (SME);
    • Serviço Móvel Pessoal (SMP);
    • Serviço Telefônico Fixo Comutado (STFC);
    • Serviço Telefônico Fixo Comutado, Fora da ATB (STFC-FATB); e
    • Serviços de Utilidade Pública (SUP).

Importante: Os arquivos do NSAPN contêm dados oficiais de numeração de telecomunicações brasileiras e são atualizados regularmente pela ANATEL.

Referências

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

teletools-0.0.1.tar.gz (1.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

teletools-0.0.1-py3-none-any.whl (43.3 kB view details)

Uploaded Python 3

File details

Details for the file teletools-0.0.1.tar.gz.

File metadata

  • Download URL: teletools-0.0.1.tar.gz
  • Upload date:
  • Size: 1.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.2

File hashes

Hashes for teletools-0.0.1.tar.gz
Algorithm Hash digest
SHA256 2ad54b70a5b90865dc1959eacb79eb737627019bb367cf298f948256ca2001c7
MD5 6a5abb4c8fdeaca3ca19258cfd0eee89
BLAKE2b-256 fba9abd71b90406a4d25431f9112302fc26e0ddd39601b20311a13c968525d5e

See more details on using hashes here.

File details

Details for the file teletools-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: teletools-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 43.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.2

File hashes

Hashes for teletools-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 fbe6acaf83a5e443801c236824417a09e7766830c742b1fdd56b989588df00fa
MD5 35be8aaa0e72c6914b44a23d9597110d
BLAKE2b-256 5fe8f65234a4b32c81731ce806aa7371209304e251539cc360629a758ef54baf

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page