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
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:
Listar Clientes
Remover um Cliente
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.