Pular para o conteúdo principal

Integração SIP Asterisk (Softphone)

A integração SIP Asterisk adiciona ao ACCELERO um softphone (telefone VoIP) que roda direto no navegador do operador. Com ele, operadores podem fazer e receber chamadas de voz entre si, ligar para grupos de operadores e atender devices (interfones, totens, porteiros eletrônicos) — e, quando o device está vinculado a um canal de controlador, liberar o acesso sem sair da tela da chamada.

A comunicação de voz acontece via WebRTC sobre SIP (biblioteca SIP.js), conectando-se a um servidor Asterisk que roda como um container Docker auxiliar (ver Servidor Asterisk (Docker)).

Disponibilidade

Esta integração é disponibilizada como plugin (sip-asterisk) e precisa ser instalada e habilitada pela equipe técnica da IONGRADE. Ela depende de um servidor Asterisk (plugin companheiro sip-asterisk_docker). Consulte o suporte para verificar compatibilidade com a sua versão do ACCELERO.

Compatibilidade

Versão atual do plugin: 0.0.2 — compatível com ACCELERO 2.16.8 ou superior.


O que o plugin faz​

FuncionalidadeO que acontece no ACCELERO
Softphone no navegadorCada operador acessa um softphone com teclado numérico, status da conexão, controles de chamada e lista de contatos
Ramal por operadorCada usuário do ACCELERO recebe automaticamente um ramal SIP, identificado pelo seu ID interno (usuID)
Grupos de operadoresCada perfil de operador pode ter um ramal de grupo: ao ligar para esse ramal, todos os operadores do perfil tocam ao mesmo tempo
Ramais externos / devicesDevices de telefonia (interfones, totens) são cadastrados como ramais externos, com usuário e senha próprios
Liberação de acesso (REX) na chamadaQuando um device está vinculado a um canal de controlador, o softphone exibe o botão Liberar acesso durante a chamada
Geração de configuração do AsteriskO botão Aplicar e reiniciar gera os arquivos de configuração do Asterisk e reinicia o servidor SIP
Benefício principal

Centraliza interfonia e atendimento de portaria dentro do próprio ACCELERO: o operador atende a chamada do interfone e libera a passagem no mesmo softphone.


Configuração​

Caminho de acesso: Avançado > Sistema > Plugins - SIP Asterisk

A tela de configuração possui três abas: Geral, Grupos de operadores e Ramais externos / devices.

Tela SIP Asterisk na aba Geral, com as abas Grupos de operadores e Ramais externos / devices, os campos Servidor SIP e Domínio SIP e os botões Salvar e Aplicar e reiniciar

Aba Geral​

Dados de conexão com o servidor SIP.

CampoDescrição
Servidor SIPEndereço (host) do servidor Asterisk usado pelo softphone para se conectar via WebSocket seguro
Domínio SIPDomínio SIP usado na identificação dos ramais

Botões da aba:

BotãoFunção
SalvarPersiste os dados de servidor e domínio
Aplicar e reiniciarRegenera os arquivos de configuração do Asterisk (ramais, grupos, devices) e reinicia o servidor SIP. Exige confirmação
"Aplicar e reiniciar" reinicia o servidor SIP

A ação Aplicar e reiniciar recria a configuração do Asterisk a partir do estado atual (operadores, perfis e devices) e dispara o reinício do servidor SIP. Chamadas em andamento podem ser interrompidas. Use após alterar ramais, grupos ou devices.

Servidor TURN oculto

O código prevê um servidor TURN (para travessia de NAT), mas o campo está oculto na tela atual porque nem todos os devices o suportam. Ele não faz parte da configuração exposta ao usuário.

Aba Grupos de operadores​

Define um ramal de grupo para cada perfil de operador. Ligar para esse ramal toca em todos os operadores que possuem aquele perfil.

Aba Grupos de operadores com os perfis Portaria, com o ramal de grupo 9000, e Master, sem ramal

ColunaDescrição
PerfilNome do perfil de operador do ACCELERO. O perfil de ID interno 1 não é listado
RamalNúmero de ramal atribuído ao grupo. Deixe em branco para não criar grupo para o perfil
AçõesBotão para salvar o ramal da linha
Ramais de operador x ramais de grupo

O ramal individual de cada operador é o seu ID interno (usuID), gerado automaticamente — não é configurado aqui. Nesta aba você define apenas os ramais de grupo (um por perfil), que costumam ser os números chamados pelos devices.

Aba Ramais externos / devices​

Cadastro dos devices de telefonia (interfones, totens, porteiros) que se conectam ao Asterisk como ramais externos.

Aba Ramais externos / devices com dois interfones cadastrados, um deles vinculado ao canal da Portaria Principal, e a linha de inclusão no rodapé

