Entrar ou criar conta

ULC Lab · implementação reproduzível

Laboratório: Integração de Asterisk com SuiteCRM via Webhook REST para registro automático de chamadas

Ao final, você terá um ambiente funcional onde chamadas recebidas pelo Asterisk são registradas automaticamente como atividades no SuiteCRM. A implementação leva cerca de 2 horas.

Integração de CRM livre com telefonia IP: Asterisk e CRM
Ligado ao treinamento Integração de CRM livre com telefonia IP: Asterisk e CRM
ULC-LAB-CRM-0003 · Status de validaçãoNão validado pela Upnetix: roteiro derivado da documentação oficial, para você executar e validar
Duração estimada
120 min
Passos
12
Validações
4
Versões da documentação consultada
Asterisk 20 (consulte a documentação) · SuiteCRM 8.x (consulte a documentação) · Linphone a versão estável atual
Objetivo

Demonstrar, na prática, como integrar um sistema de telefonia IP Asterisk com um CRM de código aberto (SuiteCRM) usando webhooks REST. O objetivo é automatizar o registro de chamadas recebidas, ampliando a rastreabilidade e a automação de processos de atendimento em ambientes corporativos.

Topologia

Três VMs em uma rede privada: (1) Asterisk (IP 192.168.56.10), (2) SuiteCRM (IP 192.168.56.20), (3) um softphone (IP 192.168.56.30). O Asterisk recebe ligações do softphone e, ao atender, dispara um webhook para o SuiteCRM registrar a atividade.


+-----------+         +-------------+         +----------+
| Softphone | <-----> |  Asterisk   | <-----> | SuiteCRM |
|192.168.56.30|       |192.168.56.10|         |192.168.56.20|
+-----------+         +-------------+         +----------+

Equipamentos e software

ItemRequisito, licença ou versão
VM Asterisk1 vCPU, 1GB RAM, 1 NIC, Debian 11 ou superior
VM SuiteCRM2 vCPU, 2GB RAM, 1 NIC, Debian 11 ou superior
VM Softphone (ex: Linphone)1 vCPU, 512MB RAM, 1 NIC, Debian 11 ou superior
AsteriskGPLv2 · 20 (consulte a documentação)
SuiteCRMAGPLv3 · 8.x (consulte a documentação)
LinphoneGPLv2 · a versão estável atual

