O manual completo
Um guia em linguagem simples para instalar o KatoCall num servidor e pô-lo a faturar chamadas reais. Siga as partes por ordem — não é preciso experiência em telecomunicações.
Comece aqui
O KatoCall é uma central telefónica com um motor de faturação embutido. Os seus clientes fazem chamadas através dele; ele verifica o saldo, escolhe a rota de saída mais barata, cronometra a chamada e fatura-a — automaticamente.
Compra minutos a uma operadora a um preço e vende-os aos clientes por um preço maior. O KatoCall guarda ambos e mantém a diferença em cada chamada.
Bom saber: O KatoCall não converte moedas. Escolha uma moeda em Definições (o dólar americano é a predefinida) e use-a para comprar e vender, para que cada margem seja uma simples subtração.
Parte 1
Faz-se uma só vez, num servidor novo. Se alguém técnico preparar o servidor por si, entregue-lhe esta parte.
| Um servidor | Debian 12 (Bookworm), 64 bits — acabado de instalar. Serve qualquer VPS decente (OVH, Hetzner, DigitalOcean, Vultr). |
|---|---|
| Tamanho | 2 núcleos de CPU, 4 GB de RAM, 20 GB de disco. 2 GB de RAM é o mínimo. |
| Um IP público | O servidor precisa do seu próprio endereço na internet — a sua fornecedora dá-lho. |
| Acesso ao servidor | A palavra-passe de root, ou um utilizador com sudo. |
| Da sua operadora | Um tronco SIP (o host, e um IP autorizado ou um utilizador/palavra-passe), mais os números (DID) que tiver. |
| Um nome de domínio (opcional) | Só se quiser o cadeado https. Pode começar sem um e adicioná-lo depois. |
Copie katocall-1.0.0.tar.gz para o servidor e execute estes comandos um a um. Cada um mostra o que faz e para com uma mensagem clara se faltar algo.
O primeiro comando não altera nada — confirma que o servidor está pronto e avisa se faltar algo.
# unpack the package tar -xzf katocall-1.0.0.tar.gz cd katocall-1.0.0 # verifica o servidor (seguro — não altera nada) sudo bash install/00-preflight.sh
Execute-os um a um. O número 01 compila o motor telefónico e demora 10–20 minutos; os restantes são rápidos.
sudo bash install/01-install-asterisk.sh # o motor telefónico (10–20 min) sudo bash install/02-install-base-stack.sh sudo bash install/03-setup-admin-panel.sh sudo bash install/04-configure-ami.sh sudo bash install/05-production-hardening.sh sudo bash install/06-configure-did-forwarding.sh sudo bash install/07-configure-fail2ban.sh sudo bash install/08-configure-nat.sh sudo bash install/09-configure-outbound.sh sudo bash install/11-configure-backups.sh sudo bash install/12-configure-dialer.sh # só se quiser o discador
Do 01 ao 09 são obrigatórios. O passo 12 é só para o discador — ignore-o e tudo o resto continua a funcionar.
Corre cerca de 65 verificações — cada serviço, a firewall, os backups, a segurança — e indica o que corrigir no que falhar.
sudo bash install/verify.sh PASS 66 WARN 1 FAIL 0
Abra o endereço do servidor num navegador e inicie sessão. Obriga a mudar a palavra-passe de imediato — nada funciona até a definir.
http://your-server-address/adminKatocallAntes de chamadas reais: ative o HTTPS. Até o fazer, o painel usa http sem cifra e o seu login viaja pela internet desprotegido. Quando um domínio apontar para o servidor, execute:
sudo bash install/10-configure-tls.sh panel.yourcompany.com you@yourcompany.com
Parte 2
Já está no painel. Crie estas seis coisas por esta ordem — cada uma usa a anterior. Está tudo no menu à esquerda.
Um fornecedor (Supplier) é uma operadora a quem compra minutos. Comece aqui porque tudo o resto aponta para ele. Abra Suppliers → New Supplier e dê-lhe um nome.
Uma tabela de tarifas (Rate Card) é uma lista de preços, uma linha por destino (um prefixo como 1 para os EUA ou 44 para o Reino Unido). Crie dois tipos:
Não escreva centenas de prefixos: abra a tabela e clique em Import CSV para carregar o ficheiro de preços da operadora de uma vez.
Bom saber: As tarifas são guardadas com 4 casas decimais; um ficheiro com 5 casas é arredondado na importação.
Um tronco (Trunk) é a ligação ativa a um fornecedor. Abra Trunks → New Trunk. Importam duas coisas:
Depois de guardar, use Test Call para confirmar que marca antes de encaminhar clientes para ele.
O nome de um tronco não pode ter espaços — use IDT-GOLD, não IDT GOLD.
Um grupo de encaminhamento diz: para este tipo de número, tenta estes troncos, por esta ordem. Dois ajustes:
Se o primeiro tronco estiver ocupado ou falhar, o KatoCall passa ao seguinte. Use Preview para escrever um número e ver que tronco usaria.
Uma conta (Account) é um cliente. Abra Accounts → New Account. As escolhas importantes:
Bom saber: Toda conta que faz chamadas de saída precisa de uma Rate Card de cliente que cubra os prefixos que vende — caso contrário essas chamadas são recusadas (nunca faturadas a zero).
Um DID é um número para o qual as pessoas ligam para contactar um dos seus clientes. Abra a conta, vá a DIDs → Add DID, escreva o número e para onde reencaminha. (Guarde a conta primeiro.)
Cada campo do painel tem um pequeno ? ao lado que explica para que serve, nos dez idiomas. Settings → Network envia a sua configuração para o motor telefónico após grandes alterações.
Parte 3
O discador liga para uma lista de números, reproduz uma mensagem gravada e deixa as pessoas premir uma tecla para serem ligadas, pedir retorno de chamada ou sair. É preciso fazer antes o passo 12 da instalação.
Perceba o que é: é um discador de potência (power dialer), não preditivo. Sem deteção de atendedor de chamadas (o voicemail conta como atendido) e sem ritmo automático — você define um número fixo de chamadas simultâneas. Funciona num servidor de cada vez.
Abra Dialer Campaigns → New Campaign. Escolha a conta a que fatura, dê-lhe um nome e defina o ritmo: Max Concurrent Calls, Max Attempts e o Retry gap.
Carregue a Prerecorded Message que toca ao atender. Depois monte o IVR Menu — o que cada tecla faz:
Na secção Contacts da campanha, clique em Upload CSV — um ficheiro simples de números de telefone.
Prima Start e começa a marcar em segundos; Pause para tão depressa. No fim, Download Results dá um ficheiro com o que aconteceu a cada número.
Parte 4
Quatro comandos cobrem quase tudo o que fará no servidor.
sudo bash install/verify.sh # está tudo saudável? sudo /usr/local/sbin/katocall-backup # faça um backup agora sudo bash install/upgrade.sh # aplique uma versão mais recente sudo bash install/uninstall.sh # remova-o (mantém os dados)
Os seus backups estão no mesmo disco que protegem. Copie-os para outro lado com regularidade, ou uma falha de disco leva os dados e o único backup juntos.
Antes de confiar num relatório de receitas, pode provar que as contas batem certo ao cêntimo:
sudo -u softswitch admin/backend/venv/bin/python admin/backend/manage.py verify_ledger
Parte 5
Seja qual for o problema, sudo bash install/verify.sh é a primeira coisa a executar. Verifica ~65 coisas e indica o script a re-executar.