CampoDescrição
Descrição do ramalNome de identificação do device (ex: "Interfone Portaria 1")
RamalNúmero de ramal do device
UsuárioUsuário de autenticação SIP do device
SenhaSenha de autenticação SIP do device
Permitir passagemCanal de controlador associado ao device (o canal que recebe o REX). Quando preenchido, o softphone exibe o botão Liberar acesso ao receber uma chamada desse device

Ações por linha: Salvar e Excluir (a exclusão pede confirmação). A inclusão de um novo device é feita pela linha de cadastro no rodapé da tabela.

Vínculo com o canal libera a porta

Associe o device ao canal físico onde ele está instalado. É esse vínculo que faz o botão Liberar acesso aparecer durante a chamada e acionar a liberação (REX) do canal correto.


Softphone​

Caminho de acesso: Menu lateral > Softphone

Ao clicar em Softphone, o ACCELERO abre o softphone em uma janela própria (popup). O softphone se conecta automaticamente ao servidor SIP usando o ramal do operador logado.

Janela do softphone na página Home, com o campo de número, o status Desconectado, o teclado numérico e os botões adicionar, ligar e apagar

A janela do softphone tem duas páginas, acessíveis pela barra lateral:

Página Home​

  • Campo de número — digite o número/ramal a chamar (também aceita a tecla Enter para ligar).
  • Status da conexão — indica Conectado / Desconectado / Chamando... / Em chamada.
  • Teclado numérico — botões de 0 a 9, * e #.
  • Botões de ação — Ligar, Adicionar e Apagar (backspace).

Durante uma chamada, a área de chamada exibe o nome/identificação do contato, o tempo de duração e os controles correspondentes:

SituaçãoControles disponíveis
Chamada recebidaAtender, Recusar e (quando aplicável) Liberar acesso
Chamada em andamentoMudo (microfone), Encerrar e (quando aplicável) Liberar acesso

Chamadas recebidas tocam um ringtone próprio do plugin até serem atendidas ou recusadas.

Os controles da chamada são botões só com ícone: telefone verde (Atender), telefone cortado vermelho (Recusar, ou Encerrar durante a chamada), microfone (Mudo) e cadeado azul (Liberar acesso). O cadeado só aparece quando a chamada vem de um ramal externo associado a um canal de controlador, e pede confirmação ("Confirma liberação de acesso?") antes de liberar.

Softphone recebendo uma chamada do ramal 2001 Interfone Portaria Principal, com os botões Atender, Recusar e Liberar acesso

Página Contatos​

Lista de contatos chamáveis, com busca por nome ou número. A lista é montada automaticamente a partir de:

  • Grupos de operadores que têm ramal configurado (aba Grupos de operadores).
  • Ramais externos / devices cadastrados (aba Ramais externos / devices).

Clicar em um contato preenche o número na página Home; o botão de telefone do contato inicia a chamada diretamente.

Janela única do softphone

Para evitar múltiplas instâncias quando o operador tem várias abas abertas, o plugin coordena a abertura do softphone por um worker compartilhado. Se o softphone já estiver em funcionamento em outra aba, o sistema avisa para usar a aba existente em vez de abrir uma nova.


Liberação de acesso (REX) pelo softphone​

Quando um device cadastrado na aba Ramais externos / devices está vinculado a um canal de controlador (campo Permitir passagem), o softphone passa a oferecer a liberação de acesso durante a chamada vinda desse device.

Como funciona​

  1. O device (interfone/totem) liga para o operador (ou para um ramal de grupo).
  2. Ao receber a chamada, o softphone consulta o canal vinculado ao ramal do device.
  3. Se houver canal vinculado, o botão Liberar acesso aparece nos controles da chamada.
  4. Ao clicar (com confirmação), o softphone aciona a liberação (REX) do canal correspondente, liberando a passagem.
Permissão de liberação

A liberação usa a função de REX padrão de Controladores do ACCELERO. Garanta que o operador tenha permissão para liberar passagem no canal correspondente.


Como os ramais são gerados​

Os ramais e a configuração do Asterisk são montados a partir do estado atual do ACCELERO quando você usa Aplicar e reiniciar:

Tipo de ramalOrigem
Ramal de operadorCada usuário do ACCELERO (exceto o usuário de sistema) recebe um ramal individual igual ao seu ID interno (usuID)
Ramal de grupoCada perfil com ramal configurado na aba Grupos de operadores. Ao ligar, todos os operadores do perfil tocam simultaneamente
Ramal externo / deviceCada device cadastrado na aba Ramais externos / devices, com seu próprio usuário e senha de autenticação
Ramais com muitos dígitos

O ramal individual do operador usa o seu ID interno, que pode ter mais de 6 dígitos. Os testes indicam funcionamento normal, mas alguns softphones de terceiros podem não aceitar ramais longos. Para chamadas de devices, prefira ligar para ramais de grupo, cujos números você define livremente na configuração.


Servidor Asterisk (Docker)​

