Pular para conteúdo

Guia de Administração do SIP VAULT

Gerenciamento de Clientes

O SIP VAULT utiliza um único servidor para todos os clientes. Cada cliente recebe: - Um ID e token de autenticação únicos - Um bucket R2 dedicado (sipvault-{customer_id}) - Um agente implantado em seu servidor OpenSIPS

Adicionar um Cliente

sipvault-admin add-customer --id acme

Este único comando: 1. Cria o bucket R2 sipvault-acme 2. Gera um token de autenticação aleatório 3. Adiciona o cliente ao /etc/sipvault/server.env 4. Imprime a configuração do agente para implantar no servidor do cliente

Saída:

Created R2 bucket: sipvault-acme
Added customer 'acme' to server config

============================================================
Customer: acme
Bucket:   sipvault-acme
Token:    a3f8c91b2e4d7056f1c9e8a2b3d47890
============================================================

Restart the server:  systemctl restart sipvault-server

Agent config (/etc/sipvault/agent.conf):
────────────────────────────────────────────────────────────
[server]
address = sipvault.sippulse.com.br:9060
customer_id = acme
token = a3f8c91b2e4d7056f1c9e8a2b3d47890

[capture]
mode = pcap
sip_ports = 5060
interface = eth0
log_file = /var/log/opensips.log
rtp_port_min = 35000
rtp_port_max = 65000

[buffer]
path = /var/lib/sipvault/buffer.dat
max_size = 104857600

[logging]
level = info
────────────────────────────────────────────────────────────

Opções:

sipvault-admin add-customer \
  --id acme \
  --token custom-secret \
  --server vault.example.com:9060 \
  --sip-ports 5060,5080 \
  --interface eth1 \
  --log-file /var/log/syslog

Após adicionar, reinicie o servidor:

systemctl restart sipvault-server

Listar Clientes

sipvault-admin list-customers

Remover um Cliente

sipvault-admin remove-customer --id acme

Isto remove o cliente da configuração mas não exclui o bucket R2 (preservação de dados). Exclua o bucket manualmente no painel do Cloudflare se necessário.

Integração com CDR

Após adicionar um cliente, atualize o CDR Viewer dele com o segredo HMAC. Consulte o Guia de Integração CDR para código em PHP/Python/Node.js.

Instalação no Servidor

# Copy the admin script
cp sipvault_admin.py /opt/sipvault/api/
chmod +x /opt/sipvault/api/sipvault_admin.py

# Create an alias
echo 'alias sipvault-admin="/opt/sipvault/api/venv/bin/python3 /opt/sipvault/api/sipvault_admin.py"' >> /root/.bashrc
source /root/.bashrc

Implantação do Agente no Servidor do Cliente

Após o add-customer, implante o agente no servidor OpenSIPS do cliente:

# Copy the agent binary
scp bin/sipvault-agent-linux-amd64 root@CUSTOMER_IP:/usr/local/bin/sipvault-agent

# Copy the agent config (from the add-customer output)
# Paste into /etc/sipvault/agent.conf on the customer server

# Install and start
ssh root@CUSTOMER_IP "chmod +x /usr/local/bin/sipvault-agent && \
  mkdir -p /etc/sipvault /var/lib/sipvault && \
  systemctl daemon-reload && \
  systemctl enable sipvault-agent && \
  systemctl start sipvault-agent"

Planejamento de Capacidade

Um único servidor SIP VAULT atende múltiplos clientes. O dimensionamento depende do volume total de chamadas entre todos os clientes:

CPS Total Especificação do Servidor Observações
< 50 2 vCPU, 2 GB Suficiente para 5-10 clientes pequenos
50-250 4 vCPU, 8 GB Implantação típica, 10-50 clientes
250-1000 8 vCPU, 16 GB Implantação grande, servidor dedicado
> 1000 Múltiplos servidores Balanceamento de carga por grupos de clientes

Gargalos em escala: - Gravações no R2: ~2 arquivos por chamada concluída. A 1000 CPS = 2000 gravações/seg - Memória: ~10 KB por sessão ativa. 60.000 chamadas simultâneas = 600 MB - CPU: Processamento de qualidade ~5ms por chamada concluída

Para clientes com > 250 CPS cada, considere um servidor dedicado por cliente.