Roteiro

  1. Preparar as VMs e rede privada

    Crie três VMs em uma rede privada (NAT ou bridge), com IPs fixos 192.168.56.10 (Asterisk), 192.168.56.20 (SuiteCRM), 192.168.56.30 (Softphone).

    O que você deve ver: Todas as VMs se pingam mutuamente.

  2. Instalar o Asterisk

    No Debian, instale o Asterisk pelo repositório oficial. O Asterisk é o PBX de código aberto mais usado no mundo.

    sudo apt update && sudo apt install asterisk

    O que você deve ver: Asterisk instalado. Serviço ativo: systemctl status asterisk

  3. Configurar ramal SIP no Asterisk

    Crie um ramal SIP para o softphone. Isso permite que o softphone registre e faça chamadas.

    Edite /etc/asterisk/pjsip.conf e adicione:
    
    [6001]
    type=endpoint
    aor=6001
    auth=6001
    context=from-internal
    
    [6001]
    type=aor
    max_contacts=1
    
    [6001]
    type=auth
    auth_type=userpass
    password=senha123
    username=6001

    O que você deve ver: Arquivo salvo sem erros de sintaxe.

  4. Recarregar configuração do Asterisk

    Aplique as alterações sem reiniciar o serviço.

    sudo asterisk -rx 'pjsip reload'

    O que você deve ver: Mensagem de reload concluído.

  5. Instalar e configurar o Linphone

    No softphone, instale o Linphone e configure o usuário SIP 6001 apontando para 192.168.56.10.

    sudo apt install linphone

    O que você deve ver: Linphone instalado. Conta SIP registrada.

  6. Instalar o SuiteCRM

    No Debian, instale Apache, PHP (consulte a documentação para a versão), MariaDB e SuiteCRM. O SuiteCRM será o repositório das interações.

    sudo apt install apache2 mariadb-server php php-mysql php-xml php-mbstring
    # Baixe e extraia o SuiteCRM
    # Consulte https://docs.suitecrm.com/admin/installation-guide/download-suitecrm/ para instruções detalhadas

    O que você deve ver: SuiteCRM acessível em http://192.168.56.20

  7. Criar usuário API no SuiteCRM

    No SuiteCRM, crie um usuário dedicado para integração API. Isso é necessário para autenticação segura dos webhooks.

    Acesse o painel de administração do SuiteCRM, crie usuário 'asterisk_api' com senha forte.

    O que você deve ver: Usuário criado e ativo.

  8. Configurar endpoint REST para registrar chamadas

    No SuiteCRM, habilite o módulo API REST v8. Crie um endpoint customizado para registrar chamadas. Consulte a documentação para detalhes de customização.

    Consulte https://docs.suitecrm.com/developer/api/api-8/ para criar endpoints customizados.

    O que você deve ver: Endpoint REST disponível para POST em /Api/V8/module/Calls

  9. Criar script AGI para disparo de webhook

    No Asterisk, crie um script shell ou Python em /var/lib/asterisk/agi-bin/ que faça POST para o endpoint do SuiteCRM ao receber ligação.

    Exemplo de script shell:
    
    #!/bin/bash
    CALLERID="$1"
    curl -u asterisk_api:senha_do_usuario -X POST \
      -H 'Content-Type: application/json' \
      -d '{"name": "Chamada de $CALLERID", "status": "Planned"}' \
      http://192.168.56.20/Api/V8/module/Calls

    O que você deve ver: Script salvo e com permissão de execução.

  10. Configurar dialplan para executar AGI

    No /etc/asterisk/extensions.conf, adicione lógica para executar o script AGI ao receber chamadas.

    [from-internal]
    exten => 6001,1,Answer()
    exten => 6001,n,AGI(agi_registra_chamada.sh,${CALLERID(num)})
    exten => 6001,n,Hangup()

    O que você deve ver: Dialplan salvo sem erros.

  11. Recarregar dialplan

    Aplique as alterações do dialplan.

    sudo asterisk -rx 'dialplan reload'

    O que você deve ver: Dialplan reloaded.

  12. Testar chamada e integração

    Do Linphone, ligue para 6001. O Asterisk deve executar o script e registrar a chamada no SuiteCRM.

    O que você deve ver: Chamada recebida. Nova atividade de chamada aparece no SuiteCRM.

Como saber que funcionou

TesteComandoCritério
Verificar registro do softphonesudo asterisk -rx 'pjsip show endpoints'Endpoint 6001 aparece como 'Avail'
Realizar chamada de testeLigar do Linphone para 6001Chamada completada e atendida no Asterisk
Checar execução do script AGItail -f /var/log/asterisk/fullLinha de execução do script AGI aparece no log
Validar registro no SuiteCRMAcessar http://192.168.56.20, módulo de AtividadesNova chamada registrada com o número do originador

Troubleshooting

SintomaCausa provávelCorreção
Softphone não registraErro de configuração SIP ou firewall bloqueando porta 5060Verifique pjsip.conf e regras de firewall nas VMs
Chamada não aparece no SuiteCRMFalha no script AGI ou endpoint REST incorretoRevise o script e o endpoint no SuiteCRM
Script AGI não executaPermissões incorretas no arquivoDê permissão de execução: chmod +x /var/lib/asterisk/agi-bin/agi_registra_chamada.sh
Erro 401 no POST para SuiteCRMUsuário ou senha incorretos na autenticaçãoConfirme usuário e senha do usuário API no SuiteCRM
Asterisk não recarrega dialplanErro de sintaxe em extensions.confRevise o arquivo e corrija a sintaxe

Segurança e hardening

  • Use senhas fortes para todos os usuários, especialmente o usuário API do SuiteCRM
  • Restrinja o acesso à porta SIP (5060/UDP) apenas à rede interna
  • Garanta que o endpoint REST do SuiteCRM só aceite conexões autenticadas
  • Scripts AGI não devem conter senhas em texto claro em ambientes de produção
  • Revise permissões dos arquivos de configuração e scripts para evitar execução não autorizada

Checklist final

Verificação editorial
Publicado
09/09/2026
Última revisão
09/09/2026
Versão do conteúdo
1.0
Referências
0 oficiais
Revisão técnica
redação e revisão por IA, URLs conferidas na publicação
Status
Atual
Encontrou um erro? Escreva para comercial@upnetix.com.br com o endereço da página. A revisão semestral por IA nunca altera comandos ou configurações sem passar pela fila de revisão.