O softphone precisa de um servidor Asterisk (PBX) para registrar os ramais e encaminhar as chamadas. Ele é fornecido pelo plugin companheiro sip-asterisk_docker, que sobe o Asterisk como um container Docker ao lado do ACCELERO.

ItemDetalhe
Imagemandrius/asterisk:18-current
Portas SIP5060/udp e 5060/tcp
Portas HTTP/WebSocket8088 (HTTP) e 8089 (WSS — usada pelo softphone WebRTC)
Faixa de mídia (RTP)10000-10500/udp
ConfiguraçãoOs arquivos extensions.conf, pjsip.conf e sip.conf são gerados pelo ACCELERO e montados no container

Quando você aciona Aplicar e reiniciar na tela de configuração, o ACCELERO regenera esses arquivos a partir dos operadores, grupos e devices atuais e sinaliza o reinício do servidor SIP para que o Asterisk passe a usar a nova configuração.

Instalação e infraestrutura

A instalação do servidor Asterisk, a liberação das portas e os certificados (necessários para o WebSocket seguro) são responsabilidade da equipe técnica da IONGRADE durante a implantação.

A mídia de voz (RTP) trafega na faixa 10000-10500/udp do container Asterisk.


Casos de uso​

Habilitar o softphone para os operadores​

  1. Solicitar à IONGRADE a instalação dos plugins sip-asterisk e sip-asterisk_docker.
  2. Em Avançado > Sistema > Plugins - SIP Asterisk, aba Geral, preencher Servidor SIP e Domínio SIP e salvar.
  3. Em Grupos de operadores, definir os ramais de grupo dos perfis que devem ser chamados.
  4. Clicar em Aplicar e reiniciar para gerar a configuração e subir os ramais.
  5. Garantir que os operadores tenham a permissão de uso do softphone (sip-use).
  6. O operador acessa Softphone no menu lateral e o softphone se conecta automaticamente.

Atender um interfone e liberar a passagem​

  1. Cadastrar o interfone em Ramais externos / devices, preenchendo descrição, ramal, usuário, senha e o canal (REX) onde ele está instalado.
  2. Clicar em Aplicar e reiniciar.
  3. Quando o interfone liga, o operador atende no softphone.
  4. O botão Liberar acesso aparece nos controles da chamada — ao clicar e confirmar, o canal é liberado.

Boas práticas​

  • Reaplique após mudanças: sempre que adicionar/alterar operadores, grupos ou devices, use Aplicar e reiniciar para que a configuração do Asterisk reflita o estado atual.
  • Use ramais de grupo para devices: prefira que os devices liguem para ramais de grupo (toque coletivo) em vez de ramais individuais de operador.
  • Vincule cada device ao canal certo: o vínculo de canal é o que habilita a liberação de acesso pelo softphone — confira o canal correto de cada interfone/totem.
  • Senhas dedicadas por device: use usuário e senha próprios para cada device, facilitando a revogação individual.

Troubleshooting​

O softphone fica "Desconectado"​

Possíveis causas:

  • Servidor SIP ou Domínio SIP incorretos na aba Geral.
  • Servidor Asterisk fora do ar ou porta 8089 (WSS) inacessível.
  • Certificado do WebSocket seguro inválido.

Solução:

  1. Confira os campos da aba Geral.
  2. Verifique se o container Asterisk está em execução e se a porta 8089 está acessível.
  3. Acione Aplicar e reiniciar e contate o suporte IONGRADE se persistir.

Um ramal/grupo novo não toca​

Possíveis causas:

  • A configuração ainda não foi aplicada após a alteração.
  • O perfil não tem ramal de grupo configurado, ou nenhum operador está vinculado ao perfil.

Solução:

  1. Confirme o ramal na aba Grupos de operadores.
  2. Verifique se há operadores vinculados ao perfil.
  3. Clique em Aplicar e reiniciar.

O botão "Liberar acesso" não aparece​

Possíveis causas:

  • O device não está vinculado a um canal (campo Permitir passagem vazio).
  • A chamada não veio de um ramal externo/device cadastrado.
  • O operador não tem permissão de liberação no canal.

Solução:

  1. Em Ramais externos / devices, confirme o canal vinculado ao device.
  2. Confirme que a chamada partiu desse device.
  3. Verifique a permissão de liberação (REX) do operador no canal.

Integração com outros módulos​

Operadores e Perfis​

Os ramais individuais vêm dos Operadores e os ramais de grupo vêm dos perfis de operador. O softphone se conecta com o ramal do operador logado.

Controladores​

Os Controladores e seus canais são a base da liberação de acesso: cada device é vinculado a um canal, e a liberação aciona o REX desse canal.


Próximos Passos​

  • Operadores — Entenda os perfis e usuários que viram ramais
  • Controladores — Configure os canais usados na liberação de acesso
  • Plugins — Saiba mais sobre o sistema de plugins do ACCELERO