Assistente de voz com IA com Python, PJSIP e VoIPstudio (Parte 1)

Uma ilustração com os logótipos de Python, PJSIP e VoIPstudio e uma ilustração de um assistente de voz com IA

Índice

Um cliente da VoIPstudio precisava que o seu sistema SCADA ligasse automaticamente para os engenheiros quando eram acionados alarmes críticos.

Utilizando um cliente SIP Python de código aberto baseado em PJSIP (PJSUA2), ligaram a sua infraestrutura diretamente a um SIP trunk da VoIPstudio e começaram a efetuar chamadas de voz automáticas acionadas por eventos do sistema.

Posteriormente, expandiram a solução integrando um motor de conversação de IA local, transformando as chamadas de alarme unidirecionais em interações de voz dinâmicas e bidirecionais.

A implementação completa do cliente é de código aberto.

Este caso demonstra como a VoIPstudio fornece uma base SIP baseada em normas e favorável aos programadores para aplicações de voz programáveis e baseadas em IA.

A evolução da voz: Das pessoas para os sistemas

A voz já não é apenas uma comunicação de humano para humano.

Os ambientes operacionais modernos exigem cada vez mais o escalonamento de sistema para humano:

  • Alarmes de controlo industrial
  • Falhas na infraestrutura de TI
  • Eventos acionados por IoT
  • Limiares de monitorização
  • Alertas de segurança

O e-mail e o SMS são frequentemente insuficientes para incidentes de alta prioridade. A voz continua a ser o canal de escalonamento em tempo real mais fiável.

O caso de utilização inicial: Escalonamento de alarmes SCADA

O cliente opera um sistema SCADA (Supervisory Control and Data Acquisition) que monitoriza infraestruturas críticas.

Requisito:

Quando um alarme prioritário é acionado, o sistema deve ligar imediatamente para o engenheiro responsável e emitir um aviso claro, com os seguintes requisitos de negócio:

  • Sem intervenção humana.
  • Sem marcação manual.
  • Sem PBX de hardware.

Visão Geral da Arquitetura

A solução foi intencionalmente minimalista e baseada em normas:

Quando uma condição de alarme é cumprida:

  1. O script Python regista-se na VoIPstudio utilizando credenciais SIP.
  2. Inicia uma chamada SIP de saída.
  3. Ao atender, reproduz um ficheiro de alerta .wav pré-gravado.
  4. A chamada termina assim que a reprodução é concluída.

Isto não exigiu SDKs proprietários nem middleware de telefonia, apenas SIP.

A base de código aberto: voip-client-python

No centro desta implementação está um projeto de código aberto desenvolvido por Luis Miguel.

Repositório:
https://github.com/luismiguelbp/voip-client-python
Projeto: voip-client-python

Este é um cliente SIP Python funcional construído com PJSIP / PJSUA2, demonstrando:

  • Registo SIP
  • Início e encerramento de chamadas
  • Manuseamento de media RTP
  • Injeção de reprodução de áudio
  • Gestão do ciclo de vida da chamada baseada em eventos

Em vez de ser um exemplo teórico, este é um código funcional e inspecionável que os programadores podem bifurcar (fork) e adaptar.

Exemplo (Lógica Simplificada de Colocação de Chamadas)

Abaixo está um exemplo conceptual simplificado baseado na forma como o PJSUA2 é utilizado em Python:

				
					call = MyCall(account, pj.CallOpParam(True))
call.makeCall("sip:+441234567890@sip.voipstudio.com", pj.CallOpParam(True))
				
			

A partir daí, os callbacks de media permitem a injeção de ficheiros de áudio ou de fluxos de áudio gerados em tempo real.

De alertas estáticos a conversas com IA

O cliente não se limitou a reproduzir um ficheiro .wav estático.

Expandiram a arquitetura integrando um motor de conversação de IA local a correr na mesma máquina que o cliente SIP.

O fluxo atualizado:

  1. O SCADA aciona o alarme.
  2. O cliente Python inicia a chamada através da VoIPstudio.
  3. A IA gera um alerta falado dinâmico.
  4. O humano responde verbalmente.
  5. A IA processa a entrada de voz.
  6. O sistema prossegue com a lógica de conversação.

O resultado é uma interação de voz bidirecional através de um SIP trunk padrão.

Em vez de:

“Alarme de temperatura crítica.”

O sistema pode agora dizer:

“Foi acionado um alarme de temperatura no Local B. Confirma a responsabilidade? Por favor, diga ‘confirmado’ para aceitar.”

E depois processar a resposta em tempo real.

Não há dependência de telefonia de IA na nuvem, nem plataformas proprietárias de bots de voz. Apenas SIP + Python + IA. A VoIPstudio fornece apenas a camada de transporte de telefonia.

Visão Geral da Arquitetura

Abaixo está uma representação simplificada da arquitetura de produção utilizada nesta implementação:

				
					+--------------------+        SIP        +----------------------+
|   Python App       | <----------------> |    VoIPstudio SIP   |
| (voip-client)      |                    |      Infrastructure  |
|                    |                    |  - Authentication    |
|  - Alarm Logic     |                    |  - Call Routing      |
|  - Call Control    |                    |  - PSTN Termination  |
|  - AI Integration  |                    |  - Number Provision  |
+---------+----------+                    +----------+-----------+
          |                                            |
          | RTP Media                                  |
          v                                            v
+--------------------+                      +----------------------+
|  Local AI Engine   |                      |   Public Telephone   |
|                    |                      |      Network         |
|  - STT             |                      |                      |
|  - Conversational  |                      |  Engineer / Operator |
|  - Response Gen    |                      |      Receives Call   |
+--------------------+                      +----------------------+

				
			

Fluxo de Chamada

Uma vez que a solução se baseia em SIP padrão:

  • Pode ser implementada localmente (on-premise) ou na nuvem.
  • Os motores de IA podem ser trocados sem alterar a infraestrutura de telefonia.
  • A lógica da chamada permanece totalmente programável.

Esta separação entre a inteligência e o transporte de telefonia é o que torna a arquitetura escalável.

Para além do SCADA: Onde esta arquitetura se aplica

O mesmo padrão VoIPstudio + Python + IA suporta:

NOTA: Aqui, em cada caso, a VoIPstudio pode atuar como a espinha dorsal SIP fiável.

Explore o código

Se está a construir sistemas de automação, assistentes de IA, plataformas de monitorização ou fluxos de trabalho de escalonamento inteligentes, comece aqui:

Repositório:
https://github.com/luismiguelbp/voip-client-python
Projeto: voip-client-python

Reveja, bifurque (fork), estenda e, em seguida, ligue-o a um SIP trunk da VoIPstudio e comece a experimentar.

Pronto para dotar as suas aplicações de voz?

A VoIPstudio fornece:

  • Conetividade SIP global
  • Trunking flexível
  • Configuração favorável ao programador
  • Terminação PSTN fiável

Inicie um teste gratuito e comece a criar as suas próprias soluções de voz programáveis.

A inteligência é sua. Nós fornecemos a camada de voz.

Read this post in: English Deutsch Español Polski

Quer melhorar a sua comunicação empresarial?

Desbloqueie o poder de um call center de classe empresarial a preços acessíveis – sem hardware, sem atrasos, sem surpresas!

Instalar o VoIPstudio no Linux

.deb

1. Descarregue o pacote .deb

				
					wget https://repo.ssl7.net/repo/voipstudio/stable/main/binary/VoIPstudio_current_amd64.deb
				
			

2. Instale o VoIPstudio

				
					sudo dpkg -i VoIPstudio_current_amd64.deb