VoIP.Mor — integração somente-leitura com o sistema externo de tarifação VoIP MOR
Esta wiki cobre o módulo VoIP.Mor do Quaza: a integração que permite consultar usuários SIP, saldos e chamadas que rodam no servidor MOR (Magnificent Open Router) — um sistema externo de tarifação VoIP. Importante: a integração é apenas leitura. Quaza não cria usuários nem altera saldos — só puxa dados do banco do MOR pra exibir nas telas. Audiência: provedores que oferecem telefonia VoIP terceirizada via MOR e precisam consultar dados dos clientes dentro do Quaza.
Resumo em uma linha: VoIP.Mor é um módulo de consulta ao banco MOR (sistema externo de tarifação VoIP). Quaza acessa o banco do MOR via uma conexão separada (config.php → connection['mor']), lê tabelas users e calls, e mostra usuários SIP + saldos + histórico de chamadas dentro do Quaza. Tudo que cria/cobra/encerra ligação é feito no próprio MOR — Quaza só observa. Se a conexão cair, as telas ficam vazias.
VoIP.Mor ≠ Telefonia nativa. Quaza tem um módulo separado de
Telefonia
próprio (VoIP/MVNO interno). VoIP.Mor é especificamente
integração com sistema EXTERNO MOR. Não confunda — são funcionalidades independentes.
Por que existe a integração com MOR
Alguns provedores oferecem telefonia VoIP aos clientes mas não querem operar a tarifação por dentro do Quaza. Em vez disso, usam o MOR (Magnificent Open Router) — um sistema open-source / comercial específico pra VoIP que faz roteamento, tarifação por destino, prepaid/postpaid, etc. O MOR fica em outra máquina, com seu próprio banco de dados.
O cliente do provedor cria conta no MOR (via outro caminho — provisionamento externo, integração separada) e usa o softphone/ATA pra ligar. O MOR cobra. Mas a equipe de atendimento e financeiro do provedor usa o Quaza no dia a dia — precisa ver saldo, ver chamadas, identificar problemas. Aí entra o módulo VoIP.Mor: lê o banco do MOR e exibe dentro do Quaza.
| O que o MOR faz |
O que o Quaza (VoIP.Mor) faz |
| Roteia chamadas SIP |
Não envolvido |
| Cobra por minuto / por destino |
Só consulta o saldo resultante |
| Provisiona usuários SIP |
Não cria — só lista os existentes |
| Mantém CDR (histórico de chamadas) |
Lê o CDR pra mostrar histórico |
| Tarifa pré-pago e pós-pago |
Mostra qual modalidade cada user usa |
| Aplica tarifas e descontos |
Mostra tarifa configurada por user |
Glossário
| Termo |
O que é |
| MOR |
Magnificent Open Router — sistema externo de VoIP/tarifação. Quaza se conecta ao banco dele pra consulta. |
| Usuário VoIP / SIP user |
Conta cadastrada no MOR (username + senha + saldo + tarifa + tipo). É o que o cliente usa pra autenticar no softphone/ATA. |
| Saldo |
Crédito disponível (pré-pago) ou limite de crédito (pós-pago). Atualizado em tempo real pelo MOR conforme as chamadas rolam. |
| Tarifa |
Tabela de preços por destino (R$/min ou Gs/min). Define quanto custa cada minuto pra cada destino (Brasil fixo, celular, internacional, etc). |
| Período de cobrança |
Ciclo de fechamento (mensal/semanal) usado em pós-pago. |
| CDR (Call Detail Record) |
Registro de chamada — origem, destino, duração, custo. Cada chamada gera um CDR no banco do MOR. |
| Template |
Modelo de configuração reutilizável (tarifa default, modalidade, idioma) usado pra criar novos usuários no MOR de forma padronizada. |
| Conexão MOR |
Configuração técnica em config.php — connection id mor apontando pro banco MySQL/PostgreSQL do MOR externo. |
| Pré-pago |
Cliente recarrega antes; chamadas debitam até zerar. |
| Pós-pago |
Cliente liga durante o mês; recebe fatura no fim. |
| Provisionamento |
Criação de usuário SIP no MOR. NÃO é feito pelo Quaza — vai por outro caminho (script externo, painel admin do MOR, integração à parte). |
Fluxo geral — chamada → tarifação → consulta
CLIENTE MOR (sistema externo) QUAZA (VoIP.Mor)
(softphone) |
| | |
| 1. Disca número | |
|------------------------->| |
| (SIP INVITE) | |
| | 2. MOR autentica |
| | usuário (saldo > 0?) |
| | Roteia chamada |
| | |
| 3. Conversa rola | |
|<------------------------>| |
| | |
| 4. Encerra chamada | |
|------------------------->| |
| | 5. MOR calcula custo |
| | Debita do saldo |
| | Grava CDR em "calls" |
| | Atualiza "users.saldo" |
| | |
| OPERADOR (financeiro/ | |
| suporte do provedor) | |
|-------------------------------------------------------->
| 6. Abre Quaza → VoIP.Mor → Usuário |
| | |
| | 7. SELECT * FROM users |
| |<---------------------------|
| | (via connection "mor") |
| |--------------------------->|
| | | 8. Exibe lista
| | | Usuário | Saldo
| | | 1234 | R$ 12,50
| | | 5678 | R$ 0,00
| | |
| | | 9. Operador clica
| | | em um usuário
| | | para detalhes
| | 10. SELECT chamadas |
| |<---------------------------|
| | da "calls" do user |
| |--------------------------->|
| | | 11. Histórico
| | | - 5min para 21988887777
| | | - R$ 0,50
Leia o diagrama: chamada acontece inteiramente entre Cliente e MOR — Quaza não está nesse caminho. Só depois, quando alguém da equipe do provedor abre o Quaza, é que ele consulta o banco do MOR pra mostrar os dados. Por isso a integração é "somente leitura".
Pré-requisitos
-
Servidor MOR funcionando com banco acessível pela rede do Quaza (firewall liberado).
-
Credenciais de banco do MOR (host, porta, user, password) — recomendado um usuário somente leitura pra evitar acidentes.
-
Configuração em
config.php do Quaza:
'connections' => [
'mor' => [
'host' => '10.0.0.50',
'port' => 3306,
'database' => 'mor',
'username' => 'quaza_readonly',
'password' => 'xxxxxxxx',
],
],
-
Permissão no Quaza pros usuários que vão acessar a tela VoIP.Mor (ACL).
Telas do módulo
| Tela |
Caminho |
O que faz |
| Usuário VoIP.Mor |
VoIP.Mor → Usuário |
Lista os usuários SIP cadastrados no MOR. Mostra código, username, saldo, tarifa, tipo (pré/pós), idioma. Pode editar dados cadastrais que ficam só no Quaza (vínculo a cliente). |
| Configuração VoIP.Mor |
VoIP.Mor → Configuração |
Singleton — parâmetros financeiros locais do provedor (dias até vencimento de fatura, valor mínimo de cobrança PF/PJ, descrição padrão). |
| Template |
VoIP.Mor → Template |
Modelos para criar usuários (tarifa default, tipo, idioma). Não cria no MOR — só ajuda padronização no Quaza pra contexto. |
| Log VoIP.Mor |
VoIP.Mor → Log |
Registro de operações que o Quaza fez (geralmente acessos / consultas). Útil pra debug. |
Botões típicos na caixa-maneira
| Botão |
O que faz |
| Ver cliente |
Abre o cadastro do cliente Quaza vinculado a esse usuário VoIP (se houver vínculo). |
| Histórico de chamadas |
Lista CDRs do usuário (chamadas recentes com duração e custo). |
| Editar (dados locais) |
Permite ajustar campos que ficam no banco do Quaza (ex: vínculo com Cliente, observações). NÃO altera nada no MOR. |
Integrações e limitações
O que VoIP.Mor SE INTEGRA
| Sistema |
Tipo de integração |
| MOR (banco externo) |
Conexão MySQL/PostgreSQL configurada em config.php → connections.mor. Tabelas usadas: users (cadastro de SIP users) e calls (histórico de chamadas). |
| Cliente Quaza
|
Vínculo opcional — um usuário VoIP.Mor pode estar associado a um cliente Quaza pra rastreamento. |
O que VoIP.Mor NÃO faz
1. Não cria usuários no MOR. Pra cadastrar um cliente novo no MOR, vai pelo painel admin do próprio MOR ou por um script de provisionamento externo. Quaza só consulta.
2. Não altera saldo. Recarga de saldo, ajuste manual, devolução — tudo direto no MOR.
3. Não faz cobrança automática. Cobrar a fatura mensal pós-pago dos clientes não acontece via VoIP.Mor — você precisa exportar do MOR (relatório) e lançar manualmente na
conta a pagar/receber
do Quaza.
4. Não sincroniza com Telefonia nativa. Se você usa também o módulo
Telefonia
nativo do Quaza, ele é completamente separado — outra base, outras telas, outros usuários.
5. Não roteia chamadas. Quaza não atua no caminho da chamada SIP. Tudo é MOR.
Pegadinhas frequentes
1. Conexão MOR caída = todas as telas vazias. Se a conexão com o banco do MOR cai (firewall, banco fora, credencial inválida), as telas mostram lista vazia sem mensagem de erro clara. Antes de reportar como bug, verifique se o MOR está acessível: mysql -h MOR_HOST -u USER -p a partir do servidor Quaza.
2. Saldo mostrado pode estar desatualizado. O saldo é lido no momento da consulta. Se o cliente está em chamada ATIVA enquanto você consulta, o saldo real é menor do que o exibido (vai debitando segundo a segundo). Não dependa do número pra decisões críticas em tempo real.
3. Apenas leitura — clique em "Editar" não muda MOR. Os botões "Editar" das telas alteram só campos LOCAIS no Quaza (vínculo com cliente, observações). Pra mudar tarifa, modalidade ou saldo no MOR, vai no painel do MOR.
4. Cobrança da fatura VoIP é manual. Não há geração automática de cobrança a partir do consumo VoIP do MOR. Exporte do MOR no fim do mês, lance no Quaza como conta a receber.
5. Provisionamento de novos usuários é OUTRA história. Cliente novo de VoIP precisa de SIP user criado no MOR. Quaza não faz isso. Tenha um processo definido (script, painel MOR, time técnico) pra essa parte.
6. Performance ruim com base MOR grande. Tabela calls em provedores antigos pode ter milhões de linhas. Listar sem filtro fica lento. Sempre filtre por usuário ou período curto.
7. Versão do MOR importa. Existem várias versões do MOR (antigo Magnificent Router, kolmisoft MOR, forks). A integração assume estrutura padrão (users, calls). Se a versão usar nomes diferentes, a integração quebra.
FAQ
O que é MOR?
MOR = Magnificent Open Router — um sistema VoIP open-source/comercial bastante usado por provedores pra rotear/tarifar chamadas SIP. Não é da Quaza — é um software de terceiros (kolmisoft.com). Quaza só lê o banco dele.
Quaza substitui o MOR?
Não. Se você quer parar de usar MOR, considere o módulo Telefonia nativo
do Quaza (que faz tarifação própria) — mas é um projeto separado. VoIP.Mor é só consulta, não é alternativa ao MOR.
Posso criar um usuário SIP pelo Quaza?
Não. Cadastro de SIP user é direto no MOR (painel admin do MOR ou script). Quaza só lê depois.
O saldo que o Quaza mostra é confiável?
Sim, no momento da consulta. Mas se o cliente está ligando agora, o saldo real diminui em tempo real — Quaza não reflete isso instantaneamente.
Como integrar a cobrança VoIP no faturamento do Quaza?
Hoje, manualmente: exporta relatório de consumo do MOR (por cliente, no mês), e lança como conta a receber
no Quaza pra cada cliente. Pode automatizar com script SQL/cron, mas não vem pronto.
O log mostra histórico de quê?
Operações que o Quaza fez (acessos às telas VoIP.Mor, edições locais). Não é o CDR — CDR está no banco do MOR.
E se a equipe técnica derrubar o MOR pra manutenção?
As telas Quaza VoIP.Mor ficam vazias durante a manutenção. Não dá pra trabalhar nelas — espere o MOR voltar.
Posso usar Quaza com outro sistema VoIP que não seja MOR?
Não com o módulo VoIP.Mor — ele é específico do MOR. Pra outro sistema (FreeSWITCH custom, Asterisk com tarifação própria, etc.), seria necessário desenvolvimento custom de integração. Considere usar o módulo Telefonia nativo
em paralelo.
Versão do MOR suportada?
Quaza assume estrutura padrão (kolmisoft MOR — tabelas users, calls com schema clássico). Versões muito antigas ou forks com schema modificado podem quebrar. Teste antes de virar produção.
Tem como sincronizar usuário Quaza ↔ usuário MOR automaticamente?
Não nativamente. Você liga manualmente — edita o usuário VoIP.Mor no Quaza e vincula a um cliente Quaza pelo CPF/CNPJ ou ID.
Documentos relacionados